Hi Christoph On Wed, Jan 17 2024, Christoph Lameter (Ampere) wrote: > On Wed, 27 Dec 2023, Baruch Siach wrote: >> of_dma_get_max_cpu_address() returns the highest CPU address that >> devices can use for DMA. The implicit assumption is that all CPU >> addresses below that limit are suitable for DMA. However the >> 'dma-ranges' property this code uses also encodes a lower limit for DMA >> that is potentially non zero. > > All of memory can be used for DMA by default (==ZONE_NORMAL). ZONE_DMA defines > a special range for devices that are unable to perform DMA to all of > memory. Usually due to the lack of address bit support. > > So I guess that the platform in question here has as a general limit as to > what address spaces I/O devices can do DMA to? DMA to/from devices in bus with 'dma-ranges' property is limited to address space described in 'dma-ranges'. The arm64 platform currently uses 'dma-ranges' as a hint to set ZONE_DMA limits globally. This series is meant to make ZONE_DMA limits adjustment code work better for platforms where the lower DMA limit is above 4GB. This commit adds the ability to extract the lower limit from 'dma-ranges'. baruch -- ~. .~ Tk Open Systems =}------------------------------------------------ooO--U--Ooo------------{= - baruch@xxxxxxxxxx - tel: +972.52.368.4656, http://www.tkos.co.il -