This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Multiple McASP devices, DMA errors (Linux)

Hello. I have added a second McASP device to my TI8148 EVM platform (both registered with ti81xx_register_mcasp()). This seems to work without any errors. However when I attempt to open the ALSA device that the second McASP device has been associated with, I am getting errors related to DMA:

user.err kernel: davinci_pcm: Failed to get dma channels
user.err kernel: asoc: can't open platform davinci-pcm-audio 

Obviously I've failed to configure the DMA correctly somewhere (and it seems like it's trying to use the same resources for both devices). Any tips on what I might be doing wrong would be appreciated.

  • In case anyone else comes across this issue, it turned out to be due to DMA channels being reserved for other system hosts. The fix is to alter the reservations found in arch/arm/mach-omap2/devices.c in the ti814x_dma_rsv_chans and ti814x_dma_rsv_slots arrays.