[Nouveau] [PATCH 3/4] drm/plane-helper: Warn if atomic drivers call non-atomic helpers
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Fri Sep 16 11:20:35 UTC 2022
Hi Thomas,
Thank you for the patch.
On Fri, Sep 09, 2022 at 12:59:46PM +0200, Thomas Zimmermann wrote:
> The plane update and disable helpers are only useful for non-atomic
> drivers. Print a warning if an atomic driver calls them.
>
> Suggested-by: Daniel Vetter <daniel at ffwll.ch>
> Signed-off-by: Thomas Zimmermann <tzimmermann at suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> ---
> drivers/gpu/drm/drm_plane_helper.c | 10 ++++++++++
> 1 file changed, 10 insertions(+)
>
> diff --git a/drivers/gpu/drm/drm_plane_helper.c b/drivers/gpu/drm/drm_plane_helper.c
> index c7785967f5bf..1c904fc26a58 100644
> --- a/drivers/gpu/drm/drm_plane_helper.c
> +++ b/drivers/gpu/drm/drm_plane_helper.c
> @@ -30,8 +30,10 @@
> #include <drm/drm_atomic_uapi.h>
> #include <drm/drm_crtc_helper.h>
> #include <drm/drm_device.h>
> +#include <drm/drm_drv.h>
> #include <drm/drm_encoder.h>
> #include <drm/drm_plane_helper.h>
> +#include <drm/drm_print.h>
> #include <drm/drm_rect.h>
>
> #define SUBPIXEL_MASK 0xffff
> @@ -195,10 +197,14 @@ int drm_plane_helper_update_primary(struct drm_plane *plane, struct drm_crtc *cr
> .x2 = crtc_x + crtc_w,
> .y2 = crtc_y + crtc_h,
> };
> + struct drm_device *dev = plane->dev;
> struct drm_connector **connector_list;
> int num_connectors, ret;
> bool visible;
>
> + if (drm_WARN_ON_ONCE(dev, drm_drv_uses_atomic_modeset(dev)))
> + return -EINVAL;
> +
> ret = drm_plane_helper_check_update(plane, crtc, fb,
> &src, &dest,
> DRM_MODE_ROTATE_0,
> @@ -260,6 +266,10 @@ EXPORT_SYMBOL(drm_plane_helper_update_primary);
> int drm_plane_helper_disable_primary(struct drm_plane *plane,
> struct drm_modeset_acquire_ctx *ctx)
> {
> + struct drm_device *dev = plane->dev;
> +
> + drm_WARN_ON_ONCE(dev, drm_drv_uses_atomic_modeset(dev));
> +
> return -EINVAL;
> }
> EXPORT_SYMBOL(drm_plane_helper_disable_primary);
--
Regards,
Laurent Pinchart
More information about the Nouveau
mailing list