
IDT DMA Controller
PES32NT24xG2 User Manual
15 - 19
January 30, 2013
Notes
• All prefetched descriptors are discarded.
–
If the DMA channel is halted when suspended (i.e., the DMA has completed processing descrip-
tors in a list), then the Suspend (S) bit in the DMACxSTS register is immediately set. Software
should wait for the Suspend bit in the DMACxSTS register to be set prior to resuming the DMA
channel as described next. Violating this rule produces undefined behavior.
The RUN bit remains set while a DMA is suspended. A suspended DMA channel may be resumed by
simultaneously writing a zero to the S bit and a one to the RUN bit in the DMACxCTL register while the
Error (E) bit in the DMAxSTS register is cleared. The DMA channel re-reads the descriptor pointed to by the
DMACxDPTRL/H registers. This register points to the last descriptor processed before the suspend. The
re-fetched descriptor is not processed due to the setting of the DSCP field in the DMACxCFG register.
Instead, the DMA follows the re-fetched descriptor’s NEXTL/H fields and starts processing the next
descriptor.
A summary of DMACxCTL register writes and their effect on the DMA channel is provided in Table 15.8.
Dynamic Appending of Descriptor Lists
Refer to section Suspending and Resuming a DMA Operation on page 15-18 for a description of a race-
free mechanism to append or modify descriptors in an active descriptor list by suspending and resuming
descriptor processing in a DMA channel. For scenarios where a suspend/resume operation is not desired
(e.g., to improve DMA performance), this section presents an alternative approach to performing dynamic
appending of descriptors to a descriptor list.
The mechanism described in this section is only applicable for dynamic appending of descriptor lists
located below 4 GB. For descriptor lists above the 4 GB address, the mechanism described in section
Suspending and Resuming a DMA Operation on page 15-18 should be used.
To enable this usage model, the Descriptor Status Check Processing (DSCP) field in the DMACxCFG
register must be set to “process next descriptor” prior to enabling a DMA channel (see section Descriptor
List Processing on page 15-15), and descriptor chaining must not be enabled (see section Descriptor
Chaining on page 15-16).
Descriptors may be appended to an active descriptor list (i.e., a descriptor list which a DMA channel is
currently processing), by modifying the NEXTL field of the last descriptor in the current descriptor list or by
modifying the LST bit of the last descriptor in the current descriptor list.
Note that the DMA engine never modifies the NEXTL field or the LST bit in a descriptor during descriptor
write-back. Therefore, there is no conflict between software that modifies the NEXTL field or the LST bit and
the DMA engine write-back operation. Also note that the LST bit is not applicable to Stride Control descrip-
tors.
Run
Abort
Suspend
Action
0
0
X
No effect on operation of DMA channel
X
0
1
Suspend DMA
X
1
X
Abort DMA channel operation
1
0
0
No action if E bit in the DMACxSTS register is
set.
Initiate DMA channel operation if RUN bit in the
DMACxCTL register and the E bit in the
DMACxSTS are cleared.
Resume DMA channel operation if RUN bit in the
DMACxCTL register was set and the E bit in the
DMACxSTS register is cleared.
X
1
1
Undefined behavior
Table 15.8 DMA Channel Control (DMACxCTL) Register Action Summary
Содержание PCI Express 89HPES32NT24xG2
Страница 20: ...IDT Table of Contents PES32NT24xG2 User Manual x January 30 2013 Notes...
Страница 24: ...IDT List of Tables PES32NT24xG2 User Manual xiv January 30 2013 Notes...
Страница 28: ...IDT List of Figures PES32NT24xG2 User Manual xviii January 30 2013 Notes...
Страница 56: ...IDT PES32NT24xG2 Device Overview PES32NT24xG2 User Manual 1 20 January 30 2013 Notes...
Страница 100: ...IDT Switch Core PES32NT24xG2 User Manual 4 22 January 30 2013 Notes...
Страница 124: ...IDT Switch Partition and Port Configuration PES32NT24xG2 User Manual 5 24 January 30 2013 Notes...
Страница 128: ...IDT Failover PES32NT24xG2 User Manual 6 4 January 30 2013 Notes...
Страница 148: ...IDT Link Operation PES32NT24xG2 User Manual 7 20 January 30 2013 Notes...
Страница 164: ...IDT SerDes PES32NT24xG2 User Manual 8 16 January 30 2013 Notes...
Страница 170: ...IDT Power Management PES32NT24xG2 User Manual 9 6 January 30 2013 Notes...
Страница 196: ...IDT Transparent Switch Operation PES32NT24xG2 User Manual 10 26 January 30 2013 Notes...
Страница 244: ...IDT SMBus Interfaces PES32NT24xG2 User Manual 12 40 January 30 2013 Notes...
Страница 247: ...IDT General Purpose I O PES32NT24xG2 User Manual 13 3 January 30 2013 Notes...
Страница 248: ...IDT General Purpose I O PES32NT24xG2 User Manual 13 4 January 30 2013 Notes...
Страница 330: ...IDT Switch Events PES32NT24xG2 User Manual 16 6 January 30 2013 Notes...
Страница 342: ...IDT Multicast PES32NT24xG2 User Manual 17 12 January 30 2013 Notes...
Страница 344: ...IDT Temperature Sensor PES32NT24xG2 User Manual 18 2 January 30 2013 Notes...
Страница 384: ...IDT Register Organization PES32NT24xG2 User Manual 19 40 January 30 2013...
Страница 492: ...IDT Proprietary Port Specific Registers PES32NT24xG2 User Manual 21 44 January 30 2013 Notes...
Страница 588: ...IDT NT Endpoint Registers PES32NT24xG2 User Manual 22 96 January 30 2013 Notes...
Страница 710: ...IDT JTAG Boundary Scan PES32NT24xG2 User Manual 25 12 January 30 2013 Notes...
Страница 743: ...IDT Usage Models PES32NT24xG2 User Manual 26 33 January 30 2013 Notes...
Страница 744: ...IDT Usage Models PES32NT24xG2 User Manual 26 34 January 30 2013 Notes...