All of lore.kernel.org
 help / color / mirror / Atom feed
* [i-g-t PATCH v1 0/7] Make more tests generic
@ 2016-04-18 11:42 Tomeu Vizoso
  2016-04-18 11:42 ` [i-g-t PATCH v1 1/7] tests/drm_read: Drop DRM_IOCTL_I915_GET_PIPE_FROM_CRTC_ID Tomeu Vizoso
                   ` (7 more replies)
  0 siblings, 8 replies; 14+ messages in thread
From: Tomeu Vizoso @ 2016-04-18 11:42 UTC (permalink / raw)
  To: Intel GFX discussion
  Cc: Daniel Stone, Tomeu Vizoso, Daniel Vetter, Micah Fedke,
	Gustavo Padovan, Emil Velikov

Hi,

these patches allow a few more tests to run on drivers other than i915,
mainly by removing the last usage of
DRM_IOCTL_I915_GET_PIPE_FROM_CRTC_ID and removing superfluous dependencies
on bufmgr and tiled BOs.

Thanks,

Tomeu

Tomeu Vizoso (7):
  tests/drm_read: Drop DRM_IOCTL_I915_GET_PIPE_FROM_CRTC_ID
  tests/kms_render: Move dependency on i915 into subtest
  tests/kms_flip: Create tiled BOs only when needed
  tests/kms_flip: Move bufmgr requirement into subtests
  tests/kms_flip: Open DRM device with DRIVER_ANY
  tests/kms_flip_event_leak: Use non-tiled formats
  tests/kms_flip_event_leak: Open DRM device with DRIVER_ANY

 tests/drm_read.c            | 44 +++++---------------------------------------
 tests/kms_flip.c            | 25 ++++++++++++++++++-------
 tests/kms_flip_event_leak.c |  8 ++++----
 tests/kms_render.c          | 21 ++++++++++++---------
 4 files changed, 39 insertions(+), 59 deletions(-)

-- 
2.5.5

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [i-g-t PATCH v1 1/7] tests/drm_read: Drop DRM_IOCTL_I915_GET_PIPE_FROM_CRTC_ID
  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
  2016-04-20 13:07   ` 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
                   ` (6 subsequent siblings)
  7 siblings, 1 reply; 14+ messages in thread
From: Tomeu Vizoso @ 2016-04-18 11:42 UTC (permalink / raw)
  To: Intel GFX discussion
  Cc: Daniel Stone, Tomeu Vizoso, Daniel Vetter, Micah Fedke,
	Gustavo Padovan, Emil Velikov

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

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [i-g-t PATCH v1 2/7] tests/kms_render: Move dependency on i915 into subtest
  2016-04-18 11:42 [i-g-t PATCH v1 0/7] Make more tests generic Tomeu Vizoso
  2016-04-18 11:42 ` [i-g-t PATCH v1 1/7] tests/drm_read: Drop DRM_IOCTL_I915_GET_PIPE_FROM_CRTC_ID Tomeu Vizoso
@ 2016-04-18 11:42 ` 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
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 14+ messages in thread
From: Tomeu Vizoso @ 2016-04-18 11:42 UTC (permalink / raw)
  To: Intel GFX discussion
  Cc: Daniel Stone, Tomeu Vizoso, Daniel Vetter, Micah Fedke,
	Gustavo Padovan, Emil Velikov

Batchbuffers are only needed in the subtest that does the blit on the
GPU, so move that dependency into it so the other subtest can be ran on
!i915.

Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
---

 tests/kms_render.c | 21 ++++++++++++---------
 1 file changed, 12 insertions(+), 9 deletions(-)

diff --git a/tests/kms_render.c b/tests/kms_render.c
index e0a2b58f6b82..72da87f19af3 100644
--- a/tests/kms_render.c
+++ b/tests/kms_render.c
@@ -35,9 +35,6 @@
 
 drmModeRes *resources;
 int drm_fd;
