Commit c798836b authored by Jack Chang's avatar Jack Chang Committed by Alex Deucher
Browse files

drm/amd/display: Get panel replay capability from DPCD



[Why&How]
Read Panel replay caps from DPCD when retrieving link capability

Reviewed-by: default avatarRobin Chen <robin.chen@amd.com>
Signed-off-by: default avatarJack Chang <jack.chang@amd.com>
Signed-off-by: default avatarLeon Huang <Leon.Huang1@amd.com>
Signed-off-by: default avatarIvan Lipski <ivan.lipski@amd.com>
Tested-by: default avatarDan Wheeler <daniel.wheeler@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 2e6c79e4
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -1157,6 +1157,16 @@ struct dprx_states {
	bool cable_id_written;
};

union dpcd_panel_replay_capability_supported {
	struct {
		unsigned char PANEL_REPLAY_SUPPORT          :1;
		unsigned char SELECTIVE_UPDATE_SUPPORT      :1;
		unsigned char EARLY_TRANSPORT_SUPPORT       :1;
		unsigned char RESERVED				        :5;
	} bits;
	unsigned char raw;
};

enum dpcd_downstream_port_max_bpc {
	DOWN_STREAM_MAX_8BPC = 0,
	DOWN_STREAM_MAX_10BPC,
@@ -1280,6 +1290,7 @@ struct dpcd_caps {
	struct edp_psr_info psr_info;

	struct replay_info pr_info;
	union dpcd_panel_replay_capability_supported pr_caps_supported;
	uint16_t edp_oled_emission_rate;
	union dp_receive_port0_cap receive_port0_cap;
	/* Indicates the number of SST links supported by MSO (Multi-Stream Output) */
+5 −0
Original line number Diff line number Diff line
@@ -2091,6 +2091,11 @@ static bool retrieve_link_cap(struct dc_link *link)
			link->dpcd_caps.max_uncompressed_pixel_rate_cap.raw,
			sizeof(link->dpcd_caps.max_uncompressed_pixel_rate_cap.raw));

	core_link_read_dpcd(link,
			DP_PANEL_REPLAY_CAPABILITY_SUPPORT,
			&link->dpcd_caps.pr_caps_supported.raw,
			sizeof(link->dpcd_caps.pr_caps_supported.raw));

	/* Read DP tunneling information. */
	status = dpcd_get_tunneling_device_data(link);
	if (status != DC_OK)