]> git.baikalelectronics.ru Git - kernel.git/commitdiff
drm/amd/display: Assume connectors are on single slot
authorJaehyun Chung <jaehyun.chung@amd.com>
Thu, 8 Sep 2022 23:11:31 +0000 (19:11 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 19 Sep 2022 19:15:37 +0000 (15:15 -0400)
[Why]
v1_5 display object table has no way for connectors to
indicate which slot they are a part of, resulting in additional
empty slots to appear in EDID management UI.

[How]
Assume that all connectors belong to the same slot.

Reviewed-by: Jun Lei <Jun.Lei@amd.com>
Acked-by: Wayne Lin <wayne.lin@amd.com>
Signed-off-by: Jaehyun Chung <jaehyun.chung@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c

index acbdb792637514da4c5da952e318965a257497a7..5d70f9901d132d68d2db1bd4d96e2f3676ad195e 100644 (file)
@@ -3346,6 +3346,7 @@ static enum bp_result bios_get_board_layout_info(
        struct bios_parser *bp;
 
        static enum bp_result record_result;
+       unsigned int max_slots;
 
        const unsigned int slot_index_to_vbios_id[MAX_BOARD_SLOTS] = {
                GENERICOBJECT_BRACKET_LAYOUT_ENUM_ID1,
@@ -3362,8 +3363,14 @@ static enum bp_result bios_get_board_layout_info(
        }
 
        board_layout_info->num_of_slots = 0;
+       max_slots = MAX_BOARD_SLOTS;
 
-       for (i = 0; i < MAX_BOARD_SLOTS; ++i) {
+       // Assume single slot on v1_5
+       if (bp->object_info_tbl.revision.minor == 5) {
+               max_slots = 1;
+       }
+
+       for (i = 0; i < max_slots; ++i) {
                record_result = get_bracket_layout_record(dcb,
                        slot_index_to_vbios_id[i],
                        &board_layout_info->slots[i]);