Re: [PATCHv3 5/6] ARM: imx: Add initial support for Freescale LS1021A
From: Arnd Bergmann <hidden>
Date: 2014-09-11 10:44:34
Also in:
linux-arm-kernel
On Thursday 11 September 2014 09:53:56 Jingchang Lu wrote:
quoted
From: Arnd Bergmann [mailto:arnd-r2nGTMty4D4@public.gmane.org] Ok, I see. The actual point of dma_zone_size however is slightly different, and I think you should not use it like this. We normally only use ZONE_DMA if there are devices that have a limitation smaller than 4GB, and that appear to be the case for your system. The message you quote is only present in arch/powerpc, so I'm not sure what symptoms you are actually seeing. Please try removing the dma_zone_size setting for your platform and report if it works or what the symptom is if it does not work with the latest kernel. We definitely need to get this to work out of the box without a dma_zone_size hack. Can you describe what the memory layout is of your platform? Can you have RAM installed above the 4GB physical address boundary? If you can, are there any devices that are unable to perform DMA into that memory without the use of an IOMMU?Our first LS1021A support is based on kernel-3.12, where when LPAE enabled it will compare the device's coherent_dma_mask with arm_dma_limit, which is 64-bit 0xffffffffffffffff without CONFIG_ZONE_DMA, with CONFIG_ZONE_DMA can limit the comparison and avoid the warning. All device can address 32-bit address space on LS1021A, With you comment above, I remove the dma_zone_size and only reserve the CONFIG_ZONE_DMA On kernel-3.12, finding all works well, so I will remove the dma_zone_size setting on 3.12. Thanks.
Ok, good.
I have a look on latest kernel, finding get_coherent_dma_mask() has limited the mask to (u64)DMA_BIT_MASK(32), does this mean the CONFIG_ZONE_DMA is not needed for me here? Thanks.
You only need to enable CONFIG_ZONE_DMA in the case of RAM above the 4GB boundary. I would suggest you do the same as some of the other platforms by adding select ZONE_DMA if ARM_LPAE into your Kconfig file. If LPAE is disabled, you know that you won't need ZONE_DMA. Arnd -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html