Loading msm/dsi/dsi_clk_manager.c +2 −20 Original line number Diff line number Diff line // SPDX-License-Identifier: GPL-2.0-only /* * Copyright (c) 2016-2019, The Linux Foundation. All rights reserved. * Copyright (c) 2016-2020, The Linux Foundation. All rights reserved. */ #include <linux/of.h> Loading Loading @@ -604,16 +604,10 @@ static int dsi_display_core_clk_enable(struct dsi_core_clks *clks, m_clks = &clks[master_ndx]; rc = pm_runtime_get_sync(m_clks->clks.drm->dev); if (rc < 0) { DSI_ERR("Power resource enable failed, rc=%d\n", rc); goto error; } rc = dsi_core_clk_start(m_clks); if (rc) { DSI_ERR("failed to turn on master clocks, rc=%d\n", rc); goto error_disable_master_resource; goto error; } /* Turn on rest of the core clocks */ Loading @@ -622,16 +616,9 @@ static int dsi_display_core_clk_enable(struct dsi_core_clks *clks, if (!clk || (clk == m_clks)) continue; rc = pm_runtime_get_sync(m_clks->clks.drm->dev); if (rc < 0) { DSI_ERR("Power resource enable failed, rc=%d\n", rc); goto error_disable_master; } rc = dsi_core_clk_start(clk); if (rc) { DSI_ERR("failed to turn on clocks, rc=%d\n", rc); pm_runtime_put_sync(m_clks->clks.drm->dev); goto error_disable_master; } } Loading @@ -639,8 +626,6 @@ static int dsi_display_core_clk_enable(struct dsi_core_clks *clks, error_disable_master: (void)dsi_core_clk_stop(m_clks); error_disable_master_resource: pm_runtime_put_sync(m_clks->clks.drm->dev); error: return rc; } Loading Loading @@ -741,8 +726,6 @@ static int dsi_display_core_clk_disable(struct dsi_core_clks *clks, DSI_DEBUG("failed to turn off clocks, rc=%d\n", rc); goto error; } pm_runtime_put_sync(m_clks->clks.drm->dev); } rc = dsi_core_clk_stop(m_clks); Loading @@ -751,7 +734,6 @@ static int dsi_display_core_clk_disable(struct dsi_core_clks *clks, goto error; } pm_runtime_put_sync(m_clks->clks.drm->dev); error: return rc; } Loading msm/dsi/dsi_ctrl.c +17 −2 Original line number Diff line number Diff line Loading @@ -990,12 +990,19 @@ static int dsi_ctrl_enable_supplies(struct dsi_ctrl *dsi_ctrl, bool enable) int rc = 0; if (enable) { rc = pm_runtime_get_sync(dsi_ctrl->drm_dev->dev); if (rc < 0) { DSI_CTRL_ERR(dsi_ctrl, "Power resource enable failed, rc=%d\n", rc); goto error; } if (!dsi_ctrl->current_state.host_initialized) { rc = dsi_pwr_enable_regulator( &dsi_ctrl->pwr_info.host_pwr, true); if (rc) { DSI_CTRL_ERR(dsi_ctrl, "failed to enable host power regs\n"); goto error; goto error_get_sync; } } Loading @@ -1008,8 +1015,9 @@ static int dsi_ctrl_enable_supplies(struct dsi_ctrl *dsi_ctrl, bool enable) &dsi_ctrl->pwr_info.host_pwr, false ); goto error; goto error_get_sync; } return rc; } else { rc = dsi_pwr_enable_regulator(&dsi_ctrl->pwr_info.digital, false); Loading @@ -1027,7 +1035,14 @@ static int dsi_ctrl_enable_supplies(struct dsi_ctrl *dsi_ctrl, bool enable) goto error; } } rc = pm_runtime_put_sync(dsi_ctrl->drm_dev->dev); if (rc < 0) DSI_CTRL_ERR(dsi_ctrl, "Power resource disable failed, rc=%d\n", rc); return rc; } error_get_sync: pm_runtime_put_sync(dsi_ctrl->drm_dev->dev); error: return rc; } Loading msm/dsi/dsi_display.c +2 −2 Original line number Diff line number Diff line Loading @@ -3471,8 +3471,7 @@ int dsi_pre_clkon_cb(void *priv, * Enable DSI core power * 1.> PANEL_PM are controlled as part of * panel_power_ctrl. Needed not be handled here. * 2.> CORE_PM are controlled by dsi clk manager. * 3.> CTRL_PM need to be enabled/disabled * 2.> CTRL_PM need to be enabled/disabled * only during unblank/blank. Their state should * not be changed during static screen. */ Loading Loading @@ -5101,6 +5100,7 @@ static int dsi_display_bind(struct device *dev, display_for_each_ctrl(i, display) { display_ctrl = &display->ctrl[i]; display_ctrl->ctrl->drm_dev = drm; if (!display_ctrl->phy || !display_ctrl->ctrl) continue; Loading Loading
msm/dsi/dsi_clk_manager.c +2 −20 Original line number Diff line number Diff line // SPDX-License-Identifier: GPL-2.0-only /* * Copyright (c) 2016-2019, The Linux Foundation. All rights reserved. * Copyright (c) 2016-2020, The Linux Foundation. All rights reserved. */ #include <linux/of.h> Loading Loading @@ -604,16 +604,10 @@ static int dsi_display_core_clk_enable(struct dsi_core_clks *clks, m_clks = &clks[master_ndx]; rc = pm_runtime_get_sync(m_clks->clks.drm->dev); if (rc < 0) { DSI_ERR("Power resource enable failed, rc=%d\n", rc); goto error; } rc = dsi_core_clk_start(m_clks); if (rc) { DSI_ERR("failed to turn on master clocks, rc=%d\n", rc); goto error_disable_master_resource; goto error; } /* Turn on rest of the core clocks */ Loading @@ -622,16 +616,9 @@ static int dsi_display_core_clk_enable(struct dsi_core_clks *clks, if (!clk || (clk == m_clks)) continue; rc = pm_runtime_get_sync(m_clks->clks.drm->dev); if (rc < 0) { DSI_ERR("Power resource enable failed, rc=%d\n", rc); goto error_disable_master; } rc = dsi_core_clk_start(clk); if (rc) { DSI_ERR("failed to turn on clocks, rc=%d\n", rc); pm_runtime_put_sync(m_clks->clks.drm->dev); goto error_disable_master; } } Loading @@ -639,8 +626,6 @@ static int dsi_display_core_clk_enable(struct dsi_core_clks *clks, error_disable_master: (void)dsi_core_clk_stop(m_clks); error_disable_master_resource: pm_runtime_put_sync(m_clks->clks.drm->dev); error: return rc; } Loading Loading @@ -741,8 +726,6 @@ static int dsi_display_core_clk_disable(struct dsi_core_clks *clks, DSI_DEBUG("failed to turn off clocks, rc=%d\n", rc); goto error; } pm_runtime_put_sync(m_clks->clks.drm->dev); } rc = dsi_core_clk_stop(m_clks); Loading @@ -751,7 +734,6 @@ static int dsi_display_core_clk_disable(struct dsi_core_clks *clks, goto error; } pm_runtime_put_sync(m_clks->clks.drm->dev); error: return rc; } Loading
msm/dsi/dsi_ctrl.c +17 −2 Original line number Diff line number Diff line Loading @@ -990,12 +990,19 @@ static int dsi_ctrl_enable_supplies(struct dsi_ctrl *dsi_ctrl, bool enable) int rc = 0; if (enable) { rc = pm_runtime_get_sync(dsi_ctrl->drm_dev->dev); if (rc < 0) { DSI_CTRL_ERR(dsi_ctrl, "Power resource enable failed, rc=%d\n", rc); goto error; } if (!dsi_ctrl->current_state.host_initialized) { rc = dsi_pwr_enable_regulator( &dsi_ctrl->pwr_info.host_pwr, true); if (rc) { DSI_CTRL_ERR(dsi_ctrl, "failed to enable host power regs\n"); goto error; goto error_get_sync; } } Loading @@ -1008,8 +1015,9 @@ static int dsi_ctrl_enable_supplies(struct dsi_ctrl *dsi_ctrl, bool enable) &dsi_ctrl->pwr_info.host_pwr, false ); goto error; goto error_get_sync; } return rc; } else { rc = dsi_pwr_enable_regulator(&dsi_ctrl->pwr_info.digital, false); Loading @@ -1027,7 +1035,14 @@ static int dsi_ctrl_enable_supplies(struct dsi_ctrl *dsi_ctrl, bool enable) goto error; } } rc = pm_runtime_put_sync(dsi_ctrl->drm_dev->dev); if (rc < 0) DSI_CTRL_ERR(dsi_ctrl, "Power resource disable failed, rc=%d\n", rc); return rc; } error_get_sync: pm_runtime_put_sync(dsi_ctrl->drm_dev->dev); error: return rc; } Loading
msm/dsi/dsi_display.c +2 −2 Original line number Diff line number Diff line Loading @@ -3471,8 +3471,7 @@ int dsi_pre_clkon_cb(void *priv, * Enable DSI core power * 1.> PANEL_PM are controlled as part of * panel_power_ctrl. Needed not be handled here. * 2.> CORE_PM are controlled by dsi clk manager. * 3.> CTRL_PM need to be enabled/disabled * 2.> CTRL_PM need to be enabled/disabled * only during unblank/blank. Their state should * not be changed during static screen. */ Loading Loading @@ -5101,6 +5100,7 @@ static int dsi_display_bind(struct device *dev, display_for_each_ctrl(i, display) { display_ctrl = &display->ctrl[i]; display_ctrl->ctrl->drm_dev = drm; if (!display_ctrl->phy || !display_ctrl->ctrl) continue; Loading