ARM Technical Support Knowledge Articles

What is the purpose of the PL330 DMAFLUSHP instruction?

Applies to: PL330 AXI DMA Controller

Scenario

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.

Answer

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.


Rate this article

[Bad]
|
|
[Good]
Disagree? Move your mouse over the bar and click

Did you find this article helpful? Yes No

How can we improve this article?

Link to this article
Copyright © 2011 ARM Limited. All rights reserved. External (Open), Non-Confidential