|ARM Technical Support Knowledge Articles|
Applies to: PL330 AXI DMA Controller
Please can you tell me the purpose of the DMAFLUSHP instruction and the expected use case. It would be helpful if you can give us some example of using the instruction.
The purpose of the DMAFLUSHP instruction is for the DMA controller to tell the peripheral to clear its status and control registers. An example of its use would be: * Controller has been told to send 15 words of data * Peripheral requests data using BURSTs * Controller transfers 3 bursts of four words * Peripheral still requests a burst even though there are only three words left to send * Controller transfers 3 words as SINGLEs and then sends a FLUSH using DMAFLUSHP. This final flush tells the peripheral that it has received all the data it was supposed to receive, even though it thinks it should receive more, and that it should now clear it's status and control registers. The controller also clears its status register allowing both the controller and peripheral to "re-sync" their requests and transmissions. The PL330 Integration Manual illustrates this operation in section A.1.1.
Did you find this article helpful? Yes No
How can we improve this article?