Quote:
Originally Posted by zvivered
Hello,
Under Centos 8.2(x64) I'm using dma_alloc_coherent to allocate a contiguous RAM used for DMA from FPGA to RAM. How can I set this area to be not cacheable? Is this really a coherent buffer? If yes, then O.S should invalidate the cache automatically so that I always read a fresh data from cache. In what case I should also use dma_map_single and also dma_alloc_coherent?
|
You should use whatever 'case' is applicable to your custom OS/kernel/hardware/embedded system/FPGA device. As you've been told now for 13 years. Two of the MANY hits for what you're asking, from a brief Google search:
https://stackoverflow.com/questions/...alloc-coherent
https://www.kernel.org/doc/Documentation/DMA-API.txt
May also want to check some of your own threads from more than *THIRTEEN YEARS AGO* that have some similarity:
https://www.linuxquestions.org/quest...rrupts-686156/
https://www.linuxquestions.org/quest...driver-842776/
See any of your other threads where you claim to be developing a kernel driver, and have an FPGA engineer on your 'team' helping you:
https://www.linuxquestions.org/quest...er-4175632357/
Again, as you've been told repeatedly:
- We do not have your custom hardware
- We do not have your code
- We do not have your module
- You WILL NOT tell us what this device is
- You WILL NOT tell us what it does or what your goals are
And since we have NONE of this, there is *NOTHING* we can do to assist. We can't guess, and we aren't here to debug your code or look up links to the documentation. Sorry to sound nasty, but it's true. If you're a kernel developer who has been working on such things for 13 years, what do you think we can tell you? Especially since you aren't giving us any details??