CS4281 Programming Manual
DS308PRM1
129
Confidential Draft
3/7/00
The Temporary register at location 0Dh is not
supported. This read-only register contains data
used in memory-to-memory transfers. The
CS4281 and SB games don’t support memory-to-
memory transfers.
13.5
Interface to PC/PCI
Configurations using Intel’s PC/PCI mechanism
for handling Sound Blaster DMA do not configure
one of the DMA engines to emulate the 8237. The
Legacy DMAn controller, when configured for
PC/PCI, will redirect DMA REQ# and GNT# to
the PC/PCI engine. When the PCI bus agent
implementing PC/PCI functionality (typically the
south bridge) needs to access the CS4281 for the
purpose of writing data previously read from
system memory or for the purpose of reading data
that will be written to system memory, it does so
by generating I/O read and write transactions
targeted to addresses 0x00 and 0x04. Address
0x00 is used for “normal” I/O accesses, while
address 0x04 is used when the agent implementing
PC/PCI generates the last I/O read or write
transaction associated with a DMA transfer (use of
address 0x04 is the “terminal count” signal for the
overall DMA transfer). The I/O Trap logic
redirects IOTPCP read accesses to the Legacy
DMAn controller and write accesses to the Legacy
DMAn controller. Data will only be transferred
one byte (one channel) at a time.
See the PC/PCI section for functional details.
Dma Base+
Access
Name
1
Host Reg.
Comment
08h
(write)
Command
no trap
CS4281 currently doesn’t support
08h
3
Status
DLSR
Request Pending and TC status
09h
(write)
Request
no trap
CS4281 currently doesn’t support
09h
(read)
no trap
not used
0Ah
write snoop
2
Single Mask
complicated
DCRn.MSK
If PCI.data bits [1:0] = n, PCI.bit[2]
redirected to DCRn.bit[0] which is the MSK
bit.
0Ah
(read)
no trap
not used
0Bh
write snoop
2
Mode
DMRn.bits[7:0]
If PCI.data bits [1:0] = n, PCI.bits[7:0] are
sent to DMRn.bits[7:0]
0Bh
(read)
no trap
not used
0Ch
write snoop
Clear byte pointer f/f
IOTCC.BPFF = 0
Byte pointer used on accesses to 00h-07h
0Ch
(read)
no trap
not used
0Dh
(write)
Master Clear
no trap
CS4281 currently doesn’t support
0Dh
(read)
Temporary Register
no trap
CS4281 currently doesn’t support
0Eh
write snoop
Clear all Masks
DCRn.MSK = 0
0Eh
(read)
no trap
not used
0Fh
write snoop
Multi-Engine Mask Register
complicated
DCRn.MSK
The legacy DMAn engine MSK bit is
mapped to DCRn.MSK (bit 0)
0Fh
read
3
Multi-Engine Mask Register
DLMR
Reads DCRn.MSK bit in D0
1. In Host Reg., “n” is selected by
IOTCR.DMA[1:0]
2. Lower two data bits determine DMA engine. If they match ‘n’, store a copy of the data and execute
3. These reads are for all 4 legacy engines. Requires trapping cycle, doing retry, mastering to real Legacy DMA controller,
getting data, combining data with internal register data, and sending back to host to complete re-tried cycle. Their is a bit
to disable this feature.
Table 9. CCLS Shared Register I/O Map
D
ra
ft
Содержание CS4281
Страница 8: ...Confidential Draft 3 7 00 CS4281 Programming Manual 8 DS308PRM1 D r a f t...
Страница 12: ...Confidential Draft 3 7 00 CS4281 Programming Manual 12 DS308PRM1 D r a f t...
Страница 24: ...Confidential Draft 3 7 00 CS4281 Programming Manual 24 DS308PRM1 D r a f t...
Страница 34: ...Confidential Draft 3 7 00 CS4281 Programming Manual 34 DS308PRM1 D r a f t...
Страница 44: ...Confidential Draft 3 7 00 CS4281 Programming Manual 44 DS308PRM1 D r a f t...
Страница 114: ...Confidential Draft 3 7 00 CS4281 Programming Manual 114 DS308PRM1 D r a f t...
Страница 192: ...Confidential Draft 3 7 00 CS4281 Programming Manual 192 DS308PRM1 D r a f t...