From: Michel Dänzer <michel.daen...@amd.com>

Their values are the same for all DRM flip ioctl calls.

v2: Adapt to v2 of patch 1
Signed-off-by: Michel Dänzer <michel.daen...@amd.com>
---
 src/drmmode_display.c | 12 ++++++------
 src/drmmode_display.h |  4 ++--
 2 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/src/drmmode_display.c b/src/drmmode_display.c
index 74c5d1d..fd49805 100644
--- a/src/drmmode_display.c
+++ b/src/drmmode_display.c
@@ -1846,7 +1846,7 @@ drmmode_flip_abort(ScrnInfoPtr scrn, void *event_data)
        drmmode_flipdata_ptr flipdata = flipcarrier->flipdata;
 
        if (flipdata->flip_count == 1)
-               flipcarrier->abort(scrn, flipdata->event_data);
+               flipdata->abort(scrn, flipdata->event_data);
 
        drmmode_flip_free(flipcarrier);
 }
@@ -1867,9 +1867,9 @@ drmmode_flip_handler(ScrnInfoPtr scrn, uint32_t frame, 
uint64_t usec, void *even
        if (flipdata->flip_count == 1) {
                /* Deliver cached msc, ust from reference crtc to flip event 
handler */
                if (flipdata->event_data)
-                       flipcarrier->handler(scrn, flipdata->fe_frame,
-                                            flipdata->fe_usec,
-                                            flipdata->event_data);
+                       flipdata->handler(scrn, flipdata->fe_frame,
+                                         flipdata->fe_usec,
+                                         flipdata->event_data);
 
                /* Release framebuffer */
                drmModeRmFB(flipdata->drmmode->fd, flipdata->old_fb_id);
@@ -2326,6 +2326,8 @@ Bool radeon_do_pageflip(ScrnInfoPtr scrn, ClientPtr 
client,
 
         flipdata->event_data = data;
         flipdata->drmmode = drmmode;
+        flipdata->handler = handler;
+        flipdata->abort = abort;
 
        for (i = 0; i < config->num_crtc; i++) {
                if (!config->crtc[i]->enabled)
@@ -2346,8 +2348,6 @@ Bool radeon_do_pageflip(ScrnInfoPtr scrn, ClientPtr 
client,
                 */
                flipcarrier->dispatch_me = (drmmode_crtc->hw_id == 
ref_crtc_hw_id);
                flipcarrier->flipdata = flipdata;
-               flipcarrier->handler = handler;
-               flipcarrier->abort = abort;
 
                drm_queue = radeon_drm_queue_alloc(scrn, client, id,
                                                   flipcarrier,
diff --git a/src/drmmode_display.h b/src/drmmode_display.h
index b3804ba..c6c076c 100644
--- a/src/drmmode_display.h
+++ b/src/drmmode_display.h
@@ -63,13 +63,13 @@ typedef struct {
   void *event_data;
   unsigned int fe_frame;
   uint64_t fe_usec;
+  radeon_drm_handler_proc handler;
+  radeon_drm_abort_proc abort;
 } drmmode_flipdata_rec, *drmmode_flipdata_ptr;
 
 typedef struct {
   drmmode_flipdata_ptr flipdata;
   Bool dispatch_me;
-  radeon_drm_handler_proc handler;
-  radeon_drm_abort_proc abort;
 } drmmode_flipevtcarrier_rec, *drmmode_flipevtcarrier_ptr;
 
 typedef struct {
-- 
2.1.4

_______________________________________________
xorg-driver-ati mailing list
xorg-driver-ati@lists.x.org
http://lists.x.org/mailman/listinfo/xorg-driver-ati

Reply via email to