[PATCH 1/3] powerpc/dma: Always configure ZONE_DMA32 correctly

Kevin Hao haokexin at gmail.com
Sat Feb 21 22:26:07 AEDT 2015


On Fri, Feb 20, 2015 at 07:35:25PM +1100, Benjamin Herrenschmidt wrote:
> We do this for consistency and also in order to support the use of a
> consistent mask smaller than the dma mask in subsequent patches.
> 
> Signed-off-by: Benjamin Herrenschmidt <benh at kernel.crashing.org>
> ---
>  arch/powerpc/kernel/dma-swiotlb.c | 3 ---
>  arch/powerpc/mm/mem.c             | 6 ++++++
>  2 files changed, 6 insertions(+), 3 deletions(-)
> 
> diff --git a/arch/powerpc/kernel/dma-swiotlb.c b/arch/powerpc/kernel/dma-swiotlb.c
> index 7359797..cb92f94 100644
> --- a/arch/powerpc/kernel/dma-swiotlb.c
> +++ b/arch/powerpc/kernel/dma-swiotlb.c
> @@ -110,9 +110,6 @@ void __init swiotlb_detect_4g(void)
>  {
>  	if ((memblock_end_of_DRAM() - 1) > 0xffffffff) {
>  		ppc_swiotlb_enable = 1;
> -#ifdef CONFIG_ZONE_DMA32
> -		limit_zone_pfn(ZONE_DMA32, (1ULL << 32) >> PAGE_SHIFT);
> -#endif
>  	}
>  }
>  
> diff --git a/arch/powerpc/mm/mem.c b/arch/powerpc/mm/mem.c
> index b7285a5..f146ef0 100644
> --- a/arch/powerpc/mm/mem.c
> +++ b/arch/powerpc/mm/mem.c
> @@ -307,6 +307,12 @@ void __init paging_init(void)
>  	printk(KERN_DEBUG "Memory hole size: %ldMB\n",
>  	       (long int)((top_of_ram - total_ram) >> 20));
>  
> +#ifdef CONFIG_ZONE_DMA32
> +	/* Default limit for ZONE_DMA32, platform might limit it
> +	 * further due to PCI bridge addressing limitations
> +	 */
> +	limit_zone_pfn(ZONE_DMA32, (1ULL << 32) >> PAGE_SHIFT);
> +#endif
>  #ifdef CONFIG_HIGHMEM

Hmm, won't this break the PCI on the fsl SoCs? The ZONE_DMA32 is set to
2GB due to the PCI inbound window limitation on fsl SoCs. This will override
that unconditionally. Please see the commit 84f44cc56c09 ("powerpc/fsl-pci:
Limit ZONE_DMA32 to 2GiB on 64-bit platforms") for more detail.

Thanks,
Kevin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 473 bytes
Desc: not available
URL: <http://lists.ozlabs.org/pipermail/linuxppc-dev/attachments/20150221/552811e2/attachment.sig>


More information about the Linuxppc-dev mailing list