-static drm_intel_bufmgr *bufmgr;
-struct intel_batchbuffer *batch;
-uint32_t devid;
 
 enum test_flags {
 	TEST_DIRECT_RENDER	= 0x01,
@@ -70,6 +67,15 @@ static void gpu_blit(struct igt_fb *dst_fb, struct igt_fb *src_fb)
 	drm_intel_bo *dst_bo;
 	drm_intel_bo *src_bo;
 	int bpp;
+	static drm_intel_bufmgr *bufmgr;
+	struct intel_batchbuffer *batch;
+	uint32_t devid;
+
+	igt_require_intel(drm_fd);
+
+	bufmgr = drm_intel_bufmgr_gem_init(drm_fd, 4096);
+	devid = intel_get_drm_devid(drm_fd);
+	batch = intel_batchbuffer_alloc(bufmgr, devid);
 
 	igt_assert(dst_fb->drm_format == src_fb->drm_format);
 	igt_assert(src_fb->drm_format == DRM_FORMAT_RGB565 ||
@@ -175,7 +181,8 @@ static void test_connector(const char *test_name,
 
 	igt_get_all_cairo_formats(&formats, &format_count);
 	for (i = 0; i < format_count; i++) {
-		if (intel_gen(intel_get_drm_devid(drm_fd)) < 4
+		if (is_i915_device(drm_fd)
+		    && intel_gen(intel_get_drm_devid(drm_fd)) < 4
 		    && formats[i] == DRM_FORMAT_XRGB2101010) {
 			igt_info("gen2/3 don't support 10bpc, skipping\n");
 			continue;
@@ -232,11 +239,7 @@ igt_main
 	igt_skip_on_simulation();
 
 	igt_fixture {
-		drm_fd = drm_open_driver_master(DRIVER_INTEL);
-
-		bufmgr = drm_intel_bufmgr_gem_init(drm_fd, 4096);
-		devid = intel_get_drm_devid(drm_fd);
-		batch = intel_batchbuffer_alloc(bufmgr, devid);
+		drm_fd = drm_open_driver_master(DRIVER_ANY);
 
 		kmstest_set_vt_graphics_mode();
 	}
-- 
2.5.5

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [i-g-t PATCH v1 3/7] tests/kms_flip: Create tiled BOs only when needed
  2016-04-18 11:42 [i-g-t PATCH v1 0/7] Make more tests generic Tomeu Vizoso
  2016-04-18 11:42 ` [i-g-t PATCH v1 1/7] tests/drm_read: Drop DRM_IOCTL_I915_GET_PIPE_FROM_CRTC_ID Tomeu Vizoso
  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 ` Tomeu Vizoso
  2016-04-18 11:42 ` [i-g-t PATCH v1 4/7] tests/kms_flip: Move bufmgr requirement into subtests Tomeu Vizoso
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 14+ messages in thread
From: Tomeu Vizoso @ 2016-04-18 11:42 UTC (permalink / raw)
  To: Intel GFX discussion
  Cc: Daniel Stone, Tomeu Vizoso, Daniel Vetter, Micah Fedke,
	Gustavo Padovan, Emil Velikov

Because attempts to create a tiled BO will cause a igt_require call to
fail on drivers that don't support tiling, do so in the subtest that
actually needs it so that other subtests aren't skipped without reason.

Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
---

 tests/kms_flip.c | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/tests/kms_flip.c b/tests/kms_flip.c
index 3d4454407709..524a8a3c2d14 100644
--- a/tests/kms_flip.c
+++ b/tests/kms_flip.c
@@ -1346,13 +1346,16 @@ static void run_test_on_crtc_set(struct test_output *o, int *crtc_idxs,
 	o->fb_ids[1] = igt_create_fb_with_bo_size(drm_fd, o->fb_width, o->fb_height,
 					 igt_bpp_depth_to_drm_format(o->bpp, o->depth),
 					 tiling, &o->fb_info[1], bo_size, 0);
-	o->fb_ids[2] = igt_create_fb(drm_fd, o->fb_width, o->fb_height,
-					 igt_bpp_depth_to_drm_format(o->bpp, o->depth),
-					 LOCAL_I915_FORMAT_MOD_X_TILED, &o->fb_info[2]);
+
 	igt_assert(o->fb_ids[0]);
 	igt_assert(o->fb_ids[1]);
-	if (o->flags & TEST_FB_BAD_TILING)
+
+	if (o->flags & TEST_FB_BAD_TILING) {
+		o->fb_ids[2] = igt_create_fb(drm_fd, o->fb_width, o->fb_height,
+				igt_bpp_depth_to_drm_format(o->bpp, o->depth),
+				LOCAL_I915_FORMAT_MOD_X_TILED, &o->fb_info[2]);
 		igt_require(o->fb_ids[2]);
+	}
 
 	paint_flip_mode(&o->fb_info[0], false);
 	if (!(o->flags & TEST_BO_TOOBIG))
-- 
2.5.5

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [i-g-t PATCH v1 4/7] tests/kms_flip: Move bufmgr requirement into subtests
  2016-04-18 11:42 [i-g-t PATCH v1 0/7] Make more tests generic Tomeu Vizoso
                   ` (2 preceding siblings ...)
  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 ` 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
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 14+ messages in thread
From: Tomeu Vizoso @ 2016-04-18 11:42 UTC (permalink / raw)
  To: Intel GFX discussion
  Cc: Daniel Stone, Tomeu Vizoso, Daniel Vetter, Micah Fedke,
	Gustavo Padovan, Emil Velikov

Because bufmgr is currently a i915-only thing and it's only needed in a
subset of the subtests, require it only in the subtests that actually
need it so that the other subtests aren't skipped without a reason.

Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
---

 tests/kms_flip.c | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/tests/kms_flip.c b/tests/kms_flip.c
index 524a8a3c2d14..58b167d46d90 100644
--- a/tests/kms_flip.c
+++ b/tests/kms_flip.c
@@ -246,6 +246,8 @@ static int _emit_dummy_load__bcs(struct test_output *o, int limit, int timeout)
 	drm_intel_bo *src_bo, *dst_bo, *fb_bo;
 	struct igt_fb *fb_info = &o->fb_info[o->current_fb_id];
 
+	igt_require(bufmgr);
+
 	src_bo = drm_intel_bo_alloc(bufmgr, "dummy_bo", 2048*2048*4, 4096);
 	igt_assert(src_bo);
 
@@ -298,6 +300,8 @@ static void emit_fence_stress(struct test_output *o)
 	drm_intel_bo **bo;
 	int i;
 
+	igt_require(bufmgr);
+
 	bo = calloc(sizeof(*bo), num_fences);
 	exec = calloc(sizeof(*exec), num_fences+1);
 	for (i = 0; i < num_fences - 1; i++) {
@@ -337,6 +341,8 @@ static int _emit_dummy_load__rcs(struct test_output *o, int limit, int timeout)
 	struct igt_buf sb[3], *src, *dst, *fb;
 	int i, ret = 0;
 
+	igt_require(bufmgr);
+
 	copyfunc = igt_get_render_copyfunc(devid);
 	if (copyfunc == NULL)
 		return _emit_dummy_load__bcs(o, limit, timeout);
@@ -1689,8 +1695,10 @@ int main(int argc, char **argv)
 		get_timestamp_format();
 
 		bufmgr = drm_intel_bufmgr_gem_init(drm_fd, 4096);
-		devid = intel_get_drm_devid(drm_fd);
-		batch = intel_batchbuffer_alloc(bufmgr, devid);
+		if (bufmgr) {
+			devid = intel_get_drm_devid(drm_fd);
+			batch = intel_batchbuffer_alloc(bufmgr, devid);
+		}
 	}
 
 	igt_subtest("nonblocking-read")
-- 
2.5.5

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [i-g-t PATCH v1 5/7] tests/kms_flip: Open DRM device with DRIVER_ANY
  2016-04-18 11:42 [i-g-t PATCH v1 0/7] Make more tests generic Tomeu Vizoso
                   ` (3 preceding siblings ...)
  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 ` 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
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 14+ messages in thread
From: Tomeu Vizoso @ 2016-04-18 11:42 UTC (permalink / raw)
  To: Intel GFX discussion
  Cc: Daniel Stone, Tomeu Vizoso, Daniel Vetter, Micah Fedke,
	Gustavo Padovan, Emil Velikov

So that this test can be run in drivers other than i915.

Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
---

 tests/kms_flip.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tests/kms_flip.c b/tests/kms_flip.c
index 58b167d46d90..dc251e902bef 100644
--- a/tests/kms_flip.c
+++ b/tests/kms_flip.c
@@ -1686,7 +1686,7 @@ int main(int argc, char **argv)
 	igt_skip_on_simulation();
 
 	igt_fixture {
-		drm_fd = drm_open_driver_master(DRIVER_INTEL);
+		drm_fd = drm_open_driver_master(DRIVER_ANY);
 
 		igt_enable_connectors();
 
-- 
2.5.5

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [i-g-t PATCH v1 6/7] tests/kms_flip_event_leak: Use non-tiled formats
  2016-04-18 11:42 [i-g-t PATCH v1 0/7] Make more tests generic Tomeu Vizoso
                   ` (4 preceding siblings ...)
  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 ` 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
  7 siblings, 0 replies; 14+ messages in thread
From: Tomeu Vizoso @ 2016-04-18 11:42 UTC (permalink / raw)
  To: Intel GFX discussion
  Cc: Daniel Stone, Tomeu Vizoso, Daniel Vetter, Micah Fedke,
	Gustavo Padovan, Emil Velikov

As the test doesn't actually need tiled BOs, drop the tiled formats so
the test can run on drivers other than i915.

Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
---

 tests/kms_flip_event_leak.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/tests/kms_flip_event_leak.c b/tests/kms_flip_event_leak.c
index c19ed9899ed5..0a4a755ee954 100644
--- a/tests/kms_flip_event_leak.c
+++ b/tests/kms_flip_event_leak.c
@@ -62,7 +62,7 @@ static bool test(data_t *data, enum pipe pipe, igt_output_t *output)
 
 	igt_create_color_fb(data->drm_fd, mode->hdisplay, mode->vdisplay,
 			    DRM_FORMAT_XRGB8888,
-			    LOCAL_I915_FORMAT_MOD_X_TILED,
+			    LOCAL_DRM_FORMAT_MOD_NONE,
 			    0.0, 0.0, 0.0, &fb[0]);
 
 	igt_plane_set_fb(primary, &fb[0]);
@@ -78,7 +78,7 @@ static bool test(data_t *data, enum pipe pipe, igt_output_t *output)
 
 	igt_create_color_fb(fd, mode->hdisplay, mode->vdisplay,
 			    DRM_FORMAT_XRGB8888,
-			    LOCAL_I915_FORMAT_MOD_X_TILED,
+			    LOCAL_DRM_FORMAT_MOD_NONE,
 			    0.0, 0.0, 0.0, &fb[1]);
 	ret = drmModePageFlip(fd, output->config.crtc->crtc_id,
 			      fb[1].fb_id, DRM_MODE_PAGE_FLIP_EVENT,
-- 
2.5.5

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [i-g-t PATCH v1 7/7] tests/kms_flip_event_leak: Open DRM device with DRIVER_ANY
  2016-04-18 11:42 [i-g-t PATCH v1 0/7] Make more tests generic Tomeu Vizoso
                   ` (5 preceding siblings ...)
  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 ` Tomeu Vizoso
  2016-04-20 13:10 ` [i-g-t PATCH v1 0/7] Make more tests generic Daniel Vetter
  7 siblings, 0 replies; 14+ messages in thread
From: Tomeu Vizoso @ 2016-04-18 11:42 UTC (permalink / raw)
  To: Intel GFX discussion
  Cc: Daniel Stone, Tomeu Vizoso, Daniel Vetter, Micah Fedke,
	Gustavo Padovan, Emil Velikov

So that this test can be run in drivers other than i915.

Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
---

 tests/kms_flip_event_leak.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/tests/kms_flip_event_leak.c b/tests/kms_flip_event_leak.c
index 0a4a755ee954..a1389b4c5e1d 100644
--- a/tests/kms_flip_event_leak.c
+++ b/tests/kms_flip_event_leak.c
@@ -68,7 +68,7 @@ static bool test(data_t *data, enum pipe pipe, igt_output_t *output)
 	igt_plane_set_fb(primary, &fb[0]);
 	igt_display_commit2(&data->display, COMMIT_LEGACY);
 
-	fd = drm_open_driver(DRIVER_INTEL);
+	fd = drm_open_driver(DRIVER_ANY);
 
 	ret = drmDropMaster(data->drm_fd);
 	igt_assert_eq(ret, 0);
@@ -109,7 +109,7 @@ igt_simple_main
 
 	igt_skip_on_simulation();
 
-	data.drm_fd = drm_open_driver_master(DRIVER_INTEL);
+	data.drm_fd = drm_open_driver_master(DRIVER_ANY);
 	kmstest_set_vt_graphics_mode();
 
 	igt_display_init(&data.display, data.drm_fd);
-- 
2.5.5

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* Re: [i-g-t PATCH v1 1/7] tests/drm_read: Drop DRM_IOCTL_I915_GET_PIPE_FROM_CRTC_ID
  2016-04-18 11:42 ` [i-g-t PATCH v1 1/7] tests/drm_read: Drop DRM_IOCTL_I915_GET_PIPE_FROM_CRTC_ID Tomeu Vizoso
@ 2016-04-20 13:07   ` Daniel Vetter
  0 siblings, 0 replies; 14+ messages in thread
From: Daniel Vetter @ 2016-04-20 13:07 UTC (permalink / raw)
  To: Tomeu Vizoso
  Cc: Daniel Stone, Intel GFX discussion, Micah Fedke, Daniel Vetter,
	Gustavo Padovan, Emil Velikov

On Mon, Apr 18, 2016 at 01:42:49PM +0200, Tomeu Vizoso wrote:
> 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>

As discussed on irc, this one and kms_vblank need more work to actually
bother setting up a real mode themselves, instead of trying to sidecar
ride on whatever fbcon might be doing.

But imo ok as an interim step.
-Daniel

> ---
> 
>  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

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [i-g-t PATCH v1 0/7] Make more tests generic
  2016-04-18 11:42 [i-g-t PATCH v1 0/7] Make more tests generic Tomeu Vizoso
                   ` (6 preceding siblings ...)
  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 ` Daniel Vetter
  2016-04-20 13:57   ` Tomeu Vizoso
  7 siblings, 1 reply; 14+ messages in thread
From: Daniel Vetter @ 2016-04-20 13:10 UTC (permalink / raw)
  To: Tomeu Vizoso
  Cc: Daniel Stone, Intel GFX discussion, Micah Fedke, Daniel Vetter,
	Gustavo Padovan, Emil Velikov

On Mon, Apr 18, 2016 at 01:42:48PM +0200, Tomeu Vizoso wrote:
> Hi,
> 
> these patches allow a few more tests to run on drivers other than i915,
> mainly by removing the last usage of
> DRM_IOCTL_I915_GET_PIPE_FROM_CRTC_ID and removing superfluous dependencies
> on bufmgr and tiled BOs.

Ack on all the patches, please ask Daniel Stone to push for you once he's
done a pass over the patches too.

Also, if we plan to keep working on igt for a bit more, we might want to
fix you up with an fdo account and commit rights.
-Daniel

> 
> Thanks,
> 
> Tomeu
> 
> Tomeu Vizoso (7):
>   tests/drm_read: Drop DRM_IOCTL_I915_GET_PIPE_FROM_CRTC_ID
>   tests/kms_render: Move dependency on i915 into subtest
>   tests/kms_flip: Create tiled BOs only when needed
>   tests/kms_flip: Move bufmgr requirement into subtests
>   tests/kms_flip: Open DRM device with DRIVER_ANY
>   tests/kms_flip_event_leak: Use non-tiled formats
>   tests/kms_flip_event_leak: Open DRM device with DRIVER_ANY
> 
>  tests/drm_read.c            | 44 +++++---------------------------------------
>  tests/kms_flip.c            | 25 ++++++++++++++++++-------
>  tests/kms_flip_event_leak.c |  8 ++++----
>  tests/kms_render.c          | 21 ++++++++++++---------
>  4 files changed, 39 insertions(+), 59 deletions(-)
> 
> -- 
> 2.5.5
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [i-g-t PATCH v1 0/7] Make more tests generic
  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
  0 siblings, 1 reply; 14+ messages in thread
From: Tomeu Vizoso @ 2016-04-20 13:57 UTC (permalink / raw)
  To: Daniel Vetter
  Cc: Daniel Stone, Intel GFX discussion, Micah Fedke, Daniel Vetter,
	Gustavo Padovan, Emil Velikov

On 20 April 2016 at 15:10, Daniel Vetter <daniel@ffwll.ch> wrote:
> On Mon, Apr 18, 2016 at 01:42:48PM +0200, Tomeu Vizoso wrote:
>> Hi,
>>
>> these patches allow a few more tests to run on drivers other than i915,
>> mainly by removing the last usage of
>> DRM_IOCTL_I915_GET_PIPE_FROM_CRTC_ID and removing superfluous dependencies
>> on bufmgr and tiled BOs.
>
> Ack on all the patches, please ask Daniel Stone to push for you once he's
> done a pass over the patches too.

Thanks, will remind him on monday when he is back at work.

> Also, if we plan to keep working on igt for a bit more, we might want to
> fix you up with an fdo account and commit rights.

There's still lots of work to do, plan to blog about it at latest
tomorrow. About the fdo account, I have one already by my first name.

Thanks,

Tomeu

> -Daniel
>
>>
>> Thanks,
>>
>> Tomeu
>>
>> Tomeu Vizoso (7):
>>   tests/drm_read: Drop DRM_IOCTL_I915_GET_PIPE_FROM_CRTC_ID
>>   tests/kms_render: Move dependency on i915 into subtest
>>   tests/kms_flip: Create tiled BOs only when needed
>>   tests/kms_flip: Move bufmgr requirement into subtests
>>   tests/kms_flip: Open DRM device with DRIVER_ANY
>>   tests/kms_flip_event_leak: Use non-tiled formats
>>   tests/kms_flip_event_leak: Open DRM device with DRIVER_ANY
>>
>>  tests/drm_read.c            | 44 +++++---------------------------------------
>>  tests/kms_flip.c            | 25 ++++++++++++++++++-------
>>  tests/kms_flip_event_leak.c |  8 ++++----
>>  tests/kms_render.c          | 21 ++++++++++++---------
>>  4 files changed, 39 insertions(+), 59 deletions(-)
>>
>> --
>> 2.5.5
>>
>> _______________________________________________
>> Intel-gfx mailing list
>> Intel-gfx@lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
>
> --
> Daniel Vetter
> Software Engineer, Intel Corporation
> http://blog.ffwll.ch
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [i-g-t PATCH v1 0/7] Make more tests generic
  2016-04-20 13:57   ` Tomeu Vizoso
@ 2016-04-20 14:12     ` Daniel Vetter
  2016-04-25 13:13       ` Tomeu Vizoso
  0 siblings, 1 reply; 14+ messages in thread
From: Daniel Vetter @ 2016-04-20 14:12 UTC (permalink / raw)
  To: Tomeu Vizoso
  Cc: Daniel Stone, Intel GFX discussion, Micah Fedke, Daniel Vetter,
	Gustavo Padovan, Emil Velikov

On Wed, Apr 20, 2016 at 03:57:53PM +0200, Tomeu Vizoso wrote:
> On 20 April 2016 at 15:10, Daniel Vetter <daniel@ffwll.ch> wrote:
> > On Mon, Apr 18, 2016 at 01:42:48PM +0200, Tomeu Vizoso wrote:
> >> Hi,
> >>
> >> these patches allow a few more tests to run on drivers other than i915,
> >> mainly by removing the last usage of
> >> DRM_IOCTL_I915_GET_PIPE_FROM_CRTC_ID and removing superfluous dependencies
> >> on bufmgr and tiled BOs.
> >
> > Ack on all the patches, please ask Daniel Stone to push for you once he's
> > done a pass over the patches too.
> 
> Thanks, will remind him on monday when he is back at work.
> 
> > Also, if we plan to keep working on igt for a bit more, we might want to
> > fix you up with an fdo account and commit rights.
> 
> There's still lots of work to do, plan to blog about it at latest
> tomorrow. About the fdo account, I have one already by my first name.

Then just ask Daniel to add you to the xorg apps group so you can push to
igt. You have my ack for commit rights.
-Daniel

> 
> Thanks,
> 
> Tomeu
> 
> > -Daniel
> >
> >>
> >> Thanks,
> >>
> >> Tomeu
> >>
> >> Tomeu Vizoso (7):
> >>   tests/drm_read: Drop DRM_IOCTL_I915_GET_PIPE_FROM_CRTC_ID
> >>   tests/kms_render: Move dependency on i915 into subtest
> >>   tests/kms_flip: Create tiled BOs only when needed
> >>   tests/kms_flip: Move bufmgr requirement into subtests
> >>   tests/kms_flip: Open DRM device with DRIVER_ANY
> >>   tests/kms_flip_event_leak: Use non-tiled formats
> >>   tests/kms_flip_event_leak: Open DRM device with DRIVER_ANY
> >>
> >>  tests/drm_read.c            | 44 +++++---------------------------------------
> >>  tests/kms_flip.c            | 25 ++++++++++++++++++-------
> >>  tests/kms_flip_event_leak.c |  8 ++++----
> >>  tests/kms_render.c          | 21 ++++++++++++---------
> >>  4 files changed, 39 insertions(+), 59 deletions(-)
> >>
> >> --
> >> 2.5.5
> >>
> >> _______________________________________________
> >> Intel-gfx mailing list
> >> Intel-gfx@lists.freedesktop.org
> >> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
> >
> > --
> > Daniel Vetter
> > Software Engineer, Intel Corporation
> > http://blog.ffwll.ch
> > _______________________________________________
> > Intel-gfx mailing list
> > Intel-gfx@lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [i-g-t PATCH v1 0/7] Make more tests generic
  2016-04-20 14:12     ` Daniel Vetter
@ 2016-04-25 13:13       ` Tomeu Vizoso
  2016-04-25 13:17         ` Tomeu Vizoso
  0 siblings, 1 reply; 14+ messages in thread
From: Tomeu Vizoso @ 2016-04-25 13:13 UTC (permalink / raw)
  To: Daniel Vetter
  Cc: Daniel Stone, Intel GFX discussion, Micah Fedke, Daniel Vetter,
	Gustavo Padovan, Emil Velikov

On 20 April 2016 at 16:12, Daniel Vetter <daniel@ffwll.ch> wrote:
> On Wed, Apr 20, 2016 at 03:57:53PM +0200, Tomeu Vizoso wrote:
>> On 20 April 2016 at 15:10, Daniel Vetter <daniel@ffwll.ch> wrote:
>> > On Mon, Apr 18, 2016 at 01:42:48PM +0200, Tomeu Vizoso wrote:
>> >> Hi,
>> >>
>> >> these patches allow a few more tests to run on drivers other than i915,
>> >> mainly by removing the last usage of
>> >> DRM_IOCTL_I915_GET_PIPE_FROM_CRTC_ID and removing superfluous dependencies
>> >> on bufmgr and tiled BOs.
>> >
>> > Ack on all the patches, please ask Daniel Stone to push for you once he's
>> > done a pass over the patches too.
>>
>> Thanks, will remind him on monday when he is back at work.
>>
>> > Also, if we plan to keep working on igt for a bit more, we might want to
>> > fix you up with an fdo account and commit rights.
>>
>> There's still lots of work to do, plan to blog about it at latest
>> tomorrow. About the fdo account, I have one already by my first name.
>
> Then just ask Daniel to add you to the xorg apps group so you can push to
> igt. You have my ack for commit rights.

Daniel gave his ok to the series and put me in that group, so I have
just pushed this series.

Thanks,

Tomeu

> -Daniel
>
>>
>> Thanks,
>>
>> Tomeu
>>
>> > -Daniel
>> >
>> >>
>> >> Thanks,
>> >>
>> >> Tomeu
>> >>
>> >> Tomeu Vizoso (7):
>> >>   tests/drm_read: Drop DRM_IOCTL_I915_GET_PIPE_FROM_CRTC_ID
>> >>   tests/kms_render: Move dependency on i915 into subtest
>> >>   tests/kms_flip: Create tiled BOs only when needed
>> >>   tests/kms_flip: Move bufmgr requirement into subtests
>> >>   tests/kms_flip: Open DRM device with DRIVER_ANY
>> >>   tests/kms_flip_event_leak: Use non-tiled formats
>> >>   tests/kms_flip_event_leak: Open DRM device with DRIVER_ANY
>> >>
>> >>  tests/drm_read.c            | 44 +++++---------------------------------------
>> >>  tests/kms_flip.c            | 25 ++++++++++++++++++-------
>> >>  tests/kms_flip_event_leak.c |  8 ++++----
>> >>  tests/kms_render.c          | 21 ++++++++++++---------
>> >>  4 files changed, 39 insertions(+), 59 deletions(-)
>> >>
>> >> --
>> >> 2.5.5
>> >>
>> >> _______________________________________________
>> >> Intel-gfx mailing list
>> >> Intel-gfx@lists.freedesktop.org
>> >> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
>> >
>> > --
>> > Daniel Vetter
>> > Software Engineer, Intel Corporation
>> > http://blog.ffwll.ch
>> > _______________________________________________
>> > Intel-gfx mailing list
>> > Intel-gfx@lists.freedesktop.org
>> > https://lists.freedesktop.org/mailman/listinfo/intel-gfx
>
> --
> Daniel Vetter
> Software Engineer, Intel Corporation
> http://blog.ffwll.ch
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [i-g-t PATCH v1 0/7] Make more tests generic
  2016-04-25 13:13       ` Tomeu Vizoso
@ 2016-04-25 13:17         ` Tomeu Vizoso
  0 siblings, 0 replies; 14+ messages in thread
From: Tomeu Vizoso @ 2016-04-25 13:17 UTC (permalink / raw)
  To: Daniel Vetter
  Cc: Daniel Stone, Intel GFX discussion, Micah Fedke, Daniel Vetter,
	Gustavo Padovan, Emil Velikov

On 25 April 2016 at 15:13, Tomeu Vizoso <tomeu.vizoso@collabora.com> wrote:
> On 20 April 2016 at 16:12, Daniel Vetter <daniel@ffwll.ch> wrote:
>> On Wed, Apr 20, 2016 at 03:57:53PM +0200, Tomeu Vizoso wrote:
>>> On 20 April 2016 at 15:10, Daniel Vetter <daniel@ffwll.ch> wrote:
>>> > On Mon, Apr 18, 2016 at 01:42:48PM +0200, Tomeu Vizoso wrote:
>>> >> Hi,
>>> >>
>>> >> these patches allow a few more tests to run on drivers other than i915,
>>> >> mainly by removing the last usage of
>>> >> DRM_IOCTL_I915_GET_PIPE_FROM_CRTC_ID and removing superfluous dependencies
>>> >> on bufmgr and tiled BOs.
>>> >
>>> > Ack on all the patches, please ask Daniel Stone to push for you once he's
>>> > done a pass over the patches too.
>>>
>>> Thanks, will remind him on monday when he is back at work.
>>>
>>> > Also, if we plan to keep working on igt for a bit more, we might want to
>>> > fix you up with an fdo account and commit rights.
>>>
>>> There's still lots of work to do, plan to blog about it at latest
>>> tomorrow. About the fdo account, I have one already by my first name.
>>
>> Then just ask Daniel to add you to the xorg apps group so you can push to
>> igt. You have my ack for commit rights.
>
> Daniel gave his ok to the series and put me in that group, so I have
> just pushed this series.

That was as well my first screwup: I inadvertently pushed some patman
tags in one of the commits, sorry about that.

Regards,

Tomeu

> Thanks,
>
> Tomeu
>
>> -Daniel
>>
>>>
>>> Thanks,
>>>
>>> Tomeu
>>>
>>> > -Daniel
>>> >
>>> >>
>>> >> Thanks,
>>> >>
>>> >> Tomeu
>>> >>
>>> >> Tomeu Vizoso (7):
>>> >>   tests/drm_read: Drop DRM_IOCTL_I915_GET_PIPE_FROM_CRTC_ID
>>> >>   tests/kms_render: Move dependency on i915 into subtest
>>> >>   tests/kms_flip: Create tiled BOs only when needed
>>> >>   tests/kms_flip: Move bufmgr requirement into subtests
>>> >>   tests/kms_flip: Open DRM device with DRIVER_ANY
>>> >>   tests/kms_flip_event_leak: Use non-tiled formats
>>> >>   tests/kms_flip_event_leak: Open DRM device with DRIVER_ANY
>>> >>
>>> >>  tests/drm_read.c            | 44 +++++---------------------------------------
>>> >>  tests/kms_flip.c            | 25 ++++++++++++++++++-------
>>> >>  tests/kms_flip_event_leak.c |  8 ++++----
>>> >>  tests/kms_render.c          | 21 ++++++++++++---------
>>> >>  4 files changed, 39 insertions(+), 59 deletions(-)
>>> >>
>>> >> --
>>> >> 2.5.5
>>> >>
>>> >> _______________________________________________
>>> >> Intel-gfx mailing list
>>> >> Intel-gfx@lists.freedesktop.org
>>> >> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
>>> >
>>> > --
>>> > Daniel Vetter
>>> > Software Engineer, Intel Corporation
>>> > http://blog.ffwll.ch
>>> > _______________________________________________
>>> > Intel-gfx mailing list
>>> > Intel-gfx@lists.freedesktop.org
>>> > https://lists.freedesktop.org/mailman/listinfo/intel-gfx
>>
>> --
>> Daniel Vetter
>> Software Engineer, Intel Corporation
>> http://blog.ffwll.ch
>> _______________________________________________
>> Intel-gfx mailing list
>> Intel-gfx@lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2016-04-25 13:17 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-04-18 11:42 [i-g-t PATCH v1 0/7] Make more tests generic Tomeu Vizoso
2016-04-18 11:42 ` [i-g-t PATCH v1 1/7] tests/drm_read: Drop DRM_IOCTL_I915_GET_PIPE_FROM_CRTC_ID Tomeu Vizoso
2016-04-20 13:07   ` 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

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.