Subject: Re: Regarding consistent_alloc

From: Matt Porter <[email-masked]>
Date: Fri, 6 Dec 2002 11:30:07 -0700

On Fri, Dec 06, 2002 at 05:08:22PM +0100, Joakim Tjernlund wrote:
> >
> > On Fri, Dec 06, 2002 at 03:25:48PM +0100, Joakim Tjernlund wrote:
> > > If you implement the performance improvement I suggested earlier, I don't think
> > > you need them. Another thing with consistent_xxx() is that you can not use
> > > __pa() and __va() on addresses returned by the consistent_alloc et. al.
> >
> > Um, well if you are doing a consistent_alloc() then surely you are
> > keeping the dma_handle around which is your physical address.  If you
> > want the kernel virtual address then you can apply __va to that.  So,
> > you have the cache inhibited mapping in vmalloc space returned to you,
> > the physical address provided in dma_handle, and a kernel virtual address
> > that can be trivially generated.
>
> m8xx_cpm_hostalloc() does not keep the DMA handle and __pa() does not work
> on addresses returned by m8xx_cpm_hostalloc(). I just found that out the
> hard way when upgrading from MV 2.4.2 to linuxppc_2_4_devel 2.4.20. My SPI driver

that's a problem with m8xx_cpm_hostalloc() (or how you are using it) if
it doesn't keep around the values you need.

--
Matt Porter
[email-masked]
This is Linux Country. On a quiet night, you can hear Windows reboot.

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