media: videobuf: use u64 for the timestamp internally
[sfrench/cifs-2.6.git] / drivers / media / platform / omap / omap_vout.c
index f447ae3bb465154922f7950a3f7fb9e2642f847d..ff3de2dce5a2663734be52aa7e38a098773023f8 100644 (file)
@@ -513,7 +513,7 @@ static int omapvid_apply_changes(struct omap_vout_device *vout)
 }
 
 static int omapvid_handle_interlace_display(struct omap_vout_device *vout,
-               unsigned int irqstatus, struct timeval timevalue)
+               unsigned int irqstatus, u64 ts)
 {
        u32 fid;
 
@@ -537,7 +537,7 @@ static int omapvid_handle_interlace_display(struct omap_vout_device *vout,
                if (vout->cur_frm == vout->next_frm)
                        goto err;
 
-               vout->cur_frm->ts = timevalue;
+               vout->cur_frm->ts = ts;
                vout->cur_frm->state = VIDEOBUF_DONE;
                wake_up_interruptible(&vout->cur_frm->done);
                vout->cur_frm = vout->next_frm;
@@ -557,7 +557,7 @@ static void omap_vout_isr(void *arg, unsigned int irqstatus)
        int ret, fid, mgr_id;
        u32 addr, irq;
        struct omap_overlay *ovl;
-       struct timeval timevalue;
+       u64 ts;
        struct omapvideo_info *ovid;
        struct omap_dss_device *cur_display;
        struct omap_vout_device *vout = (struct omap_vout_device *)arg;
@@ -577,7 +577,7 @@ static void omap_vout_isr(void *arg, unsigned int irqstatus)
                return;
 
        spin_lock(&vout->vbq_lock);
-       v4l2_get_timestamp(&timevalue);
+       ts = ktime_get_ns();
 
        switch (cur_display->type) {
        case OMAP_DISPLAY_TYPE_DSI:
@@ -595,7 +595,7 @@ static void omap_vout_isr(void *arg, unsigned int irqstatus)
                break;
        case OMAP_DISPLAY_TYPE_VENC:
                fid = omapvid_handle_interlace_display(vout, irqstatus,
-                               timevalue);
+                               ts);
                if (!fid)
                        goto vout_isr_err;
                break;
@@ -608,7 +608,7 @@ static void omap_vout_isr(void *arg, unsigned int irqstatus)
        }
 
        if (!vout->first_int && (vout->cur_frm != vout->next_frm)) {
-               vout->cur_frm->ts = timevalue;
+               vout->cur_frm->ts = ts;
                vout->cur_frm->state = VIDEOBUF_DONE;
                wake_up_interruptible(&vout->cur_frm->done);
                vout->cur_frm = vout->next_frm;