User manual

Table Of Contents
Zynq-7000 AP SoC Technical Reference Manual www.xilinx.com 269
UG585 (v1.11) September 27, 2016
Chapter 9: DMA Controller
Imprecise
The PC register might contain
the address of an instruction that
did not cause the abort occur.
Error on Data Load
The DMAC receives an ERROR response on the AXI master interface when it performs
a data load.
Error on Data Store
The DMAC receives an ERROR response on the AXI master interface when it performs
a data store.
Error on MFIFO
A DMA channel thread executes DMALD and the MFIFO is too small to store the data
or executes DMAST and the MFIFO contains insufficient data to complete the AXI
transaction.
Watchdog Abort
The DMAC can lock up if one or more DMA channel programs are running and the
MFIFO is too small to satisfy the storage requirements of the DMA programs.
The DMAC contains logic to prevent it from remaining in a state where it is unable to
complete a DMA transfer. The DMAC detects a lock up when all of the following
conditions occur:
Load queue is empty
Store queue is empty
All of the running channels are prevented from executing a DMALD instruction
either because the MFIFO does not have sufficient free space or another channel
owns the load-lock
When the DMAC detects a lock up it signals an interrupt and can also abort the
contributing channels. The DMAC behavior depends on the state of the wd_irq_only
bit in the WD register. For more information,
refer to the subsection Resource
Sharing Between DMA Channels, page 286.
Table 9-3: DMAC Abort Types and Conditions (Contd)
Abort Types Condition
Table 9-4: DMAC Abort Handling
Thread Type DMAC Actions
Channel thread
Sets IRQ#45 interrupt and IRQP2F[28] signal High
Stops executing instructions for the DMA channel
Invalidates all cache entries for the DMA channel
Updates the Channel Program Counter registers to contain the address of the aborted
instruction provided that the abort was precise
Does not generate AXI accesses for any instructions remaining in the read queue and write
queue
Permits currently active AXI bus transactions to complete
DMA manager
Sets IRQ#45 interrupt and IRQP2F[28] signal High
Table 9-5: DMAC Thread Termination
Processor or PL Peripheral Actions
Reads the status of Fault Status DMA Manager register to determine if the DMA manager is faulting and to determine
the cause of the abort
Reads the status of Fault Status DMA Channel register to determine if a DMA channel is faulting and to determine the
cause of the abort