summary refs log tree commit diff
diff options
context:
space:
mode:
authorJayant Shekhar <jshekhar@codeaurora.org>2018-12-05 21:51:47 +0530
committerRob Clark <robdclark@gmail.com>2018-12-11 13:10:19 -0500
commitba0ede185ef4c74bfecfe1c992be5dbcc5c5ac04 (patch)
tree0393fc5665ed478812be6f3cd9b453ef08f0c311
parent7adc4a343f94589f1954e93fcadee3f55e263a0d (diff)
downloadlinux-ba0ede185ef4c74bfecfe1c992be5dbcc5c5ac04.tar.gz
drm/msm/dpu: Fix clock issue after bind failure
In case of msm drm bind failure, pm runtime put sync
is called from dsi driver which issues an asynchronous
put on mdss device. Subsequently when dpu_mdss_destroy
is triggered the change will make sure to put the mdss
device in suspend and clearing pending work if not
scheduled.

Signed-off-by: Jayant Shekhar <jshekhar@codeaurora.org>
Signed-off-by: Sean Paul <seanpaul@chromium.org>
Signed-off-by: Rob Clark <robdclark@gmail.com>
-rw-r--r--drivers/gpu/drm/msm/disp/dpu1/dpu_mdss.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_mdss.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_mdss.c
index 413e1ee43cf2..cb307a2abf06 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/dpu_mdss.c
+++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_mdss.c
@@ -160,6 +160,7 @@ static void dpu_mdss_destroy(struct drm_device *dev)
 	struct dpu_mdss *dpu_mdss = to_dpu_mdss(priv->mdss);
 	struct dss_module_power *mp = &dpu_mdss->mp;
 
+	pm_runtime_suspend(dev->dev);
 	pm_runtime_disable(dev->dev);
 	_dpu_mdss_irq_domain_fini(dpu_mdss);
 	free_irq(platform_get_irq(pdev, 0), dpu_mdss);