From: Jayant Shekhar Date: Wed, 5 Dec 2018 16:21:47 +0000 (+0530) Subject: drm/msm/dpu: Fix clock issue after bind failure X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=ba0ede185ef4c74bfecfe1c992be5dbcc5c5ac04;p=openwrt%2Fstaging%2Fblogic.git 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 Signed-off-by: Sean Paul Signed-off-by: Rob Clark --- 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);