summaryrefslogtreecommitdiff
path: root/tests/kms_atomic_interruptible.c
diff options
context:
space:
mode:
authorMaarten Lankhorst <maarten.lankhorst@linux.intel.com>2017-09-21 16:07:48 +0200
committerMaarten Lankhorst <maarten.lankhorst@linux.intel.com>2017-10-20 11:18:30 +0200
commit66fb466eb5ea5aa0c728ae15244ae08ede2b3b58 (patch)
tree6fd4aa6440eec7ec1dd4866a44163afa1e261782 /tests/kms_atomic_interruptible.c
parent5e42c6232dab3a7bb96963aec5a9f90e169df20c (diff)
lib/igt_kms: Rework pipe properties to be more atomic, v7.
In the future I want to allow tests to commit more properties, but for this to work I have to fix all properties to work better with atomic commit. Instead of special casing each property make a bitmask for all property changed flags, and try to commit all properties. This has been the most involved one, since legacy pipe commit still handles a lot of the properties differently from the rest. Changes since v1: - Dump all changed properties on commit. - Fix bug in igt_pipe_refresh(). Changes since v2: - Set pipe ACTIVE property changed flag on init. Changes since v3: - Add a missing igt_pipe_refresh() to kms_atomic_interruptible. Changes since v4: - Perform error handling when setting custom crtc properties. Changes since v5: - Only attempt to commit changes properties. Changes since v6: - Clear OUT_FENCE_PTR on succesful commit. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Reviewed-by: Mika Kahola <mika.kahola@intel.com>
Diffstat (limited to 'tests/kms_atomic_interruptible.c')
-rw-r--r--tests/kms_atomic_interruptible.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/tests/kms_atomic_interruptible.c b/tests/kms_atomic_interruptible.c
index 4a2a5774..64a00559 100644
--- a/tests/kms_atomic_interruptible.c
+++ b/tests/kms_atomic_interruptible.c
@@ -158,8 +158,8 @@ static void run_plane_test(igt_display_t *display, enum pipe pipe, igt_output_t
uint32_t count_props[3] = { 2, 1, 6 };
uint32_t props[] = {
/* crtc: 2 props */
- plane->pipe->atomic_props_crtc[IGT_CRTC_MODE_ID],
- plane->pipe->atomic_props_crtc[IGT_CRTC_ACTIVE],
+ plane->pipe->props[IGT_CRTC_MODE_ID],
+ plane->pipe->props[IGT_CRTC_ACTIVE],
/* connector: 1 prop */
output->props[IGT_CONNECTOR_CRTC_ID],
/* plane: remainder props */
@@ -255,6 +255,10 @@ static void run_plane_test(igt_display_t *display, enum pipe pipe, igt_output_t
igt_waitchildren();
+ /* The mode is unset by the forked helper, force a refresh here */
+ if (test_type == test_legacy_modeset || test_type == test_atomic_modeset)
+ igt_pipe_refresh(display, pipe, true);
+
igt_plane_set_fb(plane, NULL);
igt_plane_set_fb(primary, NULL);
igt_output_set_pipe(output, PIPE_NONE);