AMD
A M E N D M E N T
15
Am79C974
DMA Registers
The following is a summary of the DMA register set or
the DMA Channel Context Block (DMA CCB). These
registers control the specifics for DMA operations such
as transfer length and scatter-gather options. The three
read-only working counter registers allow the system
software and driver to monitor the DMA transaction.
Each register address is represented by the PCI Con-
figuration Base Address (B) and its corresponding offset
value. The Base address for the Am79C974 is stored at
register address (10h) in the PCI configuration space.
Table 6. The DMA Registers
Register Acronym
Addr (Hex)
Register Description
Command
(bits 31:8 reserved, bits 7:0 used)
Starting Transfer Count
(bits 31:24 reserved, bits 23:0 used)
Starting Physical Address
(bits 31:0 used)
Working Byte Counter
Working Address Counter
(bits 31:0 used)
Status Register
(bits 31:8 reserved, bits 7:0 used)
Starting Memory Descriptor List (MDL) Address
Working MDL Counter
Type
CMD
(B)+40
R/W
STC
(B)+44
R/W
SPA
WBC
(B)+48
(B)+4C
R/W
R
WAC
(B)+50
R
STATUS
SMDLA
WMAC
(B)+54
(B)+58
(B)+5C
R
R/W
R
Command Register (CMD)
The upper 3 bytes of Command register are reserved,
the remaining (LSB) byte is defined as follows:
Address (B)+40h, LSB
7
6
READ/WRITE
1
DIR
INTE_D
INTE_P
MDL
Reserved Reserved
CMD1
CMD0
5
4
3
2
0
DIR:
Data transfer direction bit.
INTE_D:
DMA transfer active interrupt bit.
INTE_P:
Page transfer active interrupt bit.
MDL:
Memory Descriptor List (MDL) SPA enable bit.
RESERVED:
Reserved for future expansion. The zero value must be
written in these bits.
CMD1-0:
These two bits are encoded to represent four com-
mands: IDLE, BLAST, START, and ABORT.
CMD1
0
CMD0
0
Command
IDLE
Description
Resets the DMA block to the IDLE state. Stops any current transfer. Does not
affect status bits or cause an interrupt.
Empties all data bytes in DMA FIFO to memory during a DMA
write operation. Upon completion, the ‘BCMPLT’ bit will be set
in the DMA Status register. This command should not be used
during a DMA read operation.
Terminates the current DMA transfer. The DMA engine
should be restored to the ‘IDLE’ state following execution of
this command.
Note
: This is only valid after a ‘START’ command is issued.
Initiates a new DMA transfer. These bits must remain set
throughout the DMA operation until the ‘DONE’ bit in the DMA
Status Register is set.
Note:
This command should be issued only after all other
control bits have been initialized.
0
1
BLAST
1
0
ABORT
1
1
START