Commit 933fe2cb authored by Aurabindo Pillai's avatar Aurabindo Pillai Committed by Alex Deucher
Browse files

drm/amd/display: DispalyPort: Write OUI only if panel supports it



[why]
Organizational Unit Identifier register is optional, and its
presence is published via Down Stream Port Count register.
Writing this register when not available will result in errors

[how]
Read this register and continue writing OUI only if the panel
has the support advertised.

Signed-off-by: default avatarAurabindo Pillai <aurabindo.pillai@amd.com>
Reviewed-by: default avatarAric Cyr <Aric.Cyr@amd.com>
Acked-by: default avatarRodrigo Siqueira <Rodrigo.Siqueira@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent e32b2484
Loading
Loading
Loading
Loading
+15 −0
Original line number Diff line number Diff line
@@ -4227,6 +4227,21 @@ void dp_set_fec_enable(struct dc_link *link, bool enable)
void dpcd_set_source_specific_data(struct dc_link *link)
{
	const uint32_t post_oui_delay = 30; // 30ms
	uint8_t dspc = 0;
	enum dc_status ret = DC_ERROR_UNEXPECTED;

	ret = core_link_read_dpcd(link, DP_DOWN_STREAM_PORT_COUNT, &dspc,
				  sizeof(dspc));

	if (ret != DC_OK) {
		DC_LOG_ERROR("Error in DP aux read transaction,"
			     " not writing source specific data\n");
		return;
	}

	/* Return if OUI unsupported */
	if (!(dspc & DP_OUI_SUPPORT))
		return;

	if (!link->dc->vendor_signature.is_valid) {
		struct dpcd_amd_signature amd_signature;