Symbol: ixgbe
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
123
ixgbe_alloc_dma(ixgbe_t *ixgbe)
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
130
for (i = 0; i < ixgbe->num_rx_rings; i++) {
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
134
rx_ring = &ixgbe->rx_rings[i];
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
144
for (i = 0; i < ixgbe->num_tx_rings; i++) {
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
148
tx_ring = &ixgbe->tx_rings[i];
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
160
ixgbe_free_dma(ixgbe);
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
169
ixgbe_free_dma(ixgbe_t *ixgbe)
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
179
for (i = 0; i < ixgbe->num_rx_rings; i++) {
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
180
rx_ring = &ixgbe->rx_rings[i];
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
190
for (i = 0; i < ixgbe->num_tx_rings; i++) {
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
191
tx_ring = &ixgbe->tx_rings[i];
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
201
ixgbe_t *ixgbe = rx_ring->ixgbe;
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
210
ixgbe_error(ixgbe, "Allocate software receive rings failed");
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
216
MUTEX_DRIVER, DDI_INTR_PRI(ixgbe->intr_pri));
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
218
rx_data->ring_size = ixgbe->rx_ring_size;
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
219
rx_data->free_list_size = ixgbe->rx_ring_size;
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
232
ixgbe_error(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
244
ixgbe_error(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
259
ixgbe_error(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
317
ixgbe_t *ixgbe = tx_ring->ixgbe;
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
319
devinfo = ixgbe->dip;
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
326
if (ixgbe->tx_head_wb_enable) {
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
339
ixgbe_error(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
357
ixgbe_error(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
384
ixgbe_error(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
446
ixgbe_t *ixgbe = rx_data->rx_ring->ixgbe;
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
448
devinfo = ixgbe->dip;
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
460
ixgbe_error(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
477
ixgbe_error(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
503
ixgbe_error(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
557
ixgbe_alloc_dma_buffer(ixgbe_t *ixgbe, dma_buffer_t *buf, size_t size)
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
560
dev_info_t *devinfo = ixgbe->dip;
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
571
ixgbe_error(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
588
ixgbe_error(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
609
ixgbe_error(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
662
ixgbe_t *ixgbe = tx_ring->ixgbe;
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
663
dev_info_t *devinfo = ixgbe->dip;
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
672
ixgbe_error(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
688
ixgbe_error(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
709
ixgbe_error(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
734
ixgbe_error(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
745
ret = ixgbe_alloc_dma_buffer(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
746
tx_buf, ixgbe->tx_buf_size);
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
752
ixgbe_error(ixgbe, "Allocate tx dma buffer failed");
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
828
ixgbe_t *ixgbe = rx_data->rx_ring->ixgbe;
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
851
ret = ixgbe_alloc_dma_buffer(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
852
rx_buf, ixgbe->rx_buf_size);
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
855
ixgbe_error(ixgbe, "Allocate rx dma buffer failed");
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
890
ixgbe_t *ixgbe;
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
896
ixgbe = rx_data->rx_ring->ixgbe;
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
898
mutex_enter(&ixgbe->rx_pending_lock);
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
915
atomic_inc_32(&ixgbe->rcb_pending);
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
919
mutex_exit(&ixgbe->rx_pending_lock);
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
104
ixgbe_log(ixgbe, "rssrk(%d): 0x%x\n",
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
109
ixgbe_log(ixgbe, "-- ral/rah --\n");
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
112
ixgbe_log(ixgbe, "ral(%d): 0x%x rah(%d): 0x%x\n",
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
118
ixgbe_log(ixgbe, "-- mta --\n");
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
121
ixgbe_log(ixgbe, "mta(%d): 0x%x\n", i, reg);
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
128
ixgbe_log(ixgbe, "-- vfta --\n");
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
131
ixgbe_log(ixgbe, "vfta(0x%x): 0x%x\n", off, reg);
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
138
ixgbe_log(ixgbe, "-- mdef --\n");
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
141
ixgbe_log(ixgbe, "mdef(%d): 0x%x\n", i, reg);
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
152
ixgbe_t *ixgbe = (ixgbe_t *)adapter;
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
159
ixgbe_log(ixgbe, "%s %s\n", tag, form);
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
165
ixgbe_t *ixgbe = (ixgbe_t *)arg;
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
182
handle = ixgbe->osdep.cfg_handle;
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
184
ixgbe_log(ixgbe, "Begin dump PCI config space");
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
186
ixgbe_log(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
189
ixgbe_log(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
192
ixgbe_log(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
195
ixgbe_log(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
198
ixgbe_log(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
201
ixgbe_log(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
204
ixgbe_log(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
207
ixgbe_log(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
210
ixgbe_log(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
213
ixgbe_log(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
216
ixgbe_log(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
219
ixgbe_log(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
222
ixgbe_log(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
225
ixgbe_log(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
228
ixgbe_log(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
234
ixgbe_log(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
237
ixgbe_log(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
240
ixgbe_log(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
243
ixgbe_log(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
246
ixgbe_log(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
249
ixgbe_log(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
252
ixgbe_log(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
258
ixgbe_log(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
260
ixgbe_log(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
263
ixgbe_log(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
266
ixgbe_log(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
269
ixgbe_log(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
276
ixgbe_log(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
282
ixgbe_log(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
284
ixgbe_log(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
287
ixgbe_log(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
290
ixgbe_log(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
293
ixgbe_log(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
300
ixgbe_log(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
306
ixgbe_log(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
308
ixgbe_log(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
311
ixgbe_log(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
314
ixgbe_log(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
317
ixgbe_log(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
324
ixgbe_log(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
329
ixgbe_log(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
334
ixgbe_log(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
340
ixgbe_log(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
342
ixgbe_log(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
348
ixgbe_log(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
350
ixgbe_log(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
356
ixgbe_log(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
362
ixgbe_log(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
364
ixgbe_log(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
367
ixgbe_log(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
370
ixgbe_log(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
373
ixgbe_log(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
376
ixgbe_log(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
379
ixgbe_log(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
382
ixgbe_log(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
387
if (ddi_dev_regsize(ixgbe->dip, 4, &mem_size) != DDI_SUCCESS) {
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
388
ixgbe_log(ixgbe, "ddi_dev_regsize() failed");
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
392
if ((ddi_regs_map_setup(ixgbe->dip, 4, (caddr_t *)&base, 0, mem_size,
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
394
ixgbe_log(ixgbe, "ddi_regs_map_setup() failed");
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
398
ixgbe_log(ixgbe, "MSI-X Memory Space: (mem_size = %d, base = %x)",
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
40
ixgbe_t *ixgbe = (ixgbe_t *)adapter;
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
402
ixgbe_log(ixgbe, "MSI-X Table Entry(%d):", i);
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
403
ixgbe_log(ixgbe, "lo_addr:\t%x",
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
406
ixgbe_log(ixgbe, "up_addr:\t%x",
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
409
ixgbe_log(ixgbe, "msg_data:\t%x",
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
41
struct ixgbe_hw *hw = &ixgbe->hw;
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
412
ixgbe_log(ixgbe, "vct_ctrl:\t%x",
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
417
ixgbe_log(ixgbe, "MSI-X Pending Bits:\t%x",
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
429
ixgbe_t *ixgbe = (ixgbe_t *)adapter;
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
431
struct ixgbe_hw *hw = &ixgbe->hw;
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
436
ixgbe_log(ixgbe, "Basic IXGBE registers..");
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
438
ixgbe_log(ixgbe, "\tCTRL=%x\n", reg_val);
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
440
ixgbe_log(ixgbe, "\tSTATUS=%x\n", reg_val);
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
442
ixgbe_log(ixgbe, "\tCTRL_EXT=%x\n", reg_val);
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
444
ixgbe_log(ixgbe, "\tFCTRL=%x\n", reg_val);
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
447
ixgbe_log(ixgbe, "Some IXGBE interrupt registers..");
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
450
ixgbe_log(ixgbe, "\tGPIE=%x\n", reg_val);
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
453
ixgbe_log(ixgbe, "\tIVAR(0)=%x\n", reg_val);
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
456
ixgbe_log(ixgbe, "\tIVAR_MISC=%x\n", reg_val);
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
459
ixgbe_log(ixgbe, "Receive registers...");
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
461
ixgbe_log(ixgbe, "\tRXCTRL=%x\n", reg_val);
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
462
for (i = 0; i < ixgbe->num_rx_rings; i++) {
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
463
hw_index = ixgbe->rx_rings[i].hw_index;
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
465
ixgbe_log(ixgbe, "\tRXDCTL(%d)=%x\n", hw_index, reg_val);
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
467
ixgbe_log(ixgbe, "\tSRRCTL(%d)=%x\n", hw_index, reg_val);
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
470
ixgbe_log(ixgbe, "\tRXCSUM=%x\n", reg_val);
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
472
ixgbe_log(ixgbe, "\tMRQC=%x\n", reg_val);
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
474
ixgbe_log(ixgbe, "\tRDRXCTL=%x\n", reg_val);
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
477
ixgbe_log(ixgbe, "Some transmit registers..");
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
479
ixgbe_log(ixgbe, "\tDMATXCTL=%x\n", reg_val);
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
480
for (i = 0; i < ixgbe->num_tx_rings; i++) {
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
482
ixgbe_log(ixgbe, "\tTXDCTL(%d)=%x\n", i, reg_val);
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
484
ixgbe_log(ixgbe, "\tTDWBAL(%d)=%x\n", i, reg_val);
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
486
ixgbe_log(ixgbe, "\tTDWBAH(%d)=%x\n", i, reg_val);
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
488
ixgbe_log(ixgbe, "\tTXPBSIZE(%d)=%x\n", i, reg_val);
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
49
ixgbe_log(ixgbe, "interrupt: %s\n", tag);
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
50
ixgbe_log(ixgbe, "..eims: 0x%x\n", IXGBE_READ_REG(hw, IXGBE_EIMS));
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
51
ixgbe_log(ixgbe, "..eimc: 0x%x\n", IXGBE_READ_REG(hw, IXGBE_EIMC));
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
52
ixgbe_log(ixgbe, "..eiac: 0x%x\n", IXGBE_READ_REG(hw, IXGBE_EIAC));
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
53
ixgbe_log(ixgbe, "..eiam: 0x%x\n", IXGBE_READ_REG(hw, IXGBE_EIAM));
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
54
ixgbe_log(ixgbe, "..gpie: 0x%x\n", IXGBE_READ_REG(hw, IXGBE_GPIE));
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
55
ixgbe_log(ixgbe, "otherflag: 0x%x\n", ixgbe->capab->other_intr);
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
56
ixgbe_log(ixgbe, "eims_mask: 0x%x\n", ixgbe->eims);
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
61
ixgbe_log(ixgbe, "ivar[%d]: 0x%x\n", i, ivar);
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
66
for (i = 0; i < ixgbe->intr_cnt; i++) {
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
67
vect = &ixgbe->vect_map[i];
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
68
ixgbe_log(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
74
j = bt_getlowbit(vect->rx_map, 0, (ixgbe->num_rx_rings - 1));
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
76
hw_index = ixgbe->rx_rings[j].hw_index;
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
77
ixgbe_log(ixgbe, "rx %d ivar %d rxdctl: 0x%x srrctl: 0x%x\n",
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
82
(ixgbe->num_rx_rings - 1));
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
86
j = bt_getlowbit(vect->tx_map, 0, (ixgbe->num_tx_rings - 1));
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
88
ixgbe_log(ixgbe, "tx %d ivar %d txdctl: 0x%x\n",
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
92
(ixgbe->num_tx_rings - 1));
usr/src/uts/common/io/ixgbe/ixgbe_debug.c
98
ixgbe_log(ixgbe, "reta(%d): 0x%x\n",
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
1007
ixgbe->intr_throttling[0] =
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
1008
ixgbe->intr_throttling[0] & 0xFF8;
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
1012
ixgbe->intr_throttling[i] =
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
1013
ixgbe->intr_throttling[0];
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
1016
for (i = 0; i < ixgbe->intr_cnt; i++)
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
1018
ixgbe->intr_throttling[i]);
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
1026
ixgbe_get_priv_prop(ixgbe_t *ixgbe, const char *pr_name,
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
103
ixgbe_t *ixgbe = (ixgbe_t *)arg;
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
1033
value = ixgbe->param_adv_pause_cap;
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
1038
value = ixgbe->param_adv_asym_pause_cap;
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
1043
value = ixgbe->tx_copy_thresh;
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
1048
value = ixgbe->tx_recycle_thresh;
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
105
struct ixgbe_hw *hw = &ixgbe->hw;
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
1053
value = ixgbe->tx_overload_thresh;
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
1058
value = ixgbe->tx_resched_thresh;
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
1063
value = ixgbe->rx_copy_thresh;
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
1068
value = ixgbe->rx_limit_per_intr;
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
107
mutex_enter(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
1073
value = ixgbe->intr_throttling[0];
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
109
if (ixgbe->ixgbe_state & IXGBE_SUSPENDED) {
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
110
mutex_exit(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
120
IXGBE_WRITE_REG(&ixgbe->hw, IXGBE_FCTRL, reg_val);
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
122
mutex_exit(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
134
ixgbe_t *ixgbe = (ixgbe_t *)arg;
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
137
mutex_enter(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
139
if (ixgbe->ixgbe_state & IXGBE_SUSPENDED) {
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
140
mutex_exit(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
144
result = (add) ? ixgbe_multicst_add(ixgbe, mcst_addr)
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
145
: ixgbe_multicst_remove(ixgbe, mcst_addr);
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
147
mutex_exit(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
159
ixgbe_t *ixgbe = (ixgbe_t *)arg;
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
166
mutex_enter(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
167
if (ixgbe->ixgbe_state & IXGBE_SUSPENDED) {
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
168
mutex_exit(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
172
mutex_exit(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
179
status = ixgbe_loopback_ioctl(ixgbe, iocp, mp);
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
227
ixgbe_t *ixgbe = arg;
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
228
struct ixgbe_hw *hw = &ixgbe->hw;
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
229
uint32_t lidx = ixgbe->ixgbe_led_index;
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
240
if (ixgbe->ixgbe_led_blink && mode != MAC_LED_IDENT) {
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
244
ixgbe->ixgbe_led_blink = B_FALSE;
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
247
if (mode != MAC_LED_DEFAULT && !ixgbe->ixgbe_led_active) {
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
248
ixgbe->ixgbe_led_reg = IXGBE_READ_REG(hw, IXGBE_LEDCTL);
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
249
ixgbe->ixgbe_led_active = B_TRUE;
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
254
if (ixgbe->ixgbe_led_active) {
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
255
IXGBE_WRITE_REG(hw, IXGBE_LEDCTL, ixgbe->ixgbe_led_reg);
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
256
ixgbe->ixgbe_led_active = B_FALSE;
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
262
ixgbe->ixgbe_led_blink = B_TRUE;
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
282
ixgbe_t *ixgbe = arg;
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
283
struct ixgbe_hw *hw = &ixgbe->hw;
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
308
ixgbe_t *ixgbe = (ixgbe_t *)arg;
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
320
if (!ixgbe->tx_hcksum_enable)
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
329
if (ixgbe->lso_enable) {
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
345
cap_rings->mr_rnum = ixgbe->num_rx_rings;
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
346
cap_rings->mr_gnum = ixgbe->num_rx_groups;
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
354
cap_rings->mr_rnum = ixgbe->num_tx_rings;
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
382
if (ixgbe->hw.mac.type != ixgbe_mac_E610) {
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
403
ixgbe_t *ixgbe = (ixgbe_t *)arg;
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
404
struct ixgbe_hw *hw = &ixgbe->hw;
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
412
mutex_enter(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
413
if (ixgbe->ixgbe_state & IXGBE_SUSPENDED) {
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
414
mutex_exit(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
426
speeds = ixgbe->speeds_supported;
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
428
if (ixgbe->loopback_mode != IXGBE_LB_NONE &&
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
43
ixgbe_t *ixgbe = (ixgbe_t *)arg;
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
434
mutex_exit(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
446
ixgbe->param_en_10000fdx_cap = *(uint8_t *)pr_val;
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
45
mutex_enter(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
455
ixgbe->param_en_5000fdx_cap = *(uint8_t *)pr_val;
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
464
ixgbe->param_en_2500fdx_cap = *(uint8_t *)pr_val;
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
47
if (ixgbe->ixgbe_state & IXGBE_SUSPENDED) {
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
473
ixgbe->param_en_1000fdx_cap = *(uint8_t *)pr_val;
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
48
mutex_exit(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
482
ixgbe->param_en_100fdx_cap = *(uint8_t *)pr_val;
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
489
if (ixgbe->hw.phy.media_type != ixgbe_media_type_copper) {
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
493
ixgbe->param_adv_autoneg_cap = *(uint8_t *)pr_val;
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
518
if (ixgbe_driver_setup_link(ixgbe, B_TRUE) !=
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
52
if (ixgbe_start(ixgbe, B_TRUE) != IXGBE_SUCCESS) {
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
53
mutex_exit(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
535
cur_mtu = ixgbe->default_mtu;
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
542
if (new_mtu < DEFAULT_MTU || new_mtu > ixgbe->capab->max_mtu) {
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
547
if (ixgbe->ixgbe_state & IXGBE_STARTED) {
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
552
err = mac_maxsdu_update(ixgbe->mac_hdl, new_mtu);
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
554
ixgbe->default_mtu = new_mtu;
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
555
ixgbe->max_frame_size = ixgbe->default_mtu +
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
561
rx_size = ixgbe->max_frame_size + IPHDR_ALIGN_ROOM;
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
562
ixgbe->rx_buf_size = ((rx_size >> 10) + ((rx_size &
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
568
tx_size = ixgbe->max_frame_size;
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
569
ixgbe->tx_buf_size = ((tx_size >> 10) + ((tx_size &
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
57
atomic_or_32(&ixgbe->ixgbe_state, IXGBE_STARTED);
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
574
err = ixgbe_set_priv_prop(ixgbe, pr_name, pr_valsize, pr_val);
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
580
mutex_exit(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
588
ixgbe_t *ixgbe = (ixgbe_t *)arg;
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
589
struct ixgbe_hw *hw = &ixgbe->hw;
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
59
mutex_exit(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
603
speeds = ixgbe->speeds_supported;
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
608
bcopy(&ixgbe->link_duplex, pr_val,
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
613
tmp = ixgbe->link_speed * 1000000ull;
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
617
mutex_enter(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
618
*(mac_ether_media_t *)pr_val = ixgbe_phy_to_media(ixgbe);
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
619
mutex_exit(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
622
*(uint8_t *)pr_val = ixgbe->param_adv_autoneg_cap;
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
64
ixgbe_enable_watchdog_timer(ixgbe);
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
645
*(uint8_t *)pr_val = ixgbe->param_adv_10000fdx_cap;
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
651
*(uint8_t *)pr_val = ixgbe->param_en_10000fdx_cap;
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
657
*(uint8_t *)pr_val = ixgbe->param_adv_5000fdx_cap;
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
663
*(uint8_t *)pr_val = ixgbe->param_en_5000fdx_cap;
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
669
*(uint8_t *)pr_val = ixgbe->param_adv_2500fdx_cap;
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
675
*(uint8_t *)pr_val = ixgbe->param_en_2500fdx_cap;
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
681
*(uint8_t *)pr_val = ixgbe->param_adv_1000fdx_cap;
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
687
*(uint8_t *)pr_val = ixgbe->param_en_1000fdx_cap;
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
693
*(uint8_t *)pr_val = ixgbe->param_adv_100fdx_cap;
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
699
*(uint8_t *)pr_val = ixgbe->param_en_100fdx_cap;
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
704
err = ixgbe_get_priv_prop(ixgbe, pr_name,
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
718
ixgbe_t *ixgbe = (ixgbe_t *)arg;
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
719
struct ixgbe_hw *hw = &ixgbe->hw;
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
732
speeds = ixgbe->speeds_supported;
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
76
ixgbe_t *ixgbe = (ixgbe_t *)arg;
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
78
mutex_enter(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
80
if (ixgbe->ixgbe_state & IXGBE_SUSPENDED) {
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
81
mutex_exit(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
833
DEFAULT_MTU, ixgbe->capab->max_mtu);
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
85
atomic_and_32(&ixgbe->ixgbe_state, ~IXGBE_STARTED);
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
861
value = ixgbe->capab->def_intr_throttle;
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
87
ixgbe_stop(ixgbe, B_TRUE);
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
89
mutex_exit(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
893
ixgbe_set_priv_prop(ixgbe_t *ixgbe, const char *pr_name,
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
898
struct ixgbe_hw *hw = &ixgbe->hw;
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
911
ixgbe->tx_copy_thresh = (uint32_t)result;
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
925
ixgbe->tx_recycle_thresh = (uint32_t)result;
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
939
ixgbe->tx_overload_thresh = (uint32_t)result;
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
94
ixgbe_disable_watchdog_timer(ixgbe);
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
953
ixgbe->tx_resched_thresh = (uint32_t)result;
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
967
ixgbe->rx_copy_thresh = (uint32_t)result;
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
981
ixgbe->rx_limit_per_intr = (uint32_t)result;
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
992
if (result < ixgbe->capab->min_intr_throttle ||
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
993
result > ixgbe->capab->max_intr_throttle)
usr/src/uts/common/io/ixgbe/ixgbe_gld.c
996
ixgbe->intr_throttling[0] = (uint32_t)result;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1000
mac->m_dip = ixgbe->dip;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1004
mac->m_max_sdu = ixgbe->default_mtu;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1009
status = mac_register(mac, &ixgbe->mac_hdl);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
102
static uint32_t ixgbe_get_hw_rx_index(ixgbe_t *ixgbe, uint32_t sw_rx_index);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1020
ixgbe_identify_hardware(ixgbe_t *ixgbe)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1022
struct ixgbe_hw *hw = &ixgbe->hw;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1023
struct ixgbe_osdep *osdep = &ixgbe->osdep;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1051
IXGBE_DEBUGLOG_0(ixgbe, "identify 82598 adapter\n");
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1052
ixgbe->capab = &ixgbe_82598eb_cap;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1055
ixgbe->capab->flags |= IXGBE_FLAG_FAN_FAIL_CAPABLE;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1056
ixgbe->capab->other_intr |= IXGBE_EICR_GPI_SDP1;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1057
ixgbe->capab->other_gpie |= IXGBE_SDP1_GPIEN;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1062
IXGBE_DEBUGLOG_0(ixgbe, "identify 82599 adapter\n");
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1063
ixgbe->capab = &ixgbe_82599eb_cap;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1066
ixgbe->capab->flags |= IXGBE_FLAG_TEMP_SENSOR_CAPABLE;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1067
ixgbe->capab->other_intr |= IXGBE_EICR_GPI_SDP0;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1068
ixgbe->capab->other_gpie |= IXGBE_SDP0_GPIEN;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1073
IXGBE_DEBUGLOG_0(ixgbe, "identify X540 adapter\n");
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1074
ixgbe->capab = &ixgbe_X540_cap;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1084
IXGBE_DEBUGLOG_0(ixgbe, "identify X550 adapter\n");
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1085
ixgbe->capab = &ixgbe_X550_cap;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1092
ixgbe->capab->flags |= IXGBE_FLAG_SFP_PLUG_CAPABLE;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1102
ixgbe->capab->other_intr |=
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1106
ixgbe->capab->other_gpie |= IXGBE_SDP0_GPIEN_X540;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1111
IXGBE_DEBUGLOG_0(ixgbe, "identify E610 adapter\n");
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1112
ixgbe->capab = &ixgbe_E610_cap;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1122
IXGBE_DEBUGLOG_1(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1136
ixgbe_regs_map(ixgbe_t *ixgbe)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1138
dev_info_t *devinfo = ixgbe->dip;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1139
struct ixgbe_hw *hw = &ixgbe->hw;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1140
struct ixgbe_osdep *osdep = &ixgbe->osdep;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1168
ixgbe_init_properties(ixgbe_t *ixgbe)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1174
ixgbe_get_conf(ixgbe);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1185
ixgbe_init_driver_settings(ixgbe_t *ixgbe)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1187
struct ixgbe_hw *hw = &ixgbe->hw;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1188
dev_info_t *devinfo = ixgbe->dip;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1205
ixgbe->aci_event.buf_len = IXGBE_ACI_MAX_BUFFER_SIZE;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1206
ixgbe->aci_event.msg_buf =
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1209
ixgbe->attach_progress |= ATTACH_PROGRESS_ACI;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1215
ixgbe->sys_page_size = ddi_ptob(devinfo, (ulong_t)1);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1224
rx_size = ixgbe->max_frame_size + IPHDR_ALIGN_ROOM;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1225
ixgbe->rx_buf_size = ((rx_size >> 10) +
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1231
tx_size = ixgbe->max_frame_size;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1232
ixgbe->tx_buf_size = ((tx_size >> 10) +
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1238
ring_per_group = ixgbe->num_rx_rings / ixgbe->num_rx_groups;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1239
for (i = 0; i < ixgbe->num_rx_rings; i++) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1240
rx_ring = &ixgbe->rx_rings[i];
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1242
rx_ring->ixgbe = ixgbe;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1244
rx_ring->hw_index = ixgbe_get_hw_rx_index(ixgbe, i);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1247
for (i = 0; i < ixgbe->num_rx_groups; i++) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1248
rx_group = &ixgbe->rx_groups[i];
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1250
rx_group->ixgbe = ixgbe;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1255
for (i = 0; i < ixgbe->num_tx_rings; i++) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1256
tx_ring = &ixgbe->tx_rings[i];
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1258
tx_ring->ixgbe = ixgbe;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1259
if (ixgbe->tx_head_wb_enable)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1264
tx_ring->ring_size = ixgbe->tx_ring_size;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1265
tx_ring->free_list_size = ixgbe->tx_ring_size +
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1266
(ixgbe->tx_ring_size >> 1);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1273
ixgbe->intr_throttling[i] = ixgbe->intr_throttling[0];
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1278
ixgbe->link_state = LINK_STATE_UNKNOWN;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1287
ixgbe_init_locks(ixgbe_t *ixgbe)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1293
for (i = 0; i < ixgbe->num_rx_rings; i++) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1294
rx_ring = &ixgbe->rx_rings[i];
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1296
MUTEX_DRIVER, DDI_INTR_PRI(ixgbe->intr_pri));
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1299
for (i = 0; i < ixgbe->num_tx_rings; i++) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1300
tx_ring = &ixgbe->tx_rings[i];
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1302
MUTEX_DRIVER, DDI_INTR_PRI(ixgbe->intr_pri));
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1304
MUTEX_DRIVER, DDI_INTR_PRI(ixgbe->intr_pri));
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1306
MUTEX_DRIVER, DDI_INTR_PRI(ixgbe->intr_pri));
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1308
MUTEX_DRIVER, DDI_INTR_PRI(ixgbe->intr_pri));
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1311
mutex_init(&ixgbe->gen_lock, NULL,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1312
MUTEX_DRIVER, DDI_INTR_PRI(ixgbe->intr_pri));
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1314
mutex_init(&ixgbe->watchdog_lock, NULL,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1315
MUTEX_DRIVER, DDI_INTR_PRI(ixgbe->intr_pri));
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1322
ixgbe_destroy_locks(ixgbe_t *ixgbe)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1328
for (i = 0; i < ixgbe->num_rx_rings; i++) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1329
rx_ring = &ixgbe->rx_rings[i];
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1333
for (i = 0; i < ixgbe->num_tx_rings; i++) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1334
tx_ring = &ixgbe->tx_rings[i];
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1341
mutex_destroy(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1342
mutex_destroy(&ixgbe->watchdog_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1352
ixgbe_led_init(ixgbe_t *ixgbe)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1355
struct ixgbe_hw *hw = &ixgbe->hw;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1360
if (ixgbe->hw.mac.type == ixgbe_mac_E610) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1368
ixgbe->ixgbe_led_index = i;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1380
ixgbe->ixgbe_led_index = 0;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1383
ixgbe->ixgbe_led_index = 1;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1386
ixgbe->ixgbe_led_index = 2;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1394
ixgbe_t *ixgbe;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1397
ixgbe = (ixgbe_t *)ddi_get_driver_private(devinfo);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1398
if (ixgbe == NULL)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1401
mutex_enter(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1403
if (ixgbe->ixgbe_state & IXGBE_STARTED) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1404
if (ixgbe_start(ixgbe, B_FALSE) != IXGBE_SUCCESS) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1405
mutex_exit(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1412
ixgbe_enable_watchdog_timer(ixgbe);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1415
atomic_and_32(&ixgbe->ixgbe_state, ~IXGBE_SUSPENDED);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1417
if (ixgbe->ixgbe_state & IXGBE_STARTED) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1418
for (i = 0; i < ixgbe->num_tx_rings; i++) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1419
mac_tx_ring_update(ixgbe->mac_hdl,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1420
ixgbe->tx_rings[i].ring_handle);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1424
mutex_exit(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1432
ixgbe_t *ixgbe;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1434
ixgbe = (ixgbe_t *)ddi_get_driver_private(devinfo);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1435
if (ixgbe == NULL)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1438
mutex_enter(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1440
atomic_or_32(&ixgbe->ixgbe_state, IXGBE_SUSPENDED);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1441
if (!(ixgbe->ixgbe_state & IXGBE_STARTED)) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1442
mutex_exit(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1445
ixgbe_stop(ixgbe, B_FALSE);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1447
mutex_exit(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1452
ixgbe_disable_watchdog_timer(ixgbe);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1465
ixgbe_check_fw_vers(ixgbe_t *ixgbe)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1476
if (ixgbe->hw.api_maj_ver > IXGBE_FW_API_VER_MAJOR) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1477
ixgbe_error(ixgbe, "Encountered unsupported firmware major "
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1481
ixgbe->hw.api_maj_ver, IXGBE_FW_API_VER_MAJOR);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1485
if (ixgbe->hw.api_maj_ver == IXGBE_FW_API_VER_MAJOR &&
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1486
ixgbe->hw.api_min_ver > (IXGBE_FW_API_VER_MINOR +
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1488
ixgbe_error(ixgbe, "Encountered newer NVM image (%u.%u) than "
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1492
"images.", ixgbe->hw.api_maj_ver, ixgbe->hw.api_min_ver,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1494
} else if (ixgbe->hw.api_maj_ver < IXGBE_FW_API_VER_MAJOR ||
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1495
ixgbe->hw.api_min_ver < min_minor) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1496
ixgbe_error(ixgbe, "Encountered older NVM image (%u.%u) than "
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1499
ixgbe->hw.api_maj_ver, ixgbe->hw.api_min_ver,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1510
ixgbe_init(ixgbe_t *ixgbe)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1512
struct ixgbe_hw *hw = &ixgbe->hw;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1516
mutex_enter(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1535
ixgbe_error(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1541
ixgbe_error(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1547
ixgbe_error(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1554
ixgbe_error(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1557
ixgbe_fm_ereport(ixgbe, DDI_FM_DEVICE_INVAL_STATE);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1566
ixgbe_error(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1568
ixgbe_fm_ereport(ixgbe, DDI_FM_DEVICE_INVAL_STATE);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1582
ixgbe_error(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1585
ixgbe_fm_ereport(ixgbe, DDI_FM_DEVICE_INVAL_STATE);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1609
if (!ixgbe_check_fw_vers(ixgbe)) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1614
ixgbe_error(ixgbe, "failed to get E610 device "
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1620
ixgbe_error(ixgbe, "failed to initialize E610 "
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1629
(void) ixgbe_driver_setup_link(ixgbe, B_FALSE);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1634
if (ixgbe_chip_start(ixgbe) != IXGBE_SUCCESS) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1635
ixgbe_fm_ereport(ixgbe, DDI_FM_DEVICE_INVAL_STATE);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1645
(void) ddi_prop_update_string(DDI_DEV_T_NONE, ixgbe->dip,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1653
ixgbe_get_nvm_version(hw, &ixgbe->ixgbe_vers);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1654
ixgbe_get_oem_prod_version(hw, &ixgbe->ixgbe_vers);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1659
ixgbe_led_init(ixgbe);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1661
if (ixgbe_check_acc_handle(ixgbe->osdep.reg_handle) != DDI_FM_OK) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1665
mutex_exit(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1674
mutex_exit(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1675
ddi_fm_service_impact(ixgbe->dip, DDI_SERVICE_LOST);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1680
ixgbe_disable_fw_lse(ixgbe_t *ixgbe)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1682
if (ixgbe->hw.mac.type != ixgbe_mac_E610) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1686
int ret = ixgbe_configure_lse(&ixgbe->hw, false, ixgbe->lse_mask);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1688
ixgbe_error(ixgbe, "failed to disable firmware link status "
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1700
ixgbe_enable_fw_lse(ixgbe_t *ixgbe)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1702
if (ixgbe->hw.mac.type != ixgbe_mac_E610) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1727
ixgbe->lse_mask = ~(uint16_t)(IXGBE_ACI_LINK_EVENT_UPDOWN |
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1732
int ret = ixgbe_configure_lse(&ixgbe->hw, true, ixgbe->lse_mask);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1734
ixgbe_error(ixgbe, "failed to enable firmware link status "
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1746
ixgbe_chip_start(ixgbe_t *ixgbe)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1748
struct ixgbe_hw *hw = &ixgbe->hw;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1751
ASSERT(mutex_owned(&ixgbe->gen_lock));
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1757
if (!ixgbe_find_mac_address(ixgbe)) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1758
ixgbe_error(ixgbe, "Failed to get the mac address");
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1767
ixgbe_error(ixgbe, "Invalid mac address");
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1775
if (ixgbe->relax_order_enable == B_TRUE)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1781
ixgbe_setup_adapter_vector(ixgbe);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1786
ixgbe_init_unicst(ixgbe);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1791
ixgbe_setup_multicst(ixgbe);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1796
for (i = 0; i < ixgbe->intr_cnt; i++) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1797
IXGBE_WRITE_REG(hw, IXGBE_EITR(i), ixgbe->intr_throttling[i]);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1827
if (!ixgbe_enable_fw_lse(ixgbe)) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1834
ixgbe_get_hw_state(ixgbe);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1848
ixgbe_chip_stop(ixgbe_t *ixgbe)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1850
struct ixgbe_hw *hw = &ixgbe->hw;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1853
ASSERT(mutex_owned(&ixgbe->gen_lock));
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1879
ixgbe_error(ixgbe, "Error while entering LPLU: %d", rv);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1895
(void) ixgbe_disable_fw_lse(ixgbe);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1911
ixgbe_reset(ixgbe_t *ixgbe)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1918
ixgbe_disable_watchdog_timer(ixgbe);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1920
mutex_enter(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1922
ASSERT(ixgbe->ixgbe_state & IXGBE_STARTED);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1923
atomic_and_32(&ixgbe->ixgbe_state, ~IXGBE_STARTED);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1925
ixgbe_stop(ixgbe, B_FALSE);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1927
if (ixgbe_start(ixgbe, B_FALSE) != IXGBE_SUCCESS) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1928
mutex_exit(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1935
ixgbe->link_check_complete = B_FALSE;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1936
ixgbe->link_check_hrtime = gethrtime() +
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1939
atomic_or_32(&ixgbe->ixgbe_state, IXGBE_STARTED);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1941
if (!(ixgbe->ixgbe_state & IXGBE_SUSPENDED)) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1942
for (i = 0; i < ixgbe->num_tx_rings; i++) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1943
mac_tx_ring_update(ixgbe->mac_hdl,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1944
ixgbe->tx_rings[i].ring_handle);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1948
mutex_exit(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1953
ixgbe_enable_watchdog_timer(ixgbe);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1962
ixgbe_tx_clean(ixgbe_t *ixgbe)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1972
for (i = 0; i < ixgbe->num_tx_rings; i++) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1973
tx_ring = &ixgbe->tx_rings[i];
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2008
if (ixgbe->tx_head_wb_enable)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2011
IXGBE_WRITE_REG(&ixgbe->hw,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2013
IXGBE_WRITE_REG(&ixgbe->hw,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2032
ixgbe_tx_drain(ixgbe_t *ixgbe)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2051
for (j = 0; j < ixgbe->num_tx_rings; j++) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2052
tx_ring = &ixgbe->tx_rings[j];
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2070
ixgbe_rx_drain(ixgbe_t *ixgbe)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2086
done = (ixgbe->rcb_pending == 0);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2101
ixgbe_start(ixgbe_t *ixgbe, boolean_t alloc_buffer)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2103
struct ixgbe_hw *hw = &ixgbe->hw;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2106
ASSERT(mutex_owned(&ixgbe->gen_lock));
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2109
if (ixgbe_alloc_rx_data(ixgbe) != IXGBE_SUCCESS) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2110
ixgbe_error(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2116
if (ixgbe_alloc_dma(ixgbe) != IXGBE_SUCCESS) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2117
ixgbe_error(ixgbe, "Failed to allocate DMA resource");
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2121
ixgbe->tx_ring_init = B_TRUE;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2123
ixgbe->tx_ring_init = B_FALSE;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2126
for (i = 0; i < ixgbe->num_rx_rings; i++)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2127
mutex_enter(&ixgbe->rx_rings[i].rx_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2128
for (i = 0; i < ixgbe->num_tx_rings; i++)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2129
mutex_enter(&ixgbe->tx_rings[i].tx_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2134
if (ixgbe_chip_start(ixgbe) != IXGBE_SUCCESS) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2135
ixgbe_fm_ereport(ixgbe, DDI_FM_DEVICE_INVAL_STATE);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2157
(void) ixgbe_driver_setup_link(ixgbe, B_TRUE);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2158
ixgbe_get_hw_state(ixgbe);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2161
if (ixgbe_check_acc_handle(ixgbe->osdep.reg_handle) != DDI_FM_OK) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2168
if (ixgbe_setup_rings(ixgbe) != IXGBE_SUCCESS)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2176
atomic_and_32(&ixgbe->ixgbe_state, ~(IXGBE_ERROR
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2183
ixgbe_enable_adapter_interrupts(ixgbe);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2185
for (i = ixgbe->num_tx_rings - 1; i >= 0; i--)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2186
mutex_exit(&ixgbe->tx_rings[i].tx_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2187
for (i = ixgbe->num_rx_rings - 1; i >= 0; i--)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2188
mutex_exit(&ixgbe->rx_rings[i].rx_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2193
for (i = ixgbe->num_tx_rings - 1; i >= 0; i--)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2194
mutex_exit(&ixgbe->tx_rings[i].tx_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2195
for (i = ixgbe->num_rx_rings - 1; i >= 0; i--)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2196
mutex_exit(&ixgbe->rx_rings[i].rx_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2198
ddi_fm_service_impact(ixgbe->dip, DDI_SERVICE_LOST);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2207
ixgbe_stop(ixgbe_t *ixgbe, boolean_t free_buffer)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2211
ASSERT(mutex_owned(&ixgbe->gen_lock));
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2216
ixgbe_disable_adapter_interrupts(ixgbe);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2221
(void) ixgbe_tx_drain(ixgbe);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2223
for (i = 0; i < ixgbe->num_rx_rings; i++)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2224
mutex_enter(&ixgbe->rx_rings[i].rx_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2225
for (i = 0; i < ixgbe->num_tx_rings; i++)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2226
mutex_enter(&ixgbe->tx_rings[i].tx_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2231
ixgbe_chip_stop(ixgbe);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2233
if (ixgbe_check_acc_handle(ixgbe->osdep.reg_handle) != DDI_FM_OK) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2234
ddi_fm_service_impact(ixgbe->dip, DDI_SERVICE_LOST);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2240
ixgbe_tx_clean(ixgbe);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2242
for (i = ixgbe->num_tx_rings - 1; i >= 0; i--)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2243
mutex_exit(&ixgbe->tx_rings[i].tx_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2244
for (i = ixgbe->num_rx_rings - 1; i >= 0; i--)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2245
mutex_exit(&ixgbe->rx_rings[i].rx_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2247
if (ixgbe->link_state == LINK_STATE_UP) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2248
ixgbe->link_state = LINK_STATE_UNKNOWN;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2249
mac_link_update(ixgbe->mac_hdl, ixgbe->link_state);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2256
ixgbe_free_dma(ixgbe);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2257
ixgbe_free_rx_data(ixgbe);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2269
ixgbe_t *ixgbe = (ixgbe_t *)arg1;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2277
ASSERT(ixgbe->intr_type == DDI_INTR_TYPE_MSIX);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2279
int, ixgbe->intr_cnt);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2280
if (ixgbe_intr_adjust(ixgbe, cbaction, count) !=
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2282
ixgbe_error(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2288
IXGBE_DEBUGLOG_1(ixgbe, "DDI CB: action 0x%x NOT supported",
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2301
ixgbe_intr_adjust(ixgbe_t *ixgbe, ddi_cb_action_t cbaction, int count)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2309
ixgbe->intr_cnt + count > ixgbe->intr_cnt_max) ||
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2311
ixgbe->intr_cnt - count < ixgbe->intr_cnt_min))
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2314
if (!(ixgbe->ixgbe_state & IXGBE_STARTED)) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2318
for (i = 0; i < ixgbe->num_rx_rings; i++)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2319
mac_ring_intr_set(ixgbe->rx_rings[i].ring_handle, NULL);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2320
for (i = 0; i < ixgbe->num_tx_rings; i++)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2321
mac_ring_intr_set(ixgbe->tx_rings[i].ring_handle, NULL);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2323
mutex_enter(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2324
ixgbe->ixgbe_state &= ~IXGBE_STARTED;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2325
ixgbe->ixgbe_state |= IXGBE_INTR_ADJUST;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2326
ixgbe->ixgbe_state |= IXGBE_SUSPENDED;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2327
mac_link_update(ixgbe->mac_hdl, LINK_STATE_UNKNOWN);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2329
ixgbe_stop(ixgbe, B_FALSE);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2333
if (ixgbe->attach_progress & ATTACH_PROGRESS_ENABLE_INTR) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2334
rc = ixgbe_disable_intrs(ixgbe);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2337
ixgbe->attach_progress &= ~ATTACH_PROGRESS_ENABLE_INTR;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2342
if (ixgbe->attach_progress & ATTACH_PROGRESS_ADD_INTR) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2343
ixgbe_rem_intr_handlers(ixgbe);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2345
ixgbe->attach_progress &= ~ATTACH_PROGRESS_ADD_INTR;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2350
bzero(&ixgbe->vect_map, sizeof (ixgbe->vect_map));
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2353
rc = ddi_intr_alloc(ixgbe->dip, ixgbe->htable,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2354
DDI_INTR_TYPE_MSIX, ixgbe->intr_cnt, count, &actual,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2357
ixgbe_log(ixgbe, "Adjust interrupts failed."
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2362
ixgbe->intr_cnt += count;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2366
for (i = ixgbe->intr_cnt - count;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2367
i < ixgbe->intr_cnt; i ++) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2368
rc = ddi_intr_free(ixgbe->htable[i]);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2369
ixgbe->htable[i] = NULL;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2371
ixgbe_log(ixgbe, "Adjust interrupts failed."
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2377
ixgbe->intr_cnt -= count;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2384
rc = ddi_intr_get_pri(ixgbe->htable[0], &ixgbe->intr_pri);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2386
ixgbe_log(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2390
rc = ddi_intr_get_cap(ixgbe->htable[0], &ixgbe->intr_cap);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2392
ixgbe_log(ixgbe, "Get interrupt cap failed: %d", rc);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2395
ixgbe->attach_progress |= ATTACH_PROGRESS_ALLOC_INTR;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2400
if (ixgbe_map_intrs_to_vectors(ixgbe) != IXGBE_SUCCESS) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2401
ixgbe_error(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2409
if (ixgbe_add_intr_handlers(ixgbe) != IXGBE_SUCCESS) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2410
ixgbe_error(ixgbe, "IRM CB: Failed to add interrupt handlers");
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2413
ixgbe->attach_progress |= ATTACH_PROGRESS_ADD_INTR;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2419
if (ixgbe_enable_intrs(ixgbe) != IXGBE_SUCCESS) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2420
ixgbe_error(ixgbe, "IRM CB: Failed to enable DDI interrupts");
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2423
ixgbe->attach_progress |= ATTACH_PROGRESS_ENABLE_INTR;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2424
if (ixgbe_start(ixgbe, B_FALSE) != IXGBE_SUCCESS) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2425
ixgbe_error(ixgbe, "IRM CB: Failed to start");
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2428
ixgbe->ixgbe_state &= ~IXGBE_INTR_ADJUST;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2429
ixgbe->ixgbe_state &= ~IXGBE_SUSPENDED;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2430
ixgbe->ixgbe_state |= IXGBE_STARTED;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2431
mutex_exit(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2433
for (i = 0; i < ixgbe->num_rx_rings; i++) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2434
mac_ring_intr_set(ixgbe->rx_rings[i].ring_handle,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2435
ixgbe->htable[ixgbe->rx_rings[i].intr_vector]);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2437
for (i = 0; i < ixgbe->num_tx_rings; i++) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2438
mac_ring_intr_set(ixgbe->tx_rings[i].ring_handle,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2439
ixgbe->htable[ixgbe->tx_rings[i].intr_vector]);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2443
for (i = 0; i < ixgbe->num_tx_rings; i++) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2444
mac_tx_ring_update(ixgbe->mac_hdl,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2445
ixgbe->tx_rings[i].ring_handle);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2448
IXGBE_DEBUGLOG_3(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2450
ixgbe->intr_cnt, ixgbe->intr_cnt_min, ixgbe->intr_cnt_max);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2454
ddi_fm_service_impact(ixgbe->dip, DDI_SERVICE_LOST);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2455
mutex_exit(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2463
ixgbe_intr_cb_register(ixgbe_t *ixgbe)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2465
if (ddi_cb_register(ixgbe->dip, DDI_CB_FLAG_INTR, ixgbe_cbfunc,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2466
ixgbe, NULL, &ixgbe->cb_hdl) != DDI_SUCCESS) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2469
IXGBE_DEBUGLOG_0(ixgbe, "Interrupt callback function registered.");
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2477
ixgbe_alloc_rings(ixgbe_t *ixgbe)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2482
ixgbe->rx_rings = kmem_zalloc(
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2483
sizeof (ixgbe_rx_ring_t) * ixgbe->num_rx_rings,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2486
if (ixgbe->rx_rings == NULL) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2493
ixgbe->tx_rings = kmem_zalloc(
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2494
sizeof (ixgbe_tx_ring_t) * ixgbe->num_tx_rings,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2497
if (ixgbe->tx_rings == NULL) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2498
kmem_free(ixgbe->rx_rings,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2499
sizeof (ixgbe_rx_ring_t) * ixgbe->num_rx_rings);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2500
ixgbe->rx_rings = NULL;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2507
ixgbe->rx_groups = kmem_zalloc(
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2508
sizeof (ixgbe_rx_group_t) * ixgbe->num_rx_groups,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2511
if (ixgbe->rx_groups == NULL) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2512
kmem_free(ixgbe->rx_rings,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2513
sizeof (ixgbe_rx_ring_t) * ixgbe->num_rx_rings);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2514
kmem_free(ixgbe->tx_rings,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2515
sizeof (ixgbe_tx_ring_t) * ixgbe->num_tx_rings);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2516
ixgbe->rx_rings = NULL;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2517
ixgbe->tx_rings = NULL;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2528
ixgbe_free_rings(ixgbe_t *ixgbe)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2530
if (ixgbe->rx_rings != NULL) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2531
kmem_free(ixgbe->rx_rings,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2532
sizeof (ixgbe_rx_ring_t) * ixgbe->num_rx_rings);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2533
ixgbe->rx_rings = NULL;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2536
if (ixgbe->tx_rings != NULL) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2537
kmem_free(ixgbe->tx_rings,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2538
sizeof (ixgbe_tx_ring_t) * ixgbe->num_tx_rings);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2539
ixgbe->tx_rings = NULL;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2542
for (uint_t i = 0; i < ixgbe->num_rx_groups; i++) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2544
ixgbe_rx_group_t *rx_group = &ixgbe->rx_groups[i];
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2552
if (ixgbe->rx_groups != NULL) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2553
kmem_free(ixgbe->rx_groups,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2554
sizeof (ixgbe_rx_group_t) * ixgbe->num_rx_groups);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2555
ixgbe->rx_groups = NULL;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2560
ixgbe_alloc_rx_data(ixgbe_t *ixgbe)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2565
for (i = 0; i < ixgbe->num_rx_rings; i++) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2566
rx_ring = &ixgbe->rx_rings[i];
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2573
ixgbe_free_rx_data(ixgbe);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2578
ixgbe_free_rx_data(ixgbe_t *ixgbe)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2584
for (i = 0; i < ixgbe->num_rx_rings; i++) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2585
rx_ring = &ixgbe->rx_rings[i];
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2587
mutex_enter(&ixgbe->rx_pending_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2599
mutex_exit(&ixgbe->rx_pending_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2607
ixgbe_setup_rings(ixgbe_t *ixgbe)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2616
if (ixgbe_setup_rx(ixgbe) != IXGBE_SUCCESS)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2619
ixgbe_setup_tx(ixgbe);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2627
ixgbe_t *ixgbe = rx_ring->ixgbe;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2629
struct ixgbe_hw *hw = &ixgbe->hw;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2639
ASSERT(mutex_owned(&ixgbe->gen_lock));
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2641
for (i = 0; i < ixgbe->rx_ring_size; i++) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2698
reg_val = (ixgbe->rx_buf_size >> IXGBE_SRRCTL_BSIZEPKT_SHIFT) |
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2705
ixgbe_setup_rx(ixgbe_t *ixgbe)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2708
struct ixgbe_hw *hw = &ixgbe->hw;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2720
if (ixgbe->classify_mode != IXGBE_CLASSIFY_VMDQ &&
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2721
ixgbe->classify_mode != IXGBE_CLASSIFY_VMDQ_RSS) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2728
if (ixgbe->num_rx_groups > 32) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2733
for (i = 0; i < ixgbe->capab->max_rx_grp_num; i++) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2758
if (ixgbe->rx_hcksum_enable) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2767
switch (ixgbe->classify_mode) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2773
ixgbe_setup_rss(ixgbe);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2781
ixgbe_setup_vmdq(ixgbe);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2789
ixgbe_setup_vmdq_rss(ixgbe);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2800
if (ixgbe->vlft_enabled) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2801
if (ixgbe_init_vlan(ixgbe) != IXGBE_SUCCESS)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2819
for (i = 0; i < ixgbe->num_rx_rings; i++) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2820
rx_ring = &ixgbe->rx_rings[i];
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2839
for (i = 0; i < ixgbe->num_rx_rings; i++) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2840
uint32_t index = ixgbe->rx_rings[i].hw_index;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2852
reg_val |= (ixgbe->default_mtu + sizeof (struct ether_header)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2860
if (ixgbe->default_mtu > ETHERMTU)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2869
if (ixgbe->lro_enable) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2870
for (i = 0; i < ixgbe->num_rx_rings; i++) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2878
if (ixgbe->rx_buf_size == IXGBE_PKG_BUF_16k)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2903
ixgbe_t *ixgbe = tx_ring->ixgbe;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2904
struct ixgbe_hw *hw = &ixgbe->hw;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2911
ASSERT(mutex_owned(&ixgbe->gen_lock));
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2936
if (ixgbe->tx_head_wb_enable) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2980
if (ixgbe->tx_ring_init == B_TRUE) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2993
ixgbe_setup_tx(ixgbe_t *ixgbe)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2995
struct ixgbe_hw *hw = &ixgbe->hw;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3000
for (i = 0; i < ixgbe->num_tx_rings; i++) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3001
tx_ring = &ixgbe->tx_rings[i];
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3009
for (i = 0; i < ixgbe->num_tx_rings; i++) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3050
for (i = 0; i < ixgbe->num_tx_rings; i++) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3051
tx_ring = &ixgbe->tx_rings[i];
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3062
ixgbe_setup_rss(ixgbe_t *ixgbe)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3064
struct ixgbe_hw *hw = &ixgbe->hw;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3070
ixgbe_setup_rss_table(ixgbe);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3092
ixgbe_setup_vmdq(ixgbe_t *ixgbe)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3094
struct ixgbe_hw *hw = &ixgbe->hw;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3133
ixgbe->rx_def_group = vtctl & IXGBE_VT_CTL_POOL_MASK;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3143
ixgbe->vlft_enabled = B_TRUE;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3161
ixgbe_setup_vmdq_rss(ixgbe_t *ixgbe)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3163
struct ixgbe_hw *hw = &ixgbe->hw;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3170
ixgbe_setup_rss_table(ixgbe);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3223
if (ixgbe->num_rx_groups > 32) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3247
ixgbe->rx_def_group = vtctl & IXGBE_VT_CTL_POOL_MASK;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3258
ixgbe->vlft_enabled = B_TRUE;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3272
ixgbe_setup_rss_table(ixgbe_t *ixgbe)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3274
struct ixgbe_hw *hw = &ixgbe->hw;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3293
switch (ixgbe->hw.mac.type) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3316
ring_per_group = ixgbe->num_rx_rings / ixgbe->num_rx_groups;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3368
ixgbe_init_unicst(ixgbe_t *ixgbe)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3370
struct ixgbe_hw *hw = &ixgbe->hw;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3383
if (!ixgbe->unicst_init) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3387
ixgbe->unicst_total = hw->mac.num_rar_entries;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3388
ixgbe->unicst_avail = ixgbe->unicst_total;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3389
for (slot = 0; slot < ixgbe->unicst_total; slot++) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3390
mac_addr = ixgbe->unicst_addr[slot].mac.addr;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3393
ixgbe->unicst_addr[slot].mac.set = 0;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3395
ixgbe->unicst_init = B_TRUE;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3398
for (slot = 0; slot < ixgbe->unicst_total; slot++) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3399
mac_addr = ixgbe->unicst_addr[slot].mac.addr;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3400
if (ixgbe->unicst_addr[slot].mac.set == 1) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3402
ixgbe->unicst_addr[slot].mac.group_index,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3416
ixgbe_unicst_find(ixgbe_t *ixgbe, const uint8_t *mac_addr)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3420
ASSERT(mutex_owned(&ixgbe->gen_lock));
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3422
for (slot = 0; slot < ixgbe->unicst_total; slot++) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3423
if (bcmp(ixgbe->unicst_addr[slot].mac.addr,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3435
ixgbe_init_vlan(ixgbe_t *ixgbe)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3441
if (!ixgbe->vlft_init) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3442
ixgbe->vlft_init = B_TRUE;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3446
for (uint_t i = 0; i < ixgbe->num_rx_groups; i++) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3449
ixgbe_rx_group_t *rxg = &ixgbe->rx_groups[i];
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3450
struct ixgbe_hw *hw = &ixgbe->hw;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3460
vlvf_bypass = (rxg->index == ixgbe->rx_def_group);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3467
ixgbe_error(ixgbe, "Failed to program VFTA"
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3482
ixgbe_multicst_add(ixgbe_t *ixgbe, const uint8_t *multiaddr)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3484
ASSERT(mutex_owned(&ixgbe->gen_lock));
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3490
if (ixgbe->mcast_count >= MAX_NUM_MULTICAST_ADDRESSES) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3495
&ixgbe->mcast_table[ixgbe->mcast_count], ETHERADDRL);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3496
ixgbe->mcast_count++;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3501
ixgbe_setup_multicst(ixgbe);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3503
if (ixgbe_check_acc_handle(ixgbe->osdep.reg_handle) != DDI_FM_OK) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3504
ddi_fm_service_impact(ixgbe->dip, DDI_SERVICE_DEGRADED);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3515
ixgbe_multicst_remove(ixgbe_t *ixgbe, const uint8_t *multiaddr)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3519
ASSERT(mutex_owned(&ixgbe->gen_lock));
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3521
for (i = 0; i < ixgbe->mcast_count; i++) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3522
if (bcmp(multiaddr, &ixgbe->mcast_table[i],
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3524
for (i++; i < ixgbe->mcast_count; i++) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3525
ixgbe->mcast_table[i - 1] =
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3526
ixgbe->mcast_table[i];
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3528
ixgbe->mcast_count--;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3536
ixgbe_setup_multicst(ixgbe);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3538
if (ixgbe_check_acc_handle(ixgbe->osdep.reg_handle) != DDI_FM_OK) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3539
ddi_fm_service_impact(ixgbe->dip, DDI_SERVICE_DEGRADED);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3553
ixgbe_setup_multicst(ixgbe_t *ixgbe)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3557
struct ixgbe_hw *hw = &ixgbe->hw;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3559
ASSERT(mutex_owned(&ixgbe->gen_lock));
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3561
ASSERT(ixgbe->mcast_count <= MAX_NUM_MULTICAST_ADDRESSES);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3563
mc_addr_list = (uint8_t *)ixgbe->mcast_table;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3564
mc_addr_count = ixgbe->mcast_count;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3580
ixgbe_setup_vmdq_rss_conf(ixgbe_t *ixgbe)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3582
struct ixgbe_hw *hw = &ixgbe->hw;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3595
ring_per_group = ixgbe->num_rx_rings / ixgbe->num_rx_groups;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3596
if (ixgbe->num_rx_groups > 4) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3597
ixgbe->num_rx_rings = ixgbe->num_rx_groups;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3599
ixgbe->num_rx_rings = ixgbe->num_rx_groups *
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3622
ring_per_group = ixgbe->num_rx_rings / ixgbe->num_rx_groups;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3623
if (ixgbe->num_rx_groups == 1) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3624
ixgbe->num_rx_rings = min(8, ring_per_group);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3625
} else if (ixgbe->num_rx_groups <= 32) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3626
ixgbe->num_rx_rings = ixgbe->num_rx_groups *
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3628
} else if (ixgbe->num_rx_groups <= 64) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3629
ixgbe->num_rx_rings = ixgbe->num_rx_groups *
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3638
ring_per_group = ixgbe->num_rx_rings / ixgbe->num_rx_groups;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3640
if (ixgbe->num_rx_groups == 1 && ring_per_group == 1) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3641
ixgbe->classify_mode = IXGBE_CLASSIFY_NONE;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3642
} else if (ixgbe->num_rx_groups != 1 && ring_per_group == 1) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3643
ixgbe->classify_mode = IXGBE_CLASSIFY_VMDQ;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3644
} else if (ixgbe->num_rx_groups != 1 && ring_per_group != 1) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3645
ixgbe->classify_mode = IXGBE_CLASSIFY_VMDQ_RSS;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3647
ixgbe->classify_mode = IXGBE_CLASSIFY_RSS;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3650
IXGBE_DEBUGLOG_2(ixgbe, "rx group number:%d, rx ring number:%d",
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3651
ixgbe->num_rx_groups, ixgbe->num_rx_rings);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3667
ixgbe_get_conf(ixgbe_t *ixgbe)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3669
struct ixgbe_hw *hw = &ixgbe->hw;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3696
ixgbe->default_mtu = ixgbe_get_prop(ixgbe, PROP_DEFAULT_MTU,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3697
MIN_MTU, ixgbe->capab->max_mtu, DEFAULT_MTU);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3699
ixgbe->max_frame_size = ixgbe->default_mtu +
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3705
flow_control = ixgbe_get_prop(ixgbe, PROP_FLOW_CONTROL,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3719
ixgbe->num_tx_rings = ixgbe_get_prop(ixgbe, PROP_TX_QUEUE_NUM,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3720
ixgbe->capab->min_tx_que_num,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3721
ixgbe->capab->max_tx_que_num,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3722
ixgbe->capab->def_tx_que_num);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3723
ixgbe->tx_ring_size = ixgbe_get_prop(ixgbe, PROP_TX_RING_SIZE,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3726
ixgbe->num_rx_rings = ixgbe_get_prop(ixgbe, PROP_RX_QUEUE_NUM,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3727
ixgbe->capab->min_rx_que_num,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3728
ixgbe->capab->max_rx_que_num,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3729
ixgbe->capab->def_rx_que_num);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3730
ixgbe->rx_ring_size = ixgbe_get_prop(ixgbe, PROP_RX_RING_SIZE,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3736
ixgbe->num_rx_groups = ixgbe_get_prop(ixgbe, PROP_RX_GROUP_NUM,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3737
ixgbe->capab->min_rx_grp_num, ixgbe->capab->max_rx_grp_num,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3738
ixgbe->capab->def_rx_grp_num);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3740
ixgbe->mr_enable = ixgbe_get_prop(ixgbe, PROP_MR_ENABLE,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3743
if (ixgbe->mr_enable == B_FALSE) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3744
ixgbe->num_tx_rings = 1;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3745
ixgbe->num_rx_rings = 1;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3746
ixgbe->num_rx_groups = 1;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3747
ixgbe->classify_mode = IXGBE_CLASSIFY_NONE;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3749
ixgbe->num_rx_rings = ixgbe->num_rx_groups *
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3750
max(ixgbe->num_rx_rings / ixgbe->num_rx_groups, 1);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3756
ixgbe_setup_vmdq_rss_conf(ixgbe);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3767
ixgbe->intr_force = ixgbe_get_prop(ixgbe, PROP_INTR_FORCE,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3770
ixgbe->tx_hcksum_enable = ixgbe_get_prop(ixgbe, PROP_TX_HCKSUM_ENABLE,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3772
ixgbe->rx_hcksum_enable = ixgbe_get_prop(ixgbe, PROP_RX_HCKSUM_ENABLE,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3774
ixgbe->lso_enable = ixgbe_get_prop(ixgbe, PROP_LSO_ENABLE,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3776
ixgbe->lro_enable = ixgbe_get_prop(ixgbe, PROP_LRO_ENABLE,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3778
ixgbe->tx_head_wb_enable = ixgbe_get_prop(ixgbe, PROP_TX_HEAD_WB_ENABLE,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3780
ixgbe->relax_order_enable = ixgbe_get_prop(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3785
ixgbe->tx_head_wb_enable = B_FALSE;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3793
if (ixgbe->tx_hcksum_enable == B_FALSE) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3794
ixgbe->lso_enable = B_FALSE;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3802
if (ixgbe->rx_hcksum_enable == B_FALSE) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3803
ixgbe->lro_enable = B_FALSE;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3810
ixgbe->lro_enable = B_FALSE;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3812
ixgbe->tx_copy_thresh = ixgbe_get_prop(ixgbe, PROP_TX_COPY_THRESHOLD,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3815
ixgbe->tx_recycle_thresh = ixgbe_get_prop(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3818
ixgbe->tx_overload_thresh = ixgbe_get_prop(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3821
ixgbe->tx_resched_thresh = ixgbe_get_prop(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3825
ixgbe->rx_copy_thresh = ixgbe_get_prop(ixgbe, PROP_RX_COPY_THRESHOLD,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3828
ixgbe->rx_limit_per_intr = ixgbe_get_prop(ixgbe, PROP_RX_LIMIT_PER_INTR,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3832
ixgbe->intr_throttling[0] = ixgbe_get_prop(ixgbe, PROP_INTR_THROTTLING,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3833
ixgbe->capab->min_intr_throttle,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3834
ixgbe->capab->max_intr_throttle,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3835
ixgbe->capab->def_intr_throttle);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3841
ixgbe->intr_throttling[0] = ixgbe->intr_throttling[0] & 0xFF8;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3844
hw->allow_unsupported_sfp = ixgbe_get_prop(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3849
ixgbe_init_params(ixgbe_t *ixgbe)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3851
struct ixgbe_hw *hw = &ixgbe->hw;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3882
ixgbe->speeds_supported = speeds_supported;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3888
ixgbe->param_en_10000fdx_cap = 1;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3889
ixgbe->param_adv_10000fdx_cap = 1;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3891
ixgbe->param_en_10000fdx_cap = 0;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3892
ixgbe->param_adv_10000fdx_cap = 0;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3896
ixgbe->param_en_5000fdx_cap = 1;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3897
ixgbe->param_adv_5000fdx_cap = 1;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3899
ixgbe->param_en_5000fdx_cap = 0;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3900
ixgbe->param_adv_5000fdx_cap = 0;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3904
ixgbe->param_en_2500fdx_cap = 1;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3905
ixgbe->param_adv_2500fdx_cap = 1;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3907
ixgbe->param_en_2500fdx_cap = 0;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3908
ixgbe->param_adv_2500fdx_cap = 0;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3912
ixgbe->param_en_1000fdx_cap = 1;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3913
ixgbe->param_adv_1000fdx_cap = 1;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3915
ixgbe->param_en_1000fdx_cap = 0;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3916
ixgbe->param_adv_1000fdx_cap = 0;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3920
ixgbe->param_en_100fdx_cap = 1;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3921
ixgbe->param_adv_100fdx_cap = 1;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3923
ixgbe->param_en_100fdx_cap = 0;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3924
ixgbe->param_adv_100fdx_cap = 0;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3927
ixgbe->param_pause_cap = 1;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3928
ixgbe->param_asym_pause_cap = 1;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3929
ixgbe->param_rem_fault = 0;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3931
ixgbe->param_adv_autoneg_cap = 1;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3932
ixgbe->param_adv_pause_cap = 1;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3933
ixgbe->param_adv_asym_pause_cap = 1;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3934
ixgbe->param_adv_rem_fault = 0;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3936
ixgbe->param_lp_10000fdx_cap = 0;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3937
ixgbe->param_lp_5000fdx_cap = 0;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3938
ixgbe->param_lp_2500fdx_cap = 0;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3939
ixgbe->param_lp_1000fdx_cap = 0;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3940
ixgbe->param_lp_100fdx_cap = 0;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3941
ixgbe->param_lp_autoneg_cap = 0;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3942
ixgbe->param_lp_pause_cap = 0;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3943
ixgbe->param_lp_asym_pause_cap = 0;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3944
ixgbe->param_lp_rem_fault = 0;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3958
ixgbe_get_prop(ixgbe_t *ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3969
value = ddi_prop_get_int(DDI_DEV_T_ANY, ixgbe->dip,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3984
ixgbe_driver_setup_link(ixgbe_t *ixgbe, boolean_t setup_hw)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3986
struct ixgbe_hw *hw = &ixgbe->hw;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3992
if (ixgbe->param_en_10000fdx_cap == 1)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3995
if (ixgbe->param_en_5000fdx_cap == 1)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3998
if (ixgbe->param_en_2500fdx_cap == 1)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4001
if (ixgbe->param_en_1000fdx_cap == 1)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4004
if (ixgbe->param_en_100fdx_cap == 1)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4010
if (ixgbe->param_adv_autoneg_cap == 1 && advertised == 0) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4011
ixgbe_notice(ixgbe, "Invalid link settings. Setting link "
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4021
if (ixgbe_setup_link(&ixgbe->hw, advertised,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4022
ixgbe->param_adv_autoneg_cap) != IXGBE_SUCCESS) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4023
ixgbe_notice(ixgbe, "Setup link failed on this "
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4038
ixgbe_driver_link_check(ixgbe_t *ixgbe)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4040
struct ixgbe_hw *hw = &ixgbe->hw;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4045
ASSERT(mutex_owned(&ixgbe->gen_lock));
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4049
ixgbe->link_check_complete = B_TRUE;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4057
if (ixgbe->link_state != LINK_STATE_UP) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4060
ixgbe->link_speed = SPEED_10GB;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4063
ixgbe->link_speed = SPEED_5GB;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4066
ixgbe->link_speed = SPEED_2_5GB;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4069
ixgbe->link_speed = SPEED_1GB;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4072
ixgbe->link_speed = SPEED_100;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4074
ixgbe->link_duplex = LINK_DUPLEX_FULL;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4075
ixgbe->link_state = LINK_STATE_UP;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4079
if (ixgbe->link_check_complete == B_TRUE ||
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4080
(ixgbe->link_check_complete == B_FALSE &&
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4081
gethrtime() >= ixgbe->link_check_hrtime)) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4085
ixgbe->link_check_complete = B_TRUE;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4087
if (ixgbe->link_state != LINK_STATE_DOWN) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4088
ixgbe->link_speed = 0;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4089
ixgbe->link_duplex = LINK_DUPLEX_UNKNOWN;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4090
ixgbe->link_state = LINK_STATE_DOWN;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4100
if (servicing_interrupt() != 0 && ixgbe->hw.mac.type < ixgbe_mac_E610) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4101
ixgbe->eims |= IXGBE_EICR_LSC;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4102
IXGBE_WRITE_REG(hw, IXGBE_EIMS, ixgbe->eims);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4106
mac_link_update(ixgbe->mac_hdl, ixgbe->link_state);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4117
ixgbe_t *ixgbe = (ixgbe_t *)arg;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4118
uint32_t eicr = ixgbe->eicr;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4119
struct ixgbe_hw *hw = &ixgbe->hw;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4121
mutex_enter(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4130
ixgbe_driver_link_check(ixgbe);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4131
ixgbe_get_hw_state(ixgbe);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4142
ixgbe_driver_link_check(ixgbe);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4143
ixgbe_get_hw_state(ixgbe);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4145
mutex_exit(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4150
ixgbe->link_check_complete = B_FALSE;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4151
ixgbe->link_check_hrtime = gethrtime() +
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4159
ixgbe_set_overtemp(ixgbe_t *ixgbe, bool phy)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4161
atomic_or_32(&ixgbe->ixgbe_state, IXGBE_OVERTEMP);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4166
ixgbe_disable_adapter_interrupts(ixgbe);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4171
(void) ixgbe_stop_adapter(&ixgbe->hw);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4173
ddi_fm_service_impact(ixgbe->dip, DDI_SERVICE_LOST);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4174
ixgbe_error(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4177
ixgbe_error(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4193
ixgbe_t *ixgbe = (ixgbe_t *)arg;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4194
struct ixgbe_hw *hw = &ixgbe->hw;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4195
uint32_t eicr = ixgbe->eicr;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4199
mutex_enter(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4208
ixgbe_set_overtemp(ixgbe, true);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4215
mutex_exit(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4230
ixgbe_t *ixgbe = (ixgbe_t *)arg;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4231
struct ixgbe_hw *hw = &ixgbe->hw;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4234
mutex_enter(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4252
ixgbe_set_overtemp(ixgbe, true);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4255
mutex_exit(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4264
ixgbe_t *ixgbe = (ixgbe_t *)arg;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4266
mutex_enter(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4267
ixgbe_driver_link_check(ixgbe);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4268
mutex_exit(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4279
ixgbe_t *ixgbe = (ixgbe_t *)arg;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4281
if (ixgbe->ixgbe_state & IXGBE_OVERTEMP)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4284
if (ixgbe->ixgbe_state & IXGBE_ERROR) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4285
ixgbe->reset_count++;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4286
if (ixgbe_reset(ixgbe) == IXGBE_SUCCESS)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4287
ddi_fm_service_impact(ixgbe->dip, DDI_SERVICE_RESTORED);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4291
if (ixgbe_stall_check(ixgbe)) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4292
atomic_or_32(&ixgbe->ixgbe_state, IXGBE_STALL);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4293
ddi_fm_service_impact(ixgbe->dip, DDI_SERVICE_DEGRADED);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4295
ixgbe->reset_count++;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4296
if (ixgbe_reset(ixgbe) == IXGBE_SUCCESS)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4297
ddi_fm_service_impact(ixgbe->dip, DDI_SERVICE_RESTORED);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4301
ixgbe_restart_watchdog_timer(ixgbe);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4316
ixgbe_stall_check(ixgbe_t *ixgbe)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4322
if (ixgbe->link_state != LINK_STATE_UP)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4329
for (i = 0; i < ixgbe->num_tx_rings; i++) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4330
tx_ring = &ixgbe->tx_rings[i];
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4331
if (tx_ring->tbd_free <= ixgbe->tx_recycle_thresh) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4373
ixgbe_find_mac_address(ixgbe_t *ixgbe)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4376
struct ixgbe_hw *hw = &ixgbe->hw;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4392
err = ddi_prop_lookup_byte_array(DDI_DEV_T_ANY, ixgbe->dip,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4407
if (ddi_prop_lookup_byte_array(DDI_DEV_T_ANY, ixgbe->dip, 0,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4424
err = ddi_prop_lookup_byte_array(DDI_DEV_T_ANY, ixgbe->dip,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4440
_NOTE(ARGUNUSED(ixgbe));
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4447
ixgbe_arm_watchdog_timer(ixgbe_t *ixgbe)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4452
ixgbe->watchdog_tid =
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4454
(void *)ixgbe, 1 * drv_usectohz(1000000));
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4462
ixgbe_enable_watchdog_timer(ixgbe_t *ixgbe)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4464
mutex_enter(&ixgbe->watchdog_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4466
if (!ixgbe->watchdog_enable) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4467
ixgbe->watchdog_enable = B_TRUE;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4468
ixgbe->watchdog_start = B_TRUE;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4469
ixgbe_arm_watchdog_timer(ixgbe);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4472
mutex_exit(&ixgbe->watchdog_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4479
ixgbe_disable_watchdog_timer(ixgbe_t *ixgbe)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4483
mutex_enter(&ixgbe->watchdog_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4485
ixgbe->watchdog_enable = B_FALSE;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4486
ixgbe->watchdog_start = B_FALSE;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4487
tid = ixgbe->watchdog_tid;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4488
ixgbe->watchdog_tid = 0;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4490
mutex_exit(&ixgbe->watchdog_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4500
ixgbe_start_watchdog_timer(ixgbe_t *ixgbe)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4502
mutex_enter(&ixgbe->watchdog_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4504
if (ixgbe->watchdog_enable) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4505
if (!ixgbe->watchdog_start) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4506
ixgbe->watchdog_start = B_TRUE;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4507
ixgbe_arm_watchdog_timer(ixgbe);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4511
mutex_exit(&ixgbe->watchdog_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4518
ixgbe_restart_watchdog_timer(ixgbe_t *ixgbe)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4520
mutex_enter(&ixgbe->watchdog_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4522
if (ixgbe->watchdog_start)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4523
ixgbe_arm_watchdog_timer(ixgbe);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4525
mutex_exit(&ixgbe->watchdog_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4532
ixgbe_stop_watchdog_timer(ixgbe_t *ixgbe)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4536
mutex_enter(&ixgbe->watchdog_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4538
ixgbe->watchdog_start = B_FALSE;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4539
tid = ixgbe->watchdog_tid;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4540
ixgbe->watchdog_tid = 0;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4542
mutex_exit(&ixgbe->watchdog_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4552
ixgbe_disable_adapter_interrupts(ixgbe_t *ixgbe)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4554
struct ixgbe_hw *hw = &ixgbe->hw;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4564
if (ixgbe->intr_type == DDI_INTR_TYPE_MSIX) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4575
ixgbe_enable_adapter_interrupts(ixgbe_t *ixgbe)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4577
struct ixgbe_hw *hw = &ixgbe->hw;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4582
ixgbe->eims = IXGBE_EIMS_ENABLE_MASK; /* shared code default */
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4583
ixgbe->eims &= ~IXGBE_EIMS_TCP_TIMER; /* minus tcp timer */
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4584
ixgbe->eims |= ixgbe->capab->other_intr; /* "other" interrupt types */
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4587
eiam = ixgbe->capab->other_intr;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4592
if (ixgbe->intr_type == DDI_INTR_TYPE_MSIX) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4594
eiac = (ixgbe->eims & ~IXGBE_OTHER_INTR);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4615
(ixgbe->intr_type == DDI_INTR_TYPE_MSI)) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
462
ixgbe_t *ixgbe;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4623
gpie |= ixgbe->capab->other_gpie;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4632
gpie |= ixgbe->capab->other_gpie;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4635
if (ixgbe->lro_enable) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4645
IXGBE_WRITE_REG(hw, IXGBE_EIMS, ixgbe->eims);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4656
ixgbe_loopback_ioctl(ixgbe_t *ixgbe, struct iocblk *iocp, mblk_t *mp)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4707
*lbmp = ixgbe->loopback_mode;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4716
if (!ixgbe_set_loopback_mode(ixgbe, *lbmp))
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4724
if (ixgbe_check_acc_handle(ixgbe->osdep.reg_handle) != DDI_FM_OK) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4725
ddi_fm_service_impact(ixgbe->dip, DDI_SERVICE_DEGRADED);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4736
ixgbe_set_loopback_mode(ixgbe_t *ixgbe, uint32_t mode)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4738
if (mode == ixgbe->loopback_mode)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4741
ixgbe->loopback_mode = mode;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4747
(void) ixgbe_reset(ixgbe);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4751
mutex_enter(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4755
mutex_exit(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4762
ixgbe_set_internal_mac_loopback(ixgbe);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4766
mutex_exit(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4775
ixgbe_set_internal_mac_loopback(ixgbe_t *ixgbe)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4781
hw = &ixgbe->hw;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4786
reg = IXGBE_READ_REG(&ixgbe->hw, IXGBE_HLREG0);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4788
IXGBE_WRITE_REG(&ixgbe->hw, IXGBE_HLREG0, reg);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4790
reg = IXGBE_READ_REG(&ixgbe->hw, IXGBE_AUTOC);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4792
IXGBE_WRITE_REG(&ixgbe->hw, IXGBE_AUTOC, reg);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4799
(void) ixgbe_read_analog_reg8(&ixgbe->hw, IXGBE_ATLAS_PDN_LPBK,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4802
(void) ixgbe_write_analog_reg8(&ixgbe->hw, IXGBE_ATLAS_PDN_LPBK,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4805
(void) ixgbe_read_analog_reg8(&ixgbe->hw, IXGBE_ATLAS_PDN_10G,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4808
(void) ixgbe_write_analog_reg8(&ixgbe->hw, IXGBE_ATLAS_PDN_10G,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4811
(void) ixgbe_read_analog_reg8(&ixgbe->hw, IXGBE_ATLAS_PDN_1G,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4814
(void) ixgbe_write_analog_reg8(&ixgbe->hw, IXGBE_ATLAS_PDN_1G,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4817
(void) ixgbe_read_analog_reg8(&ixgbe->hw, IXGBE_ATLAS_PDN_AN,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4820
(void) ixgbe_write_analog_reg8(&ixgbe->hw, IXGBE_ATLAS_PDN_AN,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4830
reg = IXGBE_READ_REG(&ixgbe->hw, IXGBE_AUTOC);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4833
IXGBE_WRITE_REG(&ixgbe->hw, IXGBE_AUTOC, reg);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4835
(void) ixgbe_setup_link(&ixgbe->hw, IXGBE_LINK_SPEED_10GB_FULL,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4858
mac_rx_ring(rx_ring->ixgbe->mac_hdl, rx_ring->ring_handle, mp,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
486
ixgbe = kmem_zalloc(sizeof (ixgbe_t), KM_SLEEP);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4868
ixgbe_t *ixgbe = tx_ring->ixgbe;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4879
(tx_ring->tbd_free >= ixgbe->tx_resched_thresh)) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
488
ixgbe->dip = devinfo;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4881
mac_tx_ring_update(tx_ring->ixgbe->mac_hdl,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4888
ixgbe_lsc_common(ixgbe_t *ixgbe)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
489
ixgbe->instance = instance;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4890
ASSERT(MUTEX_HELD(&ixgbe->gen_lock));
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4891
ixgbe_driver_link_check(ixgbe);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4892
ixgbe_get_hw_state(ixgbe);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
491
hw = &ixgbe->hw;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4914
ixgbe_process_fw_lse(ixgbe_t *ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4919
if ((ixgbe->aci_warn & IXGBE_ACI_WARN_MOD_POWER) == 0) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
492
osdep = &ixgbe->osdep;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4920
ixgbe_error(ixgbe, "pluggable transceiver requires "
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4925
ixgbe->aci_warn |= IXGBE_ACI_WARN_MOD_POWER;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4928
ixgbe->aci_warn &= ~IXGBE_ACI_WARN_MOD_POWER;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4933
if ((ixgbe->aci_warn & IXGBE_ACI_WARN_PHY_LOAD) == 0) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4934
ixgbe_error(ixgbe, "controller failed to load PHY "
usr/src/uts/common/io/ixgbe/ixgbe_main.c
494
osdep->ixgbe = ixgbe;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4940
ixgbe->aci_warn |= IXGBE_ACI_WARN_PHY_LOAD;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4942
ixgbe->aci_warn &= ~IXGBE_ACI_WARN_PHY_LOAD;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4947
if ((ixgbe->aci_warn & IXGBE_ACI_WARN_MOD_QUAL) == 0) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4948
ixgbe_error(ixgbe, "transceiver failed hardware "
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4955
ixgbe->aci_warn |= IXGBE_ACI_WARN_MOD_QUAL;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4957
ixgbe->aci_warn &= ~IXGBE_ACI_WARN_MOD_QUAL;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4961
ixgbe_set_overtemp(ixgbe, true);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4965
ixgbe_lsc_common(ixgbe);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4969
ixgbe_process_fw_event(ixgbe_t *ixgbe)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
497
ddi_set_driver_private(devinfo, ixgbe);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4972
struct ixgbe_aci_event *event = &ixgbe->aci_event;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4973
struct ixgbe_hw *hw = &ixgbe->hw;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4974
ASSERT(MUTEX_HELD(&ixgbe->gen_lock));
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4976
ixgbe->aci_intrs++;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4981
VERIFY3P(ixgbe->aci_event.msg_buf, !=, NULL);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4982
VERIFY3U(ixgbe->aci_event.buf_len, ==, IXGBE_ACI_MAX_BUFFER_SIZE);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4993
ixgbe_error(ixgbe, "failed to get firmware event: 0x%x",
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4998
ixgbe->aci_events++;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5009
ixgbe_process_fw_lse(ixgbe, (void *)event->msg_buf);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
502
ixgbe->fm_capabilities = ixgbe_get_prop(ixgbe, PROP_FM_CAPABLE,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5022
ixgbe_set_overtemp(ixgbe, false);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5034
ixgbe_log(ixgbe, "unhandled firmware event: 0x%x",
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5044
ixgbe_intr_other_work(ixgbe_t *ixgbe, uint32_t eicr)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5046
struct ixgbe_hw *hw = &ixgbe->hw;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5048
ASSERT(mutex_owned(&ixgbe->gen_lock));
usr/src/uts/common/io/ixgbe/ixgbe_main.c
505
ixgbe_fm_init(ixgbe);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5054
ixgbe_lsc_common(ixgbe);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
506
ixgbe->attach_progress |= ATTACH_PROGRESS_FM_INIT;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5061
ixgbe_process_fw_event(ixgbe);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5067
if ((ixgbe->capab->flags & IXGBE_FLAG_FAN_FAIL_CAPABLE) &&
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5069
atomic_or_32(&ixgbe->ixgbe_state, IXGBE_OVERTEMP);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5074
ixgbe_disable_adapter_interrupts(ixgbe);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5079
(void) ixgbe_stop_adapter(&ixgbe->hw);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5081
ddi_fm_service_impact(ixgbe->dip, DDI_SERVICE_LOST);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5082
ixgbe_error(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5085
ixgbe_error(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5089
ixgbe->eims |= IXGBE_EICR_GPI_SDP1;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5095
if ((ixgbe->capab->flags & IXGBE_FLAG_SFP_PLUG_CAPABLE) &&
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5098
ixgbe->eicr = eicr;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5099
if ((ddi_taskq_dispatch(ixgbe->sfp_taskq,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5100
ixgbe_sfp_check, (void *)ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5102
ixgbe_log(ixgbe, "No memory available to dispatch "
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5110
if ((ixgbe->capab->flags & IXGBE_FLAG_TEMP_SENSOR_CAPABLE) &&
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5113
ixgbe->eicr = eicr;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5114
if ((ddi_taskq_dispatch(ixgbe->overtemp_taskq,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5115
ixgbe_overtemp_check, (void *)ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5117
ixgbe_log(ixgbe, "No memory available to dispatch "
usr/src/uts/common/io/ixgbe/ixgbe_main.c
512
ixgbe_error(ixgbe, "Failed to map PCI configurations");
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5127
ixgbe->eicr = eicr;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5128
if ((ddi_taskq_dispatch(ixgbe->phy_taskq,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5129
ixgbe_phy_check, (void *)ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5131
ixgbe_log(ixgbe, "No memory available to dispatch "
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5143
ixgbe_t *ixgbe = (ixgbe_t *)arg1;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5144
struct ixgbe_hw *hw = &ixgbe->hw;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
515
ixgbe->attach_progress |= ATTACH_PROGRESS_PCI_CONFIG;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5154
mutex_enter(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5155
if (ixgbe->ixgbe_state & IXGBE_SUSPENDED) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5156
mutex_exit(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5168
if (ixgbe_check_acc_handle(ixgbe->osdep.reg_handle) != DDI_FM_OK) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5169
mutex_exit(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5170
ddi_fm_service_impact(ixgbe->dip, DDI_SERVICE_DEGRADED);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5171
atomic_or_32(&ixgbe->ixgbe_state, IXGBE_ERROR);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5180
ASSERT(ixgbe->num_rx_rings == 1);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5181
ASSERT(ixgbe->num_tx_rings == 1);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5187
ixgbe->eimc |= IXGBE_EICR_RTX_QUEUE;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5188
IXGBE_WRITE_REG(hw, IXGBE_EIMC, ixgbe->eimc);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5189
ixgbe->eims |= IXGBE_EICR_RTX_QUEUE;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5193
rx_ring = &ixgbe->rx_rings[0];
usr/src/uts/common/io/ixgbe/ixgbe_main.c
520
if (ixgbe_identify_hardware(ixgbe) != IXGBE_SUCCESS) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5204
tx_ring = &ixgbe->tx_rings[0];
usr/src/uts/common/io/ixgbe/ixgbe_main.c
521
ixgbe_error(ixgbe, "Failed to identify hardware");
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5211
(tx_ring->tbd_free >= ixgbe->tx_resched_thresh));
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5215
if (eicr & ixgbe->capab->other_intr) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5218
ixgbe->eims &= ~(eicr & IXGBE_OTHER_INTR);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5227
ixgbe->eimc = IXGBE_82599_OTHER_INTR;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5228
IXGBE_WRITE_REG(hw, IXGBE_EIMC, ixgbe->eimc);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5234
ixgbe_intr_other_work(ixgbe, eicr);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5235
ixgbe->eims &= ~(eicr & IXGBE_OTHER_INTR);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5238
mutex_exit(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5242
mutex_exit(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5251
IXGBE_WRITE_REG(hw, IXGBE_EIMS, ixgbe->eims);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5257
mac_rx_ring(rx_ring->ixgbe->mac_hdl, rx_ring->ring_handle, mp,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5263
mac_tx_ring_update(ixgbe->mac_hdl, tx_ring->ring_handle);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5276
ixgbe_t *ixgbe = (ixgbe_t *)arg1;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5277
struct ixgbe_hw *hw = &ixgbe->hw;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
528
if (ixgbe_regs_map(ixgbe) != IXGBE_SUCCESS) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5284
if (ixgbe_check_acc_handle(ixgbe->osdep.reg_handle) != DDI_FM_OK) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5285
ddi_fm_service_impact(ixgbe->dip, DDI_SERVICE_DEGRADED);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5286
atomic_or_32(&ixgbe->ixgbe_state, IXGBE_ERROR);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
529
ixgbe_error(ixgbe, "Failed to map device registers");
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5294
ASSERT(ixgbe->num_rx_rings == 1);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5295
ASSERT(ixgbe->num_tx_rings == 1);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5301
ixgbe_intr_rx_work(&ixgbe->rx_rings[0]);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5308
ixgbe_intr_tx_work(&ixgbe->tx_rings[0]);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5312
if (eicr & ixgbe->capab->other_intr) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5313
mutex_enter(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5316
ixgbe->eims &= ~(eicr & IXGBE_OTHER_INTR);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
532
ixgbe->attach_progress |= ATTACH_PROGRESS_REGS_MAP;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5325
ixgbe->eimc = IXGBE_82599_OTHER_INTR;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5326
IXGBE_WRITE_REG(hw, IXGBE_EIMC, ixgbe->eimc);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5332
ixgbe_intr_other_work(ixgbe, eicr);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5333
ixgbe->eims &= ~(eicr & IXGBE_OTHER_INTR);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5334
mutex_exit(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5338
IXGBE_WRITE_REG(hw, IXGBE_EIMS, ixgbe->eims);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5350
ixgbe_t *ixgbe = vect->ixgbe;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5351
struct ixgbe_hw *hw = &ixgbe->hw;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5360
r_idx = bt_getlowbit(vect->rx_map, 0, (ixgbe->num_rx_rings - 1));
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5362
ixgbe_intr_rx_work(&ixgbe->rx_rings[r_idx]);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5364
(ixgbe->num_rx_rings - 1));
usr/src/uts/common/io/ixgbe/ixgbe_main.c
537
ixgbe_init_properties(ixgbe);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5370
r_idx = bt_getlowbit(vect->tx_map, 0, (ixgbe->num_tx_rings - 1));
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5372
ixgbe_intr_tx_work(&ixgbe->tx_rings[r_idx]);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5374
(ixgbe->num_tx_rings - 1));
usr/src/uts/common/io/ixgbe/ixgbe_main.c
538
ixgbe->attach_progress |= ATTACH_PROGRESS_PROPS;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5384
if (ixgbe_check_acc_handle(ixgbe->osdep.reg_handle) !=
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5386
ddi_fm_service_impact(ixgbe->dip,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5388
atomic_or_32(&ixgbe->ixgbe_state, IXGBE_ERROR);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5395
if (eicr & ixgbe->capab->other_intr) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5396
mutex_enter(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5399
ixgbe->eims &= ~(eicr & IXGBE_OTHER_INTR);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5400
ixgbe_intr_other_work(ixgbe, eicr);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5409
ixgbe->eims |= IXGBE_EICR_RTX_QUEUE;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5410
ixgbe_intr_other_work(ixgbe, eicr);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5416
mutex_exit(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5420
IXGBE_WRITE_REG(hw, IXGBE_EIMS, ixgbe->eims);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
543
if (ixgbe_intr_cb_register(ixgbe) != IXGBE_SUCCESS) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5436
ixgbe_alloc_intrs(ixgbe_t *ixgbe)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
544
ixgbe_error(ixgbe, "Failed to register interrupt callback");
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5442
devinfo = ixgbe->dip;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5450
ixgbe_log(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5454
IXGBE_DEBUGLOG_1(ixgbe, "Supported interrupt types: %x", intr_types);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5456
ixgbe->intr_type = 0;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5462
(ixgbe->intr_force <= IXGBE_INTR_MSIX)) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5463
rc = ixgbe_alloc_intr_handles(ixgbe, DDI_INTR_TYPE_MSIX);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5467
ixgbe_log(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5474
ixgbe->num_rx_rings = 1;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5475
ixgbe->num_rx_groups = 1;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5476
ixgbe->num_tx_rings = 1;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5477
ixgbe->classify_mode = IXGBE_CLASSIFY_NONE;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5478
ixgbe_log(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5485
(ixgbe->intr_force <= IXGBE_INTR_MSI)) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5486
rc = ixgbe_alloc_intr_handles(ixgbe, DDI_INTR_TYPE_MSI);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5490
ixgbe_log(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5506
if (ixgbe->hw.mac.type == ixgbe_mac_X550 ||
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5507
ixgbe->hw.mac.type == ixgbe_mac_X550EM_x ||
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5508
ixgbe->hw.mac.type == ixgbe_mac_X550EM_a ||
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5509
ixgbe->hw.mac.type == ixgbe_mac_X550_vf ||
usr/src/uts/common/io/ixgbe/ixgbe_main.c
551
if (ixgbe_alloc_intrs(ixgbe) != IXGBE_SUCCESS) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5510
ixgbe->hw.mac.type == ixgbe_mac_X550EM_x_vf ||
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5511
ixgbe->hw.mac.type == ixgbe_mac_X550EM_a_vf) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5512
ixgbe_log(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5517
rc = ixgbe_alloc_intr_handles(ixgbe, DDI_INTR_TYPE_FIXED);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
552
ixgbe_error(ixgbe, "Failed to allocate interrupts");
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5521
ixgbe_log(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5540
ixgbe_alloc_intr_handles(ixgbe_t *ixgbe, int intr_type)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5548
devinfo = ixgbe->dip;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
555
ixgbe->attach_progress |= ATTACH_PROGRESS_ALLOC_INTR;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5554
IXGBE_DEBUGLOG_0(ixgbe, "interrupt type: legacy");
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5560
IXGBE_DEBUGLOG_0(ixgbe, "interrupt type: MSI");
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5569
request = min(16, ixgbe->num_rx_rings + ixgbe->num_tx_rings);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5570
if (request > ixgbe->capab->max_ring_vect)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5571
request = ixgbe->capab->max_ring_vect;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5573
IXGBE_DEBUGLOG_0(ixgbe, "interrupt type: MSI-X");
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5577
ixgbe_log(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5582
IXGBE_DEBUGLOG_2(ixgbe, "interrupt handles requested: %d minimum: %d",
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5590
ixgbe_log(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5595
IXGBE_DEBUGLOG_1(ixgbe, "interrupts supported: %d", count);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5598
ixgbe->intr_cnt = 0;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5599
ixgbe->intr_cnt_max = 0;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5600
ixgbe->intr_cnt_min = 0;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5605
ixgbe->intr_size = request * sizeof (ddi_intr_handle_t);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5606
ixgbe->htable = kmem_alloc(ixgbe->intr_size, KM_SLEEP);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5608
rc = ddi_intr_alloc(devinfo, ixgbe->htable, intr_type, 0,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5611
ixgbe_log(ixgbe, "Allocate interrupts failed. "
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5616
IXGBE_DEBUGLOG_1(ixgbe, "interrupts actually allocated: %d", actual);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5621
ixgbe->intr_cnt = actual;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5622
ixgbe->intr_cnt_max = request;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5623
ixgbe->intr_cnt_min = minimum;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5629
ring_per_group = ixgbe->num_rx_rings / ixgbe->num_rx_groups;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
563
if (ixgbe_alloc_rings(ixgbe) != IXGBE_SUCCESS) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5630
ASSERT((ixgbe->num_rx_rings % ixgbe->num_rx_groups) == 0);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5632
ixgbe->num_rx_rings = ixgbe->num_rx_groups * actual;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5633
ixgbe_setup_vmdq_rss_conf(ixgbe);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
564
ixgbe_error(ixgbe, "Failed to allocate rx and tx rings");
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5641
ixgbe_log(ixgbe, "Insufficient interrupt handles available: %d",
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5649
rc = ddi_intr_get_pri(ixgbe->htable[0], &ixgbe->intr_pri);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5651
ixgbe_log(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5656
rc = ddi_intr_get_cap(ixgbe->htable[0], &ixgbe->intr_cap);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5658
ixgbe_log(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5663
ixgbe->intr_type = intr_type;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5668
ixgbe_rem_intrs(ixgbe);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
567
ixgbe->attach_progress |= ATTACH_PROGRESS_ALLOC_RINGS;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5680
ixgbe_add_intr_handlers(ixgbe_t *ixgbe)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5685
switch (ixgbe->intr_type) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5690
for (vector = 0; vector < ixgbe->intr_cnt; vector++) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5694
rc = ddi_intr_add_handler(ixgbe->htable[vector],
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5696
(void *)&ixgbe->vect_map[vector], NULL);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5699
ixgbe_log(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5704
ixgbe->htable[vector]);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5716
rc = ddi_intr_add_handler(ixgbe->htable[vector],
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5718
(void *)ixgbe, NULL);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
572
if (ixgbe_map_intrs_to_vectors(ixgbe) != IXGBE_SUCCESS) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5721
ixgbe_log(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
573
ixgbe_error(ixgbe, "Failed to map interrupts to vectors");
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5732
rc = ddi_intr_add_handler(ixgbe->htable[vector],
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5734
(void *)ixgbe, NULL);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5737
ixgbe_log(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5755
ixgbe_map_rxring_to_vector(ixgbe_t *ixgbe, int r_idx, int v_idx)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5760
BT_SET(ixgbe->vect_map[v_idx].rx_map, r_idx);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5765
ixgbe->vect_map[v_idx].rxr_cnt++;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5770
ixgbe->rx_rings[r_idx].intr_vector = v_idx;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5771
ixgbe->rx_rings[r_idx].vect_bit = 1 << v_idx;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5778
ixgbe_map_txring_to_vector(ixgbe_t *ixgbe, int t_idx, int v_idx)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5783
BT_SET(ixgbe->vect_map[v_idx].tx_map, t_idx);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5788
ixgbe->vect_map[v_idx].txr_cnt++;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5793
ixgbe->tx_rings[t_idx].intr_vector = v_idx;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5794
ixgbe->tx_rings[t_idx].vect_bit = 1 << v_idx;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
580
if (ixgbe_add_intr_handlers(ixgbe) != IXGBE_SUCCESS) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5806
ixgbe_setup_ivar(ixgbe_t *ixgbe, uint16_t intr_alloc_entry, uint8_t msix_vector,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5809
struct ixgbe_hw *hw = &ixgbe->hw;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
581
ixgbe_error(ixgbe, "Failed to add interrupt handlers");
usr/src/uts/common/io/ixgbe/ixgbe_main.c
584
ixgbe->attach_progress |= ATTACH_PROGRESS_ADD_INTR;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5866
ixgbe_enable_ivar(ixgbe_t *ixgbe, uint16_t intr_alloc_entry, int8_t cause)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5868
struct ixgbe_hw *hw = &ixgbe->hw;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
590
if ((ixgbe->sfp_taskq = ddi_taskq_create(devinfo, taskqname,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
592
ixgbe_error(ixgbe, "sfp_taskq create failed");
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5920
ixgbe_disable_ivar(ixgbe_t *ixgbe, uint16_t intr_alloc_entry, int8_t cause)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5922
struct ixgbe_hw *hw = &ixgbe->hw;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
595
ixgbe->attach_progress |= ATTACH_PROGRESS_SFP_TASKQ;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5970
ixgbe_get_hw_rx_index(ixgbe_t *ixgbe, uint32_t sw_rx_index)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5973
struct ixgbe_hw *hw = &ixgbe->hw;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5976
if (ixgbe->classify_mode == IXGBE_CLASSIFY_RSS ||
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5977
ixgbe->classify_mode == IXGBE_CLASSIFY_NONE) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5979
} else if (ixgbe->classify_mode == IXGBE_CLASSIFY_VMDQ) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5995
} else if (ixgbe->classify_mode == IXGBE_CLASSIFY_VMDQ_RSS) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5996
rx_ring_per_group = ixgbe->num_rx_rings / ixgbe->num_rx_groups;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
601
if ((ixgbe->overtemp_taskq = ddi_taskq_create(devinfo, taskqname,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6010
if (ixgbe->num_rx_groups > 32) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
603
ixgbe_error(ixgbe, "overtemp_taskq create failed");
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6039
ixgbe_map_intrs_to_vectors(ixgbe_t *ixgbe)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6044
bzero(&ixgbe->vect_map, sizeof (ixgbe->vect_map));
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6045
for (i = 0; i < ixgbe->intr_cnt; i++) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6046
ixgbe->vect_map[i].ixgbe = ixgbe;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6053
if (ixgbe->intr_type != DDI_INTR_TYPE_MSIX) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6054
ixgbe_map_rxring_to_vector(ixgbe, 0, 0);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6055
ixgbe_map_txring_to_vector(ixgbe, 0, 1);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
606
ixgbe->attach_progress |= ATTACH_PROGRESS_OVERTEMP_TASKQ;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6067
BT_SET(ixgbe->vect_map[vector].other_map, 0);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6068
ixgbe->vect_map[vector].other_cnt++;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6073
for (i = 0; i < ixgbe->num_rx_rings; i++) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6074
ixgbe_map_rxring_to_vector(ixgbe, i, vector);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6075
vector = (vector +1) % ixgbe->intr_cnt;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6081
for (i = 0; i < ixgbe->num_tx_rings; i++) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6082
ixgbe_map_txring_to_vector(ixgbe, i, vector);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6083
vector = (vector +1) % ixgbe->intr_cnt;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6096
ixgbe_setup_adapter_vector(ixgbe_t *ixgbe)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6098
struct ixgbe_hw *hw = &ixgbe->hw;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
612
if ((ixgbe->phy_taskq = ddi_taskq_create(devinfo, taskqname,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6132
if (ixgbe->intr_type != DDI_INTR_TYPE_MSIX) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6133
ixgbe_setup_ivar(ixgbe, 0, 0, 0);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6134
ixgbe_setup_ivar(ixgbe, 0, 1, 1);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
614
ixgbe_error(ixgbe, "phy_taskq create failed");
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6141
ixgbe_setup_ivar(ixgbe, IXGBE_IVAR_OTHER_CAUSES_INDEX, 0, -1);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6146
for (v_idx = 0; v_idx < ixgbe->intr_cnt; v_idx++) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6147
vect = &ixgbe->vect_map[v_idx];
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6153
(ixgbe->num_rx_rings - 1));
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6156
hw_index = ixgbe->rx_rings[r_idx].hw_index;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6157
ixgbe_setup_ivar(ixgbe, hw_index, v_idx, 0);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6159
(ixgbe->num_rx_rings - 1));
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6166
(ixgbe->num_tx_rings - 1));
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6169
ixgbe_setup_ivar(ixgbe, r_idx, v_idx, 1);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
617
ixgbe->attach_progress |= ATTACH_PROGRESS_PHY_TASKQ;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6171
(ixgbe->num_tx_rings - 1));
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6180
ixgbe_rem_intr_handlers(ixgbe_t *ixgbe)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6185
for (i = 0; i < ixgbe->intr_cnt; i++) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6186
rc = ddi_intr_remove_handler(ixgbe->htable[i]);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6188
IXGBE_DEBUGLOG_1(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6198
ixgbe_rem_intrs(ixgbe_t *ixgbe)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6203
for (i = 0; i < ixgbe->intr_cnt; i++) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6204
rc = ddi_intr_free(ixgbe->htable[i]);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6206
IXGBE_DEBUGLOG_1(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6211
kmem_free(ixgbe->htable, ixgbe->intr_size);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6212
ixgbe->htable = NULL;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6219
ixgbe_enable_intrs(ixgbe_t *ixgbe)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
622
if (ixgbe_init_driver_settings(ixgbe) != IXGBE_SUCCESS) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6227
if (ixgbe->intr_cap & DDI_INTR_FLAG_BLOCK) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
623
ixgbe_error(ixgbe, "Failed to initialize driver settings");
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6231
rc = ddi_intr_block_enable(ixgbe->htable, ixgbe->intr_cnt);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6233
ixgbe_log(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6241
for (i = 0; i < ixgbe->intr_cnt; i++) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6242
rc = ddi_intr_enable(ixgbe->htable[i]);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6244
ixgbe_log(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6258
ixgbe_disable_intrs(ixgbe_t *ixgbe)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6266
if (ixgbe->intr_cap & DDI_INTR_FLAG_BLOCK) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6267
rc = ddi_intr_block_disable(ixgbe->htable, ixgbe->intr_cnt);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6269
ixgbe_log(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6274
for (i = 0; i < ixgbe->intr_cnt; i++) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6275
rc = ddi_intr_disable(ixgbe->htable[i]);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6277
ixgbe_log(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6291
ixgbe_get_hw_state(ixgbe_t *ixgbe)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6293
struct ixgbe_hw *hw = &ixgbe->hw;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6298
ASSERT(mutex_owned(&ixgbe->gen_lock));
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6299
ixgbe->param_lp_1000fdx_cap = 0;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6300
ixgbe->param_lp_100fdx_cap = 0;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6304
ixgbe->phys_supported = ixgbe_get_supported_physical_layer(hw);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6314
ixgbe->param_lp_1000fdx_cap =
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6316
ixgbe->param_lp_100fdx_cap =
usr/src/uts/common/io/ixgbe/ixgbe_main.c
633
ixgbe_init_locks(ixgbe);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6338
speed = ixgbe->speeds_supported;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
634
ixgbe->attach_progress |= ATTACH_PROGRESS_LOCKS;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6340
ixgbe->param_adv_10000fdx_cap =
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6342
ixgbe->param_adv_5000fdx_cap =
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6344
ixgbe->param_adv_2500fdx_cap =
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6346
ixgbe->param_adv_1000fdx_cap =
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6348
ixgbe->param_adv_100fdx_cap =
usr/src/uts/common/io/ixgbe/ixgbe_main.c
639
if (ixgbe_init(ixgbe) != IXGBE_SUCCESS) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
640
ixgbe_error(ixgbe, "Failed to initialize adapter");
usr/src/uts/common/io/ixgbe/ixgbe_main.c
643
ixgbe->link_check_complete = B_FALSE;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
644
ixgbe->link_check_hrtime = gethrtime() +
usr/src/uts/common/io/ixgbe/ixgbe_main.c
646
ixgbe->attach_progress |= ATTACH_PROGRESS_INIT;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6462
ixgbe_fm_init(ixgbe_t *ixgbe)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6470
if (ixgbe->fm_capabilities & DDI_FM_ACCCHK_CAPABLE) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6476
if (ixgbe->fm_capabilities & DDI_FM_DMACHK_CAPABLE) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
648
if (ixgbe_check_acc_handle(ixgbe->osdep.cfg_handle) != DDI_FM_OK) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6484
if (ixgbe->fm_capabilities) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6489
ddi_fm_init(ixgbe->dip, &ixgbe->fm_capabilities, &iblk);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
649
ddi_fm_service_impact(ixgbe->dip, DDI_SERVICE_LOST);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6494
if (DDI_FM_EREPORT_CAP(ixgbe->fm_capabilities) ||
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6495
DDI_FM_ERRCB_CAP(ixgbe->fm_capabilities))
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6496
pci_ereport_setup(ixgbe->dip);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6501
if (DDI_FM_ERRCB_CAP(ixgbe->fm_capabilities))
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6502
ddi_fm_handler_register(ixgbe->dip,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6503
ixgbe_fm_error_cb, (void*) ixgbe);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6508
ixgbe_fm_fini(ixgbe_t *ixgbe)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6513
if (ixgbe->fm_capabilities) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6518
if (DDI_FM_EREPORT_CAP(ixgbe->fm_capabilities) ||
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6519
DDI_FM_ERRCB_CAP(ixgbe->fm_capabilities))
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6520
pci_ereport_teardown(ixgbe->dip);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6525
if (DDI_FM_ERRCB_CAP(ixgbe->fm_capabilities))
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6526
ddi_fm_handler_unregister(ixgbe->dip);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6531
ddi_fm_fini(ixgbe->dip);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6536
ixgbe_fm_ereport(ixgbe_t *ixgbe, char *detail)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6543
if (DDI_FM_EREPORT_CAP(ixgbe->fm_capabilities)) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6544
ddi_fm_ereport_post(ixgbe->dip, buf, ena, DDI_NOSLEEP,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
656
ixgbe_init_params(ixgbe);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6564
ixgbe_get_rx_ring_index(ixgbe_t *ixgbe, int gindex, int rindex)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6569
for (i = 0; i < ixgbe->num_rx_rings; i++) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6570
rx_ring = &ixgbe->rx_rings[i];
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6588
ixgbe_t *ixgbe = (ixgbe_t *)arg;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6598
ixgbe, group_index, ring_index);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6602
ixgbe_rx_ring_t *rx_ring = &ixgbe->rx_rings[global_ring_index];
usr/src/uts/common/io/ixgbe/ixgbe_main.c
661
if (ixgbe_init_stats(ixgbe) != IXGBE_SUCCESS) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6614
if (ixgbe->intr_type &
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6617
ixgbe->htable[rx_ring->intr_vector];
usr/src/uts/common/io/ixgbe/ixgbe_main.c
662
ixgbe_error(ixgbe, "Failed to initialize statistics");
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6624
ASSERT(ring_index < ixgbe->num_tx_rings);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6626
ixgbe_tx_ring_t *tx_ring = &ixgbe->tx_rings[ring_index];
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6634
if (ixgbe->intr_type &
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6637
ixgbe->htable[tx_ring->intr_vector];
usr/src/uts/common/io/ixgbe/ixgbe_main.c
665
ixgbe->attach_progress |= ATTACH_PROGRESS_STATS;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6653
ixgbe_t *ixgbe = (ixgbe_t *)arg;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6654
struct ixgbe_hw *hw = &ixgbe->hw;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6660
rx_group = &ixgbe->rx_groups[index];
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6669
if ((ixgbe->classify_mode == IXGBE_CLASSIFY_VMDQ ||
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6670
ixgbe->classify_mode == IXGBE_CLASSIFY_VMDQ_RSS) &&
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6679
infop->mgi_count = (ixgbe->num_rx_rings / ixgbe->num_rx_groups);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6697
ixgbe_t *ixgbe = rx_ring->ixgbe;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
670
if (ixgbe_register_mac(ixgbe) != IXGBE_SUCCESS) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6702
mutex_enter(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6703
if (ixgbe->ixgbe_state & IXGBE_INTR_ADJUST) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6704
mutex_exit(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
671
ixgbe_error(ixgbe, "Failed to register MAC");
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6718
ixgbe_enable_ivar(ixgbe, hw_r_idx, 0);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6720
BT_SET(ixgbe->vect_map[v_idx].rx_map, r_idx);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6725
IXGBE_WRITE_REG(&ixgbe->hw, IXGBE_EICS, (1 << v_idx));
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6726
IXGBE_WRITE_FLUSH(&ixgbe->hw);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6728
mutex_exit(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
674
mac_link_update(ixgbe->mac_hdl, LINK_STATE_UNKNOWN);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6740
ixgbe_t *ixgbe = rx_ring->ixgbe;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6745
mutex_enter(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6746
if (ixgbe->ixgbe_state & IXGBE_INTR_ADJUST) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6747
mutex_exit(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
675
ixgbe->attach_progress |= ATTACH_PROGRESS_MAC;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6769
ixgbe_disable_ivar(ixgbe, hw_r_idx, 0);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
677
ixgbe->periodic_id = ddi_periodic_add(ixgbe_link_timer, ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6771
BT_CLEAR(ixgbe->vect_map[v_idx].rx_map, r_idx);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6773
mutex_exit(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
679
if (ixgbe->periodic_id == 0) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
680
ixgbe_error(ixgbe, "Failed to add the link check timer");
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6800
ixgbe_t *ixgbe = rx_group->ixgbe;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6801
struct ixgbe_hw *hw = &ixgbe->hw;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6806
mutex_enter(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6808
if (ixgbe->ixgbe_state & IXGBE_SUSPENDED) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6809
mutex_exit(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6816
VERIFY3B(ixgbe->vlft_enabled, ==, B_TRUE);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6817
is_def_grp = (rx_group->index == ixgbe->rx_def_group);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
683
ixgbe->attach_progress |= ATTACH_PROGRESS_LINK_TIMER;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6842
mutex_exit(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6851
mutex_exit(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6873
mutex_exit(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6889
mutex_exit(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
689
if (ixgbe_enable_intrs(ixgbe) != IXGBE_SUCCESS) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
690
ixgbe_error(ixgbe, "Failed to enable DDI interrupts");
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6904
ixgbe_t *ixgbe = rx_group->ixgbe;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6905
struct ixgbe_hw *hw = &ixgbe->hw;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6910
mutex_enter(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6912
if (ixgbe->ixgbe_state & IXGBE_SUSPENDED) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6913
mutex_exit(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6917
is_def_grp = (rx_group->index == ixgbe->rx_def_group);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
693
ixgbe->attach_progress |= ATTACH_PROGRESS_ENABLE_INTR;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6931
mutex_exit(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6937
mutex_exit(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
695
if (ixgbe->hw.bus.func == 0) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6957
mutex_exit(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6962
mutex_exit(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
697
&ixgbe_ufm_ops, &ixgbe->ixgbe_ufmh, ixgbe) != 0) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
698
ixgbe_error(ixgbe, "Failed to enable DDI UFM support");
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6987
defgrp = &ixgbe->rx_groups[ixgbe->rx_def_group];
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6994
mutex_exit(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
7000
mutex_exit(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
701
ixgbe->attach_progress |= ATTACH_PROGRESS_UFM;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
7011
ixgbe_t *ixgbe = rx_group->ixgbe;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
7012
struct ixgbe_hw *hw = &ixgbe->hw;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
7015
mutex_enter(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
7017
if (ixgbe->ixgbe_state & IXGBE_SUSPENDED) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
7018
mutex_exit(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
702
ddi_ufm_update(ixgbe->ixgbe_ufmh);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
7022
if (ixgbe->unicst_avail == 0) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
7024
mutex_exit(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
7035
if (ixgbe->unicst_addr[rx_group->index].mac.set == 1) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
7036
for (i = ixgbe->num_rx_groups; i < ixgbe->unicst_total; i++) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
7037
if (ixgbe->unicst_addr[i].mac.set == 0) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
7048
mutex_exit(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
705
ixgbe_log(ixgbe, "%s", ixgbe_ident);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
7052
bcopy(mac_addr, ixgbe->unicst_addr[slot].mac.addr, ETHERADDRL);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
7053
(void) ixgbe_set_rar(hw, slot, ixgbe->unicst_addr[slot].mac.addr,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
7055
ixgbe->unicst_addr[slot].mac.set = 1;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
7056
ixgbe->unicst_addr[slot].mac.group_index = rx_group->index;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
7057
ixgbe->unicst_avail--;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
7059
mutex_exit(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
706
atomic_or_32(&ixgbe->ixgbe_state, IXGBE_INITIALIZED);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
7071
ixgbe_t *ixgbe = rx_group->ixgbe;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
7072
struct ixgbe_hw *hw = &ixgbe->hw;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
7075
mutex_enter(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
7077
if (ixgbe->ixgbe_state & IXGBE_SUSPENDED) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
7078
mutex_exit(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
7082
slot = ixgbe_unicst_find(ixgbe, mac_addr);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
7084
mutex_exit(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
7088
if (ixgbe->unicst_addr[slot].mac.set == 0) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
7089
mutex_exit(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
7093
bzero(ixgbe->unicst_addr[slot].mac.addr, ETHERADDRL);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
7095
ixgbe->unicst_addr[slot].mac.set = 0;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
7096
ixgbe->unicst_avail++;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
7098
mutex_exit(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
711
ixgbe_unconfigure(devinfo, ixgbe);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
7112
ixgbe_t *ixgbe = arg;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
7121
switch (ixgbe->hw.eeprom.type) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
7203
ixgbe_t *ixgbe = arg;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
7204
struct ixgbe_hw *hw = &ixgbe->hw;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
7205
const struct ixgbe_nvm_version *vers = &ixgbe->ixgbe_vers;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
7228
ddi_ufm_slot_set_imgsize(slotp, ixgbe->hw.eeprom.word_size * 2);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
7320
ixgbe_t *ixgbe = arg;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
7323
switch (ixgbe->hw.eeprom.type) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
7327
if (ixgbe->hw.eeprom.ops.read_buffer != NULL) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
733
ixgbe_t *ixgbe;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
7344
ixgbe_t *ixgbe = arg;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
7345
uint32_t imgsize = ixgbe->hw.eeprom.word_size * 2;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
7355
if (ixgbe->hw.eeprom.ops.read_buffer == NULL) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
7371
mutex_enter(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
7372
ret = ixgbe_read_eeprom_buffer(&ixgbe->hw, wordoff, nwords, buf16);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
7373
mutex_exit(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
75
static void ixgbe_setup_vmdq_rss_conf(ixgbe_t *ixgbe);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
752
ixgbe = (ixgbe_t *)ddi_get_driver_private(devinfo);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
753
if (ixgbe == NULL)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
762
if (ixgbe->ixgbe_state & IXGBE_STARTED) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
763
atomic_and_32(&ixgbe->ixgbe_state, ~IXGBE_STARTED);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
764
mutex_enter(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
765
ixgbe_stop(ixgbe, B_TRUE);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
766
mutex_exit(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
768
ixgbe_disable_watchdog_timer(ixgbe);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
775
if (!ixgbe_rx_drain(ixgbe))
usr/src/uts/common/io/ixgbe/ixgbe_main.c
781
ixgbe_unconfigure(devinfo, ixgbe);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
799
ixgbe_t *ixgbe;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
802
ixgbe = (ixgbe_t *)ddi_get_driver_private(devinfo);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
804
if (ixgbe == NULL)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
807
hw = &ixgbe->hw;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
812
ixgbe_disable_adapter_interrupts(ixgbe);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
833
ixgbe_unconfigure(dev_info_t *devinfo, ixgbe_t *ixgbe)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
838
if (ixgbe->attach_progress & ATTACH_PROGRESS_ENABLE_INTR) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
839
(void) ixgbe_disable_intrs(ixgbe);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
845
if (ixgbe->attach_progress & ATTACH_PROGRESS_LINK_TIMER) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
846
if (ixgbe->periodic_id != NULL) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
847
ddi_periodic_delete(ixgbe->periodic_id);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
848
ixgbe->periodic_id = NULL;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
855
if (ixgbe->attach_progress & ATTACH_PROGRESS_UFM) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
856
ddi_ufm_fini(ixgbe->ixgbe_ufmh);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
862
if (ixgbe->attach_progress & ATTACH_PROGRESS_MAC) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
863
(void) mac_unregister(ixgbe->mac_hdl);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
869
if (ixgbe->attach_progress & ATTACH_PROGRESS_STATS) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
870
kstat_delete((kstat_t *)ixgbe->ixgbe_ks);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
876
if (ixgbe->attach_progress & ATTACH_PROGRESS_ADD_INTR) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
877
ixgbe_rem_intr_handlers(ixgbe);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
883
if (ixgbe->attach_progress & ATTACH_PROGRESS_SFP_TASKQ) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
884
ddi_taskq_destroy(ixgbe->sfp_taskq);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
890
if (ixgbe->attach_progress & ATTACH_PROGRESS_OVERTEMP_TASKQ) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
891
ddi_taskq_destroy(ixgbe->overtemp_taskq);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
897
if (ixgbe->attach_progress & ATTACH_PROGRESS_PHY_TASKQ) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
898
ddi_taskq_destroy(ixgbe->phy_taskq);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
904
if (ixgbe->attach_progress & ATTACH_PROGRESS_ALLOC_INTR) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
905
ixgbe_rem_intrs(ixgbe);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
911
if (ixgbe->cb_hdl != NULL) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
912
(void) ddi_cb_unregister(ixgbe->cb_hdl);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
918
if (ixgbe->attach_progress & ATTACH_PROGRESS_PROPS) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
925
if (ixgbe->attach_progress & ATTACH_PROGRESS_INIT) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
926
mutex_enter(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
927
ixgbe_chip_stop(ixgbe);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
928
mutex_exit(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
934
if (ixgbe->attach_progress & ATTACH_PROGRESS_REGS_MAP) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
935
if (ixgbe->osdep.reg_handle != NULL)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
936
ddi_regs_map_free(&ixgbe->osdep.reg_handle);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
942
if (ixgbe->attach_progress & ATTACH_PROGRESS_PCI_CONFIG) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
943
if (ixgbe->osdep.cfg_handle != NULL)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
944
pci_config_teardown(&ixgbe->osdep.cfg_handle);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
950
if (ixgbe->attach_progress & ATTACH_PROGRESS_ACI) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
951
ixgbe_shutdown_aci(&ixgbe->hw);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
952
kmem_free(ixgbe->aci_event.msg_buf, IXGBE_ACI_MAX_BUFFER_SIZE);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
958
if (ixgbe->attach_progress & ATTACH_PROGRESS_LOCKS) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
959
ixgbe_destroy_locks(ixgbe);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
965
if (ixgbe->attach_progress & ATTACH_PROGRESS_ALLOC_RINGS) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
966
ixgbe_free_rings(ixgbe);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
972
if (ixgbe->attach_progress & ATTACH_PROGRESS_FM_INIT) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
973
ixgbe_fm_fini(ixgbe);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
979
kmem_free(ixgbe, sizeof (ixgbe_t));
usr/src/uts/common/io/ixgbe/ixgbe_main.c
989
ixgbe_register_mac(ixgbe_t *ixgbe)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
991
struct ixgbe_hw *hw = &ixgbe->hw;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
999
mac->m_driver = ixgbe;
usr/src/uts/common/io/ixgbe/ixgbe_osdep.c
104
ixgbe_t *ixgbe = OS_DEP(hw)->ixgbe;
usr/src/uts/common/io/ixgbe/ixgbe_osdep.c
107
DDI_INTR_PRI(ixgbe->intr_pri));
usr/src/uts/common/io/ixgbe/ixgbe_osdep.c
59
ixgbe_t *ixgbe = OS_DEP(hw)->ixgbe;
usr/src/uts/common/io/ixgbe/ixgbe_osdep.c
61
ixgbe_error(ixgbe, "failed to read status register: device "
usr/src/uts/common/io/ixgbe/ixgbe_osdep.c
63
if (ixgbe->ixgbe_ks != NULL) {
usr/src/uts/common/io/ixgbe/ixgbe_osdep.c
64
ixgbe_stat_t *s = ixgbe->ixgbe_ks->ks_data;
usr/src/uts/common/io/ixgbe/ixgbe_osdep.h
165
struct ixgbe *ixgbe;
usr/src/uts/common/io/ixgbe/ixgbe_rx.c
117
mutex_enter(&ixgbe->rx_pending_lock);
usr/src/uts/common/io/ixgbe/ixgbe_rx.c
119
atomic_dec_32(&ixgbe->rcb_pending);
usr/src/uts/common/io/ixgbe/ixgbe_rx.c
129
mutex_exit(&ixgbe->rx_pending_lock);
usr/src/uts/common/io/ixgbe/ixgbe_rx.c
142
ixgbe_t *ixgbe;
usr/src/uts/common/io/ixgbe/ixgbe_rx.c
146
ixgbe = rx_data->rx_ring->ixgbe;
usr/src/uts/common/io/ixgbe/ixgbe_rx.c
153
ddi_fm_service_impact(ixgbe->dip, DDI_SERVICE_DEGRADED);
usr/src/uts/common/io/ixgbe/ixgbe_rx.c
154
atomic_or_32(&ixgbe->ixgbe_state, IXGBE_ERROR);
usr/src/uts/common/io/ixgbe/ixgbe_rx.c
163
ixgbe_log(ixgbe, "ixgbe_rx_copy: allocate buffer failed");
usr/src/uts/common/io/ixgbe/ixgbe_rx.c
190
ixgbe_t *ixgbe = rx_data->rx_ring->ixgbe;
usr/src/uts/common/io/ixgbe/ixgbe_rx.c
227
ddi_fm_service_impact(ixgbe->dip, DDI_SERVICE_DEGRADED);
usr/src/uts/common/io/ixgbe/ixgbe_rx.c
229
atomic_or_32(&ixgbe->ixgbe_state, IXGBE_ERROR);
usr/src/uts/common/io/ixgbe/ixgbe_rx.c
277
ixgbe_t *ixgbe = rx_data->rx_ring->ixgbe;
usr/src/uts/common/io/ixgbe/ixgbe_rx.c
301
ddi_fm_service_impact(ixgbe->dip, DDI_SERVICE_DEGRADED);
usr/src/uts/common/io/ixgbe/ixgbe_rx.c
303
atomic_or_32(&ixgbe->ixgbe_state, IXGBE_ERROR);
usr/src/uts/common/io/ixgbe/ixgbe_rx.c
334
last_pkt_len = pkt_len - ixgbe->rx_buf_size * (lro_num - 1);
usr/src/uts/common/io/ixgbe/ixgbe_rx.c
342
mp->b_wptr = mp->b_rptr + ixgbe->rx_buf_size;
usr/src/uts/common/io/ixgbe/ixgbe_rx.c
387
ixgbe_t *ixgbe;
usr/src/uts/common/io/ixgbe/ixgbe_rx.c
395
ixgbe = rx_data->rx_ring->ixgbe;
usr/src/uts/common/io/ixgbe/ixgbe_rx.c
402
ixgbe_log(ixgbe, "LRO copy MP alloc failed");
usr/src/uts/common/io/ixgbe/ixgbe_rx.c
416
ddi_fm_service_impact(ixgbe->dip, DDI_SERVICE_DEGRADED);
usr/src/uts/common/io/ixgbe/ixgbe_rx.c
417
atomic_or_32(&ixgbe->ixgbe_state, IXGBE_ERROR);
usr/src/uts/common/io/ixgbe/ixgbe_rx.c
427
last_pkt_len = pkt_len - ixgbe->rx_buf_size * (lro_num - 1);
usr/src/uts/common/io/ixgbe/ixgbe_rx.c
437
ixgbe->rx_buf_size);
usr/src/uts/common/io/ixgbe/ixgbe_rx.c
438
mp->b_wptr += ixgbe->rx_buf_size;
usr/src/uts/common/io/ixgbe/ixgbe_rx.c
52
ixgbe_t *ixgbe;
usr/src/uts/common/io/ixgbe/ixgbe_rx.c
555
ixgbe_t *ixgbe = rx_ring->ixgbe;
usr/src/uts/common/io/ixgbe/ixgbe_rx.c
558
if ((ixgbe->ixgbe_state & IXGBE_SUSPENDED) ||
usr/src/uts/common/io/ixgbe/ixgbe_rx.c
559
(ixgbe->ixgbe_state & IXGBE_ERROR) ||
usr/src/uts/common/io/ixgbe/ixgbe_rx.c
560
(ixgbe->ixgbe_state & IXGBE_OVERTEMP) ||
usr/src/uts/common/io/ixgbe/ixgbe_rx.c
561
!(ixgbe->ixgbe_state & IXGBE_STARTED))
usr/src/uts/common/io/ixgbe/ixgbe_rx.c
575
ddi_fm_service_impact(ixgbe->dip, DDI_SERVICE_DEGRADED);
usr/src/uts/common/io/ixgbe/ixgbe_rx.c
576
atomic_or_32(&ixgbe->ixgbe_state, IXGBE_ERROR);
usr/src/uts/common/io/ixgbe/ixgbe_rx.c
597
((!ixgbe->lro_enable) &&
usr/src/uts/common/io/ixgbe/ixgbe_rx.c
607
if (ixgbe->lro_enable) {
usr/src/uts/common/io/ixgbe/ixgbe_rx.c
619
ixgbe->lro_pkt_count++;
usr/src/uts/common/io/ixgbe/ixgbe_rx.c
62
ixgbe = rx_ring->ixgbe;
usr/src/uts/common/io/ixgbe/ixgbe_rx.c
622
ixgbe->rx_buf_size;
usr/src/uts/common/io/ixgbe/ixgbe_rx.c
672
if (pkt_len > ixgbe->rx_copy_thresh)
usr/src/uts/common/io/ixgbe/ixgbe_rx.c
682
if (ixgbe->rx_hcksum_enable)
usr/src/uts/common/io/ixgbe/ixgbe_rx.c
694
if (ixgbe->lro_enable) {
usr/src/uts/common/io/ixgbe/ixgbe_rx.c
713
if (++pkt_num > ixgbe->rx_limit_per_intr) {
usr/src/uts/common/io/ixgbe/ixgbe_rx.c
732
if (ixgbe->lro_enable) {
usr/src/uts/common/io/ixgbe/ixgbe_rx.c
738
IXGBE_WRITE_REG(&ixgbe->hw, IXGBE_RDT(rx_ring->hw_index), rx_tail);
usr/src/uts/common/io/ixgbe/ixgbe_rx.c
740
if (ixgbe_check_acc_handle(ixgbe->osdep.reg_handle) != DDI_FM_OK) {
usr/src/uts/common/io/ixgbe/ixgbe_rx.c
741
ddi_fm_service_impact(ixgbe->dip, DDI_SERVICE_DEGRADED);
usr/src/uts/common/io/ixgbe/ixgbe_rx.c
742
atomic_or_32(&ixgbe->ixgbe_state, IXGBE_ERROR);
usr/src/uts/common/io/ixgbe/ixgbe_stat.c
171
ixgbe_t *ixgbe;
usr/src/uts/common/io/ixgbe/ixgbe_stat.c
179
ixgbe = (ixgbe_t *)ks->ks_private;
usr/src/uts/common/io/ixgbe/ixgbe_stat.c
181
hw = &ixgbe->hw;
usr/src/uts/common/io/ixgbe/ixgbe_stat.c
183
mutex_enter(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_stat.c
188
ixgbe_ks->link_speed.value.ui64 = ixgbe->link_speed;
usr/src/uts/common/io/ixgbe/ixgbe_stat.c
189
ixgbe_ks->reset_count.value.ui64 = ixgbe->reset_count;
usr/src/uts/common/io/ixgbe/ixgbe_stat.c
190
ixgbe_ks->lroc.value.ui64 = ixgbe->lro_pkt_count;
usr/src/uts/common/io/ixgbe/ixgbe_stat.c
195
for (i = 0; i < ixgbe->num_rx_rings; i++) {
usr/src/uts/common/io/ixgbe/ixgbe_stat.c
197
ixgbe->rx_rings[i].stat_frame_error;
usr/src/uts/common/io/ixgbe/ixgbe_stat.c
199
ixgbe->rx_rings[i].stat_cksum_error;
usr/src/uts/common/io/ixgbe/ixgbe_stat.c
201
ixgbe->rx_rings[i].stat_exceed_pkt;
usr/src/uts/common/io/ixgbe/ixgbe_stat.c
211
for (i = 0; i < ixgbe->num_tx_rings; i++) {
usr/src/uts/common/io/ixgbe/ixgbe_stat.c
213
ixgbe->tx_rings[i].stat_overload;
usr/src/uts/common/io/ixgbe/ixgbe_stat.c
215
ixgbe->tx_rings[i].stat_fail_no_tbd;
usr/src/uts/common/io/ixgbe/ixgbe_stat.c
217
ixgbe->tx_rings[i].stat_fail_no_tcb;
usr/src/uts/common/io/ixgbe/ixgbe_stat.c
219
ixgbe->tx_rings[i].stat_fail_dma_bind;
usr/src/uts/common/io/ixgbe/ixgbe_stat.c
221
ixgbe->tx_rings[i].stat_reschedule;
usr/src/uts/common/io/ixgbe/ixgbe_stat.c
223
ixgbe->tx_rings[i].stat_break_tbd_limit;
usr/src/uts/common/io/ixgbe/ixgbe_stat.c
225
ixgbe->tx_rings[i].stat_lso_header_fail;
usr/src/uts/common/io/ixgbe/ixgbe_stat.c
304
mutex_exit(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_stat.c
306
if (ixgbe_check_acc_handle(ixgbe->osdep.reg_handle) != DDI_FM_OK)
usr/src/uts/common/io/ixgbe/ixgbe_stat.c
307
ddi_fm_service_impact(ixgbe->dip, DDI_SERVICE_UNAFFECTED);
usr/src/uts/common/io/ixgbe/ixgbe_stat.c
316
ixgbe_init_stats(ixgbe_t *ixgbe)
usr/src/uts/common/io/ixgbe/ixgbe_stat.c
324
ks = kstat_create(MODULE_NAME, ddi_get_instance(ixgbe->dip),
usr/src/uts/common/io/ixgbe/ixgbe_stat.c
329
ixgbe_error(ixgbe,
usr/src/uts/common/io/ixgbe/ixgbe_stat.c
334
ixgbe->ixgbe_ks = ks;
usr/src/uts/common/io/ixgbe/ixgbe_stat.c
446
ks->ks_private = (void *)ixgbe;
usr/src/uts/common/io/ixgbe/ixgbe_stat.c
462
ixgbe_t *ixgbe = (ixgbe_t *)arg;
usr/src/uts/common/io/ixgbe/ixgbe_stat.c
463
struct ixgbe_hw *hw = &ixgbe->hw;
usr/src/uts/common/io/ixgbe/ixgbe_stat.c
468
ixgbe_ks = (ixgbe_stat_t *)ixgbe->ixgbe_ks->ks_data;
usr/src/uts/common/io/ixgbe/ixgbe_stat.c
470
mutex_enter(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_stat.c
480
speeds = ixgbe->speeds_supported;
usr/src/uts/common/io/ixgbe/ixgbe_stat.c
482
if (ixgbe->ixgbe_state & IXGBE_SUSPENDED) {
usr/src/uts/common/io/ixgbe/ixgbe_stat.c
483
mutex_exit(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_stat.c
489
*val = ixgbe->link_speed * 1000000ull;
usr/src/uts/common/io/ixgbe/ixgbe_stat.c
619
*val = (uint64_t)ixgbe_phy_to_media(ixgbe);
usr/src/uts/common/io/ixgbe/ixgbe_stat.c
643
*val = ixgbe->param_asym_pause_cap;
usr/src/uts/common/io/ixgbe/ixgbe_stat.c
647
*val = ixgbe->param_pause_cap;
usr/src/uts/common/io/ixgbe/ixgbe_stat.c
655
*val = ixgbe->param_adv_10000fdx_cap;
usr/src/uts/common/io/ixgbe/ixgbe_stat.c
659
*val = ixgbe->param_adv_5000fdx_cap;
usr/src/uts/common/io/ixgbe/ixgbe_stat.c
663
*val = ixgbe->param_adv_2500fdx_cap;
usr/src/uts/common/io/ixgbe/ixgbe_stat.c
667
*val = ixgbe->param_adv_1000fdx_cap;
usr/src/uts/common/io/ixgbe/ixgbe_stat.c
671
*val = ixgbe->param_adv_100fdx_cap;
usr/src/uts/common/io/ixgbe/ixgbe_stat.c
675
*val = ixgbe->param_adv_asym_pause_cap;
usr/src/uts/common/io/ixgbe/ixgbe_stat.c
679
*val = ixgbe->param_adv_pause_cap;
usr/src/uts/common/io/ixgbe/ixgbe_stat.c
683
*val = ixgbe->param_adv_autoneg_cap;
usr/src/uts/common/io/ixgbe/ixgbe_stat.c
687
*val = ixgbe->param_lp_10000fdx_cap;
usr/src/uts/common/io/ixgbe/ixgbe_stat.c
691
*val = ixgbe->param_lp_5000fdx_cap;
usr/src/uts/common/io/ixgbe/ixgbe_stat.c
695
*val = ixgbe->param_lp_2500fdx_cap;
usr/src/uts/common/io/ixgbe/ixgbe_stat.c
699
*val = ixgbe->param_lp_1000fdx_cap;
usr/src/uts/common/io/ixgbe/ixgbe_stat.c
703
*val = ixgbe->param_lp_100fdx_cap;
usr/src/uts/common/io/ixgbe/ixgbe_stat.c
707
*val = ixgbe->param_lp_asym_pause_cap;
usr/src/uts/common/io/ixgbe/ixgbe_stat.c
711
*val = ixgbe->param_lp_pause_cap;
usr/src/uts/common/io/ixgbe/ixgbe_stat.c
715
*val = ixgbe->param_lp_autoneg_cap;
usr/src/uts/common/io/ixgbe/ixgbe_stat.c
719
*val = ixgbe->param_asym_pause_cap;
usr/src/uts/common/io/ixgbe/ixgbe_stat.c
723
*val = ixgbe->param_pause_cap;
usr/src/uts/common/io/ixgbe/ixgbe_stat.c
727
*val = ixgbe->param_adv_autoneg_cap;
usr/src/uts/common/io/ixgbe/ixgbe_stat.c
731
*val = ixgbe->link_duplex;
usr/src/uts/common/io/ixgbe/ixgbe_stat.c
741
*val = ixgbe->param_rem_fault;
usr/src/uts/common/io/ixgbe/ixgbe_stat.c
745
*val = ixgbe->param_adv_rem_fault;
usr/src/uts/common/io/ixgbe/ixgbe_stat.c
749
*val = ixgbe->param_lp_rem_fault;
usr/src/uts/common/io/ixgbe/ixgbe_stat.c
759
mutex_exit(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_stat.c
763
mutex_exit(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_stat.c
765
if (ixgbe_check_acc_handle(ixgbe->osdep.reg_handle) != DDI_FM_OK) {
usr/src/uts/common/io/ixgbe/ixgbe_stat.c
766
ddi_fm_service_impact(ixgbe->dip, DDI_SERVICE_DEGRADED);
usr/src/uts/common/io/ixgbe/ixgbe_stat.c
780
ixgbe_t *ixgbe = rx_ring->ixgbe;
usr/src/uts/common/io/ixgbe/ixgbe_stat.c
782
if (ixgbe->ixgbe_state & IXGBE_SUSPENDED) {
usr/src/uts/common/io/ixgbe/ixgbe_stat.c
810
ixgbe_t *ixgbe = tx_ring->ixgbe;
usr/src/uts/common/io/ixgbe/ixgbe_stat.c
812
if (ixgbe->ixgbe_state & IXGBE_SUSPENDED) {
usr/src/uts/common/io/ixgbe/ixgbe_sw.h
543
struct ixgbe *ixgbe;
usr/src/uts/common/io/ixgbe/ixgbe_sw.h
608
struct ixgbe *ixgbe; /* Pointer to ixgbe struct */
usr/src/uts/common/io/ixgbe/ixgbe_sw.h
617
struct ixgbe *ixgbe; /* Pointer to ixgbe struct */
usr/src/uts/common/io/ixgbe/ixgbe_sw.h
626
struct ixgbe *ixgbe; /* point to my adapter */
usr/src/uts/common/io/ixgbe/ixgbe_transceiver.c
107
ixgbe_phy_to_media(ixgbe_t *ixgbe)
usr/src/uts/common/io/ixgbe/ixgbe_transceiver.c
109
struct ixgbe_hw *hw = &ixgbe->hw;
usr/src/uts/common/io/ixgbe/ixgbe_transceiver.c
111
ASSERT(MUTEX_HELD(&ixgbe->gen_lock));
usr/src/uts/common/io/ixgbe/ixgbe_transceiver.c
122
if ((ixgbe->phys_supported & map->ipm_phys) != 0 &&
usr/src/uts/common/io/ixgbe/ixgbe_transceiver.c
123
ixgbe->link_speed == map->ipm_speed) {
usr/src/uts/common/io/ixgbe/ixgbe_transceiver.c
128
if (ixgbe->link_state != LINK_STATE_DOWN) {
usr/src/uts/common/io/ixgbe/ixgbe_transceiver.c
145
ixgbe_transceiver_is_8472(ixgbe_t *ixgbe, boolean_t *valp)
usr/src/uts/common/io/ixgbe/ixgbe_transceiver.c
149
struct ixgbe_hw *hw = &ixgbe->hw;
usr/src/uts/common/io/ixgbe/ixgbe_transceiver.c
151
ASSERT(MUTEX_HELD(&ixgbe->gen_lock));
usr/src/uts/common/io/ixgbe/ixgbe_transceiver.c
164
ixgbe_log(ixgbe, "transceiver requires unsupported address "
usr/src/uts/common/io/ixgbe/ixgbe_transceiver.c
187
ixgbe_t *ixgbe = arg;
usr/src/uts/common/io/ixgbe/ixgbe_transceiver.c
188
struct ixgbe_hw *hw = &ixgbe->hw;
usr/src/uts/common/io/ixgbe/ixgbe_transceiver.c
194
mutex_enter(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_transceiver.c
195
if (ixgbe_get_media_type(&ixgbe->hw) == ixgbe_media_type_copper) {
usr/src/uts/common/io/ixgbe/ixgbe_transceiver.c
196
mutex_exit(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_transceiver.c
216
mutex_exit(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_transceiver.c
233
ixgbe_t *ixgbe = arg;
usr/src/uts/common/io/ixgbe/ixgbe_transceiver.c
234
struct ixgbe_hw *hw = &ixgbe->hw;
usr/src/uts/common/io/ixgbe/ixgbe_transceiver.c
251
mutex_enter(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_transceiver.c
252
if (ixgbe_get_media_type(&ixgbe->hw) == ixgbe_media_type_copper) {
usr/src/uts/common/io/ixgbe/ixgbe_transceiver.c
253
mutex_exit(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_transceiver.c
258
mutex_exit(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_transceiver.c
262
if (ixgbe_transceiver_is_8472(ixgbe, &is8472) != 0) {
usr/src/uts/common/io/ixgbe/ixgbe_transceiver.c
263
mutex_exit(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_transceiver.c
268
mutex_exit(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_transceiver.c
281
mutex_exit(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_transceiver.c
285
mutex_exit(&ixgbe->gen_lock);
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1070
if (ixgbe_check_acc_handle(tx_ring->ixgbe->osdep.reg_handle) !=
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1072
ddi_fm_service_impact(tx_ring->ixgbe->dip,
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1074
atomic_or_32(&tx_ring->ixgbe->ixgbe_state, IXGBE_ERROR);
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1117
ixgbe_t *ixgbe = tx_ring->ixgbe;
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1128
mac_tx_ring_update(ixgbe->mac_hdl,
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1142
ddi_fm_service_impact(ixgbe->dip, DDI_SERVICE_DEGRADED);
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1143
atomic_or_32(&ixgbe->ixgbe_state, IXGBE_ERROR);
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
118
ixgbe_t *ixgbe = tx_ring->ixgbe;
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1234
if ((tx_ring->tbd_free >= ixgbe->tx_resched_thresh) &&
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1237
mac_tx_ring_update(ixgbe->mac_hdl,
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1264
ixgbe_t *ixgbe = tx_ring->ixgbe;
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1275
mac_tx_ring_update(ixgbe->mac_hdl,
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1299
ddi_fm_service_impact(ixgbe->dip,
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1301
atomic_or_32(&ixgbe->ixgbe_state, IXGBE_ERROR);
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
132
if ((ixgbe->ixgbe_state & IXGBE_SUSPENDED) ||
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
133
(ixgbe->ixgbe_state & IXGBE_ERROR) ||
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
134
(ixgbe->ixgbe_state & IXGBE_OVERTEMP) ||
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
135
!(ixgbe->ixgbe_state & IXGBE_STARTED) ||
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
136
ixgbe->link_state != LINK_STATE_UP) {
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1366
if ((tx_ring->tbd_free >= ixgbe->tx_resched_thresh) &&
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1369
mac_tx_ring_update(ixgbe->mac_hdl,
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
141
copy_thresh = ixgbe->tx_copy_thresh;
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
145
if (ixgbe->tx_hcksum_enable) {
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
164
(mbsize > (ixgbe->max_frame_size - ETHERFCSL)))) {
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
166
IXGBE_DEBUGLOG_0(ixgbe, "ixgbe_tx: packet oversize");
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
182
if (tx_ring->tbd_free < ixgbe->tx_recycle_thresh) {
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
191
if (tx_ring->tbd_free < ixgbe->tx_overload_thresh) {
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
877
struct ixgbe_hw *hw = &tx_ring->ixgbe->hw;