Skip to content

Commit 8dea33a

Browse files
Wenjing Liugregkh
authored andcommitted
drm/amd/display: use preferred link settings for dp signal only
[ Upstream commit abf34ca ] [why] We set preferred link settings for virtual signal. However we don't support virtual signal for UHBR link rate. If preferred is set to UHBR link rate, we will allow virtual signal with UHBR link rate which causes system crashes. Reviewed-by: Dillon Varone <dillon.varone@amd.com> Acked-by: Zaeem Mohamed <zaeem.mohamed@amd.com> Signed-off-by: Wenjing Liu <wenjing.liu@amd.com> Tested-by: Daniel Wheeler <daniel.wheeler@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
1 parent eba4b2a commit 8dea33a

1 file changed

Lines changed: 10 additions & 14 deletions

File tree

drivers/gpu/drm/amd/display/dc/link/protocols/link_dp_capability.c

Lines changed: 10 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -914,21 +914,17 @@ bool link_decide_link_settings(struct dc_stream_state *stream,
914914

915915
memset(link_setting, 0, sizeof(*link_setting));
916916

917-
/* if preferred is specified through AMDDP, use it, if it's enough
918-
* to drive the mode
919-
*/
920-
if (link->preferred_link_setting.lane_count !=
921-
LANE_COUNT_UNKNOWN &&
922-
link->preferred_link_setting.link_rate !=
923-
LINK_RATE_UNKNOWN) {
917+
if (dc_is_dp_signal(stream->signal) &&
918+
link->preferred_link_setting.lane_count != LANE_COUNT_UNKNOWN &&
919+
link->preferred_link_setting.link_rate != LINK_RATE_UNKNOWN) {
920+
/* if preferred is specified through AMDDP, use it, if it's enough
921+
* to drive the mode
922+
*/
924923
*link_setting = link->preferred_link_setting;
925-
return true;
926-
}
927-
928-
/* MST doesn't perform link training for now
929-
* TODO: add MST specific link training routine
930-
*/
931-
if (stream->signal == SIGNAL_TYPE_DISPLAY_PORT_MST) {
924+
} else if (stream->signal == SIGNAL_TYPE_DISPLAY_PORT_MST) {
925+
/* MST doesn't perform link training for now
926+
* TODO: add MST specific link training routine
927+
*/
932928
decide_mst_link_settings(link, link_setting);
933929
} else if (link->connector_signal == SIGNAL_TYPE_EDP) {
934930
/* enable edp link optimization for DSC eDP case */

0 commit comments

Comments
 (0)