Data Sheet

Ethernet Controller I210 —Inline Functions
316
7.2.7.5 Transmission Selection
Transmission selection is the process of selecting the next packet to transmit, in the I210 Qav modes
transmission selection includes three levels of arbitration - descriptor fetch, data fetch and data
transmission.
Descriptor fetch - the transmit descriptor fetch mechanism while in Qav modes is the same as in legacy
mode, the complete description of descriptor fetch is described in Section 7.2.2.5.
Data fetch - the data fetch mechanism while in Qav modes are based on two elements time based and
queue arbitration based on round robin or most empty goes first controlled
byTQAVCTRL.DataFetchARB. A queue is eligible for arbitrations only if it has descriptors pointing to at
least a single packet in host memory. For SR queues with the time based element enabled a queue is
only eligible for arbitration if the fetch time of the up coming packet has been reached. See
Section 7.2.7.5.3 for more details on how to determine if the fetch time has been reached.
When configured to most empty the queue that wins the arbitration is the queue that is targeted to the
most empty packet buffer, for the cases where some packet buffers have the same amount of data
(startup for example) arbitration between these queues are done according to the queue priority
(higher priority goes first).
Data transmission - transmission arbitration flow is described as follows and illustrated in Figure 7-12,
“Data Transmission Arbitration Operation for TransmitMode = Qav” on page 318.
In non Qav mode (TQAVCTRL.TransmitMode = 0b) Arbitration starts from the highest priority queue
(index 0) and up to the lowest priority queue (index 3).
In Qav mode (TQAVCTRL.TransmitMode = 1b) Arbitration starts from the highest priority queue
(index 0) and up to the lowest priority queue (index 3) with the following additions:
Strict reservation queues (indicated as SR queues or Qav queues) are subjected to credit based
shaper criteria (if enabled by the TQAVCTRL.DataTranARB parameter). See credit calculation in
Section 7.2.7.5.2.
Transmission time base criteria (if enabled by the TQAVCTRL.DataTranTIM parameter). See
launch time calculation in Section 7.2.7.5.3.
Any arbitration step is made for a single packet from the selected queue:
If a packet is transmitted, hardware then looks for the next packet to be transmitted from the
highest priority queue (index 0).
If a packet was not transmitted, hardware then looks for the next packet to be transmitted from
the next queue inline.
Note: When in Qav mode, queue0 must be configured as an SR queue, queue1 can be configured as
an SR queue or priority queue and queue2, queue3 is configured by default as a priority
queue with no ability to be configured as SR queues.
Note: the launch time of a packet is specified in the context descriptor. Every SR packet should be
defined using a single context descriptor provided before the packet advanced data
descriptors (legacy descriptors are not supported in Qav mode).
7.2.7.5.1 Data Transmission Arbitration Algorithm
Definition and description of parameters
Priority (QN - Queue number), the I210 in Qav mode implements up to 4 priorities defined by the actual
queue used, see Section 7.2.7.4 for the way priorities are mapped to queues