diff options
Diffstat (limited to 'drivers/gpu/drm/imx/sec_mipi_dsim-imx.c')
-rw-r--r-- | drivers/gpu/drm/imx/sec_mipi_dsim-imx.c | 9 |
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; |