All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mark Yacoub <markyacoub@chromium.org>
To: igt-dev@lists.freedesktop.org
Cc: seanpaul@chromium.org, petri.latvala@intel.com,
	Mark Yacoub <markyacoub@google.com>
Subject: [igt-dev] [PATCH v2] tests/kms_vblank: Turn on hardware before testing invalid vblank.
Date: Tue,  1 Jun 2021 17:29:36 +0000	[thread overview]
Message-ID: <20210601172936.3785449-1-markyacoub@chromium.org> (raw)

From: Mark Yacoub <markyacoub@google.com>

[Why]
Before any hardware is on, the vblank is off and its ref counter is in
an initialized state as each driver handles toggling it differently.
Ioctl DRM_IOCTL_WAIT_VBLANK could return 0 such as on i915, or an invalid
integer that doesn't mean much, such as on Zork running Kernel 5.4 due
to the kernel workaround that increments the vblank ref count to prevent
a get from enabling the interrupt.

[How]
For invalid_subtest(), active the CRTCs to turn the hardware on so
DRM_IOCTL_WAIT_VBLANK returns something meaningful.

=== Changes from v1 ===
1. Update Commit message
2. Rename variable p to pipe_number

Signed-off-by: markyacoub@chromium.org
---
 tests/kms_vblank.c | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/tests/kms_vblank.c b/tests/kms_vblank.c
index 93b01eba..988794c0 100644
--- a/tests/kms_vblank.c
+++ b/tests/kms_vblank.c
@@ -475,8 +475,14 @@ static void invalid_subtest(data_t *data, int fd)
 {
 	union drm_wait_vblank vbl;
 	unsigned long valid_flags;
+	igt_display_t* display = &data->display;
+	enum pipe pipe_number = 0;
+	igt_output_t* output;
 
-	igt_display_require_output_on_pipe(&data->display, 0);
+	igt_display_require_output_on_pipe(display, pipe_number);
+	data->pipe = pipe_number;
+	for_each_valid_output_on_pipe(display, pipe_number, output)
+		prepare_crtc(data, fd, output);
 
 	/* First check all is well with a simple query */
 	memset(&vbl, 0, sizeof(vbl));
@@ -511,6 +517,9 @@ static void invalid_subtest(data_t *data, int fd)
 	vbl.request.type |= _DRM_VBLANK_SECONDARY;
 	vbl.request.type |= _DRM_VBLANK_FLAGS_MASK;
 	igt_assert_eq(wait_vblank(fd, &vbl), -EINVAL);
+
+	for_each_valid_output_on_pipe(display, pipe_number, output)
+		cleanup_crtc(data, fd, output);
 }
 
 igt_main
-- 
2.32.0.rc0.204.g9fa02ecfa5-goog

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

             reply	other threads:[~2021-06-01 17:29 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-01 17:29 Mark Yacoub [this message]
2021-06-01 18:38 ` [igt-dev] ✓ Fi.CI.BAT: success for tests/kms_vblank: Turn on hardware before testing invalid vblank. (rev2) Patchwork
2021-06-02  2:09 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
2021-06-02 14:47   ` Mark Yacoub
2021-06-02 16:28     ` Petri Latvala
2021-06-02 21:35       ` Vudum, Lakshminarayana
2021-06-02 21:32 ` [igt-dev] ✓ Fi.CI.IGT: success " Patchwork
2021-06-02 21:38 ` Patchwork
2021-06-09 20:15 ` [igt-dev] [PATCH v2] tests/kms_vblank: Turn on hardware before testing invalid vblank Rodrigo Siqueira
2021-06-10 15:07   ` Mark Yacoub

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210601172936.3785449-1-markyacoub@chromium.org \
    --to=markyacoub@chromium.org \
    --cc=igt-dev@lists.freedesktop.org \
    --cc=markyacoub@google.com \
    --cc=petri.latvala@intel.com \
    --cc=seanpaul@chromium.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.