Subject: Re: bus_dmamap_sync not enough ?
To: None <firstname.lastname@example.org>
From: Izumi Tsutsui <email@example.com>
Date: 02/12/2003 08:44:51
In article <20030211180606.GA13384@yeah-baby.shagadelic.org>
> On Tue, Feb 11, 2003 at 12:35:01PM -0500, Stephan Uphoff wrote:
> > The i82257 driver ignores this problem and just illegally calls
> > bus_dmamap_sync with
> > BUS_DMASYNC_POSTXXXX flags with full knowledge that the DMA might not have
> > completed.
> > ( When it finds out that the DMA did not complete it just calls bus_dmamap_sync
> > again with BUS_DMASYNC_PREXXXX op flags)
> This is not illegal... this is an acceptable/intended use of the interface
> (I should know -- I designed the interface and wrote the code that you're
> citing :-)
Off topic, but I guess fxp(4) is the only driver that does
BUS_DMASYNC_PREREAD again after the driver finds out DMA didn't complete.
All (?) other drivers rely on BUS_DMAMAP_COHERENT..
(fxp(4) allocates RXDESCs on mbuf so it cannot use BUS_DMAMAP_COHERENT.)