On Tue, Aug 27, 2024 at 02:36:11PM +0300, Vladimir Kondratiev wrote: > It is not necessary any RISCV platform has ZONE_DMA32. That is an odd statement. The point of ZONE_DMA32 is to make sure that drivers can always allocate 32-bit DMAable memory, and without ZONE_DMA32 that is very hard to provide unless you always have an IOMMU. > Example - if platform has no DRAM in [0..4G] region, > it will report failure like below each boot. ZONE_DMA32 is supposed to contain the 32-bit dma addressable memory, not 32-bit physical. Take a look at the changes that just went into Linus' tree for that.