diff mbox series

[v9,01/11] drm/i915/psr: Check panel ALPM capability for eDP Panel Replay

Message ID 20240619062131.4021196-2-jouni.hogander@intel.com (mailing list archive)
State New
Headers show
Series Panel Replay eDP support | expand

Commit Message

Hogander, Jouni June 19, 2024, 6:21 a.m. UTC
Our HW doesn't support Panel Replay without AUX_LESS ALPM on eDP. Check
panel support for this and prevent eDP panel replay if it doesn't exits.

Bspec: 68920

v2: use intel_alpm_aux_less_wake_supported

Signed-off-by: Jouni Högander <jouni.hogander@intel.com>
---
 drivers/gpu/drm/i915/display/intel_psr.c | 7 +++++++
 1 file changed, 7 insertions(+)

Comments

Jani Nikula June 19, 2024, 9:06 a.m. UTC | #1
On Wed, 19 Jun 2024, Jouni Högander <jouni.hogander@intel.com> wrote:
> Our HW doesn't support Panel Replay without AUX_LESS ALPM on eDP. Check
> panel support for this and prevent eDP panel replay if it doesn't exits.
>
> Bspec: 68920
>
> v2: use intel_alpm_aux_less_wake_supported
>
> Signed-off-by: Jouni Högander <jouni.hogander@intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_psr.c | 7 +++++++
>  1 file changed, 7 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_psr.c b/drivers/gpu/drm/i915/display/intel_psr.c
> index a9d9383e4ee5..20e6717a5215 100644
> --- a/drivers/gpu/drm/i915/display/intel_psr.c
> +++ b/drivers/gpu/drm/i915/display/intel_psr.c
> @@ -571,6 +571,13 @@ static void _panel_replay_init_dpcd(struct intel_dp *intel_dp)
>  {
>  	struct drm_i915_private *i915 = dp_to_i915(intel_dp);
>  
> +	if (intel_dp_is_edp(intel_dp) &&
> +	    (!intel_alpm_aux_less_wake_supported(intel_dp))) {

Drive-by comment, excessive parens there.

> +		drm_dbg_kms(&i915->drm,
> +			    "Panel doesn't support AUX-less ALPM, eDP Panel Replay not possible\n");
> +		return;
> +	}
> +
>  	intel_dp->psr.sink_panel_replay_support = true;
>  
>  	if (intel_dp->pr_dpcd & DP_PANEL_REPLAY_SU_SUPPORT)
diff mbox series

Patch

diff --git a/drivers/gpu/drm/i915/display/intel_psr.c b/drivers/gpu/drm/i915/display/intel_psr.c
index a9d9383e4ee5..20e6717a5215 100644
--- a/drivers/gpu/drm/i915/display/intel_psr.c
+++ b/drivers/gpu/drm/i915/display/intel_psr.c
@@ -571,6 +571,13 @@  static void _panel_replay_init_dpcd(struct intel_dp *intel_dp)
 {
 	struct drm_i915_private *i915 = dp_to_i915(intel_dp);
 
+	if (intel_dp_is_edp(intel_dp) &&
+	    (!intel_alpm_aux_less_wake_supported(intel_dp))) {
+		drm_dbg_kms(&i915->drm,
+			    "Panel doesn't support AUX-less ALPM, eDP Panel Replay not possible\n");
+		return;
+	}
+
 	intel_dp->psr.sink_panel_replay_support = true;
 
 	if (intel_dp->pr_dpcd & DP_PANEL_REPLAY_SU_SUPPORT)