summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/imx/sec_mipi_dsim-imx.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/imx/sec_mipi_dsim-imx.c')
-rw-r--r--drivers/gpu/drm/imx/sec_mipi_dsim-imx.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/gpu/drm/imx/sec_mipi_dsim-imx.c b/drivers/gpu/drm/imx/sec_mipi_dsim-imx.c
index 427fb1aa39dc..560323301a6a 100644
--- a/drivers/gpu/drm/imx/sec_mipi_dsim-imx.c
+++ b/drivers/gpu/drm/imx/sec_mipi_dsim-imx.c
@@ -261,18 +261,19 @@ static int imx_sec_dsim_bind(struct device *dev, struct device *master,
if (ret)
return ret;
+ atomic_set(&dsim_dev->rpm_suspended, 0);
+ pm_runtime_enable(dev);
+ atomic_inc(&dsim_dev->rpm_suspended);
+
/* bind sec dsim bridge */
ret = sec_mipi_dsim_bind(dev, master, data, encoder, res, irq, pdata);
if (ret) {
dev_err(dev, "failed to bind sec dsim bridge: %d\n", ret);
+ pm_runtime_disable(dev);
drm_encoder_cleanup(encoder);
return ret;
}
- atomic_set(&dsim_dev->rpm_suspended, 0);
- pm_runtime_enable(dev);
- atomic_inc(&dsim_dev->rpm_suspended);
-
dev_dbg(dev, "%s: dsim bind end\n", __func__);
return 0;