Update: We have run into issues with the SGDMA on our Cyclone V linux/SoC platform:
We tried to compile the altera module for the tse/sgdma. However it is not compiling:
CC [M] drivers/net/ethernet/altera/altera_tse.o
drivers/net/ethernet/altera/altera_tse.c: In function ‘tse_sgdma_add_buffer’:
drivers/net/ethernet/altera/altera_tse.c:311:2: error: implicit declaration of function ‘flush_dcache_range’ [-Werror=implicit-function-declaration]
It looks like we dont have the flush_dcache_range inside cacheflush.h to our processor.
Apparently, more people are suffering the same problem:
http://lists.rocketboards.org/pipermail/rfi/2013-august/000392.html And the proposed solution to flush the dcache didnt work there.
There are more people trying to use the same driver (tse + sgdma) and they claim that it is working in kernel 3.12:
http://lists.rocketboards.org/pipermail/rfi/2014-january/001016.html But, it looks like that the driver is for the new mSGDMA, and not for the SGMDA.
We have checked out the kernel 3.12 and have noticed differences on this driver. We are now exploring whether to use the mSGDMA or the SGDMA; will post updates here.
NB: the mSGDMA reference is
http://www.alterawiki.com/wiki/file:modular_sgdma_de.zip