RE: [PATCH v2 1/4] drm/i915/dp: Assume panel power is off if runtime suspended

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



-----Original Message-----
From: Intel-xe <intel-xe-bounces@xxxxxxxxxxxxxxxxxxxxx> On Behalf Of Imre Deak
Sent: Wednesday, October 9, 2024 12:44 PM
To: intel-xe@xxxxxxxxxxxxxxxxxxxxx; intel-gfx@xxxxxxxxxxxxxxxxxxxxx
Subject: [PATCH v2 1/4] drm/i915/dp: Assume panel power is off if runtime suspended
> 
> If the device is runtime suspended the eDP panel power is also off.
> Ignore a short HPD on eDP if the device is suspended accordingly,
> instead of checking the panel power state via the PPS registers for the
> same purpose. The latter involves runtime resuming the device
> unnecessarily, in a frequent scenario where the panel generates a
> spurious short HPD after disabling the panel power and the device is
> runtime suspended.
> 
> Signed-off-by: Imre Deak <imre.deak@xxxxxxxxx>
> ---
>  drivers/gpu/drm/i915/display/intel_dp.c                   | 5 ++++-
>  drivers/gpu/drm/i915/intel_runtime_pm.h                   | 8 +++++++-
>  drivers/gpu/drm/xe/compat-i915-headers/intel_runtime_pm.h | 8 ++++++++
>  3 files changed, 19 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
> index fbb096be02ade..3eff35dd59b8a 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp.c
> @@ -85,6 +85,7 @@
>  #include "intel_pch_display.h"
>  #include "intel_pps.h"
>  #include "intel_psr.h"
> +#include "intel_runtime_pm.h"
>  #include "intel_quirks.h"
>  #include "intel_tc.h"
>  #include "intel_vdsc.h"
> @@ -6054,7 +6055,9 @@ intel_dp_hpd_pulse(struct intel_digital_port *dig_port, bool long_hpd)
>  	u8 dpcd[DP_RECEIVER_CAP_SIZE];
>  
>  	if (dig_port->base.type == INTEL_OUTPUT_EDP &&
> -	    (long_hpd || !intel_pps_have_panel_power_or_vdd(intel_dp))) {
> +	    (long_hpd ||
> +	     intel_runtime_pm_suspended(&i915->runtime_pm) ||
> +	     !intel_pps_have_panel_power_or_vdd(intel_dp))) {


[Index of Archives]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux