Skip to contentSkip to conversation

XDMA dmaengine driver implementation

DISCUSSION Hinko Kocevar 2 participants 3 messages Jan 9, 2024 – Jan 12, 2024 dmaengine

lore
Share & tools
lore
#0 lore raw

Hi,

here at ESS we are using https://github.com/Xilinx/dma_ip_drivers/tree/master/XDMA/linux-kernel kernel driver today with the micro TCA based data acquisition cards such as https://innovation.desy.de/technologies/microtca/boards/damc_fmc2zup/index_eng.html and https://www.struck.de/sis8300.html. The diver seems to be functioning just fine and it provides all the necessary software interfaces we desire.

Looking at the https://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine.git/ I noticed that there is a lot of effort in getting the XDMA dmaengine accepted into mainline kernel. As far as I understand one would need to develop an additional driver that utilizes the XDMA dmaengine driver.

Is there a reference implementation of a driver that uses XDMA dmaengine that is similar to the on in dma_ip_drivers github repo?

Thank you in advance!
//hinko

Hinko Kocevar

Beam Diagnostics Engineer
European Spallation Source ERIC
Odarslövsvägen 113, SE-224 84 Lund, Sweden
E-mail: [email protected]

#1 lore raw

Hi Hinko,

mgb4 driver which uses XDMA in mainline kernel. Please see: https://github.com/torvalds/linux/blob/master/drivers/media/pci/mgb4/mgb4_core.c#L437

Thanks,

Lizhi

Quoted 22 lines · Hinko Kocevar

Hi,

here at ESS we are using https://github.com/Xilinx/dma_ip_drivers/tree/master/XDMA/linux-kernel kernel driver today with the micro TCA based data acquisition cards such as https://innovation.desy.de/technologies/microtca/boards/damc_fmc2zup/index_eng.html and https://www.struck.de/sis8300.html. The diver seems to be functioning just fine and it provides all the necessary software interfaces we desire.

Looking at the https://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine.git/ I noticed that there is a lot of effort in getting the XDMA dmaengine accepted into mainline kernel. As far as I understand one would need to develop an additional driver that utilizes the XDMA dmaengine driver.

Is there a reference implementation of a driver that uses XDMA dmaengine that is similar to the on in dma_ip_drivers github repo?

Thank you in advance!
//hinko

Hinko Kocevar

Beam Diagnostics Engineer
European Spallation Source ERIC
Odarslövsvägen 113, SE-224 84 Lund, Sweden
E-mail: [email protected]

#2 lore raw

Hi Lizhi,

I found it and managed to reuse its DMA interface within the dma_ip_drivers xdma driver.

At the moment I've hacked the dma_ip_drivers xdma driver just enough that it is using the xdma dmaengine instead of most of the code in libxdma.c.

Thank,
//hinko
________________________________________
From: Lizhi Hou <[email protected]>
Sent: Tuesday, January 9, 2024 5:42:13 PM
To: Hinko Kocevar; [email protected]; [email protected]
Cc: [email protected]
Subject: Re: XDMA dmaengine driver implementation

Hi Hinko,

mgb4 driver which uses XDMA in mainline kernel. Please see:
https://github.com/torvalds/linux/blob/master/drivers/media/pci/mgb4/mgb4_core.c#L437

Thanks,

Lizhi

Quoted 22 lines · Hinko Kocevar

Hi,

here at ESS we are using https://github.com/Xilinx/dma_ip_drivers/tree/master/XDMA/linux-kernel kernel driver today with the micro TCA based data acquisition cards such as https://innovation.desy.de/technologies/microtca/boards/damc_fmc2zup/index_eng.html and https://www.struck.de/sis8300.html. The diver seems to be functioning just fine and it provides all the necessary software interfaces we desire.

Looking at the https://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine.git/ I noticed that there is a lot of effort in getting the XDMA dmaengine accepted into mainline kernel. As far as I understand one would need to develop an additional driver that utilizes the XDMA dmaengine driver.

Is there a reference implementation of a driver that uses XDMA dmaengine that is similar to the on in dma_ip_drivers github repo?

Thank you in advance!
//hinko

Hinko Kocevar

Beam Diagnostics Engineer
European Spallation Source ERIC
Odarslövsvägen 113, SE-224 84 Lund, Sweden
E-mail: [email protected]