Subject: Re: BUS_DMA_CONTROLDATA flag for bus_dma(9)
To: None <cgd@broadcom.com>
From: Allen Briggs <briggs@wasabisystems.com>
List: tech-kern
Date: 08/14/2003 21:24:53
On Thu, Aug 14, 2003 at 03:28:21PM -0700, cgd@broadcom.com wrote:
> At Thu, 14 Aug 2003 18:01:40 -0400, Allen Briggs wrote:
> > debugging uses and for other situations where you may just really
> > want totally uncached access.
> Like?  8-)

I suppose the clearest idea I had (other than debugging coherency
questions), was in working with some device that isn't coherent, but
is still making direct accesses to shared memory.  Still murky.  Sorry.

> "uncached" and "coherent" are *not* synonymous, but you keep using
> them as if they are.

True.  I apologize for being sloppy about that.  I was also unaware
that uncached accesses might not be possible on some ports.  Thank
you for enlightening me.

I guess what I was really thinking was that if I mapped a region as
BUS_DMA_COHERENT (and if that flag were known to be implemented on
a given port), it wouldn't require bus_dmamap_sync() in order to
enforce the coherency.  The current interface says that I shouldn't
assume that, but is that just because it's defined to be a hint?

> Re: Making COHERENT required: yes.  I think this has to be done; I
> think the existing specification is defective.

I'm thinking that I agree with you, but I'm not quite clear on how
BUS_DMA_COHERENT should be defined in this case.

> > Does that make more sense?
> Well, half of it.  8-)

Half sense is better than no sense.  Full sense is, of course, better.

-allen

-- 
 Allen Briggs                     briggs@wasabisystems.com
 Wasabi Systems, Inc.             http://www.wasabisystems.com/