[libcamera-devel] [PATCH 1/3] cam: drm: Add support for test-only commits

Kieran Bingham kieran.bingham at ideasonboard.com
Sun Aug 7 21:49:25 CEST 2022


Quoting Laurent Pinchart via libcamera-devel (2022-08-07 19:00:58)
> Test-only commits are used to test a commit without applying any
> modification to the device. This will be used by the KMS sink to test
> feature support.
> 
> Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> ---
>  src/cam/drm.cpp | 2 ++
>  src/cam/drm.h   | 1 +
>  2 files changed, 3 insertions(+)
> 
> diff --git a/src/cam/drm.cpp b/src/cam/drm.cpp
> index fbfc0a595d36..b0602c942853 100644
> --- a/src/cam/drm.cpp
> +++ b/src/cam/drm.cpp
> @@ -377,6 +377,8 @@ int AtomicRequest::commit(unsigned int flags)
>                 drmFlags |= DRM_MODE_ATOMIC_ALLOW_MODESET;
>         if (flags & FlagAsync)
>                 drmFlags |= DRM_MODE_PAGE_FLIP_EVENT | DRM_MODE_ATOMIC_NONBLOCK;
> +       if (flags & FlagTestOnly)
> +               drmFlags |= DRM_MODE_ATOMIC_TEST_ONLY;
>  
>         return drmModeAtomicCommit(dev_->fd(), request_, drmFlags, this);
>  }
> diff --git a/src/cam/drm.h b/src/cam/drm.h
> index 655a7509c001..ebaea04d3974 100644
> --- a/src/cam/drm.h
> +++ b/src/cam/drm.h
> @@ -251,6 +251,7 @@ public:
>         enum Flags {
>                 FlagAllowModeset = (1 << 0),
>                 FlagAsync = (1 << 1),
> +               FlagTestOnly = (1 << 2),

I still want BIT() :-D but perhaps here it should be FLAG() ...

Reviewed-by: Kieran Bingham <kieran.bingham at ideasonboard.com>

>         };
>  
>         AtomicRequest(Device *dev);
> -- 
> Regards,
> 
> Laurent Pinchart
>


More information about the libcamera-devel mailing list