MSI-X Plumbing
BCM5718 Programmer’s Guide
Broadcom
®
January 29, 2016 • 5718-PG108-R
Page 255
updates occur for receive packets only via the Send Coalescing Ticks mechanism. Status block updates for
other reasons (e.g., receive events) also include any updates to the send indices. For simplicity, if a host wants
to get a status block update for every transmitted packet, the host driver could set this register to a value of 1.
However, by setting the value in this register to a high number, a software device driver can reduce the number
of status block updates and interrupts that occur due to transmitting packets. This can increase performance in
hosts that are under a high degree of stress and whose RISCs are saturated due to handling a large number of
interrupts from the network controller. However, in lower traffic environments, there is no guarantee that
consecutive packets will be transmitted in a timely manner. Therefore, for those environments, it is
recommended that the Send Coalescing Ticks register is used to ensure that status block updates due to
transmitting packets are not delayed for an infinite amount of time.
Receive Max Coalesced BD Count During Interrupt Register (Offset 0x3c18)
This register has the same attribute as 0x3C10 except that this parameter is active only during the During
Interrupt state, which is the state during which the ISR has acknowledged an interrupt by writing a nonzero value
to the MailBox register and thus the interrupt is in a masked state. If this parameter triggers (while in During
Interrupt state), the controller will DMA the latest Status Block to the host memory, but the interrupt will remain
deasserted.
Send Max Coalesced BD Count During Interrupt Register (Offset 0x3c1c)
This register has the same attribute as 0x3C14 except that this parameter is active only during the During
Interrupt state, which is the state during which the ISR has acknowledged an interrupt by writing a nonzero value
to the MailBox register and thus the interrupt is in a masked state. If this parameter triggers (while in During
Interrupt state), the controller DMAs the latest Status Block to the host memory, but the interrupt remains
deasserted.
BCM5718 Family Host Coalescing Parameter Sets
The legacy HC Parameter registers do not offer granularity in terms of individual Rx Return queues or individual
Tx queues. Instead, in the legacy implementation, all Transmit/Return Rings are grouped together for metering.
The BCM5718 family offers HC parameters or control on a per-Rx-and-Tx-queue basis when and only when
MSI-X Multivector mode is chosen. To that end, 16 more sets of Host Coalescing Parameter registers are added.
Each such HC Parameter Set comprises of the following registers:
• Receive [n] Coalescing Ticks Register
• Send [n] Coalescing Ticks Register
• Receive [n] Max Coalesced BD Count Register
• Send [n] Max Coalesced BD Count Register
• Receive [n] Max Coalesced BD Count During Interrupt Register
• Send [n] Max Coalesced BD Count During Interrupt Register
Where, n ranges from 1 through 16. The legacy HC Parameter registers are now called HC Parameter Set [0].