mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-18 09:44:18 +08:00
drm/amd/display: Handle as MST first and then DP dongle if sink support both
Signed-off-by: Hersen Wu <hersenxs.wu@amd.com> Reviewed-by: Tony Cheng <Tony.Cheng@amd.com> Reviewed-by: Wenjing Liu <Wenjing.Liu@amd.com> Acked-by: Harry Wentland <harry.wentland@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
4ddd76d1ce
commit
58fe8990fc
@ -480,22 +480,6 @@ static void detect_dp(
|
|||||||
sink_caps->signal = SIGNAL_TYPE_DISPLAY_PORT;
|
sink_caps->signal = SIGNAL_TYPE_DISPLAY_PORT;
|
||||||
detect_dp_sink_caps(link);
|
detect_dp_sink_caps(link);
|
||||||
|
|
||||||
/* DP active dongles */
|
|
||||||
if (is_dp_active_dongle(link)) {
|
|
||||||
link->type = dc_connection_active_dongle;
|
|
||||||
if (!link->dpcd_caps.sink_count.bits.SINK_COUNT) {
|
|
||||||
/*
|
|
||||||
* active dongle unplug processing for short irq
|
|
||||||
*/
|
|
||||||
link_disconnect_sink(link);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (link->dpcd_caps.dongle_type !=
|
|
||||||
DISPLAY_DONGLE_DP_HDMI_CONVERTER) {
|
|
||||||
*converter_disable_audio = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (is_mst_supported(link)) {
|
if (is_mst_supported(link)) {
|
||||||
sink_caps->signal = SIGNAL_TYPE_DISPLAY_PORT_MST;
|
sink_caps->signal = SIGNAL_TYPE_DISPLAY_PORT_MST;
|
||||||
link->type = dc_connection_mst_branch;
|
link->type = dc_connection_mst_branch;
|
||||||
@ -535,6 +519,22 @@ static void detect_dp(
|
|||||||
sink_caps->signal = SIGNAL_TYPE_DISPLAY_PORT;
|
sink_caps->signal = SIGNAL_TYPE_DISPLAY_PORT;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (link->type != dc_connection_mst_branch &&
|
||||||
|
is_dp_active_dongle(link)) {
|
||||||
|
/* DP active dongles */
|
||||||
|
link->type = dc_connection_active_dongle;
|
||||||
|
if (!link->dpcd_caps.sink_count.bits.SINK_COUNT) {
|
||||||
|
/*
|
||||||
|
* active dongle unplug processing for short irq
|
||||||
|
*/
|
||||||
|
link_disconnect_sink(link);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (link->dpcd_caps.dongle_type != DISPLAY_DONGLE_DP_HDMI_CONVERTER)
|
||||||
|
*converter_disable_audio = true;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
/* DP passive dongles */
|
/* DP passive dongles */
|
||||||
sink_caps->signal = dp_passive_dongle_detection(link->ddc,
|
sink_caps->signal = dp_passive_dongle_detection(link->ddc,
|
||||||
|
Loading…
Reference in New Issue
Block a user