[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: Accepting Split Completions question
John,
Seems that the case you asking about fits
the required definition in the first sentence.
I think the intent here was:
1. You must do DEVSEL# in X cases.
2. You may additionally also do DEVSEL# in Y cases.
You are right is showing that the statement "may optionally"
is slightly unclear here. I think the intent was to OR the
two sentences, not exclusive OR them, in which case the clause
you ask about is ambiguous. The OR of "required" and "optional" would
be "required". The later sentence describes actions that if
not done (no DEVSEL#) will eventually clear by the responder
generating an error. So the 2nd sentence is really aimed at
speeding up the resolution of such errors.
-David O'Shea.
-----Original Message-----
From: Jim Lindeman [mailto:jlindeman@jni.com]
Sent: Tuesday, May 30, 2000 12:52 PM
To: pci-sig@znyx.com
Subject: Accepting Split Completions question
Hi,
A PCI-X spec question.
The following seems to be contradictory:
2.10.5. Requirements for Accepting Split Completions
"... The requester is required to assert DEVSEL# on all Split Completions in
which the Sequence ID (Requester ID and Tag) corresponds to a Split Request
issued by
that device. A device may optionally assert DEVSEL# and discard the data if
the
Requester ID matches that of the device, but the Tag does not match that of
any
outstanding requests from this device, or if the byte count exceeds that of
the Split
Request."
In the case where the Sequence ID (both Requester ID and Tag) corresponds to
a Split Request
but the byte count exceeds that of the Split Request, the first sentence
requires the requester to assert
DEVSEL# but the second sentence implies that the assertion of DEVSEL# is
optional.
A clarification would be appreciated.
Thanks,
Jim Lindeman