Does kmalloc on MPC82xx work correctly with GFP_DMA?
Matt Porter
mporter at kernel.crashing.org
Wed Oct 20 00:27:54 EST 2004
On Mon, Oct 18, 2004 at 10:30:15AM +0100, Conor McLoughlin wrote:
> I have been looking at the ethernet device driver (fcc_enet) for the
> mpc82xx platform. This allocates buffer descriptors using kmalloc with
> the GFP_DMA flag. As far as I can see on my platform, this allocates
GFP_DMA has no meaning on PPC. All memory is DMAable. GFP_DMA is for
PeeCees with a limited ISA DMA space. Drivers should be using GFP_KERNEL
so they don't confuse people.
> from the regular kernel memory (0xCxxxxxxx). As the attributes of this
> block of memory are controlled by the block address translation
> registers, this cannot be DMA safe, can it?
Sure it can. It works with hardware snooping.
> Is there something I am missing here?
Yes, it's a 603e core and hardware snooping support manages cache
coherency between system memory and devices.
-Matt
More information about the Linuxppc-embedded
mailing list