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

Commit 386dad1c authored by Padmanabhan Komanduru's avatar Padmanabhan Komanduru Committed by Ian Maund
Browse files

msm: mdss: add minimum bus vote during IOMMU attach



On 8939, we need to have SYS_MM_NOC clock enabled to be able
to perform IOMMU map/unmap transactions. Hence, add a minimum
bandwidth vote during iommu attach and remove the vote during
iommu detach.

Change-Id: I30a70ca0b9d32a5ada449e620589378b3aea6ac3
Signed-off-by: default avatarPadmanabhan Komanduru <pkomandu@codeaurora.org>
Signed-off-by: default avatarJayant Shekhar <jshekhar@codeaurora.org>
parent 54bec8b9
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -110,6 +110,7 @@ enum mdss_hw_index {
	MDSS_HW_DSI1,
	MDSS_HW_HDMI,
	MDSS_HW_EDP,
	MDSS_HW_IOMMU,
	MDSS_MAX_HW_BLK
};

+6 −2
Original line number Diff line number Diff line
@@ -672,14 +672,18 @@ int mdss_iommu_ctrl(int enable)
		__builtin_return_address(0), enable, mdata->iommu_ref_cnt);

	if (enable) {
		if (mdata->iommu_ref_cnt == 0)
		if (mdata->iommu_ref_cnt == 0) {
			mdss_bus_scale_set_quota(MDSS_HW_IOMMU, SZ_1M, SZ_1M);
			rc = mdss_iommu_attach(mdata);
		}
		mdata->iommu_ref_cnt++;
	} else {
		if (mdata->iommu_ref_cnt) {
			mdata->iommu_ref_cnt--;
			if (mdata->iommu_ref_cnt == 0)
			if (mdata->iommu_ref_cnt == 0) {
				rc = mdss_iommu_dettach(mdata);
				mdss_bus_scale_set_quota(MDSS_HW_IOMMU, 0, 0);
			}
		} else {
			pr_err("unbalanced iommu ref\n");
		}