[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Question about PCI ordering rules



Hello,

I understand the ordering rule matrix but have a question that doesn't seem
to be addressed.  The matrix deals with all situations when you have
transaction 1 ahead of transaction 2.  If transaction 1 gets retried, can
transaction 2 pass?  But what are the rules when a transaction which has
passed another transaction gets retried.  For example, PMW1 is queued
behind DRR1.  DRR1 runs and gets retried.  The ordering rules say that PMWs
must pass DRRs so the bridge then runs PMW1.  Then, PMW1 gets retried.  Now
what happens?  I can think of three possibilities: 1) DRR1 must go next.
2) PMW1 must continue to be tried until it gets through (i.e. nothing can
pass it) or 3) it doesn't matter if the bridge keeps trying PMW1 or allows
DRR1 to try again.  You may argue that DRR1 could not run after PMW1 was
retried because the matrix says that DRRs can't pass PMWs.  But DRR1
wouldn't really be passing PMW1 because DRR1 was originally ahead of PMW1.
Does the PCI spec. specify what should happen here?

Rich Iachetta
IBM Microelectronics Division -- Austin
World Wide Field Design Center
Phone: 512-838-6305   Tie Line: 678-6305