Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fccaa4da authored by qctecmdr Service's avatar qctecmdr Service Committed by Gerrit - the friendly Code Review server
Browse files

Merge "dt-bindings: mhi: make bus scale voting optional"

parents 491af28d a9fa5323
Loading
Loading
Loading
Loading
+6 −5
Original line number Diff line number Diff line
@@ -32,23 +32,24 @@ Main node properties:
  Definition: Pair of values describing iova start and stop address

- qcom,msm-bus,name
  Usage: required
  Usage: required if bus scale used
  Value type: <string>
  Definition: string representing the bus scale client name to register
  Definition: string representing the bus scale client name to register if
	bus scale voting is supported and required.

- qcom,msm-bus,num-cases
  Usage: required
  Usage: required if bus scale used
  Value type: <u32>
  Definition: Must be set to two, MHI support two scales

- qcom,msm-bus,num-paths
  Usage: required
  Usage: required if bus scale used
  Value type: <u32>
  Definition: Total number of master-slave pairs MHI host will vote. Must be set
	to one.

- qcom,msm-bus,vectors-KBps
  Usage: required
  Usage: required if bus scale used
  Value type: Array of <u32>
  Definition: Array of tuples which define the bus bandwidth requirements.
	Each tuple is of length 4, values are master-id, slave-id,
+14 −9
Original line number Diff line number Diff line
@@ -61,8 +61,13 @@ static int mhi_arch_set_bus_request(struct mhi_controller *mhi_cntrl, int index)

	MHI_LOG("Setting bus request to index %d\n", index);

	return msm_bus_scale_client_update_request(arch_info->bus_client,
	if (arch_info->bus_client)
		return msm_bus_scale_client_update_request(
							arch_info->bus_client,
							index);

	/* default return success */
	return 0;
}

static void mhi_arch_pci_link_state_cb(struct msm_pcie_notify *notify)
@@ -269,16 +274,16 @@ int mhi_arch_pcie_init(struct mhi_controller *mhi_cntrl)
							    node, 0);
		mhi_cntrl->log_lvl = mhi_ipc_log_lvl;

		/* register bus scale */
		/* register for bus scale if defined */
		arch_info->msm_bus_pdata = msm_bus_cl_get_pdata_from_dev(
							&mhi_dev->pci_dev->dev);
		if (!arch_info->msm_bus_pdata)
			return -EINVAL;

		arch_info->bus_client = msm_bus_scale_register_client(
		if (arch_info->msm_bus_pdata) {
			arch_info->bus_client =
				msm_bus_scale_register_client(
						arch_info->msm_bus_pdata);
			if (!arch_info->bus_client)
				return -EINVAL;
		}

		/* register with pcie rc for WAKE# events */
		reg_event = &arch_info->pcie_reg_event;