2023-06-09 13:46:47

by Geert Uytterhoeven

[permalink] [raw]
Subject: [PATCH v2 0/4] drm: Atomic modesetting doc and comment improvements

Hi all,

This patch series contains various improvements to the documentation and
comments related to atomic modesetting. Hopefully, it will ease the job
of DRM novice who want to tackle the daunting task of converting a
legacy DRM driver to atomic modesetting.

Changes compared to 1:
- Add Reviewed-by,
- Drop double space after full stop,
- Use footnotes for references,
- Remore reference to unconverted virtual HW drivers,
- New patch [2/4],
- Drop "first part" in drivers/gpu/drm/drm_plane_helper.c.

Thanks for your comments!

Geert Uytterhoeven (4):
drm/todo: Add atomic modesetting references
drm/todo: Convert list of fbconv links to footnotes
drm: Remove references to removed transitional helpers
drm: Fix references to drm_plane_helper_check_state()

Documentation/gpu/todo.rst | 20 ++++++----
drivers/gpu/drm/drm_plane_helper.c | 12 +-----
drivers/gpu/drm/rcar-du/rcar_du_plane.c | 3 +-
drivers/gpu/drm/tidss/tidss_plane.c | 3 +-
include/drm/drm_crtc.h | 5 ---
include/drm/drm_modeset_helper_vtables.h | 48 +++++++++++-------------
6 files changed, 39 insertions(+), 52 deletions(-)

--
2.34.1

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds


2023-06-09 13:46:51

by Geert Uytterhoeven

[permalink] [raw]
Subject: [PATCH v2 1/4] drm/todo: Add atomic modesetting references

The section about converting existing KMS drivers to atomic modesetting
mentions the existence of a conversion guide, but does not reference it.
While the guide is old and rusty, it still contains useful information,
so add a link to it. Also link to the LWN.net articles that give an
overview about the atomic mode setting design.

While at it, remove the reference to unconverted virtual HW drivers, as
they've been converted.

Signed-off-by: Geert Uytterhoeven <[email protected]>
Reviewed-by: Javier Martinez Canillas <[email protected]>
Reviewed-by: Laurent Pinchart <[email protected]>
---
v2:
- Add Reviewed-by,
- Drop double space after full stop,
- Use footnotes for references,
- Remore reference to unconverted virtual HW drivers.
---
Documentation/gpu/todo.rst | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/Documentation/gpu/todo.rst b/Documentation/gpu/todo.rst
index 68bdafa0284f55f6..6c328613c049fc1d 100644
--- a/Documentation/gpu/todo.rst
+++ b/Documentation/gpu/todo.rst
@@ -49,14 +49,18 @@ converted over. Modern compositors like Wayland or Surfaceflinger on Android
really want an atomic modeset interface, so this is all about the bright
future.

-There is a conversion guide for atomic and all you need is a GPU for a
-non-converted driver (again virtual HW drivers for KVM are still all
-suitable).
+There is a conversion guide for atomic [1]_ and all you need is a GPU for a
+non-converted driver. The "Atomic mode setting design overview" series [2]_
+[3]_ at LWN.net can also be helpful.

As part of this drivers also need to convert to universal plane (which means
exposing primary & cursor as proper plane objects). But that's much easier to
do by directly using the new atomic helper driver callbacks.

+ .. [1] https://blog.ffwll.ch/2014/11/atomic-modeset-support-for-kms-drivers.html
+ .. [2] https://lwn.net/Articles/653071/
+ .. [3] https://lwn.net/Articles/653466/
+
Contact: Daniel Vetter, respective driver maintainers

Level: Advanced
--
2.34.1


2023-06-09 13:47:29

by Geert Uytterhoeven

[permalink] [raw]
Subject: [PATCH v2 3/4] drm: Remove references to removed transitional helpers

The transitional helpers were removed a long time ago, but some
references stuck. Remove them.

