All of lore.kernel.org
 help / color / mirror / Atom feed
* [igt-dev] [PATCH i-g-t 0/9] lib/igt_kms: Add support for display with
@ 2020-07-01 19:08 Mohammed Khajapasha
  2020-07-01 19:08 ` [igt-dev] [PATCH i-g-t 1/9] lib/igt_kms: Add support for display with non-contiguous pipes Mohammed Khajapasha
                   ` (9 more replies)
  0 siblings, 10 replies; 12+ messages in thread
From: Mohammed Khajapasha @ 2020-07-01 19:08 UTC (permalink / raw)
  To: arkadiusz.hiler, igt-dev

Add support for display with non-contiguous pipes.

Mohammed Khajapasha (9):
  lib/igt_kms: Add support for display with non-contiguous pipes
  lib/igt_kms: Add igt_require_pipe() function
  tests/kms_cursor_legacy: Read crtc id for enable pipes
  tests/kms_lease: Get pipe from crtc for enable pipes
  tests/kms_lease: Read crtc id for a valid pipe
  lib/kms: Skip igt test cases for disabled display pipes
  tests/kms: Skip kms test cases for disabled pipes
  tests/kms_atomic_transition: Set modeset for enable pipes only
  i915/gem_eio: Set modeset for enable pipes

 lib/igt_kms.c                 | 87 +++++++++++++++++++++++++++++++----
 lib/igt_kms.h                 | 26 +++++++++--
 tests/i915/gem_eio.c          |  2 +
 tests/kms_atomic_transition.c |  9 +++-
 tests/kms_color.c             |  2 +-
 tests/kms_color_chamelium.c   |  2 +-
 tests/kms_concurrent.c        |  2 +-
 tests/kms_cursor_legacy.c     | 13 ++++--
 tests/kms_lease.c             |  8 +++-
 tests/kms_pipe_crc_basic.c    |  4 +-
 tests/kms_plane.c             |  2 +-
 tests/kms_plane_lowres.c      |  2 +-
 tests/kms_plane_multiple.c    |  2 +-
 tests/kms_universal_plane.c   | 12 ++---
 14 files changed, 135 insertions(+), 38 deletions(-)

-- 
2.24.1

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

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

* [igt-dev] [PATCH i-g-t 1/9] lib/igt_kms: Add support for display with non-contiguous pipes
  2020-07-01 19:08 [igt-dev] [PATCH i-g-t 0/9] lib/igt_kms: Add support for display with Mohammed Khajapasha
