I think I found the cause of lockups in VB mode - they were due to cursor updating function in radeon_mergedfb.c calling OUTREGP() which in turn called INREG.
When silken mouse is enabled this function could be called at any time which would do *bad* things when CP engine is active.
The fix of putting RADEONWaitForIdleMMIO() works fine on my setup.
I have *no* idea why this worked with immediate mode at all and why no issues were reported by R200 and Radeon users (well, I only looked through the mailing lists, perhaps there is something on bugzilla but I don't know how to use that efficiently)
Also, I have no idea why the code in radeon_cursor.c that writes images directly into framebuffer memory works - according to the manual any writes into framebuffer while GUI is active should cause a hard lock.
However, I could not produce any lockups with it, and so left it as is.
best
Vladimir Dergachev
------------------------------------------------------- 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_id=6595&alloc_id=14396&op=click -- _______________________________________________ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel