LLI for PL330 How to implement LLI for PL330 DMA controller
Posted 25 March 2010 - 12:41 AM
I search all over the net but couldn't find any relevant info. I hope this forum sorts it out.
Peripherals that have shallow FIFOs with very fast shifters need true Linked-List-Item
implementation. That is, DMAC should itself continue with next xfer after it finishes one.
Otherwise, it needs CPU intervention of initiating the xfer again from IRQ callback of last xfer
-- obviously this is just emulation of LLI and not true LLI.
For implementing true LLI, we need to modify microcode buffer while the DMAC is active
and that requires ICACHE flushing.... which doesn't seem to be available in normal mode?
Could someone please suggest how to flush ICACHE of PL330 DMAC?
How to implement TRUE LLI, that is automatic continuation of next xfer by the DMAC
without any intervention from CPU or other external agent?
Thanks in advance.