summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMichel Dänzer <michel.daenzer@amd.com>2018-07-24 18:58:27 +0200
committerMichel Dänzer <michel@daenzer.net>2018-08-16 17:11:24 +0200
commit85cd8eef0cbed7b409b07f58d76dacd34aa3ddea (patch)
treef81366b985cb65e7b29998dbb4316fc2a2685936 /src
parente52872da69ecc84dafb3355839e35b0383f0d228 (diff)
Remove drmmode_crtc_private_rec::present_vblank_* related code
Not needed anymore with the more robust mechanisms for preventing nested drmHandleEvent calls introduced in the previous changes. Acked-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'src')
-rw-r--r--src/amdgpu_kms.c9
-rw-r--r--src/amdgpu_present.c34
-rw-r--r--src/drmmode_display.h7
3 files changed, 3 insertions, 47 deletions
diff --git a/src/amdgpu_kms.c b/src/amdgpu_kms.c
index 82d1dfa..6017c91 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 a6676af..eabe0f3 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 27610d5..c245ae8 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;