Re: [Intel-gfx] [PATCH igt] igt/kms_frontbuffer_tracking: Drop unsynchronized pageflip test
On Thu, Nov 10, 2016 at 10:43:27AM +, Chris Wilson wrote: > On Thu, Nov 10, 2016 at 12:20:51PM +0200, Petri Latvala wrote: > > On Thu, Nov 10, 2016 at 08:05:19AM +, Chris Wilson wrote: > > > A raw pageflip is nonblocking and asynchronous, but > > > kms_frontbuffer_tracking persumed that it was synchronous and completed > > > before the funtion returns. It doesn't, so the CRC could be sampled > > > before the flip completed. > > > > > > Signed-off-by: Chris Wilson> > > --- > > > tests/kms_frontbuffer_tracking.c | 8 > > > 1 file changed, 8 deletions(-) > > > > > > diff --git a/tests/kms_frontbuffer_tracking.c > > > b/tests/kms_frontbuffer_tracking.c > > > index bc42701..343b124 100644 > > > --- a/tests/kms_frontbuffer_tracking.c > > > +++ b/tests/kms_frontbuffer_tracking.c > > > @@ -122,7 +122,6 @@ struct test_mode { > > >* and they exercise slightly different codepaths inside the Kernel. */ > > > enum flip_type { > > > FLIP_PAGEFLIP, > > > - FLIP_PAGEFLIP_EVENT, > > > FLIP_MODESET, > > > FLIP_PLANES, > > > FLIP_COUNT, > > > @@ -2322,11 +2321,6 @@ static void page_flip_for_params(struct > > > modeset_params *params, > > > switch (type) { > > > case FLIP_PAGEFLIP: > > > rc = drmModePageFlip(drm.fd, params->crtc_id, > > > - params->fb.fb->fb_id, 0, NULL); > > > - igt_assert_eq(rc, 0); > > > - break; > > > - case FLIP_PAGEFLIP_EVENT: > > > - rc = drmModePageFlip(drm.fd, params->crtc_id, > > >params->fb.fb->fb_id, > > >DRM_MODE_PAGE_FLIP_EVENT, NULL); > > > igt_assert_eq(rc, 0); > > > > This makes FLIP_PAGEFLIP pass DRM_MODE_PAGE_FLIP_EVENT. Is that intentional? > > Yes. The FLIP_PAGEFLIP code is broken. After removal only > FLIP_PAGEFLIP_EVENT remains and so differentiating it is pointless. Ok. Reviewed-by: Petri Latvala ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH igt] igt/kms_frontbuffer_tracking: Drop unsynchronized pageflip test
On Thu, Nov 10, 2016 at 12:20:51PM +0200, Petri Latvala wrote: > On Thu, Nov 10, 2016 at 08:05:19AM +, Chris Wilson wrote: > > A raw pageflip is nonblocking and asynchronous, but > > kms_frontbuffer_tracking persumed that it was synchronous and completed > > before the funtion returns. It doesn't, so the CRC could be sampled > > before the flip completed. > > > > Signed-off-by: Chris Wilson> > --- > > tests/kms_frontbuffer_tracking.c | 8 > > 1 file changed, 8 deletions(-) > > > > diff --git a/tests/kms_frontbuffer_tracking.c > > b/tests/kms_frontbuffer_tracking.c > > index bc42701..343b124 100644 > > --- a/tests/kms_frontbuffer_tracking.c > > +++ b/tests/kms_frontbuffer_tracking.c > > @@ -122,7 +122,6 @@ struct test_mode { > > * and they exercise slightly different codepaths inside the Kernel. */ > > enum flip_type { > > FLIP_PAGEFLIP, > > - FLIP_PAGEFLIP_EVENT, > > FLIP_MODESET, > > FLIP_PLANES, > > FLIP_COUNT, > > @@ -2322,11 +2321,6 @@ static void page_flip_for_params(struct > > modeset_params *params, > > switch (type) { > > case FLIP_PAGEFLIP: > > rc = drmModePageFlip(drm.fd, params->crtc_id, > > -params->fb.fb->fb_id, 0, NULL); > > - igt_assert_eq(rc, 0); > > - break; > > - case FLIP_PAGEFLIP_EVENT: > > - rc = drmModePageFlip(drm.fd, params->crtc_id, > > params->fb.fb->fb_id, > > DRM_MODE_PAGE_FLIP_EVENT, NULL); > > igt_assert_eq(rc, 0); > > This makes FLIP_PAGEFLIP pass DRM_MODE_PAGE_FLIP_EVENT. Is that intentional? Yes. The FLIP_PAGEFLIP code is broken. After removal only FLIP_PAGEFLIP_EVENT remains and so differentiating it is pointless. -Chris -- Chris Wilson, Intel Open Source Technology Centre ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH igt] igt/kms_frontbuffer_tracking: Drop unsynchronized pageflip test
On Thu, Nov 10, 2016 at 08:05:19AM +, Chris Wilson wrote: > A raw pageflip is nonblocking and asynchronous, but > kms_frontbuffer_tracking persumed that it was synchronous and completed > before the funtion returns. It doesn't, so the CRC could be sampled > before the flip completed. > > Signed-off-by: Chris Wilson> --- > tests/kms_frontbuffer_tracking.c | 8 > 1 file changed, 8 deletions(-) > > diff --git a/tests/kms_frontbuffer_tracking.c > b/tests/kms_frontbuffer_tracking.c > index bc42701..343b124 100644 > --- a/tests/kms_frontbuffer_tracking.c > +++ b/tests/kms_frontbuffer_tracking.c > @@ -122,7 +122,6 @@ struct test_mode { >* and they exercise slightly different codepaths inside the Kernel. */ > enum flip_type { > FLIP_PAGEFLIP, > - FLIP_PAGEFLIP_EVENT, > FLIP_MODESET, > FLIP_PLANES, > FLIP_COUNT, > @@ -2322,11 +2321,6 @@ static void page_flip_for_params(struct modeset_params > *params, > switch (type) { > case FLIP_PAGEFLIP: > rc = drmModePageFlip(drm.fd, params->crtc_id, > - params->fb.fb->fb_id, 0, NULL); > - igt_assert_eq(rc, 0); > - break; > - case FLIP_PAGEFLIP_EVENT: > - rc = drmModePageFlip(drm.fd, params->crtc_id, >params->fb.fb->fb_id, >DRM_MODE_PAGE_FLIP_EVENT, NULL); > igt_assert_eq(rc, 0); This makes FLIP_PAGEFLIP pass DRM_MODE_PAGE_FLIP_EVENT. Is that intentional? -- Petri Latvala ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] [PATCH igt] igt/kms_frontbuffer_tracking: Drop unsynchronized pageflip test
A raw pageflip is nonblocking and asynchronous, but kms_frontbuffer_tracking persumed that it was synchronous and completed before the funtion returns. It doesn't, so the CRC could be sampled before the flip completed. Signed-off-by: Chris Wilson--- tests/kms_frontbuffer_tracking.c | 8 1 file changed, 8 deletions(-) diff --git a/tests/kms_frontbuffer_tracking.c b/tests/kms_frontbuffer_tracking.c index bc42701..343b124 100644 --- a/tests/kms_frontbuffer_tracking.c +++ b/tests/kms_frontbuffer_tracking.c @@ -122,7 +122,6 @@ struct test_mode { * and they exercise slightly different codepaths inside the Kernel. */ enum flip_type { FLIP_PAGEFLIP, - FLIP_PAGEFLIP_EVENT, FLIP_MODESET, FLIP_PLANES, FLIP_COUNT, @@ -2322,11 +2321,6 @@ static void page_flip_for_params(struct modeset_params *params, switch (type) { case FLIP_PAGEFLIP: rc = drmModePageFlip(drm.fd, params->crtc_id, -params->fb.fb->fb_id, 0, NULL); - igt_assert_eq(rc, 0); - break; - case FLIP_PAGEFLIP_EVENT: - rc = drmModePageFlip(drm.fd, params->crtc_id, params->fb.fb->fb_id, DRM_MODE_PAGE_FLIP_EVENT, NULL); igt_assert_eq(rc, 0); @@ -3366,8 +3360,6 @@ static const char *flip_str(enum flip_type flip) switch (flip) { case FLIP_PAGEFLIP: return "pg"; - case FLIP_PAGEFLIP_EVENT: - return "ev"; case FLIP_MODESET: return "ms"; case FLIP_PLANES: -- 2.10.2 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx