[SPARC64]: Respect gfp_t argument to dma_alloc_coherent().
authorDavid S. Miller <davem@davemloft.net>
Tue, 23 May 2006 09:07:22 +0000 (02:07 -0700)
committerDavid S. Miller <davem@davemloft.net>
Tue, 23 May 2006 09:07:22 +0000 (02:07 -0700)
commit42f142371e48fbc44956d57b4e506bb6ce673cd7
treecbcf77d8bf8adc923c50e1fd53a8becd81952beb
parent353b28bafd1b962359a866ff263a7fad833d29a1
[SPARC64]: Respect gfp_t argument to dma_alloc_coherent().

Using asm-generic/dma-mapping.h does not work because pushing
the call down to pci_alloc_coherent() causes the gfp_t argument
of dma_alloc_coherent() to be ignored.

Fix this by implementing things directly, and adding a gfp_t
argument we can use in the internal call down to the PCI DMA
implementation of pci_alloc_coherent().

This fixes massive memory corruption when using the sound driver
layer, which passes things like __GFP_COMP down into these
routines and (correctly) expects that to work.

Signed-off-by: David S. Miller <davem@davemloft.net>
arch/sparc64/kernel/pci_iommu.c
arch/sparc64/kernel/pci_sun4v.c
include/asm-sparc64/dma-mapping.h
include/asm-sparc64/pci.h