diff options
author | Oliver Brown <oliver.brown@nxp.com> | 2021-09-28 10:05:49 -0500 |
---|---|---|
committer | Philippe Schenker <philippe.schenker@toradex.com> | 2022-05-18 16:40:59 +0200 |
commit | a96256e797c4c209df591137be67a656ef6b8533 (patch) | |
tree | c077748b962587a1c019038d51b39b91eb5baed2 | |
parent | 9c4bb8998b11d8be4b13526521a749a222f91ae8 (diff) |
MLK-25731: drm: imx: hdp: correct ipg clk disable
Change enable calls to disable calls in imx8qm_ipg_clk_disable
Signed-off-by: Oliver Brown <oliver.brown@nxp.com>
(cherry picked from commit 8d4eef776974fce47db4447226b3834d4eb5afc5)
-rw-r--r-- | drivers/gpu/drm/imx/mhdp/cdns-mhdp-imx8qm.c | 65 |
1 files changed, 11 insertions, 54 deletions
diff --git a/drivers/gpu/drm/imx/mhdp/cdns-mhdp-imx8qm.c b/drivers/gpu/drm/imx/mhdp/cdns-mhdp-imx8qm.c index 6173fda46403..9bfe5f08f4a3 100644 --- a/drivers/gpu/drm/imx/mhdp/cdns-mhdp-imx8qm.c +++ b/drivers/gpu/drm/imx/mhdp/cdns-mhdp-imx8qm.c @@ -373,63 +373,20 @@ static int imx8qm_ipg_clk_enable(struct imx_mhdp_device *imx_mhdp) return ret; } -static int imx8qm_ipg_clk_disable(struct imx_mhdp_device *imx_mhdp) +static void imx8qm_ipg_clk_disable(struct imx_mhdp_device *imx_mhdp) { - int ret; struct imx_hdp_clks *clks = &imx_mhdp->clks; - struct device *dev = imx_mhdp->mhdp.dev; - ret = clk_prepare_enable(clks->clk_i2s_bypass); - if (ret < 0) { - dev_err(dev, "%s, pre clk i2s bypass error\n", __func__); - return ret; - } - ret = clk_prepare_enable(clks->lpcg_i2s); - if (ret < 0) { - dev_err(dev, "%s, pre clk i2s error\n", __func__); - return ret; - } - ret = clk_prepare_enable(clks->lpcg_apb_ctrl); - if (ret < 0) { - dev_err(dev, "%s, pre clk apb ctrl error\n", __func__); - return ret; - } - ret = clk_prepare_enable(clks->lpcg_apb_csr); - if (ret < 0) { - dev_err(dev, "%s, pre clk apb csr error\n", __func__); - return ret; - } - ret = clk_prepare_enable(clks->lpcg_msi); - if (ret < 0) { - dev_err(dev, "%s, pre clk msierror\n", __func__); - return ret; - } - ret = clk_prepare_enable(clks->lpcg_lis); - if (ret < 0) { - dev_err(dev, "%s, pre clk lis error\n", __func__); - return ret; - } - ret = clk_prepare_enable(clks->lpcg_apb); - if (ret < 0) { - dev_err(dev, "%s, pre clk apb error\n", __func__); - return ret; - } - ret = clk_prepare_enable(clks->clk_core); - if (ret < 0) { - dev_err(dev, "%s, pre clk core error\n", __func__); - return ret; - } - ret = clk_prepare_enable(clks->clk_ipg); - if (ret < 0) { - dev_err(dev, "%s, pre clk_ipg error\n", __func__); - return ret; - } - ret = clk_prepare_enable(clks->dig_pll); - if (ret < 0) { - dev_err(dev, "%s, pre dig pll error\n", __func__); - return ret; - } - return ret; + clk_disable_unprepare(clks->clk_i2s_bypass); + clk_disable_unprepare(clks->lpcg_i2s); + clk_disable_unprepare(clks->lpcg_apb_ctrl); + clk_disable_unprepare(clks->lpcg_apb_csr); + clk_disable_unprepare(clks->lpcg_msi); + clk_disable_unprepare(clks->lpcg_lis); + clk_disable_unprepare(clks->lpcg_apb); + clk_disable_unprepare(clks->clk_core); + clk_disable_unprepare(clks->clk_ipg); + clk_disable_unprepare(clks->dig_pll); } static void imx8qm_ipg_clk_set_rate(struct imx_mhdp_device *imx_mhdp) |