drm/panel: ilitek-ili9881c: Report subpixel order according to rotation
authorPhilipp Zabel <p.zabel@pengutronix.de>
Wed, 26 Jun 2024 14:40:39 +0000 (16:40 +0200)
committerNeil Armstrong <neil.armstrong@linaro.org>
Wed, 9 Oct 2024 07:48:45 +0000 (09:48 +0200)
Assume a default RGB subpixel order and flip it around if 180° rotation
is configured via address mode. Report subpixel order to userspace.

Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://lore.kernel.org/r/20240626-drm-panel-ili9881c-rotation-v1-2-e0ff54173e32@pengutronix.de
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20240626-drm-panel-ili9881c-rotation-v1-2-e0ff54173e32@pengutronix.de
drivers/gpu/drm/panel/panel-ilitek-ili9881c.c

index b4565ff..28cd756 100644 (file)
@@ -1471,6 +1471,10 @@ static int ili9881c_get_modes(struct drm_panel *panel,
 
        connector->display_info.width_mm = mode->width_mm;
        connector->display_info.height_mm = mode->height_mm;
+       if (ctx->address_mode == 0x3)
+               connector->display_info.subpixel_order = SubPixelHorizontalBGR;
+       else
+               connector->display_info.subpixel_order = SubPixelHorizontalRGB;
 
        /*
         * TODO: Remove once all drm drivers call