
2-18
Computer Group Literature Center Web Site
Raven PCI Host Bridge & Multi-Processor Interrupt Controller
2
PCI/PPC Contention Handling
The Raven has a stall detection mechanism that detects when there is a
possible resource contention problem (that is, deadlock) as a result of
overlapping PPC and PCI initiated transactions. The PPC Slave and the
PCI Slave functions contain the logic needed to implement this feature.
The PCI Slave function contributes to the stall detection mechanism by
issuing a stall signal to the PPC Slave function whenever it is currently
processing a transaction that must have control of the PPC bus before the
transaction can be completed. The events that activate this signal are:
❏
PCI read cycle
❏
PCI non-posted write cycle
❏
PCI posted write cycle with flush-before-read (FLBRD) enabled
❏
PCI posted write cycle and internal FIFO full
The PPC Slave function determines its future actions based on the stall
signal and the current PPC bus activity. If the PPC Slave function
determines there will be contention between a cycle completing on the
PPC bus and an incoming PCI cycle, the PPC Slave will issue a retry for
the current PPC transaction. This retry will free up the PPC bus and allow
the PCI initiated transaction to complete. An idle PPC bus obviously gives
immediate access to the pending PCI initiated transaction.
If the PPC bus is currently supporting a read cycle of any type, the cycle
will be terminated with a retry.
Note
If the read cycle is across a mod-4 address boundary (that is, from
address 0x...02, 3 bytes), it is possible that a portion of the read
could have been completed before the stall condition was
detected. The previously read data will be discarded and the
current transaction will be retried.
If the PPC bus is currently supporting a posted write transaction, the
transaction will be allowed to complete since this type of transaction is
guaranteed completion. If the PPC bus is currently supporting a non-