Port-macppc archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: which bus_dmamap_sync() ?



On Sun, Jun 22, 2008 at 08:24:45PM +0200, Manuel Bouyer wrote:
> On Sat, Jun 21, 2008 at 02:04:11PM -0500, David Young wrote:
> > On Fri, Jun 20, 2008 at 07:44:15PM +0200, Manuel Bouyer wrote:
> > > Hi,
> > > can anyone tell me what bus_dmamap_sync() function port-macppc is using 
> > > for
> > > its PCI bus ? I've been looking at arch/macppc/ and arch/powerpc/ and
> > > my conclusion is that bus_dmamap_sync() is a nop on port-macppc
> > > (_dmamap_sync being NULL). Is this right ?
> > 
> > It is a nop, but strictly speaking, *no* bus_dmamap_sync() for PCI bus
> > should be a nop, because that ignores the presence of buffers in the
> > bus bridges.  NetBSD ordinarily lucks out because most drivers have
> > read an interrupt status register on the bus master prior to calling
> > bus_dmamap_sync().  The register read has the side-effect of flushing
> > buffers to RAM.
> 
> Specifically for the USB controller this doesn't work because the
> USB controller keeps running and can read/write to the linked list
> of DMA descriptors while we're also handling it. 
> Some network controllers may also have this issue. 

I think I may be experiencing this problem with ural. See my post on
current-users:
http://mail-index.netbsd.org/current-users/2008/06/20/msg003135.html

This goes over my head, so I'm not sure if this is the cause or
something else is. All I know that it used to work on 4.0.  If someone
wants me to test something, I'd be happy to do so.

Cheers,
Peter
-- 
http://sjamaan.ath.cx
--
"The process of preparing programs for a digital computer
 is especially attractive, not only because it can be economically
 and scientifically rewarding, but also because it can be an aesthetic
 experience much like composing poetry or music."
                                                        -- Donald Knuth

Attachment: pgphdjrtqhVyV.pgp
Description: PGP signature



Home | Main Index | Thread Index | Old Index