English
Language : 

82801CA Datasheet, PDF (96/521 Pages) Intel Corporation – I/O Controller Hub 3-S (ICH3-S)
Functional Description
All PCI DMA expansion agents must use the channel passing protocol described in Figure 5-10.
They must also work as follows:
1. If a PCI DMA expansion agent has more than one request active, it must resend the request
serial protocol after one of the requests has been granted the bus and it has completed its
transfer. The expansion device should drive its REQ# inactive for two clocks and then transmit
the serial channel passing protocol again, even if there are no new requests from the PCI
expansion agent to ICH3. For example: If a PCI expansion agent had active requests for DMA
Channel 1 and Channel 5, it would pass this information to ICH3 through the expansion
channel passing protocol. If after receiving GNT# (assume for CH5) and having the device
finish its transfer (device stops driving request to PCI expansion agent) it would then need to
re-transmit the expansion channel passing protocol to inform ICH3 that DMA channel 1 was
still requesting the bus, even if that was the only request the expansion device had pending.
2. If a PCI DMA expansion agent has a request go inactive before ICH3 asserts GNT#, it must
resend the expansion channel passing protocol to update ICH3 with this new request
information. For example: If a PCI expansion agent has DMA channel 1 and 2 requests
pending it will send them serially to ICH3 using the expansion channel passing protocol. If,
however, DMA channel 1 goes inactive into the expansion agent before the expansion agent
receives a GNT# from ICH3, the expansion agent MUST pull its REQ# line high for ONE
clock and resend the expansion channel passing information with only DMA channel 2 active.
Note that ICH3 does not do anything special to catch this case because a DREQ going inactive
before a DACK# is received is not allowed in the ISA DMA protocol and, therefore, does not
need to work properly in this protocol either. This requirement is needed to be able to support
Plug-n-Play ISA devices that toggle DREQ# lines to determine if those lines are free in the
system.
3. If a PCI expansion agent has sent its serial request information and receives a new DMA
request before receiving GNT#, the agent must resend the serial request with the new request
active. For example: If a PCI expansion agent has already passed requests for DMA channel 1
and 2 and sees DREQ 3 active before a GNT is received, the device must pull its REQ# line
high for one clock and resend the expansion channel passing information with all three
channels active.
The three cases above require the following functionality in the PCI DMA expansion device:
1. Drive REQ# inactive for one clock to signal new request information.
2. Drive REQ# inactive for two clocks to signal that a request that had been granted the bus has
gone inactive.
3. The REQ# and GNT# state machines must run independently and concurrently (i.e., a GNT#
could be received while in the middle of sending a serial REQ# or a GNT# could be active
while REQ# is inactive).
96
Intel® 82801CA ICH3-S Datasheet