On Wed, Jan 23, 2013 at 10:02:20AM +0200, Terje Bergström wrote: > On 22.01.2013 21:59, Mario Kleiner wrote: > > The current swap scheduling is based on having an accurate software > > vblank counter. Atm. that counter is maintained in software, incremented > > during vblank irq. At irq off -> on transition we need a hw counter to > > reinitialize. And there is a timeout between dropping the last reference > > to a counter via drm_vblank_put() and actually disabling the vblank irq. > > If the timeout is long enough and a timing sensitive app is aware that > > vblank counters may be inaccurate/unreliable over long time periods, it > > can work around the problem. > > We have a hardware counter that can be used as VBLANK counter - host1x > sync point register numbers 26 and 27. tegradrm already sets them up in > dc init (DC_CMD_CONT_SYNCPT_VSYNC). Basic syncpt support (read, wait) is > part of my patch set to implement 2D acceleration. Are the syncpoints incremented even if the VBLANK interrupts are turned off? If that's the case they could indeed be used as a hardware counter rather than the fake approach used right now. Maybe we should leave the code as it is right now and fix that up once the syncpoint support has been merged. Thierry
Attachment:
pgp73DpC6xPv5.pgp
Description: PGP signature
_______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel