I'm using MV Linux on the ARM9 and DSP/BIOS on the DSP side of the OMAP-L137.
I need to DMA from the SPI1 to memory on the DSP side. (MV Linux will not be able to keep up with the real-time control requirements.)
The number of 16-bit transfers is variable from one transfer to the next, and the number of transfers will usually be greater than 65535 (up to 250000). The data is not really in frames, but I can lie about that just to get the number of transfers large enough to get all the data. The number could be a prime number (just to make things fun). Because of the prime number thing and the large number of transfers, there may be no values of ACNT and BCNT that, multiplied together, equal the total. I figure I'll need to chain PaRAM sets to get those remaining values transferred.
I think this means that I'll need 2 PaRAM sets: one for the bulk of the data and one for the remainder, if any.
I need to assure that the ARM9 and the DSP do not try to use the same DMA channels and PaRAM sets. I noticed in the literature that I should be using the Shadow region for multi-core processors. For the OMAP-L137, the ARM9 seems to be in control. Does this mean that the ARM9 must setup the Shadow regions? If the DSP does it, how does the ARM9 know to avoid the same PaRAM sets, etc?