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

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

Merge "msm: mdss: un map dsi transmit buffer properly"

parents bc1f02a9 9a66efe7
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -333,6 +333,7 @@ struct mdss_dsi_ctrl_pdata {
	int bklt_max;
	int new_fps;
	int pwm_enabled;
	bool dmap_iommu_map;
	bool panel_bias_vreg;
	bool dsi_irq_line;
	atomic_t te_irq_ready;
+6 −3
Original line number Diff line number Diff line
@@ -1521,6 +1521,7 @@ static int mdss_dsi_cmd_dma_tx(struct mdss_dsi_ctrl_pdata *ctrl,
			pr_err("unable to map dma memory to iommu(%d)\n", ret);
			return -ENOMEM;
		}
		ctrl->dmap_iommu_map = true;
	} else {
		ctrl->dma_addr = tp->dmap;
	}
@@ -1561,19 +1562,21 @@ static int mdss_dsi_cmd_dma_tx(struct mdss_dsi_ctrl_pdata *ctrl,
		ret = tp->len;

	if (mctrl && mctrl->dma_addr) {
		if (ctrl->mdss_util->iommu_attached()) {
		if (mctrl->dmap_iommu_map) {
			msm_iommu_unmap_contig_buffer(mctrl->dma_addr,
			ctrl->mdss_util->get_iommu_domain(domain),
				mctrl->mdss_util->get_iommu_domain(domain),
							0, mctrl->dma_size);
			mctrl->dmap_iommu_map = false;
		}
		mctrl->dma_addr = 0;
		mctrl->dma_size = 0;
	}

	if (ctrl->mdss_util->iommu_attached()) {
	if (ctrl->dmap_iommu_map) {
		msm_iommu_unmap_contig_buffer(ctrl->dma_addr,
			ctrl->mdss_util->get_iommu_domain(domain),
							0, ctrl->dma_size);
		ctrl->dmap_iommu_map = false;
	}

	ctrl->dma_addr = 0;