summaryrefslogtreecommitdiff
path: root/lib/igt_kms.c
diff options
context:
space:
mode:
authorDaniel Vetter <daniel.vetter@ffwll.ch>2018-11-22 10:36:59 +0100
committerDaniel Vetter <daniel.vetter@ffwll.ch>2018-11-27 09:50:04 +0100
commit2af377e93d73bb3eef519068f7fd433a2ae2bb75 (patch)
treeb4a2721ea62dc822654ec75627a982334bbe9c35 /lib/igt_kms.c
parent5105f068f6525f4d863719acf754891442eed254 (diff)
lib/kms: warn if we commit without outputs
With the high-level helpers requiring outputs there's not point in silently ignoring issues anymore. Complain about that if it ever happens. This reverts commit 212b71372bfbb73663d872df31118d6b396ada4f Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Fri Sep 14 21:03:38 2018 +0100 lib/kms: Skip no-op display updates which created an in my opinion serious API issue by silently dropping possible errors on the floor. Instead of silently second guess what the test might have wanted to do in the absence of display outputs it's much better to be explicit, and enforce that. v2: Improve commit message. v3: Switch to an assert and update comments, to make it clear this is igt_display api abuse (Arek). Cc: Antonio Argenziano <antonio.argenziano@intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Cc: Arkadiusz Hiler <arkadiusz.hiler@intel.com> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> (v2) Acked-By: Antonio Argenziano <antonio.argenziano@intel.com> Acked-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Diffstat (limited to 'lib/igt_kms.c')
-rw-r--r--lib/igt_kms.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/lib/igt_kms.c b/lib/igt_kms.c
index 7214101e..73cea75d 100644
--- a/lib/igt_kms.c
+++ b/lib/igt_kms.c
@@ -3292,8 +3292,8 @@ static int do_display_commit(igt_display_t *display,
enum pipe pipe;
LOG_INDENT(display, "commit");
- if (!display->n_pipes || !display->n_outputs)
- return 0; /* nothing to do */
+ /* someone managed to bypass igt_display_require, catch them */
+ assert(display->n_pipes && display->n_outputs);
igt_display_refresh(display);
@@ -3345,8 +3345,8 @@ int igt_display_try_commit_atomic(igt_display_t *display, uint32_t flags, void *
{
int ret;
- if (!display->n_pipes || !display->n_outputs)
- return 0; /* nothing to do */
+ /* someone managed to bypass igt_display_require, catch them */
+ assert(display->n_pipes && display->n_outputs);
LOG_INDENT(display, "commit");