Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/amd/display: Read LTTPR ALPM caps during link cap retrieval

[Why]
The latest DP spec requires the DP TX to read DPCD F0000h through F0009h
when detecting LTTPR capabilities for the first time.

[How]
Update LTTPR cap retrieval to read up to F0009h (two more bytes than the
previous F0007h), and store the LTTPR ALPM capabilities.

Reviewed-by: Wenjing Liu <wenjing.liu@amd.com>
Signed-off-by: George Shen <george.shen@amd.com>
Signed-off-by: Roman Li <roman.li@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

authored by

George Shen and committed by
Alex Deucher
de84d580 5f7e384a

+17 -1
+12
drivers/gpu/drm/amd/display/dc/dc_dp_types.h
··· 959 959 uint8_t raw; 960 960 }; 961 961 962 + union dp_alpm_lttpr_cap { 963 + struct { 964 + uint8_t AUX_LESS_ALPM_SUPPORTED :1; 965 + uint8_t RESERVED :7; 966 + } bits; 967 + uint8_t raw; 968 + }; 969 + 962 970 union dp_sink_video_fallback_formats { 963 971 struct { 964 972 uint8_t dp_1024x768_60Hz_24bpp_support :1; ··· 1126 1118 uint8_t max_ext_timeout; 1127 1119 union dp_main_link_channel_coding_lttpr_cap main_link_channel_coding; 1128 1120 union dp_128b_132b_supported_lttpr_link_rates supported_128b_132b_rates; 1121 + union dp_alpm_lttpr_cap alpm; 1129 1122 uint8_t aux_rd_interval[MAX_REPEATER_CNT - 1]; 1130 1123 }; 1131 1124 ··· 1378 1369 #endif 1379 1370 #ifndef DPCD_MAX_UNCOMPRESSED_PIXEL_RATE_CAP 1380 1371 #define DPCD_MAX_UNCOMPRESSED_PIXEL_RATE_CAP 0x221c 1372 + #endif 1373 + #ifndef DP_LTTPR_ALPM_CAPABILITIES 1374 + #define DP_LTTPR_ALPM_CAPABILITIES 0xF0009 1381 1375 #endif 1382 1376 #ifndef DP_REPEATER_CONFIGURATION_AND_STATUS_SIZE 1383 1377 #define DP_REPEATER_CONFIGURATION_AND_STATUS_SIZE 0x50