[PATCH 0/5] SWIOTLB for ppc/mpc86xx

Becky Bruce beckyb at kernel.crashing.org
Tue Apr 21 02:26:43 EST 2009


This patch series allows the use of swiotlb on mpc86xx, with 85xx 
support 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
windows.

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(-)

Cheers,
Becky




More information about the Linuxppc-dev mailing list