@ 2020-07-01 19:08 ` Mohammed Khajapasha
  2020-07-01 19:08 ` [igt-dev] [PATCH i-g-t 2/9] lib/igt_kms: Add igt_require_pipe() function Mohammed Khajapasha
                   ` (8 subsequent siblings)
  9 siblings, 0 replies; 12+ messages in thread
From: Mohammed Khajapasha @ 2020-07-01 19:08 UTC (permalink / raw)
  To: arkadiusz.hiler, igt-dev

Add support for non-contiguous pipe display by allocating
upper bound pipes array for display. Set the pipe enum name
to igt pipe for enabled pipes in drm.

v4:
    Changed n_pipes to IGT_MAX_PIPES irrespective of device (Arkadiusz).
    Modified i915_dev to bool is_i915_dev (Arkadiusz).
    Included __get_crtc_mask_for_pipe() to get CRTC mask
    for a pipe (Arkadiusz).
    Included note for i915 check for non-contiguous pipes (Arkadiusz).

Signed-off-by: Mohammed Khajapasha <mohammed.khajapasha@intel.com>
---
 lib/igt_kms.c | 65 +++++++++++++++++++++++++++++++++++++++++++++------
 lib/igt_kms.h | 13 +++++++----
 2 files changed, 66 insertions(+), 12 deletions(-)

diff --git a/lib/igt_kms.c b/lib/igt_kms.c
index 27f85859..b9bfe4e3 100644
--- a/lib/igt_kms.c
+++ b/lib/igt_kms.c
@@ -1873,6 +1873,21 @@ void igt_display_reset(igt_display_t *display)
 static void igt_fill_plane_format_mod(igt_display_t *display, igt_plane_t *plane);
 static void igt_fill_display_format_mod(igt_display_t *display);
 
+/* Get crtc mask for a pipe using crtc id */
+static int
+__get_crtc_mask_for_pipe(drmModeRes *resources, igt_pipe_t *pipe)
+{
+	int offset;
+
+	for (offset = 0; offset < resources->count_crtcs; offset++)
+	{
+		if(pipe->crtc_id == resources->crtcs[offset])
+			break;
+	}
+
+	return (1 << offset);
+}
+
 /**
  * igt_display_require:
  * @display: a pointer to an #igt_display_t structure
@@ -1889,12 +1904,14 @@ void igt_display_require(igt_display_t *display, int drm_fd)
 	drmModeRes *resources;
 	drmModePlaneRes *plane_resources;
 	int i;
+	bool is_i915_dev;
 
 	memset(display, 0, sizeof(igt_display_t));
 
 	LOG_INDENT(display, "init");
 
 	display->drm_fd = drm_fd;
+	is_i915_dev = is_i915_device(drm_fd);
 
 	resources = drmModeGetResources(display->drm_fd);
 	if (!resources)
@@ -1921,10 +1938,37 @@ void igt_display_require(igt_display_t *display, int drm_fd)
 	 * We cache the number of pipes, that number is a physical limit of the
 	 * hardware and cannot change of time (for now, at least).
 	 */
-	display->n_pipes = resources->count_crtcs;
+	display->n_pipes = IGT_MAX_PIPES;
 	display->pipes = calloc(sizeof(igt_pipe_t), display->n_pipes);
 	igt_assert_f(display->pipes, "Failed to allocate memory for %d pipes\n", display->n_pipes);
 
+	for (i = 0; i < resources->count_crtcs; i++) {
+		igt_pipe_t *pipe;
+
+		/*
+		 * In i915, with non-contiguous pipes display, crtc mapping is not always
+		 * same as pipe mapping, get right pipe enum for a crtc using
+		 * GET_PIPE_FROM_CRTC_ID ioctl for a pipe.
+		 */
+		if (is_i915_dev) {
+			struct drm_i915_get_pipe_from_crtc_id get_pipe;
+
+			get_pipe.pipe = 0;
+			get_pipe.crtc_id =  resources->crtcs[i];
+			do_ioctl(display->drm_fd,
+					DRM_IOCTL_I915_GET_PIPE_FROM_CRTC_ID, &get_pipe);
+			pipe = &display->pipes[get_pipe.pipe];
+			pipe->pipe = get_pipe.pipe;
+		}
+		else {
+			pipe = &display->pipes[i];
+			pipe->pipe = i;
+		}
+
+		pipe->enabled = true;
+		pipe->crtc_id = resources->crtcs[i];
+	}
+
 	drmSetClientCap(drm_fd, DRM_CLIENT_CAP_UNIVERSAL_PLANES, 1);
 	if (drmSetClientCap(drm_fd, DRM_CLIENT_CAP_ATOMIC, 1) == 0)
 		display->is_atomic = 1;
@@ -1955,25 +1999,26 @@ void igt_display_require(igt_display_t *display, int drm_fd)
 	for_each_pipe(display, i) {
 		igt_pipe_t *pipe = &display->pipes[i];
 		igt_plane_t *plane;
-		int p = 1;
+		int p = 1, crtc_mask = 0;
 		int j, type;
 		uint8_t last_plane = 0, n_planes = 0;
 
-		pipe->crtc_id = resources->crtcs[i];
 		pipe->display = display;
-		pipe->pipe = i;
 		pipe->plane_cursor = -1;
 		pipe->plane_primary = -1;
 		pipe->planes = NULL;
 
 		igt_fill_pipe_props(display, pipe, IGT_NUM_CRTC_PROPS, igt_crtc_prop_names);
 
+		/* Get valid crtc index from crtcs for a pipe */
+		crtc_mask = __get_crtc_mask_for_pipe(resources, pipe);
+
 		/* count number of valid planes */
 		for (j = 0; j < display->n_planes; j++) {
 			drmModePlane *drm_plane = display->planes[j].drm_plane;
 			igt_assert(drm_plane);
 
-			if (drm_plane->possible_crtcs & (1 << i))
+			if (drm_plane->possible_crtcs & crtc_mask)
 				n_planes++;
 		}
 
@@ -1987,7 +2032,7 @@ void igt_display_require(igt_display_t *display, int drm_fd)
 			igt_plane_t *global_plane = &display->planes[j];
 			drmModePlane *drm_plane = global_plane->drm_plane;
 
-			if (!(drm_plane->possible_crtcs & (1 << i)))
+			if (!(drm_plane->possible_crtcs & crtc_mask))
 				continue;
 
 			type = global_plane->type;
@@ -2409,12 +2454,18 @@ static bool output_is_internal_panel(igt_output_t *output)
 
 igt_output_t **__igt_pipe_populate_outputs(igt_display_t *display, igt_output_t **chosen_outputs)
 {
-	unsigned full_pipe_mask = (1 << (display->n_pipes)) - 1, assigned_pipes = 0;
+	unsigned full_pipe_mask, assigned_pipes = 0;
 	igt_output_t *output;
 	int i, j;
 
 	memset(chosen_outputs, 0, sizeof(*chosen_outputs) * display->n_pipes);
 
+	for( i = 0; i < display->n_pipes; i++) {
+		igt_pipe_t *pipe = &display->pipes[i];
+		if (pipe->enabled)
+			full_pipe_mask |= (1 << i);
+	}
+
 	/*
 	 * Try to assign all outputs to the first available CRTC for
 	 * it, start with the outputs restricted to 1 pipe, then increase
diff --git a/lib/igt_kms.h b/lib/igt_kms.h
index 416e737c..0b5e707a 100644
--- a/lib/igt_kms.h
+++ b/lib/igt_kms.h
@@ -341,6 +341,7 @@ typedef struct igt_plane {
 struct igt_pipe {
 	igt_display_t *display;
 	enum pipe pipe;
+	bool enabled;
 
 	int n_planes;
 	int plane_cursor;
@@ -510,8 +511,9 @@ static inline bool igt_output_is_connected(igt_output_t *output)
  * depends upon runtime probing of the actual kms driver that is being tested.
  * Use #for_each_pipe_static instead.
  */
-#define for_each_pipe(display, pipe)					\
-	for (pipe = 0; assert(igt_can_fail()), pipe < igt_display_get_n_pipes(display); pipe++)
+#define for_each_pipe(display, pipe) \
+	for_each_pipe_static(pipe) \
+		for_each_if((display)->pipes[(pipe)].enabled)
 
 /**
  * for_each_pipe_with_valid_output:
@@ -530,8 +532,9 @@ static inline bool igt_output_is_connected(igt_output_t *output)
 	for (int con__ = (pipe) = 0; \
 	     assert(igt_can_fail()), (pipe) < igt_display_get_n_pipes((display)) && con__ < (display)->n_outputs; \
 	     con__ = (con__ + 1 < (display)->n_outputs) ? con__ + 1 : (pipe = pipe + 1, 0)) \
-		for_each_if ((((output) = &(display)->outputs[con__]), \
-			     igt_pipe_connector_valid((pipe), (output))))
+		 for_each_if((display)->pipes[pipe].enabled) \
+			for_each_if ((((output) = &(display)->outputs[con__]), \
+						igt_pipe_connector_valid((pipe), (output))))
 
 igt_output_t **__igt_pipe_populate_outputs(igt_display_t *display,
 					   igt_output_t **chosen_outputs);
@@ -549,7 +552,7 @@ igt_output_t **__igt_pipe_populate_outputs(igt_display_t *display,
 #define for_each_pipe_with_single_output(display, pipe, output) \
 	for (igt_output_t *__outputs[(display)->n_pipes], \
 	     **__output = __igt_pipe_populate_outputs((display), __outputs); \
-	     __output < &__outputs[(display)->n_pipes]; __output++) \
+		 __output < &__outputs[(display)->n_pipes]; __output++) \
 		for_each_if (*__output && \
 			     ((pipe) = (__output - __outputs), (output) = *__output, 1))
 
-- 
2.24.1

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

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

* [igt-dev] [PATCH i-g-t 2/9] lib/igt_kms: Add igt_require_pipe() function
  2020-07-01 19:08 [igt-dev] [PATCH i-g-t 0/9] lib/igt_kms: Add support for display with Mohammed Khajapasha
  2020-07-01 19:08 ` [igt-dev] [PATCH i-g-t 1/9] lib/igt_kms: Add support for display with non-contiguous pipes Mohammed Khajapasha