Fixes: 21ebe615c16994f3 ("drm: Remove transitional helpers")
Signed-off-by: Geert Uytterhoeven <[email protected]>
---
v2:
- Drop "first part" in drivers/gpu/drm/drm_plane_helper.c.
---
drivers/gpu/drm/drm_plane_helper.c | 12 +-----
include/drm/drm_crtc.h | 5 ---
include/drm/drm_modeset_helper_vtables.h | 48 +++++++++++-------------
3 files changed, 23 insertions(+), 42 deletions(-)

diff --git a/drivers/gpu/drm/drm_plane_helper.c b/drivers/gpu/drm/drm_plane_helper.c
index c91e454eba097942..5e95089676ff81ed 100644
--- a/drivers/gpu/drm/drm_plane_helper.c
+++ b/drivers/gpu/drm/drm_plane_helper.c
@@ -40,8 +40,8 @@
/**
* DOC: overview
*
- * This helper library has two parts. The first part has support to implement
- * primary plane support on top of the normal CRTC configuration interface.
+ * This helper library contains helpers to implement primary plane support on
+ * top of the normal CRTC configuration interface.
* Since the legacy &drm_mode_config_funcs.set_config interface ties the primary
* plane together with the CRTC state this does not allow userspace to disable
* the primary plane itself. The default primary plane only expose XRBG8888 and
@@ -51,14 +51,6 @@
* planes, and newly merged drivers must not rely upon these transitional
* helpers.
*
- * The second part also implements transitional helpers which allow drivers to
- * gradually switch to the atomic helper infrastructure for plane updates. Once
- * that switch is complete drivers shouldn't use these any longer, instead using
- * the proper legacy implementations for update and disable plane hooks provided
- * by the atomic helpers.
- *
- * Again drivers are strongly urged to switch to the new interfaces.
- *
* The plane helpers share the function table structures with other helpers,
* specifically also the atomic helpers. See &struct drm_plane_helper_funcs for
* the details.
diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h
index 8e1cbc75143ef216..8b48a1974da3143c 100644
--- a/include/drm/drm_crtc.h
+++ b/include/drm/drm_crtc.h
@@ -77,11 +77,6 @@ struct drm_plane_helper_funcs;
* intended to indicate whether a full modeset is needed, rather than strictly
* describing what has changed in a commit. See also:
* drm_atomic_crtc_needs_modeset()
- *
- * WARNING: Transitional helpers (like drm_helper_crtc_mode_set() or
- * drm_helper_crtc_mode_set_base()) do not maintain many of the derived control
- * state like @plane_mask so drivers not converted over to atomic helpers should
- * not rely on these being accurate!
*/
struct drm_crtc_state {
/** @crtc: backpointer to the CRTC */
diff --git a/include/drm/drm_modeset_helper_vtables.h b/include/drm/drm_modeset_helper_vtables.h
index 965faf082a6d1acb..e3c3ac615909474b 100644
--- a/include/drm/drm_modeset_helper_vtables.h
+++ b/include/drm/drm_modeset_helper_vtables.h
@@ -59,8 +59,8 @@ enum mode_set_atomic {
/**
* struct drm_crtc_helper_funcs - helper operations for CRTCs
*
- * These hooks are used by the legacy CRTC helpers, the transitional plane
- * helpers and the new atomic modesetting helpers.
+ * These hooks are used by the legacy CRTC helpers and the new atomic
+ * modesetting helpers.
*/
struct drm_crtc_helper_funcs {
/**
@@ -216,9 +216,7 @@ struct drm_crtc_helper_funcs {
*
* This callback is used to update the display mode of a CRTC without
* changing anything of the primary plane configuration. This fits the
- * requirement of atomic and hence is used by the atomic helpers. It is
- * also used by the transitional plane helpers to implement a
- * @mode_set hook in drm_helper_crtc_mode_set().
+ * requirement of atomic and hence is used by the atomic helpers.
*
* Note that the display pipe is completely off when this function is
* called. Atomic drivers which need hardware to be running before they
@@ -333,8 +331,8 @@ struct drm_crtc_helper_funcs {
* all updated. Again the recommendation is to just call check helpers
* until a maximal configuration is reached.
*
- * This callback is used by the atomic modeset helpers and by the
- * transitional plane helpers, but it is optional.
+ * This callback is used by the atomic modeset helpers, but it is
+ * optional.
*
* NOTE:
*
@@ -373,8 +371,8 @@ struct drm_crtc_helper_funcs {
* has picked. See drm_atomic_helper_commit_planes() for a discussion of
* the tradeoffs and variants of plane commit helpers.
*
- * This callback is used by the atomic modeset helpers and by the
- * transitional plane helpers, but it is optional.
+ * This callback is used by the atomic modeset helpers, but it is
+ * optional.
*/
void (*atomic_begin)(struct drm_crtc *crtc,
struct drm_atomic_state *state);
@@ -397,8 +395,8 @@ struct drm_crtc_helper_funcs {
* has picked. See drm_atomic_helper_commit_planes() for a discussion of
* the tradeoffs and variants of plane commit helpers.
*
- * This callback is used by the atomic modeset helpers and by the
- * transitional plane helpers, but it is optional.
+ * This callback is used by the atomic modeset helpers, but it is
+ * optional.
*/
void (*atomic_flush)(struct drm_crtc *crtc,
struct drm_atomic_state *state);
@@ -507,8 +505,8 @@ static inline void drm_crtc_helper_add(struct drm_crtc *crtc,
/**
* struct drm_encoder_helper_funcs - helper operations for encoders
*
- * These hooks are used by the legacy CRTC helpers, the transitional plane
- * helpers and the new atomic modesetting helpers.
+ * These hooks are used by the legacy CRTC helpers and the new atomic
+ * modesetting helpers.
*/
struct drm_encoder_helper_funcs {
/**
@@ -1185,8 +1183,7 @@ static inline void drm_connector_helper_add(struct drm_connector *connector,
/**
* struct drm_plane_helper_funcs - helper operations for planes
*
- * These functions are used by the atomic helpers and by the transitional plane
- * helpers.
+ * These functions are used by the atomic helpers.
*/
struct drm_plane_helper_funcs {
/**
@@ -1221,9 +1218,8 @@ struct drm_plane_helper_funcs {
* The helpers will call @cleanup_fb with matching arguments for every
* successful call to this hook.
*
- * This callback is used by the atomic modeset helpers and by the
- * transitional plane helpers, but it is optional. See @begin_fb_access
- * for preparing per-commit resources.
+ * This callback is used by the atomic modeset helpers, but it is
+ * optional. See @begin_fb_access for preparing per-commit resources.
*
* RETURNS:
*
@@ -1240,8 +1236,8 @@ struct drm_plane_helper_funcs {
* This hook is called to clean up any resources allocated for the given
* framebuffer and plane configuration in @prepare_fb.
*
- * This callback is used by the atomic modeset helpers and by the
- * transitional plane helpers, but it is optional.
+ * This callback is used by the atomic modeset helpers, but it is
+ * optional.
*/
void (*cleanup_fb)(struct drm_plane *plane,
struct drm_plane_state *old_state);
@@ -1295,8 +1291,8 @@ struct drm_plane_helper_funcs {
* all updated. Again the recommendation is to just call check helpers
* until a maximal configuration is reached.
*
- * This callback is used by the atomic modeset helpers and by the
- * transitional plane helpers, but it is optional.
+ * This callback is used by the atomic modeset helpers, but it is
+ * optional.
*
* NOTE:
*
@@ -1326,8 +1322,7 @@ struct drm_plane_helper_funcs {
* has picked. See drm_atomic_helper_commit_planes() for a discussion of
* the tradeoffs and variants of plane commit helpers.
*
- * This callback is used by the atomic modeset helpers and by the
- * transitional plane helpers, but it is optional.
+ * This callback is used by the atomic modeset helpers, but it is optional.
*/
void (*atomic_update)(struct drm_plane *plane,
struct drm_atomic_state *state);
@@ -1376,9 +1371,8 @@ struct drm_plane_helper_funcs {
* has picked. See drm_atomic_helper_commit_planes() for a discussion of
* the tradeoffs and variants of plane commit helpers.
*
- * This callback is used by the atomic modeset helpers and by the
- * transitional plane helpers, but it is optional. It's intended to
- * reverse the effects of @atomic_enable.
+ * This callback is used by the atomic modeset helpers, but it is
+ * optional. It's intended to reverse the effects of @atomic_enable.
*/
void (*atomic_disable)(struct drm_plane *plane,
struct drm_atomic_state *state);
--
2.34.1


2023-06-09 13:57:13

by Geert Uytterhoeven

[permalink] [raw]
Subject: [PATCH v2 2/4] drm/todo: Convert list of fbconv links to footnotes

Convert the references to fbconv links to footnotes, so they can be
navigated.

Signed-off-by: Geert Uytterhoeven <[email protected]>
---
v2:
- New.
---
Documentation/gpu/todo.rst | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/Documentation/gpu/todo.rst b/Documentation/gpu/todo.rst
index 6c328613c049fc1d..ce1d4e22c327063b 100644
--- a/Documentation/gpu/todo.rst
+++ b/Documentation/gpu/todo.rst
@@ -753,16 +753,16 @@ existing hardware. The new driver's call-back functions are filled from
existing fbdev code.

More complex fbdev drivers can be refactored step-by-step into a DRM
-driver with the help of the DRM fbconv helpers. [1] These helpers provide
+driver with the help of the DRM fbconv helpers [4]_. These helpers provide
the transition layer between the DRM core infrastructure and the fbdev
driver interface. Create a new DRM driver on top of the fbconv helpers,
copy over the fbdev driver, and hook it up to the DRM code. Examples for
-several fbdev drivers are available at [1] and a tutorial of this process
-available at [2]. The result is a primitive DRM driver that can run X11
+several fbdev drivers are available at [4]_ and a tutorial of this process
+available at [5]_. The result is a primitive DRM driver that can run X11
and Weston.

- - [1] https://gitlab.freedesktop.org/tzimmermann/linux/tree/fbconv
- - [2] https://gitlab.freedesktop.org/tzimmermann/linux/blob/fbconv/drivers/gpu/drm/drm_fbconv_helper.c
+ .. [4] https://gitlab.freedesktop.org/tzimmermann/linux/tree/fbconv
+ .. [5] https://gitlab.freedesktop.org/tzimmermann/linux/blob/fbconv/drivers/gpu/drm/drm_fbconv_helper.c

Contact: Thomas Zimmermann <[email protected]>

--
2.34.1


2023-06-23 14:20:36

by Laurent Pinchart

[permalink] [raw]
Subject: Re: [PATCH v2 2/4] drm/todo: Convert list of fbconv links to footnotes

Hi Geert,

Thank you for the patch.

On Fri, Jun 09, 2023 at 03:44:28PM +0200, Geert Uytterhoeven wrote:
> Convert the references to fbconv links to footnotes, so they can be
> navigated.
>
> Signed-off-by: Geert Uytterhoeven <[email protected]>
> ---
> v2:
> - New.
> ---
> Documentation/gpu/todo.rst | 10 +++++-----
> 1 file changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/Documentation/gpu/todo.rst b/Documentation/gpu/todo.rst
> index 6c328613c049fc1d..ce1d4e22c327063b 100644
> --- a/Documentation/gpu/todo.rst
> +++ b/Documentation/gpu/todo.rst
> @@ -753,16 +753,16 @@ existing hardware. The new driver's call-back functions are filled from
> existing fbdev code.
>
> More complex fbdev drivers can be refactored step-by-step into a DRM
> -driver with the help of the DRM fbconv helpers. [1] These helpers provide
> +driver with the help of the DRM fbconv helpers [4]_. These helpers provide
> the transition layer between the DRM core infrastructure and the fbdev
> driver interface. Create a new DRM driver on top of the fbconv helpers,
> copy over the fbdev driver, and hook it up to the DRM code. Examples for
> -several fbdev drivers are available at [1] and a tutorial of this process
> -available at [2]. The result is a primitive DRM driver that can run X11
> +several fbdev drivers are available at [4]_ and a tutorial of this process
> +available at [5]_. The result is a primitive DRM driver that can run X11

When using footnotes, the main text must read correctly if you ignore
the notes. This isn't the case for the second and third footnotes here.

Examples for several fbdev drivers are available in Thomas
Zimmermann's fbconv tree [4]_, as well as a tutorial of this
process [5]_.

I'm not making a call on whether that's better or not that's better than
the current situation.

An alternative is to use plain links:

Examples for several fbdev drivers are available in 'Thomas
Zimmermann's fbconv tree`_, as well as a `tutorial of this
process`_.

.. _Thomas Zimmermann's fbconv tree: https://gitlab.freedesktop.org/tzimmermann/linux/tree/fbconv
.. _tutorial of this process: https://gitlab.freedesktop.org/tzimmermann/linux/blob/fbconv/drivers/gpu/drm/drm_fbconv_helper.c

> and Weston.
>
> - - [1] https://gitlab.freedesktop.org/tzimmermann/linux/tree/fbconv
> - - [2] https://gitlab.freedesktop.org/tzimmermann/linux/blob/fbconv/drivers/gpu/drm/drm_fbconv_helper.c
> + .. [4] https://gitlab.freedesktop.org/tzimmermann/linux/tree/fbconv
> + .. [5] https://gitlab.freedesktop.org/tzimmermann/linux/blob/fbconv/drivers/gpu/drm/drm_fbconv_helper.c
>
> Contact: Thomas Zimmermann <[email protected]>
>

--
Regards,

Laurent Pinchart

2023-06-23 14:23:03

by Laurent Pinchart

[permalink] [raw]
Subject: Re: [PATCH v2 3/4] drm: Remove references to removed transitional helpers

Hi Geert,

Thank you for the patch.

On Fri, Jun 09, 2023 at 03:44:29PM +0200, Geert Uytterhoeven wrote:
> The transitional helpers were removed a long time ago, but some
> references stuck. Remove them.
>
> Fixes: 21ebe615c16994f3 ("drm: Remove transitional helpers")
> Signed-off-by: Geert Uytterhoeven <[email protected]>

Reviewed-by: Laurent Pinchart <[email protected]>

> ---
> v2:
> - Drop "first part" in drivers/gpu/drm/drm_plane_helper.c.
> ---
> drivers/gpu/drm/drm_plane_helper.c | 12 +-----
> include/drm/drm_crtc.h | 5 ---
> include/drm/drm_modeset_helper_vtables.h | 48 +++++++++++-------------
> 3 files changed, 23 insertions(+), 42 deletions(-)
>
> diff --git a/drivers/gpu/drm/drm_plane_helper.c b/drivers/gpu/drm/drm_plane_helper.c
> index c91e454eba097942..5e95089676ff81ed 100644
> --- a/drivers/gpu/drm/drm_plane_helper.c
> +++ b/drivers/gpu/drm/drm_plane_helper.c
> @@ -40,8 +40,8 @@
> /**
> * DOC: overview
> *
> - * This helper library has two parts. The first part has support to implement
> - * primary plane support on top of the normal CRTC configuration interface.
> + * This helper library contains helpers to implement primary plane support on
> + * top of the normal CRTC configuration interface.
> * Since the legacy &drm_mode_config_funcs.set_config interface ties the primary
> * plane together with the CRTC state this does not allow userspace to disable
> * the primary plane itself. The default primary plane only expose XRBG8888 and
> @@ -51,14 +51,6 @@
> * planes, and newly merged drivers must not rely upon these transitional
> * helpers.
> *
> - * The second part also implements transitional helpers which allow drivers to
> - * gradually switch to the atomic helper infrastructure for plane updates. Once
> - * that switch is complete drivers shouldn't use these any longer, instead using
> - * the proper legacy implementations for update and disable plane hooks provided
> - * by the atomic helpers.
> - *
> - * Again drivers are strongly urged to switch to the new interfaces.
> - *
> * The plane helpers share the function table structures with other helpers,
> * specifically also the atomic helpers. See &struct drm_plane_helper_funcs for
> * the details.
> diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h
> index 8e1cbc75143ef216..8b48a1974da3143c 100644
> --- a/include/drm/drm_crtc.h
> +++ b/include/drm/drm_crtc.h
> @@ -77,11 +77,6 @@ struct drm_plane_helper_funcs;
> * intended to indicate whether a full modeset is needed, rather than strictly
> * describing what has changed in a commit. See also:
> * drm_atomic_crtc_needs_modeset()
> - *
> - * WARNING: Transitional helpers (like drm_helper_crtc_mode_set() or
> - * drm_helper_crtc_mode_set_base()) do not maintain many of the derived control
> - * state like @plane_mask so drivers not converted over to atomic helpers should
> - * not rely on these being accurate!
> */
> struct drm_crtc_state {
> /** @crtc: backpointer to the CRTC */
> diff --git a/include/drm/drm_modeset_helper_vtables.h b/include/drm/drm_modeset_helper_vtables.h
> index 965faf082a6d1acb..e3c3ac615909474b 100644
> --- a/include/drm/drm_modeset_helper_vtables.h
> +++ b/include/drm/drm_modeset_helper_vtables.h
> @@ -59,8 +59,8 @@ enum mode_set_atomic {
> /**
> * struct drm_crtc_helper_funcs - helper operations for CRTCs
> *
> - * These hooks are used by the legacy CRTC helpers, the transitional plane
> - * helpers and the new atomic modesetting helpers.
> + * These hooks are used by the legacy CRTC helpers and the new atomic
> + * modesetting helpers.
> */
> struct drm_crtc_helper_funcs {
> /**
> @@ -216,9 +216,7 @@ struct drm_crtc_helper_funcs {
> *
> * This callback is used to update the display mode of a CRTC without
> * changing anything of the primary plane configuration. This fits the
> - * requirement of atomic and hence is used by the atomic helpers. It is
> - * also used by the transitional plane helpers to implement a
> - * @mode_set hook in drm_helper_crtc_mode_set().
> + * requirement of atomic and hence is used by the atomic helpers.
> *
> * Note that the display pipe is completely off when this function is
> * called. Atomic drivers which need hardware to be running before they
> @@ -333,8 +331,8 @@ struct drm_crtc_helper_funcs {
> * all updated. Again the recommendation is to just call check helpers
> * until a maximal configuration is reached.
> *
> - * This callback is used by the atomic modeset helpers and by the
> - * transitional plane helpers, but it is optional.
> + * This callback is used by the atomic modeset helpers, but it is
> + * optional.
> *
> * NOTE:
> *
> @@ -373,8 +371,8 @@ struct drm_crtc_helper_funcs {
> * has picked. See drm_atomic_helper_commit_planes() for a discussion of
> * the tradeoffs and variants of plane commit helpers.
> *
> - * This callback is used by the atomic modeset helpers and by the
> - * transitional plane helpers, but it is optional.
> + * This callback is used by the atomic modeset helpers, but it is
> + * optional.
> */
> void (*atomic_begin)(struct drm_crtc *crtc,
> struct drm_atomic_state *state);
> @@ -397,8 +395,8 @@ struct drm_crtc_helper_funcs {
> * has picked. See drm_atomic_helper_commit_planes() for a discussion of
> * the tradeoffs and variants of plane commit helpers.
> *
> - * This callback is used by the atomic modeset helpers and by the
> - * transitional plane helpers, but it is optional.
> + * This callback is used by the atomic modeset helpers, but it is
> + * optional.
> */
> void (*atomic_flush)(struct drm_crtc *crtc,
> struct drm_atomic_state *state);
> @@ -507,8 +505,8 @@ static inline void drm_crtc_helper_add(struct drm_crtc *crtc,
> /**
> * struct drm_encoder_helper_funcs - helper operations for encoders
> *
> - * These hooks are used by the legacy CRTC helpers, the transitional plane
> - * helpers and the new atomic modesetting helpers.
> + * These hooks are used by the legacy CRTC helpers and the new atomic
> + * modesetting helpers.
> */
> struct drm_encoder_helper_funcs {
> /**
> @@ -1185,8 +1183,7 @@ static inline void drm_connector_helper_add(struct drm_connector *connector,
> /**
> * struct drm_plane_helper_funcs - helper operations for planes
> *
> - * These functions are used by the atomic helpers and by the transitional plane
> - * helpers.
> + * These functions are used by the atomic helpers.
> */
> struct drm_plane_helper_funcs {
> /**
> @@ -1221,9 +1218,8 @@ struct drm_plane_helper_funcs {
> * The helpers will call @cleanup_fb with matching arguments for every
> * successful call to this hook.
> *
> - * This callback is used by the atomic modeset helpers and by the
> - * transitional plane helpers, but it is optional. See @begin_fb_access
> - * for preparing per-commit resources.
> + * This callback is used by the atomic modeset helpers, but it is
> + * optional. See @begin_fb_access for preparing per-commit resources.
> *
> * RETURNS:
> *
> @@ -1240,8 +1236,8 @@ struct drm_plane_helper_funcs {
> * This hook is called to clean up any resources allocated for the given
> * framebuffer and plane configuration in @prepare_fb.
> *
> - * This callback is used by the atomic modeset helpers and by the
> - * transitional plane helpers, but it is optional.
> + * This callback is used by the atomic modeset helpers, but it is
> + * optional.
> */
> void (*cleanup_fb)(struct drm_plane *plane,
> struct drm_plane_state *old_state);
> @@ -1295,8 +1291,8 @@ struct drm_plane_helper_funcs {
> * all updated. Again the recommendation is to just call check helpers
> * until a maximal configuration is reached.
> *
> - * This callback is used by the atomic modeset helpers and by the
> - * transitional plane helpers, but it is optional.
> + * This callback is used by the atomic modeset helpers, but it is
> + * optional.
> *
> * NOTE:
> *
> @@ -1326,8 +1322,7 @@ struct drm_plane_helper_funcs {
> * has picked. See drm_atomic_helper_commit_planes() for a discussion of
> * the tradeoffs and variants of plane commit helpers.
> *
> - * This callback is used by the atomic modeset helpers and by the
> - * transitional plane helpers, but it is optional.
> + * This callback is used by the atomic modeset helpers, but it is optional.
> */
> void (*atomic_update)(struct drm_plane *plane,
> struct drm_atomic_state *state);
> @@ -1376,9 +1371,8 @@ struct drm_plane_helper_funcs {
> * has picked. See drm_atomic_helper_commit_planes() for a discussion of
> * the tradeoffs and variants of plane commit helpers.
> *
> - * This callback is used by the atomic modeset helpers and by the
> - * transitional plane helpers, but it is optional. It's intended to
> - * reverse the effects of @atomic_enable.
> + * This callback is used by the atomic modeset helpers, but it is
> + * optional. It's intended to reverse the effects of @atomic_enable.
> */
> void (*atomic_disable)(struct drm_plane *plane,
> struct drm_atomic_state *state);

--
Regards,

Laurent Pinchart