* [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
* [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 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 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
* 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
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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.