@ 2020-07-01 19:08 ` Mohammed Khajapasha
  2020-07-01 19:08 ` [igt-dev] [PATCH i-g-t 3/9] tests/kms_cursor_legacy: Read crtc id for enable pipes Mohammed Khajapasha
                   ` (7 subsequent siblings)
  9 siblings, 0 replies; 12+ messages in thread
From: Mohammed Khajapasha @ 2020-07-01 19:08 UTC (permalink / raw)
  To: arkadiusz.hiler, igt-dev

Add igt_require_pipe() fn to check whether a pipe is enabled or not

Signed-off-by: Mohammed Khajapasha <mohammed.khajapasha@intel.com>
---
 lib/igt_kms.c | 17 +++++++++++++++++
 lib/igt_kms.h | 13 +++++++++++++
 2 files changed, 30 insertions(+)

diff --git a/lib/igt_kms.c b/lib/igt_kms.c
index b9bfe4e3..acf0559e 100644
--- a/lib/igt_kms.c
+++ b/lib/igt_kms.c
@@ -1873,6 +1873,23 @@ void igt_display_reset(igt_display_t *display)
 static void igt_fill_plane_format_mod(igt_display_t *display, igt_plane_t *plane);
 static void igt_fill_display_format_mod(igt_display_t *display);
 
+/*
+ * igt_require_pipe:
+ * @display: pointer to igt_display_t
+ * @pipe: pipe which need to check
+ *
+ * Skip a (sub-)test if the pipe not enabled.
+ *
+ * Should be used everywhere where a test checks pipe and skip
+ * test when pipe is not enabled.
+ */
+void igt_require_pipe(igt_display_t *display, enum pipe pipe)
+{
+	igt_skip_on_f(!display->pipes[pipe].enabled,
+			"Pipe %s does not exist or not enabled\n",
+			kmstest_pipe_name(pipe));
+}
+
 /* Get crtc mask for a pipe using crtc id */
 static int
 __get_crtc_mask_for_pipe(drmModeRes *resources, igt_pipe_t *pipe)
diff --git a/lib/igt_kms.h b/lib/igt_kms.h
index 0b5e707a..36b15147 100644
--- a/lib/igt_kms.h
+++ b/lib/igt_kms.h
@@ -857,4 +857,17 @@ int igt_connector_sysfs_open(int drm_fd,
 			     drmModeConnector *connector);
 uint32_t igt_reduce_format(uint32_t format);
 
+/*
+ * igt_require_pipe:
+ * @display: pointer to igt_display_t
+ * @pipe: pipe which need to check
+ *
+ * Skip a (sub-)test if the pipe not enabled.
+ *
+ * Should be used everywhere where a test checks pipe and skip
+ * test when pipe is not enabled.
+ */
+void igt_require_pipe(igt_display_t *display,
+		enum pipe pipe);
+
 #endif /* __IGT_KMS_H__ */
-- 
2.24.1

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

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

* [igt-dev] [PATCH i-g-t 3/9] tests/kms_cursor_legacy: Read crtc id for enable pipes
  2020-07-01 19:08 [igt-dev] [PATCH i-g-t 0/9] lib/igt_kms: Add support for display with Mohammed Khajapasha
  2020-07-01 19:08 ` [igt-dev] [PATCH i-g-t 1/9] lib/igt_kms: Add support for display with non-contiguous pipes Mohammed Khajapasha
  2020-07-01 19:08 ` [igt-dev] [PATCH i-g-t 2/9] lib/igt_kms: Add igt_require_pipe() function Mohammed Khajapasha
@ 2020-07-01 19:08 ` Mohammed Khajapasha
  2020-07-01 19:08 ` [igt-dev] [PATCH i-g-t 4/9] tests/kms_lease: Get pipe from crtc " Mohammed Khajapasha
                   ` (6 subsequent siblings)
  9 siblings, 0 replies; 12+ messages in thread
From: Mohammed Khajapasha @ 2020-07-01 19:08 UTC (permalink / raw)
  To: arkadiusz.hiler, igt-dev

Read the crtc ids for enable pipes only in display.

Signed-off-by: Mohammed Khajapasha <mohammed.khajapasha@intel.com>
---
 tests/kms_cursor_legacy.c | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/tests/kms_cursor_legacy.c b/tests/kms_cursor_legacy.c
