Skip to content

Commit 06d058e

Browse files
dhnkrnrodrigovivi
authored andcommitted
drm/i915/psr: Check for power state control capability.
eDP spec says - "If PSR/PSR2 is supported, the SET_POWER_CAPABLE bit in the EDP_GENERAL_CAPABILITY_1 register (DPCD Address 00701h, bit d7) must be set to 1." Reject PSR on panels without this cap bit set as such panels cannot be controlled via SET_POWER & SET_DP_PWR_VOLTAGE register and the DP source needs to be able to do that for PSR. Thanks to Nathan for debugging this. Panel cap checks like this can be done just once, let's fix this when PSR dpcd init movement lands. Cc: Nathan D Ciobanu <[email protected]> Cc: Rodrigo Vivi <[email protected]> Signed-off-by: Dhinakaran Pandiyan <[email protected]> Tested-by: Nathan Ciobanu <[email protected]> Reviewed-by: Rodrigo Vivi <[email protected]> Signed-off-by: Rodrigo Vivi <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
1 parent 3975f0a commit 06d058e

File tree

1 file changed

+5
-0
lines changed

1 file changed

+5
-0
lines changed

drivers/gpu/drm/i915/intel_psr.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -508,6 +508,11 @@ void intel_psr_compute_config(struct intel_dp *intel_dp,
508508
return;
509509
}
510510

511+
if (!(intel_dp->edp_dpcd[1] & DP_EDP_SET_POWER_CAP)) {
512+
DRM_DEBUG_KMS("PSR condition failed: panel lacks power state control\n");
513+
return;
514+
}
515+
511516
/*
512517
* FIXME psr2_support is messed up. It's both computed
513518
* dynamically during PSR enable, and extracted from sink

0 commit comments

Comments
 (0)