new radeon tiling patch

Michel Dänzer michel at daenzer.net
Tue Jan 18 22:11:15 PST 2005


On Tue, 2005-01-18 at 20:43 +0100, Roland Scheidegger wrote:
> 
> >> The DRM could update the register in the vblank interrupt handler?

[...]

> How would you do that in-kernel? There is vblank interrupt related stuff
> (radeon_driver_vblank_wait for instance), but that only is called when a
> user has requested a wait for vblank, as far as I can see (which is all 
> the time with dri clients). 

You'd have to do it in radeon_driver_irq_handler() or a bottom half (but
I don't know if these will meet the timing requirements either, in
particular the latter...).

> Also, if doing that in the drm, we'd need to mess with OFFSET_CNTL 
> there too (i.e. messy calculation or another field in the sarea).

You mean CRTC_OFFSET? I'm not sure the calculation is that big an
issue... it'll never happen more than a couple thousand times per second
anyway. ;)


> I also figured maybe RADEON_WAIT_CRTC_PFLIP would stop the cp so you 
> could just put the offset_cntl and offset values in the ring buffer 
> after that wait command, so I tried hacking in some out_ring commands in 
> the DoAdjustFrame code, but that didn't work neither.

Curious, what happened? I think AdjustFrame can be called
asynchronously?


-- 
Earthling Michel Dänzer      |     Debian (powerpc), X and DRI developer
Libre software enthusiast    |   http://svcs.affero.net/rm.php?r=daenzer



More information about the xorg mailing list