summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>2022-08-06 21:53:50 +0300
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>2022-08-09 02:30:59 +0300
commit9165b5973cb57507718e959e597a36277978e688 (patch)
treecaf2a36c21b04600419d53948dd0815e73b6d3b8
parentfe8941d7d61bd22ed66e5b5615e931c68fdf9bfa (diff)
cam: drm: Add support for test-only commits
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@ideasonboard.com> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Reviewed-by: Eric Curtin <ecurtin@redhat.com> Tested-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
-rw-r--r--src/cam/drm.cpp2
-rw-r--r--src/cam/drm.h1
2 files changed, 3 insertions, 0 deletions
diff --git a/src/cam/drm.cpp b/src/cam/drm.cpp
index fbfc0a59..b0602c94 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 655a7509..ebaea04d 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),
};
AtomicRequest(Device *dev);