Commit 5580f263 authored by Thomas Zimmermann's avatar Thomas Zimmermann

drm/ofdrm: Set preferred depth from format of scanout buffer

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. Keeping the existing switch statement just duplicates the
driver's existing logic for format detection.

Also remove the FIXME comment from the call to drm_fbdev_generic_setup()
as the driver now handles color depth and bpp values correctly.

v2:
	* fix commit-message typo
Signed-off-by: default avatarThomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: default avatarJavier Martinez Canillas <javierm@redhat.com>
Acked-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
Link: https://patchwork.freedesktop.org/patch/msgid/20221123115348.2521-5-tzimmermann@suse.de
parent 749ba659
...@@ -1284,14 +1284,7 @@ static struct ofdrm_device *ofdrm_device_create(struct drm_driver *drv, ...@@ -1284,14 +1284,7 @@ static struct ofdrm_device *ofdrm_device_create(struct drm_driver *drv,
dev->mode_config.min_height = height; dev->mode_config.min_height = height;
dev->mode_config.max_height = max_height; dev->mode_config.max_height = max_height;
dev->mode_config.funcs = &ofdrm_mode_config_funcs; dev->mode_config.funcs = &ofdrm_mode_config_funcs;
switch (depth) { dev->mode_config.preferred_depth = format->depth;
case 32:
dev->mode_config.preferred_depth = 24;
break;
default:
dev->mode_config.preferred_depth = depth;
break;
}
dev->mode_config.quirk_addfb_prefer_host_byte_order = true; dev->mode_config.quirk_addfb_prefer_host_byte_order = true;
/* Primary plane */ /* Primary plane */
...@@ -1390,10 +1383,6 @@ static int ofdrm_probe(struct platform_device *pdev) ...@@ -1390,10 +1383,6 @@ static int ofdrm_probe(struct platform_device *pdev)
if (ret) if (ret)
return ret; return ret;
/*
* FIXME: 24-bit color depth does not work reliably with a 32-bpp
* value. Force the bpp value of the scanout buffer's format.
*/
drm_fbdev_generic_setup(dev, drm_format_info_bpp(odev->format, 0)); drm_fbdev_generic_setup(dev, drm_format_info_bpp(odev->format, 0));
return 0; return 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment