From: Dmytro Laktyushkin Date: Mon, 12 Dec 2022 22:42:59 +0000 (-0500) Subject: drm/amd/display: fix multi edp panel instancing X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=01506614ceb2de9a0924bf004ff5f5ee94f50139;p=linux.git drm/amd/display: fix multi edp panel instancing A previous fix attempted to correct mismatch between DM display targets and dc panel instancing by only counting connected panels. This behaviour breaks a feature, thus this is an alternative solution that allows mapping display targets to dc links during mod_power_create. Tested-by: Daniel Wheeler Reviewed-by: Nicholas Kazlauskas Acked-by: Rodrigo Siqueira Signed-off-by: Dmytro Laktyushkin Signed-off-by: Alex Deucher --- diff --git a/drivers/gpu/drm/amd/display/dc/dc_link.h b/drivers/gpu/drm/amd/display/dc/dc_link.h index 3b9315a38b30b..1226ecb625b41 100644 --- a/drivers/gpu/drm/amd/display/dc/dc_link.h +++ b/drivers/gpu/drm/amd/display/dc/dc_link.h @@ -338,14 +338,13 @@ static inline bool dc_get_edp_link_panel_inst(const struct dc *dc, int edp_num, i; *inst_out = 0; - if (link->connector_signal != SIGNAL_TYPE_EDP || !link->local_sink) + if (link->connector_signal != SIGNAL_TYPE_EDP) return false; get_edp_links(dc, edp_links, &edp_num); for (i = 0; i < edp_num; i++) { if (link == edp_links[i]) break; - if (edp_links[i]->local_sink) - (*inst_out)++; + (*inst_out)++; } return true; }