1 # Firmware configuration file.
3 # Global limits (some are hardware limits, others are due to the firmware).
4 # nvi = 128 virtual interfaces
5 # niqflint = 1023 ingress queues with freelists and/or interrupts
6 # nethctrl = 64K Ethernet or ctrl egress queues
7 # neq = 64K egress queues of all kinds, including freelists
8 # nexactf = 512 MPS TCAM entries, can oversubscribe.
12 rss_glb_config_mode = basicvirtual
13 rss_glb_config_options = tnlmapen,hashtoeplitz,tnlalllkp
16 pl_timeout_value = 10000 # the timeout value in units of us
18 # SGE_THROTTLE_CONTROL
19 bar2throttlecount = 500 # bar2throttlecount in us
21 sge_timer_value = 1, 5, 10, 50, 100, 200 # SGE_TIMER_VALUE* in usecs
23 reg[0x1124] = 0x00000400/0x00000400 # SGE_CONTROL2, enable VFIFO; if
24 # SGE_VFIFO_SIZE is not set, then
25 # firmware will set it up in function
26 # of number of egress queues used
28 reg[0x1130] = 0x00d5ffeb # SGE_DBP_FETCH_THRESHOLD, fetch
29 # threshold set to queue depth
30 # minus 128-entries for FL and HP
31 # queues, and 0xfff for LP which
32 # prompts the firmware to set it up
33 # in function of egress queues
36 reg[0x113c] = 0x0002ffc0 # SGE_VFIFO_SIZE, set to 0x2ffc0 which
37 # prompts the firmware to set it up in
38 # function of number of egress queues
41 # enable TP_OUT_CONFIG.IPIDSPLITMODE
42 reg[0x7d04] = 0x00010000/0x00010000
44 # disable TP_PARA_REG3.RxFragEn
45 reg[0x7d6c] = 0x00000000/0x00007000
47 # enable TP_PARA_REG6.EnableCSnd
48 reg[0x7d78] = 0x00000400/0x00000000
50 reg[0x7dc0] = 0x0e2f8849 # TP_SHIFT_CNT
52 filterMode = fragmentation, mpshittype, protocol, vlan, port, fcoe
53 filterMask = port, protocol
56 tp_pmrx_pagesize = 16K
58 # TP number of RX channels (0 = auto)
62 tp_pmtx_pagesize = 64K
64 # TP number of TX channels (0 = auto)
68 tp_mtus = 88, 256, 512, 576, 808, 1024, 1280, 1488, 1500, 2002, 2048, 4096, 4352, 8192, 9000, 9600
71 reg[0x7d08] = 0x00000800/0x00000800 # set IssFromCplEnable
74 reg[0x7d48] = 0x00000000/0x00000400 # clear EnableFLMError
77 reg[0x7d4c] = 0x00010000/0x00010000 # set DisableNewPshFlag
80 reg[0x7d60] = 0x06000000/0x07000000 # set InitCWND to 6
83 reg[0x7d6c] = 0x28000000/0x28000000 # set EnableTnlCngHdr
84 # set RxMacCheck (Note:
85 # Only for hash filter,
88 # TP_PIO_ADDR:TP_RX_LPBK
89 reg[tp_pio:0x28] = 0x00208208/0x00ffffff # set commit limits to 8
92 mc_mode_brc[0] = 0 # mc0 - 1: enable BRC, 0: enable RBC
93 mc_mode_brc[1] = 0 # mc1 - 1: enable BRC, 0: enable RBC
96 reg[0x8dc0] = 0x00000004/0x00000004 # Enable more error msg for ...
99 # PFs 0-3. These get 8 MSI/8 MSI-X vectors each. VFs are supported by
153 # PF4 is the resource-rich PF that the bus/nexus driver attaches to.
154 # It gets 32 MSI/128 MSI-X vectors.
168 # driver will mask off features it won't use
169 protocol = nic_hashfilter
173 # TCAM has 8K cells; each region must start at a multiple of 128 cell.
174 # Each entry in these categories takes 4 cells each. nhash will use the
175 # TCAM iff there is room left (that is, the rest don't add up to 2048).
182 # PF5 is the SCSI Controller PF. It gets 32 MSI/40 MSI-X vectors.
183 # Not used right now.
188 # PF6 is the FCoE Controller PF. It gets 32 MSI/40 MSI-X vectors.
189 # Not used right now.
194 # The following function, 1023, is not an actual PCIE function but is used to
195 # configure and reserve firmware internal resources that come from the global
207 # For Virtual functions, we only allow NIC functionality and we only allow
208 # access to one port (1 << PF). Note that because of limitations in the
209 # Scatter Gather Engine (SGE) hardware which checks writes to VF KDOORBELL
210 # and GTS registers, the number of Ingress and Egress Queues must be a power
261 # MPS has 192K buffer space for ingress packets from the wire as well as
262 # loopback path of the L2 switch.