-
Federico Vaga authored
This patch port the FMC ADC driver to use DMA engines to handle DMA data transfers in order to move out any custum dependency with the carrier. The dedicated code for `svec` and `spec` are not anymore useful, so I removed those files. Anyway, it is not completely true that we can get rid off the knowledge about the carrier; for instance the `svec` needs a special configuration because of the VME bus. The Linux kernel API does not offer a way to set the DMA context (usefull for VME transfers) to a transfer. So, I have to call the operation directly. In order to find the correct dmaengine channel suitable for the FMC-ADC instance, the dmaengine filter function compares the device instances. If we are on a SPEC, then the dmaengine is on the SPEC itself (in the gateware we have the gennum dma). So, the dmaengine and the FMC-ADC must have the same FMC carrier If we are on a SVEC, then the dmaengine is on the VME bridge. So, the dmaengine and FMC carrier share the same VME bridge. Signed-off-by: Federico Vaga <federico.vaga@cern.ch>
33a56062
Name |
Last commit
|
Last update |
---|---|---|
LICENSES | ||
distribution | ||
doc | ||
kernel | ||
tools | ||
zio @ d8bef4d8 | ||
.gitignore | ||
.gitmodules | ||
Makefile |