Commit 3471b9a3 authored by Relja Vojvodic's avatar Relja Vojvodic Committed by Alex Deucher
Browse files

drm/amd/display: Rework HDMI data channel reads



Fix the HDMI data channel reads to respect scdc_present field
to pass compliance test.

Reviewed-by: default avatarWenjing Liu <wenjing.liu@amd.com>
Signed-off-by: default avatarRelja Vojvodic <rvojvodi@amd.com>
Signed-off-by: default avatarAurabindo Pillai <aurabindo.pillai@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent f7124dd5
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -212,6 +212,7 @@ struct dc_edid_caps {
	bool edid_hdmi;
	bool hdr_supported;
	bool rr_capable;
	bool scdc_present;

	struct dc_panel_patch panel_patch;
};
+4 −0
Original line number Diff line number Diff line
@@ -270,6 +270,10 @@ static void read_scdc_caps(struct ddc_service *ddc_service,
	uint8_t slave_address = HDMI_SCDC_ADDRESS;
	uint8_t offset = HDMI_SCDC_MANUFACTURER_OUI;

	if (ddc_service->link->local_sink &&
		!ddc_service->link->local_sink->edid_caps.scdc_present)
		return;

	link_query_ddc_data(ddc_service, slave_address, &offset,
			sizeof(offset), sink->scdc_caps.manufacturer_OUI.byte,
			sizeof(sink->scdc_caps.manufacturer_OUI.byte));
+2 −1
Original line number Diff line number Diff line
@@ -549,7 +549,8 @@ void write_scdc_data(struct ddc_service *ddc_service,
	/*Lower than 340 Scramble bit from SCDC caps*/

	if (ddc_service->link->local_sink &&
		ddc_service->link->local_sink->edid_caps.panel_patch.skip_scdc_overwrite)
		(ddc_service->link->local_sink->edid_caps.panel_patch.skip_scdc_overwrite ||
		!ddc_service->link->local_sink->edid_caps.scdc_present))
		return;

	link_query_ddc_data(ddc_service, slave_address, &offset,