Should dma_map_single take the dma controller or its consumer as an argument?

Russell King (Oracle) linux at armlinux.org.uk
Wed Jun 28 04:02:47 PDT 2023


On Wed, Jun 28, 2023 at 06:57:35PM +0800, Li Chen wrote:
> Hi all,
> 
> I recently encountered an issue where the dma_mask was set in the DMA controller's driver, but the consumer peripheral driver didn't set its own dma_mask.

It should always take the device that is *actually* performing the DMA,
since that is the device that has restrictions on what addresses can be
accessed, etc.

Devices that "consume" the data from a DMA controller don't access
memory - they are merely the targets, and they can't on their own access
host memory. Therefore, their dma mask _should_ be irrelevant.

-- 
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 80Mbps down 10Mbps up. Decent connectivity at last!



More information about the linux-arm-kernel mailing list