drm/simpledrm: Set preferred depth from format of scanout buffer
authorThomas Zimmermann <tzimmermann@suse.de>
Wed, 23 Nov 2022 11:53:46 +0000 (12:53 +0100)
committerThomas Zimmermann <tzimmermann@suse.de>
Thu, 24 Nov 2022 13:07:52 +0000 (14:07 +0100)
Set the preferred depth from the format of the scanout buffer. The
value cannot be hardcoded, as the scanout buffer is only known at
runtime. Also derive the fbdev emulation's bpp value from the scanout
format.

v2:
* fix commit-message typo

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: https://patchwork.freedesktop.org/patch/msgid/20221123115348.2521-6-tzimmermann@suse.de
drivers/gpu/drm/tiny/simpledrm.c

index 162eb44dcba8961cb2120aff13ee5090df0aed18..30e928d627e8f9966f30f076408a27434e004dbf 100644 (file)
@@ -739,7 +739,7 @@ static struct simpledrm_device *simpledrm_device_create(struct drm_driver *drv,
        dev->mode_config.max_width = max_width;
        dev->mode_config.min_height = height;
        dev->mode_config.max_height = max_height;
-       dev->mode_config.preferred_depth = format->cpp[0] * 8;
+       dev->mode_config.preferred_depth = format->depth;
        dev->mode_config.funcs = &simpledrm_mode_config_funcs;
 
        /* Primary plane */
@@ -834,7 +834,7 @@ static int simpledrm_probe(struct platform_device *pdev)
        if (ret)
                return ret;
 
-       drm_fbdev_generic_setup(dev, 0);
+       drm_fbdev_generic_setup(dev, drm_format_info_bpp(sdev->format, 0));
 
        return 0;
 }