* [PATCH i-g-t 0/2] tests/kms_plane_multiple: Fix CI issues @ 2017-01-16 13:09 Mika Kahola 2017-01-16 13:09 ` [PATCH i-g-t 1/2] tests/kms_plane_multiple: Relax atomic commit time requirement Mika Kahola 2017-01-16 13:09 ` [PATCH i-g-t 2/2] tests/kms_plane_multiple: Cleanup in favor of library functions Mika Kahola 0 siblings, 2 replies; 6+ messages in thread From: Mika Kahola @ 2017-01-16 13:09 UTC (permalink / raw) To: intel-gfx Fixes for issues seen on CI tests. The patches provide relaxed timing requirement for atomic commit as well as general cleanup to favor library functions. Mika Kahola (2): tests/kms_plane_multiple: Relax atomic commit time requirement tests/kms_plane_multiple: Cleanup in favor of library functions tests/kms_plane_multiple.c | 34 +++++++--------------------------- 1 file changed, 7 insertions(+), 27 deletions(-) -- 2.7.4 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH i-g-t 1/2] tests/kms_plane_multiple: Relax atomic commit time requirement 2017-01-16 13:09 [PATCH i-g-t 0/2] tests/kms_plane_multiple: Fix CI issues Mika Kahola @ 2017-01-16 13:09 ` Mika Kahola 2017-01-16 13:26 ` Maarten Lankhorst 2017-01-16 13:09 ` [PATCH i-g-t 2/2] tests/kms_plane_multiple: Cleanup in favor of library functions Mika Kahola 1 sibling, 1 reply; 6+ messages in thread From: Mika Kahola @ 2017-01-16 13:09 UTC (permalink / raw) To: intel-gfx Relax required time to atomic commits from 1 vblank to 2 vblanks. Reference: Issues seen on BYT CI tests Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Signed-off-by: Mika Kahola <mika.kahola@intel.com> --- tests/kms_plane_multiple.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/tests/kms_plane_multiple.c b/tests/kms_plane_multiple.c index 792f530..6257a8b 100644 --- a/tests/kms_plane_multiple.c +++ b/tests/kms_plane_multiple.c @@ -235,7 +235,7 @@ test_atomic_plane_position_with_output(data_t *data, enum pipe pipe, test_position_t test = { .data = data }; color_t blue = { 0.0f, 0.0f, 1.0f }; igt_crc_t *crc = NULL; - unsigned int vblank_start; + unsigned int vblank_start, vblank_stop; int i, n, ret; int iterations = opt.iterations < 1 ? 1 : opt.iterations; bool loop_forever; @@ -274,13 +274,14 @@ test_atomic_plane_position_with_output(data_t *data, enum pipe pipe, ret = read(data->display.drm_fd, buf, sizeof(buf)); igt_assert(ret >= 0); - igt_assert_eq(get_vblank(data->display.drm_fd, pipe, 0), vblank_start + 1); + vblank_stop = get_vblank(data->display.drm_fd, pipe, 0); igt_assert_eq(e->type, DRM_EVENT_FLIP_COMPLETE); igt_reset_timeout(); - n = igt_pipe_crc_get_crcs(data->pipe_crc, MAX_CRCS, &crc); + n = igt_pipe_crc_get_crcs(data->pipe_crc, vblank_stop - vblank_start, &crc); - igt_assert_eq(n, MAX_CRCS); + igt_assert(vblank_stop - vblank_start <= MAX_CRCS); + igt_assert_eq(n, vblank_stop - vblank_start); igt_assert_crc_equal(&test.reference_crc, crc); -- 2.7.4 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH i-g-t 1/2] tests/kms_plane_multiple: Relax atomic commit time requirement 2017-01-16 13:09 ` [PATCH i-g-t 1/2] tests/kms_plane_multiple: Relax atomic commit time requirement Mika Kahola @ 2017-01-16 13:26 ` Maarten Lankhorst 2017-01-16 13:31 ` Mika Kahola 0 siblings, 1 reply; 6+ messages in thread From: Maarten Lankhorst @ 2017-01-16 13:26 UTC (permalink / raw) To: Mika Kahola, intel-gfx Op 16-01-17 om 14:09 schreef Mika Kahola: > Relax required time to atomic commits from 1 vblank to 2 vblanks. > > Reference: Issues seen on BYT CI tests > > Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> > > Signed-off-by: Mika Kahola <mika.kahola@intel.com> > --- > tests/kms_plane_multiple.c | 9 +++++---- > 1 file changed, 5 insertions(+), 4 deletions(-) > > diff --git a/tests/kms_plane_multiple.c b/tests/kms_plane_multiple.c > index 792f530..6257a8b 100644 > --- a/tests/kms_plane_multiple.c > +++ b/tests/kms_plane_multiple.c > @@ -235,7 +235,7 @@ test_atomic_plane_position_with_output(data_t *data, enum pipe pipe, > test_position_t test = { .data = data }; > color_t blue = { 0.0f, 0.0f, 1.0f }; > igt_crc_t *crc = NULL; > - unsigned int vblank_start; > + unsigned int vblank_start, vblank_stop; > int i, n, ret; > int iterations = opt.iterations < 1 ? 1 : opt.iterations; > bool loop_forever; > @@ -274,13 +274,14 @@ test_atomic_plane_position_with_output(data_t *data, enum pipe pipe, > ret = read(data->display.drm_fd, buf, sizeof(buf)); > igt_assert(ret >= 0); > > - igt_assert_eq(get_vblank(data->display.drm_fd, pipe, 0), vblank_start + 1); > + vblank_stop = get_vblank(data->display.drm_fd, pipe, 0); > igt_assert_eq(e->type, DRM_EVENT_FLIP_COMPLETE); > igt_reset_timeout(); > > - n = igt_pipe_crc_get_crcs(data->pipe_crc, MAX_CRCS, &crc); > + n = igt_pipe_crc_get_crcs(data->pipe_crc, vblank_stop - vblank_start, &crc); > > - igt_assert_eq(n, MAX_CRCS); > + igt_assert(vblank_stop - vblank_start <= MAX_CRCS); > + igt_assert_eq(n, vblank_stop - vblank_start); > Isn't MAX_CRCS 1? I don't see how this would relax anything then. ~Maarten _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH i-g-t 1/2] tests/kms_plane_multiple: Relax atomic commit time requirement 2017-01-16 13:26 ` Maarten Lankhorst @ 2017-01-16 13:31 ` Mika Kahola 0 siblings, 0 replies; 6+ messages in thread From: Mika Kahola @ 2017-01-16 13:31 UTC (permalink / raw) To: Maarten Lankhorst, intel-gfx On Mon, 2017-01-16 at 14:26 +0100, Maarten Lankhorst wrote: > Op 16-01-17 om 14:09 schreef Mika Kahola: > > > > Relax required time to atomic commits from 1 vblank to 2 vblanks. > > > > Reference: Issues seen on BYT CI tests > > > > Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> > > > > Signed-off-by: Mika Kahola <mika.kahola@intel.com> > > --- > > tests/kms_plane_multiple.c | 9 +++++---- > > 1 file changed, 5 insertions(+), 4 deletions(-) > > > > diff --git a/tests/kms_plane_multiple.c > > b/tests/kms_plane_multiple.c > > index 792f530..6257a8b 100644 > > --- a/tests/kms_plane_multiple.c > > +++ b/tests/kms_plane_multiple.c > > @@ -235,7 +235,7 @@ test_atomic_plane_position_with_output(data_t > > *data, enum pipe pipe, > > test_position_t test = { .data = data }; > > color_t blue = { 0.0f, 0.0f, 1.0f }; > > igt_crc_t *crc = NULL; > > - unsigned int vblank_start; > > + unsigned int vblank_start, vblank_stop; > > int i, n, ret; > > int iterations = opt.iterations < 1 ? 1 : opt.iterations; > > bool loop_forever; > > @@ -274,13 +274,14 @@ test_atomic_plane_position_with_output(data_t > > *data, enum pipe pipe, > > ret = read(data->display.drm_fd, buf, > > sizeof(buf)); > > igt_assert(ret >= 0); > > > > - igt_assert_eq(get_vblank(data->display.drm_fd, > > pipe, 0), vblank_start + 1); > > + vblank_stop = get_vblank(data->display.drm_fd, > > pipe, 0); > > igt_assert_eq(e->type, DRM_EVENT_FLIP_COMPLETE); > > igt_reset_timeout(); > > > > - n = igt_pipe_crc_get_crcs(data->pipe_crc, > > MAX_CRCS, &crc); > > + n = igt_pipe_crc_get_crcs(data->pipe_crc, > > vblank_stop - vblank_start, &crc); > > > > - igt_assert_eq(n, MAX_CRCS); > > + igt_assert(vblank_stop - vblank_start <= > > MAX_CRCS); > > + igt_assert_eq(n, vblank_stop - vblank_start); > > > Isn't MAX_CRCS 1? I don't see how this would relax anything then. True. I missed to increase MAX_CRCS. Update follows.. > > ~Maarten -- Mika Kahola - Intel OTC _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH i-g-t 2/2] tests/kms_plane_multiple: Cleanup in favor of library functions 2017-01-16 13:09 [PATCH i-g-t 0/2] tests/kms_plane_multiple: Fix CI issues Mika Kahola 2017-01-16 13:09 ` [PATCH i-g-t 1/2] tests/kms_plane_multiple: Relax atomic commit time requirement Mika Kahola @ 2017-01-16 13:09 ` Mika Kahola 2017-01-16 13:27 ` Maarten Lankhorst 1 sibling, 1 reply; 6+ messages in thread From: Mika Kahola @ 2017-01-16 13:09 UTC (permalink / raw) To: intel-gfx Cleaunup by replacing get_vblank() function with library function kmstest_get_vblank(). Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Signed-off-by: Mika Kahola <mika.kahola@intel.com> --- tests/kms_plane_multiple.c | 27 +++------------------------ 1 file changed, 3 insertions(+), 24 deletions(-) diff --git a/tests/kms_plane_multiple.c b/tests/kms_plane_multiple.c index 6257a8b..f66f41a 100644 --- a/tests/kms_plane_multiple.c +++ b/tests/kms_plane_multiple.c @@ -67,28 +67,6 @@ struct { .seed = 1, }; -static inline uint32_t pipe_select(int pipe) -{ - if (pipe > 1) - return pipe << DRM_VBLANK_HIGH_CRTC_SHIFT; - else if (pipe > 0) - return DRM_VBLANK_SECONDARY; - else - return 0; -} - -static unsigned int get_vblank(int fd, int pipe, unsigned int flags) -{ - union drm_wait_vblank vbl; - - memset(&vbl, 0, sizeof(vbl)); - vbl.request.type = DRM_VBLANK_RELATIVE | pipe_select(pipe) | flags; - if (drmIoctl(fd, DRM_IOCTL_WAIT_VBLANK, &vbl)) - return 0; - - return vbl.reply.sequence; -} - /* * Common code across all tests, acting on data_t */ @@ -263,7 +241,8 @@ test_atomic_plane_position_with_output(data_t *data, enum pipe pipe, while (i < iterations || loop_forever) { prepare_planes(data, pipe, &blue, tiling, max_planes, output); - vblank_start = get_vblank(data->display.drm_fd, pipe, DRM_VBLANK_NEXTONMISS); + vblank_start = kmstest_get_vblank(data->display.drm_fd, pipe, + DRM_VBLANK_NEXTONMISS); igt_display_commit_atomic(&data->display, DRM_MODE_PAGE_FLIP_EVENT, @@ -274,7 +253,7 @@ test_atomic_plane_position_with_output(data_t *data, enum pipe pipe, ret = read(data->display.drm_fd, buf, sizeof(buf)); igt_assert(ret >= 0); - vblank_stop = get_vblank(data->display.drm_fd, pipe, 0); + vblank_stop = kmstest_get_vblank(data->display.drm_fd, pipe, 0); igt_assert_eq(e->type, DRM_EVENT_FLIP_COMPLETE); igt_reset_timeout(); -- 2.7.4 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH i-g-t 2/2] tests/kms_plane_multiple: Cleanup in favor of library functions 2017-01-16 13:09 ` [PATCH i-g-t 2/2] tests/kms_plane_multiple: Cleanup in favor of library functions Mika Kahola @ 2017-01-16 13:27 ` Maarten Lankhorst 0 siblings, 0 replies; 6+ messages in thread From: Maarten Lankhorst @ 2017-01-16 13:27 UTC (permalink / raw) To: Mika Kahola, intel-gfx Op 16-01-17 om 14:09 schreef Mika Kahola: > Cleaunup by replacing get_vblank() function with library function > kmstest_get_vblank(). > > Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> > > Signed-off-by: Mika Kahola <mika.kahola@intel.com> > --- > tests/kms_plane_multiple.c | 27 +++------------------------ > 1 file changed, 3 insertions(+), 24 deletions(-) > > diff --git a/tests/kms_plane_multiple.c b/tests/kms_plane_multiple.c > index 6257a8b..f66f41a 100644 > --- a/tests/kms_plane_multiple.c > +++ b/tests/kms_plane_multiple.c > @@ -67,28 +67,6 @@ struct { > .seed = 1, > }; > > -static inline uint32_t pipe_select(int pipe) > -{ > - if (pipe > 1) > - return pipe << DRM_VBLANK_HIGH_CRTC_SHIFT; > - else if (pipe > 0) > - return DRM_VBLANK_SECONDARY; > - else > - return 0; > -} > - > -static unsigned int get_vblank(int fd, int pipe, unsigned int flags) > -{ > - union drm_wait_vblank vbl; > - > - memset(&vbl, 0, sizeof(vbl)); > - vbl.request.type = DRM_VBLANK_RELATIVE | pipe_select(pipe) | flags; > - if (drmIoctl(fd, DRM_IOCTL_WAIT_VBLANK, &vbl)) > - return 0; > - > - return vbl.reply.sequence; > -} > - > /* > * Common code across all tests, acting on data_t > */ > @@ -263,7 +241,8 @@ test_atomic_plane_position_with_output(data_t *data, enum pipe pipe, > while (i < iterations || loop_forever) { > prepare_planes(data, pipe, &blue, tiling, max_planes, output); > > - vblank_start = get_vblank(data->display.drm_fd, pipe, DRM_VBLANK_NEXTONMISS); > + vblank_start = kmstest_get_vblank(data->display.drm_fd, pipe, > + DRM_VBLANK_NEXTONMISS); > > igt_display_commit_atomic(&data->display, > DRM_MODE_PAGE_FLIP_EVENT, > @@ -274,7 +253,7 @@ test_atomic_plane_position_with_output(data_t *data, enum pipe pipe, > ret = read(data->display.drm_fd, buf, sizeof(buf)); > igt_assert(ret >= 0); > > - vblank_stop = get_vblank(data->display.drm_fd, pipe, 0); > + vblank_stop = kmstest_get_vblank(data->display.drm_fd, pipe, 0); > igt_assert_eq(e->type, DRM_EVENT_FLIP_COMPLETE); > igt_reset_timeout(); > Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2017-01-16 13:30 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2017-01-16 13:09 [PATCH i-g-t 0/2] tests/kms_plane_multiple: Fix CI issues Mika Kahola 2017-01-16 13:09 ` [PATCH i-g-t 1/2] tests/kms_plane_multiple: Relax atomic commit time requirement Mika Kahola 2017-01-16 13:26 ` Maarten Lankhorst 2017-01-16 13:31 ` Mika Kahola 2017-01-16 13:09 ` [PATCH i-g-t 2/2] tests/kms_plane_multiple: Cleanup in favor of library functions Mika Kahola 2017-01-16 13:27 ` Maarten Lankhorst
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox