On Apr 20, 2009, at 11:26 AM, Becky Bruce wrote:

Minor code to allow enabling swiotlb on mpc86xx, including
Kconfig addition for SWIOTLB.

Signed-off-by: Becky Bruce <bec...@kernel.crashing.org>
---
arch/powerpc/Kconfig                       |   10 ++++++++++
arch/powerpc/kernel/dma-swiotlb.c          |    2 ++
arch/powerpc/platforms/86xx/mpc86xx_hpcn.c |    3 +++
3 files changed, 15 insertions(+), 0 deletions(-)

diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index 197f6a3..e47c81d 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -292,6 +292,16 @@ config IOMMU_VMERGE
config IOMMU_HELPER
        def_bool PPC64

+config SWIOTLB
+       bool "SWIOTLB support"
+       depends on PPC_86xx
+       select IOMMU_HELPER
+       ---help---
+         Support for IO bounce buffering for systems without an IOMMU.
+         This allows us to DMA to the full physical address space on
+         platforms where the size of a physical address is larger
+         than the bus address.
+

As stated on previous patch, move the bulk of this into 4/5.


config PPC_NEED_DMA_SYNC_OPS
        def_bool y
        depends on (NOT_COHERENT_CACHE || SWIOTLB)
diff --git a/arch/powerpc/kernel/dma-swiotlb.c b/arch/powerpc/kernel/ dma-swiotlb.c
index 29a68e6..3065d03 100644
--- a/arch/powerpc/kernel/dma-swiotlb.c
+++ b/arch/powerpc/kernel/dma-swiotlb.c
@@ -159,3 +159,5 @@ static int __init setup_bus_notifier(void)

        return 0;
}
+
+machine_arch_initcall(mpc86xx_hpcn, setup_bus_notifier);

Hmm, not sure what we chatted about here, but I don't want to have to add every board into this file to register the bus notifiers.


diff --git a/arch/powerpc/platforms/86xx/mpc86xx_hpcn.c b/arch/ powerpc/platforms/86xx/mpc86xx_hpcn.c
index c4ec49b..f7b88b9 100644
--- a/arch/powerpc/platforms/86xx/mpc86xx_hpcn.c
+++ b/arch/powerpc/platforms/86xx/mpc86xx_hpcn.c
@@ -88,6 +88,9 @@ mpc86xx_hpcn_setup_arch(void)

        ppc_md.pci_exclude_device = mpc86xx_exclude_device;

+#ifdef CONFIG_SWIOTLB
+       set_pci_dma_ops(&swiotlb_pci_dma_ops);
+#endif
#endif

        printk("MPC86xx HPCN board from Freescale Semiconductor\n");
--
1.6.0.6

_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev

_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev

Reply via email to