首页 > 解决方案 > 将 Linux DMA 分配限制在特定范围内

问题描述

我正在开发一个 SOC,它的 RAM 从 0x200M 开始。出于某种原因,我需要将 DMA 分配限制为 0x220M,所以我调用了 - dma_set_mask_and_coherent(dev, 0x21FFFFFFF)
我注意到 dev->dma_mask 没有设置,而 dev->coherent_dma_mask设置。
尽管如此,调用 dma_alloc_coherent 会返回超出请求限制的缓冲区。
如何限制缓冲区地址?

标签: linux-kerneldma

解决方案


推荐阅读