drm/mediatek: Make eDP panel as the first connected connector
authorGil Dekel <gildekel@chromium.org>
Thu, 10 Nov 2022 18:48:52 +0000 (13:48 -0500)
committerChun-Kuang Hu <chunkuang.hu@kernel.org>
Sun, 13 Nov 2022 23:37:01 +0000 (07:37 +0800)
[Why]
Some userspaces assume that the first connected connector is the "main"
display, which supposed to display, for example, the login screen.
For laptops, this should be the internal connector.

[How]
This patch calls drm_helper_move_panel_connectors_to_head() right before
crtc creation to ensure internal connectors are at the top of the
connector list.

Tested by ensuring the internal panels are at the top of the connector
list via modetest -c.

This patch does to mediatek what the following patch
https://www.spinics.net/lists/stable/msg590605.html
did for qualcomm.

Signed-off-by: Gil Dekel <gildekel@chromium.org>
Tested-by: Gil Dekel <gildekel@chromium.org>
Reviewed-by: Sean Paul <seanpaul@chromium.org>
Reviewed-by: Chen-Yu Tsai <wenst@chromium.org>
Signed-off-by: Chun-Kuang Hu <chunkuang.hu@kernel.org>
drivers/gpu/drm/mediatek/mtk_drm_drv.c

index 91f58db..76daaf6 100644 (file)
@@ -387,6 +387,12 @@ static int mtk_drm_kms_init(struct drm_device *drm)
                goto put_mutex_dev;
 
        /*
+        * Ensure internal panels are at the top of the connector list before
+        * crtc creation.
+        */
+       drm_helper_move_panel_connectors_to_head(drm);
+
+       /*
         * We currently support two fixed data streams, each optional,
         * and each statically assigned to a crtc:
         * OVL0 -> COLOR0 -> AAL -> OD -> RDMA0 -> UFOE -> DSI0 ...