[RFC 0/4] drm: add raw monotonic timestamp support

Imre Deak imre.deak at intel.com
Thu Oct 11 04:21:46 PDT 2012


Hi,

On Thu, 2012-10-11 at 12:29 +0200, Laurent Pinchart wrote:
> (CC'ing linux-media)
> 
> On Friday 05 October 2012 16:36:58 Imre Deak wrote:
> > This is needed to make applications depending on vblank/page flip
> > timestamps independent of time ajdustments.
> 
> We're in the process to switching to CLOCK_MONOTONIC timestamps in V4L2. The 
> reason why we're using CLOCK_MONOTONIC and not CLOCK_MONOTONIC_RAW is that 
> ALSA uses the former. It would make sense in my opinion to unify timestamps 
> across our media APIs.

yes, thanks for pointing this out.

Since I posted the RFC we made the decision to use CLOCK_MONOTONIC too.
CLOCK_MONOTONIC_RAW is not adjusted against HW clock frequency
variations, so it's not ideal for us. CLOCK_MONOTONIC doesn't have this
problem, neither does it jump so it seems to be the ideal choice.

--Imre

> > I've tested these with an updated intel-gpu-test/flip_test and will send
> > the update for that once there's no objection about this patchset.
> > 
> > The patchset is based on danvet's dinq branch with the following
> > additional patches from the intel-gfx ML applied:
> >     drm/i915: paper over a pipe-enable vs pageflip race
> >     drm/i915: don't frob the vblank ts in finish_page_flip
> >     drm/i915: call drm_handle_vblank before finish_page_flip
> > 
> > Imre Deak (4):
> >   time: export getnstime_raw_and_real for DRM
> >   drm: make memset/calloc for _vblank_time more robust
> >   drm: use raw time in drm_calc_vbltimestamp_from_scanoutpos
> >   drm: add support for raw monotonic vblank timestamps
> > 
> >  drivers/gpu/drm/drm_crtc.c                |    2 +
> >  drivers/gpu/drm/drm_ioctl.c               |    3 ++
> >  drivers/gpu/drm/drm_irq.c                 |   83 ++++++++++++++------------
> >  drivers/gpu/drm/i915/i915_irq.c           |    2 +-
> >  drivers/gpu/drm/i915/intel_display.c      |   12 ++---
> >  drivers/gpu/drm/radeon/radeon_display.c   |   10 ++--
> >  drivers/gpu/drm/radeon/radeon_drv.c       |    2 +-
> >  drivers/gpu/drm/radeon/radeon_kms.c       |    2 +-
> >  drivers/gpu/drm/shmobile/shmob_drm_crtc.c |    9 ++--
> >  include/drm/drm.h                         |    5 +-
> >  include/drm/drmP.h                        |   38 +++++++++++--
> >  include/drm/drm_mode.h                    |    4 +-
> >  kernel/time/timekeeping.c                 |    2 +-
> >  13 files changed, 113 insertions(+), 61 deletions(-)
> 




More information about the dri-devel mailing list