[PATCH 5/5] powerpc: Add 86xx support for SWIOTLB

Kumar Gala galak at kernel.crashing.org
Tue Apr 21 03:00:01 EST 2009


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 <beckyb at 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 at ozlabs.org
> https://ozlabs.org/mailman/listinfo/linuxppc-dev




More information about the Linuxppc-dev mailing list