index 344442e8..e631f087 100644
--- a/tests/kms_cursor_legacy.c
+++ b/tests/kms_cursor_legacy.c
@@ -58,7 +58,7 @@ static void stress(igt_display_t *display,
 	uint64_t *results;
 	bool torture;
 	int n;
-	unsigned crtc_id[IGT_MAX_PIPES], num_crtcs;
+	unsigned crtc_id[IGT_MAX_PIPES] = {0}, num_crtcs;
 
 	torture = false;
 	if (num_children < 0) {
@@ -84,8 +84,10 @@ static void stress(igt_display_t *display,
 		}
 	} else {
 		num_crtcs = 1;
-		arg.crtc_id = crtc_id[0] = display->pipes[pipe].crtc_id;
-		do_ioctl(display->drm_fd, DRM_IOCTL_MODE_CURSOR, &arg);
+		if(display->pipes[pipe].enabled) {
+			arg.crtc_id = crtc_id[0] = display->pipes[pipe].crtc_id;
+			do_ioctl(display->drm_fd, DRM_IOCTL_MODE_CURSOR, &arg);
+		}
 	}
 
 	arg.flags = mode;
@@ -103,7 +105,8 @@ static void stress(igt_display_t *display,
 		hars_petruska_f54_1_random_perturb(child);
 		igt_until_timeout(timeout) {
 			arg.crtc_id = crtc_id[hars_petruska_f54_1_random_unsafe() % num_crtcs];
-			do_ioctl(display->drm_fd, DRM_IOCTL_MODE_CURSOR, &arg);
+			if (arg.crtc_id)
+				do_ioctl(display->drm_fd, DRM_IOCTL_MODE_CURSOR, &arg);
 			count++;
 		}
 
@@ -1390,7 +1393,7 @@ igt_main
 			errno = 0;
 
 			igt_fixture {
-				igt_skip_on(n >= display.n_pipes);
+				igt_require_pipe(&display, n);
 			}
 
 			igt_subtest_f("pipe-%s-single-bo", kmstest_pipe_name(n))
-- 
2.24.1

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

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

* [igt-dev] [PATCH i-g-t 4/9] tests/kms_lease: Get pipe from crtc for enable pipes
  2020-07-01 19:08 [igt-dev] [PATCH i-g-t 0/9] lib/igt_kms: Add support for display with Mohammed Khajapasha
                   ` (2 preceding siblings ...)
  2020-07-01 19:08 ` [igt-dev] [PATCH i-g-t 3/9] tests/kms_cursor_legacy: Read crtc id for enable pipes Mohammed Khajapasha
@ 2020-07-01 19:08 ` Mohammed Khajapasha
  2020-07-01 19:08 ` [igt-dev] [PATCH i-g-t 5/9] tests/kms_lease: Read crtc id for a valid pipe Mohammed Khajapasha
                   ` (5 subsequent siblings)
  9 siblings, 0 replies; 12+ messages in thread
From: Mohammed Khajapasha @ 2020-07-01 19:08 UTC (permalink / raw)
  To: arkadiusz.hiler, igt-dev

Get pipe from drm crtc for enabled pipes only.

Signed-off-by: Mohammed Khajapasha <mohammed.khajapasha@intel.com>
---
 tests/kms_lease.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/tests/kms_lease.c b/tests/kms_lease.c
index 2e6cf9b0..75a1149c 100644
--- a/tests/kms_lease.c
+++ b/tests/kms_lease.c
@@ -684,6 +684,8 @@ static void lease_unleased_crtc(data_t *data)
 	/* Find another CRTC that we don't control */
 	bad_crtc_id = 0;
 	for (p = 0; bad_crtc_id == 0 && p < data->master.display.n_pipes; p++) {
+		if(!(data->master.display.pipes[p].enabled))
+			continue;
 		if (pipe_to_crtc_id(&data->master.display, p) != data->crtc_id)
 			bad_crtc_id = pipe_to_crtc_id(&data->master.display, p);
 	}
-- 
2.24.1

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

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

* [igt-dev] [PATCH i-g-t 5/9] tests/kms_lease: Read crtc id for a valid pipe
  2020-07-01 19:08 [igt-dev] [PATCH i-g-t 0/9] lib/igt_kms: Add support for display with Mohammed Khajapasha
                   ` (3 preceding siblings ...)
  2020-07-01 19:08 ` [igt-dev] [PATCH i-g-t 4/9] tests/kms_lease: Get pipe from crtc " Mohammed Khajapasha
@ 2020-07-01 19:08 ` Mohammed Khajapasha
  2020-07-01 19:08 ` [igt-dev] [PATCH i-g-t 6/9] lib/kms: Skip igt test cases for disabled display pipes Mohammed Khajapasha
                   ` (4 subsequent siblings)
  9 siblings, 0 replies; 12+ messages in thread
From: Mohammed Khajapasha @ 2020-07-01 19:08 UTC (permalink / raw)
  To: arkadiusz.hiler, igt-dev

Read crtc id for enabled pipes only.

Signed-off-by: Mohammed Khajapasha <mohammed.khajapasha@intel.com>
---
 tests/kms_lease.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/tests/kms_lease.c b/tests/kms_lease.c
index 75a1149c..4045fbca 100644
--- a/tests/kms_lease.c
+++ b/tests/kms_lease.c
@@ -136,9 +136,11 @@ static enum pipe crtc_id_to_pipe(igt_display_t *display, uint32_t crtc_id)
 {
 	enum pipe pipe;
 
-	for (pipe = 0; pipe < display->n_pipes; pipe++)
-		if (display->pipes[pipe].crtc_id == crtc_id)
+	for (pipe = 0; pipe < display->n_pipes; pipe++) {
+		if (display->pipes[pipe].enabled &&
+				display->pipes[pipe].crtc_id == crtc_id)
 			return pipe;
+	}
 	return -1;
 }
 
-- 
2.24.1

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

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

* [igt-dev] [PATCH i-g-t 6/9] lib/kms: Skip igt test cases for disabled display pipes
  2020-07-01 19:08 [igt-dev] [PATCH i-g-t 0/9] lib/igt_kms: Add support for display with Mohammed Khajapasha
                   ` (4 preceding siblings ...)
  2020-07-01 19:08 ` [igt-dev] [PATCH i-g-t 5/9] tests/kms_lease: Read crtc id for a valid pipe Mohammed Khajapasha
@ 2020-07-01 19:08 ` Mohammed Khajapasha
  2020-07-01 19:08 ` [igt-dev] [PATCH i-g-t 7/9] tests/kms: Skip kms test cases for disabled pipes Mohammed Khajapasha
                   ` (3 subsequent siblings)
  9 siblings, 0 replies; 12+ messages in thread
From: Mohammed Khajapasha @ 2020-07-01 19:08 UTC (permalink / raw)
  To: arkadiusz.hiler, igt-dev

Skip igt test cases for disabled pipes.

Signed-off-by: Mohammed Khajapasha <mohammed.khajapasha@intel.com>
---
 lib/igt_kms.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/lib/igt_kms.c b/lib/igt_kms.c
index acf0559e..b4029757 100644
--- a/lib/igt_kms.c
+++ b/lib/igt_kms.c
@@ -2192,8 +2192,7 @@ void igt_display_require_output_on_pipe(igt_display_t *display, enum pipe pipe)
 {
 	igt_output_t *output;
 
-	igt_skip_on_f(pipe >= igt_display_get_n_pipes(display),
-		      "Pipe %s does not exist.\n", kmstest_pipe_name(pipe));
+	igt_require_pipe(display, pipe);
 
 	for_each_valid_output_on_pipe(display, pipe, output)
 		return;
@@ -2548,7 +2547,7 @@ igt_output_t *igt_get_single_output_for_pipe(igt_display_t *display, enum pipe p
 	igt_output_t *chosen_outputs[display->n_pipes];
 
 	igt_assert(pipe != PIPE_NONE);
-	igt_require(pipe < display->n_pipes);
+	igt_require_pipe(display, pipe);
 
 	__igt_pipe_populate_outputs(display, chosen_outputs);
 
-- 
2.24.1

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

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

* [igt-dev] [PATCH i-g-t 7/9] tests/kms: Skip kms test cases for disabled pipes
  2020-07-01 19:08 [igt-dev] [PATCH i-g-t 0/9] lib/igt_kms: Add support for display with Mohammed Khajapasha
                   ` (5 preceding siblings ...)
  2020-07-01 19:08 ` [igt-dev] [PATCH i-g-t 6/9] lib/kms: Skip igt test cases for disabled display pipes Mohammed Khajapasha
@ 2020-07-01 19:08 ` Mohammed Khajapasha
  2020-07-01 19:08 ` [igt-dev] [PATCH i-g-t 8/9] tests/kms_atomic_transition: Set modeset for enable pipes only Mohammed Khajapasha
                   ` (2 subsequent siblings)
  9 siblings, 0 replies; 12+ messages in thread
From: Mohammed Khajapasha @ 2020-07-01 19:08 UTC (permalink / raw)
  To: arkadiusz.hiler, igt-dev

Skip the kms test cases for disabled pipes with
non-contiguous pipe display.

Signed-off-by: Mohammed Khajapasha <mohammed.khajapasha@intel.com>
---
 tests/kms_color.c           |  2 +-
 tests/kms_color_chamelium.c |  2 +-
 tests/kms_concurrent.c      |  2 +-
 tests/kms_pipe_crc_basic.c  |  4 ++--
 tests/kms_plane.c           |  2 +-
 tests/kms_plane_lowres.c    |  2 +-
 tests/kms_plane_multiple.c  |  2 +-
 tests/kms_universal_plane.c | 12 ++++++------
 8 files changed, 14 insertions(+), 14 deletions(-)

diff --git a/tests/kms_color.c b/tests/kms_color.c
index 7f2fbd4a..8c50ee66 100644
--- a/tests/kms_color.c
+++ b/tests/kms_color.c
@@ -628,7 +628,7 @@ run_tests_for_pipe(data_t *data, enum pipe p)
 	igt_fixture {
 		igt_require_pipe_crc(data->drm_fd);
 
-		igt_require(p < data->display.n_pipes);
+		igt_require_pipe(&data->display, p);
 
 		pipe = &data->display.pipes[p];
 		igt_require(pipe->n_planes >= 0);
diff --git a/tests/kms_color_chamelium.c b/tests/kms_color_chamelium.c
index 7f5a911c..9fb87a75 100644
--- a/tests/kms_color_chamelium.c
+++ b/tests/kms_color_chamelium.c
@@ -519,7 +519,7 @@ run_tests_for_pipe(data_t *data, enum pipe p)
 
 	igt_fixture {
 
-		igt_require(p < data->display.n_pipes);
+		igt_require_pipe(data->display, p);
 
 		pipe = &data->display.pipes[p];
 		igt_require(pipe->n_planes >= 0);
diff --git a/tests/kms_concurrent.c b/tests/kms_concurrent.c
index 89016563..f332d332 100644
--- a/tests/kms_concurrent.c
+++ b/tests/kms_concurrent.c
@@ -320,7 +320,7 @@ run_tests_for_pipe(data_t *data, enum pipe pipe)
 	igt_fixture {
 		int valid_tests = 0;
 
-		igt_skip_on(pipe >= data->display.n_pipes);
+		igt_require_pipe(&data->display, pipe);
 		igt_require(data->display.pipes[pipe].n_planes > 0);
 
 		for_each_valid_output_on_pipe(&data->display, pipe, output)
diff --git a/tests/kms_pipe_crc_basic.c b/tests/kms_pipe_crc_basic.c
index d169b7bd..82856efa 100644
--- a/tests/kms_pipe_crc_basic.c
+++ b/tests/kms_pipe_crc_basic.c
@@ -71,7 +71,7 @@ static void test_read_crc(data_t *data, enum pipe pipe, unsigned flags)
 	igt_crc_t *crcs = NULL;
 	int c, j;
 
-	igt_skip_on(pipe >= data->display.n_pipes);
+	igt_require_pipe(display, pipe);
 	igt_require_f(output, "No connector found for pipe %s\n",
 		      kmstest_pipe_name(pipe));
 
@@ -187,7 +187,7 @@ igt_main
 			test_read_crc(&data, pipe, TEST_SEQUENCE | TEST_NONBLOCK);
 
 		igt_subtest_f("suspend-read-crc-pipe-%s", kmstest_pipe_name(pipe)) {
-			igt_skip_on(pipe >= data.display.n_pipes);
+			igt_require_pipe(&data.display, pipe);
 
 			test_read_crc(&data, pipe, 0);
 
diff --git a/tests/kms_plane.c b/tests/kms_plane.c
index c6ead813..7d3f95d1 100644
--- a/tests/kms_plane.c
+++ b/tests/kms_plane.c
@@ -940,7 +940,7 @@ static void
 run_tests_for_pipe_plane(data_t *data, enum pipe pipe)
 {
 	igt_fixture {
-		igt_skip_on(pipe >= data->display.n_pipes);
+		igt_require_pipe(&data->display, pipe);
 		igt_require(data->display.pipes[pipe].n_planes > 0);
 	}
 
diff --git a/tests/kms_plane_lowres.c b/tests/kms_plane_lowres.c
index 012b25e3..a1f1fade 100644
--- a/tests/kms_plane_lowres.c
+++ b/tests/kms_plane_lowres.c
@@ -259,7 +259,7 @@ test_planes_on_pipe(data_t *data, uint64_t modifier)
 	igt_plane_t *plane;
 	unsigned tested = 0;
 
-	igt_skip_on(data->pipe >= data->display.n_pipes);
+	igt_require_pipe(&data->display, data->pipe);
 	igt_display_require_output_on_pipe(&data->display, data->pipe);
 	igt_skip_on(!igt_display_has_format_mod(&data->display,
 						DRM_FORMAT_XRGB8888, modifier));
diff --git a/tests/kms_plane_multiple.c b/tests/kms_plane_multiple.c
index 6cf060b3..520ec1fe 100644
--- a/tests/kms_plane_multiple.c
+++ b/tests/kms_plane_multiple.c
@@ -378,7 +378,7 @@ static void
 run_tests_for_pipe(data_t *data, enum pipe pipe)
 {
 	igt_fixture {
-		igt_skip_on(pipe >= data->display.n_pipes);
+		igt_require_pipe(&data->display, pipe);
 		igt_require(data->display.pipes[pipe].n_planes > 0);
 	}
 
diff --git a/tests/kms_universal_plane.c b/tests/kms_universal_plane.c
index 676be633..46d6d180 100644
--- a/tests/kms_universal_plane.c
+++ b/tests/kms_universal_plane.c
@@ -135,7 +135,7 @@ functional_test_pipe(data_t *data, enum pipe pipe, igt_output_t *output)
 	int num_primary = 0, num_cursor = 0;
 	int i;
 
-	igt_skip_on(pipe >= display->n_pipes);
+	igt_require_pipe(display, pipe);
 
 	igt_info("Testing connector %s using pipe %s\n", igt_output_name(output),
 		 kmstest_pipe_name(pipe));
@@ -364,7 +364,7 @@ sanity_test_pipe(data_t *data, enum pipe pipe, igt_output_t *output)
 	int i;
 	int expect;
 
-	igt_skip_on(pipe >= data->display.n_pipes);
+	igt_require_pipe(&data->display, pipe);
 
 	igt_output_set_pipe(output, pipe);
 	mode = igt_output_get_mode(output);
@@ -476,7 +476,7 @@ pageflip_test_pipe(data_t *data, enum pipe pipe, igt_output_t *output)
 	fd_set fds;
 	int ret = 0;
 
-	igt_skip_on(pipe >= data->display.n_pipes);
+	igt_require_pipe(&data->display, pipe);
 
 	igt_output_set_pipe(output, pipe);
 
@@ -577,7 +577,7 @@ cursor_leak_test_pipe(data_t *data, enum pipe pipe, igt_output_t *output)
 	int r, g, b;
 	int count1, count2;
 
-	igt_skip_on(pipe >= display->n_pipes);
+	igt_require_pipe(display, pipe);
 	igt_require(display->has_cursor_plane);
 
 	igt_output_set_pipe(output, pipe);
@@ -705,7 +705,7 @@ gen9_test_pipe(data_t *data, enum pipe pipe, igt_output_t *output)
 	int ret = 0;
 
 	igt_skip_on(data->gen < 9);
-	igt_skip_on(pipe >= data->display.n_pipes);
+	igt_require_pipe(&data->display, pipe);
 
 	igt_output_set_pipe(output, pipe);
 
@@ -750,7 +750,7 @@ run_tests_for_pipe(data_t *data, enum pipe pipe)
 	igt_fixture {
 		int valid_tests = 0;
 
-		igt_skip_on(pipe >= data->display.n_pipes);
+		igt_require_pipe(&data->display, pipe);
 
 		for_each_valid_output_on_pipe(&data->display, pipe, output)
 			valid_tests++;
-- 
2.24.1

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

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

* [igt-dev] [PATCH i-g-t 8/9] tests/kms_atomic_transition: Set modeset for enable pipes only
  2020-07-01 19:08 [igt-dev] [PATCH i-g-t 0/9] lib/igt_kms: Add support for display with Mohammed Khajapasha
                   ` (6 preceding siblings ...)
  2020-07-01 19:08 ` [igt-dev] [PATCH i-g-t 7/9] tests/kms: Skip kms test cases for disabled pipes Mohammed Khajapasha
@ 2020-07-01 19:08 ` Mohammed Khajapasha
  2020-07-01 19:08 ` [igt-dev] [PATCH i-g-t 9/9] i915/gem_eio: Set modeset for enable pipes Mohammed Khajapasha
  2020-07-01 19:23 ` [igt-dev] ✗ Fi.CI.BUILD: failure for lib/igt_kms: Add support for display with (rev3) Patchwork
  9 siblings, 0 replies; 12+ messages in thread
From: Mohammed Khajapasha @ 2020-07-01 19:08 UTC (permalink / raw)
  To: arkadiusz.hiler, igt-dev

Set the modeset for enable pipes only by using max iteration
from enable pipe count.

Signed-off-by: Mohammed Khajapasha <mohammed.khajapasha@intel.com>
---
 tests/kms_atomic_transition.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/tests/kms_atomic_transition.c b/tests/kms_atomic_transition.c
index 754a4969..8c1c1d93 100644
--- a/tests/kms_atomic_transition.c
+++ b/tests/kms_atomic_transition.c
@@ -737,8 +737,8 @@ static void collect_crcs_mask(igt_pipe_crc_t **pipe_crcs, unsigned mask, igt_crc
 static void run_modeset_tests(igt_display_t *display, int howmany, bool nonblocking, bool fencing)
 {
 	struct igt_fb fbs[2];
-	int i, j;
-	unsigned iter_max = 1 << display->n_pipes;
+	int i, j = 0;
+	unsigned iter_max;
 	igt_pipe_crc_t *pipe_crcs[IGT_MAX_PIPES] = { 0 };
 	igt_output_t *output;
 	unsigned width = 0, height = 0;
@@ -762,6 +762,9 @@ static void run_modeset_tests(igt_display_t *display, int howmany, bool nonblock
 		igt_plane_t *plane = igt_pipe_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
 		drmModeModeInfo *mode = NULL;
 
+		/* count enable pipes to set max iteration */
+		j += 1;
+
 		if (is_i915_device(display->drm_fd))
 			pipe_crcs[i] = igt_pipe_crc_new(display->drm_fd, i, INTEL_PIPE_CRC_SOURCE_AUTO);
 
@@ -785,6 +788,8 @@ static void run_modeset_tests(igt_display_t *display, int howmany, bool nonblock
 			igt_plane_set_fb(plane, NULL);
 	}
 
+	iter_max = 1 << j;
+
 	igt_display_commit2(display, COMMIT_ATOMIC);
 
 	for (i = 0; i < iter_max; i++) {
-- 
2.24.1

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

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

* [igt-dev] [PATCH i-g-t 9/9] i915/gem_eio: Set modeset for enable pipes
  2020-07-01 19:08 [igt-dev] [PATCH i-g-t 0/9] lib/igt_kms: Add support for display with Mohammed Khajapasha
                   ` (7 preceding siblings ...)
  2020-07-01 19:08 ` [igt-dev] [PATCH i-g-t 8/9] tests/kms_atomic_transition: Set modeset for enable pipes only Mohammed Khajapasha
@ 2020-07-01 19:08 ` Mohammed Khajapasha
  2020-07-01 19:23 ` [igt-dev] ✗ Fi.CI.BUILD: failure for lib/igt_kms: Add support for display with (rev3) Patchwork
  9 siblings, 0 replies; 12+ messages in thread
From: Mohammed Khajapasha @ 2020-07-01 19:08 UTC (permalink / raw)
  To: arkadiusz.hiler, igt-dev

Set modeset for enable pipes only in kms test

Signed-off-by: Mohammed Khajapasha <mohammed.khajapasha@intel.com>
---
 tests/i915/gem_eio.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/tests/i915/gem_eio.c b/tests/i915/gem_eio.c
index cfc3f668..c5ef61bd 100644
--- a/tests/i915/gem_eio.c
+++ b/tests/i915/gem_eio.c
@@ -851,6 +851,8 @@ static void display_helper(igt_display_t *dpy, int *done)
 		int pipe;
 
 		pipe = rand() % dpy->n_pipes;
+		if (!dpy->pipes[pipe].enabled)
+			continue;
 		output = igt_get_single_output_for_pipe(dpy, pipe);
 		if (!output)
 			continue;
-- 
2.24.1

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

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

* [igt-dev] ✗ Fi.CI.BUILD: failure for lib/igt_kms: Add support for display with (rev3)
  2020-07-01 19:08 [igt-dev] [PATCH i-g-t 0/9] lib/igt_kms: Add support for display with Mohammed Khajapasha
                   ` (8 preceding siblings ...)
  2020-07-01 19:08 ` [igt-dev] [PATCH i-g-t 9/9] i915/gem_eio: Set modeset for enable pipes Mohammed Khajapasha
@ 2020-07-01 19:23 ` Patchwork
  9 siblings, 0 replies; 12+ messages in thread
From: Patchwork @ 2020-07-01 19:23 UTC (permalink / raw)
  To: Mohammed Khajapasha; +Cc: igt-dev

== Series Details ==

Series: lib/igt_kms: Add support for display with (rev3)
URL   : https://patchwork.freedesktop.org/series/78482/
State : failure

== Summary ==

IGT patchset build failed on latest successful build
54731f017df8660f29cc8f5db0b570239729e808 i915/gem_close_race: Mix in a contexts and a small delay to closure

[240/456] Linking target tests/gem_tiled_swapping.
[241/456] Linking target tests/gem_tiled_wb.
[242/456] Linking target tests/gem_tiling_max_stride.
[243/456] Linking target tests/gem_unfence_active_buffers.
[244/456] Linking target tests/gem_unref_active_buffers.
[245/456] Linking target tests/gem_userptr_blits.
[246/456] Linking target tests/gem_vm_create.
[247/456] Linking target tests/gem_wait.
[248/456] Linking target tests/gem_workarounds.
[249/456] Linking target tests/i915_fb_tiling.
[250/456] Linking target tests/i915_getparams_basic.
[251/456] Linking target tests/i915_hangman.
[252/456] Linking target tests/i915_module_load.
[253/456] Linking target tests/i915_pciid.
[254/456] Linking target tests/i915_pm_backlight.
[255/456] Linking target tests/i915_pm_lpsp.
[256/456] Linking target tests/i915_pm_rpm.
[257/456] Linking target tests/i915_pm_dc.
[258/456] Linking target tests/i915_pm_rps.
[259/456] Linking target tests/i915_pm_sseu.
[260/456] Linking target tests/i915_query.
[261/456] Linking target tests/sysfs_timeslice_duration.
[262/456] Linking target tests/i915_selftest.
[263/456] Linking target tests/i915_suspend.
[264/456] Linking target tests/gem_ctx_sseu.
[265/456] Linking target tests/dumb_buffer.
[266/456] Linking target tests/gem_create.
[267/456] Linking target tests/gem_ctx_freq.
[268/456] Linking target tests/gem_mmap_offset.
[269/456] Linking target tests/gem_eio.
[270/456] Linking target tests/gem_exec_balancer.
[271/456] Linking target tests/perf_pmu.
[272/456] Linking target tests/i915_pm_rc6_residency.
[273/456] Linking target tests/perf.
[274/456] Linking target tests/testdisplay.
[275/456] Linking target tests/kms_color.
[276/456] Compiling C object 'tests/tests@@kms_color_chamelium@exe/kms_color_chamelium.c.o'.
FAILED: tests/tests@@kms_color_chamelium@exe/kms_color_chamelium.c.o 
ccache cc -Itests/tests@@kms_color_chamelium@exe -Itests -I../tests -I../include/drm-uapi -Ilib -I../lib -I../lib/stubs/syscalls -I. -I../ -I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/libpng16 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/libdrm -I/usr/include/x86_64-linux-gnu -I/usr/include/alsa -I/usr/include -I/usr/include/libdrm/nouveau -I/home/cidrm/kernel_headers/include -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -std=gnu11 -O2 -g -D_GNU_SOURCE -include config.h -D_FORTIFY_SOURCE=2 -Wbad-function-cast -Wdeclaration-after-statement -Wformat=2 -Wimplicit-fallthrough=0 -Wlogical-op -Wmissing-declarations -Wmissing-format-attribute -Wmissing-noreturn -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wpointer-arith -Wredundant-decls -Wshadow -Wstrict-prototypes -Wuninitialized -Wunused -Wno-clobbered -Wno-maybe-uninitialized -Wno-missing-field-initializers -Wno-pointer-arith -Wno-sign-compare -Wno-type-limits -Wno-unused-parameter -Wno-unused-result -Werror=address -Werror=array-bounds -Werror=implicit -Werror=init-self -Werror=int-to-pointer-cast -Werror=main -Werror=missing-braces -Werror=nonnull -Werror=pointer-to-int-cast -Werror=return-type -Werror=sequence-point -Werror=trigraphs -Werror=write-strings -fno-builtin-malloc -fno-builtin-calloc -fcommon -pthread  -MD -MQ 'tests/tests@@kms_color_chamelium@exe/kms_color_chamelium.c.o' -MF 'tests/tests@@kms_color_chamelium@exe/kms_color_chamelium.c.o.d' -o 'tests/tests@@kms_color_chamelium@exe/kms_color_chamelium.c.o' -c ../tests/kms_color_chamelium.c
../tests/kms_color_chamelium.c: In function ‘run_tests_for_pipe’:
../tests/kms_color_chamelium.c:522:20: error: incompatible type for argument 1 of ‘igt_require_pipe’
   igt_require_pipe(data->display, p);
                    ^~~~
In file included from ../lib/igt.h:39:0,
                 from ../tests/kms_color_helper.h:38,
                 from ../tests/kms_color_chamelium.c:25:
../lib/igt_kms.h:870:6: note: expected ‘igt_display_t * {aka struct igt_display *}’ but argument is of type ‘igt_display_t {aka struct igt_display}’
 void igt_require_pipe(igt_display_t *display,
      ^~~~~~~~~~~~~~~~
ninja: build stopped: subcommand failed.

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

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

* [igt-dev] [PATCH i-g-t 2/9] lib/igt_kms: Add igt_require_pipe() function
  2020-07-02  4:52 [igt-dev] [PATCH i-g-t 0/9] lib/igt_kms: Add support for display with Mohammed Khajapasha
@ 2020-07-02  4:53 ` Mohammed Khajapasha
  0 siblings, 0 replies; 12+ messages in thread
From: Mohammed Khajapasha @ 2020-07-02  4:53 UTC (permalink / raw)
  To: arkadiusz.hiler, igt-dev

Add igt_require_pipe() fn to check whether a pipe is enabled or not

Signed-off-by: Mohammed Khajapasha <mohammed.khajapasha@intel.com>
---
 lib/igt_kms.c | 17 +++++++++++++++++
 lib/igt_kms.h | 13 +++++++++++++
 2 files changed, 30 insertions(+)

diff --git a/lib/igt_kms.c b/lib/igt_kms.c
index b9bfe4e3..acf0559e 100644
--- a/lib/igt_kms.c
+++ b/lib/igt_kms.c
@@ -1873,6 +1873,23 @@ void igt_display_reset(igt_display_t *display)
 static void igt_fill_plane_format_mod(igt_display_t *display, igt_plane_t *plane);
 static void igt_fill_display_format_mod(igt_display_t *display);
 
+/*
+ * igt_require_pipe:
+ * @display: pointer to igt_display_t
+ * @pipe: pipe which need to check
+ *
+ * Skip a (sub-)test if the pipe not enabled.
+ *
+ * Should be used everywhere where a test checks pipe and skip
+ * test when pipe is not enabled.
+ */
+void igt_require_pipe(igt_display_t *display, enum pipe pipe)
+{
+	igt_skip_on_f(!display->pipes[pipe].enabled,
+			"Pipe %s does not exist or not enabled\n",
+			kmstest_pipe_name(pipe));
+}
+
 /* Get crtc mask for a pipe using crtc id */
 static int
 __get_crtc_mask_for_pipe(drmModeRes *resources, igt_pipe_t *pipe)
diff --git a/lib/igt_kms.h b/lib/igt_kms.h
index 0b5e707a..36b15147 100644
--- a/lib/igt_kms.h
+++ b/lib/igt_kms.h
@@ -857,4 +857,17 @@ int igt_connector_sysfs_open(int drm_fd,
 			     drmModeConnector *connector);
 uint32_t igt_reduce_format(uint32_t format);
 
+/*
+ * igt_require_pipe:
+ * @display: pointer to igt_display_t
+ * @pipe: pipe which need to check
+ *
+ * Skip a (sub-)test if the pipe not enabled.
+ *
+ * Should be used everywhere where a test checks pipe and skip
+ * test when pipe is not enabled.
+ */
+void igt_require_pipe(igt_display_t *display,
+		enum pipe pipe);
+
 #endif /* __IGT_KMS_H__ */
-- 
2.24.1

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

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

end of thread, other threads:[~2020-07-02  4:52 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-07-01 19:08 [igt-dev] [PATCH i-g-t 0/9] lib/igt_kms: Add support for display with Mohammed Khajapasha
2020-07-01 19:08 ` [igt-dev] [PATCH i-g-t 1/9] lib/igt_kms: Add support for display with non-contiguous pipes Mohammed Khajapasha
2020-07-01 19:08 ` [igt-dev] [PATCH i-g-t 2/9] lib/igt_kms: Add igt_require_pipe() function Mohammed Khajapasha
2020-07-01 19:08 ` [igt-dev] [PATCH i-g-t 3/9] tests/kms_cursor_legacy: Read crtc id for enable pipes Mohammed Khajapasha
2020-07-01 19:08 ` [igt-dev] [PATCH i-g-t 4/9] tests/kms_lease: Get pipe from crtc " Mohammed Khajapasha
2020-07-01 19:08 ` [igt-dev] [PATCH i-g-t 5/9] tests/kms_lease: Read crtc id for a valid pipe Mohammed Khajapasha
2020-07-01 19:08 ` [igt-dev] [PATCH i-g-t 6/9] lib/kms: Skip igt test cases for disabled display pipes Mohammed Khajapasha
2020-07-01 19:08 ` [igt-dev] [PATCH i-g-t 7/9] tests/kms: Skip kms test cases for disabled pipes Mohammed Khajapasha
2020-07-01 19:08 ` [igt-dev] [PATCH i-g-t 8/9] tests/kms_atomic_transition: Set modeset for enable pipes only Mohammed Khajapasha
2020-07-01 19:08 ` [igt-dev] [PATCH i-g-t 9/9] i915/gem_eio: Set modeset for enable pipes Mohammed Khajapasha
2020-07-01 19:23 ` [igt-dev] ✗ Fi.CI.BUILD: failure for lib/igt_kms: Add support for display with (rev3) Patchwork
2020-07-02  4:52 [igt-dev] [PATCH i-g-t 0/9] lib/igt_kms: Add support for display with Mohammed Khajapasha
2020-07-02  4:53 ` [igt-dev] [PATCH i-g-t 2/9] lib/igt_kms: Add igt_require_pipe() function Mohammed Khajapasha

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.