Re: [PATCH RFC 1/4] of: get dma area lower limit
From: Baruch Siach <baruch@tkos.co.il>
Date: 2024-01-18 11:10:33
Also in:
linux-devicetree, linux-iommu, lkml
Hi Christoph On Wed, Jan 17 2024, Christoph Lameter (Ampere) wrote:
On Wed, 27 Dec 2023, Baruch Siach wrote:quoted
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@tkos.co.il - tel: +972.52.368.4656, http://www.tkos.co.il -
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel