[PATCH v2 4/5] drm/tegra: Implement VBLANK support

Thierry Reding thierry.reding at avionic-design.de
Mon Feb 11 01:08:40 PST 2013


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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/dri-devel/attachments/20130211/67b8d42d/attachment-0001.pgp>


More information about the dri-devel mailing list