Re: DMA-API attr - DMA_ATTR_NO_KERNEL_MAPPING

From: Robin Murphy
Date: Mon Jul 01 2019 - 13:54:51 EST


On 01/07/2019 18:47, Pankaj Suryawanshi wrote:
If you want a kernel mapping, *don't* explicitly request not to have a
kernel mapping in the first place. It's that simple.


Do you mean do not use dma-api ? because if i used dma-api it will give you
mapped virtual address.
or i have to use directly cma_alloc() in my driver. // if i used this
approach i need to reserved more vmalloc area.

No, I mean just call dma_alloc_attrs() normally *without* adding the DMA_ATTR_NO_KERNEL_MAPPING flag. That flag means "I never ever want to make CPU accesses to this buffer from the kernel" - that is clearly not the case for your code, so it is utterly nonsensical to still pass the flag but try to hack around it later.

Robin.