On Tue, Jul 24, 2018 at 1:16 PM, Michel Dänzer <michel at daenzer.net> wrote: > From: Michel Dänzer <michel.daenzer at amd.com> > > Not needed anymore with the more robust mechanism introduced in the > previous change. > > Signed-off-by: Michel Dänzer <michel.daenzer at amd.com> Series is: Acked-by: Alex Deucher <alexander.deucher at amd.com> > --- > src/amdgpu_kms.c | 9 --------- > src/amdgpu_present.c | 34 +++------------------------------- > src/drmmode_display.h | 7 ------- > 3 files changed, 3 insertions(+), 47 deletions(-) > > diff --git a/src/amdgpu_kms.c b/src/amdgpu_kms.c > index e2925cc83..80e4c947c 100644 > --- a/src/amdgpu_kms.c > +++ b/src/amdgpu_kms.c > @@ -436,15 +436,6 @@ amdgpu_scanout_flip_handler(xf86CrtcPtr crtc, uint32_t msc, uint64_t usec, > drmmode_fb_reference(pAMDGPUEnt->fd, &drmmode_crtc->fb, > drmmode_crtc->flip_pending); > amdgpu_scanout_flip_abort(crtc, event_data); > - > -#ifdef HAVE_PRESENT_H > - if (drmmode_crtc->present_vblank_event_id) { > - present_event_notify(drmmode_crtc->present_vblank_event_id, > - drmmode_crtc->present_vblank_usec, > - drmmode_crtc->present_vblank_msc); > - drmmode_crtc->present_vblank_event_id = 0; > - } > -#endif > } > > > diff --git a/src/amdgpu_present.c b/src/amdgpu_present.c > index 4e74bfac9..2f42fae69 100644 > --- a/src/amdgpu_present.c > +++ b/src/amdgpu_present.c > @@ -52,7 +52,6 @@ static present_screen_info_rec amdgpu_present_screen_info; > > struct amdgpu_present_vblank_event { > uint64_t event_id; > - Bool vblank_for_flip; > Bool unflip; > }; > > @@ -120,26 +119,9 @@ static void > amdgpu_present_vblank_handler(xf86CrtcPtr crtc, unsigned int msc, > uint64_t usec, void *data) > { > - drmmode_crtc_private_ptr drmmode_crtc = crtc->driver_private; > struct amdgpu_present_vblank_event *event = data; > > - if (event->vblank_for_flip && > - drmmode_crtc->tear_free && > - drmmode_crtc->scanout_update_pending) { > - if (drmmode_crtc->present_vblank_event_id != 0) { > - xf86DrvMsg(crtc->scrn->scrnIndex, X_WARNING, > - "Need to handle previously deferred vblank event\n"); > - present_event_notify(drmmode_crtc->present_vblank_event_id, > - drmmode_crtc->present_vblank_usec, > - drmmode_crtc->present_vblank_msc); > - } > - > - drmmode_crtc->present_vblank_event_id = event->event_id; > - drmmode_crtc->present_vblank_msc = msc; > - drmmode_crtc->present_vblank_usec = usec; > - } else > - present_event_notify(event->event_id, usec, msc); > - > + present_event_notify(event->event_id, usec, msc); > free(event); > } > > @@ -162,7 +144,6 @@ static int > amdgpu_present_queue_vblank(RRCrtcPtr crtc, uint64_t event_id, uint64_t msc) > { > xf86CrtcPtr xf86_crtc = crtc->devPrivate; > - drmmode_crtc_private_ptr drmmode_crtc = xf86_crtc->driver_private; > ScreenPtr screen = crtc->pScreen; > struct amdgpu_present_vblank_event *event; > uintptr_t drm_queue_seq; > @@ -171,8 +152,6 @@ amdgpu_present_queue_vblank(RRCrtcPtr crtc, uint64_t event_id, uint64_t msc) > if (!event) > return BadAlloc; > event->event_id = event_id; > - event->vblank_for_flip = drmmode_crtc->present_flip_expected; > - drmmode_crtc->present_flip_expected = FALSE; > > drm_queue_seq = amdgpu_drm_queue_alloc(xf86_crtc, > AMDGPU_DRM_QUEUE_CLIENT_DEFAULT, > @@ -257,7 +236,6 @@ amdgpu_present_check_flip(RRCrtcPtr crtc, WindowPtr window, PixmapPtr pixmap, > Bool sync_flip) > { > xf86CrtcPtr xf86_crtc = crtc->devPrivate; > - drmmode_crtc_private_ptr drmmode_crtc = xf86_crtc->driver_private; > ScreenPtr screen = window->drawable.pScreen; > ScrnInfoPtr scrn = xf86_crtc->scrn; > xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(scrn); > @@ -265,8 +243,6 @@ amdgpu_present_check_flip(RRCrtcPtr crtc, WindowPtr window, PixmapPtr pixmap, > int num_crtcs_on; > int i; > > - drmmode_crtc->present_flip_expected = FALSE; > - > if (!scrn->vtSema) > return FALSE; > > @@ -296,7 +272,6 @@ amdgpu_present_check_flip(RRCrtcPtr crtc, WindowPtr window, PixmapPtr pixmap, > if (num_crtcs_on == 0) > return FALSE; > > - drmmode_crtc->present_flip_expected = TRUE; > return TRUE; > } > > @@ -337,7 +312,6 @@ amdgpu_present_flip(RRCrtcPtr crtc, uint64_t event_id, uint64_t target_msc, > PixmapPtr pixmap, Bool sync_flip) > { > xf86CrtcPtr xf86_crtc = crtc->devPrivate; > - drmmode_crtc_private_ptr drmmode_crtc = xf86_crtc->driver_private; > ScreenPtr screen = crtc->pScreen; > ScrnInfoPtr scrn = xf86_crtc->scrn; > AMDGPUInfoPtr info = AMDGPUPTR(scrn); > @@ -345,11 +319,11 @@ amdgpu_present_flip(RRCrtcPtr crtc, uint64_t event_id, uint64_t target_msc, > Bool ret = FALSE; > > if (!amdgpu_present_check_flip(crtc, screen->root, pixmap, sync_flip)) > - goto out; > + return ret; > > event = calloc(1, sizeof(struct amdgpu_present_vblank_event)); > if (!event) > - goto out; > + return ret; > > event->event_id = event_id; > > @@ -366,8 +340,6 @@ amdgpu_present_flip(RRCrtcPtr crtc, uint64_t event_id, uint64_t target_msc, > else > info->drmmode.present_flipping = TRUE; > > - out: > - drmmode_crtc->present_flip_expected = FALSE; > return ret; > } > > diff --git a/src/drmmode_display.h b/src/drmmode_display.h > index 28d15e282..88f30748e 100644 > --- a/src/drmmode_display.h > +++ b/src/drmmode_display.h > @@ -128,13 +128,6 @@ typedef struct { > /* The FB currently being scanned out by this CRTC, if any */ > struct drmmode_fb *fb; > > -#ifdef HAVE_PRESENT_H > - /* Deferred processing of Present vblank event */ > - uint64_t present_vblank_event_id; > - uint64_t present_vblank_usec; > - unsigned present_vblank_msc; > - Bool present_flip_expected; > -#endif > struct drm_color_lut *degamma_lut; > struct drm_color_ctm *ctm; > struct drm_color_lut *gamma_lut; > -- > 2.18.0 > > _______________________________________________ > amd-gfx mailing list > amd-gfx at lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/amd-gfx