drm/amd/display: Add PSR Active VTotal Control capability

[WHY]
The PSRSU-RC capability should be populated in DC during edp detection.

Reviewed-by: Aric Cyr <aric.cyr@amd.com>
Signed-off-by: Robin Chen <robin.chen@amd.com>
Signed-off-by: Chenyu Chen <chen-yu.chen@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
Robin Chen 2026-05-31 16:55:26 +08:00 committed by Alex Deucher
parent 0e967e086e
commit 22087efb78
3 changed files with 7 additions and 1 deletions

View File

@ -1146,6 +1146,7 @@ struct edp_psr_info {
union edp_psr_dpcd_caps psr_dpcd_caps;
uint8_t psr2_su_y_granularity_cap;
uint8_t force_psrsu_cap;
uint8_t psr_active_vtotal_control_cap;
};
struct replay_info {

View File

@ -2242,10 +2242,14 @@ void detect_edp_sink_caps(struct dc_link *link)
/*
* ALPM is only valid for eDP v1.4 or higher.
*/
if (link->dpcd_caps.dpcd_rev.raw >= DP_EDP_14)
if (link->dpcd_caps.dpcd_rev.raw >= DP_EDP_14) {
core_link_read_dpcd(link, DP_RECEIVER_ALPM_CAP,
&link->dpcd_caps.alpm_caps.raw,
sizeof(link->dpcd_caps.alpm_caps.raw));
core_link_read_dpcd(link, DP_SINK_PSR_ACTIVE_VTOTAL_CONTROL_CAP,
&link->dpcd_caps.psr_info.psr_active_vtotal_control_cap,
sizeof(link->dpcd_caps.psr_info.psr_active_vtotal_control_cap));
}
/*
* Read REPLAY info

View File

@ -45,6 +45,7 @@
#define DP_DEVICE_ID_BA4159 0xBA4159
#define DP_FORCE_PSRSU_CAPABILITY 0x40F
#define DP_SINK_PSR_ACTIVE_VTOTAL_CONTROL_CAP 0x370
#define DP_SINK_PSR_ACTIVE_VTOTAL 0x373
#define DP_SINK_PSR_ACTIVE_VTOTAL_CONTROL_MODE 0x375
#define DP_SOURCE_PSR_ACTIVE_VTOTAL 0x376