I have a pcie card mini adapter plugged into a Boundary Devices Nitrogen6 carrier board. the pcie device is a Linear Systems Ttd. SDI Tx card. I got the driver to run however, after some dma buffer transfers the dma done indication as well as the completion interrupt stops. The driver then fills the dma ring and shuts down exiting the test application. At this point the dma will not restarte unless I reboot the system.
in imx-sdma.c, function
static irqreturn_t sdma_int_handler(int irq, void *dev_id)
replace
if (sdmac->flags & IMX_DMA_SG_LOOP)
sdma_update_channel_loop(sdmac);
else
tasklet_schedule(&sdmac->tasklet);
with
if (sdmac->flags & IMX_DMA_SG_LOOP)
sdma_update_channel_loop(sdmac);
else
mxc_sdma_handle_channel_normal((unsigned long)sdmac);
Hi Gary
basic pcie validation steps are described in
i.MX6Q PCIe EP/RC Validation System
please check that for Nitrogen6 correct image configuration is used
GitHub - boundarydevices/linux-imx6: Boundary Devices Kernel tree for i.MX6
as this is third party board, issue may be posted on meta-fsl-arm mailing list, so that someone
familiar with it could try to assist you.
https://lists.yoctoproject.org/listinfo/meta-freescale
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------