TC1796
System Units (Vol. 1 of 2)
Direct Memory Access Controller
User’s Manual
12-22
V2.0, 2007-07
DMA, V2.0
The arbiter/switch control unit arbitrates the bus requests for the switch and grants the
buses connected to the switch for data transfers.
defines the Bus Switch
priorities.
CHCRmn.DMAPRIO determines the priority that is used when a move operation related
to this channel is targeting the FPI Bus 0 (SPB). In the TC1796, the DMA controller has
two priorities on FPI Bus 0 (DMA0 and DMA1), where it competes against the other bus
masters in the system to access the bus. The DMAPRIO bit field also determines which
priority is used by a DMA Move Engine to arbitrate the FPI Bus 0 access. DMIPRIO has
no effect in the channel prioritization but is also used for Bus Switch arbitration of the two
Move Engines.
Access modes (U, SV) of an access from FPI Bus 0 to FPI Bus 1 are identically
transferred to FPI Bus 1. All accesses triggered by the DMA Move Engines or the MLI
modules are always done in SV mode.
The DMA bridge functionality from the FPI Bus 0 to FPI Bus 1, to the MLI modules or to
the memory checker does not support read/modify/write instructions.
DMA Bus Bandwidth Allocation
The Move Engines in the two DMA Sub-Blocks use a programmable priority scheme in
the switch. The transfers currently requesting the master interface(s) of the DMA are
internally arbitrated according to their programmable DMAPRIO value. If both Move
Engines are requesting the bus interface simultaneously with identical DMAPRIO value,
Move Engine 0 will get the bus first. This arbitration is done for each move operation.
This arbitration scheme is valid if two concurrent write or two concurrent read requests
compete for the same bus interface. A write always wins the arbitration against a read
request.
Table 12-1
Bus Switch Priorities
Priority
Agent Requests
Comment
Highest
Lowest
FPI Bus 0 to FPI Bus 1
FPI Bus 0 to MLI interface
The FPI Bus bridge functionality has
higher priority than the DMA bus
requests. Reason: minimizing wait states
on the FPI Bus 0.
DMA Move Engine write move
Priority is defined by CHCRmn.DMAPRIO
of DMA channel mn that is requesting the
switch.
DMA Move Engine read move
MLI
–