Isr Flow - Broadcom NetXtreme/NetLink BCM5718 Series Programmer's Manual

Table of Contents

Advertisement

BCM5718 Programmer's Guide
Offset
3116
0x08
Receive Standard Producer Ring Consumer
Index
0x0C
Receive Return Ring 2 Producer Index
0x10
Send BD Consumer Index
0x14
Reserved 0x0
Legacy Status Word Format:
Bit [0]: Update-Bit
Bit [1]: Link Status Change
Bit [2]: Error/Attention
Bit [3]: Resvd–always 0
Bit [4]: Resvd–always 0
Bit [5]: Resvd–always 0
Bits [31:6]: Reserved 0x0

ISR Flow

The basic flow of an ISR is as follows:
1. Acknowledge interrupt. Write a nonzero value (i.e., value = 1) to interrupt mailbox 0 (see Interrupt Mailbox
0 Register 0x200) for host standard and flat modes, and other Interrupt Mailbox Registers 0x5800-0x40 for
indirect mode, to indicate to the controller that the driver is currently processing the interrupt. This step
temporarily disables further device interrupts.
2. Read and save the value of the status tag field of the status block.
3. Claim the interrupt. Determine if action is required. Read the updated bit of the status word. If the update bit
is asserted then the controller has updated the status block.
4. Clear the update bit of the status word in the status block. This indicates that the host driver either has or
will touch the status block. If a during interrupt event occurs, the host driver can examine the update bit later
to determine if a fresh status block has been moved to host memory space since.
5. Check for Rx traffic indications:
a. Loop through enabled Rx Return Rings (0 to 3).
b. Check for differences between Rx return ring producer indices (status block) and Rx return ring consumer
indices (value written to mailbox on previous call) as this indicates the number of Rx frames to process
from the Rx return ring.
c. Process the Rx packets.
d. Update the Rx return ring consumer indices in each mailbox.
6. Check for Tx completions:
a. Check for differences between previous consumer index (tracked by host driver) and current consumer
index in the status block. These are the Tx BDs which can be made available again to the next send
operation.
Broadcom
®
January 29, 2016 • 5718-PG108-R
Table 88: NetXtreme Legacy Status Block Format (Cont.)
NetXtreme Legacy Interrupt Model
150
Receive Return Ring 1 Producer Index
Receive Return Ring 3 Producer Index
Receive Return Ring 0 Producer Index
Receive Jumbo Producer Ring Consumer Index
Page 230

Hide quick links:

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the NetXtreme/NetLink BCM5718 Series and is the answer not in the manual?

Questions and answers

This manual is also suitable for:

Netxtreme/netlink bcm5717Netxtreme/netlink bcm5718Netxtreme/netlink bcm5719Netxtreme/netlink bcm5720

Table of Contents