drm/vc4: dpi: Support BGR666 formats
authorJoerg Quinten <aBUGSworstnightmare@gmail.com>
Thu, 1 Dec 2022 08:42:50 +0000 (09:42 +0100)
committerMaxime Ripard <maxime@cerno.tech>
Thu, 1 Dec 2022 10:13:56 +0000 (11:13 +0100)
The VC4 DPI output can support multiple BGR666 variants, but they were
never added to the driver. Let's add the the support for those formats.

Signed-off-by: Joerg Quinten <aBUGSworstnightmare@gmail.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Link: https://lore.kernel.org/r/20221013-rpi-dpi-improvements-v3-5-eb76e26a772d@cerno.tech
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
drivers/gpu/drm/vc4/vc4_dpi.c

index 7da3dd1..ecbe4cd 100644 (file)
@@ -170,10 +170,16 @@ static void vc4_dpi_encoder_enable(struct drm_encoder *encoder)
                                dpi_c |= VC4_SET_FIELD(DPI_ORDER_BGR,
                                                       DPI_ORDER);
                                break;
+                       case MEDIA_BUS_FMT_BGR666_1X24_CPADHI:
+                               dpi_c |= VC4_SET_FIELD(DPI_ORDER_BGR, DPI_ORDER);
+                               fallthrough;
                        case MEDIA_BUS_FMT_RGB666_1X24_CPADHI:
                                dpi_c |= VC4_SET_FIELD(DPI_FORMAT_18BIT_666_RGB_2,
                                                       DPI_FORMAT);
                                break;
+                       case MEDIA_BUS_FMT_BGR666_1X18:
+                               dpi_c |= VC4_SET_FIELD(DPI_ORDER_BGR, DPI_ORDER);
+                               fallthrough;
                        case MEDIA_BUS_FMT_RGB666_1X18:
                                dpi_c |= VC4_SET_FIELD(DPI_FORMAT_18BIT_666_RGB_1,
                                                       DPI_FORMAT);