drm/mediatek: mtk_dpi: Reorder output formats on MT8195/88
authorLouis-Alexis Eyraud <louisalexis.eyraud@collabora.com>
Fri, 6 Jun 2025 12:50:12 +0000 (14:50 +0200)
committerChun-Kuang Hu <chunkuang.hu@kernel.org>
Thu, 17 Jul 2025 23:19:05 +0000 (23:19 +0000)
Reorder output format arrays in both MT8195 DPI and DP_INTF block
configuration by decreasing preference order instead of alphanumeric
one, as expected by the atomic_get_output_bus_fmts callback function
of drm_bridge controls, so the RGB ones are used first during the
bus format negotiation process.

Fixes: 20fa6a8fc588 ("drm/mediatek: mtk_dpi: Allow additional output formats on MT8195/88")
Signed-off-by: Louis-Alexis Eyraud <louisalexis.eyraud@collabora.com>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Reviewed-by: CK Hu <ck.hu@mediatek.com>
Link: https://patchwork.kernel.org/project/linux-mediatek/patch/20250606-mtk_dpi-mt8195-fix-wrong-color-v1-1-47988101b798@collabora.com/
Signed-off-by: Chun-Kuang Hu <chunkuang.hu@kernel.org>
drivers/gpu/drm/mediatek/mtk_dpi.c

index 6fb85bc6487a019cdcdb3770dc06a1deab8d5bda..a2fdceadf209f6d2166e7523b82ca18c82c7d435 100644 (file)
@@ -1095,7 +1095,6 @@ static const u32 mt8183_output_fmts[] = {
 };
 
 static const u32 mt8195_dpi_output_fmts[] = {
-       MEDIA_BUS_FMT_BGR888_1X24,
        MEDIA_BUS_FMT_RGB888_1X24,
        MEDIA_BUS_FMT_RGB888_2X12_LE,
        MEDIA_BUS_FMT_RGB888_2X12_BE,
@@ -1103,18 +1102,19 @@ static const u32 mt8195_dpi_output_fmts[] = {
        MEDIA_BUS_FMT_YUYV8_1X16,
        MEDIA_BUS_FMT_YUYV10_1X20,
        MEDIA_BUS_FMT_YUYV12_1X24,
+       MEDIA_BUS_FMT_BGR888_1X24,
        MEDIA_BUS_FMT_YUV8_1X24,
        MEDIA_BUS_FMT_YUV10_1X30,
 };
 
 static const u32 mt8195_dp_intf_output_fmts[] = {
-       MEDIA_BUS_FMT_BGR888_1X24,
        MEDIA_BUS_FMT_RGB888_1X24,
        MEDIA_BUS_FMT_RGB888_2X12_LE,
        MEDIA_BUS_FMT_RGB888_2X12_BE,
        MEDIA_BUS_FMT_RGB101010_1X30,
        MEDIA_BUS_FMT_YUYV8_1X16,
        MEDIA_BUS_FMT_YUYV10_1X20,
+       MEDIA_BUS_FMT_BGR888_1X24,
        MEDIA_BUS_FMT_YUV8_1X24,
        MEDIA_BUS_FMT_YUV10_1X30,
 };