[PATCH] pci_alloc_consistent in an interrupt context

David Gibson david at gibson.dropbear.id.au
Fri Jun 14 15:14:50 EST 2002


On Thu, Jun 13, 2002 at 05:51:56PM -0700, Tom Rini wrote:
>
> On Fri, Jun 14, 2002 at 10:45:39AM +1000, David Gibson wrote:
> > On Thu, Jun 13, 2002 at 05:38:07PM -0700, Tom Rini wrote:
> [snip]
> > > Er, the problem of setting dma_handle twice?
> >
> > Well, it fixes that and as a bonus gets rid of the ifdefs in
> > pci_{alloc,free}_consistent() and means that if we ever port a driver
> > using consistent_{alloc,free}() to a processor that *is* cache
> > coherent it will Just Work.
>
> In theory at that point OCP would either have its API fully flushed out
> or be applied nicely on top of the generic driver work in 2.5 and it
> would just work anyhow :)

Well at the moment OCP drivers call consistent_alloc() directly which
would always fail on cache-coherent processors.

> > > My only concern is that are things still consistent on non consistent
> > > procs?
> >
> > Absolutely - no change to the code path at all on non cache coherent
> > processors.
>
> So kmalloc/kfree are equivilent to __get_free_pages/free_pages ?

Read that again: on *non* cache coherent processors the code path is
the same.  kmalloc() vs. __get_free_pages() is a problem for
processors which *are* cache coherent.

--
David Gibson			| For every complex problem there is a
david at gibson.dropbear.id.au	| solution which is simple, neat and
				| wrong.  -- H.L. Mencken
http://www.ozlabs.org/people/dgibson

** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/





More information about the Linuxppc-embedded mailing list