Re: [PATCH?][arch/parisc/kernel/pci-dma.c]pcxl_dma_ops.alloc_noncoherent = pa11_dma_alloc_consistent?

From: James Bottomley
Date: Mon Feb 11 2008 - 11:55:31 EST



On Mon, 2008-02-11 at 09:42 -0700, Matthew Wilcox wrote:
> On Mon, Feb 11, 2008 at 05:23:33PM +0100, Roel Kluin wrote:
> > duplicate pa11_dma_alloc_consistent; more appropriate appears
> > pa11_dma_alloc_noncoherent here.
> >
> > Not tested, please confirm that this fix is correct
>
> I don't think it is. The memories are fading, so I don't recall why it
> is we do it this way, but I'm pretty sure it's correct the way it is.

dma_alloc_noncoherent is a fallback for boxes with coherency problems
which cannot allocate coherent memory. The API asks for coherent memory
but the driver promises to behave correctly even if an incoherent area
is returned. dma_alloc_coherent() requires only coherent memory. The
pcx boxes (PA7200 and below) can't do the uncached trick for coherent
memory, so the API is designed for them. The PCXL can, so we allocate
coherent memory even for dma_alloc_noncoherent() in that case (and nop
out the coherency handlers the driver uses).

James


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/