drm/udl: Add ARGB8888 as a format
authorDouglas Anderson <dianders@chromium.org>
Tue, 27 Feb 2024 22:19:29 +0000 (14:19 -0800)
committerDouglas Anderson <dianders@chromium.org>
Tue, 5 Mar 2024 16:37:44 +0000 (08:37 -0800)
Even though the UDL driver converts to RGB565 internally (see
pixel32_to_be16() in udl_transfer.c), it advertises XRGB8888 for
compatibility. Let's add ARGB8888 to that list.

This makes UDL devices work on ChromeOS again after commit
c91acda3a380 ("drm/gem: Check for valid formats"). Prior to that
commit things were "working" because we'd silently treat the ARGB8888
that ChromeOS wanted as XRGB8888.

Fixes: c91acda3a380 ("drm/gem: Check for valid formats")
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Douglas Anderson <dianders@chromium.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20240227141928.1.I24ac8d51544e4624b7e9d438d95880c4283e611b@changeid
drivers/gpu/drm/udl/udl_modeset.c

index 7702359c90c22594666347b6cc9d271db01df4bd..0f8d3678770e68a5fa0c03ed4d36d265060ed733 100644 (file)
@@ -253,6 +253,7 @@ static int udl_handle_damage(struct drm_framebuffer *fb,
 static const uint32_t udl_primary_plane_formats[] = {
        DRM_FORMAT_RGB565,
        DRM_FORMAT_XRGB8888,
+       DRM_FORMAT_ARGB8888,
 };
 
 static const uint64_t udl_primary_plane_fmtmods[] = {