Hello guys,
I need to write a kernel module which allocates 32MB of contiguous RAM so then it can be used to do some DMA transfers, I tried using the mem parameters when booting Linux, I could map the buffer for that 32MB with cache enable for it, but when I tried to do dma_sync_single_for_device/cpu over that region I got a kernel error when trying flush and clean the cache for that buffer.
Any advice how get a 32MB of contiguous RAM? Which I can allocate with cache enabled and then use DMA function over that mem space. If I use the alloc_pages I can get up to 4MB of the required RAM and the dma_sync_single_for_device/cpu work fine over the allocated buffer, but I can only allocate 4MB.
Thanks,