From: Tomeu Vizoso <tomeu.vizoso@collabora.com>
To: Intel GFX discussion <intel-gfx@lists.freedesktop.org>
Cc: Daniel Stone <daniels@collabora.com>,
Tomeu Vizoso <tomeu.vizoso@collabora.com>,
Daniel Vetter <daniel.vetter@intel.com>,
Micah Fedke <micah.fedke@collabora.com>,
Gustavo Padovan <gustavo.padovan@collabora.co.uk>,
Emil Velikov <emil.velikov@collabora.com>
Subject: [i-g-t PATCH v1 1/7] tests/drm_read: Drop DRM_IOCTL_I915_GET_PIPE_FROM_CRTC_ID
Date: Mon, 18 Apr 2016 13:42:49 +0200 [thread overview]
Message-ID: <1460979775-21702-2-git-send-email-tomeu.vizoso@collabora.com> (raw)
In-Reply-To: <1460979775-21702-1-git-send-email-tomeu.vizoso@collabora.com>
So the test runs on other drivers, drop the usage of the i915-specific
DRM_IOCTL_I915_GET_PIPE_FROM_CRTC_ID ioctl.
Wait for a vblank event on pipe0 and if we get it, then the test can
proceed (code copied from kms_vblank).
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
---
tests/drm_read.c | 44 +++++---------------------------------------
1 file changed, 5 insertions(+), 39 deletions(-)
diff --git a/tests/drm_read.c b/tests/drm_read.c
index 3980bb0580c5..7df36e965c59 100644
--- a/tests/drm_read.c
+++ b/tests/drm_read.c
@@ -175,46 +175,12 @@ static void test_short_buffer(int in, int nonblock)
teardown(fd);
}
-static int pipe0_enabled(int fd)
+static bool crtc0_active(int fd)
{
- struct drm_mode_card_res res;
- uint32_t crtcs[32];
- int i;
+ union drm_wait_vblank vbl = {};
- /* We assume we can generate events on pipe 0. So we have better
- * make sure that is running!
- */
-
- memset(&res, 0, sizeof(res));
- res.count_crtcs = 32;
- res.crtc_id_ptr = (uintptr_t)crtcs;
-
- if (drmIoctl(fd, DRM_IOCTL_MODE_GETRESOURCES, &res))
- return 0;
-
- if (res.count_crtcs > 32)
- return 0;
-
- for (i = 0; i < res.count_crtcs; i++) {
- struct drm_i915_get_pipe_from_crtc_id get_pipe;
- struct drm_mode_crtc mode;
-
- memset(&get_pipe, 0, sizeof(get_pipe));
- memset(&mode, 0, sizeof(mode));
-
- mode.crtc_id = crtcs[i];
-
- get_pipe.pipe = -1;
- get_pipe.crtc_id = mode.crtc_id;
- drmIoctl(fd, DRM_IOCTL_I915_GET_PIPE_FROM_CRTC_ID, &get_pipe);
- if (get_pipe.pipe)
- continue;
-
- drmIoctl(fd, DRM_IOCTL_MODE_GETCRTC, &mode);
- return mode.mode_valid && mode.mode.clock;
- }
-
- return 0;
+ vbl.request.type = DRM_VBLANK_RELATIVE;
+ return drmIoctl(fd, DRM_IOCTL_WAIT_VBLANK, &vbl) == 0;
}
igt_main
@@ -226,7 +192,7 @@ igt_main
igt_fixture {
fd = drm_open_driver_master(DRIVER_ANY);
- igt_require(pipe0_enabled(fd));
+ igt_require(crtc0_active(fd));
}
igt_subtest("invalid-buffer")
--
2.5.5
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
next prev parent reply other threads:[~2016-04-18 11:43 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-04-18 11:42 [i-g-t PATCH v1 0/7] Make more tests generic Tomeu Vizoso
2016-04-18 11:42 ` Tomeu Vizoso [this message]
2016-04-20 13:07 ` [i-g-t PATCH v1 1/7] tests/drm_read: Drop DRM_IOCTL_I915_GET_PIPE_FROM_CRTC_ID Daniel Vetter
2016-04-18 11:42 ` [i-g-t PATCH v1 2/7] tests/kms_render: Move dependency on i915 into subtest Tomeu Vizoso
2016-04-18 11:42 ` [i-g-t PATCH v1 3/7] tests/kms_flip: Create tiled BOs only when needed Tomeu Vizoso
2016-04-18 11:42 ` [i-g-t PATCH v1 4/7] tests/kms_flip: Move bufmgr requirement into subtests Tomeu Vizoso
2016-04-18 11:42 ` [i-g-t PATCH v1 5/7] tests/kms_flip: Open DRM device with DRIVER_ANY Tomeu Vizoso
2016-04-18 11:42 ` [i-g-t PATCH v1 6/7] tests/kms_flip_event_leak: Use non-tiled formats Tomeu Vizoso
2016-04-18 11:42 ` [i-g-t PATCH v1 7/7] tests/kms_flip_event_leak: Open DRM device with DRIVER_ANY Tomeu Vizoso
2016-04-20 13:10 ` [i-g-t PATCH v1 0/7] Make more tests generic Daniel Vetter
2016-04-20 13:57 ` Tomeu Vizoso
2016-04-20 14:12 ` Daniel Vetter
2016-04-25 13:13 ` Tomeu Vizoso
2016-04-25 13:17 ` Tomeu Vizoso
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=1460979775-21702-2-git-send-email-tomeu.vizoso@collabora.com \
--to=tomeu.vizoso@collabora.com \
--cc=daniel.vetter@intel.com \
--cc=daniels@collabora.com \
--cc=emil.velikov@collabora.com \
--cc=gustavo.padovan@collabora.co.uk \
--cc=intel-gfx@lists.freedesktop.org \
--cc=micah.fedke@collabora.com \
/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.