Disclaimer: I don't pretend to understand 100% how all this stuff works
either, but I think my understanding has improved a little recently. :)

On Tue, 2005-03-15 at 20:07 -0500, Vladimir Dergachev wrote:
> 
> On Tue, 15 Mar 2005, Vladimir Dergachev wrote:
> 
> > My understanding was that for MMIO-only access:
> >
> >     * Check that FIFO is not full before writing

This one is obvious (for FIFO'd registers). :)

> >     * Check that GUI engine is idle before accessing framebuffer

Technically you'd only have to make sure that the engine isn't operating
on the same 'area' as the CPU I think, but waiting for idle is usually a
good way to be on the safe side here.

> >     * Check that FIFO is empty before reading a register
> 
> Forgot the forth one: some registers bypass the FIFO, so WaitForIdle for 
> them is not necessary.

The FIFO doesn't apply to reads. It only applies to some register
writes, basically the ones where queueing makes sense, i.e. mostly to
acceleration related registers.

I have yet to see a 'wait for idle' rule for register access anywhere.


-- 
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