Commit a387aeb8 authored by Thomas Zimmermann's avatar Thomas Zimmermann Committed by Carlos Llamas
Browse files

UPSTREAM: drm/fbdev: Add memory-agnostic fbdev client



[ Upstream commit 5d08c44e ]

Add an fbdev client that can work with any memory manager. The
client implementation is the same as existing code in fbdev-dma or
fbdev-shmem.

Provide struct drm_driver.fbdev_probe for the new client to allocate
the surface GEM buffer. The new callback replaces fb_probe of struct
drm_fb_helper_funcs, which does the same.

To use the new client, DRM drivers set fbdev_probe in their struct
drm_driver instance and call drm_fbdev_client_setup(). Probing and
creating the fbdev surface buffer is now independent from the other
operations in struct drm_fb_helper. For the pixel format, the fbdev
client either uses a specified format, the value in preferred_depth
or 32-bit RGB.

v2:
- test for struct drm_fb_helper.funcs for NULL (Sui)
- respect struct drm_mode_config.preferred_depth for default format

Change-Id: I50035b52dfef65794ea7057ae0aeaa580defd9c7
Signed-off-by: default avatarThomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: default avatarJavier Martinez Canillas <javierm@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240924071734.98201-4-tzimmermann@suse.de


Stable-dep-of: 6b481ab0 ("drm/nouveau: select FW caching")
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
(cherry picked from commit 7f5535fc)
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@google.com>
parent e3e94686
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment