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
|
.. kernel-doc:: drivers/gpu/drm/drm_fb_helper.c
|
||||||
:doc: fbdev helpers
|
: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
|
.. kernel-doc:: include/drm/drm_fb_helper.h
|
||||||
:internal:
|
:internal:
|
||||||
|
|
||||||
.. kernel-doc:: drivers/gpu/drm/drm_fb_helper.c
|
.. kernel-doc:: drivers/gpu/drm/drm_fb_helper.c
|
||||||
:export:
|
:export:
|
||||||
|
|
||||||
.. kernel-doc:: drivers/gpu/drm/drm_fbdev_ttm.c
|
|
||||||
:export:
|
|
||||||
|
|
||||||
format Helper Functions Reference
|
format Helper Functions Reference
|
||||||
=================================
|
=================================
|
||||||
|
|
||||||
|
@ -243,19 +243,6 @@ Contact: Maintainer of the driver you plan to convert
|
|||||||
|
|
||||||
Level: Intermediate
|
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
|
Reimplement functions in drm_fbdev_fb_ops without fbdev
|
||||||
-------------------------------------------------------
|
-------------------------------------------------------
|
||||||
|
|
||||||
|
@ -346,7 +346,7 @@ void drm_minor_release(struct drm_minor *minor)
|
|||||||
* if (ret)
|
* if (ret)
|
||||||
* return ret;
|
* return ret;
|
||||||
*
|
*
|
||||||
* drm_fbdev_generic_setup(drm, 32);
|
* drm_fbdev_{...}_setup(drm, 32);
|
||||||
*
|
*
|
||||||
* return 0;
|
* 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
|
* 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
|
* mode setting driver. They can be used mostly independently from the crtc
|
||||||
* helper functions used by many drivers to implement the kernel mode setting
|
* helper functions used by many drivers to implement the kernel mode setting
|
||||||
* interfaces.
|
* interfaces. Drivers that use one of the shared memory managers, TTM, SHMEM,
|
||||||
*
|
* DMA, should instead use the corresponding fbdev emulation.
|
||||||
* 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.
|
|
||||||
*
|
*
|
||||||
* Existing fbdev implementations should restore the fbdev console by using
|
* Existing fbdev implementations should restore the fbdev console by using
|
||||||
* drm_fb_helper_lastclose() as their &drm_driver.lastclose callback.
|
* 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
|
* 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
|
* callback it will also schedule dirty_work with the damage collected from the
|
||||||
* mmap page writes.
|
* 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)
|
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()
|
* Drivers implementing fbdev emulation use drm_kms_helper_hotplug_event()
|
||||||
* to call this hook to inform the fbdev helper of output changes.
|
* to call this hook to inform the fbdev helper of output changes.
|
||||||
*
|
*
|
||||||
* This hook is deprecated, drivers should instead use
|
* This hook is deprecated, drivers should instead implement fbdev
|
||||||
* drm_fbdev_generic_setup() which takes care of any necessary
|
* support with struct drm_client, which takes care of any necessary
|
||||||
* hotplug event forwarding already without further involvement by
|
* hotplug event forwarding already without further involvement by
|
||||||
* the driver.
|
* the driver.
|
||||||
*/
|
*/
|
||||||
|
Loading…
Reference in New Issue
Block a user