Dear all:
I use mcasp to transfer voice data by EDMA in ARM, and use DSP to implement other function. First, the mcasp run in arm to transfer data. Then, the syslink.ko is loaded.The result is that tx stop TXEVT interrupt and RXEVT interrupt is normal but rx data is error.
I modify the "edma_alloc_channel(tx_channel, NULL,NULL,EVENTQ_DEFAULT);" to "edma_alloc_channel(tx_channel, NULL,NULL,EVENTQ_0);", then the tx and rx voice data is good. Then calling engine_open() to start DSP result in that tx data is good but rx data is same wrong.
Firstly, syslink.ko and cmemk.ko is loaded. Secondly, engine_open() is called. The mcasp run last. In this case, the mcasp will work good and any modification is unnecessary.
Thanks