Loading drivers/media/platform/msm/sde/rotator/sde_rotator_core.c +18 −15 Original line number Diff line number Diff line Loading @@ -302,13 +302,13 @@ static int sde_rotator_update_clk(struct sde_rot_mgr *mgr) return 0; } static void sde_rotator_footswitch_ctrl(struct sde_rot_mgr *mgr, bool on) static int sde_rotator_footswitch_ctrl(struct sde_rot_mgr *mgr, bool on) { int ret; if (WARN_ON(mgr->regulator_enable == on)) { if (mgr->regulator_enable == on) { SDEROT_ERR("Regulators already in selected mode on=%d\n", on); return; return 0; } SDEROT_EVTLOG(on); Loading @@ -330,9 +330,9 @@ static void sde_rotator_footswitch_ctrl(struct sde_rot_mgr *mgr, bool on) ret = sde_rot_enable_vreg(mgr->module_power.vreg_config, mgr->module_power.num_vreg, on); if (ret) { SDEROT_WARN("Rotator regulator failed to %s\n", on ? "enable" : "disable"); return; pr_err("rotator regulator failed to %s ret:%d client:%d\n", on ? "enable" : "disable", ret, mgr->rsc_client != NULL); return ret; } if (mgr->ops_hw_post_pmevent) Loading @@ -344,6 +344,7 @@ static void sde_rotator_footswitch_ctrl(struct sde_rot_mgr *mgr, bool on) } mgr->regulator_enable = on; return 0; } static int sde_rotator_enable_clk(struct sde_rot_mgr *mgr, int clk_idx) Loading Loading @@ -2922,12 +2923,11 @@ int sde_rotator_core_init(struct sde_rot_mgr **pmgr, } *pmgr = mgr; pm_runtime_set_suspended(&pdev->dev); pm_runtime_enable(&pdev->dev); if (!pm_runtime_enabled(&pdev->dev)) { SDEROT_ERR("fail to enable power, force on\n"); sde_rotator_footswitch_ctrl(mgr, true); ret = sde_rotator_footswitch_ctrl(mgr, true); if (ret) { SDEROT_ERR("res_init failed %d\n", ret); ret = -EPROBE_DEFER; goto error_fs_en_fail; } /* enable power and clock before h/w initialization/query */ Loading Loading @@ -2968,6 +2968,9 @@ int sde_rotator_core_init(struct sde_rot_mgr **pmgr, /* disable power and clock after h/w initialization/query */ sde_rotator_clk_ctrl(mgr, false); sde_rotator_resource_ctrl(mgr, false); sde_rotator_footswitch_ctrl(mgr, false); pm_runtime_set_suspended(&pdev->dev); pm_runtime_enable(&pdev->dev); return 0; Loading @@ -2977,7 +2980,8 @@ int sde_rotator_core_init(struct sde_rot_mgr **pmgr, error_map_hw_ops: sde_rotator_clk_ctrl(mgr, false); sde_rotator_resource_ctrl(mgr, false); pm_runtime_disable(mgr->device); sde_rotator_footswitch_ctrl(mgr, false); error_fs_en_fail: sde_rotator_res_destroy(mgr); error_res_init: error_parse_dt: Loading Loading @@ -3061,8 +3065,7 @@ int sde_rotator_runtime_resume(struct device *dev) SDEROT_DBG("begin runtime_active\n"); ATRACE_BEGIN("runtime_active"); sde_rotator_footswitch_ctrl(mgr, true); return 0; return sde_rotator_footswitch_ctrl(mgr, true); } /* Loading Loading
drivers/media/platform/msm/sde/rotator/sde_rotator_core.c +18 −15 Original line number Diff line number Diff line Loading @@ -302,13 +302,13 @@ static int sde_rotator_update_clk(struct sde_rot_mgr *mgr) return 0; } static void sde_rotator_footswitch_ctrl(struct sde_rot_mgr *mgr, bool on) static int sde_rotator_footswitch_ctrl(struct sde_rot_mgr *mgr, bool on) { int ret; if (WARN_ON(mgr->regulator_enable == on)) { if (mgr->regulator_enable == on) { SDEROT_ERR("Regulators already in selected mode on=%d\n", on); return; return 0; } SDEROT_EVTLOG(on); Loading @@ -330,9 +330,9 @@ static void sde_rotator_footswitch_ctrl(struct sde_rot_mgr *mgr, bool on) ret = sde_rot_enable_vreg(mgr->module_power.vreg_config, mgr->module_power.num_vreg, on); if (ret) { SDEROT_WARN("Rotator regulator failed to %s\n", on ? "enable" : "disable"); return; pr_err("rotator regulator failed to %s ret:%d client:%d\n", on ? "enable" : "disable", ret, mgr->rsc_client != NULL); return ret; } if (mgr->ops_hw_post_pmevent) Loading @@ -344,6 +344,7 @@ static void sde_rotator_footswitch_ctrl(struct sde_rot_mgr *mgr, bool on) } mgr->regulator_enable = on; return 0; } static int sde_rotator_enable_clk(struct sde_rot_mgr *mgr, int clk_idx) Loading Loading @@ -2922,12 +2923,11 @@ int sde_rotator_core_init(struct sde_rot_mgr **pmgr, } *pmgr = mgr; pm_runtime_set_suspended(&pdev->dev); pm_runtime_enable(&pdev->dev); if (!pm_runtime_enabled(&pdev->dev)) { SDEROT_ERR("fail to enable power, force on\n"); sde_rotator_footswitch_ctrl(mgr, true); ret = sde_rotator_footswitch_ctrl(mgr, true); if (ret) { SDEROT_ERR("res_init failed %d\n", ret); ret = -EPROBE_DEFER; goto error_fs_en_fail; } /* enable power and clock before h/w initialization/query */ Loading Loading @@ -2968,6 +2968,9 @@ int sde_rotator_core_init(struct sde_rot_mgr **pmgr, /* disable power and clock after h/w initialization/query */ sde_rotator_clk_ctrl(mgr, false); sde_rotator_resource_ctrl(mgr, false); sde_rotator_footswitch_ctrl(mgr, false); pm_runtime_set_suspended(&pdev->dev); pm_runtime_enable(&pdev->dev); return 0; Loading @@ -2977,7 +2980,8 @@ int sde_rotator_core_init(struct sde_rot_mgr **pmgr, error_map_hw_ops: sde_rotator_clk_ctrl(mgr, false); sde_rotator_resource_ctrl(mgr, false); pm_runtime_disable(mgr->device); sde_rotator_footswitch_ctrl(mgr, false); error_fs_en_fail: sde_rotator_res_destroy(mgr); error_res_init: error_parse_dt: Loading Loading @@ -3061,8 +3065,7 @@ int sde_rotator_runtime_resume(struct device *dev) SDEROT_DBG("begin runtime_active\n"); ATRACE_BEGIN("runtime_active"); sde_rotator_footswitch_ctrl(mgr, true); return 0; return sde_rotator_footswitch_ctrl(mgr, true); } /* Loading