Message ID | 20190731154752.16557-9-nsaenzjulienne@suse.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Raspberry Pi 4 DMA addressing support | expand |
On Wed, Jul 31, 2019 at 05:47:51PM +0200, Nicolas Saenz Julienne wrote: > + * Architecture Limit > + * ---------------------------------- > + * parisc, ia64, sparc, arm64 <4G > + * s390, powerpc <2G > + * arm Various > + * alpha Unlimited or 0-16MB. > * > * i386, x86_64 and multiple other arches > - * <16M. > + * <16M. powerpc is also Various now, arm64 isn't really < 4G, ia64 only uses ZONE_DMA32 these days, and parisc doesn't seem to use neither ZONE_DMA nor ZONE_DMA32. Based on that I'm not sure the list really makes much sense. > */ > ZONE_DMA, > #endif > #ifdef CONFIG_ZONE_DMA32 > /* > - * x86_64 needs two ZONE_DMAs because it supports devices that are > - * only able to do DMA to the lower 16M but also 32 bit devices that > - * can only do DMA areas below 4G. > + * x86_64 and arm64 need two ZONE_DMAs because they support devices > + * that are only able to DMA a fraction of the 32 bit addressable > + * memory area, but also devices that are limited to that whole 32 bit > + * area. > */ > ZONE_DMA32, Maybe just say various architectures instead of mentioning specific ones? Something like "Some 64-bit platforms need.."
diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h index d77d717c620c..8fa6bcf72e7c 100644 --- a/include/linux/mmzone.h +++ b/include/linux/mmzone.h @@ -365,23 +365,24 @@ enum zone_type { * * Some examples * - * Architecture Limit - * --------------------------- - * parisc, ia64, sparc <4G - * s390, powerpc <2G - * arm Various - * alpha Unlimited or 0-16MB. + * Architecture Limit + * ---------------------------------- + * parisc, ia64, sparc, arm64 <4G + * s390, powerpc <2G + * arm Various + * alpha Unlimited or 0-16MB. * * i386, x86_64 and multiple other arches - * <16M. + * <16M. */ ZONE_DMA, #endif #ifdef CONFIG_ZONE_DMA32 /* - * x86_64 needs two ZONE_DMAs because it supports devices that are - * only able to do DMA to the lower 16M but also 32 bit devices that - * can only do DMA areas below 4G. + * x86_64 and arm64 need two ZONE_DMAs because they support devices + * that are only able to DMA a fraction of the 32 bit addressable + * memory area, but also devices that are limited to that whole 32 bit + * area. */ ZONE_DMA32, #endif
arm64 uses both ZONE_DMA and ZONE_DMA32 for the same reasons x86_64 does: peripherals with different DMA addressing limitations. This updates both ZONE_DMAs comments to inform about the usage. Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de> --- include/linux/mmzone.h | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-)