Host Coalescing Control Registers
BCM5718 Programmer’s Guide
Broadcom
®
January 29, 2016 • 5718-PG108-R
Page 414
Host Coalescing Status Register (offset: 0x3C04)
Receive Coalescing Ticks Register (offset: 0x3C08)
The value in this register can be used to control how often the status block is updated (and how often interrupts
are generated) due to receiving packets. The value in this register controls how many ticks, in units of 1 µs each,
get loaded in an internal receive tick timer register. The timer will be reset to the value of this register and will
start counting down after every status block update (regardless of the reason for the status block update). The
timer is only reset after status block updates, and is not reset after any given packet is received. When the timer
reaches 0, it will be considered to be in the expired state. Once the counter is in the expired state, a status block
update will occur if a packet had been received and copied to host memory (via DMA) since the last status block
update.
This register must be initialized by host software. A value of 0 in this register disables the receive tick coalescing
logic. In this case, status block updates will occur for receive event only if the Receive Max Coalesced BD value
is reached. Of course, status block updates for other reasons (e.g., transmit events) will also include any
updates to the receive indices. 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 receiving packets. This will
generally 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. For host environments where receive
interrupt latency needs to be very low, and the host is not close to be saturated, it is recommended that this
register be set to 1.
IOV is enabled:
Receive Coalescing Ticks Register for VRQ 0 => 0x3C08
Receive Coalescing Ticks Register for VRQ 1 => 0x3D80
Receive Coalescing Ticks Register for VRQ 2 => 0x3D98
Receive Coalescing Ticks Register for VRQ 3 => 0x3DB0
Receive Coalescing Ticks Register for VRQ 4 => 0x3DC8
Receive Coalescing Ticks Register for VRQ 5 => 0x3DE0
Receive Coalescing Ticks Register for VRQ 6 => 0x3DF8
Receive Coalescing Ticks Register for VRQ 7 => 0x3E10
Receive Coalescing Ticks Register for VRQ 8 => 0x3E28
Receive Coalescing Ticks Register for VRQ 9 => 0x3E40
Name
Bits
Access
Default
Value
Description
Reserved
31:3
RO
0
–
Error
2
RO
–
Host Coalescing Error Status
Reserved
1:0
RO
0
–