mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 04:18:39 +08:00
drm/fbdev: Clean up fbdev documentation
Rewrite some docs that are not up-to-date any longer. Remove the TODO item for fbdev-generic conversion, as the helper has been replaced. Make documentation for DMA, SHMEM and TTM emulation available. Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Cc: Jonathan Corbet <corbet@lwn.net> Reviewed-by: Javier Martinez Canillas <javierm@redhat.com> Link: https://patchwork.freedesktop.org/patch/msgid/20240419083331.7761-44-tzimmermann@suse.de
This commit is contained in:
parent
aae4682e5d
commit
18bc074c22
@ -110,15 +110,21 @@ fbdev Helper Functions Reference
|
||||
.. kernel-doc:: drivers/gpu/drm/drm_fb_helper.c
|
||||
:doc: fbdev helpers
|
||||
|
||||
.. kernel-doc:: drivers/gpu/drm/drm_fbdev_dma.c
|
||||
:export:
|
||||
|
||||
.. kernel-doc:: drivers/gpu/drm/drm_fbdev_shmem.c
|
||||
:export:
|
||||
|
||||
.. kernel-doc:: drivers/gpu/drm/drm_fbdev_ttm.c
|
||||
:export:
|
||||
|
||||
.. kernel-doc:: include/drm/drm_fb_helper.h
|
||||
:internal:
|
||||
|
||||
.. kernel-doc:: drivers/gpu/drm/drm_fb_helper.c
|
||||
:export:
|
||||
|
||||
.. kernel-doc:: drivers/gpu/drm/drm_fbdev_ttm.c
|
||||
:export:
|
||||
|
||||
format Helper Functions Reference
|
||||
=================================
|
||||
|
||||
|
@ -243,19 +243,6 @@ Contact: Maintainer of the driver you plan to convert
|
||||
|
||||
Level: Intermediate
|
||||
|
||||
Convert drivers to use drm_fbdev_generic_setup()
|
||||
------------------------------------------------
|
||||
|
||||
Most drivers can use drm_fbdev_generic_setup(). Driver have to implement
|
||||
atomic modesetting and GEM vmap support. Historically, generic fbdev emulation
|
||||
expected the framebuffer in system memory or system-like memory. By employing
|
||||
struct iosys_map, drivers with frambuffers in I/O memory can be supported
|
||||
as well.
|
||||
|
||||
Contact: Maintainer of the driver you plan to convert
|
||||
|
||||
Level: Intermediate
|
||||
|
||||
Reimplement functions in drm_fbdev_fb_ops without fbdev
|
||||
-------------------------------------------------------
|
||||
|
||||
|
@ -346,7 +346,7 @@ void drm_minor_release(struct drm_minor *minor)
|
||||
* if (ret)
|
||||
* return ret;
|
||||
*
|
||||
* drm_fbdev_generic_setup(drm, 32);
|
||||
* drm_fbdev_{...}_setup(drm, 32);
|
||||
*
|
||||
* return 0;
|
||||
* }
|
||||
|
@ -85,12 +85,8 @@ static DEFINE_MUTEX(kernel_fb_helper_lock);
|
||||
* The fb helper functions are useful to provide an fbdev on top of a drm kernel
|
||||
* mode setting driver. They can be used mostly independently from the crtc
|
||||
* helper functions used by many drivers to implement the kernel mode setting
|
||||
* interfaces.
|
||||
*
|
||||
* Drivers that support a dumb buffer with a virtual address and mmap support,
|
||||
* should try out the generic fbdev emulation using drm_fbdev_generic_setup().
|
||||
* It will automatically set up deferred I/O if the driver requires a shadow
|
||||
* buffer.
|
||||
* interfaces. Drivers that use one of the shared memory managers, TTM, SHMEM,
|
||||
* DMA, should instead use the corresponding fbdev emulation.
|
||||
*
|
||||
* Existing fbdev implementations should restore the fbdev console by using
|
||||
* drm_fb_helper_lastclose() as their &drm_driver.lastclose callback.
|
||||
@ -126,9 +122,6 @@ static DEFINE_MUTEX(kernel_fb_helper_lock);
|
||||
* atomic context. If drm_fb_helper_deferred_io() is used as the deferred_io
|
||||
* callback it will also schedule dirty_work with the damage collected from the
|
||||
* mmap page writes.
|
||||
*
|
||||
* Deferred I/O is not compatible with SHMEM. Such drivers should request an
|
||||
* fbdev shadow buffer and call drm_fbdev_generic_setup() instead.
|
||||
*/
|
||||
|
||||
static void drm_fb_helper_restore_lut_atomic(struct drm_crtc *crtc)
|
||||
|
@ -106,8 +106,8 @@ struct drm_mode_config_funcs {
|
||||
* Drivers implementing fbdev emulation use drm_kms_helper_hotplug_event()
|
||||
* to call this hook to inform the fbdev helper of output changes.
|
||||
*
|
||||
* This hook is deprecated, drivers should instead use
|
||||
* drm_fbdev_generic_setup() which takes care of any necessary
|
||||
* This hook is deprecated, drivers should instead implement fbdev
|
||||
* support with struct drm_client, which takes care of any necessary
|
||||
* hotplug event forwarding already without further involvement by
|
||||
* the driver.
|
||||
*/
|
||||
|
Loading…
Reference in New Issue
Block a user