I am quite certain, that, at least on mach64 hardware, an attempt to
access framebuffer by CPU while the GUI engine is active will result in a
hard lockup.

If this was true with Radeons, you'd get a lockup every time the hardware cursor shape changes. I guess the memory controller has improved...

I did wonder about that and concluded that it is possible that there is another WaitForIdle call sometime earlier in the code flow, or an effective one at that.


Moving the mouse rarely results in large repaints, so when the cursor changes shape Xserver has acquired lock and executed a few simple drawing commands, which would finish faster than a PCI access to MMIO registers, thus keeping FIFO empty.

This was, of course, pure speculation.

So can we be sure that one can do arbitrary INREG() on Radeons without fear of lockup ? (with the exception of registers that initiate transactions, for example on VIP bus).

                      thank you !

                            Vladimir Dergachev



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



-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_ide95&alloc_id396&op=click
--
_______________________________________________
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to