From: Rob Clark <r...@ti.com>

Because we don't have vblank hooked up via drm_irq (which is a bit
awkward due to separation between omapdss (which knows the irq #)
and omapdrm, for now use gettimeofday to have a semi-sane timestamp
in the page-flip event.  Otherwise apps like weston drm compositor,
which use the timestamp in it's animations, get highly confused.

Signed-off-by: Rob Clark <rob at ti.com>
---
 drivers/staging/omapdrm/omap_crtc.c |   10 ++++++++++
 1 files changed, 10 insertions(+), 0 deletions(-)

diff --git a/drivers/staging/omapdrm/omap_crtc.c 
b/drivers/staging/omapdrm/omap_crtc.c
index 13e3c7f..490a7f1 100644
--- a/drivers/staging/omapdrm/omap_crtc.c
+++ b/drivers/staging/omapdrm/omap_crtc.c
@@ -134,9 +134,19 @@ static void vblank_cb(void *arg)

        /* wakeup userspace */
        if (event) {
+               do_gettimeofday(&now);
+
                spin_lock_irqsave(&dev->event_lock, flags);
+               /* TODO: we can't yet use the vblank time accounting,
+                * because omapdss lower layer is the one that knows
+                * the irq # and registers the handler, which more or
+                * less defeats how drm_irq works.. for now just fake
+                * the sequence number and use gettimeofday..
+                *
                event->event.sequence = drm_vblank_count_and_time(
                                dev, omap_crtc->id, &now);
+                */
+               event->event.sequence = sequence++;
                event->event.tv_sec = now.tv_sec;
                event->event.tv_usec = now.tv_usec;
                list_add_tail(&event->base.link,
-- 
1.7.5.4

Reply via email to