
GT-96100A Advanced Communication Controller
Revision 1.0
225
9.5
Arbitration
The DMA controller has a programmable arbitration scheme between its four channels. The channels are
grouped into two groups:
One group includes channel 0 and 1
The other group includes channels 2 and 3.
The channels in each group are programmed to have priority so that a selected channel has the higher priority or
the same priority in round robin.
The priority between the two groups is programmed in a similar way so that a selected group has a higher priority
or to have the same priority in round robin.
The priority scheme has additional flexibility with the programmable Priority Option. With the Priority Option,
the DMA bandwidth allocation is divided in a fairer way.
The DMA arbiter control register can be reprogrammed any time regardless of the channels’ status (active or not
active).
9.6
Current Descriptor Pointer Registers
Each DMA channel has a current descriptor pointer register (CDPTR) associated with it. They are located at off-
sets 0x870-0x7c.
These descriptor pointers are read/write registers, however, the CPU should not write them. When the NPTR
(Next pointer) is written by the CPU, then the CDPTR reloads itself with the same value written to NPTR.
After processing a descriptor, the DMA channel updates the current descriptor using CDPTR, saves NPTR into
CDPTR, and fetches a new descriptor. This register is used for closing the current descriptor before fetching the
next descriptor.
9.7
Design Information
The following sections contain more detailed information about the GT-96100A’s IDMA controllers. The follow-
ing definitions are used throughout this section:
Table 240: IDMA Controller Design Information Terms and Definitions
Term
Definition
Device
A device located on the memory bus mapped to one of the
GT-96100A’s Chip Selects (including BootCS).
PCI Agent
Any device located on the PCI bus.
SDRAM
SDRAM memory located on the memory bus.