* [igt-dev] [PATCH i-g-t 0/6] lib/igt_kms: Add support for display with
@ 2020-06-17 18:03 Mohammed Khajapasha
2020-06-17 18:03 ` [igt-dev] [PATCH i-g-t 1/6] lib/igt_kms: Add support for display with non-contiguous pipes Mohammed Khajapasha
` (15 more replies)
0 siblings, 16 replies; 42+ messages in thread
From: Mohammed Khajapasha @ 2020-06-17 18:03 UTC (permalink / raw)
To: suresh.kumar.kurmi, kishore.kunche, petri.latvala,
mohammed.khajapasha, arkadiusz.hiler, igt-dev
Add support for display with non-contiguous pipes.
Mohammed Khajapasha (6):
lib/igt_kms: Add support for display with non-contiguous pipes
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
lib/igt_kms.c | 62 ++++++++++++++++++++++++++++++-------
lib/igt_kms.h | 13 +++++---
tests/kms_color.c | 3 +-
tests/kms_color_chamelium.c | 3 +-
tests/kms_concurrent.c | 3 +-
tests/kms_cursor_legacy.c | 14 ++++++---
tests/kms_lease.c | 8 +++--
tests/kms_pipe_crc_basic.c | 6 ++--
tests/kms_plane.c | 3 +-
tests/kms_plane_lowres.c | 3 +-
tests/kms_plane_multiple.c | 3 +-
tests/kms_universal_plane.c | 18 +++++++----
12 files changed, 102 insertions(+), 37 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] 42+ messages in thread* [igt-dev] [PATCH i-g-t 1/6] lib/igt_kms: Add support for display with non-contiguous pipes 2020-06-17 18:03 [igt-dev] [PATCH i-g-t 0/6] lib/igt_kms: Add support for display with Mohammed Khajapasha @ 2020-06-17 18:03 ` Mohammed Khajapasha 2020-06-17 18:06 ` Khajapasha, Mohammed ` (2 more replies) 2020-06-17 18:03 ` [igt-dev] [PATCH i-g-t 2/6] tests/kms_cursor_legacy: Read crtc id for enable pipes Mohammed Khajapasha ` (14 subsequent siblings) 15 siblings, 3 replies; 42+ messages in thread From: Mohammed Khajapasha @ 2020-06-17 18:03 UTC (permalink / raw) To: suresh.kumar.kurmi, kishore.kunche, petri.latvala, mohammed.khajapasha, 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. v2: changed upper bound allocation for pipes for i915 device (Petri) assigned pipe for a drm plane as per possible crtcs for plane (Petri) changed full pipe mask for a output using index of i (Petri) Signed-off-by: Mohammed Khajapasha <mohammed.khajapasha@intel.com> --- lib/igt_kms.c | 54 +++++++++++++++++++++++++++++++++++++++++++-------- lib/igt_kms.h | 13 ++++++++----- 2 files changed, 54 insertions(+), 13 deletions(-) diff --git a/lib/igt_kms.c b/lib/igt_kms.c index afef5939..277d5c37 100644 --- a/lib/igt_kms.c +++ b/lib/igt_kms.c @@ -1888,13 +1888,14 @@ void igt_display_require(igt_display_t *display, int drm_fd) { drmModeRes *resources; drmModePlaneRes *plane_resources; - int i; + int i, i915_dev; memset(display, 0, sizeof(igt_display_t)); LOG_INDENT(display, "init"); display->drm_fd = drm_fd; + i915_dev = is_i915_device(drm_fd); resources = drmModeGetResources(display->drm_fd); if (!resources) @@ -1921,10 +1922,33 @@ 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; + if (i915_dev) + display->n_pipes = IGT_MAX_PIPES; + else + display->n_pipes = resources->count_crtcs; + 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; + struct drm_i915_get_pipe_from_crtc_id get_pipe; + + /* Get right pipe enum from kernel for a 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); + + if (i915_dev) + pipe = &display->pipes[get_pipe.pipe]; + else + pipe = &display->pipes[i]; + pipe->pipe = get_pipe.pipe; + 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 +1979,33 @@ 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, k = 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 */ + if (i915_dev) { + for(k = 0; k < resources->count_crtcs; k++) { + if(pipe->crtc_id == resources->crtcs[k]) + break; + } + } else { + k = i; + } + /* 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 & (1 << k)) n_planes++; } @@ -1987,7 +2019,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 & (1 << k))) continue; type = global_plane->type; @@ -2409,12 +2441,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 32a0e4cc..e91a2094 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] 42+ messages in thread
* Re: [igt-dev] [PATCH i-g-t 1/6] lib/igt_kms: Add support for display with non-contiguous pipes 2020-06-17 18:03 ` [igt-dev] [PATCH i-g-t 1/6] lib/igt_kms: Add support for display with non-contiguous pipes Mohammed Khajapasha @ 2020-06-17 18:06 ` Khajapasha, Mohammed 2020-06-18 8:33 ` Petri Latvala 2020-06-18 9:35 ` [igt-dev] [PATCH i-g-t] " Mohammed Khajapasha 2 siblings, 0 replies; 42+ messages in thread From: Khajapasha, Mohammed @ 2020-06-17 18:06 UTC (permalink / raw) To: igt-dev@lists.freedesktop.org Review comments @ https://patchwork.freedesktop.org/patch/369594/?series=78198&rev=1 > -----Original Message----- > From: Khajapasha, Mohammed <mohammed.khajapasha@intel.com> > Sent: Wednesday, June 17, 2020 11:34 PM > To: Kurmi, Suresh Kumar <suresh.kumar.kurmi@intel.com>; Kunche, Kishore > <kishore.kunche@intel.com>; Latvala, Petri <petri.latvala@intel.com>; > Khajapasha, Mohammed <mohammed.khajapasha@intel.com>; Hiler, > Arkadiusz <arkadiusz.hiler@intel.com>; igt-dev@lists.freedesktop.org > Subject: [PATCH i-g-t 1/6] lib/igt_kms: Add support for display with non- > contiguous pipes > > 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. > > v2: > changed upper bound allocation for pipes for i915 device (Petri) > assigned pipe for a drm plane as per possible crtcs for plane (Petri) > changed full pipe mask for a output using index of i (Petri) > > Signed-off-by: Mohammed Khajapasha > <mohammed.khajapasha@intel.com> > --- > lib/igt_kms.c | 54 +++++++++++++++++++++++++++++++++++++++++++-------- > lib/igt_kms.h | 13 ++++++++----- > 2 files changed, 54 insertions(+), 13 deletions(-) > > diff --git a/lib/igt_kms.c b/lib/igt_kms.c index afef5939..277d5c37 100644 > --- a/lib/igt_kms.c > +++ b/lib/igt_kms.c > @@ -1888,13 +1888,14 @@ void igt_display_require(igt_display_t *display, > int drm_fd) { > drmModeRes *resources; > drmModePlaneRes *plane_resources; > - int i; > + int i, i915_dev; > > memset(display, 0, sizeof(igt_display_t)); > > LOG_INDENT(display, "init"); > > display->drm_fd = drm_fd; > + i915_dev = is_i915_device(drm_fd); > > resources = drmModeGetResources(display->drm_fd); > if (!resources) > @@ -1921,10 +1922,33 @@ 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; > + if (i915_dev) > + display->n_pipes = IGT_MAX_PIPES; > + else > + display->n_pipes = resources->count_crtcs; > + > 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; > + struct drm_i915_get_pipe_from_crtc_id get_pipe; > + > + /* Get right pipe enum from kernel for a 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); > + > + if (i915_dev) > + pipe = &display->pipes[get_pipe.pipe]; > + else > + pipe = &display->pipes[i]; > + pipe->pipe = get_pipe.pipe; > + 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 +1979,33 @@ 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, k = 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 */ > + if (i915_dev) { > + for(k = 0; k < resources->count_crtcs; k++) { > + if(pipe->crtc_id == resources->crtcs[k]) > + break; > + } > + } else { > + k = i; > + } > + > /* 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 & (1 << k)) > n_planes++; > } > > @@ -1987,7 +2019,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 & (1 << k))) > continue; > > type = global_plane->type; > @@ -2409,12 +2441,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 32a0e4cc..e91a2094 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 [flat|nested] 42+ messages in thread
* Re: [igt-dev] [PATCH i-g-t 1/6] lib/igt_kms: Add support for display with non-contiguous pipes 2020-06-17 18:03 ` [igt-dev] [PATCH i-g-t 1/6] lib/igt_kms: Add support for display with non-contiguous pipes Mohammed Khajapasha 2020-06-17 18:06 ` Khajapasha, Mohammed @ 2020-06-18 8:33 ` Petri Latvala 2020-06-18 9:35 ` [igt-dev] [PATCH i-g-t] " Mohammed Khajapasha 2 siblings, 0 replies; 42+ messages in thread From: Petri Latvala @ 2020-06-18 8:33 UTC (permalink / raw) To: Mohammed Khajapasha; +Cc: igt-dev, kishore.kunche, suresh.kumar.kurmi On Wed, Jun 17, 2020 at 11:33:49PM +0530, Mohammed Khajapasha wrote: > 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. > > v2: > changed upper bound allocation for pipes for i915 device (Petri) > assigned pipe for a drm plane as per possible crtcs for plane (Petri) > changed full pipe mask for a output using index of i (Petri) > > Signed-off-by: Mohammed Khajapasha <mohammed.khajapasha@intel.com> > --- > lib/igt_kms.c | 54 +++++++++++++++++++++++++++++++++++++++++++-------- > lib/igt_kms.h | 13 ++++++++----- > 2 files changed, 54 insertions(+), 13 deletions(-) > > diff --git a/lib/igt_kms.c b/lib/igt_kms.c > index afef5939..277d5c37 100644 > --- a/lib/igt_kms.c > +++ b/lib/igt_kms.c > @@ -1888,13 +1888,14 @@ void igt_display_require(igt_display_t *display, int drm_fd) > { > drmModeRes *resources; > drmModePlaneRes *plane_resources; > - int i; > + int i, i915_dev; > > memset(display, 0, sizeof(igt_display_t)); > > LOG_INDENT(display, "init"); > > display->drm_fd = drm_fd; > + i915_dev = is_i915_device(drm_fd); > > resources = drmModeGetResources(display->drm_fd); > if (!resources) > @@ -1921,10 +1922,33 @@ 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; > + if (i915_dev) > + display->n_pipes = IGT_MAX_PIPES; > + else > + display->n_pipes = resources->count_crtcs; > + > 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; > + struct drm_i915_get_pipe_from_crtc_id get_pipe; > + > + /* Get right pipe enum from kernel for a 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); > + > + if (i915_dev) > + pipe = &display->pipes[get_pipe.pipe]; > + else > + pipe = &display->pipes[i]; For non-i915 devices, avoid calling the ioctl entirely. -- Petri Latvala _______________________________________________ igt-dev mailing list igt-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/igt-dev ^ permalink raw reply [flat|nested] 42+ messages in thread
* [igt-dev] [PATCH i-g-t] lib/igt_kms: Add support for display with non-contiguous pipes 2020-06-17 18:03 ` [igt-dev] [PATCH i-g-t 1/6] lib/igt_kms: Add support for display with non-contiguous pipes Mohammed Khajapasha 2020-06-17 18:06 ` Khajapasha, Mohammed 2020-06-18 8:33 ` Petri Latvala @ 2020-06-18 9:35 ` Mohammed Khajapasha 2 siblings, 0 replies; 42+ messages in thread From: Mohammed Khajapasha @ 2020-06-18 9:35 UTC (permalink / raw) To: petri.latvala, mohammed.khajapasha, 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. v3: Avoiding calling get pipe from crtc id ioctl for non i915 device (petri) Signed-off-by: Mohammed Khajapasha <mohammed.khajapasha@intel.com> --- lib/igt_kms.c | 58 ++++++++++++++++++++++++++++++++++++++++++++------- lib/igt_kms.h | 13 +++++++----- 2 files changed, 58 insertions(+), 13 deletions(-) diff --git a/lib/igt_kms.c b/lib/igt_kms.c index afef5939..1b20c7e8 100644 --- a/lib/igt_kms.c +++ b/lib/igt_kms.c @@ -1888,13 +1888,14 @@ void igt_display_require(igt_display_t *display, int drm_fd) { drmModeRes *resources; drmModePlaneRes *plane_resources; - int i; + int i, i915_dev; memset(display, 0, sizeof(igt_display_t)); LOG_INDENT(display, "init"); display->drm_fd = drm_fd; + i915_dev = is_i915_device(drm_fd); resources = drmModeGetResources(display->drm_fd); if (!resources) @@ -1921,10 +1922,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; + if (i915_dev) + display->n_pipes = IGT_MAX_PIPES; + else + display->n_pipes = resources->count_crtcs; + 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; + + if (i915_dev) { + /* Get right pipe enum from kernel for a pipe */ + 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 +1983,33 @@ 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, k = 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 */ + if (i915_dev) { + for(k = 0; k < resources->count_crtcs; k++) { + if(pipe->crtc_id == resources->crtcs[k]) + break; + } + } else { + k = i; + } + /* 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 & (1 << k)) n_planes++; } @@ -1987,7 +2023,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 & (1 << k))) continue; type = global_plane->type; @@ -2409,12 +2445,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 32a0e4cc..e91a2094 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] 42+ messages in thread
* [igt-dev] [PATCH i-g-t 2/6] tests/kms_cursor_legacy: Read crtc id for enable pipes 2020-06-17 18:03 [igt-dev] [PATCH i-g-t 0/6] lib/igt_kms: Add support for display with Mohammed Khajapasha 2020-06-17 18:03 ` [igt-dev] [PATCH i-g-t 1/6] lib/igt_kms: Add support for display with non-contiguous pipes Mohammed Khajapasha @ 2020-06-17 18:03 ` Mohammed Khajapasha 2020-06-17 18:03 ` [igt-dev] [PATCH i-g-t 3/6] tests/kms_lease: Get pipe from crtc " Mohammed Khajapasha ` (13 subsequent siblings) 15 siblings, 0 replies; 42+ messages in thread From: Mohammed Khajapasha @ 2020-06-17 18:03 UTC (permalink / raw) To: suresh.kumar.kurmi, kishore.kunche, petri.latvala, mohammed.khajapasha, 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 | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/tests/kms_cursor_legacy.c b/tests/kms_cursor_legacy.c index 344442e8..151bd31d 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,8 @@ igt_main errno = 0; igt_fixture { - igt_skip_on(n >= display.n_pipes); + igt_require_f(display.pipes[n].enabled, + "Pipe-%s not enabled\n", kmstest_pipe_name(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] 42+ messages in thread
* [igt-dev] [PATCH i-g-t 3/6] tests/kms_lease: Get pipe from crtc for enable pipes 2020-06-17 18:03 [igt-dev] [PATCH i-g-t 0/6] lib/igt_kms: Add support for display with Mohammed Khajapasha 2020-06-17 18:03 ` [igt-dev] [PATCH i-g-t 1/6] lib/igt_kms: Add support for display with non-contiguous pipes Mohammed Khajapasha 2020-06-17 18:03 ` [igt-dev] [PATCH i-g-t 2/6] tests/kms_cursor_legacy: Read crtc id for enable pipes Mohammed Khajapasha @ 2020-06-17 18:03 ` Mohammed Khajapasha 2020-06-17 18:03 ` [igt-dev] [PATCH i-g-t 4/6] tests/kms_lease: Read crtc id for a valid pipe Mohammed Khajapasha ` (12 subsequent siblings) 15 siblings, 0 replies; 42+ messages in thread From: Mohammed Khajapasha @ 2020-06-17 18:03 UTC (permalink / raw) To: suresh.kumar.kurmi, kishore.kunche, petri.latvala, mohammed.khajapasha, 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 927c2315..007ae47f 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] 42+ messages in thread
* [igt-dev] [PATCH i-g-t 4/6] tests/kms_lease: Read crtc id for a valid pipe 2020-06-17 18:03 [igt-dev] [PATCH i-g-t 0/6] lib/igt_kms: Add support for display with Mohammed Khajapasha ` (2 preceding siblings ...) 2020-06-17 18:03 ` [igt-dev] [PATCH i-g-t 3/6] tests/kms_lease: Get pipe from crtc " Mohammed Khajapasha @ 2020-06-17 18:03 ` Mohammed Khajapasha 2020-06-17 18:03 ` [igt-dev] [PATCH i-g-t 5/6] lib/kms: Skip igt test cases for disabled display pipes Mohammed Khajapasha ` (11 subsequent siblings) 15 siblings, 0 replies; 42+ messages in thread From: Mohammed Khajapasha @ 2020-06-17 18:03 UTC (permalink / raw) To: suresh.kumar.kurmi, kishore.kunche, petri.latvala, mohammed.khajapasha, 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 007ae47f..3c92ca78 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] 42+ messages in thread
* [igt-dev] [PATCH i-g-t 5/6] lib/kms: Skip igt test cases for disabled display pipes 2020-06-17 18:03 [igt-dev] [PATCH i-g-t 0/6] lib/igt_kms: Add support for display with Mohammed Khajapasha ` (3 preceding siblings ...) 2020-06-17 18:03 ` [igt-dev] [PATCH i-g-t 4/6] tests/kms_lease: Read crtc id for a valid pipe Mohammed Khajapasha @ 2020-06-17 18:03 ` Mohammed Khajapasha 2020-06-17 18:03 ` [igt-dev] [PATCH i-g-t 6/6] tests/kms: Skip kms test cases for disabled pipes Mohammed Khajapasha ` (10 subsequent siblings) 15 siblings, 0 replies; 42+ messages in thread From: Mohammed Khajapasha @ 2020-06-17 18:03 UTC (permalink / raw) To: suresh.kumar.kurmi, kishore.kunche, petri.latvala, mohammed.khajapasha, arkadiusz.hiler, igt-dev Skip igt test cases for disabled pipes. Signed-off-by: Mohammed Khajapasha <mohammed.khajapasha@intel.com> --- lib/igt_kms.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/lib/igt_kms.c b/lib/igt_kms.c index 277d5c37..134b54dd 100644 --- a/lib/igt_kms.c +++ b/lib/igt_kms.c @@ -2162,8 +2162,9 @@ 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_skip_on_f(((pipe >= igt_display_get_n_pipes(display)) || + !(display->pipes[pipe].enabled)), + "Pipe %s does not exist or not enabled.\n", kmstest_pipe_name(pipe)); for_each_valid_output_on_pipe(display, pipe, output) return; @@ -2518,7 +2519,8 @@ 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->n_pipes) && + display->pipes[pipe].enabled); __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] 42+ messages in thread
* [igt-dev] [PATCH i-g-t 6/6] tests/kms: Skip kms test cases for disabled pipes 2020-06-17 18:03 [igt-dev] [PATCH i-g-t 0/6] lib/igt_kms: Add support for display with Mohammed Khajapasha ` (4 preceding siblings ...) 2020-06-17 18:03 ` [igt-dev] [PATCH i-g-t 5/6] lib/kms: Skip igt test cases for disabled display pipes Mohammed Khajapasha @ 2020-06-17 18:03 ` Mohammed Khajapasha 2020-06-17 18:36 ` [igt-dev] ✓ Fi.CI.BAT: success for lib/igt_kms: Add support for display with Patchwork ` (9 subsequent siblings) 15 siblings, 0 replies; 42+ messages in thread From: Mohammed Khajapasha @ 2020-06-17 18:03 UTC (permalink / raw) To: suresh.kumar.kurmi, kishore.kunche, petri.latvala, mohammed.khajapasha, 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 | 3 ++- tests/kms_color_chamelium.c | 3 ++- tests/kms_concurrent.c | 3 ++- tests/kms_pipe_crc_basic.c | 6 ++++-- tests/kms_plane.c | 3 ++- tests/kms_plane_lowres.c | 3 ++- tests/kms_plane_multiple.c | 3 ++- tests/kms_universal_plane.c | 18 ++++++++++++------ 8 files changed, 28 insertions(+), 14 deletions(-) diff --git a/tests/kms_color.c b/tests/kms_color.c index 7f2fbd4a..19f0f9b5 100644 --- a/tests/kms_color.c +++ b/tests/kms_color.c @@ -628,7 +628,8 @@ 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((p < data->display.n_pipes) && + (data->display.pipes[p].enabled)); 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..2d690ca3 100644 --- a/tests/kms_color_chamelium.c +++ b/tests/kms_color_chamelium.c @@ -519,7 +519,8 @@ run_tests_for_pipe(data_t *data, enum pipe p) igt_fixture { - igt_require(p < data->display.n_pipes); + igt_require((p < data->display.n_pipes) && + (data->display.pipes[p].enabled)); 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..1730bb2b 100644 --- a/tests/kms_concurrent.c +++ b/tests/kms_concurrent.c @@ -320,7 +320,8 @@ 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_skip_on((pipe >= data->display.n_pipes) || + !(data->display.pipes[pipe].enabled)); 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..ec31e2ca 100644 --- a/tests/kms_pipe_crc_basic.c +++ b/tests/kms_pipe_crc_basic.c @@ -71,7 +71,8 @@ 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_skip_on((pipe >= display->n_pipes) || + !(display->pipes[pipe].enabled)); igt_require_f(output, "No connector found for pipe %s\n", kmstest_pipe_name(pipe)); @@ -187,7 +188,8 @@ 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_skip_on((pipe >= data.display.n_pipes) || + !(data.display.pipes[pipe].enabled)); test_read_crc(&data, pipe, 0); diff --git a/tests/kms_plane.c b/tests/kms_plane.c index c6ead813..85ed4f94 100644 --- a/tests/kms_plane.c +++ b/tests/kms_plane.c @@ -940,7 +940,8 @@ static void run_tests_for_pipe_plane(data_t *data, enum pipe pipe) { igt_fixture { - igt_skip_on(pipe >= data->display.n_pipes); + igt_skip_on((pipe >= data->display.n_pipes) || + !(data->display.pipes[pipe].enabled)); 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..16afe570 100644 --- a/tests/kms_plane_lowres.c +++ b/tests/kms_plane_lowres.c @@ -259,7 +259,8 @@ 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_skip_on((data->pipe >= data->display.n_pipes) || + !(data->display.pipes[data->pipe].enabled)); 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..e7b5951c 100644 --- a/tests/kms_plane_multiple.c +++ b/tests/kms_plane_multiple.c @@ -378,7 +378,8 @@ static void run_tests_for_pipe(data_t *data, enum pipe pipe) { igt_fixture { - igt_skip_on(pipe >= data->display.n_pipes); + igt_skip_on((pipe >= data->display.n_pipes) || + !(data->display.pipes[pipe].enabled)); 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..ce28b37d 100644 --- a/tests/kms_universal_plane.c +++ b/tests/kms_universal_plane.c @@ -135,7 +135,8 @@ 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_skip_on((pipe >= display->n_pipes) || + !(display->pipes[pipe].enabled)); igt_info("Testing connector %s using pipe %s\n", igt_output_name(output), kmstest_pipe_name(pipe)); @@ -364,7 +365,8 @@ 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_skip_on((pipe >= data->display.n_pipes) || + !(data->display.pipes[pipe].enabled)); igt_output_set_pipe(output, pipe); mode = igt_output_get_mode(output); @@ -476,7 +478,8 @@ 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_skip_on((pipe >= data->display.n_pipes) || + !(data->display.pipes[pipe].enabled)); igt_output_set_pipe(output, pipe); @@ -577,7 +580,8 @@ 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_skip_on((pipe >= display->n_pipes) || + !(display->pipes[pipe].enabled)); igt_require(display->has_cursor_plane); igt_output_set_pipe(output, pipe); @@ -705,7 +709,8 @@ 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_skip_on((pipe >= data->display.n_pipes) || + !(data->display.pipes[pipe].enabled)); igt_output_set_pipe(output, pipe); @@ -750,7 +755,8 @@ 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_skip_on((pipe >= data->display.n_pipes) || + !(data->display.pipes[pipe].enabled)); 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] 42+ messages in thread
* [igt-dev] ✓ Fi.CI.BAT: success for lib/igt_kms: Add support for display with 2020-06-17 18:03 [igt-dev] [PATCH i-g-t 0/6] lib/igt_kms: Add support for display with Mohammed Khajapasha ` (5 preceding siblings ...) 2020-06-17 18:03 ` [igt-dev] [PATCH i-g-t 6/6] tests/kms: Skip kms test cases for disabled pipes Mohammed Khajapasha @ 2020-06-17 18:36 ` Patchwork 2020-06-17 19:36 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork ` (8 subsequent siblings) 15 siblings, 0 replies; 42+ messages in thread From: Patchwork @ 2020-06-17 18:36 UTC (permalink / raw) To: Khajapasha, Mohammed; +Cc: igt-dev == Series Details == Series: lib/igt_kms: Add support for display with URL : https://patchwork.freedesktop.org/series/78482/ State : success == Summary == CI Bug Log - changes from IGT_5712 -> IGTPW_4680 ==================================================== Summary ------- **SUCCESS** No regressions found. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4680/index.html Known issues ------------ Here are the changes found in IGTPW_4680 that come from known issues: ### IGT changes ### #### Issues hit #### * igt@gem_exec_suspend@basic-s0: - fi-apl-guc: [PASS][1] -> [INCOMPLETE][2] ([i915#1242]) [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/fi-apl-guc/igt@gem_exec_suspend@basic-s0.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4680/fi-apl-guc/igt@gem_exec_suspend@basic-s0.html * igt@i915_pm_backlight@basic-brightness: - fi-whl-u: [PASS][3] -> [DMESG-WARN][4] ([i915#95]) [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/fi-whl-u/igt@i915_pm_backlight@basic-brightness.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4680/fi-whl-u/igt@i915_pm_backlight@basic-brightness.html * igt@i915_pm_rpm@module-reload: - fi-kbl-guc: [PASS][5] -> [FAIL][6] ([i915#579]) [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/fi-kbl-guc/igt@i915_pm_rpm@module-reload.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4680/fi-kbl-guc/igt@i915_pm_rpm@module-reload.html - fi-glk-dsi: [PASS][7] -> [DMESG-WARN][8] ([i915#1982]) [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/fi-glk-dsi/igt@i915_pm_rpm@module-reload.html [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4680/fi-glk-dsi/igt@i915_pm_rpm@module-reload.html * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic: - fi-byt-j1900: [PASS][9] -> [DMESG-WARN][10] ([i915#1982]) [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/fi-byt-j1900/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4680/fi-byt-j1900/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html * igt@kms_cursor_legacy@basic-flip-before-cursor-legacy: - fi-icl-guc: [PASS][11] -> [DMESG-WARN][12] ([i915#1982]) [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/fi-icl-guc/igt@kms_cursor_legacy@basic-flip-before-cursor-legacy.html [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4680/fi-icl-guc/igt@kms_cursor_legacy@basic-flip-before-cursor-legacy.html #### Possible fixes #### * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy: - fi-icl-guc: [DMESG-WARN][13] ([i915#1982]) -> [PASS][14] [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/fi-icl-guc/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4680/fi-icl-guc/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html * igt@kms_flip@basic-flip-vs-wf_vblank@c-edp1: - fi-icl-u2: [DMESG-WARN][15] ([i915#1982]) -> [PASS][16] +1 similar issue [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/fi-icl-u2/igt@kms_flip@basic-flip-vs-wf_vblank@c-edp1.html [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4680/fi-icl-u2/igt@kms_flip@basic-flip-vs-wf_vblank@c-edp1.html #### Warnings #### * igt@kms_cursor_legacy@basic-flip-before-cursor-legacy: - fi-kbl-x1275: [DMESG-WARN][17] ([i915#62] / [i915#92] / [i915#95]) -> [DMESG-WARN][18] ([i915#62] / [i915#92]) [17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/fi-kbl-x1275/igt@kms_cursor_legacy@basic-flip-before-cursor-legacy.html [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4680/fi-kbl-x1275/igt@kms_cursor_legacy@basic-flip-before-cursor-legacy.html * igt@prime_vgem@basic-fence-flip: - fi-kbl-x1275: [DMESG-WARN][19] ([i915#62] / [i915#92]) -> [DMESG-WARN][20] ([i915#62] / [i915#92] / [i915#95]) +8 similar issues [19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/fi-kbl-x1275/igt@prime_vgem@basic-fence-flip.html [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4680/fi-kbl-x1275/igt@prime_vgem@basic-fence-flip.html [i915#1242]: https://gitlab.freedesktop.org/drm/intel/issues/1242 [i915#1982]: https://gitlab.freedesktop.org/drm/intel/issues/1982 [i915#579]: https://gitlab.freedesktop.org/drm/intel/issues/579 [i915#62]: https://gitlab.freedesktop.org/drm/intel/issues/62 [i915#92]: https://gitlab.freedesktop.org/drm/intel/issues/92 [i915#95]: https://gitlab.freedesktop.org/drm/intel/issues/95 Participating hosts (48 -> 41) ------------------------------ Missing (7): fi-ilk-m540 fi-cml-s fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-ctg-p8600 fi-byt-clapper Build changes ------------- * CI: CI-20190529 -> None * IGT: IGT_5712 -> IGTPW_4680 CI-20190529: 20190529 CI_DRM_8639: 47584e59cf51ec499d68a4cefbaf447448ce2894 @ git://anongit.freedesktop.org/gfx-ci/linux IGTPW_4680: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4680/index.html IGT_5712: eba1135ddd35f9d3097ed91032aefe8f9a9f9d02 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4680/index.html _______________________________________________ igt-dev mailing list igt-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/igt-dev ^ permalink raw reply [flat|nested] 42+ messages in thread
* [igt-dev] ✗ Fi.CI.IGT: failure for lib/igt_kms: Add support for display with 2020-06-17 18:03 [igt-dev] [PATCH i-g-t 0/6] lib/igt_kms: Add support for display with Mohammed Khajapasha ` (6 preceding siblings ...) 2020-06-17 18:36 ` [igt-dev] ✓ Fi.CI.BAT: success for lib/igt_kms: Add support for display with Patchwork @ 2020-06-17 19:36 ` Patchwork 2020-06-18 10:56 ` [igt-dev] ✓ Fi.CI.BAT: success for lib/igt_kms: Add support for display with (rev2) Patchwork ` (7 subsequent siblings) 15 siblings, 0 replies; 42+ messages in thread From: Patchwork @ 2020-06-17 19:36 UTC (permalink / raw) To: Khajapasha, Mohammed; +Cc: igt-dev == Series Details == Series: lib/igt_kms: Add support for display with URL : https://patchwork.freedesktop.org/series/78482/ State : failure == Summary == CI Bug Log - changes from IGT_5712_full -> IGTPW_4680_full ==================================================== Summary ------- **FAILURE** Serious unknown changes coming with IGTPW_4680_full absolutely need to be verified manually. If you think the reported changes have nothing to do with the changes introduced in IGTPW_4680_full, please notify your bug team to allow them to document this new failure mode, which will reduce false positives in CI. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4680/index.html Possible new issues ------------------- Here are the unknown changes that may have been introduced in IGTPW_4680_full: ### IGT changes ### #### Possible regressions #### * igt@kms_atomic_transition@1x-modeset-transitions: - shard-snb: [PASS][1] -> [FAIL][2] +3 similar issues [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-snb4/igt@kms_atomic_transition@1x-modeset-transitions.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4680/shard-snb6/igt@kms_atomic_transition@1x-modeset-transitions.html * igt@kms_atomic_transition@1x-modeset-transitions-fencing: - shard-kbl: [PASS][3] -> [FAIL][4] +4 similar issues [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-kbl7/igt@kms_atomic_transition@1x-modeset-transitions-fencing.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4680/shard-kbl4/igt@kms_atomic_transition@1x-modeset-transitions-fencing.html - shard-iclb: [PASS][5] -> [FAIL][6] +4 similar issues [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-iclb4/igt@kms_atomic_transition@1x-modeset-transitions-fencing.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4680/shard-iclb4/igt@kms_atomic_transition@1x-modeset-transitions-fencing.html * igt@kms_atomic_transition@1x-modeset-transitions-nonblocking: - shard-apl: [PASS][7] -> [FAIL][8] +4 similar issues [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-apl7/igt@kms_atomic_transition@1x-modeset-transitions-nonblocking.html [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4680/shard-apl2/igt@kms_atomic_transition@1x-modeset-transitions-nonblocking.html - shard-tglb: [PASS][9] -> [FAIL][10] +3 similar issues [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-tglb7/igt@kms_atomic_transition@1x-modeset-transitions-nonblocking.html [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4680/shard-tglb5/igt@kms_atomic_transition@1x-modeset-transitions-nonblocking.html * igt@kms_atomic_transition@1x-modeset-transitions-nonblocking-fencing: - shard-snb: NOTRUN -> [FAIL][11] [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4680/shard-snb6/igt@kms_atomic_transition@1x-modeset-transitions-nonblocking-fencing.html - shard-tglb: NOTRUN -> [FAIL][12] +1 similar issue [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4680/shard-tglb3/igt@kms_atomic_transition@1x-modeset-transitions-nonblocking-fencing.html - shard-glk: NOTRUN -> [FAIL][13] [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4680/shard-glk9/igt@kms_atomic_transition@1x-modeset-transitions-nonblocking-fencing.html - shard-apl: NOTRUN -> [FAIL][14] [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4680/shard-apl6/igt@kms_atomic_transition@1x-modeset-transitions-nonblocking-fencing.html - shard-iclb: NOTRUN -> [FAIL][15] [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4680/shard-iclb1/igt@kms_atomic_transition@1x-modeset-transitions-nonblocking-fencing.html - shard-kbl: NOTRUN -> [FAIL][16] [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4680/shard-kbl4/igt@kms_atomic_transition@1x-modeset-transitions-nonblocking-fencing.html - shard-hsw: NOTRUN -> [FAIL][17] [17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4680/shard-hsw7/igt@kms_atomic_transition@1x-modeset-transitions-nonblocking-fencing.html * igt@kms_atomic_transition@2x-modeset-transitions-fencing: - shard-hsw: [PASS][18] -> [FAIL][19] +8 similar issues [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-hsw5/igt@kms_atomic_transition@2x-modeset-transitions-fencing.html [19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4680/shard-hsw8/igt@kms_atomic_transition@2x-modeset-transitions-fencing.html * igt@kms_atomic_transition@2x-modeset-transitions-nonblocking-fencing: - shard-glk: [PASS][20] -> [FAIL][21] +7 similar issues [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-glk9/igt@kms_atomic_transition@2x-modeset-transitions-nonblocking-fencing.html [21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4680/shard-glk9/igt@kms_atomic_transition@2x-modeset-transitions-nonblocking-fencing.html #### Warnings #### * igt@gem_eio@kms: - shard-snb: [DMESG-WARN][22] ([i915#1982]) -> [FAIL][23] [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-snb1/igt@gem_eio@kms.html [23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4680/shard-snb4/igt@gem_eio@kms.html Known issues ------------ Here are the changes found in IGTPW_4680_full that come from known issues: ### IGT changes ### #### Issues hit #### * igt@gem_exec_schedule@implicit-read-write@rcs0: - shard-snb: [PASS][24] -> [INCOMPLETE][25] ([i915#82]) [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-snb1/igt@gem_exec_schedule@implicit-read-write@rcs0.html [25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4680/shard-snb1/igt@gem_exec_schedule@implicit-read-write@rcs0.html * igt@gem_softpin@noreloc-s3: - shard-kbl: [PASS][26] -> [INCOMPLETE][27] ([i915#1959]) [26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-kbl3/igt@gem_softpin@noreloc-s3.html [27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4680/shard-kbl6/igt@gem_softpin@noreloc-s3.html * igt@kms_addfb_basic@tile-pitch-mismatch: - shard-snb: [PASS][28] -> [TIMEOUT][29] ([i915#1958]) +3 similar issues [28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-snb6/igt@kms_addfb_basic@tile-pitch-mismatch.html [29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4680/shard-snb4/igt@kms_addfb_basic@tile-pitch-mismatch.html * igt@kms_addfb_basic@unused-pitches: - shard-kbl: [PASS][30] -> [DMESG-WARN][31] ([i915#93] / [i915#95]) +33 similar issues [30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-kbl2/igt@kms_addfb_basic@unused-pitches.html [31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4680/shard-kbl6/igt@kms_addfb_basic@unused-pitches.html * igt@kms_cursor_crc@pipe-a-cursor-128x128-random: - shard-kbl: [PASS][32] -> [DMESG-FAIL][33] ([i915#54] / [i915#95]) +3 similar issues [32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-kbl4/igt@kms_cursor_crc@pipe-a-cursor-128x128-random.html [33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4680/shard-kbl4/igt@kms_cursor_crc@pipe-a-cursor-128x128-random.html * igt@kms_cursor_legacy@all-pipes-forked-move: - shard-hsw: [PASS][34] -> [TIMEOUT][35] ([i915#1958]) +3 similar issues [34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-hsw1/igt@kms_cursor_legacy@all-pipes-forked-move.html [35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4680/shard-hsw2/igt@kms_cursor_legacy@all-pipes-forked-move.html * igt@kms_draw_crc@draw-method-xrgb8888-pwrite-untiled: - shard-apl: [PASS][36] -> [DMESG-FAIL][37] ([i915#54] / [i915#95]) [36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-apl4/igt@kms_draw_crc@draw-method-xrgb8888-pwrite-untiled.html [37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4680/shard-apl3/igt@kms_draw_crc@draw-method-xrgb8888-pwrite-untiled.html * igt@kms_flip@modeset-vs-vblank-race@a-dp1: - shard-kbl: [PASS][38] -> [DMESG-WARN][39] ([i915#1982]) [38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-kbl2/igt@kms_flip@modeset-vs-vblank-race@a-dp1.html [39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4680/shard-kbl3/igt@kms_flip@modeset-vs-vblank-race@a-dp1.html * igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-pwrite: - shard-tglb: [PASS][40] -> [DMESG-WARN][41] ([i915#1982]) +1 similar issue [40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-tglb3/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-pwrite.html [41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4680/shard-tglb7/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-pwrite.html * igt@kms_hdmi_inject@inject-audio: - shard-tglb: [PASS][42] -> [SKIP][43] ([i915#433]) [42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-tglb7/igt@kms_hdmi_inject@inject-audio.html [43]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4680/shard-tglb5/igt@kms_hdmi_inject@inject-audio.html * igt@kms_hdr@bpc-switch-suspend: - shard-kbl: [PASS][44] -> [DMESG-WARN][45] ([i915#180]) +3 similar issues [44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-kbl4/igt@kms_hdr@bpc-switch-suspend.html [45]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4680/shard-kbl2/igt@kms_hdr@bpc-switch-suspend.html * igt@kms_plane_cursor@pipe-a-viewport-size-256: - shard-apl: [PASS][46] -> [DMESG-FAIL][47] ([i915#95]) [46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-apl7/igt@kms_plane_cursor@pipe-a-viewport-size-256.html [47]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4680/shard-apl4/igt@kms_plane_cursor@pipe-a-viewport-size-256.html - shard-kbl: [PASS][48] -> [DMESG-FAIL][49] ([i915#95]) [48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-kbl6/igt@kms_plane_cursor@pipe-a-viewport-size-256.html [49]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4680/shard-kbl4/igt@kms_plane_cursor@pipe-a-viewport-size-256.html * igt@kms_psr@psr2_primary_mmap_gtt: - shard-iclb: [PASS][50] -> [SKIP][51] ([fdo#109441]) [50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-iclb2/igt@kms_psr@psr2_primary_mmap_gtt.html [51]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4680/shard-iclb4/igt@kms_psr@psr2_primary_mmap_gtt.html * igt@kms_vblank@pipe-b-wait-forked-busy: - shard-apl: [PASS][52] -> [DMESG-WARN][53] ([i915#1982]) [52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-apl6/igt@kms_vblank@pipe-b-wait-forked-busy.html [53]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4680/shard-apl4/igt@kms_vblank@pipe-b-wait-forked-busy.html * igt@perf@blocking-parameterized: - shard-iclb: [PASS][54] -> [FAIL][55] ([i915#1542]) [54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-iclb4/igt@perf@blocking-parameterized.html [55]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4680/shard-iclb3/igt@perf@blocking-parameterized.html * igt@prime_mmap_kms@buffer-sharing: - shard-tglb: [PASS][56] -> [DMESG-WARN][57] ([i915#402]) +1 similar issue [56]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-tglb7/igt@prime_mmap_kms@buffer-sharing.html [57]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4680/shard-tglb1/igt@prime_mmap_kms@buffer-sharing.html * igt@syncobj_wait@multi-wait-all-submitted-signaled: - shard-apl: [PASS][58] -> [DMESG-WARN][59] ([i915#95]) +32 similar issues [58]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-apl7/igt@syncobj_wait@multi-wait-all-submitted-signaled.html [59]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4680/shard-apl6/igt@syncobj_wait@multi-wait-all-submitted-signaled.html #### Possible fixes #### * igt@gem_ctx_persistence@legacy-engines-mixed-process@bsd1: - shard-tglb: [FAIL][60] ([i915#1528]) -> [PASS][61] [60]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-tglb2/igt@gem_ctx_persistence@legacy-engines-mixed-process@bsd1.html [61]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4680/shard-tglb6/igt@gem_ctx_persistence@legacy-engines-mixed-process@bsd1.html * igt@gem_exec_whisper@basic-contexts: - shard-iclb: [DMESG-WARN][62] ([i915#1982]) -> [PASS][63] [62]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-iclb2/igt@gem_exec_whisper@basic-contexts.html [63]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4680/shard-iclb7/igt@gem_exec_whisper@basic-contexts.html * igt@gem_exec_whisper@basic-contexts-priority-all: - shard-glk: [DMESG-WARN][64] ([i915#118] / [i915#95]) -> [PASS][65] [64]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-glk4/igt@gem_exec_whisper@basic-contexts-priority-all.html [65]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4680/shard-glk1/igt@gem_exec_whisper@basic-contexts-priority-all.html * igt@gem_shrink@reclaim: - shard-hsw: [SKIP][66] ([fdo#109271]) -> [PASS][67] [66]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-hsw7/igt@gem_shrink@reclaim.html [67]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4680/shard-hsw5/igt@gem_shrink@reclaim.html * igt@i915_pm_dc@dc6-psr: - shard-iclb: [FAIL][68] ([i915#1899]) -> [PASS][69] [68]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-iclb2/igt@i915_pm_dc@dc6-psr.html [69]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4680/shard-iclb5/igt@i915_pm_dc@dc6-psr.html * igt@i915_suspend@debugfs-reader: - shard-tglb: [INCOMPLETE][70] ([i915#1602] / [i915#456]) -> [PASS][71] [70]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-tglb3/igt@i915_suspend@debugfs-reader.html [71]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4680/shard-tglb3/igt@i915_suspend@debugfs-reader.html * igt@kms_addfb_basic@bad-pitch-128: - shard-snb: [TIMEOUT][72] ([i915#1958]) -> [PASS][73] +4 similar issues [72]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-snb6/igt@kms_addfb_basic@bad-pitch-128.html [73]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4680/shard-snb2/igt@kms_addfb_basic@bad-pitch-128.html - shard-hsw: [TIMEOUT][74] ([i915#1958]) -> [PASS][75] +4 similar issues [74]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-hsw2/igt@kms_addfb_basic@bad-pitch-128.html [75]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4680/shard-hsw8/igt@kms_addfb_basic@bad-pitch-128.html * igt@kms_cursor_edge_walk@pipe-a-64x64-bottom-edge: - shard-apl: [DMESG-WARN][76] ([i915#95]) -> [PASS][77] +39 similar issues [76]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-apl6/igt@kms_cursor_edge_walk@pipe-a-64x64-bottom-edge.html [77]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4680/shard-apl8/igt@kms_cursor_edge_walk@pipe-a-64x64-bottom-edge.html * igt@kms_draw_crc@draw-method-xrgb8888-mmap-gtt-xtiled: - shard-kbl: [DMESG-WARN][78] ([i915#93] / [i915#95]) -> [PASS][79] +42 similar issues [78]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-kbl2/igt@kms_draw_crc@draw-method-xrgb8888-mmap-gtt-xtiled.html [79]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4680/shard-kbl3/igt@kms_draw_crc@draw-method-xrgb8888-mmap-gtt-xtiled.html * igt@kms_flip@flip-vs-suspend-interruptible@a-dp1: - shard-kbl: [DMESG-WARN][80] ([i915#180]) -> [PASS][81] +6 similar issues [80]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-kbl6/igt@kms_flip@flip-vs-suspend-interruptible@a-dp1.html [81]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4680/shard-kbl1/igt@kms_flip@flip-vs-suspend-interruptible@a-dp1.html * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-shrfb-plflip-blt: - shard-apl: [FAIL][82] ([i915#49]) -> [PASS][83] [82]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-apl1/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-shrfb-plflip-blt.html [83]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4680/shard-apl4/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-shrfb-plflip-blt.html - shard-kbl: [FAIL][84] ([i915#49]) -> [PASS][85] [84]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-kbl4/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-shrfb-plflip-blt.html [85]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4680/shard-kbl4/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-shrfb-plflip-blt.html * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-cpu: - shard-tglb: [DMESG-WARN][86] ([i915#1982]) -> [PASS][87] [86]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-tglb5/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-cpu.html [87]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4680/shard-tglb8/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-cpu.html * igt@kms_plane_alpha_blend@pipe-a-constant-alpha-mid: - shard-kbl: [DMESG-FAIL][88] ([fdo#108145] / [i915#95]) -> [PASS][89] +1 similar issue [88]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-kbl1/igt@kms_plane_alpha_blend@pipe-a-constant-alpha-mid.html [89]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4680/shard-kbl6/igt@kms_plane_alpha_blend@pipe-a-constant-alpha-mid.html * igt@kms_plane_alpha_blend@pipe-a-coverage-vs-premult-vs-constant: - shard-apl: [DMESG-FAIL][90] ([fdo#108145] / [i915#95]) -> [PASS][91] [90]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-apl3/igt@kms_plane_alpha_blend@pipe-a-coverage-vs-premult-vs-constant.html [91]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4680/shard-apl7/igt@kms_plane_alpha_blend@pipe-a-coverage-vs-premult-vs-constant.html * igt@kms_psr@psr2_sprite_plane_move: - shard-iclb: [SKIP][92] ([fdo#109441]) -> [PASS][93] +1 similar issue [92]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-iclb8/igt@kms_psr@psr2_sprite_plane_move.html [93]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4680/shard-iclb2/igt@kms_psr@psr2_sprite_plane_move.html * igt@kms_setmode@basic: - shard-kbl: [FAIL][94] ([i915#31]) -> [PASS][95] [94]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-kbl7/igt@kms_setmode@basic.html [95]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4680/shard-kbl6/igt@kms_setmode@basic.html * igt@kms_vblank@pipe-b-ts-continuation-dpms-suspend: - shard-apl: [INCOMPLETE][96] -> [PASS][97] [96]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-apl6/igt@kms_vblank@pipe-b-ts-continuation-dpms-suspend.html [97]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4680/shard-apl1/igt@kms_vblank@pipe-b-ts-continuation-dpms-suspend.html * igt@perf_pmu@module-unload: - shard-tglb: [DMESG-WARN][98] ([i915#402]) -> [PASS][99] +1 similar issue [98]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-tglb1/igt@perf_pmu@module-unload.html [99]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4680/shard-tglb7/igt@perf_pmu@module-unload.html * igt@perf_pmu@semaphore-busy@rcs0: - shard-kbl: [FAIL][100] ([i915#1820] / [i915#93] / [i915#95]) -> [PASS][101] [100]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-kbl7/igt@perf_pmu@semaphore-busy@rcs0.html [101]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4680/shard-kbl4/igt@perf_pmu@semaphore-busy@rcs0.html #### Warnings #### * igt@i915_pm_dc@dc6-psr: - shard-tglb: [FAIL][102] ([i915#1899]) -> [SKIP][103] ([i915#468]) [102]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-tglb5/igt@i915_pm_dc@dc6-psr.html [103]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4680/shard-tglb2/igt@i915_pm_dc@dc6-psr.html * igt@kms_color@pipe-a-degamma: - shard-apl: [DMESG-WARN][104] ([i915#95]) -> [FAIL][105] ([fdo#108145] / [i915#71]) [104]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-apl1/igt@kms_color@pipe-a-degamma.html [105]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4680/shard-apl6/igt@kms_color@pipe-a-degamma.html - shard-kbl: [DMESG-WARN][106] ([i915#93] / [i915#95]) -> [FAIL][107] ([fdo#108145] / [i915#71]) [106]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-kbl4/igt@kms_color@pipe-a-degamma.html [107]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4680/shard-kbl6/igt@kms_color@pipe-a-degamma.html * igt@kms_cursor_crc@pipe-d-cursor-64x21-sliding: - shard-iclb: [SKIP][108] ([fdo#109278] / [fdo#112010] / [i915#508]) -> [SKIP][109] ([fdo#109278] / [fdo#112010]) [108]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-iclb6/igt@kms_cursor_crc@pipe-d-cursor-64x21-sliding.html [109]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4680/shard-iclb6/igt@kms_cursor_crc@pipe-d-cursor-64x21-sliding.html * igt@kms_cursor_legacy@pipe-d-forked-bo: - shard-iclb: [SKIP][110] ([fdo#109278] / [fdo#112010]) -> [SKIP][111] ([fdo#109278]) +4 similar issues [110]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-iclb7/igt@kms_cursor_legacy@pipe-d-forked-bo.html [111]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4680/shard-iclb6/igt@kms_cursor_legacy@pipe-d-forked-bo.html * igt@kms_frontbuffer_tracking@fbc-suspend: - shard-kbl: [DMESG-WARN][112] ([i915#93] / [i915#95]) -> [DMESG-WARN][113] ([i915#180] / [i915#93] / [i915#95]) [112]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-kbl4/igt@kms_frontbuffer_tracking@fbc-suspend.html [113]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4680/shard-kbl3/igt@kms_frontbuffer_tracking@fbc-suspend.html * igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-indfb-plflip-blt: - shard-snb: [SKIP][114] ([fdo#109271]) -> [TIMEOUT][115] ([i915#1958]) +1 similar issue [114]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-snb5/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-indfb-plflip-blt.html [115]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4680/shard-snb4/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-indfb-plflip-blt.html - shard-hsw: [SKIP][116] ([fdo#109271]) -> [TIMEOUT][117] ([i915#1958]) +1 similar issue [116]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-hsw7/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-indfb-plflip-blt.html [117]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4680/shard-hsw2/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-indfb-plflip-blt.html * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-c: - shard-kbl: [DMESG-WARN][118] ([i915#93] / [i915#95]) -> [DMESG-WARN][119] ([i915#180]) [118]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-kbl2/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-c.html [119]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4680/shard-kbl6/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-c.html * igt@kms_plane_alpha_blend@pipe-c-alpha-transparent-fb: - shard-apl: [DMESG-FAIL][120] ([i915#95]) -> [FAIL][121] ([i915#265]) [120]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-apl6/igt@kms_plane_alpha_blend@pipe-c-alpha-transparent-fb.html [121]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4680/shard-apl1/igt@kms_plane_alpha_blend@pipe-c-alpha-transparent-fb.html - shard-kbl: [DMESG-FAIL][122] ([i915#95]) -> [FAIL][123] ([i915#265]) [122]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-kbl6/igt@kms_plane_alpha_blend@pipe-c-alpha-transparent-fb.html [123]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4680/shard-kbl3/igt@kms_plane_alpha_blend@pipe-c-alpha-transparent-fb.html * igt@kms_plane_multiple@atomic-pipe-d-tiling-yf: - shard-tglb: [SKIP][124] ([fdo#112025] / [fdo#112054]) -> [SKIP][125] ([fdo#112054]) [124]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-tglb5/igt@kms_plane_multiple@atomic-pipe-d-tiling-yf.html [125]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4680/shard-tglb1/igt@kms_plane_multiple@atomic-pipe-d-tiling-yf.html * igt@kms_plane_scaling@2x-scaler-multi-pipe: - shard-tglb: [SKIP][126] ([fdo#111825] / [fdo#112015]) -> [SKIP][127] ([fdo#111825]) [126]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-tglb5/igt@kms_plane_scaling@2x-scaler-multi-pipe.html [127]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4680/shard-tglb5/igt@kms_plane_scaling@2x-scaler-multi-pipe.html * igt@kms_sysfs_edid_timing: - shard-kbl: [FAIL][128] ([IGT#2]) -> [DMESG-FAIL][129] ([IGT#2] / [i915#95]) [128]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-kbl4/igt@kms_sysfs_edid_timing.html [129]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4680/shard-kbl2/igt@kms_sysfs_edid_timing.html [IGT#2]: https://gitlab.freedesktop.org/drm/igt-gpu-tools/issues/2 [fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145 [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271 [fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278 [fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441 [fdo#111825]: https://bugs.freedesktop.org/show_bug.cgi?id=111825 [fdo#112010]: https://bugs.freedesktop.org/show_bug.cgi?id=112010 [fdo#112015]: https://bugs.freedesktop.org/show_bug.cgi?id=112015 [fdo#112025]: https://bugs.freedesktop.org/show_bug.cgi?id=112025 [fdo#112054]: https://bugs.freedesktop.org/show_bug.cgi?id=112054 [i915#118]: https://gitlab.freedesktop.org/drm/intel/issues/118 [i915#1528]: https://gitlab.freedesktop.org/drm/intel/issues/1528 [i915#1542]: https://gitlab.freedesktop.org/drm/intel/issues/1542 [i915#1602]: https://gitlab.freedesktop.org/drm/intel/issues/1602 [i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180 [i915#1820]: https://gitlab.freedesktop.org/drm/intel/issues/1820 [i915#1899]: https://gitlab.freedesktop.org/drm/intel/issues/1899 [i915#1958]: https://gitlab.freedesktop.org/drm/intel/issues/1958 [i915#1959]: https://gitlab.freedesktop.org/drm/intel/issues/1959 [i915#1982]: https://gitlab.freedesktop.org/drm/intel/issues/1982 [i915#265]: https://gitlab.freedesktop.org/drm/intel/issues/265 [i915#31]: https://gitlab.freedesktop.org/drm/intel/issues/31 [i915#402]: https://gitlab.freedesktop.org/drm/intel/issues/402 [i915#433]: https://gitlab.freedesktop.org/drm/intel/issues/433 [i915#456]: https://gitlab.freedesktop.org/drm/intel/issues/456 [i915#468]: https://gitlab.freedesktop.org/drm/intel/issues/468 [i915#49]: https://gitlab.freedesktop.org/drm/intel/issues/49 [i915#508]: https://gitlab.freedesktop.org/drm/intel/issues/508 [i915#54]: https://gitlab.freedesktop.org/drm/intel/issues/54 [i915#71]: https://gitlab.freedesktop.org/drm/intel/issues/71 [i915#82]: https://gitlab.freedesktop.org/drm/intel/issues/82 [i915#93]: https://gitlab.freedesktop.org/drm/intel/issues/93 [i915#95]: https://gitlab.freedesktop.org/drm/intel/issues/95 Participating hosts (8 -> 8) ------------------------------ No changes in participating hosts Build changes ------------- * CI: CI-20190529 -> None * IGT: IGT_5712 -> IGTPW_4680 CI-20190529: 20190529 CI_DRM_8639: 47584e59cf51ec499d68a4cefbaf447448ce2894 @ git://anongit.freedesktop.org/gfx-ci/linux IGTPW_4680: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4680/index.html IGT_5712: eba1135ddd35f9d3097ed91032aefe8f9a9f9d02 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4680/index.html _______________________________________________ igt-dev mailing list igt-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/igt-dev ^ permalink raw reply [flat|nested] 42+ messages in thread
* [igt-dev] ✓ Fi.CI.BAT: success for lib/igt_kms: Add support for display with (rev2) 2020-06-17 18:03 [igt-dev] [PATCH i-g-t 0/6] lib/igt_kms: Add support for display with Mohammed Khajapasha ` (7 preceding siblings ...) 2020-06-17 19:36 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork @ 2020-06-18 10:56 ` Patchwork 2020-06-18 12:52 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork ` (6 subsequent siblings) 15 siblings, 0 replies; 42+ messages in thread From: Patchwork @ 2020-06-18 10:56 UTC (permalink / raw) To: Mohammed Khajapasha; +Cc: igt-dev == Series Details == Series: lib/igt_kms: Add support for display with (rev2) URL : https://patchwork.freedesktop.org/series/78482/ State : success == Summary == CI Bug Log - changes from CI_DRM_8641 -> IGTPW_4681 ==================================================== Summary ------- **SUCCESS** No regressions found. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4681/index.html Known issues ------------ Here are the changes found in IGTPW_4681 that come from known issues: ### IGT changes ### #### Issues hit #### * igt@i915_pm_rpm@basic-pci-d3-state: - fi-bsw-n3050: [PASS][1] -> [DMESG-WARN][2] ([i915#1982]) [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8641/fi-bsw-n3050/igt@i915_pm_rpm@basic-pci-d3-state.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4681/fi-bsw-n3050/igt@i915_pm_rpm@basic-pci-d3-state.html - fi-bsw-kefka: [PASS][3] -> [DMESG-WARN][4] ([i915#1982]) [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8641/fi-bsw-kefka/igt@i915_pm_rpm@basic-pci-d3-state.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4681/fi-bsw-kefka/igt@i915_pm_rpm@basic-pci-d3-state.html * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic: - fi-icl-u2: [PASS][5] -> [DMESG-WARN][6] ([i915#1982]) [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8641/fi-icl-u2/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4681/fi-icl-u2/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html * igt@kms_cursor_legacy@basic-flip-after-cursor-atomic: - fi-icl-guc: [PASS][7] -> [DMESG-WARN][8] ([i915#1982]) [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8641/fi-icl-guc/igt@kms_cursor_legacy@basic-flip-after-cursor-atomic.html [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4681/fi-icl-guc/igt@kms_cursor_legacy@basic-flip-after-cursor-atomic.html #### Possible fixes #### * igt@i915_module_load@reload: - fi-tgl-u2: [DMESG-WARN][9] ([i915#402]) -> [PASS][10] [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8641/fi-tgl-u2/igt@i915_module_load@reload.html [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4681/fi-tgl-u2/igt@i915_module_load@reload.html * igt@i915_pm_rpm@basic-pci-d3-state: - fi-byt-j1900: [DMESG-WARN][11] ([i915#1982]) -> [PASS][12] [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8641/fi-byt-j1900/igt@i915_pm_rpm@basic-pci-d3-state.html [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4681/fi-byt-j1900/igt@i915_pm_rpm@basic-pci-d3-state.html * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic: - {fi-kbl-7560u}: [DMESG-WARN][13] ([i915#1982]) -> [PASS][14] [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8641/fi-kbl-7560u/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4681/fi-kbl-7560u/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html * igt@kms_flip@basic-flip-vs-modeset@d-dsi1: - {fi-tgl-dsi}: [DMESG-WARN][15] ([i915#1982]) -> [PASS][16] [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8641/fi-tgl-dsi/igt@kms_flip@basic-flip-vs-modeset@d-dsi1.html [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4681/fi-tgl-dsi/igt@kms_flip@basic-flip-vs-modeset@d-dsi1.html #### Warnings #### * igt@gem_exec_suspend@basic-s0: - fi-kbl-x1275: [DMESG-WARN][17] ([i915#62] / [i915#92]) -> [DMESG-WARN][18] ([i915#62] / [i915#92] / [i915#95]) +4 similar issues [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8641/fi-kbl-x1275/igt@gem_exec_suspend@basic-s0.html [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4681/fi-kbl-x1275/igt@gem_exec_suspend@basic-s0.html * igt@gem_exec_suspend@basic-s3: - fi-kbl-x1275: [DMESG-WARN][19] ([i915#62] / [i915#92] / [i915#95]) -> [DMESG-WARN][20] ([i915#1982] / [i915#62] / [i915#92] / [i915#95]) [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8641/fi-kbl-x1275/igt@gem_exec_suspend@basic-s3.html [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4681/fi-kbl-x1275/igt@gem_exec_suspend@basic-s3.html * igt@kms_pipe_crc_basic@read-crc-pipe-b: - fi-kbl-x1275: [DMESG-WARN][21] ([i915#62] / [i915#92] / [i915#95]) -> [DMESG-WARN][22] ([i915#62] / [i915#92]) [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8641/fi-kbl-x1275/igt@kms_pipe_crc_basic@read-crc-pipe-b.html [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4681/fi-kbl-x1275/igt@kms_pipe_crc_basic@read-crc-pipe-b.html {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [i915#1982]: https://gitlab.freedesktop.org/drm/intel/issues/1982 [i915#402]: https://gitlab.freedesktop.org/drm/intel/issues/402 [i915#62]: https://gitlab.freedesktop.org/drm/intel/issues/62 [i915#92]: https://gitlab.freedesktop.org/drm/intel/issues/92 [i915#95]: https://gitlab.freedesktop.org/drm/intel/issues/95 Participating hosts (49 -> 41) ------------------------------ Missing (8): fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-cfl-guc fi-ctg-p8600 fi-byt-clapper fi-bdw-samus Build changes ------------- * CI: CI-20190529 -> None * IGT: IGT_5712 -> IGTPW_4681 CI-20190529: 20190529 CI_DRM_8641: aac91f91c7be78f53b352237d968dfa1996b2d4b @ git://anongit.freedesktop.org/gfx-ci/linux IGTPW_4681: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4681/index.html IGT_5712: eba1135ddd35f9d3097ed91032aefe8f9a9f9d02 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4681/index.html _______________________________________________ igt-dev mailing list igt-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/igt-dev ^ permalink raw reply [flat|nested] 42+ messages in thread
* [igt-dev] ✗ Fi.CI.IGT: failure for lib/igt_kms: Add support for display with (rev2) 2020-06-17 18:03 [igt-dev] [PATCH i-g-t 0/6] lib/igt_kms: Add support for display with Mohammed Khajapasha ` (8 preceding siblings ...) 2020-06-18 10:56 ` [igt-dev] ✓ Fi.CI.BAT: success for lib/igt_kms: Add support for display with (rev2) Patchwork @ 2020-06-18 12:52 ` Patchwork 2020-06-18 15:32 ` [igt-dev] ✗ GitLab.Pipeline: warning for lib/igt_kms: Add support for display with Patchwork ` (5 subsequent siblings) 15 siblings, 0 replies; 42+ messages in thread From: Patchwork @ 2020-06-18 12:52 UTC (permalink / raw) To: Mohammed Khajapasha; +Cc: igt-dev == Series Details == Series: lib/igt_kms: Add support for display with (rev2) URL : https://patchwork.freedesktop.org/series/78482/ State : failure == Summary == CI Bug Log - changes from CI_DRM_8641_full -> IGTPW_4681_full ==================================================== Summary ------- **FAILURE** Serious unknown changes coming with IGTPW_4681_full absolutely need to be verified manually. If you think the reported changes have nothing to do with the changes introduced in IGTPW_4681_full, please notify your bug team to allow them to document this new failure mode, which will reduce false positives in CI. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4681/index.html Possible new issues ------------------- Here are the unknown changes that may have been introduced in IGTPW_4681_full: ### IGT changes ### #### Possible regressions #### * igt@kms_atomic_transition@1x-modeset-transitions: - shard-snb: [PASS][1] -> [FAIL][2] +3 similar issues [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8641/shard-snb5/igt@kms_atomic_transition@1x-modeset-transitions.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4681/shard-snb1/igt@kms_atomic_transition@1x-modeset-transitions.html * igt@kms_atomic_transition@1x-modeset-transitions-fencing: - shard-kbl: [PASS][3] -> [FAIL][4] +4 similar issues [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8641/shard-kbl7/igt@kms_atomic_transition@1x-modeset-transitions-fencing.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4681/shard-kbl6/igt@kms_atomic_transition@1x-modeset-transitions-fencing.html - shard-iclb: [PASS][5] -> [FAIL][6] +4 similar issues [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8641/shard-iclb3/igt@kms_atomic_transition@1x-modeset-transitions-fencing.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4681/shard-iclb5/igt@kms_atomic_transition@1x-modeset-transitions-fencing.html * igt@kms_atomic_transition@1x-modeset-transitions-nonblocking: - shard-apl: [PASS][7] -> [FAIL][8] +4 similar issues [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8641/shard-apl8/igt@kms_atomic_transition@1x-modeset-transitions-nonblocking.html [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4681/shard-apl7/igt@kms_atomic_transition@1x-modeset-transitions-nonblocking.html - shard-tglb: [PASS][9] -> [FAIL][10] +4 similar issues [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8641/shard-tglb8/igt@kms_atomic_transition@1x-modeset-transitions-nonblocking.html [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4681/shard-tglb3/igt@kms_atomic_transition@1x-modeset-transitions-nonblocking.html * igt@kms_atomic_transition@1x-modeset-transitions-nonblocking-fencing: - shard-snb: NOTRUN -> [FAIL][11] +1 similar issue [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4681/shard-snb2/igt@kms_atomic_transition@1x-modeset-transitions-nonblocking-fencing.html - shard-tglb: NOTRUN -> [FAIL][12] +1 similar issue [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4681/shard-tglb1/igt@kms_atomic_transition@1x-modeset-transitions-nonblocking-fencing.html - shard-glk: NOTRUN -> [FAIL][13] [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4681/shard-glk2/igt@kms_atomic_transition@1x-modeset-transitions-nonblocking-fencing.html - shard-apl: NOTRUN -> [FAIL][14] [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4681/shard-apl7/igt@kms_atomic_transition@1x-modeset-transitions-nonblocking-fencing.html - shard-iclb: NOTRUN -> [FAIL][15] [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4681/shard-iclb4/igt@kms_atomic_transition@1x-modeset-transitions-nonblocking-fencing.html - shard-kbl: NOTRUN -> [FAIL][16] [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4681/shard-kbl3/igt@kms_atomic_transition@1x-modeset-transitions-nonblocking-fencing.html - shard-hsw: NOTRUN -> [FAIL][17] [17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4681/shard-hsw7/igt@kms_atomic_transition@1x-modeset-transitions-nonblocking-fencing.html * igt@kms_atomic_transition@2x-modeset-transitions-fencing: - shard-hsw: [PASS][18] -> [FAIL][19] +8 similar issues [18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8641/shard-hsw2/igt@kms_atomic_transition@2x-modeset-transitions-fencing.html [19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4681/shard-hsw2/igt@kms_atomic_transition@2x-modeset-transitions-fencing.html * igt@kms_atomic_transition@2x-modeset-transitions-nonblocking-fencing: - shard-glk: [PASS][20] -> [FAIL][21] +8 similar issues [20]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8641/shard-glk4/igt@kms_atomic_transition@2x-modeset-transitions-nonblocking-fencing.html [21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4681/shard-glk7/igt@kms_atomic_transition@2x-modeset-transitions-nonblocking-fencing.html #### Warnings #### * igt@kms_multipipe_modeset@basic-max-pipe-crc-check: - shard-tglb: [SKIP][22] ([i915#1839]) -> [SKIP][23] [22]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8641/shard-tglb6/igt@kms_multipipe_modeset@basic-max-pipe-crc-check.html [23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4681/shard-tglb3/igt@kms_multipipe_modeset@basic-max-pipe-crc-check.html - shard-iclb: [SKIP][24] ([i915#1839]) -> [SKIP][25] [24]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8641/shard-iclb1/igt@kms_multipipe_modeset@basic-max-pipe-crc-check.html [25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4681/shard-iclb7/igt@kms_multipipe_modeset@basic-max-pipe-crc-check.html Known issues ------------ Here are the changes found in IGTPW_4681_full that come from known issues: ### IGT changes ### #### Issues hit #### * igt@gem_exec_schedule@implicit-read-write@bcs0: - shard-snb: [PASS][26] -> [INCOMPLETE][27] ([i915#82]) [26]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8641/shard-snb4/igt@gem_exec_schedule@implicit-read-write@bcs0.html [27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4681/shard-snb2/igt@gem_exec_schedule@implicit-read-write@bcs0.html * igt@gem_exec_whisper@basic-contexts: - shard-glk: [PASS][28] -> [DMESG-WARN][29] ([i915#118] / [i915#95]) [28]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8641/shard-glk8/igt@gem_exec_whisper@basic-contexts.html [29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4681/shard-glk7/igt@gem_exec_whisper@basic-contexts.html * igt@kms_atomic@atomic-invalid-params: - shard-apl: [PASS][30] -> [DMESG-WARN][31] ([i915#95]) +39 similar issues [30]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8641/shard-apl1/igt@kms_atomic@atomic-invalid-params.html [31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4681/shard-apl1/igt@kms_atomic@atomic-invalid-params.html * igt@kms_cursor_crc@pipe-a-cursor-128x42-random: - shard-kbl: [PASS][32] -> [DMESG-FAIL][33] ([i915#54] / [i915#95]) [32]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8641/shard-kbl3/igt@kms_cursor_crc@pipe-a-cursor-128x42-random.html [33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4681/shard-kbl2/igt@kms_cursor_crc@pipe-a-cursor-128x42-random.html * igt@kms_frontbuffer_tracking@fbc-farfromfence: - shard-kbl: [PASS][34] -> [DMESG-WARN][35] ([i915#93] / [i915#95]) +40 similar issues [34]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8641/shard-kbl1/igt@kms_frontbuffer_tracking@fbc-farfromfence.html [35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4681/shard-kbl1/igt@kms_frontbuffer_tracking@fbc-farfromfence.html * igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-render: - shard-tglb: [PASS][36] -> [DMESG-WARN][37] ([i915#1982]) [36]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8641/shard-tglb6/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-render.html [37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4681/shard-tglb1/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-render.html * igt@kms_pipe_crc_basic@read-crc-pipe-d: - shard-tglb: [PASS][38] -> [DMESG-WARN][39] ([i915#402]) +1 similar issue [38]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8641/shard-tglb2/igt@kms_pipe_crc_basic@read-crc-pipe-d.html [39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4681/shard-tglb2/igt@kms_pipe_crc_basic@read-crc-pipe-d.html * igt@kms_plane@plane-panning-bottom-right-suspend-pipe-c-planes: - shard-kbl: [PASS][40] -> [DMESG-WARN][41] ([i915#180]) +1 similar issue [40]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8641/shard-kbl1/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-c-planes.html [41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4681/shard-kbl7/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-c-planes.html * igt@kms_psr2_su@frontbuffer: - shard-tglb: [PASS][42] -> [SKIP][43] ([i915#1911]) [42]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8641/shard-tglb6/igt@kms_psr2_su@frontbuffer.html [43]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4681/shard-tglb2/igt@kms_psr2_su@frontbuffer.html * igt@kms_psr@psr2_primary_render: - shard-iclb: [PASS][44] -> [SKIP][45] ([fdo#109441]) [44]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8641/shard-iclb2/igt@kms_psr@psr2_primary_render.html [45]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4681/shard-iclb5/igt@kms_psr@psr2_primary_render.html * igt@kms_setmode@basic: - shard-apl: [PASS][46] -> [FAIL][47] ([i915#31]) [46]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8641/shard-apl1/igt@kms_setmode@basic.html [47]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4681/shard-apl2/igt@kms_setmode@basic.html * igt@kms_vblank@pipe-a-query-busy-hang: - shard-glk: [PASS][48] -> [DMESG-WARN][49] ([i915#1982]) [48]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8641/shard-glk5/igt@kms_vblank@pipe-a-query-busy-hang.html [49]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4681/shard-glk9/igt@kms_vblank@pipe-a-query-busy-hang.html * igt@kms_vblank@pipe-b-query-busy-hang: - shard-apl: [PASS][50] -> [DMESG-WARN][51] ([i915#1982]) +1 similar issue [50]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8641/shard-apl2/igt@kms_vblank@pipe-b-query-busy-hang.html [51]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4681/shard-apl7/igt@kms_vblank@pipe-b-query-busy-hang.html * igt@kms_vblank@pipe-b-query-forked-busy-hang: - shard-hsw: [PASS][52] -> [TIMEOUT][53] ([i915#1958]) +4 similar issues [52]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8641/shard-hsw7/igt@kms_vblank@pipe-b-query-forked-busy-hang.html [53]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4681/shard-hsw8/igt@kms_vblank@pipe-b-query-forked-busy-hang.html * igt@perf_pmu@module-unload: - shard-iclb: [PASS][54] -> [DMESG-WARN][55] ([i915#1982]) [54]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8641/shard-iclb4/igt@perf_pmu@module-unload.html [55]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4681/shard-iclb7/igt@perf_pmu@module-unload.html #### Possible fixes #### * igt@gem_exec_schedule@implicit-write-read@rcs0: - shard-snb: [INCOMPLETE][56] ([i915#82]) -> [PASS][57] [56]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8641/shard-snb2/igt@gem_exec_schedule@implicit-write-read@rcs0.html [57]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4681/shard-snb5/igt@gem_exec_schedule@implicit-write-read@rcs0.html * igt@gem_exec_whisper@basic-contexts-all: - shard-glk: [DMESG-WARN][58] ([i915#118] / [i915#95]) -> [PASS][59] +1 similar issue [58]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8641/shard-glk7/igt@gem_exec_whisper@basic-contexts-all.html [59]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4681/shard-glk5/igt@gem_exec_whisper@basic-contexts-all.html * igt@i915_module_load@reload: - shard-tglb: [DMESG-WARN][60] ([i915#402]) -> [PASS][61] [60]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8641/shard-tglb3/igt@i915_module_load@reload.html [61]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4681/shard-tglb5/igt@i915_module_load@reload.html * igt@i915_pm_dc@dc6-psr: - shard-iclb: [FAIL][62] ([i915#1899]) -> [PASS][63] [62]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8641/shard-iclb8/igt@i915_pm_dc@dc6-psr.html [63]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4681/shard-iclb1/igt@i915_pm_dc@dc6-psr.html * igt@i915_suspend@debugfs-reader: - shard-tglb: [INCOMPLETE][64] ([i915#1602] / [i915#456]) -> [PASS][65] [64]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8641/shard-tglb3/igt@i915_suspend@debugfs-reader.html [65]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4681/shard-tglb6/igt@i915_suspend@debugfs-reader.html * igt@kms_addfb_basic@bad-pitch-128: - shard-snb: [TIMEOUT][66] ([i915#1958]) -> [PASS][67] +4 similar issues [66]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8641/shard-snb1/igt@kms_addfb_basic@bad-pitch-128.html [67]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4681/shard-snb6/igt@kms_addfb_basic@bad-pitch-128.html - shard-hsw: [TIMEOUT][68] ([i915#1958]) -> [PASS][69] +4 similar issues [68]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8641/shard-hsw4/igt@kms_addfb_basic@bad-pitch-128.html [69]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4681/shard-hsw2/igt@kms_addfb_basic@bad-pitch-128.html * {igt@kms_atomic_transition@plane-all-transition@hdmi-a-1-pipe-a}: - shard-glk: [INCOMPLETE][70] ([i915#58] / [k.org#198133]) -> [PASS][71] [70]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8641/shard-glk8/igt@kms_atomic_transition@plane-all-transition@hdmi-a-1-pipe-a.html [71]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4681/shard-glk6/igt@kms_atomic_transition@plane-all-transition@hdmi-a-1-pipe-a.html * igt@kms_cursor_crc@pipe-c-cursor-256x85-sliding: - shard-apl: [FAIL][72] ([i915#54]) -> [PASS][73] [72]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8641/shard-apl3/igt@kms_cursor_crc@pipe-c-cursor-256x85-sliding.html [73]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4681/shard-apl7/igt@kms_cursor_crc@pipe-c-cursor-256x85-sliding.html * igt@kms_flip@flip-vs-suspend-interruptible@a-dp1: - shard-kbl: [DMESG-WARN][74] ([i915#180]) -> [PASS][75] +11 similar issues [74]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8641/shard-kbl4/igt@kms_flip@flip-vs-suspend-interruptible@a-dp1.html [75]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4681/shard-kbl4/igt@kms_flip@flip-vs-suspend-interruptible@a-dp1.html * igt@kms_flip@plain-flip-fb-recreate@a-dp1: - shard-kbl: [DMESG-WARN][76] ([i915#1982]) -> [PASS][77] [76]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8641/shard-kbl4/igt@kms_flip@plain-flip-fb-recreate@a-dp1.html [77]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4681/shard-kbl3/igt@kms_flip@plain-flip-fb-recreate@a-dp1.html * igt@kms_flip_tiling@flip-x-tiled: - shard-apl: [DMESG-WARN][78] ([i915#95]) -> [PASS][79] +36 similar issues [78]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8641/shard-apl6/igt@kms_flip_tiling@flip-x-tiled.html [79]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4681/shard-apl8/igt@kms_flip_tiling@flip-x-tiled.html * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-shrfb-plflip-blt: - shard-apl: [DMESG-FAIL][80] ([i915#49] / [i915#95]) -> [PASS][81] [80]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8641/shard-apl8/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-shrfb-plflip-blt.html [81]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4681/shard-apl2/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-shrfb-plflip-blt.html - shard-kbl: [FAIL][82] ([i915#49]) -> [PASS][83] [82]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8641/shard-kbl7/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-shrfb-plflip-blt.html [83]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4681/shard-kbl6/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-shrfb-plflip-blt.html * igt@kms_frontbuffer_tracking@fbc-badstride: - shard-glk: [DMESG-WARN][84] ([i915#1982]) -> [PASS][85] [84]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8641/shard-glk9/igt@kms_frontbuffer_tracking@fbc-badstride.html [85]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4681/shard-glk5/igt@kms_frontbuffer_tracking@fbc-badstride.html * igt@kms_frontbuffer_tracking@fbc-shrfb-scaledprimary: - shard-iclb: [DMESG-WARN][86] ([i915#1982]) -> [PASS][87] [86]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8641/shard-iclb7/igt@kms_frontbuffer_tracking@fbc-shrfb-scaledprimary.html [87]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4681/shard-iclb7/igt@kms_frontbuffer_tracking@fbc-shrfb-scaledprimary.html * igt@kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-shrfb-draw-mmap-gtt: - shard-tglb: [DMESG-WARN][88] ([i915#1982]) -> [PASS][89] [88]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8641/shard-tglb8/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-shrfb-draw-mmap-gtt.html [89]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4681/shard-tglb8/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-shrfb-draw-mmap-gtt.html * igt@kms_plane_alpha_blend@pipe-a-constant-alpha-mid: - shard-kbl: [DMESG-FAIL][90] ([fdo#108145] / [i915#95]) -> [PASS][91] +1 similar issue [90]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8641/shard-kbl6/igt@kms_plane_alpha_blend@pipe-a-constant-alpha-mid.html [91]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4681/shard-kbl1/igt@kms_plane_alpha_blend@pipe-a-constant-alpha-mid.html * igt@kms_plane_alpha_blend@pipe-a-coverage-vs-premult-vs-constant: - shard-apl: [DMESG-FAIL][92] ([fdo#108145] / [i915#95]) -> [PASS][93] +1 similar issue [92]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8641/shard-apl4/igt@kms_plane_alpha_blend@pipe-a-coverage-vs-premult-vs-constant.html [93]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4681/shard-apl7/igt@kms_plane_alpha_blend@pipe-a-coverage-vs-premult-vs-constant.html * igt@kms_psr@no_drrs: - shard-iclb: [FAIL][94] ([i915#173]) -> [PASS][95] [94]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8641/shard-iclb1/igt@kms_psr@no_drrs.html [95]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4681/shard-iclb8/igt@kms_psr@no_drrs.html * igt@kms_psr@psr2_sprite_plane_move: - shard-iclb: [SKIP][96] ([fdo#109441]) -> [PASS][97] +2 similar issues [96]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8641/shard-iclb3/igt@kms_psr@psr2_sprite_plane_move.html [97]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4681/shard-iclb2/igt@kms_psr@psr2_sprite_plane_move.html * igt@kms_vblank@pipe-a-ts-continuation-suspend: - shard-kbl: [DMESG-WARN][98] ([i915#93] / [i915#95]) -> [PASS][99] +41 similar issues [98]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8641/shard-kbl2/igt@kms_vblank@pipe-a-ts-continuation-suspend.html [99]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4681/shard-kbl2/igt@kms_vblank@pipe-a-ts-continuation-suspend.html #### Warnings #### * igt@gem_exec_reloc@basic-concurrent16: - shard-snb: [TIMEOUT][100] ([i915#1958]) -> [FAIL][101] ([i915#1930]) [100]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8641/shard-snb1/igt@gem_exec_reloc@basic-concurrent16.html [101]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4681/shard-snb4/igt@gem_exec_reloc@basic-concurrent16.html * igt@i915_pm_dc@dc6-psr: - shard-tglb: [SKIP][102] ([i915#468]) -> [FAIL][103] ([i915#454]) [102]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8641/shard-tglb2/igt@i915_pm_dc@dc6-psr.html [103]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4681/shard-tglb6/igt@i915_pm_dc@dc6-psr.html * igt@kms_color_chamelium@pipe-c-ctm-red-to-blue: - shard-hsw: [SKIP][104] ([fdo#109271] / [fdo#111827]) -> [TIMEOUT][105] ([i915#1958]) [104]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8641/shard-hsw1/igt@kms_color_chamelium@pipe-c-ctm-red-to-blue.html [105]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4681/shard-hsw8/igt@kms_color_chamelium@pipe-c-ctm-red-to-blue.html * igt@kms_cursor_crc@pipe-d-cursor-64x21-sliding: - shard-iclb: [SKIP][106] ([fdo#109278] / [fdo#112010] / [i915#508]) -> [SKIP][107] ([fdo#109278] / [fdo#112010]) [106]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8641/shard-iclb7/igt@kms_cursor_crc@pipe-d-cursor-64x21-sliding.html [107]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4681/shard-iclb1/igt@kms_cursor_crc@pipe-d-cursor-64x21-sliding.html * igt@kms_cursor_legacy@pipe-d-forked-bo: - shard-iclb: [SKIP][108] ([fdo#109278] / [fdo#112010]) -> [SKIP][109] ([fdo#109278]) +3 similar issues [108]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8641/shard-iclb6/igt@kms_cursor_legacy@pipe-d-forked-bo.html [109]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4681/shard-iclb5/igt@kms_cursor_legacy@pipe-d-forked-bo.html * igt@kms_plane_alpha_blend@pipe-c-alpha-transparent-fb: - shard-kbl: [DMESG-FAIL][110] ([i915#95]) -> [FAIL][111] ([i915#265]) [110]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8641/shard-kbl4/igt@kms_plane_alpha_blend@pipe-c-alpha-transparent-fb.html [111]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4681/shard-kbl4/igt@kms_plane_alpha_blend@pipe-c-alpha-transparent-fb.html * igt@kms_plane_multiple@atomic-pipe-d-tiling-yf: - shard-tglb: [SKIP][112] ([fdo#112025] / [fdo#112054]) -> [SKIP][113] ([fdo#112054]) [112]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8641/shard-tglb2/igt@kms_plane_multiple@atomic-pipe-d-tiling-yf.html [113]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4681/shard-tglb3/igt@kms_plane_multiple@atomic-pipe-d-tiling-yf.html * igt@kms_plane_scaling@2x-scaler-multi-pipe: - shard-tglb: [SKIP][114] ([fdo#111825] / [fdo#112015]) -> [SKIP][115] ([fdo#111825]) [114]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8641/shard-tglb2/igt@kms_plane_scaling@2x-scaler-multi-pipe.html [115]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4681/shard-tglb8/igt@kms_plane_scaling@2x-scaler-multi-pipe.html * igt@perf_pmu@semaphore-busy@rcs0: - shard-kbl: [FAIL][116] ([i915#1820] / [i915#93] / [i915#95]) -> [FAIL][117] ([i915#1820]) [116]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8641/shard-kbl7/igt@perf_pmu@semaphore-busy@rcs0.html [117]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4681/shard-kbl3/igt@perf_pmu@semaphore-busy@rcs0.html {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145 [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271 [fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278 [fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441 [fdo#111825]: https://bugs.freedesktop.org/show_bug.cgi?id=111825 [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827 [fdo#112010]: https://bugs.freedesktop.org/show_bug.cgi?id=112010 [fdo#112015]: https://bugs.freedesktop.org/show_bug.cgi?id=112015 [fdo#112025]: https://bugs.freedesktop.org/show_bug.cgi?id=112025 [fdo#112054]: https://bugs.freedesktop.org/show_bug.cgi?id=112054 [i915#118]: https://gitlab.freedesktop.org/drm/intel/issues/118 [i915#1602]: https://gitlab.freedesktop.org/drm/intel/issues/1602 [i915#173]: https://gitlab.freedesktop.org/drm/intel/issues/173 [i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180 [i915#1820]: https://gitlab.freedesktop.org/drm/intel/issues/1820 [i915#1839]: https://gitlab.freedesktop.org/drm/intel/issues/1839 [i915#1899]: https://gitlab.freedesktop.org/drm/intel/issues/1899 [i915#1911]: https://gitlab.freedesktop.org/drm/intel/issues/1911 [i915#1930]: https://gitlab.freedesktop.org/drm/intel/issues/1930 [i915#1958]: https://gitlab.freedesktop.org/drm/intel/issues/1958 [i915#1982]: https://gitlab.freedesktop.org/drm/intel/issues/1982 [i915#265]: https://gitlab.freedesktop.org/drm/intel/issues/265 [i915#31]: https://gitlab.freedesktop.org/drm/intel/issues/31 [i915#402]: https://gitlab.freedesktop.org/drm/intel/issues/402 [i915#454]: https://gitlab.freedesktop.org/drm/intel/issues/454 [i915#456]: https://gitlab.freedesktop.org/drm/intel/issues/456 [i915#468]: https://gitlab.freedesktop.org/drm/intel/issues/468 [i915#49]: https://gitlab.freedesktop.org/drm/intel/issues/49 [i915#508]: https://gitlab.freedesktop.org/drm/intel/issues/508 [i915#54]: https://gitlab.freedesktop.org/drm/intel/issues/54 [i915#58]: https://gitlab.freedesktop.org/drm/intel/issues/58 [i915#82]: https://gitlab.freedesktop.org/drm/intel/issues/82 [i915#93]: https://gitlab.freedesktop.org/drm/intel/issues/93 [i915#95]: https://gitlab.freedesktop.org/drm/intel/issues/95 [k.org#198133]: https://bugzilla.kernel.org/show_bug.cgi?id=198133 Participating hosts (11 -> 8) ------------------------------ Missing (3): pig-skl-6260u pig-glk-j5005 pig-icl-1065g7 Build changes ------------- * CI: CI-20190529 -> None * IGT: IGT_5712 -> IGTPW_4681 * Piglit: piglit_4509 -> None CI-20190529: 20190529 CI_DRM_8641: aac91f91c7be78f53b352237d968dfa1996b2d4b @ git://anongit.freedesktop.org/gfx-ci/linux IGTPW_4681: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4681/index.html IGT_5712: eba1135ddd35f9d3097ed91032aefe8f9a9f9d02 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4681/index.html _______________________________________________ igt-dev mailing list igt-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/igt-dev ^ permalink raw reply [flat|nested] 42+ messages in thread
* [igt-dev] ✗ GitLab.Pipeline: warning for lib/igt_kms: Add support for display with 2020-06-17 18:03 [igt-dev] [PATCH i-g-t 0/6] lib/igt_kms: Add support for display with Mohammed Khajapasha ` (9 preceding siblings ...) 2020-06-18 12:52 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork @ 2020-06-18 15:32 ` Patchwork 2020-06-18 15:32 ` [igt-dev] ✗ GitLab.Pipeline: warning for lib/igt_kms: Add support for display with (rev2) Patchwork ` (4 subsequent siblings) 15 siblings, 0 replies; 42+ messages in thread From: Patchwork @ 2020-06-18 15:32 UTC (permalink / raw) To: Mohammed Khajapasha; +Cc: igt-dev == Series Details == Series: lib/igt_kms: Add support for display with URL : https://patchwork.freedesktop.org/series/78482/ State : warning == Summary == Did not get list of undocumented tests for this run, something is wrong! Other than that, pipeline status: FAILED. see https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/pipelines/162424 for the overview. build-containers:build-debian-arm64 has failed (https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/-/jobs/3153929): Using docker image sha256:594aa868d31ee3304dee8cae8a3433c89a6fcfcf6c7d420c04cce22f60147176 for registry.freedesktop.org/wayland/ci-templates/buildah:2019-08-13.0 ... section_end:1592417615:prepare_executor section_start:1592417615:prepare_script Preparing environment Running on runner-j4Lrg1oF-project-3185-concurrent-0 via gst-htz-1... section_end:1592417617:prepare_script section_start:1592417617:get_sources Getting source from Git repository Fetching changes... Initialized empty Git repository in /builds/gfx-ci/igt-ci-tags/.git/ Created fresh repository. warning: redirecting to https://gitlab-ci-hetzner.freedesktop.org/gfx-ci/igt-ci-tags.git/ error: RPC failed; curl 92 HTTP/2 stream 0 was not closed cleanly: PROTOCOL_ERROR (err 1) fatal: the remote end hung up unexpectedly section_end:1592417679:get_sources section_start:1592417679:upload_artifacts_on_failure Uploading artifacts for failed job section_end:1592417681:upload_artifacts_on_failure ERROR: Job failed: exit code 1 build-containers:build-debian-armhf has failed (https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/-/jobs/3153928): Using docker image sha256:594aa868d31ee3304dee8cae8a3433c89a6fcfcf6c7d420c04cce22f60147176 for registry.freedesktop.org/wayland/ci-templates/buildah:2019-08-13.0 ... section_end:1592417615:prepare_executor section_start:1592417615:prepare_script Preparing environment Running on runner-z2CifdYy-project-3185-concurrent-0 via gst-htz-3... section_end:1592417616:prepare_script section_start:1592417616:get_sources Getting source from Git repository Fetching changes... Initialized empty Git repository in /builds/gfx-ci/igt-ci-tags/.git/ Created fresh repository. warning: redirecting to https://gitlab-ci-hetzner.freedesktop.org/gfx-ci/igt-ci-tags.git/ error: RPC failed; curl 92 HTTP/2 stream 0 was not closed cleanly: PROTOCOL_ERROR (err 1) fatal: the remote end hung up unexpectedly section_end:1592417679:get_sources section_start:1592417679:upload_artifacts_on_failure Uploading artifacts for failed job section_end:1592417680:upload_artifacts_on_failure ERROR: Job failed: exit code 1 == Logs == For more details see: https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/pipelines/162424 _______________________________________________ igt-dev mailing list igt-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/igt-dev ^ permalink raw reply [flat|nested] 42+ messages in thread
* [igt-dev] ✗ GitLab.Pipeline: warning for lib/igt_kms: Add support for display with (rev2) 2020-06-17 18:03 [igt-dev] [PATCH i-g-t 0/6] lib/igt_kms: Add support for display with Mohammed Khajapasha ` (10 preceding siblings ...) 2020-06-18 15:32 ` [igt-dev] ✗ GitLab.Pipeline: warning for lib/igt_kms: Add support for display with Patchwork @ 2020-06-18 15:32 ` Patchwork 2020-06-25 6:23 ` [igt-dev] [PATCH i-g-t v3 0/7] lib/igt_kms: Add support for display with Mohammed Khajapasha ` (3 subsequent siblings) 15 siblings, 0 replies; 42+ messages in thread From: Patchwork @ 2020-06-18 15:32 UTC (permalink / raw) To: Mohammed Khajapasha; +Cc: igt-dev == Series Details == Series: lib/igt_kms: Add support for display with (rev2) URL : https://patchwork.freedesktop.org/series/78482/ State : warning == Summary == Did not get list of undocumented tests for this run, something is wrong! Other than that, pipeline status: FAILED. see https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/pipelines/162830 for the overview. containers:igt has failed (https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/-/jobs/3167924): Using docker image sha256:594aa868d31ee3304dee8cae8a3433c89a6fcfcf6c7d420c04cce22f60147176 for registry.freedesktop.org/wayland/ci-templates/buildah:2019-08-13.0 ... section_end:1592477136:prepare_executor section_start:1592477136:prepare_script Preparing environment Running on runner-thys1kA2-project-3185-concurrent-0 via gst-htz-2... section_end:1592477137:prepare_script section_start:1592477137:get_sources Getting source from Git repository Fetching changes... Initialized empty Git repository in /builds/gfx-ci/igt-ci-tags/.git/ Created fresh repository. warning: redirecting to https://gitlab-ci-hetzner.freedesktop.org/gfx-ci/igt-ci-tags.git/ error: RPC failed; curl 92 HTTP/2 stream 0 was not closed cleanly: PROTOCOL_ERROR (err 1) fatal: the remote end hung up unexpectedly section_end:1592477200:get_sources section_start:1592477200:upload_artifacts_on_failure Uploading artifacts for failed job section_end:1592477201:upload_artifacts_on_failure ERROR: Job failed: exit code 1 == Logs == For more details see: https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/pipelines/162830 _______________________________________________ igt-dev mailing list igt-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/igt-dev ^ permalink raw reply [flat|nested] 42+ messages in thread
* [igt-dev] [PATCH i-g-t v3 0/7] lib/igt_kms: Add support for display with 2020-06-17 18:03 [igt-dev] [PATCH i-g-t 0/6] lib/igt_kms: Add support for display with Mohammed Khajapasha ` (11 preceding siblings ...) 2020-06-18 15:32 ` [igt-dev] ✗ GitLab.Pipeline: warning for lib/igt_kms: Add support for display with (rev2) Patchwork @ 2020-06-25 6:23 ` Mohammed Khajapasha 2020-06-25 6:23 ` [igt-dev] [PATCH i-g-t v3 1/7] lib/igt_kms: Add support for display with non-contiguous pipes Mohammed Khajapasha ` (6 more replies) 2020-06-25 6:35 ` [igt-dev] [PATCH i-g-t v3 0/7] lib/igt_kms: Add support for display with Mohammed Khajapasha ` (2 subsequent siblings) 15 siblings, 7 replies; 42+ messages in thread From: Mohammed Khajapasha @ 2020-06-25 6:23 UTC (permalink / raw) To: arkadiusz.hiler, igt-dev Add support for display with non-contiguous pipes. v3: Handled kms atomic transition test failure case. Mohammed Khajapasha (7): lib/igt_kms: Add support for display with non-contiguous pipes 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 lib/igt_kms.c | 66 +++++++++++++++++++++++++++++------ lib/igt_kms.h | 13 ++++--- tests/kms_atomic_transition.c | 9 +++-- tests/kms_color.c | 3 +- tests/kms_color_chamelium.c | 3 +- tests/kms_concurrent.c | 3 +- tests/kms_cursor_legacy.c | 14 +++++--- tests/kms_lease.c | 8 +++-- tests/kms_pipe_crc_basic.c | 6 ++-- tests/kms_plane.c | 3 +- tests/kms_plane_lowres.c | 3 +- tests/kms_plane_multiple.c | 3 +- tests/kms_universal_plane.c | 18 ++++++---- 13 files changed, 113 insertions(+), 39 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] 42+ messages in thread
* [igt-dev] [PATCH i-g-t v3 1/7] lib/igt_kms: Add support for display with non-contiguous pipes 2020-06-25 6:23 ` [igt-dev] [PATCH i-g-t v3 0/7] lib/igt_kms: Add support for display with Mohammed Khajapasha @ 2020-06-25 6:23 ` Mohammed Khajapasha 2020-06-30 12:02 ` Arkadiusz Hiler 2020-06-25 6:23 ` [igt-dev] [PATCH i-g-t v3 2/7] tests/kms_cursor_legacy: Read crtc id for enable pipes Mohammed Khajapasha ` (5 subsequent siblings) 6 siblings, 1 reply; 42+ messages in thread From: Mohammed Khajapasha @ 2020-06-25 6:23 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. v3: Avoiding calling get pipe from crtc id ioctl for non i915 device (petri) Signed-off-by: Mohammed Khajapasha <mohammed.khajapasha@intel.com> --- lib/igt_kms.c | 58 ++++++++++++++++++++++++++++++++++++++++++++------- lib/igt_kms.h | 13 +++++++----- 2 files changed, 58 insertions(+), 13 deletions(-) diff --git a/lib/igt_kms.c b/lib/igt_kms.c index afef5939..1b20c7e8 100644 --- a/lib/igt_kms.c +++ b/lib/igt_kms.c @@ -1888,13 +1888,14 @@ void igt_display_require(igt_display_t *display, int drm_fd) { drmModeRes *resources; drmModePlaneRes *plane_resources; - int i; + int i, i915_dev; memset(display, 0, sizeof(igt_display_t)); LOG_INDENT(display, "init"); display->drm_fd = drm_fd; + i915_dev = is_i915_device(drm_fd); resources = drmModeGetResources(display->drm_fd); if (!resources) @@ -1921,10 +1922,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; + if (i915_dev) + display->n_pipes = IGT_MAX_PIPES; + else + display->n_pipes = resources->count_crtcs; + 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; + + if (i915_dev) { + /* Get right pipe enum from kernel for a pipe */ + 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 +1983,33 @@ 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, k = 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 */ + if (i915_dev) { + for(k = 0; k < resources->count_crtcs; k++) { + if(pipe->crtc_id == resources->crtcs[k]) + break; + } + } else { + k = i; + } + /* 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 & (1 << k)) n_planes++; } @@ -1987,7 +2023,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 & (1 << k))) continue; type = global_plane->type; @@ -2409,12 +2445,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 32a0e4cc..e91a2094 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] 42+ messages in thread
* Re: [igt-dev] [PATCH i-g-t v3 1/7] lib/igt_kms: Add support for display with non-contiguous pipes 2020-06-25 6:23 ` [igt-dev] [PATCH i-g-t v3 1/7] lib/igt_kms: Add support for display with non-contiguous pipes Mohammed Khajapasha @ 2020-06-30 12:02 ` Arkadiusz Hiler 2020-07-01 7:04 ` Khajapasha, Mohammed 2020-07-01 7:27 ` Khajapasha, Mohammed 0 siblings, 2 replies; 42+ messages in thread From: Arkadiusz Hiler @ 2020-06-30 12:02 UTC (permalink / raw) To: Mohammed Khajapasha; +Cc: igt-dev On Thu, Jun 25, 2020 at 11:53:12AM +0530, Mohammed Khajapasha wrote: > 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. > > v3: > Avoiding calling get pipe from crtc id ioctl for non i915 device > (petri) > > Signed-off-by: Mohammed Khajapasha <mohammed.khajapasha@intel.com> > --- > lib/igt_kms.c | 58 ++++++++++++++++++++++++++++++++++++++++++++------- > lib/igt_kms.h | 13 +++++++----- > 2 files changed, 58 insertions(+), 13 deletions(-) > > diff --git a/lib/igt_kms.c b/lib/igt_kms.c > index afef5939..1b20c7e8 100644 > --- a/lib/igt_kms.c > +++ b/lib/igt_kms.c > @@ -1888,13 +1888,14 @@ void igt_display_require(igt_display_t *display, int drm_fd) > { > drmModeRes *resources; > drmModePlaneRes *plane_resources; > - int i; > + int i, i915_dev; Would be beter to name this is_i915_dev and make it bool. > memset(display, 0, sizeof(igt_display_t)); > > LOG_INDENT(display, "init"); > > display->drm_fd = drm_fd; > + i915_dev = is_i915_device(drm_fd); > > resources = drmModeGetResources(display->drm_fd); > if (!resources) > @@ -1921,10 +1922,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; > + if (i915_dev) > + display->n_pipes = IGT_MAX_PIPES; > + else > + display->n_pipes = resources->count_crtcs; I don't think this if is necessary - we can always roll with n_pipes == IGT_MAX_PIPES, and the ones that are not there will be pipe->enabled == 0. > 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++) { ^ missing space > + igt_pipe_t *pipe; > + > + if (i915_dev) { ^ tailing whitespace > + /* Get right pipe enum from kernel for a pipe */ > + struct drm_i915_get_pipe_from_crtc_id get_pipe; I see that we don't have anything similar for other drivers. I would extend the comment here a bit to explain the background of why we have this i915 check and special case for it. Mention non-continous pipes and explain a bit on pipe to crtc mapping. > + > + 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 +1983,33 @@ 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, k = 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 */ > + if (i915_dev) { > + for(k = 0; k < resources->count_crtcs; k++) { > + if(pipe->crtc_id == resources->crtcs[k]) > + break; > + } > + } else { > + k = i; > + } I would drop the special case here as well. The i915 section although not optimal should for for the generic case too. You could even extract this to a helper: static int __get_crtc_mask_for_pipe(*resources, *pipe) { for (int offset = 0; offset < resources->count_crtcs; offset++) { if(pipe->crtc_id == resources->crtcs[offset]) break; } return (1 << offset); } So you can then crtc_mask = __get_crtc_mask_for_pipe(resources, pipe); if (drm_plane->possible_crtcs & crtc_mask) ... This would improve readability quite a bit. > /* 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 & (1 << k)) > n_planes++; > } > > @@ -1987,7 +2023,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 & (1 << k))) > continue; > > type = global_plane->type; > @@ -2409,12 +2445,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 32a0e4cc..e91a2094 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) This may break with the n_pipes = count_crtcs if count_crtcs < IGT_MAX_PIPES you will end addressing not allocated memory here. If follow the recommendation on making n_pipes == IGT_MAX_PIPES, then this potential issue is not a problem. -- Cheers, Arek > /** > * 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 [flat|nested] 42+ messages in thread
* Re: [igt-dev] [PATCH i-g-t v3 1/7] lib/igt_kms: Add support for display with non-contiguous pipes 2020-06-30 12:02 ` Arkadiusz Hiler @ 2020-07-01 7:04 ` Khajapasha, Mohammed 2020-07-01 7:51 ` Arkadiusz Hiler 2020-07-01 7:27 ` Khajapasha, Mohammed 1 sibling, 1 reply; 42+ messages in thread From: Khajapasha, Mohammed @ 2020-07-01 7:04 UTC (permalink / raw) To: Hiler, Arkadiusz; +Cc: igt-dev@lists.freedesktop.org > -----Original Message----- > From: Hiler, Arkadiusz <arkadiusz.hiler@intel.com> > Sent: Tuesday, June 30, 2020 5:32 PM > To: Khajapasha, Mohammed <mohammed.khajapasha@intel.com> > Cc: igt-dev@lists.freedesktop.org > Subject: Re: [PATCH i-g-t v3 1/7] lib/igt_kms: Add support for display with > non-contiguous pipes > > On Thu, Jun 25, 2020 at 11:53:12AM +0530, Mohammed Khajapasha wrote: > > 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. > > > > v3: > > Avoiding calling get pipe from crtc id ioctl for non i915 device > > (petri) > > > > Signed-off-by: Mohammed Khajapasha > <mohammed.khajapasha@intel.com> > > --- > > lib/igt_kms.c | 58 > > ++++++++++++++++++++++++++++++++++++++++++++------- > > lib/igt_kms.h | 13 +++++++----- > > 2 files changed, 58 insertions(+), 13 deletions(-) > > > > diff --git a/lib/igt_kms.c b/lib/igt_kms.c index afef5939..1b20c7e8 > > 100644 > > --- a/lib/igt_kms.c > > +++ b/lib/igt_kms.c > > @@ -1888,13 +1888,14 @@ void igt_display_require(igt_display_t > > *display, int drm_fd) { > > drmModeRes *resources; > > drmModePlaneRes *plane_resources; > > - int i; > > + int i, i915_dev; > > Would be beter to name this is_i915_dev and make it bool. > > > memset(display, 0, sizeof(igt_display_t)); > > > > LOG_INDENT(display, "init"); > > > > display->drm_fd = drm_fd; > > + i915_dev = is_i915_device(drm_fd); > > > > resources = drmModeGetResources(display->drm_fd); > > if (!resources) > > @@ -1921,10 +1922,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; > > + if (i915_dev) > > + display->n_pipes = IGT_MAX_PIPES; > > + else > > + display->n_pipes = resources->count_crtcs; > > I don't think this if is necessary - we can always roll with n_pipes == > IGT_MAX_PIPES, and the ones that are not there will be pipe->enabled == > 0. > > > 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++) { > ^ missing space > > > + igt_pipe_t *pipe; > > + > > + if (i915_dev) { > ^ tailing whitespace > > > + /* Get right pipe enum from kernel for a pipe */ > > + struct drm_i915_get_pipe_from_crtc_id get_pipe; > > I see that we don't have anything similar for other drivers. > > I would extend the comment here a bit to explain the background of why > we have this i915 check and special case for it. Mention non-continous > pipes and explain a bit on pipe to crtc mapping. > The i915 check has been introduced as per previous review comments in https://patchwork.freedesktop.org/patch/369594/?series=78198&rev=1 > > + > > + 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 +1983,33 @@ 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, k = 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 */ > > + if (i915_dev) { > > + for(k = 0; k < resources->count_crtcs; k++) { > > + if(pipe->crtc_id == resources->crtcs[k]) > > + break; > > + } > > + } else { > > + k = i; > > + } > > I would drop the special case here as well. The i915 section although > not optimal should for for the generic case too. > > You could even extract this to a helper: > > static int __get_crtc_mask_for_pipe(*resources, *pipe) { > for (int offset = 0; offset < resources->count_crtcs; offset++) { > if(pipe->crtc_id == resources->crtcs[offset]) > break; > } > > return (1 << offset); > } > > So you can then > > crtc_mask = __get_crtc_mask_for_pipe(resources, pipe); > if (drm_plane->possible_crtcs & crtc_mask) ... > > This would improve readability quite a bit. > > > > /* 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 & (1 << k)) > > n_planes++; > > } > > > > @@ -1987,7 +2023,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 & (1 << k))) > > continue; > > > > type = global_plane->type; > > @@ -2409,12 +2445,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 32a0e4cc..e91a2094 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) > > This may break with the n_pipes = count_crtcs if count_crtcs < > IGT_MAX_PIPES > you will end addressing not allocated memory here. > > If follow the recommendation on making n_pipes == IGT_MAX_PIPES, then > this potential issue is not a problem. > > -- > Cheers, > Arek > > > /** > > * 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 [flat|nested] 42+ messages in thread
* Re: [igt-dev] [PATCH i-g-t v3 1/7] lib/igt_kms: Add support for display with non-contiguous pipes 2020-07-01 7:04 ` Khajapasha, Mohammed @ 2020-07-01 7:51 ` Arkadiusz Hiler 0 siblings, 0 replies; 42+ messages in thread From: Arkadiusz Hiler @ 2020-07-01 7:51 UTC (permalink / raw) To: Khajapasha, Mohammed; +Cc: igt-dev@lists.freedesktop.org On Wed, Jul 01, 2020 at 10:04:30AM +0300, Khajapasha, Mohammed wrote: > > > > -----Original Message----- > > From: Hiler, Arkadiusz <arkadiusz.hiler@intel.com> > > Sent: Tuesday, June 30, 2020 5:32 PM > > To: Khajapasha, Mohammed <mohammed.khajapasha@intel.com> > > Cc: igt-dev@lists.freedesktop.org > > Subject: Re: [PATCH i-g-t v3 1/7] lib/igt_kms: Add support for display with > > non-contiguous pipes > > > > On Thu, Jun 25, 2020 at 11:53:12AM +0530, Mohammed Khajapasha wrote: > > > 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. > > > > > > v3: > > > Avoiding calling get pipe from crtc id ioctl for non i915 device > > > (petri) > > > > > > Signed-off-by: Mohammed Khajapasha > > <mohammed.khajapasha@intel.com> > > > --- > > > lib/igt_kms.c | 58 > > > ++++++++++++++++++++++++++++++++++++++++++++------- > > > lib/igt_kms.h | 13 +++++++----- > > > 2 files changed, 58 insertions(+), 13 deletions(-) > > > > > > diff --git a/lib/igt_kms.c b/lib/igt_kms.c index afef5939..1b20c7e8 > > > 100644 > > > --- a/lib/igt_kms.c > > > +++ b/lib/igt_kms.c > > > @@ -1888,13 +1888,14 @@ void igt_display_require(igt_display_t > > > *display, int drm_fd) { > > > drmModeRes *resources; > > > drmModePlaneRes *plane_resources; > > > -int i; > > > +int i, i915_dev; > > > > Would be beter to name this is_i915_dev and make it bool. > > > > > memset(display, 0, sizeof(igt_display_t)); > > > > > > LOG_INDENT(display, "init"); > > > > > > display->drm_fd = drm_fd; > > > +i915_dev = is_i915_device(drm_fd); > > > > > > resources = drmModeGetResources(display->drm_fd); > > > if (!resources) > > > @@ -1921,10 +1922,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; > > > +if (i915_dev) > > > +display->n_pipes = IGT_MAX_PIPES; > > > +else > > > +display->n_pipes = resources->count_crtcs; > > > > I don't think this if is necessary - we can always roll with n_pipes == > > IGT_MAX_PIPES, and the ones that are not there will be pipe->enabled == > > 0. > > > > > 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++) { > > ^ missing space > > > > > +igt_pipe_t *pipe; > > > + > > > +if (i915_dev) { > > ^ tailing whitespace > > > > > +/* Get right pipe enum from kernel for a pipe */ > > > +struct drm_i915_get_pipe_from_crtc_id get_pipe; > > > > I see that we don't have anything similar for other drivers. > > > > I would extend the comment here a bit to explain the background of why > > we have this i915 check and special case for it. Mention non-continous > > pipes and explain a bit on pipe to crtc mapping. > > > > The i915 check has been introduced as per previous review comments in > https://patchwork.freedesktop.org/patch/369594/?series=78198&rev=1 And it makes sense if you know the context, but to someone reading the code later on this may be a bit hard to digest. What I am asking for is to explain here that using pipes like IGT does is a flawed concept, especially with non-continous pipes, and we should move away from it in the end, but for now we have a way to work around the possible issues for i915 because of that IOCTL. -- Cheers, Arek _______________________________________________ igt-dev mailing list igt-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/igt-dev ^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: [igt-dev] [PATCH i-g-t v3 1/7] lib/igt_kms: Add support for display with non-contiguous pipes 2020-06-30 12:02 ` Arkadiusz Hiler 2020-07-01 7:04 ` Khajapasha, Mohammed @ 2020-07-01 7:27 ` Khajapasha, Mohammed 1 sibling, 0 replies; 42+ messages in thread From: Khajapasha, Mohammed @ 2020-07-01 7:27 UTC (permalink / raw) To: Hiler, Arkadiusz; +Cc: igt-dev@lists.freedesktop.org > -----Original Message----- > From: Hiler, Arkadiusz <arkadiusz.hiler@intel.com> > Sent: Tuesday, June 30, 2020 5:32 PM > To: Khajapasha, Mohammed <mohammed.khajapasha@intel.com> > Cc: igt-dev@lists.freedesktop.org > Subject: Re: [PATCH i-g-t v3 1/7] lib/igt_kms: Add support for display with > non-contiguous pipes > > On Thu, Jun 25, 2020 at 11:53:12AM +0530, Mohammed Khajapasha wrote: > > 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. > > > > v3: > > Avoiding calling get pipe from crtc id ioctl for non i915 device > > (petri) > > > > Signed-off-by: Mohammed Khajapasha > <mohammed.khajapasha@intel.com> > > --- > > lib/igt_kms.c | 58 > > ++++++++++++++++++++++++++++++++++++++++++++------- > > lib/igt_kms.h | 13 +++++++----- > > 2 files changed, 58 insertions(+), 13 deletions(-) > > > > diff --git a/lib/igt_kms.c b/lib/igt_kms.c index afef5939..1b20c7e8 > > 100644 > > --- a/lib/igt_kms.c > > +++ b/lib/igt_kms.c > > @@ -1888,13 +1888,14 @@ void igt_display_require(igt_display_t > > *display, int drm_fd) { > > drmModeRes *resources; > > drmModePlaneRes *plane_resources; > > - int i; > > + int i, i915_dev; > > Would be beter to name this is_i915_dev and make it bool. > > > memset(display, 0, sizeof(igt_display_t)); > > > > LOG_INDENT(display, "init"); > > > > display->drm_fd = drm_fd; > > + i915_dev = is_i915_device(drm_fd); > > > > resources = drmModeGetResources(display->drm_fd); > > if (!resources) > > @@ -1921,10 +1922,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; > > + if (i915_dev) > > + display->n_pipes = IGT_MAX_PIPES; > > + else > > + display->n_pipes = resources->count_crtcs; > > I don't think this if is necessary - we can always roll with n_pipes == > IGT_MAX_PIPES, and the ones that are not there will be pipe->enabled == > 0. > > > 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++) { > ^ missing space > > > + igt_pipe_t *pipe; > > + > > + if (i915_dev) { > ^ tailing whitespace > > > + /* Get right pipe enum from kernel for a pipe */ > > + struct drm_i915_get_pipe_from_crtc_id get_pipe; > > I see that we don't have anything similar for other drivers. > > I would extend the comment here a bit to explain the background of why > we have this i915 check and special case for it. Mention non-continous > pipes and explain a bit on pipe to crtc mapping. > > > + > > + 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 +1983,33 @@ 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, k = 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 */ > > + if (i915_dev) { > > + for(k = 0; k < resources->count_crtcs; k++) { > > + if(pipe->crtc_id == resources->crtcs[k]) > > + break; > > + } > > + } else { > > + k = i; > > + } > > I would drop the special case here as well. The i915 section although > not optimal should for for the generic case too. > > You could even extract this to a helper: > > static int __get_crtc_mask_for_pipe(*resources, *pipe) { > for (int offset = 0; offset < resources->count_crtcs; offset++) { > if(pipe->crtc_id == resources->crtcs[offset]) > break; > } > > return (1 << offset); > } > > So you can then > > crtc_mask = __get_crtc_mask_for_pipe(resources, pipe); > if (drm_plane->possible_crtcs & crtc_mask) ... > > This would improve readability quite a bit. > > > > /* 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 & (1 << k)) > > n_planes++; > > } > > > > @@ -1987,7 +2023,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 & (1 << k))) > > continue; > > > > type = global_plane->type; > > @@ -2409,12 +2445,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 32a0e4cc..e91a2094 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) > > This may break with the n_pipes = count_crtcs if count_crtcs < > IGT_MAX_PIPES > you will end addressing not allocated memory here. > > If follow the recommendation on making n_pipes == IGT_MAX_PIPES, then > this potential issue is not a problem. > We always allocation the pipes[] array with n_pipes = IGT_MAX_PIPES for i915 device, And we are skipping, max bound allocation for non-i915 devices as per review comments in https://patchwork.freedesktop.org/patch/369594/?series=78198&rev=1 so addressing not allocated memory might not occur. -- Khajapasha > -- > Cheers, > Arek > > > /** > > * 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 [flat|nested] 42+ messages in thread
* [igt-dev] [PATCH i-g-t v3 2/7] tests/kms_cursor_legacy: Read crtc id for enable pipes 2020-06-25 6:23 ` [igt-dev] [PATCH i-g-t v3 0/7] lib/igt_kms: Add support for display with Mohammed Khajapasha 2020-06-25 6:23 ` [igt-dev] [PATCH i-g-t v3 1/7] lib/igt_kms: Add support for display with non-contiguous pipes Mohammed Khajapasha @ 2020-06-25 6:23 ` Mohammed Khajapasha 2020-06-30 12:27 ` Arkadiusz Hiler 2020-06-25 6:23 ` [igt-dev] [PATCH i-g-t v3 3/7] tests/kms_lease: Get pipe from crtc " Mohammed Khajapasha ` (4 subsequent siblings) 6 siblings, 1 reply; 42+ messages in thread From: Mohammed Khajapasha @ 2020-06-25 6:23 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 | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/tests/kms_cursor_legacy.c b/tests/kms_cursor_legacy.c index 344442e8..151bd31d 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,8 @@ igt_main errno = 0; igt_fixture { - igt_skip_on(n >= display.n_pipes); + igt_require_f(display.pipes[n].enabled, + "Pipe-%s not enabled\n", kmstest_pipe_name(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] 42+ messages in thread
* Re: [igt-dev] [PATCH i-g-t v3 2/7] tests/kms_cursor_legacy: Read crtc id for enable pipes 2020-06-25 6:23 ` [igt-dev] [PATCH i-g-t v3 2/7] tests/kms_cursor_legacy: Read crtc id for enable pipes Mohammed Khajapasha @ 2020-06-30 12:27 ` Arkadiusz Hiler 2020-07-01 11:45 ` Khajapasha, Mohammed 0 siblings, 1 reply; 42+ messages in thread From: Arkadiusz Hiler @ 2020-06-30 12:27 UTC (permalink / raw) To: Mohammed Khajapasha; +Cc: igt-dev On Thu, Jun 25, 2020 at 11:53:13AM +0530, Mohammed Khajapasha wrote: > Read the crtc ids for enable pipes only in display. > > Signed-off-by: Mohammed Khajapasha <mohammed.khajapasha@intel.com> > --- > tests/kms_cursor_legacy.c | 14 +++++++++----- > 1 file changed, 9 insertions(+), 5 deletions(-) > > diff --git a/tests/kms_cursor_legacy.c b/tests/kms_cursor_legacy.c > index 344442e8..151bd31d 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) This seems to introduce assumption that a valid crtc_id != 0, is it true? -- Cheers, Arek > + do_ioctl(display->drm_fd, DRM_IOCTL_MODE_CURSOR, &arg); > count++; > } > > @@ -1390,7 +1393,8 @@ igt_main > errno = 0; > > igt_fixture { > - igt_skip_on(n >= display.n_pipes); > + igt_require_f(display.pipes[n].enabled, > + "Pipe-%s not enabled\n", kmstest_pipe_name(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 [flat|nested] 42+ messages in thread
* Re: [igt-dev] [PATCH i-g-t v3 2/7] tests/kms_cursor_legacy: Read crtc id for enable pipes 2020-06-30 12:27 ` Arkadiusz Hiler @ 2020-07-01 11:45 ` Khajapasha, Mohammed 0 siblings, 0 replies; 42+ messages in thread From: Khajapasha, Mohammed @ 2020-07-01 11:45 UTC (permalink / raw) To: Hiler, Arkadiusz; +Cc: igt-dev@lists.freedesktop.org > -----Original Message----- > From: Hiler, Arkadiusz <arkadiusz.hiler@intel.com> > Sent: Tuesday, June 30, 2020 5:58 PM > To: Khajapasha, Mohammed <mohammed.khajapasha@intel.com> > Cc: igt-dev@lists.freedesktop.org > Subject: Re: [PATCH i-g-t v3 2/7] tests/kms_cursor_legacy: Read crtc id for > enable pipes > > On Thu, Jun 25, 2020 at 11:53:13AM +0530, Mohammed Khajapasha wrote: > > Read the crtc ids for enable pipes only in display. > > > > Signed-off-by: Mohammed Khajapasha > <mohammed.khajapasha@intel.com> > > --- > > tests/kms_cursor_legacy.c | 14 +++++++++----- > > 1 file changed, 9 insertions(+), 5 deletions(-) > > > > diff --git a/tests/kms_cursor_legacy.c b/tests/kms_cursor_legacy.c > > index 344442e8..151bd31d 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) > > This seems to introduce assumption that a valid crtc_id != 0, is it true? Yes, I have rechecked by running kms_cursor_legacy test and crtc id cann't be 0, The subtest case like all-pipes-forked-move, getting failed when crtc id is 0. -- Khajapasha > > -- > Cheers, > Arek > > > + do_ioctl(display->drm_fd, > DRM_IOCTL_MODE_CURSOR, &arg); > > count++; > > } > > > > @@ -1390,7 +1393,8 @@ igt_main > > errno = 0; > > > > igt_fixture { > > - igt_skip_on(n >= display.n_pipes); > > + igt_require_f(display.pipes[n].enabled, > > + "Pipe-%s not enabled\n", > kmstest_pipe_name(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 [flat|nested] 42+ messages in thread
* [igt-dev] [PATCH i-g-t v3 3/7] tests/kms_lease: Get pipe from crtc for enable pipes 2020-06-25 6:23 ` [igt-dev] [PATCH i-g-t v3 0/7] lib/igt_kms: Add support for display with Mohammed Khajapasha 2020-06-25 6:23 ` [igt-dev] [PATCH i-g-t v3 1/7] lib/igt_kms: Add support for display with non-contiguous pipes Mohammed Khajapasha 2020-06-25 6:23 ` [igt-dev] [PATCH i-g-t v3 2/7] tests/kms_cursor_legacy: Read crtc id for enable pipes Mohammed Khajapasha @ 2020-06-25 6:23 ` Mohammed Khajapasha 2020-06-25 6:23 ` [igt-dev] [PATCH i-g-t v3 4/7] tests/kms_lease: Read crtc id for a valid pipe Mohammed Khajapasha ` (3 subsequent siblings) 6 siblings, 0 replies; 42+ messages in thread From: Mohammed Khajapasha @ 2020-06-25 6:23 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 927c2315..007ae47f 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] 42+ messages in thread
* [igt-dev] [PATCH i-g-t v3 4/7] tests/kms_lease: Read crtc id for a valid pipe 2020-06-25 6:23 ` [igt-dev] [PATCH i-g-t v3 0/7] lib/igt_kms: Add support for display with Mohammed Khajapasha ` (2 preceding siblings ...) 2020-06-25 6:23 ` [igt-dev] [PATCH i-g-t v3 3/7] tests/kms_lease: Get pipe from crtc " Mohammed Khajapasha @ 2020-06-25 6:23 ` Mohammed Khajapasha 2020-06-25 6:23 ` [igt-dev] [PATCH i-g-t v3 5/7] lib/kms: Skip igt test cases for disabled display pipes Mohammed Khajapasha ` (2 subsequent siblings) 6 siblings, 0 replies; 42+ messages in thread From: Mohammed Khajapasha @ 2020-06-25 6:23 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 007ae47f..3c92ca78 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] 42+ messages in thread
* [igt-dev] [PATCH i-g-t v3 5/7] lib/kms: Skip igt test cases for disabled display pipes 2020-06-25 6:23 ` [igt-dev] [PATCH i-g-t v3 0/7] lib/igt_kms: Add support for display with Mohammed Khajapasha ` (3 preceding siblings ...) 2020-06-25 6:23 ` [igt-dev] [PATCH i-g-t v3 4/7] tests/kms_lease: Read crtc id for a valid pipe Mohammed Khajapasha @ 2020-06-25 6:23 ` Mohammed Khajapasha 2020-06-25 6:23 ` [igt-dev] [PATCH i-g-t v3 6/7] tests/kms: Skip kms test cases for disabled pipes Mohammed Khajapasha 2020-06-25 6:23 ` [igt-dev] [PATCH i-g-t v3 7/7] tests/kms_atomic_transition: Set modeset for enable pipes only Mohammed Khajapasha 6 siblings, 0 replies; 42+ messages in thread From: Mohammed Khajapasha @ 2020-06-25 6:23 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 | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/lib/igt_kms.c b/lib/igt_kms.c index 1b20c7e8..f2909ca5 100644 --- a/lib/igt_kms.c +++ b/lib/igt_kms.c @@ -2166,8 +2166,9 @@ 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_skip_on_f(((pipe >= igt_display_get_n_pipes(display)) || + !(display->pipes[pipe].enabled)), + "Pipe %s does not exist or not enabled.\n", kmstest_pipe_name(pipe)); for_each_valid_output_on_pipe(display, pipe, output) return; @@ -2522,7 +2523,8 @@ 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->n_pipes) && + display->pipes[pipe].enabled); __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] 42+ messages in thread
* [igt-dev] [PATCH i-g-t v3 6/7] tests/kms: Skip kms test cases for disabled pipes 2020-06-25 6:23 ` [igt-dev] [PATCH i-g-t v3 0/7] lib/igt_kms: Add support for display with Mohammed Khajapasha ` (4 preceding siblings ...) 2020-06-25 6:23 ` [igt-dev] [PATCH i-g-t v3 5/7] lib/kms: Skip igt test cases for disabled display pipes Mohammed Khajapasha @ 2020-06-25 6:23 ` Mohammed Khajapasha 2020-06-30 12:22 ` Arkadiusz Hiler 2020-06-25 6:23 ` [igt-dev] [PATCH i-g-t v3 7/7] tests/kms_atomic_transition: Set modeset for enable pipes only Mohammed Khajapasha 6 siblings, 1 reply; 42+ messages in thread From: Mohammed Khajapasha @ 2020-06-25 6:23 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 | 3 ++- tests/kms_color_chamelium.c | 3 ++- tests/kms_concurrent.c | 3 ++- tests/kms_pipe_crc_basic.c | 6 ++++-- tests/kms_plane.c | 3 ++- tests/kms_plane_lowres.c | 3 ++- tests/kms_plane_multiple.c | 3 ++- tests/kms_universal_plane.c | 18 ++++++++++++------ 8 files changed, 28 insertions(+), 14 deletions(-) diff --git a/tests/kms_color.c b/tests/kms_color.c index 7f2fbd4a..19f0f9b5 100644 --- a/tests/kms_color.c +++ b/tests/kms_color.c @@ -628,7 +628,8 @@ 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((p < data->display.n_pipes) && + (data->display.pipes[p].enabled)); 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..2d690ca3 100644 --- a/tests/kms_color_chamelium.c +++ b/tests/kms_color_chamelium.c @@ -519,7 +519,8 @@ run_tests_for_pipe(data_t *data, enum pipe p) igt_fixture { - igt_require(p < data->display.n_pipes); + igt_require((p < data->display.n_pipes) && + (data->display.pipes[p].enabled)); 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..1730bb2b 100644 --- a/tests/kms_concurrent.c +++ b/tests/kms_concurrent.c @@ -320,7 +320,8 @@ 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_skip_on((pipe >= data->display.n_pipes) || + !(data->display.pipes[pipe].enabled)); 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..ec31e2ca 100644 --- a/tests/kms_pipe_crc_basic.c +++ b/tests/kms_pipe_crc_basic.c @@ -71,7 +71,8 @@ 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_skip_on((pipe >= display->n_pipes) || + !(display->pipes[pipe].enabled)); igt_require_f(output, "No connector found for pipe %s\n", kmstest_pipe_name(pipe)); @@ -187,7 +188,8 @@ 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_skip_on((pipe >= data.display.n_pipes) || + !(data.display.pipes[pipe].enabled)); test_read_crc(&data, pipe, 0); diff --git a/tests/kms_plane.c b/tests/kms_plane.c index c6ead813..85ed4f94 100644 --- a/tests/kms_plane.c +++ b/tests/kms_plane.c @@ -940,7 +940,8 @@ static void run_tests_for_pipe_plane(data_t *data, enum pipe pipe) { igt_fixture { - igt_skip_on(pipe >= data->display.n_pipes); + igt_skip_on((pipe >= data->display.n_pipes) || + !(data->display.pipes[pipe].enabled)); 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..16afe570 100644 --- a/tests/kms_plane_lowres.c +++ b/tests/kms_plane_lowres.c @@ -259,7 +259,8 @@ 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_skip_on((data->pipe >= data->display.n_pipes) || + !(data->display.pipes[data->pipe].enabled)); 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..e7b5951c 100644 --- a/tests/kms_plane_multiple.c +++ b/tests/kms_plane_multiple.c @@ -378,7 +378,8 @@ static void run_tests_for_pipe(data_t *data, enum pipe pipe) { igt_fixture { - igt_skip_on(pipe >= data->display.n_pipes); + igt_skip_on((pipe >= data->display.n_pipes) || + !(data->display.pipes[pipe].enabled)); 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..ce28b37d 100644 --- a/tests/kms_universal_plane.c +++ b/tests/kms_universal_plane.c @@ -135,7 +135,8 @@ 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_skip_on((pipe >= display->n_pipes) || + !(display->pipes[pipe].enabled)); igt_info("Testing connector %s using pipe %s\n", igt_output_name(output), kmstest_pipe_name(pipe)); @@ -364,7 +365,8 @@ 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_skip_on((pipe >= data->display.n_pipes) || + !(data->display.pipes[pipe].enabled)); igt_output_set_pipe(output, pipe); mode = igt_output_get_mode(output); @@ -476,7 +478,8 @@ 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_skip_on((pipe >= data->display.n_pipes) || + !(data->display.pipes[pipe].enabled)); igt_output_set_pipe(output, pipe); @@ -577,7 +580,8 @@ 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_skip_on((pipe >= display->n_pipes) || + !(display->pipes[pipe].enabled)); igt_require(display->has_cursor_plane); igt_output_set_pipe(output, pipe); @@ -705,7 +709,8 @@ 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_skip_on((pipe >= data->display.n_pipes) || + !(data->display.pipes[pipe].enabled)); igt_output_set_pipe(output, pipe); @@ -750,7 +755,8 @@ 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_skip_on((pipe >= data->display.n_pipes) || + !(data->display.pipes[pipe].enabled)); 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] 42+ messages in thread
* Re: [igt-dev] [PATCH i-g-t v3 6/7] tests/kms: Skip kms test cases for disabled pipes 2020-06-25 6:23 ` [igt-dev] [PATCH i-g-t v3 6/7] tests/kms: Skip kms test cases for disabled pipes Mohammed Khajapasha @ 2020-06-30 12:22 ` Arkadiusz Hiler 0 siblings, 0 replies; 42+ messages in thread From: Arkadiusz Hiler @ 2020-06-30 12:22 UTC (permalink / raw) To: Mohammed Khajapasha; +Cc: igt-dev On Thu, Jun 25, 2020 at 11:53:17AM +0530, Mohammed Khajapasha wrote: > 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 | 3 ++- > tests/kms_color_chamelium.c | 3 ++- > tests/kms_concurrent.c | 3 ++- > tests/kms_pipe_crc_basic.c | 6 ++++-- > tests/kms_plane.c | 3 ++- > tests/kms_plane_lowres.c | 3 ++- > tests/kms_plane_multiple.c | 3 ++- > tests/kms_universal_plane.c | 18 ++++++++++++------ > 8 files changed, 28 insertions(+), 14 deletions(-) > > diff --git a/tests/kms_color.c b/tests/kms_color.c > index 7f2fbd4a..19f0f9b5 100644 > --- a/tests/kms_color.c > +++ b/tests/kms_color.c > @@ -628,7 +628,8 @@ 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((p < data->display.n_pipes) && > + (data->display.pipes[p].enabled)); If you go for always initalizing all the display.pipes you could just turn this into: igt_require(data->display.pipes[p].enabled); Or even better, introudce a helper: igt_require_pipe(&data->dipsplay, p); This way the checks are easy to do and spit out consistent error messages in case the requirement is not satisfied. -- Cheers, Arek > 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..2d690ca3 100644 > --- a/tests/kms_color_chamelium.c > +++ b/tests/kms_color_chamelium.c > @@ -519,7 +519,8 @@ run_tests_for_pipe(data_t *data, enum pipe p) > > igt_fixture { > > - igt_require(p < data->display.n_pipes); > + igt_require((p < data->display.n_pipes) && > + (data->display.pipes[p].enabled)); > > 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..1730bb2b 100644 > --- a/tests/kms_concurrent.c > +++ b/tests/kms_concurrent.c > @@ -320,7 +320,8 @@ 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_skip_on((pipe >= data->display.n_pipes) || > + !(data->display.pipes[pipe].enabled)); > 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..ec31e2ca 100644 > --- a/tests/kms_pipe_crc_basic.c > +++ b/tests/kms_pipe_crc_basic.c > @@ -71,7 +71,8 @@ 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_skip_on((pipe >= display->n_pipes) || > + !(display->pipes[pipe].enabled)); > igt_require_f(output, "No connector found for pipe %s\n", > kmstest_pipe_name(pipe)); > > @@ -187,7 +188,8 @@ 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_skip_on((pipe >= data.display.n_pipes) || > + !(data.display.pipes[pipe].enabled)); > > test_read_crc(&data, pipe, 0); > > diff --git a/tests/kms_plane.c b/tests/kms_plane.c > index c6ead813..85ed4f94 100644 > --- a/tests/kms_plane.c > +++ b/tests/kms_plane.c > @@ -940,7 +940,8 @@ static void > run_tests_for_pipe_plane(data_t *data, enum pipe pipe) > { > igt_fixture { > - igt_skip_on(pipe >= data->display.n_pipes); > + igt_skip_on((pipe >= data->display.n_pipes) || > + !(data->display.pipes[pipe].enabled)); > 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..16afe570 100644 > --- a/tests/kms_plane_lowres.c > +++ b/tests/kms_plane_lowres.c > @@ -259,7 +259,8 @@ 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_skip_on((data->pipe >= data->display.n_pipes) || > + !(data->display.pipes[data->pipe].enabled)); > 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..e7b5951c 100644 > --- a/tests/kms_plane_multiple.c > +++ b/tests/kms_plane_multiple.c > @@ -378,7 +378,8 @@ static void > run_tests_for_pipe(data_t *data, enum pipe pipe) > { > igt_fixture { > - igt_skip_on(pipe >= data->display.n_pipes); > + igt_skip_on((pipe >= data->display.n_pipes) || > + !(data->display.pipes[pipe].enabled)); > 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..ce28b37d 100644 > --- a/tests/kms_universal_plane.c > +++ b/tests/kms_universal_plane.c > @@ -135,7 +135,8 @@ 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_skip_on((pipe >= display->n_pipes) || > + !(display->pipes[pipe].enabled)); > > igt_info("Testing connector %s using pipe %s\n", igt_output_name(output), > kmstest_pipe_name(pipe)); > @@ -364,7 +365,8 @@ 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_skip_on((pipe >= data->display.n_pipes) || > + !(data->display.pipes[pipe].enabled)); > > igt_output_set_pipe(output, pipe); > mode = igt_output_get_mode(output); > @@ -476,7 +478,8 @@ 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_skip_on((pipe >= data->display.n_pipes) || > + !(data->display.pipes[pipe].enabled)); > > igt_output_set_pipe(output, pipe); > > @@ -577,7 +580,8 @@ 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_skip_on((pipe >= display->n_pipes) || > + !(display->pipes[pipe].enabled)); > igt_require(display->has_cursor_plane); > > igt_output_set_pipe(output, pipe); > @@ -705,7 +709,8 @@ 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_skip_on((pipe >= data->display.n_pipes) || > + !(data->display.pipes[pipe].enabled)); > > igt_output_set_pipe(output, pipe); > > @@ -750,7 +755,8 @@ 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_skip_on((pipe >= data->display.n_pipes) || > + !(data->display.pipes[pipe].enabled)); > > 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 [flat|nested] 42+ messages in thread
* [igt-dev] [PATCH i-g-t v3 7/7] tests/kms_atomic_transition: Set modeset for enable pipes only 2020-06-25 6:23 ` [igt-dev] [PATCH i-g-t v3 0/7] lib/igt_kms: Add support for display with Mohammed Khajapasha ` (5 preceding siblings ...) 2020-06-25 6:23 ` [igt-dev] [PATCH i-g-t v3 6/7] tests/kms: Skip kms test cases for disabled pipes Mohammed Khajapasha @ 2020-06-25 6:23 ` Mohammed Khajapasha 6 siblings, 0 replies; 42+ messages in thread From: Mohammed Khajapasha @ 2020-06-25 6:23 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] 42+ messages in thread
* [igt-dev] [PATCH i-g-t v3 0/7] lib/igt_kms: Add support for display with 2020-06-17 18:03 [igt-dev] [PATCH i-g-t 0/6] lib/igt_kms: Add support for display with Mohammed Khajapasha ` (12 preceding siblings ...) 2020-06-25 6:23 ` [igt-dev] [PATCH i-g-t v3 0/7] lib/igt_kms: Add support for display with Mohammed Khajapasha @ 2020-06-25 6:35 ` Mohammed Khajapasha 2020-06-25 6:35 ` [igt-dev] [PATCH i-g-t v3 1/7] lib/igt_kms: Add support for display with non-contiguous pipes Mohammed Khajapasha ` (6 more replies) 2020-06-25 8:57 ` [igt-dev] ✓ Fi.CI.BAT: success for lib/igt_kms: Add support for display with (rev2) Patchwork 2020-06-25 11:29 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork 15 siblings, 7 replies; 42+ messages in thread From: Mohammed Khajapasha @ 2020-06-25 6:35 UTC (permalink / raw) To: arkadiusz.hiler, igt-dev Add support for display with non-contiguous pipes. v3: Handled kms atomic transition test failure case. Mohammed Khajapasha (7): lib/igt_kms: Add support for display with non-contiguous pipes 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 lib/igt_kms.c | 66 +++++++++++++++++++++++++++++------ lib/igt_kms.h | 13 ++++--- tests/kms_atomic_transition.c | 9 +++-- tests/kms_color.c | 3 +- tests/kms_color_chamelium.c | 3 +- tests/kms_concurrent.c | 3 +- tests/kms_cursor_legacy.c | 14 +++++--- tests/kms_lease.c | 8 +++-- tests/kms_pipe_crc_basic.c | 6 ++-- tests/kms_plane.c | 3 +- tests/kms_plane_lowres.c | 3 +- tests/kms_plane_multiple.c | 3 +- tests/kms_universal_plane.c | 18 ++++++---- 13 files changed, 113 insertions(+), 39 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] 42+ messages in thread
* [igt-dev] [PATCH i-g-t v3 1/7] lib/igt_kms: Add support for display with non-contiguous pipes 2020-06-25 6:35 ` [igt-dev] [PATCH i-g-t v3 0/7] lib/igt_kms: Add support for display with Mohammed Khajapasha @ 2020-06-25 6:35 ` Mohammed Khajapasha 2020-06-25 6:35 ` [igt-dev] [PATCH i-g-t v3 2/7] tests/kms_cursor_legacy: Read crtc id for enable pipes Mohammed Khajapasha ` (5 subsequent siblings) 6 siblings, 0 replies; 42+ messages in thread From: Mohammed Khajapasha @ 2020-06-25 6:35 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. v3: Avoiding calling get pipe from crtc id ioctl for non i915 device (petri) Signed-off-by: Mohammed Khajapasha <mohammed.khajapasha@intel.com> --- lib/igt_kms.c | 58 ++++++++++++++++++++++++++++++++++++++++++++------- lib/igt_kms.h | 13 +++++++----- 2 files changed, 58 insertions(+), 13 deletions(-) diff --git a/lib/igt_kms.c b/lib/igt_kms.c index afef5939..1b20c7e8 100644 --- a/lib/igt_kms.c +++ b/lib/igt_kms.c @@ -1888,13 +1888,14 @@ void igt_display_require(igt_display_t *display, int drm_fd) { drmModeRes *resources; drmModePlaneRes *plane_resources; - int i; + int i, i915_dev; memset(display, 0, sizeof(igt_display_t)); LOG_INDENT(display, "init"); display->drm_fd = drm_fd; + i915_dev = is_i915_device(drm_fd); resources = drmModeGetResources(display->drm_fd); if (!resources) @@ -1921,10 +1922,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; + if (i915_dev) + display->n_pipes = IGT_MAX_PIPES; + else + display->n_pipes = resources->count_crtcs; + 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; + + if (i915_dev) { + /* Get right pipe enum from kernel for a pipe */ + 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 +1983,33 @@ 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, k = 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 */ + if (i915_dev) { + for(k = 0; k < resources->count_crtcs; k++) { + if(pipe->crtc_id == resources->crtcs[k]) + break; + } + } else { + k = i; + } + /* 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 & (1 << k)) n_planes++; } @@ -1987,7 +2023,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 & (1 << k))) continue; type = global_plane->type; @@ -2409,12 +2445,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 32a0e4cc..e91a2094 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] 42+ messages in thread
* [igt-dev] [PATCH i-g-t v3 2/7] tests/kms_cursor_legacy: Read crtc id for enable pipes 2020-06-25 6:35 ` [igt-dev] [PATCH i-g-t v3 0/7] lib/igt_kms: Add support for display with Mohammed Khajapasha 2020-06-25 6:35 ` [igt-dev] [PATCH i-g-t v3 1/7] lib/igt_kms: Add support for display with non-contiguous pipes Mohammed Khajapasha @ 2020-06-25 6:35 ` Mohammed Khajapasha 2020-06-25 6:35 ` [igt-dev] [PATCH i-g-t v3 3/7] tests/kms_lease: Get pipe from crtc " Mohammed Khajapasha ` (4 subsequent siblings) 6 siblings, 0 replies; 42+ messages in thread From: Mohammed Khajapasha @ 2020-06-25 6:35 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 | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/tests/kms_cursor_legacy.c b/tests/kms_cursor_legacy.c index 344442e8..151bd31d 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,8 @@ igt_main errno = 0; igt_fixture { - igt_skip_on(n >= display.n_pipes); + igt_require_f(display.pipes[n].enabled, + "Pipe-%s not enabled\n", kmstest_pipe_name(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] 42+ messages in thread
* [igt-dev] [PATCH i-g-t v3 3/7] tests/kms_lease: Get pipe from crtc for enable pipes 2020-06-25 6:35 ` [igt-dev] [PATCH i-g-t v3 0/7] lib/igt_kms: Add support for display with Mohammed Khajapasha 2020-06-25 6:35 ` [igt-dev] [PATCH i-g-t v3 1/7] lib/igt_kms: Add support for display with non-contiguous pipes Mohammed Khajapasha 2020-06-25 6:35 ` [igt-dev] [PATCH i-g-t v3 2/7] tests/kms_cursor_legacy: Read crtc id for enable pipes Mohammed Khajapasha @ 2020-06-25 6:35 ` Mohammed Khajapasha 2020-06-25 6:35 ` [igt-dev] [PATCH i-g-t v3 4/7] tests/kms_lease: Read crtc id for a valid pipe Mohammed Khajapasha ` (3 subsequent siblings) 6 siblings, 0 replies; 42+ messages in thread From: Mohammed Khajapasha @ 2020-06-25 6:35 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 927c2315..007ae47f 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] 42+ messages in thread
* [igt-dev] [PATCH i-g-t v3 4/7] tests/kms_lease: Read crtc id for a valid pipe 2020-06-25 6:35 ` [igt-dev] [PATCH i-g-t v3 0/7] lib/igt_kms: Add support for display with Mohammed Khajapasha ` (2 preceding siblings ...) 2020-06-25 6:35 ` [igt-dev] [PATCH i-g-t v3 3/7] tests/kms_lease: Get pipe from crtc " Mohammed Khajapasha @ 2020-06-25 6:35 ` Mohammed Khajapasha 2020-06-25 6:35 ` [igt-dev] [PATCH i-g-t v3 5/7] lib/kms: Skip igt test cases for disabled display pipes Mohammed Khajapasha ` (2 subsequent siblings) 6 siblings, 0 replies; 42+ messages in thread From: Mohammed Khajapasha @ 2020-06-25 6:35 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 007ae47f..3c92ca78 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] 42+ messages in thread
* [igt-dev] [PATCH i-g-t v3 5/7] lib/kms: Skip igt test cases for disabled display pipes 2020-06-25 6:35 ` [igt-dev] [PATCH i-g-t v3 0/7] lib/igt_kms: Add support for display with Mohammed Khajapasha ` (3 preceding siblings ...) 2020-06-25 6:35 ` [igt-dev] [PATCH i-g-t v3 4/7] tests/kms_lease: Read crtc id for a valid pipe Mohammed Khajapasha @ 2020-06-25 6:35 ` Mohammed Khajapasha 2020-06-25 6:35 ` [igt-dev] [PATCH i-g-t v3 6/7] tests/kms: Skip kms test cases for disabled pipes Mohammed Khajapasha 2020-06-25 6:35 ` [igt-dev] [PATCH i-g-t v3 7/7] tests/kms_atomic_transition: Set modeset for enable pipes only Mohammed Khajapasha 6 siblings, 0 replies; 42+ messages in thread From: Mohammed Khajapasha @ 2020-06-25 6:35 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 | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/lib/igt_kms.c b/lib/igt_kms.c index 1b20c7e8..f2909ca5 100644 --- a/lib/igt_kms.c +++ b/lib/igt_kms.c @@ -2166,8 +2166,9 @@ 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_skip_on_f(((pipe >= igt_display_get_n_pipes(display)) || + !(display->pipes[pipe].enabled)), + "Pipe %s does not exist or not enabled.\n", kmstest_pipe_name(pipe)); for_each_valid_output_on_pipe(display, pipe, output) return; @@ -2522,7 +2523,8 @@ 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->n_pipes) && + display->pipes[pipe].enabled); __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] 42+ messages in thread
* [igt-dev] [PATCH i-g-t v3 6/7] tests/kms: Skip kms test cases for disabled pipes 2020-06-25 6:35 ` [igt-dev] [PATCH i-g-t v3 0/7] lib/igt_kms: Add support for display with Mohammed Khajapasha ` (4 preceding siblings ...) 2020-06-25 6:35 ` [igt-dev] [PATCH i-g-t v3 5/7] lib/kms: Skip igt test cases for disabled display pipes Mohammed Khajapasha @ 2020-06-25 6:35 ` Mohammed Khajapasha 2020-06-25 6:35 ` [igt-dev] [PATCH i-g-t v3 7/7] tests/kms_atomic_transition: Set modeset for enable pipes only Mohammed Khajapasha 6 siblings, 0 replies; 42+ messages in thread From: Mohammed Khajapasha @ 2020-06-25 6:35 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 | 3 ++- tests/kms_color_chamelium.c | 3 ++- tests/kms_concurrent.c | 3 ++- tests/kms_pipe_crc_basic.c | 6 ++++-- tests/kms_plane.c | 3 ++- tests/kms_plane_lowres.c | 3 ++- tests/kms_plane_multiple.c | 3 ++- tests/kms_universal_plane.c | 18 ++++++++++++------ 8 files changed, 28 insertions(+), 14 deletions(-) diff --git a/tests/kms_color.c b/tests/kms_color.c index 7f2fbd4a..19f0f9b5 100644 --- a/tests/kms_color.c +++ b/tests/kms_color.c @@ -628,7 +628,8 @@ 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((p < data->display.n_pipes) && + (data->display.pipes[p].enabled)); 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..2d690ca3 100644 --- a/tests/kms_color_chamelium.c +++ b/tests/kms_color_chamelium.c @@ -519,7 +519,8 @@ run_tests_for_pipe(data_t *data, enum pipe p) igt_fixture { - igt_require(p < data->display.n_pipes); + igt_require((p < data->display.n_pipes) && + (data->display.pipes[p].enabled)); 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..1730bb2b 100644 --- a/tests/kms_concurrent.c +++ b/tests/kms_concurrent.c @@ -320,7 +320,8 @@ 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_skip_on((pipe >= data->display.n_pipes) || + !(data->display.pipes[pipe].enabled)); 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..ec31e2ca 100644 --- a/tests/kms_pipe_crc_basic.c +++ b/tests/kms_pipe_crc_basic.c @@ -71,7 +71,8 @@ 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_skip_on((pipe >= display->n_pipes) || + !(display->pipes[pipe].enabled)); igt_require_f(output, "No connector found for pipe %s\n", kmstest_pipe_name(pipe)); @@ -187,7 +188,8 @@ 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_skip_on((pipe >= data.display.n_pipes) || + !(data.display.pipes[pipe].enabled)); test_read_crc(&data, pipe, 0); diff --git a/tests/kms_plane.c b/tests/kms_plane.c index c6ead813..85ed4f94 100644 --- a/tests/kms_plane.c +++ b/tests/kms_plane.c @@ -940,7 +940,8 @@ static void run_tests_for_pipe_plane(data_t *data, enum pipe pipe) { igt_fixture { - igt_skip_on(pipe >= data->display.n_pipes); + igt_skip_on((pipe >= data->display.n_pipes) || + !(data->display.pipes[pipe].enabled)); 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..16afe570 100644 --- a/tests/kms_plane_lowres.c +++ b/tests/kms_plane_lowres.c @@ -259,7 +259,8 @@ 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_skip_on((data->pipe >= data->display.n_pipes) || + !(data->display.pipes[data->pipe].enabled)); 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..e7b5951c 100644 --- a/tests/kms_plane_multiple.c +++ b/tests/kms_plane_multiple.c @@ -378,7 +378,8 @@ static void run_tests_for_pipe(data_t *data, enum pipe pipe) { igt_fixture { - igt_skip_on(pipe >= data->display.n_pipes); + igt_skip_on((pipe >= data->display.n_pipes) || + !(data->display.pipes[pipe].enabled)); 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..ce28b37d 100644 --- a/tests/kms_universal_plane.c +++ b/tests/kms_universal_plane.c @@ -135,7 +135,8 @@ 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_skip_on((pipe >= display->n_pipes) || + !(display->pipes[pipe].enabled)); igt_info("Testing connector %s using pipe %s\n", igt_output_name(output), kmstest_pipe_name(pipe)); @@ -364,7 +365,8 @@ 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_skip_on((pipe >= data->display.n_pipes) || + !(data->display.pipes[pipe].enabled)); igt_output_set_pipe(output, pipe); mode = igt_output_get_mode(output); @@ -476,7 +478,8 @@ 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_skip_on((pipe >= data->display.n_pipes) || + !(data->display.pipes[pipe].enabled)); igt_output_set_pipe(output, pipe); @@ -577,7 +580,8 @@ 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_skip_on((pipe >= display->n_pipes) || + !(display->pipes[pipe].enabled)); igt_require(display->has_cursor_plane); igt_output_set_pipe(output, pipe); @@ -705,7 +709,8 @@ 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_skip_on((pipe >= data->display.n_pipes) || + !(data->display.pipes[pipe].enabled)); igt_output_set_pipe(output, pipe); @@ -750,7 +755,8 @@ 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_skip_on((pipe >= data->display.n_pipes) || + !(data->display.pipes[pipe].enabled)); 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] 42+ messages in thread
* [igt-dev] [PATCH i-g-t v3 7/7] tests/kms_atomic_transition: Set modeset for enable pipes only 2020-06-25 6:35 ` [igt-dev] [PATCH i-g-t v3 0/7] lib/igt_kms: Add support for display with Mohammed Khajapasha ` (5 preceding siblings ...) 2020-06-25 6:35 ` [igt-dev] [PATCH i-g-t v3 6/7] tests/kms: Skip kms test cases for disabled pipes Mohammed Khajapasha @ 2020-06-25 6:35 ` Mohammed Khajapasha 6 siblings, 0 replies; 42+ messages in thread From: Mohammed Khajapasha @ 2020-06-25 6:35 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] 42+ messages in thread
* [igt-dev] ✓ Fi.CI.BAT: success for lib/igt_kms: Add support for display with (rev2) 2020-06-17 18:03 [igt-dev] [PATCH i-g-t 0/6] lib/igt_kms: Add support for display with Mohammed Khajapasha ` (13 preceding siblings ...) 2020-06-25 6:35 ` [igt-dev] [PATCH i-g-t v3 0/7] lib/igt_kms: Add support for display with Mohammed Khajapasha @ 2020-06-25 8:57 ` Patchwork 2020-06-25 11:29 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork 15 siblings, 0 replies; 42+ messages in thread From: Patchwork @ 2020-06-25 8:57 UTC (permalink / raw) To: Mohammed Khajapasha; +Cc: igt-dev == Series Details == Series: lib/igt_kms: Add support for display with (rev2) URL : https://patchwork.freedesktop.org/series/78482/ State : success == Summary == CI Bug Log - changes from CI_DRM_8664 -> IGTPW_4703 ==================================================== Summary ------- **SUCCESS** No regressions found. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4703/index.html Known issues ------------ Here are the changes found in IGTPW_4703 that come from known issues: ### IGT changes ### #### Issues hit #### * igt@gem_exec_suspend@basic-s0: - fi-tgl-u2: [PASS][1] -> [FAIL][2] ([i915#1888]) [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8664/fi-tgl-u2/igt@gem_exec_suspend@basic-s0.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4703/fi-tgl-u2/igt@gem_exec_suspend@basic-s0.html * igt@i915_module_load@reload: - fi-tgl-u2: [PASS][3] -> [DMESG-WARN][4] ([i915#402]) [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8664/fi-tgl-u2/igt@i915_module_load@reload.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4703/fi-tgl-u2/igt@i915_module_load@reload.html * igt@i915_pm_rpm@basic-pci-d3-state: - fi-whl-u: [PASS][5] -> [DMESG-WARN][6] ([i915#95]) [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8664/fi-whl-u/igt@i915_pm_rpm@basic-pci-d3-state.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4703/fi-whl-u/igt@i915_pm_rpm@basic-pci-d3-state.html - fi-byt-j1900: [PASS][7] -> [DMESG-WARN][8] ([i915#1982]) [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8664/fi-byt-j1900/igt@i915_pm_rpm@basic-pci-d3-state.html [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4703/fi-byt-j1900/igt@i915_pm_rpm@basic-pci-d3-state.html * igt@i915_pm_rpm@module-reload: - fi-bsw-n3050: [PASS][9] -> [DMESG-WARN][10] ([i915#1982]) [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8664/fi-bsw-n3050/igt@i915_pm_rpm@module-reload.html [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4703/fi-bsw-n3050/igt@i915_pm_rpm@module-reload.html - fi-glk-dsi: [PASS][11] -> [DMESG-WARN][12] ([i915#1982]) [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8664/fi-glk-dsi/igt@i915_pm_rpm@module-reload.html [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4703/fi-glk-dsi/igt@i915_pm_rpm@module-reload.html #### Possible fixes #### * igt@gem_exec_suspend@basic-s3: - fi-tgl-u2: [FAIL][13] ([i915#1888]) -> [PASS][14] [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8664/fi-tgl-u2/igt@gem_exec_suspend@basic-s3.html [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4703/fi-tgl-u2/igt@gem_exec_suspend@basic-s3.html * igt@i915_pm_backlight@basic-brightness: - fi-whl-u: [DMESG-WARN][15] ([i915#95]) -> [PASS][16] [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8664/fi-whl-u/igt@i915_pm_backlight@basic-brightness.html [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4703/fi-whl-u/igt@i915_pm_backlight@basic-brightness.html * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic: - {fi-kbl-7560u}: [DMESG-WARN][17] ([i915#1982]) -> [PASS][18] [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8664/fi-kbl-7560u/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4703/fi-kbl-7560u/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html #### Warnings #### * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy: - fi-kbl-x1275: [DMESG-WARN][19] ([i915#62] / [i915#92] / [i915#95]) -> [DMESG-WARN][20] ([i915#62] / [i915#92]) +9 similar issues [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8664/fi-kbl-x1275/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4703/fi-kbl-x1275/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html * igt@prime_vgem@basic-fence-flip: - fi-kbl-x1275: [DMESG-WARN][21] ([i915#62] / [i915#92]) -> [DMESG-WARN][22] ([i915#62] / [i915#92] / [i915#95]) +1 similar issue [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8664/fi-kbl-x1275/igt@prime_vgem@basic-fence-flip.html [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4703/fi-kbl-x1275/igt@prime_vgem@basic-fence-flip.html {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [i915#1888]: https://gitlab.freedesktop.org/drm/intel/issues/1888 [i915#1982]: https://gitlab.freedesktop.org/drm/intel/issues/1982 [i915#402]: https://gitlab.freedesktop.org/drm/intel/issues/402 [i915#62]: https://gitlab.freedesktop.org/drm/intel/issues/62 [i915#92]: https://gitlab.freedesktop.org/drm/intel/issues/92 [i915#95]: https://gitlab.freedesktop.org/drm/intel/issues/95 Participating hosts (44 -> 37) ------------------------------ Missing (7): fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-apl-guc fi-byt-clapper fi-bdw-samus Build changes ------------- * CI: CI-20190529 -> None * IGT: IGT_5717 -> IGTPW_4703 CI-20190529: 20190529 CI_DRM_8664: a15b3619fc33a841f92f3939c6bfaffefba28fbf @ git://anongit.freedesktop.org/gfx-ci/linux IGTPW_4703: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4703/index.html IGT_5717: 725bf2dae51f0087eaa64f1931a2ef9d22f070dd @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4703/index.html _______________________________________________ igt-dev mailing list igt-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/igt-dev ^ permalink raw reply [flat|nested] 42+ messages in thread
* [igt-dev] ✗ Fi.CI.IGT: failure for lib/igt_kms: Add support for display with (rev2) 2020-06-17 18:03 [igt-dev] [PATCH i-g-t 0/6] lib/igt_kms: Add support for display with Mohammed Khajapasha ` (14 preceding siblings ...) 2020-06-25 8:57 ` [igt-dev] ✓ Fi.CI.BAT: success for lib/igt_kms: Add support for display with (rev2) Patchwork @ 2020-06-25 11:29 ` Patchwork 15 siblings, 0 replies; 42+ messages in thread From: Patchwork @ 2020-06-25 11:29 UTC (permalink / raw) To: Mohammed Khajapasha; +Cc: igt-dev == Series Details == Series: lib/igt_kms: Add support for display with (rev2) URL : https://patchwork.freedesktop.org/series/78482/ State : failure == Summary == CI Bug Log - changes from CI_DRM_8664_full -> IGTPW_4703_full ==================================================== Summary ------- **FAILURE** Serious unknown changes coming with IGTPW_4703_full absolutely need to be verified manually. If you think the reported changes have nothing to do with the changes introduced in IGTPW_4703_full, please notify your bug team to allow them to document this new failure mode, which will reduce false positives in CI. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4703/index.html Possible new issues ------------------- Here are the unknown changes that may have been introduced in IGTPW_4703_full: ### IGT changes ### #### Possible regressions #### * igt@gem_ctx_isolation@preservation-s3@bcs0: - shard-kbl: [PASS][1] -> [INCOMPLETE][2] [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8664/shard-kbl6/igt@gem_ctx_isolation@preservation-s3@bcs0.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4703/shard-kbl2/igt@gem_ctx_isolation@preservation-s3@bcs0.html * igt@gem_eio@kms: - shard-hsw: [PASS][3] -> [FAIL][4] +1 similar issue [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8664/shard-hsw4/igt@gem_eio@kms.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4703/shard-hsw2/igt@gem_eio@kms.html - shard-kbl: [PASS][5] -> [FAIL][6] +1 similar issue [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8664/shard-kbl7/igt@gem_eio@kms.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4703/shard-kbl7/igt@gem_eio@kms.html - shard-apl: [PASS][7] -> [FAIL][8] +1 similar issue [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8664/shard-apl8/igt@gem_eio@kms.html [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4703/shard-apl3/igt@gem_eio@kms.html - shard-glk: [PASS][9] -> [FAIL][10] +1 similar issue [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8664/shard-glk8/igt@gem_eio@kms.html [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4703/shard-glk1/igt@gem_eio@kms.html - shard-snb: [PASS][11] -> [FAIL][12] +1 similar issue [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8664/shard-snb2/igt@gem_eio@kms.html [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4703/shard-snb1/igt@gem_eio@kms.html * igt@kms_busy@basic-flip-pipe-b: - shard-hsw: [PASS][13] -> [INCOMPLETE][14] [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8664/shard-hsw2/igt@kms_busy@basic-flip-pipe-b.html [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4703/shard-hsw4/igt@kms_busy@basic-flip-pipe-b.html * igt@kms_lease@simple_lease: - shard-iclb: [PASS][15] -> [FAIL][16] +1 similar issue [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8664/shard-iclb5/igt@kms_lease@simple_lease.html [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4703/shard-iclb7/igt@kms_lease@simple_lease.html - shard-tglb: [PASS][17] -> [FAIL][18] +1 similar issue [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8664/shard-tglb8/igt@kms_lease@simple_lease.html [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4703/shard-tglb2/igt@kms_lease@simple_lease.html #### Warnings #### * igt@kms_multipipe_modeset@basic-max-pipe-crc-check: - shard-tglb: [SKIP][19] ([i915#1839]) -> [SKIP][20] [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8664/shard-tglb6/igt@kms_multipipe_modeset@basic-max-pipe-crc-check.html [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4703/shard-tglb7/igt@kms_multipipe_modeset@basic-max-pipe-crc-check.html - shard-iclb: [SKIP][21] ([i915#1839]) -> [SKIP][22] [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8664/shard-iclb2/igt@kms_multipipe_modeset@basic-max-pipe-crc-check.html [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4703/shard-iclb5/igt@kms_multipipe_modeset@basic-max-pipe-crc-check.html Known issues ------------ Here are the changes found in IGTPW_4703_full that come from known issues: ### IGT changes ### #### Issues hit #### * igt@gem_exec_balancer@bonded-early: - shard-tglb: [PASS][23] -> [FAIL][24] ([i915#2079]) [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8664/shard-tglb5/igt@gem_exec_balancer@bonded-early.html [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4703/shard-tglb5/igt@gem_exec_balancer@bonded-early.html * igt@gem_exec_whisper@basic-fds-forked: - shard-glk: [PASS][25] -> [DMESG-WARN][26] ([i915#118] / [i915#95]) +2 similar issues [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8664/shard-glk1/igt@gem_exec_whisper@basic-fds-forked.html [26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4703/shard-glk7/igt@gem_exec_whisper@basic-fds-forked.html * igt@gem_mmap_gtt@cpuset-medium-copy: - shard-kbl: [PASS][27] -> [DMESG-WARN][28] ([i915#93] / [i915#95]) +43 similar issues [27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8664/shard-kbl7/igt@gem_mmap_gtt@cpuset-medium-copy.html [28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4703/shard-kbl4/igt@gem_mmap_gtt@cpuset-medium-copy.html * igt@gen9_exec_parse@batch-without-end: - shard-apl: [PASS][29] -> [DMESG-WARN][30] ([i915#1635] / [i915#95]) +42 similar issues [29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8664/shard-apl3/igt@gen9_exec_parse@batch-without-end.html [30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4703/shard-apl7/igt@gen9_exec_parse@batch-without-end.html * igt@i915_module_load@reload: - shard-tglb: [PASS][31] -> [DMESG-WARN][32] ([i915#402]) +3 similar issues [31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8664/shard-tglb7/igt@i915_module_load@reload.html [32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4703/shard-tglb8/igt@i915_module_load@reload.html * igt@kms_addfb_basic@bad-pitch-256: - shard-snb: [PASS][33] -> [TIMEOUT][34] ([i915#1958]) +1 similar issue [33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8664/shard-snb5/igt@kms_addfb_basic@bad-pitch-256.html [34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4703/shard-snb2/igt@kms_addfb_basic@bad-pitch-256.html * igt@kms_big_fb@linear-64bpp-rotate-180: - shard-glk: [PASS][35] -> [DMESG-FAIL][36] ([i915#118] / [i915#95]) +2 similar issues [35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8664/shard-glk1/igt@kms_big_fb@linear-64bpp-rotate-180.html [36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4703/shard-glk8/igt@kms_big_fb@linear-64bpp-rotate-180.html * igt@kms_cursor_crc@pipe-a-cursor-64x21-offscreen: - shard-kbl: [PASS][37] -> [DMESG-FAIL][38] ([i915#54] / [i915#95]) [37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8664/shard-kbl7/igt@kms_cursor_crc@pipe-a-cursor-64x21-offscreen.html [38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4703/shard-kbl1/igt@kms_cursor_crc@pipe-a-cursor-64x21-offscreen.html * igt@kms_cursor_crc@pipe-b-cursor-64x21-random: - shard-apl: [PASS][39] -> [FAIL][40] ([i915#54]) [39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8664/shard-apl6/igt@kms_cursor_crc@pipe-b-cursor-64x21-random.html [40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4703/shard-apl8/igt@kms_cursor_crc@pipe-b-cursor-64x21-random.html - shard-kbl: [PASS][41] -> [FAIL][42] ([i915#54]) [41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8664/shard-kbl2/igt@kms_cursor_crc@pipe-b-cursor-64x21-random.html [42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4703/shard-kbl4/igt@kms_cursor_crc@pipe-b-cursor-64x21-random.html * igt@kms_cursor_edge_walk@pipe-c-64x64-left-edge: - shard-glk: [PASS][43] -> [DMESG-WARN][44] ([i915#1982]) [43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8664/shard-glk3/igt@kms_cursor_edge_walk@pipe-c-64x64-left-edge.html [44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4703/shard-glk6/igt@kms_cursor_edge_walk@pipe-c-64x64-left-edge.html * igt@kms_flip@flip-vs-suspend-interruptible@c-dp1: - shard-kbl: [PASS][45] -> [DMESG-WARN][46] ([i915#180]) +3 similar issues [45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8664/shard-kbl1/igt@kms_flip@flip-vs-suspend-interruptible@c-dp1.html [46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4703/shard-kbl1/igt@kms_flip@flip-vs-suspend-interruptible@c-dp1.html * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-pwrite: - shard-apl: [PASS][47] -> [FAIL][48] ([i915#49]) [47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8664/shard-apl1/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-pwrite.html [48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4703/shard-apl7/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-pwrite.html - shard-kbl: [PASS][49] -> [FAIL][50] ([i915#49]) [49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8664/shard-kbl4/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-pwrite.html [50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4703/shard-kbl7/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-pwrite.html * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-mmap-wc: - shard-tglb: [PASS][51] -> [DMESG-WARN][52] ([i915#1982]) +1 similar issue [51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8664/shard-tglb5/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-mmap-wc.html [52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4703/shard-tglb8/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-mmap-wc.html * igt@kms_plane_cursor@pipe-a-viewport-size-64: - shard-kbl: [PASS][53] -> [DMESG-FAIL][54] ([i915#95]) [53]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8664/shard-kbl4/igt@kms_plane_cursor@pipe-a-viewport-size-64.html [54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4703/shard-kbl7/igt@kms_plane_cursor@pipe-a-viewport-size-64.html - shard-apl: [PASS][55] -> [DMESG-FAIL][56] ([i915#1635] / [i915#95]) [55]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8664/shard-apl1/igt@kms_plane_cursor@pipe-a-viewport-size-64.html [56]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4703/shard-apl2/igt@kms_plane_cursor@pipe-a-viewport-size-64.html * igt@kms_plane_scaling@pipe-a-scaler-with-clipping-clamping: - shard-iclb: [PASS][57] -> [DMESG-WARN][58] ([i915#1982]) [57]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8664/shard-iclb2/igt@kms_plane_scaling@pipe-a-scaler-with-clipping-clamping.html [58]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4703/shard-iclb3/igt@kms_plane_scaling@pipe-a-scaler-with-clipping-clamping.html * igt@kms_prop_blob@blob-prop-lifetime: - shard-hsw: [PASS][59] -> [TIMEOUT][60] ([i915#1958]) +1 similar issue [59]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8664/shard-hsw5/igt@kms_prop_blob@blob-prop-lifetime.html [60]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4703/shard-hsw5/igt@kms_prop_blob@blob-prop-lifetime.html * igt@kms_psr@psr2_sprite_plane_move: - shard-iclb: [PASS][61] -> [SKIP][62] ([fdo#109441]) +2 similar issues [61]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8664/shard-iclb2/igt@kms_psr@psr2_sprite_plane_move.html [62]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4703/shard-iclb4/igt@kms_psr@psr2_sprite_plane_move.html #### Possible fixes #### * igt@gem_exec_whisper@basic-queues-all: - shard-glk: [DMESG-WARN][63] ([i915#118] / [i915#95]) -> [PASS][64] +2 similar issues [63]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8664/shard-glk5/igt@gem_exec_whisper@basic-queues-all.html [64]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4703/shard-glk1/igt@gem_exec_whisper@basic-queues-all.html * igt@gem_userptr_blits@create-destroy-sync: - shard-hsw: [TIMEOUT][65] ([i915#1958]) -> [PASS][66] +3 similar issues [65]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8664/shard-hsw8/igt@gem_userptr_blits@create-destroy-sync.html [66]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4703/shard-hsw2/igt@gem_userptr_blits@create-destroy-sync.html * igt@i915_pm_dc@dc3co-vpb-simulation: - shard-tglb: [SKIP][67] ([i915#1904]) -> [PASS][68] [67]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8664/shard-tglb3/igt@i915_pm_dc@dc3co-vpb-simulation.html [68]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4703/shard-tglb5/igt@i915_pm_dc@dc3co-vpb-simulation.html * igt@i915_pm_rpm@system-suspend-execbuf: - shard-kbl: [INCOMPLETE][69] ([i915#151] / [i915#155]) -> [PASS][70] [69]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8664/shard-kbl3/igt@i915_pm_rpm@system-suspend-execbuf.html [70]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4703/shard-kbl2/igt@i915_pm_rpm@system-suspend-execbuf.html * igt@kms_color@pipe-a-ctm-blue-to-red: - shard-kbl: [DMESG-WARN][71] ([i915#93] / [i915#95]) -> [PASS][72] +33 similar issues [71]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8664/shard-kbl6/igt@kms_color@pipe-a-ctm-blue-to-red.html [72]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4703/shard-kbl4/igt@kms_color@pipe-a-ctm-blue-to-red.html * igt@kms_cursor_crc@pipe-a-cursor-64x21-random: - shard-kbl: [DMESG-FAIL][73] ([i915#54] / [i915#95]) -> [PASS][74] [73]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8664/shard-kbl3/igt@kms_cursor_crc@pipe-a-cursor-64x21-random.html [74]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4703/shard-kbl6/igt@kms_cursor_crc@pipe-a-cursor-64x21-random.html * igt@kms_cursor_crc@pipe-a-cursor-suspend: - shard-kbl: [DMESG-WARN][75] ([i915#180]) -> [PASS][76] +1 similar issue [75]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8664/shard-kbl2/igt@kms_cursor_crc@pipe-a-cursor-suspend.html [76]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4703/shard-kbl4/igt@kms_cursor_crc@pipe-a-cursor-suspend.html * igt@kms_flip@busy-flip@a-hdmi-a2: - shard-glk: [FAIL][77] ([i915#275]) -> [PASS][78] [77]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8664/shard-glk7/igt@kms_flip@busy-flip@a-hdmi-a2.html [78]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4703/shard-glk2/igt@kms_flip@busy-flip@a-hdmi-a2.html * igt@kms_flip_tiling@flip-changes-tiling-yf: - shard-kbl: [DMESG-FAIL][79] ([i915#95]) -> [PASS][80] +1 similar issue [79]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8664/shard-kbl6/igt@kms_flip_tiling@flip-changes-tiling-yf.html [80]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4703/shard-kbl7/igt@kms_flip_tiling@flip-changes-tiling-yf.html - shard-apl: [DMESG-FAIL][81] ([i915#1635] / [i915#95]) -> [PASS][82] +2 similar issues [81]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8664/shard-apl3/igt@kms_flip_tiling@flip-changes-tiling-yf.html [82]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4703/shard-apl3/igt@kms_flip_tiling@flip-changes-tiling-yf.html * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-shrfb-draw-mmap-gtt: - shard-iclb: [DMESG-WARN][83] ([i915#1982]) -> [PASS][84] [83]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8664/shard-iclb3/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-shrfb-draw-mmap-gtt.html [84]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4703/shard-iclb1/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-shrfb-draw-mmap-gtt.html * igt@kms_frontbuffer_tracking@psr-rgb101010-draw-mmap-wc: - shard-tglb: [DMESG-WARN][85] ([i915#1982]) -> [PASS][86] +2 similar issues [85]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8664/shard-tglb5/igt@kms_frontbuffer_tracking@psr-rgb101010-draw-mmap-wc.html [86]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4703/shard-tglb6/igt@kms_frontbuffer_tracking@psr-rgb101010-draw-mmap-wc.html * igt@kms_invalid_dotclock: - shard-snb: [TIMEOUT][87] ([i915#1958]) -> [PASS][88] +3 similar issues [87]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8664/shard-snb6/igt@kms_invalid_dotclock.html [88]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4703/shard-snb1/igt@kms_invalid_dotclock.html * igt@kms_psr@psr2_cursor_mmap_cpu: - shard-iclb: [SKIP][89] ([fdo#109441]) -> [PASS][90] +2 similar issues [89]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8664/shard-iclb7/igt@kms_psr@psr2_cursor_mmap_cpu.html [90]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4703/shard-iclb2/igt@kms_psr@psr2_cursor_mmap_cpu.html * igt@prime_vgem@basic-blt: - shard-tglb: [DMESG-WARN][91] ([i915#402]) -> [PASS][92] [91]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8664/shard-tglb8/igt@prime_vgem@basic-blt.html [92]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4703/shard-tglb6/igt@prime_vgem@basic-blt.html * igt@syncobj_wait@multi-wait-all-signaled: - shard-apl: [DMESG-WARN][93] ([i915#1635] / [i915#95]) -> [PASS][94] +26 similar issues [93]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8664/shard-apl1/igt@syncobj_wait@multi-wait-all-signaled.html [94]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4703/shard-apl3/igt@syncobj_wait@multi-wait-all-signaled.html #### Warnings #### * igt@kms_big_fb@y-tiled-32bpp-rotate-90: - shard-hsw: [TIMEOUT][95] ([i915#1958]) -> [SKIP][96] ([fdo#109271]) +1 similar issue [95]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8664/shard-hsw8/igt@kms_big_fb@y-tiled-32bpp-rotate-90.html [96]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4703/shard-hsw5/igt@kms_big_fb@y-tiled-32bpp-rotate-90.html * igt@kms_chamelium@vga-hpd-without-ddc: - shard-apl: [SKIP][97] ([fdo#109271] / [fdo#111827]) -> [SKIP][98] ([fdo#109271] / [fdo#111827] / [i915#1635]) +1 similar issue [97]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8664/shard-apl7/igt@kms_chamelium@vga-hpd-without-ddc.html [98]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4703/shard-apl3/igt@kms_chamelium@vga-hpd-without-ddc.html * igt@kms_color_chamelium@pipe-a-ctm-limited-range: - shard-apl: [SKIP][99] ([fdo#109271] / [fdo#111827] / [i915#1635]) -> [SKIP][100] ([fdo#109271] / [fdo#111827]) +1 similar issue [99]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8664/shard-apl1/igt@kms_color_chamelium@pipe-a-ctm-limited-range.html [100]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4703/shard-apl6/igt@kms_color_chamelium@pipe-a-ctm-limited-range.html * igt@kms_content_protection@lic: - shard-apl: [FAIL][101] ([fdo#110321]) -> [DMESG-FAIL][102] ([fdo#110321] / [i915#1635] / [i915#95]) [101]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8664/shard-apl1/igt@kms_content_protection@lic.html [102]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4703/shard-apl2/igt@kms_content_protection@lic.html - shard-kbl: [TIMEOUT][103] ([i915#1319] / [i915#1958]) -> [TIMEOUT][104] ([i915#1319]) [103]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8664/shard-kbl1/igt@kms_content_protection@lic.html [104]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4703/shard-kbl7/igt@kms_content_protection@lic.html * igt@kms_cursor_crc@pipe-a-cursor-64x64-onscreen: - shard-kbl: [DMESG-FAIL][105] ([i915#54] / [i915#95]) -> [FAIL][106] ([i915#54]) [105]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8664/shard-kbl3/igt@kms_cursor_crc@pipe-a-cursor-64x64-onscreen.html [106]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4703/shard-kbl7/igt@kms_cursor_crc@pipe-a-cursor-64x64-onscreen.html - shard-apl: [DMESG-WARN][107] ([i915#1635] / [i915#95]) -> [FAIL][108] ([i915#54]) [107]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8664/shard-apl2/igt@kms_cursor_crc@pipe-a-cursor-64x64-onscreen.html [108]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4703/shard-apl7/igt@kms_cursor_crc@pipe-a-cursor-64x64-onscreen.html * igt@kms_cursor_crc@pipe-d-cursor-64x21-sliding: - shard-iclb: [SKIP][109] ([fdo#109278] / [fdo#112010] / [i915#508]) -> [SKIP][110] ([fdo#109278] / [fdo#112010]) [109]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8664/shard-iclb1/igt@kms_cursor_crc@pipe-d-cursor-64x21-sliding.html [110]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4703/shard-iclb3/igt@kms_cursor_crc@pipe-d-cursor-64x21-sliding.html * igt@kms_cursor_legacy@pipe-d-single-move: - shard-iclb: [SKIP][111] ([fdo#109278] / [fdo#112010]) -> [SKIP][112] ([fdo#109278]) +5 similar issues [111]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8664/shard-iclb4/igt@kms_cursor_legacy@pipe-d-single-move.html [112]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4703/shard-iclb6/igt@kms_cursor_legacy@pipe-d-single-move.html * igt@kms_draw_crc@draw-method-rgb565-render-ytiled: - shard-snb: [TIMEOUT][113] ([i915#1958]) -> [SKIP][114] ([fdo#109271]) +1 similar issue [113]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8664/shard-snb6/igt@kms_draw_crc@draw-method-rgb565-render-ytiled.html [114]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4703/shard-snb6/igt@kms_draw_crc@draw-method-rgb565-render-ytiled.html * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-indfb-plflip-blt: - shard-hsw: [SKIP][115] ([fdo#109271]) -> [TIMEOUT][116] ([i915#1958]) +3 similar issues [115]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8664/shard-hsw4/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-indfb-plflip-blt.html [116]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4703/shard-hsw5/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-indfb-plflip-blt.html * igt@kms_frontbuffer_tracking@psr-1p-offscren-pri-shrfb-draw-blt: - shard-apl: [SKIP][117] ([fdo#109271] / [i915#1635]) -> [SKIP][118] ([fdo#109271]) +13 similar issues [117]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8664/shard-apl6/igt@kms_frontbuffer_tracking@psr-1p-offscren-pri-shrfb-draw-blt.html [118]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4703/shard-apl3/igt@kms_frontbuffer_tracking@psr-1p-offscren-pri-shrfb-draw-blt.html * igt@kms_frontbuffer_tracking@psr-2p-primscrn-cur-indfb-onoff: - shard-apl: [SKIP][119] ([fdo#109271]) -> [SKIP][120] ([fdo#109271] / [i915#1635]) +14 similar issues [119]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8664/shard-apl3/igt@kms_frontbuffer_tracking@psr-2p-primscrn-cur-indfb-onoff.html [120]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4703/shard-apl8/igt@kms_frontbuffer_tracking@psr-2p-primscrn-cur-indfb-onoff.html * igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-indfb-draw-pwrite: - shard-snb: [SKIP][121] ([fdo#109271]) -> [TIMEOUT][122] ([i915#1958]) +3 similar issues [121]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8664/shard-snb6/igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-indfb-draw-pwrite.html [122]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4703/shard-snb2/igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-indfb-draw-pwrite.html * igt@kms_plane_multiple@atomic-pipe-d-tiling-yf: - shard-tglb: [SKIP][123] ([fdo#112025] / [fdo#112054]) -> [SKIP][124] ([fdo#112054]) [123]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8664/shard-tglb5/igt@kms_plane_multiple@atomic-pipe-d-tiling-yf.html [124]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4703/shard-tglb5/igt@kms_plane_multiple@atomic-pipe-d-tiling-yf.html * igt@kms_plane_scaling@2x-scaler-multi-pipe: - shard-tglb: [SKIP][125] ([fdo#111825] / [fdo#112015]) -> [SKIP][126] ([fdo#111825]) [125]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8664/shard-tglb1/igt@kms_plane_scaling@2x-scaler-multi-pipe.html [126]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4703/shard-tglb1/igt@kms_plane_scaling@2x-scaler-multi-pipe.html [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271 [fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278 [fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441 [fdo#110321]: https://bugs.freedesktop.org/show_bug.cgi?id=110321 [fdo#111825]: https://bugs.freedesktop.org/show_bug.cgi?id=111825 [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827 [fdo#112010]: https://bugs.freedesktop.org/show_bug.cgi?id=112010 [fdo#112015]: https://bugs.freedesktop.org/show_bug.cgi?id=112015 [fdo#112025]: https://bugs.freedesktop.org/show_bug.cgi?id=112025 [fdo#112054]: https://bugs.freedesktop.org/show_bug.cgi?id=112054 [i915#118]: https://gitlab.freedesktop.org/drm/intel/issues/118 [i915#1319]: https://gitlab.freedesktop.org/drm/intel/issues/1319 [i915#151]: https://gitlab.freedesktop.org/drm/intel/issues/151 [i915#155]: https://gitlab.freedesktop.org/drm/intel/issues/155 [i915#1635]: https://gitlab.freedesktop.org/drm/intel/issues/1635 [i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180 [i915#1839]: https://gitlab.freedesktop.org/drm/intel/issues/1839 [i915#1904]: https://gitlab.freedesktop.org/drm/intel/issues/1904 [i915#1958]: https://gitlab.freedesktop.org/drm/intel/issues/1958 [i915#1982]: https://gitlab.freedesktop.org/drm/intel/issues/1982 [i915#2079]: https://gitlab.freedesktop.org/drm/intel/issues/2079 [i915#275]: https://gitlab.freedesktop.org/drm/intel/issues/275 [i915#402]: https://gitlab.freedesktop.org/drm/intel/issues/402 [i915#49]: https://gitlab.freedesktop.org/drm/intel/issues/49 [i915#508]: https://gitlab.freedesktop.org/drm/intel/issues/508 [i915#54]: https://gitlab.freedesktop.org/drm/intel/issues/54 [i915#93]: https://gitlab.freedesktop.org/drm/intel/issues/93 [i915#95]: https://gitlab.freedesktop.org/drm/intel/issues/95 Participating hosts (11 -> 8) ------------------------------ Missing (3): pig-skl-6260u pig-glk-j5005 pig-icl-1065g7 Build changes ------------- * CI: CI-20190529 -> None * IGT: IGT_5717 -> IGTPW_4703 * Piglit: piglit_4509 -> None CI-20190529: 20190529 CI_DRM_8664: a15b3619fc33a841f92f3939c6bfaffefba28fbf @ git://anongit.freedesktop.org/gfx-ci/linux IGTPW_4703: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4703/index.html IGT_5717: 725bf2dae51f0087eaa64f1931a2ef9d22f070dd @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4703/index.html _______________________________________________ igt-dev mailing list igt-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/igt-dev ^ permalink raw reply [flat|nested] 42+ messages in thread
* [igt-dev] [[RFC] i-g-t 1/1] lib/igt_kms: Add support for display with non-contiguous pipes @ 2020-06-10 19:37 Mohammed Khajapasha 2020-06-17 17:52 ` [igt-dev] [PATCH i-g-t 0/6] lib/igt_kms: Add support for display with Mohammed Khajapasha 0 siblings, 1 reply; 42+ messages in thread From: Mohammed Khajapasha @ 2020-06-10 19:37 UTC (permalink / raw) To: 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. Signed-off-by: Mohammed Khajapasha <mohammed.khajapasha@intel.com> --- lib/igt_kms.c | 30 +++++++++++++++++++++++++----- lib/igt_kms.h | 13 ++++++++----- 2 files changed, 33 insertions(+), 10 deletions(-) diff --git a/lib/igt_kms.c b/lib/igt_kms.c index afef5939..2b1cf878 100644 --- a/lib/igt_kms.c +++ b/lib/igt_kms.c @@ -1921,10 +1921,26 @@ 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->pipes = calloc(sizeof(igt_pipe_t), display->n_pipes); + display->n_pipes = IGT_MAX_PIPES; + display->pipes = calloc(sizeof(igt_pipe_t), IGT_MAX_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; + struct drm_i915_get_pipe_from_crtc_id get_pipe; + + /* Get right pipe enum from kernel for a 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; + 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; @@ -1959,9 +1975,7 @@ void igt_display_require(igt_display_t *display, int drm_fd) 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; @@ -2409,12 +2423,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 << pipe->pipe); + } + /* * 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 32a0e4cc..e91a2094 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] 42+ messages in thread
* [igt-dev] [PATCH i-g-t 0/6] lib/igt_kms: Add support for display with 2020-06-10 19:37 [igt-dev] [[RFC] i-g-t 1/1] lib/igt_kms: Add support for display with non-contiguous pipes Mohammed Khajapasha @ 2020-06-17 17:52 ` Mohammed Khajapasha 0 siblings, 0 replies; 42+ messages in thread From: Mohammed Khajapasha @ 2020-06-17 17:52 UTC (permalink / raw) To: suresh.kumar.kurmi, kishore.kunche, petri.latvala, mohammed.khajapasha, arkadiusz.hiler, igt-dev Add support for display with non-contiguous pipes. Mohammed Khajapasha (6): lib/igt_kms: Add support for display with non-contiguous pipes 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 lib/igt_kms.c | 62 ++++++++++++++++++++++++++++++------- lib/igt_kms.h | 13 +++++--- tests/kms_color.c | 3 +- tests/kms_color_chamelium.c | 3 +- tests/kms_concurrent.c | 3 +- tests/kms_cursor_legacy.c | 14 ++++++--- tests/kms_lease.c | 8 +++-- tests/kms_pipe_crc_basic.c | 6 ++-- tests/kms_plane.c | 3 +- tests/kms_plane_lowres.c | 3 +- tests/kms_plane_multiple.c | 3 +- tests/kms_universal_plane.c | 18 +++++++---- 12 files changed, 102 insertions(+), 37 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] 42+ messages in thread
end of thread, other threads:[~2020-07-01 11:47 UTC | newest] Thread overview: 42+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2020-06-17 18:03 [igt-dev] [PATCH i-g-t 0/6] lib/igt_kms: Add support for display with Mohammed Khajapasha 2020-06-17 18:03 ` [igt-dev] [PATCH i-g-t 1/6] lib/igt_kms: Add support for display with non-contiguous pipes Mohammed Khajapasha 2020-06-17 18:06 ` Khajapasha, Mohammed 2020-06-18 8:33 ` Petri Latvala 2020-06-18 9:35 ` [igt-dev] [PATCH i-g-t] " Mohammed Khajapasha 2020-06-17 18:03 ` [igt-dev] [PATCH i-g-t 2/6] tests/kms_cursor_legacy: Read crtc id for enable pipes Mohammed Khajapasha 2020-06-17 18:03 ` [igt-dev] [PATCH i-g-t 3/6] tests/kms_lease: Get pipe from crtc " Mohammed Khajapasha 2020-06-17 18:03 ` [igt-dev] [PATCH i-g-t 4/6] tests/kms_lease: Read crtc id for a valid pipe Mohammed Khajapasha 2020-06-17 18:03 ` [igt-dev] [PATCH i-g-t 5/6] lib/kms: Skip igt test cases for disabled display pipes Mohammed Khajapasha 2020-06-17 18:03 ` [igt-dev] [PATCH i-g-t 6/6] tests/kms: Skip kms test cases for disabled pipes Mohammed Khajapasha 2020-06-17 18:36 ` [igt-dev] ✓ Fi.CI.BAT: success for lib/igt_kms: Add support for display with Patchwork 2020-06-17 19:36 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork 2020-06-18 10:56 ` [igt-dev] ✓ Fi.CI.BAT: success for lib/igt_kms: Add support for display with (rev2) Patchwork 2020-06-18 12:52 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork 2020-06-18 15:32 ` [igt-dev] ✗ GitLab.Pipeline: warning for lib/igt_kms: Add support for display with Patchwork 2020-06-18 15:32 ` [igt-dev] ✗ GitLab.Pipeline: warning for lib/igt_kms: Add support for display with (rev2) Patchwork 2020-06-25 6:23 ` [igt-dev] [PATCH i-g-t v3 0/7] lib/igt_kms: Add support for display with Mohammed Khajapasha 2020-06-25 6:23 ` [igt-dev] [PATCH i-g-t v3 1/7] lib/igt_kms: Add support for display with non-contiguous pipes Mohammed Khajapasha 2020-06-30 12:02 ` Arkadiusz Hiler 2020-07-01 7:04 ` Khajapasha, Mohammed 2020-07-01 7:51 ` Arkadiusz Hiler 2020-07-01 7:27 ` Khajapasha, Mohammed 2020-06-25 6:23 ` [igt-dev] [PATCH i-g-t v3 2/7] tests/kms_cursor_legacy: Read crtc id for enable pipes Mohammed Khajapasha 2020-06-30 12:27 ` Arkadiusz Hiler 2020-07-01 11:45 ` Khajapasha, Mohammed 2020-06-25 6:23 ` [igt-dev] [PATCH i-g-t v3 3/7] tests/kms_lease: Get pipe from crtc " Mohammed Khajapasha 2020-06-25 6:23 ` [igt-dev] [PATCH i-g-t v3 4/7] tests/kms_lease: Read crtc id for a valid pipe Mohammed Khajapasha 2020-06-25 6:23 ` [igt-dev] [PATCH i-g-t v3 5/7] lib/kms: Skip igt test cases for disabled display pipes Mohammed Khajapasha 2020-06-25 6:23 ` [igt-dev] [PATCH i-g-t v3 6/7] tests/kms: Skip kms test cases for disabled pipes Mohammed Khajapasha 2020-06-30 12:22 ` Arkadiusz Hiler 2020-06-25 6:23 ` [igt-dev] [PATCH i-g-t v3 7/7] tests/kms_atomic_transition: Set modeset for enable pipes only Mohammed Khajapasha 2020-06-25 6:35 ` [igt-dev] [PATCH i-g-t v3 0/7] lib/igt_kms: Add support for display with Mohammed Khajapasha 2020-06-25 6:35 ` [igt-dev] [PATCH i-g-t v3 1/7] lib/igt_kms: Add support for display with non-contiguous pipes Mohammed Khajapasha 2020-06-25 6:35 ` [igt-dev] [PATCH i-g-t v3 2/7] tests/kms_cursor_legacy: Read crtc id for enable pipes Mohammed Khajapasha 2020-06-25 6:35 ` [igt-dev] [PATCH i-g-t v3 3/7] tests/kms_lease: Get pipe from crtc " Mohammed Khajapasha 2020-06-25 6:35 ` [igt-dev] [PATCH i-g-t v3 4/7] tests/kms_lease: Read crtc id for a valid pipe Mohammed Khajapasha 2020-06-25 6:35 ` [igt-dev] [PATCH i-g-t v3 5/7] lib/kms: Skip igt test cases for disabled display pipes Mohammed Khajapasha 2020-06-25 6:35 ` [igt-dev] [PATCH i-g-t v3 6/7] tests/kms: Skip kms test cases for disabled pipes Mohammed Khajapasha 2020-06-25 6:35 ` [igt-dev] [PATCH i-g-t v3 7/7] tests/kms_atomic_transition: Set modeset for enable pipes only Mohammed Khajapasha 2020-06-25 8:57 ` [igt-dev] ✓ Fi.CI.BAT: success for lib/igt_kms: Add support for display with (rev2) Patchwork 2020-06-25 11:29 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork -- strict thread matches above, loose matches on Subject: below -- 2020-06-10 19:37 [igt-dev] [[RFC] i-g-t 1/1] lib/igt_kms: Add support for display with non-contiguous pipes Mohammed Khajapasha 2020-06-17 17:52 ` [igt-dev] [PATCH i-g-t 0/6] lib/igt_kms: Add support for display with Mohammed Khajapasha
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox