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

Commit df0fc10a authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "iommu: msm: Add support for selecting remote spinlock in device tree"

parents 23fe9299 79f95400
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -14,6 +14,7 @@ Optional properties:
- qcom,needs-alt-core-clk : boolean to enable the secondary core clock for
  access to the IOMMU configuration registers
- Bus scaling properties: See msm_bus.txt
- qcom,msm-enable-remote-spinlock : boolean to enable use of remote spinlock

- List of sub nodes, one for each of the translation context banks supported.
    Required properties for each sub-node:
+2 −0
Original line number Diff line number Diff line
@@ -102,6 +102,7 @@ struct msm_iommu_bfb_settings {
 * @asid:         List of ASID and their usage count (index is ASID value).
 * @ctx_attach_count: Count of how many context are attached.
 * @bus_client  : Bus client needed to vote for bus bandwidth.
 * @needs_rem_spinlock  : 1 if remote spinlock is needed, 0 otherwise
 *
 * A msm_iommu_drvdata holds the global driver data about a single piece
 * of an IOMMU hardware instance.
@@ -127,6 +128,7 @@ struct msm_iommu_drvdata {
	int *asid;
	unsigned int ctx_attach_count;
	unsigned int bus_client;
	int needs_rem_spinlock;
};

/**
+6 −0
Original line number Diff line number Diff line
@@ -216,6 +216,12 @@ static int msm_iommu_parse_dt(struct platform_device *pdev,
	drvdata->sec_id = -1;
	drvdata->ttbr_split = 0;

	drvdata->needs_rem_spinlock = of_property_read_bool(pdev->dev.of_node,
					"qcom,msm-enable-remote-spinlock");

	if (drvdata->needs_rem_spinlock)
		pr_info("%s enabled remote spinlock\n", drvdata->name);

	ret = of_platform_populate(pdev->dev.of_node,
				   msm_iommu_v0_ctx_match_table,
				   NULL, &pdev->dev);