summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorQiang Yu <Qiang.Yu@amd.com>2016-09-05 18:05:42 +0800
committerKeith Packard <keithp@keithp.com>2016-09-16 08:54:22 -0700
commit7f6fa4e449f5a7215bbf60ce8c874e163a7453a9 (patch)
tree7d3687e863daddccd86e9081ff670bf779135013
parentd81f9ce12aa4ac54b9c2b8c74c2f827c1f3e739a (diff)
modesetting: fix compile error when --disable-glamor
Move ms_flush_drm_events out of GLAMOR ifdef. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=97586 Signed-off-by: Qiang Yu <Qiang.Yu@amd.com> Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> Signed-off-by: Keith Packard <keithp@keithp.com>
-rw-r--r--hw/xfree86/drivers/modesetting/driver.h4
-rw-r--r--hw/xfree86/drivers/modesetting/pageflip.c68
2 files changed, 36 insertions, 36 deletions
diff --git a/hw/xfree86/drivers/modesetting/driver.h b/hw/xfree86/drivers/modesetting/driver.h
index aa00d055a..eee96e50f 100644
--- a/hw/xfree86/drivers/modesetting/driver.h
+++ b/hw/xfree86/drivers/modesetting/driver.h
@@ -161,8 +161,6 @@ typedef void (*ms_pageflip_handler_proc)(modesettingPtr ms,
typedef void (*ms_pageflip_abort_proc)(modesettingPtr ms, void *data);
-int ms_flush_drm_events(ScreenPtr screen);
-
Bool ms_do_pageflip(ScreenPtr screen,
PixmapPtr new_front,
void *event,
@@ -172,3 +170,5 @@ Bool ms_do_pageflip(ScreenPtr screen,
ms_pageflip_abort_proc pageflip_abort);
#endif
+
+int ms_flush_drm_events(ScreenPtr screen);
diff --git a/hw/xfree86/drivers/modesetting/pageflip.c b/hw/xfree86/drivers/modesetting/pageflip.c
index a82e0d6cb..4dc05ec81 100644
--- a/hw/xfree86/drivers/modesetting/pageflip.c
+++ b/hw/xfree86/drivers/modesetting/pageflip.c
@@ -29,6 +29,40 @@
#include "driver.h"
+/*
+ * Flush the DRM event queue when full; makes space for new events.
+ *
+ * Returns a negative value on error, 0 if there was nothing to process,
+ * or 1 if we handled any events.
+ */
+int
+ms_flush_drm_events(ScreenPtr screen)
+{
+ ScrnInfoPtr scrn = xf86ScreenToScrn(screen);
+ modesettingPtr ms = modesettingPTR(scrn);
+
+ struct pollfd p = { .fd = ms->fd, .events = POLLIN };
+ int r;
+
+ do {
+ r = xserver_poll(&p, 1, 0);
+ } while (r == -1 && (errno == EINTR || errno == EAGAIN));
+
+ /* If there was an error, r will be < 0. Return that. If there was
+ * nothing to process, r == 0. Return that.
+ */
+ if (r <= 0)
+ return r;
+
+ /* Try to handle the event. If there was an error, return it. */
+ r = drmHandleEvent(ms->fd, &ms->event_context);
+ if (r < 0)
+ return r;
+
+ /* Otherwise return 1 to indicate that we handled an event. */
+ return 1;
+}
+
#ifdef GLAMOR
/*
@@ -125,40 +159,6 @@ ms_pageflip_abort(void *data)
ms_pageflip_free(flip);
}
-/*
- * Flush the DRM event queue when full; makes space for new events.
- *
- * Returns a negative value on error, 0 if there was nothing to process,
- * or 1 if we handled any events.
- */
-int
-ms_flush_drm_events(ScreenPtr screen)
-{
- ScrnInfoPtr scrn = xf86ScreenToScrn(screen);
- modesettingPtr ms = modesettingPTR(scrn);
-
- struct pollfd p = { .fd = ms->fd, .events = POLLIN };
- int r;
-
- do {
- r = xserver_poll(&p, 1, 0);
- } while (r == -1 && (errno == EINTR || errno == EAGAIN));
-
- /* If there was an error, r will be < 0. Return that. If there was
- * nothing to process, r == 0. Return that.
- */
- if (r <= 0)
- return r;
-
- /* Try to handle the event. If there was an error, return it. */
- r = drmHandleEvent(ms->fd, &ms->event_context);
- if (r < 0)
- return r;
-
- /* Otherwise return 1 to indicate that we handled an event. */
- return 1;
-}
-
static Bool
queue_flip_on_crtc(ScreenPtr screen, xf86CrtcPtr crtc,
struct ms_flipdata *flipdata,