Hello everyone. This is my progress report for WEEK 6. Last week was a really unproductive week. Couldn't get much done as I was faced with multiple issues using DMA.
Kernel log:
[ 1.656951] edma 49000000.edma: TI EDMA DMA engine driver
[ 543.116361] pru_dma_test: loading out-of-tree module taints kernel.
[ 543.124268] pru_dma_test pru-dma-test: Start probe
[ 543.124311] pru_dma_test pru-dma-test: Configure dma xfer
[ 543.124355] pru_dma_test pru-dma-test: Map src buf
[ 543.124373] pru_dma_test pru-dma-test: Perform transfer from 0x9a110590 to 0x4a300000
[ 543.124391] pru_dma_test pru-dma-test: Submit xfer to pending queue
[ 543.124402] pru_dma_test pru-dma-test: Issue pending transfer
[ 548.143618] edma 49000000.edma: dma_sync_wait: timeout!
[ 548.148935] pru_dma_test pru-dma-test: Probe complete
2) The PRU DMA driver probe fails. After setting up the kernel with the DMA Driver patches and loading it, I get the following error on bootup -
[ 27.109034] ti-pruss 4a300000.pruss: creating PRU cores and other child platform devices
[ 27.109159] irq: no irq domain found for /ocp/pruss_soc_bus@4a326000/pruss@4a300000/intc@4a320000 !
[ 27.192919] pru_dma 4a300000.pruss:pru_dma: Unable to get PRUSS RAM.
[ 27.201309] remoteproc remoteproc1: 4a334000.pru0 is available
[ 27.201427] pru-rproc 4a334000.pru0: PRU rproc node /ocp/pruss_soc_bus@4a326000/pruss@4a300000/pru@4a334000 probed successfully
[ 27.202841] remoteproc remoteproc2: 4a338000.pru1 is available
[ 27.202949] pru-rproc 4a338000.pru1: PRU rproc node /ocp/pruss_soc_bus@4a326000/pruss@4a300000/pru@4a338000 probed successfully
[ 27.212016] pru_dma: probe of 4a300000.pruss:pru_dma failed with error -16
The DMA driver is an in-tree driver and it will be used by the patched pru_rproc driver during compilation (
https://github.com/maciejjo/beaglebone-pru-dma/blob/be1b426c1ae9841e1cdc36ce294d6c10023f2049/kernel-patch/0001-Add-pru-dma-driver-to-Linux-tree.patch#L28)
It looks like the DMA driver is probed just before the remoteproc driver probe and it is unable to get the PRU memory regions.
I have worked on a kernel module to expose a sysfs interface for the DMA driver but couldn't test it. I hope to resolve these issues and get on with the planned work as soon as possible.
Please provide suggestions/fixes for these issues if possible.
Regards,
Muneeb.