* [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.