drm/amd/display: fix dc_get_edp_link_panel_inst to only consider links with panels
This function is meant to be used on multi-edp systems and only makes sense if only links with connected panels are considered. Acked-by: Aurabindo Pillai <aurabindo.pillai@amd.com> Signed-off-by: Dmytro Laktyushkin <Dmytro.Laktyushkin@amd.com> Tested-by: Daniel Wheeler <daniel.wheeler@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
2d90a1c054
commit
324de40a56
@ -335,15 +335,18 @@ static inline bool dc_get_edp_link_panel_inst(const struct dc *dc,
|
||||
unsigned int *inst_out)
|
||||
{
|
||||
struct dc_link *edp_links[MAX_NUM_EDP];
|
||||
int edp_num;
|
||||
int edp_num, i;
|
||||
|
||||
if (link->connector_signal != SIGNAL_TYPE_EDP)
|
||||
*inst_out = 0;
|
||||
if (link->connector_signal != SIGNAL_TYPE_EDP || !link->local_sink)
|
||||
return false;
|
||||
get_edp_links(dc, edp_links, &edp_num);
|
||||
if ((edp_num > 1) && (link->link_index > edp_links[0]->link_index))
|
||||
*inst_out = 1;
|
||||
else
|
||||
*inst_out = 0;
|
||||
for (i = 0; i < edp_num; i++) {
|
||||
if (link == edp_links[i])
|
||||
break;
|
||||
if (edp_links[i]->local_sink)
|
||||
(*inst_out)++;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user