aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/staging/imx-drm
diff options
context:
space:
mode:
authorPhilipp Zabel <p.zabel@pengutronix.de>2014-04-14 23:53:21 +0200
committerRussell King <rmk+kernel@arm.linux.org.uk>2014-04-26 11:24:18 +0100
commit216ddd608fb4f993d2f80ddbf1297abe10935a89 (patch)
treeaef1c17819b058979660d6148ece3b276a66f4b0 /drivers/staging/imx-drm
parentimx-drm: ipu-dp: split disabling the DP foreground channel from disabling the DP module (diff)
downloadlinux-dev-216ddd608fb4f993d2f80ddbf1297abe10935a89.tar.xz
linux-dev-216ddd608fb4f993d2f80ddbf1297abe10935a89.zip
imx-drm: imx-dp: when disabling the DP foreground channel, wait until the DP background channel is finished before disabling the IDMAC channel
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'drivers/staging/imx-drm')
-rw-r--r--drivers/staging/imx-drm/ipu-v3/ipu-dp.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/staging/imx-drm/ipu-v3/ipu-dp.c b/drivers/staging/imx-drm/ipu-v3/ipu-dp.c
index 6980fa125517..d90f82a87d19 100644
--- a/drivers/staging/imx-drm/ipu-v3/ipu-dp.c
+++ b/drivers/staging/imx-drm/ipu-v3/ipu-dp.c
@@ -277,6 +277,9 @@ void ipu_dp_disable_channel(struct ipu_dp *dp)
writel(0, flow->base + DP_FG_POS);
ipu_srm_dp_sync_update(priv->ipu);
+ if (ipu_idmac_channel_busy(priv->ipu, IPUV3_CHANNEL_MEM_BG_SYNC))
+ ipu_wait_interrupt(priv->ipu, IPU_IRQ_DP_SF_END, 50);
+
mutex_unlock(&priv->mutex);
}
EXPORT_SYMBOL_GPL(ipu_dp_disable_channel);