[Why] If psr_feature_enable is set to true by default, it continues to be enabled for non capable links. [How] explicitly disable the feature on links that are not capable of the same. Fixes: 8c322309e48e9 ("drm/amd/display: Enable PSR") Signed-off-by: Shirish S <shirish.s@xxxxxxx> Reviewed-by: Leo Li <sunpeng.li@xxxxxxx> Reviewed-by: Mario Limonciello <mario.limonciello@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # 5.15+ (cherry-picked from 6094b9136ca9038b61e9c4b5d25cd5512ce50b34) Signed-off-by: Mario Limonciello <mario.limonciello@xxxxxxx> --- This did not apply to 5.15.y due to missing contextual dependencies, so this is hand modified to meet the intent of the original commit. This is *only* for 5.15.y. --- drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_psr.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_psr.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_psr.c index 7072fb2ec07f..278ff281a1bd 100644 --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_psr.c +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_psr.c @@ -36,10 +36,14 @@ void amdgpu_dm_set_psr_caps(struct dc_link *link) { uint8_t dpcd_data[EDP_PSR_RECEIVER_CAP_SIZE]; - if (!(link->connector_signal & SIGNAL_TYPE_EDP)) + if (!(link->connector_signal & SIGNAL_TYPE_EDP)) { + link->psr_settings.psr_feature_enabled = false; return; - if (link->type == dc_connection_none) + } + if (link->type == dc_connection_none) { + link->psr_settings.psr_feature_enabled = false; return; + } if (dm_helpers_dp_read_dpcd(NULL, link, DP_PSR_SUPPORT, dpcd_data, sizeof(dpcd_data))) { link->dpcd_caps.psr_caps.psr_version = dpcd_data[0]; -- 2.34.1