Commit a1362c40 authored by Meenakshikumar Somasundaram's avatar Meenakshikumar Somasundaram Committed by Alex Deucher
Browse files

drm/amd/display: write segment pointer with mot enabled for mst



[Why]
Some mst branches NAK's segment pointer writes with mot disabled.
So reset of segment pointer to 0 should be performed with mot enabled.

[How]
Write segment pointer of mst branch devices with mot enabled.

Reviewed-by: default avatarCruise Hung <cruise.hung@amd.com>
Signed-off-by: default avatarMeenakshikumar Somasundaram <meenakshikumar.somasundaram@amd.com>
Signed-off-by: default avatarTom Chung <chiahsuan.chung@amd.com>
Tested-by: default avatarDaniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 1319fb80
Loading
Loading
Loading
Loading
+0 −3
Original line number Diff line number Diff line
@@ -817,9 +817,6 @@ static bool construct_dpia(struct dc_link *link,

	link->psr_settings.psr_version = DC_PSR_VERSION_UNSUPPORTED;

	/* Some docks seem to NAK I2C writes to segment pointer with mot=0. */
	link->wa_flags.dp_mot_reset_segment = true;

	return true;

ddc_create_fail:
+6 −0
Original line number Diff line number Diff line
@@ -1867,6 +1867,12 @@ static bool retrieve_link_cap(struct dc_link *link)
	link->dpcd_caps.is_mst_capable = read_is_mst_supported(link);
	DC_LOG_DC("%s: MST_Support: %s\n", __func__, str_yes_no(link->dpcd_caps.is_mst_capable));

	/* Some MST docks seem to NAK I2C writes to segment pointer with mot=0. */
	if (link->dpcd_caps.is_mst_capable)
		link->wa_flags.dp_mot_reset_segment = true;
	else
		link->wa_flags.dp_mot_reset_segment = false;

	get_active_converter_info(ds_port.byte, link);

	dp_wa_power_up_0010FA(link, dpcd_data, sizeof(dpcd_data));