diff options
author | Jani Nikula <jani.nikula@intel.com> | 2021-01-08 19:44:19 +0200 |
---|---|---|
committer | Jani Nikula <jani.nikula@intel.com> | 2021-01-14 10:24:44 +0200 |
commit | 572a0d301754bf0c4effb078bb9f2e7b473132b4 (patch) | |
tree | 957edbf34f8d3315d6112ec4cd1bb5f58af0d632 /drivers/gpu/drm/i915/display | |
parent | 07eb5b1f1711b1ef3dfa863049f20b18765bd390 (diff) |
drm/i915/pps: add locked intel_pps_wait_power_cycle
Prefer keeping the unlocked variants hidden if possible. No functional
changes.
Reviewed-by: Anshuman Gupta <anshuman.gupta@intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/4b712770deab9de8c3aeea8df35269433977038a.1610127741.git.jani.nikula@intel.com
Diffstat (limited to 'drivers/gpu/drm/i915/display')
-rw-r--r-- | drivers/gpu/drm/i915/display/intel_dp.c | 7 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/display/intel_pps.c | 13 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/display/intel_pps.h | 3 |
3 files changed, 14 insertions, 9 deletions
diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c index c07e2c15da83..372be0d13a20 100644 --- a/drivers/gpu/drm/i915/display/intel_dp.c +++ b/drivers/gpu/drm/i915/display/intel_dp.c @@ -6324,13 +6324,8 @@ void intel_dp_encoder_suspend(struct intel_encoder *intel_encoder) void intel_dp_encoder_shutdown(struct intel_encoder *intel_encoder) { struct intel_dp *intel_dp = enc_to_intel_dp(intel_encoder); - intel_wakeref_t wakeref; - - if (!intel_dp_is_edp(intel_dp)) - return; - with_intel_pps_lock(intel_dp, wakeref) - wait_panel_power_cycle(intel_dp); + intel_pps_wait_power_cycle(intel_dp); } static enum pipe vlv_active_pipe(struct intel_dp *intel_dp) diff --git a/drivers/gpu/drm/i915/display/intel_pps.c b/drivers/gpu/drm/i915/display/intel_pps.c index d396ee5f6f69..79276ab20c75 100644 --- a/drivers/gpu/drm/i915/display/intel_pps.c +++ b/drivers/gpu/drm/i915/display/intel_pps.c @@ -500,7 +500,7 @@ static void wait_panel_off(struct intel_dp *intel_dp) wait_panel_status(intel_dp, IDLE_OFF_MASK, IDLE_OFF_VALUE); } -void wait_panel_power_cycle(struct intel_dp *intel_dp) +static void wait_panel_power_cycle(struct intel_dp *intel_dp) { struct drm_i915_private *i915 = dp_to_i915(intel_dp); ktime_t panel_power_on_time; @@ -522,6 +522,17 @@ void wait_panel_power_cycle(struct intel_dp *intel_dp) wait_panel_status(intel_dp, IDLE_CYCLE_MASK, IDLE_CYCLE_VALUE); } +void intel_pps_wait_power_cycle(struct intel_dp *intel_dp) +{ + intel_wakeref_t wakeref; + + if (!intel_dp_is_edp(intel_dp)) + return; + + with_intel_pps_lock(intel_dp, wakeref) + wait_panel_power_cycle(intel_dp); +} + static void wait_backlight_on(struct intel_dp *intel_dp) { wait_remaining_ms_from_jiffies(intel_dp->last_power_on, diff --git a/drivers/gpu/drm/i915/display/intel_pps.h b/drivers/gpu/drm/i915/display/intel_pps.h index ecd9ea2a095c..fdf7a17e2dfa 100644 --- a/drivers/gpu/drm/i915/display/intel_pps.h +++ b/drivers/gpu/drm/i915/display/intel_pps.h @@ -37,8 +37,7 @@ void intel_pps_on(struct intel_dp *intel_dp); void intel_pps_off(struct intel_dp *intel_dp); void intel_pps_vdd_off_sync(struct intel_dp *intel_dp); bool intel_pps_have_power(struct intel_dp *intel_dp); - -void wait_panel_power_cycle(struct intel_dp *intel_dp); +void intel_pps_wait_power_cycle(struct intel_dp *intel_dp); void intel_pps_init(struct intel_dp *intel_dp); void intel_pps_encoder_reset(struct intel_dp *intel_dp); |