b79fe9abd5
Implement fbdev emulation that is optimized for drivers that use DMA helpers. The buffers may no tbe moveable, may not require damage handling and have to be located in system memory. This allows fbdev emulation to operate directly on the buffer and mmap it to userspace. Besides those constraints, the emulation works like in the generic code. As an internal DRM client provides, it receives hotplug, restore and unregister events. The DRM client is independent from the fbdev probing, which runs on the first successful hotplug event. The emulation is part of the DMA helper module and not build unless DMA helpers and fbdev emulation has been configured. Tested with vc4. Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Reviewed-by: Javier Martinez Canillas <javierm@redhat.com> Link: https://patchwork.freedesktop.org/patch/msgid/20230313155138.20584-2-tzimmermann@suse.de
16 lines
333 B
C
16 lines
333 B
C
/* SPDX-License-Identifier: MIT */
|
|
|
|
#ifndef DRM_FBDEV_DMA_H
|
|
#define DRM_FBDEV_DMA_H
|
|
|
|
struct drm_device;
|
|
|
|
#ifdef CONFIG_DRM_FBDEV_EMULATION
|
|
void drm_fbdev_dma_setup(struct drm_device *dev, unsigned int preferred_bpp);
|
|
#else
|
|
static inline void drm_fbdev_dma_setup(struct drm_device *dev, unsigned int preferred_bpp)
|
|
{ }
|
|
#endif
|
|
|
|
#endif
|