Intel IXP45X Developer's Manual page 464

Network processors
Table of Contents

Advertisement

Intel
If the result is non-zero, then the host controller will issue a start-split transaction. If
the PIDCode field indicates an IN transaction, the host controller must zero-out the
QH.S-bytes field. After the split-transaction has been executed, the host controller sets
up state in the queue head to track the progress of the complete-split phase of the split
transaction. Specifically, it records the expected frame number into QH.FrameTag field
(see
"Managing QH.FrameTag Field" on page
exits this state. Note that the host controller must not adjust the value of CErr as a
result of completion of a start-split transaction.
Periodic Interrupt - Do Complete Split
This state is entered unconditionally from the Do Start Split state after a start-split
transaction is executed on the bus. Each time the host controller visits a queue head in
this state (once within the Execute Transaction state), it checks to determine
whether a complete-split transaction should be executed now.
There are four tests to determine whether a complete-split transaction should be
executed.
• Test A. cMicroFrameBit is bit-wise anded with QH.C-mask field. A non-zero result
indicates that software scheduled a complete-split for this endpoint, during this
micro-frame.
• Test B. QH.FrameTag is compared with the current contents of FRINDEX[7:3]. An
equal indicates a match.
• Test C. The complete-split progress bit vector is checked to determine whether the
previous bit is set, indicating that the previous complete-split was appropriately
executed. An example algorithm for this test is provided below:
Algorithm Boolean CheckPreviousBit(QH.C-prog-mask, QH.C-mask, cMicroFrameBit)
Begin
-- Return values:
-- TRUE - no error
-- FALSE - error
--
Boolean rvalue = TRUE;
previousBit = cMicroframeBit logical-rotate-right(1)
-- Bit-wise anding previousBit with C-mask indicates
-- whether there was an intent
-- to send a complete split in the previous micro-frame. So,
-- if the
-- 'previous bit' is set in C-mask, check C-prog-mask to
-- make sure it
-- happened.
If (previousBit bitAND QH.C-mask)then
®
®
Intel
IXP45X and Intel
IXP46X Product Line of Network Processors
Developer's Manual
464
®
®
IXP45X and Intel
IXP46X Product Line of Network Processors—USB 2.0 Host Controller
If not(previousBit bitAND QH.C-prog-mask) then
rvalue = FALSE;
467), set C-prog-mask to zero (00h), and
Order Number: 306262-004US
August 2006

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the IXP45X and is the answer not in the manual?

Subscribe to Our Youtube Channel

This manual is also suitable for:

Ixp46x

Table of Contents