mirror of
https://github.com/torvalds/linux.git
synced 2024-11-22 04:02:20 +00:00
150f431a08
Add an fbdev emulation for SHMEM-based memory managers. The code is similar to fbdev-generic, but does not require an additional shadow buffer for mmap(). Fbdev-shmem operates directly on the buffer object's SHMEM pages. Fbdev's deferred-I/O mechanism updates the hardware state on write operations. The memory pages of GEM SHMEM cannot be detected by fbdefio. Therefore fbdev-shmem implements the .get_page() hook in struct fb_deferred_io. The fbdefio helpers call this hook to retrieve the page directly from fbdev-shmem instead of trying to detect it internally. v3: - clarify on get_page mechanism in commit description (Javier) v2: - use drm_driver_legacy_fb_format() (Geert) Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Reviewed-by: Javier Martinez Canillas <javierm@redhat.com> Link: https://patchwork.freedesktop.org/patch/msgid/20240419083331.7761-9-tzimmermann@suse.de
16 lines
341 B
C
16 lines
341 B
C
/* SPDX-License-Identifier: MIT */
|
|
|
|
#ifndef DRM_FBDEV_SHMEM_H
|
|
#define DRM_FBDEV_SHMEM_H
|
|
|
|
struct drm_device;
|
|
|
|
#ifdef CONFIG_DRM_FBDEV_EMULATION
|
|
void drm_fbdev_shmem_setup(struct drm_device *dev, unsigned int preferred_bpp);
|
|
#else
|
|
static inline void drm_fbdev_shmem_setup(struct drm_device *dev, unsigned int preferred_bpp)
|
|
{ }
|
|
#endif
|
|
|
|
#endif
|