[PATCH 0/5] Allow swiotlb use on ppc/mpc86xx
beckyb at kernel.crashing.org
Tue Apr 21 02:29:24 EST 2009
Here's the text that should have been there :)
This patch series allows the use of swiotlb on mpc86xx, with 85xx
upport soon to follow. The most notable change here is the addition
of addr_needs_map to dma_ops. This is used to tell if a device
can reach an address without bounce buffering. I believe that patches
will be coming out soon to make dma_ops non-arch-specific, and
I expect to see something similar there as well.
I've also changed sg_dma_len to be the same on both 32 and 64-bit.
We now look at sg->dma_length in both cases (see patch log).
The dma_window* elements in the pci_controller struct are hoisted
out of an #ifdef CONFIG_PPC64 so we can use them to store off
information about how much memory is mapped via the inbound pci
A dma-swiotlb.c is created in arch/powerpc/kernel to contain
all the platform-specific iotlb code.
Finally, hooks are provided to allow enabling of this feature on
86xx via Kconfig, and a 36-bit device tree for 8641hpcn is provided.
Ye Olde Diffstat:
arch/powerpc/Kconfig | 2 +-
arch/powerpc/boot/dts/mpc8641_hpcn_36b.dts | 597 +++++++++++++++++++
arch/powerpc/include/asm/dma-mapping.h | 11 +
arch/powerpc/include/asm/pci-bridge.h | 6 +-
arch/powerpc/include/asm/scatterlist.h | 6 +-
arch/powerpc/include/asm/swiotlb.h | 24 ++
arch/powerpc/kernel/Makefile | 1 +
arch/powerpc/kernel/dma-swiotlb.c | 161 ++++++++
arch/powerpc/kernel/dma.c | 2 +-
arch/powerpc/kernel/setup_32.c | 4 +
arch/powerpc/sysdev/fsl_pci.c | 4 +
11 files changed, 809 insertions(+), 9 deletions(-)
More information about the Linuxppc-dev