arch/arm/mach-s3c/mach-crag6410-module.c
430
if (IS_ERR(i2c_new_client_device(i2c->adapter,
arch/arm/mach-shmobile/regulator-quirk-rcar-gen2.c
112
ret = i2c_transfer(client->adapter, &pos->i2c_msg, 1);
arch/powerpc/include/asm/pmac_low_i2c.h
72
extern struct pmac_i2c_bus *pmac_i2c_adapter_to_bus(struct i2c_adapter *adapter);
arch/powerpc/include/asm/pmac_low_i2c.h
79
struct i2c_adapter *adapter);
arch/powerpc/platforms/powermac/low_i2c.c
1036
return &bus->adapter;
arch/powerpc/platforms/powermac/low_i2c.c
1040
struct pmac_i2c_bus *pmac_i2c_adapter_to_bus(struct i2c_adapter *adapter)
arch/powerpc/platforms/powermac/low_i2c.c
1045
if (&bus->adapter == adapter)
arch/powerpc/platforms/powermac/low_i2c.c
1051
int pmac_i2c_match_adapter(struct device_node *dev, struct i2c_adapter *adapter)
arch/powerpc/platforms/powermac/low_i2c.c
1057
return (&bus->adapter == adapter);
arch/powerpc/platforms/powermac/low_i2c.c
81
struct i2c_adapter adapter;
arch/s390/kvm/interrupt.c
2409
struct s390_io_adapter *adapter;
arch/s390/kvm/interrupt.c
2425
adapter = kzalloc_obj(*adapter, GFP_KERNEL_ACCOUNT);
arch/s390/kvm/interrupt.c
2426
if (!adapter)
arch/s390/kvm/interrupt.c
2429
adapter->id = adapter_info.id;
arch/s390/kvm/interrupt.c
2430
adapter->isc = adapter_info.isc;
arch/s390/kvm/interrupt.c
2431
adapter->maskable = adapter_info.maskable;
arch/s390/kvm/interrupt.c
2432
adapter->masked = false;
arch/s390/kvm/interrupt.c
2433
adapter->swap = adapter_info.swap;
arch/s390/kvm/interrupt.c
2434
adapter->suppressible = (adapter_info.flags) &
arch/s390/kvm/interrupt.c
2436
dev->kvm->arch.adapters[adapter->id] = adapter;
arch/s390/kvm/interrupt.c
2444
struct s390_io_adapter *adapter = get_io_adapter(kvm, id);
arch/s390/kvm/interrupt.c
2446
if (!adapter || !adapter->maskable)
arch/s390/kvm/interrupt.c
2448
ret = adapter->masked;
arch/s390/kvm/interrupt.c
2449
adapter->masked = masked;
arch/s390/kvm/interrupt.c
2465
struct s390_io_adapter *adapter;
arch/s390/kvm/interrupt.c
2471
adapter = get_io_adapter(dev->kvm, req.id);
arch/s390/kvm/interrupt.c
2472
if (!adapter)
arch/s390/kvm/interrupt.c
2559
struct s390_io_adapter *adapter)
arch/s390/kvm/interrupt.c
2565
.parm64 = isc_to_int_word(adapter->isc),
arch/s390/kvm/interrupt.c
2569
if (!test_kvm_facility(kvm, 72) || !adapter->suppressible)
arch/s390/kvm/interrupt.c
2573
if (fi->nimm & AIS_MODE_MASK(adapter->isc)) {
arch/s390/kvm/interrupt.c
2574
trace_kvm_s390_airq_suppressed(adapter->id, adapter->isc);
arch/s390/kvm/interrupt.c
2579
if (!ret && (fi->simm & AIS_MODE_MASK(adapter->isc))) {
arch/s390/kvm/interrupt.c
2580
fi->nimm |= AIS_MODE_MASK(adapter->isc);
arch/s390/kvm/interrupt.c
2581
trace_kvm_s390_modify_ais_mode(adapter->isc,
arch/s390/kvm/interrupt.c
2592
struct s390_io_adapter *adapter = get_io_adapter(kvm, id);
arch/s390/kvm/interrupt.c
2594
if (!adapter)
arch/s390/kvm/interrupt.c
2597
return kvm_s390_inject_airq(kvm, adapter);
arch/s390/kvm/interrupt.c
2752
struct s390_io_adapter *adapter,
arch/s390/kvm/interrupt.c
2772
adapter_int->ind_offset, adapter->swap);
arch/s390/kvm/interrupt.c
2778
adapter_int->summary_offset, adapter->swap);
arch/s390/kvm/interrupt.c
2799
struct s390_io_adapter *adapter;
arch/s390/kvm/interrupt.c
2804
adapter = get_io_adapter(kvm, e->adapter.adapter_id);
arch/s390/kvm/interrupt.c
2805
if (!adapter)
arch/s390/kvm/interrupt.c
2807
ret = adapter_indicators_set(kvm, adapter, &e->adapter);
arch/s390/kvm/interrupt.c
2808
if ((ret > 0) && !adapter->masked) {
arch/s390/kvm/interrupt.c
2809
ret = kvm_s390_inject_airq(kvm, adapter);
arch/s390/kvm/interrupt.c
2864
const struct kvm_irq_routing_s390_adapter *adapter;
arch/s390/kvm/interrupt.c
2875
adapter = &ue->u.adapter;
arch/s390/kvm/interrupt.c
2876
if (adapter->summary_addr + (adapter->summary_offset / 8) >=
arch/s390/kvm/interrupt.c
2877
(adapter->summary_addr & PAGE_MASK) + PAGE_SIZE)
arch/s390/kvm/interrupt.c
2879
if (adapter->ind_addr + (adapter->ind_offset / 8) >=
arch/s390/kvm/interrupt.c
2880
(adapter->ind_addr & PAGE_MASK) + PAGE_SIZE)
arch/s390/kvm/interrupt.c
2884
uaddr_s = gpa_to_hva(kvm, ue->u.adapter.summary_addr);
arch/s390/kvm/interrupt.c
2885
uaddr_i = gpa_to_hva(kvm, ue->u.adapter.ind_addr);
arch/s390/kvm/interrupt.c
2890
e->adapter.summary_addr = uaddr_s;
arch/s390/kvm/interrupt.c
2891
e->adapter.summary_gaddr = ue->u.adapter.summary_addr;
arch/s390/kvm/interrupt.c
2892
e->adapter.ind_addr = uaddr_i;
arch/s390/kvm/interrupt.c
2893
e->adapter.ind_gaddr = ue->u.adapter.ind_addr;
arch/s390/kvm/interrupt.c
2894
e->adapter.summary_offset = ue->u.adapter.summary_offset;
arch/s390/kvm/interrupt.c
2895
e->adapter.ind_offset = ue->u.adapter.ind_offset;
arch/s390/kvm/interrupt.c
2896
e->adapter.adapter_id = ue->u.adapter.adapter_id;
arch/x86/boot/video-bios.c
73
if (adapter != ADAPTER_EGA && adapter != ADAPTER_VGA)
arch/x86/boot/video-mode.c
25
int adapter; /* 0=CGA/MDA/HGC, 1=EGA, 2=VGA+ */
arch/x86/boot/video-vga.c
266
adapter = ADAPTER_VGA;
arch/x86/boot/video-vga.c
271
adapter = ADAPTER_EGA;
arch/x86/boot/video-vga.c
274
adapter = ADAPTER_CGA;
arch/x86/boot/video-vga.c
277
video_vga.modes = mode_lists[adapter];
arch/x86/boot/video-vga.c
278
video_vga.card_name = card_name[adapter];
arch/x86/boot/video-vga.c
279
return mode_count[adapter];
arch/x86/boot/video.c
87
y = (adapter == ADAPTER_CGA) ? 25 : rdfs8(0x484)+1;
arch/x86/boot/video.h
91
extern int adapter;
drivers/auxdisplay/ht16k33.c
664
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) {
drivers/auxdisplay/lcd2s.c
306
if (!i2c_check_functionality(i2c->adapter,
drivers/base/regmap/regmap-i2c.c
150
if (!i2c_check_functionality(i2c->adapter, I2C_FUNC_NOSTART))
drivers/base/regmap/regmap-i2c.c
163
ret = i2c_transfer(i2c->adapter, xfer, 2);
drivers/base/regmap/regmap-i2c.c
191
ret = i2c_transfer(i2c->adapter, xfer, 2);
drivers/base/regmap/regmap-i2c.c
314
if (i2c_check_functionality(i2c->adapter, I2C_FUNC_I2C))
drivers/base/regmap/regmap-i2c.c
317
i2c_check_functionality(i2c->adapter,
drivers/base/regmap/regmap-i2c.c
321
i2c_check_functionality(i2c->adapter,
drivers/base/regmap/regmap-i2c.c
325
i2c_check_functionality(i2c->adapter,
drivers/base/regmap/regmap-i2c.c
338
i2c_check_functionality(i2c->adapter,
drivers/base/regmap/regmap-i2c.c
345
quirks = i2c->adapter->quirks;
drivers/base/regmap/regmap-sccb.c
47
i2c_lock_bus(i2c->adapter, I2C_LOCK_SEGMENT);
drivers/base/regmap/regmap-sccb.c
49
ret = __i2c_smbus_xfer(i2c->adapter, i2c->addr, i2c->flags,
drivers/base/regmap/regmap-sccb.c
54
ret = __i2c_smbus_xfer(i2c->adapter, i2c->addr, i2c->flags,
drivers/base/regmap/regmap-sccb.c
61
i2c_unlock_bus(i2c->adapter, I2C_LOCK_SEGMENT);
drivers/base/regmap/regmap-sccb.c
92
sccb_is_available(i2c->adapter))
drivers/bluetooth/btmrvl_debugfs.c
172
&priv->adapter->psmode);
drivers/bluetooth/btmrvl_debugfs.c
174
&priv->adapter->ps_state);
drivers/bluetooth/btmrvl_debugfs.c
176
&priv->adapter->hs_state);
drivers/bluetooth/btmrvl_drv.h
91
struct btmrvl_adapter *adapter;
drivers/bluetooth/btmrvl_main.c
108
adapter->hs_state = HS_ACTIVATED;
drivers/bluetooth/btmrvl_main.c
109
if (adapter->psmode)
drivers/bluetooth/btmrvl_main.c
110
adapter->ps_state = PS_SLEEP;
drivers/bluetooth/btmrvl_main.c
111
wake_up_interruptible(&adapter->event_hs_wait_q);
drivers/bluetooth/btmrvl_main.c
137
adapter->ps_state = PS_SLEEP;
drivers/bluetooth/btmrvl_main.c
139
(adapter->ps_state) ? "PS_SLEEP" : "PS_AWAKE");
drivers/bluetooth/btmrvl_main.c
182
skb_queue_head(&priv->adapter->tx_queue, skb);
drivers/bluetooth/btmrvl_main.c
186
priv->adapter->cmd_complete = false;
drivers/bluetooth/btmrvl_main.c
190
if (!wait_event_interruptible_timeout(priv->adapter->cmd_wait_q,
drivers/bluetooth/btmrvl_main.c
191
priv->adapter->cmd_complete ||
drivers/bluetooth/btmrvl_main.c
27
priv->adapter->ps_state = PS_AWAKE;
drivers/bluetooth/btmrvl_main.c
282
struct btmrvl_adapter *adapter = priv->adapter;
drivers/bluetooth/btmrvl_main.c
29
priv->adapter->wakeup_tries = 0;
drivers/bluetooth/btmrvl_main.c
291
ret = wait_event_interruptible_timeout(adapter->event_hs_wait_q,
drivers/bluetooth/btmrvl_main.c
292
adapter->hs_state ||
drivers/bluetooth/btmrvl_main.c
297
ret, adapter->hs_state, adapter->ps_state,
drivers/bluetooth/btmrvl_main.c
298
adapter->wakeup_tries);
drivers/bluetooth/btmrvl_main.c
300
BT_ERR("hs_enable timeout: %d,%d,%d", adapter->hs_state,
drivers/bluetooth/btmrvl_main.c
301
adapter->ps_state, adapter->wakeup_tries);
drivers/bluetooth/btmrvl_main.c
304
BT_DBG("host sleep enabled: %d,%d,%d", adapter->hs_state,
drivers/bluetooth/btmrvl_main.c
305
adapter->ps_state, adapter->wakeup_tries);
drivers/bluetooth/btmrvl_main.c
31
priv->adapter->int_count++;
drivers/bluetooth/btmrvl_main.c
33
if (priv->adapter->hs_state == HS_ACTIVATED) {
drivers/bluetooth/btmrvl_main.c
334
priv->adapter->hs_state = HS_DEACTIVATED;
drivers/bluetooth/btmrvl_main.c
35
priv->adapter->hs_state = HS_DEACTIVATED;
drivers/bluetooth/btmrvl_main.c
377
skb_queue_head_init(&priv->adapter->tx_queue);
drivers/bluetooth/btmrvl_main.c
379
priv->adapter->ps_state = PS_AWAKE;
drivers/bluetooth/btmrvl_main.c
382
priv->adapter->hw_regs_buf = kzalloc(buf_size, GFP_KERNEL);
drivers/bluetooth/btmrvl_main.c
383
if (!priv->adapter->hw_regs_buf) {
drivers/bluetooth/btmrvl_main.c
384
priv->adapter->hw_regs = NULL;
drivers/bluetooth/btmrvl_main.c
387
priv->adapter->hw_regs =
drivers/bluetooth/btmrvl_main.c
388
(u8 *)ALIGN_ADDR(priv->adapter->hw_regs_buf,
drivers/bluetooth/btmrvl_main.c
391
priv->adapter->hw_regs_buf, priv->adapter->hw_regs);
drivers/bluetooth/btmrvl_main.c
394
init_waitqueue_head(&priv->adapter->cmd_wait_q);
drivers/bluetooth/btmrvl_main.c
395
init_waitqueue_head(&priv->adapter->event_hs_wait_q);
drivers/bluetooth/btmrvl_main.c
400
skb_queue_purge(&priv->adapter->tx_queue);
drivers/bluetooth/btmrvl_main.c
402
kfree(priv->adapter->hw_regs_buf);
drivers/bluetooth/btmrvl_main.c
403
kfree(priv->adapter);
drivers/bluetooth/btmrvl_main.c
405
priv->adapter = NULL;
drivers/bluetooth/btmrvl_main.c
414
if (priv->adapter->is_suspending || priv->adapter->is_suspended) {
drivers/bluetooth/btmrvl_main.c
433
skb_queue_tail(&priv->adapter->tx_queue, skb);
drivers/bluetooth/btmrvl_main.c
435
if (!priv->adapter->is_suspended)
drivers/bluetooth/btmrvl_main.c
445
skb_queue_purge(&priv->adapter->tx_queue);
drivers/bluetooth/btmrvl_main.c
454
skb_queue_purge(&priv->adapter->tx_queue);
drivers/bluetooth/btmrvl_main.c
55
priv->adapter->cmd_complete = true;
drivers/bluetooth/btmrvl_main.c
56
wake_up_interruptible(&priv->adapter->cmd_wait_q);
drivers/bluetooth/btmrvl_main.c
587
struct btmrvl_adapter *adapter = priv->adapter;
drivers/bluetooth/btmrvl_main.c
603
if (adapter->wakeup_tries ||
drivers/bluetooth/btmrvl_main.c
604
((!adapter->int_count) &&
drivers/bluetooth/btmrvl_main.c
606
skb_queue_empty(&adapter->tx_queue)))) {
drivers/bluetooth/btmrvl_main.c
623
if (adapter->int_count) {
drivers/bluetooth/btmrvl_main.c
624
adapter->int_count = 0;
drivers/bluetooth/btmrvl_main.c
627
} else if (adapter->ps_state == PS_SLEEP &&
drivers/bluetooth/btmrvl_main.c
628
!skb_queue_empty(&adapter->tx_queue)) {
drivers/bluetooth/btmrvl_main.c
630
adapter->wakeup_tries++;
drivers/bluetooth/btmrvl_main.c
637
if (adapter->ps_state == PS_SLEEP)
drivers/bluetooth/btmrvl_main.c
641
priv->adapter->is_suspended)
drivers/bluetooth/btmrvl_main.c
644
skb = skb_dequeue(&adapter->tx_queue);
drivers/bluetooth/btmrvl_main.c
719
priv->adapter = kzalloc_obj(*priv->adapter);
drivers/bluetooth/btmrvl_main.c
720
if (!priv->adapter) {
drivers/bluetooth/btmrvl_main.c
73
struct btmrvl_adapter *adapter = priv->adapter;
drivers/bluetooth/btmrvl_main.c
759
wake_up_interruptible(&priv->adapter->cmd_wait_q);
drivers/bluetooth/btmrvl_main.c
760
wake_up_interruptible(&priv->adapter->event_hs_wait_q);
drivers/bluetooth/btmrvl_main.c
88
adapter->psmode = 1;
drivers/bluetooth/btmrvl_main.c
90
adapter->psmode = 0;
drivers/bluetooth/btmrvl_main.c
92
str_enable_disable(adapter->psmode));
drivers/bluetooth/btmrvl_sdio.c
1644
priv->adapter->is_suspending = true;
drivers/bluetooth/btmrvl_sdio.c
1649
if (priv->adapter->hs_state != HS_ACTIVATED) {
drivers/bluetooth/btmrvl_sdio.c
1660
priv->adapter->is_suspending = false;
drivers/bluetooth/btmrvl_sdio.c
1665
priv->adapter->is_suspending = false;
drivers/bluetooth/btmrvl_sdio.c
1666
priv->adapter->is_suspended = true;
drivers/bluetooth/btmrvl_sdio.c
1669
if (priv->adapter->hs_state == HS_ACTIVATED) {
drivers/bluetooth/btmrvl_sdio.c
1701
if (!priv->adapter->is_suspended) {
drivers/bluetooth/btmrvl_sdio.c
1707
priv->adapter->hs_state = HS_DEACTIVATED;
drivers/bluetooth/btmrvl_sdio.c
1710
priv->adapter->is_suspended = false;
drivers/bluetooth/btmrvl_sdio.c
855
struct btmrvl_adapter *adapter = card->priv->adapter;
drivers/bluetooth/btmrvl_sdio.c
858
ret = sdio_readsb(card->func, adapter->hw_regs, 0, SDIO_BLOCK_SIZE);
drivers/bluetooth/btmrvl_sdio.c
864
*ireg = adapter->hw_regs[card->reg->host_intstatus];
drivers/char/ipmi/ipmb_dev_int.c
132
return i2c_transfer(client->adapter, &i2c_msg, 1);
drivers/char/ipmi/ipmb_dev_int.c
323
client->adapter->nr);
drivers/char/ipmi/ipmi_ipmb.c
323
ret = i2c_transfer(iidev->client->adapter, &i2c_msg, 1);
drivers/char/ipmi/ipmi_ssif.c
1463
i2c_adapter_id(client->adapter),
drivers/char/ipmi/ipmi_ssif.c
1610
info->adapter_name = kstrdup(client->adapter->name, GFP_KERNEL);
drivers/char/ipmi/ipmi_ssif.c
1634
if (!strcmp(info->adapter_name, client->adapter->name) &&
drivers/char/ipmi/ipmi_ssif.c
1678
addr_info = ssif_info_find(client->addr, client->adapter->name,
drivers/char/ipmi/ipmi_ssif.c
1713
client->addr, client->adapter->name, slave_addr);
drivers/char/ipmi/ipmi_ssif.c
1882
thread_num = ((i2c_adapter_id(ssif_info->client->adapter)
drivers/char/tpm/st33zp24/i2c.c
108
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) {
drivers/char/tpm/tpm_i2c_atmel.c
156
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C))
drivers/char/tpm/tpm_i2c_infineon.c
113
if (!tpm_dev.client->adapter->algo->master_xfer)
drivers/char/tpm/tpm_i2c_infineon.c
115
i2c_lock_bus(tpm_dev.client->adapter, I2C_LOCK_SEGMENT);
drivers/char/tpm/tpm_i2c_infineon.c
125
rc = __i2c_transfer(tpm_dev.client->adapter, msgs, 2);
drivers/char/tpm/tpm_i2c_infineon.c
137
rc = __i2c_transfer(tpm_dev.client->adapter,
drivers/char/tpm/tpm_i2c_infineon.c
162
rc = __i2c_transfer(tpm_dev.client->adapter,
drivers/char/tpm/tpm_i2c_infineon.c
190
i2c_unlock_bus(tpm_dev.client->adapter, I2C_LOCK_SEGMENT);
drivers/char/tpm/tpm_i2c_infineon.c
220
if (!tpm_dev.client->adapter->algo->master_xfer)
drivers/char/tpm/tpm_i2c_infineon.c
222
i2c_lock_bus(tpm_dev.client->adapter, I2C_LOCK_SEGMENT);
drivers/char/tpm/tpm_i2c_infineon.c
235
rc = __i2c_transfer(tpm_dev.client->adapter, &msg1, 1);
drivers/char/tpm/tpm_i2c_infineon.c
241
i2c_unlock_bus(tpm_dev.client->adapter, I2C_LOCK_SEGMENT);
drivers/char/tpm/tpm_i2c_infineon.c
697
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) {
drivers/char/tpm/tpm_i2c_nuvoton.c
499
if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/char/tpm/tpm_tis_i2c.c
121
ret = i2c_transfer(phy->i2c_client->adapter, msg, 1);
drivers/char/tpm/tpm_tis_i2c_cr50.c
154
struct i2c_adapter *adapter,
drivers/char/tpm/tpm_tis_i2c_cr50.c
161
rc = __i2c_transfer(adapter, msg, 1);
drivers/char/tpm/tpm_tis_i2c_cr50.c
209
rc = tpm_cr50_i2c_transfer_message(&chip->dev, client->adapter, &msg_reg_addr);
drivers/char/tpm/tpm_tis_i2c_cr50.c
219
rc = tpm_cr50_i2c_transfer_message(&chip->dev, client->adapter, &msg_response);
drivers/char/tpm/tpm_tis_i2c_cr50.c
268
rc = tpm_cr50_i2c_transfer_message(&chip->dev, client->adapter, &msg);
drivers/char/tpm/tpm_tis_i2c_cr50.c
336
i2c_unlock_bus(client->adapter, I2C_LOCK_SEGMENT);
drivers/char/tpm/tpm_tis_i2c_cr50.c
356
i2c_lock_bus(client->adapter, I2C_LOCK_SEGMENT);
drivers/char/tpm/tpm_tis_i2c_cr50.c
376
i2c_unlock_bus(client->adapter, I2C_LOCK_SEGMENT);
drivers/char/tpm/tpm_tis_i2c_cr50.c
725
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C))
drivers/clk/clk-cdce706.c
638
struct i2c_adapter *adapter = client->adapter;
drivers/clk/clk-cdce706.c
642
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/clk/clk-cdce925.c
574
ret = i2c_transfer(i2c->adapter, xfer, 2);
drivers/clk/clk-renesas-pcie.c
132
ret = i2c_transfer(i2c->adapter, xfer, 2);
drivers/clk/clk-si521xx.c
131
ret = i2c_transfer(i2c->adapter, xfer, 2);
drivers/crypto/atmel-i2c.c
358
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) {
drivers/crypto/atmel-i2c.c
363
bus_clk_rate = i2c_acpi_find_bus_speed(&client->adapter->dev);
drivers/crypto/atmel-i2c.c
365
ret = device_property_read_u32(&client->adapter->dev,
drivers/crypto/atmel-sha204a.c
178
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C))
drivers/crypto/chelsio/chcr_algo.c
1137
struct adapter *adap = padap(ctx->dev);
drivers/crypto/chelsio/chcr_algo.c
1222
struct adapter *adap = padap(c_ctx(tfm)->dev);
drivers/crypto/chelsio/chcr_algo.c
1541
struct adapter *adap = padap(h_ctx(tfm)->dev);
drivers/crypto/chelsio/chcr_algo.c
2120
struct adapter *adap = padap(ctx->dev);
drivers/crypto/chelsio/chcr_algo.c
2370
struct adapter *adap = padap(ctx->dev);
drivers/crypto/chelsio/chcr_algo.c
2967
struct adapter *adap = padap(a_ctx(tfm)->dev);
drivers/crypto/chelsio/chcr_algo.c
3065
struct adapter *adap = padap(ctx->dev);
drivers/crypto/chelsio/chcr_algo.c
548
struct adapter *adap = netdev2adap(dev);
drivers/crypto/chelsio/chcr_algo.c
787
struct adapter *adap = padap(ctx->dev);
drivers/crypto/chelsio/chcr_core.c
148
static int cpl_fw6_pld_handler(struct adapter *adap,
drivers/crypto/chelsio/chcr_core.c
208
struct adapter *adap = padap(dev);
drivers/crypto/chelsio/chcr_core.c
285
struct adapter *adap;
drivers/crypto/chelsio/chcr_core.c
31
typedef int (*chcr_handler_func)(struct adapter *adap, unsigned char *input);
drivers/crypto/chelsio/chcr_core.c
32
static int cpl_fw6_pld_handler(struct adapter *adap, unsigned char *input);
drivers/extcon/extcon-max77843.c
776
max77843->i2c_muic = i2c_new_dummy_device(max77843->i2c->adapter,
drivers/fsi/fsi-master-i2cr.c
269
i2cr->master.idx = client->adapter->nr;
drivers/fsi/fsi-master-i2cr.c
88
ret = i2c_transfer(client->adapter, msgs, 2);
drivers/gpio/gpio-max7300.c
35
if (!i2c_check_functionality(client->adapter,
drivers/gpio/gpio-max732x.c
653
client->adapter, addr_b);
drivers/gpio/gpio-max732x.c
666
client->adapter, addr_a);
drivers/gpio/gpio-pca953x.c
1286
i2c_adapter_depth(client->adapter));
drivers/gpio/gpio-pcf857x.c
343
if (!i2c_check_functionality(client->adapter,
drivers/gpio/gpio-pcf857x.c
361
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C))
drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c
1684
ddc = &amdgpu_connector->ddc_bus->adapter;
drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c
1784
ddc = &amdgpu_connector->ddc_bus->adapter;
drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c
1810
ddc = &amdgpu_connector->ddc_bus->adapter;
drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c
1841
ddc = &amdgpu_connector->ddc_bus->adapter;
drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c
1898
ddc = &amdgpu_connector->ddc_bus->adapter;
drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c
1945
ddc = &amdgpu_connector->ddc_bus->adapter;
drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c
1994
ddc = &amdgpu_connector->ddc_bus->adapter;
drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c
2023
ddc = &amdgpu_connector->ddc_bus->adapter;
drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c
284
&amdgpu_connector->ddc_bus->adapter);
drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c
287
&amdgpu_connector->ddc_bus->adapter);
drivers/gpu/drm/amd/amdgpu/amdgpu_display.c
514
ret = i2c_transfer(&amdgpu_connector->ddc_bus->adapter, msgs, 2);
drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c
176
i2c->adapter.owner = THIS_MODULE;
drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c
177
i2c->adapter.dev.parent = dev->dev;
drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c
179
i2c_set_adapdata(&i2c->adapter, i2c);
drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c
184
snprintf(i2c->adapter.name, sizeof(i2c->adapter.name),
drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c
186
i2c->adapter.algo = &amdgpu_atombios_i2c_algo;
drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c
187
ret = devm_i2c_add_adapter(dev->dev, &i2c->adapter);
drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c
192
snprintf(i2c->adapter.name, sizeof(i2c->adapter.name),
drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c
194
i2c->adapter.algo_data = &i2c->bit;
drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c
204
ret = i2c_bit_add_bus(&i2c->adapter);
drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c
288
if (i2c_transfer(&i2c_bus->adapter, msgs, 2) != 2) {
drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c
315
if (i2c_transfer(&i2c_bus->adapter, &msg, 1) != 1) {
drivers/gpu/drm/amd/amdgpu/amdgpu_mode.h
225
struct i2c_adapter adapter;
drivers/gpu/drm/amd/amdgpu/smu_v11_0_i2c.c
730
struct i2c_adapter *control = &smu_i2c->adapter;
drivers/gpu/drm/amd/amdgpu/smu_v11_0_i2c.c
745
adev->pm.ras_eeprom_i2c_bus = &adev->pm.smu_i2c[0].adapter;
drivers/gpu/drm/amd/amdgpu/smu_v11_0_i2c.c
746
adev->pm.fru_eeprom_i2c_bus = &adev->pm.smu_i2c[0].adapter;
drivers/gpu/drm/amd/pm/inc/amdgpu_dpm.h
300
struct i2c_adapter adapter;
drivers/gpu/drm/amd/pm/legacy-dpm/legacy_dpm.c
745
i2c_new_client_device(&adev->pm.i2c_bus->adapter, &info);
drivers/gpu/drm/amd/pm/swsmu/smu11/arcturus_ppt.c
1671
struct i2c_adapter *control = &smu_i2c->adapter;
drivers/gpu/drm/amd/pm/swsmu/smu11/arcturus_ppt.c
1691
adev->pm.ras_eeprom_i2c_bus = &adev->pm.smu_i2c[0].adapter;
drivers/gpu/drm/amd/pm/swsmu/smu11/arcturus_ppt.c
1692
adev->pm.fru_eeprom_i2c_bus = &adev->pm.smu_i2c[1].adapter;
drivers/gpu/drm/amd/pm/swsmu/smu11/navi10_ppt.c
2884
struct i2c_adapter *control = &smu_i2c->adapter;
drivers/gpu/drm/amd/pm/swsmu/smu11/navi10_ppt.c
2904
adev->pm.ras_eeprom_i2c_bus = &adev->pm.smu_i2c[0].adapter;
drivers/gpu/drm/amd/pm/swsmu/smu11/navi10_ppt.c
2905
adev->pm.fru_eeprom_i2c_bus = &adev->pm.smu_i2c[1].adapter;
drivers/gpu/drm/amd/pm/swsmu/smu11/sienna_cichlid_ppt.c
2598
struct i2c_adapter *control = &smu_i2c->adapter;
drivers/gpu/drm/amd/pm/swsmu/smu11/sienna_cichlid_ppt.c
2619
adev->pm.ras_eeprom_i2c_bus = &adev->pm.smu_i2c[1].adapter;
drivers/gpu/drm/amd/pm/swsmu/smu11/sienna_cichlid_ppt.c
2620
adev->pm.fru_eeprom_i2c_bus = &adev->pm.smu_i2c[0].adapter;
drivers/gpu/drm/amd/pm/swsmu/smu13/aldebaran_ppt.c
1510
struct i2c_adapter *control = &smu_i2c->adapter;
drivers/gpu/drm/amd/pm/swsmu/smu13/aldebaran_ppt.c
1529
adev->pm.ras_eeprom_i2c_bus = &adev->pm.smu_i2c[0].adapter;
drivers/gpu/drm/amd/pm/swsmu/smu13/aldebaran_ppt.c
1530
adev->pm.fru_eeprom_i2c_bus = &adev->pm.smu_i2c[0].adapter;
drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_0_ppt.c
2766
struct i2c_adapter *control = &smu_i2c->adapter;
drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_0_ppt.c
2787
adev->pm.ras_eeprom_i2c_bus = &adev->pm.smu_i2c[1].adapter;
drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_0_ppt.c
2788
adev->pm.fru_eeprom_i2c_bus = &adev->pm.smu_i2c[0].adapter;
drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_6_ppt.c
2439
struct i2c_adapter *control = &smu_i2c->adapter;
drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_6_ppt.c
2458
adev->pm.ras_eeprom_i2c_bus = &adev->pm.smu_i2c[0].adapter;
drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_6_ppt.c
2459
adev->pm.fru_eeprom_i2c_bus = &adev->pm.smu_i2c[0].adapter;
drivers/gpu/drm/amd/pm/swsmu/smu14/smu_v14_0_2_ppt.c
1997
struct i2c_adapter *control = &smu_i2c->adapter;
drivers/gpu/drm/amd/pm/swsmu/smu14/smu_v14_0_2_ppt.c
2018
adev->pm.ras_eeprom_i2c_bus = &adev->pm.smu_i2c[1].adapter;
drivers/gpu/drm/amd/pm/swsmu/smu14/smu_v14_0_2_ppt.c
2019
adev->pm.fru_eeprom_i2c_bus = &adev->pm.smu_i2c[0].adapter;
drivers/gpu/drm/ast/ast_ddc.c
142
i2c_del_adapter(&ddc->adapter);
drivers/gpu/drm/ast/ast_ddc.c
149
struct i2c_adapter *adapter;
drivers/gpu/drm/ast/ast_ddc.c
169
adapter = &ddc->adapter;
drivers/gpu/drm/ast/ast_ddc.c
170
adapter->owner = THIS_MODULE;
drivers/gpu/drm/ast/ast_ddc.c
171
adapter->algo_data = bit;
drivers/gpu/drm/ast/ast_ddc.c
172
adapter->dev.parent = dev->dev;
drivers/gpu/drm/ast/ast_ddc.c
173
snprintf(adapter->name, sizeof(adapter->name), "AST DDC bus");
drivers/gpu/drm/ast/ast_ddc.c
174
i2c_set_adapdata(adapter, ddc);
drivers/gpu/drm/ast/ast_ddc.c
176
ret = i2c_bit_add_bus(adapter);
drivers/gpu/drm/ast/ast_ddc.c
186
return &ddc->adapter;
drivers/gpu/drm/ast/ast_ddc.c
37
struct i2c_adapter adapter;
drivers/gpu/drm/ast/ast_ddc.c
72
static int ast_ddc_algo_bit_data_pre_xfer(struct i2c_adapter *adapter)
drivers/gpu/drm/ast/ast_ddc.c
74
struct ast_ddc *ddc = i2c_get_adapdata(adapter);
drivers/gpu/drm/ast/ast_ddc.c
86
static void ast_ddc_algo_bit_data_post_xfer(struct i2c_adapter *adapter)
drivers/gpu/drm/ast/ast_ddc.c
88
struct ast_ddc *ddc = i2c_get_adapdata(adapter);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
561
ret = i2c_transfer(adv7511->i2c_edid->adapter, xfer,
drivers/gpu/drm/bridge/analogix/analogix-anx6345.c
717
anx6345->i2c_clients[i] = i2c_new_dummy_device(client->adapter,
drivers/gpu/drm/bridge/analogix/analogix-anx78xx.c
1235
i2c_dummy = i2c_new_dummy_device(client->adapter,
drivers/gpu/drm/bridge/analogix/anx7625.c
2513
ctx->i2c.tx_p0_client = devm_i2c_new_dummy_device(dev, client->adapter,
drivers/gpu/drm/bridge/analogix/anx7625.c
2518
ctx->i2c.tx_p1_client = devm_i2c_new_dummy_device(dev, client->adapter,
drivers/gpu/drm/bridge/analogix/anx7625.c
2523
ctx->i2c.tx_p2_client = devm_i2c_new_dummy_device(dev, client->adapter,
drivers/gpu/drm/bridge/analogix/anx7625.c
2528
ctx->i2c.rx_p0_client = devm_i2c_new_dummy_device(dev, client->adapter,
drivers/gpu/drm/bridge/analogix/anx7625.c
2533
ctx->i2c.rx_p1_client = devm_i2c_new_dummy_device(dev, client->adapter,
drivers/gpu/drm/bridge/analogix/anx7625.c
2538
ctx->i2c.rx_p2_client = devm_i2c_new_dummy_device(dev, client->adapter,
drivers/gpu/drm/bridge/analogix/anx7625.c
2543
ctx->i2c.tcpc_client = devm_i2c_new_dummy_device(dev, client->adapter,
drivers/gpu/drm/bridge/analogix/anx7625.c
2627
if (!i2c_check_functionality(client->adapter,
drivers/gpu/drm/bridge/inno-hdmi.c
1023
static u32 inno_hdmi_i2c_func(struct i2c_adapter *adapter)
drivers/gpu/drm/bridge/ite-it6263.c
881
it->lvds_i2c = devm_i2c_new_dummy_device(dev, client->adapter,
drivers/gpu/drm/bridge/ite-it66121.c
1516
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) {
drivers/gpu/drm/bridge/lontium-lt8912b.c
235
lt->i2c_client[i] = i2c_new_dummy_device(client->adapter,
drivers/gpu/drm/bridge/lontium-lt9611.c
1089
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) {
drivers/gpu/drm/bridge/lontium-lt9611uxc.c
746
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) {
drivers/gpu/drm/bridge/megachips-stdpxxxx-ge-b850v3-fw.c
71
struct i2c_adapter *adapter = client->adapter;
drivers/gpu/drm/bridge/megachips-stdpxxxx-ge-b850v3-fw.c
88
if (i2c_transfer(adapter, msgs, 2) != 2)
drivers/gpu/drm/bridge/parade-ps8622.c
67
struct i2c_adapter *adap = client->adapter;
drivers/gpu/drm/bridge/parade-ps8640.c
685
client->adapter,
drivers/gpu/drm/bridge/sii902x.c
1120
sii902x->i2cmux = i2c_mux_alloc(sii902x->i2c->adapter, dev,
drivers/gpu/drm/bridge/sii902x.c
1161
ret = i2c_check_functionality(client->adapter,
drivers/gpu/drm/bridge/sii902x.c
200
ret = __i2c_smbus_xfer(i2c->adapter, i2c->addr, i2c->flags,
drivers/gpu/drm/bridge/sii902x.c
216
return __i2c_smbus_xfer(i2c->adapter, i2c->addr, i2c->flags,
drivers/gpu/drm/bridge/sii902x.c
296
drm_edid = drm_edid_read_ddc(connector, sii902x->i2cmux->adapter[0]);
drivers/gpu/drm/bridge/sii9234.c
819
struct i2c_adapter *adapter = client->adapter;
drivers/gpu/drm/bridge/sii9234.c
846
ctx->client[I2C_TPI] = devm_i2c_new_dummy_device(&client->dev, adapter,
drivers/gpu/drm/bridge/sii9234.c
853
ctx->client[I2C_HDMI] = devm_i2c_new_dummy_device(&client->dev, adapter,
drivers/gpu/drm/bridge/sii9234.c
860
ctx->client[I2C_CBUS] = devm_i2c_new_dummy_device(&client->dev, adapter,
drivers/gpu/drm/bridge/sii9234.c
886
struct i2c_adapter *adapter = client->adapter;
drivers/gpu/drm/bridge/sii9234.c
899
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA)) {
drivers/gpu/drm/bridge/sil-sii8620.c
169
ret = i2c_transfer(client->adapter, msg, 2);
drivers/gpu/drm/bridge/sil-sii8620.c
217
ret = i2c_transfer(client->adapter, &msg, 1);
drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c
707
static u32 dw_hdmi_qp_i2c_func(struct i2c_adapter *adapter)
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
499
static u32 dw_hdmi_i2c_func(struct i2c_adapter *adapter)
drivers/gpu/drm/bridge/tda998x_drv.c
1925
priv->cec = i2c_new_client_device(client->adapter, &cec_info);
drivers/gpu/drm/bridge/tda998x_drv.c
2027
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) {
drivers/gpu/drm/bridge/tda998x_drv.c
417
ret = i2c_transfer(priv->hdmi->adapter, &msg, 1);
drivers/gpu/drm/bridge/tda998x_drv.c
441
ret = i2c_transfer(priv->hdmi->adapter, msg, ARRAY_SIZE(msg));
drivers/gpu/drm/bridge/ti-sn65dsi86.c
2026
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) {
drivers/gpu/drm/bridge/ti-sn65dsi86.c
516
id = (client->adapter->nr << 10) | client->addr;
drivers/gpu/drm/display/drm_dp_dual_mode_helper.c
127
ssize_t drm_dp_dual_mode_write(struct i2c_adapter *adapter,
drivers/gpu/drm/display/drm_dp_dual_mode_helper.c
148
ret = i2c_transfer(adapter, &msg, 1);
drivers/gpu/drm/display/drm_dp_dual_mode_helper.c
206
struct i2c_adapter *adapter)
drivers/gpu/drm/display/drm_dp_dual_mode_helper.c
226
ret = drm_dp_dual_mode_read(adapter, DP_DUAL_MODE_HDMI_ID,
drivers/gpu/drm/display/drm_dp_dual_mode_helper.c
233
ret = drm_dp_dual_mode_read(adapter, DP_DUAL_MODE_ADAPTOR_ID,
drivers/gpu/drm/display/drm_dp_dual_mode_helper.c
278
struct i2c_adapter *adapter)
drivers/gpu/drm/display/drm_dp_dual_mode_helper.c
294
ret = drm_dp_dual_mode_read(adapter, DP_DUAL_MODE_MAX_TMDS_CLOCK,
drivers/gpu/drm/display/drm_dp_dual_mode_helper.c
323
enum drm_dp_dual_mode_type type, struct i2c_adapter *adapter,
drivers/gpu/drm/display/drm_dp_dual_mode_helper.c
334
ret = drm_dp_dual_mode_read(adapter, DP_DUAL_MODE_TMDS_OEN,
drivers/gpu/drm/display/drm_dp_dual_mode_helper.c
362
struct i2c_adapter *adapter, bool enable)
drivers/gpu/drm/display/drm_dp_dual_mode_helper.c
378
ret = drm_dp_dual_mode_write(adapter, DP_DUAL_MODE_TMDS_OEN,
drivers/gpu/drm/display/drm_dp_dual_mode_helper.c
386
ret = drm_dp_dual_mode_read(adapter, DP_DUAL_MODE_TMDS_OEN,
drivers/gpu/drm/display/drm_dp_dual_mode_helper.c
446
int drm_lspcon_get_mode(const struct drm_device *dev, struct i2c_adapter *adapter,
drivers/gpu/drm/display/drm_dp_dual_mode_helper.c
463
ret = drm_dp_dual_mode_read(adapter,
drivers/gpu/drm/display/drm_dp_dual_mode_helper.c
494
int drm_lspcon_set_mode(const struct drm_device *dev, struct i2c_adapter *adapter,
drivers/gpu/drm/display/drm_dp_dual_mode_helper.c
505
ret = drm_dp_dual_mode_write(adapter, DP_DUAL_MODE_LSPCON_MODE_CHANGE,
drivers/gpu/drm/display/drm_dp_dual_mode_helper.c
518
ret = drm_lspcon_get_mode(dev, adapter, ¤t_mode);
drivers/gpu/drm/display/drm_dp_dual_mode_helper.c
63
ssize_t drm_dp_dual_mode_read(struct i2c_adapter *adapter,
drivers/gpu/drm/display/drm_dp_dual_mode_helper.c
99
ret = i2c_transfer(adapter, msgs, ARRAY_SIZE(msgs));
drivers/gpu/drm/display/drm_dp_helper.c
1878
static u32 drm_dp_i2c_functionality(struct i2c_adapter *adapter)
drivers/gpu/drm/display/drm_dp_helper.c
2148
static int drm_dp_i2c_xfer(struct i2c_adapter *adapter, struct i2c_msg *msgs,
drivers/gpu/drm/display/drm_dp_helper.c
2151
struct drm_dp_aux *aux = adapter->algo_data;
drivers/gpu/drm/display/drm_dp_mst_topology.c
5922
static int drm_dp_mst_i2c_xfer(struct i2c_adapter *adapter,
drivers/gpu/drm/display/drm_dp_mst_topology.c
5925
struct drm_dp_aux *aux = adapter->algo_data;
drivers/gpu/drm/display/drm_dp_mst_topology.c
5949
static u32 drm_dp_mst_i2c_functionality(struct i2c_adapter *adapter)
drivers/gpu/drm/display/drm_hdmi_cec_helper.c
116
data->adapter = cec_adap;
drivers/gpu/drm/display/drm_hdmi_cec_helper.c
17
struct cec_adapter *adapter;
drivers/gpu/drm/display/drm_hdmi_cec_helper.c
170
cec_received_msg(data->adapter, msg);
drivers/gpu/drm/display/drm_hdmi_cec_helper.c
179
cec_transmit_attempt_done(data->adapter, status);
drivers/gpu/drm/display/drm_hdmi_cec_helper.c
190
cec_transmit_done(data->adapter, status,
drivers/gpu/drm/display/drm_hdmi_cec_helper.c
56
cec_phys_addr_invalidate(data->adapter);
drivers/gpu/drm/display/drm_hdmi_cec_helper.c
64
cec_s_phys_addr(data->adapter, addr, false);
drivers/gpu/drm/display/drm_hdmi_cec_helper.c
72
cec_unregister_adapter(data->adapter);
drivers/gpu/drm/display/drm_scdc_helper.c
110
ssize_t drm_scdc_write(struct i2c_adapter *adapter, u8 offset,
drivers/gpu/drm/display/drm_scdc_helper.c
131
err = i2c_transfer(adapter, &msg, 1);
drivers/gpu/drm/display/drm_scdc_helper.c
70
ssize_t drm_scdc_read(struct i2c_adapter *adapter, u8 offset, void *buffer,
drivers/gpu/drm/display/drm_scdc_helper.c
88
ret = i2c_transfer(adapter, msgs, ARRAY_SIZE(msgs));
drivers/gpu/drm/drm_edid.c
2145
struct i2c_adapter *adapter = data;
drivers/gpu/drm/drm_edid.c
2182
ret = i2c_transfer(adapter, &msgs[3 - xfers], xfers);
drivers/gpu/drm/drm_edid.c
2186
adapter->name);
drivers/gpu/drm/drm_edid.c
2586
drm_probe_ddc(struct i2c_adapter *adapter)
drivers/gpu/drm/drm_edid.c
2590
return (drm_do_probe_ddc_edid(adapter, &out, 0, 1) == 0);
drivers/gpu/drm/drm_edid.c
2605
struct i2c_adapter *adapter)
drivers/gpu/drm/drm_edid.c
2612
if (connector->force == DRM_FORCE_UNSPECIFIED && !drm_probe_ddc(adapter))
drivers/gpu/drm/drm_edid.c
2615
edid = _drm_do_get_edid(connector, drm_do_probe_ddc_edid, adapter, NULL);
drivers/gpu/drm/drm_edid.c
2686
struct i2c_adapter *adapter)
drivers/gpu/drm/drm_edid.c
2693
if (connector->force == DRM_FORCE_UNSPECIFIED && !drm_probe_ddc(adapter))
drivers/gpu/drm/drm_edid.c
2696
drm_edid = drm_edid_read_custom(connector, drm_do_probe_ddc_edid, adapter);
drivers/gpu/drm/drm_edid.c
2848
const struct drm_edid *drm_edid_read_base_block(struct i2c_adapter *adapter)
drivers/gpu/drm/drm_edid.c
2857
status = edid_block_read(base_block, 0, drm_do_probe_ddc_edid, adapter);
drivers/gpu/drm/drm_edid.c
2883
struct i2c_adapter *adapter)
drivers/gpu/drm/drm_edid.c
2893
edid = drm_get_edid(connector, adapter);
drivers/gpu/drm/drm_edid.c
2912
struct i2c_adapter *adapter)
drivers/gpu/drm/drm_edid.c
2922
drm_edid = drm_edid_read_ddc(connector, adapter);
drivers/gpu/drm/gma500/cdv_intel_dp.c
103
i2c_algo_dp_aux_stop(struct i2c_adapter *adapter, bool reading)
drivers/gpu/drm/gma500/cdv_intel_dp.c
105
struct i2c_algo_dp_aux_data *algo_data = adapter->algo_data;
drivers/gpu/drm/gma500/cdv_intel_dp.c
113
(void) i2c_algo_dp_aux_transaction(adapter, mode, 0, NULL);
drivers/gpu/drm/gma500/cdv_intel_dp.c
123
i2c_algo_dp_aux_put_byte(struct i2c_adapter *adapter, u8 byte)
drivers/gpu/drm/gma500/cdv_intel_dp.c
125
struct i2c_algo_dp_aux_data *algo_data = adapter->algo_data;
drivers/gpu/drm/gma500/cdv_intel_dp.c
130
return i2c_algo_dp_aux_transaction(adapter, MODE_I2C_WRITE, byte, NULL);
drivers/gpu/drm/gma500/cdv_intel_dp.c
138
i2c_algo_dp_aux_get_byte(struct i2c_adapter *adapter, u8 *byte_ret)
drivers/gpu/drm/gma500/cdv_intel_dp.c
140
struct i2c_algo_dp_aux_data *algo_data = adapter->algo_data;
drivers/gpu/drm/gma500/cdv_intel_dp.c
145
return i2c_algo_dp_aux_transaction(adapter, MODE_I2C_READ, 0, byte_ret);
drivers/gpu/drm/gma500/cdv_intel_dp.c
149
i2c_algo_dp_aux_xfer(struct i2c_adapter *adapter,
drivers/gpu/drm/gma500/cdv_intel_dp.c
162
ret = i2c_algo_dp_aux_address(adapter, msgs[m].addr, reading);
drivers/gpu/drm/gma500/cdv_intel_dp.c
167
ret = i2c_algo_dp_aux_get_byte(adapter, &buf[b]);
drivers/gpu/drm/gma500/cdv_intel_dp.c
1712
edid = drm_get_edid(connector, &intel_dp->adapter);
drivers/gpu/drm/gma500/cdv_intel_dp.c
173
ret = i2c_algo_dp_aux_put_byte(adapter, buf[b]);
drivers/gpu/drm/gma500/cdv_intel_dp.c
1733
edid = drm_get_edid(connector, &intel_dp->adapter);
drivers/gpu/drm/gma500/cdv_intel_dp.c
1791
edid = drm_get_edid(connector, &intel_dp->adapter);
drivers/gpu/drm/gma500/cdv_intel_dp.c
183
i2c_algo_dp_aux_stop(adapter, reading);
drivers/gpu/drm/gma500/cdv_intel_dp.c
1870
i2c_del_adapter(&intel_dp->adapter);
drivers/gpu/drm/gma500/cdv_intel_dp.c
189
i2c_algo_dp_aux_functionality(struct i2c_adapter *adapter)
drivers/gpu/drm/gma500/cdv_intel_dp.c
203
i2c_dp_aux_reset_bus(struct i2c_adapter *adapter)
drivers/gpu/drm/gma500/cdv_intel_dp.c
205
(void) i2c_algo_dp_aux_address(adapter, 0, false);
drivers/gpu/drm/gma500/cdv_intel_dp.c
206
(void) i2c_algo_dp_aux_stop(adapter, false);
drivers/gpu/drm/gma500/cdv_intel_dp.c
210
i2c_dp_aux_prepare_bus(struct i2c_adapter *adapter)
drivers/gpu/drm/gma500/cdv_intel_dp.c
212
adapter->algo = &i2c_dp_aux_algo;
drivers/gpu/drm/gma500/cdv_intel_dp.c
213
adapter->retries = 3;
drivers/gpu/drm/gma500/cdv_intel_dp.c
214
i2c_dp_aux_reset_bus(adapter);
drivers/gpu/drm/gma500/cdv_intel_dp.c
223
i2c_dp_aux_add_bus(struct i2c_adapter *adapter)
drivers/gpu/drm/gma500/cdv_intel_dp.c
227
error = i2c_dp_aux_prepare_bus(adapter);
drivers/gpu/drm/gma500/cdv_intel_dp.c
230
error = i2c_add_adapter(adapter);
drivers/gpu/drm/gma500/cdv_intel_dp.c
266
struct i2c_adapter adapter;
drivers/gpu/drm/gma500/cdv_intel_dp.c
56
int (*aux_ch) (struct i2c_adapter *adapter,
drivers/gpu/drm/gma500/cdv_intel_dp.c
63
i2c_algo_dp_aux_transaction(struct i2c_adapter *adapter, int mode,
drivers/gpu/drm/gma500/cdv_intel_dp.c
66
struct i2c_algo_dp_aux_data *algo_data = adapter->algo_data;
drivers/gpu/drm/gma500/cdv_intel_dp.c
69
ret = (*algo_data->aux_ch)(adapter, mode,
drivers/gpu/drm/gma500/cdv_intel_dp.c
748
cdv_intel_dp_i2c_aux_ch(struct i2c_adapter *adapter, int mode,
drivers/gpu/drm/gma500/cdv_intel_dp.c
751
struct i2c_algo_dp_aux_data *algo_data = adapter->algo_data;
drivers/gpu/drm/gma500/cdv_intel_dp.c
752
struct cdv_intel_dp *intel_dp = container_of(adapter,
drivers/gpu/drm/gma500/cdv_intel_dp.c
754
adapter);
drivers/gpu/drm/gma500/cdv_intel_dp.c
84
i2c_algo_dp_aux_address(struct i2c_adapter *adapter, u16 address, bool reading)
drivers/gpu/drm/gma500/cdv_intel_dp.c
857
memset(&intel_dp->adapter, '\0', sizeof (intel_dp->adapter));
drivers/gpu/drm/gma500/cdv_intel_dp.c
858
intel_dp->adapter.owner = THIS_MODULE;
drivers/gpu/drm/gma500/cdv_intel_dp.c
859
strscpy(intel_dp->adapter.name, name);
drivers/gpu/drm/gma500/cdv_intel_dp.c
86
struct i2c_algo_dp_aux_data *algo_data = adapter->algo_data;
drivers/gpu/drm/gma500/cdv_intel_dp.c
860
intel_dp->adapter.algo_data = &intel_dp->algo;
drivers/gpu/drm/gma500/cdv_intel_dp.c
861
intel_dp->adapter.dev.parent = connector->base.kdev;
drivers/gpu/drm/gma500/cdv_intel_dp.c
865
ret = i2c_dp_aux_add_bus(&intel_dp->adapter);
drivers/gpu/drm/gma500/cdv_intel_dp.c
95
return i2c_algo_dp_aux_transaction(adapter, mode, 0, NULL);
drivers/gpu/drm/gma500/intel_gmbus.c
197
snprintf(gpio->adapter.name, sizeof(gpio->adapter.name),
drivers/gpu/drm/gma500/intel_gmbus.c
199
gpio->adapter.owner = THIS_MODULE;
drivers/gpu/drm/gma500/intel_gmbus.c
200
gpio->adapter.algo_data = &gpio->algo;
drivers/gpu/drm/gma500/intel_gmbus.c
201
gpio->adapter.dev.parent = dev_priv->dev.dev;
drivers/gpu/drm/gma500/intel_gmbus.c
210
if (i2c_bit_add_bus(&gpio->adapter))
drivers/gpu/drm/gma500/intel_gmbus.c
213
return &gpio->adapter;
drivers/gpu/drm/gma500/intel_gmbus.c
222
struct i2c_adapter *adapter,
drivers/gpu/drm/gma500/intel_gmbus.c
226
struct intel_gpio *gpio = container_of(adapter,
drivers/gpu/drm/gma500/intel_gmbus.c
228
adapter);
drivers/gpu/drm/gma500/intel_gmbus.c
238
ret = adapter->algo->master_xfer(adapter, msgs, num);
drivers/gpu/drm/gma500/intel_gmbus.c
248
gmbus_xfer(struct i2c_adapter *adapter,
drivers/gpu/drm/gma500/intel_gmbus.c
252
struct intel_gmbus *bus = container_of(adapter,
drivers/gpu/drm/gma500/intel_gmbus.c
254
adapter);
drivers/gpu/drm/gma500/intel_gmbus.c
255
struct drm_psb_private *dev_priv = adapter->algo_data;
drivers/gpu/drm/gma500/intel_gmbus.c
352
bus->reg0 & 0xff, bus->adapter.name);
drivers/gpu/drm/gma500/intel_gmbus.c
363
static u32 gmbus_func(struct i2c_adapter *adapter)
drivers/gpu/drm/gma500/intel_gmbus.c
365
struct intel_gmbus *bus = container_of(adapter,
drivers/gpu/drm/gma500/intel_gmbus.c
367
adapter);
drivers/gpu/drm/gma500/intel_gmbus.c
414
bus->adapter.owner = THIS_MODULE;
drivers/gpu/drm/gma500/intel_gmbus.c
415
snprintf(bus->adapter.name,
drivers/gpu/drm/gma500/intel_gmbus.c
416
sizeof(bus->adapter.name),
drivers/gpu/drm/gma500/intel_gmbus.c
420
bus->adapter.dev.parent = dev->dev;
drivers/gpu/drm/gma500/intel_gmbus.c
421
bus->adapter.algo_data = dev_priv;
drivers/gpu/drm/gma500/intel_gmbus.c
423
bus->adapter.algo = &gmbus_algorithm;
drivers/gpu/drm/gma500/intel_gmbus.c
424
ret = i2c_add_adapter(&bus->adapter);
drivers/gpu/drm/gma500/intel_gmbus.c
442
i2c_del_adapter(&bus->adapter);
drivers/gpu/drm/gma500/intel_gmbus.c
449
void gma_intel_gmbus_set_speed(struct i2c_adapter *adapter, int speed)
drivers/gpu/drm/gma500/intel_gmbus.c
451
struct intel_gmbus *bus = to_intel_gmbus(adapter);
drivers/gpu/drm/gma500/intel_gmbus.c
462
void gma_intel_gmbus_force_bit(struct i2c_adapter *adapter, bool force_bit)
drivers/gpu/drm/gma500/intel_gmbus.c
464
struct intel_gmbus *bus = to_intel_gmbus(adapter);
drivers/gpu/drm/gma500/intel_gmbus.c
468
struct drm_psb_private *dev_priv = adapter->algo_data;
drivers/gpu/drm/gma500/intel_gmbus.c
495
i2c_del_adapter(&bus->adapter);
drivers/gpu/drm/gma500/intel_gmbus.c
67
return container_of(i2c, struct intel_gmbus, adapter);
drivers/gpu/drm/gma500/intel_gmbus.c
71
struct i2c_adapter adapter;
drivers/gpu/drm/gma500/oaktrail_hdmi_i2c.c
160
static u32 oaktrail_hdmi_i2c_func(struct i2c_adapter *adapter)
drivers/gpu/drm/gma500/psb_drv.h
215
struct i2c_adapter adapter;
drivers/gpu/drm/gma500/psb_intel_drv.h
184
struct i2c_adapter *adapter);
drivers/gpu/drm/gma500/psb_intel_drv.h
223
extern void gma_intel_gmbus_set_speed(struct i2c_adapter *adapter, int speed);
drivers/gpu/drm/gma500/psb_intel_drv.h
224
extern void gma_intel_gmbus_force_bit(struct i2c_adapter *adapter, bool force_bit);
drivers/gpu/drm/gma500/psb_intel_modes.c
22
struct i2c_adapter *adapter)
drivers/gpu/drm/gma500/psb_intel_modes.c
27
edid = drm_get_edid(connector, adapter);
drivers/gpu/drm/gma500/psb_intel_sdvo.c
1246
&dev_priv->gmbus[dev_priv->crt_ddc_pin].adapter);
drivers/gpu/drm/gma500/psb_intel_sdvo.c
1889
sdvo->i2c = &dev_priv->gmbus[pin].adapter;
drivers/gpu/drm/gma500/psb_intel_sdvo.c
1893
sdvo->i2c = &dev_priv->gmbus[GMBUS_PORT_DPB].adapter;
drivers/gpu/drm/gma500/psb_intel_sdvo.c
2402
static int psb_intel_sdvo_ddc_proxy_xfer(struct i2c_adapter *adapter,
drivers/gpu/drm/gma500/psb_intel_sdvo.c
2406
struct psb_intel_sdvo *sdvo = adapter->algo_data;
drivers/gpu/drm/gma500/psb_intel_sdvo.c
2414
static u32 psb_intel_sdvo_ddc_proxy_func(struct i2c_adapter *adapter)
drivers/gpu/drm/gma500/psb_intel_sdvo.c
2416
struct psb_intel_sdvo *sdvo = adapter->algo_data;
drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.h
32
struct i2c_adapter adapter;
drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_i2c.c
101
i2c_del_adapter(&vdac->adapter);
drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_i2c.c
82
vdac->adapter.owner = THIS_MODULE;
drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_i2c.c
83
snprintf(vdac->adapter.name, I2C_NAME_SIZE, "HIS i2c bit bus");
drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_i2c.c
84
vdac->adapter.dev.parent = drm_dev->dev;
drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_i2c.c
85
i2c_set_adapdata(&vdac->adapter, vdac);
drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_i2c.c
86
vdac->adapter.algo_data = &vdac->bit_data;
drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_i2c.c
96
return i2c_bit_add_bus(&vdac->adapter);
drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_vdac.c
121
&vdac->adapter);
drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_vdac.c
31
drm_edid = drm_edid_read_ddc(connector, &vdac->adapter);
drivers/gpu/drm/i915/display/dvo_ch7017.c
204
struct i2c_adapter *adapter)
drivers/gpu/drm/i915/display/dvo_ch7017.c
214
dvo->i2c_bus = adapter;
drivers/gpu/drm/i915/display/dvo_ch7017.c
233
val, adapter->name, dvo->target_addr);
drivers/gpu/drm/i915/display/dvo_ch7017.c
238
str, adapter->name, dvo->target_addr);
drivers/gpu/drm/i915/display/dvo_ch7xxx.c
152
struct i2c_adapter *adapter = dvo->i2c_bus;
drivers/gpu/drm/i915/display/dvo_ch7xxx.c
174
if (i2c_transfer(adapter, msgs, 2) == 2) {
drivers/gpu/drm/i915/display/dvo_ch7xxx.c
181
addr, adapter->name, dvo->target_addr);
drivers/gpu/drm/i915/display/dvo_ch7xxx.c
190
struct i2c_adapter *adapter = dvo->i2c_bus;
drivers/gpu/drm/i915/display/dvo_ch7xxx.c
202
if (i2c_transfer(adapter, &msg, 1) == 1)
drivers/gpu/drm/i915/display/dvo_ch7xxx.c
207
addr, adapter->name, dvo->target_addr);
drivers/gpu/drm/i915/display/dvo_ch7xxx.c
214
struct i2c_adapter *adapter)
drivers/gpu/drm/i915/display/dvo_ch7xxx.c
225
dvo->i2c_bus = adapter;
drivers/gpu/drm/i915/display/dvo_ch7xxx.c
235
vendor, adapter->name, dvo->target_addr);
drivers/gpu/drm/i915/display/dvo_ch7xxx.c
246
device, adapter->name, dvo->target_addr);
drivers/gpu/drm/i915/display/dvo_ivch.c
197
struct i2c_adapter *adapter = dvo->i2c_bus;
drivers/gpu/drm/i915/display/dvo_ivch.c
223
if (i2c_transfer(adapter, msgs, 3) == 3) {
drivers/gpu/drm/i915/display/dvo_ivch.c
231
addr, adapter->name, dvo->target_addr);
drivers/gpu/drm/i915/display/dvo_ivch.c
240
struct i2c_adapter *adapter = dvo->i2c_bus;
drivers/gpu/drm/i915/display/dvo_ivch.c
253
if (i2c_transfer(adapter, &msg, 1) == 1)
drivers/gpu/drm/i915/display/dvo_ivch.c
258
addr, adapter->name, dvo->target_addr);
drivers/gpu/drm/i915/display/dvo_ivch.c
266
struct i2c_adapter *adapter)
drivers/gpu/drm/i915/display/dvo_ivch.c
276
dvo->i2c_bus = adapter;
drivers/gpu/drm/i915/display/dvo_ns2501.c
396
struct i2c_adapter *adapter = dvo->i2c_bus;
drivers/gpu/drm/i915/display/dvo_ns2501.c
418
if (i2c_transfer(adapter, msgs, 2) == 2) {
drivers/gpu/drm/i915/display/dvo_ns2501.c
426
adapter->name, dvo->target_addr);
drivers/gpu/drm/i915/display/dvo_ns2501.c
441
struct i2c_adapter *adapter = dvo->i2c_bus;
drivers/gpu/drm/i915/display/dvo_ns2501.c
454
if (i2c_transfer(adapter, &msg, 1) == 1) {
drivers/gpu/drm/i915/display/dvo_ns2501.c
460
addr, adapter->name, dvo->target_addr);
drivers/gpu/drm/i915/display/dvo_ns2501.c
473
struct i2c_adapter *adapter)
drivers/gpu/drm/i915/display/dvo_ns2501.c
483
dvo->i2c_bus = adapter;
drivers/gpu/drm/i915/display/dvo_ns2501.c
492
ch, adapter->name, dvo->target_addr);
drivers/gpu/drm/i915/display/dvo_ns2501.c
501
ch, adapter->name, dvo->target_addr);
drivers/gpu/drm/i915/display/dvo_sil164.c
100
if (i2c_transfer(adapter, msgs, 2) == 2) {
drivers/gpu/drm/i915/display/dvo_sil164.c
107
addr, adapter->name, dvo->target_addr);
drivers/gpu/drm/i915/display/dvo_sil164.c
115
struct i2c_adapter *adapter = dvo->i2c_bus;
drivers/gpu/drm/i915/display/dvo_sil164.c
127
if (i2c_transfer(adapter, &msg, 1) == 1)
drivers/gpu/drm/i915/display/dvo_sil164.c
132
addr, adapter->name, dvo->target_addr);
drivers/gpu/drm/i915/display/dvo_sil164.c
140
struct i2c_adapter *adapter)
drivers/gpu/drm/i915/display/dvo_sil164.c
150
dvo->i2c_bus = adapter;
drivers/gpu/drm/i915/display/dvo_sil164.c
159
ch, adapter->name, dvo->target_addr);
drivers/gpu/drm/i915/display/dvo_sil164.c
168
ch, adapter->name, dvo->target_addr);
drivers/gpu/drm/i915/display/dvo_sil164.c
78
struct i2c_adapter *adapter = dvo->i2c_bus;
drivers/gpu/drm/i915/display/dvo_tfp410.c
121
if (i2c_transfer(adapter, msgs, 2) == 2) {
drivers/gpu/drm/i915/display/dvo_tfp410.c
128
addr, adapter->name, dvo->target_addr);
drivers/gpu/drm/i915/display/dvo_tfp410.c
136
struct i2c_adapter *adapter = dvo->i2c_bus;
drivers/gpu/drm/i915/display/dvo_tfp410.c
148
if (i2c_transfer(adapter, &msg, 1) == 1)
drivers/gpu/drm/i915/display/dvo_tfp410.c
153
addr, adapter->name, dvo->target_addr);
drivers/gpu/drm/i915/display/dvo_tfp410.c
172
struct i2c_adapter *adapter)
drivers/gpu/drm/i915/display/dvo_tfp410.c
182
dvo->i2c_bus = adapter;
drivers/gpu/drm/i915/display/dvo_tfp410.c
189
id, adapter->name, dvo->target_addr);
drivers/gpu/drm/i915/display/dvo_tfp410.c
196
id, adapter->name, dvo->target_addr);
drivers/gpu/drm/i915/display/dvo_tfp410.c
99
struct i2c_adapter *adapter = dvo->i2c_bus;
drivers/gpu/drm/i915/display/intel_dsi_vbt.c
446
struct i2c_adapter *adapter;
drivers/gpu/drm/i915/display/intel_dsi_vbt.c
462
adapter = i2c_acpi_find_adapter_by_handle(adapter_handle);
drivers/gpu/drm/i915/display/intel_dsi_vbt.c
463
if (adapter)
drivers/gpu/drm/i915/display/intel_dsi_vbt.c
464
intel_dsi->i2c_bus_num = adapter->nr;
drivers/gpu/drm/i915/display/intel_dsi_vbt.c
494
struct i2c_adapter *adapter;
drivers/gpu/drm/i915/display/intel_dsi_vbt.c
511
adapter = i2c_get_adapter(intel_dsi->i2c_bus_num);
drivers/gpu/drm/i915/display/intel_dsi_vbt.c
512
if (!adapter) {
drivers/gpu/drm/i915/display/intel_dsi_vbt.c
529
ret = i2c_transfer(adapter, &msg, 1);
drivers/gpu/drm/i915/display/intel_dsi_vbt.c
537
i2c_put_adapter(adapter);
drivers/gpu/drm/i915/display/intel_gmbus.c
1001
force_bit ? "en" : "dis", adapter->name,
drivers/gpu/drm/i915/display/intel_gmbus.c
1007
bool intel_gmbus_is_forced_bit(struct i2c_adapter *adapter)
drivers/gpu/drm/i915/display/intel_gmbus.c
1009
struct intel_gmbus *bus = to_intel_gmbus(adapter);
drivers/gpu/drm/i915/display/intel_gmbus.c
1025
i2c_del_adapter(&bus->adapter);
drivers/gpu/drm/i915/display/intel_gmbus.c
208
return container_of(i2c, struct intel_gmbus, adapter);
drivers/gpu/drm/i915/display/intel_gmbus.c
336
intel_gpio_pre_xfer(struct i2c_adapter *adapter)
drivers/gpu/drm/i915/display/intel_gmbus.c
338
struct intel_gmbus *bus = to_intel_gmbus(adapter);
drivers/gpu/drm/i915/display/intel_gmbus.c
356
intel_gpio_post_xfer(struct i2c_adapter *adapter)
drivers/gpu/drm/i915/display/intel_gmbus.c
358
struct intel_gmbus *bus = to_intel_gmbus(adapter);
drivers/gpu/drm/i915/display/intel_gmbus.c
379
bus->adapter.algo_data = algo;
drivers/gpu/drm/i915/display/intel_gmbus.c
48
struct i2c_adapter adapter;
drivers/gpu/drm/i915/display/intel_gmbus.c
659
do_gmbus_xfer(struct i2c_adapter *adapter, struct i2c_msg *msgs, int num,
drivers/gpu/drm/i915/display/intel_gmbus.c
662
struct intel_gmbus *bus = to_intel_gmbus(adapter);
drivers/gpu/drm/i915/display/intel_gmbus.c
711
adapter->name);
drivers/gpu/drm/i915/display/intel_gmbus.c
736
adapter->name);
drivers/gpu/drm/i915/display/intel_gmbus.c
749
adapter->name, msgs[i].addr,
drivers/gpu/drm/i915/display/intel_gmbus.c
761
adapter->name);
drivers/gpu/drm/i915/display/intel_gmbus.c
770
bus->adapter.name, bus->reg0 & 0xff);
drivers/gpu/drm/i915/display/intel_gmbus.c
790
gmbus_xfer(struct i2c_adapter *adapter, struct i2c_msg *msgs, int num)
drivers/gpu/drm/i915/display/intel_gmbus.c
792
struct intel_gmbus *bus = to_intel_gmbus(adapter);
drivers/gpu/drm/i915/display/intel_gmbus.c
800
ret = i2c_bit_algo.master_xfer(adapter, msgs, num);
drivers/gpu/drm/i915/display/intel_gmbus.c
804
ret = do_gmbus_xfer(adapter, msgs, num, 0);
drivers/gpu/drm/i915/display/intel_gmbus.c
814
int intel_gmbus_output_aksv(struct i2c_adapter *adapter)
drivers/gpu/drm/i915/display/intel_gmbus.c
816
struct intel_gmbus *bus = to_intel_gmbus(adapter);
drivers/gpu/drm/i915/display/intel_gmbus.c
845
ret = do_gmbus_xfer(adapter, msgs, ARRAY_SIZE(msgs), GMBUS_AKSV_SELECT);
drivers/gpu/drm/i915/display/intel_gmbus.c
853
static u32 gmbus_func(struct i2c_adapter *adapter)
drivers/gpu/drm/i915/display/intel_gmbus.c
855
return i2c_bit_algo.functionality(adapter) &
drivers/gpu/drm/i915/display/intel_gmbus.c
867
static void gmbus_lock_bus(struct i2c_adapter *adapter,
drivers/gpu/drm/i915/display/intel_gmbus.c
870
struct intel_gmbus *bus = to_intel_gmbus(adapter);
drivers/gpu/drm/i915/display/intel_gmbus.c
876
static int gmbus_trylock_bus(struct i2c_adapter *adapter,
drivers/gpu/drm/i915/display/intel_gmbus.c
879
struct intel_gmbus *bus = to_intel_gmbus(adapter);
drivers/gpu/drm/i915/display/intel_gmbus.c
885
static void gmbus_unlock_bus(struct i2c_adapter *adapter,
drivers/gpu/drm/i915/display/intel_gmbus.c
888
struct intel_gmbus *bus = to_intel_gmbus(adapter);
drivers/gpu/drm/i915/display/intel_gmbus.c
936
bus->adapter.owner = THIS_MODULE;
drivers/gpu/drm/i915/display/intel_gmbus.c
937
snprintf(bus->adapter.name,
drivers/gpu/drm/i915/display/intel_gmbus.c
938
sizeof(bus->adapter.name),
drivers/gpu/drm/i915/display/intel_gmbus.c
941
bus->adapter.dev.parent = &pdev->dev;
drivers/gpu/drm/i915/display/intel_gmbus.c
944
bus->adapter.algo = &gmbus_algorithm;
drivers/gpu/drm/i915/display/intel_gmbus.c
945
bus->adapter.lock_ops = &gmbus_lock_ops;
drivers/gpu/drm/i915/display/intel_gmbus.c
951
bus->adapter.retries = 1;
drivers/gpu/drm/i915/display/intel_gmbus.c
962
ret = i2c_add_adapter(&bus->adapter);
drivers/gpu/drm/i915/display/intel_gmbus.c
988
return &display->gmbus.bus[pin]->adapter;
drivers/gpu/drm/i915/display/intel_gmbus.c
991
void intel_gmbus_force_bit(struct i2c_adapter *adapter, bool force_bit)
drivers/gpu/drm/i915/display/intel_gmbus.c
993
struct intel_gmbus *bus = to_intel_gmbus(adapter);
drivers/gpu/drm/i915/display/intel_gmbus.h
40
int intel_gmbus_output_aksv(struct i2c_adapter *adapter);
drivers/gpu/drm/i915/display/intel_gmbus.h
44
void intel_gmbus_force_bit(struct i2c_adapter *adapter, bool force_bit);
drivers/gpu/drm/i915/display/intel_gmbus.h
45
bool intel_gmbus_is_forced_bit(struct i2c_adapter *adapter);
drivers/gpu/drm/i915/display/intel_sdvo.c
3285
static int intel_sdvo_ddc_proxy_xfer(struct i2c_adapter *adapter,
drivers/gpu/drm/i915/display/intel_sdvo.c
3289
struct intel_sdvo_ddc *ddc = adapter->algo_data;
drivers/gpu/drm/i915/display/intel_sdvo.c
3298
static u32 intel_sdvo_ddc_proxy_func(struct i2c_adapter *adapter)
drivers/gpu/drm/i915/display/intel_sdvo.c
3300
struct intel_sdvo_ddc *ddc = adapter->algo_data;
drivers/gpu/drm/i915/display/intel_sdvo.c
3311
static void proxy_lock_bus(struct i2c_adapter *adapter,
drivers/gpu/drm/i915/display/intel_sdvo.c
3314
struct intel_sdvo_ddc *ddc = adapter->algo_data;
drivers/gpu/drm/i915/display/intel_sdvo.c
3320
static int proxy_trylock_bus(struct i2c_adapter *adapter,
drivers/gpu/drm/i915/display/intel_sdvo.c
3323
struct intel_sdvo_ddc *ddc = adapter->algo_data;
drivers/gpu/drm/i915/display/intel_sdvo.c
3329
static void proxy_unlock_bus(struct i2c_adapter *adapter,
drivers/gpu/drm/i915/display/intel_sdvo.c
3332
struct intel_sdvo_ddc *ddc = adapter->algo_data;
drivers/gpu/drm/loongson/lsdc_drv.c
87
ddc = &dispipe->li2c->adapter;
drivers/gpu/drm/loongson/lsdc_i2c.c
107
i2c_del_adapter(&li2c->adapter);
drivers/gpu/drm/loongson/lsdc_i2c.c
123
struct i2c_adapter *adapter;
drivers/gpu/drm/loongson/lsdc_i2c.c
155
adapter = &li2c->adapter;
drivers/gpu/drm/loongson/lsdc_i2c.c
156
adapter->algo_data = &li2c->bit;
drivers/gpu/drm/loongson/lsdc_i2c.c
157
adapter->owner = THIS_MODULE;
drivers/gpu/drm/loongson/lsdc_i2c.c
158
adapter->dev.parent = ddev->dev;
drivers/gpu/drm/loongson/lsdc_i2c.c
159
adapter->nr = -1;
drivers/gpu/drm/loongson/lsdc_i2c.c
161
snprintf(adapter->name, sizeof(adapter->name), "lsdc-i2c%u", index);
drivers/gpu/drm/loongson/lsdc_i2c.c
163
i2c_set_adapdata(adapter, li2c);
drivers/gpu/drm/loongson/lsdc_i2c.c
165
ret = i2c_bit_add_bus(adapter);
drivers/gpu/drm/loongson/lsdc_i2c.c
176
adapter->name, li2c->sda, li2c->scl);
drivers/gpu/drm/loongson/lsdc_i2c.h
13
struct i2c_adapter adapter;
drivers/gpu/drm/mediatek/mtk_hdmi_ddc.c
210
static int mtk_hdmi_ddc_xfer(struct i2c_adapter *adapter,
drivers/gpu/drm/mediatek/mtk_hdmi_ddc.c
213
struct mtk_hdmi_ddc *ddc = adapter->algo_data;
drivers/gpu/drm/mediatek/mtk_hdmi_ddc.c
214
struct device *dev = adapter->dev.parent;
drivers/gpu/drm/mediatek/mtk_hdmi_ddc.c
259
static u32 mtk_hdmi_ddc_func(struct i2c_adapter *adapter)
drivers/gpu/drm/mediatek/mtk_hdmi_ddc_v2.c
281
static int mtk_hdmi_ddc_v2_xfer(struct i2c_adapter *adapter, struct i2c_msg *msgs, int num)
drivers/gpu/drm/mediatek/mtk_hdmi_ddc_v2.c
287
ddc = adapter->algo_data;
drivers/gpu/drm/mediatek/mtk_hdmi_ddc_v2.c
333
static u32 mtk_hdmi_ddc_v2_func(struct i2c_adapter *adapter)
drivers/gpu/drm/mgag200/mgag200_ddc.c
101
static int mgag200_ddc_algo_bit_data_pre_xfer(struct i2c_adapter *adapter)
drivers/gpu/drm/mgag200/mgag200_ddc.c
103
struct mgag200_ddc *ddc = i2c_get_adapdata(adapter);
drivers/gpu/drm/mgag200/mgag200_ddc.c
115
static void mgag200_ddc_algo_bit_data_post_xfer(struct i2c_adapter *adapter)
drivers/gpu/drm/mgag200/mgag200_ddc.c
117
struct mgag200_ddc *ddc = i2c_get_adapdata(adapter);
drivers/gpu/drm/mgag200/mgag200_ddc.c
127
i2c_del_adapter(&ddc->adapter);
drivers/gpu/drm/mgag200/mgag200_ddc.c
136
struct i2c_adapter *adapter;
drivers/gpu/drm/mgag200/mgag200_ddc.c
162
adapter = &ddc->adapter;
drivers/gpu/drm/mgag200/mgag200_ddc.c
163
adapter->owner = THIS_MODULE;
drivers/gpu/drm/mgag200/mgag200_ddc.c
164
adapter->algo_data = bit;
drivers/gpu/drm/mgag200/mgag200_ddc.c
165
adapter->dev.parent = dev->dev;
drivers/gpu/drm/mgag200/mgag200_ddc.c
166
snprintf(adapter->name, sizeof(adapter->name), "Matrox DDC bus");
drivers/gpu/drm/mgag200/mgag200_ddc.c
167
i2c_set_adapdata(adapter, ddc);
drivers/gpu/drm/mgag200/mgag200_ddc.c
169
ret = i2c_bit_add_bus(adapter);
drivers/gpu/drm/mgag200/mgag200_ddc.c
177
return adapter;
drivers/gpu/drm/mgag200/mgag200_ddc.c
45
struct i2c_adapter adapter;
drivers/gpu/drm/msm/hdmi/hdmi_i2c.c
218
static u32 msm_hdmi_i2c_func(struct i2c_adapter *adapter)
drivers/gpu/drm/nouveau/dispnv04/i2c/sil164_drv.c
377
struct i2c_adapter *adap = client->adapter;
drivers/gpu/drm/panel/panel-olimex-lcd-olinuxino.c
174
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C |
drivers/gpu/drm/radeon/radeon_atombios.c
2112
i2c_new_client_device(&rdev->pm.i2c_bus->adapter, &info);
drivers/gpu/drm/radeon/radeon_atombios.c
2360
i2c_new_client_device(&rdev->pm.i2c_bus->adapter, &info);
drivers/gpu/drm/radeon/radeon_combios.c
2687
i2c_new_client_device(&rdev->pm.i2c_bus->adapter, &info);
drivers/gpu/drm/radeon/radeon_combios.c
2704
i2c_new_client_device(&rdev->pm.i2c_bus->adapter, &info);
drivers/gpu/drm/radeon/radeon_connectors.c
1919
ddc = &radeon_connector->ddc_bus->adapter;
drivers/gpu/drm/radeon/radeon_connectors.c
2025
ddc = &radeon_connector->ddc_bus->adapter;
drivers/gpu/drm/radeon/radeon_connectors.c
2055
ddc = &radeon_connector->ddc_bus->adapter;
drivers/gpu/drm/radeon/radeon_connectors.c
2091
ddc = &radeon_connector->ddc_bus->adapter;
drivers/gpu/drm/radeon/radeon_connectors.c
2153
ddc = &radeon_connector->ddc_bus->adapter;
drivers/gpu/drm/radeon/radeon_connectors.c
2207
ddc = &radeon_connector->ddc_bus->adapter;
drivers/gpu/drm/radeon/radeon_connectors.c
2262
ddc = &radeon_connector->ddc_bus->adapter;
drivers/gpu/drm/radeon/radeon_connectors.c
2310
ddc = &radeon_connector->ddc_bus->adapter;
drivers/gpu/drm/radeon/radeon_connectors.c
2400
ddc = &radeon_connector->ddc_bus->adapter;
drivers/gpu/drm/radeon/radeon_connectors.c
2422
ddc = &radeon_connector->ddc_bus->adapter;
drivers/gpu/drm/radeon/radeon_connectors.c
2445
ddc = &radeon_connector->ddc_bus->adapter;
drivers/gpu/drm/radeon/radeon_connectors.c
2498
ddc = &radeon_connector->ddc_bus->adapter;
drivers/gpu/drm/radeon/radeon_connectors.c
287
&radeon_connector->ddc_bus->adapter);
drivers/gpu/drm/radeon/radeon_connectors.c
292
&radeon_connector->ddc_bus->adapter);
drivers/gpu/drm/radeon/radeon_connectors.c
295
&radeon_connector->ddc_bus->adapter);
drivers/gpu/drm/radeon/radeon_i2c.c
1054
if (i2c_transfer(&i2c_bus->adapter, msgs, 2) == 2) {
drivers/gpu/drm/radeon/radeon_i2c.c
1079
if (i2c_transfer(&i2c_bus->adapter, &msg, 1) != 1)
drivers/gpu/drm/radeon/radeon_i2c.c
64
ret = i2c_transfer(&radeon_connector->ddc_bus->adapter, msgs, 2);
drivers/gpu/drm/radeon/radeon_i2c.c
920
i2c->adapter.owner = THIS_MODULE;
drivers/gpu/drm/radeon/radeon_i2c.c
921
i2c->adapter.dev.parent = dev->dev;
drivers/gpu/drm/radeon/radeon_i2c.c
923
i2c_set_adapdata(&i2c->adapter, i2c);
drivers/gpu/drm/radeon/radeon_i2c.c
931
snprintf(i2c->adapter.name, sizeof(i2c->adapter.name),
drivers/gpu/drm/radeon/radeon_i2c.c
933
i2c->adapter.algo = &radeon_i2c_algo;
drivers/gpu/drm/radeon/radeon_i2c.c
934
ret = devm_i2c_add_adapter(dev->dev, &i2c->adapter);
drivers/gpu/drm/radeon/radeon_i2c.c
941
snprintf(i2c->adapter.name, sizeof(i2c->adapter.name),
drivers/gpu/drm/radeon/radeon_i2c.c
943
i2c->adapter.algo = &radeon_atom_i2c_algo;
drivers/gpu/drm/radeon/radeon_i2c.c
944
ret = i2c_add_adapter(&i2c->adapter);
drivers/gpu/drm/radeon/radeon_i2c.c
949
snprintf(i2c->adapter.name, sizeof(i2c->adapter.name),
drivers/gpu/drm/radeon/radeon_i2c.c
951
i2c->adapter.algo_data = &i2c->bit;
drivers/gpu/drm/radeon/radeon_i2c.c
961
ret = i2c_bit_add_bus(&i2c->adapter);
drivers/gpu/drm/radeon/radeon_mode.h
204
struct i2c_adapter adapter;
drivers/gpu/drm/rockchip/rk3066_hdmi.c
633
static u32 rk3066_hdmi_i2c_func(struct i2c_adapter *adapter)
drivers/gpu/drm/sitronix/st7571-i2c.c
103
if (i2c_check_functionality(client->adapter, I2C_FUNC_PROTOCOL_MANGLING))
drivers/gpu/drm/sitronix/st7571-i2c.c
53
ret = i2c_transfer(t->client->adapter, &msg, 1);
drivers/gpu/drm/tests/drm_connector_test.c
56
static int dummy_ddc_xfer(struct i2c_adapter *adapter,
drivers/gpu/drm/tests/drm_connector_test.c
62
static u32 dummy_ddc_func(struct i2c_adapter *adapter)
drivers/gpu/drm/xe/xe_i2c.c
73
i2c->client[0] = i2c_new_client_device(i2c->adapter, &info);
drivers/gpu/drm/xe/xe_i2c.c
79
struct i2c_adapter *adapter = i2c_verify_adapter(data);
drivers/gpu/drm/xe/xe_i2c.c
83
adapter && dev->parent == &i2c->pdev->dev) {
drivers/gpu/drm/xe/xe_i2c.c
84
i2c->adapter = adapter;
drivers/gpu/drm/xe/xe_i2c.h
35
struct i2c_adapter *adapter;
drivers/hid/hid-ft260.c
612
static int ft260_i2c_xfer(struct i2c_adapter *adapter, struct i2c_msg *msgs,
drivers/hid/hid-ft260.c
616
struct ft260_device *dev = i2c_get_adapdata(adapter);
drivers/hid/hid-ft260.c
652
static int ft260_smbus_xfer(struct i2c_adapter *adapter, u16 addr, u16 flags,
drivers/hid/hid-ft260.c
657
struct ft260_device *dev = i2c_get_adapdata(adapter);
drivers/hid/hid-mcp2221.c
117
struct i2c_adapter adapter;
drivers/hid/hid-mcp2221.c
1281
mcp->adapter.owner = THIS_MODULE;
drivers/hid/hid-mcp2221.c
1282
mcp->adapter.class = I2C_CLASS_HWMON;
drivers/hid/hid-mcp2221.c
1283
mcp->adapter.algo = &mcp_i2c_algo;
drivers/hid/hid-mcp2221.c
1284
mcp->adapter.retries = 1;
drivers/hid/hid-mcp2221.c
1285
mcp->adapter.dev.parent = &hdev->dev;
drivers/hid/hid-mcp2221.c
1286
ACPI_COMPANION_SET(&mcp->adapter.dev, ACPI_COMPANION(hdev->dev.parent));
drivers/hid/hid-mcp2221.c
1287
snprintf(mcp->adapter.name, sizeof(mcp->adapter.name),
drivers/hid/hid-mcp2221.c
1290
i2c_set_adapdata(&mcp->adapter, mcp);
drivers/hid/hid-mcp2221.c
1291
ret = devm_i2c_add_adapter(&hdev->dev, &mcp->adapter);
drivers/hid/hid-mcp2221.c
371
static int mcp_i2c_xfer(struct i2c_adapter *adapter,
drivers/hid/hid-mcp2221.c
375
struct mcp2221 *mcp = i2c_get_adapdata(adapter);
drivers/hid/hid-mcp2221.c
409
dev_err(&adapter->dev,
drivers/hid/hid-mcp2221.c
414
dev_err(&adapter->dev,
drivers/hid/hid-mcp2221.c
471
static int mcp_smbus_xfer(struct i2c_adapter *adapter, u16 addr,
drivers/hid/hid-mcp2221.c
477
struct mcp2221 *mcp = i2c_get_adapdata(adapter);
drivers/hid/hid-mcp2221.c
602
dev_err(&mcp->adapter.dev,
drivers/hid/hid-mcp2221.c
613
static u32 mcp_i2c_func(struct i2c_adapter *adapter)
drivers/hid/i2c-hid/i2c-hid-core.c
222
ret = i2c_transfer(client->adapter, msgs, n);
drivers/hwmon/ad7414.c
179
if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE_DATA |
drivers/hwmon/ad7418.c
236
struct i2c_adapter *adapter = client->adapter;
drivers/hwmon/ad7418.c
241
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA |
drivers/hwmon/adc128d818.c
362
if (!i2c_check_functionality(client->adapter,
drivers/hwmon/adm1025.c
444
struct i2c_adapter *adapter = client->adapter;
drivers/hwmon/adm1025.c
448
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/hwmon/adm1025.c
455
dev_dbg(&adapter->dev, "ADM1025 detection failed at 0x%02x\n",
drivers/hwmon/adm1026.c
1581
struct i2c_adapter *adapter = client->adapter;
drivers/hwmon/adm1026.c
1585
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA)) {
drivers/hwmon/adm1026.c
1595
dev_dbg(&adapter->dev,
drivers/hwmon/adm1026.c
1597
i2c_adapter_id(client->adapter), client->addr,
drivers/hwmon/adm1026.c
1601
dev_dbg(&adapter->dev, "Autodetecting device at %d,0x%02x...\n",
drivers/hwmon/adm1026.c
1602
i2c_adapter_id(adapter), address);
drivers/hwmon/adm1026.c
1608
dev_err(&adapter->dev,
drivers/hwmon/adm1026.c
1612
dev_err(&adapter->dev,
drivers/hwmon/adm1026.c
1616
dev_dbg(&adapter->dev, "Autodetection failed\n");
drivers/hwmon/adm1029.c
301
struct i2c_adapter *adapter = client->adapter;
drivers/hwmon/adm1029.c
304
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/hwmon/adm1031.c
974
struct i2c_adapter *adapter = client->adapter;
drivers/hwmon/adm1031.c
978
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/hwmon/adm9240.c
273
struct i2c_adapter *adapter = new_client->adapter;
drivers/hwmon/adm9240.c
278
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/hwmon/adm9240.c
298
dev_info(&adapter->dev, "found %s revision %u\n",
drivers/hwmon/adt7411.c
549
if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/hwmon/adt7462.c
1767
struct i2c_adapter *adapter = client->adapter;
drivers/hwmon/adt7462.c
1770
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/hwmon/adt7470.c
1216
struct i2c_adapter *adapter = client->adapter;
drivers/hwmon/adt7470.c
1219
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/hwmon/adt7475.c
1340
struct i2c_adapter *adapter = client->adapter;
drivers/hwmon/adt7475.c
1344
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/hwmon/adt7475.c
1363
dev_dbg(&adapter->dev,
drivers/hwmon/aht10.c
331
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C))
drivers/hwmon/amc6821.c
874
struct i2c_adapter *adapter = client->adapter;
drivers/hwmon/amc6821.c
878
dev_dbg(&adapter->dev, "amc6821_detect called.\n");
drivers/hwmon/amc6821.c
880
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA)) {
drivers/hwmon/amc6821.c
881
dev_dbg(&adapter->dev,
drivers/hwmon/amc6821.c
890
dev_dbg(&adapter->dev,
drivers/hwmon/amc6821.c
903
dev_dbg(&adapter->dev,
drivers/hwmon/amc6821.c
909
dev_info(&adapter->dev, "amc6821: chip found at 0x%02x.\n", address);
drivers/hwmon/asb100.c
674
struct i2c_adapter *adapter = client->adapter;
drivers/hwmon/asb100.c
676
id = i2c_adapter_id(adapter);
drivers/hwmon/asb100.c
708
data->lm75[0] = i2c_new_dummy_device(adapter, sc_addr[0]);
drivers/hwmon/asb100.c
717
data->lm75[1] = i2c_new_dummy_device(adapter, sc_addr[1]);
drivers/hwmon/asb100.c
739
struct i2c_adapter *adapter = client->adapter;
drivers/hwmon/asb100.c
742
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA)) {
drivers/hwmon/asc7621.c
1072
i2c_adapter_id(client->adapter), client->addr);
drivers/hwmon/asc7621.c
1076
i2c_adapter_id(client->adapter), client->addr);
drivers/hwmon/asc7621.c
1095
if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/hwmon/asc7621.c
1138
struct i2c_adapter *adapter = client->adapter;
drivers/hwmon/asc7621.c
1141
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/hwmon/asc7621.c
1159
dev_info(&adapter->dev, "Matched %s at 0x%02x\n",
drivers/hwmon/chipcap2.c
697
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C))
drivers/hwmon/dme1737.c
2435
struct i2c_adapter *adapter = client->adapter;
drivers/hwmon/dme1737.c
2436
struct device *dev = &adapter->dev;
drivers/hwmon/dme1737.c
2440
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/hwmon/emc2103.c
564
if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/hwmon/emc2103.c
636
struct i2c_adapter *adapter = new_client->adapter;
drivers/hwmon/emc2103.c
639
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/hwmon/emc2305.c
607
struct i2c_adapter *adapter = client->adapter;
drivers/hwmon/emc2305.c
616
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA | I2C_FUNC_SMBUS_WORD_DATA))
drivers/hwmon/emc6w201.c
414
struct i2c_adapter *adapter = client->adapter;
drivers/hwmon/emc6w201.c
417
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/hwmon/f75375s.c
798
if (!i2c_check_functionality(client->adapter,
drivers/hwmon/f75375s.c
853
struct i2c_adapter *adapter = client->adapter;
drivers/hwmon/f75375s.c
873
dev_info(&adapter->dev, "found %s version: %02X\n", name, version);
drivers/hwmon/fschmd.c
1048
struct i2c_adapter *adapter = client->adapter;
drivers/hwmon/fschmd.c
1051
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/hwmon/g760a.c
179
if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/hwmon/g762.c
1075
if (!i2c_check_functionality(client->adapter,
drivers/hwmon/gl518sm.c
572
struct i2c_adapter *adapter = client->adapter;
drivers/hwmon/gl518sm.c
575
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA |
drivers/hwmon/gl520sm.c
800
struct i2c_adapter *adapter = client->adapter;
drivers/hwmon/gl520sm.c
802
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA |
drivers/hwmon/hih6130.c
127
ret = i2c_transfer(client->adapter, msgs, 1);
drivers/hwmon/hih6130.c
213
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) {
drivers/hwmon/hih6130.c
225
if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_QUICK))
drivers/hwmon/hs3001.c
191
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C))
drivers/hwmon/htu31.c
105
ret = i2c_transfer(client->adapter, msgs, ARRAY_SIZE(msgs));
drivers/hwmon/htu31.c
195
ret = i2c_transfer(client->adapter, msgs, ARRAY_SIZE(msgs));
drivers/hwmon/hwmon.c
408
if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_PEC))
drivers/hwmon/ina209.c
536
struct i2c_adapter *adapter = client->adapter;
drivers/hwmon/ina209.c
541
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_WORD_DATA))
drivers/hwmon/isl28022.c
439
if (!i2c_check_functionality(client->adapter,
drivers/hwmon/jc42.c
391
struct i2c_adapter *adapter = client->adapter;
drivers/hwmon/jc42.c
394
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA |
drivers/hwmon/lineage-pem.c
422
struct i2c_adapter *adapter = client->adapter;
drivers/hwmon/lineage-pem.c
428
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BLOCK_DATA
drivers/hwmon/lm63.c
970
struct i2c_adapter *adapter = client->adapter;
drivers/hwmon/lm63.c
975
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/hwmon/lm63.c
992
dev_dbg(&adapter->dev,
drivers/hwmon/lm73.c
232
struct i2c_adapter *adapter = new_client->adapter;
drivers/hwmon/lm73.c
235
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA |
drivers/hwmon/lm75.c
1002
struct i2c_adapter *adapter = new_client->adapter;
drivers/hwmon/lm75.c
1007
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA |
drivers/hwmon/lm75.c
788
if (!i2c_check_functionality(client->adapter,
drivers/hwmon/lm77.c
242
struct i2c_adapter *adapter = client->adapter;
drivers/hwmon/lm77.c
245
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA |
drivers/hwmon/lm78.c
577
struct i2c_adapter *adapter = client->adapter;
drivers/hwmon/lm78.c
580
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/hwmon/lm78.c
611
dev_dbg(&adapter->dev,
drivers/hwmon/lm80.c
551
struct i2c_adapter *adapter = client->adapter;
drivers/hwmon/lm80.c
555
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/hwmon/lm83.c
370
struct i2c_adapter *adapter = client->adapter;
drivers/hwmon/lm83.c
374
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/hwmon/lm83.c
381
dev_dbg(&adapter->dev, "LM83 detection failed at 0x%02x\n",
drivers/hwmon/lm83.c
409
dev_dbg(&adapter->dev,
drivers/hwmon/lm85.c
1468
struct i2c_adapter *adapter = client->adapter;
drivers/hwmon/lm85.c
1473
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA)) {
drivers/hwmon/lm85.c
1482
dev_dbg(&adapter->dev,
drivers/hwmon/lm85.c
1498
dev_dbg(&adapter->dev,
drivers/hwmon/lm87.c
816
struct i2c_adapter *adapter = client->adapter;
drivers/hwmon/lm87.c
820
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/hwmon/lm87.c
837
dev_dbg(&adapter->dev, "LM87 detection failed at 0x%02x\n",
drivers/hwmon/lm90.c
1878
if (i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_WORD_DATA)) {
drivers/hwmon/lm90.c
2473
struct i2c_adapter *adapter = client->adapter;
drivers/hwmon/lm90.c
2482
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/hwmon/lm90.c
2571
dev_dbg(&adapter->dev,
drivers/hwmon/lm90.c
2764
struct i2c_adapter *adapter = client->adapter;
drivers/hwmon/lm90.c
2797
!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_PEC))
drivers/hwmon/lm90.c
2801
!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE))
drivers/hwmon/lm90.c
780
return i2c_smbus_xfer(client->adapter, client->addr,
drivers/hwmon/lm92.c
296
struct i2c_adapter *adapter = new_client->adapter;
drivers/hwmon/lm92.c
301
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA
drivers/hwmon/lm93.c
2546
struct i2c_adapter *adapter = client->adapter;
drivers/hwmon/lm93.c
2550
if (!i2c_check_functionality(adapter, LM93_SMBUS_FUNC_MIN))
drivers/hwmon/lm93.c
2556
dev_dbg(&adapter->dev,
drivers/hwmon/lm93.c
2573
dev_dbg(&adapter->dev,
drivers/hwmon/lm93.c
2579
dev_dbg(&adapter->dev, "loading %s at %d, 0x%02x\n",
drivers/hwmon/lm93.c
2580
client->name, i2c_adapter_id(client->adapter),
drivers/hwmon/lm93.c
2595
func = i2c_get_functionality(client->adapter);
drivers/hwmon/lm95234.c
420
struct i2c_adapter *adapter = client->adapter;
drivers/hwmon/lm95234.c
426
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/hwmon/lm95241.c
353
struct i2c_adapter *adapter = new_client->adapter;
drivers/hwmon/lm95241.c
357
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/hwmon/lm95245.c
408
struct i2c_adapter *adapter = new_client->adapter;
drivers/hwmon/lm95245.c
413
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/hwmon/ltc2990.c
209
if (!i2c_check_functionality(i2c->adapter, I2C_FUNC_SMBUS_BYTE_DATA |
drivers/hwmon/ltc4151.c
159
struct i2c_adapter *adapter = client->adapter;
drivers/hwmon/ltc4151.c
165
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/hwmon/ltc4215.c
223
struct i2c_adapter *adapter = client->adapter;
drivers/hwmon/ltc4215.c
228
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/hwmon/ltc4245.c
438
struct i2c_adapter *adapter = client->adapter;
drivers/hwmon/ltc4245.c
442
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/hwmon/ltc4261.c
195
struct i2c_adapter *adapter = client->adapter;
drivers/hwmon/ltc4261.c
200
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/hwmon/max127.c
62
status = i2c_transfer(client->adapter, &msg, 1);
drivers/hwmon/max127.c
82
status = i2c_transfer(client->adapter, &msg, 1);
drivers/hwmon/max16065.c
507
struct i2c_adapter *adapter = client->adapter;
drivers/hwmon/max16065.c
517
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA
drivers/hwmon/max1619.c
262
struct i2c_adapter *adapter = client->adapter;
drivers/hwmon/max1619.c
265
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/hwmon/max1668.c
195
struct i2c_adapter *adapter = client->adapter;
drivers/hwmon/max1668.c
199
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/hwmon/max1668.c
271
struct i2c_adapter *adapter = client->adapter;
drivers/hwmon/max1668.c
276
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/hwmon/max31730.c
301
if (!i2c_check_functionality(client->adapter,
drivers/hwmon/max31730.c
374
struct i2c_adapter *adapter = client->adapter;
drivers/hwmon/max31730.c
378
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA |
drivers/hwmon/max31790.c
488
struct i2c_adapter *adapter = client->adapter;
drivers/hwmon/max31790.c
494
if (!i2c_check_functionality(adapter,
drivers/hwmon/max31827.c
589
if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_WORD_DATA))
drivers/hwmon/max6639.c
654
struct i2c_adapter *adapter = client->adapter;
drivers/hwmon/max6639.c
657
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/hwmon/mcp3021.c
126
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C))
drivers/hwmon/nct7904.c
773
struct i2c_adapter *adapter = client->adapter;
drivers/hwmon/nct7904.c
775
if (!i2c_check_functionality(adapter,
drivers/hwmon/occ/p8_i2c.c
57
rc = i2c_transfer(client->adapter, msgs, 2);
drivers/hwmon/pmbus/adm1266.c
110
ret = i2c_transfer(client->adapter, msgs, 2);
drivers/hwmon/pmbus/adm1275.c
527
if (!i2c_check_functionality(client->adapter,
drivers/hwmon/pmbus/bpa-rs600.c
163
if (!i2c_check_functionality(client->adapter,
drivers/hwmon/pmbus/hac300s.c
93
if (!i2c_check_functionality(client->adapter,
drivers/hwmon/pmbus/ibm-cffps.c
113
rc = i2c_transfer(psu->client->adapter, msg, 2);
drivers/hwmon/pmbus/ir35221.c
76
if (!i2c_check_functionality(client->adapter,
drivers/hwmon/pmbus/ir36021.c
34
if (!i2c_check_functionality(client->adapter,
drivers/hwmon/pmbus/lm25066.c
472
if (!i2c_check_functionality(client->adapter,
drivers/hwmon/pmbus/lt3074.c
83
if (!i2c_check_functionality(client->adapter,
drivers/hwmon/pmbus/lt7182s.c
110
if (!i2c_check_functionality(client->adapter,
drivers/hwmon/pmbus/ltc2978.c
614
if (!i2c_check_functionality(client->adapter,
drivers/hwmon/pmbus/ltc2978.c
722
if (!i2c_check_functionality(client->adapter,
drivers/hwmon/pmbus/ltc3815.c
185
if (!i2c_check_functionality(client->adapter,
drivers/hwmon/pmbus/max15301.c
64
if (!i2c_check_functionality(client->adapter,
drivers/hwmon/pmbus/max16601.c
312
if (!i2c_check_functionality(client->adapter,
drivers/hwmon/pmbus/max16601.c
342
data->vsa = i2c_new_dummy_device(client->adapter, client->addr + 1);
drivers/hwmon/pmbus/max20730.c
669
if (!i2c_check_functionality(client->adapter,
drivers/hwmon/pmbus/max31785.c
181
rc = i2c_transfer(client->adapter, msg, ARRAY_SIZE(msg));
drivers/hwmon/pmbus/max31785.c
478
if (!i2c_check_functionality(client->adapter,
drivers/hwmon/pmbus/mp5920.c
45
if (!i2c_check_functionality(client->adapter,
drivers/hwmon/pmbus/pim4328.c
143
if (!i2c_check_functionality(client->adapter,
drivers/hwmon/pmbus/pmbus_core.c
2583
rv = i2c_smbus_xfer(client->adapter, client->addr, client->flags,
drivers/hwmon/pmbus/pmbus_core.c
2793
if (i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_PEC))
drivers/hwmon/pmbus/pmbus_core.c
2861
if (!i2c_check_functionality(client->adapter,
drivers/hwmon/pmbus/pmbus_core.c
3782
if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_WRITE_BYTE
drivers/hwmon/pmbus/pxe1610.c
97
client->adapter,
drivers/hwmon/pmbus/q54sj108a2.c
289
if (!i2c_check_functionality(client->adapter,
drivers/hwmon/pmbus/stpddc60.c
203
if (!i2c_check_functionality(client->adapter,
drivers/hwmon/pmbus/tda38640.c
110
ret = i2c_transfer(client->adapter, msgs, 2);
drivers/hwmon/pmbus/ucd9000.c
512
if (!i2c_check_functionality(client->adapter,
drivers/hwmon/pmbus/ucd9200.c
82
if (!i2c_check_functionality(client->adapter,
drivers/hwmon/pmbus/zl6100.c
287
if (!i2c_check_functionality(client->adapter,
drivers/hwmon/powr1220.c
280
if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/hwmon/sg2042-mcu.c
310
if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE_DATA |
drivers/hwmon/sht21.c
183
ret = i2c_transfer(client->adapter, msgs, 2);
drivers/hwmon/sht21.c
194
ret = i2c_transfer(client->adapter, msgs, 2);
drivers/hwmon/sht21.c
256
if (!i2c_check_functionality(client->adapter,
drivers/hwmon/sht3x.c
879
struct i2c_adapter *adap = client->adapter;
drivers/hwmon/sht4x.c
396
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C))
drivers/hwmon/shtc1.c
197
struct i2c_adapter *adap = client->adapter;
drivers/hwmon/smsc47m192.c
560
struct i2c_adapter *adapter = client->adapter;
drivers/hwmon/smsc47m192.c
563
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/hwmon/smsc47m192.c
575
dev_info(&adapter->dev,
drivers/hwmon/smsc47m192.c
579
dev_dbg(&adapter->dev,
drivers/hwmon/spd5118.c
588
struct i2c_adapter *adapter = client->adapter;
drivers/hwmon/spd5118.c
591
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA |
drivers/hwmon/spd5118.c
632
struct i2c_adapter *adapter = client->adapter;
drivers/hwmon/spd5118.c
635
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA |
drivers/hwmon/spd5118.c
732
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) {
drivers/hwmon/stts751.c
651
struct i2c_adapter *adapter = new_client->adapter;
drivers/hwmon/stts751.c
655
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/hwmon/tc654.c
519
if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/hwmon/tc74.c
113
if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/hwmon/thmc50.c
313
struct i2c_adapter *adapter = client->adapter;
drivers/hwmon/thmc50.c
316
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA)) {
drivers/hwmon/thmc50.c
322
client->addr, i2c_adapter_id(client->adapter));
drivers/hwmon/thmc50.c
331
int id = i2c_adapter_id(client->adapter);
drivers/hwmon/tmp102.c
217
if (!i2c_check_functionality(client->adapter,
drivers/hwmon/tmp108.c
505
if (!i2c_check_functionality(client->adapter,
drivers/hwmon/tmp401.c
600
struct i2c_adapter *adapter = client->adapter;
drivers/hwmon/tmp401.c
603
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/hwmon/tmp421.c
293
struct i2c_adapter *adapter = client->adapter;
drivers/hwmon/tmp421.c
301
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/hwmon/tmp421.c
344
dev_info(&adapter->dev, "Detected TI %s chip at 0x%02x\n",
drivers/hwmon/tmp464.c
459
struct i2c_adapter *adapter = client->adapter;
drivers/hwmon/tmp464.c
463
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_WORD_DATA))
drivers/hwmon/tmp464.c
501
dev_info(&adapter->dev, "Detected TI %s chip at 0x%02x\n", chip, client->addr);
drivers/hwmon/tmp464.c
644
if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_WORD_DATA)) {
drivers/hwmon/w83781d.c
1088
struct i2c_adapter *adapter = client->adapter;
drivers/hwmon/w83781d.c
1093
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/hwmon/w83781d.c
1105
dev_dbg(&adapter->dev,
drivers/hwmon/w83781d.c
1116
dev_dbg(&adapter->dev,
drivers/hwmon/w83781d.c
1128
dev_dbg(&adapter->dev,
drivers/hwmon/w83781d.c
1146
dev_dbg(&adapter->dev,
drivers/hwmon/w83781d.c
1165
dev_dbg(&adapter->dev,
drivers/hwmon/w83781d.c
852
struct i2c_adapter *adapter = new_client->adapter;
drivers/hwmon/w83781d.c
857
id = i2c_adapter_id(adapter);
drivers/hwmon/w83781d.c
897
data->lm75[i] = i2c_new_dummy_device(adapter, sc_addr[i]);
drivers/hwmon/w83791d.c
1261
struct i2c_adapter *adapter = client->adapter;
drivers/hwmon/w83791d.c
1266
id = i2c_adapter_id(adapter);
drivers/hwmon/w83791d.c
1292
devm_i2c_new_dummy_device(&client->dev, adapter, 0x48 + (val & 0x7));
drivers/hwmon/w83791d.c
1295
devm_i2c_new_dummy_device(&client->dev, adapter, 0x48 + ((val >> 4) & 0x7));
drivers/hwmon/w83791d.c
1305
struct i2c_adapter *adapter = client->adapter;
drivers/hwmon/w83791d.c
1309
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/hwmon/w83792d.c
1312
struct i2c_adapter *adapter = client->adapter;
drivers/hwmon/w83792d.c
1316
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/hwmon/w83792d.c
926
struct i2c_adapter *adapter = new_client->adapter;
drivers/hwmon/w83792d.c
928
id = i2c_adapter_id(adapter);
drivers/hwmon/w83792d.c
953
devm_i2c_new_dummy_device(&new_client->dev, adapter, 0x48 + (val & 0x7));
drivers/hwmon/w83792d.c
956
devm_i2c_new_dummy_device(&new_client->dev, adapter, 0x48 + ((val >> 4) & 0x7));
drivers/hwmon/w83793.c
1564
struct i2c_adapter *adapter = client->adapter;
drivers/hwmon/w83793.c
1566
id = i2c_adapter_id(adapter);
drivers/hwmon/w83793.c
1592
devm_i2c_new_dummy_device(&client->dev, adapter, 0x48 + (tmp & 0x7));
drivers/hwmon/w83793.c
1595
devm_i2c_new_dummy_device(&client->dev, adapter, 0x48 + ((tmp >> 4) & 0x7));
drivers/hwmon/w83793.c
1605
struct i2c_adapter *adapter = client->adapter;
drivers/hwmon/w83793.c
1608
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/hwmon/w83795.c
1906
struct i2c_adapter *adapter = client->adapter;
drivers/hwmon/w83795.c
1910
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/hwmon/w83795.c
1914
dev_dbg(&adapter->dev,
drivers/hwmon/w83795.c
1924
dev_dbg(&adapter->dev,
drivers/hwmon/w83795.c
1934
dev_dbg(&adapter->dev,
drivers/hwmon/w83795.c
1948
dev_dbg(&adapter->dev,
drivers/hwmon/w83795.c
1971
dev_info(&adapter->dev, "Found %s rev. %c at 0x%02hx\n", chip_name,
drivers/hwmon/w83l785ts.c
131
struct i2c_adapter *adapter = client->adapter;
drivers/hwmon/w83l785ts.c
135
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/hwmon/w83l785ts.c
141
dev_dbg(&adapter->dev,
drivers/hwmon/w83l785ts.c
154
dev_dbg(&adapter->dev,
drivers/hwmon/w83l785ts.c
231
dev = &client->adapter->dev;
drivers/hwmon/w83l786ng.c
672
struct i2c_adapter *adapter = client->adapter;
drivers/hwmon/w83l786ng.c
676
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/hwmon/w83l786ng.c
681
dev_dbg(&adapter->dev, "W83L786NG detection failed at 0x%02x\n",
drivers/hwmon/w83l786ng.c
693
dev_dbg(&adapter->dev,
drivers/i2c/busses/i2c-ali1535.c
462
static u32 ali1535_func(struct i2c_adapter *adapter)
drivers/i2c/busses/i2c-ali15x3.c
448
static u32 ali15x3_func(struct i2c_adapter *adapter)
drivers/i2c/busses/i2c-altera.c
449
i2c_set_adapdata(&idev->adapter, idev);
drivers/i2c/busses/i2c-altera.c
450
strscpy(idev->adapter.name, pdev->name, sizeof(idev->adapter.name));
drivers/i2c/busses/i2c-altera.c
451
idev->adapter.owner = THIS_MODULE;
drivers/i2c/busses/i2c-altera.c
452
idev->adapter.algo = &altr_i2c_algo;
drivers/i2c/busses/i2c-altera.c
453
idev->adapter.dev.parent = &pdev->dev;
drivers/i2c/busses/i2c-altera.c
454
idev->adapter.dev.of_node = pdev->dev.of_node;
drivers/i2c/busses/i2c-altera.c
458
ret = i2c_add_adapter(&idev->adapter);
drivers/i2c/busses/i2c-altera.c
473
i2c_del_adapter(&idev->adapter);
drivers/i2c/busses/i2c-altera.c
81
struct i2c_adapter adapter;
drivers/i2c/busses/i2c-amd-asf-plat.c
233
struct amd_asf_dev *dev = i2c_get_adapdata(target->adapter);
drivers/i2c/busses/i2c-amd-asf-plat.c
258
struct amd_asf_dev *dev = i2c_get_adapdata(target->adapter);
drivers/i2c/busses/i2c-amd-asf-plat.c
268
static u32 amd_asf_func(struct i2c_adapter *adapter)
drivers/i2c/busses/i2c-amd756.c
274
static u32 amd756_func(struct i2c_adapter *adapter)
drivers/i2c/busses/i2c-amd8111.c
25
struct i2c_adapter adapter;
drivers/i2c/busses/i2c-amd8111.c
400
static u32 amd8111_func(struct i2c_adapter *adapter)
drivers/i2c/busses/i2c-amd8111.c
445
smbus->adapter.owner = THIS_MODULE;
drivers/i2c/busses/i2c-amd8111.c
446
snprintf(smbus->adapter.name, sizeof(smbus->adapter.name),
drivers/i2c/busses/i2c-amd8111.c
448
smbus->adapter.class = I2C_CLASS_HWMON;
drivers/i2c/busses/i2c-amd8111.c
449
smbus->adapter.algo = &smbus_algorithm;
drivers/i2c/busses/i2c-amd8111.c
450
smbus->adapter.algo_data = smbus;
drivers/i2c/busses/i2c-amd8111.c
453
smbus->adapter.dev.parent = &dev->dev;
drivers/i2c/busses/i2c-amd8111.c
456
error = i2c_add_adapter(&smbus->adapter);
drivers/i2c/busses/i2c-amd8111.c
468
i2c_del_adapter(&smbus->adapter);
drivers/i2c/busses/i2c-aspeed.c
775
struct aspeed_i2c_bus *bus = i2c_get_adapdata(client->adapter);
drivers/i2c/busses/i2c-aspeed.c
794
struct aspeed_i2c_bus *bus = i2c_get_adapdata(client->adapter);
drivers/i2c/busses/i2c-at91-core.c
229
snprintf(dev->adapter.name, sizeof(dev->adapter.name), "AT91");
drivers/i2c/busses/i2c-at91-core.c
230
i2c_set_adapdata(&dev->adapter, dev);
drivers/i2c/busses/i2c-at91-core.c
231
dev->adapter.owner = THIS_MODULE;
drivers/i2c/busses/i2c-at91-core.c
232
dev->adapter.class = I2C_CLASS_DEPRECATED;
drivers/i2c/busses/i2c-at91-core.c
233
dev->adapter.dev.parent = dev->dev;
drivers/i2c/busses/i2c-at91-core.c
234
dev->adapter.nr = pdev->id;
drivers/i2c/busses/i2c-at91-core.c
235
dev->adapter.timeout = AT91_I2C_TIMEOUT;
drivers/i2c/busses/i2c-at91-core.c
236
dev->adapter.dev.of_node = pdev->dev.of_node;
drivers/i2c/busses/i2c-at91-core.c
254
rc = i2c_add_numbered_adapter(&dev->adapter);
drivers/i2c/busses/i2c-at91-core.c
271
i2c_del_adapter(&dev->adapter);
drivers/i2c/busses/i2c-at91-master.c
592
dev->adapter.timeout);
drivers/i2c/busses/i2c-at91-master.c
646
i2c_recover_bus(&dev->adapter);
drivers/i2c/busses/i2c-at91-master.c
734
static u32 at91_twi_func(struct i2c_adapter *adapter)
drivers/i2c/busses/i2c-at91-master.c
841
dev->adapter.bus_recovery_info = rinfo;
drivers/i2c/busses/i2c-at91-master.c
876
dev->adapter.bus_recovery_info = rinfo;
drivers/i2c/busses/i2c-at91-master.c
917
dev->adapter.algo = &at91_twi_algorithm;
drivers/i2c/busses/i2c-at91-master.c
918
dev->adapter.quirks = &at91_twi_quirks;
drivers/i2c/busses/i2c-at91-slave.c
107
static u32 at91_twi_func(struct i2c_adapter *adapter)
drivers/i2c/busses/i2c-at91-slave.c
130
dev->adapter.algo = &at91_twi_algorithm_slave;
drivers/i2c/busses/i2c-at91-slave.c
67
struct at91_twi_dev *dev = i2c_get_adapdata(slave->adapter);
drivers/i2c/busses/i2c-at91-slave.c
91
struct at91_twi_dev *dev = i2c_get_adapdata(slave->adapter);
drivers/i2c/busses/i2c-at91.h
148
struct i2c_adapter adapter;
drivers/i2c/busses/i2c-axxia.c
146
struct i2c_adapter adapter;
drivers/i2c/busses/i2c-axxia.c
501
i2c_recover_bus(&idev->adapter);
drivers/i2c/busses/i2c-axxia.c
575
i2c_recover_bus(&idev->adapter);
drivers/i2c/busses/i2c-axxia.c
663
struct axxia_i2c_dev *idev = i2c_get_adapdata(slave->adapter);
drivers/i2c/busses/i2c-axxia.c
695
struct axxia_i2c_dev *idev = i2c_get_adapdata(slave->adapter);
drivers/i2c/busses/i2c-axxia.c
772
i2c_set_adapdata(&idev->adapter, idev);
drivers/i2c/busses/i2c-axxia.c
773
strscpy(idev->adapter.name, pdev->name, sizeof(idev->adapter.name));
drivers/i2c/busses/i2c-axxia.c
774
idev->adapter.owner = THIS_MODULE;
drivers/i2c/busses/i2c-axxia.c
775
idev->adapter.algo = &axxia_i2c_algo;
drivers/i2c/busses/i2c-axxia.c
776
idev->adapter.bus_recovery_info = &axxia_i2c_recovery_info;
drivers/i2c/busses/i2c-axxia.c
777
idev->adapter.quirks = &axxia_i2c_quirks;
drivers/i2c/busses/i2c-axxia.c
778
idev->adapter.dev.parent = &pdev->dev;
drivers/i2c/busses/i2c-axxia.c
779
idev->adapter.dev.of_node = pdev->dev.of_node;
drivers/i2c/busses/i2c-axxia.c
783
ret = i2c_add_adapter(&idev->adapter);
drivers/i2c/busses/i2c-axxia.c
799
i2c_del_adapter(&idev->adapter);
drivers/i2c/busses/i2c-bcm-iproc.c
1008
struct bcm_iproc_i2c_dev *iproc_i2c = i2c_get_adapdata(slave->adapter);
drivers/i2c/busses/i2c-bcm-iproc.c
1150
adap = &iproc_i2c->adapter;
drivers/i2c/busses/i2c-bcm-iproc.c
1176
i2c_del_adapter(&iproc_i2c->adapter);
drivers/i2c/busses/i2c-bcm-iproc.c
189
struct i2c_adapter adapter;
drivers/i2c/busses/i2c-bcm-iproc.c
949
static int bcm_iproc_i2c_xfer(struct i2c_adapter *adapter,
drivers/i2c/busses/i2c-bcm-iproc.c
952
struct bcm_iproc_i2c_dev *iproc_i2c = i2c_get_adapdata(adapter);
drivers/i2c/busses/i2c-bcm-iproc.c
988
struct bcm_iproc_i2c_dev *iproc_i2c = i2c_get_adapdata(slave->adapter);
drivers/i2c/busses/i2c-bcm-kona.c
151
struct i2c_adapter adapter;
drivers/i2c/busses/i2c-bcm-kona.c
590
static int bcm_kona_i2c_xfer(struct i2c_adapter *adapter,
drivers/i2c/busses/i2c-bcm-kona.c
593
struct bcm_kona_i2c_dev *dev = i2c_get_adapdata(adapter);
drivers/i2c/busses/i2c-bcm-kona.c
838
adap = &dev->adapter;
drivers/i2c/busses/i2c-bcm-kona.c
865
i2c_del_adapter(&dev->adapter);
drivers/i2c/busses/i2c-bcm2835.c
470
adap = &i2c_dev->adapter;
drivers/i2c/busses/i2c-bcm2835.c
513
i2c_del_adapter(&i2c_dev->adapter);
drivers/i2c/busses/i2c-bcm2835.c
63
struct i2c_adapter adapter;
drivers/i2c/busses/i2c-brcmstb.c
159
struct i2c_adapter adapter;
drivers/i2c/busses/i2c-brcmstb.c
443
static int brcmstb_i2c_xfer(struct i2c_adapter *adapter,
drivers/i2c/busses/i2c-brcmstb.c
446
struct brcmstb_i2c_dev *dev = i2c_get_adapdata(adapter);
drivers/i2c/busses/i2c-brcmstb.c
522
static int brcmstb_i2c_xfer_atomic(struct i2c_adapter *adapter,
drivers/i2c/busses/i2c-brcmstb.c
525
struct brcmstb_i2c_dev *dev = i2c_get_adapdata(adapter);
drivers/i2c/busses/i2c-brcmstb.c
531
ret = brcmstb_i2c_xfer(adapter, msgs, num);
drivers/i2c/busses/i2c-brcmstb.c
685
adap = &dev->adapter;
drivers/i2c/busses/i2c-brcmstb.c
707
i2c_del_adapter(&dev->adapter);
drivers/i2c/busses/i2c-brcmstb.c
714
i2c_mark_adapter_suspended(&i2c_dev->adapter);
drivers/i2c/busses/i2c-brcmstb.c
723
i2c_mark_adapter_resumed(&i2c_dev->adapter);
drivers/i2c/busses/i2c-cadence.c
1193
struct cdns_i2c *id = container_of(slave->adapter, struct cdns_i2c,
drivers/i2c/busses/i2c-cadence.c
1217
struct cdns_i2c *id = container_of(slave->adapter, struct cdns_i2c,
drivers/i2c/busses/i2c-cbus-gpio.c
167
static int cbus_i2c_smbus_xfer(struct i2c_adapter *adapter,
drivers/i2c/busses/i2c-cbus-gpio.c
175
struct cbus_host *chost = i2c_get_adapdata(adapter);
drivers/i2c/busses/i2c-cbus-gpio.c
192
static u32 cbus_i2c_func(struct i2c_adapter *adapter)
drivers/i2c/busses/i2c-cbus-gpio.c
205
struct i2c_adapter *adapter = platform_get_drvdata(pdev);
drivers/i2c/busses/i2c-cbus-gpio.c
207
i2c_del_adapter(adapter);
drivers/i2c/busses/i2c-cbus-gpio.c
212
struct i2c_adapter *adapter;
drivers/i2c/busses/i2c-cbus-gpio.c
215
adapter = devm_kzalloc(&pdev->dev, sizeof(struct i2c_adapter),
drivers/i2c/busses/i2c-cbus-gpio.c
217
if (!adapter)
drivers/i2c/busses/i2c-cbus-gpio.c
239
adapter->owner = THIS_MODULE;
drivers/i2c/busses/i2c-cbus-gpio.c
240
adapter->class = I2C_CLASS_HWMON;
drivers/i2c/busses/i2c-cbus-gpio.c
241
adapter->dev.parent = &pdev->dev;
drivers/i2c/busses/i2c-cbus-gpio.c
242
adapter->dev.of_node = pdev->dev.of_node;
drivers/i2c/busses/i2c-cbus-gpio.c
243
adapter->nr = pdev->id;
drivers/i2c/busses/i2c-cbus-gpio.c
244
adapter->timeout = HZ;
drivers/i2c/busses/i2c-cbus-gpio.c
245
adapter->algo = &cbus_i2c_algo;
drivers/i2c/busses/i2c-cbus-gpio.c
246
strscpy(adapter->name, "CBUS I2C adapter", sizeof(adapter->name));
drivers/i2c/busses/i2c-cbus-gpio.c
251
i2c_set_adapdata(adapter, chost);
drivers/i2c/busses/i2c-cbus-gpio.c
252
platform_set_drvdata(pdev, adapter);
drivers/i2c/busses/i2c-cbus-gpio.c
254
return i2c_add_numbered_adapter(adapter);
drivers/i2c/busses/i2c-ccgx-ucsi.c
16
struct i2c_client *i2c_new_ccgx_ucsi(struct i2c_adapter *adapter, int irq,
drivers/i2c/busses/i2c-ccgx-ucsi.c
26
return i2c_new_client_device(adapter, &info);
drivers/i2c/busses/i2c-ccgx-ucsi.h
9
struct i2c_client *i2c_new_ccgx_ucsi(struct i2c_adapter *adapter, int irq,
drivers/i2c/busses/i2c-cht-wc.c
196
static void cht_wc_i2c_adap_lock_bus(struct i2c_adapter *adapter,
drivers/i2c/busses/i2c-cht-wc.c
199
rt_mutex_lock_nested(&adapter->bus_lock, 1);
drivers/i2c/busses/i2c-cht-wc.c
202
static int cht_wc_i2c_adap_trylock_bus(struct i2c_adapter *adapter,
drivers/i2c/busses/i2c-cht-wc.c
205
return rt_mutex_trylock(&adapter->bus_lock);
drivers/i2c/busses/i2c-cht-wc.c
208
static void cht_wc_i2c_adap_unlock_bus(struct i2c_adapter *adapter,
drivers/i2c/busses/i2c-cht-wc.c
211
rt_mutex_unlock(&adapter->bus_lock);
drivers/i2c/busses/i2c-cht-wc.c
239
dev_err(&adap->adapter.dev, "Error writing EXTCHGRIRQ_MSK\n");
drivers/i2c/busses/i2c-cht-wc.c
41
struct i2c_adapter adapter;
drivers/i2c/busses/i2c-cht-wc.c
446
adap->adapter.owner = THIS_MODULE;
drivers/i2c/busses/i2c-cht-wc.c
447
adap->adapter.class = I2C_CLASS_HWMON;
drivers/i2c/busses/i2c-cht-wc.c
448
adap->adapter.algo = &cht_wc_i2c_adap_algo;
drivers/i2c/busses/i2c-cht-wc.c
449
adap->adapter.lock_ops = &cht_wc_i2c_adap_lock_ops;
drivers/i2c/busses/i2c-cht-wc.c
450
strscpy(adap->adapter.name, "PMIC I2C Adapter",
drivers/i2c/busses/i2c-cht-wc.c
451
sizeof(adap->adapter.name));
drivers/i2c/busses/i2c-cht-wc.c
452
adap->adapter.dev.parent = &pdev->dev;
drivers/i2c/busses/i2c-cht-wc.c
490
i2c_set_adapdata(&adap->adapter, adap);
drivers/i2c/busses/i2c-cht-wc.c
491
ret = i2c_add_adapter(&adap->adapter);
drivers/i2c/busses/i2c-cht-wc.c
515
adap->client = i2c_new_client_device(&adap->adapter, board_info);
drivers/i2c/busses/i2c-cht-wc.c
526
i2c_del_adapter(&adap->adapter);
drivers/i2c/busses/i2c-cht-wc.c
537
i2c_del_adapter(&adap->adapter);
drivers/i2c/busses/i2c-cht-wc.c
67
dev_err(&adap->adapter.dev, "Error reading extchgrirq reg\n");
drivers/i2c/busses/i2c-cht-wc.c
85
dev_err(&adap->adapter.dev, "Error writing extchgrirq reg\n");
drivers/i2c/busses/i2c-davinci.c
133
struct i2c_adapter adapter;
drivers/i2c/busses/i2c-davinci.c
376
unsigned long timeout = jiffies + dev->adapter.timeout;
drivers/i2c/busses/i2c-davinci.c
385
i2c_recover_bus(&dev->adapter);
drivers/i2c/busses/i2c-davinci.c
472
dev->adapter.timeout);
drivers/i2c/busses/i2c-davinci.c
692
i2c_lock_bus(&dev->adapter, I2C_LOCK_ROOT_ADAPTER);
drivers/i2c/busses/i2c-davinci.c
699
i2c_unlock_bus(&dev->adapter, I2C_LOCK_ROOT_ADAPTER);
drivers/i2c/busses/i2c-davinci.c
805
adap = &dev->adapter;
drivers/i2c/busses/i2c-davinci.c
843
i2c_del_adapter(&dev->adapter);
drivers/i2c/busses/i2c-designware-amdisp.c
103
i2c_del_adapter(&isp_i2c_dev->adapter);
drivers/i2c/busses/i2c-designware-amdisp.c
142
i2c_mark_adapter_suspended(&i_dev->adapter);
drivers/i2c/busses/i2c-designware-amdisp.c
165
i2c_mark_adapter_resumed(&i_dev->adapter);
drivers/i2c/busses/i2c-designware-amdisp.c
62
adap = &isp_i2c_dev->adapter;
drivers/i2c/busses/i2c-designware-amdpsp.c
235
static void i2c_adapter_dw_psp_lock_bus(struct i2c_adapter *adapter,
drivers/i2c/busses/i2c-designware-amdpsp.c
239
rt_mutex_lock_nested(&adapter->bus_lock, i2c_adapter_depth(adapter));
drivers/i2c/busses/i2c-designware-amdpsp.c
242
static int i2c_adapter_dw_psp_trylock_bus(struct i2c_adapter *adapter,
drivers/i2c/busses/i2c-designware-amdpsp.c
247
ret = rt_mutex_trylock(&adapter->bus_lock);
drivers/i2c/busses/i2c-designware-amdpsp.c
256
static void i2c_adapter_dw_psp_unlock_bus(struct i2c_adapter *adapter,
drivers/i2c/busses/i2c-designware-amdpsp.c
260
rt_mutex_unlock(&adapter->bus_lock);
drivers/i2c/busses/i2c-designware-amdpsp.c
305
dev->adapter.lock_ops = &i2c_dw_psp_lock_ops;
drivers/i2c/busses/i2c-designware-common.c
1020
i2c_mark_adapter_resumed(&dev->adapter);
drivers/i2c/busses/i2c-designware-common.c
754
i2c_recover_bus(&dev->adapter);
drivers/i2c/busses/i2c-designware-common.c
881
struct i2c_adapter *adap = &dev->adapter;
drivers/i2c/busses/i2c-designware-common.c
885
device_set_node(&dev->adapter.dev, dev_fwnode(dev->dev));
drivers/i2c/busses/i2c-designware-common.c
998
i2c_mark_adapter_suspended(&dev->adapter);
drivers/i2c/busses/i2c-designware-core.h
297
struct i2c_adapter adapter;
drivers/i2c/busses/i2c-designware-master.c
718
unsigned long timeout = dev->adapter.timeout;
drivers/i2c/busses/i2c-designware-master.c
776
i2c_recover_bus(&dev->adapter);
drivers/i2c/busses/i2c-designware-master.c
973
struct i2c_adapter *adap = &dev->adapter;
drivers/i2c/busses/i2c-designware-pcidrv.c
270
adap = &dev->adapter;
drivers/i2c/busses/i2c-designware-pcidrv.c
280
dev->slave = i2c_new_ccgx_ucsi(&dev->adapter, dev->irq, &dgpu_node);
drivers/i2c/busses/i2c-designware-pcidrv.c
282
i2c_del_adapter(&dev->adapter);
drivers/i2c/busses/i2c-designware-pcidrv.c
306
i2c_del_adapter(&dev->adapter);
drivers/i2c/busses/i2c-designware-platdrv.c
202
adap = &dev->adapter;
drivers/i2c/busses/i2c-designware-platdrv.c
243
i2c_del_adapter(&dev->adapter);
drivers/i2c/busses/i2c-designware-slave.c
26
struct dw_i2c_dev *dev = i2c_get_adapdata(slave->adapter);
drivers/i2c/busses/i2c-designware-slave.c
29
if (!i2c_check_functionality(slave->adapter, I2C_FUNC_SLAVE))
drivers/i2c/busses/i2c-designware-slave.c
52
struct dw_i2c_dev *dev = i2c_get_adapdata(slave->adapter);
drivers/i2c/busses/i2c-diolan-u2c.c
339
static int diolan_usb_xfer(struct i2c_adapter *adapter, struct i2c_msg *msgs,
drivers/i2c/busses/i2c-diolan-u2c.c
342
struct i2c_diolan_u2c *dev = i2c_get_adapdata(adapter);
drivers/i2c/busses/i2c-diolan-u2c.c
463
dev->adapter.owner = THIS_MODULE;
drivers/i2c/busses/i2c-diolan-u2c.c
464
dev->adapter.class = I2C_CLASS_HWMON;
drivers/i2c/busses/i2c-diolan-u2c.c
465
dev->adapter.algo = &diolan_usb_algorithm;
drivers/i2c/busses/i2c-diolan-u2c.c
466
i2c_set_adapdata(&dev->adapter, dev);
drivers/i2c/busses/i2c-diolan-u2c.c
467
snprintf(dev->adapter.name, sizeof(dev->adapter.name),
drivers/i2c/busses/i2c-diolan-u2c.c
471
dev->adapter.dev.parent = &dev->interface->dev;
drivers/i2c/busses/i2c-diolan-u2c.c
481
ret = i2c_add_adapter(&dev->adapter);
drivers/i2c/busses/i2c-diolan-u2c.c
500
i2c_del_adapter(&dev->adapter);
drivers/i2c/busses/i2c-diolan-u2c.c
83
struct i2c_adapter adapter; /* i2c related things */
drivers/i2c/busses/i2c-dln2.c
140
static int dln2_i2c_xfer(struct i2c_adapter *adapter,
drivers/i2c/busses/i2c-dln2.c
143
struct dln2_i2c *dln2 = i2c_get_adapdata(adapter);
drivers/i2c/busses/i2c-dln2.c
206
dln2->adapter.owner = THIS_MODULE;
drivers/i2c/busses/i2c-dln2.c
207
dln2->adapter.class = I2C_CLASS_HWMON;
drivers/i2c/busses/i2c-dln2.c
208
dln2->adapter.algo = &dln2_i2c_usb_algorithm;
drivers/i2c/busses/i2c-dln2.c
209
dln2->adapter.quirks = &dln2_i2c_quirks;
drivers/i2c/busses/i2c-dln2.c
210
dln2->adapter.dev.parent = dev;
drivers/i2c/busses/i2c-dln2.c
211
ACPI_COMPANION_SET(&dln2->adapter.dev, ACPI_COMPANION(&pdev->dev));
drivers/i2c/busses/i2c-dln2.c
212
dln2->adapter.dev.of_node = dev->of_node;
drivers/i2c/busses/i2c-dln2.c
213
i2c_set_adapdata(&dln2->adapter, dln2);
drivers/i2c/busses/i2c-dln2.c
214
snprintf(dln2->adapter.name, sizeof(dln2->adapter.name), "%s-%s-%d",
drivers/i2c/busses/i2c-dln2.c
225
ret = i2c_add_adapter(&dln2->adapter);
drivers/i2c/busses/i2c-dln2.c
241
i2c_del_adapter(&dln2->adapter);
drivers/i2c/busses/i2c-dln2.c
44
struct i2c_adapter adapter;
drivers/i2c/busses/i2c-emev2.c
318
struct em_i2c_device *priv = i2c_get_adapdata(slave->adapter);
drivers/i2c/busses/i2c-emev2.c
336
struct em_i2c_device *priv = i2c_get_adapdata(slave->adapter);
drivers/i2c/busses/i2c-fsi.c
157
struct i2c_adapter adapter;
drivers/i2c/busses/i2c-fsi.c
412
i2c_recover_bus(&port->adapter);
drivers/i2c/busses/i2c-fsi.c
719
port->adapter.owner = THIS_MODULE;
drivers/i2c/busses/i2c-fsi.c
720
port->adapter.dev.of_node = np;
drivers/i2c/busses/i2c-fsi.c
721
port->adapter.dev.parent = dev;
drivers/i2c/busses/i2c-fsi.c
722
port->adapter.algo = &fsi_i2c_algorithm;
drivers/i2c/busses/i2c-fsi.c
723
port->adapter.bus_recovery_info = &fsi_i2c_bus_recovery_info;
drivers/i2c/busses/i2c-fsi.c
724
port->adapter.algo_data = port;
drivers/i2c/busses/i2c-fsi.c
726
snprintf(port->adapter.name, sizeof(port->adapter.name),
drivers/i2c/busses/i2c-fsi.c
729
rc = i2c_add_adapter(&port->adapter);
drivers/i2c/busses/i2c-fsi.c
752
i2c_del_adapter(&port->adapter);
drivers/i2c/busses/i2c-gxp.c
113
static int gxp_i2c_master_xfer(struct i2c_adapter *adapter,
drivers/i2c/busses/i2c-gxp.c
117
struct gxp_i2c_drvdata *drvdata = i2c_get_adapdata(adapter);
drivers/i2c/busses/i2c-gxp.c
128
adapter->timeout);
drivers/i2c/busses/i2c-gxp.c
153
struct gxp_i2c_drvdata *drvdata = i2c_get_adapdata(slave->adapter);
drivers/i2c/busses/i2c-gxp.c
172
struct gxp_i2c_drvdata *drvdata = i2c_get_adapdata(slave->adapter);
drivers/i2c/busses/i2c-gxp.c
512
struct i2c_adapter *adapter;
drivers/i2c/busses/i2c-gxp.c
565
adapter = &drvdata->adapter;
drivers/i2c/busses/i2c-gxp.c
566
i2c_set_adapdata(adapter, drvdata);
drivers/i2c/busses/i2c-gxp.c
568
adapter->owner = THIS_MODULE;
drivers/i2c/busses/i2c-gxp.c
569
strscpy(adapter->name, "HPE GXP I2C adapter", sizeof(adapter->name));
drivers/i2c/busses/i2c-gxp.c
570
adapter->algo = &gxp_i2c_algo;
drivers/i2c/busses/i2c-gxp.c
571
adapter->dev.parent = &pdev->dev;
drivers/i2c/busses/i2c-gxp.c
572
adapter->dev.of_node = pdev->dev.of_node;
drivers/i2c/busses/i2c-gxp.c
574
rc = i2c_add_adapter(adapter);
drivers/i2c/busses/i2c-gxp.c
587
i2c_del_adapter(&drvdata->adapter);
drivers/i2c/busses/i2c-gxp.c
83
struct i2c_adapter adapter;
drivers/i2c/busses/i2c-highlander.c
345
static u32 highlander_i2c_func(struct i2c_adapter *adapter)
drivers/i2c/busses/i2c-highlander.c
401
adap = &dev->adapter;
drivers/i2c/busses/i2c-highlander.c
43
struct i2c_adapter adapter;
drivers/i2c/busses/i2c-highlander.c
442
i2c_del_adapter(&dev->adapter);
drivers/i2c/busses/i2c-hisi.c
217
i2c_recover_bus(&ctlr->adapter);
drivers/i2c/busses/i2c-hisi.c
462
struct i2c_adapter *adapter;
drivers/i2c/busses/i2c-hisi.c
500
adapter = &ctlr->adapter;
drivers/i2c/busses/i2c-hisi.c
501
snprintf(adapter->name, sizeof(adapter->name),
drivers/i2c/busses/i2c-hisi.c
503
adapter->owner = THIS_MODULE;
drivers/i2c/busses/i2c-hisi.c
504
adapter->algo = &hisi_i2c_algo;
drivers/i2c/busses/i2c-hisi.c
505
adapter->dev.parent = dev;
drivers/i2c/busses/i2c-hisi.c
506
i2c_set_adapdata(adapter, ctlr);
drivers/i2c/busses/i2c-hisi.c
508
ret = devm_i2c_add_adapter(dev, adapter);
drivers/i2c/busses/i2c-hisi.c
91
struct i2c_adapter adapter;
drivers/i2c/busses/i2c-i801.c
1186
i2c_new_client_device(&priv->adapter, &info);
drivers/i2c/busses/i2c-i801.c
1190
dmi_walk(dmi_check_onboard_devices, &priv->adapter);
drivers/i2c/busses/i2c-i801.c
1196
i2c_register_spd_write_enable(&priv->adapter);
drivers/i2c/busses/i2c-i801.c
1295
i2c_root_adapter(dev) != &priv->adapter)
drivers/i2c/busses/i2c-i801.c
1307
struct device *dev = &priv->adapter.dev;
drivers/i2c/busses/i2c-i801.c
1322
gpio_data.parent = priv->adapter.nr;
drivers/i2c/busses/i2c-i801.c
1546
i2c_set_adapdata(&priv->adapter, priv);
drivers/i2c/busses/i2c-i801.c
1547
priv->adapter.owner = THIS_MODULE;
drivers/i2c/busses/i2c-i801.c
1548
priv->adapter.class = I2C_CLASS_HWMON;
drivers/i2c/busses/i2c-i801.c
1549
priv->adapter.algo = &smbus_algorithm;
drivers/i2c/busses/i2c-i801.c
1550
priv->adapter.dev.parent = &dev->dev;
drivers/i2c/busses/i2c-i801.c
1551
acpi_use_parent_companion(&priv->adapter.dev);
drivers/i2c/busses/i2c-i801.c
1552
priv->adapter.retries = 3;
drivers/i2c/busses/i2c-i801.c
1618
priv->adapter.timeout = HZ / 5;
drivers/i2c/busses/i2c-i801.c
1660
snprintf(priv->adapter.name, sizeof(priv->adapter.name),
drivers/i2c/busses/i2c-i801.c
1665
err = i2c_add_adapter(&priv->adapter);
drivers/i2c/busses/i2c-i801.c
1673
i801_enable_host_notify(&priv->adapter);
drivers/i2c/busses/i2c-i801.c
1696
i2c_del_adapter(&priv->adapter);
drivers/i2c/busses/i2c-i801.c
1726
i2c_mark_adapter_suspended(&priv->adapter);
drivers/i2c/busses/i2c-i801.c
1737
i801_enable_host_notify(&priv->adapter);
drivers/i2c/busses/i2c-i801.c
1738
i2c_mark_adapter_resumed(&priv->adapter);
drivers/i2c/busses/i2c-i801.c
285
struct i2c_adapter adapter;
drivers/i2c/busses/i2c-i801.c
351
unsigned long timeout = jiffies + priv->adapter.timeout;
drivers/i2c/busses/i2c-i801.c
369
unsigned long timeout = jiffies + priv->adapter.timeout;
drivers/i2c/busses/i2c-i801.c
500
const struct i2c_adapter *adap = &priv->adapter;
drivers/i2c/busses/i2c-i801.c
607
i2c_handle_smbus_host_notify(&priv->adapter, addr);
drivers/i2c/busses/i2c-i801.c
680
const struct i2c_adapter *adap = &priv->adapter;
drivers/i2c/busses/i2c-i801.c
947
static u32 i801_func(struct i2c_adapter *adapter)
drivers/i2c/busses/i2c-i801.c
949
struct i801_priv *priv = i2c_get_adapdata(adapter);
drivers/i2c/busses/i2c-i801.c
964
static void i801_enable_host_notify(struct i2c_adapter *adapter)
drivers/i2c/busses/i2c-i801.c
966
struct i801_priv *priv = i2c_get_adapdata(adapter);
drivers/i2c/busses/i2c-icy.c
140
i2c->adapter.dev.parent = &z->dev;
drivers/i2c/busses/i2c-icy.c
141
i2c->adapter.owner = THIS_MODULE;
drivers/i2c/busses/i2c-icy.c
143
i2c->adapter.algo_data = algo_data;
drivers/i2c/busses/i2c-icy.c
144
strscpy(i2c->adapter.name, "ICY I2C Zorro adapter",
drivers/i2c/busses/i2c-icy.c
145
sizeof(i2c->adapter.name));
drivers/i2c/busses/i2c-icy.c
149
4, i2c->adapter.name))
drivers/i2c/busses/i2c-icy.c
163
if (i2c_pcf_add_bus(&i2c->adapter)) {
drivers/i2c/busses/i2c-icy.c
180
i2c->ltc2990_client = i2c_new_scanned_device(&i2c->adapter,
drivers/i2c/busses/i2c-icy.c
192
i2c_del_adapter(&i2c->adapter);
drivers/i2c/busses/i2c-icy.c
53
struct i2c_adapter adapter;
drivers/i2c/busses/i2c-imx-lpi2c.c
1050
dev_err(&lpi2c_imx->adapter.dev, "Failed to configure DMA (%d)\n", ret);
drivers/i2c/busses/i2c-imx-lpi2c.c
1058
dev_err(&lpi2c_imx->adapter.dev, "DMA submission failed (%d)\n", ret);
drivers/i2c/busses/i2c-imx-lpi2c.c
1109
static int lpi2c_imx_xfer_common(struct i2c_adapter *adapter,
drivers/i2c/busses/i2c-imx-lpi2c.c
1112
struct lpi2c_imx_struct *lpi2c_imx = i2c_get_adapdata(adapter);
drivers/i2c/busses/i2c-imx-lpi2c.c
1168
dev_dbg(&lpi2c_imx->adapter.dev, "<%s> exit with: %s: %d\n", __func__,
drivers/i2c/busses/i2c-imx-lpi2c.c
1175
static int lpi2c_imx_xfer(struct i2c_adapter *adapter, struct i2c_msg *msgs, int num)
drivers/i2c/busses/i2c-imx-lpi2c.c
1177
return lpi2c_imx_xfer_common(adapter, msgs, num, false);
drivers/i2c/busses/i2c-imx-lpi2c.c
1180
static int lpi2c_imx_xfer_atomic(struct i2c_adapter *adapter, struct i2c_msg *msgs, int num)
drivers/i2c/busses/i2c-imx-lpi2c.c
1182
return lpi2c_imx_xfer_common(adapter, msgs, num, true);
drivers/i2c/busses/i2c-imx-lpi2c.c
1330
struct lpi2c_imx_struct *lpi2c_imx = i2c_get_adapdata(client->adapter);
drivers/i2c/busses/i2c-imx-lpi2c.c
1338
ret = pm_runtime_resume_and_get(lpi2c_imx->adapter.dev.parent);
drivers/i2c/busses/i2c-imx-lpi2c.c
1340
dev_err(&lpi2c_imx->adapter.dev, "failed to resume i2c controller");
drivers/i2c/busses/i2c-imx-lpi2c.c
1351
struct lpi2c_imx_struct *lpi2c_imx = i2c_get_adapdata(client->adapter);
drivers/i2c/busses/i2c-imx-lpi2c.c
1365
ret = pm_runtime_put_sync(lpi2c_imx->adapter.dev.parent);
drivers/i2c/busses/i2c-imx-lpi2c.c
1367
dev_err(&lpi2c_imx->adapter.dev, "failed to suspend i2c controller");
drivers/i2c/busses/i2c-imx-lpi2c.c
1381
lpi2c_imx->adapter.bus_recovery_info = bri;
drivers/i2c/busses/i2c-imx-lpi2c.c
1438
static u32 lpi2c_imx_func(struct i2c_adapter *adapter)
drivers/i2c/busses/i2c-imx-lpi2c.c
1484
lpi2c_imx->adapter.owner = THIS_MODULE;
drivers/i2c/busses/i2c-imx-lpi2c.c
1485
lpi2c_imx->adapter.algo = &lpi2c_imx_algo;
drivers/i2c/busses/i2c-imx-lpi2c.c
1486
lpi2c_imx->adapter.dev.parent = &pdev->dev;
drivers/i2c/busses/i2c-imx-lpi2c.c
1487
lpi2c_imx->adapter.dev.of_node = pdev->dev.of_node;
drivers/i2c/busses/i2c-imx-lpi2c.c
1488
strscpy(lpi2c_imx->adapter.name, pdev->name,
drivers/i2c/busses/i2c-imx-lpi2c.c
1489
sizeof(lpi2c_imx->adapter.name));
drivers/i2c/busses/i2c-imx-lpi2c.c
1507
i2c_set_adapdata(&lpi2c_imx->adapter, lpi2c_imx);
drivers/i2c/busses/i2c-imx-lpi2c.c
1556
ret = i2c_add_adapter(&lpi2c_imx->adapter);
drivers/i2c/busses/i2c-imx-lpi2c.c
1562
dev_info(&lpi2c_imx->adapter.dev, "LPI2C adapter registered\n");
drivers/i2c/busses/i2c-imx-lpi2c.c
1578
i2c_del_adapter(&lpi2c_imx->adapter);
drivers/i2c/busses/i2c-imx-lpi2c.c
178
struct i2c_adapter adapter;
drivers/i2c/busses/i2c-imx-lpi2c.c
242
dev_dbg(&lpi2c_imx->adapter.dev, "bus not work\n");
drivers/i2c/busses/i2c-imx-lpi2c.c
243
if (lpi2c_imx->adapter.bus_recovery_info)
drivers/i2c/busses/i2c-imx-lpi2c.c
244
i2c_recover_bus(&lpi2c_imx->adapter);
drivers/i2c/busses/i2c-imx-lpi2c.c
301
dev_dbg(&lpi2c_imx->adapter.dev, "stop timeout\n");
drivers/i2c/busses/i2c-imx-lpi2c.c
302
if (lpi2c_imx->adapter.bus_recovery_info)
drivers/i2c/busses/i2c-imx-lpi2c.c
303
i2c_recover_bus(&lpi2c_imx->adapter);
drivers/i2c/busses/i2c-imx-lpi2c.c
370
ret = pm_runtime_resume_and_get(lpi2c_imx->adapter.dev.parent);
drivers/i2c/busses/i2c-imx-lpi2c.c
389
pm_runtime_put_autosuspend(lpi2c_imx->adapter.dev.parent);
drivers/i2c/busses/i2c-imx-lpi2c.c
402
pm_runtime_put_autosuspend(lpi2c_imx->adapter.dev.parent);
drivers/i2c/busses/i2c-imx-lpi2c.c
425
dev_dbg(&lpi2c_imx->adapter.dev, "NDF detected\n");
drivers/i2c/busses/i2c-imx-lpi2c.c
430
dev_dbg(&lpi2c_imx->adapter.dev, "txfifo empty timeout\n");
drivers/i2c/busses/i2c-imx-lpi2c.c
431
if (lpi2c_imx->adapter.bus_recovery_info)
drivers/i2c/busses/i2c-imx-lpi2c.c
432
i2c_recover_bus(&lpi2c_imx->adapter);
drivers/i2c/busses/i2c-imx-lpi2c.c
594
dev_err(&lpi2c_imx->adapter.dev, "SMBus read count failed %d\n", ret);
drivers/i2c/busses/i2c-imx-lpi2c.c
601
dev_err(&lpi2c_imx->adapter.dev, "Invalid SMBus block read length\n");
drivers/i2c/busses/i2c-imx-lpi2c.c
745
dev_err(&lpi2c_imx->adapter.dev, "Alloc RX cmd buffer failed\n");
drivers/i2c/busses/i2c-imx-lpi2c.c
766
dev_err(&lpi2c_imx->adapter.dev, "I/O Error in DMA Data Transfer\n");
drivers/i2c/busses/i2c-imx-lpi2c.c
819
dev_err(&lpi2c_imx->adapter.dev, "DMA map failed, use pio\n");
drivers/i2c/busses/i2c-imx-lpi2c.c
827
dev_err(&lpi2c_imx->adapter.dev, "DMA prep slave sg failed, use pio\n");
drivers/i2c/busses/i2c-imx-lpi2c.c
833
dev_err(&lpi2c_imx->adapter.dev, "submitting DMA failed, use pio\n");
drivers/i2c/busses/i2c-imx-lpi2c.c
873
dev_err(&lpi2c_imx->adapter.dev, "DMA map failed, use pio\n");
drivers/i2c/busses/i2c-imx-lpi2c.c
881
dev_err(&lpi2c_imx->adapter.dev, "DMA prep slave sg failed, use pio\n");
drivers/i2c/busses/i2c-imx-lpi2c.c
891
dev_err(&lpi2c_imx->adapter.dev, "submitting DMA failed, use pio\n");
drivers/i2c/busses/i2c-imx.c
1163
struct device *dev = &i2c_imx->adapter.dev;
drivers/i2c/busses/i2c-imx.c
1234
dev_dbg(&i2c_imx->adapter.dev, "<%s> setup bus\n", __func__);
drivers/i2c/busses/i2c-imx.c
1263
struct device *dev = &i2c_imx->adapter.dev;
drivers/i2c/busses/i2c-imx.c
1271
dev_dbg(&i2c_imx->adapter.dev, "<%s> read data\n", __func__);
drivers/i2c/busses/i2c-imx.c
1353
dev_dbg(&i2c_imx->adapter.dev, "<%s> write slave address: addr=0x%x\n",
drivers/i2c/busses/i2c-imx.c
1364
dev_dbg(&i2c_imx->adapter.dev, "<%s> write data\n", __func__);
drivers/i2c/busses/i2c-imx.c
1368
dev_dbg(&i2c_imx->adapter.dev,
drivers/i2c/busses/i2c-imx.c
1384
dev_dbg(&i2c_imx->adapter.dev, "<%s> write slave address: addr=0x%x\n",
drivers/i2c/busses/i2c-imx.c
1401
dev_dbg(&i2c_imx->adapter.dev, "<%s> write failed with %d\n",
drivers/i2c/busses/i2c-imx.c
1406
dev_err(&i2c_imx->adapter.dev, "<%s> write timedout\n", __func__);
drivers/i2c/busses/i2c-imx.c
1423
dev_dbg(&i2c_imx->adapter.dev, "<%s> read data\n", __func__);
drivers/i2c/busses/i2c-imx.c
1441
dev_dbg(&i2c_imx->adapter.dev,
drivers/i2c/busses/i2c-imx.c
1452
dev_dbg(&i2c_imx->adapter.dev,
drivers/i2c/busses/i2c-imx.c
1474
dev_dbg(&i2c_imx->adapter.dev,
drivers/i2c/busses/i2c-imx.c
1484
dev_dbg(&i2c_imx->adapter.dev,
drivers/i2c/busses/i2c-imx.c
1497
dev_dbg(&i2c_imx->adapter.dev,
drivers/i2c/busses/i2c-imx.c
1520
dev_dbg(&i2c_imx->adapter.dev, "<%s> read failed with %d\n",
drivers/i2c/busses/i2c-imx.c
1525
dev_err(&i2c_imx->adapter.dev, "<%s> read timedout\n", __func__);
drivers/i2c/busses/i2c-imx.c
1544
static int i2c_imx_xfer_common(struct i2c_adapter *adapter,
drivers/i2c/busses/i2c-imx.c
1550
struct imx_i2c_struct *i2c_imx = i2c_get_adapdata(adapter);
drivers/i2c/busses/i2c-imx.c
1560
if (!atomic && i2c_imx->adapter.bus_recovery_info) {
drivers/i2c/busses/i2c-imx.c
1561
i2c_recover_bus(&i2c_imx->adapter);
drivers/i2c/busses/i2c-imx.c
1575
dev_dbg(&i2c_imx->adapter.dev,
drivers/i2c/busses/i2c-imx.c
1584
dev_dbg(&i2c_imx->adapter.dev,
drivers/i2c/busses/i2c-imx.c
1589
dev_dbg(&i2c_imx->adapter.dev,
drivers/i2c/busses/i2c-imx.c
1596
dev_dbg(&i2c_imx->adapter.dev,
drivers/i2c/busses/i2c-imx.c
1632
dev_dbg(&i2c_imx->adapter.dev, "<%s> exit with: %s: %d\n", __func__,
drivers/i2c/busses/i2c-imx.c
1642
static int i2c_imx_xfer(struct i2c_adapter *adapter,
drivers/i2c/busses/i2c-imx.c
1645
struct imx_i2c_struct *i2c_imx = i2c_get_adapdata(adapter);
drivers/i2c/busses/i2c-imx.c
1648
result = pm_runtime_resume_and_get(i2c_imx->adapter.dev.parent);
drivers/i2c/busses/i2c-imx.c
1652
result = i2c_imx_xfer_common(adapter, msgs, num, false);
drivers/i2c/busses/i2c-imx.c
1654
pm_runtime_put_autosuspend(i2c_imx->adapter.dev.parent);
drivers/i2c/busses/i2c-imx.c
1659
static int i2c_imx_xfer_atomic(struct i2c_adapter *adapter,
drivers/i2c/busses/i2c-imx.c
1662
struct imx_i2c_struct *i2c_imx = i2c_get_adapdata(adapter);
drivers/i2c/busses/i2c-imx.c
1669
result = i2c_imx_xfer_common(adapter, msgs, num, true);
drivers/i2c/busses/i2c-imx.c
1692
i2c_imx->adapter.bus_recovery_info = bri;
drivers/i2c/busses/i2c-imx.c
1697
static u32 i2c_imx_func(struct i2c_adapter *adapter)
drivers/i2c/busses/i2c-imx.c
1746
strscpy(i2c_imx->adapter.name, pdev->name, sizeof(i2c_imx->adapter.name));
drivers/i2c/busses/i2c-imx.c
1747
i2c_imx->adapter.owner = THIS_MODULE;
drivers/i2c/busses/i2c-imx.c
1748
i2c_imx->adapter.algo = &i2c_imx_algo;
drivers/i2c/busses/i2c-imx.c
1749
i2c_imx->adapter.dev.parent = &pdev->dev;
drivers/i2c/busses/i2c-imx.c
1750
i2c_imx->adapter.nr = pdev->id;
drivers/i2c/busses/i2c-imx.c
1751
i2c_imx->adapter.dev.of_node = pdev->dev.of_node;
drivers/i2c/busses/i2c-imx.c
1753
ACPI_COMPANION_SET(&i2c_imx->adapter.dev, ACPI_COMPANION(&pdev->dev));
drivers/i2c/busses/i2c-imx.c
1765
i2c_set_adapdata(&i2c_imx->adapter, i2c_imx);
drivers/i2c/busses/i2c-imx.c
1834
ret = i2c_add_numbered_adapter(&i2c_imx->adapter);
drivers/i2c/busses/i2c-imx.c
1840
dev_dbg(&i2c_imx->adapter.dev, "claimed irq %d\n", irq);
drivers/i2c/busses/i2c-imx.c
1841
dev_dbg(&i2c_imx->adapter.dev, "device resources: %pR\n", res);
drivers/i2c/busses/i2c-imx.c
1842
dev_dbg(&i2c_imx->adapter.dev, "adapter name: \"%s\"\n",
drivers/i2c/busses/i2c-imx.c
1843
i2c_imx->adapter.name);
drivers/i2c/busses/i2c-imx.c
1844
dev_info(&i2c_imx->adapter.dev, "IMX I2C adapter registered\n");
drivers/i2c/busses/i2c-imx.c
1869
dev_dbg(&i2c_imx->adapter.dev, "adapter removed\n");
drivers/i2c/busses/i2c-imx.c
1870
i2c_del_adapter(&i2c_imx->adapter);
drivers/i2c/busses/i2c-imx.c
239
struct i2c_adapter adapter;
drivers/i2c/busses/i2c-imx.c
405
struct device *dev = i2c_imx->adapter.dev.parent;
drivers/i2c/busses/i2c-imx.c
482
struct device *dev = &i2c_imx->adapter.dev;
drivers/i2c/busses/i2c-imx.c
560
dev_dbg(&i2c_imx->adapter.dev,
drivers/i2c/busses/i2c-imx.c
597
dev_dbg(&i2c_imx->adapter.dev, "<%s> Timeout\n", __func__);
drivers/i2c/busses/i2c-imx.c
603
dev_dbg(&i2c_imx->adapter.dev, "<%s> Arbitration lost\n", __func__);
drivers/i2c/busses/i2c-imx.c
610
dev_dbg(&i2c_imx->adapter.dev, "<%s> TRX complete\n", __func__);
drivers/i2c/busses/i2c-imx.c
618
dev_dbg(&i2c_imx->adapter.dev, "<%s> No ACK\n", __func__);
drivers/i2c/busses/i2c-imx.c
622
dev_dbg(&i2c_imx->adapter.dev, "<%s> ACK received\n", __func__);
drivers/i2c/busses/i2c-imx.c
634
dev_dbg(&i2c_imx->adapter.dev,
drivers/i2c/busses/i2c-imx.c
672
dev_dbg(&i2c_imx->adapter.dev, "I2C_CLK=%d, REQ DIV=%d\n",
drivers/i2c/busses/i2c-imx.c
674
dev_dbg(&i2c_imx->adapter.dev, "IFDR[IC]=0x%x, REAL DIV=%d\n",
drivers/i2c/busses/i2c-imx.c
830
dev_dbg(&i2c_imx->adapter.dev, "read requested");
drivers/i2c/busses/i2c-imx.c
841
dev_dbg(&i2c_imx->adapter.dev, "write requested");
drivers/i2c/busses/i2c-imx.c
927
struct imx_i2c_struct *i2c_imx = i2c_get_adapdata(client->adapter);
drivers/i2c/busses/i2c-imx.c
937
ret = pm_runtime_resume_and_get(i2c_imx->adapter.dev.parent);
drivers/i2c/busses/i2c-imx.c
939
dev_err(&i2c_imx->adapter.dev, "failed to resume i2c controller");
drivers/i2c/busses/i2c-imx.c
950
struct imx_i2c_struct *i2c_imx = i2c_get_adapdata(client->adapter);
drivers/i2c/busses/i2c-imx.c
964
ret = pm_runtime_put_sync(i2c_imx->adapter.dev.parent);
drivers/i2c/busses/i2c-imx.c
966
dev_err(&i2c_imx->adapter.dev, "failed to suspend i2c controller");
drivers/i2c/busses/i2c-isch.c
163
struct sch_i2c *priv = container_of(adap, struct sch_i2c, adapter);
drivers/i2c/busses/i2c-isch.c
262
static u32 sch_func(struct i2c_adapter *adapter)
drivers/i2c/busses/i2c-isch.c
293
priv->adapter.dev.parent = dev;
drivers/i2c/busses/i2c-isch.c
294
priv->adapter.owner = THIS_MODULE;
drivers/i2c/busses/i2c-isch.c
295
priv->adapter.class = I2C_CLASS_HWMON;
drivers/i2c/busses/i2c-isch.c
296
priv->adapter.algo = &smbus_algorithm;
drivers/i2c/busses/i2c-isch.c
298
snprintf(priv->adapter.name, sizeof(priv->adapter.name),
drivers/i2c/busses/i2c-isch.c
301
return devm_i2c_add_adapter(dev, &priv->adapter);
drivers/i2c/busses/i2c-isch.c
46
struct i2c_adapter adapter;
drivers/i2c/busses/i2c-isch.c
85
struct sch_i2c *priv = container_of(adap, struct sch_i2c, adapter);
drivers/i2c/busses/i2c-ismt.c
171
struct i2c_adapter adapter;
drivers/i2c/busses/i2c-ismt.c
895
i2c_set_adapdata(&priv->adapter, priv);
drivers/i2c/busses/i2c-ismt.c
896
priv->adapter.owner = THIS_MODULE;
drivers/i2c/busses/i2c-ismt.c
897
priv->adapter.class = I2C_CLASS_HWMON;
drivers/i2c/busses/i2c-ismt.c
898
priv->adapter.algo = &smbus_algorithm;
drivers/i2c/busses/i2c-ismt.c
899
priv->adapter.dev.parent = &pdev->dev;
drivers/i2c/busses/i2c-ismt.c
900
ACPI_COMPANION_SET(&priv->adapter.dev, ACPI_COMPANION(&pdev->dev));
drivers/i2c/busses/i2c-ismt.c
901
priv->adapter.retries = ISMT_MAX_RETRIES;
drivers/i2c/busses/i2c-ismt.c
924
snprintf(priv->adapter.name, sizeof(priv->adapter.name),
drivers/i2c/busses/i2c-ismt.c
966
err = i2c_add_adapter(&priv->adapter);
drivers/i2c/busses/i2c-ismt.c
980
i2c_del_adapter(&priv->adapter);
drivers/i2c/busses/i2c-keba.c
103
ki2c->adapter.timeout);
drivers/i2c/busses/i2c-keba.c
116
ki2c->adapter.timeout);
drivers/i2c/busses/i2c-keba.c
482
client = i2c_new_scanned_device(&ki2c->adapter, &info[i],
drivers/i2c/busses/i2c-keba.c
52
struct i2c_adapter adapter;
drivers/i2c/busses/i2c-keba.c
530
adap = &ki2c->adapter;
drivers/i2c/busses/i2c-ljca.c
230
static int ljca_i2c_xfer(struct i2c_adapter *adapter, struct i2c_msg *msg,
drivers/i2c/busses/i2c-ljca.c
237
ljca_i2c = i2c_get_adapdata(adapter);
drivers/i2c/busses/i2c-ls2x.c
100
struct device *dev = priv->adapter.dev.parent;
drivers/i2c/busses/i2c-ls2x.c
141
priv->adapter.timeout);
drivers/i2c/busses/i2c-ls2x.c
177
jiffies_to_usecs(priv->adapter.timeout));
drivers/i2c/busses/i2c-ls2x.c
308
adap = &priv->adapter;
drivers/i2c/busses/i2c-ls2x.c
67
struct i2c_adapter adapter;
drivers/i2c/busses/i2c-microchip-corei2c.c
118
struct i2c_adapter adapter;
drivers/i2c/busses/i2c-microchip-corei2c.c
414
idev->adapter.timeout);
drivers/i2c/busses/i2c-microchip-corei2c.c
509
ret = mchp_corei2c_xfer(&idev->adapter, msgs, num_msgs);
drivers/i2c/busses/i2c-microchip-corei2c.c
598
i2c_set_adapdata(&idev->adapter, idev);
drivers/i2c/busses/i2c-microchip-corei2c.c
599
snprintf(idev->adapter.name, sizeof(idev->adapter.name),
drivers/i2c/busses/i2c-microchip-corei2c.c
601
idev->adapter.owner = THIS_MODULE;
drivers/i2c/busses/i2c-microchip-corei2c.c
602
idev->adapter.algo = &mchp_corei2c_algo;
drivers/i2c/busses/i2c-microchip-corei2c.c
603
idev->adapter.dev.parent = &pdev->dev;
drivers/i2c/busses/i2c-microchip-corei2c.c
604
idev->adapter.dev.of_node = pdev->dev.of_node;
drivers/i2c/busses/i2c-microchip-corei2c.c
605
idev->adapter.timeout = HZ;
drivers/i2c/busses/i2c-microchip-corei2c.c
609
ret = i2c_add_adapter(&idev->adapter);
drivers/i2c/busses/i2c-microchip-corei2c.c
625
i2c_del_adapter(&idev->adapter);
drivers/i2c/busses/i2c-mlxbf.c
2111
struct mlxbf_i2c_priv *priv = i2c_get_adapdata(slave->adapter);
drivers/i2c/busses/i2c-mlxbf.c
2133
struct mlxbf_i2c_priv *priv = i2c_get_adapdata(slave->adapter);
drivers/i2c/busses/i2c-mv64xxx.c
1023
drv_data->adapter.timeout = msecs_to_jiffies(pdata->timeout);
drivers/i2c/busses/i2c-mv64xxx.c
1036
drv_data->adapter.dev.parent = &pd->dev;
drivers/i2c/busses/i2c-mv64xxx.c
1037
drv_data->adapter.algo = &mv64xxx_i2c_algo;
drivers/i2c/busses/i2c-mv64xxx.c
1038
drv_data->adapter.owner = THIS_MODULE;
drivers/i2c/busses/i2c-mv64xxx.c
1039
drv_data->adapter.class = I2C_CLASS_DEPRECATED;
drivers/i2c/busses/i2c-mv64xxx.c
1040
drv_data->adapter.nr = pd->id;
drivers/i2c/busses/i2c-mv64xxx.c
1041
drv_data->adapter.dev.of_node = pd->dev.of_node;
drivers/i2c/busses/i2c-mv64xxx.c
1043
i2c_set_adapdata(&drv_data->adapter, drv_data);
drivers/i2c/busses/i2c-mv64xxx.c
1057
dev_err(&drv_data->adapter.dev,
drivers/i2c/busses/i2c-mv64xxx.c
1061
} else if ((rc = i2c_add_numbered_adapter(&drv_data->adapter)) != 0) {
drivers/i2c/busses/i2c-mv64xxx.c
1062
dev_err(&drv_data->adapter.dev,
drivers/i2c/busses/i2c-mv64xxx.c
1084
i2c_del_adapter(&drv_data->adapter);
drivers/i2c/busses/i2c-mv64xxx.c
142
struct i2c_adapter adapter;
drivers/i2c/busses/i2c-mv64xxx.c
325
dev_err(&drv_data->adapter.dev,
drivers/i2c/busses/i2c-mv64xxx.c
332
i2c_recover_bus(&drv_data->adapter);
drivers/i2c/busses/i2c-mv64xxx.c
422
dev_err(&drv_data->adapter.dev,
drivers/i2c/busses/i2c-mv64xxx.c
557
!drv_data->block, drv_data->adapter.timeout);
drivers/i2c/busses/i2c-mv64xxx.c
573
!drv_data->block, drv_data->adapter.timeout);
drivers/i2c/busses/i2c-mv64xxx.c
577
dev_err(&drv_data->adapter.dev,
drivers/i2c/busses/i2c-mv64xxx.c
582
i2c_recover_bus(&drv_data->adapter);
drivers/i2c/busses/i2c-mv64xxx.c
590
ktime_t timeout = ktime_add_ms(ktime_get(), drv_data->adapter.timeout);
drivers/i2c/busses/i2c-mv64xxx.c
890
drv_data->adapter.timeout = HZ;
drivers/i2c/busses/i2c-mv64xxx.c
946
drv_data->adapter.bus_recovery_info = rinfo;
drivers/i2c/busses/i2c-mv64xxx.c
995
strscpy(drv_data->adapter.name, MV64XXX_I2C_CTLR_NAME " adapter",
drivers/i2c/busses/i2c-mv64xxx.c
996
sizeof(drv_data->adapter.name));
drivers/i2c/busses/i2c-mxs.c
118
struct i2c_adapter adapter;
drivers/i2c/busses/i2c-mxs.c
847
adap = &i2c->adapter;
drivers/i2c/busses/i2c-mxs.c
870
i2c_del_adapter(&i2c->adapter);
drivers/i2c/busses/i2c-nct6694.c
104
static u32 nct6694_i2c_func(struct i2c_adapter *adapter)
drivers/i2c/busses/i2c-nct6694.c
172
sprintf(data->adapter.name, "NCT6694 I2C Adapter %d", data->port);
drivers/i2c/busses/i2c-nct6694.c
173
data->adapter.owner = THIS_MODULE;
drivers/i2c/busses/i2c-nct6694.c
174
data->adapter.algo = &nct6694_i2c_algo;
drivers/i2c/busses/i2c-nct6694.c
175
data->adapter.quirks = &nct6694_i2c_quirks;
drivers/i2c/busses/i2c-nct6694.c
176
data->adapter.dev.parent = dev;
drivers/i2c/busses/i2c-nct6694.c
177
data->adapter.algo_data = data;
drivers/i2c/busses/i2c-nct6694.c
181
return devm_i2c_add_adapter(dev, &data->adapter);
drivers/i2c/busses/i2c-nct6694.c
59
struct i2c_adapter adapter;
drivers/i2c/busses/i2c-nforce2.c
267
static u32 nforce2_func(struct i2c_adapter *adapter)
drivers/i2c/busses/i2c-nforce2.c
273
(((struct nforce2_smbus *)adapter->algo_data)->blockops ?
drivers/i2c/busses/i2c-nforce2.c
333
dev_err(&smbus->adapter.dev, "Error requesting region %02x .. %02X for %s\n",
drivers/i2c/busses/i2c-nforce2.c
337
smbus->adapter.owner = THIS_MODULE;
drivers/i2c/busses/i2c-nforce2.c
338
smbus->adapter.class = I2C_CLASS_HWMON;
drivers/i2c/busses/i2c-nforce2.c
339
smbus->adapter.algo = &smbus_algorithm;
drivers/i2c/busses/i2c-nforce2.c
340
smbus->adapter.algo_data = smbus;
drivers/i2c/busses/i2c-nforce2.c
341
smbus->adapter.dev.parent = &dev->dev;
drivers/i2c/busses/i2c-nforce2.c
342
snprintf(smbus->adapter.name, sizeof(smbus->adapter.name),
drivers/i2c/busses/i2c-nforce2.c
345
error = i2c_add_adapter(&smbus->adapter);
drivers/i2c/busses/i2c-nforce2.c
350
dev_info(&smbus->adapter.dev, "nForce2 SMBus adapter at %#x\n",
drivers/i2c/busses/i2c-nforce2.c
409
i2c_del_adapter(&smbuses[0].adapter);
drivers/i2c/busses/i2c-nforce2.c
413
i2c_del_adapter(&smbuses[1].adapter);
drivers/i2c/busses/i2c-nforce2.c
55
struct i2c_adapter adapter;
drivers/i2c/busses/i2c-npcm7xx.c
1521
struct npcm_i2c *bus = i2c_get_adapdata(client->adapter);
drivers/i2c/busses/i2c-npcm7xx.c
1553
struct npcm_i2c *bus = client->adapter->algo_data;
drivers/i2c/busses/i2c-nvidia-gpu.c
301
i2c_set_adapdata(&i2cd->adapter, i2cd);
drivers/i2c/busses/i2c-nvidia-gpu.c
302
i2cd->adapter.owner = THIS_MODULE;
drivers/i2c/busses/i2c-nvidia-gpu.c
303
strscpy(i2cd->adapter.name, "NVIDIA GPU I2C adapter",
drivers/i2c/busses/i2c-nvidia-gpu.c
304
sizeof(i2cd->adapter.name));
drivers/i2c/busses/i2c-nvidia-gpu.c
305
i2cd->adapter.algo = &gpu_i2c_algorithm;
drivers/i2c/busses/i2c-nvidia-gpu.c
306
i2cd->adapter.quirks = &gpu_i2c_quirks;
drivers/i2c/busses/i2c-nvidia-gpu.c
307
i2cd->adapter.dev.parent = dev;
drivers/i2c/busses/i2c-nvidia-gpu.c
308
status = i2c_add_adapter(&i2cd->adapter);
drivers/i2c/busses/i2c-nvidia-gpu.c
312
i2cd->ccgx_client = i2c_new_ccgx_ucsi(&i2cd->adapter, pdev->irq, &ccgx_node);
drivers/i2c/busses/i2c-nvidia-gpu.c
326
i2c_del_adapter(&i2cd->adapter);
drivers/i2c/busses/i2c-nvidia-gpu.c
337
i2c_del_adapter(&i2cd->adapter);
drivers/i2c/busses/i2c-nvidia-gpu.c
56
struct i2c_adapter adapter;
drivers/i2c/busses/i2c-omap.c
1492
adap = &omap->adapter;
drivers/i2c/busses/i2c-omap.c
1535
i2c_del_adapter(&omap->adapter);
drivers/i2c/busses/i2c-omap.c
196
struct i2c_adapter adapter;
drivers/i2c/busses/i2c-omap.c
497
return i2c_recover_bus(&omap->adapter);
drivers/i2c/busses/i2c-opal.c
174
static u32 i2c_opal_func(struct i2c_adapter *adapter)
drivers/i2c/busses/i2c-opal.c
198
struct i2c_adapter *adapter;
drivers/i2c/busses/i2c-opal.c
212
adapter = devm_kzalloc(&pdev->dev, sizeof(*adapter), GFP_KERNEL);
drivers/i2c/busses/i2c-opal.c
213
if (!adapter)
drivers/i2c/busses/i2c-opal.c
216
adapter->algo = &i2c_opal_algo;
drivers/i2c/busses/i2c-opal.c
217
adapter->algo_data = (void *)(unsigned long)opal_id;
drivers/i2c/busses/i2c-opal.c
218
adapter->quirks = &i2c_opal_quirks;
drivers/i2c/busses/i2c-opal.c
219
adapter->dev.parent = &pdev->dev;
drivers/i2c/busses/i2c-opal.c
220
adapter->dev.of_node = of_node_get(pdev->dev.of_node);
drivers/i2c/busses/i2c-opal.c
223
strscpy(adapter->name, pname, sizeof(adapter->name));
drivers/i2c/busses/i2c-opal.c
225
strscpy(adapter->name, "opal", sizeof(adapter->name));
drivers/i2c/busses/i2c-opal.c
227
platform_set_drvdata(pdev, adapter);
drivers/i2c/busses/i2c-opal.c
228
rc = i2c_add_adapter(adapter);
drivers/i2c/busses/i2c-opal.c
237
struct i2c_adapter *adapter = platform_get_drvdata(pdev);
drivers/i2c/busses/i2c-opal.c
239
i2c_del_adapter(adapter);
drivers/i2c/busses/i2c-parport.c
117
struct i2c_adapter adapter;
drivers/i2c/busses/i2c-parport.c
253
struct i2c_par *adapter = data;
drivers/i2c/busses/i2c-parport.c
254
struct i2c_client *ara = adapter->ara;
drivers/i2c/busses/i2c-parport.c
260
dev_dbg(&adapter->adapter.dev,
drivers/i2c/busses/i2c-parport.c
266
struct i2c_par *adapter;
drivers/i2c/busses/i2c-parport.c
291
adapter = kzalloc_obj(struct i2c_par);
drivers/i2c/busses/i2c-parport.c
292
if (!adapter)
drivers/i2c/busses/i2c-parport.c
297
i2c_parport_cb.private = adapter;
drivers/i2c/busses/i2c-parport.c
301
adapter->pdev = parport_register_dev_model(port, "i2c-parport",
drivers/i2c/busses/i2c-parport.c
303
if (!adapter->pdev) {
drivers/i2c/busses/i2c-parport.c
309
adapter->adapter.owner = THIS_MODULE;
drivers/i2c/busses/i2c-parport.c
310
adapter->adapter.class = I2C_CLASS_HWMON;
drivers/i2c/busses/i2c-parport.c
311
strscpy(adapter->adapter.name, "Parallel port adapter",
drivers/i2c/busses/i2c-parport.c
312
sizeof(adapter->adapter.name));
drivers/i2c/busses/i2c-parport.c
313
adapter->algo_data = parport_algo_data;
drivers/i2c/busses/i2c-parport.c
316
adapter->algo_data.getscl = NULL;
drivers/i2c/busses/i2c-parport.c
317
adapter->algo_data.udelay = 50; /* ~10 kbps */
drivers/i2c/busses/i2c-parport.c
319
adapter->algo_data.data = port;
drivers/i2c/busses/i2c-parport.c
320
adapter->adapter.algo_data = &adapter->algo_data;
drivers/i2c/busses/i2c-parport.c
321
adapter->adapter.dev.parent = port->physport->dev;
drivers/i2c/busses/i2c-parport.c
323
if (parport_claim_or_block(adapter->pdev) < 0) {
drivers/i2c/busses/i2c-parport.c
324
dev_err(&adapter->pdev->dev,
drivers/i2c/busses/i2c-parport.c
339
if (i2c_bit_add_bus(&adapter->adapter) < 0) {
drivers/i2c/busses/i2c-parport.c
340
dev_err(&adapter->pdev->dev, "Unable to register with I2C\n");
drivers/i2c/busses/i2c-parport.c
348
ara = i2c_new_smbus_alert_device(&adapter->adapter,
drivers/i2c/busses/i2c-parport.c
349
&adapter->alert_data);
drivers/i2c/busses/i2c-parport.c
351
adapter->ara = ara;
drivers/i2c/busses/i2c-parport.c
354
dev_warn(&adapter->pdev->dev,
drivers/i2c/busses/i2c-parport.c
361
list_add_tail(&adapter->node, &adapter_list);
drivers/i2c/busses/i2c-parport.c
366
parport_release(adapter->pdev);
drivers/i2c/busses/i2c-parport.c
367
parport_unregister_device(adapter->pdev);
drivers/i2c/busses/i2c-parport.c
369
kfree(adapter);
drivers/i2c/busses/i2c-parport.c
374
struct i2c_par *adapter, *_n;
drivers/i2c/busses/i2c-parport.c
378
list_for_each_entry_safe(adapter, _n, &adapter_list, node) {
drivers/i2c/busses/i2c-parport.c
379
if (adapter->pdev->port == port) {
drivers/i2c/busses/i2c-parport.c
380
if (adapter->ara) {
drivers/i2c/busses/i2c-parport.c
382
i2c_unregister_device(adapter->ara);
drivers/i2c/busses/i2c-parport.c
384
i2c_del_adapter(&adapter->adapter);
drivers/i2c/busses/i2c-parport.c
390
parport_release(adapter->pdev);
drivers/i2c/busses/i2c-parport.c
391
parport_unregister_device(adapter->pdev);
drivers/i2c/busses/i2c-parport.c
392
list_del(&adapter->node);
drivers/i2c/busses/i2c-parport.c
393
kfree(adapter);
drivers/i2c/busses/i2c-pasemi-core.c
193
static int pasemi_i2c_xfer_msg(struct i2c_adapter *adapter,
drivers/i2c/busses/i2c-pasemi-core.c
196
struct pasemi_smbus *smbus = adapter->algo_data;
drivers/i2c/busses/i2c-pasemi-core.c
241
static int pasemi_i2c_xfer(struct i2c_adapter *adapter,
drivers/i2c/busses/i2c-pasemi-core.c
244
struct pasemi_smbus *smbus = adapter->algo_data;
drivers/i2c/busses/i2c-pasemi-core.c
252
ret = pasemi_i2c_xfer_msg(adapter, &msgs[i], (i == (num - 1)));
drivers/i2c/busses/i2c-pasemi-core.c
257
static int pasemi_smb_xfer(struct i2c_adapter *adapter,
drivers/i2c/busses/i2c-pasemi-core.c
261
struct pasemi_smbus *smbus = adapter->algo_data;
drivers/i2c/busses/i2c-pasemi-core.c
352
dev_warn(&adapter->dev, "Unsupported transaction %d\n", size);
drivers/i2c/busses/i2c-pasemi-core.c
409
static u32 pasemi_smb_func(struct i2c_adapter *adapter)
drivers/i2c/busses/i2c-pasemi-core.c
427
smbus->adapter.owner = THIS_MODULE;
drivers/i2c/busses/i2c-pasemi-core.c
428
snprintf(smbus->adapter.name, sizeof(smbus->adapter.name),
drivers/i2c/busses/i2c-pasemi-core.c
430
smbus->adapter.algo = &smbus_algorithm;
drivers/i2c/busses/i2c-pasemi-core.c
431
smbus->adapter.algo_data = smbus;
drivers/i2c/busses/i2c-pasemi-core.c
434
smbus->adapter.dev.parent = smbus->dev;
drivers/i2c/busses/i2c-pasemi-core.c
445
error = devm_i2c_add_adapter(smbus->dev, &smbus->adapter);
drivers/i2c/busses/i2c-pasemi-core.h
16
struct i2c_adapter adapter;
drivers/i2c/busses/i2c-pasemi-pci.c
59
smbus->adapter.class = I2C_CLASS_HWMON;
drivers/i2c/busses/i2c-pasemi-platform.c
77
smbus->adapter.dev.of_node = pdev->dev.of_node;
drivers/i2c/busses/i2c-piix4.c
866
static u32 piix4_func(struct i2c_adapter *adapter)
drivers/i2c/busses/i2c-pnx.c
128
dev_dbg(&alg_data->adapter.dev, "%s(): addr 0x%x mode %d\n", __func__,
drivers/i2c/busses/i2c-pnx.c
133
dev_err(&alg_data->adapter.dev,
drivers/i2c/busses/i2c-pnx.c
135
alg_data->adapter.name, slave_addr);
drivers/i2c/busses/i2c-pnx.c
142
dev_err(&alg_data->adapter.dev,
drivers/i2c/busses/i2c-pnx.c
144
alg_data->adapter.name, slave_addr,
drivers/i2c/busses/i2c-pnx.c
150
dev_err(&alg_data->adapter.dev,
drivers/i2c/busses/i2c-pnx.c
152
alg_data->adapter.name, slave_addr);
drivers/i2c/busses/i2c-pnx.c
163
dev_dbg(&alg_data->adapter.dev, "%s(): sending %#x\n", __func__,
drivers/i2c/busses/i2c-pnx.c
170
dev_dbg(&alg_data->adapter.dev, "%s(): exit\n", __func__);
drivers/i2c/busses/i2c-pnx.c
186
dev_dbg(&alg_data->adapter.dev, "%s(): entering: stat = %04x.\n",
drivers/i2c/busses/i2c-pnx.c
200
dev_dbg(&alg_data->adapter.dev, "%s(): exiting: stat = %04x.\n",
drivers/i2c/busses/i2c-pnx.c
214
dev_dbg(&alg_data->adapter.dev, "%s(): entering: stat = %04x.\n",
drivers/i2c/busses/i2c-pnx.c
227
dev_dbg(&alg_data->adapter.dev, "%s(): xmit %#x [%d]\n",
drivers/i2c/busses/i2c-pnx.c
234
dev_err(&alg_data->adapter.dev,
drivers/i2c/busses/i2c-pnx.c
242
dev_dbg(&alg_data->adapter.dev,
drivers/i2c/busses/i2c-pnx.c
257
dev_dbg(&alg_data->adapter.dev,
drivers/i2c/busses/i2c-pnx.c
264
dev_dbg(&alg_data->adapter.dev, "%s(): exiting: stat = %04x.\n",
drivers/i2c/busses/i2c-pnx.c
281
dev_dbg(&alg_data->adapter.dev, "%s(): entering: stat = %04x.\n",
drivers/i2c/busses/i2c-pnx.c
293
dev_dbg(&alg_data->adapter.dev,
drivers/i2c/busses/i2c-pnx.c
326
dev_dbg(&alg_data->adapter.dev, "%s(): rcv 0x%x [%d]\n",
drivers/i2c/busses/i2c-pnx.c
334
dev_err(&alg_data->adapter.dev,
drivers/i2c/busses/i2c-pnx.c
347
dev_dbg(&alg_data->adapter.dev, "%s(): exiting: stat = %04x.\n",
drivers/i2c/busses/i2c-pnx.c
358
dev_dbg(&alg_data->adapter.dev,
drivers/i2c/busses/i2c-pnx.c
380
dev_dbg(&alg_data->adapter.dev,
drivers/i2c/busses/i2c-pnx.c
418
dev_dbg(&alg_data->adapter.dev,
drivers/i2c/busses/i2c-pnx.c
430
dev_err(&alg_data->adapter.dev,
drivers/i2c/busses/i2c-pnx.c
44
struct i2c_adapter adapter;
drivers/i2c/busses/i2c-pnx.c
451
dev_err(&alg_data->adapter.dev,
drivers/i2c/busses/i2c-pnx.c
453
alg_data->adapter.name);
drivers/i2c/busses/i2c-pnx.c
488
dev_dbg(&alg_data->adapter.dev,
drivers/i2c/busses/i2c-pnx.c
502
dev_err(&alg_data->adapter.dev,
drivers/i2c/busses/i2c-pnx.c
504
alg_data->adapter.name);
drivers/i2c/busses/i2c-pnx.c
517
dev_dbg(&alg_data->adapter.dev, "%s(): mode %d, %d bytes\n",
drivers/i2c/busses/i2c-pnx.c
542
dev_dbg(&alg_data->adapter.dev,
drivers/i2c/busses/i2c-pnx.c
548
dev_dbg(&alg_data->adapter.dev,
drivers/i2c/busses/i2c-pnx.c
550
alg_data->adapter.name);
drivers/i2c/busses/i2c-pnx.c
554
dev_dbg(&alg_data->adapter.dev,
drivers/i2c/busses/i2c-pnx.c
556
alg_data->adapter.name);
drivers/i2c/busses/i2c-pnx.c
568
dev_dbg(&alg_data->adapter.dev, "%s(): exiting, stat = %x\n",
drivers/i2c/busses/i2c-pnx.c
577
static u32 i2c_pnx_func(struct i2c_adapter *adapter)
drivers/i2c/busses/i2c-pnx.c
622
alg_data->adapter.dev.parent = &pdev->dev;
drivers/i2c/busses/i2c-pnx.c
623
alg_data->adapter.algo = &pnx_algorithm;
drivers/i2c/busses/i2c-pnx.c
624
alg_data->adapter.algo_data = alg_data;
drivers/i2c/busses/i2c-pnx.c
625
alg_data->adapter.nr = pdev->id;
drivers/i2c/busses/i2c-pnx.c
632
alg_data->adapter.dev.of_node = of_node_get(pdev->dev.of_node);
drivers/i2c/busses/i2c-pnx.c
650
snprintf(alg_data->adapter.name, sizeof(alg_data->adapter.name),
drivers/i2c/busses/i2c-pnx.c
699
ret = i2c_add_numbered_adapter(&alg_data->adapter);
drivers/i2c/busses/i2c-pnx.c
704
alg_data->adapter.name, &res->start, alg_data->irq);
drivers/i2c/busses/i2c-pnx.c
717
i2c_del_adapter(&alg_data->adapter);
drivers/i2c/busses/i2c-powermac.c
173
static u32 i2c_powermac_func(struct i2c_adapter * adapter)
drivers/i2c/busses/i2c-powermac.c
193
struct i2c_adapter *adapter = platform_get_drvdata(dev);
drivers/i2c/busses/i2c-powermac.c
195
i2c_del_adapter(adapter);
drivers/i2c/busses/i2c-powermac.c
196
memset(adapter, 0, sizeof(*adapter));
drivers/i2c/busses/i2c-powermac.c
376
struct i2c_adapter *adapter;
drivers/i2c/busses/i2c-powermac.c
381
adapter = pmac_i2c_get_adapter(bus);
drivers/i2c/busses/i2c-powermac.c
393
snprintf(adapter->name, sizeof(adapter->name), "%pOFn %d",
drivers/i2c/busses/i2c-powermac.c
399
snprintf(adapter->name, sizeof(adapter->name), "pmu %d",
drivers/i2c/busses/i2c-powermac.c
406
snprintf(adapter->name, sizeof(adapter->name), "smu %d",
drivers/i2c/busses/i2c-powermac.c
413
platform_set_drvdata(dev, adapter);
drivers/i2c/busses/i2c-powermac.c
414
adapter->algo = &i2c_powermac_algorithm;
drivers/i2c/busses/i2c-powermac.c
415
adapter->quirks = &i2c_powermac_quirks;
drivers/i2c/busses/i2c-powermac.c
416
i2c_set_adapdata(adapter, bus);
drivers/i2c/busses/i2c-powermac.c
417
adapter->dev.parent = &dev->dev;
drivers/i2c/busses/i2c-powermac.c
420
adapter->dev.of_node = NULL;
drivers/i2c/busses/i2c-powermac.c
421
rc = i2c_add_adapter(adapter);
drivers/i2c/busses/i2c-powermac.c
424
"failed\n", adapter->name);
drivers/i2c/busses/i2c-powermac.c
425
memset(adapter, 0, sizeof(*adapter));
drivers/i2c/busses/i2c-powermac.c
429
printk(KERN_INFO "PowerMac i2c bus %s registered\n", adapter->name);
drivers/i2c/busses/i2c-powermac.c
432
adapter->dev.of_node = dev->dev.of_node;
drivers/i2c/busses/i2c-powermac.c
433
i2c_powermac_register_devices(adapter, bus);
drivers/i2c/busses/i2c-pxa.c
709
struct pxa_i2c *i2c = slave->adapter->algo_data;
drivers/i2c/busses/i2c-pxa.c
727
struct pxa_i2c *i2c = slave->adapter->algo_data;
drivers/i2c/busses/i2c-rcar.c
1029
struct rcar_i2c_priv *priv = i2c_get_adapdata(slave->adapter);
drivers/i2c/busses/i2c-rcar.c
1051
struct rcar_i2c_priv *priv = i2c_get_adapdata(slave->adapter);
drivers/i2c/busses/i2c-riic.c
120
struct i2c_adapter adapter;
drivers/i2c/busses/i2c-riic.c
157
!(val & ICCR2_BBSY), 10, riic->adapter.timeout);
drivers/i2c/busses/i2c-riic.c
159
return i2c_recover_bus(&riic->adapter);
drivers/i2c/busses/i2c-riic.c
163
return i2c_recover_bus(&riic->adapter);
drivers/i2c/busses/i2c-riic.c
198
time_left = wait_for_completion_timeout(&riic->msg_done, riic->adapter.timeout);
drivers/i2c/busses/i2c-riic.c
359
struct device *dev = riic->adapter.dev.parent;
drivers/i2c/busses/i2c-riic.c
562
adap = &riic->adapter;
drivers/i2c/busses/i2c-riic.c
610
i2c_del_adapter(&riic->adapter);
drivers/i2c/busses/i2c-riic.c
707
i2c_mark_adapter_suspended(&riic->adapter);
drivers/i2c/busses/i2c-riic.c
742
i2c_mark_adapter_resumed(&riic->adapter);
drivers/i2c/busses/i2c-robotfuzz-osif.c
101
dev_dbg(&adapter->dev, "status = %d\n", priv->status);
drivers/i2c/busses/i2c-robotfuzz-osif.c
109
static u32 osif_func(struct i2c_adapter *adapter)
drivers/i2c/busses/i2c-robotfuzz-osif.c
149
priv->adapter.owner = THIS_MODULE;
drivers/i2c/busses/i2c-robotfuzz-osif.c
150
priv->adapter.class = I2C_CLASS_HWMON;
drivers/i2c/busses/i2c-robotfuzz-osif.c
151
priv->adapter.quirks = &osif_quirks;
drivers/i2c/busses/i2c-robotfuzz-osif.c
152
priv->adapter.algo = &osif_algorithm;
drivers/i2c/busses/i2c-robotfuzz-osif.c
153
priv->adapter.algo_data = priv;
drivers/i2c/busses/i2c-robotfuzz-osif.c
154
snprintf(priv->adapter.name, sizeof(priv->adapter.name),
drivers/i2c/busses/i2c-robotfuzz-osif.c
162
ret = osif_usb_write(&priv->adapter, OSIFI2C_SET_BIT_RATE, 52, 0,
drivers/i2c/busses/i2c-robotfuzz-osif.c
170
i2c_add_adapter(&(priv->adapter));
drivers/i2c/busses/i2c-robotfuzz-osif.c
185
i2c_del_adapter(&(priv->adapter));
drivers/i2c/busses/i2c-robotfuzz-osif.c
32
struct i2c_adapter adapter;
drivers/i2c/busses/i2c-robotfuzz-osif.c
36
static int osif_usb_read(struct i2c_adapter *adapter, int cmd,
drivers/i2c/busses/i2c-robotfuzz-osif.c
39
struct osif_priv *priv = adapter->algo_data;
drivers/i2c/busses/i2c-robotfuzz-osif.c
46
static int osif_usb_write(struct i2c_adapter *adapter, int cmd,
drivers/i2c/busses/i2c-robotfuzz-osif.c
50
struct osif_priv *priv = adapter->algo_data;
drivers/i2c/busses/i2c-robotfuzz-osif.c
57
static int osif_xfer(struct i2c_adapter *adapter, struct i2c_msg *msgs,
drivers/i2c/busses/i2c-robotfuzz-osif.c
60
struct osif_priv *priv = adapter->algo_data;
drivers/i2c/busses/i2c-robotfuzz-osif.c
69
ret = osif_usb_read(adapter, OSIFI2C_READ,
drivers/i2c/busses/i2c-robotfuzz-osif.c
73
dev_err(&adapter->dev, "failure reading data\n");
drivers/i2c/busses/i2c-robotfuzz-osif.c
77
ret = osif_usb_write(adapter, OSIFI2C_WRITE,
drivers/i2c/busses/i2c-robotfuzz-osif.c
81
dev_err(&adapter->dev, "failure writing data\n");
drivers/i2c/busses/i2c-robotfuzz-osif.c
86
ret = osif_usb_write(adapter, OSIFI2C_STOP, 0, 0, NULL, 0);
drivers/i2c/busses/i2c-robotfuzz-osif.c
88
dev_err(&adapter->dev, "failure sending STOP\n");
drivers/i2c/busses/i2c-robotfuzz-osif.c
93
ret = osif_usb_read(adapter, OSIFI2C_STATUS, 0, 0,
drivers/i2c/busses/i2c-robotfuzz-osif.c
96
dev_err(&adapter->dev, "failure reading status\n");
drivers/i2c/busses/i2c-scmi.c
24
struct i2c_adapter adapter;
drivers/i2c/busses/i2c-scmi.c
264
static u32 acpi_smbus_cmi_func(struct i2c_adapter *adapter)
drivers/i2c/busses/i2c-scmi.c
266
struct acpi_smbus_cmi *smbus_cmi = adapter->algo_data;
drivers/i2c/busses/i2c-scmi.c
383
snprintf(smbus_cmi->adapter.name, sizeof(smbus_cmi->adapter.name),
drivers/i2c/busses/i2c-scmi.c
385
smbus_cmi->adapter.owner = THIS_MODULE;
drivers/i2c/busses/i2c-scmi.c
386
smbus_cmi->adapter.algo = &acpi_smbus_cmi_algorithm;
drivers/i2c/busses/i2c-scmi.c
387
smbus_cmi->adapter.algo_data = smbus_cmi;
drivers/i2c/busses/i2c-scmi.c
388
smbus_cmi->adapter.class = I2C_CLASS_HWMON;
drivers/i2c/busses/i2c-scmi.c
389
smbus_cmi->adapter.dev.parent = &device->dev;
drivers/i2c/busses/i2c-scmi.c
391
ret = i2c_add_adapter(&smbus_cmi->adapter);
drivers/i2c/busses/i2c-scmi.c
408
i2c_del_adapter(&smbus_cmi->adapter);
drivers/i2c/busses/i2c-sh_mobile.c
716
static int sh_mobile_i2c_xfer(struct i2c_adapter *adapter,
drivers/i2c/busses/i2c-sh_mobile.c
720
struct sh_mobile_i2c_data *pd = i2c_get_adapdata(adapter);
drivers/i2c/busses/i2c-sh_mobile.c
726
static int sh_mobile_i2c_xfer_atomic(struct i2c_adapter *adapter,
drivers/i2c/busses/i2c-sh_mobile.c
730
struct sh_mobile_i2c_data *pd = i2c_get_adapdata(adapter);
drivers/i2c/busses/i2c-sh_mobile.c
736
static u32 sh_mobile_i2c_func(struct i2c_adapter *adapter)
drivers/i2c/busses/i2c-sis5595.c
342
static u32 sis5595_func(struct i2c_adapter *adapter)
drivers/i2c/busses/i2c-sis630.c
397
static u32 sis630_func(struct i2c_adapter *adapter)
drivers/i2c/busses/i2c-sis96x.c
217
static u32 sis96x_func(struct i2c_adapter *adapter)
drivers/i2c/busses/i2c-stm32f7.c
1787
static int stm32f7_i2c_smbus_xfer(struct i2c_adapter *adapter, u16 addr,
drivers/i2c/busses/i2c-stm32f7.c
1792
struct stm32f7_i2c_dev *i2c_dev = i2c_get_adapdata(adapter);
drivers/i2c/busses/i2c-stm32f7.c
1896
struct stm32f7_i2c_dev *i2c_dev = i2c_get_adapdata(slave->adapter);
drivers/i2c/busses/i2c-stm32f7.c
1985
struct stm32f7_i2c_dev *i2c_dev = i2c_get_adapdata(slave->adapter);
drivers/i2c/busses/i2c-sun6i-p2wi.c
242
strscpy(p2wi->adapter.name, pdev->name, sizeof(p2wi->adapter.name));
drivers/i2c/busses/i2c-sun6i-p2wi.c
270
p2wi->adapter.dev.parent = dev;
drivers/i2c/busses/i2c-sun6i-p2wi.c
271
p2wi->adapter.algo = &p2wi_algo;
drivers/i2c/busses/i2c-sun6i-p2wi.c
272
p2wi->adapter.owner = THIS_MODULE;
drivers/i2c/busses/i2c-sun6i-p2wi.c
273
p2wi->adapter.dev.of_node = pdev->dev.of_node;
drivers/i2c/busses/i2c-sun6i-p2wi.c
275
i2c_set_adapdata(&p2wi->adapter, p2wi);
drivers/i2c/busses/i2c-sun6i-p2wi.c
302
ret = i2c_add_adapter(&p2wi->adapter);
drivers/i2c/busses/i2c-sun6i-p2wi.c
317
i2c_del_adapter(&p2wi->adapter);
drivers/i2c/busses/i2c-sun6i-p2wi.c
85
struct i2c_adapter adapter;
drivers/i2c/busses/i2c-synquacer.c
146
struct i2c_adapter adapter;
drivers/i2c/busses/i2c-synquacer.c
583
i2c->adapter = synquacer_i2c_ops;
drivers/i2c/busses/i2c-synquacer.c
584
i2c_set_adapdata(&i2c->adapter, i2c);
drivers/i2c/busses/i2c-synquacer.c
585
i2c->adapter.dev.parent = &pdev->dev;
drivers/i2c/busses/i2c-synquacer.c
586
i2c->adapter.dev.of_node = pdev->dev.of_node;
drivers/i2c/busses/i2c-synquacer.c
587
ACPI_COMPANION_SET(&i2c->adapter.dev, ACPI_COMPANION(&pdev->dev));
drivers/i2c/busses/i2c-synquacer.c
588
i2c->adapter.nr = pdev->id;
drivers/i2c/busses/i2c-synquacer.c
598
ret = i2c_add_numbered_adapter(&i2c->adapter);
drivers/i2c/busses/i2c-synquacer.c
605
dev_name(&i2c->adapter.dev));
drivers/i2c/busses/i2c-synquacer.c
614
i2c_del_adapter(&i2c->adapter);
drivers/i2c/busses/i2c-taos-evm.c
108
dev_err(&adapter->dev, "Transaction timeout (pos=%d)\n",
drivers/i2c/busses/i2c-taos-evm.c
112
dev_dbg(&adapter->dev, "Answer buffer: %s\n", taos->buffer);
drivers/i2c/busses/i2c-taos-evm.c
139
static u32 taos_smbus_func(struct i2c_adapter *adapter)
drivers/i2c/busses/i2c-taos-evm.c
202
struct i2c_adapter *adapter;
drivers/i2c/busses/i2c-taos-evm.c
218
adapter = &taos->adapter;
drivers/i2c/busses/i2c-taos-evm.c
219
adapter->owner = THIS_MODULE;
drivers/i2c/busses/i2c-taos-evm.c
220
adapter->algo = &taos_algorithm;
drivers/i2c/busses/i2c-taos-evm.c
221
adapter->algo_data = serio;
drivers/i2c/busses/i2c-taos-evm.c
222
adapter->dev.parent = &serio->dev;
drivers/i2c/busses/i2c-taos-evm.c
242
strscpy(adapter->name, name, sizeof(adapter->name));
drivers/i2c/busses/i2c-taos-evm.c
257
err = i2c_add_adapter(adapter);
drivers/i2c/busses/i2c-taos-evm.c
262
taos->client = taos_instantiate_device(adapter);
drivers/i2c/busses/i2c-taos-evm.c
278
i2c_del_adapter(&taos->adapter);
drivers/i2c/busses/i2c-taos-evm.c
33
struct i2c_adapter adapter;
drivers/i2c/busses/i2c-taos-evm.c
47
static struct i2c_client *taos_instantiate_device(struct i2c_adapter *adapter)
drivers/i2c/busses/i2c-taos-evm.c
49
if (!strncmp(adapter->name, "TAOS TSL2550 EVM", 16)) {
drivers/i2c/busses/i2c-taos-evm.c
50
dev_info(&adapter->dev, "Instantiating device %s at 0x%02x\n",
drivers/i2c/busses/i2c-taos-evm.c
52
return i2c_new_client_device(adapter, &tsl2550_info);
drivers/i2c/busses/i2c-taos-evm.c
58
static int taos_smbus_xfer(struct i2c_adapter *adapter, u16 addr,
drivers/i2c/busses/i2c-taos-evm.c
62
struct serio *serio = adapter->algo_data;
drivers/i2c/busses/i2c-taos-evm.c
89
dev_warn(&adapter->dev, "Unsupported transaction %d\n", size);
drivers/i2c/busses/i2c-taos-evm.c
94
dev_dbg(&adapter->dev, "Command buffer: %s\n", taos->buffer);
drivers/i2c/busses/i2c-tegra-bpmp.c
225
static int tegra_bpmp_i2c_xfer_common(struct i2c_adapter *adapter,
drivers/i2c/busses/i2c-tegra-bpmp.c
229
struct tegra_bpmp_i2c *i2c = i2c_get_adapdata(adapter);
drivers/i2c/busses/i2c-tegra-bpmp.c
259
static int tegra_bpmp_i2c_xfer(struct i2c_adapter *adapter,
drivers/i2c/busses/i2c-tegra-bpmp.c
262
return tegra_bpmp_i2c_xfer_common(adapter, msgs, num, false);
drivers/i2c/busses/i2c-tegra-bpmp.c
265
static int tegra_bpmp_i2c_xfer_atomic(struct i2c_adapter *adapter,
drivers/i2c/busses/i2c-tegra-bpmp.c
268
return tegra_bpmp_i2c_xfer_common(adapter, msgs, num, true);
drivers/i2c/busses/i2c-tegra-bpmp.c
271
static u32 tegra_bpmp_i2c_func(struct i2c_adapter *adapter)
drivers/i2c/busses/i2c-tegra-bpmp.c
29
struct i2c_adapter adapter;
drivers/i2c/busses/i2c-tegra-bpmp.c
306
i2c_set_adapdata(&i2c->adapter, i2c);
drivers/i2c/busses/i2c-tegra-bpmp.c
307
i2c->adapter.owner = THIS_MODULE;
drivers/i2c/busses/i2c-tegra-bpmp.c
308
strscpy(i2c->adapter.name, "Tegra BPMP I2C adapter",
drivers/i2c/busses/i2c-tegra-bpmp.c
309
sizeof(i2c->adapter.name));
drivers/i2c/busses/i2c-tegra-bpmp.c
310
i2c->adapter.algo = &tegra_bpmp_i2c_algo;
drivers/i2c/busses/i2c-tegra-bpmp.c
311
i2c->adapter.dev.parent = &pdev->dev;
drivers/i2c/busses/i2c-tegra-bpmp.c
312
i2c->adapter.dev.of_node = pdev->dev.of_node;
drivers/i2c/busses/i2c-tegra-bpmp.c
316
return i2c_add_adapter(&i2c->adapter);
drivers/i2c/busses/i2c-tegra-bpmp.c
323
i2c_del_adapter(&i2c->adapter);
drivers/i2c/busses/i2c-tegra.c
1357
return i2c_recover_bus(&i2c_dev->adapter);
drivers/i2c/busses/i2c-tegra.c
2063
i2c_set_adapdata(&i2c_dev->adapter, i2c_dev);
drivers/i2c/busses/i2c-tegra.c
2064
i2c_dev->adapter.dev.of_node = i2c_dev->dev->of_node;
drivers/i2c/busses/i2c-tegra.c
2065
i2c_dev->adapter.dev.parent = i2c_dev->dev;
drivers/i2c/busses/i2c-tegra.c
2066
i2c_dev->adapter.retries = 1;
drivers/i2c/busses/i2c-tegra.c
2067
i2c_dev->adapter.timeout = 6 * HZ;
drivers/i2c/busses/i2c-tegra.c
2068
i2c_dev->adapter.quirks = i2c_dev->hw->quirks;
drivers/i2c/busses/i2c-tegra.c
2069
i2c_dev->adapter.owner = THIS_MODULE;
drivers/i2c/busses/i2c-tegra.c
2070
i2c_dev->adapter.class = I2C_CLASS_DEPRECATED;
drivers/i2c/busses/i2c-tegra.c
2071
i2c_dev->adapter.algo = &tegra_i2c_algo;
drivers/i2c/busses/i2c-tegra.c
2072
i2c_dev->adapter.nr = pdev->id;
drivers/i2c/busses/i2c-tegra.c
2073
ACPI_COMPANION_SET(&i2c_dev->adapter.dev, ACPI_COMPANION(&pdev->dev));
drivers/i2c/busses/i2c-tegra.c
2076
i2c_dev->adapter.bus_recovery_info = &tegra_i2c_recovery_info;
drivers/i2c/busses/i2c-tegra.c
2078
strscpy(i2c_dev->adapter.name, dev_name(i2c_dev->dev),
drivers/i2c/busses/i2c-tegra.c
2079
sizeof(i2c_dev->adapter.name));
drivers/i2c/busses/i2c-tegra.c
2081
err = i2c_add_numbered_adapter(&i2c_dev->adapter);
drivers/i2c/busses/i2c-tegra.c
2101
i2c_del_adapter(&i2c_dev->adapter);
drivers/i2c/busses/i2c-tegra.c
2154
i2c_mark_adapter_suspended(&i2c_dev->adapter);
drivers/i2c/busses/i2c-tegra.c
2193
i2c_mark_adapter_resumed(&i2c_dev->adapter);
drivers/i2c/busses/i2c-tegra.c
292
struct i2c_adapter adapter;
drivers/i2c/busses/i2c-tiny-usb.c
102
if (usb_read(adapter, CMD_GET_STATUS, 0, 0, pstatus, 1) != 1) {
drivers/i2c/busses/i2c-tiny-usb.c
103
dev_err(&adapter->dev, "failure reading status\n");
drivers/i2c/busses/i2c-tiny-usb.c
108
dev_dbg(&adapter->dev, " status = %d\n", *pstatus);
drivers/i2c/busses/i2c-tiny-usb.c
121
static u32 usb_func(struct i2c_adapter *adapter)
drivers/i2c/busses/i2c-tiny-usb.c
129
if (!pfunc || usb_read(adapter, CMD_GET_FUNC, 0, 0, pfunc,
drivers/i2c/busses/i2c-tiny-usb.c
131
dev_err(&adapter->dev, "failure reading functionality\n");
drivers/i2c/busses/i2c-tiny-usb.c
174
struct i2c_adapter adapter; /* i2c related things */
drivers/i2c/busses/i2c-tiny-usb.c
177
static int usb_read(struct i2c_adapter *adapter, int cmd,
drivers/i2c/busses/i2c-tiny-usb.c
180
struct i2c_tiny_usb *dev = (struct i2c_tiny_usb *)adapter->algo_data;
drivers/i2c/busses/i2c-tiny-usb.c
197
static int usb_write(struct i2c_adapter *adapter, int cmd,
drivers/i2c/busses/i2c-tiny-usb.c
200
struct i2c_tiny_usb *dev = (struct i2c_tiny_usb *)adapter->algo_data;
drivers/i2c/busses/i2c-tiny-usb.c
253
dev->adapter.owner = THIS_MODULE;
drivers/i2c/busses/i2c-tiny-usb.c
254
dev->adapter.class = I2C_CLASS_HWMON;
drivers/i2c/busses/i2c-tiny-usb.c
255
dev->adapter.quirks = &usb_quirks;
drivers/i2c/busses/i2c-tiny-usb.c
256
dev->adapter.algo = &usb_algorithm;
drivers/i2c/busses/i2c-tiny-usb.c
257
dev->adapter.algo_data = dev;
drivers/i2c/busses/i2c-tiny-usb.c
258
snprintf(dev->adapter.name, sizeof(dev->adapter.name),
drivers/i2c/busses/i2c-tiny-usb.c
262
if (usb_write(&dev->adapter, CMD_SET_DELAY, delay, 0, NULL, 0) != 0) {
drivers/i2c/busses/i2c-tiny-usb.c
263
dev_err(&dev->adapter.dev,
drivers/i2c/busses/i2c-tiny-usb.c
269
dev->adapter.dev.parent = &dev->interface->dev;
drivers/i2c/busses/i2c-tiny-usb.c
272
i2c_add_adapter(&dev->adapter);
drivers/i2c/busses/i2c-tiny-usb.c
275
dev_info(&dev->adapter.dev, "connected i2c-tiny-usb device\n");
drivers/i2c/busses/i2c-tiny-usb.c
290
i2c_del_adapter(&dev->adapter);
drivers/i2c/busses/i2c-tiny-usb.c
40
static int usb_read(struct i2c_adapter *adapter, int cmd,
drivers/i2c/busses/i2c-tiny-usb.c
43
static int usb_write(struct i2c_adapter *adapter, int cmd,
drivers/i2c/busses/i2c-tiny-usb.c
52
static int usb_xfer(struct i2c_adapter *adapter, struct i2c_msg *msgs, int num)
drivers/i2c/busses/i2c-tiny-usb.c
73
dev_dbg(&adapter->dev,
drivers/i2c/busses/i2c-tiny-usb.c
81
if (usb_read(adapter, cmd,
drivers/i2c/busses/i2c-tiny-usb.c
84
dev_err(&adapter->dev,
drivers/i2c/busses/i2c-tiny-usb.c
91
if (usb_write(adapter, cmd,
drivers/i2c/busses/i2c-tiny-usb.c
94
dev_err(&adapter->dev,
drivers/i2c/busses/i2c-viai2c-common.h
64
struct i2c_adapter adapter;
drivers/i2c/busses/i2c-viai2c-wmt.c
129
adap = &i2c->adapter;
drivers/i2c/busses/i2c-viai2c-wmt.c
156
i2c_del_adapter(&i2c->adapter);
drivers/i2c/busses/i2c-viai2c-zhaoxin.c
321
adap = &i2c->adapter;
drivers/i2c/busses/i2c-viapro.c
289
static u32 vt596_func(struct i2c_adapter *adapter)
drivers/i2c/busses/i2c-xgene-slimpro.c
273
dev_err(&ctx->adapter.dev, "Error in mapping dma buffer %p\n",
drivers/i2c/busses/i2c-xgene-slimpro.c
310
dev_err(&ctx->adapter.dev, "Error in mapping dma buffer %p\n",
drivers/i2c/busses/i2c-xgene-slimpro.c
422
static u32 xgene_slimpro_i2c_func(struct i2c_adapter *adapter)
drivers/i2c/busses/i2c-xgene-slimpro.c
439
struct i2c_adapter *adapter;
drivers/i2c/busses/i2c-xgene-slimpro.c
498
adapter = &ctx->adapter;
drivers/i2c/busses/i2c-xgene-slimpro.c
499
snprintf(adapter->name, sizeof(adapter->name), "MAILBOX I2C");
drivers/i2c/busses/i2c-xgene-slimpro.c
500
adapter->algo = &xgene_slimpro_i2c_algorithm;
drivers/i2c/busses/i2c-xgene-slimpro.c
501
adapter->class = I2C_CLASS_HWMON;
drivers/i2c/busses/i2c-xgene-slimpro.c
502
adapter->dev.parent = &pdev->dev;
drivers/i2c/busses/i2c-xgene-slimpro.c
503
adapter->dev.of_node = pdev->dev.of_node;
drivers/i2c/busses/i2c-xgene-slimpro.c
504
ACPI_COMPANION_SET(&adapter->dev, ACPI_COMPANION(&pdev->dev));
drivers/i2c/busses/i2c-xgene-slimpro.c
505
i2c_set_adapdata(adapter, ctx);
drivers/i2c/busses/i2c-xgene-slimpro.c
506
rc = i2c_add_adapter(adapter);
drivers/i2c/busses/i2c-xgene-slimpro.c
526
i2c_del_adapter(&ctx->adapter);
drivers/i2c/busses/i2c-xgene-slimpro.c
95
struct i2c_adapter adapter;
drivers/i2c/busses/i2c-xlp9xx.c
448
static u32 xlp9xx_i2c_functionality(struct i2c_adapter *adapter)
drivers/i2c/busses/i2c-xlp9xx.c
497
ara = i2c_new_smbus_alert_device(&priv->adapter, &priv->alert_data);
drivers/i2c/busses/i2c-xlp9xx.c
536
priv->adapter.dev.parent = &pdev->dev;
drivers/i2c/busses/i2c-xlp9xx.c
537
priv->adapter.algo = &xlp9xx_i2c_algo;
drivers/i2c/busses/i2c-xlp9xx.c
538
priv->adapter.class = I2C_CLASS_HWMON;
drivers/i2c/busses/i2c-xlp9xx.c
539
ACPI_COMPANION_SET(&priv->adapter.dev, ACPI_COMPANION(&pdev->dev));
drivers/i2c/busses/i2c-xlp9xx.c
540
priv->adapter.dev.of_node = pdev->dev.of_node;
drivers/i2c/busses/i2c-xlp9xx.c
543
snprintf(priv->adapter.name, sizeof(priv->adapter.name), "xlp9xx-i2c");
drivers/i2c/busses/i2c-xlp9xx.c
544
i2c_set_adapdata(&priv->adapter, priv);
drivers/i2c/busses/i2c-xlp9xx.c
546
err = i2c_add_adapter(&priv->adapter);
drivers/i2c/busses/i2c-xlp9xx.c
555
dev_dbg(&pdev->dev, "I2C bus:%d added\n", priv->adapter.nr);
drivers/i2c/busses/i2c-xlp9xx.c
567
i2c_del_adapter(&priv->adapter);
drivers/i2c/busses/i2c-xlp9xx.c
84
struct i2c_adapter adapter;
drivers/i2c/busses/scx200_acb.c
105
dev_dbg(&iface->adapter.dev, "state %s, status = 0x%02x\n",
drivers/i2c/busses/scx200_acb.c
117
dev_dbg(&iface->adapter.dev, "negative ack in state %s\n",
drivers/i2c/busses/scx200_acb.c
133
dev_warn(&iface->adapter.dev, "interrupt in idle state\n");
drivers/i2c/busses/scx200_acb.c
207
dev_err(&iface->adapter.dev,
drivers/i2c/busses/scx200_acb.c
239
dev_err(&iface->adapter.dev, "timeout in state %s\n",
drivers/i2c/busses/scx200_acb.c
268
static s32 scx200_acb_smbus_xfer(struct i2c_adapter *adapter,
drivers/i2c/busses/scx200_acb.c
273
struct scx200_acb_iface *iface = i2c_get_adapdata(adapter);
drivers/i2c/busses/scx200_acb.c
312
dev_dbg(&adapter->dev,
drivers/i2c/busses/scx200_acb.c
317
dev_dbg(&adapter->dev, "zero length read\n");
drivers/i2c/busses/scx200_acb.c
351
dev_dbg(&adapter->dev, "transfer done, result: %d", rc);
drivers/i2c/busses/scx200_acb.c
364
static u32 scx200_acb_func(struct i2c_adapter *adapter)
drivers/i2c/busses/scx200_acb.c
419
struct i2c_adapter *adapter;
drivers/i2c/busses/scx200_acb.c
425
adapter = &iface->adapter;
drivers/i2c/busses/scx200_acb.c
426
i2c_set_adapdata(adapter, iface);
drivers/i2c/busses/scx200_acb.c
427
snprintf(adapter->name, sizeof(adapter->name), "%s ACB%d", text, index);
drivers/i2c/busses/scx200_acb.c
428
adapter->owner = THIS_MODULE;
drivers/i2c/busses/scx200_acb.c
429
adapter->algo = &scx200_acb_algorithm;
drivers/i2c/busses/scx200_acb.c
430
adapter->class = I2C_CLASS_HWMON;
drivers/i2c/busses/scx200_acb.c
431
adapter->dev.parent = dev;
drivers/i2c/busses/scx200_acb.c
440
struct i2c_adapter *adapter;
drivers/i2c/busses/scx200_acb.c
443
adapter = &iface->adapter;
drivers/i2c/busses/scx200_acb.c
453
if (i2c_add_adapter(adapter) < 0) {
drivers/i2c/busses/scx200_acb.c
458
if (!adapter->dev.parent) {
drivers/i2c/busses/scx200_acb.c
480
if (!request_region(base, 8, iface->adapter.name)) {
drivers/i2c/busses/scx200_acb.c
511
iface->adapter.name);
drivers/i2c/busses/scx200_acb.c
519
i2c_del_adapter(&iface->adapter);
drivers/i2c/busses/scx200_acb.c
65
struct i2c_adapter adapter;
drivers/i2c/i2c-atr.c
132
struct i2c_adapter *adapter[] __counted_by(max_adapters);
drivers/i2c/i2c-atr.c
514
static void i2c_atr_lock_bus(struct i2c_adapter *adapter, unsigned int flags)
drivers/i2c/i2c-atr.c
516
struct i2c_atr_chan *chan = adapter->algo_data;
drivers/i2c/i2c-atr.c
522
static int i2c_atr_trylock_bus(struct i2c_adapter *adapter, unsigned int flags)
drivers/i2c/i2c-atr.c
524
struct i2c_atr_chan *chan = adapter->algo_data;
drivers/i2c/i2c-atr.c
530
static void i2c_atr_unlock_bus(struct i2c_adapter *adapter, unsigned int flags)
drivers/i2c/i2c-atr.c
532
struct i2c_atr_chan *chan = adapter->algo_data;
drivers/i2c/i2c-atr.c
544
static int i2c_atr_attach_addr(struct i2c_adapter *adapter,
drivers/i2c/i2c-atr.c
547
struct i2c_atr_chan *chan = adapter->algo_data;
drivers/i2c/i2c-atr.c
572
static void i2c_atr_detach_addr(struct i2c_adapter *adapter,
drivers/i2c/i2c-atr.c
575
struct i2c_atr_chan *chan = adapter->algo_data;
drivers/i2c/i2c-atr.c
615
if (client->adapter == atr->adapter[chan_id])
drivers/i2c/i2c-atr.c
624
ret = i2c_atr_attach_addr(client->adapter, client->addr);
drivers/i2c/i2c-atr.c
632
i2c_atr_detach_addr(client->adapter, client->addr);
drivers/i2c/i2c-atr.c
727
atr = kzalloc_flex(*atr, adapter, max_adapters);
drivers/i2c/i2c-atr.c
773
WARN_ON(atr->adapter[i]);
drivers/i2c/i2c-atr.c
798
if (atr->adapter[chan_id]) {
drivers/i2c/i2c-atr.c
863
atr->adapter[chan_id] = &chan->adap;
drivers/i2c/i2c-atr.c
908
adap = atr->adapter[chan_id];
drivers/i2c/i2c-atr.c
927
atr->adapter[chan_id] = NULL;
drivers/i2c/i2c-core-acpi.c
20
struct i2c_adapter *adapter;
drivers/i2c/i2c-core-acpi.c
234
struct i2c_adapter *adapter,
drivers/i2c/i2c-core-acpi.c
251
if (adapter) {
drivers/i2c/i2c-core-acpi.c
253
if (!device_match_acpi_handle(&adapter->dev, lookup.adapter_handle))
drivers/i2c/i2c-core-acpi.c
277
static void i2c_acpi_register_device(struct i2c_adapter *adapter,
drivers/i2c/i2c-core-acpi.c
291
if (IS_ERR(i2c_new_client_device(adapter, info)))
drivers/i2c/i2c-core-acpi.c
298
struct i2c_adapter *adapter = data;
drivers/i2c/i2c-core-acpi.c
302
if (!adev || i2c_acpi_get_info(adev, &info, adapter, NULL))
drivers/i2c/i2c-core-acpi.c
305
i2c_acpi_register_device(adapter, adev, &info);
drivers/i2c/i2c-core-acpi.c
451
struct i2c_adapter *adapter;
drivers/i2c/i2c-core-acpi.c
458
adapter = i2c_verify_adapter(dev);
drivers/i2c/i2c-core-acpi.c
459
if (!adapter)
drivers/i2c/i2c-core-acpi.c
462
return adapter;
drivers/i2c/i2c-core-acpi.c
482
struct i2c_adapter *adapter;
drivers/i2c/i2c-core-acpi.c
490
adapter = i2c_acpi_find_adapter_by_handle(adapter_handle);
drivers/i2c/i2c-core-acpi.c
491
if (!adapter)
drivers/i2c/i2c-core-acpi.c
494
i2c_acpi_register_device(adapter, adev, &info);
drivers/i2c/i2c-core-acpi.c
495
put_device(&adapter->dev);
drivers/i2c/i2c-core-acpi.c
507
adapter = i2c_acpi_find_adapter_by_adev(adev);
drivers/i2c/i2c-core-acpi.c
508
if (adapter) {
drivers/i2c/i2c-core-acpi.c
509
acpi_unbind_one(&adapter->dev);
drivers/i2c/i2c-core-acpi.c
510
put_device(&adapter->dev);
drivers/i2c/i2c-core-acpi.c
546
struct i2c_adapter *adapter;
drivers/i2c/i2c-core-acpi.c
570
adapter = i2c_acpi_find_adapter_by_handle(lookup.adapter_handle);
drivers/i2c/i2c-core-acpi.c
571
if (!adapter)
drivers/i2c/i2c-core-acpi.c
574
return i2c_new_client_device(adapter, info);
drivers/i2c/i2c-core-acpi.c
611
ret = i2c_transfer(client->adapter, msgs, ARRAY_SIZE(msgs));
drivers/i2c/i2c-core-acpi.c
615
dev_dbg(&client->adapter->dev, "i2c read %d bytes from client@%#x starting at reg %#x failed, error: %d\n",
drivers/i2c/i2c-core-acpi.c
618
dev_err(&client->adapter->dev, "i2c read %d bytes from client@%#x starting at reg %#x failed, error: %d\n",
drivers/i2c/i2c-core-acpi.c
652
ret = i2c_transfer(client->adapter, msgs, ARRAY_SIZE(msgs));
drivers/i2c/i2c-core-acpi.c
657
dev_err(&client->adapter->dev, "i2c write failed: %d\n", ret);
drivers/i2c/i2c-core-acpi.c
674
struct i2c_adapter *adapter = data->adapter;
drivers/i2c/i2c-core-acpi.c
697
client->adapter = adapter;
drivers/i2c/i2c-core-acpi.c
767
dev_warn(&adapter->dev, "protocol 0x%02x not supported for client 0x%02x\n",
drivers/i2c/i2c-core-acpi.c
782
int i2c_acpi_install_space_handler(struct i2c_adapter *adapter)
drivers/i2c/i2c-core-acpi.c
788
if (!adapter->dev.parent)
drivers/i2c/i2c-core-acpi.c
791
handle = ACPI_HANDLE(adapter->dev.parent);
drivers/i2c/i2c-core-acpi.c
800
data->adapter = adapter;
drivers/i2c/i2c-core-acpi.c
813
dev_err(&adapter->dev, "Error installing i2c space handler\n");
drivers/i2c/i2c-core-acpi.c
822
void i2c_acpi_remove_space_handler(struct i2c_adapter *adapter)
drivers/i2c/i2c-core-acpi.c
828
if (!adapter->dev.parent)
drivers/i2c/i2c-core-acpi.c
831
handle = ACPI_HANDLE(adapter->dev.parent);
drivers/i2c/i2c-core-base.c
1000
client->dev.parent = &client->adapter->dev;
drivers/i2c/i2c-core-base.c
1144
struct i2c_client *i2c_new_dummy_device(struct i2c_adapter *adapter, u16 address)
drivers/i2c/i2c-core-base.c
1150
return i2c_new_client_device(adapter, &info);
drivers/i2c/i2c-core-base.c
1170
struct i2c_adapter *adapter,
drivers/i2c/i2c-core-base.c
1176
client = i2c_new_dummy_device(adapter, address);
drivers/i2c/i2c-core-base.c
1222
dev_dbg(&client->adapter->dev, "Address for %s : 0x%x\n", name, addr);
drivers/i2c/i2c-core-base.c
1223
return i2c_new_dummy_device(client->adapter, addr);
drivers/i2c/i2c-core-base.c
1237
unsigned int i2c_adapter_depth(struct i2c_adapter *adapter)
drivers/i2c/i2c-core-base.c
1242
for (parent = adapter->dev.parent; parent; parent = parent->parent)
drivers/i2c/i2c-core-base.c
1409
static void i2c_scan_static_board_info(struct i2c_adapter *adapter)
drivers/i2c/i2c-core-base.c
1415
if (devinfo->busnum == adapter->nr &&
drivers/i2c/i2c-core-base.c
1416
IS_ERR(i2c_new_client_device(adapter, &devinfo->board_info)))
drivers/i2c/i2c-core-base.c
1417
dev_err(&adapter->dev,
drivers/i2c/i2c-core-base.c
1653
int i2c_add_adapter(struct i2c_adapter *adapter)
drivers/i2c/i2c-core-base.c
1655
struct device *dev = &adapter->dev;
drivers/i2c/i2c-core-base.c
1660
adapter->nr = id;
drivers/i2c/i2c-core-base.c
1661
return __i2c_add_numbered_adapter(adapter);
drivers/i2c/i2c-core-base.c
1665
id = idr_alloc(&i2c_adapter_idr, adapter,
drivers/i2c/i2c-core-base.c
1671
adapter->nr = id;
drivers/i2c/i2c-core-base.c
1673
return i2c_register_adapter(adapter);
drivers/i2c/i2c-core-base.c
1710
struct i2c_adapter *adapter)
drivers/i2c/i2c-core-base.c
1717
if (client->adapter == adapter) {
drivers/i2c/i2c-core-base.c
1718
dev_dbg(&adapter->dev, "Removing %s at 0x%x\n",
drivers/i2c/i2c-core-base.c
1827
static void devm_i2c_del_adapter(void *adapter)
drivers/i2c/i2c-core-base.c
1829
i2c_del_adapter(adapter);
drivers/i2c/i2c-core-base.c
1841
int devm_i2c_add_adapter(struct device *dev, struct i2c_adapter *adapter)
drivers/i2c/i2c-core-base.c
1845
ret = i2c_add_adapter(adapter);
drivers/i2c/i2c-core-base.c
1849
return devm_add_action_or_reset(dev, devm_i2c_del_adapter, adapter);
drivers/i2c/i2c-core-base.c
1875
struct i2c_adapter *adapter;
drivers/i2c/i2c-core-base.c
1886
adapter = i2c_verify_adapter(dev);
drivers/i2c/i2c-core-base.c
1887
if (!adapter)
drivers/i2c/i2c-core-base.c
1890
return adapter;
drivers/i2c/i2c-core-base.c
1907
struct i2c_adapter *adapter;
drivers/i2c/i2c-core-base.c
1909
adapter = i2c_find_adapter_by_fwnode(fwnode);
drivers/i2c/i2c-core-base.c
1910
if (!adapter)
drivers/i2c/i2c-core-base.c
1913
if (!try_module_get(adapter->owner)) {
drivers/i2c/i2c-core-base.c
1914
put_device(&adapter->dev);
drivers/i2c/i2c-core-base.c
1915
adapter = NULL;
drivers/i2c/i2c-core-base.c
1918
return adapter;
drivers/i2c/i2c-core-base.c
2345
ret = i2c_transfer(client->adapter, &msg, 1);
drivers/i2c/i2c-core-base.c
2365
struct i2c_adapter *adap = client->adapter;
drivers/i2c/i2c-core-base.c
2450
struct i2c_adapter *adapter = temp_client->adapter;
drivers/i2c/i2c-core-base.c
2457
dev_warn(&adapter->dev, "Invalid probe address 0x%02x\n",
drivers/i2c/i2c-core-base.c
2463
if (i2c_check_addr_busy(adapter, addr))
drivers/i2c/i2c-core-base.c
2467
if (!i2c_default_probe(adapter, addr))
drivers/i2c/i2c-core-base.c
2482
dev_err(&adapter->dev,
drivers/i2c/i2c-core-base.c
2489
if (adapter->class & I2C_CLASS_DEPRECATED)
drivers/i2c/i2c-core-base.c
2490
dev_warn(&adapter->dev,
drivers/i2c/i2c-core-base.c
2496
dev_dbg(&adapter->dev, "Creating %s at 0x%02x\n",
drivers/i2c/i2c-core-base.c
2498
client = i2c_new_client_device(adapter, &info);
drivers/i2c/i2c-core-base.c
2502
dev_err(&adapter->dev, "Failed creating %s at 0x%02x\n",
drivers/i2c/i2c-core-base.c
2508
static int i2c_detect(struct i2c_adapter *adapter, struct i2c_driver *driver)
drivers/i2c/i2c-core-base.c
2519
if (adapter->class == I2C_CLASS_DEPRECATED) {
drivers/i2c/i2c-core-base.c
2520
dev_dbg(&adapter->dev,
drivers/i2c/i2c-core-base.c
2528
if (!(adapter->class & driver->class))
drivers/i2c/i2c-core-base.c
2536
temp_client->adapter = adapter;
drivers/i2c/i2c-core-base.c
2539
dev_dbg(&adapter->dev,
drivers/i2c/i2c-core-base.c
2541
i2c_adapter_id(adapter), address_list[i]);
drivers/i2c/i2c-core-base.c
2604
struct i2c_adapter *adapter;
drivers/i2c/i2c-core-base.c
2607
adapter = idr_find(&i2c_adapter_idr, nr);
drivers/i2c/i2c-core-base.c
2608
if (!adapter)
drivers/i2c/i2c-core-base.c
2611
if (try_module_get(adapter->owner))
drivers/i2c/i2c-core-base.c
2612
get_device(&adapter->dev);
drivers/i2c/i2c-core-base.c
2614
adapter = NULL;
drivers/i2c/i2c-core-base.c
2618
return adapter;
drivers/i2c/i2c-core-base.c
477
struct i2c_adapter *adap = client->adapter;
drivers/i2c/i2c-core-base.c
510
pm_runtime_get_sync(&client->adapter->dev);
drivers/i2c/i2c-core-base.c
589
client->adapter->debugfs);
drivers/i2c/i2c-core-base.c
617
pm_runtime_put_sync(&client->adapter->dev);
drivers/i2c/i2c-core-base.c
643
pm_runtime_put(&client->adapter->dev);
drivers/i2c/i2c-core-base.c
66
static int i2c_detect(struct i2c_adapter *adapter, struct i2c_driver *driver);
drivers/i2c/i2c-core-base.c
797
static int i2c_check_mux_parents(struct i2c_adapter *adapter, int addr)
drivers/i2c/i2c-core-base.c
799
struct i2c_adapter *parent = i2c_parent_is_i2c_adapter(adapter);
drivers/i2c/i2c-core-base.c
802
result = device_for_each_child(&adapter->dev, &addr,
drivers/i2c/i2c-core-base.c
825
static int i2c_check_addr_busy(struct i2c_adapter *adapter, int addr)
drivers/i2c/i2c-core-base.c
827
struct i2c_adapter *parent = i2c_parent_is_i2c_adapter(adapter);
drivers/i2c/i2c-core-base.c
834
result = device_for_each_child(&adapter->dev, &addr,
drivers/i2c/i2c-core-base.c
846
static void i2c_adapter_lock_bus(struct i2c_adapter *adapter,
drivers/i2c/i2c-core-base.c
849
rt_mutex_lock_nested(&adapter->bus_lock, i2c_adapter_depth(adapter));
drivers/i2c/i2c-core-base.c
858
static int i2c_adapter_trylock_bus(struct i2c_adapter *adapter,
drivers/i2c/i2c-core-base.c
861
return rt_mutex_trylock(&adapter->bus_lock);
drivers/i2c/i2c-core-base.c
870
static void i2c_adapter_unlock_bus(struct i2c_adapter *adapter,
drivers/i2c/i2c-core-base.c
873
rt_mutex_unlock(&adapter->bus_lock);
drivers/i2c/i2c-core-base.c
971
client->adapter = adap;
drivers/i2c/i2c-core-slave.c
41
if (!client->adapter->algo->reg_slave) {
drivers/i2c/i2c-core-slave.c
48
i2c_lock_bus(client->adapter, I2C_LOCK_ROOT_ADAPTER);
drivers/i2c/i2c-core-slave.c
49
ret = client->adapter->algo->reg_slave(client);
drivers/i2c/i2c-core-slave.c
50
i2c_unlock_bus(client->adapter, I2C_LOCK_ROOT_ADAPTER);
drivers/i2c/i2c-core-slave.c
68
if (!client->adapter->algo->unreg_slave) {
drivers/i2c/i2c-core-slave.c
73
i2c_lock_bus(client->adapter, I2C_LOCK_ROOT_ADAPTER);
drivers/i2c/i2c-core-slave.c
74
ret = client->adapter->algo->unreg_slave(client);
drivers/i2c/i2c-core-slave.c
75
i2c_unlock_bus(client->adapter, I2C_LOCK_ROOT_ADAPTER);
drivers/i2c/i2c-core-smbus.c
108
status = i2c_smbus_xfer(client->adapter, client->addr, client->flags,
drivers/i2c/i2c-core-smbus.c
125
return i2c_smbus_xfer(client->adapter, client->addr, client->flags,
drivers/i2c/i2c-core-smbus.c
143
status = i2c_smbus_xfer(client->adapter, client->addr, client->flags,
drivers/i2c/i2c-core-smbus.c
164
return i2c_smbus_xfer(client->adapter, client->addr, client->flags,
drivers/i2c/i2c-core-smbus.c
183
status = i2c_smbus_xfer(client->adapter, client->addr, client->flags,
drivers/i2c/i2c-core-smbus.c
204
return i2c_smbus_xfer(client->adapter, client->addr, client->flags,
drivers/i2c/i2c-core-smbus.c
231
status = i2c_smbus_xfer(client->adapter, client->addr, client->flags,
drivers/i2c/i2c-core-smbus.c
261
return i2c_smbus_xfer(client->adapter, client->addr, client->flags,
drivers/i2c/i2c-core-smbus.c
277
status = i2c_smbus_xfer(client->adapter, client->addr, client->flags,
drivers/i2c/i2c-core-smbus.c
297
return i2c_smbus_xfer(client->adapter, client->addr, client->flags,
drivers/i2c/i2c-core-smbus.c
323
static s32 i2c_smbus_xfer_emulated(struct i2c_adapter *adapter, u16 addr,
drivers/i2c/i2c-core-smbus.c
405
dev_err(&adapter->dev,
drivers/i2c/i2c-core-smbus.c
419
dev_err(&adapter->dev,
drivers/i2c/i2c-core-smbus.c
436
dev_err(&adapter->dev, "Invalid block %s size %d\n",
drivers/i2c/i2c-core-smbus.c
453
dev_err(&adapter->dev, "Unsupported transaction %d\n", size);
drivers/i2c/i2c-core-smbus.c
470
status = __i2c_transfer(adapter, msg, nmsgs);
drivers/i2c/i2c-core-smbus.c
504
dev_err(&adapter->dev,
drivers/i2c/i2c-core-smbus.c
536
s32 i2c_smbus_xfer(struct i2c_adapter *adapter, u16 addr,
drivers/i2c/i2c-core-smbus.c
542
res = __i2c_lock_bus_helper(adapter);
drivers/i2c/i2c-core-smbus.c
546
res = __i2c_smbus_xfer(adapter, addr, flags, read_write,
drivers/i2c/i2c-core-smbus.c
548
i2c_unlock_bus(adapter, I2C_LOCK_SEGMENT);
drivers/i2c/i2c-core-smbus.c
554
s32 __i2c_smbus_xfer(struct i2c_adapter *adapter, u16 addr,
drivers/i2c/i2c-core-smbus.c
565
res = __i2c_check_suspended(adapter);
drivers/i2c/i2c-core-smbus.c
572
trace_smbus_write(adapter, addr, flags, read_write,
drivers/i2c/i2c-core-smbus.c
574
trace_smbus_read(adapter, addr, flags, read_write,
drivers/i2c/i2c-core-smbus.c
579
xfer_func = adapter->algo->smbus_xfer;
drivers/i2c/i2c-core-smbus.c
581
if (adapter->algo->smbus_xfer_atomic)
drivers/i2c/i2c-core-smbus.c
582
xfer_func = adapter->algo->smbus_xfer_atomic;
drivers/i2c/i2c-core-smbus.c
583
else if (adapter->algo->master_xfer_atomic)
drivers/i2c/i2c-core-smbus.c
590
for (res = 0, try = 0; try <= adapter->retries; try++) {
drivers/i2c/i2c-core-smbus.c
591
res = xfer_func(adapter, addr, flags, read_write,
drivers/i2c/i2c-core-smbus.c
596
orig_jiffies + adapter->timeout))
drivers/i2c/i2c-core-smbus.c
600
if (res != -EOPNOTSUPP || !adapter->algo->master_xfer)
drivers/i2c/i2c-core-smbus.c
608
res = i2c_smbus_xfer_emulated(adapter, addr, flags, read_write,
drivers/i2c/i2c-core-smbus.c
613
trace_smbus_reply(adapter, addr, flags, read_write,
drivers/i2c/i2c-core-smbus.c
615
trace_smbus_result(adapter, addr, flags, read_write,
drivers/i2c/i2c-core-smbus.c
650
if (i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_READ_I2C_BLOCK))
drivers/i2c/i2c-core-smbus.c
653
if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_READ_BYTE_DATA))
drivers/i2c/i2c-core-smbus.c
656
if (i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_READ_WORD_DATA)) {
drivers/i2c/i2c-core-smbus.c
694
struct i2c_client *i2c_new_smbus_alert_device(struct i2c_adapter *adapter,
drivers/i2c/i2c-core-smbus.c
702
return i2c_new_client_device(adapter, &ara_board_info);
drivers/i2c/i2c-core-smbus.c
707
int i2c_setup_smbus_alert(struct i2c_adapter *adapter)
drivers/i2c/i2c-core-smbus.c
709
struct device *parent = adapter->dev.parent;
drivers/i2c/i2c-core-smbus.c
725
return PTR_ERR_OR_ZERO(i2c_new_smbus_alert_device(adapter, NULL));
drivers/i2c/i2c-core.h
78
int i2c_acpi_install_space_handler(struct i2c_adapter *adapter);
drivers/i2c/i2c-core.h
79
void i2c_acpi_remove_space_handler(struct i2c_adapter *adapter);
drivers/i2c/i2c-core.h
81
static inline int i2c_acpi_install_space_handler(struct i2c_adapter *adapter) { return 0; }
drivers/i2c/i2c-core.h
82
static inline void i2c_acpi_remove_space_handler(struct i2c_adapter *adapter) { }
drivers/i2c/i2c-dev.c
143
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C))
drivers/i2c/i2c-dev.c
171
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C))
drivers/i2c/i2c-dev.c
199
static int i2cdev_check_mux_parents(struct i2c_adapter *adapter, int addr)
drivers/i2c/i2c-dev.c
201
struct i2c_adapter *parent = i2c_parent_is_i2c_adapter(adapter);
drivers/i2c/i2c-dev.c
204
result = device_for_each_child(&adapter->dev, &addr, i2cdev_check);
drivers/i2c/i2c-dev.c
228
static int i2cdev_check_addr(struct i2c_adapter *adapter, unsigned int addr)
drivers/i2c/i2c-dev.c
230
struct i2c_adapter *parent = i2c_parent_is_i2c_adapter(adapter);
drivers/i2c/i2c-dev.c
237
result = device_for_each_child(&adapter->dev, &addr,
drivers/i2c/i2c-dev.c
250
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C))
drivers/i2c/i2c-dev.c
306
res = i2c_transfer(client->adapter, msgs, nmsgs);
drivers/i2c/i2c-dev.c
335
dev_dbg(&client->adapter->dev,
drivers/i2c/i2c-dev.c
344
dev_dbg(&client->adapter->dev,
drivers/i2c/i2c-dev.c
356
return i2c_smbus_xfer(client->adapter, client->addr,
drivers/i2c/i2c-dev.c
361
dev_dbg(&client->adapter->dev,
drivers/i2c/i2c-dev.c
389
res = i2c_smbus_xfer(client->adapter, client->addr, client->flags,
drivers/i2c/i2c-dev.c
405
dev_dbg(&client->adapter->dev, "ioctl, cmd=0x%02x, arg=0x%02lx\n",
drivers/i2c/i2c-dev.c
414
if (cmd == I2C_SLAVE && i2cdev_check_addr(client->adapter, arg))
drivers/i2c/i2c-dev.c
439
funcs = i2c_get_functionality(client->adapter);
drivers/i2c/i2c-dev.c
487
client->adapter->retries = arg;
drivers/i2c/i2c-dev.c
496
client->adapter->timeout = msecs_to_jiffies(arg * 10);
drivers/i2c/i2c-dev.c
536
funcs = i2c_get_functionality(client->adapter);
drivers/i2c/i2c-dev.c
621
client->adapter = adap;
drivers/i2c/i2c-dev.c
631
i2c_put_adapter(client->adapter);
drivers/i2c/i2c-mux.c
130
static void i2c_mux_lock_bus(struct i2c_adapter *adapter, unsigned int flags)
drivers/i2c/i2c-mux.c
132
struct i2c_mux_priv *priv = adapter->algo_data;
drivers/i2c/i2c-mux.c
135
rt_mutex_lock_nested(&parent->mux_lock, i2c_adapter_depth(adapter));
drivers/i2c/i2c-mux.c
141
static int i2c_mux_trylock_bus(struct i2c_adapter *adapter, unsigned int flags)
drivers/i2c/i2c-mux.c
143
struct i2c_mux_priv *priv = adapter->algo_data;
drivers/i2c/i2c-mux.c
156
static void i2c_mux_unlock_bus(struct i2c_adapter *adapter, unsigned int flags)
drivers/i2c/i2c-mux.c
158
struct i2c_mux_priv *priv = adapter->algo_data;
drivers/i2c/i2c-mux.c
166
static void i2c_parent_lock_bus(struct i2c_adapter *adapter,
drivers/i2c/i2c-mux.c
169
struct i2c_mux_priv *priv = adapter->algo_data;
drivers/i2c/i2c-mux.c
172
rt_mutex_lock_nested(&parent->mux_lock, i2c_adapter_depth(adapter));
drivers/i2c/i2c-mux.c
176
static int i2c_parent_trylock_bus(struct i2c_adapter *adapter,
drivers/i2c/i2c-mux.c
179
struct i2c_mux_priv *priv = adapter->algo_data;
drivers/i2c/i2c-mux.c
190
static void i2c_parent_unlock_bus(struct i2c_adapter *adapter,
drivers/i2c/i2c-mux.c
193
struct i2c_mux_priv *priv = adapter->algo_data;
drivers/i2c/i2c-mux.c
235
mux_size = struct_size(muxc, adapter, max_adapters);
drivers/i2c/i2c-mux.c
240
muxc->priv = &muxc->adapter[max_adapters];
drivers/i2c/i2c-mux.c
407
muxc->adapter[muxc->num_adapters++] = &priv->adap;
drivers/i2c/i2c-mux.c
421
struct i2c_adapter *adap = muxc->adapter[--muxc->num_adapters];
drivers/i2c/i2c-mux.c
425
muxc->adapter[muxc->num_adapters] = NULL;
drivers/i2c/i2c-slave-testunit.c
225
ret = i2c_transfer(tu->client->adapter, &msg, 1);
drivers/i2c/i2c-smbus.c
131
status = device_for_each_child(&ara->adapter->dev, &data,
drivers/i2c/i2c-smbus.c
145
device_for_each_child(&ara->adapter->dev, &data,
drivers/i2c/i2c-smbus.c
170
struct i2c_adapter *adapter = ara->adapter;
drivers/i2c/i2c-smbus.c
183
irq = fwnode_irq_get_byname(dev_fwnode(adapter->dev.parent),
drivers/i2c/i2c-smbus.c
186
gpiod = devm_gpiod_get(adapter->dev.parent, "smbalert", GPIOD_IN);
drivers/i2c/i2c-smbus.c
209
dev_info(&adapter->dev, "supports SMBALERT#\n");
drivers/i2c/i2c-smbus.c
284
i2c_handle_smbus_host_notify(client->adapter,
drivers/i2c/i2c-smbus.c
312
struct i2c_client *i2c_new_slave_host_notify_device(struct i2c_adapter *adapter)
drivers/i2c/i2c-smbus.c
328
client = i2c_new_client_device(adapter, &host_notify_board_info);
drivers/i2c/i2c-stub.c
299
static u32 stub_func(struct i2c_adapter *adapter)
drivers/i2c/muxes/i2c-mux-gpio.c
63
struct i2c_adapter *adapter = NULL;
drivers/i2c/muxes/i2c-mux-gpio.c
77
adapter = of_find_i2c_adapter_by_node(adapter_np);
drivers/i2c/muxes/i2c-mux-gpio.c
87
adapter = i2c_acpi_find_adapter_by_handle(dev_handle);
drivers/i2c/muxes/i2c-mux-gpio.c
90
if (!adapter)
drivers/i2c/muxes/i2c-mux-gpio.c
93
mux->data.parent = i2c_adapter_id(adapter);
drivers/i2c/muxes/i2c-mux-gpio.c
94
put_device(&adapter->dev);
drivers/i2c/muxes/i2c-mux-ltc4306.c
209
struct i2c_adapter *adap = client->adapter;
drivers/i2c/muxes/i2c-mux-mlxcpld.c
140
if (!i2c_check_functionality(client->adapter, func))
drivers/i2c/muxes/i2c-mux-mlxcpld.c
143
muxc = i2c_mux_alloc(client->adapter, &pdev->dev, pdata->num_adaps,
drivers/i2c/muxes/i2c-mux-mlxcpld.c
164
pdata->completion_notify(pdata->handle, muxc->parent, muxc->adapter);
drivers/i2c/muxes/i2c-mux-mule.c
60
muxc = i2c_mux_alloc(client->adapter, mux_dev, ndev, sizeof(*priv),
drivers/i2c/muxes/i2c-mux-pca9541.c
111
struct i2c_adapter *adap = client->adapter;
drivers/i2c/muxes/i2c-mux-pca9541.c
253
unsigned long timeout = jiffies + (2 * client->adapter->timeout);
drivers/i2c/muxes/i2c-mux-pca9541.c
256
data->arb_timeout = jiffies + client->adapter->timeout;
drivers/i2c/muxes/i2c-mux-pca9541.c
288
struct i2c_adapter *adap = client->adapter;
drivers/i2c/muxes/i2c-mux-pca9541.c
97
struct i2c_adapter *adap = client->adapter;
drivers/i2c/muxes/i2c-mux-pca954x.c
491
if (i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_WRITE_BYTE_DATA)) {
drivers/i2c/muxes/i2c-mux-pca954x.c
559
struct i2c_adapter *adap = client->adapter;
drivers/i2c/muxes/i2c-mux-reg.c
102
mux->data.parent = i2c_adapter_id(adapter);
drivers/i2c/muxes/i2c-mux-reg.c
103
put_device(&adapter->dev);
drivers/i2c/muxes/i2c-mux-reg.c
84
struct i2c_adapter *adapter;
drivers/i2c/muxes/i2c-mux-reg.c
97
adapter = of_find_i2c_adapter_by_node(adapter_np);
drivers/i2c/muxes/i2c-mux-reg.c
99
if (!adapter)
drivers/i3c/master.c
2553
static u32 i3c_master_i2c_funcs(struct i2c_adapter *adapter)
drivers/i3c/master.c
2645
adap = client->adapter;
drivers/iio/accel/bmc150-accel-i2c.c
181
i2c_check_functionality(client->adapter, I2C_FUNC_I2C) ||
drivers/iio/accel/bmc150-accel-i2c.c
182
i2c_check_functionality(client->adapter,
drivers/iio/accel/dmard06.c
134
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) {
drivers/iio/accel/mma9551_core.c
142
ret = i2c_transfer(client->adapter, &out, 1);
drivers/iio/accel/mma9551_core.c
157
ret = i2c_transfer(client->adapter, &in, 1);
drivers/iio/adc/88pm886-gpadc.c
325
page = devm_i2c_new_dummy_device(dev, client->adapter,
drivers/iio/adc/ltc2471.c
109
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C))
drivers/iio/adc/ltc2485.c
99
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C |
drivers/iio/adc/ltc2497.c
104
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C |
drivers/iio/adc/max1363.c
1586
if (i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) {
drivers/iio/adc/max1363.c
1589
} else if (i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE)
drivers/iio/adc/max9611.c
459
if (!i2c_check_functionality(client->adapter,
drivers/iio/adc/mcp3422.c
341
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C))
drivers/iio/adc/pac1934.c
459
ret = i2c_transfer(client->adapter, msgs, ARRAY_SIZE(msgs));
drivers/iio/adc/rtq6056.c
728
if (!i2c_check_functionality(i2c->adapter, I2C_FUNC_SMBUS_WORD_DATA))
drivers/iio/adc/ti-adc081c.c
158
if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_WORD_DATA))
drivers/iio/adc/ti-ads7138.c
177
ret = i2c_transfer(client->adapter, msgs, ARRAY_SIZE(msgs));
drivers/iio/chemical/ams-iaq-core.c
71
ret = i2c_transfer(client->adapter, &msg, 1);
drivers/iio/chemical/ccs811.c
412
if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_WRITE_BYTE
drivers/iio/chemical/scd30_i2c.c
113
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C))
drivers/iio/chemical/sen0322.c
122
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C))
drivers/iio/chemical/sps30_i2c.c
226
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C))
drivers/iio/chemical/sunrise_co2.c
100
__i2c_smbus_xfer(client->adapter, client->addr,
drivers/iio/chemical/sunrise_co2.c
106
return __i2c_smbus_xfer(client->adapter, client->addr, client->flags,
drivers/iio/chemical/sunrise_co2.c
123
i2c_lock_bus(client->adapter, I2C_LOCK_SEGMENT);
drivers/iio/chemical/sunrise_co2.c
125
i2c_unlock_bus(client->adapter, I2C_LOCK_SEGMENT);
drivers/iio/chemical/sunrise_co2.c
141
i2c_lock_bus(client->adapter, I2C_LOCK_SEGMENT);
drivers/iio/chemical/sunrise_co2.c
143
i2c_unlock_bus(client->adapter, I2C_LOCK_SEGMENT);
drivers/iio/chemical/sunrise_co2.c
160
i2c_lock_bus(client->adapter, I2C_LOCK_SEGMENT);
drivers/iio/chemical/sunrise_co2.c
162
i2c_unlock_bus(client->adapter, I2C_LOCK_SEGMENT);
drivers/iio/chemical/sunrise_co2.c
176
i2c_lock_bus(client->adapter, I2C_LOCK_SEGMENT);
drivers/iio/chemical/sunrise_co2.c
178
i2c_unlock_bus(client->adapter, I2C_LOCK_SEGMENT);
drivers/iio/chemical/sunrise_co2.c
477
if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE_DATA |
drivers/iio/chemical/sunrise_co2.c
506
if (i2c_check_functionality(client->adapter, I2C_FUNC_PROTOCOL_MANGLING))
drivers/iio/chemical/sunrise_co2.c
69
__i2c_smbus_xfer(client->adapter, client->addr,
drivers/iio/chemical/sunrise_co2.c
75
ret = __i2c_smbus_xfer(client->adapter, client->addr, client->flags,
drivers/iio/chemical/vz89x.c
191
ret = i2c_transfer(client->adapter, msg, 2);
drivers/iio/chemical/vz89x.c
362
if (i2c_check_functionality(client->adapter, I2C_FUNC_I2C))
drivers/iio/chemical/vz89x.c
364
else if (i2c_check_functionality(client->adapter,
drivers/iio/common/ms_sensors/ms_sensors_i2c.c
210
ret = i2c_transfer(client->adapter, msg, 2);
drivers/iio/common/ms_sensors/ms_sensors_i2c.c
233
ret = i2c_transfer(client->adapter, msg, 2);
drivers/iio/dac/ad5593r.c
105
if (!i2c_check_functionality(i2c->adapter,
drivers/iio/dac/ad5696-i2c.c
38
ret = i2c_transfer(i2c->adapter, msg, 2);
drivers/iio/gyro/itg3200_buffer.c
41
return i2c_transfer(i2c->adapter, msg, 2);
drivers/iio/gyro/itg3200_core.c
77
ret = i2c_transfer(client->adapter, msg, 2);
drivers/iio/gyro/mpu3050-i2c.c
41
if (!i2c_check_functionality(client->adapter,
drivers/iio/gyro/mpu3050-i2c.c
63
mpu3050->i2cmux = i2c_mux_alloc(client->adapter, &client->dev,
drivers/iio/humidity/ens210.c
204
if (!i2c_check_functionality(client->adapter,
drivers/iio/humidity/hdc100x.c
344
if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_WORD_DATA |
drivers/iio/humidity/hdc2010.c
259
if (!i2c_check_functionality(client->adapter,
drivers/iio/humidity/hdc3020.c
156
ret = i2c_transfer(client->adapter, &msg, 1);
drivers/iio/humidity/hdc3020.c
194
ret = i2c_transfer(client->adapter, msg, 2);
drivers/iio/humidity/hdc3020.c
800
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C))
drivers/iio/humidity/htu21.c
188
if (!i2c_check_functionality(client->adapter,
drivers/iio/humidity/si7005.c
132
if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_WORD_DATA))
drivers/iio/humidity/si7020.c
235
if (!i2c_check_functionality(client->adapter,
drivers/iio/imu/bmi323/bmi323_i2c.c
43
ret = i2c_transfer(priv->i2c->adapter, msgs, ARRAY_SIZE(msgs));
drivers/iio/imu/inv_icm42600/inv_icm42600_i2c.c
58
if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_I2C_BLOCK))
drivers/iio/imu/inv_icm45600/inv_icm45600_i2c.c
23
if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_I2C_BLOCK))
drivers/iio/imu/inv_mpu6050/inv_mpu_acpi.c
168
mux_client = i2c_new_client_device(st->muxc->adapter[0], &info);
drivers/iio/imu/inv_mpu6050/inv_mpu_i2c.c
109
if (!i2c_check_functionality(client->adapter,
drivers/iio/imu/inv_mpu6050/inv_mpu_i2c.c
140
st->muxc = i2c_mux_alloc(client->adapter, &client->dev,
drivers/iio/imu/smi330/smi330_i2c.c
53
ret = i2c_transfer(priv->i2c->adapter, msgs, ARRAY_SIZE(msgs));
drivers/iio/light/as73211.c
292
i2c_lock_bus(data->client->adapter, I2C_LOCK_SEGMENT);
drivers/iio/light/as73211.c
298
ret = __i2c_smbus_xfer(data->client->adapter, data->client->addr,
drivers/iio/light/as73211.c
302
i2c_unlock_bus(data->client->adapter, I2C_LOCK_SEGMENT);
drivers/iio/light/as73211.c
320
i2c_unlock_bus(data->client->adapter, I2C_LOCK_SEGMENT);
drivers/iio/light/as73211.c
328
i2c_unlock_bus(data->client->adapter, I2C_LOCK_SEGMENT);
drivers/iio/light/as73211.c
669
ret = i2c_transfer(data->client->adapter, msgs, ARRAY_SIZE(msgs));
drivers/iio/light/bh1750.c
243
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C |
drivers/iio/light/bh1780.c
147
struct i2c_adapter *adapter = client->adapter;
drivers/iio/light/bh1780.c
150
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE))
drivers/iio/light/cm36651.c
648
cm36651->ps_client = i2c_new_dummy_device(client->adapter,
drivers/iio/light/cm36651.c
656
cm36651->ara_client = i2c_new_dummy_device(client->adapter, CM36651_ARA);
drivers/iio/light/max44009.c
237
ret = i2c_transfer(data->client->adapter,
drivers/iio/light/tsl2583.c
812
if (!i2c_check_functionality(clientp->adapter,
drivers/iio/light/tsl2591.c
1121
if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE_DATA)) {
drivers/iio/light/veml6030.c
1087
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C))
drivers/iio/light/veml6040.c
216
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C))
drivers/iio/light/veml6070.c
284
data->client2 = i2c_new_dummy_device(client->adapter, VEML6070_ADDR_DATA_LSB);
drivers/iio/light/vl6180.c
147
ret = i2c_transfer(client->adapter, msgs, ARRAY_SIZE(msgs));
drivers/iio/light/vl6180.c
189
ret = i2c_transfer(client->adapter, msgs, ARRAY_SIZE(msgs));
drivers/iio/light/vl6180.c
208
ret = i2c_transfer(client->adapter, msgs, ARRAY_SIZE(msgs));
drivers/iio/light/zopt2201.c
492
if (!i2c_check_functionality(client->adapter,
drivers/iio/potentiometer/mcp4018.c
152
if (!i2c_check_functionality(client->adapter,
drivers/iio/potentiometer/mcp4531.c
363
if (!i2c_check_functionality(client->adapter,
drivers/iio/pressure/abp060mg.c
192
if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_QUICK))
drivers/iio/pressure/abp2030pa_i2c.c
59
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C))
drivers/iio/pressure/dlhl60d.c
284
if (!i2c_check_functionality(client->adapter,
drivers/iio/pressure/hp03.c
245
priv->eeprom_client = devm_i2c_new_dummy_device(dev, client->adapter,
drivers/iio/pressure/hp206c.c
362
if (!i2c_check_functionality(client->adapter,
drivers/iio/pressure/hsc030pa_i2c.c
36
ret = i2c_transfer(client->adapter, &msg, 1);
drivers/iio/pressure/hsc030pa_i2c.c
43
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C))
drivers/iio/pressure/icp10100.c
156
ret = icp10100_i2c_xfer(st->client->adapter, msgs,
drivers/iio/pressure/icp10100.c
162
ret = icp10100_i2c_xfer(st->client->adapter, &msgs[0], 1);
drivers/iio/pressure/icp10100.c
169
ret = icp10100_i2c_xfer(st->client->adapter, &msgs[1], 1);
drivers/iio/pressure/icp10100.c
535
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) {
drivers/iio/pressure/mpl115_i2c.c
41
if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_WORD_DATA))
drivers/iio/pressure/mprls0025pa_i2c.c
59
if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_READ_BYTE))
drivers/iio/pressure/ms5611_i2c.c
88
if (!i2c_check_functionality(client->adapter,
drivers/iio/pressure/ms5637.c
152
if (!i2c_check_functionality(client->adapter,
drivers/iio/pressure/t5403.c
218
if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_WORD_DATA |
drivers/iio/proximity/mb1232.c
190
if (!i2c_check_functionality(client->adapter,
drivers/iio/proximity/pulsedlight-lidar-lite-v2.c
264
if (i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) {
drivers/iio/proximity/pulsedlight-lidar-lite-v2.c
267
} else if (i2c_check_functionality(client->adapter,
drivers/iio/proximity/pulsedlight-lidar-lite-v2.c
79
ret = i2c_transfer(client->adapter, msg, 2);
drivers/iio/proximity/srf08.c
449
if (!i2c_check_functionality(client->adapter,
drivers/iio/proximity/vl53l0x-i2c.c
324
if (!i2c_check_functionality(client->adapter,
drivers/iio/temperature/mlx90614.c
122
ret = i2c_smbus_xfer(client->adapter, client->addr,
drivers/iio/temperature/mlx90614.c
132
ret = i2c_smbus_xfer(client->adapter, client->addr,
drivers/iio/temperature/mlx90614.c
480
ret = i2c_smbus_xfer(data->client->adapter, data->client->addr,
drivers/iio/temperature/mlx90614.c
500
i2c_lock_bus(data->client->adapter, I2C_LOCK_ROOT_ADAPTER);
drivers/iio/temperature/mlx90614.c
504
i2c_unlock_bus(data->client->adapter, I2C_LOCK_ROOT_ADAPTER);
drivers/iio/temperature/mlx90614.c
525
if (!i2c_check_functionality(client->adapter,
drivers/iio/temperature/mlx90614.c
587
if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_WORD_DATA))
drivers/iio/temperature/tmp006.c
303
if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_WORD_DATA))
drivers/iio/temperature/tmp007.c
456
if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_WORD_DATA))
drivers/iio/temperature/tmp117.c
155
if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_WORD_DATA))
drivers/iio/temperature/tsys01.c
184
if (!i2c_check_functionality(client->adapter,
drivers/iio/temperature/tsys02d.c
132
if (!i2c_check_functionality(client->adapter,
drivers/infiniband/hw/hfi1/hfi.h
983
struct i2c_adapter adapter; /* bus details */
drivers/infiniband/hw/hfi1/qsfp.c
125
bus->adapter.owner = THIS_MODULE;
drivers/infiniband/hw/hfi1/qsfp.c
126
bus->adapter.algo_data = &bus->algo;
drivers/infiniband/hw/hfi1/qsfp.c
127
bus->adapter.dev.parent = &dd->pcidev->dev;
drivers/infiniband/hw/hfi1/qsfp.c
128
snprintf(bus->adapter.name, sizeof(bus->adapter.name),
drivers/infiniband/hw/hfi1/qsfp.c
131
ret = i2c_bit_add_bus(&bus->adapter);
drivers/infiniband/hw/hfi1/qsfp.c
158
i2c_del_adapter(&bus->adapter);
drivers/infiniband/hw/hfi1/qsfp.c
212
ret = i2c_transfer(&i2c->adapter, msgs, num_msgs);
drivers/infiniband/hw/hfi1/qsfp.c
260
ret = i2c_transfer(&bus->adapter, msgs, num_msgs);
drivers/infiniband/hw/mana/counters.c
113
req.adapter = mdev->adapter_handle;
drivers/infiniband/hw/mana/counters.c
80
req.adapter = mdev->adapter_handle;
drivers/infiniband/hw/mana/main.c
1006
req.adapter = mdev->adapter_handle;
drivers/infiniband/hw/mana/main.c
1032
req.adapter = mdev->adapter_handle;
drivers/infiniband/hw/mana/main.c
1068
req.adapter = mdev->adapter_handle;
drivers/infiniband/hw/mana/main.c
1091
req.adapter = mdev->adapter_handle;
drivers/infiniband/hw/mana/main.c
1126
req.adapter = mdev->adapter_handle;
drivers/infiniband/hw/mana/main.c
854
mdev->adapter_handle = resp.adapter;
drivers/infiniband/hw/mana/main.c
869
req.adapter = mdev->adapter_handle;
drivers/infiniband/hw/mana/main.c
896
req.adapter = mdev->adapter_handle;
drivers/infiniband/hw/mana/main.c
926
req.adapter = mdev->adapter_handle;
drivers/infiniband/hw/mana/main.c
949
req.adapter = mdev->adapter_handle;
drivers/infiniband/hw/mana/main.c
974
req.adapter = mdev->adapter_handle;
drivers/infiniband/hw/mana/mana_ib.h
269
mana_handle_t adapter;
drivers/infiniband/hw/mana/mana_ib.h
274
mana_handle_t adapter;
drivers/infiniband/hw/mana/mana_ib.h
293
mana_handle_t adapter;
drivers/infiniband/hw/mana/mana_ib.h
305
mana_handle_t adapter;
drivers/infiniband/hw/mana/mana_ib.h
317
mana_handle_t adapter;
drivers/infiniband/hw/mana/mana_ib.h
332
mana_handle_t adapter;
drivers/infiniband/hw/mana/mana_ib.h
346
mana_handle_t adapter;
drivers/infiniband/hw/mana/mana_ib.h
370
mana_handle_t adapter;
drivers/infiniband/hw/mana/mana_ib.h
380
mana_handle_t adapter;
drivers/infiniband/hw/mana/mana_ib.h
401
mana_handle_t adapter;
drivers/infiniband/hw/mana/mana_ib.h
425
mana_handle_t adapter;
drivers/infiniband/hw/mana/mana_ib.h
503
mana_handle_t adapter;
drivers/infiniband/hw/mana/mana_ib.h
546
mana_handle_t adapter;
drivers/infiniband/hw/mana/qp.c
740
req.adapter = mdev->adapter_handle;
drivers/infiniband/hw/mthca/mthca_cmd.c
1268
struct mthca_adapter *adapter)
drivers/infiniband/hw/mthca/mthca_cmd.c
1293
MTHCA_GET(adapter->vendor_id, outbox,
drivers/infiniband/hw/mthca/mthca_cmd.c
1295
MTHCA_GET(adapter->device_id, outbox,
drivers/infiniband/hw/mthca/mthca_cmd.c
1297
MTHCA_GET(adapter->revision_id, outbox,
drivers/infiniband/hw/mthca/mthca_cmd.c
1300
MTHCA_GET(adapter->inta_pin, outbox, QUERY_ADAPTER_INTA_PIN_OFFSET);
drivers/infiniband/hw/mthca/mthca_cmd.c
1303
adapter->board_id);
drivers/infiniband/hw/mthca/mthca_cmd.h
267
struct mthca_adapter *adapter);
drivers/infiniband/hw/mthca/mthca_main.c
666
struct mthca_adapter adapter;
drivers/infiniband/hw/mthca/mthca_main.c
676
err = mthca_QUERY_ADAPTER(mdev, &adapter);
drivers/infiniband/hw/mthca/mthca_main.c
682
mdev->eq_table.inta_pin = adapter.inta_pin;
drivers/infiniband/hw/mthca/mthca_main.c
684
mdev->rev_id = adapter.revision_id;
drivers/infiniband/hw/mthca/mthca_main.c
685
memcpy(mdev->board_id, adapter.board_id, sizeof mdev->board_id);
drivers/infiniband/ulp/opa_vnic/opa_vnic_encap.c
133
void opa_vnic_release_mac_tbl(struct opa_vnic_adapter *adapter)
drivers/infiniband/ulp/opa_vnic/opa_vnic_encap.c
137
mutex_lock(&adapter->mactbl_lock);
drivers/infiniband/ulp/opa_vnic/opa_vnic_encap.c
138
mactbl = rcu_access_pointer(adapter->mactbl);
drivers/infiniband/ulp/opa_vnic/opa_vnic_encap.c
139
rcu_assign_pointer(adapter->mactbl, NULL);
drivers/infiniband/ulp/opa_vnic/opa_vnic_encap.c
142
adapter->info.vport.mac_tbl_digest = 0;
drivers/infiniband/ulp/opa_vnic/opa_vnic_encap.c
143
mutex_unlock(&adapter->mactbl_lock);
drivers/infiniband/ulp/opa_vnic/opa_vnic_encap.c
152
void opa_vnic_query_mac_tbl(struct opa_vnic_adapter *adapter,
drivers/infiniband/ulp/opa_vnic/opa_vnic_encap.c
161
mactbl = rcu_dereference(adapter->mactbl);
drivers/infiniband/ulp/opa_vnic/opa_vnic_encap.c
184
tbl->mac_tbl_digest = cpu_to_be32(adapter->info.vport.mac_tbl_digest);
drivers/infiniband/ulp/opa_vnic/opa_vnic_encap.c
204
int opa_vnic_update_mac_tbl(struct opa_vnic_adapter *adapter,
drivers/infiniband/ulp/opa_vnic/opa_vnic_encap.c
213
mutex_lock(&adapter->mactbl_lock);
drivers/infiniband/ulp/opa_vnic/opa_vnic_encap.c
217
mutex_unlock(&adapter->mactbl_lock);
drivers/infiniband/ulp/opa_vnic/opa_vnic_encap.c
259
old_mactbl = rcu_access_pointer(adapter->mactbl);
drivers/infiniband/ulp/opa_vnic/opa_vnic_encap.c
282
rcu_assign_pointer(adapter->mactbl, new_mactbl);
drivers/infiniband/ulp/opa_vnic/opa_vnic_encap.c
285
adapter->info.vport.mac_tbl_digest = be32_to_cpu(tbl->mac_tbl_digest);
drivers/infiniband/ulp/opa_vnic/opa_vnic_encap.c
293
mutex_unlock(&adapter->mactbl_lock);
drivers/infiniband/ulp/opa_vnic/opa_vnic_encap.c
298
static uint32_t opa_vnic_chk_mac_tbl(struct opa_vnic_adapter *adapter,
drivers/infiniband/ulp/opa_vnic/opa_vnic_encap.c
307
mactbl = rcu_dereference(adapter->mactbl);
drivers/infiniband/ulp/opa_vnic/opa_vnic_encap.c
333
static uint32_t opa_vnic_get_dlid(struct opa_vnic_adapter *adapter,
drivers/infiniband/ulp/opa_vnic/opa_vnic_encap.c
336
struct __opa_veswport_info *info = &adapter->info;
drivers/infiniband/ulp/opa_vnic/opa_vnic_encap.c
340
dlid = opa_vnic_chk_mac_tbl(adapter, mac_hdr);
drivers/infiniband/ulp/opa_vnic/opa_vnic_encap.c
387
u8 opa_vnic_get_vl(struct opa_vnic_adapter *adapter, struct sk_buff *skb)
drivers/infiniband/ulp/opa_vnic/opa_vnic_encap.c
390
struct __opa_veswport_info *info = &adapter->info;
drivers/infiniband/ulp/opa_vnic/opa_vnic_encap.c
460
static inline u8 opa_vnic_get_def_port(struct opa_vnic_adapter *adapter,
drivers/infiniband/ulp/opa_vnic/opa_vnic_encap.c
467
return adapter->flow_tbl[flow_id & (OPA_VNIC_FLOW_TBL_SIZE - 1)];
drivers/infiniband/ulp/opa_vnic/opa_vnic_encap.c
483
void opa_vnic_encap_skb(struct opa_vnic_adapter *adapter, struct sk_buff *skb)
drivers/infiniband/ulp/opa_vnic/opa_vnic_encap.c
485
struct __opa_veswport_info *info = &adapter->info;
drivers/infiniband/ulp/opa_vnic/opa_vnic_encap.c
494
def_port = opa_vnic_get_def_port(adapter, entropy);
drivers/infiniband/ulp/opa_vnic/opa_vnic_encap.c
496
dlid = opa_vnic_get_dlid(adapter, skb, def_port);
drivers/infiniband/ulp/opa_vnic/opa_vnic_encap.c
502
mdata->vl = opa_vnic_get_vl(adapter, skb);
drivers/infiniband/ulp/opa_vnic/opa_vnic_ethtool.c
142
struct opa_vnic_adapter *adapter = opa_vnic_priv(netdev);
drivers/infiniband/ulp/opa_vnic/opa_vnic_ethtool.c
147
spin_lock(&adapter->stats_lock);
drivers/infiniband/ulp/opa_vnic/opa_vnic_ethtool.c
148
adapter->rn_ops->ndo_get_stats64(netdev, &vstats.netstats);
drivers/infiniband/ulp/opa_vnic/opa_vnic_ethtool.c
149
spin_unlock(&adapter->stats_lock);
drivers/infiniband/ulp/opa_vnic/opa_vnic_internal.h
246
netdev_dbg(adapter->netdev, format, ## arg)
drivers/infiniband/ulp/opa_vnic/opa_vnic_internal.h
248
netdev_err(adapter->netdev, format, ## arg)
drivers/infiniband/ulp/opa_vnic/opa_vnic_internal.h
250
netdev_info(adapter->netdev, format, ## arg)
drivers/infiniband/ulp/opa_vnic/opa_vnic_internal.h
252
netdev_warn(adapter->netdev, format, ## arg)
drivers/infiniband/ulp/opa_vnic/opa_vnic_internal.h
298
void opa_vnic_rem_netdev(struct opa_vnic_adapter *adapter);
drivers/infiniband/ulp/opa_vnic/opa_vnic_internal.h
299
void opa_vnic_encap_skb(struct opa_vnic_adapter *adapter, struct sk_buff *skb);
drivers/infiniband/ulp/opa_vnic/opa_vnic_internal.h
300
u8 opa_vnic_get_vl(struct opa_vnic_adapter *adapter, struct sk_buff *skb);
drivers/infiniband/ulp/opa_vnic/opa_vnic_internal.h
302
void opa_vnic_process_vema_config(struct opa_vnic_adapter *adapter);
drivers/infiniband/ulp/opa_vnic/opa_vnic_internal.h
303
void opa_vnic_release_mac_tbl(struct opa_vnic_adapter *adapter);
drivers/infiniband/ulp/opa_vnic/opa_vnic_internal.h
304
void opa_vnic_query_mac_tbl(struct opa_vnic_adapter *adapter,
drivers/infiniband/ulp/opa_vnic/opa_vnic_internal.h
306
int opa_vnic_update_mac_tbl(struct opa_vnic_adapter *adapter,
drivers/infiniband/ulp/opa_vnic/opa_vnic_internal.h
308
void opa_vnic_query_ucast_macs(struct opa_vnic_adapter *adapter,
drivers/infiniband/ulp/opa_vnic/opa_vnic_internal.h
310
void opa_vnic_query_mcast_macs(struct opa_vnic_adapter *adapter,
drivers/infiniband/ulp/opa_vnic/opa_vnic_internal.h
312
void opa_vnic_get_summary_counters(struct opa_vnic_adapter *adapter,
drivers/infiniband/ulp/opa_vnic/opa_vnic_internal.h
314
void opa_vnic_get_error_counters(struct opa_vnic_adapter *adapter,
drivers/infiniband/ulp/opa_vnic/opa_vnic_internal.h
316
void opa_vnic_get_vesw_info(struct opa_vnic_adapter *adapter,
drivers/infiniband/ulp/opa_vnic/opa_vnic_internal.h
318
void opa_vnic_set_vesw_info(struct opa_vnic_adapter *adapter,
drivers/infiniband/ulp/opa_vnic/opa_vnic_internal.h
320
void opa_vnic_get_per_veswport_info(struct opa_vnic_adapter *adapter,
drivers/infiniband/ulp/opa_vnic/opa_vnic_internal.h
322
void opa_vnic_set_per_veswport_info(struct opa_vnic_adapter *adapter,
drivers/infiniband/ulp/opa_vnic/opa_vnic_internal.h
324
void opa_vnic_vema_report_event(struct opa_vnic_adapter *adapter, u8 event);
drivers/infiniband/ulp/opa_vnic/opa_vnic_internal.h
326
void opa_vnic_vema_send_trap(struct opa_vnic_adapter *adapter,
drivers/infiniband/ulp/opa_vnic/opa_vnic_netdev.c
106
mdata->vl = opa_vnic_get_vl(adapter, skb);
drivers/infiniband/ulp/opa_vnic/opa_vnic_netdev.c
107
rc = adapter->rn_ops->ndo_select_queue(netdev, skb, sb_dev);
drivers/infiniband/ulp/opa_vnic/opa_vnic_netdev.c
112
static void opa_vnic_update_state(struct opa_vnic_adapter *adapter, bool up)
drivers/infiniband/ulp/opa_vnic/opa_vnic_netdev.c
114
struct __opa_veswport_info *info = &adapter->info;
drivers/infiniband/ulp/opa_vnic/opa_vnic_netdev.c
116
mutex_lock(&adapter->lock);
drivers/infiniband/ulp/opa_vnic/opa_vnic_netdev.c
127
netif_dormant_off(adapter->netdev);
drivers/infiniband/ulp/opa_vnic/opa_vnic_netdev.c
129
netif_dormant_on(adapter->netdev);
drivers/infiniband/ulp/opa_vnic/opa_vnic_netdev.c
130
mutex_unlock(&adapter->lock);
drivers/infiniband/ulp/opa_vnic/opa_vnic_netdev.c
134
void opa_vnic_process_vema_config(struct opa_vnic_adapter *adapter)
drivers/infiniband/ulp/opa_vnic/opa_vnic_netdev.c
136
struct __opa_veswport_info *info = &adapter->info;
drivers/infiniband/ulp/opa_vnic/opa_vnic_netdev.c
137
struct rdma_netdev *rn = netdev_priv(adapter->netdev);
drivers/infiniband/ulp/opa_vnic/opa_vnic_netdev.c
139
struct net_device *netdev = adapter->netdev;
drivers/infiniband/ulp/opa_vnic/opa_vnic_netdev.c
144
if (memcmp(info->vport.base_mac_addr, adapter->vema_mac_addr,
drivers/infiniband/ulp/opa_vnic/opa_vnic_netdev.c
150
mutex_lock(&adapter->lock);
drivers/infiniband/ulp/opa_vnic/opa_vnic_netdev.c
152
memcpy(adapter->vema_mac_addr,
drivers/infiniband/ulp/opa_vnic/opa_vnic_netdev.c
154
mutex_unlock(&adapter->lock);
drivers/infiniband/ulp/opa_vnic/opa_vnic_netdev.c
182
adapter->flow_tbl[i] = port_count ? port_num[i % port_count] :
drivers/infiniband/ulp/opa_vnic/opa_vnic_netdev.c
186
opa_vnic_update_state(adapter, !!(netdev->flags & IFF_UP));
drivers/infiniband/ulp/opa_vnic/opa_vnic_netdev.c
192
static inline void opa_vnic_set_pod_values(struct opa_vnic_adapter *adapter)
drivers/infiniband/ulp/opa_vnic/opa_vnic_netdev.c
194
adapter->info.vport.max_mac_tbl_ent = OPA_VNIC_MAC_TBL_MAX_ENTRIES;
drivers/infiniband/ulp/opa_vnic/opa_vnic_netdev.c
195
adapter->info.vport.max_smac_ent = OPA_VNIC_MAX_SMAC_LIMIT;
drivers/infiniband/ulp/opa_vnic/opa_vnic_netdev.c
196
adapter->info.vport.config_state = OPA_VNIC_STATE_DROP_ALL;
drivers/infiniband/ulp/opa_vnic/opa_vnic_netdev.c
197
adapter->info.vport.eth_link_status = OPA_VNIC_ETH_LINK_DOWN;
drivers/infiniband/ulp/opa_vnic/opa_vnic_netdev.c
198
adapter->info.vesw.eth_mtu = ETH_DATA_LEN;
drivers/infiniband/ulp/opa_vnic/opa_vnic_netdev.c
204
struct opa_vnic_adapter *adapter = opa_vnic_priv(netdev);
drivers/infiniband/ulp/opa_vnic/opa_vnic_netdev.c
211
mutex_lock(&adapter->lock);
drivers/infiniband/ulp/opa_vnic/opa_vnic_netdev.c
213
mutex_unlock(&adapter->lock);
drivers/infiniband/ulp/opa_vnic/opa_vnic_netdev.c
217
adapter->info.vport.uc_macs_gen_count++;
drivers/infiniband/ulp/opa_vnic/opa_vnic_netdev.c
218
opa_vnic_vema_report_event(adapter,
drivers/infiniband/ulp/opa_vnic/opa_vnic_netdev.c
230
struct opa_vnic_adapter *adapter = opa_vnic_priv(netdev);
drivers/infiniband/ulp/opa_vnic/opa_vnic_netdev.c
239
adapter->info.vport.uc_macs_gen_count++;
drivers/infiniband/ulp/opa_vnic/opa_vnic_netdev.c
240
ref_crc = &adapter->umac_hash;
drivers/infiniband/ulp/opa_vnic/opa_vnic_netdev.c
244
adapter->info.vport.mc_macs_gen_count++;
drivers/infiniband/ulp/opa_vnic/opa_vnic_netdev.c
245
ref_crc = &adapter->mmac_hash;
drivers/infiniband/ulp/opa_vnic/opa_vnic_netdev.c
258
opa_vnic_vema_report_event(adapter, event);
drivers/infiniband/ulp/opa_vnic/opa_vnic_netdev.c
275
struct opa_vnic_adapter *adapter = opa_vnic_priv(netdev);
drivers/infiniband/ulp/opa_vnic/opa_vnic_netdev.c
278
rc = adapter->rn_ops->ndo_open(adapter->netdev);
drivers/infiniband/ulp/opa_vnic/opa_vnic_netdev.c
285
opa_vnic_update_state(adapter, true);
drivers/infiniband/ulp/opa_vnic/opa_vnic_netdev.c
286
opa_vnic_vema_report_event(adapter,
drivers/infiniband/ulp/opa_vnic/opa_vnic_netdev.c
294
struct opa_vnic_adapter *adapter = opa_vnic_priv(netdev);
drivers/infiniband/ulp/opa_vnic/opa_vnic_netdev.c
297
rc = adapter->rn_ops->ndo_stop(adapter->netdev);
drivers/infiniband/ulp/opa_vnic/opa_vnic_netdev.c
304
opa_vnic_update_state(adapter, false);
drivers/infiniband/ulp/opa_vnic/opa_vnic_netdev.c
305
opa_vnic_vema_report_event(adapter,
drivers/infiniband/ulp/opa_vnic/opa_vnic_netdev.c
325
struct opa_vnic_adapter *adapter;
drivers/infiniband/ulp/opa_vnic/opa_vnic_netdev.c
340
adapter = kzalloc_obj(*adapter);
drivers/infiniband/ulp/opa_vnic/opa_vnic_netdev.c
341
if (!adapter) {
drivers/infiniband/ulp/opa_vnic/opa_vnic_netdev.c
346
rn->clnt_priv = adapter;
drivers/infiniband/ulp/opa_vnic/opa_vnic_netdev.c
349
adapter->netdev = netdev;
drivers/infiniband/ulp/opa_vnic/opa_vnic_netdev.c
350
adapter->ibdev = ibdev;
drivers/infiniband/ulp/opa_vnic/opa_vnic_netdev.c
351
adapter->port_num = port_num;
drivers/infiniband/ulp/opa_vnic/opa_vnic_netdev.c
352
adapter->vport_num = vport_num;
drivers/infiniband/ulp/opa_vnic/opa_vnic_netdev.c
353
adapter->rn_ops = netdev->netdev_ops;
drivers/infiniband/ulp/opa_vnic/opa_vnic_netdev.c
358
mutex_init(&adapter->lock);
drivers/infiniband/ulp/opa_vnic/opa_vnic_netdev.c
359
mutex_init(&adapter->mactbl_lock);
drivers/infiniband/ulp/opa_vnic/opa_vnic_netdev.c
360
spin_lock_init(&adapter->stats_lock);
drivers/infiniband/ulp/opa_vnic/opa_vnic_netdev.c
366
opa_vnic_set_pod_values(adapter);
drivers/infiniband/ulp/opa_vnic/opa_vnic_netdev.c
376
return adapter;
drivers/infiniband/ulp/opa_vnic/opa_vnic_netdev.c
378
mutex_destroy(&adapter->lock);
drivers/infiniband/ulp/opa_vnic/opa_vnic_netdev.c
379
mutex_destroy(&adapter->mactbl_lock);
drivers/infiniband/ulp/opa_vnic/opa_vnic_netdev.c
380
kfree(adapter);
drivers/infiniband/ulp/opa_vnic/opa_vnic_netdev.c
388
void opa_vnic_rem_netdev(struct opa_vnic_adapter *adapter)
drivers/infiniband/ulp/opa_vnic/opa_vnic_netdev.c
390
struct net_device *netdev = adapter->netdev;
drivers/infiniband/ulp/opa_vnic/opa_vnic_netdev.c
395
opa_vnic_release_mac_tbl(adapter);
drivers/infiniband/ulp/opa_vnic/opa_vnic_netdev.c
396
mutex_destroy(&adapter->lock);
drivers/infiniband/ulp/opa_vnic/opa_vnic_netdev.c
397
mutex_destroy(&adapter->mactbl_lock);
drivers/infiniband/ulp/opa_vnic/opa_vnic_netdev.c
398
kfree(adapter);
drivers/infiniband/ulp/opa_vnic/opa_vnic_netdev.c
67
struct opa_vnic_adapter *adapter = opa_vnic_priv(netdev);
drivers/infiniband/ulp/opa_vnic/opa_vnic_netdev.c
71
spin_lock(&adapter->stats_lock);
drivers/infiniband/ulp/opa_vnic/opa_vnic_netdev.c
72
adapter->rn_ops->ndo_get_stats64(netdev, &vstats.netstats);
drivers/infiniband/ulp/opa_vnic/opa_vnic_netdev.c
73
spin_unlock(&adapter->stats_lock);
drivers/infiniband/ulp/opa_vnic/opa_vnic_netdev.c
81
struct opa_vnic_adapter *adapter = opa_vnic_priv(netdev);
drivers/infiniband/ulp/opa_vnic/opa_vnic_netdev.c
92
opa_vnic_encap_skb(adapter, skb);
drivers/infiniband/ulp/opa_vnic/opa_vnic_netdev.c
93
return adapter->rn_ops->ndo_start_xmit(skb, netdev);
drivers/infiniband/ulp/opa_vnic/opa_vnic_netdev.c
99
struct opa_vnic_adapter *adapter = opa_vnic_priv(netdev);
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c
203
struct opa_vnic_adapter *adapter;
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c
205
adapter = opa_vnic_add_netdev(cport->ibdev, port->port_num, vport_num);
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c
206
if (!IS_ERR(adapter)) {
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c
209
adapter->cport = cport;
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c
210
rc = xa_insert(&port->vports, vport_num, adapter, GFP_KERNEL);
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c
212
opa_vnic_rem_netdev(adapter);
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c
213
adapter = ERR_PTR(rc);
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c
217
return adapter;
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c
286
struct opa_vnic_adapter *adapter;
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c
288
adapter = vema_get_vport_adapter(recvd_mad, port);
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c
289
if (adapter) {
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c
291
opa_vnic_get_vesw_info(adapter, &port_info->vesw);
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c
292
opa_vnic_get_per_veswport_info(adapter,
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c
313
struct opa_vnic_adapter *adapter;
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c
318
adapter = vema_get_vport_adapter(recvd_mad, port);
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c
319
if (!adapter) {
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c
320
adapter = vema_add_vport(port, vport_num);
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c
321
if (IS_ERR(adapter)) {
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c
323
vport_num, PTR_ERR(adapter));
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c
329
opa_vnic_set_vesw_info(adapter, &port_info->vesw);
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c
330
opa_vnic_set_per_veswport_info(adapter, &port_info->vport);
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c
333
opa_vnic_process_vema_config(adapter);
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c
358
struct opa_vnic_adapter *adapter;
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c
360
adapter = vema_get_vport_adapter(recvd_mad, port);
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c
361
if (!adapter) {
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c
372
opa_vnic_query_mac_tbl(adapter, mac_tbl_out);
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c
393
struct opa_vnic_adapter *adapter;
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c
395
adapter = vema_get_vport_adapter(recvd_mad, port);
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c
396
if (!adapter) {
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c
403
if (opa_vnic_update_mac_tbl(adapter, mac_tbl))
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c
427
struct opa_vnic_adapter *adapter;
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c
429
adapter = vema_get_vport_adapter(recvd_mad, port);
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c
430
if (!adapter) {
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c
436
opa_vnic_set_vesw_info(adapter, &port_info->vesw);
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c
437
opa_vnic_set_per_veswport_info(adapter, &port_info->vport);
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c
440
opa_vnic_process_vema_config(adapter);
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c
442
opa_vnic_release_mac_tbl(adapter);
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c
461
struct opa_vnic_adapter *adapter;
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c
463
adapter = vema_get_vport_adapter(recvd_mad, port);
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c
464
if (!adapter) {
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c
479
opa_vnic_query_mcast_macs(adapter, macs_out);
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c
481
opa_vnic_query_ucast_macs(adapter, macs_out);
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c
495
struct opa_vnic_adapter *adapter;
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c
497
adapter = vema_get_vport_adapter(recvd_mad, port);
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c
498
if (adapter) {
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c
500
opa_vnic_get_summary_counters(adapter, cntrs);
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c
517
struct opa_vnic_adapter *adapter;
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c
519
adapter = vema_get_vport_adapter(recvd_mad, port);
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c
520
if (adapter) {
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c
522
opa_vnic_get_error_counters(adapter, cntrs);
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c
725
void opa_vnic_vema_send_trap(struct opa_vnic_adapter *adapter,
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c
728
struct opa_vnic_ctrl_port *cport = adapter->cport;
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c
747
if (time_before(jiffies, adapter->trap_timeout)) {
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c
748
if (adapter->trap_count == OPA_VNIC_TRAP_BURST_LIMIT) {
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c
752
adapter->trap_count++;
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c
755
adapter->trap_count = 0;
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c
841
if (adapter->trap_count)
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c
843
adapter->trap_timeout = jiffies +
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c
860
struct opa_vnic_adapter *adapter;
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c
874
xa_for_each(&port->vports, index, adapter) {
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c
876
netif_carrier_on(adapter->netdev);
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c
878
netif_carrier_off(adapter->netdev);
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c
890
struct opa_vnic_adapter *adapter;
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c
902
xa_for_each(&port->vports, index, adapter)
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c
903
opa_vnic_rem_netdev(adapter);
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema_iface.c
125
void opa_vnic_get_error_counters(struct opa_vnic_adapter *adapter,
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema_iface.c
131
spin_lock(&adapter->stats_lock);
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema_iface.c
132
adapter->rn_ops->ndo_get_stats64(adapter->netdev, &vstats.netstats);
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema_iface.c
133
spin_unlock(&adapter->stats_lock);
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema_iface.c
135
cntrs->vp_instance = cpu_to_be16(adapter->vport_num);
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema_iface.c
136
cntrs->vesw_id = cpu_to_be16(adapter->info.vesw.vesw_id);
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema_iface.c
137
cntrs->veswport_num = cpu_to_be32(adapter->port_num);
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema_iface.c
161
void opa_vnic_get_vesw_info(struct opa_vnic_adapter *adapter,
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema_iface.c
164
struct __opa_vesw_info *src = &adapter->info.vesw;
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema_iface.c
195
void opa_vnic_set_vesw_info(struct opa_vnic_adapter *adapter,
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema_iface.c
198
struct __opa_vesw_info *dst = &adapter->info.vesw;
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema_iface.c
229
void opa_vnic_get_per_veswport_info(struct opa_vnic_adapter *adapter,
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema_iface.c
232
struct __opa_per_veswport_info *src = &adapter->info.vport;
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema_iface.c
276
void opa_vnic_set_per_veswport_info(struct opa_vnic_adapter *adapter,
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema_iface.c
279
struct __opa_per_veswport_info *dst = &adapter->info.vport;
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema_iface.c
314
void opa_vnic_query_mcast_macs(struct opa_vnic_adapter *adapter,
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema_iface.c
322
netdev_for_each_mc_addr(ha, adapter->netdev) {
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema_iface.c
333
macs->tot_macs_in_lst = cpu_to_be16(netdev_mc_count(adapter->netdev));
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema_iface.c
335
macs->gen_count = cpu_to_be16(adapter->info.vport.mc_macs_gen_count);
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema_iface.c
346
void opa_vnic_query_ucast_macs(struct opa_vnic_adapter *adapter,
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema_iface.c
355
for_each_dev_addr(adapter->netdev, ha) {
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema_iface.c
359
if (!memcmp(adapter->info.vport.base_mac_addr, ha->addr,
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema_iface.c
360
ARRAY_SIZE(adapter->info.vport.base_mac_addr))) {
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema_iface.c
374
netdev_for_each_uc_addr(ha, adapter->netdev) {
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema_iface.c
385
tot_macs = netdev_hw_addr_list_count(&adapter->netdev->dev_addrs) +
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema_iface.c
386
netdev_uc_count(adapter->netdev) - em_macs;
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema_iface.c
389
macs->gen_count = cpu_to_be16(adapter->info.vport.uc_macs_gen_count);
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema_iface.c
61
void opa_vnic_vema_report_event(struct opa_vnic_adapter *adapter, u8 event)
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema_iface.c
63
struct __opa_veswport_info *info = &adapter->info;
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema_iface.c
69
trap_data.opaportnum = adapter->port_num;
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema_iface.c
70
trap_data.veswportindex = adapter->vport_num;
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema_iface.c
73
opa_vnic_vema_send_trap(adapter, &trap_data, info->vport.encap_slid);
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema_iface.c
84
void opa_vnic_get_summary_counters(struct opa_vnic_adapter *adapter,
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema_iface.c
92
spin_lock(&adapter->stats_lock);
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema_iface.c
93
adapter->rn_ops->ndo_get_stats64(adapter->netdev, &vstats.netstats);
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema_iface.c
94
spin_unlock(&adapter->stats_lock);
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema_iface.c
96
cntrs->vp_instance = cpu_to_be16(adapter->vport_num);
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema_iface.c
97
cntrs->vesw_id = cpu_to_be16(adapter->info.vesw.vesw_id);
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema_iface.c
98
cntrs->veswport_num = cpu_to_be32(adapter->port_num);
drivers/input/joystick/adafruit-seesaw.c
106
ret = i2c_transfer(client->adapter, message_buf,
drivers/input/joystick/as5011.c
106
error = i2c_transfer(client->adapter, msg_set, 2);
drivers/input/joystick/as5011.c
232
if (!i2c_check_functionality(client->adapter,
drivers/input/joystick/as5011.c
82
error = i2c_transfer(client->adapter, &msg, 1);
drivers/input/keyboard/adp5588-keys.c
731
if (!i2c_check_functionality(client->adapter,
drivers/input/keyboard/pinephone-keyboard.c
146
struct i2c_adapter adapter;
drivers/input/keyboard/pinephone-keyboard.c
377
ppkb->adapter.owner = THIS_MODULE;
drivers/input/keyboard/pinephone-keyboard.c
378
ppkb->adapter.algo = &ppkb_adap_algo;
drivers/input/keyboard/pinephone-keyboard.c
379
ppkb->adapter.algo_data = client;
drivers/input/keyboard/pinephone-keyboard.c
380
ppkb->adapter.dev.parent = dev;
drivers/input/keyboard/pinephone-keyboard.c
381
ppkb->adapter.dev.of_node = i2c_bus;
drivers/input/keyboard/pinephone-keyboard.c
382
strscpy(ppkb->adapter.name, DRV_NAME, sizeof(ppkb->adapter.name));
drivers/input/keyboard/pinephone-keyboard.c
384
error = devm_i2c_add_adapter(dev, &ppkb->adapter);
drivers/input/keyboard/qt1050.c
438
err = i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE);
drivers/input/keyboard/qt1050.c
441
dev_driver_string(&client->adapter->dev));
drivers/input/keyboard/qt1070.c
136
err = i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE);
drivers/input/keyboard/qt1070.c
139
dev_driver_string(&client->adapter->dev));
drivers/input/keyboard/qt2160.c
116
if (i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) {
drivers/input/keyboard/qt2160.c
315
if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE)) {
drivers/input/keyboard/qt2160.c
317
dev_driver_string(&client->adapter->dev));
drivers/input/keyboard/tca8418_keypad.c
272
if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE)) {
drivers/input/keyboard/tca8418_keypad.c
274
dev_driver_string(&client->adapter->dev));
drivers/input/keyboard/tm2-touchkey.c
190
if (!i2c_check_functionality(client->adapter,
drivers/input/misc/adxl34x-i2c.c
82
error = i2c_check_functionality(client->adapter,
drivers/input/misc/adxl34x-i2c.c
90
i2c_check_functionality(client->adapter,
drivers/input/misc/atmel_captouch.c
107
err = i2c_transfer(client->adapter, msg, ARRAY_SIZE(msg));
drivers/input/misc/atmel_captouch.c
172
if (!i2c_check_functionality(client->adapter,
drivers/input/misc/bma150.c
427
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) {
drivers/input/misc/iqs7222.c
1655
ret = i2c_transfer(client->adapter, msg, ARRAY_SIZE(msg));
drivers/input/misc/kxtj9.c
403
if (!i2c_check_functionality(client->adapter,
drivers/input/misc/kxtj9.c
97
return i2c_transfer(tj9->client->adapter, msgs, 2);
drivers/input/misc/mma8450.c
153
struct i2c_adapter *adapter = c->adapter;
drivers/input/misc/mma8450.c
157
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE |
drivers/input/mouse/cyapa.c
111
ret = i2c_transfer(client->adapter, msgs, ARRAY_SIZE(msgs));
drivers/input/mouse/cyapa.c
1256
if (i2c_smbus_xfer(client->adapter, client->addr, 0,
drivers/input/mouse/cyapa.c
1270
sprintf(cyapa->phys, "i2c-%d-%04x/input0", client->adapter->nr,
drivers/input/mouse/cyapa.c
152
if (i2c_check_functionality(client->adapter, I2C_FUNC_I2C))
drivers/input/mouse/cyapa.c
154
if (i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE_DATA |
drivers/input/mouse/elan_i2c_core.c
1193
i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) {
drivers/input/mouse/elan_i2c_core.c
1196
i2c_check_functionality(client->adapter,
drivers/input/mouse/elan_i2c_i2c.c
127
ret = i2c_transfer(client->adapter, &msg, 1);
drivers/input/mouse/elan_i2c_i2c.c
96
ret = i2c_transfer(client->adapter, msgs, ARRAY_SIZE(msgs));
drivers/input/mouse/psmouse-smbus.c
192
struct i2c_adapter *adapter;
drivers/input/mouse/psmouse-smbus.c
195
adapter = i2c_verify_adapter(dev);
drivers/input/mouse/psmouse-smbus.c
196
if (!adapter)
drivers/input/mouse/psmouse-smbus.c
199
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_HOST_NOTIFY))
drivers/input/mouse/psmouse-smbus.c
202
client = i2c_new_scanned_device(adapter, &smbdev->board,
drivers/input/mouse/psmouse-smbus.c
31
static void psmouse_smbus_check_adapter(struct i2c_adapter *adapter)
drivers/input/mouse/psmouse-smbus.c
35
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_HOST_NOTIFY))
drivers/input/mouse/synaptics_i2c.c
500
input->phys = touch->client->adapter->name;
drivers/input/rmi4/rmi_i2c.c
158
retval = i2c_transfer(client->adapter, msgs, ARRAY_SIZE(msgs));
drivers/input/rmi4/rmi_i2c.c
224
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) {
drivers/input/rmi4/rmi_smbus.c
298
if (!i2c_check_functionality(client->adapter,
drivers/input/touchscreen/ad7879-i2c.c
30
if (!i2c_check_functionality(client->adapter,
drivers/input/touchscreen/ar1021_i2c.c
96
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) {
drivers/input/touchscreen/atmel_mxt_ts.c
3248
client->adapter->nr, client->addr);
drivers/input/touchscreen/atmel_mxt_ts.c
450
ret = i2c_transfer(data->client->adapter, &msg, 1);
drivers/input/touchscreen/atmel_mxt_ts.c
473
ret = i2c_transfer(data->client->adapter, &msg, 1);
drivers/input/touchscreen/atmel_mxt_ts.c
696
ret = i2c_transfer(client->adapter, xfer, 2);
drivers/input/touchscreen/bu21013_ts.c
416
if (!i2c_check_functionality(client->adapter,
drivers/input/touchscreen/bu21029_ts.c
342
if (!i2c_check_functionality(client->adapter,
drivers/input/touchscreen/chipone_icn8318.c
73
return i2c_transfer(client->adapter, msg, 2);
drivers/input/touchscreen/chipone_icn8505.c
132
ret = i2c_transfer(client->adapter, &msg, 1);
drivers/input/touchscreen/chipone_icn8505.c
98
ret = i2c_transfer(client->adapter, msg, 2);
drivers/input/touchscreen/cy8ctma140.c
116
ret = i2c_transfer(ts->client->adapter, msg, ARRAY_SIZE(msg));
drivers/input/touchscreen/cy8ctmg110_ts.c
103
ret = i2c_transfer(client->adapter, msg, 2);
drivers/input/touchscreen/cy8ctmg110_ts.c
177
if (!i2c_check_functionality(client->adapter,
drivers/input/touchscreen/cyttsp_i2c.c
47
retval = i2c_transfer(client->adapter, msgs, ARRAY_SIZE(msgs));
drivers/input/touchscreen/cyttsp_i2c.c
73
retval = i2c_transfer(client->adapter, msgs, ARRAY_SIZE(msgs));
drivers/input/touchscreen/cyttsp_i2c.c
90
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) {
drivers/input/touchscreen/edt-ft5x06.c
223
ret = i2c_transfer(i2c->adapter, xfer, 2);
drivers/input/touchscreen/edt-ft5x06.c
280
ret = i2c_transfer(i2c->adapter, &xfer, 1);
drivers/input/touchscreen/elants_i2c.c
1421
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) {
drivers/input/touchscreen/elants_i2c.c
1477
if (i2c_smbus_xfer(client->adapter, client->addr, 0,
drivers/input/touchscreen/elants_i2c.c
264
ret = i2c_transfer(client->adapter, msgs, ARRAY_SIZE(msgs));
drivers/input/touchscreen/goodix.c
1316
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) {
drivers/input/touchscreen/goodix.c
187
ret = i2c_transfer(client->adapter, msgs, 2);
drivers/input/touchscreen/goodix.c
224
ret = i2c_transfer(client->adapter, &msg, 1);
drivers/input/touchscreen/hideep.c
1024
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) {
drivers/input/touchscreen/hideep.c
199
ret = i2c_transfer(ts->client->adapter, &msg, 1);
drivers/input/touchscreen/hideep.c
233
ret = i2c_transfer(ts->client->adapter, msg, ARRAY_SIZE(msg));
drivers/input/touchscreen/himax_hx83112b.c
332
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) {
drivers/input/touchscreen/himax_hx852x.c
104
ret = i2c_transfer(client->adapter, msg, ARRAY_SIZE(msg));
drivers/input/touchscreen/himax_hx852x.c
384
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C |
drivers/input/touchscreen/hynitron-cst816x.c
85
ret = i2c_transfer(priv->client->adapter, xfer, ARRAY_SIZE(xfer));
drivers/input/touchscreen/hynitron_cstxxx.c
138
ret = i2c_transfer(client->adapter, msgs, ARRAY_SIZE(msgs));
drivers/input/touchscreen/ili210x.c
91
ret = i2c_transfer(client->adapter, msg, ARRAY_SIZE(msg));
drivers/input/touchscreen/ilitek_ts_i2c.c
115
error = i2c_transfer(client->adapter, msgs, ARRAY_SIZE(msgs));
drivers/input/touchscreen/ilitek_ts_i2c.c
120
error = i2c_transfer(client->adapter, msgs, 1);
drivers/input/touchscreen/ilitek_ts_i2c.c
128
error = i2c_transfer(client->adapter, msgs + 1, 1);
drivers/input/touchscreen/ilitek_ts_i2c.c
553
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) {
drivers/input/touchscreen/imagis.c
89
ret = i2c_transfer(ts->client->adapter, msg, ARRAY_SIZE(msg));
drivers/input/touchscreen/iqs5xx.c
160
ret = i2c_transfer(client->adapter, msg, ARRAY_SIZE(msg));
drivers/input/touchscreen/iqs5xx.c
273
ret = i2c_transfer(client->adapter, &msg, 1);
drivers/input/touchscreen/iqs5xx.c
299
ret = i2c_transfer(client->adapter, &msg, 1);
drivers/input/touchscreen/iqs5xx.c
378
ret = i2c_transfer(client->adapter, &msg, 1);
drivers/input/touchscreen/iqs5xx.c
417
ret = i2c_transfer(client->adapter, &msg, 1);
drivers/input/touchscreen/iqs7211.c
1318
ret = i2c_transfer(client->adapter, msg, ARRAY_SIZE(msg));
drivers/input/touchscreen/melfas_mip4.c
1043
ret = i2c_transfer(ts->client->adapter, msg, ARRAY_SIZE(msg));
drivers/input/touchscreen/melfas_mip4.c
1430
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) {
drivers/input/touchscreen/melfas_mip4.c
201
res = i2c_transfer(ts->client->adapter, msg, ARRAY_SIZE(msg));
drivers/input/touchscreen/melfas_mip4.c
256
if (i2c_smbus_xfer(ts->client->adapter, ts->client->addr,
drivers/input/touchscreen/melfas_mip4.c
728
ret = i2c_transfer(ts->client->adapter, msg, ARRAY_SIZE(msg));
drivers/input/touchscreen/melfas_mip4.c
809
ret = i2c_transfer(ts->client->adapter, msg, ARRAY_SIZE(msg));
drivers/input/touchscreen/melfas_mip4.c
864
ret = i2c_transfer(ts->client->adapter, msg, ARRAY_SIZE(msg));
drivers/input/touchscreen/mms114.c
113
error = i2c_transfer(client->adapter, xfer, 2);
drivers/input/touchscreen/mms114.c
487
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) {
drivers/input/touchscreen/msg2638.c
125
ret = i2c_transfer(client->adapter, msg, ARRAY_SIZE(msg));
drivers/input/touchscreen/msg2638.c
203
ret = i2c_transfer(client->adapter, msg, ARRAY_SIZE(msg));
drivers/input/touchscreen/msg2638.c
365
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) {
drivers/input/touchscreen/novatek-nvt-ts.c
81
ret = i2c_transfer(client->adapter, msg, ARRAY_SIZE(msg));
drivers/input/touchscreen/raydium_i2c_ts.c
1071
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) {
drivers/input/touchscreen/raydium_i2c_ts.c
1115
if (i2c_smbus_xfer(client->adapter, client->addr, 0,
drivers/input/touchscreen/raydium_i2c_ts.c
160
ret = i2c_transfer(client->adapter, &xfer[xfer_start_idx], xfer_count);
drivers/input/touchscreen/rohm_bu21023.c
1086
if (!client->adapter->algo->master_xfer) {
drivers/input/touchscreen/rohm_bu21023.c
285
struct i2c_adapter *adap = client->adapter;
drivers/input/touchscreen/s6sy761.c
135
ret = i2c_transfer(sdata->client->adapter, msgs, ARRAY_SIZE(msgs));
drivers/input/touchscreen/s6sy761.c
395
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C |
drivers/input/touchscreen/silead.c
653
if (!i2c_check_functionality(client->adapter,
drivers/input/touchscreen/st1232.c
247
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) {
drivers/input/touchscreen/st1232.c
85
ret = i2c_transfer(client->adapter, msg, ARRAY_SIZE(msg));
drivers/input/touchscreen/stmfts.c
164
ret = i2c_transfer(sdata->client->adapter, msgs, ARRAY_SIZE(msgs));
drivers/input/touchscreen/stmfts.c
626
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C |
drivers/input/touchscreen/sx8654.c
316
if (!i2c_check_functionality(client->adapter,
drivers/input/touchscreen/tsc2007_core.c
305
if (!i2c_check_functionality(client->adapter,
drivers/input/touchscreen/wacom_i2c.c
173
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) {
drivers/input/touchscreen/wacom_i2c.c
87
ret = i2c_transfer(client->adapter, msgs, ARRAY_SIZE(msgs));
drivers/input/touchscreen/wdt87xx_i2c.c
1066
client->adapter->nr, client->irq);
drivers/input/touchscreen/wdt87xx_i2c.c
1069
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C))
drivers/input/touchscreen/wdt87xx_i2c.c
1081
client->adapter->nr, client->addr);
drivers/input/touchscreen/wdt87xx_i2c.c
208
ret = i2c_transfer(client->adapter, msgs, ARRAY_SIZE(msgs));
drivers/input/touchscreen/zinitix.c
619
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) {
drivers/leds/flash/leds-max77693.c
849
i2c_adapter_id(i2c->adapter), i2c->addr);
drivers/leds/leds-blinkm.c
551
struct i2c_adapter *adapter = client->adapter;
drivers/leds/leds-blinkm.c
556
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA
drivers/leds/leds-blinkm.c
615
client->adapter->nr,
drivers/leds/leds-blinkm.c
632
client->adapter->nr,
drivers/leds/leds-blinkm.c
649
client->adapter->nr,
drivers/leds/leds-blinkm.c
708
client->adapter->nr,
drivers/leds/leds-is31fl319x.c
494
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C))
drivers/leds/leds-lm3530.c
425
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) {
drivers/leds/leds-lm355x.c
407
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) {
drivers/leds/leds-lm3642.c
299
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) {
drivers/leds/leds-lp3944.c
375
if (!i2c_check_functionality(client->adapter,
drivers/leds/leds-pca9532.c
571
if (!i2c_check_functionality(client->adapter,
drivers/leds/leds-pca955x.c
583
struct i2c_adapter *adapter;
drivers/leds/leds-pca955x.c
597
adapter = client->adapter;
drivers/leds/leds-pca955x.c
616
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/leds/leds-pca963x.c
362
client->adapter->nr, client->addr, reg);
drivers/leds/leds-st1202.c
340
if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/leds/leds-tca6507.c
717
struct i2c_adapter *adapter;
drivers/leds/leds-tca6507.c
723
adapter = client->adapter;
drivers/leds/leds-tca6507.c
725
if (!i2c_check_functionality(adapter, I2C_FUNC_I2C))
drivers/leds/rgb/leds-lp5812.c
127
ret = i2c_transfer(chip->client->adapter, msgs, LP5812_READ_MSG_LENGTH);
drivers/leds/rgb/leds-lp5812.c
90
ret = i2c_transfer(chip->client->adapter, &msg, 1);
drivers/macintosh/therm_windtunnel.c
304
static void do_attach(struct i2c_adapter *adapter)
drivers/macintosh/therm_windtunnel.c
319
if (x.running || strncmp(adapter->name, "uni-n", 5))
drivers/macintosh/therm_windtunnel.c
322
of_node_get(adapter->dev.of_node);
drivers/macintosh/therm_windtunnel.c
323
np = of_find_compatible_node(adapter->dev.of_node, NULL, "MAC,ds1775");
drivers/macintosh/therm_windtunnel.c
328
i2c_new_scanned_device(adapter, &info, scan_ds1775, NULL);
drivers/macintosh/therm_windtunnel.c
331
of_node_get(adapter->dev.of_node);
drivers/macintosh/therm_windtunnel.c
332
np = of_find_compatible_node(adapter->dev.of_node, NULL, "MAC,adm1030");
drivers/macintosh/therm_windtunnel.c
337
i2c_new_scanned_device(adapter, &info, scan_adm1030, NULL);
drivers/macintosh/therm_windtunnel.c
419
struct i2c_adapter *adapter = cl->adapter;
drivers/macintosh/therm_windtunnel.c
422
if( !i2c_check_functionality(adapter, I2C_FUNC_SMBUS_WORD_DATA
drivers/media/cec/i2c/tda9950.c
117
ret = i2c_transfer(client->adapter, msg, 2);
drivers/media/cec/i2c/tda9950.c
391
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) {
drivers/media/cec/i2c/tda9950.c
92
ret = i2c_transfer(client->adapter, &msg, 1);
drivers/media/common/b2c2/flexcop-eeprom.c
11
static int eeprom_write(struct adapter *adapter, u16 addr, u8 *buf, u16 len)
drivers/media/common/b2c2/flexcop-eeprom.c
13
return flex_i2c_write(adapter, 0x20000000, 0x50, addr, buf, len);
drivers/media/common/b2c2/flexcop-eeprom.c
16
static int eeprom_lrc_write(struct adapter *adapter, u32 addr,
drivers/media/common/b2c2/flexcop-eeprom.c
22
if (eeprom_write(adapter, addr, wbuf, len) == len) {
drivers/media/common/b2c2/flexcop-eeprom.c
23
if (eeprom_lrc_read(adapter, addr, len, rbuf, retries) == 1)
drivers/media/common/b2c2/flexcop-eeprom.c
32
static int eeprom_writeKey(struct adapter *adapter, u8 *key, u32 len)
drivers/media/common/b2c2/flexcop-eeprom.c
45
return eeprom_lrc_write(adapter, 0x3e4, 20, wbuf, rbuf, 4);
drivers/media/common/b2c2/flexcop-eeprom.c
48
static int eeprom_readKey(struct adapter *adapter, u8 *key, u32 len)
drivers/media/common/b2c2/flexcop-eeprom.c
55
if (eeprom_lrc_read(adapter, 0x3e4, 20, buf, 4) == 0)
drivers/media/common/b2c2/flexcop-eeprom.c
62
static char eeprom_set_mac_addr(struct adapter *adapter, char type, u8 *mac)
drivers/media/common/b2c2/flexcop-eeprom.c
85
if (eeprom_write(adapter, 0x3f8, tmp, 8) == 8)
drivers/media/common/b2c2/flexcop-i2c.c
207
static u32 flexcop_i2c_func(struct i2c_adapter *adapter)
drivers/media/common/b2c2/flexcop-sram.c
101
static void flex_sram_read(struct adapter *adapter, u32 bank, u32 addr, u8 *buf, u32 len)
drivers/media/common/b2c2/flexcop-sram.c
111
while (((read_reg_dw(adapter, 0x700) & 0x80000000) != 0) && (retries > 0)) {
drivers/media/common/b2c2/flexcop-sram.c
119
write_reg_dw(adapter, 0x700, command);
drivers/media/common/b2c2/flexcop-sram.c
123
while (((read_reg_dw(adapter, 0x700) & 0x80000000) != 0) && (retries > 0)) {
drivers/media/common/b2c2/flexcop-sram.c
131
value = read_reg_dw(adapter, 0x700) >> 0x10;
drivers/media/common/b2c2/flexcop-sram.c
140
static void sram_write_chunk(struct adapter *adapter, u32 addr, u8 *buf, u16 len)
drivers/media/common/b2c2/flexcop-sram.c
146
if (adapter->dw_sram_type == 0x20000) {
drivers/media/common/b2c2/flexcop-sram.c
150
if (adapter->dw_sram_type == 0x00000) {
drivers/media/common/b2c2/flexcop-sram.c
156
flex_sram_write(adapter, bank, addr & 0x7fff, buf, len);
drivers/media/common/b2c2/flexcop-sram.c
159
static void sram_read_chunk(struct adapter *adapter, u32 addr, u8 *buf, u16 len)
drivers/media/common/b2c2/flexcop-sram.c
164
if (adapter->dw_sram_type == 0x20000) {
drivers/media/common/b2c2/flexcop-sram.c
168
if (adapter->dw_sram_type == 0x00000) {
drivers/media/common/b2c2/flexcop-sram.c
174
flex_sram_read(adapter, bank, addr & 0x7fff, buf, len);
drivers/media/common/b2c2/flexcop-sram.c
177
static void sram_read(struct adapter *adapter, u32 addr, u8 *buf, u32 len)
drivers/media/common/b2c2/flexcop-sram.c
189
sram_read_chunk(adapter, addr, buf, length);
drivers/media/common/b2c2/flexcop-sram.c
196
static void sram_write(struct adapter *adapter, u32 addr, u8 *buf, u32 len)
drivers/media/common/b2c2/flexcop-sram.c
209
sram_write_chunk(adapter, addr, buf, length);
drivers/media/common/b2c2/flexcop-sram.c
216
static void sram_set_size(struct adapter *adapter, u32 mask)
drivers/media/common/b2c2/flexcop-sram.c
218
write_reg_dw(adapter, 0x71c,
drivers/media/common/b2c2/flexcop-sram.c
219
(mask | (~0x30000 & read_reg_dw(adapter, 0x71c))));
drivers/media/common/b2c2/flexcop-sram.c
222
static void sram_init(struct adapter *adapter)
drivers/media/common/b2c2/flexcop-sram.c
225
tmp = read_reg_dw(adapter, 0x71c);
drivers/media/common/b2c2/flexcop-sram.c
226
write_reg_dw(adapter, 0x71c, 1);
drivers/media/common/b2c2/flexcop-sram.c
228
if (read_reg_dw(adapter, 0x71c) != 0) {
drivers/media/common/b2c2/flexcop-sram.c
229
write_reg_dw(adapter, 0x71c, tmp);
drivers/media/common/b2c2/flexcop-sram.c
230
adapter->dw_sram_type = tmp & 0x30000;
drivers/media/common/b2c2/flexcop-sram.c
231
ddprintk("%s: dw_sram_type = %x\n", __func__, adapter->dw_sram_type);
drivers/media/common/b2c2/flexcop-sram.c
233
adapter->dw_sram_type = 0x10000;
drivers/media/common/b2c2/flexcop-sram.c
234
ddprintk("%s: dw_sram_type = %x\n", __func__, adapter->dw_sram_type);
drivers/media/common/b2c2/flexcop-sram.c
238
static int sram_test_location(struct adapter *adapter, u32 mask, u32 addr)
drivers/media/common/b2c2/flexcop-sram.c
243
sram_set_size(adapter, mask);
drivers/media/common/b2c2/flexcop-sram.c
244
sram_init(adapter);
drivers/media/common/b2c2/flexcop-sram.c
249
sram_write(adapter, addr, &tmp2, 1);
drivers/media/common/b2c2/flexcop-sram.c
250
sram_write(adapter, addr + 4, &tmp1, 1);
drivers/media/common/b2c2/flexcop-sram.c
255
sram_read(adapter, addr, &tmp2, 1);
drivers/media/common/b2c2/flexcop-sram.c
256
sram_read(adapter, addr, &tmp2, 1);
drivers/media/common/b2c2/flexcop-sram.c
266
sram_write(adapter, addr, &tmp2, 1);
drivers/media/common/b2c2/flexcop-sram.c
267
sram_write(adapter, addr + 4, &tmp1, 1);
drivers/media/common/b2c2/flexcop-sram.c
272
sram_read(adapter, addr, &tmp2, 1);
drivers/media/common/b2c2/flexcop-sram.c
273
sram_read(adapter, addr, &tmp2, 1);
drivers/media/common/b2c2/flexcop-sram.c
282
static u32 sram_length(struct adapter *adapter)
drivers/media/common/b2c2/flexcop-sram.c
284
if (adapter->dw_sram_type == 0x10000)
drivers/media/common/b2c2/flexcop-sram.c
286
if (adapter->dw_sram_type == 0x00000)
drivers/media/common/b2c2/flexcop-sram.c
288
if (adapter->dw_sram_type == 0x20000)
drivers/media/common/b2c2/flexcop-sram.c
313
write_reg_dw(adapter, 0x71c, 1);
drivers/media/common/b2c2/flexcop-sram.c
314
tmp3 = read_reg_dw(adapter, 0x71c);
drivers/media/common/b2c2/flexcop-sram.c
316
write_reg_dw(adapter, 0x71c, tmp2);
drivers/media/common/b2c2/flexcop-sram.c
321
sram_set_size(adapter, 0x10000);
drivers/media/common/b2c2/flexcop-sram.c
322
sram_init(adapter);
drivers/media/common/b2c2/flexcop-sram.c
323
write_reg_dw(adapter, 0x208, tmp);
drivers/media/common/b2c2/flexcop-sram.c
328
if (sram_test_location(adapter, 0x20000, 0x18000) != 0) {
drivers/media/common/b2c2/flexcop-sram.c
329
sram_set_size(adapter, 0x20000);
drivers/media/common/b2c2/flexcop-sram.c
330
sram_init(adapter);
drivers/media/common/b2c2/flexcop-sram.c
331
write_reg_dw(adapter, 0x208, tmp);
drivers/media/common/b2c2/flexcop-sram.c
336
if (sram_test_location(adapter, 0x00000, 0x10000) != 0) {
drivers/media/common/b2c2/flexcop-sram.c
337
sram_set_size(adapter, 0x00000);
drivers/media/common/b2c2/flexcop-sram.c
338
sram_init(adapter);
drivers/media/common/b2c2/flexcop-sram.c
339
write_reg_dw(adapter, 0x208, tmp);
drivers/media/common/b2c2/flexcop-sram.c
344
if (sram_test_location(adapter, 0x10000, 0x00000) != 0) {
drivers/media/common/b2c2/flexcop-sram.c
345
sram_set_size(adapter, 0x10000);
drivers/media/common/b2c2/flexcop-sram.c
346
sram_init(adapter);
drivers/media/common/b2c2/flexcop-sram.c
347
write_reg_dw(adapter, 0x208, tmp);
drivers/media/common/b2c2/flexcop-sram.c
352
sram_set_size(adapter, 0x10000);
drivers/media/common/b2c2/flexcop-sram.c
353
sram_init(adapter);
drivers/media/common/b2c2/flexcop-sram.c
354
write_reg_dw(adapter, 0x208, tmp);
drivers/media/common/b2c2/flexcop-sram.c
359
static void sll_detect_sram_size(struct adapter *adapter)
drivers/media/common/b2c2/flexcop-sram.c
361
sram_detect_for_flex2(adapter);
drivers/media/common/b2c2/flexcop-sram.c
76
static void flexcop_sram_write(struct adapter *adapter, u32 bank, u32 addr, u8 *buf, u32 len)
drivers/media/common/b2c2/flexcop-sram.c
86
while (((read_reg_dw(adapter, 0x700) & 0x80000000) != 0) && (retries > 0)) {
drivers/media/common/b2c2/flexcop-sram.c
94
write_reg_dw(adapter, 0x700, command);
drivers/media/common/saa7146/saa7146_i2c.c
382
static int saa7146_i2c_xfer(struct i2c_adapter* adapter, struct i2c_msg *msg, int num)
drivers/media/common/saa7146/saa7146_i2c.c
384
struct v4l2_device *v4l2_dev = i2c_get_adapdata(adapter);
drivers/media/common/saa7146/saa7146_i2c.c
388
return saa7146_i2c_transfer(dev, msg, num, adapter->retries);
drivers/media/common/saa7146/saa7146_i2c.c
6
static u32 saa7146_i2c_func(struct i2c_adapter *adapter)
drivers/media/common/siano/smsdvb-main.c
1118
rc = dvb_register_adapter(&client->adapter,
drivers/media/common/siano/smsdvb-main.c
1126
dvb_register_media_controller(&client->adapter, coredev->media_dev);
drivers/media/common/siano/smsdvb-main.c
1146
rc = dvb_dmxdev_init(&client->dmxdev, &client->adapter);
drivers/media/common/siano/smsdvb-main.c
1167
rc = dvb_register_frontend(&client->adapter, &client->frontend);
drivers/media/common/siano/smsdvb-main.c
1205
rc = dvb_create_media_graph(&client->adapter, true);
drivers/media/common/siano/smsdvb-main.c
1232
dvb_unregister_adapter(&client->adapter);
drivers/media/common/siano/smsdvb-main.c
663
dvb_unregister_adapter(&client->adapter);
drivers/media/common/siano/smsdvb.h
26
struct dvb_adapter adapter;
drivers/media/common/ttpci-eeprom.c
106
static int ttpci_eeprom_read_encodedMAC(struct i2c_adapter *adapter, u8 * encodedMAC)
drivers/media/common/ttpci-eeprom.c
118
ret = i2c_transfer(adapter, msg, 2);
drivers/media/common/ttpci-eeprom.c
127
int ttpci_eeprom_parse_mac(struct i2c_adapter *adapter, u8 *proposed_mac)
drivers/media/common/ttpci-eeprom.c
133
ret = ttpci_eeprom_read_encodedMAC(adapter, encodedMAC);
drivers/media/common/ttpci-eeprom.h
20
extern int ttpci_eeprom_parse_mac(struct i2c_adapter *adapter, u8 *propsed_mac);
drivers/media/common/videobuf2/videobuf2-dvb.c
102
static int vb2_dvb_register_frontend(struct dvb_adapter *adapter,
drivers/media/common/videobuf2/videobuf2-dvb.c
108
result = dvb_register_frontend(adapter, dvb->frontend);
drivers/media/common/videobuf2/videobuf2-dvb.c
134
result = dvb_dmxdev_init(&dvb->dmxdev, adapter);
drivers/media/common/videobuf2/videobuf2-dvb.c
166
result = dvb_net_init(adapter, &dvb->net, &dvb->demux.dmx);
drivers/media/common/videobuf2/videobuf2-dvb.c
223
res = vb2_dvb_register_frontend(&f->adapter, &fe->dvb);
drivers/media/common/videobuf2/videobuf2-dvb.c
229
res = dvb_create_media_graph(&f->adapter, false);
drivers/media/common/videobuf2/videobuf2-dvb.c
248
dvb_unregister_adapter(&f->adapter);
drivers/media/common/videobuf2/videobuf2-dvb.c
87
result = dvb_register_adapter(&fe->adapter, adapter_name, module,
drivers/media/common/videobuf2/videobuf2-dvb.c
93
fe->adapter.priv = adapter_priv;
drivers/media/common/videobuf2/videobuf2-dvb.c
94
fe->adapter.mfe_shared = mfe_shared;
drivers/media/common/videobuf2/videobuf2-dvb.c
97
fe->adapter.mdev = mdev;
drivers/media/dvb-core/dvb_ca_en50221.c
1167
ca->dvbdev->adapter->num);
drivers/media/dvb-core/dvb_ca_en50221.c
1184
ca->dvbdev->adapter->num);
drivers/media/dvb-core/dvb_ca_en50221.c
1191
ca->dvbdev->adapter->num);
drivers/media/dvb-core/dvb_ca_en50221.c
1200
ca->dvbdev->adapter->num);
drivers/media/dvb-core/dvb_ca_en50221.c
1215
ca->dvbdev->adapter->num);
drivers/media/dvb-core/dvb_ca_en50221.c
1234
ca->dvbdev->adapter->num);
drivers/media/dvb-core/dvb_ca_en50221.c
1244
ca->dvbdev->adapter->num);
drivers/media/dvb-core/dvb_ca_en50221.c
1257
ca->dvbdev->adapter->num);
drivers/media/dvb-core/dvb_ca_en50221.c
1652
ca->dvbdev->adapter->num);
drivers/media/dvb-core/dvb_ca_en50221.c
1931
ca->dvbdev->adapter->num, ca->dvbdev->id);
drivers/media/dvb-core/dvb_ca_en50221.c
537
ca->dvbdev->adapter->num, dvb_str[8], dvb_str[9],
drivers/media/dvb-core/dvb_ca_en50221.c
705
ca->dvbdev->adapter->num, bytes_read,
drivers/media/dvb-core/dvb_ca_en50221.c
713
ca->dvbdev->adapter->num);
drivers/media/dvb-core/dvb_ca_en50221.c
721
ca->dvbdev->adapter->num);
drivers/media/dvb-core/dvb_frontend.c
2768
struct dvb_adapter *adapter = fe->dvb;
drivers/media/dvb-core/dvb_frontend.c
2775
if (adapter->mfe_shared == 2) {
drivers/media/dvb-core/dvb_frontend.c
2776
mutex_lock(&adapter->mfe_lock);
drivers/media/dvb-core/dvb_frontend.c
2778
if (adapter->mfe_dvbdev &&
drivers/media/dvb-core/dvb_frontend.c
2779
!adapter->mfe_dvbdev->writers) {
drivers/media/dvb-core/dvb_frontend.c
2780
mutex_unlock(&adapter->mfe_lock);
drivers/media/dvb-core/dvb_frontend.c
2783
adapter->mfe_dvbdev = dvbdev;
drivers/media/dvb-core/dvb_frontend.c
2785
} else if (adapter->mfe_shared) {
drivers/media/dvb-core/dvb_frontend.c
2786
mutex_lock(&adapter->mfe_lock);
drivers/media/dvb-core/dvb_frontend.c
2788
if (!adapter->mfe_dvbdev)
drivers/media/dvb-core/dvb_frontend.c
2789
adapter->mfe_dvbdev = dvbdev;
drivers/media/dvb-core/dvb_frontend.c
2791
else if (adapter->mfe_dvbdev != dvbdev) {
drivers/media/dvb-core/dvb_frontend.c
2793
*mfedev = adapter->mfe_dvbdev;
drivers/media/dvb-core/dvb_frontend.c
2800
mutex_unlock(&adapter->mfe_lock);
drivers/media/dvb-core/dvb_frontend.c
2809
mutex_lock(&adapter->mfe_lock);
drivers/media/dvb-core/dvb_frontend.c
2810
if (adapter->mfe_dvbdev != dvbdev) {
drivers/media/dvb-core/dvb_frontend.c
2811
mfedev = adapter->mfe_dvbdev;
drivers/media/dvb-core/dvb_frontend.c
2816
mutex_unlock(&adapter->mfe_lock);
drivers/media/dvb-core/dvb_frontend.c
2819
adapter->mfe_dvbdev = dvbdev;
drivers/media/dvb-core/dvb_frontend.c
2874
if (adapter->mfe_shared)
drivers/media/dvb-core/dvb_frontend.c
2875
mutex_unlock(&adapter->mfe_lock);
drivers/media/dvb-core/dvb_frontend.c
2895
if (adapter->mfe_shared)
drivers/media/dvb-core/dvb_frontend.c
2896
mutex_unlock(&adapter->mfe_lock);
drivers/media/dvb-core/dvb_net.c
1366
dvbnet->dvbdev->adapter->num, dvbnet->dvbdev->id, if_num);
drivers/media/dvb-core/dvb_net.c
1370
dvbnet->dvbdev->adapter->num, if_num);
drivers/media/dvb-core/dvb_net.c
1373
eth_hw_addr_set(net, dvbnet->dvbdev->adapter->proposed_mac);
drivers/media/dvb-core/dvb_net.c
1450
if (!try_module_get(dvbdev->adapter->module)) {
drivers/media/dvb-core/dvb_net.c
1457
module_put(dvbdev->adapter->module);
drivers/media/dvb-core/dvb_net.c
1501
module_put(dvbdev->adapter->module);
drivers/media/dvb-core/dvb_net.c
1516
if (!try_module_get(dvbdev->adapter->module)) {
drivers/media/dvb-core/dvb_net.c
1523
module_put(dvbdev->adapter->module);
drivers/media/dvb-core/dvbdev.c
1070
add_uevent_var(env, "DVB_ADAPTER_NUM=%d", dvbdev->adapter->num);
drivers/media/dvb-core/dvbdev.c
1081
dvbdev->adapter->num, dnames[dvbdev->type], dvbdev->id);
drivers/media/dvb-core/dvbdev.c
238
if (dvbdev->adapter->conn) {
drivers/media/dvb-core/dvbdev.c
239
media_device_unregister_entity(dvbdev->adapter->conn);
drivers/media/dvb-core/dvbdev.c
240
kfree(dvbdev->adapter->conn);
drivers/media/dvb-core/dvbdev.c
241
dvbdev->adapter->conn = NULL;
drivers/media/dvb-core/dvbdev.c
242
kfree(dvbdev->adapter->conn_pads);
drivers/media/dvb-core/dvbdev.c
243
dvbdev->adapter->conn_pads = NULL;
drivers/media/dvb-core/dvbdev.c
280
ret = media_device_register_entity(dvbdev->adapter->mdev,
drivers/media/dvb-core/dvbdev.c
375
ret = media_device_register_entity(dvbdev->adapter->mdev,
drivers/media/dvb-core/dvbdev.c
396
if (!dvbdev->adapter->mdev)
drivers/media/dvb-core/dvbdev.c
423
dvbdev->intf_devnode = media_devnode_create(dvbdev->adapter->mdev,
drivers/media/dvb-core/dvbdev.c
519
dvbdev->adapter = adap;
drivers/media/dvb-frontends/af9013.c
1228
return state->muxc->adapter[0];
drivers/media/dvb-frontends/af9013.c
1304
i2c_lock_bus(client->adapter, I2C_LOCK_SEGMENT);
drivers/media/dvb-frontends/af9013.c
1305
ret = __i2c_transfer(client->adapter, msg, 1);
drivers/media/dvb-frontends/af9013.c
1307
i2c_unlock_bus(client->adapter, I2C_LOCK_SEGMENT);
drivers/media/dvb-frontends/af9013.c
1345
i2c_lock_bus(client->adapter, I2C_LOCK_SEGMENT);
drivers/media/dvb-frontends/af9013.c
1346
ret = __i2c_transfer(client->adapter, msg, 2);
drivers/media/dvb-frontends/af9013.c
1348
i2c_unlock_bus(client->adapter, I2C_LOCK_SEGMENT);
drivers/media/dvb-frontends/af9013.c
1476
state->muxc = i2c_mux_alloc(client->adapter, &client->dev, 1, 0, 0,
drivers/media/dvb-frontends/au8522_decoder.c
684
if (!i2c_check_functionality(client->adapter,
drivers/media/dvb-frontends/au8522_decoder.c
690
instance = au8522_get_state(&state, client->adapter, client->addr);
drivers/media/dvb-frontends/au8522_decoder.c
706
state->i2c = client->adapter;
drivers/media/dvb-frontends/cx24123.c
1021
static u32 cx24123_tuner_i2c_func(struct i2c_adapter *adapter)
drivers/media/dvb-frontends/cxd2820r_core.c
515
struct i2c_adapter *adapter,
drivers/media/dvb-frontends/cxd2820r_core.c
533
client = i2c_new_client_device(adapter, &board_info);
drivers/media/dvb-frontends/cxd2820r_core.c
605
priv->i2c = client->adapter;
drivers/media/dvb-frontends/cxd2820r_core.c
634
priv->client[1] = i2c_new_dummy_device(client->adapter, client->addr | (1 << 1));
drivers/media/dvb-frontends/dib7000p.c
2392
static u32 dib7000p_i2c_func(struct i2c_adapter *adapter)
drivers/media/dvb-frontends/dib8000.c
1876
static u32 dib8096p_i2c_func(struct i2c_adapter *adapter)
drivers/media/dvb-frontends/dib9000.c
1709
static u32 dib9000_i2c_func(struct i2c_adapter *adapter)
drivers/media/dvb-frontends/dibx000_common.c
193
static u32 dibx000_i2c_func(struct i2c_adapter *adapter)
drivers/media/dvb-frontends/dvb-pll.c
885
if (!dvb_pll_attach(fe, client->addr, client->adapter, desc_id))
drivers/media/dvb-frontends/helene.c
1078
priv->i2c = client->adapter;
drivers/media/dvb-frontends/lgdt3306a.c
2192
fe = lgdt3306a_attach(config, client->adapter);
drivers/media/dvb-frontends/lgdt3306a.c
2203
state->muxc = i2c_mux_alloc(client->adapter, &client->dev,
drivers/media/dvb-frontends/lgdt3306a.c
2217
*config->i2c_adapter = state->muxc->adapter[0];
drivers/media/dvb-frontends/lgdt330x.c
111
ret = i2c_transfer(state->client->adapter, msg, 2);
drivers/media/dvb-frontends/m88ds3103.c
137
ret = i2c_transfer(dev->dt_client->adapter, msg, 2);
drivers/media/dvb-frontends/m88ds3103.c
1656
ret = __i2c_transfer(client->adapter, &msg, 1);
drivers/media/dvb-frontends/m88ds3103.c
1767
return dev->muxc->adapter[0];
drivers/media/dvb-frontends/m88ds3103.c
1869
dev->muxc = i2c_mux_alloc(client->adapter, &client->dev, 1, 0, 0,
drivers/media/dvb-frontends/m88ds3103.c
1908
dev->dt_client = i2c_new_dummy_device(client->adapter,
drivers/media/dvb-frontends/m88ds3103.c
88
ret = i2c_transfer(dev->dt_client->adapter, &msg, 1);
drivers/media/dvb-frontends/mn88443x.c
733
chip->client_t = i2c_new_dummy_device(client->adapter, client->addr + 4);
drivers/media/dvb-frontends/mn88472.c
614
dev->client[1] = i2c_new_dummy_device(client->adapter, 0x1a);
drivers/media/dvb-frontends/mn88472.c
627
dev->client[2] = i2c_new_dummy_device(client->adapter, 0x1c);
drivers/media/dvb-frontends/mn88473.c
659
dev->client[1] = i2c_new_dummy_device(client->adapter, 0x1a);
drivers/media/dvb-frontends/mn88473.c
672
dev->client[2] = i2c_new_dummy_device(client->adapter, 0x1c);
drivers/media/dvb-frontends/mxl692.c
44
ret = i2c_transfer(dev->i2c_client->adapter, &msg, 1);
drivers/media/dvb-frontends/mxl692.c
61
ret = i2c_transfer(dev->i2c_client->adapter, &msg, 1);
drivers/media/dvb-frontends/rtl2830.c
17
i2c_lock_bus(client->adapter, I2C_LOCK_SEGMENT);
drivers/media/dvb-frontends/rtl2830.c
19
i2c_unlock_bus(client->adapter, I2C_LOCK_SEGMENT);
drivers/media/dvb-frontends/rtl2830.c
29
i2c_lock_bus(client->adapter, I2C_LOCK_SEGMENT);
drivers/media/dvb-frontends/rtl2830.c
31
i2c_unlock_bus(client->adapter, I2C_LOCK_SEGMENT);
drivers/media/dvb-frontends/rtl2830.c
41
i2c_lock_bus(client->adapter, I2C_LOCK_SEGMENT);
drivers/media/dvb-frontends/rtl2830.c
43
i2c_unlock_bus(client->adapter, I2C_LOCK_SEGMENT);
drivers/media/dvb-frontends/rtl2830.c
683
return dev->muxc->adapter[0];
drivers/media/dvb-frontends/rtl2830.c
709
ret = __i2c_transfer(client->adapter, msg, 2);
drivers/media/dvb-frontends/rtl2830.c
732
ret = __i2c_transfer(client->adapter, msg, 1);
drivers/media/dvb-frontends/rtl2830.c
761
ret = __i2c_transfer(client->adapter, msg, 1);
drivers/media/dvb-frontends/rtl2830.c
834
dev->muxc = i2c_mux_alloc(client->adapter, &client->dev, 1, 0, 0,
drivers/media/dvb-frontends/rtl2832.c
1027
struct i2c_adapter *i2c = client->adapter;
drivers/media/dvb-frontends/rtl2832.c
894
return dev->muxc->adapter[0];
drivers/media/dvb-frontends/s5h1420.c
828
static u32 s5h1420_tuner_i2c_func(struct i2c_adapter *adapter)
drivers/media/dvb-frontends/si2168.c
739
dev->muxc = i2c_mux_alloc(client->adapter, &client->dev,
drivers/media/dvb-frontends/si2168.c
754
*config->i2c_adapter = dev->muxc->adapter[0];
drivers/media/dvb-frontends/sp2.c
21
struct i2c_adapter *adap = client->adapter;
drivers/media/dvb-frontends/sp2.c
58
struct i2c_adapter *adap = client->adapter;
drivers/media/dvb-frontends/stv090x.c
5013
state->i2c = client->adapter;
drivers/media/dvb-frontends/stv0910.c
142
static inline int i2c_read_regs16(struct i2c_adapter *adapter, u8 adr,
drivers/media/dvb-frontends/stv0910.c
151
if (i2c_transfer(adapter, msgs, 2) != 2) {
drivers/media/dvb-frontends/stv0910.c
152
dev_warn(&adapter->dev, "i2c read error ([%02x] %04x)\n",
drivers/media/dvb-frontends/stv6110x.c
420
stv6110x->i2c = client->adapter;
drivers/media/dvb-frontends/tc90522.c
57
ret = i2c_transfer(state->i2c_client->adapter, &msg, 1);
drivers/media/dvb-frontends/tc90522.c
691
ret = i2c_transfer(state->i2c_client->adapter, new_msgs, j);
drivers/media/dvb-frontends/tc90522.c
708
r = i2c_transfer(state->i2c_client->adapter,
drivers/media/dvb-frontends/tc90522.c
84
ret = i2c_transfer(state->i2c_client->adapter, msgs, ARRAY_SIZE(msgs));
drivers/media/dvb-frontends/tda10021.c
204
dprintk("DVB: TDA10021(%d): init chip\n", fe->adapter->num);
drivers/media/dvb-frontends/tda18271c2dd.c
105
static int i2c_readn(struct i2c_adapter *adapter, u8 adr, u8 *data, int len)
drivers/media/dvb-frontends/tda18271c2dd.c
109
return (i2c_transfer(adapter, msgs, 1) == 1) ? 0 : -1;
drivers/media/dvb-frontends/ts2020.c
588
dev->i2c = client->adapter;
drivers/media/dvb-frontends/zd1301_demod.c
17
struct i2c_adapter adapter;
drivers/media/dvb-frontends/zd1301_demod.c
309
static int zd1301_demod_i2c_master_xfer(struct i2c_adapter *adapter,
drivers/media/dvb-frontends/zd1301_demod.c
312
struct zd1301_demod_dev *dev = i2c_get_adapdata(adapter);
drivers/media/dvb-frontends/zd1301_demod.c
433
static u32 zd1301_demod_i2c_functionality(struct i2c_adapter *adapter)
drivers/media/dvb-frontends/zd1301_demod.c
449
return &dev->adapter;
drivers/media/dvb-frontends/zd1301_demod.c
492
strscpy(dev->adapter.name, "ZyDAS ZD1301 demod",
drivers/media/dvb-frontends/zd1301_demod.c
493
sizeof(dev->adapter.name));
drivers/media/dvb-frontends/zd1301_demod.c
494
dev->adapter.algo = &zd1301_demod_i2c_algorithm;
drivers/media/dvb-frontends/zd1301_demod.c
495
dev->adapter.algo_data = NULL;
drivers/media/dvb-frontends/zd1301_demod.c
496
dev->adapter.dev.parent = pdev->dev.parent;
drivers/media/dvb-frontends/zd1301_demod.c
497
i2c_set_adapdata(&dev->adapter, dev);
drivers/media/dvb-frontends/zd1301_demod.c
498
ret = i2c_add_adapter(&dev->adapter);
drivers/media/dvb-frontends/zd1301_demod.c
524
i2c_del_adapter(&dev->adapter);
drivers/media/firewire/firedtv-ci.c
241
err = dvb_register_device(&fdtv->adapter, &fdtv->cadev,
drivers/media/firewire/firedtv-dvb.c
164
err = dvb_register_adapter(&fdtv->adapter, name,
drivers/media/firewire/firedtv-dvb.c
187
err = dvb_dmxdev_init(&fdtv->dmxdev, &fdtv->adapter);
drivers/media/firewire/firedtv-dvb.c
202
err = dvb_net_init(&fdtv->adapter, &fdtv->dvbnet, &fdtv->demux.dmx);
drivers/media/firewire/firedtv-dvb.c
207
err = dvb_register_frontend(&fdtv->adapter, &fdtv->fe);
drivers/media/firewire/firedtv-dvb.c
228
dvb_unregister_adapter(&fdtv->adapter);
drivers/media/firewire/firedtv-dvb.c
243
dvb_unregister_adapter(&fdtv->adapter);
drivers/media/firewire/firedtv-fe.c
248
fdtv->fe.dvb = &fdtv->adapter;
drivers/media/firewire/firedtv-fe.c
25
fdtv->isochannel = fdtv->adapter.num;
drivers/media/firewire/firedtv.h
76
struct dvb_adapter adapter;
drivers/media/i2c/ad5820.c
64
if (!client->adapter)
drivers/media/i2c/ad5820.c
73
r = i2c_transfer(client->adapter, &msg, 1);
drivers/media/i2c/adv7170.c
344
if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/media/i2c/adv7170.c
348
client->addr << 1, client->adapter->name);
drivers/media/i2c/adv7170.c
86
if (i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) {
drivers/media/i2c/adv7175.c
399
if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/media/i2c/adv7175.c
403
client->addr << 1, client->adapter->name);
drivers/media/i2c/adv7175.c
80
if (i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) {
drivers/media/i2c/adv7180.c
1451
if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/media/i2c/adv7180.c
1545
ret, client->addr, client->adapter->name);
drivers/media/i2c/adv7183.c
533
if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/media/i2c/adv7183.c
537
client->addr << 1, client->adapter->name);
drivers/media/i2c/adv7343.c
436
if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/media/i2c/adv7343.c
440
client->addr << 1, client->adapter->name);
drivers/media/i2c/adv7393.c
389
if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/media/i2c/adv7393.c
393
client->addr << 1, client->adapter->name);
drivers/media/i2c/adv748x/adv748x-core.c
600
i2c_adapter_id(state->client->adapter),
drivers/media/i2c/adv748x/adv748x-core.c
713
if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/media/i2c/adv7511-v4l2.c
160
if (!i2c_smbus_xfer(client->adapter, client->addr, client->flags,
drivers/media/i2c/adv7511-v4l2.c
1836
if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/media/i2c/adv7511-v4l2.c
1906
state->i2c_edid = i2c_new_dummy_device(client->adapter,
drivers/media/i2c/adv7511-v4l2.c
1923
state->i2c_cec = i2c_new_dummy_device(client->adapter,
drivers/media/i2c/adv7511-v4l2.c
1935
state->i2c_pktmem = i2c_new_dummy_device(client->adapter, state->i2c_pktmem_addr >> 1);
drivers/media/i2c/adv7511-v4l2.c
1968
client->addr << 1, client->adapter->name);
drivers/media/i2c/adv7511-v4l2.c
1994
client->addr << 1, client->adapter->name);
drivers/media/i2c/adv7604.c
2992
new_client = i2c_new_dummy_device(client->adapter,
drivers/media/i2c/adv7604.c
3486
if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/media/i2c/adv7604.c
3546
id->name, i2c_adapter_id(client->adapter),
drivers/media/i2c/adv7604.c
3710
client->addr << 1, client->adapter->name);
drivers/media/i2c/adv7842.c
280
if (!i2c_smbus_xfer(client->adapter, client->addr, client->flags,
drivers/media/i2c/adv7842.c
316
err = i2c_smbus_xfer(client->adapter, client->addr,
drivers/media/i2c/adv7842.c
335
i2c_smbus_xfer(client->adapter, client->addr,
drivers/media/i2c/adv7842.c
3470
cp = i2c_new_dummy_device(client->adapter, io_read(sd, io_reg) >> 1);
drivers/media/i2c/adv7842.c
3527
if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/media/i2c/adv7842.c
3648
client->addr << 1, client->adapter->name);
drivers/media/i2c/ak881x.c
231
struct i2c_adapter *adapter = client->adapter;
drivers/media/i2c/ak881x.c
235
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA)) {
drivers/media/i2c/ak881x.c
236
dev_warn(&adapter->dev,
drivers/media/i2c/ar0521.c
182
ret = i2c_transfer(client->adapter, &msg, 1);
drivers/media/i2c/bt819.c
391
if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/media/i2c/bt819.c
418
client->addr << 1, client->adapter->name);
drivers/media/i2c/bt819.c
99
if (i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) {
drivers/media/i2c/bt856.c
190
if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/media/i2c/bt856.c
194
client->addr << 1, client->adapter->name);
drivers/media/i2c/bt866.c
182
client->addr << 1, client->adapter->name);
drivers/media/i2c/cs3308.c
73
if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/media/i2c/cs3308.c
80
client->addr << 1, client->adapter->name);
drivers/media/i2c/cs5345.c
145
if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/media/i2c/cs5345.c
149
client->addr << 1, client->adapter->name);
drivers/media/i2c/cs53l32a.c
139
if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/media/i2c/cs53l32a.c
146
client->addr << 1, client->adapter->name);
drivers/media/i2c/cx25840/cx25840-core.c
118
if (i2c_transfer(client->adapter, msgs, 2) < 2)
drivers/media/i2c/cx25840/cx25840-core.c
143
if (i2c_transfer(client->adapter, msgs, 2) < 2)
drivers/media/i2c/cx25840/cx25840-core.c
3768
if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/media/i2c/cx25840/cx25840-core.c
3795
client->addr << 1, client->adapter->name);
drivers/media/i2c/cx25840/cx25840-core.c
3842
client->addr << 1, client->adapter->name);
drivers/media/i2c/cx25840/cx25840-core.c
3846
client->addr << 1, client->adapter->name);
drivers/media/i2c/cx25840/cx25840-core.c
3850
client->addr << 1, client->adapter->name);
drivers/media/i2c/cx25840/cx25840-core.c
3854
device_id, client->addr << 1, client->adapter->name);
drivers/media/i2c/cx25840/cx25840-core.c
3868
client->addr << 1, client->adapter->name);
drivers/media/i2c/cx25840/cx25840-core.c
3875
client->addr << 1, client->adapter->name);
drivers/media/i2c/ds90ub960.c
1351
struct i2c_adapter *parent_adap = priv->client->adapter;
drivers/media/i2c/ds90ub960.c
2014
ret = i2c_smbus_xfer(priv->client->adapter, rxport->ser.alias, 0,
drivers/media/i2c/ds90ub960.c
2038
ret = i2c_smbus_xfer(priv->client->adapter, rxport->ser.alias,
drivers/media/i2c/ds90ub960.c
2201
i2c_new_client_device(priv->client->adapter, &ser_info);
drivers/media/i2c/ds90ub960.c
2210
rxport->ser.client->adapter->nr, rxport->ser.client->addr);
drivers/media/i2c/et8ek8/et8ek8_driver.c
1135
rval = i2c_transfer(client->adapter, &msg, 1);
drivers/media/i2c/et8ek8/et8ek8_driver.c
1146
rval = i2c_transfer(client->adapter, &msg, 1);
drivers/media/i2c/et8ek8/et8ek8_driver.c
148
if (!client->adapter)
drivers/media/i2c/et8ek8/et8ek8_driver.c
161
r = i2c_transfer(client->adapter, &msg, 1);
drivers/media/i2c/et8ek8/et8ek8_driver.c
167
r = i2c_transfer(client->adapter, &msg, 1);
drivers/media/i2c/et8ek8/et8ek8_driver.c
245
rval = i2c_transfer(client->adapter, msg, wcnt);
drivers/media/i2c/et8ek8/et8ek8_driver.c
253
rval = i2c_transfer(client->adapter, msg, wcnt);
drivers/media/i2c/et8ek8/et8ek8_driver.c
270
if (!client->adapter)
drivers/media/i2c/et8ek8/et8ek8_driver.c
342
if (!client->adapter)
drivers/media/i2c/et8ek8/et8ek8_driver.c
349
r = i2c_transfer(client->adapter, &msg, 1);
drivers/media/i2c/gc0310.c
416
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C))
drivers/media/i2c/hi556.c
693
ret = i2c_transfer(client->adapter, msgs, ARRAY_SIZE(msgs));
drivers/media/i2c/hi846.c
1235
ret = i2c_transfer(client->adapter, msgs, ARRAY_SIZE(msgs));
drivers/media/i2c/hi846.c
1256
ret = i2c_transfer(client->adapter, msg, ARRAY_SIZE(msg));
drivers/media/i2c/hi847.c
2224
ret = i2c_transfer(client->adapter, msgs, ARRAY_SIZE(msgs));
drivers/media/i2c/imx208.c
350
ret = i2c_transfer(client->adapter, msgs, ARRAY_SIZE(msgs));
drivers/media/i2c/imx208.c
800
ret = i2c_transfer(client->adapter, msgs, ARRAY_SIZE(msgs));
drivers/media/i2c/imx296.c
1011
struct i2c_adapter *adapter = to_i2c_adapter(client->dev.parent);
drivers/media/i2c/imx296.c
1017
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA)) {
drivers/media/i2c/imx296.c
1018
dev_warn(&adapter->dev,
drivers/media/i2c/imx319.c
1815
ret = i2c_transfer(client->adapter, msgs, ARRAY_SIZE(msgs));
drivers/media/i2c/imx355.c
1113
ret = i2c_transfer(client->adapter, msgs, ARRAY_SIZE(msgs));
drivers/media/i2c/imx412.c
454
ret = i2c_transfer(client->adapter, msgs, ARRAY_SIZE(msgs));
drivers/media/i2c/ir-kbd-i2c.c
287
if (2 != i2c_transfer(ir->c->adapter, msg, 2)) {
drivers/media/i2c/ir-kbd-i2c.c
297
if (2 != i2c_transfer(ir->c->adapter, msg, 2)) {
drivers/media/i2c/ir-kbd-i2c.c
768
struct i2c_adapter *adap = client->adapter;
drivers/media/i2c/ir-kbd-i2c.c
937
ir->tx_c = i2c_new_dummy_device(client->adapter, 0x70);
drivers/media/i2c/isl7998x.c
1459
struct i2c_adapter *adapter = to_i2c_adapter(client->dev.parent);
drivers/media/i2c/isl7998x.c
1463
ret = i2c_check_functionality(adapter, I2C_FUNC_SMBUS_WORD_DATA);
drivers/media/i2c/isl7998x.c
1465
dev_warn(&adapter->dev,
drivers/media/i2c/ks0127.c
313
ret = i2c_transfer(client->adapter, msgs, ARRAY_SIZE(msgs));
drivers/media/i2c/ks0127.c
652
client->addr << 1, client->adapter->name);
drivers/media/i2c/m52790.c
138
if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/media/i2c/m52790.c
142
client->addr << 1, client->adapter->name);
drivers/media/i2c/max9286.c
364
if (!i2c_check_functionality(priv->client->adapter,
drivers/media/i2c/max9286.c
368
priv->mux = i2c_mux_alloc(priv->client->adapter, &priv->client->dev,
drivers/media/i2c/max96714.c
663
priv->mux = i2c_mux_alloc(priv->client->adapter, &priv->client->dev,
drivers/media/i2c/max96717.c
154
priv->mux = i2c_mux_alloc(priv->client->adapter, &priv->client->dev,
drivers/media/i2c/ml86v7667.c
367
if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/media/i2c/ml86v7667.c
406
client->addr, client->adapter->name);
drivers/media/i2c/ml86v7667.c
413
client->addr, client->adapter->name);
drivers/media/i2c/msp3400-driver.c
136
if (i2c_transfer(client->adapter, &reset[0], 1) != 1 ||
drivers/media/i2c/msp3400-driver.c
137
i2c_transfer(client->adapter, &reset[1], 1) != 1 ||
drivers/media/i2c/msp3400-driver.c
138
i2c_transfer(client->adapter, test, 2) != 2) {
drivers/media/i2c/msp3400-driver.c
169
if (i2c_transfer(client->adapter, msgs, 2) == 2)
drivers/media/i2c/msp3400-driver.c
825
client->adapter->name,
drivers/media/i2c/mt9m001.c
733
struct i2c_adapter *adapter = client->adapter;
drivers/media/i2c/mt9m001.c
736
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_WORD_DATA)) {
drivers/media/i2c/mt9m001.c
737
dev_warn(&adapter->dev,
drivers/media/i2c/mt9m111.c
1263
struct i2c_adapter *adapter = client->adapter;
drivers/media/i2c/mt9m111.c
1266
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_WORD_DATA)) {
drivers/media/i2c/mt9m111.c
1267
dev_warn(&adapter->dev,
drivers/media/i2c/mt9p031.c
1095
struct i2c_adapter *adapter = client->adapter;
drivers/media/i2c/mt9p031.c
1101
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_WORD_DATA)) {
drivers/media/i2c/mt9t112.c
172
ret = i2c_transfer(client->adapter, msg, 2);
drivers/media/i2c/mt9t112.c
203
ret = i2c_transfer(client->adapter, &msg, 1);
drivers/media/i2c/mt9v011.c
499
if (!i2c_check_functionality(c->adapter,
drivers/media/i2c/mt9v011.c
564
c->addr << 1, c->adapter->name, version);
drivers/media/i2c/mt9v111.c
234
ret = i2c_transfer(c->adapter, msg, 2);
drivers/media/i2c/mt9v111.c
264
ret = i2c_transfer(c->adapter, &msg, 1);
drivers/media/i2c/og01a1b.c
489
ret = i2c_transfer(client->adapter, msgs, ARRAY_SIZE(msgs));
drivers/media/i2c/ov08x40.c
1419
ret = i2c_transfer(client->adapter, msgs, ARRAY_SIZE(msgs));
drivers/media/i2c/ov08x40.c
1448
ret = i2c_transfer(client->adapter, &msgs, 1);
drivers/media/i2c/ov08x40.c
1470
if (client->adapter->quirks && client->adapter->quirks->max_write_len)
drivers/media/i2c/ov08x40.c
1471
num_write_regs = client->adapter->quirks->max_write_len - 2;
drivers/media/i2c/ov13858.c
1082
ret = i2c_transfer(client->adapter, msgs, ARRAY_SIZE(msgs));
drivers/media/i2c/ov13b10.c
768
ret = i2c_transfer(client->adapter, msgs, ARRAY_SIZE(msgs));
drivers/media/i2c/ov2640.c
1190
struct i2c_adapter *adapter = client->adapter;
drivers/media/i2c/ov2640.c
1193
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA)) {
drivers/media/i2c/ov2640.c
1194
dev_err(&adapter->dev,
drivers/media/i2c/ov2640.c
1250
dev_info(&adapter->dev, "OV2640 Probed\n");
drivers/media/i2c/ov2659.c
838
ret = i2c_transfer(client->adapter, &msg, 1);
drivers/media/i2c/ov2659.c
868
ret = i2c_transfer(client->adapter, msg, 2);
drivers/media/i2c/ov2685.c
324
ret = i2c_transfer(client->adapter, msgs, ARRAY_SIZE(msgs));
drivers/media/i2c/ov2740.c
590
ret = i2c_transfer(client->adapter, msgs, ARRAY_SIZE(msgs));
drivers/media/i2c/ov5640.c
1169
ret = i2c_transfer(client->adapter, &msg, 1);
drivers/media/i2c/ov5640.c
1194
ret = i2c_transfer(client->adapter, &msg, 1);
drivers/media/i2c/ov5640.c
1224
ret = i2c_transfer(client->adapter, msg, 2);
drivers/media/i2c/ov5670.c
1921
ret = i2c_transfer(client->adapter, msgs, ARRAY_SIZE(msgs));
drivers/media/i2c/ov5675.c
562
ret = i2c_transfer(client->adapter, msgs, ARRAY_SIZE(msgs));
drivers/media/i2c/ov5695.c
771
ret = i2c_transfer(client->adapter, msgs, ARRAY_SIZE(msgs));
drivers/media/i2c/ov7640.c
47
struct i2c_adapter *adapter = client->adapter;
drivers/media/i2c/ov7640.c
50
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/media/i2c/ov7640.c
61
client->addr << 1, client->adapter->name);
drivers/media/i2c/ov7670.c
1891
client->addr << 1, client->adapter->name);
drivers/media/i2c/ov7670.c
1895
client->addr << 1, client->adapter->name);
drivers/media/i2c/ov7670.c
515
ret = i2c_transfer(client->adapter, &msg, 1);
drivers/media/i2c/ov7670.c
524
ret = i2c_transfer(client->adapter, &msg, 1);
drivers/media/i2c/ov7670.c
545
ret = i2c_transfer(client->adapter, &msg, 1);
drivers/media/i2c/ov7740.c
1086
client->addr << 1, client->adapter->name);
drivers/media/i2c/ov8856.c
1646
ret = i2c_transfer(client->adapter, msgs, ARRAY_SIZE(msgs));
drivers/media/i2c/ov8858.c
1306
ret = i2c_transfer(client->adapter, msgs, ARRAY_SIZE(msgs));
drivers/media/i2c/ov9282.c
522
ret = i2c_transfer(client->adapter, msgs, ARRAY_SIZE(msgs));
drivers/media/i2c/ov9640.c
182
ret = i2c_transfer(client->adapter, &msg, 1);
drivers/media/i2c/ov9640.c
187
ret = i2c_transfer(client->adapter, &msg, 1);
drivers/media/i2c/ov9640.c
212
ret = i2c_transfer(client->adapter, &msg, 1);
drivers/media/i2c/ov9734.c
391
ret = i2c_transfer(client->adapter, msgs, ARRAY_SIZE(msgs));
drivers/media/i2c/rdacm20.c
585
dev->sensor = i2c_new_dummy_device(client->adapter,
drivers/media/i2c/rdacm21.c
561
dev->isp = i2c_new_dummy_device(client->adapter, OV490_I2C_ADDRESS);
drivers/media/i2c/rj54n1cb0c.c
1301
struct i2c_adapter *adapter = client->adapter;
drivers/media/i2c/rj54n1cb0c.c
1312
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA)) {
drivers/media/i2c/rj54n1cb0c.c
1313
dev_warn(&adapter->dev,
drivers/media/i2c/s5c73m3/s5c73m3-core.c
159
ret = i2c_transfer(client->adapter, msg, 2);
drivers/media/i2c/s5k5baf.c
1878
i2c_adapter_id(c->adapter), c->addr);
drivers/media/i2c/s5k5baf.c
1892
i2c_adapter_id(c->adapter), c->addr);
drivers/media/i2c/s5k5baf.c
428
ret = i2c_transfer(c->adapter, msg, 2);
drivers/media/i2c/saa6588.c
456
client->addr << 1, client->adapter->name);
drivers/media/i2c/saa6752hs.c
669
client->addr << 1, client->adapter->name);
drivers/media/i2c/saa7110.c
368
if (!i2c_check_functionality(client->adapter,
drivers/media/i2c/saa7110.c
373
client->addr << 1, client->adapter->name);
drivers/media/i2c/saa7110.c
89
if (i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) {
drivers/media/i2c/saa7115.c
1813
if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/media/i2c/saa7115.c
1849
client->addr << 1, client->adapter->name);
drivers/media/i2c/saa7127.c
719
if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/media/i2c/saa7127.c
763
client->addr << 1, client->adapter->name);
drivers/media/i2c/saa717x.c
123
struct i2c_adapter *adap = client->adapter;
drivers/media/i2c/saa717x.c
1240
if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/media/i2c/saa717x.c
1268
client->addr << 1, client->adapter->name);
drivers/media/i2c/saa717x.c
89
struct i2c_adapter *adap = client->adapter;
drivers/media/i2c/saa7185.c
300
if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/media/i2c/saa7185.c
304
client->addr << 1, client->adapter->name);
drivers/media/i2c/saa7185.c
75
if (i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) {
drivers/media/i2c/sony-btf-mpx.c
173
i2c_transfer(client->adapter, &msg, 1);
drivers/media/i2c/sony-btf-mpx.c
175
i2c_transfer(client->adapter, &msg, 1);
drivers/media/i2c/sony-btf-mpx.c
252
i2c_transfer(client->adapter, msgs, 2);
drivers/media/i2c/sony-btf-mpx.c
258
i2c_transfer(client->adapter, msgs, 2);
drivers/media/i2c/sony-btf-mpx.c
339
if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_I2C_BLOCK))
drivers/media/i2c/sony-btf-mpx.c
343
client->addr << 1, client->adapter->name);
drivers/media/i2c/sony-btf-mpx.c
61
i2c_transfer(client->adapter, &msg, 1);
drivers/media/i2c/tc358743.c
152
err = i2c_transfer(client->adapter, msgs, ARRAY_SIZE(msgs));
drivers/media/i2c/tc358743.c
185
err = i2c_transfer(client->adapter, &msg, 1);
drivers/media/i2c/tc358743.c
2181
if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/media/i2c/tc358743.c
2184
client->addr << 1, client->adapter->name);
drivers/media/i2c/tc358743.c
2322
client->addr << 1, client->adapter->name);
drivers/media/i2c/tc358746.c
1591
client->addr, client->adapter->name);
drivers/media/i2c/tda1997x.c
2538
if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/media/i2c/tda1997x.c
2595
id->name, i2c_adapter_id(client->adapter),
drivers/media/i2c/tda1997x.c
2716
client->adapter, ret);
drivers/media/i2c/tda7432.c
352
client->addr << 1, client->adapter->name);
drivers/media/i2c/tda9840.c
157
if (!i2c_check_functionality(client->adapter,
drivers/media/i2c/tda9840.c
163
client->addr << 1, client->adapter->name);
drivers/media/i2c/tea6415c.c
124
if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_WRITE_BYTE))
drivers/media/i2c/tea6415c.c
128
client->addr << 1, client->adapter->name);
drivers/media/i2c/tea6420.c
100
client->addr << 1, client->adapter->name);
drivers/media/i2c/tea6420.c
96
if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_WRITE_BYTE))
drivers/media/i2c/thp7312.c
1508
ret = i2c_transfer(client->adapter, msgs, ARRAY_SIZE(msgs));
drivers/media/i2c/ths7303.c
340
if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/media/i2c/ths7303.c
344
client->addr << 1, client->adapter->name);
drivers/media/i2c/ths8200.c
452
if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/media/i2c/ths8200.c
472
client->addr << 1, client->adapter->name);
drivers/media/i2c/ths8200.c
483
client->addr << 1, client->adapter->name);
drivers/media/i2c/tlv320aic23b.c
138
if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/media/i2c/tlv320aic23b.c
142
client->addr << 1, client->adapter->name);
drivers/media/i2c/tvaudio.c
1975
v4l2_info(sd, "%s found @ 0x%x (%s)\n", desc->name, client->addr<<1, client->adapter->name);
drivers/media/i2c/tvaudio.c
260
rc = i2c_transfer(c->adapter, msgs, 2);
drivers/media/i2c/tvp514x.c
1038
if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/media/i2c/tvp514x.c
521
client->addr << 1, client->adapter->name);
drivers/media/i2c/tvp5150.c
1848
c->adapter->name);
drivers/media/i2c/tvp5150.c
2125
if (!i2c_check_functionality(c->adapter,
drivers/media/i2c/tvp7002.c
965
if (!i2c_check_functionality(c->adapter,
drivers/media/i2c/tvp7002.c
981
c->addr, c->adapter->name);
drivers/media/i2c/tw2804.c
348
struct i2c_adapter *adapter = client->adapter;
drivers/media/i2c/tw2804.c
354
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/media/i2c/tw2804.c
402
client->addr << 1, client->adapter->name);
drivers/media/i2c/tw9903.c
199
if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/media/i2c/tw9903.c
203
client->addr << 1, client->adapter->name);
drivers/media/i2c/tw9906.c
167
if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/media/i2c/tw9906.c
171
client->addr << 1, client->adapter->name);
drivers/media/i2c/tw9910.c
929
struct i2c_adapter *adapter = client->adapter;
drivers/media/i2c/tw9910.c
939
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA)) {
drivers/media/i2c/uda1342.c
50
struct i2c_adapter *adapter = client->adapter;
drivers/media/i2c/uda1342.c
53
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_WORD_DATA))
drivers/media/i2c/uda1342.c
57
client->addr, adapter->name);
drivers/media/i2c/uda1342.c
69
client->addr << 1, client->adapter->name);
drivers/media/i2c/upd64031a.c
192
if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/media/i2c/upd64031a.c
196
client->addr << 1, client->adapter->name);
drivers/media/i2c/upd64083.c
163
if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/media/i2c/upd64083.c
167
client->addr << 1, client->adapter->name);
drivers/media/i2c/vgxy61.c
499
struct i2c_adapter *adapter = sensor->i2c_client->adapter;
drivers/media/i2c/vgxy61.c
502
if (adapter->quirks && adapter->quirks->max_write_len)
drivers/media/i2c/vgxy61.c
503
max_write_len = adapter->quirks->max_write_len - 2;
drivers/media/i2c/video-i2c.c
568
sprintf(vcap->bus_info, "I2C:%d-%d", client->adapter->nr, client->addr);
drivers/media/i2c/video-i2c.c
796
client->adapter->nr, client->addr);
drivers/media/i2c/vp27smpx.c
147
if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/media/i2c/vp27smpx.c
151
client->addr << 1, client->adapter->name);
drivers/media/i2c/vpx3220.c
468
if (!i2c_check_functionality(client->adapter,
drivers/media/i2c/vpx3220.c
516
client->addr << 1, client->adapter->name);
drivers/media/i2c/vpx3220.c
519
ver, pn, client->addr << 1, client->adapter->name);
drivers/media/i2c/wm8739.c
187
if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/media/i2c/wm8739.c
191
client->addr << 1, client->adapter->name);
drivers/media/i2c/wm8775.c
206
if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/media/i2c/wm8775.c
210
client->addr << 1, client->adapter->name);
drivers/media/pci/bt8xx/bt878.h
99
struct i2c_adapter *adapter;
drivers/media/pci/bt8xx/bttv-i2c.c
368
btv->i2c_client.adapter = &btv->c.i2c_adap;
drivers/media/pci/bt8xx/dvb-bt8xx.c
45
struct dvb_bt8xx_card *card = dev_get_drvdata(&bt->adapter->dev);
drivers/media/pci/bt8xx/dvb-bt8xx.c
728
card->bt->adapter = card->i2c_adapter;
drivers/media/pci/cx18/cx18-driver.c
322
c->adapter = &cx->i2c_adap[0];
drivers/media/pci/cx23885/altera-ci.c
759
ret = dvb_ca_en50221_init(config->adapter,
drivers/media/pci/cx23885/altera-ci.h
25
void *adapter;/* for CI to connect to */
drivers/media/pci/cx23885/cimax2.c
498
ret = dvb_ca_en50221_init(&port->frontends.adapter,
drivers/media/pci/cx23885/cx23885-dvb.c
1090
memcpy(port->frontends.adapter.proposed_mac,
drivers/media/pci/cx23885/cx23885-dvb.c
1093
port->nr, port->frontends.adapter.proposed_mac);
drivers/media/pci/cx23885/cx23885-dvb.c
1101
.adapter = &port->frontends.adapter,/* for CI */
drivers/media/pci/cx23885/cx23885-dvb.c
1119
memcpy(port->frontends.adapter.proposed_mac, eeprom + 0xa0, 6);
drivers/media/pci/cx23885/cx23885-dvb.c
1138
memcpy(port->frontends.adapter.proposed_mac, eeprom + 0xc0 +
drivers/media/pci/cx23885/cx23885-dvb.c
1152
sp2_config.dvb_adap = &port->frontends.adapter;
drivers/media/pci/cx23885/cx23885-dvb.c
1178
memcpy(port->frontends.adapter.proposed_mac, eeprom + 0xc0, 6);
drivers/media/pci/cx23885/cx23885-dvb.c
1199
struct i2c_adapter *adapter;
drivers/media/pci/cx23885/cx23885-dvb.c
1935
&i2c_bus2->i2c_adap, &adapter);
drivers/media/pci/cx23885/cx23885-dvb.c
1948
client_tuner = i2c_new_client_device(adapter, &info);
drivers/media/pci/cx23885/cx23885-dvb.c
1976
si2168_config.i2c_adapter = &adapter;
drivers/media/pci/cx23885/cx23885-dvb.c
2002
client_tuner = i2c_new_client_device(adapter, &info);
drivers/media/pci/cx23885/cx23885-dvb.c
2021
si2168_config.i2c_adapter = &adapter;
drivers/media/pci/cx23885/cx23885-dvb.c
2047
client_tuner = i2c_new_client_device(adapter, &info);
drivers/media/pci/cx23885/cx23885-dvb.c
2063
&i2c_bus2->i2c_adap, &adapter);
drivers/media/pci/cx23885/cx23885-dvb.c
2076
client_tuner = i2c_new_client_device(adapter, &info);
drivers/media/pci/cx23885/cx23885-dvb.c
2133
adapter = m88ds3103_pdata.get_i2c_adapter(client_demod);
drivers/media/pci/cx23885/cx23885-dvb.c
2145
client_tuner = i2c_new_client_device(adapter, &info);
drivers/media/pci/cx23885/cx23885-dvb.c
2183
si2168_config.i2c_adapter = &adapter;
drivers/media/pci/cx23885/cx23885-dvb.c
2208
client_tuner = i2c_new_client_device(adapter, &info);
drivers/media/pci/cx23885/cx23885-dvb.c
2229
&i2c_bus->i2c_adap, &adapter);
drivers/media/pci/cx23885/cx23885-dvb.c
2257
client_tuner = i2c_new_client_device(adapter, &info);
drivers/media/pci/cx23885/cx23885-dvb.c
2274
si2168_config.i2c_adapter = &adapter;
drivers/media/pci/cx23885/cx23885-dvb.c
2333
si2168_config.i2c_adapter = &adapter;
drivers/media/pci/cx23885/cx23885-dvb.c
2390
si2168_config.i2c_adapter = &adapter;
drivers/media/pci/cx23885/cx23885-i2c.c
316
bus->i2c_client.adapter = &bus->i2c_adap;
drivers/media/pci/cx25821/cx25821-i2c.c
305
bus->i2c_client.adapter = &bus->i2c_adap;
drivers/media/pci/cx25821/cx25821-i2c.c
370
i2c_xfer(client->adapter, msgs, 2);
drivers/media/pci/cx25821/cx25821-i2c.c
402
retval = i2c_xfer(client->adapter, msgs, 1);
drivers/media/pci/cx88/cx88-i2c.c
139
core->i2c_client.adapter = &core->i2c_adap;
drivers/media/pci/cx88/cx88-i2c.c
162
i2c_transfer(core->i2c_client.adapter, &tuner_msg, 1);
drivers/media/pci/ddbridge/ddbridge-core.c
1016
struct i2c_adapter *adapter = &input->port->i2c->adap;
drivers/media/pci/ddbridge/ddbridge-core.c
1040
client = dvb_module_probe("tda18212", NULL, adapter, addr, &config);
drivers/media/pci/ddbridge/ddbridge-core.c
962
struct i2c_adapter *adapter = &input->port->i2c->adap;
drivers/media/pci/ddbridge/ddbridge-core.c
972
if (i2c_read_regs(adapter, adr, subaddr, tda_id, sizeof(tda_id)) < 0)
drivers/media/pci/ddbridge/ddbridge-core.c
974
if (i2c_read_regs(adapter, adr, subaddr, tda_id, sizeof(tda_id)) < 0)
drivers/media/pci/ddbridge/ddbridge-i2c.c
75
static int ddb_i2c_master_xfer(struct i2c_adapter *adapter,
drivers/media/pci/ddbridge/ddbridge-i2c.c
78
struct ddb_i2c *i2c = (struct ddb_i2c *)i2c_get_adapdata(adapter);
drivers/media/pci/ddbridge/ddbridge-i2c.h
100
return i2c_read_regs(adapter, adr, reg, val, 1);
drivers/media/pci/ddbridge/ddbridge-i2c.h
24
static int __maybe_unused i2c_io(struct i2c_adapter *adapter, u8 adr,
drivers/media/pci/ddbridge/ddbridge-i2c.h
32
return (i2c_transfer(adapter, msgs, 2) == 2) ? 0 : -1;
drivers/media/pci/ddbridge/ddbridge-i2c.h
44
static int __maybe_unused i2c_read(struct i2c_adapter *adapter, u8 adr, u8 *val)
drivers/media/pci/ddbridge/ddbridge-i2c.h
49
return (i2c_transfer(adapter, msgs, 1) == 1) ? 0 : -1;
drivers/media/pci/ddbridge/ddbridge-i2c.h
52
static int __maybe_unused i2c_read_regs(struct i2c_adapter *adapter,
drivers/media/pci/ddbridge/ddbridge-i2c.h
60
return (i2c_transfer(adapter, msgs, 2) == 2) ? 0 : -1;
drivers/media/pci/ddbridge/ddbridge-i2c.h
63
static int __maybe_unused i2c_read_regs16(struct i2c_adapter *adapter,
drivers/media/pci/ddbridge/ddbridge-i2c.h
72
return (i2c_transfer(adapter, msgs, 2) == 2) ? 0 : -1;
drivers/media/pci/ddbridge/ddbridge-i2c.h
91
static int __maybe_unused i2c_read_reg16(struct i2c_adapter *adapter,
drivers/media/pci/ddbridge/ddbridge-i2c.h
94
return i2c_read_regs16(adapter, adr, reg, val, 1);
drivers/media/pci/ddbridge/ddbridge-i2c.h
97
static int __maybe_unused i2c_read_reg(struct i2c_adapter *adapter,
drivers/media/pci/ivtv/ivtv-i2c.c
719
itv->i2c_client.adapter = &itv->i2c_adap;
drivers/media/pci/mantis/hopper_vp3028.c
34
struct i2c_adapter *adapter = &mantis->adapter;
drivers/media/pci/mantis/hopper_vp3028.c
48
fe = dvb_attach(zl10353_attach, &hopper_vp3028_config, adapter);
drivers/media/pci/mantis/hopper_vp3028.c
54
adapter->name,
drivers/media/pci/mantis/mantis_common.h
131
struct i2c_adapter adapter;
drivers/media/pci/mantis/mantis_i2c.c
116
static int mantis_i2c_xfer(struct i2c_adapter *adapter, struct i2c_msg *msgs, int num)
drivers/media/pci/mantis/mantis_i2c.c
123
mantis = i2c_get_adapdata(adapter);
drivers/media/pci/mantis/mantis_i2c.c
198
static u32 mantis_i2c_func(struct i2c_adapter *adapter)
drivers/media/pci/mantis/mantis_i2c.c
211
struct i2c_adapter *i2c_adapter = &mantis->adapter;
drivers/media/pci/mantis/mantis_i2c.c
248
i2c_del_adapter(&mantis->adapter);
drivers/media/pci/mantis/mantis_ioc.c
29
struct i2c_adapter *adapter = &mantis->adapter;
drivers/media/pci/mantis/mantis_ioc.c
38
err = i2c_transfer(adapter, msg, 2);
drivers/media/pci/mantis/mantis_vp1033.c
154
struct i2c_adapter *adapter = &mantis->adapter;
drivers/media/pci/mantis/mantis_vp1033.c
164
fe = dvb_attach(stv0299_attach, &lgtdqcs001f_config, adapter);
drivers/media/pci/mantis/mantis_vp1033.c
177
adapter->name,
drivers/media/pci/mantis/mantis_vp1033.c
78
struct i2c_adapter *adapter = &mantis->adapter;
drivers/media/pci/mantis/mantis_vp1033.c
97
if (i2c_transfer(adapter, &msg, 1) < 0) {
drivers/media/pci/mantis/mantis_vp1034.c
64
struct i2c_adapter *adapter = &mantis->adapter;
drivers/media/pci/mantis/mantis_vp1034.c
74
fe = dvb_attach(mb86a16_attach, &vp1034_mb86a16_config, adapter);
drivers/media/pci/mantis/mantis_vp1034.c
85
adapter->name,
drivers/media/pci/mantis/mantis_vp1041.c
298
struct i2c_adapter *adapter = &mantis->adapter;
drivers/media/pci/mantis/mantis_vp1041.c
306
mantis->fe = dvb_attach(stb0899_attach, &vp1041_stb0899_config, adapter);
drivers/media/pci/mantis/mantis_vp1041.c
312
if (dvb_attach(stb6100_attach, mantis->fe, &vp1041_stb6100_config, adapter)) {
drivers/media/pci/mantis/mantis_vp1041.c
313
if (!dvb_attach(lnbp21_attach, mantis->fe, adapter, 0, 0))
drivers/media/pci/mantis/mantis_vp1041.c
321
adapter->name,
drivers/media/pci/mantis/mantis_vp2033.c
106
if (i2c_transfer(adapter, &msg, 1) != 1)
drivers/media/pci/mantis/mantis_vp2033.c
114
struct i2c_adapter *adapter = &mantis->adapter;
drivers/media/pci/mantis/mantis_vp2033.c
125
adapter,
drivers/media/pci/mantis/mantis_vp2033.c
134
adapter,
drivers/media/pci/mantis/mantis_vp2033.c
152
adapter->name,
drivers/media/pci/mantis/mantis_vp2033.c
40
struct i2c_adapter *adapter = &mantis->adapter;
drivers/media/pci/mantis/mantis_vp2033.c
49
if ((i2c_transfer(adapter, msg, 2) != 2)
drivers/media/pci/mantis/mantis_vp2033.c
60
struct i2c_adapter *adapter = &mantis->adapter;
drivers/media/pci/mantis/mantis_vp2033.c
82
if (i2c_transfer(adapter, &msg, 1) != 1)
drivers/media/pci/mantis/mantis_vp2033.c
92
if (i2c_transfer(adapter, &msg, 1) == 1 && (buf[0] & 0x40))
drivers/media/pci/mantis/mantis_vp2040.c
105
if ((i2c_transfer(adapter, msg, 2) != 2)
drivers/media/pci/mantis/mantis_vp2040.c
114
struct i2c_adapter *adapter = &mantis->adapter;
drivers/media/pci/mantis/mantis_vp2040.c
125
adapter,
drivers/media/pci/mantis/mantis_vp2040.c
134
adapter,
drivers/media/pci/mantis/mantis_vp2040.c
152
adapter->name,
drivers/media/pci/mantis/mantis_vp2040.c
42
struct i2c_adapter *adapter = &mantis->adapter;
drivers/media/pci/mantis/mantis_vp2040.c
64
if (i2c_transfer(adapter, &msg, 1) != 1)
drivers/media/pci/mantis/mantis_vp2040.c
74
if (i2c_transfer(adapter, &msg, 1) == 1 && (buf[0] & 0x40))
drivers/media/pci/mantis/mantis_vp2040.c
88
if (i2c_transfer(adapter, &msg, 1) != 1)
drivers/media/pci/mantis/mantis_vp2040.c
96
struct i2c_adapter *adapter = &mantis->adapter;
drivers/media/pci/mantis/mantis_vp3030.c
46
struct i2c_adapter *adapter = &mantis->adapter;
drivers/media/pci/mantis/mantis_vp3030.c
59
fe = dvb_attach(zl10353_attach, &mantis_vp3030_config, adapter);
drivers/media/pci/mantis/mantis_vp3030.c
64
dvb_attach(tda665x_attach, fe, &env57h12d5_config, adapter);
drivers/media/pci/mantis/mantis_vp3030.c
67
adapter->name,
drivers/media/pci/mgb4/mgb4_i2c.c
34
ret = i2c_transfer(client->adapter, msg, 2);
drivers/media/pci/mgb4/mgb4_i2c.c
63
ret = i2c_transfer(client->adapter, msg, 1);
drivers/media/pci/netup_unidvb/netup_unidvb_ci.c
212
result = dvb_ca_en50221_init(&dev->frontends[num].adapter,
drivers/media/pci/ngene/ngene-cards.c
101
return i2c_read_regs(adapter, adr, reg, val, 1);
drivers/media/pci/ngene/ngene-cards.c
44
static int i2c_io(struct i2c_adapter *adapter, u8 adr,
drivers/media/pci/ngene/ngene-cards.c
51
return (i2c_transfer(adapter, msgs, 2) == 2) ? 0 : -1;
drivers/media/pci/ngene/ngene-cards.c
70
static int i2c_read(struct i2c_adapter *adapter, u8 adr, u8 *val)
drivers/media/pci/ngene/ngene-cards.c
74
return (i2c_transfer(adapter, msgs, 1) == 1) ? 0 : -1;
drivers/media/pci/ngene/ngene-cards.c
77
static int i2c_read_reg16(struct i2c_adapter *adapter, u8 adr,
drivers/media/pci/ngene/ngene-cards.c
787
static int i2c_write_eeprom(struct i2c_adapter *adapter,
drivers/media/pci/ngene/ngene-cards.c
790
struct device *pdev = adapter->dev.parent;
drivers/media/pci/ngene/ngene-cards.c
795
if (i2c_transfer(adapter, &msg, 1) != 1) {
drivers/media/pci/ngene/ngene-cards.c
802
static int i2c_read_eeprom(struct i2c_adapter *adapter,
drivers/media/pci/ngene/ngene-cards.c
805
struct device *pdev = adapter->dev.parent;
drivers/media/pci/ngene/ngene-cards.c
812
if (i2c_transfer(adapter, msgs, 2) != 2) {
drivers/media/pci/ngene/ngene-cards.c
819
static int ReadEEProm(struct i2c_adapter *adapter,
drivers/media/pci/ngene/ngene-cards.c
822
struct device *pdev = adapter->dev.parent;
drivers/media/pci/ngene/ngene-cards.c
828
if (i2c_read_eeprom(adapter, 0x50, Addr, EETag, sizeof(EETag)))
drivers/media/pci/ngene/ngene-cards.c
847
status = i2c_read_eeprom(adapter, 0x50, Addr, data, Length);
drivers/media/pci/ngene/ngene-cards.c
85
return (i2c_transfer(adapter, msgs, 2) == 2) ? 0 : -1;
drivers/media/pci/ngene/ngene-cards.c
859
static int WriteEEProm(struct i2c_adapter *adapter,
drivers/media/pci/ngene/ngene-cards.c
862
struct device *pdev = adapter->dev.parent;
drivers/media/pci/ngene/ngene-cards.c
870
if (i2c_read_eeprom(adapter, 0x50, Addr, EETag, sizeof(EETag)))
drivers/media/pci/ngene/ngene-cards.c
88
static int i2c_read_regs(struct i2c_adapter *adapter,
drivers/media/pci/ngene/ngene-cards.c
893
status = i2c_write_eeprom(adapter, 0x50, Addr, data[i]);
drivers/media/pci/ngene/ngene-cards.c
904
status = i2c_read_eeprom(adapter, 0x50, Addr, &Tmp, 1);
drivers/media/pci/ngene/ngene-cards.c
919
static int eeprom_read_ushort(struct i2c_adapter *adapter, u16 tag, u16 *data)
drivers/media/pci/ngene/ngene-cards.c
925
stat = ReadEEProm(adapter, tag, 2, buf, &len);
drivers/media/pci/ngene/ngene-cards.c
935
static int eeprom_write_ushort(struct i2c_adapter *adapter, u16 tag, u16 data)
drivers/media/pci/ngene/ngene-cards.c
941
return WriteEEProm(adapter, tag, 2, buf);
drivers/media/pci/ngene/ngene-cards.c
96
return (i2c_transfer(adapter, msgs, 2) == 2) ? 0 : -1;
drivers/media/pci/ngene/ngene-cards.c
99
static int i2c_read_reg(struct i2c_adapter *adapter, u8 adr, u8 reg, u8 *val)
drivers/media/pci/ngene/ngene-core.c
1434
dvb_unregister_adapter(&dev->adapter[chan->number]);
drivers/media/pci/ngene/ngene-core.c
1442
struct dvb_adapter *adapter = NULL;
drivers/media/pci/ngene/ngene-core.c
1476
adapter = &dev->adapter[nr];
drivers/media/pci/ngene/ngene-core.c
1477
ret = dvb_register_adapter(adapter, "nGene",
drivers/media/pci/ngene/ngene-core.c
1484
dev->first_adapter = adapter;
drivers/media/pci/ngene/ngene-core.c
1487
adapter = dev->first_adapter;
drivers/media/pci/ngene/ngene-core.c
1491
ret = dvb_ca_en50221_init(adapter, dev->ci.en, 0, 1);
drivers/media/pci/ngene/ngene-core.c
1497
dvb_register_device(adapter, &chan->ci_dev,
drivers/media/pci/ngene/ngene-core.c
1505
if (dvb_register_frontend(adapter, chan->fe) < 0)
drivers/media/pci/ngene/ngene-core.c
1510
if (dvb_register_frontend(adapter, chan->fe2) < 0)
drivers/media/pci/ngene/ngene-core.c
1526
&chan->mem_frontend, adapter);
drivers/media/pci/ngene/ngene-core.c
1527
ret = dvb_net_init(adapter, &chan->dvbnet, &chan->demux.dmx);
drivers/media/pci/ngene/ngene-i2c.c
101
static int ngene_i2c_master_xfer(struct i2c_adapter *adapter,
drivers/media/pci/ngene/ngene-i2c.c
105
(struct ngene_channel *)i2c_get_adapdata(adapter);
drivers/media/pci/ngene/ngene.h
736
struct dvb_adapter adapter[MAX_STREAM];
drivers/media/pci/pt1/pt1.c
214
ret = i2c_transfer(cl->adapter, msg, 2);
drivers/media/pci/pt3/pt3.c
103
ret = i2c_transfer(adap->i2c_demod->adapter, &msg, 1);
drivers/media/pci/saa7134/saa7134-i2c.c
441
dev->i2c_client.adapter = &dev->i2c_adap;
drivers/media/pci/saa7134/saa7134-input.c
113
struct saa7134_dev *dev = ir->c->adapter->algo_data;
drivers/media/pci/saa7134/saa7134-input.c
168
struct saa7134_dev *dev = ir->c->adapter->algo_data;
drivers/media/pci/saa7134/saa7134-input.c
220
struct saa7134_dev *dev = ir->c->adapter->algo_data;
drivers/media/pci/saa7134/saa7134-input.c
299
struct saa7134_dev *dev = ir->c->adapter->algo_data;
drivers/media/pci/saa7164/saa7164-dvb.c
103
static int si2157_attach(struct saa7164_port *port, struct i2c_adapter *adapter,
drivers/media/pci/saa7164/saa7164-dvb.c
119
tuner = i2c_new_client_device(adapter, &bi);
drivers/media/pci/saa7164/saa7164-dvb.c
384
result = dvb_register_adapter(&dvb->adapter, DRIVER_NAME, THIS_MODULE,
drivers/media/pci/saa7164/saa7164-dvb.c
391
dvb->adapter.priv = port;
drivers/media/pci/saa7164/saa7164-dvb.c
394
result = dvb_register_frontend(&dvb->adapter, dvb->frontend);
drivers/media/pci/saa7164/saa7164-dvb.c
420
result = dvb_dmxdev_init(&dvb->dmxdev, &dvb->adapter);
drivers/media/pci/saa7164/saa7164-dvb.c
451
dvb_net_init(&dvb->adapter, &dvb->net, &dvb->demux.dmx);
drivers/media/pci/saa7164/saa7164-dvb.c
466
dvb_unregister_adapter(&dvb->adapter);
drivers/media/pci/saa7164/saa7164-dvb.c
516
dvb_unregister_adapter(&dvb->adapter);
drivers/media/pci/saa7164/saa7164-dvb.c
530
struct i2c_adapter *adapter;
drivers/media/pci/saa7164/saa7164-dvb.c
630
si2168_config.i2c_adapter = &adapter;
drivers/media/pci/saa7164/saa7164-dvb.c
673
si2168_config.i2c_adapter = &adapter;
drivers/media/pci/saa7164/saa7164-i2c.c
99
bus->i2c_client.adapter = &bus->i2c_adap;
drivers/media/pci/saa7164/saa7164.h
241
struct dvb_adapter adapter;
drivers/media/pci/smipcie/smipcie-main.c
485
static struct i2c_client *smi_add_i2c_client(struct i2c_adapter *adapter,
drivers/media/pci/smipcie/smipcie-main.c
491
client = i2c_new_client_device(adapter, info);
drivers/media/platform/marvell/cafe-driver.c
281
static int cafe_smbus_xfer(struct i2c_adapter *adapter, u16 addr,
drivers/media/platform/marvell/cafe-driver.c
285
struct cafe_camera *cam = i2c_get_adapdata(adapter);
drivers/media/platform/marvell/cafe-driver.c
314
static u32 cafe_smbus_func(struct i2c_adapter *adapter)
drivers/media/platform/renesas/sh_vou.c
1355
i2c_put_adapter(client->adapter);
drivers/media/platform/samsung/exynos4-is/fimc-is-i2c.c
19
struct i2c_adapter adapter;
drivers/media/platform/samsung/exynos4-is/fimc-is-i2c.c
54
i2c_adap = &isp_i2c->adapter;
drivers/media/platform/samsung/exynos4-is/fimc-is-i2c.c
89
i2c_del_adapter(&isp_i2c->adapter);
drivers/media/platform/samsung/s3c-camif/camif-core.c
192
struct i2c_adapter *adapter;
drivers/media/platform/samsung/s3c-camif/camif-core.c
204
adapter = i2c_get_adapter(sensor->i2c_bus_num);
drivers/media/platform/samsung/s3c-camif/camif-core.c
205
if (adapter == NULL) {
drivers/media/platform/samsung/s3c-camif/camif-core.c
211
sd = v4l2_i2c_new_subdev_board(v4l2_dev, adapter,
drivers/media/platform/samsung/s3c-camif/camif-core.c
214
i2c_put_adapter(adapter);
drivers/media/platform/samsung/s3c-camif/camif-core.c
243
struct i2c_adapter *adapter;
drivers/media/platform/samsung/s3c-camif/camif-core.c
248
adapter = client->adapter;
drivers/media/platform/samsung/s3c-camif/camif-core.c
252
i2c_put_adapter(adapter);
drivers/media/platform/ti/am437x/am437x-vpfe.c
1581
client->adapter->nr == curr_client->adapter->nr) {
drivers/media/radio/radio-tea5764.c
152
if (i2c_transfer(radio->i2c_client->adapter, msgs, 1) != 1)
drivers/media/radio/radio-tea5764.c
177
if (i2c_transfer(radio->i2c_client->adapter, msgs, 1) != 1)
drivers/media/radio/saa7706h.c
138
int err = i2c_transfer(client->adapter, msgs, num);
drivers/media/radio/saa7706h.c
341
if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/media/radio/saa7706h.c
345
client->addr << 1, client->adapter->name);
drivers/media/radio/si470x/radio-si470x-i2c.c
123
if (i2c_transfer(radio->client->adapter, msgs, 1) != 1)
drivers/media/radio/si470x/radio-si470x-i2c.c
151
if (i2c_transfer(radio->client->adapter, msgs, 1) != 1)
drivers/media/radio/si470x/radio-si470x-i2c.c
96
if (i2c_transfer(radio->client->adapter, msgs, 1) != 1)
drivers/media/radio/si4713/radio-usb-si4713.c
131
struct i2c_adapter *adapter = &radio->i2c_adapter;
drivers/media/radio/si4713/radio-usb-si4713.c
133
i2c_del_adapter(adapter);
drivers/media/radio/si4713/radio-usb-si4713.c
382
static u32 si4713_functionality(struct i2c_adapter *adapter)
drivers/media/radio/si4713/radio-usb-si4713.c
415
struct i2c_adapter *adapter;
drivers/media/radio/si4713/radio-usb-si4713.c
455
adapter = &radio->i2c_adapter;
drivers/media/radio/si4713/radio-usb-si4713.c
456
sd = v4l2_i2c_new_subdev_board(&radio->v4l2_dev, adapter,
drivers/media/radio/si4713/radio-usb-si4713.c
491
i2c_del_adapter(adapter);
drivers/media/radio/si4713/si4713.c
202
if (!client->adapter)
drivers/media/radio/si4713/si4713.c
480
client->addr << 1, client->adapter->name);
drivers/media/radio/tef6862.c
150
if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/media/radio/tef6862.c
154
client->addr << 1, client->adapter->name);
drivers/media/spi/cxd2880-spi.c
46
struct dvb_adapter adapter;
drivers/media/spi/cxd2880-spi.c
542
ret = dvb_register_adapter(&dvb_spi->adapter,
drivers/media/spi/cxd2880-spi.c
558
ret = dvb_register_frontend(&dvb_spi->adapter,
drivers/media/spi/cxd2880-spi.c
582
&dvb_spi->adapter);
drivers/media/spi/cxd2880-spi.c
619
dvb_unregister_adapter(&dvb_spi->adapter);
drivers/media/spi/cxd2880-spi.c
639
dvb_unregister_adapter(&dvb_spi->adapter);
drivers/media/test-drivers/vidtv/vidtv_bridge.c
284
static u32 vidtv_i2c_func(struct i2c_adapter *adapter)
drivers/media/test-drivers/vidtv/vidtv_bridge.c
314
ret = dvb_register_adapter(&dvb->adapter,
drivers/media/test-drivers/vidtv/vidtv_bridge.c
343
return dvb_dmxdev_init(&dvb->dmx_dev, &dvb->adapter);
drivers/media/test-drivers/vidtv/vidtv_bridge.c
425
dvb_register_media_controller(&dvb->adapter, &dvb->mdev);
drivers/media/test-drivers/vidtv/vidtv_bridge.c
436
ret = dvb_register_frontend(&dvb->adapter, dvb->fe[i]);
drivers/media/test-drivers/vidtv/vidtv_bridge.c
481
dvb_unregister_adapter(&dvb->adapter);
drivers/media/test-drivers/vidtv/vidtv_bridge.c
559
dvb_unregister_adapter(&dvb->adapter);
drivers/media/test-drivers/vidtv/vidtv_bridge.h
52
struct dvb_adapter adapter;
drivers/media/tuners/mt2060.c
471
dev->i2c = client->adapter;
drivers/media/tuners/qm1d1c0042.c
93
ret = i2c_transfer(state->i2c->adapter, msgs, ARRAY_SIZE(msgs));
drivers/media/tuners/tua9001.c
119
ret = fe->callback(client->adapter,
drivers/media/tuners/tua9001.c
133
ret = fe->callback(client->adapter,
drivers/media/tuners/tua9001.c
196
ret = fe->callback(client->adapter,
drivers/media/tuners/tua9001.c
202
ret = fe->callback(client->adapter,
drivers/media/tuners/tua9001.c
208
ret = fe->callback(client->adapter,
drivers/media/tuners/tua9001.c
238
ret = fe->callback(client->adapter,
drivers/media/tuners/tua9001.c
36
ret = fe->callback(client->adapter,
drivers/media/tuners/tua9001.c
63
ret = fe->callback(client->adapter,
drivers/media/usb/au0828/au0828-dvb.c
420
result = dvb_register_adapter(&dvb->adapter,
drivers/media/usb/au0828/au0828-dvb.c
430
dvb->adapter.mdev = dev->media_dev;
drivers/media/usb/au0828/au0828-dvb.c
433
dvb->adapter.priv = dev;
drivers/media/usb/au0828/au0828-dvb.c
436
result = dvb_register_frontend(&dvb->adapter, dvb->frontend);
drivers/media/usb/au0828/au0828-dvb.c
465
result = dvb_dmxdev_init(&dvb->dmxdev, &dvb->adapter);
drivers/media/usb/au0828/au0828-dvb.c
494
dvb_net_init(&dvb->adapter, &dvb->net, &dvb->demux.dmx);
drivers/media/usb/au0828/au0828-dvb.c
499
result = dvb_create_media_graph(&dvb->adapter, false);
drivers/media/usb/au0828/au0828-dvb.c
519
dvb_unregister_adapter(&dvb->adapter);
drivers/media/usb/au0828/au0828-dvb.c
549
dvb_unregister_adapter(&dvb->adapter);
drivers/media/usb/au0828/au0828-i2c.c
376
dev->i2c_client.adapter = &dev->i2c_adap;
drivers/media/usb/au0828/au0828-input.c
263
if (i2c_probe_func_quick_read(dev->i2c_client.adapter,
drivers/media/usb/au0828/au0828-input.c
50
rc = i2c_transfer(ir->dev->i2c_client.adapter, &msg, 1);
drivers/media/usb/au0828/au0828-input.c
75
rc = i2c_transfer(ir->dev->i2c_client.adapter, msg, 2);
drivers/media/usb/au0828/au0828.h
87
struct dvb_adapter adapter;
drivers/media/usb/cx231xx/cx231xx-cards.c
1224
ret = i2c_transfer(client->adapter, &msg_write, 1);
drivers/media/usb/cx231xx/cx231xx-cards.c
1234
ret = i2c_transfer(client->adapter, &msg_read, 1);
drivers/media/usb/cx231xx/cx231xx-cards.c
1305
e->client.adapter = cx231xx_get_i2c_adap(dev, I2C_1_MUX_1);
drivers/media/usb/cx231xx/cx231xx-dvb.c
1041
lgdt3306a_config.i2c_adapter = &adapter;
drivers/media/usb/cx231xx/cx231xx-dvb.c
1060
client = dvb_module_probe("si2168", NULL, adapter,
drivers/media/usb/cx231xx/cx231xx-dvb.c
1083
client = dvb_module_probe("si2157", NULL, adapter,
drivers/media/usb/cx231xx/cx231xx-dvb.c
265
struct cx231xx *dev = dvb->adapter.priv;
drivers/media/usb/cx231xx/cx231xx-dvb.c
295
struct cx231xx *dev = dvb->adapter.priv;
drivers/media/usb/cx231xx/cx231xx-dvb.c
464
result = dvb_register_adapter(&dvb->adapter, dev->name, module, device,
drivers/media/usb/cx231xx/cx231xx-dvb.c
472
dvb_register_media_controller(&dvb->adapter, dev->media_dev);
drivers/media/usb/cx231xx/cx231xx-dvb.c
479
dvb->adapter.priv = dev;
drivers/media/usb/cx231xx/cx231xx-dvb.c
482
result = dvb_register_frontend(&dvb->adapter, dvb->frontend[0]);
drivers/media/usb/cx231xx/cx231xx-dvb.c
491
result = dvb_register_frontend(&dvb->adapter, dvb->frontend[1]);
drivers/media/usb/cx231xx/cx231xx-dvb.c
500
dvb->adapter.mfe_shared = 1;
drivers/media/usb/cx231xx/cx231xx-dvb.c
524
result = dvb_dmxdev_init(&dvb->dmxdev, &dvb->adapter);
drivers/media/usb/cx231xx/cx231xx-dvb.c
559
dvb_net_init(&dvb->adapter, &dvb->net, &dvb->demux.dmx);
drivers/media/usb/cx231xx/cx231xx-dvb.c
560
result = dvb_create_media_graph(&dvb->adapter,
drivers/media/usb/cx231xx/cx231xx-dvb.c
58
struct dvb_adapter adapter;
drivers/media/usb/cx231xx/cx231xx-dvb.c
586
dvb_unregister_adapter(&dvb->adapter);
drivers/media/usb/cx231xx/cx231xx-dvb.c
604
dvb_unregister_adapter(&dvb->adapter);
drivers/media/usb/cx231xx/cx231xx-dvb.c
623
struct i2c_adapter *adapter;
drivers/media/usb/cx231xx/cx231xx-dvb.c
853
lgdt3306a_config.i2c_adapter = &adapter;
drivers/media/usb/cx231xx/cx231xx-dvb.c
925
si2168_config.i2c_adapter = &adapter;
drivers/media/usb/cx231xx/cx231xx-dvb.c
994
si2168_config.i2c_adapter = &adapter;
drivers/media/usb/cx231xx/cx231xx-i2c.c
588
return dev->muxc->adapter[0];
drivers/media/usb/cx231xx/cx231xx-i2c.c
590
return dev->muxc->adapter[1];
drivers/media/usb/dvb-usb-v2/af9015.c
1004
struct i2c_adapter *adapter;
drivers/media/usb/dvb-usb-v2/af9015.c
1010
adapter = state->af9013_pdata[adap->id].get_i2c_adapter(client);
drivers/media/usb/dvb-usb-v2/af9015.c
1015
ret = dvb_attach(mt2060_attach, adap->fe[0], adapter,
drivers/media/usb/dvb-usb-v2/af9015.c
1021
ret = dvb_attach(qt1010_attach, adap->fe[0], adapter,
drivers/media/usb/dvb-usb-v2/af9015.c
1025
ret = dvb_attach(tda18271_attach, adap->fe[0], 0x60, adapter,
drivers/media/usb/dvb-usb-v2/af9015.c
1029
ret = dvb_attach(tda18218_attach, adap->fe[0], adapter,
drivers/media/usb/dvb-usb-v2/af9015.c
1033
ret = dvb_attach(mxl5005s_attach, adap->fe[0], adapter,
drivers/media/usb/dvb-usb-v2/af9015.c
1038
ret = dvb_attach(mxl5005s_attach, adap->fe[0], adapter,
drivers/media/usb/dvb-usb-v2/af9015.c
1042
ret = dvb_attach(dvb_pll_attach, adap->fe[0], 0x60, adapter,
drivers/media/usb/dvb-usb-v2/af9015.c
1046
ret = dvb_attach(mc44s803_attach, adap->fe[0], adapter,
drivers/media/usb/dvb-usb-v2/af9015.c
1050
ret = dvb_attach(mxl5007t_attach, adap->fe[0], adapter,
drivers/media/usb/dvb-usb-v2/af9015.c
1435
.adapter = {
drivers/media/usb/dvb-usb-v2/af9015.c
258
static u32 af9015_i2c_func(struct i2c_adapter *adapter)
drivers/media/usb/dvb-usb-v2/af9035.c
1232
struct i2c_adapter *adapter;
drivers/media/usb/dvb-usb-v2/af9035.c
1279
si2168_config.i2c_adapter = &adapter;
drivers/media/usb/dvb-usb-v2/af9035.c
1295
state->i2c_adapter_demod = adapter;
drivers/media/usb/dvb-usb-v2/af9035.c
181
u8 addr, void *platform_data, struct i2c_adapter *adapter)
drivers/media/usb/dvb-usb-v2/af9035.c
2036
.adapter = {
drivers/media/usb/dvb-usb-v2/af9035.c
2086
.adapter = {
drivers/media/usb/dvb-usb-v2/af9035.c
211
client = i2c_new_client_device(adapter, &board_info);
drivers/media/usb/dvb-usb-v2/af9035.c
481
static u32 af9035_i2c_functionality(struct i2c_adapter *adapter)
drivers/media/usb/dvb-usb-v2/anysee.c
1289
ret = dvb_ca_en50221_init(&d->adapter[0].dvb_adap, &state->ci, 0, 1);
drivers/media/usb/dvb-usb-v2/anysee.c
1373
.adapter = {
drivers/media/usb/dvb-usb-v2/anysee.c
233
static u32 anysee_i2c_func(struct i2c_adapter *adapter)
drivers/media/usb/dvb-usb-v2/anysee.c
617
struct i2c_adapter *adapter = &d->i2c_adap;
drivers/media/usb/dvb-usb-v2/anysee.c
643
client = i2c_new_client_device(adapter, &board_info);
drivers/media/usb/dvb-usb-v2/au6610.c
113
static u32 au6610_i2c_func(struct i2c_adapter *adapter)
drivers/media/usb/dvb-usb-v2/au6610.c
169
.adapter = {
drivers/media/usb/dvb-usb-v2/az6007.c
836
static u32 az6007_i2c_func(struct i2c_adapter *adapter)
drivers/media/usb/dvb-usb-v2/az6007.c
910
.adapter = {
drivers/media/usb/dvb-usb-v2/az6007.c
933
.adapter = {
drivers/media/usb/dvb-usb-v2/az6007.c
963
struct dvb_usb_adapter *adap = &d->adapter[0];
drivers/media/usb/dvb-usb-v2/ce6230.c
152
static u32 ce6230_i2c_functionality(struct i2c_adapter *adapter)
drivers/media/usb/dvb-usb-v2/ce6230.c
245
.adapter = {
drivers/media/usb/dvb-usb-v2/dvb_usb.h
250
struct dvb_usb_adapter_properties adapter[MAX_NO_OF_ADAPTER_PER_DEVICE];
drivers/media/usb/dvb-usb-v2/dvb_usb.h
392
struct dvb_usb_adapter adapter[MAX_NO_OF_ADAPTER_PER_DEVICE];
drivers/media/usb/dvb-usb-v2/dvb_usb.h
47
adapter[adap->id]))
drivers/media/usb/dvb-usb-v2/dvb_usb_core.c
1044
active_fe = d->adapter[i].active_fe;
drivers/media/usb/dvb-usb-v2/dvb_usb_core.c
1045
if (d->adapter[i].dvb_adap.priv && active_fe != -1) {
drivers/media/usb/dvb-usb-v2/dvb_usb_core.c
1046
fe = d->adapter[i].fe[active_fe];
drivers/media/usb/dvb-usb-v2/dvb_usb_core.c
1047
d->adapter[i].suspend_resume_active = true;
drivers/media/usb/dvb-usb-v2/dvb_usb_core.c
1053
usb_urb_killv2(&d->adapter[i].stream);
drivers/media/usb/dvb-usb-v2/dvb_usb_core.c
1070
active_fe = d->adapter[i].active_fe;
drivers/media/usb/dvb-usb-v2/dvb_usb_core.c
1071
if (d->adapter[i].dvb_adap.priv && active_fe != -1) {
drivers/media/usb/dvb-usb-v2/dvb_usb_core.c
1072
fe = d->adapter[i].fe[active_fe];
drivers/media/usb/dvb-usb-v2/dvb_usb_core.c
1077
usb_urb_submitv2(&d->adapter[i].stream, NULL);
drivers/media/usb/dvb-usb-v2/dvb_usb_core.c
1082
d->adapter[i].suspend_resume_active = false;
drivers/media/usb/dvb-usb-v2/dvb_usb_core.c
759
adap = &d->adapter[i];
drivers/media/usb/dvb-usb-v2/dvb_usb_core.c
761
adap->props = &d->props->adapter[i];
drivers/media/usb/dvb-usb-v2/dvb_usb_core.c
826
if (d->adapter[i].props) {
drivers/media/usb/dvb-usb-v2/dvb_usb_core.c
827
dvb_usbv2_adapter_dvb_exit(&d->adapter[i]);
drivers/media/usb/dvb-usb-v2/dvb_usb_core.c
828
dvb_usbv2_adapter_stream_exit(&d->adapter[i]);
drivers/media/usb/dvb-usb-v2/dvb_usb_core.c
829
dvb_usbv2_adapter_frontend_exit(&d->adapter[i]);
drivers/media/usb/dvb-usb-v2/dvb_usb_core.c
830
dvb_usbv2_media_device_unregister(&d->adapter[i]);
drivers/media/usb/dvb-usb-v2/dvbsky.c
167
static u32 dvbsky_i2c_func(struct i2c_adapter *adapter)
drivers/media/usb/dvb-usb-v2/dvbsky.c
645
.adapter = {
drivers/media/usb/dvb-usb-v2/dvbsky.c
672
.adapter = {
drivers/media/usb/dvb-usb-v2/dvbsky.c
699
.adapter = {
drivers/media/usb/dvb-usb-v2/dvbsky.c
726
.adapter = {
drivers/media/usb/dvb-usb-v2/dvbsky.c
752
.adapter = {
drivers/media/usb/dvb-usb-v2/ec168.c
174
static u32 ec168_i2c_func(struct i2c_adapter *adapter)
drivers/media/usb/dvb-usb-v2/ec168.c
340
.adapter = {
drivers/media/usb/dvb-usb-v2/gl861.c
160
static u32 gl861_i2c_functionality(struct i2c_adapter *adapter)
drivers/media/usb/dvb-usb-v2/gl861.c
224
.adapter = {
drivers/media/usb/dvb-usb-v2/gl861.c
543
.adapter = {
drivers/media/usb/dvb-usb-v2/lmedm04.c
1228
.adapter = {
drivers/media/usb/dvb-usb-v2/lmedm04.c
557
static u32 lme2510_i2c_func(struct i2c_adapter *adapter)
drivers/media/usb/dvb-usb-v2/mxl111sf.c
1101
.adapter = {
drivers/media/usb/dvb-usb-v2/mxl111sf.c
1143
.adapter = {
drivers/media/usb/dvb-usb-v2/mxl111sf.c
1185
.adapter = {
drivers/media/usb/dvb-usb-v2/mxl111sf.c
1254
.adapter = {
drivers/media/usb/dvb-usb-v2/mxl111sf.c
1333
.adapter = {
drivers/media/usb/dvb-usb-v2/mxl111sf.c
1404
.adapter = {
drivers/media/usb/dvb-usb-v2/mxl111sf.c
909
static u32 mxl111sf_i2c_func(struct i2c_adapter *adapter)
drivers/media/usb/dvb-usb-v2/rtl28xxu.c
1035
struct i2c_adapter *adapter;
drivers/media/usb/dvb-usb-v2/rtl28xxu.c
1037
si2168_config.i2c_adapter = &adapter;
drivers/media/usb/dvb-usb-v2/rtl28xxu.c
1901
.adapter = {
drivers/media/usb/dvb-usb-v2/rtl28xxu.c
288
static u32 rtl28xxu_i2c_func(struct i2c_adapter *adapter)
drivers/media/usb/dvb-usb-v2/rtl28xxu.c
871
struct i2c_adapter *adapter = adapter_priv;
drivers/media/usb/dvb-usb-v2/rtl28xxu.c
872
struct device *parent = adapter->dev.parent;
drivers/media/usb/dvb-usb-v2/zd1301.c
131
struct i2c_adapter *adapter;
drivers/media/usb/dvb-usb-v2/zd1301.c
160
adapter = zd1301_demod_get_i2c_adapter(pdev);
drivers/media/usb/dvb-usb-v2/zd1301.c
162
if (!adapter || !frontend) {
drivers/media/usb/dvb-usb-v2/zd1301.c
175
client = i2c_new_client_device(adapter, &board_info);
drivers/media/usb/dvb-usb-v2/zd1301.c
259
.adapter = {
drivers/media/usb/dvb-usb/a800.c
95
.adapter = {
drivers/media/usb/dvb-usb/af9005.c
1028
.adapter = {
drivers/media/usb/dvb-usb/af9005.c
443
static u32 af9005_i2c_func(struct i2c_adapter *adapter)
drivers/media/usb/dvb-usb/az6027.c
1060
static u32 az6027_i2c_func(struct i2c_adapter *adapter)
drivers/media/usb/dvb-usb/az6027.c
1133
.adapter = {
drivers/media/usb/dvb-usb/cinergyT2-core.c
210
.adapter = {
drivers/media/usb/dvb-usb/cxusb.c
1268
d->props.adapter[0].fe[0].stream.endpoint));
drivers/media/usb/dvb-usb/cxusb.c
1329
d->props.adapter[0].fe[0].stream.endpoint));
drivers/media/usb/dvb-usb/cxusb.c
1730
.adapter = {
drivers/media/usb/dvb-usb/cxusb.c
1781
.adapter = {
drivers/media/usb/dvb-usb/cxusb.c
1841
.adapter = {
drivers/media/usb/dvb-usb/cxusb.c
1908
.adapter = {
drivers/media/usb/dvb-usb/cxusb.c
1967
.adapter = {
drivers/media/usb/dvb-usb/cxusb.c
2020
.adapter = {
drivers/media/usb/dvb-usb/cxusb.c
2074
.adapter = {
drivers/media/usb/dvb-usb/cxusb.c
2131
.adapter = {
drivers/media/usb/dvb-usb/cxusb.c
2185
.adapter = {
drivers/media/usb/dvb-usb/cxusb.c
2230
.adapter = {
drivers/media/usb/dvb-usb/cxusb.c
2284
.adapter = {
drivers/media/usb/dvb-usb/cxusb.c
2339
.adapter = {
drivers/media/usb/dvb-usb/cxusb.c
284
static u32 cxusb_i2c_func(struct i2c_adapter *adapter)
drivers/media/usb/dvb-usb/cxusb.c
479
struct usb_data_stream_properties *p = &d->props.adapter[0].fe[0].stream;
drivers/media/usb/dvb-usb/dib0700_core.c
365
static u32 dib0700_i2c_func(struct i2c_adapter *adapter)
drivers/media/usb/dvb-usb/dib0700_core.c
568
dib0700_devices[i].adapter[adap_num].fe[0].stream.u.bulk.buffersize = 188*nb_packet_buffer_size;
drivers/media/usb/dvb-usb/dib0700_core.c
572
dib0700_devices[i].adapter[adap_num].fe[0].stream.u.bulk.buffersize = ((188*nb_packet_buffer_size+188/2)/512)*512;
drivers/media/usb/dvb-usb/dib0700_core.c
573
if (dib0700_devices[i].adapter[adap_num].fe[0].stream.u.bulk.buffersize < 512)
drivers/media/usb/dvb-usb/dib0700_core.c
574
dib0700_devices[i].adapter[adap_num].fe[0].stream.u.bulk.buffersize = 512;
drivers/media/usb/dvb-usb/dib0700_devices.c
1326
static int stk80xx_pid_filter(struct dvb_usb_adapter *adapter, int index,
drivers/media/usb/dvb-usb/dib0700_devices.c
1329
struct dib0700_adapter_state *state = adapter->priv;
drivers/media/usb/dvb-usb/dib0700_devices.c
1331
return state->dib8000_ops.pid_filter(adapter->fe_adap[0].fe, index, pid, onoff);
drivers/media/usb/dvb-usb/dib0700_devices.c
1334
static int stk80xx_pid_filter_ctrl(struct dvb_usb_adapter *adapter,
drivers/media/usb/dvb-usb/dib0700_devices.c
1337
struct dib0700_adapter_state *state = adapter->priv;
drivers/media/usb/dvb-usb/dib0700_devices.c
1339
return state->dib8000_ops.pid_filter_ctrl(adapter->fe_adap[0].fe, onoff);
drivers/media/usb/dvb-usb/dib0700_devices.c
2194
static int dib90x0_pid_filter(struct dvb_usb_adapter *adapter, int index, u16 pid, int onoff)
drivers/media/usb/dvb-usb/dib0700_devices.c
2196
return dib9000_fw_pid_filter(adapter->fe_adap[0].fe, index, pid, onoff);
drivers/media/usb/dvb-usb/dib0700_devices.c
2199
static int dib90x0_pid_filter_ctrl(struct dvb_usb_adapter *adapter, int onoff)
drivers/media/usb/dvb-usb/dib0700_devices.c
2201
return dib9000_fw_pid_filter_ctrl(adapter->fe_adap[0].fe, onoff);
drivers/media/usb/dvb-usb/dib0700_devices.c
3141
if (adap->dev->adapter[0].fe_adap[0].fe == NULL) {
drivers/media/usb/dvb-usb/dib0700_devices.c
3149
i2c = state->dib7000p_ops.get_i2c_master(adap->dev->adapter[0].fe_adap[0].fe, DIBX000_I2C_INTERFACE_GPIO_6_7, 1);
drivers/media/usb/dvb-usb/dib0700_devices.c
4039
.adapter = {
drivers/media/usb/dvb-usb/dib0700_devices.c
4103
.adapter = {
drivers/media/usb/dvb-usb/dib0700_devices.c
4143
.adapter = {
drivers/media/usb/dvb-usb/dib0700_devices.c
4208
.adapter = {
drivers/media/usb/dvb-usb/dib0700_devices.c
4253
.adapter = {
drivers/media/usb/dvb-usb/dib0700_devices.c
4334
.adapter = {
drivers/media/usb/dvb-usb/dib0700_devices.c
4379
.adapter = {
drivers/media/usb/dvb-usb/dib0700_devices.c
4436
.adapter = {
drivers/media/usb/dvb-usb/dib0700_devices.c
4502
.adapter = {
drivers/media/usb/dvb-usb/dib0700_devices.c
4551
.adapter = {
drivers/media/usb/dvb-usb/dib0700_devices.c
4623
.adapter = {
drivers/media/usb/dvb-usb/dib0700_devices.c
4659
.adapter = {
drivers/media/usb/dvb-usb/dib0700_devices.c
4685
.adapter = {
drivers/media/usb/dvb-usb/dib0700_devices.c
4735
.adapter = {
drivers/media/usb/dvb-usb/dib0700_devices.c
4779
.adapter = {
drivers/media/usb/dvb-usb/dib0700_devices.c
4828
.adapter = {
drivers/media/usb/dvb-usb/dib0700_devices.c
4865
.adapter = {
drivers/media/usb/dvb-usb/dib0700_devices.c
4902
.adapter = {
drivers/media/usb/dvb-usb/dib0700_devices.c
4939
.adapter = {
drivers/media/usb/dvb-usb/dib0700_devices.c
4976
.adapter = {
drivers/media/usb/dvb-usb/dib0700_devices.c
5013
.adapter = {
drivers/media/usb/dvb-usb/dib0700_devices.c
5064
.adapter = {
drivers/media/usb/dvb-usb/dib0700_devices.c
5099
.adapter = {
drivers/media/usb/dvb-usb/dib0700_devices.c
5136
.adapter = {
drivers/media/usb/dvb-usb/dib0700_devices.c
5174
.adapter = {
drivers/media/usb/dvb-usb/dib0700_devices.c
5228
.adapter = {
drivers/media/usb/dvb-usb/dib0700_devices.c
916
static int stk7700p_pid_filter(struct dvb_usb_adapter *adapter, int index,
drivers/media/usb/dvb-usb/dib0700_devices.c
919
struct dib0700_adapter_state *state = adapter->priv;
drivers/media/usb/dvb-usb/dib0700_devices.c
920
struct dib0700_state *st = adapter->dev->priv;
drivers/media/usb/dvb-usb/dib0700_devices.c
923
return state->dib7000p_ops.pid_filter(adapter->fe_adap[0].fe, index, pid, onoff);
drivers/media/usb/dvb-usb/dib0700_devices.c
924
return dib7000m_pid_filter(adapter->fe_adap[0].fe, index, pid, onoff);
drivers/media/usb/dvb-usb/dib0700_devices.c
927
static int stk7700p_pid_filter_ctrl(struct dvb_usb_adapter *adapter, int onoff)
drivers/media/usb/dvb-usb/dib0700_devices.c
929
struct dib0700_state *st = adapter->dev->priv;
drivers/media/usb/dvb-usb/dib0700_devices.c
930
struct dib0700_adapter_state *state = adapter->priv;
drivers/media/usb/dvb-usb/dib0700_devices.c
932
return state->dib7000p_ops.pid_filter_ctrl(adapter->fe_adap[0].fe, onoff);
drivers/media/usb/dvb-usb/dib0700_devices.c
933
return dib7000m_pid_filter_ctrl(adapter->fe_adap[0].fe, onoff);
drivers/media/usb/dvb-usb/dib0700_devices.c
936
static int stk70x0p_pid_filter(struct dvb_usb_adapter *adapter, int index, u16 pid, int onoff)
drivers/media/usb/dvb-usb/dib0700_devices.c
938
struct dib0700_adapter_state *state = adapter->priv;
drivers/media/usb/dvb-usb/dib0700_devices.c
939
return state->dib7000p_ops.pid_filter(adapter->fe_adap[0].fe, index, pid, onoff);
drivers/media/usb/dvb-usb/dib0700_devices.c
942
static int stk70x0p_pid_filter_ctrl(struct dvb_usb_adapter *adapter, int onoff)
drivers/media/usb/dvb-usb/dib0700_devices.c
944
struct dib0700_adapter_state *state = adapter->priv;
drivers/media/usb/dvb-usb/dib0700_devices.c
945
return state->dib7000p_ops.pid_filter_ctrl(adapter->fe_adap[0].fe, onoff);
drivers/media/usb/dvb-usb/dibusb-common.c
211
static u32 dibusb_i2c_func(struct i2c_adapter *adapter)
drivers/media/usb/dvb-usb/dibusb-mb.c
205
.adapter = {
drivers/media/usb/dvb-usb/dibusb-mb.c
295
.adapter = {
drivers/media/usb/dvb-usb/dibusb-mb.c
364
.adapter = {
drivers/media/usb/dvb-usb/dibusb-mb.c
427
.adapter = {
drivers/media/usb/dvb-usb/dibusb-mc.c
75
.adapter = {
drivers/media/usb/dvb-usb/digitv.c
318
.adapter = {
drivers/media/usb/dvb-usb/digitv.c
86
static u32 digitv_i2c_func(struct i2c_adapter *adapter)
drivers/media/usb/dvb-usb/dtt200u.c
197
.adapter = {
drivers/media/usb/dvb-usb/dtt200u.c
249
.adapter = {
drivers/media/usb/dvb-usb/dtt200u.c
301
.adapter = {
drivers/media/usb/dvb-usb/dtt200u.c
353
.adapter = {
drivers/media/usb/dvb-usb/dtv5100.c
100
static u32 dtv5100_i2c_func(struct i2c_adapter *adapter)
drivers/media/usb/dvb-usb/dtv5100.c
188
.adapter = {{
drivers/media/usb/dvb-usb/dvb-usb-init.c
127
dvb_usb_adapter_frontend_exit(&d->adapter[n]);
drivers/media/usb/dvb-usb/dvb-usb-init.c
128
dvb_usb_adapter_dvb_exit(&d->adapter[n]);
drivers/media/usb/dvb-usb/dvb-usb-init.c
129
dvb_usb_adapter_stream_exit(&d->adapter[n]);
drivers/media/usb/dvb-usb/dvb-usb-init.c
130
kfree(d->adapter[n].priv);
drivers/media/usb/dvb-usb/dvb-usb-init.c
32
adap = &d->adapter[n];
drivers/media/usb/dvb-usb/dvb-usb-init.c
36
memcpy(&adap->props, &d->props.adapter[n], sizeof(struct dvb_usb_adapter_properties));
drivers/media/usb/dvb-usb/dvb-usb.h
297
struct dvb_usb_adapter_properties adapter[MAX_NO_OF_ADAPTER_PER_DEVICE];
drivers/media/usb/dvb-usb/dvb-usb.h
484
struct dvb_usb_adapter adapter[MAX_NO_OF_ADAPTER_PER_DEVICE];
drivers/media/usb/dvb-usb/dw2102.c
1951
dw2102_properties.adapter->fe[0].tuner_attach = &dw2102_tuner_attach;
drivers/media/usb/dvb-usb/dw2102.c
2009
.adapter = {
drivers/media/usb/dvb-usb/dw2102.c
2064
.adapter = {
drivers/media/usb/dvb-usb/dw2102.c
2115
.adapter = {
drivers/media/usb/dvb-usb/dw2102.c
2163
.adapter = {
drivers/media/usb/dvb-usb/dw2102.c
2210
.adapter = {
drivers/media/usb/dvb-usb/dw2102.c
2257
.adapter = {
drivers/media/usb/dvb-usb/dw2102.c
2312
.adapter = {
drivers/media/usb/dvb-usb/dw2102.c
2360
.adapter = {
drivers/media/usb/dvb-usb/dw2102.c
2441
.adapter = {
drivers/media/usb/dvb-usb/dw2102.c
2494
.adapter = {
drivers/media/usb/dvb-usb/dw2102.c
2543
.adapter = {
drivers/media/usb/dvb-usb/dw2102.c
837
static u32 dw210x_i2c_func(struct i2c_adapter *adapter)
drivers/media/usb/dvb-usb/gp8psk.c
341
.adapter = {
drivers/media/usb/dvb-usb/m920x.c
1055
.adapter = {{
drivers/media/usb/dvb-usb/m920x.c
1127
.adapter = {{
drivers/media/usb/dvb-usb/m920x.c
1175
.adapter = {{
drivers/media/usb/dvb-usb/m920x.c
1232
.adapter = {{
drivers/media/usb/dvb-usb/m920x.c
317
static u32 m920x_i2c_func(struct i2c_adapter *adapter)
drivers/media/usb/dvb-usb/m920x.c
93
flags |= d->adapter[i].props.fe[0].caps;
drivers/media/usb/dvb-usb/m920x.c
944
.adapter = {{
drivers/media/usb/dvb-usb/m920x.c
98
epi = d->adapter[i].props.fe[0].stream.endpoint - 0x81;
drivers/media/usb/dvb-usb/m920x.c
992
.adapter = {{
drivers/media/usb/dvb-usb/nova-t-usb2.c
183
.adapter = {
drivers/media/usb/dvb-usb/opera1.c
153
static u32 opera1_i2c_func(struct i2c_adapter *adapter)
drivers/media/usb/dvb-usb/opera1.c
519
.adapter = {
drivers/media/usb/dvb-usb/pctv452e.c
1039
.adapter = {{
drivers/media/usb/dvb-usb/pctv452e.c
474
static int pctv452e_i2c_xfer(struct i2c_adapter *adapter, struct i2c_msg *msg,
drivers/media/usb/dvb-usb/pctv452e.c
477
struct dvb_usb_device *d = i2c_get_adapdata(adapter);
drivers/media/usb/dvb-usb/pctv452e.c
511
static u32 pctv452e_i2c_func(struct i2c_adapter *adapter)
drivers/media/usb/dvb-usb/pctv452e.c
986
.adapter = {{
drivers/media/usb/dvb-usb/technisat-usb2.c
197
static u32 technisat_usb2_i2c_func(struct i2c_adapter *adapter)
drivers/media/usb/dvb-usb/technisat-usb2.c
301
struct dvb_frontend *fe = state->dev->adapter[0].fe_adap[0].fe;
drivers/media/usb/dvb-usb/technisat-usb2.c
720
.adapter = {
drivers/media/usb/dvb-usb/ttusb2.c
432
static u32 ttusb2_i2c_func(struct i2c_adapter *adapter)
drivers/media/usb/dvb-usb/ttusb2.c
661
.adapter = {
drivers/media/usb/dvb-usb/ttusb2.c
716
.adapter = {
drivers/media/usb/dvb-usb/ttusb2.c
777
.adapter = {
drivers/media/usb/dvb-usb/umt-010.c
104
.adapter = {
drivers/media/usb/dvb-usb/vp702x.c
395
.adapter = {
drivers/media/usb/dvb-usb/vp7045.c
198
.adapter = {
drivers/media/usb/em28xx/em28xx-dvb.c
1000
dvb->adapter.priv = &dev->i2c_bus[dev->def_i2c_bus];
drivers/media/usb/em28xx/em28xx-dvb.c
1003
result = dvb_register_frontend(&dvb->adapter, dvb->fe[0]);
drivers/media/usb/em28xx/em28xx-dvb.c
1013
result = dvb_register_frontend(&dvb->adapter, dvb->fe[1]);
drivers/media/usb/em28xx/em28xx-dvb.c
1043
result = dvb_dmxdev_init(&dvb->dmxdev, &dvb->adapter);
drivers/media/usb/em28xx/em28xx-dvb.c
1078
dvb_net_init(&dvb->adapter, &dvb->net, &dvb->demux.dmx);
drivers/media/usb/em28xx/em28xx-dvb.c
1084
result = dvb_create_media_graph(&dvb->adapter, create_rf_connector);
drivers/media/usb/em28xx/em28xx-dvb.c
1109
dvb_unregister_adapter(&dvb->adapter);
drivers/media/usb/em28xx/em28xx-dvb.c
1127
dvb_unregister_adapter(&dvb->adapter);
drivers/media/usb/em28xx/em28xx-dvb.c
1283
struct i2c_adapter *adapter;
drivers/media/usb/em28xx/em28xx-dvb.c
1288
si2168_config.i2c_adapter = &adapter;
drivers/media/usb/em28xx/em28xx-dvb.c
1306
adapter,
drivers/media/usb/em28xx/em28xx-dvb.c
1320
struct i2c_adapter *adapter;
drivers/media/usb/em28xx/em28xx-dvb.c
1325
si2168_config.i2c_adapter = &adapter;
drivers/media/usb/em28xx/em28xx-dvb.c
1343
adapter,
drivers/media/usb/em28xx/em28xx-dvb.c
1387
struct i2c_adapter *adapter;
drivers/media/usb/em28xx/em28xx-dvb.c
1393
si2168_config.i2c_adapter = &adapter;
drivers/media/usb/em28xx/em28xx-dvb.c
1415
adapter,
drivers/media/usb/em28xx/em28xx-dvb.c
1428
struct i2c_adapter *adapter;
drivers/media/usb/em28xx/em28xx-dvb.c
1436
lgdt3306a_config.i2c_adapter = &adapter;
drivers/media/usb/em28xx/em28xx-dvb.c
1455
adapter,
drivers/media/usb/em28xx/em28xx-dvb.c
1899
struct i2c_adapter *adapter = &dev->i2c_adap[dev->def_i2c_bus];
drivers/media/usb/em28xx/em28xx-dvb.c
1913
adapter, 0x60,
drivers/media/usb/em28xx/em28xx-dvb.c
197
struct em28xx_i2c_bus *i2c_bus = dvb->adapter.priv;
drivers/media/usb/em28xx/em28xx-dvb.c
240
struct em28xx_i2c_bus *i2c_bus = dvb->adapter.priv;
drivers/media/usb/em28xx/em28xx-dvb.c
88
struct dvb_adapter adapter;
drivers/media/usb/em28xx/em28xx-dvb.c
982
result = dvb_register_adapter(&dvb->adapter,
drivers/media/usb/em28xx/em28xx-dvb.c
992
dvb->adapter.mdev = dev->media_dev;
drivers/media/usb/em28xx/em28xx-i2c.c
999
dev->i2c_client[bus].adapter = &dev->i2c_adap[bus];
drivers/media/usb/em28xx/em28xx-input.c
172
if (i2c_transfer(i2c_dev->adapter, msg, 2) != 2)
drivers/media/usb/em28xx/em28xx-input.c
179
if (i2c_transfer(i2c_dev->adapter, msg, 2) != 2)
drivers/media/usb/em28xx/em28xx-input.c
771
ir->i2c_client->adapter = &ir->dev->i2c_adap[dev->def_i2c_bus];
drivers/media/usb/go7007/go7007-driver.c
197
static int init_i2c_module(struct i2c_adapter *adapter, const struct go_i2c *const i2c)
drivers/media/usb/go7007/go7007-driver.c
199
struct go7007 *go = i2c_get_adapdata(adapter);
drivers/media/usb/go7007/go7007-driver.c
209
sd = v4l2_i2c_new_subdev_board(v4l2_dev, adapter, &info, NULL);
drivers/media/usb/go7007/go7007-i2c.c
136
static int go7007_smbus_xfer(struct i2c_adapter *adapter, u16 addr,
drivers/media/usb/go7007/go7007-i2c.c
140
struct go7007 *go = i2c_get_adapdata(adapter);
drivers/media/usb/go7007/go7007-i2c.c
153
static int go7007_i2c_master_xfer(struct i2c_adapter *adapter,
drivers/media/usb/go7007/go7007-i2c.c
156
struct go7007 *go = i2c_get_adapdata(adapter);
drivers/media/usb/go7007/go7007-i2c.c
187
static u32 go7007_functionality(struct i2c_adapter *adapter)
drivers/media/usb/go7007/go7007-usb.c
1020
static u32 go7007_usb_functionality(struct i2c_adapter *adapter)
drivers/media/usb/go7007/go7007-usb.c
949
static int go7007_usb_i2c_master_xfer(struct i2c_adapter *adapter,
drivers/media/usb/go7007/go7007-usb.c
952
struct go7007 *go = i2c_get_adapdata(adapter);
drivers/media/usb/go7007/s2250-board.c
153
struct go7007 *go = i2c_get_adapdata(client->adapter);
drivers/media/usb/go7007/s2250-board.c
187
struct go7007 *go = i2c_get_adapdata(client->adapter);
drivers/media/usb/go7007/s2250-board.c
251
struct go7007 *go = i2c_get_adapdata(client->adapter);
drivers/media/usb/go7007/s2250-board.c
500
struct i2c_adapter *adapter = client->adapter;
drivers/media/usb/go7007/s2250-board.c
504
struct go7007 *go = i2c_get_adapdata(adapter);
drivers/media/usb/go7007/s2250-board.c
508
audio = i2c_new_dummy_device(adapter, TLV320_ADDRESS >> 1);
drivers/media/usb/go7007/s2250-board.c
522
"Sensoray 2250/2251", client->addr, client->adapter->name);
drivers/media/usb/hdpvr/hdpvr-i2c.c
138
static u32 hdpvr_functionality(struct i2c_adapter *adapter)
drivers/media/usb/pvrusb2/pvrusb2-devattr.c
560
struct i2c_adapter *adapter;
drivers/media/usb/pvrusb2/pvrusb2-devattr.c
565
si2168_config.i2c_adapter = &adapter;
drivers/media/usb/pvrusb2/pvrusb2-devattr.c
584
struct i2c_adapter *adapter;
drivers/media/usb/pvrusb2/pvrusb2-devattr.c
589
lgdt3306a_config.i2c_adapter = &adapter;
drivers/media/usb/stk1160/stk1160-i2c.c
265
dev->i2c_client.adapter = &dev->i2c_adap;
drivers/media/usb/ttusb-budget/dvb-ttusb-budget.c
1582
if (dvb_register_frontend(&ttusb->adapter, ttusb->fe)) {
drivers/media/usb/ttusb-budget/dvb-ttusb-budget.c
1636
result = dvb_register_adapter(&ttusb->adapter,
drivers/media/usb/ttusb-budget/dvb-ttusb-budget.c
1644
ttusb->adapter.priv = ttusb;
drivers/media/usb/ttusb-budget/dvb-ttusb-budget.c
1686
result = dvb_dmxdev_init(&ttusb->dmxdev, &ttusb->adapter);
drivers/media/usb/ttusb-budget/dvb-ttusb-budget.c
1694
if (dvb_net_init(&ttusb->adapter, &ttusb->dvbnet, &ttusb->dvb_demux.dmx)) {
drivers/media/usb/ttusb-budget/dvb-ttusb-budget.c
1713
dvb_unregister_adapter (&ttusb->adapter);
drivers/media/usb/ttusb-budget/dvb-ttusb-budget.c
1738
dvb_unregister_adapter(&ttusb->adapter);
drivers/media/usb/ttusb-budget/dvb-ttusb-budget.c
233
static int master_xfer(struct i2c_adapter* adapter, struct i2c_msg *msg, int num)
drivers/media/usb/ttusb-budget/dvb-ttusb-budget.c
235
struct ttusb *ttusb = i2c_get_adapdata(adapter);
drivers/media/usb/ttusb-budget/dvb-ttusb-budget.c
963
static u32 functionality(struct i2c_adapter *adapter)
drivers/media/usb/ttusb-budget/dvb-ttusb-budget.c
99
struct dvb_adapter adapter;
drivers/media/usb/ttusb-dec/ttusb_dec.c
1461
if ((result = dvb_register_adapter(&dec->adapter,
drivers/media/usb/ttusb-dec/ttusb_dec.c
1484
dvb_unregister_adapter(&dec->adapter);
drivers/media/usb/ttusb-dec/ttusb_dec.c
1493
if ((result = dvb_dmxdev_init(&dec->dmxdev, &dec->adapter)) < 0) {
drivers/media/usb/ttusb-dec/ttusb_dec.c
1498
dvb_unregister_adapter(&dec->adapter);
drivers/media/usb/ttusb-dec/ttusb_dec.c
1512
dvb_unregister_adapter(&dec->adapter);
drivers/media/usb/ttusb-dec/ttusb_dec.c
1525
dvb_unregister_adapter(&dec->adapter);
drivers/media/usb/ttusb-dec/ttusb_dec.c
1530
dvb_net_init(&dec->adapter, &dec->dvb_net, &dec->demux.dmx);
drivers/media/usb/ttusb-dec/ttusb_dec.c
1548
dvb_unregister_adapter(&dec->adapter);
drivers/media/usb/ttusb-dec/ttusb_dec.c
1678
dec->adapter.priv = dec;
drivers/media/usb/ttusb-dec/ttusb_dec.c
1695
if (dvb_register_frontend(&dec->adapter, dec->fe)) {
drivers/media/usb/ttusb-dec/ttusb_dec.c
97
struct dvb_adapter adapter;
drivers/media/v4l2-core/tuner-core.c
326
&t->fe, t->i2c->adapter, t->i2c->addr))
drivers/media/v4l2-core/tuner-core.c
331
if (!dvb_attach(tda829x_attach, &t->fe, t->i2c->adapter,
drivers/media/v4l2-core/tuner-core.c
338
t->i2c->adapter, t->i2c->addr))
drivers/media/v4l2-core/tuner-core.c
344
t->i2c->adapter, t->i2c->addr))
drivers/media/v4l2-core/tuner-core.c
360
t->i2c->adapter, t->i2c->addr, t->type))
drivers/media/v4l2-core/tuner-core.c
370
t->i2c->adapter, t->i2c->addr, t->type))
drivers/media/v4l2-core/tuner-core.c
376
.i2c_adap = t->i2c->adapter,
drivers/media/v4l2-core/tuner-core.c
386
&t->fe, t->i2c->adapter, t->i2c->addr))
drivers/media/v4l2-core/tuner-core.c
398
&t->fe, t->i2c->adapter, &xc5000_cfg))
drivers/media/v4l2-core/tuner-core.c
413
&t->fe, t->i2c->adapter, &xc5000c_cfg))
drivers/media/v4l2-core/tuner-core.c
425
t->i2c->adapter, &cfg))
drivers/media/v4l2-core/tuner-core.c
442
&t->fe, t->i2c->adapter, &xc4000_cfg))
drivers/media/v4l2-core/tuner-core.c
449
t->i2c->adapter, t->i2c->addr, t->type))
drivers/media/v4l2-core/tuner-core.c
495
c->adapter->name, c->dev.driver->name, c->addr << 1, type,
drivers/media/v4l2-core/tuner-core.c
597
if (pos->i2c->adapter != adap ||
drivers/media/v4l2-core/tuner-core.c
663
t->i2c->adapter,
drivers/media/v4l2-core/tuner-core.c
667
tuner_lookup(t->i2c->adapter, &radio, &tv);
drivers/media/v4l2-core/tuner-core.c
681
if (tuner_symbol_probe(tda829x_probe, t->i2c->adapter,
drivers/media/v4l2-core/tuner-core.c
693
t->i2c->adapter, t->i2c->addr)
drivers/media/v4l2-core/tuner-core.c
698
tuner_lookup(t->i2c->adapter, &radio, &tv);
drivers/media/v4l2-core/tuner-core.c
715
tuner_lookup(t->i2c->adapter, &radio, &tv);
drivers/media/v4l2-core/tuner-core.c
89
i2c_adapter_id(t->i2c->adapter), t->i2c->addr
drivers/media/v4l2-core/v4l2-async.c
74
match->i2c.adapter_id == client->adapter->nr &&
drivers/media/v4l2-core/v4l2-i2c.c
121
struct i2c_adapter *adapter,
drivers/media/v4l2-core/v4l2-i2c.c
136
return v4l2_i2c_new_subdev_board(v4l2_dev, adapter, &info,
drivers/media/v4l2-core/v4l2-i2c.c
42
i2c_adapter_id(client->adapter), client->addr);
drivers/media/v4l2-core/v4l2-i2c.c
64
struct i2c_adapter *adapter,
drivers/media/v4l2-core/v4l2-i2c.c
78
client = i2c_new_scanned_device(adapter, info, probe_addrs,
drivers/media/v4l2-core/v4l2-i2c.c
81
client = i2c_new_client_device(adapter, info);
drivers/mfd/88pm800.c
417
subchip->power_page = i2c_new_dummy_device(client->adapter,
drivers/mfd/88pm800.c
436
subchip->gpadc_page = i2c_new_dummy_device(client->adapter,
drivers/mfd/88pm860x-core.c
1178
chip->companion = i2c_new_dummy_device(chip->client->adapter,
drivers/mfd/88pm860x-i2c.c
123
struct i2c_adapter *adap = i2c->adapter;
drivers/mfd/88pm860x-i2c.c
146
i2c_lock_bus(i2c->adapter, I2C_LOCK_SEGMENT);
drivers/mfd/88pm860x-i2c.c
153
i2c_unlock_bus(i2c->adapter, I2C_LOCK_SEGMENT);
drivers/mfd/88pm860x-i2c.c
164
i2c_lock_bus(i2c->adapter, I2C_LOCK_SEGMENT);
drivers/mfd/88pm860x-i2c.c
171
i2c_unlock_bus(i2c->adapter, I2C_LOCK_SEGMENT);
drivers/mfd/88pm860x-i2c.c
88
struct i2c_adapter *adap = i2c->adapter;
drivers/mfd/adp5520.c
215
if (!i2c_check_functionality(client->adapter,
drivers/mfd/bcm590xx.c
114
bcm590xx->i2c_sec = i2c_new_dummy_device(i2c_pri->adapter,
drivers/mfd/da9062-core.c
637
if (i2c_check_functionality(i2c->adapter, I2C_FUNC_I2C)) {
drivers/mfd/da9063-i2c.c
100
ret = i2c_transfer(client->adapter, xfer, DA9063_PAGED_READ_MSG_CNT);
drivers/mfd/da9063-i2c.c
463
if (i2c_check_functionality(i2c->adapter, I2C_FUNC_I2C)) {
drivers/mfd/da9063-i2c.c
473
devm_i2c_new_dummy_device(&i2c->dev, i2c->adapter, i2c->addr + 1);
drivers/mfd/da9063-i2c.c
77
ret = i2c_transfer(client->adapter, xfer, DA9063_PAGE_SEL_CNT);
drivers/mfd/da9150-core.c
40
ret = i2c_transfer(client->adapter, &xfer, 1);
drivers/mfd/da9150-core.c
422
da9150->core_qif = i2c_new_dummy_device(client->adapter, qif_addr);
drivers/mfd/da9150-core.c
54
ret = i2c_transfer(client->adapter, &xfer, 1);
drivers/mfd/da9150-core.c
83
ret = i2c_transfer(client->adapter, &xfer, 1);
drivers/mfd/gateworks-gsc.c
227
gsc->i2c_hwmon = devm_i2c_new_dummy_device(dev, client->adapter,
drivers/mfd/max14577.c
299
max14577->i2c_pmic = i2c_new_dummy_device(max14577->i2c->adapter,
drivers/mfd/max77693.c
182
max77693->i2c_muic = i2c_new_dummy_device(i2c->adapter, I2C_ADDR_MUIC);
drivers/mfd/max77693.c
189
max77693->i2c_haptic = i2c_new_dummy_device(i2c->adapter, I2C_ADDR_HAPTIC);
drivers/mfd/max77759.c
445
client->adapter,
drivers/mfd/max77843.c
72
max77843->i2c_chg = i2c_new_dummy_device(max77843->i2c->adapter, I2C_ADDR_CHG);
drivers/mfd/max8907.c
213
max8907->i2c_rtc = i2c_new_dummy_device(i2c->adapter, MAX8907_RTC_I2C_ADDR);
drivers/mfd/max8925-i2c.c
177
chip->rtc = i2c_new_dummy_device(chip->i2c->adapter, RTC_I2C_ADDR);
drivers/mfd/max8925-i2c.c
184
chip->adc = i2c_new_dummy_device(chip->i2c->adapter, ADC_I2C_ADDR);
drivers/mfd/max8997.c
176
max8997->rtc = i2c_new_dummy_device(i2c->adapter, I2C_ADDR_RTC);
drivers/mfd/max8997.c
183
max8997->haptic = i2c_new_dummy_device(i2c->adapter, I2C_ADDR_HAPTIC);
drivers/mfd/max8997.c
191
max8997->muic = i2c_new_dummy_device(i2c->adapter, I2C_ADDR_MUIC);
drivers/mfd/max8998.c
185
max8998->rtc = i2c_new_dummy_device(i2c->adapter, RTC_I2C_ADDR);
drivers/mfd/menelaus.c
904
status = i2c_transfer(the_menelaus->client->adapter, msg, 2);
drivers/mfd/menelaus.c
959
status = i2c_transfer(the_menelaus->client->adapter, msg, 2);
drivers/mfd/menf21bmc.c
57
ret = i2c_check_functionality(client->adapter,
drivers/mfd/mt6360-core.c
543
client->adapter,
drivers/mfd/mt6370.c
242
usbc_i2c = devm_i2c_new_dummy_device(dev, i2c->adapter,
drivers/mfd/ntxec.c
52
res = i2c_transfer(poweroff_restart_client->adapter, msgs, ARRAY_SIZE(msgs));
drivers/mfd/ntxec.c
86
res = i2c_transfer(poweroff_restart_client->adapter, msgs, ARRAY_SIZE(msgs));
drivers/mfd/palmas.c
524
i2c_new_dummy_device(i2c->adapter,
drivers/mfd/qcom-pm8008.c
204
dummy = devm_i2c_new_dummy_device(dev, client->adapter, client->addr + 1);
drivers/mfd/rohm-bd71828.c
905
secondary_i2c = devm_i2c_new_dummy_device(&i2c->dev, i2c->adapter,
drivers/mfd/rsmu_i2c.c
292
if (i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) {
drivers/mfd/rsmu_i2c.c
294
} else if (i2c_check_functionality(client->adapter,
drivers/mfd/rsmu_i2c.c
96
cnt = i2c_transfer(client->adapter, msg, 2);
drivers/mfd/si476x-cmd.c
274
if (!client->adapter) {
drivers/mfd/si476x-i2c.c
822
(client->adapter->nr << 8) + client->addr,
drivers/mfd/smpro-core.c
62
ret = i2c_transfer(i2c->adapter, xfer, 2);
drivers/mfd/tc3589x.c
373
if (!i2c_check_functionality(i2c->adapter, I2C_FUNC_SMBUS_BYTE_DATA
drivers/mfd/tps65010.c
532
if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/mfd/tps6507x.c
55
ret = i2c_transfer(i2c->adapter, xfer, 2);
drivers/mfd/tps6594-i2c.c
105
return tps6594_i2c_transfer(client->adapter, &msg, 1);
drivers/mfd/tps6594-i2c.c
144
return tps6594_i2c_transfer(client->adapter, msgs, 2);
drivers/mfd/tps6594-i2c.c
185
ret = tps6594_i2c_transfer(client->adapter, &msg, 1);
drivers/mfd/tps6594-i2c.c
70
ret = tps6594_i2c_transfer(client->adapter, msgs, 2);
drivers/mfd/twl-core.c
757
if (i2c_check_functionality(client->adapter, I2C_FUNC_I2C) == 0) {
drivers/mfd/twl-core.c
796
twl->client = i2c_new_dummy_device(client->adapter,
drivers/misc/ad525x_dpot-i2c.c
61
if (!i2c_check_functionality(client->adapter,
drivers/misc/ds1682.c
240
if (!i2c_check_functionality(client->adapter,
drivers/misc/eeprom/at24.c
533
base_client->adapter,
drivers/misc/eeprom/at24.c
593
i2c_new_client_device(client->adapter, &info);
drivers/misc/eeprom/at24.c
612
i2c_fn_i2c = i2c_check_functionality(client->adapter, I2C_FUNC_I2C);
drivers/misc/eeprom/at24.c
613
i2c_fn_block = i2c_check_functionality(client->adapter,
drivers/misc/eeprom/ee1004.c
214
i2c_new_scanned_device(client->adapter, &info, addr_list, NULL);
drivers/misc/eeprom/ee1004.c
241
bd = ee1004_get_bus_data(client->adapter);
drivers/misc/eeprom/ee1004.c
253
cl = i2c_new_dummy_device(client->adapter, EE1004_ADDR_SET_PAGE + cnr);
drivers/misc/eeprom/ee1004.c
301
if (!i2c_check_functionality(client->adapter,
drivers/misc/eeprom/ee1004.c
303
!i2c_check_functionality(client->adapter,
drivers/misc/eeprom/idt_89hpesx.c
1151
if (i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_PEC)) {
drivers/misc/eeprom/idt_89hpesx.c
1178
struct i2c_adapter *adapter = pdev->client->adapter;
drivers/misc/eeprom/idt_89hpesx.c
1182
if (i2c_check_functionality(adapter,
drivers/misc/eeprom/idt_89hpesx.c
1186
} else if (i2c_check_functionality(adapter,
drivers/misc/eeprom/idt_89hpesx.c
1190
} else if (i2c_check_functionality(adapter,
drivers/misc/eeprom/idt_89hpesx.c
1192
i2c_check_functionality(adapter,
drivers/misc/eeprom/idt_89hpesx.c
1196
} else if (i2c_check_functionality(adapter,
drivers/misc/eeprom/idt_89hpesx.c
1206
if (i2c_check_functionality(adapter,
drivers/misc/eeprom/idt_89hpesx.c
1210
} else if (i2c_check_functionality(adapter,
drivers/misc/eeprom/idt_89hpesx.c
1214
} else if (i2c_check_functionality(adapter,
drivers/misc/eeprom/idt_89hpesx.c
1216
i2c_check_functionality(adapter,
drivers/misc/eeprom/idt_89hpesx.c
1220
} else if (i2c_check_functionality(adapter,
drivers/misc/eeprom/m24lr.c
502
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C))
drivers/misc/eeprom/m24lr.c
518
eeprom_client = devm_i2c_new_dummy_device(dev, client->adapter, regs[1]);
drivers/misc/eeprom/max6875.c
135
struct i2c_adapter *adapter = client->adapter;
drivers/misc/eeprom/max6875.c
139
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_WRITE_BYTE_DATA
drivers/misc/eeprom/max6875.c
152
data->fake_client = i2c_new_dummy_device(client->adapter, client->addr + 1);
drivers/misc/eeprom/max6875.c
82
if (i2c_check_functionality(client->adapter,
drivers/misc/ibmvmc.c
1045
struct crq_server_adapter *adapter;
drivers/misc/ibmvmc.c
1069
adapter = hmc->adapter;
drivers/misc/ibmvmc.c
1070
if (!adapter) {
drivers/misc/ibmvmc.c
1076
dev_warn(adapter->dev, "invalid buffer size 0x%lx\n",
drivers/misc/ibmvmc.c
1106
dev_err(adapter->dev, "no buffer storage assigned\n");
drivers/misc/ibmvmc.c
1130
dev_dbg(adapter->dev, "write: file = 0x%lx, count = 0x%lx\n",
drivers/misc/ibmvmc.c
1133
ibmvmc_send_msg(adapter, vmc_buffer, hmc, count);
drivers/misc/ibmvmc.c
1189
hmc->adapter = &ibmvmc_adapter;
drivers/misc/ibmvmc.c
124
struct crq_server_adapter *adapter =
drivers/misc/ibmvmc.c
127
vio_disable_interrupts(to_vio_dev(adapter->dev));
drivers/misc/ibmvmc.c
128
tasklet_schedule(&adapter->work_task);
drivers/misc/ibmvmc.c
142
static void ibmvmc_release_crq_queue(struct crq_server_adapter *adapter)
drivers/misc/ibmvmc.c
1425
static int ibmvmc_add_buffer(struct crq_server_adapter *adapter,
drivers/misc/ibmvmc.c
144
struct vio_dev *vdev = to_vio_dev(adapter->dev);
drivers/misc/ibmvmc.c
1443
dev_err(adapter->dev, "add_buffer: invalid hmc_index = 0x%x\n",
drivers/misc/ibmvmc.c
1445
ibmvmc_send_add_buffer_resp(adapter, VMC_MSG_INVALID_HMC_INDEX,
drivers/misc/ibmvmc.c
145
struct crq_queue *queue = &adapter->queue;
drivers/misc/ibmvmc.c
1451
dev_err(adapter->dev, "add_buffer: invalid buffer_id = 0x%x\n",
drivers/misc/ibmvmc.c
1453
ibmvmc_send_add_buffer_resp(adapter, VMC_MSG_INVALID_BUFFER_ID,
drivers/misc/ibmvmc.c
1462
dev_warn(adapter->dev, "add_buffer: already allocated id = 0x%lx\n",
drivers/misc/ibmvmc.c
1465
ibmvmc_send_add_buffer_resp(adapter, VMC_MSG_INVALID_BUFFER_ID,
drivers/misc/ibmvmc.c
147
free_irq(vdev->irq, (void *)adapter);
drivers/misc/ibmvmc.c
1470
buffer->real_addr_local = alloc_dma_buffer(to_vio_dev(adapter->dev),
drivers/misc/ibmvmc.c
1475
dev_err(adapter->dev, "add_buffer: alloc_dma_buffer failed.\n");
drivers/misc/ibmvmc.c
1477
ibmvmc_send_add_buffer_resp(adapter, VMC_MSG_INTERFACE_FAILURE,
drivers/misc/ibmvmc.c
148
tasklet_kill(&adapter->work_task);
drivers/misc/ibmvmc.c
1491
dev_dbg(adapter->dev, "add_buffer: successfully added a buffer:\n");
drivers/misc/ibmvmc.c
1492
dev_dbg(adapter->dev, " index: %d, session: %d, buffer: 0x%x, owner: %d\n",
drivers/misc/ibmvmc.c
1494
dev_dbg(adapter->dev, " local: 0x%x, remote: 0x%x\n",
drivers/misc/ibmvmc.c
1499
ibmvmc_send_add_buffer_resp(adapter, VMC_MSG_SUCCESS, hmc_session,
drivers/misc/ibmvmc.c
150
if (adapter->reset_task)
drivers/misc/ibmvmc.c
151
kthread_stop(adapter->reset_task);
drivers/misc/ibmvmc.c
154
dma_unmap_single(adapter->dev,
drivers/misc/ibmvmc.c
1542
static int ibmvmc_rem_buffer(struct crq_server_adapter *adapter,
drivers/misc/ibmvmc.c
1559
dev_warn(adapter->dev, "rem_buffer: invalid hmc_index = 0x%x\n",
drivers/misc/ibmvmc.c
1561
ibmvmc_send_rem_buffer_resp(adapter, VMC_MSG_INVALID_HMC_INDEX,
drivers/misc/ibmvmc.c
1567
buffer = ibmvmc_get_free_hmc_buffer(adapter, hmc_index);
drivers/misc/ibmvmc.c
1569
dev_info(adapter->dev, "rem_buffer: no buffer to remove\n");
drivers/misc/ibmvmc.c
1571
ibmvmc_send_rem_buffer_resp(adapter, VMC_MSG_NO_BUFFER,
drivers/misc/ibmvmc.c
1580
free_dma_buffer(to_vio_dev(adapter->dev),
drivers/misc/ibmvmc.c
1588
dev_dbg(adapter->dev, "rem_buffer: removed buffer 0x%x.\n", buffer_id);
drivers/misc/ibmvmc.c
1589
ibmvmc_send_rem_buffer_resp(adapter, VMC_MSG_SUCCESS, hmc_session,
drivers/misc/ibmvmc.c
1595
static int ibmvmc_recv_msg(struct crq_server_adapter *adapter,
drivers/misc/ibmvmc.c
1611
dev_dbg(adapter->dev, "Recv_msg: msg from HV 0x%016llx 0x%016llx\n",
drivers/misc/ibmvmc.c
1621
dev_err(adapter->dev, "Recv_msg: invalid hmc_index = 0x%x\n",
drivers/misc/ibmvmc.c
1623
ibmvmc_send_add_buffer_resp(adapter, VMC_MSG_INVALID_HMC_INDEX,
drivers/misc/ibmvmc.c
1629
dev_err(adapter->dev, "Recv_msg: invalid buffer_id = 0x%x\n",
drivers/misc/ibmvmc.c
1631
ibmvmc_send_add_buffer_resp(adapter, VMC_MSG_INVALID_BUFFER_ID,
drivers/misc/ibmvmc.c
1640
dev_err(adapter->dev, "Recv_msg: invalid hmc state = 0x%x\n",
drivers/misc/ibmvmc.c
1650
dev_err(adapter->dev, "Recv_msg: not valid, or not HV. 0x%x 0x%x\n",
drivers/misc/ibmvmc.c
1658
adapter->riobn,
drivers/misc/ibmvmc.c
1660
adapter->liobn,
drivers/misc/ibmvmc.c
1663
dev_dbg(adapter->dev, "Recv_msg: msg_len = 0x%x, buffer_id = 0x%x, queue_head = 0x%x, hmc_idx = 0x%x\n",
drivers/misc/ibmvmc.c
1671
dev_err(adapter->dev, "Failure in recv_msg: h_copy_rdma = 0x%x\n",
drivers/misc/ibmvmc.c
1684
dev_err(adapter->dev, "outbound buffer queue wrapped.\n");
drivers/misc/ibmvmc.c
1700
static void ibmvmc_process_capabilities(struct crq_server_adapter *adapter,
drivers/misc/ibmvmc.c
1707
dev_err(adapter->dev, "init failed, incompatible versions 0x%x 0x%x\n",
drivers/misc/ibmvmc.c
172
static int ibmvmc_reset_crq_queue(struct crq_server_adapter *adapter)
drivers/misc/ibmvmc.c
1720
dev_info(adapter->dev, "Capabilities: mtu=0x%x, pool_size=0x%x, max_hmc=0x%x\n",
drivers/misc/ibmvmc.c
1735
static int ibmvmc_validate_hmc_session(struct crq_server_adapter *adapter,
drivers/misc/ibmvmc.c
174
struct vio_dev *vdev = to_vio_dev(adapter->dev);
drivers/misc/ibmvmc.c
1749
dev_warn(adapter->dev, "Drop, bad session: expected 0x%x, recv 0x%x\n",
drivers/misc/ibmvmc.c
175
struct crq_queue *queue = &adapter->queue;
drivers/misc/ibmvmc.c
1767
static void ibmvmc_reset(struct crq_server_adapter *adapter, bool xport_event)
drivers/misc/ibmvmc.c
1772
dev_info(adapter->dev, "*** Reset to initial state.\n");
drivers/misc/ibmvmc.c
1793
dev_dbg(adapter->dev, "Device reset scheduled");
drivers/misc/ibmvmc.c
1794
wake_up_interruptible(&adapter->reset_wait_queue);
drivers/misc/ibmvmc.c
1809
struct crq_server_adapter *adapter = data;
drivers/misc/ibmvmc.c
1815
wait_event_interruptible(adapter->reset_wait_queue,
drivers/misc/ibmvmc.c
1822
dev_dbg(adapter->dev, "CRQ resetting in process context");
drivers/misc/ibmvmc.c
1823
tasklet_disable(&adapter->work_task);
drivers/misc/ibmvmc.c
1825
rc = ibmvmc_reset_crq_queue(adapter);
drivers/misc/ibmvmc.c
1828
dev_err(adapter->dev, "Error initializing CRQ. rc = 0x%x\n",
drivers/misc/ibmvmc.c
1834
if (ibmvmc_send_crq(adapter, 0xC001000000000000LL, 0)
drivers/misc/ibmvmc.c
1836
dev_warn(adapter->dev, "Failed to send initialize CRQ message\n");
drivers/misc/ibmvmc.c
1839
vio_enable_interrupts(to_vio_dev(adapter->dev));
drivers/misc/ibmvmc.c
1840
tasklet_enable(&adapter->work_task);
drivers/misc/ibmvmc.c
1857
struct crq_server_adapter *adapter)
drivers/misc/ibmvmc.c
1865
ibmvmc_reset(adapter, false);
drivers/misc/ibmvmc.c
1870
dev_warn(adapter->dev, "open_resp: failed - status 0x%x\n",
drivers/misc/ibmvmc.c
1879
dev_err(adapter->dev, "open_resp: invalid buffer_id = 0x%x\n",
drivers/misc/ibmvmc.c
1886
dev_dbg(adapter->dev, "open_resp: set hmc state = ready\n");
drivers/misc/ibmvmc.c
1889
dev_warn(adapter->dev, "open_resp: invalid hmc state (0x%x)\n",
drivers/misc/ibmvmc.c
1907
struct crq_server_adapter *adapter)
drivers/misc/ibmvmc.c
191
dev_warn(adapter->dev, "Partner adapter not ready\n");
drivers/misc/ibmvmc.c
1913
ibmvmc_reset(adapter, false);
drivers/misc/ibmvmc.c
1918
dev_warn(adapter->dev, "close_resp: failed - status 0x%x\n",
drivers/misc/ibmvmc.c
1920
ibmvmc_reset(adapter, false);
drivers/misc/ibmvmc.c
193
dev_err(adapter->dev, "couldn't register crq--rc 0x%x\n", rc);
drivers/misc/ibmvmc.c
1936
static void ibmvmc_crq_process(struct crq_server_adapter *adapter,
drivers/misc/ibmvmc.c
1941
dev_dbg(adapter->dev, "CRQ recv: capabilities resp (0x%x)\n",
drivers/misc/ibmvmc.c
1944
ibmvmc_process_capabilities(adapter, crq);
drivers/misc/ibmvmc.c
1946
dev_warn(adapter->dev, "caps msg invalid in state 0x%x\n",
drivers/misc/ibmvmc.c
1950
dev_dbg(adapter->dev, "CRQ recv: open resp (0x%x)\n",
drivers/misc/ibmvmc.c
1952
if (ibmvmc_validate_hmc_session(adapter, crq) == 0)
drivers/misc/ibmvmc.c
1953
ibmvmc_process_open_resp(crq, adapter);
drivers/misc/ibmvmc.c
1956
dev_dbg(adapter->dev, "CRQ recv: add buf (0x%x)\n",
drivers/misc/ibmvmc.c
1958
if (ibmvmc_validate_hmc_session(adapter, crq) == 0)
drivers/misc/ibmvmc.c
1959
ibmvmc_add_buffer(adapter, crq);
drivers/misc/ibmvmc.c
1962
dev_dbg(adapter->dev, "CRQ recv: rem buf (0x%x)\n",
drivers/misc/ibmvmc.c
1964
if (ibmvmc_validate_hmc_session(adapter, crq) == 0)
drivers/misc/ibmvmc.c
1965
ibmvmc_rem_buffer(adapter, crq);
drivers/misc/ibmvmc.c
1968
dev_dbg(adapter->dev, "CRQ recv: signal msg (0x%x)\n",
drivers/misc/ibmvmc.c
1970
if (ibmvmc_validate_hmc_session(adapter, crq) == 0)
drivers/misc/ibmvmc.c
1971
ibmvmc_recv_msg(adapter, crq);
drivers/misc/ibmvmc.c
1974
dev_dbg(adapter->dev, "CRQ recv: close resp (0x%x)\n",
drivers/misc/ibmvmc.c
1976
if (ibmvmc_validate_hmc_session(adapter, crq) == 0)
drivers/misc/ibmvmc.c
1977
ibmvmc_process_close_resp(crq, adapter);
drivers/misc/ibmvmc.c
1984
dev_warn(adapter->dev, "CRQ recv: unexpected msg (0x%x)\n",
drivers/misc/ibmvmc.c
1988
dev_warn(adapter->dev, "CRQ recv: unknown msg (0x%x)\n",
drivers/misc/ibmvmc.c
2005
struct crq_server_adapter *adapter)
drivers/misc/ibmvmc.c
2009
dev_dbg(adapter->dev, "CRQ recv: CRQ init msg - state 0x%x\n",
drivers/misc/ibmvmc.c
2013
if (ibmvmc_send_crq(adapter, 0xC002000000000000,
drivers/misc/ibmvmc.c
2015
ibmvmc_send_capabilities(adapter);
drivers/misc/ibmvmc.c
2017
dev_err(adapter->dev, " Unable to send init rsp\n");
drivers/misc/ibmvmc.c
2019
dev_err(adapter->dev, "Invalid state 0x%x mtu = 0x%x\n",
drivers/misc/ibmvmc.c
2025
dev_dbg(adapter->dev, "CRQ recv: initialization resp msg - state 0x%x\n",
drivers/misc/ibmvmc.c
2028
ibmvmc_send_capabilities(adapter);
drivers/misc/ibmvmc.c
2031
dev_warn(adapter->dev, "Unknown crq message type 0x%lx\n",
drivers/misc/ibmvmc.c
2047
struct crq_server_adapter *adapter)
drivers/misc/ibmvmc.c
2051
ibmvmc_handle_crq_init(crq, adapter);
drivers/misc/ibmvmc.c
2054
dev_warn(adapter->dev, "CRQ recv: virtual adapter failed - resetting.\n");
drivers/misc/ibmvmc.c
2055
ibmvmc_reset(adapter, true);
drivers/misc/ibmvmc.c
2058
ibmvmc_crq_process(adapter, crq);
drivers/misc/ibmvmc.c
2061
dev_warn(adapter->dev, "CRQ recv: unknown msg 0x%02x.\n",
drivers/misc/ibmvmc.c
2069
struct crq_server_adapter *adapter =
drivers/misc/ibmvmc.c
2071
struct vio_dev *vdev = to_vio_dev(adapter->dev);
drivers/misc/ibmvmc.c
2077
while ((crq = crq_queue_next_crq(&adapter->queue)) != NULL) {
drivers/misc/ibmvmc.c
2078
ibmvmc_handle_crq(crq, adapter);
drivers/misc/ibmvmc.c
2088
crq = crq_queue_next_crq(&adapter->queue);
drivers/misc/ibmvmc.c
2091
ibmvmc_handle_crq(crq, adapter);
drivers/misc/ibmvmc.c
2113
static int ibmvmc_init_crq_queue(struct crq_server_adapter *adapter)
drivers/misc/ibmvmc.c
2115
struct vio_dev *vdev = to_vio_dev(adapter->dev);
drivers/misc/ibmvmc.c
2116
struct crq_queue *queue = &adapter->queue;
drivers/misc/ibmvmc.c
2127
queue->msg_token = dma_map_single(adapter->dev, queue->msgs,
drivers/misc/ibmvmc.c
2131
if (dma_mapping_error(adapter->dev, queue->msg_token))
drivers/misc/ibmvmc.c
2140
rc = ibmvmc_reset_crq_queue(adapter);
drivers/misc/ibmvmc.c
2143
dev_warn(adapter->dev, "Partner adapter not ready\n");
drivers/misc/ibmvmc.c
2146
dev_err(adapter->dev, "Error %d opening adapter\n", rc);
drivers/misc/ibmvmc.c
2153
tasklet_init(&adapter->work_task, ibmvmc_task, (unsigned long)adapter);
drivers/misc/ibmvmc.c
2157
0, "ibmvmc", (void *)adapter) != 0) {
drivers/misc/ibmvmc.c
2158
dev_err(adapter->dev, "couldn't register irq 0x%x\n",
drivers/misc/ibmvmc.c
2165
dev_err(adapter->dev, "Error %d enabling interrupts!!!\n", rc);
drivers/misc/ibmvmc.c
2175
tasklet_kill(&adapter->work_task);
drivers/misc/ibmvmc.c
2178
dma_unmap_single(adapter->dev,
drivers/misc/ibmvmc.c
2189
struct crq_server_adapter *adapter)
drivers/misc/ibmvmc.c
2202
dev_warn(adapter->dev, "Couldn't find ibm,my-dma-window property\n");
drivers/misc/ibmvmc.c
2206
adapter->liobn = be32_to_cpu(*dma_window);
drivers/misc/ibmvmc.c
2212
dev_warn(adapter->dev, "Couldn't find ibm,#dma-address-cells property\n");
drivers/misc/ibmvmc.c
2221
dev_warn(adapter->dev, "Couldn't find ibm,#dma-size-cells property\n");
drivers/misc/ibmvmc.c
2228
adapter->riobn = be32_to_cpu(*dma_window);
drivers/misc/ibmvmc.c
2235
struct crq_server_adapter *adapter = &ibmvmc_adapter;
drivers/misc/ibmvmc.c
2239
memset(adapter, 0, sizeof(*adapter));
drivers/misc/ibmvmc.c
2240
adapter->dev = &vdev->dev;
drivers/misc/ibmvmc.c
2242
dev_info(adapter->dev, "Probe for UA 0x%x\n", vdev->unit_address);
drivers/misc/ibmvmc.c
2244
rc = read_dma_window(vdev, adapter);
drivers/misc/ibmvmc.c
2250
dev_dbg(adapter->dev, "Probe: liobn 0x%x, riobn 0x%x\n",
drivers/misc/ibmvmc.c
2251
adapter->liobn, adapter->riobn);
drivers/misc/ibmvmc.c
2253
init_waitqueue_head(&adapter->reset_wait_queue);
drivers/misc/ibmvmc.c
2254
adapter->reset_task = kthread_run(ibmvmc_reset_task, adapter, "ibmvmc");
drivers/misc/ibmvmc.c
2255
if (IS_ERR(adapter->reset_task)) {
drivers/misc/ibmvmc.c
2256
dev_err(adapter->dev, "Failed to start reset thread\n");
drivers/misc/ibmvmc.c
2258
rc = PTR_ERR(adapter->reset_task);
drivers/misc/ibmvmc.c
2259
adapter->reset_task = NULL;
drivers/misc/ibmvmc.c
2263
rc = ibmvmc_init_crq_queue(adapter);
drivers/misc/ibmvmc.c
2265
dev_err(adapter->dev, "Error initializing CRQ. rc = 0x%x\n",
drivers/misc/ibmvmc.c
2277
if (ibmvmc_send_crq(adapter, 0xC001000000000000LL, 0) != 0 &&
drivers/misc/ibmvmc.c
2279
dev_warn(adapter->dev, "Failed to send initialize CRQ message\n");
drivers/misc/ibmvmc.c
2281
dev_set_drvdata(&vdev->dev, adapter);
drivers/misc/ibmvmc.c
2286
kthread_stop(adapter->reset_task);
drivers/misc/ibmvmc.c
2287
adapter->reset_task = NULL;
drivers/misc/ibmvmc.c
2293
struct crq_server_adapter *adapter = dev_get_drvdata(&vdev->dev);
drivers/misc/ibmvmc.c
2295
dev_info(adapter->dev, "Entering remove for UA 0x%x\n",
drivers/misc/ibmvmc.c
2297
ibmvmc_release_crq_queue(adapter);
drivers/misc/ibmvmc.c
240
static long ibmvmc_send_crq(struct crq_server_adapter *adapter,
drivers/misc/ibmvmc.c
243
struct vio_dev *vdev = to_vio_dev(adapter->dev);
drivers/misc/ibmvmc.c
246
dev_dbg(adapter->dev, "(0x%x, 0x%016llx, 0x%016llx)\n",
drivers/misc/ibmvmc.c
255
dev_dbg(adapter->dev, "rc = 0x%lx\n", rc);
drivers/misc/ibmvmc.c
356
static struct ibmvmc_buffer *ibmvmc_get_free_hmc_buffer(struct crq_server_adapter *adapter,
drivers/misc/ibmvmc.c
364
dev_info(adapter->dev, "get_free_hmc_buffer: invalid hmc_index=0x%x\n",
drivers/misc/ibmvmc.c
481
struct crq_server_adapter *adapter;
drivers/misc/ibmvmc.c
486
if (!hmc || !hmc->adapter)
drivers/misc/ibmvmc.c
498
adapter = hmc->adapter;
drivers/misc/ibmvmc.c
499
vdev = to_vio_dev(adapter->dev);
drivers/misc/ibmvmc.c
513
dev_dbg(adapter->dev, "Forgot buffer id 0x%lx\n", i);
drivers/misc/ibmvmc.c
547
struct crq_server_adapter *adapter;
drivers/misc/ibmvmc.c
551
if (!hmc || !hmc->adapter)
drivers/misc/ibmvmc.c
554
adapter = hmc->adapter;
drivers/misc/ibmvmc.c
556
dev_dbg(adapter->dev, "send_open: 0x%lx 0x%lx 0x%lx 0x%lx 0x%lx\n",
drivers/misc/ibmvmc.c
557
(unsigned long)buffer->size, (unsigned long)adapter->liobn,
drivers/misc/ibmvmc.c
559
(unsigned long)adapter->riobn,
drivers/misc/ibmvmc.c
563
adapter->liobn,
drivers/misc/ibmvmc.c
565
adapter->riobn,
drivers/misc/ibmvmc.c
568
dev_err(adapter->dev, "Error: In send_open, h_copy_rdma rc 0x%x\n",
drivers/misc/ibmvmc.c
585
ibmvmc_send_crq(adapter, be64_to_cpu(crq_as_u64[0]),
drivers/misc/ibmvmc.c
608
struct crq_server_adapter *adapter;
drivers/misc/ibmvmc.c
612
if (!hmc || !hmc->adapter)
drivers/misc/ibmvmc.c
615
adapter = hmc->adapter;
drivers/misc/ibmvmc.c
617
dev_info(adapter->dev, "CRQ send: close\n");
drivers/misc/ibmvmc.c
629
ibmvmc_send_crq(adapter, be64_to_cpu(crq_as_u64[0]),
drivers/misc/ibmvmc.c
651
static int ibmvmc_send_capabilities(struct crq_server_adapter *adapter)
drivers/misc/ibmvmc.c
656
dev_dbg(adapter->dev, "ibmvmc: CRQ send: capabilities\n");
drivers/misc/ibmvmc.c
665
crq_msg.crq_size = cpu_to_be16(adapter->queue.size);
drivers/misc/ibmvmc.c
668
ibmvmc_send_crq(adapter, be64_to_cpu(crq_as_u64[0]),
drivers/misc/ibmvmc.c
692
static int ibmvmc_send_add_buffer_resp(struct crq_server_adapter *adapter,
drivers/misc/ibmvmc.c
699
dev_dbg(adapter->dev, "CRQ send: add_buffer_resp\n");
drivers/misc/ibmvmc.c
710
ibmvmc_send_crq(adapter, be64_to_cpu(crq_as_u64[0]),
drivers/misc/ibmvmc.c
733
static int ibmvmc_send_rem_buffer_resp(struct crq_server_adapter *adapter,
drivers/misc/ibmvmc.c
740
dev_dbg(adapter->dev, "CRQ send: rem_buffer_resp\n");
drivers/misc/ibmvmc.c
751
ibmvmc_send_crq(adapter, be64_to_cpu(crq_as_u64[0]),
drivers/misc/ibmvmc.c
777
static int ibmvmc_send_msg(struct crq_server_adapter *adapter,
drivers/misc/ibmvmc.c
785
dev_dbg(adapter->dev, "CRQ send: rdma to HV\n");
drivers/misc/ibmvmc.c
787
adapter->liobn,
drivers/misc/ibmvmc.c
789
adapter->riobn,
drivers/misc/ibmvmc.c
792
dev_err(adapter->dev, "Error in send_msg, h_copy_rdma rc 0x%x\n",
drivers/misc/ibmvmc.c
805
dev_dbg(adapter->dev, "CRQ send: msg to HV 0x%llx 0x%llx\n",
drivers/misc/ibmvmc.c
809
ibmvmc_send_crq(adapter, be64_to_cpu(crq_as_u64[0]),
drivers/misc/ibmvmc.c
869
if (!hmc->adapter)
drivers/misc/ibmvmc.c
873
dev_warn(hmc->adapter->dev, "close: state_failed\n");
drivers/misc/ibmvmc.c
881
dev_warn(hmc->adapter->dev, "close: send_close failed.\n");
drivers/misc/ibmvmc.c
908
struct crq_server_adapter *adapter;
drivers/misc/ibmvmc.c
940
adapter = hmc->adapter;
drivers/misc/ibmvmc.c
941
if (!adapter) {
drivers/misc/ibmvmc.c
981
dev_dbg(adapter->dev, "read: copy to user nbytes = 0x%lx.\n", nbytes);
drivers/misc/ibmvmc.c
986
dev_warn(adapter->dev, "read: copy to user failed.\n");
drivers/misc/ibmvmc.c
992
dev_dbg(adapter->dev, "read: out %ld\n", retval);
drivers/misc/ibmvmc.h
176
struct crq_server_adapter *adapter;
drivers/misc/ibmvmc.h
188
struct crq_server_adapter *adapter;
drivers/misc/ics932s401.c
405
struct i2c_adapter *adapter = client->adapter;
drivers/misc/ics932s401.c
408
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/misc/ics932s401.c
424
dev_info(&adapter->dev, "Unknown revision %d\n", revision);
drivers/misc/isl29003.c
379
struct i2c_adapter *adapter = client->adapter;
drivers/misc/isl29003.c
383
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE))
drivers/misc/lis3lv02d/lis3lv02d_i2c.c
120
(i2c_check_functionality(client->adapter,
drivers/misc/ti_fpc202.c
348
priv->atr = i2c_atr_new(client->adapter, dev, &fpc202_atr_ops, 2, 0);
drivers/misc/tsl2550.c
336
struct i2c_adapter *adapter = client->adapter;
drivers/misc/tsl2550.c
340
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_WRITE_BYTE
drivers/mtd/maps/pismo.c
216
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) {
drivers/mtd/maps/pismo.c
83
ret = i2c_transfer(client->adapter, msg, ARRAY_SIZE(msg));
drivers/mux/adg792a.c
70
if (!i2c_check_functionality(i2c->adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/net/can/usb/peak_usb/pcan_usb_core.c
1003
if (dev->adapter->dev_set_bus) {
drivers/net/can/usb/peak_usb/pcan_usb_core.c
1004
err = dev->adapter->dev_set_bus(dev, 0);
drivers/net/can/usb/peak_usb/pcan_usb_core.c
1010
dev->adapter->dev_get_can_channel_id(dev, &dev->can_channel_id);
drivers/net/can/usb/peak_usb/pcan_usb_core.c
1018
if (dev->adapter->dev_free)
drivers/net/can/usb/peak_usb/pcan_usb_core.c
1019
dev->adapter->dev_free(dev);
drivers/net/can/usb/peak_usb/pcan_usb_core.c
1055
if (dev->adapter->dev_free)
drivers/net/can/usb/peak_usb/pcan_usb_core.c
1056
dev->adapter->dev_free(dev);
drivers/net/can/usb/peak_usb/pcan_usb_core.c
1127
if (dev->adapter->dev_exit)
drivers/net/can/usb/peak_usb/pcan_usb_core.c
1128
dev->adapter->dev_exit(dev);
drivers/net/can/usb/peak_usb/pcan_usb_core.c
114
delta_ts &= (1ULL << time_ref->adapter->ts_used_bits) - 1;
drivers/net/can/usb/peak_usb/pcan_usb_core.c
186
delta_ts = BIT_ULL(time_ref->adapter->ts_used_bits);
drivers/net/can/usb/peak_usb/pcan_usb_core.c
198
delta_ts = -BIT_ULL(time_ref->adapter->ts_used_bits);
drivers/net/can/usb/peak_usb/pcan_usb_core.c
208
delta_us = delta_ts * time_ref->adapter->us_per_ts_scale;
drivers/net/can/usb/peak_usb/pcan_usb_core.c
209
delta_us >>= time_ref->adapter->us_per_ts_shift;
drivers/net/can/usb/peak_usb/pcan_usb_core.c
264
if ((urb->actual_length > 0) && (dev->adapter->dev_decode_buf)) {
drivers/net/can/usb/peak_usb/pcan_usb_core.c
267
err = dev->adapter->dev_decode_buf(dev, urb);
drivers/net/can/usb/peak_usb/pcan_usb_core.c
278
urb->transfer_buffer, dev->adapter->rx_buffer_size,
drivers/net/can/usb/peak_usb/pcan_usb_core.c
361
size_t size = dev->adapter->tx_buffer_size;
drivers/net/can/usb/peak_usb/pcan_usb_core.c
380
err = dev->adapter->dev_encode_msg(dev, skb, obuf, &size);
drivers/net/can/usb/peak_usb/pcan_usb_core.c
451
buf = kmalloc(dev->adapter->rx_buffer_size, GFP_KERNEL);
drivers/net/can/usb/peak_usb/pcan_usb_core.c
460
buf, dev->adapter->rx_buffer_size,
drivers/net/can/usb/peak_usb/pcan_usb_core.c
505
buf = kmalloc(dev->adapter->tx_buffer_size, GFP_KERNEL);
drivers/net/can/usb/peak_usb/pcan_usb_core.c
518
buf, dev->adapter->tx_buffer_size,
drivers/net/can/usb/peak_usb/pcan_usb_core.c
535
if (dev->adapter->dev_start) {
drivers/net/can/usb/peak_usb/pcan_usb_core.c
536
err = dev->adapter->dev_start(dev);
drivers/net/can/usb/peak_usb/pcan_usb_core.c
544
if (dev->adapter->dev_set_bus) {
drivers/net/can/usb/peak_usb/pcan_usb_core.c
545
err = dev->adapter->dev_set_bus(dev, 1);
drivers/net/can/usb/peak_usb/pcan_usb_core.c
645
if (dev->adapter->dev_stop)
drivers/net/can/usb/peak_usb/pcan_usb_core.c
646
dev->adapter->dev_stop(dev);
drivers/net/can/usb/peak_usb/pcan_usb_core.c
649
if (dev->adapter->dev_set_bus) {
drivers/net/can/usb/peak_usb/pcan_usb_core.c
650
int err = dev->adapter->dev_set_bus(dev, 0);
drivers/net/can/usb/peak_usb/pcan_usb_core.c
691
if (!dev->adapter->dev_restart_async) {
drivers/net/can/usb/peak_usb/pcan_usb_core.c
709
err = dev->adapter->dev_restart_async(dev, urb, buf);
drivers/net/can/usb/peak_usb/pcan_usb_core.c
749
const struct peak_usb_adapter *pa = dev->adapter;
drivers/net/can/usb/peak_usb/pcan_usb_core.c
770
const struct peak_usb_adapter *pa = dev->adapter;
drivers/net/can/usb/peak_usb/pcan_usb_core.c
835
err = dev->adapter->dev_get_can_channel_id(dev, &ch_id);
drivers/net/can/usb/peak_usb/pcan_usb_core.c
865
err = dev->adapter->dev_get_can_channel_id(dev, &ch_id);
drivers/net/can/usb/peak_usb/pcan_usb_core.c
883
err = dev->adapter->dev_set_can_channel_id(dev, ch_id);
drivers/net/can/usb/peak_usb/pcan_usb_core.c
94
const struct peak_usb_adapter *adapter)
drivers/net/can/usb/peak_usb/pcan_usb_core.c
943
dev->adapter = peak_usb_adapter;
drivers/net/can/usb/peak_usb/pcan_usb_core.c
98
time_ref->adapter = adapter;
drivers/net/can/usb/peak_usb/pcan_usb_core.c
996
if (dev->adapter->dev_init) {
drivers/net/can/usb/peak_usb/pcan_usb_core.c
997
err = dev->adapter->dev_init(dev);
drivers/net/can/usb/peak_usb/pcan_usb_core.h
112
const struct peak_usb_adapter *adapter;
drivers/net/can/usb/peak_usb/pcan_usb_core.h
141
const struct peak_usb_adapter *adapter);
drivers/net/can/usb/peak_usb/pcan_usb_core.h
97
const struct peak_usb_adapter *adapter;
drivers/net/can/usb/peak_usb/pcan_usb_fd.c
1000
dev->adapter->name, err);
drivers/net/can/usb/peak_usb/pcan_usb_fd.c
1034
if (dev->adapter->clock.freq == pcan_usb_fd_clk_freq[i])
drivers/net/can/usb/peak_usb/pcan_usb_fd.c
961
dev->adapter->name, err);
drivers/net/can/usb/peak_usb/pcan_usb_fd.c
971
dev->adapter->name, fw_info->hw_version,
drivers/net/can/usb/peak_usb/pcan_usb_fd.c
975
dev->adapter->ctrl_count);
drivers/net/ethernet/agere/et131x.c
1010
uni_pf3 = (adapter->addr[0] << ET_RX_UNI_PF_ADDR2_1_SHIFT) |
drivers/net/ethernet/agere/et131x.c
1011
(adapter->addr[1] << ET_RX_UNI_PF_ADDR2_2_SHIFT) |
drivers/net/ethernet/agere/et131x.c
1012
(adapter->addr[0] << ET_RX_UNI_PF_ADDR1_1_SHIFT) |
drivers/net/ethernet/agere/et131x.c
1013
adapter->addr[1];
drivers/net/ethernet/agere/et131x.c
1015
uni_pf2 = (adapter->addr[2] << ET_RX_UNI_PF_ADDR2_3_SHIFT) |
drivers/net/ethernet/agere/et131x.c
1016
(adapter->addr[3] << ET_RX_UNI_PF_ADDR2_4_SHIFT) |
drivers/net/ethernet/agere/et131x.c
1017
(adapter->addr[4] << ET_RX_UNI_PF_ADDR2_5_SHIFT) |
drivers/net/ethernet/agere/et131x.c
1018
adapter->addr[5];
drivers/net/ethernet/agere/et131x.c
1020
uni_pf1 = (adapter->addr[2] << ET_RX_UNI_PF_ADDR1_3_SHIFT) |
drivers/net/ethernet/agere/et131x.c
1021
(adapter->addr[3] << ET_RX_UNI_PF_ADDR1_4_SHIFT) |
drivers/net/ethernet/agere/et131x.c
1022
(adapter->addr[4] << ET_RX_UNI_PF_ADDR1_5_SHIFT) |
drivers/net/ethernet/agere/et131x.c
1023
adapter->addr[5];
drivers/net/ethernet/agere/et131x.c
1025
if (!et1310_in_phy_coma(adapter)) {
drivers/net/ethernet/agere/et131x.c
1032
static void et1310_config_rxmac_regs(struct et131x_adapter *adapter)
drivers/net/ethernet/agere/et131x.c
1034
struct rxmac_regs __iomem *rxmac = &adapter->regs->rxmac;
drivers/net/ethernet/agere/et131x.c
1035
struct phy_device *phydev = adapter->netdev->phydev;
drivers/net/ethernet/agere/et131x.c
1057
sa_lo = (adapter->addr[2] << ET_RX_WOL_LO_SA3_SHIFT) |
drivers/net/ethernet/agere/et131x.c
1058
(adapter->addr[3] << ET_RX_WOL_LO_SA4_SHIFT) |
drivers/net/ethernet/agere/et131x.c
1059
(adapter->addr[4] << ET_RX_WOL_LO_SA5_SHIFT) |
drivers/net/ethernet/agere/et131x.c
1060
adapter->addr[5];
drivers/net/ethernet/agere/et131x.c
1063
sa_hi = (u32)(adapter->addr[0] << ET_RX_WOL_HI_SA1_SHIFT) |
drivers/net/ethernet/agere/et131x.c
1064
adapter->addr[1];
drivers/net/ethernet/agere/et131x.c
1071
if (adapter->packet_filter & ET131X_PACKET_TYPE_DIRECTED) {
drivers/net/ethernet/agere/et131x.c
1072
et1310_setup_device_for_unicast(adapter);
drivers/net/ethernet/agere/et131x.c
1081
if (!(adapter->packet_filter & ET131X_PACKET_TYPE_ALL_MULTICAST)) {
drivers/net/ethernet/agere/et131x.c
1083
et1310_setup_device_for_multicast(adapter);
drivers/net/ethernet/agere/et131x.c
1090
if (adapter->registry_jumbo_packet > 8192)
drivers/net/ethernet/agere/et131x.c
1137
static void et1310_config_txmac_regs(struct et131x_adapter *adapter)
drivers/net/ethernet/agere/et131x.c
1139
struct txmac_regs __iomem *txmac = &adapter->regs->txmac;
drivers/net/ethernet/agere/et131x.c
1145
if (adapter->flow == FLOW_NONE)
drivers/net/ethernet/agere/et131x.c
1151
static void et1310_config_macstat_regs(struct et131x_adapter *adapter)
drivers/net/ethernet/agere/et131x.c
1153
struct macstat_regs __iomem *macstat = &adapter->regs->macstat;
drivers/net/ethernet/agere/et131x.c
1169
static int et131x_phy_mii_read(struct et131x_adapter *adapter, u8 addr,
drivers/net/ethernet/agere/et131x.c
1172
struct mac_regs __iomem *mac = &adapter->regs->mac;
drivers/net/ethernet/agere/et131x.c
1201
dev_warn(&adapter->pdev->dev,
drivers/net/ethernet/agere/et131x.c
1203
dev_warn(&adapter->pdev->dev, "status is 0x%08x\n",
drivers/net/ethernet/agere/et131x.c
1228
static int et131x_mii_read(struct et131x_adapter *adapter, u8 reg, u16 *value)
drivers/net/ethernet/agere/et131x.c
1230
struct phy_device *phydev = adapter->netdev->phydev;
drivers/net/ethernet/agere/et131x.c
1235
return et131x_phy_mii_read(adapter, phydev->mdio.addr, reg, value);
drivers/net/ethernet/agere/et131x.c
1238
static int et131x_mii_write(struct et131x_adapter *adapter, u8 addr, u8 reg,
drivers/net/ethernet/agere/et131x.c
1241
struct mac_regs __iomem *mac = &adapter->regs->mac;
drivers/net/ethernet/agere/et131x.c
1273
dev_warn(&adapter->pdev->dev,
drivers/net/ethernet/agere/et131x.c
1275
dev_warn(&adapter->pdev->dev, "status is 0x%08x\n",
drivers/net/ethernet/agere/et131x.c
1277
dev_warn(&adapter->pdev->dev, "command is 0x%08x\n",
drivers/net/ethernet/agere/et131x.c
1280
et131x_mii_read(adapter, reg, &tmp);
drivers/net/ethernet/agere/et131x.c
1296
static void et1310_phy_read_mii_bit(struct et131x_adapter *adapter,
drivers/net/ethernet/agere/et131x.c
1304
et131x_mii_read(adapter, regnum, ®);
drivers/net/ethernet/agere/et131x.c
1309
static void et1310_config_flow_control(struct et131x_adapter *adapter)
drivers/net/ethernet/agere/et131x.c
1311
struct phy_device *phydev = adapter->netdev->phydev;
drivers/net/ethernet/agere/et131x.c
1314
adapter->flow = FLOW_NONE;
drivers/net/ethernet/agere/et131x.c
1318
et1310_phy_read_mii_bit(adapter, 5, 10, &remote_pause);
drivers/net/ethernet/agere/et131x.c
1319
et1310_phy_read_mii_bit(adapter, 5, 11, &remote_async_pause);
drivers/net/ethernet/agere/et131x.c
1322
adapter->flow = adapter->wanted_flow;
drivers/net/ethernet/agere/et131x.c
1324
if (adapter->wanted_flow == FLOW_BOTH)
drivers/net/ethernet/agere/et131x.c
1325
adapter->flow = FLOW_BOTH;
drivers/net/ethernet/agere/et131x.c
1327
adapter->flow = FLOW_NONE;
drivers/net/ethernet/agere/et131x.c
1329
adapter->flow = FLOW_NONE;
drivers/net/ethernet/agere/et131x.c
1331
if (adapter->wanted_flow == FLOW_BOTH)
drivers/net/ethernet/agere/et131x.c
1332
adapter->flow = FLOW_RXONLY;
drivers/net/ethernet/agere/et131x.c
1334
adapter->flow = FLOW_NONE;
drivers/net/ethernet/agere/et131x.c
1340
static void et1310_update_macstat_host_counters(struct et131x_adapter *adapter)
drivers/net/ethernet/agere/et131x.c
1342
struct ce_stats *stats = &adapter->stats;
drivers/net/ethernet/agere/et131x.c
1344
&adapter->regs->macstat;
drivers/net/ethernet/agere/et131x.c
1370
static void et1310_handle_macstat_interrupt(struct et131x_adapter *adapter)
drivers/net/ethernet/agere/et131x.c
1378
carry_reg1 = readl(&adapter->regs->macstat.carry_reg1);
drivers/net/ethernet/agere/et131x.c
1379
carry_reg2 = readl(&adapter->regs->macstat.carry_reg2);
drivers/net/ethernet/agere/et131x.c
1381
writel(carry_reg1, &adapter->regs->macstat.carry_reg1);
drivers/net/ethernet/agere/et131x.c
1382
writel(carry_reg2, &adapter->regs->macstat.carry_reg2);
drivers/net/ethernet/agere/et131x.c
1391
adapter->stats.rx_code_violations += COUNTER_WRAP_16_BIT;
drivers/net/ethernet/agere/et131x.c
1393
adapter->stats.rx_align_errs += COUNTER_WRAP_12_BIT;
drivers/net/ethernet/agere/et131x.c
1395
adapter->stats.rx_length_errs += COUNTER_WRAP_16_BIT;
drivers/net/ethernet/agere/et131x.c
1397
adapter->stats.rx_other_errs += COUNTER_WRAP_16_BIT;
drivers/net/ethernet/agere/et131x.c
1399
adapter->stats.rx_crc_errs += COUNTER_WRAP_16_BIT;
drivers/net/ethernet/agere/et131x.c
1401
adapter->stats.rx_overflows += COUNTER_WRAP_16_BIT;
drivers/net/ethernet/agere/et131x.c
1403
adapter->stats.rcvd_pkts_dropped += COUNTER_WRAP_16_BIT;
drivers/net/ethernet/agere/et131x.c
1405
adapter->stats.tx_max_pkt_errs += COUNTER_WRAP_12_BIT;
drivers/net/ethernet/agere/et131x.c
1407
adapter->stats.tx_underflows += COUNTER_WRAP_12_BIT;
drivers/net/ethernet/agere/et131x.c
1409
adapter->stats.tx_first_collisions += COUNTER_WRAP_12_BIT;
drivers/net/ethernet/agere/et131x.c
1411
adapter->stats.tx_deferred += COUNTER_WRAP_12_BIT;
drivers/net/ethernet/agere/et131x.c
1413
adapter->stats.tx_excessive_collisions += COUNTER_WRAP_12_BIT;
drivers/net/ethernet/agere/et131x.c
1415
adapter->stats.tx_late_collisions += COUNTER_WRAP_12_BIT;
drivers/net/ethernet/agere/et131x.c
1417
adapter->stats.tx_collisions += COUNTER_WRAP_12_BIT;
drivers/net/ethernet/agere/et131x.c
1423
struct et131x_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/agere/et131x.c
1427
ret = et131x_phy_mii_read(adapter, phy_addr, reg, &value);
drivers/net/ethernet/agere/et131x.c
1439
struct et131x_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/agere/et131x.c
1441
return et131x_mii_write(adapter, phy_addr, reg, value);
drivers/net/ethernet/agere/et131x.c
1453
static void et1310_phy_power_switch(struct et131x_adapter *adapter, bool down)
drivers/net/ethernet/agere/et131x.c
1456
struct phy_device *phydev = adapter->netdev->phydev;
drivers/net/ethernet/agere/et131x.c
1458
et131x_mii_read(adapter, MII_BMCR, &data);
drivers/net/ethernet/agere/et131x.c
1462
et131x_mii_write(adapter, phydev->mdio.addr, MII_BMCR, data);
drivers/net/ethernet/agere/et131x.c
1466
static void et131x_xcvr_init(struct et131x_adapter *adapter)
drivers/net/ethernet/agere/et131x.c
1469
struct phy_device *phydev = adapter->netdev->phydev;
drivers/net/ethernet/agere/et131x.c
1479
if ((adapter->eeprom_data[1] & 0x4) == 0) {
drivers/net/ethernet/agere/et131x.c
1480
et131x_mii_read(adapter, PHY_LED_2, &lcr2);
drivers/net/ethernet/agere/et131x.c
1485
if ((adapter->eeprom_data[1] & 0x8) == 0)
drivers/net/ethernet/agere/et131x.c
1490
et131x_mii_write(adapter, phydev->mdio.addr, PHY_LED_2, lcr2);
drivers/net/ethernet/agere/et131x.c
1495
static void et131x_configure_global_regs(struct et131x_adapter *adapter)
drivers/net/ethernet/agere/et131x.c
1497
struct global_regs __iomem *regs = &adapter->regs->global;
drivers/net/ethernet/agere/et131x.c
1502
if (adapter->registry_jumbo_packet < 2048) {
drivers/net/ethernet/agere/et131x.c
1510
} else if (adapter->registry_jumbo_packet < 8192) {
drivers/net/ethernet/agere/et131x.c
1536
static void et131x_config_rx_dma_regs(struct et131x_adapter *adapter)
drivers/net/ethernet/agere/et131x.c
1538
struct rxdma_regs __iomem *rx_dma = &adapter->regs->rxdma;
drivers/net/ethernet/agere/et131x.c
1539
struct rx_ring *rx_local = &adapter->rx_ring;
drivers/net/ethernet/agere/et131x.c
1546
et131x_rx_dma_disable(adapter);
drivers/net/ethernet/agere/et131x.c
1564
spin_lock_irqsave(&adapter->rcv_lock, flags);
drivers/net/ethernet/agere/et131x.c
1628
spin_unlock_irqrestore(&adapter->rcv_lock, flags);
drivers/net/ethernet/agere/et131x.c
1636
static void et131x_config_tx_dma_regs(struct et131x_adapter *adapter)
drivers/net/ethernet/agere/et131x.c
1638
struct txdma_regs __iomem *txdma = &adapter->regs->txdma;
drivers/net/ethernet/agere/et131x.c
1639
struct tx_ring *tx_ring = &adapter->tx_ring;
drivers/net/ethernet/agere/et131x.c
1659
static void et131x_adapter_setup(struct et131x_adapter *adapter)
drivers/net/ethernet/agere/et131x.c
1661
et131x_configure_global_regs(adapter);
drivers/net/ethernet/agere/et131x.c
1662
et1310_config_mac_regs1(adapter);
drivers/net/ethernet/agere/et131x.c
1666
writel(ET_MMC_ENABLE, &adapter->regs->mmc.mmc_ctrl);
drivers/net/ethernet/agere/et131x.c
1668
et1310_config_rxmac_regs(adapter);
drivers/net/ethernet/agere/et131x.c
1669
et1310_config_txmac_regs(adapter);
drivers/net/ethernet/agere/et131x.c
1671
et131x_config_rx_dma_regs(adapter);
drivers/net/ethernet/agere/et131x.c
1672
et131x_config_tx_dma_regs(adapter);
drivers/net/ethernet/agere/et131x.c
1674
et1310_config_macstat_regs(adapter);
drivers/net/ethernet/agere/et131x.c
1676
et1310_phy_power_switch(adapter, 0);
drivers/net/ethernet/agere/et131x.c
1677
et131x_xcvr_init(adapter);
drivers/net/ethernet/agere/et131x.c
1681
static void et131x_soft_reset(struct et131x_adapter *adapter)
drivers/net/ethernet/agere/et131x.c
1689
writel(reg, &adapter->regs->mac.cfg1);
drivers/net/ethernet/agere/et131x.c
1692
writel(reg, &adapter->regs->global.sw_reset);
drivers/net/ethernet/agere/et131x.c
1696
writel(reg, &adapter->regs->mac.cfg1);
drivers/net/ethernet/agere/et131x.c
1697
writel(0, &adapter->regs->mac.cfg1);
drivers/net/ethernet/agere/et131x.c
1700
static void et131x_enable_interrupts(struct et131x_adapter *adapter)
drivers/net/ethernet/agere/et131x.c
1704
if (adapter->flow == FLOW_TXONLY || adapter->flow == FLOW_BOTH)
drivers/net/ethernet/agere/et131x.c
1709
writel(mask, &adapter->regs->global.int_mask);
drivers/net/ethernet/agere/et131x.c
1712
static void et131x_disable_interrupts(struct et131x_adapter *adapter)
drivers/net/ethernet/agere/et131x.c
1714
writel(INT_MASK_DISABLE, &adapter->regs->global.int_mask);
drivers/net/ethernet/agere/et131x.c
1717
static void et131x_tx_dma_disable(struct et131x_adapter *adapter)
drivers/net/ethernet/agere/et131x.c
1721
&adapter->regs->txdma.csr);
drivers/net/ethernet/agere/et131x.c
1726
struct et131x_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/agere/et131x.c
1728
et131x_rx_dma_enable(adapter);
drivers/net/ethernet/agere/et131x.c
1729
et131x_tx_dma_enable(adapter);
drivers/net/ethernet/agere/et131x.c
1731
if (adapter->flags & FMP_ADAPTER_INTERRUPT_IN_USE)
drivers/net/ethernet/agere/et131x.c
1732
et131x_enable_interrupts(adapter);
drivers/net/ethernet/agere/et131x.c
1739
struct et131x_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/agere/et131x.c
1743
et131x_rx_dma_disable(adapter);
drivers/net/ethernet/agere/et131x.c
1744
et131x_tx_dma_disable(adapter);
drivers/net/ethernet/agere/et131x.c
1746
et131x_disable_interrupts(adapter);
drivers/net/ethernet/agere/et131x.c
1749
static void et131x_init_send(struct et131x_adapter *adapter)
drivers/net/ethernet/agere/et131x.c
1752
struct tx_ring *tx_ring = &adapter->tx_ring;
drivers/net/ethernet/agere/et131x.c
1782
static void et1310_enable_phy_coma(struct et131x_adapter *adapter)
drivers/net/ethernet/agere/et131x.c
1784
u32 pmcsr = readl(&adapter->regs->global.pm_csr);
drivers/net/ethernet/agere/et131x.c
1787
adapter->flags |= FMP_ADAPTER_LOWER_POWER;
drivers/net/ethernet/agere/et131x.c
1790
et131x_disable_txrx(adapter->netdev);
drivers/net/ethernet/agere/et131x.c
1794
writel(pmcsr, &adapter->regs->global.pm_csr);
drivers/net/ethernet/agere/et131x.c
1798
writel(pmcsr, &adapter->regs->global.pm_csr);
drivers/net/ethernet/agere/et131x.c
1801
static void et1310_disable_phy_coma(struct et131x_adapter *adapter)
drivers/net/ethernet/agere/et131x.c
1805
pmcsr = readl(&adapter->regs->global.pm_csr);
drivers/net/ethernet/agere/et131x.c
1810
writel(pmcsr, &adapter->regs->global.pm_csr);
drivers/net/ethernet/agere/et131x.c
1817
et131x_init_send(adapter);
drivers/net/ethernet/agere/et131x.c
1823
et131x_soft_reset(adapter);
drivers/net/ethernet/agere/et131x.c
1825
et131x_adapter_setup(adapter);
drivers/net/ethernet/agere/et131x.c
1828
adapter->flags &= ~FMP_ADAPTER_LOWER_POWER;
drivers/net/ethernet/agere/et131x.c
1830
et131x_enable_txrx(adapter->netdev);
drivers/net/ethernet/agere/et131x.c
1858
static int et131x_rx_dma_memory_alloc(struct et131x_adapter *adapter)
drivers/net/ethernet/agere/et131x.c
1865
struct rx_ring *rx_ring = &adapter->rx_ring;
drivers/net/ethernet/agere/et131x.c
1893
if (adapter->registry_jumbo_packet < 2048) {
drivers/net/ethernet/agere/et131x.c
1898
} else if (adapter->registry_jumbo_packet < 4096) {
drivers/net/ethernet/agere/et131x.c
1917
fbr->ring_virtaddr = dma_alloc_coherent(&adapter->pdev->dev,
drivers/net/ethernet/agere/et131x.c
1922
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/agere/et131x.c
1937
&adapter->pdev->dev, fbr_chunksize,
drivers/net/ethernet/agere/et131x.c
1942
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/agere/et131x.c
1972
rx_ring->ps_ring_virtaddr = dma_alloc_coherent(&adapter->pdev->dev,
drivers/net/ethernet/agere/et131x.c
1978
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/agere/et131x.c
1984
rx_ring->rx_status_block = dma_alloc_coherent(&adapter->pdev->dev,
drivers/net/ethernet/agere/et131x.c
1989
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/agere/et131x.c
2002
static void et131x_rx_dma_memory_free(struct et131x_adapter *adapter)
drivers/net/ethernet/agere/et131x.c
2009
struct rx_ring *rx_ring = &adapter->rx_ring;
drivers/net/ethernet/agere/et131x.c
2036
dma_free_coherent(&adapter->pdev->dev,
drivers/net/ethernet/agere/et131x.c
2047
dma_free_coherent(&adapter->pdev->dev,
drivers/net/ethernet/agere/et131x.c
2059
dma_free_coherent(&adapter->pdev->dev, psr_size,
drivers/net/ethernet/agere/et131x.c
2068
dma_free_coherent(&adapter->pdev->dev,
drivers/net/ethernet/agere/et131x.c
2084
static int et131x_init_recv(struct et131x_adapter *adapter)
drivers/net/ethernet/agere/et131x.c
2088
struct rx_ring *rx_ring = &adapter->rx_ring;
drivers/net/ethernet/agere/et131x.c
2109
static void et131x_set_rx_dma_timer(struct et131x_adapter *adapter)
drivers/net/ethernet/agere/et131x.c
2111
struct phy_device *phydev = adapter->netdev->phydev;
drivers/net/ethernet/agere/et131x.c
2117
writel(0, &adapter->regs->rxdma.max_pkt_time);
drivers/net/ethernet/agere/et131x.c
2118
writel(1, &adapter->regs->rxdma.num_pkt_done);
drivers/net/ethernet/agere/et131x.c
2123
static void nic_return_rfd(struct et131x_adapter *adapter, struct rfd *rfd)
drivers/net/ethernet/agere/et131x.c
2125
struct rx_ring *rx_local = &adapter->rx_ring;
drivers/net/ethernet/agere/et131x.c
2126
struct rxdma_regs __iomem *rx_dma = &adapter->regs->rxdma;
drivers/net/ethernet/agere/et131x.c
2160
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/agere/et131x.c
2167
spin_lock_irqsave(&adapter->rcv_lock, flags);
drivers/net/ethernet/agere/et131x.c
2170
spin_unlock_irqrestore(&adapter->rcv_lock, flags);
drivers/net/ethernet/agere/et131x.c
2182
static struct rfd *nic_rx_pkts(struct et131x_adapter *adapter)
drivers/net/ethernet/agere/et131x.c
2184
struct rx_ring *rx_local = &adapter->rx_ring;
drivers/net/ethernet/agere/et131x.c
2231
writel(rx_local->local_psr_full, &adapter->regs->rxdma.psr_full_offset);
drivers/net/ethernet/agere/et131x.c
2235
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/agere/et131x.c
2242
spin_lock_irqsave(&adapter->rcv_lock, flags);
drivers/net/ethernet/agere/et131x.c
2248
spin_unlock_irqrestore(&adapter->rcv_lock, flags);
drivers/net/ethernet/agere/et131x.c
2255
spin_unlock_irqrestore(&adapter->rcv_lock, flags);
drivers/net/ethernet/agere/et131x.c
2265
adapter->stats.rx_other_errs++;
drivers/net/ethernet/agere/et131x.c
2271
adapter->stats.multicast_pkts_rcvd++;
drivers/net/ethernet/agere/et131x.c
2279
adapter->netdev->stats.rx_bytes += rfd->len;
drivers/net/ethernet/agere/et131x.c
2283
skb->protocol = eth_type_trans(skb, adapter->netdev);
drivers/net/ethernet/agere/et131x.c
2288
nic_return_rfd(adapter, rfd);
drivers/net/ethernet/agere/et131x.c
2292
static int et131x_handle_recv_pkts(struct et131x_adapter *adapter, int budget)
drivers/net/ethernet/agere/et131x.c
2298
struct rx_ring *rx_ring = &adapter->rx_ring;
drivers/net/ethernet/agere/et131x.c
2311
rfd = nic_rx_pkts(adapter);
drivers/net/ethernet/agere/et131x.c
2321
if (!adapter->packet_filter ||
drivers/net/ethernet/agere/et131x.c
2322
!netif_carrier_ok(adapter->netdev) ||
drivers/net/ethernet/agere/et131x.c
2326
adapter->netdev->stats.rx_packets++;
drivers/net/ethernet/agere/et131x.c
2329
dev_warn(&adapter->pdev->dev, "RFD's are running out\n");
drivers/net/ethernet/agere/et131x.c
2337
&adapter->regs->global.watchdog_timer);
drivers/net/ethernet/agere/et131x.c
2354
static int et131x_tx_dma_memory_alloc(struct et131x_adapter *adapter)
drivers/net/ethernet/agere/et131x.c
2357
struct tx_ring *tx_ring = &adapter->tx_ring;
drivers/net/ethernet/agere/et131x.c
2366
tx_ring->tx_desc_ring = dma_alloc_coherent(&adapter->pdev->dev,
drivers/net/ethernet/agere/et131x.c
2371
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/agere/et131x.c
2376
tx_ring->tx_status = dma_alloc_coherent(&adapter->pdev->dev,
drivers/net/ethernet/agere/et131x.c
2381
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/agere/et131x.c
2388
static void et131x_tx_dma_memory_free(struct et131x_adapter *adapter)
drivers/net/ethernet/agere/et131x.c
2391
struct tx_ring *tx_ring = &adapter->tx_ring;
drivers/net/ethernet/agere/et131x.c
2396
dma_free_coherent(&adapter->pdev->dev,
drivers/net/ethernet/agere/et131x.c
2405
dma_free_coherent(&adapter->pdev->dev,
drivers/net/ethernet/agere/et131x.c
2419
static int nic_send_packet(struct et131x_adapter *adapter, struct tcb *tcb)
drivers/net/ethernet/agere/et131x.c
2428
struct phy_device *phydev = adapter->netdev->phydev;
drivers/net/ethernet/agere/et131x.c
2430
struct tx_ring *tx_ring = &adapter->tx_ring;
drivers/net/ethernet/agere/et131x.c
2458
dma_addr = dma_map_single(&adapter->pdev->dev,
drivers/net/ethernet/agere/et131x.c
2462
if (dma_mapping_error(&adapter->pdev->dev,
drivers/net/ethernet/agere/et131x.c
2471
dma_addr = dma_map_single(&adapter->pdev->dev,
drivers/net/ethernet/agere/et131x.c
2475
if (dma_mapping_error(&adapter->pdev->dev,
drivers/net/ethernet/agere/et131x.c
2484
dma_addr = dma_map_single(&adapter->pdev->dev,
drivers/net/ethernet/agere/et131x.c
2489
if (dma_mapping_error(&adapter->pdev->dev,
drivers/net/ethernet/agere/et131x.c
2499
dma_addr = skb_frag_dma_map(&adapter->pdev->dev,
drivers/net/ethernet/agere/et131x.c
2504
if (dma_mapping_error(&adapter->pdev->dev, dma_addr))
drivers/net/ethernet/agere/et131x.c
2570
spin_lock(&adapter->tcb_send_qlock);
drivers/net/ethernet/agere/et131x.c
2583
spin_unlock(&adapter->tcb_send_qlock);
drivers/net/ethernet/agere/et131x.c
2586
writel(tx_ring->send_idx, &adapter->regs->txdma.service_request);
drivers/net/ethernet/agere/et131x.c
2593
&adapter->regs->global.watchdog_timer);
drivers/net/ethernet/agere/et131x.c
2603
dma_unmap_page(&adapter->pdev->dev, dma_addr,
drivers/net/ethernet/agere/et131x.c
2612
dma_unmap_single(&adapter->pdev->dev, dma_addr,
drivers/net/ethernet/agere/et131x.c
2619
static int send_packet(struct sk_buff *skb, struct et131x_adapter *adapter)
drivers/net/ethernet/agere/et131x.c
2624
struct tx_ring *tx_ring = &adapter->tx_ring;
drivers/net/ethernet/agere/et131x.c
2630
spin_lock_irqsave(&adapter->tcb_ready_qlock, flags);
drivers/net/ethernet/agere/et131x.c
2635
spin_unlock_irqrestore(&adapter->tcb_ready_qlock, flags);
drivers/net/ethernet/agere/et131x.c
2644
spin_unlock_irqrestore(&adapter->tcb_ready_qlock, flags);
drivers/net/ethernet/agere/et131x.c
2649
status = nic_send_packet(adapter, tcb);
drivers/net/ethernet/agere/et131x.c
2652
spin_lock_irqsave(&adapter->tcb_ready_qlock, flags);
drivers/net/ethernet/agere/et131x.c
2661
spin_unlock_irqrestore(&adapter->tcb_ready_qlock, flags);
drivers/net/ethernet/agere/et131x.c
2669
static inline void free_send_packet(struct et131x_adapter *adapter,
drivers/net/ethernet/agere/et131x.c
2674
struct net_device_stats *stats = &adapter->netdev->stats;
drivers/net/ethernet/agere/et131x.c
2675
struct tx_ring *tx_ring = &adapter->tx_ring;
drivers/net/ethernet/agere/et131x.c
2692
dma_unmap_single(&adapter->pdev->dev,
drivers/net/ethernet/agere/et131x.c
2710
spin_lock_irqsave(&adapter->tcb_ready_qlock, flags);
drivers/net/ethernet/agere/et131x.c
2721
spin_unlock_irqrestore(&adapter->tcb_ready_qlock, flags);
drivers/net/ethernet/agere/et131x.c
2726
static void et131x_free_busy_send_packets(struct et131x_adapter *adapter)
drivers/net/ethernet/agere/et131x.c
2731
struct tx_ring *tx_ring = &adapter->tx_ring;
drivers/net/ethernet/agere/et131x.c
2734
spin_lock_irqsave(&adapter->tcb_send_qlock, flags);
drivers/net/ethernet/agere/et131x.c
2748
spin_unlock_irqrestore(&adapter->tcb_send_qlock, flags);
drivers/net/ethernet/agere/et131x.c
2751
free_send_packet(adapter, tcb);
drivers/net/ethernet/agere/et131x.c
2753
spin_lock_irqsave(&adapter->tcb_send_qlock, flags);
drivers/net/ethernet/agere/et131x.c
2760
spin_unlock_irqrestore(&adapter->tcb_send_qlock, flags);
drivers/net/ethernet/agere/et131x.c
2770
static void et131x_handle_send_pkts(struct et131x_adapter *adapter)
drivers/net/ethernet/agere/et131x.c
2776
struct tx_ring *tx_ring = &adapter->tx_ring;
drivers/net/ethernet/agere/et131x.c
2778
serviced = readl(&adapter->regs->txdma.new_service_complete);
drivers/net/ethernet/agere/et131x.c
2784
spin_lock_irqsave(&adapter->tcb_send_qlock, flags);
drivers/net/ethernet/agere/et131x.c
2796
spin_unlock_irqrestore(&adapter->tcb_send_qlock, flags);
drivers/net/ethernet/agere/et131x.c
2797
free_send_packet(adapter, tcb);
drivers/net/ethernet/agere/et131x.c
2798
spin_lock_irqsave(&adapter->tcb_send_qlock, flags);
drivers/net/ethernet/agere/et131x.c
2811
spin_unlock_irqrestore(&adapter->tcb_send_qlock, flags);
drivers/net/ethernet/agere/et131x.c
2812
free_send_packet(adapter, tcb);
drivers/net/ethernet/agere/et131x.c
2813
spin_lock_irqsave(&adapter->tcb_send_qlock, flags);
drivers/net/ethernet/agere/et131x.c
2821
netif_wake_queue(adapter->netdev);
drivers/net/ethernet/agere/et131x.c
2823
spin_unlock_irqrestore(&adapter->tcb_send_qlock, flags);
drivers/net/ethernet/agere/et131x.c
2835
struct et131x_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/agere/et131x.c
2836
struct address_map __iomem *aregs = adapter->regs;
drivers/net/ethernet/agere/et131x.c
2843
regs->version = (1 << 24) | (adapter->pdev->revision << 16) |
drivers/net/ethernet/agere/et131x.c
2844
adapter->pdev->device;
drivers/net/ethernet/agere/et131x.c
2847
et131x_mii_read(adapter, MII_BMCR, &tmp);
drivers/net/ethernet/agere/et131x.c
2849
et131x_mii_read(adapter, MII_BMSR, &tmp);
drivers/net/ethernet/agere/et131x.c
2851
et131x_mii_read(adapter, MII_PHYSID1, &tmp);
drivers/net/ethernet/agere/et131x.c
2853
et131x_mii_read(adapter, MII_PHYSID2, &tmp);
drivers/net/ethernet/agere/et131x.c
2855
et131x_mii_read(adapter, MII_ADVERTISE, &tmp);
drivers/net/ethernet/agere/et131x.c
2857
et131x_mii_read(adapter, MII_LPA, &tmp);
drivers/net/ethernet/agere/et131x.c
2859
et131x_mii_read(adapter, MII_EXPANSION, &tmp);
drivers/net/ethernet/agere/et131x.c
2862
et131x_mii_read(adapter, 0x07, &tmp);
drivers/net/ethernet/agere/et131x.c
2865
et131x_mii_read(adapter, 0x08, &tmp);
drivers/net/ethernet/agere/et131x.c
2867
et131x_mii_read(adapter, MII_CTRL1000, &tmp);
drivers/net/ethernet/agere/et131x.c
2869
et131x_mii_read(adapter, MII_STAT1000, &tmp);
drivers/net/ethernet/agere/et131x.c
2871
et131x_mii_read(adapter, 0x0b, &tmp);
drivers/net/ethernet/agere/et131x.c
2873
et131x_mii_read(adapter, 0x0c, &tmp);
drivers/net/ethernet/agere/et131x.c
2875
et131x_mii_read(adapter, MII_MMD_CTRL, &tmp);
drivers/net/ethernet/agere/et131x.c
2877
et131x_mii_read(adapter, MII_MMD_DATA, &tmp);
drivers/net/ethernet/agere/et131x.c
2879
et131x_mii_read(adapter, MII_ESTATUS, &tmp);
drivers/net/ethernet/agere/et131x.c
2882
et131x_mii_read(adapter, PHY_INDEX_REG, &tmp);
drivers/net/ethernet/agere/et131x.c
2884
et131x_mii_read(adapter, PHY_DATA_REG, &tmp);
drivers/net/ethernet/agere/et131x.c
2886
et131x_mii_read(adapter, PHY_MPHY_CONTROL_REG, &tmp);
drivers/net/ethernet/agere/et131x.c
2888
et131x_mii_read(adapter, PHY_LOOPBACK_CONTROL, &tmp);
drivers/net/ethernet/agere/et131x.c
2890
et131x_mii_read(adapter, PHY_LOOPBACK_CONTROL + 1, &tmp);
drivers/net/ethernet/agere/et131x.c
2893
et131x_mii_read(adapter, PHY_REGISTER_MGMT_CONTROL, &tmp);
drivers/net/ethernet/agere/et131x.c
2895
et131x_mii_read(adapter, PHY_CONFIG, &tmp);
drivers/net/ethernet/agere/et131x.c
2897
et131x_mii_read(adapter, PHY_PHY_CONTROL, &tmp);
drivers/net/ethernet/agere/et131x.c
2899
et131x_mii_read(adapter, PHY_INTERRUPT_MASK, &tmp);
drivers/net/ethernet/agere/et131x.c
2901
et131x_mii_read(adapter, PHY_INTERRUPT_STATUS, &tmp);
drivers/net/ethernet/agere/et131x.c
2903
et131x_mii_read(adapter, PHY_PHY_STATUS, &tmp);
drivers/net/ethernet/agere/et131x.c
2905
et131x_mii_read(adapter, PHY_LED_1, &tmp);
drivers/net/ethernet/agere/et131x.c
2907
et131x_mii_read(adapter, PHY_LED_2, &tmp);
drivers/net/ethernet/agere/et131x.c
2916
regs_buff[num++] = adapter->stats.interrupt_status;
drivers/net/ethernet/agere/et131x.c
2989
struct et131x_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/agere/et131x.c
2992
strscpy(info->bus_info, pci_name(adapter->pdev),
drivers/net/ethernet/agere/et131x.c
3006
static void et131x_hwaddr_init(struct et131x_adapter *adapter)
drivers/net/ethernet/agere/et131x.c
3012
if (is_zero_ether_addr(adapter->rom_addr)) {
drivers/net/ethernet/agere/et131x.c
3017
get_random_bytes(&adapter->addr[5], 1);
drivers/net/ethernet/agere/et131x.c
3022
ether_addr_copy(adapter->rom_addr, adapter->addr);
drivers/net/ethernet/agere/et131x.c
3028
ether_addr_copy(adapter->addr, adapter->rom_addr);
drivers/net/ethernet/agere/et131x.c
3032
static int et131x_pci_init(struct et131x_adapter *adapter,
drivers/net/ethernet/agere/et131x.c
3038
rc = et131x_init_eeprom(adapter);
drivers/net/ethernet/agere/et131x.c
3087
if (!adapter->has_eeprom) {
drivers/net/ethernet/agere/et131x.c
3088
et131x_hwaddr_init(adapter);
drivers/net/ethernet/agere/et131x.c
3094
adapter->rom_addr + i)) {
drivers/net/ethernet/agere/et131x.c
3099
ether_addr_copy(adapter->addr, adapter->rom_addr);
drivers/net/ethernet/agere/et131x.c
3115
struct et131x_adapter *adapter = timer_container_of(adapter, t,
drivers/net/ethernet/agere/et131x.c
3117
struct phy_device *phydev = adapter->netdev->phydev;
drivers/net/ethernet/agere/et131x.c
3119
if (et1310_in_phy_coma(adapter)) {
drivers/net/ethernet/agere/et131x.c
3124
et1310_disable_phy_coma(adapter);
drivers/net/ethernet/agere/et131x.c
3125
adapter->boot_coma = 20;
drivers/net/ethernet/agere/et131x.c
3127
et1310_update_macstat_host_counters(adapter);
drivers/net/ethernet/agere/et131x.c
3130
if (!phydev->link && adapter->boot_coma < 11)
drivers/net/ethernet/agere/et131x.c
3131
adapter->boot_coma++;
drivers/net/ethernet/agere/et131x.c
3133
if (adapter->boot_coma == 10) {
drivers/net/ethernet/agere/et131x.c
3135
if (!et1310_in_phy_coma(adapter)) {
drivers/net/ethernet/agere/et131x.c
3139
et131x_enable_interrupts(adapter);
drivers/net/ethernet/agere/et131x.c
3140
et1310_enable_phy_coma(adapter);
drivers/net/ethernet/agere/et131x.c
3146
mod_timer(&adapter->error_timer, jiffies +
drivers/net/ethernet/agere/et131x.c
3150
static void et131x_adapter_memory_free(struct et131x_adapter *adapter)
drivers/net/ethernet/agere/et131x.c
3152
et131x_tx_dma_memory_free(adapter);
drivers/net/ethernet/agere/et131x.c
3153
et131x_rx_dma_memory_free(adapter);
drivers/net/ethernet/agere/et131x.c
3156
static int et131x_adapter_memory_alloc(struct et131x_adapter *adapter)
drivers/net/ethernet/agere/et131x.c
3160
status = et131x_tx_dma_memory_alloc(adapter);
drivers/net/ethernet/agere/et131x.c
3162
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/agere/et131x.c
3164
et131x_tx_dma_memory_free(adapter);
drivers/net/ethernet/agere/et131x.c
3168
status = et131x_rx_dma_memory_alloc(adapter);
drivers/net/ethernet/agere/et131x.c
3170
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/agere/et131x.c
3172
et131x_adapter_memory_free(adapter);
drivers/net/ethernet/agere/et131x.c
3176
status = et131x_init_recv(adapter);
drivers/net/ethernet/agere/et131x.c
3178
dev_err(&adapter->pdev->dev, "et131x_init_recv FAILED\n");
drivers/net/ethernet/agere/et131x.c
3179
et131x_adapter_memory_free(adapter);
drivers/net/ethernet/agere/et131x.c
3186
struct et131x_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/agere/et131x.c
3191
if (phydev->link == adapter->link)
drivers/net/ethernet/agere/et131x.c
3198
if (et1310_in_phy_coma(adapter))
drivers/net/ethernet/agere/et131x.c
3199
et1310_disable_phy_coma(adapter);
drivers/net/ethernet/agere/et131x.c
3201
adapter->link = phydev->link;
drivers/net/ethernet/agere/et131x.c
3205
adapter->boot_coma = 20;
drivers/net/ethernet/agere/et131x.c
3209
et131x_mii_read(adapter, PHY_MPHY_CONTROL_REG,
drivers/net/ethernet/agere/et131x.c
3211
et131x_mii_write(adapter, phydev->mdio.addr,
drivers/net/ethernet/agere/et131x.c
3214
et131x_mii_write(adapter, phydev->mdio.addr,
drivers/net/ethernet/agere/et131x.c
3216
et131x_mii_write(adapter, phydev->mdio.addr,
drivers/net/ethernet/agere/et131x.c
3218
et131x_mii_write(adapter, phydev->mdio.addr,
drivers/net/ethernet/agere/et131x.c
3222
et1310_config_flow_control(adapter);
drivers/net/ethernet/agere/et131x.c
3225
adapter->registry_jumbo_packet > 2048) {
drivers/net/ethernet/agere/et131x.c
3228
et131x_mii_read(adapter, PHY_CONFIG, ®);
drivers/net/ethernet/agere/et131x.c
3231
et131x_mii_write(adapter, phydev->mdio.addr,
drivers/net/ethernet/agere/et131x.c
3235
et131x_set_rx_dma_timer(adapter);
drivers/net/ethernet/agere/et131x.c
3236
et1310_config_mac_regs2(adapter);
drivers/net/ethernet/agere/et131x.c
3238
adapter->boot_coma = 0;
drivers/net/ethernet/agere/et131x.c
3243
et131x_mii_read(adapter, PHY_MPHY_CONTROL_REG,
drivers/net/ethernet/agere/et131x.c
3245
et131x_mii_write(adapter, phydev->mdio.addr,
drivers/net/ethernet/agere/et131x.c
3248
et131x_mii_write(adapter, phydev->mdio.addr,
drivers/net/ethernet/agere/et131x.c
3250
et131x_mii_write(adapter, phydev->mdio.addr,
drivers/net/ethernet/agere/et131x.c
3252
et131x_mii_write(adapter, phydev->mdio.addr,
drivers/net/ethernet/agere/et131x.c
3256
et131x_free_busy_send_packets(adapter);
drivers/net/ethernet/agere/et131x.c
3257
et131x_init_send(adapter);
drivers/net/ethernet/agere/et131x.c
3264
et131x_soft_reset(adapter);
drivers/net/ethernet/agere/et131x.c
3266
et131x_adapter_setup(adapter);
drivers/net/ethernet/agere/et131x.c
3275
struct et131x_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/agere/et131x.c
3278
phydev = phy_find_first(adapter->mii_bus);
drivers/net/ethernet/agere/et131x.c
3280
dev_err(&adapter->pdev->dev, "no PHY found\n");
drivers/net/ethernet/agere/et131x.c
3288
dev_err(&adapter->pdev->dev, "Could not attach to PHY\n");
drivers/net/ethernet/agere/et131x.c
3294
if (adapter->pdev->device != ET131X_PCI_DEVICE_ID_FAST)
drivers/net/ethernet/agere/et131x.c
3309
struct et131x_adapter *adapter;
drivers/net/ethernet/agere/et131x.c
3311
adapter = netdev_priv(netdev);
drivers/net/ethernet/agere/et131x.c
3312
adapter->pdev = pci_dev_get(pdev);
drivers/net/ethernet/agere/et131x.c
3313
adapter->netdev = netdev;
drivers/net/ethernet/agere/et131x.c
3315
spin_lock_init(&adapter->tcb_send_qlock);
drivers/net/ethernet/agere/et131x.c
3316
spin_lock_init(&adapter->tcb_ready_qlock);
drivers/net/ethernet/agere/et131x.c
3317
spin_lock_init(&adapter->rcv_lock);
drivers/net/ethernet/agere/et131x.c
3319
adapter->registry_jumbo_packet = 1514; /* 1514-9216 */
drivers/net/ethernet/agere/et131x.c
3321
ether_addr_copy(adapter->addr, default_mac);
drivers/net/ethernet/agere/et131x.c
3323
return adapter;
drivers/net/ethernet/agere/et131x.c
3329
struct et131x_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/agere/et131x.c
3332
netif_napi_del(&adapter->napi);
drivers/net/ethernet/agere/et131x.c
3334
mdiobus_unregister(adapter->mii_bus);
drivers/net/ethernet/agere/et131x.c
3335
mdiobus_free(adapter->mii_bus);
drivers/net/ethernet/agere/et131x.c
3337
et131x_adapter_memory_free(adapter);
drivers/net/ethernet/agere/et131x.c
3338
iounmap(adapter->regs);
drivers/net/ethernet/agere/et131x.c
3398
struct et131x_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/agere/et131x.c
3399
struct address_map __iomem *iomem = adapter->regs;
drivers/net/ethernet/agere/et131x.c
3400
struct rx_ring *rx_ring = &adapter->rx_ring;
drivers/net/ethernet/agere/et131x.c
3401
struct tx_ring *tx_ring = &adapter->tx_ring;
drivers/net/ethernet/agere/et131x.c
3410
et131x_disable_interrupts(adapter);
drivers/net/ethernet/agere/et131x.c
3412
status = readl(&adapter->regs->global.int_status);
drivers/net/ethernet/agere/et131x.c
3414
if (adapter->flow == FLOW_TXONLY || adapter->flow == FLOW_BOTH)
drivers/net/ethernet/agere/et131x.c
3422
et131x_enable_interrupts(adapter);
drivers/net/ethernet/agere/et131x.c
3437
writel(0, &adapter->regs->global.watchdog_timer);
drivers/net/ethernet/agere/et131x.c
3444
napi_schedule(&adapter->napi);
drivers/net/ethernet/agere/et131x.c
3456
dev_warn(&adapter->pdev->dev,
drivers/net/ethernet/agere/et131x.c
3477
if (adapter->flow == FLOW_TXONLY || adapter->flow == FLOW_BOTH) {
drivers/net/ethernet/agere/et131x.c
3481
if (!et1310_in_phy_coma(adapter))
drivers/net/ethernet/agere/et131x.c
3514
dev_warn(&adapter->pdev->dev, "RxDMA_ERR interrupt, error %x\n",
drivers/net/ethernet/agere/et131x.c
3524
dev_err(&adapter->pdev->dev, "WAKE_ON_LAN interrupt\n");
drivers/net/ethernet/agere/et131x.c
3538
dev_warn(&adapter->pdev->dev, "TXMAC interrupt, error 0x%08x\n",
drivers/net/ethernet/agere/et131x.c
3551
dev_warn(&adapter->pdev->dev,
drivers/net/ethernet/agere/et131x.c
3555
dev_warn(&adapter->pdev->dev,
drivers/net/ethernet/agere/et131x.c
3570
et1310_handle_macstat_interrupt(adapter);
drivers/net/ethernet/agere/et131x.c
3584
et131x_enable_interrupts(adapter);
drivers/net/ethernet/agere/et131x.c
3591
struct et131x_adapter *adapter =
drivers/net/ethernet/agere/et131x.c
3593
int work_done = et131x_handle_recv_pkts(adapter, budget);
drivers/net/ethernet/agere/et131x.c
3595
et131x_handle_send_pkts(adapter);
drivers/net/ethernet/agere/et131x.c
3598
napi_complete_done(&adapter->napi, work_done);
drivers/net/ethernet/agere/et131x.c
3599
et131x_enable_interrupts(adapter);
drivers/net/ethernet/agere/et131x.c
3608
struct et131x_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/agere/et131x.c
3609
struct net_device_stats *stats = &adapter->netdev->stats;
drivers/net/ethernet/agere/et131x.c
3610
struct ce_stats *devstat = &adapter->stats;
drivers/net/ethernet/agere/et131x.c
3641
struct et131x_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/agere/et131x.c
3642
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/agere/et131x.c
3647
timer_setup(&adapter->error_timer, et131x_error_timer_handler, 0);
drivers/net/ethernet/agere/et131x.c
3648
adapter->error_timer.expires = jiffies +
drivers/net/ethernet/agere/et131x.c
3650
add_timer(&adapter->error_timer);
drivers/net/ethernet/agere/et131x.c
3659
adapter->flags |= FMP_ADAPTER_INTERRUPT_IN_USE;
drivers/net/ethernet/agere/et131x.c
3661
napi_enable(&adapter->napi);
drivers/net/ethernet/agere/et131x.c
3670
struct et131x_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/agere/et131x.c
3673
napi_disable(&adapter->napi);
drivers/net/ethernet/agere/et131x.c
3675
adapter->flags &= ~FMP_ADAPTER_INTERRUPT_IN_USE;
drivers/net/ethernet/agere/et131x.c
3676
free_irq(adapter->pdev->irq, netdev);
drivers/net/ethernet/agere/et131x.c
3679
return timer_delete_sync(&adapter->error_timer);
drivers/net/ethernet/agere/et131x.c
3683
static int et131x_set_packet_filter(struct et131x_adapter *adapter)
drivers/net/ethernet/agere/et131x.c
3685
int filter = adapter->packet_filter;
drivers/net/ethernet/agere/et131x.c
3689
ctrl = readl(&adapter->regs->rxmac.ctrl);
drivers/net/ethernet/agere/et131x.c
3690
pf_ctrl = readl(&adapter->regs->rxmac.pf_ctrl);
drivers/net/ethernet/agere/et131x.c
3708
et1310_setup_device_for_multicast(adapter);
drivers/net/ethernet/agere/et131x.c
3715
et1310_setup_device_for_unicast(adapter);
drivers/net/ethernet/agere/et131x.c
3732
writel(pf_ctrl, &adapter->regs->rxmac.pf_ctrl);
drivers/net/ethernet/agere/et131x.c
3733
writel(ctrl, &adapter->regs->rxmac.ctrl);
drivers/net/ethernet/agere/et131x.c
3740
struct et131x_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/agere/et131x.c
3749
packet_filter = adapter->packet_filter;
drivers/net/ethernet/agere/et131x.c
3762
adapter->packet_filter |= ET131X_PACKET_TYPE_PROMISCUOUS;
drivers/net/ethernet/agere/et131x.c
3764
adapter->packet_filter &= ~ET131X_PACKET_TYPE_PROMISCUOUS;
drivers/net/ethernet/agere/et131x.c
3768
adapter->packet_filter |= ET131X_PACKET_TYPE_ALL_MULTICAST;
drivers/net/ethernet/agere/et131x.c
3771
adapter->packet_filter &= ~ET131X_PACKET_TYPE_ALL_MULTICAST;
drivers/net/ethernet/agere/et131x.c
3772
adapter->packet_filter &= ~ET131X_PACKET_TYPE_MULTICAST;
drivers/net/ethernet/agere/et131x.c
3774
adapter->packet_filter |= ET131X_PACKET_TYPE_MULTICAST;
drivers/net/ethernet/agere/et131x.c
3782
ether_addr_copy(adapter->multicast_list[i++], ha->addr);
drivers/net/ethernet/agere/et131x.c
3784
adapter->multicast_addr_count = i;
drivers/net/ethernet/agere/et131x.c
3792
if (packet_filter != adapter->packet_filter)
drivers/net/ethernet/agere/et131x.c
3793
et131x_set_packet_filter(adapter);
drivers/net/ethernet/agere/et131x.c
3798
struct et131x_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/agere/et131x.c
3799
struct tx_ring *tx_ring = &adapter->tx_ring;
drivers/net/ethernet/agere/et131x.c
3819
if ((adapter->flags & FMP_ADAPTER_FAIL_SEND_MASK) ||
drivers/net/ethernet/agere/et131x.c
3823
if (send_packet(skb, adapter))
drivers/net/ethernet/agere/et131x.c
3830
adapter->netdev->stats.tx_dropped++;
drivers/net/ethernet/agere/et131x.c
3842
struct et131x_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/agere/et131x.c
3843
struct tx_ring *tx_ring = &adapter->tx_ring;
drivers/net/ethernet/agere/et131x.c
3848
if (!(adapter->flags & FMP_ADAPTER_INTERRUPT_IN_USE))
drivers/net/ethernet/agere/et131x.c
3854
if (adapter->flags & FMP_ADAPTER_NON_RECOVER_ERROR)
drivers/net/ethernet/agere/et131x.c
3858
if (adapter->flags & FMP_ADAPTER_HARDWARE_ERROR) {
drivers/net/ethernet/agere/et131x.c
3859
dev_err(&adapter->pdev->dev, "hardware error - reset\n");
drivers/net/ethernet/agere/et131x.c
3864
spin_lock_irqsave(&adapter->tcb_send_qlock, flags);
drivers/net/ethernet/agere/et131x.c
3866
spin_unlock_irqrestore(&adapter->tcb_send_qlock, flags);
drivers/net/ethernet/agere/et131x.c
3872
dev_warn(&adapter->pdev->dev,
drivers/net/ethernet/agere/et131x.c
3876
adapter->netdev->stats.tx_errors++;
drivers/net/ethernet/agere/et131x.c
3888
struct et131x_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/agere/et131x.c
3894
et131x_adapter_memory_free(adapter);
drivers/net/ethernet/agere/et131x.c
3897
adapter->registry_jumbo_packet = new_mtu + 14;
drivers/net/ethernet/agere/et131x.c
3898
et131x_soft_reset(adapter);
drivers/net/ethernet/agere/et131x.c
3900
result = et131x_adapter_memory_alloc(adapter);
drivers/net/ethernet/agere/et131x.c
3902
dev_warn(&adapter->pdev->dev,
drivers/net/ethernet/agere/et131x.c
3907
et131x_init_send(adapter);
drivers/net/ethernet/agere/et131x.c
3908
et131x_hwaddr_init(adapter);
drivers/net/ethernet/agere/et131x.c
3909
eth_hw_addr_set(netdev, adapter->addr);
drivers/net/ethernet/agere/et131x.c
3912
et131x_adapter_setup(adapter);
drivers/net/ethernet/agere/et131x.c
3935
struct et131x_adapter *adapter;
drivers/net/ethernet/agere/et131x.c
3981
adapter = et131x_adapter_init(netdev, pdev);
drivers/net/ethernet/agere/et131x.c
3983
rc = et131x_pci_init(adapter, pdev);
drivers/net/ethernet/agere/et131x.c
3988
adapter->regs = pci_ioremap_bar(pdev, 0);
drivers/net/ethernet/agere/et131x.c
3989
if (!adapter->regs) {
drivers/net/ethernet/agere/et131x.c
3996
writel(ET_PMCSR_INIT, &adapter->regs->global.pm_csr);
drivers/net/ethernet/agere/et131x.c
3998
et131x_soft_reset(adapter);
drivers/net/ethernet/agere/et131x.c
3999
et131x_disable_interrupts(adapter);
drivers/net/ethernet/agere/et131x.c
4001
rc = et131x_adapter_memory_alloc(adapter);
drivers/net/ethernet/agere/et131x.c
4007
et131x_init_send(adapter);
drivers/net/ethernet/agere/et131x.c
4009
netif_napi_add(netdev, &adapter->napi, et131x_poll);
drivers/net/ethernet/agere/et131x.c
4011
eth_hw_addr_set(netdev, adapter->addr);
drivers/net/ethernet/agere/et131x.c
4015
adapter->mii_bus = mdiobus_alloc();
drivers/net/ethernet/agere/et131x.c
4016
if (!adapter->mii_bus) {
drivers/net/ethernet/agere/et131x.c
4021
adapter->mii_bus->name = "et131x_eth_mii";
drivers/net/ethernet/agere/et131x.c
4022
snprintf(adapter->mii_bus->id, MII_BUS_ID_SIZE, "%x", pci_dev_id(adapter->pdev));
drivers/net/ethernet/agere/et131x.c
4023
adapter->mii_bus->priv = netdev;
drivers/net/ethernet/agere/et131x.c
4024
adapter->mii_bus->read = et131x_mdio_read;
drivers/net/ethernet/agere/et131x.c
4025
adapter->mii_bus->write = et131x_mdio_write;
drivers/net/ethernet/agere/et131x.c
4027
rc = mdiobus_register(adapter->mii_bus);
drivers/net/ethernet/agere/et131x.c
4039
et131x_adapter_setup(adapter);
drivers/net/ethernet/agere/et131x.c
4042
adapter->boot_coma = 0;
drivers/net/ethernet/agere/et131x.c
4043
et1310_disable_phy_coma(adapter);
drivers/net/ethernet/agere/et131x.c
4069
mdiobus_unregister(adapter->mii_bus);
drivers/net/ethernet/agere/et131x.c
4071
mdiobus_free(adapter->mii_bus);
drivers/net/ethernet/agere/et131x.c
4073
et131x_adapter_memory_free(adapter);
drivers/net/ethernet/agere/et131x.c
4075
iounmap(adapter->regs);
drivers/net/ethernet/agere/et131x.c
521
static int eeprom_write(struct et131x_adapter *adapter, u32 addr, u8 data)
drivers/net/ethernet/agere/et131x.c
523
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/agere/et131x.c
577
adapter->pdev->revision == 0)
drivers/net/ethernet/agere/et131x.c
629
static int eeprom_read(struct et131x_adapter *adapter, u32 addr, u8 *pdata)
drivers/net/ethernet/agere/et131x.c
631
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/agere/et131x.c
669
static int et131x_init_eeprom(struct et131x_adapter *adapter)
drivers/net/ethernet/agere/et131x.c
671
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/agere/et131x.c
703
if (eeprom_write(adapter, i, eedata[i]) < 0)
drivers/net/ethernet/agere/et131x.c
717
adapter->has_eeprom = false;
drivers/net/ethernet/agere/et131x.c
721
adapter->has_eeprom = true;
drivers/net/ethernet/agere/et131x.c
726
eeprom_read(adapter, 0x70, &adapter->eeprom_data[0]);
drivers/net/ethernet/agere/et131x.c
727
eeprom_read(adapter, 0x71, &adapter->eeprom_data[1]);
drivers/net/ethernet/agere/et131x.c
729
if (adapter->eeprom_data[0] != 0xcd)
drivers/net/ethernet/agere/et131x.c
731
adapter->eeprom_data[1] = 0x00;
drivers/net/ethernet/agere/et131x.c
736
static void et131x_rx_dma_enable(struct et131x_adapter *adapter)
drivers/net/ethernet/agere/et131x.c
740
struct rx_ring *rx_ring = &adapter->rx_ring;
drivers/net/ethernet/agere/et131x.c
756
writel(csr, &adapter->regs->rxdma.csr);
drivers/net/ethernet/agere/et131x.c
758
csr = readl(&adapter->regs->rxdma.csr);
drivers/net/ethernet/agere/et131x.c
761
csr = readl(&adapter->regs->rxdma.csr);
drivers/net/ethernet/agere/et131x.c
763
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/agere/et131x.c
770
static void et131x_rx_dma_disable(struct et131x_adapter *adapter)
drivers/net/ethernet/agere/et131x.c
775
&adapter->regs->rxdma.csr);
drivers/net/ethernet/agere/et131x.c
776
csr = readl(&adapter->regs->rxdma.csr);
drivers/net/ethernet/agere/et131x.c
779
csr = readl(&adapter->regs->rxdma.csr);
drivers/net/ethernet/agere/et131x.c
781
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/agere/et131x.c
787
static void et131x_tx_dma_enable(struct et131x_adapter *adapter)
drivers/net/ethernet/agere/et131x.c
793
&adapter->regs->txdma.csr);
drivers/net/ethernet/agere/et131x.c
806
static void et1310_config_mac_regs1(struct et131x_adapter *adapter)
drivers/net/ethernet/agere/et131x.c
808
struct mac_regs __iomem *macregs = &adapter->regs->mac;
drivers/net/ethernet/agere/et131x.c
842
station2 = (adapter->addr[1] << ET_MAC_STATION_ADDR2_OC2_SHIFT) |
drivers/net/ethernet/agere/et131x.c
843
(adapter->addr[0] << ET_MAC_STATION_ADDR2_OC1_SHIFT);
drivers/net/ethernet/agere/et131x.c
844
station1 = (adapter->addr[5] << ET_MAC_STATION_ADDR1_OC6_SHIFT) |
drivers/net/ethernet/agere/et131x.c
845
(adapter->addr[4] << ET_MAC_STATION_ADDR1_OC5_SHIFT) |
drivers/net/ethernet/agere/et131x.c
846
(adapter->addr[3] << ET_MAC_STATION_ADDR1_OC4_SHIFT) |
drivers/net/ethernet/agere/et131x.c
847
adapter->addr[2];
drivers/net/ethernet/agere/et131x.c
858
writel(adapter->registry_jumbo_packet + 4, ¯egs->max_fm_len);
drivers/net/ethernet/agere/et131x.c
864
static void et1310_config_mac_regs2(struct et131x_adapter *adapter)
drivers/net/ethernet/agere/et131x.c
867
struct mac_regs __iomem *mac = &adapter->regs->mac;
drivers/net/ethernet/agere/et131x.c
868
struct phy_device *phydev = adapter->netdev->phydev;
drivers/net/ethernet/agere/et131x.c
874
ctl = readl(&adapter->regs->txmac.ctl);
drivers/net/ethernet/agere/et131x.c
893
if (adapter->flow == FLOW_RXONLY || adapter->flow == FLOW_BOTH)
drivers/net/ethernet/agere/et131x.c
925
dev_warn(&adapter->pdev->dev,
drivers/net/ethernet/agere/et131x.c
931
writel(ctl, &adapter->regs->txmac.ctl);
drivers/net/ethernet/agere/et131x.c
933
if (adapter->flags & FMP_ADAPTER_LOWER_POWER) {
drivers/net/ethernet/agere/et131x.c
934
et131x_rx_dma_enable(adapter);
drivers/net/ethernet/agere/et131x.c
935
et131x_tx_dma_enable(adapter);
drivers/net/ethernet/agere/et131x.c
939
static int et1310_in_phy_coma(struct et131x_adapter *adapter)
drivers/net/ethernet/agere/et131x.c
941
u32 pmcsr = readl(&adapter->regs->global.pm_csr);
drivers/net/ethernet/agere/et131x.c
946
static void et1310_setup_device_for_multicast(struct et131x_adapter *adapter)
drivers/net/ethernet/agere/et131x.c
948
struct rxmac_regs __iomem *rxmac = &adapter->regs->rxmac;
drivers/net/ethernet/agere/et131x.c
959
if (adapter->packet_filter & ET131X_PACKET_TYPE_MULTICAST) {
drivers/net/ethernet/agere/et131x.c
963
for (i = 0; i < adapter->multicast_addr_count; i++) {
drivers/net/ethernet/agere/et131x.c
966
result = ether_crc(6, adapter->multicast_list[i]);
drivers/net/ethernet/agere/et131x.c
986
if (!et1310_in_phy_coma(adapter)) {
drivers/net/ethernet/agere/et131x.c
994
static void et1310_setup_device_for_unicast(struct et131x_adapter *adapter)
drivers/net/ethernet/agere/et131x.c
996
struct rxmac_regs __iomem *rxmac = &adapter->regs->rxmac;
drivers/net/ethernet/amazon/ena/ena_debugfs.c
15
struct ena_adapter *adapter = file->private;
drivers/net/ethernet/amazon/ena/ena_debugfs.c
17
if (!ena_phc_is_active(adapter))
drivers/net/ethernet/amazon/ena/ena_debugfs.c
22
adapter->ena_dev->phc.stats.phc_cnt);
drivers/net/ethernet/amazon/ena/ena_debugfs.c
25
adapter->ena_dev->phc.stats.phc_exp);
drivers/net/ethernet/amazon/ena/ena_debugfs.c
28
adapter->ena_dev->phc.stats.phc_skp);
drivers/net/ethernet/amazon/ena/ena_debugfs.c
31
adapter->ena_dev->phc.stats.phc_err_dv);
drivers/net/ethernet/amazon/ena/ena_debugfs.c
34
adapter->ena_dev->phc.stats.phc_err_ts);
drivers/net/ethernet/amazon/ena/ena_debugfs.c
43
struct ena_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/amazon/ena/ena_debugfs.c
45
adapter->debugfs_base =
drivers/net/ethernet/amazon/ena/ena_debugfs.c
46
debugfs_create_dir(dev_name(&adapter->pdev->dev), NULL);
drivers/net/ethernet/amazon/ena/ena_debugfs.c
50
adapter->debugfs_base,
drivers/net/ethernet/amazon/ena/ena_debugfs.c
51
adapter,
drivers/net/ethernet/amazon/ena/ena_debugfs.c
57
struct ena_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/amazon/ena/ena_debugfs.c
59
debugfs_remove_recursive(adapter->debugfs_base);
drivers/net/ethernet/amazon/ena/ena_devlink.c
110
struct ena_adapter *adapter = ENA_DEVLINK_PRIV(devlink);
drivers/net/ethernet/amazon/ena/ena_devlink.c
118
if (!test_bit(ENA_FLAG_DEVICE_RUNNING, &adapter->flags))
drivers/net/ethernet/amazon/ena/ena_devlink.c
119
err = ena_restore_device(adapter);
drivers/net/ethernet/amazon/ena/ena_devlink.c
139
struct ena_adapter *adapter = ENA_DEVLINK_PRIV(devlink);
drivers/net/ethernet/amazon/ena/ena_devlink.c
14
struct ena_adapter *adapter = ENA_DEVLINK_PRIV(devlink);
drivers/net/ethernet/amazon/ena/ena_devlink.c
146
netdev_err(adapter->netdev, "Failed to register devlink params\n");
drivers/net/ethernet/amazon/ena/ena_devlink.c
151
value.vbool = ena_phc_is_enabled(adapter);
drivers/net/ethernet/amazon/ena/ena_devlink.c
160
struct devlink *ena_devlink_alloc(struct ena_adapter *adapter)
drivers/net/ethernet/amazon/ena/ena_devlink.c
162
struct device *dev = &adapter->pdev->dev;
drivers/net/ethernet/amazon/ena/ena_devlink.c
169
netdev_err(adapter->netdev,
drivers/net/ethernet/amazon/ena/ena_devlink.c
174
ENA_DEVLINK_PRIV(devlink) = adapter;
drivers/net/ethernet/amazon/ena/ena_devlink.c
175
adapter->devlink = devlink;
drivers/net/ethernet/amazon/ena/ena_devlink.c
19
if (!ena_com_phc_supported(adapter->ena_dev)) {
drivers/net/ethernet/amazon/ena/ena_devlink.c
37
struct ena_adapter *adapter = ENA_DEVLINK_PRIV(devlink);
drivers/net/ethernet/amazon/ena/ena_devlink.c
45
netdev_err(adapter->netdev, "Failed to query PHC param\n");
drivers/net/ethernet/amazon/ena/ena_devlink.c
49
ena_phc_enable(adapter, val.vbool);
drivers/net/ethernet/amazon/ena/ena_devlink.c
66
struct ena_adapter *adapter = ENA_DEVLINK_PRIV(devlink);
drivers/net/ethernet/amazon/ena/ena_devlink.c
70
devlink_port_attrs_set(&adapter->devlink_port, &attrs);
drivers/net/ethernet/amazon/ena/ena_devlink.c
71
devl_port_register(devlink, &adapter->devlink_port, 0);
drivers/net/ethernet/amazon/ena/ena_devlink.c
76
struct ena_adapter *adapter = ENA_DEVLINK_PRIV(devlink);
drivers/net/ethernet/amazon/ena/ena_devlink.c
78
devl_port_unregister(&adapter->devlink_port);
drivers/net/ethernet/amazon/ena/ena_devlink.c
87
struct ena_adapter *adapter = ENA_DEVLINK_PRIV(devlink);
drivers/net/ethernet/amazon/ena/ena_devlink.c
98
ena_destroy_device(adapter, false);
drivers/net/ethernet/amazon/ena/ena_devlink.h
14
struct devlink *ena_devlink_alloc(struct ena_adapter *adapter);
drivers/net/ethernet/amazon/ena/ena_ethtool.c
1000
channels->max_combined = adapter->max_num_io_queues;
drivers/net/ethernet/amazon/ena/ena_ethtool.c
1001
channels->combined_count = adapter->num_io_queues;
drivers/net/ethernet/amazon/ena/ena_ethtool.c
1007
struct ena_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/amazon/ena/ena_ethtool.c
1013
if (!ena_xdp_legal_queue_count(adapter, count)) {
drivers/net/ethernet/amazon/ena/ena_ethtool.c
1014
if (ena_xdp_present(adapter))
drivers/net/ethernet/amazon/ena/ena_ethtool.c
1024
return ena_update_queue_count(adapter, count);
drivers/net/ethernet/amazon/ena/ena_ethtool.c
1030
struct ena_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/amazon/ena/ena_ethtool.c
1035
*(u32 *)data = adapter->rx_copybreak;
drivers/net/ethernet/amazon/ena/ena_ethtool.c
1049
struct ena_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/amazon/ena/ena_ethtool.c
1056
ret = ena_set_rx_copybreak(adapter, len);
drivers/net/ethernet/amazon/ena/ena_ethtool.c
1102
static void ena_dump_stats_ex(struct ena_adapter *adapter, u8 *buf)
drivers/net/ethernet/amazon/ena/ena_ethtool.c
1104
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/amazon/ena/ena_ethtool.c
1110
strings_num = ena_get_sw_stats_count(adapter);
drivers/net/ethernet/amazon/ena/ena_ethtool.c
1112
netif_err(adapter, drv, netdev, "Can't get stats num\n");
drivers/net/ethernet/amazon/ena/ena_ethtool.c
1118
netif_err(adapter, drv, netdev,
drivers/net/ethernet/amazon/ena/ena_ethtool.c
1125
netif_err(adapter, drv, netdev,
drivers/net/ethernet/amazon/ena/ena_ethtool.c
1131
ena_get_strings(adapter, strings_buf, false);
drivers/net/ethernet/amazon/ena/ena_ethtool.c
1132
ena_get_stats(adapter, data_buf, false);
drivers/net/ethernet/amazon/ena/ena_ethtool.c
1145
netif_err(adapter, drv, netdev, "%s: %llu\n",
drivers/net/ethernet/amazon/ena/ena_ethtool.c
1153
void ena_dump_stats_to_buf(struct ena_adapter *adapter, u8 *buf)
drivers/net/ethernet/amazon/ena/ena_ethtool.c
1158
ena_dump_stats_ex(adapter, buf);
drivers/net/ethernet/amazon/ena/ena_ethtool.c
1161
void ena_dump_stats_to_dmesg(struct ena_adapter *adapter)
drivers/net/ethernet/amazon/ena/ena_ethtool.c
1163
ena_dump_stats_ex(adapter, NULL);
drivers/net/ethernet/amazon/ena/ena_ethtool.c
168
static void ena_metrics_stats(struct ena_adapter *adapter, u64 **data)
drivers/net/ethernet/amazon/ena/ena_ethtool.c
170
struct ena_com_dev *dev = adapter->ena_dev;
drivers/net/ethernet/amazon/ena/ena_ethtool.c
187
ena_com_get_eni_stats(dev, &adapter->eni_stats);
drivers/net/ethernet/amazon/ena/ena_ethtool.c
194
ptr = (u64 *)&adapter->eni_stats +
drivers/net/ethernet/amazon/ena/ena_ethtool.c
197
ena_safe_update_stat(ptr, (*data)++, &adapter->syncp);
drivers/net/ethernet/amazon/ena/ena_ethtool.c
202
ena_com_get_ena_srd_info(dev, &adapter->ena_srd_info);
drivers/net/ethernet/amazon/ena/ena_ethtool.c
204
ptr = (u64 *)&adapter->ena_srd_info;
drivers/net/ethernet/amazon/ena/ena_ethtool.c
205
ena_safe_update_stat(ptr, (*data)++, &adapter->syncp);
drivers/net/ethernet/amazon/ena/ena_ethtool.c
211
ptr = (u64 *)&adapter->ena_srd_info +
drivers/net/ethernet/amazon/ena/ena_ethtool.c
214
ena_safe_update_stat(ptr, (*data)++, &adapter->syncp);
drivers/net/ethernet/amazon/ena/ena_ethtool.c
219
static void ena_queue_stats(struct ena_adapter *adapter, u64 **data)
drivers/net/ethernet/amazon/ena/ena_ethtool.c
227
for (i = 0; i < adapter->num_io_queues + adapter->xdp_num_queues; i++) {
drivers/net/ethernet/amazon/ena/ena_ethtool.c
229
ring = &adapter->tx_ring[i];
drivers/net/ethernet/amazon/ena/ena_ethtool.c
239
if (!ENA_IS_XDP_INDEX(adapter, i)) {
drivers/net/ethernet/amazon/ena/ena_ethtool.c
241
ring = &adapter->rx_ring[i];
drivers/net/ethernet/amazon/ena/ena_ethtool.c
255
static void ena_dev_admin_queue_stats(struct ena_adapter *adapter, u64 **data)
drivers/net/ethernet/amazon/ena/ena_ethtool.c
264
ptr = (u64 *)&adapter->ena_dev->admin_queue.stats +
drivers/net/ethernet/amazon/ena/ena_ethtool.c
271
static void ena_get_stats(struct ena_adapter *adapter,
drivers/net/ethernet/amazon/ena/ena_ethtool.c
282
ptr = (u64 *)&adapter->dev_stats + ena_stats->stat_offset;
drivers/net/ethernet/amazon/ena/ena_ethtool.c
284
ena_safe_update_stat(ptr, data++, &adapter->syncp);
drivers/net/ethernet/amazon/ena/ena_ethtool.c
288
ena_metrics_stats(adapter, &data);
drivers/net/ethernet/amazon/ena/ena_ethtool.c
290
ena_queue_stats(adapter, &data);
drivers/net/ethernet/amazon/ena/ena_ethtool.c
291
ena_dev_admin_queue_stats(adapter, &data);
drivers/net/ethernet/amazon/ena/ena_ethtool.c
298
struct ena_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/amazon/ena/ena_ethtool.c
300
ena_get_stats(adapter, data, true);
drivers/net/ethernet/amazon/ena/ena_ethtool.c
306
struct ena_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/amazon/ena/ena_ethtool.c
310
info->phc_index = ena_phc_get_index(adapter);
drivers/net/ethernet/amazon/ena/ena_ethtool.c
315
static int ena_get_sw_stats_count(struct ena_adapter *adapter)
drivers/net/ethernet/amazon/ena/ena_ethtool.c
317
return adapter->num_io_queues * (ENA_STATS_ARRAY_TX + ENA_STATS_ARRAY_RX)
drivers/net/ethernet/amazon/ena/ena_ethtool.c
318
+ adapter->xdp_num_queues * ENA_STATS_ARRAY_TX
drivers/net/ethernet/amazon/ena/ena_ethtool.c
322
static int ena_get_hw_stats_count(struct ena_adapter *adapter)
drivers/net/ethernet/amazon/ena/ena_ethtool.c
324
struct ena_com_dev *dev = adapter->ena_dev;
drivers/net/ethernet/amazon/ena/ena_ethtool.c
339
struct ena_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/amazon/ena/ena_ethtool.c
343
return ena_get_sw_stats_count(adapter) +
drivers/net/ethernet/amazon/ena/ena_ethtool.c
344
ena_get_hw_stats_count(adapter);
drivers/net/ethernet/amazon/ena/ena_ethtool.c
350
static void ena_metrics_stats_strings(struct ena_adapter *adapter, u8 **data)
drivers/net/ethernet/amazon/ena/ena_ethtool.c
352
struct ena_com_dev *dev = adapter->ena_dev;
drivers/net/ethernet/amazon/ena/ena_ethtool.c
379
static void ena_queue_strings(struct ena_adapter *adapter, u8 **data)
drivers/net/ethernet/amazon/ena/ena_ethtool.c
385
for (i = 0; i < adapter->num_io_queues + adapter->xdp_num_queues; i++) {
drivers/net/ethernet/amazon/ena/ena_ethtool.c
386
is_xdp = ENA_IS_XDP_INDEX(adapter, i);
drivers/net/ethernet/amazon/ena/ena_ethtool.c
422
static void ena_get_strings(struct ena_adapter *adapter,
drivers/net/ethernet/amazon/ena/ena_ethtool.c
435
ena_metrics_stats_strings(adapter, &data);
drivers/net/ethernet/amazon/ena/ena_ethtool.c
437
ena_queue_strings(adapter, &data);
drivers/net/ethernet/amazon/ena/ena_ethtool.c
445
struct ena_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/amazon/ena/ena_ethtool.c
449
ena_get_strings(adapter, data, true);
drivers/net/ethernet/amazon/ena/ena_ethtool.c
457
struct ena_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/amazon/ena/ena_ethtool.c
458
struct ena_com_dev *ena_dev = adapter->ena_dev;
drivers/net/ethernet/amazon/ena/ena_ethtool.c
491
struct ena_adapter *adapter = netdev_priv(net_dev);
drivers/net/ethernet/amazon/ena/ena_ethtool.c
492
struct ena_com_dev *ena_dev = adapter->ena_dev;
drivers/net/ethernet/amazon/ena/ena_ethtool.c
511
static void ena_update_tx_rings_nonadaptive_intr_moderation(struct ena_adapter *adapter)
drivers/net/ethernet/amazon/ena/ena_ethtool.c
516
val = ena_com_get_nonadaptive_moderation_interval_tx(adapter->ena_dev);
drivers/net/ethernet/amazon/ena/ena_ethtool.c
518
for (i = 0; i < adapter->num_io_queues; i++)
drivers/net/ethernet/amazon/ena/ena_ethtool.c
519
adapter->tx_ring[i].smoothed_interval = val;
drivers/net/ethernet/amazon/ena/ena_ethtool.c
522
static void ena_update_rx_rings_nonadaptive_intr_moderation(struct ena_adapter *adapter)
drivers/net/ethernet/amazon/ena/ena_ethtool.c
527
val = ena_com_get_nonadaptive_moderation_interval_rx(adapter->ena_dev);
drivers/net/ethernet/amazon/ena/ena_ethtool.c
529
for (i = 0; i < adapter->num_io_queues; i++)
drivers/net/ethernet/amazon/ena/ena_ethtool.c
530
adapter->rx_ring[i].smoothed_interval = val;
drivers/net/ethernet/amazon/ena/ena_ethtool.c
538
struct ena_adapter *adapter = netdev_priv(net_dev);
drivers/net/ethernet/amazon/ena/ena_ethtool.c
539
struct ena_com_dev *ena_dev = adapter->ena_dev;
drivers/net/ethernet/amazon/ena/ena_ethtool.c
550
ena_update_tx_rings_nonadaptive_intr_moderation(adapter);
drivers/net/ethernet/amazon/ena/ena_ethtool.c
557
ena_update_rx_rings_nonadaptive_intr_moderation(adapter);
drivers/net/ethernet/amazon/ena/ena_ethtool.c
572
struct ena_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/amazon/ena/ena_ethtool.c
574
return adapter->msg_enable;
drivers/net/ethernet/amazon/ena/ena_ethtool.c
579
struct ena_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/amazon/ena/ena_ethtool.c
581
adapter->msg_enable = value;
drivers/net/ethernet/amazon/ena/ena_ethtool.c
587
struct ena_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/amazon/ena/ena_ethtool.c
592
netif_dbg(adapter, drv, dev,
drivers/net/ethernet/amazon/ena/ena_ethtool.c
595
ret = strscpy(info->bus_info, pci_name(adapter->pdev),
drivers/net/ethernet/amazon/ena/ena_ethtool.c
598
netif_dbg(adapter, drv, dev,
drivers/net/ethernet/amazon/ena/ena_ethtool.c
607
struct ena_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/amazon/ena/ena_ethtool.c
609
ring->tx_max_pending = adapter->max_tx_ring_size;
drivers/net/ethernet/amazon/ena/ena_ethtool.c
610
ring->rx_max_pending = adapter->max_rx_ring_size;
drivers/net/ethernet/amazon/ena/ena_ethtool.c
611
if (adapter->ena_dev->tx_mem_queue_type == ENA_ADMIN_PLACEMENT_POLICY_DEV) {
drivers/net/ethernet/amazon/ena/ena_ethtool.c
612
bool large_llq_supported = adapter->large_llq_header_supported;
drivers/net/ethernet/amazon/ena/ena_ethtool.c
615
kernel_ring->tx_push_buf_len = adapter->ena_dev->tx_max_header_size;
drivers/net/ethernet/amazon/ena/ena_ethtool.c
626
ring->tx_pending = adapter->tx_ring[0].ring_size;
drivers/net/ethernet/amazon/ena/ena_ethtool.c
627
ring->rx_pending = adapter->rx_ring[0].ring_size;
drivers/net/ethernet/amazon/ena/ena_ethtool.c
635
struct ena_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/amazon/ena/ena_ethtool.c
647
changed |= new_tx_size != adapter->requested_tx_ring_size ||
drivers/net/ethernet/amazon/ena/ena_ethtool.c
648
new_rx_size != adapter->requested_rx_ring_size;
drivers/net/ethernet/amazon/ena/ena_ethtool.c
651
new_tx_push_buf_len = adapter->ena_dev->tx_max_header_size;
drivers/net/ethernet/amazon/ena/ena_ethtool.c
653
if ((adapter->ena_dev->tx_mem_queue_type == ENA_ADMIN_PLACEMENT_POLICY_DEV) !=
drivers/net/ethernet/amazon/ena/ena_ethtool.c
665
placement = adapter->ena_dev->tx_mem_queue_type;
drivers/net/ethernet/amazon/ena/ena_ethtool.c
671
bool large_llq_sup = adapter->large_llq_header_supported;
drivers/net/ethernet/amazon/ena/ena_ethtool.c
684
changed |= new_tx_push_buf_len != adapter->ena_dev->tx_max_header_size;
drivers/net/ethernet/amazon/ena/ena_ethtool.c
690
return ena_update_queue_params(adapter, new_tx_size, new_rx_size,
drivers/net/ethernet/amazon/ena/ena_ethtool.c
741
struct ena_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/amazon/ena/ena_ethtool.c
742
struct ena_com_dev *ena_dev = adapter->ena_dev;
drivers/net/ethernet/amazon/ena/ena_ethtool.c
795
struct ena_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/amazon/ena/ena_ethtool.c
796
struct ena_com_dev *ena_dev = adapter->ena_dev;
drivers/net/ethernet/amazon/ena/ena_ethtool.c
840
struct ena_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/amazon/ena/ena_ethtool.c
842
return adapter->num_io_queues;
drivers/net/ethernet/amazon/ena/ena_ethtool.c
852
struct ena_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/amazon/ena/ena_ethtool.c
853
struct ena_rss *rss = &adapter->ena_dev->rss;
drivers/net/ethernet/amazon/ena/ena_ethtool.c
858
static int ena_indirection_table_set(struct ena_adapter *adapter,
drivers/net/ethernet/amazon/ena/ena_ethtool.c
861
struct ena_com_dev *ena_dev = adapter->ena_dev;
drivers/net/ethernet/amazon/ena/ena_ethtool.c
869
netif_err(adapter, drv, adapter->netdev,
drivers/net/ethernet/amazon/ena/ena_ethtool.c
877
netif_err(adapter, drv, adapter->netdev,
drivers/net/ethernet/amazon/ena/ena_ethtool.c
884
static int ena_indirection_table_get(struct ena_adapter *adapter, u32 *indir)
drivers/net/ethernet/amazon/ena/ena_ethtool.c
886
struct ena_com_dev *ena_dev = adapter->ena_dev;
drivers/net/ethernet/amazon/ena/ena_ethtool.c
909
struct ena_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/amazon/ena/ena_ethtool.c
914
rc = ena_indirection_table_get(adapter, rxfh->indir);
drivers/net/ethernet/amazon/ena/ena_ethtool.c
921
rc = ena_com_get_hash_function(adapter->ena_dev, &ena_func);
drivers/net/ethernet/amazon/ena/ena_ethtool.c
929
rc = ena_com_get_hash_key(adapter->ena_dev, rxfh->key);
drivers/net/ethernet/amazon/ena/ena_ethtool.c
941
netif_err(adapter, drv, netdev,
drivers/net/ethernet/amazon/ena/ena_ethtool.c
955
struct ena_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/amazon/ena/ena_ethtool.c
956
struct ena_com_dev *ena_dev = adapter->ena_dev;
drivers/net/ethernet/amazon/ena/ena_ethtool.c
961
rc = ena_indirection_table_set(adapter, rxfh->indir);
drivers/net/ethernet/amazon/ena/ena_ethtool.c
977
netif_err(adapter, drv, netdev, "Unsupported hfunc %d\n",
drivers/net/ethernet/amazon/ena/ena_ethtool.c
987
netif_err(adapter, drv, netdev, "Cannot fill key\n");
drivers/net/ethernet/amazon/ena/ena_ethtool.c
998
struct ena_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/amazon/ena/ena_netdev.c
101
struct ena_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/amazon/ena/ena_netdev.c
1017
netif_dbg(rx_ring->adapter, rx_status, rx_ring->netdev,
drivers/net/ethernet/amazon/ena/ena_netdev.c
104
ret = ena_com_set_dev_mtu(adapter->ena_dev, new_mtu);
drivers/net/ethernet/amazon/ena/ena_netdev.c
106
netif_dbg(adapter, drv, dev, "Set MTU to %d\n", new_mtu);
drivers/net/ethernet/amazon/ena/ena_netdev.c
107
update_rx_ring_mtu(adapter, new_mtu);
drivers/net/ethernet/amazon/ena/ena_netdev.c
1092
netif_dbg(rx_ring->adapter, rx_err, rx_ring->netdev,
drivers/net/ethernet/amazon/ena/ena_netdev.c
110
netif_err(adapter, drv, dev, "Failed to set MTU to %d\n",
drivers/net/ethernet/amazon/ena/ena_netdev.c
1104
netif_dbg(rx_ring->adapter, rx_err, rx_ring->netdev,
drivers/net/ethernet/amazon/ena/ena_netdev.c
1155
netdev_err_once(rx_ring->adapter->netdev,
drivers/net/ethernet/amazon/ena/ena_netdev.c
117
int ena_xmit_common(struct ena_adapter *adapter,
drivers/net/ethernet/amazon/ena/ena_netdev.c
1190
struct ena_adapter *adapter;
drivers/net/ethernet/amazon/ena/ena_netdev.c
1204
netif_dbg(rx_ring->adapter, rx_status, rx_ring->netdev,
drivers/net/ethernet/amazon/ena/ena_netdev.c
1230
netif_dbg(rx_ring->adapter, rx_status, rx_ring->netdev,
drivers/net/ethernet/amazon/ena/ena_netdev.c
128
netif_dbg(adapter, tx_queued, adapter->netdev,
drivers/net/ethernet/amazon/ena/ena_netdev.c
1322
adapter = netdev_priv(rx_ring->netdev);
drivers/net/ethernet/amazon/ena/ena_netdev.c
1326
ena_reset_device(adapter, ENA_REGS_RESET_TOO_MANY_RX_DESCS);
drivers/net/ethernet/amazon/ena/ena_netdev.c
1328
ena_reset_device(adapter, ENA_REGS_RESET_RX_DESCRIPTOR_MALFORMED);
drivers/net/ethernet/amazon/ena/ena_netdev.c
1332
ena_reset_device(adapter, ENA_REGS_RESET_INV_RX_REQ_ID);
drivers/net/ethernet/amazon/ena/ena_netdev.c
143
netif_err(adapter, tx_queued, adapter->netdev,
drivers/net/ethernet/amazon/ena/ena_netdev.c
1452
if (!test_bit(ENA_FLAG_DEV_UP, &tx_ring->adapter->flags) ||
drivers/net/ethernet/amazon/ena/ena_netdev.c
1453
test_bit(ENA_FLAG_TRIGGER_RESET, &tx_ring->adapter->flags)) {
drivers/net/ethernet/amazon/ena/ena_netdev.c
1468
if (unlikely(!test_bit(ENA_FLAG_DEV_UP, &tx_ring->adapter->flags) ||
drivers/net/ethernet/amazon/ena/ena_netdev.c
1469
test_bit(ENA_FLAG_TRIGGER_RESET, &tx_ring->adapter->flags))) {
drivers/net/ethernet/amazon/ena/ena_netdev.c
147
ena_reset_device(adapter, ENA_REGS_RESET_DRIVER_INVALID_STATE);
drivers/net/ethernet/amazon/ena/ena_netdev.c
1510
struct ena_adapter *adapter = (struct ena_adapter *)data;
drivers/net/ethernet/amazon/ena/ena_netdev.c
1512
ena_com_admin_q_comp_intr_handler(adapter->ena_dev);
drivers/net/ethernet/amazon/ena/ena_netdev.c
1515
if (likely(test_bit(ENA_FLAG_DEVICE_RUNNING, &adapter->flags)))
drivers/net/ethernet/amazon/ena/ena_netdev.c
1516
ena_com_aenq_intr_handler(adapter->ena_dev, data);
drivers/net/ethernet/amazon/ena/ena_netdev.c
1545
static int ena_enable_msix(struct ena_adapter *adapter)
drivers/net/ethernet/amazon/ena/ena_netdev.c
1549
if (test_bit(ENA_FLAG_MSIX_ENABLED, &adapter->flags)) {
drivers/net/ethernet/amazon/ena/ena_netdev.c
1550
netif_err(adapter, probe, adapter->netdev,
drivers/net/ethernet/amazon/ena/ena_netdev.c
1556
msix_vecs = ENA_MAX_MSIX_VEC(adapter->max_num_io_queues);
drivers/net/ethernet/amazon/ena/ena_netdev.c
1557
netif_dbg(adapter, probe, adapter->netdev,
drivers/net/ethernet/amazon/ena/ena_netdev.c
1560
irq_cnt = pci_alloc_irq_vectors(adapter->pdev, ENA_MIN_MSIX_VEC,
drivers/net/ethernet/amazon/ena/ena_netdev.c
1564
netif_err(adapter, probe, adapter->netdev,
drivers/net/ethernet/amazon/ena/ena_netdev.c
1570
netif_notice(adapter, probe, adapter->netdev,
drivers/net/ethernet/amazon/ena/ena_netdev.c
1573
adapter->num_io_queues = irq_cnt - ENA_ADMIN_MSIX_VEC;
drivers/net/ethernet/amazon/ena/ena_netdev.c
1576
if (netif_enable_cpu_rmap(adapter->netdev, adapter->num_io_queues))
drivers/net/ethernet/amazon/ena/ena_netdev.c
1577
netif_warn(adapter, probe, adapter->netdev,
drivers/net/ethernet/amazon/ena/ena_netdev.c
1580
adapter->msix_vecs = irq_cnt;
drivers/net/ethernet/amazon/ena/ena_netdev.c
1581
set_bit(ENA_FLAG_MSIX_ENABLED, &adapter->flags);
drivers/net/ethernet/amazon/ena/ena_netdev.c
1586
static void ena_setup_mgmnt_intr(struct ena_adapter *adapter)
drivers/net/ethernet/amazon/ena/ena_netdev.c
1590
snprintf(adapter->irq_tbl[ENA_MGMNT_IRQ_IDX].name,
drivers/net/ethernet/amazon/ena/ena_netdev.c
1592
pci_name(adapter->pdev));
drivers/net/ethernet/amazon/ena/ena_netdev.c
1593
adapter->irq_tbl[ENA_MGMNT_IRQ_IDX].handler =
drivers/net/ethernet/amazon/ena/ena_netdev.c
1595
adapter->irq_tbl[ENA_MGMNT_IRQ_IDX].data = adapter;
drivers/net/ethernet/amazon/ena/ena_netdev.c
1596
adapter->irq_tbl[ENA_MGMNT_IRQ_IDX].vector =
drivers/net/ethernet/amazon/ena/ena_netdev.c
1597
pci_irq_vector(adapter->pdev, ENA_MGMNT_IRQ_IDX);
drivers/net/ethernet/amazon/ena/ena_netdev.c
1599
adapter->irq_tbl[ENA_MGMNT_IRQ_IDX].cpu = cpu;
drivers/net/ethernet/amazon/ena/ena_netdev.c
1601
&adapter->irq_tbl[ENA_MGMNT_IRQ_IDX].affinity_hint_mask);
drivers/net/ethernet/amazon/ena/ena_netdev.c
1604
static void ena_setup_io_intr(struct ena_adapter *adapter)
drivers/net/ethernet/amazon/ena/ena_netdev.c
1610
netdev = adapter->netdev;
drivers/net/ethernet/amazon/ena/ena_netdev.c
1611
io_queue_count = adapter->num_io_queues + adapter->xdp_num_queues;
drivers/net/ethernet/amazon/ena/ena_netdev.c
1617
snprintf(adapter->irq_tbl[irq_idx].name, ENA_IRQNAME_SIZE,
drivers/net/ethernet/amazon/ena/ena_netdev.c
1619
adapter->irq_tbl[irq_idx].handler = ena_intr_msix_io;
drivers/net/ethernet/amazon/ena/ena_netdev.c
1620
adapter->irq_tbl[irq_idx].data = &adapter->ena_napi[i];
drivers/net/ethernet/amazon/ena/ena_netdev.c
1621
adapter->irq_tbl[irq_idx].vector =
drivers/net/ethernet/amazon/ena/ena_netdev.c
1622
pci_irq_vector(adapter->pdev, irq_idx);
drivers/net/ethernet/amazon/ena/ena_netdev.c
1623
adapter->irq_tbl[irq_idx].cpu = cpu;
drivers/net/ethernet/amazon/ena/ena_netdev.c
1626
&adapter->irq_tbl[irq_idx].affinity_hint_mask);
drivers/net/ethernet/amazon/ena/ena_netdev.c
1630
static int ena_request_mgmnt_irq(struct ena_adapter *adapter)
drivers/net/ethernet/amazon/ena/ena_netdev.c
1636
irq = &adapter->irq_tbl[ENA_MGMNT_IRQ_IDX];
drivers/net/ethernet/amazon/ena/ena_netdev.c
1640
netif_err(adapter, probe, adapter->netdev,
drivers/net/ethernet/amazon/ena/ena_netdev.c
1645
netif_dbg(adapter, probe, adapter->netdev,
drivers/net/ethernet/amazon/ena/ena_netdev.c
1654
static int ena_request_io_irq(struct ena_adapter *adapter)
drivers/net/ethernet/amazon/ena/ena_netdev.c
1656
u32 io_queue_count = adapter->num_io_queues + adapter->xdp_num_queues;
drivers/net/ethernet/amazon/ena/ena_netdev.c
166
static void ena_init_io_rings_common(struct ena_adapter *adapter,
drivers/net/ethernet/amazon/ena/ena_netdev.c
1661
if (!test_bit(ENA_FLAG_MSIX_ENABLED, &adapter->flags)) {
drivers/net/ethernet/amazon/ena/ena_netdev.c
1662
netif_err(adapter, ifup, adapter->netdev,
drivers/net/ethernet/amazon/ena/ena_netdev.c
1668
irq = &adapter->irq_tbl[i];
drivers/net/ethernet/amazon/ena/ena_netdev.c
1672
netif_err(adapter, ifup, adapter->netdev,
drivers/net/ethernet/amazon/ena/ena_netdev.c
1678
netif_dbg(adapter, ifup, adapter->netdev,
drivers/net/ethernet/amazon/ena/ena_netdev.c
1691
irq = &adapter->irq_tbl[irq_idx];
drivers/net/ethernet/amazon/ena/ena_netdev.c
1692
netif_napi_set_irq(&adapter->ena_napi[i].napi, irq->vector);
drivers/net/ethernet/amazon/ena/ena_netdev.c
1699
irq = &adapter->irq_tbl[k];
drivers/net/ethernet/amazon/ena/ena_netdev.c
170
ring->pdev = adapter->pdev;
drivers/net/ethernet/amazon/ena/ena_netdev.c
1706
static void ena_free_mgmnt_irq(struct ena_adapter *adapter)
drivers/net/ethernet/amazon/ena/ena_netdev.c
171
ring->dev = &adapter->pdev->dev;
drivers/net/ethernet/amazon/ena/ena_netdev.c
1710
irq = &adapter->irq_tbl[ENA_MGMNT_IRQ_IDX];
drivers/net/ethernet/amazon/ena/ena_netdev.c
1716
static void ena_free_io_irq(struct ena_adapter *adapter)
drivers/net/ethernet/amazon/ena/ena_netdev.c
1718
u32 io_queue_count = adapter->num_io_queues + adapter->xdp_num_queues;
drivers/net/ethernet/amazon/ena/ena_netdev.c
172
ring->netdev = adapter->netdev;
drivers/net/ethernet/amazon/ena/ena_netdev.c
1725
irq = &adapter->irq_tbl[i];
drivers/net/ethernet/amazon/ena/ena_netdev.c
173
ring->napi = &adapter->ena_napi[qid].napi;
drivers/net/ethernet/amazon/ena/ena_netdev.c
1733
static void ena_disable_msix(struct ena_adapter *adapter)
drivers/net/ethernet/amazon/ena/ena_netdev.c
1735
if (test_and_clear_bit(ENA_FLAG_MSIX_ENABLED, &adapter->flags))
drivers/net/ethernet/amazon/ena/ena_netdev.c
1736
pci_free_irq_vectors(adapter->pdev);
drivers/net/ethernet/amazon/ena/ena_netdev.c
1739
static void ena_disable_io_intr_sync(struct ena_adapter *adapter)
drivers/net/ethernet/amazon/ena/ena_netdev.c
174
ring->adapter = adapter;
drivers/net/ethernet/amazon/ena/ena_netdev.c
1741
u32 io_queue_count = adapter->num_io_queues + adapter->xdp_num_queues;
drivers/net/ethernet/amazon/ena/ena_netdev.c
1744
if (!netif_running(adapter->netdev))
drivers/net/ethernet/amazon/ena/ena_netdev.c
1748
synchronize_irq(adapter->irq_tbl[i].vector);
drivers/net/ethernet/amazon/ena/ena_netdev.c
175
ring->ena_dev = adapter->ena_dev;
drivers/net/ethernet/amazon/ena/ena_netdev.c
1751
static void ena_del_napi_in_range(struct ena_adapter *adapter,
drivers/net/ethernet/amazon/ena/ena_netdev.c
1758
netif_napi_del(&adapter->ena_napi[i].napi);
drivers/net/ethernet/amazon/ena/ena_netdev.c
1760
WARN_ON(ENA_IS_XDP_INDEX(adapter, i) &&
drivers/net/ethernet/amazon/ena/ena_netdev.c
1761
adapter->ena_napi[i].rx_ring);
drivers/net/ethernet/amazon/ena/ena_netdev.c
1765
static void ena_init_napi_in_range(struct ena_adapter *adapter,
drivers/net/ethernet/amazon/ena/ena_netdev.c
1772
struct ena_napi *napi = &adapter->ena_napi[i];
drivers/net/ethernet/amazon/ena/ena_netdev.c
1777
rx_ring = &adapter->rx_ring[i];
drivers/net/ethernet/amazon/ena/ena_netdev.c
1778
tx_ring = &adapter->tx_ring[i];
drivers/net/ethernet/amazon/ena/ena_netdev.c
1781
if (ENA_IS_XDP_INDEX(adapter, i))
drivers/net/ethernet/amazon/ena/ena_netdev.c
1784
netif_napi_add_config(adapter->netdev, &napi->napi, napi_handler, i);
drivers/net/ethernet/amazon/ena/ena_netdev.c
1786
if (!ENA_IS_XDP_INDEX(adapter, i))
drivers/net/ethernet/amazon/ena/ena_netdev.c
1794
static void ena_napi_disable_in_range(struct ena_adapter *adapter,
drivers/net/ethernet/amazon/ena/ena_netdev.c
1802
napi = &adapter->ena_napi[i].napi;
drivers/net/ethernet/amazon/ena/ena_netdev.c
1803
if (!ENA_IS_XDP_INDEX(adapter, i)) {
drivers/net/ethernet/amazon/ena/ena_netdev.c
1805
netif_queue_set_napi(adapter->netdev, i,
drivers/net/ethernet/amazon/ena/ena_netdev.c
1807
netif_queue_set_napi(adapter->netdev, i,
drivers/net/ethernet/amazon/ena/ena_netdev.c
1814
static void ena_napi_enable_in_range(struct ena_adapter *adapter,
drivers/net/ethernet/amazon/ena/ena_netdev.c
1822
napi = &adapter->ena_napi[i].napi;
drivers/net/ethernet/amazon/ena/ena_netdev.c
1824
if (!ENA_IS_XDP_INDEX(adapter, i)) {
drivers/net/ethernet/amazon/ena/ena_netdev.c
1826
netif_queue_set_napi(adapter->netdev, i,
drivers/net/ethernet/amazon/ena/ena_netdev.c
1828
netif_queue_set_napi(adapter->netdev, i,
drivers/net/ethernet/amazon/ena/ena_netdev.c
183
void ena_init_io_rings(struct ena_adapter *adapter,
drivers/net/ethernet/amazon/ena/ena_netdev.c
1835
static int ena_rss_configure(struct ena_adapter *adapter)
drivers/net/ethernet/amazon/ena/ena_netdev.c
1837
struct ena_com_dev *ena_dev = adapter->ena_dev;
drivers/net/ethernet/amazon/ena/ena_netdev.c
1842
rc = ena_rss_init_default(adapter);
drivers/net/ethernet/amazon/ena/ena_netdev.c
1844
netif_err(adapter, ifup, adapter->netdev, "Failed to init RSS rc: %d\n", rc);
drivers/net/ethernet/amazon/ena/ena_netdev.c
1867
static int ena_up_complete(struct ena_adapter *adapter)
drivers/net/ethernet/amazon/ena/ena_netdev.c
1871
rc = ena_rss_configure(adapter);
drivers/net/ethernet/amazon/ena/ena_netdev.c
1875
ena_change_mtu(adapter->netdev, adapter->netdev->mtu);
drivers/net/ethernet/amazon/ena/ena_netdev.c
1877
ena_refill_all_rx_bufs(adapter);
drivers/net/ethernet/amazon/ena/ena_netdev.c
1880
netif_tx_start_all_queues(adapter->netdev);
drivers/net/ethernet/amazon/ena/ena_netdev.c
1882
ena_napi_enable_in_range(adapter,
drivers/net/ethernet/amazon/ena/ena_netdev.c
1884
adapter->xdp_num_queues + adapter->num_io_queues);
drivers/net/ethernet/amazon/ena/ena_netdev.c
1889
static int ena_create_io_tx_queue(struct ena_adapter *adapter, int qid)
drivers/net/ethernet/amazon/ena/ena_netdev.c
1898
ena_dev = adapter->ena_dev;
drivers/net/ethernet/amazon/ena/ena_netdev.c
190
ena_dev = adapter->ena_dev;
drivers/net/ethernet/amazon/ena/ena_netdev.c
1900
tx_ring = &adapter->tx_ring[qid];
drivers/net/ethernet/amazon/ena/ena_netdev.c
1915
netif_err(adapter, ifup, adapter->netdev,
drivers/net/ethernet/amazon/ena/ena_netdev.c
1925
netif_err(adapter, ifup, adapter->netdev,
drivers/net/ethernet/amazon/ena/ena_netdev.c
193
txr = &adapter->tx_ring[i];
drivers/net/ethernet/amazon/ena/ena_netdev.c
1936
int ena_create_io_tx_queues_in_range(struct ena_adapter *adapter,
drivers/net/ethernet/amazon/ena/ena_netdev.c
1939
struct ena_com_dev *ena_dev = adapter->ena_dev;
drivers/net/ethernet/amazon/ena/ena_netdev.c
194
rxr = &adapter->rx_ring[i];
drivers/net/ethernet/amazon/ena/ena_netdev.c
1943
rc = ena_create_io_tx_queue(adapter, i);
drivers/net/ethernet/amazon/ena/ena_netdev.c
1957
static int ena_create_io_rx_queue(struct ena_adapter *adapter, int qid)
drivers/net/ethernet/amazon/ena/ena_netdev.c
1966
ena_dev = adapter->ena_dev;
drivers/net/ethernet/amazon/ena/ena_netdev.c
1968
rx_ring = &adapter->rx_ring[qid];
drivers/net/ethernet/amazon/ena/ena_netdev.c
197
ena_init_io_rings_common(adapter, txr, i);
drivers/net/ethernet/amazon/ena/ena_netdev.c
1983
netif_err(adapter, ifup, adapter->netdev,
drivers/net/ethernet/amazon/ena/ena_netdev.c
1993
netif_err(adapter, ifup, adapter->netdev,
drivers/net/ethernet/amazon/ena/ena_netdev.c
200
txr->ring_size = adapter->requested_tx_ring_size;
drivers/net/ethernet/amazon/ena/ena_netdev.c
2007
static int ena_create_all_io_rx_queues(struct ena_adapter *adapter)
drivers/net/ethernet/amazon/ena/ena_netdev.c
2009
struct ena_com_dev *ena_dev = adapter->ena_dev;
drivers/net/ethernet/amazon/ena/ena_netdev.c
2012
for (i = 0; i < adapter->num_io_queues; i++) {
drivers/net/ethernet/amazon/ena/ena_netdev.c
2013
rc = ena_create_io_rx_queue(adapter, i);
drivers/net/ethernet/amazon/ena/ena_netdev.c
2016
INIT_WORK(&adapter->ena_napi[i].dim.work, ena_dim_work);
drivers/net/ethernet/amazon/ena/ena_netdev.c
2018
ena_xdp_register_rxq_info(&adapter->rx_ring[i]);
drivers/net/ethernet/amazon/ena/ena_netdev.c
2025
ena_xdp_unregister_rxq_info(&adapter->rx_ring[i]);
drivers/net/ethernet/amazon/ena/ena_netdev.c
2026
cancel_work_sync(&adapter->ena_napi[i].dim.work);
drivers/net/ethernet/amazon/ena/ena_netdev.c
203
txr->sgl_size = adapter->max_tx_sgl_size;
drivers/net/ethernet/amazon/ena/ena_netdev.c
2033
static void set_io_rings_size(struct ena_adapter *adapter,
drivers/net/ethernet/amazon/ena/ena_netdev.c
2039
for (i = 0; i < adapter->num_io_queues; i++) {
drivers/net/ethernet/amazon/ena/ena_netdev.c
2040
adapter->tx_ring[i].ring_size = new_tx_size;
drivers/net/ethernet/amazon/ena/ena_netdev.c
2041
adapter->rx_ring[i].ring_size = new_rx_size;
drivers/net/ethernet/amazon/ena/ena_netdev.c
206
txr->disable_meta_caching = adapter->disable_meta_caching;
drivers/net/ethernet/amazon/ena/ena_netdev.c
2060
static int create_queues_with_size_backoff(struct ena_adapter *adapter)
drivers/net/ethernet/amazon/ena/ena_netdev.c
2068
set_io_rings_size(adapter, adapter->requested_tx_ring_size,
drivers/net/ethernet/amazon/ena/ena_netdev.c
2069
adapter->requested_rx_ring_size);
drivers/net/ethernet/amazon/ena/ena_netdev.c
2072
if (ena_xdp_present(adapter)) {
drivers/net/ethernet/amazon/ena/ena_netdev.c
2073
rc = ena_setup_and_create_all_xdp_queues(adapter);
drivers/net/ethernet/amazon/ena/ena_netdev.c
2078
rc = ena_setup_tx_resources_in_range(adapter,
drivers/net/ethernet/amazon/ena/ena_netdev.c
2080
adapter->num_io_queues);
drivers/net/ethernet/amazon/ena/ena_netdev.c
2084
rc = ena_create_io_tx_queues_in_range(adapter,
drivers/net/ethernet/amazon/ena/ena_netdev.c
2086
adapter->num_io_queues);
drivers/net/ethernet/amazon/ena/ena_netdev.c
2090
rc = ena_setup_all_rx_resources(adapter);
drivers/net/ethernet/amazon/ena/ena_netdev.c
2094
rc = ena_create_all_io_rx_queues(adapter);
drivers/net/ethernet/amazon/ena/ena_netdev.c
210
if (!ENA_IS_XDP_INDEX(adapter, i)) {
drivers/net/ethernet/amazon/ena/ena_netdev.c
2101
ena_free_all_io_rx_resources(adapter);
drivers/net/ethernet/amazon/ena/ena_netdev.c
2103
ena_destroy_all_tx_queues(adapter);
drivers/net/ethernet/amazon/ena/ena_netdev.c
2105
ena_free_all_io_tx_resources(adapter);
drivers/net/ethernet/amazon/ena/ena_netdev.c
2108
netif_err(adapter, ifup, adapter->netdev,
drivers/net/ethernet/amazon/ena/ena_netdev.c
2114
cur_tx_ring_size = adapter->tx_ring[0].ring_size;
drivers/net/ethernet/amazon/ena/ena_netdev.c
2115
cur_rx_ring_size = adapter->rx_ring[0].ring_size;
drivers/net/ethernet/amazon/ena/ena_netdev.c
2117
netif_err(adapter, ifup, adapter->netdev,
drivers/net/ethernet/amazon/ena/ena_netdev.c
212
ena_init_io_rings_common(adapter, rxr, i);
drivers/net/ethernet/amazon/ena/ena_netdev.c
2134
netif_err(adapter, ifup, adapter->netdev,
drivers/net/ethernet/amazon/ena/ena_netdev.c
2140
netif_err(adapter, ifup, adapter->netdev,
drivers/net/ethernet/amazon/ena/ena_netdev.c
2145
set_io_rings_size(adapter, new_tx_ring_size,
drivers/net/ethernet/amazon/ena/ena_netdev.c
215
rxr->ring_size = adapter->requested_rx_ring_size;
drivers/net/ethernet/amazon/ena/ena_netdev.c
2150
int ena_up(struct ena_adapter *adapter)
drivers/net/ethernet/amazon/ena/ena_netdev.c
2154
netif_dbg(adapter, ifup, adapter->netdev, "%s\n", __func__);
drivers/net/ethernet/amazon/ena/ena_netdev.c
2156
io_queue_count = adapter->num_io_queues + adapter->xdp_num_queues;
drivers/net/ethernet/amazon/ena/ena_netdev.c
2157
ena_setup_io_intr(adapter);
drivers/net/ethernet/amazon/ena/ena_netdev.c
216
rxr->rx_copybreak = adapter->rx_copybreak;
drivers/net/ethernet/amazon/ena/ena_netdev.c
2164
ena_init_napi_in_range(adapter, 0, io_queue_count);
drivers/net/ethernet/amazon/ena/ena_netdev.c
2169
if (ena_com_interrupt_moderation_supported(adapter->ena_dev))
drivers/net/ethernet/amazon/ena/ena_netdev.c
217
rxr->sgl_size = adapter->max_rx_sgl_size;
drivers/net/ethernet/amazon/ena/ena_netdev.c
2170
ena_com_enable_adaptive_moderation(adapter->ena_dev);
drivers/net/ethernet/amazon/ena/ena_netdev.c
2172
rc = ena_request_io_irq(adapter);
drivers/net/ethernet/amazon/ena/ena_netdev.c
2176
rc = create_queues_with_size_backoff(adapter);
drivers/net/ethernet/amazon/ena/ena_netdev.c
2180
rc = ena_up_complete(adapter);
drivers/net/ethernet/amazon/ena/ena_netdev.c
2184
if (test_bit(ENA_FLAG_LINK_UP, &adapter->flags))
drivers/net/ethernet/amazon/ena/ena_netdev.c
2185
netif_carrier_on(adapter->netdev);
drivers/net/ethernet/amazon/ena/ena_netdev.c
2187
ena_increase_stat(&adapter->dev_stats.interface_up, 1,
drivers/net/ethernet/amazon/ena/ena_netdev.c
2188
&adapter->syncp);
drivers/net/ethernet/amazon/ena/ena_netdev.c
2190
set_bit(ENA_FLAG_DEV_UP, &adapter->flags);
drivers/net/ethernet/amazon/ena/ena_netdev.c
2193
for (i = 0; i < adapter->num_io_queues; i++)
drivers/net/ethernet/amazon/ena/ena_netdev.c
2194
ena_unmask_interrupt(&adapter->tx_ring[i],
drivers/net/ethernet/amazon/ena/ena_netdev.c
2195
&adapter->rx_ring[i]);
drivers/net/ethernet/amazon/ena/ena_netdev.c
2201
napi_schedule(&adapter->ena_napi[i].napi);
drivers/net/ethernet/amazon/ena/ena_netdev.c
2206
ena_destroy_all_tx_queues(adapter);
drivers/net/ethernet/amazon/ena/ena_netdev.c
2207
ena_free_all_io_tx_resources(adapter);
drivers/net/ethernet/amazon/ena/ena_netdev.c
2208
ena_destroy_all_rx_queues(adapter);
drivers/net/ethernet/amazon/ena/ena_netdev.c
2209
ena_free_all_io_rx_resources(adapter);
drivers/net/ethernet/amazon/ena/ena_netdev.c
2211
ena_free_io_irq(adapter);
drivers/net/ethernet/amazon/ena/ena_netdev.c
2213
ena_del_napi_in_range(adapter, 0, io_queue_count);
drivers/net/ethernet/amazon/ena/ena_netdev.c
2218
void ena_down(struct ena_adapter *adapter)
drivers/net/ethernet/amazon/ena/ena_netdev.c
222
adapter->ena_napi[i].dim.mode = DIM_CQ_PERIOD_MODE_START_FROM_EQE;
drivers/net/ethernet/amazon/ena/ena_netdev.c
2220
int io_queue_count = adapter->num_io_queues + adapter->xdp_num_queues;
drivers/net/ethernet/amazon/ena/ena_netdev.c
2222
netif_dbg(adapter, ifdown, adapter->netdev, "%s\n", __func__);
drivers/net/ethernet/amazon/ena/ena_netdev.c
2224
clear_bit(ENA_FLAG_DEV_UP, &adapter->flags);
drivers/net/ethernet/amazon/ena/ena_netdev.c
2226
ena_increase_stat(&adapter->dev_stats.interface_down, 1,
drivers/net/ethernet/amazon/ena/ena_netdev.c
2227
&adapter->syncp);
drivers/net/ethernet/amazon/ena/ena_netdev.c
2229
netif_carrier_off(adapter->netdev);
drivers/net/ethernet/amazon/ena/ena_netdev.c
223
rxr->xdp_ring = &adapter->tx_ring[i + adapter->num_io_queues];
drivers/net/ethernet/amazon/ena/ena_netdev.c
2230
netif_tx_disable(adapter->netdev);
drivers/net/ethernet/amazon/ena/ena_netdev.c
2233
ena_napi_disable_in_range(adapter, 0, io_queue_count);
drivers/net/ethernet/amazon/ena/ena_netdev.c
2235
if (test_bit(ENA_FLAG_TRIGGER_RESET, &adapter->flags)) {
drivers/net/ethernet/amazon/ena/ena_netdev.c
2238
rc = ena_com_dev_reset(adapter->ena_dev, adapter->reset_reason);
drivers/net/ethernet/amazon/ena/ena_netdev.c
2240
netif_err(adapter, ifdown, adapter->netdev,
drivers/net/ethernet/amazon/ena/ena_netdev.c
2243
ena_com_set_admin_running_state(adapter->ena_dev, false);
drivers/net/ethernet/amazon/ena/ena_netdev.c
2246
ena_destroy_all_io_queues(adapter);
drivers/net/ethernet/amazon/ena/ena_netdev.c
2248
ena_disable_io_intr_sync(adapter);
drivers/net/ethernet/amazon/ena/ena_netdev.c
2249
ena_free_io_irq(adapter);
drivers/net/ethernet/amazon/ena/ena_netdev.c
2250
ena_del_napi_in_range(adapter, 0, io_queue_count);
drivers/net/ethernet/amazon/ena/ena_netdev.c
2252
ena_free_all_tx_bufs(adapter);
drivers/net/ethernet/amazon/ena/ena_netdev.c
2253
ena_free_all_rx_bufs(adapter);
drivers/net/ethernet/amazon/ena/ena_netdev.c
2254
ena_free_all_io_tx_resources(adapter);
drivers/net/ethernet/amazon/ena/ena_netdev.c
2255
ena_free_all_io_rx_resources(adapter);
drivers/net/ethernet/amazon/ena/ena_netdev.c
2271
struct ena_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/amazon/ena/ena_netdev.c
2275
rc = netif_set_real_num_tx_queues(netdev, adapter->num_io_queues);
drivers/net/ethernet/amazon/ena/ena_netdev.c
2277
netif_err(adapter, ifup, netdev, "Can't set num tx queues\n");
drivers/net/ethernet/amazon/ena/ena_netdev.c
2281
rc = netif_set_real_num_rx_queues(netdev, adapter->num_io_queues);
drivers/net/ethernet/amazon/ena/ena_netdev.c
2283
netif_err(adapter, ifup, netdev, "Can't set num rx queues\n");
drivers/net/ethernet/amazon/ena/ena_netdev.c
2287
rc = ena_up(adapter);
drivers/net/ethernet/amazon/ena/ena_netdev.c
2306
struct ena_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/amazon/ena/ena_netdev.c
2308
netif_dbg(adapter, ifdown, netdev, "%s\n", __func__);
drivers/net/ethernet/amazon/ena/ena_netdev.c
2310
if (!test_bit(ENA_FLAG_DEVICE_RUNNING, &adapter->flags))
drivers/net/ethernet/amazon/ena/ena_netdev.c
2313
if (test_bit(ENA_FLAG_DEV_UP, &adapter->flags))
drivers/net/ethernet/amazon/ena/ena_netdev.c
2314
ena_down(adapter);
drivers/net/ethernet/amazon/ena/ena_netdev.c
2317
check_for_admin_com_state(adapter);
drivers/net/ethernet/amazon/ena/ena_netdev.c
2318
if (unlikely(test_bit(ENA_FLAG_TRIGGER_RESET, &adapter->flags))) {
drivers/net/ethernet/amazon/ena/ena_netdev.c
2319
netif_err(adapter, ifdown, adapter->netdev,
drivers/net/ethernet/amazon/ena/ena_netdev.c
2321
ena_dump_stats_to_dmesg(adapter);
drivers/net/ethernet/amazon/ena/ena_netdev.c
2323
ena_destroy_device(adapter, false);
drivers/net/ethernet/amazon/ena/ena_netdev.c
2324
ena_restore_device(adapter);
drivers/net/ethernet/amazon/ena/ena_netdev.c
2330
int ena_update_queue_params(struct ena_adapter *adapter,
drivers/net/ethernet/amazon/ena/ena_netdev.c
2338
dev_was_up = test_bit(ENA_FLAG_DEV_UP, &adapter->flags);
drivers/net/ethernet/amazon/ena/ena_netdev.c
2339
ena_close(adapter->netdev);
drivers/net/ethernet/amazon/ena/ena_netdev.c
234
static int ena_setup_tx_resources(struct ena_adapter *adapter, int qid)
drivers/net/ethernet/amazon/ena/ena_netdev.c
2340
adapter->requested_tx_ring_size = new_tx_size;
drivers/net/ethernet/amazon/ena/ena_netdev.c
2341
adapter->requested_rx_ring_size = new_rx_size;
drivers/net/ethernet/amazon/ena/ena_netdev.c
2342
ena_init_io_rings(adapter,
drivers/net/ethernet/amazon/ena/ena_netdev.c
2344
adapter->xdp_num_queues +
drivers/net/ethernet/amazon/ena/ena_netdev.c
2345
adapter->num_io_queues);
drivers/net/ethernet/amazon/ena/ena_netdev.c
2347
large_llq_changed = adapter->ena_dev->tx_mem_queue_type ==
drivers/net/ethernet/amazon/ena/ena_netdev.c
2350
new_llq_header_len != adapter->ena_dev->tx_max_header_size;
drivers/net/ethernet/amazon/ena/ena_netdev.c
2354
adapter->large_llq_header_enabled = !adapter->large_llq_header_enabled;
drivers/net/ethernet/amazon/ena/ena_netdev.c
2356
ena_destroy_device(adapter, false);
drivers/net/ethernet/amazon/ena/ena_netdev.c
2357
rc = ena_restore_device(adapter);
drivers/net/ethernet/amazon/ena/ena_netdev.c
236
struct ena_ring *tx_ring = &adapter->tx_ring[qid];
drivers/net/ethernet/amazon/ena/ena_netdev.c
2360
return dev_was_up && !rc ? ena_up(adapter) : rc;
drivers/net/ethernet/amazon/ena/ena_netdev.c
2363
int ena_set_rx_copybreak(struct ena_adapter *adapter, u32 rx_copybreak)
drivers/net/ethernet/amazon/ena/ena_netdev.c
2368
if (rx_copybreak > min_t(u16, adapter->netdev->mtu, ENA_PAGE_SIZE))
drivers/net/ethernet/amazon/ena/ena_netdev.c
237
struct ena_irq *ena_irq = &adapter->irq_tbl[ENA_IO_IRQ_IDX(qid)];
drivers/net/ethernet/amazon/ena/ena_netdev.c
2371
adapter->rx_copybreak = rx_copybreak;
drivers/net/ethernet/amazon/ena/ena_netdev.c
2373
for (i = 0; i < adapter->num_io_queues; i++) {
drivers/net/ethernet/amazon/ena/ena_netdev.c
2374
rx_ring = &adapter->rx_ring[i];
drivers/net/ethernet/amazon/ena/ena_netdev.c
2381
int ena_update_queue_count(struct ena_adapter *adapter, u32 new_channel_count)
drivers/net/ethernet/amazon/ena/ena_netdev.c
2383
struct ena_com_dev *ena_dev = adapter->ena_dev;
drivers/net/ethernet/amazon/ena/ena_netdev.c
2387
dev_was_up = test_bit(ENA_FLAG_DEV_UP, &adapter->flags);
drivers/net/ethernet/amazon/ena/ena_netdev.c
2388
ena_close(adapter->netdev);
drivers/net/ethernet/amazon/ena/ena_netdev.c
2389
prev_channel_count = adapter->num_io_queues;
drivers/net/ethernet/amazon/ena/ena_netdev.c
2390
adapter->num_io_queues = new_channel_count;
drivers/net/ethernet/amazon/ena/ena_netdev.c
2391
if (ena_xdp_present(adapter) &&
drivers/net/ethernet/amazon/ena/ena_netdev.c
2392
ena_xdp_allowed(adapter) == ENA_XDP_ALLOWED) {
drivers/net/ethernet/amazon/ena/ena_netdev.c
2393
adapter->xdp_first_ring = new_channel_count;
drivers/net/ethernet/amazon/ena/ena_netdev.c
2394
adapter->xdp_num_queues = new_channel_count;
drivers/net/ethernet/amazon/ena/ena_netdev.c
2396
ena_xdp_exchange_program_rx_in_range(adapter,
drivers/net/ethernet/amazon/ena/ena_netdev.c
2401
ena_xdp_exchange_program_rx_in_range(adapter,
drivers/net/ethernet/amazon/ena/ena_netdev.c
2402
adapter->xdp_bpf_prog,
drivers/net/ethernet/amazon/ena/ena_netdev.c
241
netif_err(adapter, ifup,
drivers/net/ethernet/amazon/ena/ena_netdev.c
2411
ena_init_io_rings(adapter,
drivers/net/ethernet/amazon/ena/ena_netdev.c
2413
adapter->xdp_num_queues +
drivers/net/ethernet/amazon/ena/ena_netdev.c
2414
adapter->num_io_queues);
drivers/net/ethernet/amazon/ena/ena_netdev.c
2415
return dev_was_up ? ena_open(adapter->netdev) : 0;
drivers/net/ethernet/amazon/ena/ena_netdev.c
242
adapter->netdev, "tx_buffer_info info is not NULL");
drivers/net/ethernet/amazon/ena/ena_netdev.c
2504
struct ena_adapter *adapter = tx_ring->adapter;
drivers/net/ethernet/amazon/ena/ena_netdev.c
2543
netif_dbg(adapter, tx_queued, adapter->netdev,
drivers/net/ethernet/amazon/ena/ena_netdev.c
2592
netif_warn(adapter, tx_queued, adapter->netdev, "Failed to map skb\n");
drivers/net/ethernet/amazon/ena/ena_netdev.c
2605
struct ena_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/amazon/ena/ena_netdev.c
2614
netif_dbg(adapter, tx_queued, dev, "%s skb %p\n", __func__, skb);
drivers/net/ethernet/amazon/ena/ena_netdev.c
2617
tx_ring = &adapter->tx_ring[qid];
drivers/net/ethernet/amazon/ena/ena_netdev.c
2645
rc = ena_xmit_common(adapter,
drivers/net/ethernet/amazon/ena/ena_netdev.c
2662
netif_dbg(adapter, tx_queued, dev, "%s stop queue %d\n",
drivers/net/ethernet/amazon/ena/ena_netdev.c
2769
static void ena_config_debug_area(struct ena_adapter *adapter)
drivers/net/ethernet/amazon/ena/ena_netdev.c
2774
ss_count = ena_get_sset_count(adapter->netdev, ETH_SS_STATS);
drivers/net/ethernet/amazon/ena/ena_netdev.c
2776
netif_err(adapter, drv, adapter->netdev,
drivers/net/ethernet/amazon/ena/ena_netdev.c
2784
rc = ena_com_allocate_debug_area(adapter->ena_dev, debug_area_size);
drivers/net/ethernet/amazon/ena/ena_netdev.c
2786
netif_err(adapter, drv, adapter->netdev,
drivers/net/ethernet/amazon/ena/ena_netdev.c
2791
rc = ena_com_set_host_attributes(adapter->ena_dev);
drivers/net/ethernet/amazon/ena/ena_netdev.c
2794
netif_warn(adapter, drv, adapter->netdev, "Cannot set host attributes\n");
drivers/net/ethernet/amazon/ena/ena_netdev.c
2796
netif_err(adapter, drv, adapter->netdev,
drivers/net/ethernet/amazon/ena/ena_netdev.c
2803
ena_com_delete_debug_area(adapter->ena_dev);
drivers/net/ethernet/amazon/ena/ena_netdev.c
2809
struct ena_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/amazon/ena/ena_netdev.c
2817
if (!test_bit(ENA_FLAG_DEV_UP, &adapter->flags))
drivers/net/ethernet/amazon/ena/ena_netdev.c
2820
for (i = 0; i < adapter->num_io_queues + adapter->xdp_num_queues; i++) {
drivers/net/ethernet/amazon/ena/ena_netdev.c
2823
tx_ring = &adapter->tx_ring[i];
drivers/net/ethernet/amazon/ena/ena_netdev.c
2835
if (ENA_IS_XDP_INDEX(adapter, i))
drivers/net/ethernet/amazon/ena/ena_netdev.c
2838
rx_ring = &adapter->rx_ring[i];
drivers/net/ethernet/amazon/ena/ena_netdev.c
2853
start = u64_stats_fetch_begin(&adapter->syncp);
drivers/net/ethernet/amazon/ena/ena_netdev.c
2854
rx_drops = adapter->dev_stats.rx_drops;
drivers/net/ethernet/amazon/ena/ena_netdev.c
2855
tx_drops = adapter->dev_stats.tx_drops;
drivers/net/ethernet/amazon/ena/ena_netdev.c
2856
} while (u64_stats_fetch_retry(&adapter->syncp, start));
drivers/net/ethernet/amazon/ena/ena_netdev.c
2887
static int ena_calc_io_queue_size(struct ena_adapter *adapter,
drivers/net/ethernet/amazon/ena/ena_netdev.c
2891
struct ena_com_dev *ena_dev = adapter->ena_dev;
drivers/net/ethernet/amazon/ena/ena_netdev.c
2900
if (adapter->tx_ring->ring_size)
drivers/net/ethernet/amazon/ena/ena_netdev.c
2901
tx_queue_size = adapter->tx_ring->ring_size;
drivers/net/ethernet/amazon/ena/ena_netdev.c
2903
if (adapter->rx_ring->ring_size)
drivers/net/ethernet/amazon/ena/ena_netdev.c
2904
rx_queue_size = adapter->rx_ring->ring_size;
drivers/net/ethernet/amazon/ena/ena_netdev.c
2920
adapter->max_tx_sgl_size = min_t(u16, ENA_PKT_MAX_BUFS,
drivers/net/ethernet/amazon/ena/ena_netdev.c
2922
adapter->max_rx_sgl_size = min_t(u16, ENA_PKT_MAX_BUFS,
drivers/net/ethernet/amazon/ena/ena_netdev.c
2938
adapter->max_tx_sgl_size = min_t(u16, ENA_PKT_MAX_BUFS,
drivers/net/ethernet/amazon/ena/ena_netdev.c
2940
adapter->max_rx_sgl_size = min_t(u16, ENA_PKT_MAX_BUFS,
drivers/net/ethernet/amazon/ena/ena_netdev.c
2948
netdev_err(adapter->netdev, "Device max TX queue size: %d < minimum: %d\n",
drivers/net/ethernet/amazon/ena/ena_netdev.c
2954
netdev_err(adapter->netdev, "Device max RX queue size: %d < minimum: %d\n",
drivers/net/ethernet/amazon/ena/ena_netdev.c
2962
if (adapter->large_llq_header_enabled) {
drivers/net/ethernet/amazon/ena/ena_netdev.c
2966
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/amazon/ena/ena_netdev.c
2970
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/amazon/ena/ena_netdev.c
2973
adapter->large_llq_header_enabled = false;
drivers/net/ethernet/amazon/ena/ena_netdev.c
2985
adapter->max_tx_ring_size = max_tx_queue_size;
drivers/net/ethernet/amazon/ena/ena_netdev.c
2986
adapter->max_rx_ring_size = max_rx_queue_size;
drivers/net/ethernet/amazon/ena/ena_netdev.c
2987
adapter->requested_tx_ring_size = tx_queue_size;
drivers/net/ethernet/amazon/ena/ena_netdev.c
2988
adapter->requested_rx_ring_size = rx_queue_size;
drivers/net/ethernet/amazon/ena/ena_netdev.c
2993
static int ena_device_validate_params(struct ena_adapter *adapter,
drivers/net/ethernet/amazon/ena/ena_netdev.c
2996
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/amazon/ena/ena_netdev.c
3000
adapter->mac_addr);
drivers/net/ethernet/amazon/ena/ena_netdev.c
3002
netif_err(adapter, drv, netdev,
drivers/net/ethernet/amazon/ena/ena_netdev.c
3008
netif_err(adapter, drv, netdev,
drivers/net/ethernet/amazon/ena/ena_netdev.c
301
static void ena_free_tx_resources(struct ena_adapter *adapter, int qid)
drivers/net/ethernet/amazon/ena/ena_netdev.c
3016
static void set_default_llq_configurations(struct ena_adapter *adapter,
drivers/net/ethernet/amazon/ena/ena_netdev.c
3020
struct ena_com_dev *ena_dev = adapter->ena_dev;
drivers/net/ethernet/amazon/ena/ena_netdev.c
3026
adapter->large_llq_header_supported =
drivers/net/ethernet/amazon/ena/ena_netdev.c
3028
adapter->large_llq_header_supported &=
drivers/net/ethernet/amazon/ena/ena_netdev.c
303
struct ena_ring *tx_ring = &adapter->tx_ring[qid];
drivers/net/ethernet/amazon/ena/ena_netdev.c
3033
adapter->large_llq_header_enabled) {
drivers/net/ethernet/amazon/ena/ena_netdev.c
3093
static int ena_device_init(struct ena_adapter *adapter, struct pci_dev *pdev,
drivers/net/ethernet/amazon/ena/ena_netdev.c
3097
struct ena_com_dev *ena_dev = adapter->ena_dev;
drivers/net/ethernet/amazon/ena/ena_netdev.c
3098
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/amazon/ena/ena_netdev.c
3143
ena_devlink_params_get(adapter->devlink);
drivers/net/ethernet/amazon/ena/ena_netdev.c
315
int ena_setup_tx_resources_in_range(struct ena_adapter *adapter,
drivers/net/ethernet/amazon/ena/ena_netdev.c
3185
set_default_llq_configurations(adapter, &llq_config, &get_feat_ctx->llq);
drivers/net/ethernet/amazon/ena/ena_netdev.c
3194
rc = ena_calc_io_queue_size(adapter, get_feat_ctx);
drivers/net/ethernet/amazon/ena/ena_netdev.c
3198
rc = ena_phc_init(adapter);
drivers/net/ethernet/amazon/ena/ena_netdev.c
321
rc = ena_setup_tx_resources(adapter, i);
drivers/net/ethernet/amazon/ena/ena_netdev.c
3215
static int ena_enable_msix_and_set_admin_interrupts(struct ena_adapter *adapter)
drivers/net/ethernet/amazon/ena/ena_netdev.c
3217
struct ena_com_dev *ena_dev = adapter->ena_dev;
drivers/net/ethernet/amazon/ena/ena_netdev.c
3218
struct device *dev = &adapter->pdev->dev;
drivers/net/ethernet/amazon/ena/ena_netdev.c
3221
rc = ena_enable_msix(adapter);
drivers/net/ethernet/amazon/ena/ena_netdev.c
3227
ena_setup_mgmnt_intr(adapter);
drivers/net/ethernet/amazon/ena/ena_netdev.c
3229
rc = ena_request_mgmnt_irq(adapter);
drivers/net/ethernet/amazon/ena/ena_netdev.c
3242
ena_disable_msix(adapter);
drivers/net/ethernet/amazon/ena/ena_netdev.c
3247
int ena_destroy_device(struct ena_adapter *adapter, bool graceful)
drivers/net/ethernet/amazon/ena/ena_netdev.c
3249
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/amazon/ena/ena_netdev.c
3250
struct ena_com_dev *ena_dev = adapter->ena_dev;
drivers/net/ethernet/amazon/ena/ena_netdev.c
3254
if (!test_bit(ENA_FLAG_DEVICE_RUNNING, &adapter->flags))
drivers/net/ethernet/amazon/ena/ena_netdev.c
3259
timer_delete_sync(&adapter->timer_service);
drivers/net/ethernet/amazon/ena/ena_netdev.c
3261
dev_up = test_bit(ENA_FLAG_DEV_UP, &adapter->flags);
drivers/net/ethernet/amazon/ena/ena_netdev.c
3262
adapter->dev_up_before_reset = dev_up;
drivers/net/ethernet/amazon/ena/ena_netdev.c
3267
ena_down(adapter);
drivers/net/ethernet/amazon/ena/ena_netdev.c
3272
if (!(test_bit(ENA_FLAG_TRIGGER_RESET, &adapter->flags) && dev_up))
drivers/net/ethernet/amazon/ena/ena_netdev.c
3273
rc = ena_com_dev_reset(adapter->ena_dev, adapter->reset_reason);
drivers/net/ethernet/amazon/ena/ena_netdev.c
3275
ena_free_mgmnt_irq(adapter);
drivers/net/ethernet/amazon/ena/ena_netdev.c
3277
ena_disable_msix(adapter);
drivers/net/ethernet/amazon/ena/ena_netdev.c
3285
ena_phc_destroy(adapter);
drivers/net/ethernet/amazon/ena/ena_netdev.c
3290
adapter->reset_reason = ENA_REGS_RESET_NORMAL;
drivers/net/ethernet/amazon/ena/ena_netdev.c
3292
clear_bit(ENA_FLAG_TRIGGER_RESET, &adapter->flags);
drivers/net/ethernet/amazon/ena/ena_netdev.c
3293
clear_bit(ENA_FLAG_DEVICE_RUNNING, &adapter->flags);
drivers/net/ethernet/amazon/ena/ena_netdev.c
3298
int ena_restore_device(struct ena_adapter *adapter)
drivers/net/ethernet/amazon/ena/ena_netdev.c
330
netif_err(adapter, ifup, adapter->netdev,
drivers/net/ethernet/amazon/ena/ena_netdev.c
3301
struct ena_com_dev *ena_dev = adapter->ena_dev;
drivers/net/ethernet/amazon/ena/ena_netdev.c
3302
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/amazon/ena/ena_netdev.c
3307
set_bit(ENA_FLAG_ONGOING_RESET, &adapter->flags);
drivers/net/ethernet/amazon/ena/ena_netdev.c
3308
rc = ena_device_init(adapter, adapter->pdev, &get_feat_ctx, &wd_state);
drivers/net/ethernet/amazon/ena/ena_netdev.c
3313
adapter->wd_state = wd_state;
drivers/net/ethernet/amazon/ena/ena_netdev.c
3315
count = adapter->xdp_num_queues + adapter->num_io_queues;
drivers/net/ethernet/amazon/ena/ena_netdev.c
3317
txr = &adapter->tx_ring[i];
drivers/net/ethernet/amazon/ena/ena_netdev.c
3322
rc = ena_device_validate_params(adapter, &get_feat_ctx);
drivers/net/ethernet/amazon/ena/ena_netdev.c
3328
rc = ena_enable_msix_and_set_admin_interrupts(adapter);
drivers/net/ethernet/amazon/ena/ena_netdev.c
3334
if (adapter->dev_up_before_reset) {
drivers/net/ethernet/amazon/ena/ena_netdev.c
3335
rc = ena_up(adapter);
drivers/net/ethernet/amazon/ena/ena_netdev.c
3342
set_bit(ENA_FLAG_DEVICE_RUNNING, &adapter->flags);
drivers/net/ethernet/amazon/ena/ena_netdev.c
3344
clear_bit(ENA_FLAG_ONGOING_RESET, &adapter->flags);
drivers/net/ethernet/amazon/ena/ena_netdev.c
3345
if (test_bit(ENA_FLAG_LINK_UP, &adapter->flags))
drivers/net/ethernet/amazon/ena/ena_netdev.c
3346
netif_carrier_on(adapter->netdev);
drivers/net/ethernet/amazon/ena/ena_netdev.c
3348
mod_timer(&adapter->timer_service, round_jiffies(jiffies + HZ));
drivers/net/ethernet/amazon/ena/ena_netdev.c
3349
adapter->last_keep_alive_jiffies = jiffies;
drivers/net/ethernet/amazon/ena/ena_netdev.c
335
ena_free_tx_resources(adapter, i);
drivers/net/ethernet/amazon/ena/ena_netdev.c
3353
ena_free_mgmnt_irq(adapter);
drivers/net/ethernet/amazon/ena/ena_netdev.c
3354
ena_disable_msix(adapter);
drivers/net/ethernet/amazon/ena/ena_netdev.c
3360
ena_phc_destroy(adapter);
drivers/net/ethernet/amazon/ena/ena_netdev.c
3363
clear_bit(ENA_FLAG_DEVICE_RUNNING, &adapter->flags);
drivers/net/ethernet/amazon/ena/ena_netdev.c
3364
clear_bit(ENA_FLAG_ONGOING_RESET, &adapter->flags);
drivers/net/ethernet/amazon/ena/ena_netdev.c
3375
struct ena_adapter *adapter =
drivers/net/ethernet/amazon/ena/ena_netdev.c
3380
if (likely(test_bit(ENA_FLAG_TRIGGER_RESET, &adapter->flags))) {
drivers/net/ethernet/amazon/ena/ena_netdev.c
3381
rc |= ena_destroy_device(adapter, false);
drivers/net/ethernet/amazon/ena/ena_netdev.c
3382
rc |= ena_restore_device(adapter);
drivers/net/ethernet/amazon/ena/ena_netdev.c
3383
adapter->dev_stats.reset_fail += !!rc;
drivers/net/ethernet/amazon/ena/ena_netdev.c
3385
dev_err(&adapter->pdev->dev, "Device reset completed successfully\n");
drivers/net/ethernet/amazon/ena/ena_netdev.c
339
void ena_free_all_io_tx_resources_in_range(struct ena_adapter *adapter,
drivers/net/ethernet/amazon/ena/ena_netdev.c
3391
static int check_for_rx_interrupt_queue(struct ena_adapter *adapter,
drivers/net/ethernet/amazon/ena/ena_netdev.c
3405
netif_err(adapter, rx_err, adapter->netdev,
drivers/net/ethernet/amazon/ena/ena_netdev.c
3409
ena_reset_device(adapter, ENA_REGS_RESET_MISS_INTERRUPT);
drivers/net/ethernet/amazon/ena/ena_netdev.c
3416
static int check_missing_comp_in_tx_queue(struct ena_adapter *adapter,
drivers/net/ethernet/amazon/ena/ena_netdev.c
3430
missing_tx_comp_to = jiffies_to_msecs(adapter->missing_tx_completion_to);
drivers/net/ethernet/amazon/ena/ena_netdev.c
3441
2 * adapter->missing_tx_completion_to);
drivers/net/ethernet/amazon/ena/ena_netdev.c
3447
netif_err(adapter, tx_err, adapter->netdev,
drivers/net/ethernet/amazon/ena/ena_netdev.c
345
ena_free_tx_resources(adapter, i);
drivers/net/ethernet/amazon/ena/ena_netdev.c
3450
ena_reset_device(adapter, ENA_REGS_RESET_MISS_INTERRUPT);
drivers/net/ethernet/amazon/ena/ena_netdev.c
3455
adapter->missing_tx_completion_to);
drivers/net/ethernet/amazon/ena/ena_netdev.c
3468
2 * adapter->missing_tx_completion_to))
drivers/net/ethernet/amazon/ena/ena_netdev.c
3479
netif_notice(adapter, tx_err, adapter->netdev,
drivers/net/ethernet/amazon/ena/ena_netdev.c
3487
if (unlikely(missed_tx > adapter->missing_tx_completion_threshold)) {
drivers/net/ethernet/amazon/ena/ena_netdev.c
3488
netif_err(adapter, tx_err, adapter->netdev,
drivers/net/ethernet/amazon/ena/ena_netdev.c
3491
adapter->missing_tx_completion_threshold,
drivers/net/ethernet/amazon/ena/ena_netdev.c
3493
netif_err(adapter, tx_err, adapter->netdev,
drivers/net/ethernet/amazon/ena/ena_netdev.c
3496
ena_reset_device(adapter, reset_reason);
drivers/net/ethernet/amazon/ena/ena_netdev.c
3506
static void check_for_missing_completions(struct ena_adapter *adapter)
drivers/net/ethernet/amazon/ena/ena_netdev.c
3513
io_queue_count = adapter->xdp_num_queues + adapter->num_io_queues;
drivers/net/ethernet/amazon/ena/ena_netdev.c
3518
if (!test_bit(ENA_FLAG_DEV_UP, &adapter->flags))
drivers/net/ethernet/amazon/ena/ena_netdev.c
3521
if (test_bit(ENA_FLAG_TRIGGER_RESET, &adapter->flags))
drivers/net/ethernet/amazon/ena/ena_netdev.c
3524
if (adapter->missing_tx_completion_to == ENA_HW_HINTS_NO_TIMEOUT)
drivers/net/ethernet/amazon/ena/ena_netdev.c
3529
qid = adapter->last_monitored_tx_qid;
drivers/net/ethernet/amazon/ena/ena_netdev.c
353
void ena_free_all_io_tx_resources(struct ena_adapter *adapter)
drivers/net/ethernet/amazon/ena/ena_netdev.c
3534
tx_ring = &adapter->tx_ring[qid];
drivers/net/ethernet/amazon/ena/ena_netdev.c
3535
rx_ring = &adapter->rx_ring[qid];
drivers/net/ethernet/amazon/ena/ena_netdev.c
3537
rc = check_missing_comp_in_tx_queue(adapter, tx_ring);
drivers/net/ethernet/amazon/ena/ena_netdev.c
3541
rc = !ENA_IS_XDP_INDEX(adapter, qid) ?
drivers/net/ethernet/amazon/ena/ena_netdev.c
3542
check_for_rx_interrupt_queue(adapter, rx_ring) : 0;
drivers/net/ethernet/amazon/ena/ena_netdev.c
3549
adapter->last_monitored_tx_qid = qid;
drivers/net/ethernet/amazon/ena/ena_netdev.c
355
ena_free_all_io_tx_resources_in_range(adapter,
drivers/net/ethernet/amazon/ena/ena_netdev.c
3568
static void check_for_empty_rx_ring(struct ena_adapter *adapter)
drivers/net/ethernet/amazon/ena/ena_netdev.c
357
adapter->xdp_num_queues +
drivers/net/ethernet/amazon/ena/ena_netdev.c
3573
if (!test_bit(ENA_FLAG_DEV_UP, &adapter->flags))
drivers/net/ethernet/amazon/ena/ena_netdev.c
3576
if (test_bit(ENA_FLAG_TRIGGER_RESET, &adapter->flags))
drivers/net/ethernet/amazon/ena/ena_netdev.c
3579
for (i = 0; i < adapter->num_io_queues; i++) {
drivers/net/ethernet/amazon/ena/ena_netdev.c
358
adapter->num_io_queues);
drivers/net/ethernet/amazon/ena/ena_netdev.c
3580
rx_ring = &adapter->rx_ring[i];
drivers/net/ethernet/amazon/ena/ena_netdev.c
3590
netif_err(adapter, drv, adapter->netdev,
drivers/net/ethernet/amazon/ena/ena_netdev.c
3603
static void check_for_missing_keep_alive(struct ena_adapter *adapter)
drivers/net/ethernet/amazon/ena/ena_netdev.c
3607
if (!adapter->wd_state)
drivers/net/ethernet/amazon/ena/ena_netdev.c
3610
if (adapter->keep_alive_timeout == ENA_HW_HINTS_NO_TIMEOUT)
drivers/net/ethernet/amazon/ena/ena_netdev.c
3613
keep_alive_expired = adapter->last_keep_alive_jiffies +
drivers/net/ethernet/amazon/ena/ena_netdev.c
3614
adapter->keep_alive_timeout;
drivers/net/ethernet/amazon/ena/ena_netdev.c
3616
netif_err(adapter, drv, adapter->netdev,
drivers/net/ethernet/amazon/ena/ena_netdev.c
3618
ena_increase_stat(&adapter->dev_stats.wd_expired, 1,
drivers/net/ethernet/amazon/ena/ena_netdev.c
3619
&adapter->syncp);
drivers/net/ethernet/amazon/ena/ena_netdev.c
3620
ena_reset_device(adapter, ENA_REGS_RESET_KEEP_ALIVE_TO);
drivers/net/ethernet/amazon/ena/ena_netdev.c
3624
static void check_for_admin_com_state(struct ena_adapter *adapter)
drivers/net/ethernet/amazon/ena/ena_netdev.c
3626
if (unlikely(!ena_com_get_admin_running_state(adapter->ena_dev))) {
drivers/net/ethernet/amazon/ena/ena_netdev.c
3627
netif_err(adapter, drv, adapter->netdev,
drivers/net/ethernet/amazon/ena/ena_netdev.c
3629
ena_increase_stat(&adapter->dev_stats.admin_q_pause, 1,
drivers/net/ethernet/amazon/ena/ena_netdev.c
3630
&adapter->syncp);
drivers/net/ethernet/amazon/ena/ena_netdev.c
3631
ena_reset_device(adapter, ENA_REGS_RESET_ADMIN_TO);
drivers/net/ethernet/amazon/ena/ena_netdev.c
3635
static void ena_update_hints(struct ena_adapter *adapter,
drivers/net/ethernet/amazon/ena/ena_netdev.c
3638
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/amazon/ena/ena_netdev.c
3641
adapter->ena_dev->admin_queue.completion_timeout =
drivers/net/ethernet/amazon/ena/ena_netdev.c
3646
adapter->ena_dev->mmio_read.reg_read_to =
drivers/net/ethernet/amazon/ena/ena_netdev.c
3650
adapter->missing_tx_completion_threshold =
drivers/net/ethernet/amazon/ena/ena_netdev.c
3655
adapter->missing_tx_completion_to = ENA_HW_HINTS_NO_TIMEOUT;
drivers/net/ethernet/amazon/ena/ena_netdev.c
3657
adapter->missing_tx_completion_to =
drivers/net/ethernet/amazon/ena/ena_netdev.c
3666
adapter->keep_alive_timeout = ENA_HW_HINTS_NO_TIMEOUT;
drivers/net/ethernet/amazon/ena/ena_netdev.c
3668
adapter->keep_alive_timeout =
drivers/net/ethernet/amazon/ena/ena_netdev.c
367
static int ena_setup_rx_resources(struct ena_adapter *adapter,
drivers/net/ethernet/amazon/ena/ena_netdev.c
3684
struct ena_adapter *adapter = timer_container_of(adapter, t,
drivers/net/ethernet/amazon/ena/ena_netdev.c
3686
u8 *debug_area = adapter->ena_dev->host_attr.debug_area_virt_addr;
drivers/net/ethernet/amazon/ena/ena_netdev.c
3688
adapter->ena_dev->host_attr.host_info;
drivers/net/ethernet/amazon/ena/ena_netdev.c
3690
check_for_missing_keep_alive(adapter);
drivers/net/ethernet/amazon/ena/ena_netdev.c
3692
check_for_admin_com_state(adapter);
drivers/net/ethernet/amazon/ena/ena_netdev.c
3694
check_for_missing_completions(adapter);
drivers/net/ethernet/amazon/ena/ena_netdev.c
3696
check_for_empty_rx_ring(adapter);
drivers/net/ethernet/amazon/ena/ena_netdev.c
3699
ena_dump_stats_to_buf(adapter, debug_area);
drivers/net/ethernet/amazon/ena/ena_netdev.c
370
struct ena_ring *rx_ring = &adapter->rx_ring[qid];
drivers/net/ethernet/amazon/ena/ena_netdev.c
3702
ena_update_host_info(host_info, adapter->netdev);
drivers/net/ethernet/amazon/ena/ena_netdev.c
3704
if (unlikely(test_bit(ENA_FLAG_TRIGGER_RESET, &adapter->flags))) {
drivers/net/ethernet/amazon/ena/ena_netdev.c
3705
netif_err(adapter, drv, adapter->netdev,
drivers/net/ethernet/amazon/ena/ena_netdev.c
3707
ena_dump_stats_to_dmesg(adapter);
drivers/net/ethernet/amazon/ena/ena_netdev.c
3708
queue_work(ena_wq, &adapter->reset_task);
drivers/net/ethernet/amazon/ena/ena_netdev.c
371
struct ena_irq *ena_irq = &adapter->irq_tbl[ENA_IO_IRQ_IDX(qid)];
drivers/net/ethernet/amazon/ena/ena_netdev.c
3713
mod_timer(&adapter->timer_service, round_jiffies(jiffies + HZ));
drivers/net/ethernet/amazon/ena/ena_netdev.c
375
netif_err(adapter, ifup, adapter->netdev,
drivers/net/ethernet/amazon/ena/ena_netdev.c
3793
static void ena_set_conf_feat_params(struct ena_adapter *adapter,
drivers/net/ethernet/amazon/ena/ena_netdev.c
3796
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/amazon/ena/ena_netdev.c
3801
ether_addr_copy(adapter->mac_addr, netdev->dev_addr);
drivers/net/ethernet/amazon/ena/ena_netdev.c
3803
ether_addr_copy(adapter->mac_addr, feat->dev_attr.mac_addr);
drivers/net/ethernet/amazon/ena/ena_netdev.c
3804
eth_hw_addr_set(netdev, adapter->mac_addr);
drivers/net/ethernet/amazon/ena/ena_netdev.c
3810
adapter->max_mtu = feat->dev_attr.max_mtu;
drivers/net/ethernet/amazon/ena/ena_netdev.c
3811
netdev->max_mtu = adapter->max_mtu;
drivers/net/ethernet/amazon/ena/ena_netdev.c
3815
static int ena_rss_init_default(struct ena_adapter *adapter)
drivers/net/ethernet/amazon/ena/ena_netdev.c
3817
struct ena_com_dev *ena_dev = adapter->ena_dev;
drivers/net/ethernet/amazon/ena/ena_netdev.c
3818
struct device *dev = &adapter->pdev->dev;
drivers/net/ethernet/amazon/ena/ena_netdev.c
3829
val = ethtool_rxfh_indir_default(i, adapter->num_io_queues);
drivers/net/ethernet/amazon/ena/ena_netdev.c
3881
struct ena_adapter *adapter;
drivers/net/ethernet/amazon/ena/ena_netdev.c
3940
adapter = netdev_priv(netdev);
drivers/net/ethernet/amazon/ena/ena_netdev.c
3941
adapter->ena_dev = ena_dev;
drivers/net/ethernet/amazon/ena/ena_netdev.c
3942
adapter->netdev = netdev;
drivers/net/ethernet/amazon/ena/ena_netdev.c
3943
adapter->pdev = pdev;
drivers/net/ethernet/amazon/ena/ena_netdev.c
3944
adapter->msg_enable = DEFAULT_MSG_ENABLE;
drivers/net/ethernet/amazon/ena/ena_netdev.c
3948
pci_set_drvdata(pdev, adapter);
drivers/net/ethernet/amazon/ena/ena_netdev.c
3950
rc = ena_phc_alloc(adapter);
drivers/net/ethernet/amazon/ena/ena_netdev.c
3969
devlink = ena_devlink_alloc(adapter);
drivers/net/ethernet/amazon/ena/ena_netdev.c
3976
rc = ena_device_init(adapter, pdev, &get_feat_ctx, &wd_state);
drivers/net/ethernet/amazon/ena/ena_netdev.c
3996
ena_set_conf_feat_params(adapter, &get_feat_ctx);
drivers/net/ethernet/amazon/ena/ena_netdev.c
3998
adapter->reset_reason = ENA_REGS_RESET_NORMAL;
drivers/net/ethernet/amazon/ena/ena_netdev.c
4000
adapter->num_io_queues = max_num_io_queues;
drivers/net/ethernet/amazon/ena/ena_netdev.c
4001
adapter->max_num_io_queues = max_num_io_queues;
drivers/net/ethernet/amazon/ena/ena_netdev.c
4002
adapter->last_monitored_tx_qid = 0;
drivers/net/ethernet/amazon/ena/ena_netdev.c
4004
adapter->xdp_first_ring = 0;
drivers/net/ethernet/amazon/ena/ena_netdev.c
4005
adapter->xdp_num_queues = 0;
drivers/net/ethernet/amazon/ena/ena_netdev.c
4007
adapter->rx_copybreak = ENA_DEFAULT_RX_COPYBREAK;
drivers/net/ethernet/amazon/ena/ena_netdev.c
4009
adapter->disable_meta_caching =
drivers/net/ethernet/amazon/ena/ena_netdev.c
4013
adapter->wd_state = wd_state;
drivers/net/ethernet/amazon/ena/ena_netdev.c
4015
snprintf(adapter->name, ENA_NAME_MAX_LEN, "ena_%d", adapters_found);
drivers/net/ethernet/amazon/ena/ena_netdev.c
4017
rc = ena_com_init_interrupt_moderation(adapter->ena_dev);
drivers/net/ethernet/amazon/ena/ena_netdev.c
4024
ena_init_io_rings(adapter,
drivers/net/ethernet/amazon/ena/ena_netdev.c
4026
adapter->xdp_num_queues +
drivers/net/ethernet/amazon/ena/ena_netdev.c
4027
adapter->num_io_queues);
drivers/net/ethernet/amazon/ena/ena_netdev.c
4035
u64_stats_init(&adapter->syncp);
drivers/net/ethernet/amazon/ena/ena_netdev.c
4037
rc = ena_enable_msix_and_set_admin_interrupts(adapter);
drivers/net/ethernet/amazon/ena/ena_netdev.c
4043
rc = ena_rss_init_default(adapter);
drivers/net/ethernet/amazon/ena/ena_netdev.c
4049
ena_config_debug_area(adapter);
drivers/net/ethernet/amazon/ena/ena_netdev.c
4051
if (ena_xdp_legal_queue_count(adapter, adapter->num_io_queues))
drivers/net/ethernet/amazon/ena/ena_netdev.c
4055
memcpy(adapter->netdev->perm_addr, adapter->mac_addr, netdev->addr_len);
drivers/net/ethernet/amazon/ena/ena_netdev.c
4067
INIT_WORK(&adapter->reset_task, ena_fw_reset_device);
drivers/net/ethernet/amazon/ena/ena_netdev.c
4069
adapter->last_keep_alive_jiffies = jiffies;
drivers/net/ethernet/amazon/ena/ena_netdev.c
4070
adapter->keep_alive_timeout = ENA_DEVICE_KALIVE_TIMEOUT;
drivers/net/ethernet/amazon/ena/ena_netdev.c
4071
adapter->missing_tx_completion_to = TX_TIMEOUT;
drivers/net/ethernet/amazon/ena/ena_netdev.c
4072
adapter->missing_tx_completion_threshold = MAX_NUM_OF_TIMEOUTED_PACKETS;
drivers/net/ethernet/amazon/ena/ena_netdev.c
4074
ena_update_hints(adapter, &get_feat_ctx.hw_hints);
drivers/net/ethernet/amazon/ena/ena_netdev.c
4076
timer_setup(&adapter->timer_service, ena_timer_service, 0);
drivers/net/ethernet/amazon/ena/ena_netdev.c
4077
mod_timer(&adapter->timer_service, round_jiffies(jiffies + HZ));
drivers/net/ethernet/amazon/ena/ena_netdev.c
4084
set_bit(ENA_FLAG_DEVICE_RUNNING, &adapter->flags);
drivers/net/ethernet/amazon/ena/ena_netdev.c
4103
ena_free_mgmnt_irq(adapter);
drivers/net/ethernet/amazon/ena/ena_netdev.c
4104
ena_disable_msix(adapter);
drivers/net/ethernet/amazon/ena/ena_netdev.c
4106
timer_delete(&adapter->timer_service);
drivers/net/ethernet/amazon/ena/ena_netdev.c
4115
ena_phc_free(adapter);
drivers/net/ethernet/amazon/ena/ena_netdev.c
4139
struct ena_adapter *adapter = pci_get_drvdata(pdev);
drivers/net/ethernet/amazon/ena/ena_netdev.c
4143
ena_dev = adapter->ena_dev;
drivers/net/ethernet/amazon/ena/ena_netdev.c
4144
netdev = adapter->netdev;
drivers/net/ethernet/amazon/ena/ena_netdev.c
4151
timer_delete_sync(&adapter->timer_service);
drivers/net/ethernet/amazon/ena/ena_netdev.c
4152
cancel_work_sync(&adapter->reset_task);
drivers/net/ethernet/amazon/ena/ena_netdev.c
4155
adapter->reset_reason = ENA_REGS_RESET_SHUTDOWN;
drivers/net/ethernet/amazon/ena/ena_netdev.c
4156
ena_destroy_device(adapter, true);
drivers/net/ethernet/amazon/ena/ena_netdev.c
4158
ena_phc_free(adapter);
drivers/net/ethernet/amazon/ena/ena_netdev.c
4160
ena_devlink_unregister(adapter->devlink);
drivers/net/ethernet/amazon/ena/ena_netdev.c
4161
ena_devlink_free(adapter->devlink);
drivers/net/ethernet/amazon/ena/ena_netdev.c
4218
struct ena_adapter *adapter = pci_get_drvdata(pdev);
drivers/net/ethernet/amazon/ena/ena_netdev.c
4220
ena_increase_stat(&adapter->dev_stats.suspend, 1, &adapter->syncp);
drivers/net/ethernet/amazon/ena/ena_netdev.c
4223
if (unlikely(test_bit(ENA_FLAG_TRIGGER_RESET, &adapter->flags))) {
drivers/net/ethernet/amazon/ena/ena_netdev.c
4226
clear_bit(ENA_FLAG_TRIGGER_RESET, &adapter->flags);
drivers/net/ethernet/amazon/ena/ena_netdev.c
4228
ena_destroy_device(adapter, true);
drivers/net/ethernet/amazon/ena/ena_netdev.c
4238
struct ena_adapter *adapter = dev_get_drvdata(dev_d);
drivers/net/ethernet/amazon/ena/ena_netdev.c
4241
ena_increase_stat(&adapter->dev_stats.resume, 1, &adapter->syncp);
drivers/net/ethernet/amazon/ena/ena_netdev.c
4244
rc = ena_restore_device(adapter);
drivers/net/ethernet/amazon/ena/ena_netdev.c
425
static void ena_free_rx_resources(struct ena_adapter *adapter,
drivers/net/ethernet/amazon/ena/ena_netdev.c
428
struct ena_ring *rx_ring = &adapter->rx_ring[qid];
drivers/net/ethernet/amazon/ena/ena_netdev.c
4297
struct ena_adapter *adapter = (struct ena_adapter *)adapter_data;
drivers/net/ethernet/amazon/ena/ena_netdev.c
4304
netif_dbg(adapter, ifup, adapter->netdev, "%s\n", __func__);
drivers/net/ethernet/amazon/ena/ena_netdev.c
4305
set_bit(ENA_FLAG_LINK_UP, &adapter->flags);
drivers/net/ethernet/amazon/ena/ena_netdev.c
4306
if (!test_bit(ENA_FLAG_ONGOING_RESET, &adapter->flags))
drivers/net/ethernet/amazon/ena/ena_netdev.c
4307
netif_carrier_on(adapter->netdev);
drivers/net/ethernet/amazon/ena/ena_netdev.c
4309
clear_bit(ENA_FLAG_LINK_UP, &adapter->flags);
drivers/net/ethernet/amazon/ena/ena_netdev.c
4310
netif_carrier_off(adapter->netdev);
drivers/net/ethernet/amazon/ena/ena_netdev.c
4317
struct ena_adapter *adapter = (struct ena_adapter *)adapter_data;
drivers/net/ethernet/amazon/ena/ena_netdev.c
4323
adapter->last_keep_alive_jiffies = jiffies;
drivers/net/ethernet/amazon/ena/ena_netdev.c
4328
u64_stats_update_begin(&adapter->syncp);
drivers/net/ethernet/amazon/ena/ena_netdev.c
4332
adapter->dev_stats.rx_drops = rx_drops;
drivers/net/ethernet/amazon/ena/ena_netdev.c
4333
adapter->dev_stats.tx_drops = tx_drops;
drivers/net/ethernet/amazon/ena/ena_netdev.c
4334
u64_stats_update_end(&adapter->syncp);
drivers/net/ethernet/amazon/ena/ena_netdev.c
4340
struct ena_adapter *adapter = (struct ena_adapter *)adapter_data;
drivers/net/ethernet/amazon/ena/ena_netdev.c
4352
ena_update_hints(adapter, hints);
drivers/net/ethernet/amazon/ena/ena_netdev.c
4355
netif_err(adapter, drv, adapter->netdev,
drivers/net/ethernet/amazon/ena/ena_netdev.c
4365
struct ena_adapter *adapter = (struct ena_adapter *)data;
drivers/net/ethernet/amazon/ena/ena_netdev.c
4367
netif_err(adapter, drv, adapter->netdev,
drivers/net/ethernet/amazon/ena/ena_netdev.c
442
static int ena_setup_all_rx_resources(struct ena_adapter *adapter)
drivers/net/ethernet/amazon/ena/ena_netdev.c
446
for (i = 0; i < adapter->num_io_queues; i++) {
drivers/net/ethernet/amazon/ena/ena_netdev.c
447
rc = ena_setup_rx_resources(adapter, i);
drivers/net/ethernet/amazon/ena/ena_netdev.c
456
netif_err(adapter, ifup, adapter->netdev,
drivers/net/ethernet/amazon/ena/ena_netdev.c
46
static int ena_rss_init_default(struct ena_adapter *adapter);
drivers/net/ethernet/amazon/ena/ena_netdev.c
461
ena_free_rx_resources(adapter, i);
drivers/net/ethernet/amazon/ena/ena_netdev.c
47
static void check_for_admin_com_state(struct ena_adapter *adapter);
drivers/net/ethernet/amazon/ena/ena_netdev.c
470
static void ena_free_all_io_rx_resources(struct ena_adapter *adapter)
drivers/net/ethernet/amazon/ena/ena_netdev.c
474
for (i = 0; i < adapter->num_io_queues; i++)
drivers/net/ethernet/amazon/ena/ena_netdev.c
475
ena_free_rx_resources(adapter, i);
drivers/net/ethernet/amazon/ena/ena_netdev.c
52
struct ena_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/amazon/ena/ena_netdev.c
528
netif_dbg(rx_ring->adapter, rx_status, rx_ring->netdev,
drivers/net/ethernet/amazon/ena/ena_netdev.c
557
netif_warn(rx_ring->adapter, rx_err, rx_ring->netdev,
drivers/net/ethernet/amazon/ena/ena_netdev.c
57
if (txqueue >= adapter->num_io_queues) {
drivers/net/ethernet/amazon/ena/ena_netdev.c
585
netif_warn(rx_ring->adapter, rx_err, rx_ring->netdev,
drivers/net/ethernet/amazon/ena/ena_netdev.c
594
netif_warn(rx_ring->adapter, rx_status, rx_ring->netdev,
drivers/net/ethernet/amazon/ena/ena_netdev.c
606
netif_warn(rx_ring->adapter, rx_err, rx_ring->netdev,
drivers/net/ethernet/amazon/ena/ena_netdev.c
620
static void ena_free_rx_bufs(struct ena_adapter *adapter,
drivers/net/ethernet/amazon/ena/ena_netdev.c
623
struct ena_ring *rx_ring = &adapter->rx_ring[qid];
drivers/net/ethernet/amazon/ena/ena_netdev.c
63
tx_ring = &adapter->tx_ring[txqueue];
drivers/net/ethernet/amazon/ena/ena_netdev.c
637
static void ena_refill_all_rx_bufs(struct ena_adapter *adapter)
drivers/net/ethernet/amazon/ena/ena_netdev.c
642
for (i = 0; i < adapter->num_io_queues; i++) {
drivers/net/ethernet/amazon/ena/ena_netdev.c
643
rx_ring = &adapter->rx_ring[i];
drivers/net/ethernet/amazon/ena/ena_netdev.c
648
netif_warn(rx_ring->adapter, rx_status, rx_ring->netdev,
drivers/net/ethernet/amazon/ena/ena_netdev.c
654
static void ena_free_all_rx_bufs(struct ena_adapter *adapter)
drivers/net/ethernet/amazon/ena/ena_netdev.c
658
for (i = 0; i < adapter->num_io_queues; i++)
drivers/net/ethernet/amazon/ena/ena_netdev.c
659
ena_free_rx_bufs(adapter, i);
drivers/net/ethernet/amazon/ena/ena_netdev.c
701
is_xdp_ring = ENA_IS_XDP_INDEX(tx_ring->adapter, tx_ring->qid);
drivers/net/ethernet/amazon/ena/ena_netdev.c
710
netif_notice(tx_ring->adapter, ifdown, tx_ring->netdev,
drivers/net/ethernet/amazon/ena/ena_netdev.c
715
netif_dbg(tx_ring->adapter, ifdown, tx_ring->netdev,
drivers/net/ethernet/amazon/ena/ena_netdev.c
733
static void ena_free_all_tx_bufs(struct ena_adapter *adapter)
drivers/net/ethernet/amazon/ena/ena_netdev.c
738
for (i = 0; i < adapter->num_io_queues + adapter->xdp_num_queues; i++) {
drivers/net/ethernet/amazon/ena/ena_netdev.c
739
tx_ring = &adapter->tx_ring[i];
drivers/net/ethernet/amazon/ena/ena_netdev.c
744
static void ena_destroy_all_tx_queues(struct ena_adapter *adapter)
drivers/net/ethernet/amazon/ena/ena_netdev.c
749
for (i = 0; i < adapter->num_io_queues + adapter->xdp_num_queues; i++) {
drivers/net/ethernet/amazon/ena/ena_netdev.c
751
ena_com_destroy_io_queue(adapter->ena_dev, ena_qid);
drivers/net/ethernet/amazon/ena/ena_netdev.c
755
static void ena_destroy_all_rx_queues(struct ena_adapter *adapter)
drivers/net/ethernet/amazon/ena/ena_netdev.c
760
for (i = 0; i < adapter->num_io_queues; i++) {
drivers/net/ethernet/amazon/ena/ena_netdev.c
762
cancel_work_sync(&adapter->ena_napi[i].dim.work);
drivers/net/ethernet/amazon/ena/ena_netdev.c
763
ena_xdp_unregister_rxq_info(&adapter->rx_ring[i]);
drivers/net/ethernet/amazon/ena/ena_netdev.c
764
ena_com_destroy_io_queue(adapter->ena_dev, ena_qid);
drivers/net/ethernet/amazon/ena/ena_netdev.c
768
static void ena_destroy_all_io_queues(struct ena_adapter *adapter)
drivers/net/ethernet/amazon/ena/ena_netdev.c
770
ena_destroy_all_tx_queues(adapter);
drivers/net/ethernet/amazon/ena/ena_netdev.c
771
ena_destroy_all_rx_queues(adapter);
drivers/net/ethernet/amazon/ena/ena_netdev.c
778
netif_err(ring->adapter,
drivers/net/ethernet/amazon/ena/ena_netdev.c
784
netif_err(ring->adapter,
drivers/net/ethernet/amazon/ena/ena_netdev.c
791
ena_reset_device(ring->adapter, ENA_REGS_RESET_INV_TX_REQ_ID);
drivers/net/ethernet/amazon/ena/ena_netdev.c
84
if (test_and_set_bit(ENA_FLAG_TRIGGER_RESET, &adapter->flags))
drivers/net/ethernet/amazon/ena/ena_netdev.c
849
netif_dbg(tx_ring->adapter, tx_done, tx_ring->netdev,
drivers/net/ethernet/amazon/ena/ena_netdev.c
868
netif_dbg(tx_ring->adapter, tx_done, tx_ring->netdev,
drivers/net/ethernet/amazon/ena/ena_netdev.c
87
ena_reset_device(adapter, reset_reason);
drivers/net/ethernet/amazon/ena/ena_netdev.c
88
ena_increase_stat(&adapter->dev_stats.tx_timeout, 1, &adapter->syncp);
drivers/net/ethernet/amazon/ena/ena_netdev.c
885
test_bit(ENA_FLAG_DEV_UP, &tx_ring->adapter->flags)) {
drivers/net/ethernet/amazon/ena/ena_netdev.c
909
netif_dbg(rx_ring->adapter, rx_err, rx_ring->netdev,
drivers/net/ethernet/amazon/ena/ena_netdev.c
91
static void update_rx_ring_mtu(struct ena_adapter *adapter, int mtu)
drivers/net/ethernet/amazon/ena/ena_netdev.c
944
struct ena_adapter *adapter;
drivers/net/ethernet/amazon/ena/ena_netdev.c
95
for (i = 0; i < adapter->num_io_queues; i++)
drivers/net/ethernet/amazon/ena/ena_netdev.c
96
adapter->rx_ring[i].mtu = mtu;
drivers/net/ethernet/amazon/ena/ena_netdev.c
960
adapter = rx_ring->adapter;
drivers/net/ethernet/amazon/ena/ena_netdev.c
961
netif_err(adapter, rx_err, rx_ring->netdev,
drivers/net/ethernet/amazon/ena/ena_netdev.c
964
ena_reset_device(adapter, ENA_REGS_RESET_INV_RX_REQ_ID);
drivers/net/ethernet/amazon/ena/ena_netdev.c
968
netif_dbg(rx_ring->adapter, rx_status, rx_ring->netdev,
drivers/net/ethernet/amazon/ena/ena_netdev.c
989
netif_dbg(rx_ring->adapter, rx_status, rx_ring->netdev,
drivers/net/ethernet/amazon/ena/ena_netdev.h
238
struct ena_adapter *adapter;
drivers/net/ethernet/amazon/ena/ena_netdev.h
402
void ena_dump_stats_to_dmesg(struct ena_adapter *adapter);
drivers/net/ethernet/amazon/ena/ena_netdev.h
404
void ena_dump_stats_to_buf(struct ena_adapter *adapter, u8 *buf);
drivers/net/ethernet/amazon/ena/ena_netdev.h
407
int ena_update_queue_params(struct ena_adapter *adapter,
drivers/net/ethernet/amazon/ena/ena_netdev.h
412
int ena_update_queue_count(struct ena_adapter *adapter, u32 new_channel_count);
drivers/net/ethernet/amazon/ena/ena_netdev.h
414
int ena_set_rx_copybreak(struct ena_adapter *adapter, u32 rx_copybreak);
drivers/net/ethernet/amazon/ena/ena_netdev.h
418
static inline void ena_reset_device(struct ena_adapter *adapter,
drivers/net/ethernet/amazon/ena/ena_netdev.h
421
adapter->reset_reason = reset_reason;
drivers/net/ethernet/amazon/ena/ena_netdev.h
424
set_bit(ENA_FLAG_TRIGGER_RESET, &adapter->flags);
drivers/net/ethernet/amazon/ena/ena_netdev.h
427
int ena_destroy_device(struct ena_adapter *adapter, bool graceful);
drivers/net/ethernet/amazon/ena/ena_netdev.h
428
int ena_restore_device(struct ena_adapter *adapter);
drivers/net/ethernet/amazon/ena/ena_netdev.h
447
int ena_xmit_common(struct ena_adapter *adapter,
drivers/net/ethernet/amazon/ena/ena_netdev.h
455
void ena_init_io_rings(struct ena_adapter *adapter,
drivers/net/ethernet/amazon/ena/ena_netdev.h
457
int ena_create_io_tx_queues_in_range(struct ena_adapter *adapter,
drivers/net/ethernet/amazon/ena/ena_netdev.h
459
int ena_setup_tx_resources_in_range(struct ena_adapter *adapter,
drivers/net/ethernet/amazon/ena/ena_netdev.h
461
void ena_free_all_io_tx_resources_in_range(struct ena_adapter *adapter,
drivers/net/ethernet/amazon/ena/ena_netdev.h
463
void ena_free_all_io_tx_resources(struct ena_adapter *adapter);
drivers/net/ethernet/amazon/ena/ena_netdev.h
464
void ena_down(struct ena_adapter *adapter);
drivers/net/ethernet/amazon/ena/ena_netdev.h
465
int ena_up(struct ena_adapter *adapter);
drivers/net/ethernet/amazon/ena/ena_phc.c
102
static int ena_phc_register(struct ena_adapter *adapter)
drivers/net/ethernet/amazon/ena/ena_phc.c
104
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/amazon/ena/ena_phc.c
109
phc_info = adapter->phc_info;
drivers/net/ethernet/amazon/ena/ena_phc.c
113
if (ena_phc_is_active(adapter))
drivers/net/ethernet/amazon/ena/ena_phc.c
116
phc_info->adapter = adapter;
drivers/net/ethernet/amazon/ena/ena_phc.c
130
netdev_err(adapter->netdev, "Failed registering ptp clock, error: %d\n",
drivers/net/ethernet/amazon/ena/ena_phc.c
138
static void ena_phc_unregister(struct ena_adapter *adapter)
drivers/net/ethernet/amazon/ena/ena_phc.c
140
struct ena_phc_info *phc_info = adapter->phc_info;
drivers/net/ethernet/amazon/ena/ena_phc.c
145
if (ena_phc_is_active(adapter) &&
drivers/net/ethernet/amazon/ena/ena_phc.c
146
!test_bit(ENA_FLAG_TRIGGER_RESET, &adapter->flags)) {
drivers/net/ethernet/amazon/ena/ena_phc.c
152
int ena_phc_alloc(struct ena_adapter *adapter)
drivers/net/ethernet/amazon/ena/ena_phc.c
155
adapter->phc_info = vzalloc(sizeof(*adapter->phc_info));
drivers/net/ethernet/amazon/ena/ena_phc.c
156
if (unlikely(!adapter->phc_info)) {
drivers/net/ethernet/amazon/ena/ena_phc.c
157
netdev_err(adapter->netdev, "Failed to alloc phc_info\n");
drivers/net/ethernet/amazon/ena/ena_phc.c
164
void ena_phc_free(struct ena_adapter *adapter)
drivers/net/ethernet/amazon/ena/ena_phc.c
166
if (adapter->phc_info) {
drivers/net/ethernet/amazon/ena/ena_phc.c
167
vfree(adapter->phc_info);
drivers/net/ethernet/amazon/ena/ena_phc.c
168
adapter->phc_info = NULL;
drivers/net/ethernet/amazon/ena/ena_phc.c
172
int ena_phc_init(struct ena_adapter *adapter)
drivers/net/ethernet/amazon/ena/ena_phc.c
174
struct ena_com_dev *ena_dev = adapter->ena_dev;
drivers/net/ethernet/amazon/ena/ena_phc.c
175
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/amazon/ena/ena_phc.c
185
if (!ena_phc_is_enabled(adapter)) {
drivers/net/ethernet/amazon/ena/ena_phc.c
205
rc = ena_phc_register(adapter);
drivers/net/ethernet/amazon/ena/ena_phc.c
216
ena_phc_enable(adapter, false);
drivers/net/ethernet/amazon/ena/ena_phc.c
217
ena_devlink_disable_phc_param(adapter->devlink);
drivers/net/ethernet/amazon/ena/ena_phc.c
221
void ena_phc_destroy(struct ena_adapter *adapter)
drivers/net/ethernet/amazon/ena/ena_phc.c
223
ena_phc_unregister(adapter);
drivers/net/ethernet/amazon/ena/ena_phc.c
224
ena_com_phc_destroy(adapter->ena_dev);
drivers/net/ethernet/amazon/ena/ena_phc.c
227
int ena_phc_get_index(struct ena_adapter *adapter)
drivers/net/ethernet/amazon/ena/ena_phc.c
229
if (ena_phc_is_active(adapter))
drivers/net/ethernet/amazon/ena/ena_phc.c
230
return ptp_clock_index(adapter->phc_info->clock);
drivers/net/ethernet/amazon/ena/ena_phc.c
42
rc = ena_com_phc_get_timestamp(phc_info->adapter->ena_dev,
drivers/net/ethernet/amazon/ena/ena_phc.c
74
void ena_phc_enable(struct ena_adapter *adapter, bool enable)
drivers/net/ethernet/amazon/ena/ena_phc.c
76
struct ena_phc_info *phc_info = adapter->phc_info;
drivers/net/ethernet/amazon/ena/ena_phc.c
79
netdev_err(adapter->netdev, "phc_info is not allocated\n");
drivers/net/ethernet/amazon/ena/ena_phc.c
87
bool ena_phc_is_enabled(struct ena_adapter *adapter)
drivers/net/ethernet/amazon/ena/ena_phc.c
89
struct ena_phc_info *phc_info = adapter->phc_info;
drivers/net/ethernet/amazon/ena/ena_phc.c
95
bool ena_phc_is_active(struct ena_adapter *adapter)
drivers/net/ethernet/amazon/ena/ena_phc.c
97
struct ena_phc_info *phc_info = adapter->phc_info;
drivers/net/ethernet/amazon/ena/ena_phc.h
19
struct ena_adapter *adapter;
drivers/net/ethernet/amazon/ena/ena_phc.h
28
void ena_phc_enable(struct ena_adapter *adapter, bool enable);
drivers/net/ethernet/amazon/ena/ena_phc.h
29
bool ena_phc_is_enabled(struct ena_adapter *adapter);
drivers/net/ethernet/amazon/ena/ena_phc.h
30
bool ena_phc_is_active(struct ena_adapter *adapter);
drivers/net/ethernet/amazon/ena/ena_phc.h
31
int ena_phc_get_index(struct ena_adapter *adapter);
drivers/net/ethernet/amazon/ena/ena_phc.h
32
int ena_phc_init(struct ena_adapter *adapter);
drivers/net/ethernet/amazon/ena/ena_phc.h
33
void ena_phc_destroy(struct ena_adapter *adapter);
drivers/net/ethernet/amazon/ena/ena_phc.h
34
int ena_phc_alloc(struct ena_adapter *adapter);
drivers/net/ethernet/amazon/ena/ena_phc.h
35
void ena_phc_free(struct ena_adapter *adapter);
drivers/net/ethernet/amazon/ena/ena_xdp.c
124
struct ena_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/amazon/ena/ena_xdp.c
131
if (!test_bit(ENA_FLAG_DEV_UP, &adapter->flags))
drivers/net/ethernet/amazon/ena/ena_xdp.c
135
if (!READ_ONCE(adapter->rx_ring->xdp_bpf_prog))
drivers/net/ethernet/amazon/ena/ena_xdp.c
138
qid = smp_processor_id() % adapter->xdp_num_queues;
drivers/net/ethernet/amazon/ena/ena_xdp.c
139
qid += adapter->xdp_first_ring;
drivers/net/ethernet/amazon/ena/ena_xdp.c
140
tx_ring = &adapter->tx_ring[qid];
drivers/net/ethernet/amazon/ena/ena_xdp.c
146
if (ena_xdp_xmit_frame(tx_ring, adapter, frames[i], 0))
drivers/net/ethernet/amazon/ena/ena_xdp.c
161
static void ena_init_all_xdp_queues(struct ena_adapter *adapter)
drivers/net/ethernet/amazon/ena/ena_xdp.c
163
adapter->xdp_first_ring = adapter->num_io_queues;
drivers/net/ethernet/amazon/ena/ena_xdp.c
164
adapter->xdp_num_queues = adapter->num_io_queues;
drivers/net/ethernet/amazon/ena/ena_xdp.c
166
ena_init_io_rings(adapter,
drivers/net/ethernet/amazon/ena/ena_xdp.c
167
adapter->xdp_first_ring,
drivers/net/ethernet/amazon/ena/ena_xdp.c
168
adapter->xdp_num_queues);
drivers/net/ethernet/amazon/ena/ena_xdp.c
171
int ena_setup_and_create_all_xdp_queues(struct ena_adapter *adapter)
drivers/net/ethernet/amazon/ena/ena_xdp.c
173
u32 xdp_first_ring = adapter->xdp_first_ring;
drivers/net/ethernet/amazon/ena/ena_xdp.c
174
u32 xdp_num_queues = adapter->xdp_num_queues;
drivers/net/ethernet/amazon/ena/ena_xdp.c
177
rc = ena_setup_tx_resources_in_range(adapter, xdp_first_ring, xdp_num_queues);
drivers/net/ethernet/amazon/ena/ena_xdp.c
181
rc = ena_create_io_tx_queues_in_range(adapter, xdp_first_ring, xdp_num_queues);
drivers/net/ethernet/amazon/ena/ena_xdp.c
188
ena_free_all_io_tx_resources_in_range(adapter, xdp_first_ring, xdp_num_queues);
drivers/net/ethernet/amazon/ena/ena_xdp.c
202
netif_dbg(rx_ring->adapter, ifup, rx_ring->netdev, "Registering RX info for queue %d",
drivers/net/ethernet/amazon/ena/ena_xdp.c
205
netif_err(rx_ring->adapter, ifup, rx_ring->netdev,
drivers/net/ethernet/amazon/ena/ena_xdp.c
214
netif_err(rx_ring->adapter, ifup, rx_ring->netdev,
drivers/net/ethernet/amazon/ena/ena_xdp.c
226
netif_dbg(rx_ring->adapter, ifdown, rx_ring->netdev,
drivers/net/ethernet/amazon/ena/ena_xdp.c
233
void ena_xdp_exchange_program_rx_in_range(struct ena_adapter *adapter,
drivers/net/ethernet/amazon/ena/ena_xdp.c
24
struct ena_adapter *adapter = tx_ring->adapter;
drivers/net/ethernet/amazon/ena/ena_xdp.c
242
rx_ring = &adapter->rx_ring[i];
drivers/net/ethernet/amazon/ena/ena_xdp.c
253
static void ena_xdp_exchange_program(struct ena_adapter *adapter,
drivers/net/ethernet/amazon/ena/ena_xdp.c
256
struct bpf_prog *old_bpf_prog = xchg(&adapter->xdp_bpf_prog, prog);
drivers/net/ethernet/amazon/ena/ena_xdp.c
258
ena_xdp_exchange_program_rx_in_range(adapter,
drivers/net/ethernet/amazon/ena/ena_xdp.c
261
adapter->num_io_queues);
drivers/net/ethernet/amazon/ena/ena_xdp.c
267
static int ena_destroy_and_free_all_xdp_queues(struct ena_adapter *adapter)
drivers/net/ethernet/amazon/ena/ena_xdp.c
272
was_up = test_bit(ENA_FLAG_DEV_UP, &adapter->flags);
drivers/net/ethernet/amazon/ena/ena_xdp.c
275
ena_down(adapter);
drivers/net/ethernet/amazon/ena/ena_xdp.c
277
adapter->xdp_first_ring = 0;
drivers/net/ethernet/amazon/ena/ena_xdp.c
278
adapter->xdp_num_queues = 0;
drivers/net/ethernet/amazon/ena/ena_xdp.c
279
ena_xdp_exchange_program(adapter, NULL);
drivers/net/ethernet/amazon/ena/ena_xdp.c
281
rc = ena_up(adapter);
drivers/net/ethernet/amazon/ena/ena_xdp.c
290
struct ena_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/amazon/ena/ena_xdp.c
296
is_up = test_bit(ENA_FLAG_DEV_UP, &adapter->flags);
drivers/net/ethernet/amazon/ena/ena_xdp.c
297
rc = ena_xdp_allowed(adapter);
drivers/net/ethernet/amazon/ena/ena_xdp.c
299
old_bpf_prog = adapter->xdp_bpf_prog;
drivers/net/ethernet/amazon/ena/ena_xdp.c
302
ena_init_all_xdp_queues(adapter);
drivers/net/ethernet/amazon/ena/ena_xdp.c
304
ena_down(adapter);
drivers/net/ethernet/amazon/ena/ena_xdp.c
305
ena_init_all_xdp_queues(adapter);
drivers/net/ethernet/amazon/ena/ena_xdp.c
307
ena_xdp_exchange_program(adapter, prog);
drivers/net/ethernet/amazon/ena/ena_xdp.c
309
netif_dbg(adapter, drv, adapter->netdev, "Set a new XDP program\n");
drivers/net/ethernet/amazon/ena/ena_xdp.c
312
rc = ena_up(adapter);
drivers/net/ethernet/amazon/ena/ena_xdp.c
319
netif_dbg(adapter, drv, adapter->netdev, "Removing XDP program\n");
drivers/net/ethernet/amazon/ena/ena_xdp.c
321
rc = ena_destroy_and_free_all_xdp_queues(adapter);
drivers/net/ethernet/amazon/ena/ena_xdp.c
327
netdev->max_mtu = prog ? ENA_XDP_MAX_MTU : adapter->max_mtu;
drivers/net/ethernet/amazon/ena/ena_xdp.c
330
netif_info(adapter, drv, adapter->netdev,
drivers/net/ethernet/amazon/ena/ena_xdp.c
335
netif_err(adapter, drv, adapter->netdev,
drivers/net/ethernet/amazon/ena/ena_xdp.c
342
netif_err(adapter, drv, adapter->netdev,
drivers/net/ethernet/amazon/ena/ena_xdp.c
344
adapter->num_io_queues, adapter->max_num_io_queues);
drivers/net/ethernet/amazon/ena/ena_xdp.c
411
netif_dbg(tx_ring->adapter, tx_done, tx_ring->netdev,
drivers/net/ethernet/amazon/ena/ena_xdp.c
418
netif_dbg(tx_ring->adapter, tx_done, tx_ring->netdev,
drivers/net/ethernet/amazon/ena/ena_xdp.c
437
if (!test_bit(ENA_FLAG_DEV_UP, &tx_ring->adapter->flags) ||
drivers/net/ethernet/amazon/ena/ena_xdp.c
438
test_bit(ENA_FLAG_TRIGGER_RESET, &tx_ring->adapter->flags)) {
drivers/net/ethernet/amazon/ena/ena_xdp.c
448
if (unlikely(!test_bit(ENA_FLAG_DEV_UP, &tx_ring->adapter->flags))) {
drivers/net/ethernet/amazon/ena/ena_xdp.c
70
netif_warn(adapter, tx_queued, adapter->netdev, "Failed to map xdp buff\n");
drivers/net/ethernet/amazon/ena/ena_xdp.c
76
struct ena_adapter *adapter,
drivers/net/ethernet/amazon/ena/ena_xdp.c
96
rc = ena_xmit_common(adapter,
drivers/net/ethernet/amazon/ena/ena_xdp.h
110
if (ena_xdp_xmit_frame(xdp_ring, rx_ring->adapter, xdpf,
drivers/net/ethernet/amazon/ena/ena_xdp.h
21
#define ENA_IS_XDP_INDEX(adapter, index) (((index) >= (adapter)->xdp_first_ring) && \
drivers/net/ethernet/amazon/ena/ena_xdp.h
22
((index) < (adapter)->xdp_first_ring + (adapter)->xdp_num_queues))
drivers/net/ethernet/amazon/ena/ena_xdp.h
33
int ena_setup_and_create_all_xdp_queues(struct ena_adapter *adapter);
drivers/net/ethernet/amazon/ena/ena_xdp.h
34
void ena_xdp_exchange_program_rx_in_range(struct ena_adapter *adapter,
drivers/net/ethernet/amazon/ena/ena_xdp.h
39
struct ena_adapter *adapter,
drivers/net/ethernet/amazon/ena/ena_xdp.h
54
static inline bool ena_xdp_present(struct ena_adapter *adapter)
drivers/net/ethernet/amazon/ena/ena_xdp.h
56
return !!adapter->xdp_bpf_prog;
drivers/net/ethernet/amazon/ena/ena_xdp.h
64
static inline bool ena_xdp_legal_queue_count(struct ena_adapter *adapter,
drivers/net/ethernet/amazon/ena/ena_xdp.h
67
return 2 * queues <= adapter->max_num_io_queues;
drivers/net/ethernet/amazon/ena/ena_xdp.h
70
static inline enum ena_xdp_errors_t ena_xdp_allowed(struct ena_adapter *adapter)
drivers/net/ethernet/amazon/ena/ena_xdp.h
74
if (adapter->netdev->mtu > ENA_XDP_MAX_MTU)
drivers/net/ethernet/amazon/ena/ena_xdp.h
76
else if (!ena_xdp_legal_queue_count(adapter, adapter->num_io_queues))
drivers/net/ethernet/atheros/atl1c/atl1c.h
354
struct atl1c_adapter *adapter;
drivers/net/ethernet/atheros/atl1c/atl1c.h
473
struct atl1c_adapter *adapter;
drivers/net/ethernet/atheros/atl1c/atl1c.h
498
struct atl1c_adapter *adapter;
drivers/net/ethernet/atheros/atl1c/atl1c.h
590
void atl1c_reinit_locked(struct atl1c_adapter *adapter);
drivers/net/ethernet/atheros/atl1c/atl1c_ethtool.c
101
clear_bit(__AT_RESETTING, &adapter->flags);
drivers/net/ethernet/atheros/atl1c/atl1c_ethtool.c
105
clear_bit(__AT_RESETTING, &adapter->flags);
drivers/net/ethernet/atheros/atl1c/atl1c_ethtool.c
111
struct atl1c_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atl1c/atl1c_ethtool.c
112
return adapter->msg_enable;
drivers/net/ethernet/atheros/atl1c/atl1c_ethtool.c
117
struct atl1c_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atl1c/atl1c_ethtool.c
118
adapter->msg_enable = data;
drivers/net/ethernet/atheros/atl1c/atl1c_ethtool.c
129
struct atl1c_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atl1c/atl1c_ethtool.c
130
struct atl1c_hw *hw = &adapter->hw;
drivers/net/ethernet/atheros/atl1c/atl1c_ethtool.c
168
struct atl1c_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atl1c/atl1c_ethtool.c
170
if (atl1c_check_eeprom_exist(&adapter->hw))
drivers/net/ethernet/atheros/atl1c/atl1c_ethtool.c
179
struct atl1c_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atl1c/atl1c_ethtool.c
18
struct atl1c_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atl1c/atl1c_ethtool.c
180
struct atl1c_hw *hw = &adapter->hw;
drivers/net/ethernet/atheros/atl1c/atl1c_ethtool.c
19
struct atl1c_hw *hw = &adapter->hw;
drivers/net/ethernet/atheros/atl1c/atl1c_ethtool.c
192
eeprom->magic = adapter->pdev->vendor |
drivers/net/ethernet/atheros/atl1c/atl1c_ethtool.c
193
(adapter->pdev->device << 16);
drivers/net/ethernet/atheros/atl1c/atl1c_ethtool.c
221
struct atl1c_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atl1c/atl1c_ethtool.c
224
strscpy(drvinfo->bus_info, pci_name(adapter->pdev),
drivers/net/ethernet/atheros/atl1c/atl1c_ethtool.c
231
struct atl1c_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atl1c/atl1c_ethtool.c
236
if (adapter->wol & AT_WUFC_EX)
drivers/net/ethernet/atheros/atl1c/atl1c_ethtool.c
238
if (adapter->wol & AT_WUFC_MC)
drivers/net/ethernet/atheros/atl1c/atl1c_ethtool.c
240
if (adapter->wol & AT_WUFC_BC)
drivers/net/ethernet/atheros/atl1c/atl1c_ethtool.c
242
if (adapter->wol & AT_WUFC_MAG)
drivers/net/ethernet/atheros/atl1c/atl1c_ethtool.c
244
if (adapter->wol & AT_WUFC_LNKC)
drivers/net/ethernet/atheros/atl1c/atl1c_ethtool.c
250
struct atl1c_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atl1c/atl1c_ethtool.c
256
adapter->wol = 0;
drivers/net/ethernet/atheros/atl1c/atl1c_ethtool.c
259
adapter->wol |= AT_WUFC_MAG;
drivers/net/ethernet/atheros/atl1c/atl1c_ethtool.c
261
adapter->wol |= AT_WUFC_LNKC;
drivers/net/ethernet/atheros/atl1c/atl1c_ethtool.c
263
device_set_wakeup_enable(&adapter->pdev->dev, adapter->wol);
drivers/net/ethernet/atheros/atl1c/atl1c_ethtool.c
270
struct atl1c_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atl1c/atl1c_ethtool.c
272
atl1c_reinit_locked(adapter);
drivers/net/ethernet/atheros/atl1c/atl1c_ethtool.c
38
if (adapter->link_speed != SPEED_0) {
drivers/net/ethernet/atheros/atl1c/atl1c_ethtool.c
39
cmd->base.speed = adapter->link_speed;
drivers/net/ethernet/atheros/atl1c/atl1c_ethtool.c
40
if (adapter->link_duplex == FULL_DUPLEX)
drivers/net/ethernet/atheros/atl1c/atl1c_ethtool.c
62
struct atl1c_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atl1c/atl1c_ethtool.c
63
struct atl1c_hw *hw = &adapter->hw;
drivers/net/ethernet/atheros/atl1c/atl1c_ethtool.c
66
while (test_and_set_bit(__AT_RESETTING, &adapter->flags))
drivers/net/ethernet/atheros/atl1c/atl1c_ethtool.c
75
if (netif_msg_link(adapter))
drivers/net/ethernet/atheros/atl1c/atl1c_ethtool.c
76
dev_warn(&adapter->pdev->dev,
drivers/net/ethernet/atheros/atl1c/atl1c_ethtool.c
78
clear_bit(__AT_RESETTING, &adapter->flags);
drivers/net/ethernet/atheros/atl1c/atl1c_ethtool.c
98
if (netif_msg_link(adapter))
drivers/net/ethernet/atheros/atl1c/atl1c_ethtool.c
99
dev_warn(&adapter->pdev->dev,
drivers/net/ethernet/atheros/atl1c/atl1c_hw.c
499
struct atl1c_adapter *adapter = hw->adapter;
drivers/net/ethernet/atheros/atl1c/atl1c_hw.c
500
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/atheros/atl1c/atl1c_hw.c
582
if (netif_msg_hw(adapter))
drivers/net/ethernet/atheros/atl1c/atl1c_hw.c
592
struct atl1c_adapter *adapter = hw->adapter;
drivers/net/ethernet/atheros/atl1c/atl1c_hw.c
593
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/atheros/atl1c/atl1c_hw.c
611
if (netif_msg_link(adapter))
drivers/net/ethernet/atheros/atl1c/atl1c_hw.c
630
if (netif_msg_link(adapter))
drivers/net/ethernet/atheros/atl1c/atl1c_hw.c
715
struct atl1c_adapter *adapter = hw->adapter;
drivers/net/ethernet/atheros/atl1c/atl1c_hw.c
716
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/atheros/atl1c/atl1c_hw.c
761
adapter->link_speed = speed;
drivers/net/ethernet/atheros/atl1c/atl1c_hw.c
762
adapter->link_duplex = duplex;
drivers/net/ethernet/atheros/atl1c/atl1c_hw.c
782
struct atl1c_adapter *adapter = hw->adapter;
drivers/net/ethernet/atheros/atl1c/atl1c_hw.c
783
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/atheros/atl1c/atl1c_hw.c
789
speed = adapter->link_speed == SPEED_1000 ?
drivers/net/ethernet/atheros/atl1c/atl1c_hw.c
799
if (adapter->link_duplex == FULL_DUPLEX)
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1013
tpd_ring[i].adapter = adapter;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1020
rrd_ring[i].adapter = adapter;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1079
static void atl1c_configure_des_ring(struct atl1c_adapter *adapter)
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1081
struct atl1c_hw *hw = &adapter->hw;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1082
struct atl1c_rfd_ring *rfd_ring = adapter->rfd_ring;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1083
struct atl1c_rrd_ring *rrd_ring = adapter->rrd_ring;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1084
struct atl1c_tpd_ring *tpd_ring = adapter->tpd_ring;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1086
int tx_queue_count = adapter->tx_queue_count;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1106
for (i = 0; i < adapter->rx_queue_count; i++) {
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1114
adapter->rx_buffer_len & RX_BUF_SIZE_MASK);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1117
for (i = 0; i < adapter->rx_queue_count; i++) {
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1138
static void atl1c_configure_tx(struct atl1c_adapter *adapter)
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1140
struct atl1c_hw *hw = &adapter->hw;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1148
max_pay_load = pcie_get_readrq(adapter->pdev) >> 8;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1155
pcie_set_readrq(adapter->pdev, 128 << DEVICE_CTRL_MAXRRS_MIN);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1165
static void atl1c_configure_rx(struct atl1c_adapter *adapter)
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1167
struct atl1c_hw *hw = &adapter->hw;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1184
static void atl1c_configure_dma(struct atl1c_adapter *adapter)
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1186
struct atl1c_hw *hw = &adapter->hw;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1225
static void atl1c_start_mac(struct atl1c_adapter *adapter)
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1227
struct atl1c_hw *hw = &adapter->hw;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1230
hw->mac_duplex = adapter->link_duplex == FULL_DUPLEX;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1231
hw->mac_speed = adapter->link_speed == SPEED_1000 ?
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1264
struct atl1c_adapter *adapter = hw->adapter;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1265
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
139
struct pci_dev *pdev = hw->adapter->pdev;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1406
static int atl1c_configure_mac(struct atl1c_adapter *adapter)
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1408
struct atl1c_hw *hw = &adapter->hw;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1437
atl1c_configure_des_ring(adapter);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1462
atl1c_configure_tx(adapter);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1463
atl1c_configure_rx(adapter);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1464
atl1c_configure_dma(adapter);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1469
static int atl1c_configure(struct atl1c_adapter *adapter)
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1471
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1475
if (adapter->hw.nic_type == athr_mt) {
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1478
AT_READ_REG(&adapter->hw, REG_MT_MODE, &mode);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1479
if (adapter->rx_queue_count == 4)
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1483
AT_WRITE_REG(&adapter->hw, REG_MT_MODE, mode);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1486
atl1c_init_ring_ptrs(adapter);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1488
atl1c_restore_vlan(adapter);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1490
for (i = 0; i < adapter->rx_queue_count; ++i) {
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1491
num = atl1c_alloc_rx_buffer(adapter, i, false);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1496
if (atl1c_configure_mac(adapter))
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1502
static void atl1c_update_hw_stats(struct atl1c_adapter *adapter)
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1510
stats_item = &adapter->hw_stats.rx_ok;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1512
AT_READ_REG(&adapter->hw, hw_reg_addr, &data);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1519
stats_item = &adapter->hw_stats.tx_ok;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1521
AT_READ_REG(&adapter->hw, hw_reg_addr, &data);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1537
struct atl1c_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1538
struct atl1c_hw_stats *hw_stats = &adapter->hw_stats;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1541
atl1c_update_hw_stats(adapter);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1579
static inline void atl1c_clear_phy_int(struct atl1c_adapter *adapter)
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1583
spin_lock(&adapter->mdio_lock);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1584
atl1c_read_phy_reg(&adapter->hw, MII_ISR, &phy_data);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1585
spin_unlock(&adapter->mdio_lock);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1592
struct atl1c_adapter *adapter = tpd_ring->adapter;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1596
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1602
AT_READ_REGW(&adapter->hw, atl1c_qregs[tpd_ring->num].tpd_cons,
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1619
if (netif_tx_queue_stopped(txq) && netif_carrier_ok(adapter->netdev))
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1624
spin_lock_irqsave(&adapter->hw.intr_mask_lock, flags);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1625
adapter->hw.intr_mask |= atl1c_qregs[tpd_ring->num].tx_isr;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1626
AT_WRITE_REG(&adapter->hw, REG_IMR, adapter->hw.intr_mask);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1627
spin_unlock_irqrestore(&adapter->hw.intr_mask_lock, flags);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1633
static void atl1c_intr_rx_tx(struct atl1c_adapter *adapter, u32 status)
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1635
struct atl1c_hw *hw = &adapter->hw;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1641
for (i = 0; i < adapter->rx_queue_count; ++i) {
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1644
if (napi_schedule_prep(&adapter->rrd_ring[i].napi)) {
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1646
__napi_schedule(&adapter->rrd_ring[i].napi);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1649
for (i = 0; i < adapter->tx_queue_count; ++i) {
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1652
if (napi_schedule_prep(&adapter->tpd_ring[i].napi)) {
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1654
__napi_schedule(&adapter->tpd_ring[i].napi);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1673
struct atl1c_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1674
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1675
struct atl1c_hw *hw = &adapter->hw;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1692
atl1c_clear_phy_int(adapter);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1696
atl1c_intr_rx_tx(adapter, status);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1701
if (netif_msg_hw(adapter))
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1706
set_bit(ATL1C_WORK_EVENT_RESET, &adapter->work_event);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1707
schedule_work(&adapter->common_task);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1712
if (netif_msg_intr(adapter))
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1720
atl1c_link_chg_event(adapter);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1726
AT_WRITE_REG(&adapter->hw, REG_ISR, 0);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1730
static inline void atl1c_rx_checksum(struct atl1c_adapter *adapter,
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1733
if (adapter->hw.nic_type == athr_mt) {
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1746
static int atl1c_alloc_rx_buffer(struct atl1c_adapter *adapter, u32 queue,
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1749
struct atl1c_rfd_ring *rfd_ring = &adapter->rfd_ring[queue];
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1750
struct atl1c_rrd_ring *rrd_ring = &adapter->rrd_ring[queue];
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1751
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1778
skb = napi_alloc_skb(&rrd_ring->napi, adapter->rx_buffer_len + 64);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1780
skb = netdev_alloc_skb(adapter->netdev, adapter->rx_buffer_len + 64);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1782
if (netif_msg_rx_err(adapter))
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1798
buffer_info->length = adapter->rx_buffer_len;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1806
netif_warn(adapter, rx_err, adapter->netdev, "RX dma_map_single failed");
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1825
AT_WRITE_REG(&adapter->hw, atl1c_qregs[queue].rfd_prod,
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1873
struct atl1c_adapter *adapter = rrd_ring->adapter;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1876
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1877
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1878
struct atl1c_rfd_ring *rfd_ring = &adapter->rfd_ring[rrd_ring->num];
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
188
static inline void atl1c_irq_enable(struct atl1c_adapter *adapter)
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1886
if (!netif_carrier_ok(adapter->netdev))
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1898
if (netif_msg_rx_err(adapter))
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
190
if (likely(atomic_dec_and_test(&adapter->irq_sem))) {
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1909
if (netif_msg_rx_err(adapter))
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
191
AT_WRITE_REG(&adapter->hw, REG_ISR, 0x7FFFFFFF);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
192
AT_WRITE_REG(&adapter->hw, REG_IMR, adapter->hw.intr_mask);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1928
if (netif_msg_rx_err(adapter))
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
193
AT_WRITE_FLUSH(&adapter->hw);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1936
atl1c_rx_checksum(adapter, skb, rrs);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1949
atl1c_alloc_rx_buffer(adapter, rrd_ring->num, true);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1954
spin_lock_irqsave(&adapter->hw.intr_mask_lock, flags);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1955
adapter->hw.intr_mask |= atl1c_qregs[rrd_ring->num].rx_isr;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1956
AT_WRITE_REG(&adapter->hw, REG_IMR, adapter->hw.intr_mask);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1957
spin_unlock_irqrestore(&adapter->hw.intr_mask_lock, flags);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1971
struct atl1c_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1973
disable_irq(adapter->pdev->irq);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1974
atl1c_intr(adapter->pdev->irq, netdev);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1975
enable_irq(adapter->pdev->irq);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1979
static inline u16 atl1c_tpd_avail(struct atl1c_adapter *adapter, u32 queue)
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1981
struct atl1c_tpd_ring *tpd_ring = &adapter->tpd_ring[queue];
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1998
static struct atl1c_tpd_desc *atl1c_get_tpd(struct atl1c_adapter *adapter,
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2001
struct atl1c_tpd_ring *tpd_ring = &adapter->tpd_ring[queue];
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
201
static inline void atl1c_irq_disable(struct atl1c_adapter *adapter)
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2014
atl1c_get_tx_buffer(struct atl1c_adapter *adapter, struct atl1c_tpd_desc *tpd)
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2016
struct atl1c_tpd_ring *tpd_ring = adapter->tpd_ring;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
203
atomic_inc(&adapter->irq_sem);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
204
AT_WRITE_REG(&adapter->hw, REG_IMR, 0);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2040
static int atl1c_tso_csum(struct atl1c_adapter *adapter,
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2045
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
205
AT_WRITE_REG(&adapter->hw, REG_ISR, ISR_DIS_INT);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
206
AT_WRITE_FLUSH(&adapter->hw);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
207
synchronize_irq(adapter->pdev->irq);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2072
if (netif_msg_tx_queued(adapter))
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2091
*tpd = atl1c_get_tpd(adapter, queue);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2097
if (netif_msg_tx_queued(adapter))
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2124
if (netif_msg_tx_err(adapter))
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2125
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2163
static int atl1c_tx_map(struct atl1c_adapter *adapter,
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2185
buffer_info = atl1c_get_tx_buffer(adapter, use_tpd);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2187
buffer_info->dma = dma_map_single(&adapter->pdev->dev,
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2190
if (unlikely(dma_mapping_error(&adapter->pdev->dev, buffer_info->dma)))
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2206
use_tpd = atl1c_get_tpd(adapter, queue);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2209
buffer_info = atl1c_get_tx_buffer(adapter, use_tpd);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2212
dma_map_single(&adapter->pdev->dev,
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2215
if (unlikely(dma_mapping_error(&adapter->pdev->dev, buffer_info->dma)))
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2228
use_tpd = atl1c_get_tpd(adapter, queue);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2231
buffer_info = atl1c_get_tx_buffer(adapter, use_tpd);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2233
buffer_info->dma = skb_frag_dma_map(&adapter->pdev->dev,
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2237
if (dma_mapping_error(&adapter->pdev->dev, buffer_info->dma))
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2261
static void atl1c_tx_queue(struct atl1c_adapter *adapter, u32 queue)
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2263
struct atl1c_tpd_ring *tpd_ring = &adapter->tpd_ring[queue];
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2265
AT_WRITE_REGW(&adapter->hw, atl1c_qregs[queue].tpd_prod,
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2272
struct atl1c_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2278
if (test_bit(__AT_DOWN, &adapter->flags)) {
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2285
if (atl1c_tpd_avail(adapter, queue) < tpd_req) {
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2287
atl1c_tx_queue(adapter, queue);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2292
tpd = atl1c_get_tpd(adapter, queue);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2295
if (atl1c_tso_csum(adapter, skb, &tpd, queue) != 0) {
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2296
atl1c_tx_queue(adapter, queue);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2314
if (atl1c_tx_map(adapter, skb, tpd, queue) < 0) {
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2315
netif_info(adapter, tx_done, adapter->netdev,
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2318
atl1c_tx_rollback(adapter, tpd, queue);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2324
atl1c_tx_queue(adapter, queue);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2330
static void atl1c_free_irq(struct atl1c_adapter *adapter)
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2332
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2334
free_irq(adapter->pdev->irq, netdev);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2336
if (adapter->have_msi)
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2337
pci_disable_msi(adapter->pdev);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
234
struct atl1c_adapter *adapter = timer_container_of(adapter, t,
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2340
static int atl1c_request_irq(struct atl1c_adapter *adapter)
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2342
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2343
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2347
adapter->have_msi = true;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2348
err = pci_enable_msi(adapter->pdev);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2350
if (netif_msg_ifup(adapter))
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2354
adapter->have_msi = false;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2357
if (!adapter->have_msi)
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2359
err = request_irq(adapter->pdev->irq, atl1c_intr, flags,
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
236
struct atl1c_hw *hw = &adapter->hw;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2362
if (netif_msg_ifup(adapter))
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2366
if (adapter->have_msi)
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2367
pci_disable_msi(adapter->pdev);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2370
if (netif_msg_ifup(adapter))
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2376
static void atl1c_reset_dma_ring(struct atl1c_adapter *adapter)
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2380
for (i = 0; i < adapter->tx_queue_count; ++i)
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2381
atl1c_clean_tx_ring(adapter, i);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2382
for (i = 0; i < adapter->rx_queue_count; ++i)
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2383
atl1c_clean_rx_ring(adapter, i);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2386
static int atl1c_up(struct atl1c_adapter *adapter)
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2388
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
239
spin_lock_irqsave(&adapter->mdio_lock, flags);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2394
err = atl1c_configure(adapter);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2398
err = atl1c_request_irq(adapter);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2402
atl1c_check_link_status(adapter);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2403
clear_bit(__AT_DOWN, &adapter->flags);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2404
for (i = 0; i < adapter->tx_queue_count; ++i)
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2405
napi_enable(&adapter->tpd_ring[i].napi);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2406
for (i = 0; i < adapter->rx_queue_count; ++i)
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2407
napi_enable(&adapter->rrd_ring[i].napi);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2408
atl1c_irq_enable(adapter);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
241
spin_unlock_irqrestore(&adapter->mdio_lock, flags);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2413
for (i = 0; i < adapter->rx_queue_count; ++i)
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2414
atl1c_clean_rx_ring(adapter, i);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2418
static void atl1c_down(struct atl1c_adapter *adapter)
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2420
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2423
atl1c_del_timer(adapter);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2424
adapter->work_event = 0; /* clear all event */
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2427
set_bit(__AT_DOWN, &adapter->flags);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2429
for (i = 0; i < adapter->tx_queue_count; ++i)
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2430
napi_disable(&adapter->tpd_ring[i].napi);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2431
for (i = 0; i < adapter->rx_queue_count; ++i)
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2432
napi_disable(&adapter->rrd_ring[i].napi);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2433
atl1c_irq_disable(adapter);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2434
atl1c_free_irq(adapter);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2436
atl1c_disable_l0s_l1(&adapter->hw);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2438
atl1c_reset_mac(&adapter->hw);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
244
void atl1c_reinit_locked(struct atl1c_adapter *adapter)
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2441
adapter->link_speed = SPEED_0;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2442
adapter->link_duplex = -1;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2443
atl1c_reset_dma_ring(adapter);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
246
atl1c_down(adapter);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2460
struct atl1c_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2464
if (test_bit(__AT_TESTING, &adapter->flags))
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2468
err = atl1c_setup_ring_resources(adapter);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
247
atl1c_up(adapter);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2472
err = atl1c_up(adapter);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2479
atl1c_free_irq(adapter);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
248
clear_bit(__AT_RESETTING, &adapter->flags);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2480
atl1c_free_ring_resources(adapter);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2481
atl1c_reset_mac(&adapter->hw);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2498
struct atl1c_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2500
WARN_ON(test_bit(__AT_RESETTING, &adapter->flags));
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2501
set_bit(__AT_DOWN, &adapter->flags);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2502
cancel_work_sync(&adapter->common_task);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2503
atl1c_down(adapter);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2504
atl1c_free_ring_resources(adapter);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
251
static void atl1c_check_link_status(struct atl1c_adapter *adapter)
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2511
struct atl1c_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2512
struct atl1c_hw *hw = &adapter->hw;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2513
u32 wufc = adapter->wol;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2517
WARN_ON(test_bit(__AT_RESETTING, &adapter->flags));
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2518
atl1c_down(adapter);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
253
struct atl1c_hw *hw = &adapter->hw;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2535
struct atl1c_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2537
AT_WRITE_REG(&adapter->hw, REG_WOL_CTRL, 0);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2538
atl1c_reset_pcie(&adapter->hw, ATL1C_PCIE_L0S_L1_DISABLE);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
254
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2540
atl1c_phy_reset(&adapter->hw);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2541
atl1c_reset_mac(&adapter->hw);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2542
atl1c_phy_init(&adapter->hw);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2546
atl1c_up(adapter);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
255
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2555
struct atl1c_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2558
pci_wake_from_d3(pdev, adapter->wol);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
261
spin_lock_irqsave(&adapter->mdio_lock, flags);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2615
struct atl1c_adapter *adapter;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
263
spin_unlock_irqrestore(&adapter->mdio_lock, flags);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2674
adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2675
adapter->bd_number = cards_found;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2676
adapter->netdev = netdev;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2677
adapter->pdev = pdev;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2678
adapter->hw.adapter = adapter;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2679
adapter->hw.nic_type = nic_type;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2680
adapter->msg_enable = netif_msg_init(-1, atl1c_default_msg);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2681
adapter->hw.hw_addr = hw_addr;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2682
adapter->tx_queue_count = queue_count;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2683
adapter->rx_queue_count = queue_count;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2686
adapter->mii.dev = netdev;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2687
adapter->mii.mdio_read = atl1c_mdio_read;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2688
adapter->mii.mdio_write = atl1c_mdio_write;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2689
adapter->mii.phy_id_mask = 0x1f;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2690
adapter->mii.reg_num_mask = MDIO_CTRL_REG_MASK;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2692
for (i = 0; i < adapter->rx_queue_count; ++i)
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2693
netif_napi_add(netdev, &adapter->rrd_ring[i].napi,
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2695
for (i = 0; i < adapter->tx_queue_count; ++i)
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2696
netif_napi_add_tx(netdev, &adapter->tpd_ring[i].napi,
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2698
timer_setup(&adapter->phy_config_timer, atl1c_phy_config, 0);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
270
if (netif_msg_hw(adapter))
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2700
err = atl1c_sw_init(adapter);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2708
atl1c_reset_pcie(&adapter->hw, ATL1C_PCIE_L0S_L1_DISABLE);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2711
atl1c_phy_reset(&adapter->hw);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2713
err = atl1c_reset_mac(&adapter->hw);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2721
err = atl1c_phy_init(&adapter->hw);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2726
if (atl1c_read_mac_addr(&adapter->hw)) {
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2730
eth_hw_addr_set(netdev, adapter->hw.mac_addr);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2731
if (netif_msg_probe(adapter))
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2733
adapter->hw.mac_addr);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2735
atl1c_hw_set_mac_addr(&adapter->hw, adapter->hw.mac_addr);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2736
INIT_WORK(&adapter->common_task, atl1c_common_task);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2737
adapter->work_event = 0;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
274
atl1c_reset_dma_ring(adapter);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
275
atl1c_configure(adapter);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2774
struct atl1c_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2778
atl1c_hw_set_mac_addr(&adapter->hw, adapter->hw.perm_mac_addr);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2779
atl1c_phy_disable(&adapter->hw);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2781
iounmap(adapter->hw.hw_addr);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
279
spin_lock_irqsave(&adapter->mdio_lock, flags);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2800
struct atl1c_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2808
atl1c_down(adapter);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
281
spin_unlock_irqrestore(&adapter->mdio_lock, flags);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2826
struct atl1c_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2829
if (netif_msg_hw(adapter))
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2839
atl1c_reset_mac(&adapter->hw);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
285
if (adapter->link_speed != speed ||
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2855
struct atl1c_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2858
if (atl1c_up(adapter)) {
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2859
if (netif_msg_hw(adapter))
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
286
adapter->link_duplex != duplex) {
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
287
adapter->link_speed = speed;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
288
adapter->link_duplex = duplex;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
291
atl1c_start_mac(adapter);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
292
if (netif_msg_link(adapter))
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
296
adapter->link_speed,
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
297
adapter->link_duplex == FULL_DUPLEX ?
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
305
static void atl1c_link_chg_event(struct atl1c_adapter *adapter)
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
307
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
308
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
311
spin_lock(&adapter->mdio_lock);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
312
link = atl1c_get_link_status(&adapter->hw);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
313
spin_unlock(&adapter->mdio_lock);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
319
if (netif_msg_link(adapter))
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
323
adapter->link_speed = SPEED_0;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
327
set_bit(ATL1C_WORK_EVENT_LINK_CHANGE, &adapter->work_event);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
328
schedule_work(&adapter->common_task);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
333
struct atl1c_adapter *adapter;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
336
adapter = container_of(work, struct atl1c_adapter, common_task);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
337
netdev = adapter->netdev;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
339
if (test_bit(__AT_DOWN, &adapter->flags))
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
342
if (test_and_clear_bit(ATL1C_WORK_EVENT_RESET, &adapter->work_event)) {
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
344
atl1c_down(adapter);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
345
atl1c_up(adapter);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
350
&adapter->work_event)) {
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
351
atl1c_irq_disable(adapter);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
352
atl1c_check_link_status(adapter);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
353
atl1c_irq_enable(adapter);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
358
static void atl1c_del_timer(struct atl1c_adapter *adapter)
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
360
timer_delete_sync(&adapter->phy_config_timer);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
371
struct atl1c_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
374
set_bit(ATL1C_WORK_EVENT_RESET, &adapter->work_event);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
375
schedule_work(&adapter->common_task);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
389
struct atl1c_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
390
struct atl1c_hw *hw = &adapter->hw;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
434
struct atl1c_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
435
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
438
if (netif_msg_pktdata(adapter))
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
441
atl1c_irq_disable(adapter);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
442
AT_READ_REG(&adapter->hw, REG_MAC_CTRL, &mac_ctrl_data);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
444
AT_WRITE_REG(&adapter->hw, REG_MAC_CTRL, mac_ctrl_data);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
445
atl1c_irq_enable(adapter);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
448
static void atl1c_restore_vlan(struct atl1c_adapter *adapter)
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
450
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
452
if (netif_msg_pktdata(adapter))
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
454
atl1c_vlan_mode(adapter->netdev, adapter->netdev->features);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
466
struct atl1c_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
476
memcpy(adapter->hw.mac_addr, addr->sa_data, netdev->addr_len);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
478
atl1c_hw_set_mac_addr(&adapter->hw, adapter->hw.mac_addr);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
483
static void atl1c_set_rxbufsize(struct atl1c_adapter *adapter,
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
488
adapter->rx_buffer_len = mtu > AT_RX_BUF_SIZE ?
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
495
struct atl1c_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
496
struct atl1c_hw *hw = &adapter->hw;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
528
struct atl1c_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
529
struct atl1c_hw *hw = &adapter->hw;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
558
struct atl1c_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
562
while (test_and_set_bit(__AT_RESETTING, &adapter->flags))
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
565
adapter->hw.max_frame_size = new_mtu;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
566
atl1c_set_rxbufsize(adapter, netdev);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
567
atl1c_down(adapter);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
569
atl1c_up(adapter);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
570
clear_bit(__AT_RESETTING, &adapter->flags);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
580
struct atl1c_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
583
atl1c_read_phy_reg(&adapter->hw, reg_num, &result);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
590
struct atl1c_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
592
atl1c_write_phy_reg(&adapter->hw, reg_num, val);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
598
struct atl1c_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
599
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
607
spin_lock_irqsave(&adapter->mdio_lock, flags);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
614
if (atl1c_read_phy_reg(&adapter->hw, data->reg_num & 0x1F,
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
629
if (atl1c_write_phy_reg(&adapter->hw,
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
641
spin_unlock_irqrestore(&adapter->mdio_lock, flags);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
662
static int atl1c_alloc_queues(struct atl1c_adapter *adapter)
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
742
struct pci_dev *pdev = hw->adapter->pdev;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
76
static void atl1c_start_mac(struct atl1c_adapter *adapter);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
77
static int atl1c_up(struct atl1c_adapter *adapter);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
779
static int atl1c_sw_init(struct atl1c_adapter *adapter)
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
78
static void atl1c_down(struct atl1c_adapter *adapter);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
781
struct atl1c_hw *hw = &adapter->hw;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
782
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
786
adapter->wol = 0;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
788
adapter->link_speed = SPEED_0;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
789
adapter->link_duplex = FULL_DUPLEX;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
790
adapter->tpd_ring[0].count = 1024;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
791
adapter->rfd_ring[0].count = 512;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
80
static void atl1c_reset_dma_ring(struct atl1c_adapter *adapter);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
809
for (i = 0; i < adapter->tx_queue_count; ++i)
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
81
static int atl1c_configure(struct atl1c_adapter *adapter);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
811
for (i = 0; i < adapter->rx_queue_count; ++i)
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
815
hw->max_frame_size = adapter->netdev->mtu;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
82
static int atl1c_alloc_rx_buffer(struct atl1c_adapter *adapter, u32 queue,
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
830
if (atl1c_alloc_queues(adapter)) {
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
835
atl1c_set_rxbufsize(adapter, adapter->netdev);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
836
atomic_set(&adapter->irq_sem, 1);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
837
spin_lock_init(&adapter->mdio_lock);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
838
spin_lock_init(&adapter->hw.intr_mask_lock);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
839
set_bit(__AT_DOWN, &adapter->flags);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
875
static void atl1c_clean_tx_ring(struct atl1c_adapter *adapter,
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
878
struct atl1c_tpd_ring *tpd_ring = &adapter->tpd_ring[queue];
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
880
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
889
netdev_tx_reset_queue(netdev_get_tx_queue(adapter->netdev, queue));
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
903
static void atl1c_clean_rx_ring(struct atl1c_adapter *adapter, u32 queue)
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
905
struct atl1c_rfd_ring *rfd_ring = &adapter->rfd_ring[queue];
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
906
struct atl1c_rrd_ring *rrd_ring = &adapter->rrd_ring[queue];
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
908
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
926
static void atl1c_init_ring_ptrs(struct atl1c_adapter *adapter)
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
928
struct atl1c_tpd_ring *tpd_ring = adapter->tpd_ring;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
929
struct atl1c_rfd_ring *rfd_ring = adapter->rfd_ring;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
930
struct atl1c_rrd_ring *rrd_ring = adapter->rrd_ring;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
934
for (i = 0; i < adapter->tx_queue_count; i++) {
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
942
for (i = 0; i < adapter->rx_queue_count; i++) {
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
960
static void atl1c_free_ring_resources(struct atl1c_adapter *adapter)
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
962
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
964
dma_free_coherent(&pdev->dev, adapter->ring_header.size,
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
965
adapter->ring_header.desc, adapter->ring_header.dma);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
966
adapter->ring_header.desc = NULL;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
971
if (adapter->tpd_ring[0].buffer_info) {
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
972
kfree(adapter->tpd_ring[0].buffer_info);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
973
adapter->tpd_ring[0].buffer_info = NULL;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
983
static int atl1c_setup_ring_resources(struct atl1c_adapter *adapter)
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
985
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
986
struct atl1c_tpd_ring *tpd_ring = adapter->tpd_ring;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
987
struct atl1c_rfd_ring *rfd_ring = adapter->rfd_ring;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
988
struct atl1c_rrd_ring *rrd_ring = adapter->rrd_ring;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
989
struct atl1c_ring_header *ring_header = &adapter->ring_header;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
990
int tqc = adapter->tx_queue_count;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
991
int rqc = adapter->rx_queue_count;
drivers/net/ethernet/atheros/atl1e/atl1e.h
304
struct atl1e_adapter *adapter;
drivers/net/ethernet/atheros/atl1e/atl1e.h
486
void atl1e_check_options(struct atl1e_adapter *adapter);
drivers/net/ethernet/atheros/atl1e/atl1e.h
487
int atl1e_up(struct atl1e_adapter *adapter);
drivers/net/ethernet/atheros/atl1e/atl1e.h
488
void atl1e_down(struct atl1e_adapter *adapter);
drivers/net/ethernet/atheros/atl1e/atl1e.h
489
void atl1e_reinit_locked(struct atl1e_adapter *adapter);
drivers/net/ethernet/atheros/atl1e/atl1e_ethtool.c
115
clear_bit(__AT_RESETTING, &adapter->flags);
drivers/net/ethernet/atheros/atl1e/atl1e_ethtool.c
121
if (netif_running(adapter->netdev)) {
drivers/net/ethernet/atheros/atl1e/atl1e_ethtool.c
122
atl1e_down(adapter);
drivers/net/ethernet/atheros/atl1e/atl1e_ethtool.c
123
atl1e_up(adapter);
drivers/net/ethernet/atheros/atl1e/atl1e_ethtool.c
125
atl1e_reset_hw(&adapter->hw);
drivers/net/ethernet/atheros/atl1e/atl1e_ethtool.c
127
clear_bit(__AT_RESETTING, &adapter->flags);
drivers/net/ethernet/atheros/atl1e/atl1e_ethtool.c
148
struct atl1e_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atl1e/atl1e_ethtool.c
149
struct atl1e_hw *hw = &adapter->hw;
drivers/net/ethernet/atheros/atl1e/atl1e_ethtool.c
18
struct atl1e_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atl1e/atl1e_ethtool.c
19
struct atl1e_hw *hw = &adapter->hw;
drivers/net/ethernet/atheros/atl1e/atl1e_ethtool.c
196
struct atl1e_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atl1e/atl1e_ethtool.c
198
if (!atl1e_check_eeprom_exist(&adapter->hw))
drivers/net/ethernet/atheros/atl1e/atl1e_ethtool.c
207
struct atl1e_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atl1e/atl1e_ethtool.c
208
struct atl1e_hw *hw = &adapter->hw;
drivers/net/ethernet/atheros/atl1e/atl1e_ethtool.c
247
struct atl1e_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atl1e/atl1e_ethtool.c
248
struct atl1e_hw *hw = &adapter->hw;
drivers/net/ethernet/atheros/atl1e/atl1e_ethtool.c
307
struct atl1e_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atl1e/atl1e_ethtool.c
311
strscpy(drvinfo->bus_info, pci_name(adapter->pdev),
drivers/net/ethernet/atheros/atl1e/atl1e_ethtool.c
318
struct atl1e_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atl1e/atl1e_ethtool.c
323
if (adapter->wol & AT_WUFC_EX)
drivers/net/ethernet/atheros/atl1e/atl1e_ethtool.c
325
if (adapter->wol & AT_WUFC_MC)
drivers/net/ethernet/atheros/atl1e/atl1e_ethtool.c
327
if (adapter->wol & AT_WUFC_BC)
drivers/net/ethernet/atheros/atl1e/atl1e_ethtool.c
329
if (adapter->wol & AT_WUFC_MAG)
drivers/net/ethernet/atheros/atl1e/atl1e_ethtool.c
331
if (adapter->wol & AT_WUFC_LNKC)
drivers/net/ethernet/atheros/atl1e/atl1e_ethtool.c
337
struct atl1e_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atl1e/atl1e_ethtool.c
343
adapter->wol = 0;
drivers/net/ethernet/atheros/atl1e/atl1e_ethtool.c
346
adapter->wol |= AT_WUFC_MAG;
drivers/net/ethernet/atheros/atl1e/atl1e_ethtool.c
348
adapter->wol |= AT_WUFC_LNKC;
drivers/net/ethernet/atheros/atl1e/atl1e_ethtool.c
350
device_set_wakeup_enable(&adapter->pdev->dev, adapter->wol);
drivers/net/ethernet/atheros/atl1e/atl1e_ethtool.c
357
struct atl1e_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atl1e/atl1e_ethtool.c
359
atl1e_reinit_locked(adapter);
drivers/net/ethernet/atheros/atl1e/atl1e_ethtool.c
39
if (adapter->link_speed != SPEED_0) {
drivers/net/ethernet/atheros/atl1e/atl1e_ethtool.c
40
cmd->base.speed = adapter->link_speed;
drivers/net/ethernet/atheros/atl1e/atl1e_ethtool.c
41
if (adapter->link_duplex == FULL_DUPLEX)
drivers/net/ethernet/atheros/atl1e/atl1e_ethtool.c
63
struct atl1e_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atl1e/atl1e_ethtool.c
64
struct atl1e_hw *hw = &adapter->hw;
drivers/net/ethernet/atheros/atl1e/atl1e_ethtool.c
70
while (test_and_set_bit(__AT_RESETTING, &adapter->flags))
drivers/net/ethernet/atheros/atl1e/atl1e_ethtool.c
81
clear_bit(__AT_RESETTING, &adapter->flags);
drivers/net/ethernet/atheros/atl1e/atl1e_ethtool.c
85
clear_bit(__AT_RESETTING, &adapter->flags);
drivers/net/ethernet/atheros/atl1e/atl1e_hw.c
376
struct atl1e_adapter *adapter = hw->adapter;
drivers/net/ethernet/atheros/atl1e/atl1e_hw.c
397
netdev_err(adapter->netdev,
drivers/net/ethernet/atheros/atl1e/atl1e_hw.c
402
netdev_err(adapter->netdev, "pcie linkup after %d ms\n", i);
drivers/net/ethernet/atheros/atl1e/atl1e_hw.c
409
struct atl1e_adapter *adapter = hw->adapter;
drivers/net/ethernet/atheros/atl1e/atl1e_hw.c
473
netdev_err(adapter->netdev,
drivers/net/ethernet/atheros/atl1e/atl1e_hw.c
480
netdev_err(adapter->netdev,
drivers/net/ethernet/atheros/atl1e/atl1e_hw.c
485
netdev_dbg(adapter->netdev, "Restarting Auto-Negotiation\n");
drivers/net/ethernet/atheros/atl1e/atl1e_hw.c
488
netdev_err(adapter->netdev, "Error resetting the phy\n");
drivers/net/ethernet/atheros/atl1e/atl1e_hw.c
504
struct atl1e_adapter *adapter = hw->adapter;
drivers/net/ethernet/atheros/atl1e/atl1e_hw.c
505
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/atheros/atl1e/atl1e_hw.c
542
netdev_err(adapter->netdev,
drivers/net/ethernet/atheros/atl1e/atl1e_hw.h
24
u32 atl1e_auto_get_fc(struct atl1e_adapter *adapter, u16 duplex);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1025
static inline void atl1e_configure_dma(struct atl1e_adapter *adapter)
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1027
struct atl1e_hw *hw = &adapter->hw;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
104
static inline void atl1e_irq_reset(struct atl1e_adapter *adapter)
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1044
static void atl1e_setup_mac_ctrl(struct atl1e_adapter *adapter)
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1047
struct atl1e_hw *hw = &adapter->hw;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1048
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1054
if (FULL_DUPLEX == adapter->link_duplex)
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1057
value |= ((u32)((SPEED_1000 == adapter->link_speed) ?
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
106
atomic_set(&adapter->irq_sem, 0);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1063
value |= (((u32)adapter->hw.preamble_len &
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
107
AT_WRITE_REG(&adapter->hw, REG_ISR, 0);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
108
AT_WRITE_REG(&adapter->hw, REG_IMR, 0);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1084
static int atl1e_configure(struct atl1e_adapter *adapter)
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1086
struct atl1e_hw *hw = &adapter->hw;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
109
AT_WRITE_FLUSH(&adapter->hw);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1104
atl1e_configure_des_ring(adapter);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1126
atl1e_configure_tx(adapter);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1129
atl1e_configure_rx(adapter);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1132
atl1e_configure_dma(adapter);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1139
netdev_err(adapter->netdev,
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1157
struct atl1e_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1158
struct atl1e_hw_stats *hw_stats = &adapter->hw_stats;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
118
struct atl1e_adapter *adapter = timer_container_of(adapter, t,
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1198
static void atl1e_update_hw_stats(struct atl1e_adapter *adapter)
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
120
struct atl1e_hw *hw = &adapter->hw;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1205
stats_item = &adapter->hw_stats.rx_ok;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1207
*stats_item += AT_READ_REG(&adapter->hw, hw_reg_addr);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1213
stats_item = &adapter->hw_stats.tx_ok;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1215
*stats_item += AT_READ_REG(&adapter->hw, hw_reg_addr);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1221
static inline void atl1e_clear_phy_int(struct atl1e_adapter *adapter)
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1225
spin_lock(&adapter->mdio_lock);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1226
atl1e_read_phy_reg(&adapter->hw, MII_INT_STATUS, &phy_data);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1227
spin_unlock(&adapter->mdio_lock);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
123
spin_lock_irqsave(&adapter->mdio_lock, flags);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1230
static bool atl1e_clean_tx_irq(struct atl1e_adapter *adapter)
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1232
struct atl1e_tx_ring *tx_ring = &adapter->tx_ring;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1234
u16 hw_next_to_clean = AT_READ_REGW(&adapter->hw, REG_TPD_CONS_IDX);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1241
dma_unmap_single(&adapter->pdev->dev,
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1246
dma_unmap_page(&adapter->pdev->dev,
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
125
spin_unlock_irqrestore(&adapter->mdio_lock, flags);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1264
if (netif_queue_stopped(adapter->netdev) &&
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1265
netif_carrier_ok(adapter->netdev)) {
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1266
netif_wake_queue(adapter->netdev);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
128
void atl1e_reinit_locked(struct atl1e_adapter *adapter)
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1280
struct atl1e_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1281
struct atl1e_hw *hw = &adapter->hw;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1296
atl1e_clear_phy_int(adapter);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
130
while (test_and_set_bit(__AT_RESETTING, &adapter->flags))
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1303
netdev_err(adapter->netdev,
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1305
if (netif_running(adapter->netdev)) {
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1307
atl1e_irq_reset(adapter);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1308
schedule_work(&adapter->reset_task);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1315
netdev_err(adapter->netdev,
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1318
atl1e_irq_reset(adapter);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1319
schedule_work(&adapter->reset_task);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
132
atl1e_down(adapter);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1324
atl1e_update_hw_stats(adapter);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1329
atl1e_link_chg_event(adapter);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
133
atl1e_up(adapter);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1335
atl1e_clean_tx_irq(adapter);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
134
clear_bit(__AT_RESETTING, &adapter->flags);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1346
&adapter->napi)))
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1347
__napi_schedule(&adapter->napi);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1351
AT_WRITE_REG(&adapter->hw, REG_ISR, 0);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1356
static inline void atl1e_rx_checksum(struct atl1e_adapter *adapter,
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1387
static struct atl1e_rx_page *atl1e_get_rx_page(struct atl1e_adapter *adapter,
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
139
struct atl1e_adapter *adapter;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1391
(struct atl1e_rx_page_desc *) adapter->rx_ring.rx_page_desc;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1397
static void atl1e_clean_rx_irq(struct atl1e_adapter *adapter, u8 que,
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
140
adapter = container_of(work, struct atl1e_adapter, reset_task);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1400
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1401
struct atl1e_rx_ring *rx_ring = &adapter->rx_ring;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1405
struct atl1e_rx_page *rx_page = atl1e_get_rx_page(adapter, que);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
142
atl1e_reinit_locked(adapter);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1426
AT_WRITE_REG(&adapter->hw, REG_DEBUG_DATA0,
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
145
static int atl1e_check_link(struct atl1e_adapter *adapter)
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1459
atl1e_rx_checksum(adapter, skb, prrs);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
147
struct atl1e_hw *hw = &adapter->hw;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1470
napi_gro_receive(&adapter->napi, skb);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
148
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1490
AT_WRITE_REGB(&adapter->hw, reg_addr, 1);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1492
rx_page = atl1e_get_rx_page(adapter, que);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1501
if (!test_bit(__AT_DOWN, &adapter->flags))
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1502
schedule_work(&adapter->reset_task);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1512
struct atl1e_adapter *adapter =
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1518
if (!netif_carrier_ok(adapter->netdev))
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1521
atl1e_clean_rx_irq(adapter, 0, &work_done, budget);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1527
imr_data = AT_READ_REG(&adapter->hw, REG_IMR);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1528
AT_WRITE_REG(&adapter->hw, REG_IMR, imr_data | ISR_RX_EVENT);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1530
if (test_bit(__AT_DOWN, &adapter->flags)) {
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1531
atomic_dec(&adapter->irq_sem);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1532
netdev_err(adapter->netdev,
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1551
struct atl1e_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1553
disable_irq(adapter->pdev->irq);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1554
atl1e_intr(adapter->pdev->irq, netdev);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1555
enable_irq(adapter->pdev->irq);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1559
static inline u16 atl1e_tpd_avail(struct atl1e_adapter *adapter)
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1561
struct atl1e_tx_ring *tx_ring = &adapter->tx_ring;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1578
static struct atl1e_tpd_desc *atl1e_get_tpd(struct atl1e_adapter *adapter)
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1580
struct atl1e_tx_ring *tx_ring = &adapter->tx_ring;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1592
atl1e_get_tx_buffer(struct atl1e_adapter *adapter, struct atl1e_tpd_desc *tpd)
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1594
struct atl1e_tx_ring *tx_ring = &adapter->tx_ring;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1627
static int atl1e_tso_csum(struct atl1e_adapter *adapter,
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
163
adapter->link_speed = SPEED_0;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1656
netdev_warn(adapter->netdev,
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1686
netdev_err(adapter->netdev,
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1702
static int atl1e_tx_map(struct atl1e_adapter *adapter,
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1714
int ring_start = adapter->tx_ring.next_to_use;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1725
tx_buffer = atl1e_get_tx_buffer(adapter, use_tpd);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1727
tx_buffer->dma = dma_map_single(&adapter->pdev->dev,
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1730
if (dma_mapping_error(&adapter->pdev->dev, tx_buffer->dma))
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
174
if (adapter->link_speed != speed ||
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1747
use_tpd = atl1e_get_tpd(adapter);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
175
adapter->link_duplex != duplex) {
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1750
tx_buffer = atl1e_get_tx_buffer(adapter, use_tpd);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1757
dma_map_single(&adapter->pdev->dev,
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
176
adapter->link_speed = speed;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1761
if (dma_mapping_error(&adapter->pdev->dev, tx_buffer->dma)) {
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1763
ring_end = adapter->tx_ring.next_to_use;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1764
adapter->tx_ring.next_to_use = ring_start;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1765
while (adapter->tx_ring.next_to_use != ring_end) {
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1766
tpd = atl1e_get_tpd(adapter);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1767
tx_buffer = atl1e_get_tx_buffer(adapter, tpd);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1768
dma_unmap_single(&adapter->pdev->dev,
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
177
adapter->link_duplex = duplex;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1774
adapter->tx_ring.next_to_use = ring_start;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
178
atl1e_setup_mac_ctrl(adapter);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1795
use_tpd = atl1e_get_tpd(adapter);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1798
tx_buffer = atl1e_get_tx_buffer(adapter, use_tpd);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1807
tx_buffer->dma = skb_frag_dma_map(&adapter->pdev->dev,
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
181
adapter->link_speed,
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1813
if (dma_mapping_error(&adapter->pdev->dev, tx_buffer->dma)) {
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1815
ring_end = adapter->tx_ring.next_to_use;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1816
adapter->tx_ring.next_to_use = ring_start;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1817
while (adapter->tx_ring.next_to_use != ring_end) {
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1818
tpd = atl1e_get_tpd(adapter);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1819
tx_buffer = atl1e_get_tx_buffer(adapter, tpd);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
182
adapter->link_duplex == FULL_DUPLEX ?
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1820
dma_unmap_page(&adapter->pdev->dev, tx_buffer->dma,
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1825
adapter->tx_ring.next_to_use = ring_start;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1849
static void atl1e_tx_queue(struct atl1e_adapter *adapter, u16 count,
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1852
struct atl1e_tx_ring *tx_ring = &adapter->tx_ring;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1858
AT_WRITE_REG(&adapter->hw, REG_MB_TPD_PROD_IDX, tx_ring->next_to_use);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1864
struct atl1e_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1868
if (test_bit(__AT_DOWN, &adapter->flags)) {
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1879
if (atl1e_tpd_avail(adapter) < tpd_req) {
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1885
tpd = atl1e_get_tpd(adapter);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1904
if (atl1e_tso_csum(adapter, skb, tpd) != 0) {
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1909
if (atl1e_tx_map(adapter, skb, tpd)) {
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1914
atl1e_tx_queue(adapter, tpd_req, tpd);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1919
static void atl1e_free_irq(struct atl1e_adapter *adapter)
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1921
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1923
free_irq(adapter->pdev->irq, netdev);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1926
static int atl1e_request_irq(struct atl1e_adapter *adapter)
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1928
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1929
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1935
netdev_dbg(adapter->netdev,
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1943
int atl1e_up(struct atl1e_adapter *adapter)
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1945
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1950
err = atl1e_init_hw(&adapter->hw);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1955
atl1e_init_ring_ptrs(adapter);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1957
atl1e_restore_vlan(adapter);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1959
if (atl1e_configure(adapter)) {
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1964
clear_bit(__AT_DOWN, &adapter->flags);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1965
napi_enable(&adapter->napi);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1966
atl1e_irq_enable(adapter);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1967
val = AT_READ_REG(&adapter->hw, REG_MASTER_CTRL);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1968
AT_WRITE_REG(&adapter->hw, REG_MASTER_CTRL,
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1975
void atl1e_down(struct atl1e_adapter *adapter)
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1977
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1981
set_bit(__AT_DOWN, &adapter->flags);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1986
atl1e_reset_hw(&adapter->hw);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1989
napi_disable(&adapter->napi);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1990
atl1e_del_timer(adapter);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1991
atl1e_irq_disable(adapter);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1994
adapter->link_speed = SPEED_0;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1995
adapter->link_duplex = -1;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1996
atl1e_clean_tx_ring(adapter);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1997
atl1e_clean_rx_ring(adapter);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
201
struct atl1e_adapter *adapter;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
2014
struct atl1e_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
2018
if (test_bit(__AT_TESTING, &adapter->flags))
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
2022
atl1e_init_ring_resources(adapter);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
2023
err = atl1e_setup_ring_resources(adapter);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
2027
err = atl1e_request_irq(adapter);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
2031
err = atl1e_up(adapter);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
2038
atl1e_free_irq(adapter);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
204
adapter = container_of(work, struct atl1e_adapter, link_chg_task);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
2040
atl1e_free_ring_resources(adapter);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
2041
atl1e_reset_hw(&adapter->hw);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
205
spin_lock_irqsave(&adapter->mdio_lock, flags);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
2059
struct atl1e_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
206
atl1e_check_link(adapter);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
2061
WARN_ON(test_bit(__AT_RESETTING, &adapter->flags));
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
2062
atl1e_down(adapter);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
2063
atl1e_free_irq(adapter);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
2064
atl1e_free_ring_resources(adapter);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
207
spin_unlock_irqrestore(&adapter->mdio_lock, flags);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
2072
struct atl1e_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
2073
struct atl1e_hw *hw = &adapter->hw;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
2080
u32 wufc = adapter->wol;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
2087
WARN_ON(test_bit(__AT_RESETTING, &adapter->flags));
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
2088
atl1e_down(adapter);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
210
static void atl1e_link_chg_event(struct atl1e_adapter *adapter)
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
2109
netdev_dbg(adapter->netdev, "set phy register failed\n");
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
212
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
2131
netdev_dbg(adapter->netdev,
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
2137
netdev_dbg(adapter->netdev,
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
2148
mac_ctrl_data |= (((u32)adapter->hw.preamble_len &
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
2158
netdev_dbg(adapter->netdev, "suspend MAC=0x%x\n",
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
216
spin_lock(&adapter->mdio_lock);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
217
atl1e_read_phy_reg(&adapter->hw, MII_BMSR, &phy_data);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
218
atl1e_read_phy_reg(&adapter->hw, MII_BMSR, &phy_data);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
2188
atl1e_free_irq(adapter);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
219
spin_unlock(&adapter->mdio_lock);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
2201
struct atl1e_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
2209
netdev_err(adapter->netdev,
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
2216
AT_READ_REG(&adapter->hw, REG_WOL_CTRL); /* clear WOL status */
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
2221
AT_WRITE_REG(&adapter->hw, REG_WOL_CTRL, 0);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
2224
err = atl1e_request_irq(adapter);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
2229
atl1e_reset_hw(&adapter->hw);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
2232
atl1e_up(adapter);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
226
adapter->link_speed = SPEED_0;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
230
schedule_work(&adapter->link_chg_task);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
2300
struct atl1e_adapter *adapter = NULL;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
233
static void atl1e_del_timer(struct atl1e_adapter *adapter)
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
2344
adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
2345
adapter->bd_number = cards_found;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
2346
adapter->netdev = netdev;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
2347
adapter->pdev = pdev;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
2348
adapter->hw.adapter = adapter;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
2349
adapter->hw.hw_addr = pci_iomap(pdev, BAR_0, 0);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
235
timer_delete_sync(&adapter->phy_config_timer);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
2350
if (!adapter->hw.hw_addr) {
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
2357
adapter->mii.dev = netdev;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
2358
adapter->mii.mdio_read = atl1e_mdio_read;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
2359
adapter->mii.mdio_write = atl1e_mdio_write;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
2360
adapter->mii.phy_id_mask = 0x1f;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
2361
adapter->mii.reg_num_mask = MDIO_REG_ADDR_MASK;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
2363
netif_napi_add(netdev, &adapter->napi, atl1e_clean);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
2365
timer_setup(&adapter->phy_config_timer, atl1e_phy_config, 0);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
2368
atl1e_check_options(adapter);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
2377
err = atl1e_sw_init(adapter);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
238
static void atl1e_cancel_work(struct atl1e_adapter *adapter)
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
2384
atl1e_phy_init(&adapter->hw);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
2387
err = atl1e_reset_hw(&adapter->hw);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
2393
if (atl1e_read_mac_addr(&adapter->hw) != 0) {
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
2399
eth_hw_addr_set(netdev, adapter->hw.mac_addr);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
240
cancel_work_sync(&adapter->reset_task);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
2400
netdev_dbg(netdev, "mac address : %pM\n", adapter->hw.mac_addr);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
2402
INIT_WORK(&adapter->reset_task, atl1e_reset_task);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
2403
INIT_WORK(&adapter->link_chg_task, atl1e_link_chg_task);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
241
cancel_work_sync(&adapter->link_chg_task);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
2423
pci_iounmap(pdev, adapter->hw.hw_addr);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
2447
struct atl1e_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
2453
set_bit(__AT_DOWN, &adapter->flags);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
2455
atl1e_del_timer(adapter);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
2456
atl1e_cancel_work(adapter);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
2459
atl1e_free_ring_resources(adapter);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
2460
atl1e_force_ps(&adapter->hw);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
2461
pci_iounmap(pdev, adapter->hw.hw_addr);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
2479
struct atl1e_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
2487
atl1e_down(adapter);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
2505
struct atl1e_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
2508
netdev_err(adapter->netdev,
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
251
struct atl1e_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
2517
atl1e_reset_hw(&adapter->hw);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
2533
struct atl1e_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
2536
if (atl1e_up(adapter)) {
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
2537
netdev_err(adapter->netdev,
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
254
schedule_work(&adapter->reset_task);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
268
struct atl1e_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
269
struct atl1e_hw *hw = &adapter->hw;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
314
struct atl1e_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
317
netdev_dbg(adapter->netdev, "%s\n", __func__);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
319
atl1e_irq_disable(adapter);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
320
mac_ctrl_data = AT_READ_REG(&adapter->hw, REG_MAC_CTRL);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
322
AT_WRITE_REG(&adapter->hw, REG_MAC_CTRL, mac_ctrl_data);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
323
atl1e_irq_enable(adapter);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
34
static void atl1e_setup_mac_ctrl(struct atl1e_adapter *adapter);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
341
struct atl1e_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
344
netdev_dbg(adapter->netdev, "%s\n", __func__);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
346
atl1e_irq_disable(adapter);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
347
mac_ctrl_data = AT_READ_REG(&adapter->hw, REG_MAC_CTRL);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
349
AT_WRITE_REG(&adapter->hw, REG_MAC_CTRL, mac_ctrl_data);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
350
atl1e_irq_enable(adapter);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
353
static void atl1e_restore_vlan(struct atl1e_adapter *adapter)
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
355
netdev_dbg(adapter->netdev, "%s\n", __func__);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
356
atl1e_vlan_mode(adapter->netdev, adapter->netdev->features);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
368
struct atl1e_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
378
memcpy(adapter->hw.mac_addr, addr->sa_data, netdev->addr_len);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
380
atl1e_hw_set_mac_addr(&adapter->hw);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
424
struct atl1e_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
429
while (test_and_set_bit(__AT_RESETTING, &adapter->flags))
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
432
adapter->hw.max_frame_size = new_mtu;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
433
adapter->hw.rx_jumbo_th = (max_frame + 7) >> 3;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
434
atl1e_down(adapter);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
435
atl1e_up(adapter);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
436
clear_bit(__AT_RESETTING, &adapter->flags);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
446
struct atl1e_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
449
atl1e_read_phy_reg(&adapter->hw, reg_num & MDIO_REG_ADDR_MASK, &result);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
456
struct atl1e_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
458
if (atl1e_write_phy_reg(&adapter->hw,
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
466
struct atl1e_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
474
spin_lock_irqsave(&adapter->mdio_lock, flags);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
481
if (atl1e_read_phy_reg(&adapter->hw, data->reg_num & 0x1F,
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
494
netdev_dbg(adapter->netdev, "<atl1e_mii_ioctl> write %x %x\n",
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
496
if (atl1e_write_phy_reg(&adapter->hw,
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
508
spin_unlock_irqrestore(&adapter->mdio_lock, flags);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
548
static int atl1e_alloc_queues(struct atl1e_adapter *adapter)
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
561
static int atl1e_sw_init(struct atl1e_adapter *adapter)
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
563
struct atl1e_hw *hw = &adapter->hw;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
564
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
567
adapter->wol = 0;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
568
adapter->link_speed = SPEED_0; /* hardware init */
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
569
adapter->link_duplex = FULL_DUPLEX;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
570
adapter->num_rx_queues = 1;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
601
hw->max_frame_size = adapter->netdev->mtu;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
615
hw->tpd_thresh = adapter->tx_ring.count / 2;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
623
if (atl1e_alloc_queues(adapter)) {
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
624
netdev_err(adapter->netdev, "Unable to allocate memory for queues\n");
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
628
atomic_set(&adapter->irq_sem, 1);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
629
spin_lock_init(&adapter->mdio_lock);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
631
set_bit(__AT_DOWN, &adapter->flags);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
640
static void atl1e_clean_tx_ring(struct atl1e_adapter *adapter)
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
642
struct atl1e_tx_ring *tx_ring = &adapter->tx_ring;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
644
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
685
static void atl1e_clean_rx_ring(struct atl1e_adapter *adapter)
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
688
&adapter->rx_ring;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
693
if (adapter->ring_vir_addr == NULL)
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
696
for (i = 0; i < adapter->num_rx_queues; i++) {
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
706
static void atl1e_cal_ring_size(struct atl1e_adapter *adapter, u32 *ring_size)
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
708
*ring_size = ((u32)(adapter->tx_ring.count *
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
711
+ adapter->rx_ring.real_page_size * AT_PAGE_NUM_PER_QUEUE *
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
712
adapter->num_rx_queues + 31
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
714
+ (1 + AT_PAGE_NUM_PER_QUEUE * adapter->num_rx_queues) *
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
719
static void atl1e_init_ring_resources(struct atl1e_adapter *adapter)
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
723
rx_ring = &adapter->rx_ring;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
725
rx_ring->real_page_size = adapter->rx_ring.page_size
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
726
+ adapter->hw.max_frame_size
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
730
atl1e_cal_ring_size(adapter, &adapter->ring_size);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
732
adapter->ring_vir_addr = NULL;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
733
adapter->rx_ring.desc = NULL;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
734
rwlock_init(&adapter->tx_ring.tx_lock);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
740
static void atl1e_init_ring_ptrs(struct atl1e_adapter *adapter)
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
747
tx_ring = &adapter->tx_ring;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
748
rx_ring = &adapter->rx_ring;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
754
for (i = 0; i < adapter->num_rx_queues; i++) {
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
770
static void atl1e_free_ring_resources(struct atl1e_adapter *adapter)
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
772
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
774
atl1e_clean_tx_ring(adapter);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
775
atl1e_clean_rx_ring(adapter);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
777
if (adapter->ring_vir_addr) {
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
778
dma_free_coherent(&pdev->dev, adapter->ring_size,
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
779
adapter->ring_vir_addr, adapter->ring_dma);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
780
adapter->ring_vir_addr = NULL;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
783
if (adapter->tx_ring.tx_buffer) {
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
784
kfree(adapter->tx_ring.tx_buffer);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
785
adapter->tx_ring.tx_buffer = NULL;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
79
static inline void atl1e_irq_enable(struct atl1e_adapter *adapter)
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
795
static int atl1e_setup_ring_resources(struct atl1e_adapter *adapter)
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
797
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
805
if (adapter->ring_vir_addr != NULL)
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
808
tx_ring = &adapter->tx_ring;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
809
rx_ring = &adapter->rx_ring;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
81
if (likely(atomic_dec_and_test(&adapter->irq_sem))) {
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
813
size = adapter->ring_size;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
814
adapter->ring_vir_addr = dma_alloc_coherent(&pdev->dev,
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
815
adapter->ring_size,
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
816
&adapter->ring_dma, GFP_KERNEL);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
817
if (adapter->ring_vir_addr == NULL) {
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
818
netdev_err(adapter->netdev,
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
82
AT_WRITE_REG(&adapter->hw, REG_ISR, 0);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
826
tx_ring->dma = roundup(adapter->ring_dma, 8);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
827
offset = tx_ring->dma - adapter->ring_dma;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
828
tx_ring->desc = adapter->ring_vir_addr + offset;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
83
AT_WRITE_REG(&adapter->hw, REG_IMR, IMR_NORMAL_MASK);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
84
AT_WRITE_FLUSH(&adapter->hw);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
840
for (i = 0; i < adapter->num_rx_queues; i++) {
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
843
adapter->ring_dma + offset;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
845
adapter->ring_vir_addr + offset;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
851
tx_ring->cmb_dma = adapter->ring_dma + offset;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
852
tx_ring->cmb = adapter->ring_vir_addr + offset;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
855
for (i = 0; i < adapter->num_rx_queues; i++) {
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
858
adapter->ring_dma + offset;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
860
adapter->ring_vir_addr + offset;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
865
if (unlikely(offset > adapter->ring_size)) {
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
866
netdev_err(adapter->netdev, "offset(%d) > ring size(%d) !!\n",
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
867
offset, adapter->ring_size);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
877
if (adapter->ring_vir_addr != NULL) {
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
878
dma_free_coherent(&pdev->dev, adapter->ring_size,
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
879
adapter->ring_vir_addr, adapter->ring_dma);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
880
adapter->ring_vir_addr = NULL;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
885
static inline void atl1e_configure_des_ring(struct atl1e_adapter *adapter)
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
888
struct atl1e_hw *hw = &adapter->hw;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
889
struct atl1e_rx_ring *rx_ring = &adapter->rx_ring;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
890
struct atl1e_tx_ring *tx_ring = &adapter->tx_ring;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
895
(u32)((adapter->ring_dma & AT_DMA_HI_ADDR_MASK) >> 32));
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
906
(u32)((adapter->ring_dma &
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
92
static inline void atl1e_irq_disable(struct atl1e_adapter *adapter)
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
929
static inline void atl1e_configure_tx(struct atl1e_adapter *adapter)
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
931
struct atl1e_hw *hw = &adapter->hw;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
94
atomic_inc(&adapter->irq_sem);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
95
AT_WRITE_REG(&adapter->hw, REG_IMR, 0);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
96
AT_WRITE_FLUSH(&adapter->hw);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
97
synchronize_irq(adapter->pdev->irq);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
972
static inline void atl1e_configure_rx(struct atl1e_adapter *adapter)
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
974
struct atl1e_hw *hw = &adapter->hw;
drivers/net/ethernet/atheros/atl1e/atl1e_param.c
107
struct atl1e_adapter *adapter)
drivers/net/ethernet/atheros/atl1e/atl1e_param.c
118
netdev_info(adapter->netdev,
drivers/net/ethernet/atheros/atl1e/atl1e_param.c
122
netdev_info(adapter->netdev,
drivers/net/ethernet/atheros/atl1e/atl1e_param.c
129
netdev_info(adapter->netdev, "%s set to %i\n",
drivers/net/ethernet/atheros/atl1e/atl1e_param.c
142
netdev_info(adapter->netdev,
drivers/net/ethernet/atheros/atl1e/atl1e_param.c
153
netdev_info(adapter->netdev, "Invalid %s specified (%i) %s\n",
drivers/net/ethernet/atheros/atl1e/atl1e_param.c
168
void atl1e_check_options(struct atl1e_adapter *adapter)
drivers/net/ethernet/atheros/atl1e/atl1e_param.c
170
int bd = adapter->bd_number;
drivers/net/ethernet/atheros/atl1e/atl1e_param.c
173
netdev_notice(adapter->netdev,
drivers/net/ethernet/atheros/atl1e/atl1e_param.c
175
netdev_notice(adapter->netdev,
drivers/net/ethernet/atheros/atl1e/atl1e_param.c
192
atl1e_validate_option(&val, &opt, adapter);
drivers/net/ethernet/atheros/atl1e/atl1e_param.c
193
adapter->tx_ring.count = (u16) val & 0xFFFC;
drivers/net/ethernet/atheros/atl1e/atl1e_param.c
195
adapter->tx_ring.count = (u16)opt.def;
drivers/net/ethernet/atheros/atl1e/atl1e_param.c
211
atl1e_validate_option(&val, &opt, adapter);
drivers/net/ethernet/atheros/atl1e/atl1e_param.c
212
adapter->rx_ring.page_size = (u32)val * 1024;
drivers/net/ethernet/atheros/atl1e/atl1e_param.c
214
adapter->rx_ring.page_size = (u32)opt.def * 1024;
drivers/net/ethernet/atheros/atl1e/atl1e_param.c
231
atl1e_validate_option(&val, &opt, adapter);
drivers/net/ethernet/atheros/atl1e/atl1e_param.c
232
adapter->hw.imt = (u16) val;
drivers/net/ethernet/atheros/atl1e/atl1e_param.c
234
adapter->hw.imt = (u16)(opt.def);
drivers/net/ethernet/atheros/atl1e/atl1e_param.c
250
atl1e_validate_option(&val, &opt, adapter);
drivers/net/ethernet/atheros/atl1e/atl1e_param.c
251
adapter->hw.media_type = (u16) val;
drivers/net/ethernet/atheros/atl1e/atl1e_param.c
253
adapter->hw.media_type = (u16)(opt.def);
drivers/net/ethernet/atheros/atlx/atl1.c
1006
spin_lock_irqsave(&adapter->lock, flags);
drivers/net/ethernet/atheros/atlx/atl1.c
1007
retval = generic_mii_ioctl(&adapter->mii, if_mii(ifr), cmd, NULL);
drivers/net/ethernet/atheros/atlx/atl1.c
1008
spin_unlock_irqrestore(&adapter->lock, flags);
drivers/net/ethernet/atheros/atlx/atl1.c
1019
static s32 atl1_setup_ring_resources(struct atl1_adapter *adapter)
drivers/net/ethernet/atheros/atlx/atl1.c
1021
struct atl1_tpd_ring *tpd_ring = &adapter->tpd_ring;
drivers/net/ethernet/atheros/atlx/atl1.c
1022
struct atl1_rfd_ring *rfd_ring = &adapter->rfd_ring;
drivers/net/ethernet/atheros/atlx/atl1.c
1023
struct atl1_rrd_ring *rrd_ring = &adapter->rrd_ring;
drivers/net/ethernet/atheros/atlx/atl1.c
1024
struct atl1_ring_header *ring_header = &adapter->ring_header;
drivers/net/ethernet/atheros/atlx/atl1.c
1025
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/atheros/atlx/atl1.c
1032
if (netif_msg_drv(adapter))
drivers/net/ethernet/atheros/atlx/atl1.c
1056
if (netif_msg_drv(adapter))
drivers/net/ethernet/atheros/atlx/atl1.c
1085
adapter->cmb.dma = rrd_ring->dma + rrd_ring->size;
drivers/net/ethernet/atheros/atlx/atl1.c
1086
offset = (adapter->cmb.dma & 0x7) ? (8 - (adapter->cmb.dma & 0x7)) : 0;
drivers/net/ethernet/atheros/atlx/atl1.c
1087
adapter->cmb.dma += offset;
drivers/net/ethernet/atheros/atlx/atl1.c
1088
adapter->cmb.cmb = (struct coals_msg_block *)
drivers/net/ethernet/atheros/atlx/atl1.c
1092
adapter->smb.dma = adapter->cmb.dma + sizeof(struct coals_msg_block);
drivers/net/ethernet/atheros/atlx/atl1.c
1093
offset = (adapter->smb.dma & 0x7) ? (8 - (adapter->smb.dma & 0x7)) : 0;
drivers/net/ethernet/atheros/atlx/atl1.c
1094
adapter->smb.dma += offset;
drivers/net/ethernet/atheros/atlx/atl1.c
1095
adapter->smb.smb = (struct stats_msg_block *)
drivers/net/ethernet/atheros/atlx/atl1.c
1096
((u8 *) adapter->cmb.cmb +
drivers/net/ethernet/atheros/atlx/atl1.c
1106
static void atl1_init_ring_ptrs(struct atl1_adapter *adapter)
drivers/net/ethernet/atheros/atlx/atl1.c
1108
struct atl1_tpd_ring *tpd_ring = &adapter->tpd_ring;
drivers/net/ethernet/atheros/atlx/atl1.c
1109
struct atl1_rfd_ring *rfd_ring = &adapter->rfd_ring;
drivers/net/ethernet/atheros/atlx/atl1.c
1110
struct atl1_rrd_ring *rrd_ring = &adapter->rrd_ring;
drivers/net/ethernet/atheros/atlx/atl1.c
1126
static void atl1_clean_rx_ring(struct atl1_adapter *adapter)
drivers/net/ethernet/atheros/atlx/atl1.c
1128
struct atl1_rfd_ring *rfd_ring = &adapter->rfd_ring;
drivers/net/ethernet/atheros/atlx/atl1.c
1129
struct atl1_rrd_ring *rrd_ring = &adapter->rrd_ring;
drivers/net/ethernet/atheros/atlx/atl1.c
1131
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/atheros/atlx/atl1.c
1166
static void atl1_clean_tx_ring(struct atl1_adapter *adapter)
drivers/net/ethernet/atheros/atlx/atl1.c
1168
struct atl1_tpd_ring *tpd_ring = &adapter->tpd_ring;
drivers/net/ethernet/atheros/atlx/atl1.c
1170
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/atheros/atlx/atl1.c
1208
static void atl1_free_ring_resources(struct atl1_adapter *adapter)
drivers/net/ethernet/atheros/atlx/atl1.c
1210
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/atheros/atlx/atl1.c
1211
struct atl1_tpd_ring *tpd_ring = &adapter->tpd_ring;
drivers/net/ethernet/atheros/atlx/atl1.c
1212
struct atl1_rfd_ring *rfd_ring = &adapter->rfd_ring;
drivers/net/ethernet/atheros/atlx/atl1.c
1213
struct atl1_rrd_ring *rrd_ring = &adapter->rrd_ring;
drivers/net/ethernet/atheros/atlx/atl1.c
1214
struct atl1_ring_header *ring_header = &adapter->ring_header;
drivers/net/ethernet/atheros/atlx/atl1.c
1216
atl1_clean_tx_ring(adapter);
drivers/net/ethernet/atheros/atlx/atl1.c
1217
atl1_clean_rx_ring(adapter);
drivers/net/ethernet/atheros/atlx/atl1.c
1234
adapter->cmb.dma = 0;
drivers/net/ethernet/atheros/atlx/atl1.c
1235
adapter->cmb.cmb = NULL;
drivers/net/ethernet/atheros/atlx/atl1.c
1237
adapter->smb.dma = 0;
drivers/net/ethernet/atheros/atlx/atl1.c
1238
adapter->smb.smb = NULL;
drivers/net/ethernet/atheros/atlx/atl1.c
1241
static void atl1_setup_mac_ctrl(struct atl1_adapter *adapter)
drivers/net/ethernet/atheros/atlx/atl1.c
1244
struct atl1_hw *hw = &adapter->hw;
drivers/net/ethernet/atheros/atlx/atl1.c
1245
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/atheros/atlx/atl1.c
1249
if (FULL_DUPLEX == adapter->link_duplex)
drivers/net/ethernet/atheros/atlx/atl1.c
1252
value |= ((u32) ((SPEED_1000 == adapter->link_speed) ?
drivers/net/ethernet/atheros/atlx/atl1.c
1260
value |= (((u32) adapter->hw.preamble_len
drivers/net/ethernet/atheros/atlx/atl1.c
1278
static u32 atl1_check_link(struct atl1_adapter *adapter)
drivers/net/ethernet/atheros/atlx/atl1.c
1280
struct atl1_hw *hw = &adapter->hw;
drivers/net/ethernet/atheros/atlx/atl1.c
1281
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/atheros/atlx/atl1.c
1293
if (netif_msg_link(adapter))
drivers/net/ethernet/atheros/atlx/atl1.c
1294
dev_info(&adapter->pdev->dev, "link is down\n");
drivers/net/ethernet/atheros/atlx/atl1.c
1295
adapter->link_speed = SPEED_0;
drivers/net/ethernet/atheros/atlx/atl1.c
1331
if (adapter->link_speed != speed ||
drivers/net/ethernet/atheros/atlx/atl1.c
1332
adapter->link_duplex != duplex) {
drivers/net/ethernet/atheros/atlx/atl1.c
1333
adapter->link_speed = speed;
drivers/net/ethernet/atheros/atlx/atl1.c
1334
adapter->link_duplex = duplex;
drivers/net/ethernet/atheros/atlx/atl1.c
1335
atl1_setup_mac_ctrl(adapter);
drivers/net/ethernet/atheros/atlx/atl1.c
1336
if (netif_msg_link(adapter))
drivers/net/ethernet/atheros/atlx/atl1.c
1337
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/atheros/atlx/atl1.c
1339
netdev->name, adapter->link_speed,
drivers/net/ethernet/atheros/atlx/atl1.c
1340
adapter->link_duplex == FULL_DUPLEX ?
drivers/net/ethernet/atheros/atlx/atl1.c
1352
adapter->link_speed = SPEED_0;
drivers/net/ethernet/atheros/atlx/atl1.c
1381
if (!adapter->phy_timer_pending) {
drivers/net/ethernet/atheros/atlx/atl1.c
1382
adapter->phy_timer_pending = true;
drivers/net/ethernet/atheros/atlx/atl1.c
1383
mod_timer(&adapter->phy_config_timer,
drivers/net/ethernet/atheros/atlx/atl1.c
1390
static void set_flow_ctrl_old(struct atl1_adapter *adapter)
drivers/net/ethernet/atheros/atlx/atl1.c
1395
value = adapter->rfd_ring.count;
drivers/net/ethernet/atheros/atlx/atl1.c
1403
iowrite32(value, adapter->hw.hw_addr + REG_RXQ_RXF_PAUSE_THRESH);
drivers/net/ethernet/atheros/atlx/atl1.c
1406
value = adapter->rrd_ring.count;
drivers/net/ethernet/atheros/atlx/atl1.c
1413
iowrite32(value, adapter->hw.hw_addr + REG_RXQ_RRD_PAUSE_THRESH);
drivers/net/ethernet/atheros/atlx/atl1.c
1451
static u32 atl1_configure(struct atl1_adapter *adapter)
drivers/net/ethernet/atheros/atlx/atl1.c
1453
struct atl1_hw *hw = &adapter->hw;
drivers/net/ethernet/atheros/atlx/atl1.c
1457
iowrite32(0xffffffff, adapter->hw.hw_addr + REG_ISR);
drivers/net/ethernet/atheros/atlx/atl1.c
1471
iowrite32((u32) ((adapter->tpd_ring.dma & 0xffffffff00000000ULL) >> 32),
drivers/net/ethernet/atheros/atlx/atl1.c
1474
iowrite32((u32) (adapter->rfd_ring.dma & 0x00000000ffffffffULL),
drivers/net/ethernet/atheros/atlx/atl1.c
1476
iowrite32((u32) (adapter->rrd_ring.dma & 0x00000000ffffffffULL),
drivers/net/ethernet/atheros/atlx/atl1.c
1478
iowrite32((u32) (adapter->tpd_ring.dma & 0x00000000ffffffffULL),
drivers/net/ethernet/atheros/atlx/atl1.c
1480
iowrite32((u32) (adapter->cmb.dma & 0x00000000ffffffffULL),
drivers/net/ethernet/atheros/atlx/atl1.c
1482
iowrite32((u32) (adapter->smb.dma & 0x00000000ffffffffULL),
drivers/net/ethernet/atheros/atlx/atl1.c
1486
value = adapter->rrd_ring.count;
drivers/net/ethernet/atheros/atlx/atl1.c
1488
value += adapter->rfd_ring.count;
drivers/net/ethernet/atheros/atlx/atl1.c
1490
iowrite32(adapter->tpd_ring.count, hw->hw_addr +
drivers/net/ethernet/atheros/atlx/atl1.c
1497
value = ((atomic_read(&adapter->tpd_ring.next_to_use)
drivers/net/ethernet/atheros/atlx/atl1.c
1499
((atomic_read(&adapter->rrd_ring.next_to_clean)
drivers/net/ethernet/atheros/atlx/atl1.c
1501
((atomic_read(&adapter->rfd_ring.next_to_use)
drivers/net/ethernet/atheros/atlx/atl1.c
1527
iowrite16(adapter->imt, hw->hw_addr + REG_IRQ_MODU_TIMER_INIT);
drivers/net/ethernet/atheros/atlx/atl1.c
1531
iowrite16(adapter->ict, hw->hw_addr + REG_CMBDISDMA_TIMER);
drivers/net/ethernet/atheros/atlx/atl1.c
1551
set_flow_ctrl_old(adapter);
drivers/net/ethernet/atheros/atlx/atl1.c
1597
value = (hw->cmb_tpd > adapter->tpd_ring.count) ?
drivers/net/ethernet/atheros/atlx/atl1.c
1598
hw->cmb_tpd : adapter->tpd_ring.count;
drivers/net/ethernet/atheros/atlx/atl1.c
1610
value = ioread32(adapter->hw.hw_addr + REG_ISR);
drivers/net/ethernet/atheros/atlx/atl1.c
1617
iowrite32(0x3fffffff, adapter->hw.hw_addr + REG_ISR);
drivers/net/ethernet/atheros/atlx/atl1.c
1618
iowrite32(0, adapter->hw.hw_addr + REG_ISR);
drivers/net/ethernet/atheros/atlx/atl1.c
1625
static void atl1_pcie_patch(struct atl1_adapter *adapter)
drivers/net/ethernet/atheros/atlx/atl1.c
1631
iowrite32(value, adapter->hw.hw_addr + 0x12FC);
drivers/net/ethernet/atheros/atlx/atl1.c
1633
value = ioread32(adapter->hw.hw_addr + 0x1008);
drivers/net/ethernet/atheros/atlx/atl1.c
1635
iowrite32(value, adapter->hw.hw_addr + 0x1008);
drivers/net/ethernet/atheros/atlx/atl1.c
1644
static void atl1_via_workaround(struct atl1_adapter *adapter)
drivers/net/ethernet/atheros/atlx/atl1.c
1648
value = ioread16(adapter->hw.hw_addr + PCI_COMMAND);
drivers/net/ethernet/atheros/atlx/atl1.c
1651
iowrite32(value, adapter->hw.hw_addr + PCI_COMMAND);
drivers/net/ethernet/atheros/atlx/atl1.c
1654
static void atl1_inc_smb(struct atl1_adapter *adapter)
drivers/net/ethernet/atheros/atlx/atl1.c
1656
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/atheros/atlx/atl1.c
1657
struct stats_msg_block *smb = adapter->smb.smb;
drivers/net/ethernet/atheros/atlx/atl1.c
1672
adapter->soft_stats.rx_packets += smb->rx_ok + new_rx_errors;
drivers/net/ethernet/atheros/atlx/atl1.c
1673
adapter->soft_stats.tx_packets += smb->tx_ok + new_tx_errors;
drivers/net/ethernet/atheros/atlx/atl1.c
1674
adapter->soft_stats.rx_bytes += smb->rx_byte_cnt;
drivers/net/ethernet/atheros/atlx/atl1.c
1675
adapter->soft_stats.tx_bytes += smb->tx_byte_cnt;
drivers/net/ethernet/atheros/atlx/atl1.c
1676
adapter->soft_stats.multicast += smb->rx_mcast;
drivers/net/ethernet/atheros/atlx/atl1.c
1677
adapter->soft_stats.collisions += smb->tx_1_col +
drivers/net/ethernet/atheros/atlx/atl1.c
1683
adapter->soft_stats.rx_errors += new_rx_errors;
drivers/net/ethernet/atheros/atlx/atl1.c
1684
adapter->soft_stats.rx_fifo_errors += smb->rx_rxf_ov;
drivers/net/ethernet/atheros/atlx/atl1.c
1685
adapter->soft_stats.rx_length_errors += smb->rx_len_err;
drivers/net/ethernet/atheros/atlx/atl1.c
1686
adapter->soft_stats.rx_crc_errors += smb->rx_fcs_err;
drivers/net/ethernet/atheros/atlx/atl1.c
1687
adapter->soft_stats.rx_frame_errors += smb->rx_align_err;
drivers/net/ethernet/atheros/atlx/atl1.c
1689
adapter->soft_stats.rx_pause += smb->rx_pause;
drivers/net/ethernet/atheros/atlx/atl1.c
1690
adapter->soft_stats.rx_rrd_ov += smb->rx_rrd_ov;
drivers/net/ethernet/atheros/atlx/atl1.c
1691
adapter->soft_stats.rx_trunc += smb->rx_sz_ov;
drivers/net/ethernet/atheros/atlx/atl1.c
1694
adapter->soft_stats.tx_errors += new_tx_errors;
drivers/net/ethernet/atheros/atlx/atl1.c
1695
adapter->soft_stats.tx_fifo_errors += smb->tx_underrun;
drivers/net/ethernet/atheros/atlx/atl1.c
1696
adapter->soft_stats.tx_aborted_errors += smb->tx_abort_col;
drivers/net/ethernet/atheros/atlx/atl1.c
1697
adapter->soft_stats.tx_window_errors += smb->tx_late_col;
drivers/net/ethernet/atheros/atlx/atl1.c
1699
adapter->soft_stats.excecol += smb->tx_abort_col;
drivers/net/ethernet/atheros/atlx/atl1.c
1700
adapter->soft_stats.deffer += smb->tx_defer;
drivers/net/ethernet/atheros/atlx/atl1.c
1701
adapter->soft_stats.scc += smb->tx_1_col;
drivers/net/ethernet/atheros/atlx/atl1.c
1702
adapter->soft_stats.mcc += smb->tx_2_col;
drivers/net/ethernet/atheros/atlx/atl1.c
1703
adapter->soft_stats.latecol += smb->tx_late_col;
drivers/net/ethernet/atheros/atlx/atl1.c
1704
adapter->soft_stats.tx_underrun += smb->tx_underrun;
drivers/net/ethernet/atheros/atlx/atl1.c
1705
adapter->soft_stats.tx_trunc += smb->tx_trunc;
drivers/net/ethernet/atheros/atlx/atl1.c
1706
adapter->soft_stats.tx_pause += smb->tx_pause;
drivers/net/ethernet/atheros/atlx/atl1.c
1708
netdev->stats.rx_bytes = adapter->soft_stats.rx_bytes;
drivers/net/ethernet/atheros/atlx/atl1.c
1709
netdev->stats.tx_bytes = adapter->soft_stats.tx_bytes;
drivers/net/ethernet/atheros/atlx/atl1.c
1710
netdev->stats.multicast = adapter->soft_stats.multicast;
drivers/net/ethernet/atheros/atlx/atl1.c
1711
netdev->stats.collisions = adapter->soft_stats.collisions;
drivers/net/ethernet/atheros/atlx/atl1.c
1712
netdev->stats.rx_errors = adapter->soft_stats.rx_errors;
drivers/net/ethernet/atheros/atlx/atl1.c
1714
adapter->soft_stats.rx_length_errors;
drivers/net/ethernet/atheros/atlx/atl1.c
1715
netdev->stats.rx_crc_errors = adapter->soft_stats.rx_crc_errors;
drivers/net/ethernet/atheros/atlx/atl1.c
1717
adapter->soft_stats.rx_frame_errors;
drivers/net/ethernet/atheros/atlx/atl1.c
1718
netdev->stats.rx_fifo_errors = adapter->soft_stats.rx_fifo_errors;
drivers/net/ethernet/atheros/atlx/atl1.c
1719
netdev->stats.rx_dropped = adapter->soft_stats.rx_rrd_ov;
drivers/net/ethernet/atheros/atlx/atl1.c
1720
netdev->stats.tx_errors = adapter->soft_stats.tx_errors;
drivers/net/ethernet/atheros/atlx/atl1.c
1721
netdev->stats.tx_fifo_errors = adapter->soft_stats.tx_fifo_errors;
drivers/net/ethernet/atheros/atlx/atl1.c
1723
adapter->soft_stats.tx_aborted_errors;
drivers/net/ethernet/atheros/atlx/atl1.c
1725
adapter->soft_stats.tx_window_errors;
drivers/net/ethernet/atheros/atlx/atl1.c
1727
adapter->soft_stats.tx_carrier_errors;
drivers/net/ethernet/atheros/atlx/atl1.c
1729
netdev->stats.rx_packets = adapter->soft_stats.rx_packets;
drivers/net/ethernet/atheros/atlx/atl1.c
1730
netdev->stats.tx_packets = adapter->soft_stats.tx_packets;
drivers/net/ethernet/atheros/atlx/atl1.c
1733
static void atl1_update_mailbox(struct atl1_adapter *adapter)
drivers/net/ethernet/atheros/atlx/atl1.c
1741
spin_lock_irqsave(&adapter->mb_lock, flags);
drivers/net/ethernet/atheros/atlx/atl1.c
1743
tpd_next_to_use = atomic_read(&adapter->tpd_ring.next_to_use);
drivers/net/ethernet/atheros/atlx/atl1.c
1744
rfd_next_to_use = atomic_read(&adapter->rfd_ring.next_to_use);
drivers/net/ethernet/atheros/atlx/atl1.c
1745
rrd_next_to_clean = atomic_read(&adapter->rrd_ring.next_to_clean);
drivers/net/ethernet/atheros/atlx/atl1.c
1753
iowrite32(value, adapter->hw.hw_addr + REG_MAILBOX);
drivers/net/ethernet/atheros/atlx/atl1.c
1755
spin_unlock_irqrestore(&adapter->mb_lock, flags);
drivers/net/ethernet/atheros/atlx/atl1.c
1758
static void atl1_clean_alloc_flag(struct atl1_adapter *adapter,
drivers/net/ethernet/atheros/atlx/atl1.c
1761
struct atl1_rfd_ring *rfd_ring = &adapter->rfd_ring;
drivers/net/ethernet/atheros/atlx/atl1.c
1771
static void atl1_update_rfd_index(struct atl1_adapter *adapter,
drivers/net/ethernet/atheros/atlx/atl1.c
1776
num_buf = (rrd->xsz.xsum_sz.pkt_size + adapter->rx_buffer_len - 1) /
drivers/net/ethernet/atheros/atlx/atl1.c
1777
adapter->rx_buffer_len;
drivers/net/ethernet/atheros/atlx/atl1.c
1780
atl1_clean_alloc_flag(adapter, rrd, num_buf);
drivers/net/ethernet/atheros/atlx/atl1.c
1783
static void atl1_rx_checksum(struct atl1_adapter *adapter,
drivers/net/ethernet/atheros/atlx/atl1.c
1786
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/atheros/atlx/atl1.c
1804
adapter->hw_csum_err++;
drivers/net/ethernet/atheros/atlx/atl1.c
1805
if (netif_msg_rx_err(adapter))
drivers/net/ethernet/atheros/atlx/atl1.c
1821
adapter->hw_csum_good++;
drivers/net/ethernet/atheros/atlx/atl1.c
1830
static u16 atl1_alloc_rx_buffers(struct atl1_adapter *adapter)
drivers/net/ethernet/atheros/atlx/atl1.c
1832
struct atl1_rfd_ring *rfd_ring = &adapter->rfd_ring;
drivers/net/ethernet/atheros/atlx/atl1.c
1833
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/atheros/atlx/atl1.c
1856
skb = netdev_alloc_skb_ip_align(adapter->netdev,
drivers/net/ethernet/atheros/atlx/atl1.c
1857
adapter->rx_buffer_len);
drivers/net/ethernet/atheros/atlx/atl1.c
1860
adapter->soft_stats.rx_dropped++;
drivers/net/ethernet/atheros/atlx/atl1.c
1867
adapter->rx_buffer_len,
drivers/net/ethernet/atheros/atlx/atl1.c
1871
adapter->soft_stats.rx_dropped++;
drivers/net/ethernet/atheros/atlx/atl1.c
1877
buffer_info->length = (u16)adapter->rx_buffer_len;
drivers/net/ethernet/atheros/atlx/atl1.c
188
static void atl1_check_options(struct atl1_adapter *adapter)
drivers/net/ethernet/atheros/atlx/atl1.c
1880
rfd_desc->buf_len = cpu_to_le16(adapter->rx_buffer_len);
drivers/net/ethernet/atheros/atlx/atl1.c
190
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/atheros/atlx/atl1.c
1906
static int atl1_intr_rx(struct atl1_adapter *adapter, int budget)
drivers/net/ethernet/atheros/atlx/atl1.c
191
int bd = adapter->bd_number;
drivers/net/ethernet/atheros/atlx/atl1.c
1912
struct atl1_rfd_ring *rfd_ring = &adapter->rfd_ring;
drivers/net/ethernet/atheros/atlx/atl1.c
1913
struct atl1_rrd_ring *rrd_ring = &adapter->rrd_ring;
drivers/net/ethernet/atheros/atlx/atl1.c
1930
else if (netif_msg_rx_err(adapter)) {
drivers/net/ethernet/atheros/atlx/atl1.c
1931
dev_printk(KERN_DEBUG, &adapter->pdev->dev,
drivers/net/ethernet/atheros/atlx/atl1.c
1933
dev_printk(KERN_DEBUG, &adapter->pdev->dev,
drivers/net/ethernet/atheros/atlx/atl1.c
1935
adapter->rx_buffer_len);
drivers/net/ethernet/atheros/atlx/atl1.c
1936
dev_printk(KERN_DEBUG, &adapter->pdev->dev,
drivers/net/ethernet/atheros/atlx/atl1.c
1939
dev_printk(KERN_DEBUG, &adapter->pdev->dev,
drivers/net/ethernet/atheros/atlx/atl1.c
1942
dev_printk(KERN_DEBUG, &adapter->pdev->dev,
drivers/net/ethernet/atheros/atlx/atl1.c
1945
dev_printk(KERN_DEBUG, &adapter->pdev->dev,
drivers/net/ethernet/atheros/atlx/atl1.c
1948
dev_printk(KERN_DEBUG, &adapter->pdev->dev,
drivers/net/ethernet/atheros/atlx/atl1.c
1960
if (netif_msg_rx_err(adapter))
drivers/net/ethernet/atheros/atlx/atl1.c
1961
dev_printk(KERN_DEBUG, &adapter->pdev->dev,
drivers/net/ethernet/atheros/atlx/atl1.c
1965
atl1_update_rfd_index(adapter, rrd);
drivers/net/ethernet/atheros/atlx/atl1.c
1979
atl1_clean_alloc_flag(adapter, rrd, 0);
drivers/net/ethernet/atheros/atlx/atl1.c
2002
dma_unmap_page(&adapter->pdev->dev, buffer_info->dma,
drivers/net/ethernet/atheros/atlx/atl1.c
2011
atl1_rx_checksum(adapter, rrd, skb);
drivers/net/ethernet/atheros/atlx/atl1.c
2012
skb->protocol = eth_type_trans(skb, adapter->netdev);
drivers/net/ethernet/atheros/atlx/atl1.c
2031
atl1_alloc_rx_buffers(adapter);
drivers/net/ethernet/atheros/atlx/atl1.c
2038
spin_lock(&adapter->mb_lock);
drivers/net/ethernet/atheros/atlx/atl1.c
2040
tpd_next_to_use = atomic_read(&adapter->tpd_ring.next_to_use);
drivers/net/ethernet/atheros/atlx/atl1.c
2042
atomic_read(&adapter->rfd_ring.next_to_use);
drivers/net/ethernet/atheros/atlx/atl1.c
2044
atomic_read(&adapter->rrd_ring.next_to_clean);
drivers/net/ethernet/atheros/atlx/atl1.c
2051
iowrite32(value, adapter->hw.hw_addr + REG_MAILBOX);
drivers/net/ethernet/atheros/atlx/atl1.c
2052
spin_unlock(&adapter->mb_lock);
drivers/net/ethernet/atheros/atlx/atl1.c
2058
static int atl1_intr_tx(struct atl1_adapter *adapter)
drivers/net/ethernet/atheros/atlx/atl1.c
2060
struct atl1_tpd_ring *tpd_ring = &adapter->tpd_ring;
drivers/net/ethernet/atheros/atlx/atl1.c
2067
cmb_tpd_next_to_clean = le16_to_cpu(adapter->cmb.cmb->tpd_cons_idx);
drivers/net/ethernet/atheros/atlx/atl1.c
2072
dma_unmap_page(&adapter->pdev->dev, buffer_info->dma,
drivers/net/ethernet/atheros/atlx/atl1.c
2089
if (netif_queue_stopped(adapter->netdev) &&
drivers/net/ethernet/atheros/atlx/atl1.c
2090
netif_carrier_ok(adapter->netdev))
drivers/net/ethernet/atheros/atlx/atl1.c
2091
netif_wake_queue(adapter->netdev);
drivers/net/ethernet/atheros/atlx/atl1.c
210
adapter->imt = (u16) val;
drivers/net/ethernet/atheros/atlx/atl1.c
2105
static int atl1_tso(struct atl1_adapter *adapter, struct sk_buff *skb,
drivers/net/ethernet/atheros/atlx/atl1.c
212
adapter->imt = (u16) (opt.def);
drivers/net/ethernet/atheros/atlx/atl1.c
2168
static int atl1_tx_csum(struct atl1_adapter *adapter, struct sk_buff *skb,
drivers/net/ethernet/atheros/atlx/atl1.c
2178
if (netif_msg_tx_err(adapter))
drivers/net/ethernet/atheros/atlx/atl1.c
2179
dev_printk(KERN_DEBUG, &adapter->pdev->dev,
drivers/net/ethernet/atheros/atlx/atl1.c
2193
static bool atl1_tx_map(struct atl1_adapter *adapter, struct sk_buff *skb,
drivers/net/ethernet/atheros/atlx/atl1.c
2196
struct atl1_tpd_ring *tpd_ring = &adapter->tpd_ring;
drivers/net/ethernet/atheros/atlx/atl1.c
2225
buffer_info->dma = dma_map_page(&adapter->pdev->dev, page,
drivers/net/ethernet/atheros/atlx/atl1.c
2228
if (dma_mapping_error(&adapter->pdev->dev, buffer_info->dma))
drivers/net/ethernet/atheros/atlx/atl1.c
2252
buffer_info->dma = dma_map_page(&adapter->pdev->dev,
drivers/net/ethernet/atheros/atlx/atl1.c
2256
if (dma_mapping_error(&adapter->pdev->dev,
drivers/net/ethernet/atheros/atlx/atl1.c
2268
buffer_info->dma = dma_map_page(&adapter->pdev->dev, page,
drivers/net/ethernet/atheros/atlx/atl1.c
2271
if (dma_mapping_error(&adapter->pdev->dev, buffer_info->dma))
drivers/net/ethernet/atheros/atlx/atl1.c
2293
buffer_info->dma = skb_frag_dma_map(&adapter->pdev->dev,
drivers/net/ethernet/atheros/atlx/atl1.c
2296
if (dma_mapping_error(&adapter->pdev->dev,
drivers/net/ethernet/atheros/atlx/atl1.c
2313
dma_unmap_page(&adapter->pdev->dev,
drivers/net/ethernet/atheros/atlx/atl1.c
2325
static void atl1_tx_queue(struct atl1_adapter *adapter, u16 count,
drivers/net/ethernet/atheros/atlx/atl1.c
2328
struct atl1_tpd_ring *tpd_ring = &adapter->tpd_ring;
drivers/net/ethernet/atheros/atlx/atl1.c
2337
tpd = ATL1_TPD_DESC(&adapter->tpd_ring, next_to_use);
drivers/net/ethernet/atheros/atlx/atl1.c
2378
struct atl1_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atlx/atl1.c
2379
struct atl1_tpd_ring *tpd_ring = &adapter->tpd_ring;
drivers/net/ethernet/atheros/atlx/atl1.c
241
struct atl1_adapter *adapter = hw->back;
drivers/net/ethernet/atheros/atlx/atl1.c
2418
if (atl1_tpd_avail(&adapter->tpd_ring) < count) {
drivers/net/ethernet/atheros/atlx/atl1.c
2421
if (netif_msg_tx_queued(adapter))
drivers/net/ethernet/atheros/atlx/atl1.c
2422
dev_printk(KERN_DEBUG, &adapter->pdev->dev,
drivers/net/ethernet/atheros/atlx/atl1.c
2440
tso = atl1_tso(adapter, skb, ptpd);
drivers/net/ethernet/atheros/atlx/atl1.c
2445
ret_val = atl1_tx_csum(adapter, skb, ptpd);
drivers/net/ethernet/atheros/atlx/atl1.c
2450
if (!atl1_tx_map(adapter, skb, ptpd))
drivers/net/ethernet/atheros/atlx/atl1.c
2453
atl1_tx_queue(adapter, count, ptpd);
drivers/net/ethernet/atheros/atlx/atl1.c
2454
atl1_update_mailbox(adapter);
drivers/net/ethernet/atheros/atlx/atl1.c
2458
adapter->soft_stats.tx_errors++;
drivers/net/ethernet/atheros/atlx/atl1.c
2465
struct atl1_adapter *adapter = container_of(napi, struct atl1_adapter, napi);
drivers/net/ethernet/atheros/atlx/atl1.c
2466
int work_done = atl1_intr_rx(adapter, budget);
drivers/net/ethernet/atheros/atlx/atl1.c
2468
if (atl1_intr_tx(adapter))
drivers/net/ethernet/atheros/atlx/atl1.c
2477
if (likely(adapter->int_enabled))
drivers/net/ethernet/atheros/atlx/atl1.c
2478
atlx_imr_set(adapter, IMR_NORMAL_MASK);
drivers/net/ethernet/atheros/atlx/atl1.c
2482
static inline int atl1_sched_rings_clean(struct atl1_adapter* adapter)
drivers/net/ethernet/atheros/atlx/atl1.c
2484
if (!napi_schedule(&adapter->napi))
drivers/net/ethernet/atheros/atlx/atl1.c
2497
if (!adapter->int_enabled)
drivers/net/ethernet/atheros/atlx/atl1.c
2500
atlx_imr_set(adapter, IMR_NORXTX_MASK);
drivers/net/ethernet/atheros/atlx/atl1.c
2511
struct atl1_adapter *adapter = netdev_priv(data);
drivers/net/ethernet/atheros/atlx/atl1.c
2514
status = adapter->cmb.cmb->int_stats;
drivers/net/ethernet/atheros/atlx/atl1.c
2523
adapter->cmb.cmb->int_stats = status & (ISR_CMB_TX | ISR_CMB_RX);
drivers/net/ethernet/atheros/atlx/atl1.c
2526
atlx_clear_phy_int(adapter);
drivers/net/ethernet/atheros/atlx/atl1.c
2529
iowrite32(status | ISR_DIS_INT, adapter->hw.hw_addr + REG_ISR);
drivers/net/ethernet/atheros/atlx/atl1.c
2533
atl1_inc_smb(adapter);
drivers/net/ethernet/atheros/atlx/atl1.c
2537
if (netif_msg_intr(adapter))
drivers/net/ethernet/atheros/atlx/atl1.c
2538
dev_printk(KERN_DEBUG, &adapter->pdev->dev,
drivers/net/ethernet/atheros/atlx/atl1.c
2540
if (netif_running(adapter->netdev)) { /* reset MAC */
drivers/net/ethernet/atheros/atlx/atl1.c
2541
atlx_irq_disable(adapter);
drivers/net/ethernet/atheros/atlx/atl1.c
2542
schedule_work(&adapter->reset_dev_task);
drivers/net/ethernet/atheros/atlx/atl1.c
2549
if (netif_msg_intr(adapter))
drivers/net/ethernet/atheros/atlx/atl1.c
2550
dev_printk(KERN_DEBUG, &adapter->pdev->dev,
drivers/net/ethernet/atheros/atlx/atl1.c
2553
atlx_irq_disable(adapter);
drivers/net/ethernet/atheros/atlx/atl1.c
2554
schedule_work(&adapter->reset_dev_task);
drivers/net/ethernet/atheros/atlx/atl1.c
2560
adapter->soft_stats.tx_carrier_errors++;
drivers/net/ethernet/atheros/atlx/atl1.c
2561
atl1_check_for_link(adapter);
drivers/net/ethernet/atheros/atlx/atl1.c
2566
atl1_sched_rings_clean(adapter))
drivers/net/ethernet/atheros/atlx/atl1.c
2567
adapter->cmb.cmb->int_stats = adapter->cmb.cmb->int_stats &
drivers/net/ethernet/atheros/atlx/atl1.c
2574
if (netif_msg_intr(adapter))
drivers/net/ethernet/atheros/atlx/atl1.c
2576
&adapter->pdev->dev,
drivers/net/ethernet/atheros/atlx/atl1.c
2579
atl1_sched_rings_clean(adapter);
drivers/net/ethernet/atheros/atlx/atl1.c
2583
iowrite32(ISR_DIS_SMB | ISR_DIS_DMA, adapter->hw.hw_addr + REG_ISR);
drivers/net/ethernet/atheros/atlx/atl1.c
2594
struct atl1_adapter *adapter = timer_container_of(adapter, t,
drivers/net/ethernet/atheros/atlx/atl1.c
2596
struct atl1_hw *hw = &adapter->hw;
drivers/net/ethernet/atheros/atlx/atl1.c
2599
spin_lock_irqsave(&adapter->lock, flags);
drivers/net/ethernet/atheros/atlx/atl1.c
2600
adapter->phy_timer_pending = false;
drivers/net/ethernet/atheros/atlx/atl1.c
2604
spin_unlock_irqrestore(&adapter->lock, flags);
drivers/net/ethernet/atheros/atlx/atl1.c
2618
static int atl1_reset(struct atl1_adapter *adapter)
drivers/net/ethernet/atheros/atlx/atl1.c
2621
ret = atl1_reset_hw(&adapter->hw);
drivers/net/ethernet/atheros/atlx/atl1.c
2624
return atl1_init_hw(&adapter->hw);
drivers/net/ethernet/atheros/atlx/atl1.c
2627
static s32 atl1_up(struct atl1_adapter *adapter)
drivers/net/ethernet/atheros/atlx/atl1.c
2629
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/atheros/atlx/atl1.c
2635
atl1_init_ring_ptrs(adapter);
drivers/net/ethernet/atheros/atlx/atl1.c
2636
atlx_restore_vlan(adapter);
drivers/net/ethernet/atheros/atlx/atl1.c
2637
err = atl1_alloc_rx_buffers(adapter);
drivers/net/ethernet/atheros/atlx/atl1.c
2642
if (unlikely(atl1_configure(adapter))) {
drivers/net/ethernet/atheros/atlx/atl1.c
2647
err = pci_enable_msi(adapter->pdev);
drivers/net/ethernet/atheros/atlx/atl1.c
2649
if (netif_msg_ifup(adapter))
drivers/net/ethernet/atheros/atlx/atl1.c
2650
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/atheros/atlx/atl1.c
2655
err = request_irq(adapter->pdev->irq, atl1_intr, irq_flags,
drivers/net/ethernet/atheros/atlx/atl1.c
2660
napi_enable(&adapter->napi);
drivers/net/ethernet/atheros/atlx/atl1.c
2661
atlx_irq_enable(adapter);
drivers/net/ethernet/atheros/atlx/atl1.c
2662
atl1_check_link(adapter);
drivers/net/ethernet/atheros/atlx/atl1.c
2667
pci_disable_msi(adapter->pdev);
drivers/net/ethernet/atheros/atlx/atl1.c
2669
atl1_clean_rx_ring(adapter);
drivers/net/ethernet/atheros/atlx/atl1.c
2673
static void atl1_down(struct atl1_adapter *adapter)
drivers/net/ethernet/atheros/atlx/atl1.c
2675
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/atheros/atlx/atl1.c
2677
napi_disable(&adapter->napi);
drivers/net/ethernet/atheros/atlx/atl1.c
2679
timer_delete_sync(&adapter->phy_config_timer);
drivers/net/ethernet/atheros/atlx/atl1.c
2680
adapter->phy_timer_pending = false;
drivers/net/ethernet/atheros/atlx/atl1.c
2682
atlx_irq_disable(adapter);
drivers/net/ethernet/atheros/atlx/atl1.c
2683
free_irq(adapter->pdev->irq, netdev);
drivers/net/ethernet/atheros/atlx/atl1.c
2684
pci_disable_msi(adapter->pdev);
drivers/net/ethernet/atheros/atlx/atl1.c
2685
atl1_reset_hw(&adapter->hw);
drivers/net/ethernet/atheros/atlx/atl1.c
2686
adapter->cmb.cmb->int_stats = 0;
drivers/net/ethernet/atheros/atlx/atl1.c
2688
adapter->link_speed = SPEED_0;
drivers/net/ethernet/atheros/atlx/atl1.c
2689
adapter->link_duplex = -1;
drivers/net/ethernet/atheros/atlx/atl1.c
2692
atl1_clean_tx_ring(adapter);
drivers/net/ethernet/atheros/atlx/atl1.c
2693
atl1_clean_rx_ring(adapter);
drivers/net/ethernet/atheros/atlx/atl1.c
2698
struct atl1_adapter *adapter =
drivers/net/ethernet/atheros/atlx/atl1.c
2700
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/atheros/atlx/atl1.c
2703
atl1_down(adapter);
drivers/net/ethernet/atheros/atlx/atl1.c
2704
atl1_up(adapter);
drivers/net/ethernet/atheros/atlx/atl1.c
2717
struct atl1_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atlx/atl1.c
2720
adapter->hw.max_frame_size = max_frame;
drivers/net/ethernet/atheros/atlx/atl1.c
2721
adapter->hw.tx_jumbo_task_th = (max_frame + 7) >> 3;
drivers/net/ethernet/atheros/atlx/atl1.c
2722
adapter->rx_buffer_len = (max_frame + 7) & ~7;
drivers/net/ethernet/atheros/atlx/atl1.c
2723
adapter->hw.rx_jumbo_th = adapter->rx_buffer_len / 8;
drivers/net/ethernet/atheros/atlx/atl1.c
2727
atl1_down(adapter);
drivers/net/ethernet/atheros/atlx/atl1.c
2728
atl1_up(adapter);
drivers/net/ethernet/atheros/atlx/atl1.c
2748
struct atl1_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atlx/atl1.c
2754
err = atl1_setup_ring_resources(adapter);
drivers/net/ethernet/atheros/atlx/atl1.c
2758
err = atl1_up(adapter);
drivers/net/ethernet/atheros/atlx/atl1.c
2765
atl1_reset(adapter);
drivers/net/ethernet/atheros/atlx/atl1.c
2782
struct atl1_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atlx/atl1.c
2783
atl1_down(adapter);
drivers/net/ethernet/atheros/atlx/atl1.c
2784
atl1_free_ring_resources(adapter);
drivers/net/ethernet/atheros/atlx/atl1.c
2792
struct atl1_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atlx/atl1.c
2793
struct atl1_hw *hw = &adapter->hw;
drivers/net/ethernet/atheros/atlx/atl1.c
2795
u32 wufc = adapter->wol;
drivers/net/ethernet/atheros/atlx/atl1.c
2802
atl1_down(adapter);
drivers/net/ethernet/atheros/atlx/atl1.c
281
if (netif_msg_hw(adapter))
drivers/net/ethernet/atheros/atlx/atl1.c
2815
if (netif_msg_ifdown(adapter))
drivers/net/ethernet/atheros/atlx/atl1.c
2835
ctrl |= (((u32)adapter->hw.preamble_len &
drivers/net/ethernet/atheros/atlx/atl1.c
2874
struct atl1_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atlx/atl1.c
2876
iowrite32(0, adapter->hw.hw_addr + REG_WOL_CTRL);
drivers/net/ethernet/atheros/atlx/atl1.c
2878
atl1_reset_hw(&adapter->hw);
drivers/net/ethernet/atheros/atlx/atl1.c
2881
adapter->cmb.cmb->int_stats = 0;
drivers/net/ethernet/atheros/atlx/atl1.c
2882
atl1_up(adapter);
drivers/net/ethernet/atheros/atlx/atl1.c
2895
struct atl1_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atlx/atl1.c
2900
pci_wake_from_d3(pdev, adapter->wol);
drivers/net/ethernet/atheros/atlx/atl1.c
2944
struct atl1_adapter *adapter;
drivers/net/ethernet/atheros/atlx/atl1.c
2989
adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atlx/atl1.c
2990
adapter->netdev = netdev;
drivers/net/ethernet/atheros/atlx/atl1.c
2991
adapter->pdev = pdev;
drivers/net/ethernet/atheros/atlx/atl1.c
2992
adapter->hw.back = adapter;
drivers/net/ethernet/atheros/atlx/atl1.c
2993
adapter->msg_enable = netif_msg_init(debug, atl1_default_msg);
drivers/net/ethernet/atheros/atlx/atl1.c
2995
adapter->hw.hw_addr = pci_iomap(pdev, 0, 0);
drivers/net/ethernet/atheros/atlx/atl1.c
2996
if (!adapter->hw.hw_addr) {
drivers/net/ethernet/atheros/atlx/atl1.c
3001
adapter->hw.dev_rev = ioread16(adapter->hw.hw_addr +
drivers/net/ethernet/atheros/atlx/atl1.c
3005
adapter->rfd_ring.count = adapter->rrd_ring.count = ATL1_DEFAULT_RFD;
drivers/net/ethernet/atheros/atlx/atl1.c
3006
adapter->tpd_ring.count = ATL1_DEFAULT_TPD;
drivers/net/ethernet/atheros/atlx/atl1.c
3008
adapter->mii.dev = netdev;
drivers/net/ethernet/atheros/atlx/atl1.c
3009
adapter->mii.mdio_read = mdio_read;
drivers/net/ethernet/atheros/atlx/atl1.c
3010
adapter->mii.mdio_write = mdio_write;
drivers/net/ethernet/atheros/atlx/atl1.c
3011
adapter->mii.phy_id_mask = 0x1f;
drivers/net/ethernet/atheros/atlx/atl1.c
3012
adapter->mii.reg_num_mask = 0x1f;
drivers/net/ethernet/atheros/atlx/atl1.c
3016
netif_napi_add(netdev, &adapter->napi, atl1_rings_clean);
drivers/net/ethernet/atheros/atlx/atl1.c
3019
adapter->bd_number = cards_found;
drivers/net/ethernet/atheros/atlx/atl1.c
3022
err = atl1_sw_init(adapter);
drivers/net/ethernet/atheros/atlx/atl1.c
3049
iowrite16(0, adapter->hw.hw_addr + REG_PHY_ENABLE);
drivers/net/ethernet/atheros/atlx/atl1.c
3055
if (atl1_reset_hw(&adapter->hw)) {
drivers/net/ethernet/atheros/atlx/atl1.c
3061
if (atl1_read_mac_addr(&adapter->hw)) {
drivers/net/ethernet/atheros/atlx/atl1.c
3065
eth_hw_addr_set(netdev, adapter->hw.mac_addr);
drivers/net/ethernet/atheros/atlx/atl1.c
3072
atl1_check_options(adapter);
drivers/net/ethernet/atheros/atlx/atl1.c
3075
err = atl1_init_hw(&adapter->hw);
drivers/net/ethernet/atheros/atlx/atl1.c
3081
atl1_pcie_patch(adapter);
drivers/net/ethernet/atheros/atlx/atl1.c
3085
timer_setup(&adapter->phy_config_timer, atl1_phy_config, 0);
drivers/net/ethernet/atheros/atlx/atl1.c
3086
adapter->phy_timer_pending = false;
drivers/net/ethernet/atheros/atlx/atl1.c
3088
INIT_WORK(&adapter->reset_dev_task, atl1_reset_dev_task);
drivers/net/ethernet/atheros/atlx/atl1.c
3090
INIT_WORK(&adapter->link_chg_task, atlx_link_chg_task);
drivers/net/ethernet/atheros/atlx/atl1.c
3097
atl1_via_workaround(adapter);
drivers/net/ethernet/atheros/atlx/atl1.c
3101
pci_iounmap(pdev, adapter->hw.hw_addr);
drivers/net/ethernet/atheros/atlx/atl1.c
3124
struct atl1_adapter *adapter;
drivers/net/ethernet/atheros/atlx/atl1.c
3129
adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atlx/atl1.c
3136
if (!ether_addr_equal_unaligned(adapter->hw.mac_addr,
drivers/net/ethernet/atheros/atlx/atl1.c
3137
adapter->hw.perm_mac_addr)) {
drivers/net/ethernet/atheros/atlx/atl1.c
3138
memcpy(adapter->hw.mac_addr, adapter->hw.perm_mac_addr,
drivers/net/ethernet/atheros/atlx/atl1.c
3140
atl1_set_mac_addr(&adapter->hw);
drivers/net/ethernet/atheros/atlx/atl1.c
3143
iowrite16(0, adapter->hw.hw_addr + REG_PHY_ENABLE);
drivers/net/ethernet/atheros/atlx/atl1.c
3145
pci_iounmap(pdev, adapter->hw.hw_addr);
drivers/net/ethernet/atheros/atlx/atl1.c
3204
struct atl1_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atlx/atl1.c
3209
p = (char *)adapter+atl1_gstrings_stats[i].stat_offset;
drivers/net/ethernet/atheros/atlx/atl1.c
3229
struct atl1_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atlx/atl1.c
3230
struct atl1_hw *hw = &adapter->hw;
drivers/net/ethernet/atheros/atlx/atl1.c
3257
if (netif_carrier_ok(adapter->netdev)) {
drivers/net/ethernet/atheros/atlx/atl1.c
3286
struct atl1_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atlx/atl1.c
3287
struct atl1_hw *hw = &adapter->hw;
drivers/net/ethernet/atheros/atlx/atl1.c
3292
if (netif_running(adapter->netdev)) {
drivers/net/ethernet/atheros/atlx/atl1.c
3293
if (netif_msg_link(adapter))
drivers/net/ethernet/atheros/atlx/atl1.c
3294
dev_dbg(&adapter->pdev->dev,
drivers/net/ethernet/atheros/atlx/atl1.c
3296
atl1_down(adapter);
drivers/net/ethernet/atheros/atlx/atl1.c
3305
if (netif_msg_link(adapter))
drivers/net/ethernet/atheros/atlx/atl1.c
3306
dev_warn(&adapter->pdev->dev,
drivers/net/ethernet/atheros/atlx/atl1.c
3327
if (netif_msg_link(adapter))
drivers/net/ethernet/atheros/atlx/atl1.c
3328
dev_warn(&adapter->pdev->dev,
drivers/net/ethernet/atheros/atlx/atl1.c
3360
if (netif_running(adapter->netdev)) {
drivers/net/ethernet/atheros/atlx/atl1.c
3361
if (netif_msg_link(adapter))
drivers/net/ethernet/atheros/atlx/atl1.c
3362
dev_dbg(&adapter->pdev->dev,
drivers/net/ethernet/atheros/atlx/atl1.c
3364
atl1_up(adapter);
drivers/net/ethernet/atheros/atlx/atl1.c
3366
if (netif_msg_link(adapter))
drivers/net/ethernet/atheros/atlx/atl1.c
3367
dev_dbg(&adapter->pdev->dev,
drivers/net/ethernet/atheros/atlx/atl1.c
3369
atl1_reset(adapter);
drivers/net/ethernet/atheros/atlx/atl1.c
3377
struct atl1_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atlx/atl1.c
3380
strscpy(drvinfo->bus_info, pci_name(adapter->pdev),
drivers/net/ethernet/atheros/atlx/atl1.c
3387
struct atl1_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atlx/atl1.c
3391
if (adapter->wol & ATLX_WUFC_MAG)
drivers/net/ethernet/atheros/atlx/atl1.c
3398
struct atl1_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atlx/atl1.c
3403
adapter->wol = 0;
drivers/net/ethernet/atheros/atlx/atl1.c
3405
adapter->wol |= ATLX_WUFC_MAG;
drivers/net/ethernet/atheros/atlx/atl1.c
3407
device_set_wakeup_enable(&adapter->pdev->dev, adapter->wol);
drivers/net/ethernet/atheros/atlx/atl1.c
3414
struct atl1_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atlx/atl1.c
3415
return adapter->msg_enable;
drivers/net/ethernet/atheros/atlx/atl1.c
3420
struct atl1_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atlx/atl1.c
3421
adapter->msg_enable = value;
drivers/net/ethernet/atheros/atlx/atl1.c
3432
struct atl1_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atlx/atl1.c
3433
struct atl1_hw *hw = &adapter->hw;
drivers/net/ethernet/atheros/atlx/atl1.c
3480
struct atl1_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atlx/atl1.c
3481
struct atl1_tpd_ring *txdr = &adapter->tpd_ring;
drivers/net/ethernet/atheros/atlx/atl1.c
3482
struct atl1_rfd_ring *rxdr = &adapter->rfd_ring;
drivers/net/ethernet/atheros/atlx/atl1.c
3495
struct atl1_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atlx/atl1.c
3496
struct atl1_tpd_ring *tpdr = &adapter->tpd_ring;
drivers/net/ethernet/atheros/atlx/atl1.c
3497
struct atl1_rrd_ring *rrdr = &adapter->rrd_ring;
drivers/net/ethernet/atheros/atlx/atl1.c
3498
struct atl1_rfd_ring *rfdr = &adapter->rfd_ring;
drivers/net/ethernet/atheros/atlx/atl1.c
3508
tpd_old = adapter->tpd_ring;
drivers/net/ethernet/atheros/atlx/atl1.c
3509
rfd_old = adapter->rfd_ring;
drivers/net/ethernet/atheros/atlx/atl1.c
3510
rrd_old = adapter->rrd_ring;
drivers/net/ethernet/atheros/atlx/atl1.c
3511
rhdr_old = adapter->ring_header;
drivers/net/ethernet/atheros/atlx/atl1.c
3513
if (netif_running(adapter->netdev))
drivers/net/ethernet/atheros/atlx/atl1.c
3514
atl1_down(adapter);
drivers/net/ethernet/atheros/atlx/atl1.c
3527
if (netif_running(adapter->netdev)) {
drivers/net/ethernet/atheros/atlx/atl1.c
3529
err = atl1_setup_ring_resources(adapter);
drivers/net/ethernet/atheros/atlx/atl1.c
3538
rfd_new = adapter->rfd_ring;
drivers/net/ethernet/atheros/atlx/atl1.c
3539
rrd_new = adapter->rrd_ring;
drivers/net/ethernet/atheros/atlx/atl1.c
3540
tpd_new = adapter->tpd_ring;
drivers/net/ethernet/atheros/atlx/atl1.c
3541
rhdr_new = adapter->ring_header;
drivers/net/ethernet/atheros/atlx/atl1.c
3542
adapter->rfd_ring = rfd_old;
drivers/net/ethernet/atheros/atlx/atl1.c
3543
adapter->rrd_ring = rrd_old;
drivers/net/ethernet/atheros/atlx/atl1.c
3544
adapter->tpd_ring = tpd_old;
drivers/net/ethernet/atheros/atlx/atl1.c
3545
adapter->ring_header = rhdr_old;
drivers/net/ethernet/atheros/atlx/atl1.c
3550
smb = adapter->smb;
drivers/net/ethernet/atheros/atlx/atl1.c
3551
cmb = adapter->cmb;
drivers/net/ethernet/atheros/atlx/atl1.c
3552
atl1_free_ring_resources(adapter);
drivers/net/ethernet/atheros/atlx/atl1.c
3553
adapter->rfd_ring = rfd_new;
drivers/net/ethernet/atheros/atlx/atl1.c
3554
adapter->rrd_ring = rrd_new;
drivers/net/ethernet/atheros/atlx/atl1.c
3555
adapter->tpd_ring = tpd_new;
drivers/net/ethernet/atheros/atlx/atl1.c
3556
adapter->ring_header = rhdr_new;
drivers/net/ethernet/atheros/atlx/atl1.c
3557
adapter->smb = smb;
drivers/net/ethernet/atheros/atlx/atl1.c
3558
adapter->cmb = cmb;
drivers/net/ethernet/atheros/atlx/atl1.c
3560
err = atl1_up(adapter);
drivers/net/ethernet/atheros/atlx/atl1.c
3567
adapter->rfd_ring = rfd_old;
drivers/net/ethernet/atheros/atlx/atl1.c
3568
adapter->rrd_ring = rrd_old;
drivers/net/ethernet/atheros/atlx/atl1.c
3569
adapter->tpd_ring = tpd_old;
drivers/net/ethernet/atheros/atlx/atl1.c
3570
adapter->ring_header = rhdr_old;
drivers/net/ethernet/atheros/atlx/atl1.c
3571
atl1_up(adapter);
drivers/net/ethernet/atheros/atlx/atl1.c
3578
struct atl1_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atlx/atl1.c
3579
struct atl1_hw *hw = &adapter->hw;
drivers/net/ethernet/atheros/atlx/atl1.c
3594
struct atl1_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atlx/atl1.c
3595
struct atl1_hw *hw = &adapter->hw;
drivers/net/ethernet/atheros/atlx/atl1.c
3629
struct atl1_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atlx/atl1.c
3630
struct atl1_hw *hw = &adapter->hw;
drivers/net/ethernet/atheros/atlx/atl1.c
3634
atl1_down(adapter);
drivers/net/ethernet/atheros/atlx/atl1.c
3658
atl1_up(adapter);
drivers/net/ethernet/atheros/atlx/atl1.c
636
struct atl1_adapter *adapter = hw->back;
drivers/net/ethernet/atheros/atlx/atl1.c
669
if (netif_msg_hw(adapter))
drivers/net/ethernet/atheros/atlx/atl1.c
680
if (netif_msg_hw(adapter))
drivers/net/ethernet/atheros/atlx/atl1.c
773
struct atl1_adapter *adapter = hw->back;
drivers/net/ethernet/atheros/atlx/atl1.c
784
if (netif_msg_link(adapter))
drivers/net/ethernet/atheros/atlx/atl1.c
792
if (netif_msg_link(adapter))
drivers/net/ethernet/atheros/atlx/atl1.c
868
struct atl1_adapter *adapter = hw->back;
drivers/net/ethernet/atheros/atlx/atl1.c
891
if (netif_msg_hw(adapter))
drivers/net/ethernet/atheros/atlx/atl1.c
928
static int atl1_sw_init(struct atl1_adapter *adapter)
drivers/net/ethernet/atheros/atlx/atl1.c
930
struct atl1_hw *hw = &adapter->hw;
drivers/net/ethernet/atheros/atlx/atl1.c
931
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/atheros/atlx/atl1.c
936
adapter->wol = 0;
drivers/net/ethernet/atheros/atlx/atl1.c
937
device_set_wakeup_enable(&adapter->pdev->dev, false);
drivers/net/ethernet/atheros/atlx/atl1.c
938
adapter->rx_buffer_len = (hw->max_frame_size + 7) & ~7;
drivers/net/ethernet/atheros/atlx/atl1.c
939
adapter->ict = 50000; /* 100ms */
drivers/net/ethernet/atheros/atlx/atl1.c
940
adapter->link_speed = SPEED_0; /* hardware init */
drivers/net/ethernet/atheros/atlx/atl1.c
941
adapter->link_duplex = FULL_DUPLEX;
drivers/net/ethernet/atheros/atlx/atl1.c
955
hw->rx_jumbo_th = adapter->rx_buffer_len / 8;
drivers/net/ethernet/atheros/atlx/atl1.c
973
spin_lock_init(&adapter->lock);
drivers/net/ethernet/atheros/atlx/atl1.c
974
spin_lock_init(&adapter->mb_lock);
drivers/net/ethernet/atheros/atlx/atl1.c
981
struct atl1_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atlx/atl1.c
984
atl1_read_phy_reg(&adapter->hw, reg_num & 0x1f, &result);
drivers/net/ethernet/atheros/atlx/atl1.c
992
struct atl1_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atlx/atl1.c
994
atl1_write_phy_reg(&adapter->hw, reg_num, val);
drivers/net/ethernet/atheros/atlx/atl1.c
999
struct atl1_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atlx/atl1.h
51
static u32 atl1_check_link(struct atl1_adapter *adapter);
drivers/net/ethernet/atheros/atlx/atl2.c
1001
struct atl2_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atlx/atl2.c
1004
schedule_work(&adapter->reset_task);
drivers/net/ethernet/atheros/atlx/atl2.c
101
set_bit(__ATL2_DOWN, &adapter->flags);
drivers/net/ethernet/atheros/atlx/atl2.c
1013
struct atl2_adapter *adapter = timer_container_of(adapter, t,
drivers/net/ethernet/atheros/atlx/atl2.c
1016
if (!test_bit(__ATL2_DOWN, &adapter->flags)) {
drivers/net/ethernet/atheros/atlx/atl2.c
1020
spin_lock_irqsave(&adapter->stats_lock, flags);
drivers/net/ethernet/atheros/atlx/atl2.c
1021
drop_rxd = ATL2_READ_REG(&adapter->hw, REG_STS_RXD_OV);
drivers/net/ethernet/atheros/atlx/atl2.c
1022
drop_rxs = ATL2_READ_REG(&adapter->hw, REG_STS_RXS_OV);
drivers/net/ethernet/atheros/atlx/atl2.c
1023
spin_unlock_irqrestore(&adapter->stats_lock, flags);
drivers/net/ethernet/atheros/atlx/atl2.c
1025
adapter->netdev->stats.rx_over_errors += drop_rxd + drop_rxs;
drivers/net/ethernet/atheros/atlx/atl2.c
1028
mod_timer(&adapter->watchdog_timer,
drivers/net/ethernet/atheros/atlx/atl2.c
1039
struct atl2_adapter *adapter = timer_container_of(adapter, t,
drivers/net/ethernet/atheros/atlx/atl2.c
1041
struct atl2_hw *hw = &adapter->hw;
drivers/net/ethernet/atheros/atlx/atl2.c
1044
spin_lock_irqsave(&adapter->stats_lock, flags);
drivers/net/ethernet/atheros/atlx/atl2.c
1048
spin_unlock_irqrestore(&adapter->stats_lock, flags);
drivers/net/ethernet/atheros/atlx/atl2.c
1049
clear_bit(0, &adapter->cfg_phy);
drivers/net/ethernet/atheros/atlx/atl2.c
1052
static int atl2_up(struct atl2_adapter *adapter)
drivers/net/ethernet/atheros/atlx/atl2.c
1054
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/atheros/atlx/atl2.c
1060
err = atl2_init_hw(&adapter->hw);
drivers/net/ethernet/atheros/atlx/atl2.c
1067
init_ring_ptrs(adapter);
drivers/net/ethernet/atheros/atlx/atl2.c
1069
atl2_restore_vlan(adapter);
drivers/net/ethernet/atheros/atlx/atl2.c
1071
if (atl2_configure(adapter)) {
drivers/net/ethernet/atheros/atlx/atl2.c
1076
clear_bit(__ATL2_DOWN, &adapter->flags);
drivers/net/ethernet/atheros/atlx/atl2.c
1078
val = ATL2_READ_REG(&adapter->hw, REG_MASTER_CTRL);
drivers/net/ethernet/atheros/atlx/atl2.c
1079
ATL2_WRITE_REG(&adapter->hw, REG_MASTER_CTRL, val |
drivers/net/ethernet/atheros/atlx/atl2.c
1082
atl2_irq_enable(adapter);
drivers/net/ethernet/atheros/atlx/atl2.c
1088
static void atl2_reinit_locked(struct atl2_adapter *adapter)
drivers/net/ethernet/atheros/atlx/atl2.c
1090
while (test_and_set_bit(__ATL2_RESETTING, &adapter->flags))
drivers/net/ethernet/atheros/atlx/atl2.c
1092
atl2_down(adapter);
drivers/net/ethernet/atheros/atlx/atl2.c
1093
atl2_up(adapter);
drivers/net/ethernet/atheros/atlx/atl2.c
1094
clear_bit(__ATL2_RESETTING, &adapter->flags);
drivers/net/ethernet/atheros/atlx/atl2.c
1099
struct atl2_adapter *adapter;
drivers/net/ethernet/atheros/atlx/atl2.c
1100
adapter = container_of(work, struct atl2_adapter, reset_task);
drivers/net/ethernet/atheros/atlx/atl2.c
1102
atl2_reinit_locked(adapter);
drivers/net/ethernet/atheros/atlx/atl2.c
1105
static void atl2_setup_mac_ctrl(struct atl2_adapter *adapter)
drivers/net/ethernet/atheros/atlx/atl2.c
1108
struct atl2_hw *hw = &adapter->hw;
drivers/net/ethernet/atheros/atlx/atl2.c
1109
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/atheros/atlx/atl2.c
1115
if (FULL_DUPLEX == adapter->link_duplex)
drivers/net/ethernet/atheros/atlx/atl2.c
1125
value |= (((u32)adapter->hw.preamble_len & MAC_CTRL_PRMLEN_MASK) <<
drivers/net/ethernet/atheros/atlx/atl2.c
1139
value |= (((u32)(adapter->hw.retry_buf &
drivers/net/ethernet/atheros/atlx/atl2.c
1145
static int atl2_check_link(struct atl2_adapter *adapter)
drivers/net/ethernet/atheros/atlx/atl2.c
1147
struct atl2_hw *hw = &adapter->hw;
drivers/net/ethernet/atheros/atlx/atl2.c
1148
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/atheros/atlx/atl2.c
1163
adapter->link_speed = SPEED_0;
drivers/net/ethernet/atheros/atlx/atl2.c
117
struct atl2_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atlx/atl2.c
118
struct atl2_hw *hw = &adapter->hw;
drivers/net/ethernet/atheros/atlx/atl2.c
1194
if (adapter->link_speed != speed ||
drivers/net/ethernet/atheros/atlx/atl2.c
1195
adapter->link_duplex != duplex) {
drivers/net/ethernet/atheros/atlx/atl2.c
1196
adapter->link_speed = speed;
drivers/net/ethernet/atheros/atlx/atl2.c
1197
adapter->link_duplex = duplex;
drivers/net/ethernet/atheros/atlx/atl2.c
1198
atl2_setup_mac_ctrl(adapter);
drivers/net/ethernet/atheros/atlx/atl2.c
1201
adapter->link_speed,
drivers/net/ethernet/atheros/atlx/atl2.c
1202
adapter->link_duplex == FULL_DUPLEX ?
drivers/net/ethernet/atheros/atlx/atl2.c
1221
adapter->link_speed = SPEED_0;
drivers/net/ethernet/atheros/atlx/atl2.c
1228
if (!test_bit(__ATL2_DOWN, &adapter->flags)) {
drivers/net/ethernet/atheros/atlx/atl2.c
1229
if (!test_and_set_bit(0, &adapter->cfg_phy))
drivers/net/ethernet/atheros/atlx/atl2.c
1230
mod_timer(&adapter->phy_config_timer,
drivers/net/ethernet/atheros/atlx/atl2.c
1243
struct atl2_adapter *adapter;
drivers/net/ethernet/atheros/atlx/atl2.c
1246
adapter = container_of(work, struct atl2_adapter, link_chg_task);
drivers/net/ethernet/atheros/atlx/atl2.c
1248
spin_lock_irqsave(&adapter->stats_lock, flags);
drivers/net/ethernet/atheros/atlx/atl2.c
1249
atl2_check_link(adapter);
drivers/net/ethernet/atheros/atlx/atl2.c
1250
spin_unlock_irqrestore(&adapter->stats_lock, flags);
drivers/net/ethernet/atheros/atlx/atl2.c
1318
struct atl2_adapter *adapter;
drivers/net/ethernet/atheros/atlx/atl2.c
1359
adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atlx/atl2.c
1360
adapter->netdev = netdev;
drivers/net/ethernet/atheros/atlx/atl2.c
1361
adapter->pdev = pdev;
drivers/net/ethernet/atheros/atlx/atl2.c
1362
adapter->hw.back = adapter;
drivers/net/ethernet/atheros/atlx/atl2.c
1367
adapter->hw.mem_rang = (u32)mmio_len;
drivers/net/ethernet/atheros/atlx/atl2.c
1368
adapter->hw.hw_addr = ioremap(mmio_start, mmio_len);
drivers/net/ethernet/atheros/atlx/atl2.c
1369
if (!adapter->hw.hw_addr) {
drivers/net/ethernet/atheros/atlx/atl2.c
1385
adapter->bd_number = cards_found;
drivers/net/ethernet/atheros/atlx/atl2.c
1386
adapter->pci_using_64 = false;
drivers/net/ethernet/atheros/atlx/atl2.c
1389
err = atl2_sw_init(adapter);
drivers/net/ethernet/atheros/atlx/atl2.c
1397
atl2_phy_init(&adapter->hw);
drivers/net/ethernet/atheros/atlx/atl2.c
1402
if (atl2_reset_hw(&adapter->hw)) {
drivers/net/ethernet/atheros/atlx/atl2.c
1408
atl2_read_mac_addr(&adapter->hw);
drivers/net/ethernet/atheros/atlx/atl2.c
1409
eth_hw_addr_set(netdev, adapter->hw.mac_addr);
drivers/net/ethernet/atheros/atlx/atl2.c
1415
atl2_check_options(adapter);
drivers/net/ethernet/atheros/atlx/atl2.c
1417
timer_setup(&adapter->watchdog_timer, atl2_watchdog, 0);
drivers/net/ethernet/atheros/atlx/atl2.c
1419
timer_setup(&adapter->phy_config_timer, atl2_phy_config, 0);
drivers/net/ethernet/atheros/atlx/atl2.c
1421
INIT_WORK(&adapter->reset_task, atl2_reset_task);
drivers/net/ethernet/atheros/atlx/atl2.c
1422
INIT_WORK(&adapter->link_chg_task, atl2_link_chg_task);
drivers/net/ethernet/atheros/atlx/atl2.c
1441
iounmap(adapter->hw.hw_addr);
drivers/net/ethernet/atheros/atlx/atl2.c
1466
struct atl2_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atlx/atl2.c
147
static void init_ring_ptrs(struct atl2_adapter *adapter)
drivers/net/ethernet/atheros/atlx/atl2.c
1470
set_bit(__ATL2_DOWN, &adapter->flags);
drivers/net/ethernet/atheros/atlx/atl2.c
1472
timer_delete_sync(&adapter->watchdog_timer);
drivers/net/ethernet/atheros/atlx/atl2.c
1473
timer_delete_sync(&adapter->phy_config_timer);
drivers/net/ethernet/atheros/atlx/atl2.c
1474
cancel_work_sync(&adapter->reset_task);
drivers/net/ethernet/atheros/atlx/atl2.c
1475
cancel_work_sync(&adapter->link_chg_task);
drivers/net/ethernet/atheros/atlx/atl2.c
1479
atl2_force_ps(&adapter->hw);
drivers/net/ethernet/atheros/atlx/atl2.c
1481
iounmap(adapter->hw.hw_addr);
drivers/net/ethernet/atheros/atlx/atl2.c
1492
struct atl2_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atlx/atl2.c
1493
struct atl2_hw *hw = &adapter->hw;
drivers/net/ethernet/atheros/atlx/atl2.c
1496
u32 wufc = adapter->wol;
drivers/net/ethernet/atheros/atlx/atl2.c
150
adapter->txd_write_ptr = 0;
drivers/net/ethernet/atheros/atlx/atl2.c
1505
WARN_ON(test_bit(__ATL2_RESETTING, &adapter->flags));
drivers/net/ethernet/atheros/atlx/atl2.c
1506
atl2_down(adapter);
drivers/net/ethernet/atheros/atlx/atl2.c
151
atomic_set(&adapter->txd_read_ptr, 0);
drivers/net/ethernet/atheros/atlx/atl2.c
153
adapter->rxd_read_ptr = 0;
drivers/net/ethernet/atheros/atlx/atl2.c
154
adapter->rxd_write_ptr = 0;
drivers/net/ethernet/atheros/atlx/atl2.c
1542
if (FULL_DUPLEX == adapter->link_duplex)
drivers/net/ethernet/atheros/atlx/atl2.c
1545
ctrl |= (((u32)adapter->hw.preamble_len &
drivers/net/ethernet/atheros/atlx/atl2.c
1547
ctrl |= (((u32)(adapter->hw.retry_buf &
drivers/net/ethernet/atheros/atlx/atl2.c
156
atomic_set(&adapter->txs_write_ptr, 0);
drivers/net/ethernet/atheros/atlx/atl2.c
157
adapter->txs_next_clear = 0;
drivers/net/ethernet/atheros/atlx/atl2.c
1609
atl2_free_irq(adapter);
drivers/net/ethernet/atheros/atlx/atl2.c
1622
struct atl2_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atlx/atl2.c
1637
ATL2_READ_REG(&adapter->hw, REG_WOL_CTRL); /* clear WOL status */
drivers/net/ethernet/atheros/atlx/atl2.c
1642
ATL2_WRITE_REG(&adapter->hw, REG_WOL_CTRL, 0);
drivers/net/ethernet/atheros/atlx/atl2.c
1645
err = atl2_request_irq(adapter);
drivers/net/ethernet/atheros/atlx/atl2.c
1650
atl2_reset_hw(&adapter->hw);
drivers/net/ethernet/atheros/atlx/atl2.c
1653
atl2_up(adapter);
drivers/net/ethernet/atheros/atlx/atl2.c
166
static int atl2_configure(struct atl2_adapter *adapter)
drivers/net/ethernet/atheros/atlx/atl2.c
168
struct atl2_hw *hw = &adapter->hw;
drivers/net/ethernet/atheros/atlx/atl2.c
1683
struct atl2_adapter *adapter = hw->back;
drivers/net/ethernet/atheros/atlx/atl2.c
1684
pci_read_config_word(adapter->pdev, reg, value);
drivers/net/ethernet/atheros/atlx/atl2.c
1689
struct atl2_adapter *adapter = hw->back;
drivers/net/ethernet/atheros/atlx/atl2.c
1690
pci_write_config_word(adapter->pdev, reg, *value);
drivers/net/ethernet/atheros/atlx/atl2.c
1696
struct atl2_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atlx/atl2.c
1697
struct atl2_hw *hw = &adapter->hw;
drivers/net/ethernet/atheros/atlx/atl2.c
1714
if (adapter->link_speed != SPEED_0) {
drivers/net/ethernet/atheros/atlx/atl2.c
1715
cmd->base.speed = adapter->link_speed;
drivers/net/ethernet/atheros/atlx/atl2.c
1716
if (adapter->link_duplex == FULL_DUPLEX)
drivers/net/ethernet/atheros/atlx/atl2.c
172
ATL2_WRITE_REG(&adapter->hw, REG_ISR, 0xffffffff);
drivers/net/ethernet/atheros/atlx/atl2.c
1738
struct atl2_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atlx/atl2.c
1739
struct atl2_hw *hw = &adapter->hw;
drivers/net/ethernet/atheros/atlx/atl2.c
1745
while (test_and_set_bit(__ATL2_RESETTING, &adapter->flags))
drivers/net/ethernet/atheros/atlx/atl2.c
1770
clear_bit(__ATL2_RESETTING, &adapter->flags);
drivers/net/ethernet/atheros/atlx/atl2.c
1776
clear_bit(__ATL2_RESETTING, &adapter->flags);
drivers/net/ethernet/atheros/atlx/atl2.c
1781
if (netif_running(adapter->netdev)) {
drivers/net/ethernet/atheros/atlx/atl2.c
1782
atl2_down(adapter);
drivers/net/ethernet/atheros/atlx/atl2.c
1783
atl2_up(adapter);
drivers/net/ethernet/atheros/atlx/atl2.c
1785
atl2_reset_hw(&adapter->hw);
drivers/net/ethernet/atheros/atlx/atl2.c
1787
clear_bit(__ATL2_RESETTING, &adapter->flags);
drivers/net/ethernet/atheros/atlx/atl2.c
1812
struct atl2_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atlx/atl2.c
1813
struct atl2_hw *hw = &adapter->hw;
drivers/net/ethernet/atheros/atlx/atl2.c
186
(u32)((adapter->ring_dma & 0xffffffff00000000ULL) >> 32));
drivers/net/ethernet/atheros/atlx/atl2.c
1869
struct atl2_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atlx/atl2.c
1871
if (!atl2_check_eeprom_exist(&adapter->hw))
drivers/net/ethernet/atheros/atlx/atl2.c
1880
struct atl2_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atlx/atl2.c
1881
struct atl2_hw *hw = &adapter->hw;
drivers/net/ethernet/atheros/atlx/atl2.c
190
(u32)(adapter->txd_dma & 0x00000000ffffffffULL));
drivers/net/ethernet/atheros/atlx/atl2.c
192
(u32)(adapter->txs_dma & 0x00000000ffffffffULL));
drivers/net/ethernet/atheros/atlx/atl2.c
1921
struct atl2_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atlx/atl2.c
1922
struct atl2_hw *hw = &adapter->hw;
drivers/net/ethernet/atheros/atlx/atl2.c
194
(u32)(adapter->rxd_dma & 0x00000000ffffffffULL));
drivers/net/ethernet/atheros/atlx/atl2.c
197
ATL2_WRITE_REGW(hw, REG_TXD_MEM_SIZE, (u16)(adapter->txd_ring_size/4));
drivers/net/ethernet/atheros/atlx/atl2.c
198
ATL2_WRITE_REGW(hw, REG_TXS_MEM_SIZE, (u16)adapter->txs_ring_size);
drivers/net/ethernet/atheros/atlx/atl2.c
1982
struct atl2_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atlx/atl2.c
1986
strscpy(drvinfo->bus_info, pci_name(adapter->pdev),
drivers/net/ethernet/atheros/atlx/atl2.c
199
ATL2_WRITE_REGW(hw, REG_RXD_BUF_NUM, (u16)adapter->rxd_ring_size);
drivers/net/ethernet/atheros/atlx/atl2.c
1993
struct atl2_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atlx/atl2.c
1998
if (adapter->wol & ATLX_WUFC_EX)
drivers/net/ethernet/atheros/atlx/atl2.c
2000
if (adapter->wol & ATLX_WUFC_MC)
drivers/net/ethernet/atheros/atlx/atl2.c
2002
if (adapter->wol & ATLX_WUFC_BC)
drivers/net/ethernet/atheros/atlx/atl2.c
2004
if (adapter->wol & ATLX_WUFC_MAG)
drivers/net/ethernet/atheros/atlx/atl2.c
2006
if (adapter->wol & ATLX_WUFC_LNKC)
drivers/net/ethernet/atheros/atlx/atl2.c
2012
struct atl2_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atlx/atl2.c
2021
adapter->wol = 0;
drivers/net/ethernet/atheros/atlx/atl2.c
2024
adapter->wol |= ATLX_WUFC_MAG;
drivers/net/ethernet/atheros/atlx/atl2.c
2026
adapter->wol |= ATLX_WUFC_LNKC;
drivers/net/ethernet/atheros/atlx/atl2.c
2033
struct atl2_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atlx/atl2.c
2035
atl2_reinit_locked(adapter);
drivers/net/ethernet/atheros/atlx/atl2.c
229
ATL2_WRITE_REGW(hw, REG_IRQ_MODU_TIMER_INIT, adapter->imt);
drivers/net/ethernet/atheros/atlx/atl2.c
233
ATL2_WRITE_REGW(hw, REG_CMBDISDMA_TIMER, adapter->ict);
drivers/net/ethernet/atheros/atlx/atl2.c
236
ATL2_WRITE_REG(hw, REG_MTU, adapter->netdev->mtu +
drivers/net/ethernet/atheros/atlx/atl2.c
247
ATL2_WRITE_REGW(hw, REG_MB_TXD_WR_IDX, (u16)adapter->txd_write_ptr);
drivers/net/ethernet/atheros/atlx/atl2.c
248
ATL2_WRITE_REGW(hw, REG_MB_RXD_RD_IDX, (u16)adapter->rxd_read_ptr);
drivers/net/ethernet/atheros/atlx/atl2.c
254
value = ATL2_READ_REG(&adapter->hw, REG_ISR);
drivers/net/ethernet/atheros/atlx/atl2.c
261
ATL2_WRITE_REG(&adapter->hw, REG_ISR, 0x3fffffff);
drivers/net/ethernet/atheros/atlx/atl2.c
262
ATL2_WRITE_REG(&adapter->hw, REG_ISR, 0);
drivers/net/ethernet/atheros/atlx/atl2.c
272
static s32 atl2_setup_ring_resources(struct atl2_adapter *adapter)
drivers/net/ethernet/atheros/atlx/atl2.c
274
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/atheros/atlx/atl2.c
279
adapter->ring_size = size =
drivers/net/ethernet/atheros/atlx/atl2.c
280
adapter->txd_ring_size * 1 + 7 + /* dword align */
drivers/net/ethernet/atheros/atlx/atl2.c
281
adapter->txs_ring_size * 4 + 7 + /* dword align */
drivers/net/ethernet/atheros/atlx/atl2.c
282
adapter->rxd_ring_size * 1536 + 127; /* 128bytes align */
drivers/net/ethernet/atheros/atlx/atl2.c
284
adapter->ring_vir_addr = dma_alloc_coherent(&pdev->dev, size,
drivers/net/ethernet/atheros/atlx/atl2.c
285
&adapter->ring_dma, GFP_KERNEL);
drivers/net/ethernet/atheros/atlx/atl2.c
286
if (!adapter->ring_vir_addr)
drivers/net/ethernet/atheros/atlx/atl2.c
290
adapter->txd_dma = adapter->ring_dma ;
drivers/net/ethernet/atheros/atlx/atl2.c
291
offset = (adapter->txd_dma & 0x7) ? (8 - (adapter->txd_dma & 0x7)) : 0;
drivers/net/ethernet/atheros/atlx/atl2.c
2918
static void atl2_check_options(struct atl2_adapter *adapter)
drivers/net/ethernet/atheros/atlx/atl2.c
292
adapter->txd_dma += offset;
drivers/net/ethernet/atheros/atlx/atl2.c
2922
int bd = adapter->bd_number;
drivers/net/ethernet/atheros/atlx/atl2.c
293
adapter->txd_ring = adapter->ring_vir_addr + offset;
drivers/net/ethernet/atheros/atlx/atl2.c
2944
adapter->txd_ring_size = ((u32) val) * 1024;
drivers/net/ethernet/atheros/atlx/atl2.c
2947
adapter->txd_ring_size = ((u32)opt.def) * 1024;
drivers/net/ethernet/atheros/atlx/atl2.c
2950
adapter->txs_ring_size = adapter->txd_ring_size / 128;
drivers/net/ethernet/atheros/atlx/atl2.c
2951
if (adapter->txs_ring_size > 160)
drivers/net/ethernet/atheros/atlx/atl2.c
2952
adapter->txs_ring_size = 160;
drivers/net/ethernet/atheros/atlx/atl2.c
296
adapter->txs_dma = adapter->txd_dma + adapter->txd_ring_size;
drivers/net/ethernet/atheros/atlx/atl2.c
2966
adapter->rxd_ring_size = (u32)val;
drivers/net/ethernet/atheros/atlx/atl2.c
297
offset = (adapter->txs_dma & 0x7) ? (8 - (adapter->txs_dma & 0x7)) : 0;
drivers/net/ethernet/atheros/atlx/atl2.c
2971
adapter->rxd_ring_size = (u32)opt.def;
drivers/net/ethernet/atheros/atlx/atl2.c
2974
adapter->hw.fc_rxd_hi = (adapter->rxd_ring_size / 8) * 7;
drivers/net/ethernet/atheros/atlx/atl2.c
2975
adapter->hw.fc_rxd_lo = (ATL2_MIN_RXD_COUNT / 8) >
drivers/net/ethernet/atheros/atlx/atl2.c
2976
(adapter->rxd_ring_size / 12) ? (ATL2_MIN_RXD_COUNT / 8) :
drivers/net/ethernet/atheros/atlx/atl2.c
2977
(adapter->rxd_ring_size / 12);
drivers/net/ethernet/atheros/atlx/atl2.c
298
adapter->txs_dma += offset;
drivers/net/ethernet/atheros/atlx/atl2.c
299
adapter->txs_ring = (struct tx_pkt_status *)
drivers/net/ethernet/atheros/atlx/atl2.c
2991
adapter->imt = (u16) val;
drivers/net/ethernet/atheros/atlx/atl2.c
2994
adapter->imt = (u16)(opt.def);
drivers/net/ethernet/atheros/atlx/atl2.c
300
(((u8 *)adapter->txd_ring) + (adapter->txd_ring_size + offset));
drivers/net/ethernet/atheros/atlx/atl2.c
3008
adapter->hw.flash_vendor = (u8) val;
drivers/net/ethernet/atheros/atlx/atl2.c
3011
adapter->hw.flash_vendor = (u8)(opt.def);
drivers/net/ethernet/atheros/atlx/atl2.c
3025
adapter->hw.MediaType = (u16) val;
drivers/net/ethernet/atheros/atlx/atl2.c
3028
adapter->hw.MediaType = (u16)(opt.def);
drivers/net/ethernet/atheros/atlx/atl2.c
303
adapter->rxd_dma = adapter->txs_dma + adapter->txs_ring_size * 4;
drivers/net/ethernet/atheros/atlx/atl2.c
304
offset = (adapter->rxd_dma & 127) ?
drivers/net/ethernet/atheros/atlx/atl2.c
305
(128 - (adapter->rxd_dma & 127)) : 0;
drivers/net/ethernet/atheros/atlx/atl2.c
311
adapter->rxd_dma += offset;
drivers/net/ethernet/atheros/atlx/atl2.c
312
adapter->rxd_ring = (struct rx_desc *) (((u8 *)adapter->txs_ring) +
drivers/net/ethernet/atheros/atlx/atl2.c
313
(adapter->txs_ring_size * 4 + offset));
drivers/net/ethernet/atheros/atlx/atl2.c
326
static inline void atl2_irq_enable(struct atl2_adapter *adapter)
drivers/net/ethernet/atheros/atlx/atl2.c
328
ATL2_WRITE_REG(&adapter->hw, REG_IMR, IMR_NORMAL_MASK);
drivers/net/ethernet/atheros/atlx/atl2.c
329
ATL2_WRITE_FLUSH(&adapter->hw);
drivers/net/ethernet/atheros/atlx/atl2.c
336
static inline void atl2_irq_disable(struct atl2_adapter *adapter)
drivers/net/ethernet/atheros/atlx/atl2.c
338
ATL2_WRITE_REG(&adapter->hw, REG_IMR, 0);
drivers/net/ethernet/atheros/atlx/atl2.c
339
ATL2_WRITE_FLUSH(&adapter->hw);
drivers/net/ethernet/atheros/atlx/atl2.c
340
synchronize_irq(adapter->pdev->irq);
drivers/net/ethernet/atheros/atlx/atl2.c
357
struct atl2_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atlx/atl2.c
360
atl2_irq_disable(adapter);
drivers/net/ethernet/atheros/atlx/atl2.c
362
ctrl = ATL2_READ_REG(&adapter->hw, REG_MAC_CTRL);
drivers/net/ethernet/atheros/atlx/atl2.c
364
ATL2_WRITE_REG(&adapter->hw, REG_MAC_CTRL, ctrl);
drivers/net/ethernet/atheros/atlx/atl2.c
366
atl2_irq_enable(adapter);
drivers/net/ethernet/atheros/atlx/atl2.c
369
static void atl2_restore_vlan(struct atl2_adapter *adapter)
drivers/net/ethernet/atheros/atlx/atl2.c
371
atl2_vlan_mode(adapter->netdev, adapter->netdev->features);
drivers/net/ethernet/atheros/atlx/atl2.c
400
static void atl2_intr_rx(struct atl2_adapter *adapter)
drivers/net/ethernet/atheros/atlx/atl2.c
402
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/atheros/atlx/atl2.c
407
rxd = adapter->rxd_ring+adapter->rxd_write_ptr;
drivers/net/ethernet/atheros/atlx/atl2.c
453
if (++adapter->rxd_write_ptr == adapter->rxd_ring_size)
drivers/net/ethernet/atheros/atlx/atl2.c
454
adapter->rxd_write_ptr = 0;
drivers/net/ethernet/atheros/atlx/atl2.c
458
adapter->rxd_read_ptr = adapter->rxd_write_ptr;
drivers/net/ethernet/atheros/atlx/atl2.c
459
ATL2_WRITE_REGW(&adapter->hw, REG_MB_RXD_RD_IDX, adapter->rxd_read_ptr);
drivers/net/ethernet/atheros/atlx/atl2.c
462
static void atl2_intr_tx(struct atl2_adapter *adapter)
drivers/net/ethernet/atheros/atlx/atl2.c
464
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/atheros/atlx/atl2.c
472
txs_write_ptr = (u32) atomic_read(&adapter->txs_write_ptr);
drivers/net/ethernet/atheros/atlx/atl2.c
473
txs = adapter->txs_ring + txs_write_ptr;
drivers/net/ethernet/atheros/atlx/atl2.c
480
if (++txs_write_ptr == adapter->txs_ring_size)
drivers/net/ethernet/atheros/atlx/atl2.c
482
atomic_set(&adapter->txs_write_ptr, (int)txs_write_ptr);
drivers/net/ethernet/atheros/atlx/atl2.c
484
txd_read_ptr = (u32) atomic_read(&adapter->txd_read_ptr);
drivers/net/ethernet/atheros/atlx/atl2.c
486
(((u8 *)adapter->txd_ring) + txd_read_ptr);
drivers/net/ethernet/atheros/atlx/atl2.c
493
adapter->netdev->name,
drivers/net/ethernet/atheros/atlx/atl2.c
498
txs = adapter->txs_ring + txs_write_ptr;
drivers/net/ethernet/atheros/atlx/atl2.c
503
txs = adapter->txs_ring +
drivers/net/ethernet/atheros/atlx/atl2.c
504
(adapter->txs_ring_size +
drivers/net/ethernet/atheros/atlx/atl2.c
507
txs = adapter->txs_ring + (txs_write_ptr - 2);
drivers/net/ethernet/atheros/atlx/atl2.c
517
if (txd_read_ptr >= adapter->txd_ring_size)
drivers/net/ethernet/atheros/atlx/atl2.c
518
txd_read_ptr -= adapter->txd_ring_size;
drivers/net/ethernet/atheros/atlx/atl2.c
520
atomic_set(&adapter->txd_read_ptr, (int)txd_read_ptr);
drivers/net/ethernet/atheros/atlx/atl2.c
541
if (netif_queue_stopped(adapter->netdev) &&
drivers/net/ethernet/atheros/atlx/atl2.c
542
netif_carrier_ok(adapter->netdev))
drivers/net/ethernet/atheros/atlx/atl2.c
543
netif_wake_queue(adapter->netdev);
drivers/net/ethernet/atheros/atlx/atl2.c
547
static void atl2_check_for_link(struct atl2_adapter *adapter)
drivers/net/ethernet/atheros/atlx/atl2.c
549
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/atheros/atlx/atl2.c
552
spin_lock(&adapter->stats_lock);
drivers/net/ethernet/atheros/atlx/atl2.c
553
atl2_read_phy_reg(&adapter->hw, MII_BMSR, &phy_data);
drivers/net/ethernet/atheros/atlx/atl2.c
554
atl2_read_phy_reg(&adapter->hw, MII_BMSR, &phy_data);
drivers/net/ethernet/atheros/atlx/atl2.c
555
spin_unlock(&adapter->stats_lock);
drivers/net/ethernet/atheros/atlx/atl2.c
56
static void atl2_check_options(struct atl2_adapter *adapter);
drivers/net/ethernet/atheros/atlx/atl2.c
562
adapter->link_speed = SPEED_0;
drivers/net/ethernet/atheros/atlx/atl2.c
567
schedule_work(&adapter->link_chg_task);
drivers/net/ethernet/atheros/atlx/atl2.c
570
static inline void atl2_clear_phy_int(struct atl2_adapter *adapter)
drivers/net/ethernet/atheros/atlx/atl2.c
573
spin_lock(&adapter->stats_lock);
drivers/net/ethernet/atheros/atlx/atl2.c
574
atl2_read_phy_reg(&adapter->hw, 19, &phy_data);
drivers/net/ethernet/atheros/atlx/atl2.c
575
spin_unlock(&adapter->stats_lock);
drivers/net/ethernet/atheros/atlx/atl2.c
585
struct atl2_adapter *adapter = netdev_priv(data);
drivers/net/ethernet/atheros/atlx/atl2.c
586
struct atl2_hw *hw = &adapter->hw;
drivers/net/ethernet/atheros/atlx/atl2.c
595
atl2_clear_phy_int(adapter);
drivers/net/ethernet/atheros/atlx/atl2.c
602
if (netif_running(adapter->netdev)) { /* reset MAC */
drivers/net/ethernet/atheros/atlx/atl2.c
606
schedule_work(&adapter->reset_task);
drivers/net/ethernet/atheros/atlx/atl2.c
616
schedule_work(&adapter->reset_task);
drivers/net/ethernet/atheros/atlx/atl2.c
622
adapter->netdev->stats.tx_carrier_errors++;
drivers/net/ethernet/atheros/atlx/atl2.c
623
atl2_check_for_link(adapter);
drivers/net/ethernet/atheros/atlx/atl2.c
628
atl2_intr_tx(adapter);
drivers/net/ethernet/atheros/atlx/atl2.c
632
atl2_intr_rx(adapter);
drivers/net/ethernet/atheros/atlx/atl2.c
635
ATL2_WRITE_REG(&adapter->hw, REG_ISR, 0);
drivers/net/ethernet/atheros/atlx/atl2.c
639
static int atl2_request_irq(struct atl2_adapter *adapter)
drivers/net/ethernet/atheros/atlx/atl2.c
641
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/atheros/atlx/atl2.c
645
adapter->have_msi = true;
drivers/net/ethernet/atheros/atlx/atl2.c
646
err = pci_enable_msi(adapter->pdev);
drivers/net/ethernet/atheros/atlx/atl2.c
648
adapter->have_msi = false;
drivers/net/ethernet/atheros/atlx/atl2.c
650
if (adapter->have_msi)
drivers/net/ethernet/atheros/atlx/atl2.c
653
return request_irq(adapter->pdev->irq, atl2_intr, flags, netdev->name,
drivers/net/ethernet/atheros/atlx/atl2.c
66
static int atl2_sw_init(struct atl2_adapter *adapter)
drivers/net/ethernet/atheros/atlx/atl2.c
663
static void atl2_free_ring_resources(struct atl2_adapter *adapter)
drivers/net/ethernet/atheros/atlx/atl2.c
665
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/atheros/atlx/atl2.c
666
dma_free_coherent(&pdev->dev, adapter->ring_size,
drivers/net/ethernet/atheros/atlx/atl2.c
667
adapter->ring_vir_addr, adapter->ring_dma);
drivers/net/ethernet/atheros/atlx/atl2.c
68
struct atl2_hw *hw = &adapter->hw;
drivers/net/ethernet/atheros/atlx/atl2.c
684
struct atl2_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atlx/atl2.c
689
if (test_bit(__ATL2_TESTING, &adapter->flags))
drivers/net/ethernet/atheros/atlx/atl2.c
69
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/atheros/atlx/atl2.c
693
err = atl2_setup_ring_resources(adapter);
drivers/net/ethernet/atheros/atlx/atl2.c
697
err = atl2_init_hw(&adapter->hw);
drivers/net/ethernet/atheros/atlx/atl2.c
705
init_ring_ptrs(adapter);
drivers/net/ethernet/atheros/atlx/atl2.c
707
atl2_restore_vlan(adapter);
drivers/net/ethernet/atheros/atlx/atl2.c
709
if (atl2_configure(adapter)) {
drivers/net/ethernet/atheros/atlx/atl2.c
714
err = atl2_request_irq(adapter);
drivers/net/ethernet/atheros/atlx/atl2.c
718
clear_bit(__ATL2_DOWN, &adapter->flags);
drivers/net/ethernet/atheros/atlx/atl2.c
720
mod_timer(&adapter->watchdog_timer, round_jiffies(jiffies + 4*HZ));
drivers/net/ethernet/atheros/atlx/atl2.c
722
val = ATL2_READ_REG(&adapter->hw, REG_MASTER_CTRL);
drivers/net/ethernet/atheros/atlx/atl2.c
723
ATL2_WRITE_REG(&adapter->hw, REG_MASTER_CTRL,
drivers/net/ethernet/atheros/atlx/atl2.c
726
atl2_irq_enable(adapter);
drivers/net/ethernet/atheros/atlx/atl2.c
733
atl2_free_ring_resources(adapter);
drivers/net/ethernet/atheros/atlx/atl2.c
734
atl2_reset_hw(&adapter->hw);
drivers/net/ethernet/atheros/atlx/atl2.c
739
static void atl2_down(struct atl2_adapter *adapter)
drivers/net/ethernet/atheros/atlx/atl2.c
741
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/atheros/atlx/atl2.c
745
set_bit(__ATL2_DOWN, &adapter->flags);
drivers/net/ethernet/atheros/atlx/atl2.c
750
atl2_reset_hw(&adapter->hw);
drivers/net/ethernet/atheros/atlx/atl2.c
753
atl2_irq_disable(adapter);
drivers/net/ethernet/atheros/atlx/atl2.c
755
timer_delete_sync(&adapter->watchdog_timer);
drivers/net/ethernet/atheros/atlx/atl2.c
756
timer_delete_sync(&adapter->phy_config_timer);
drivers/net/ethernet/atheros/atlx/atl2.c
757
clear_bit(0, &adapter->cfg_phy);
drivers/net/ethernet/atheros/atlx/atl2.c
760
adapter->link_speed = SPEED_0;
drivers/net/ethernet/atheros/atlx/atl2.c
761
adapter->link_duplex = -1;
drivers/net/ethernet/atheros/atlx/atl2.c
764
static void atl2_free_irq(struct atl2_adapter *adapter)
drivers/net/ethernet/atheros/atlx/atl2.c
766
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/atheros/atlx/atl2.c
768
free_irq(adapter->pdev->irq, netdev);
drivers/net/ethernet/atheros/atlx/atl2.c
771
if (adapter->have_msi)
drivers/net/ethernet/atheros/atlx/atl2.c
772
pci_disable_msi(adapter->pdev);
drivers/net/ethernet/atheros/atlx/atl2.c
789
struct atl2_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atlx/atl2.c
791
WARN_ON(test_bit(__ATL2_RESETTING, &adapter->flags));
drivers/net/ethernet/atheros/atlx/atl2.c
793
atl2_down(adapter);
drivers/net/ethernet/atheros/atlx/atl2.c
794
atl2_free_irq(adapter);
drivers/net/ethernet/atheros/atlx/atl2.c
795
atl2_free_ring_resources(adapter);
drivers/net/ethernet/atheros/atlx/atl2.c
80
adapter->wol = 0;
drivers/net/ethernet/atheros/atlx/atl2.c
800
static inline int TxsFreeUnit(struct atl2_adapter *adapter)
drivers/net/ethernet/atheros/atlx/atl2.c
802
u32 txs_write_ptr = (u32) atomic_read(&adapter->txs_write_ptr);
drivers/net/ethernet/atheros/atlx/atl2.c
804
return (adapter->txs_next_clear >= txs_write_ptr) ?
drivers/net/ethernet/atheros/atlx/atl2.c
805
(int) (adapter->txs_ring_size - adapter->txs_next_clear +
drivers/net/ethernet/atheros/atlx/atl2.c
807
(int) (txs_write_ptr - adapter->txs_next_clear - 1);
drivers/net/ethernet/atheros/atlx/atl2.c
81
adapter->ict = 50000; /* ~100ms */
drivers/net/ethernet/atheros/atlx/atl2.c
810
static inline int TxdFreeBytes(struct atl2_adapter *adapter)
drivers/net/ethernet/atheros/atlx/atl2.c
812
u32 txd_read_ptr = (u32)atomic_read(&adapter->txd_read_ptr);
drivers/net/ethernet/atheros/atlx/atl2.c
814
return (adapter->txd_write_ptr >= txd_read_ptr) ?
drivers/net/ethernet/atheros/atlx/atl2.c
815
(int) (adapter->txd_ring_size - adapter->txd_write_ptr +
drivers/net/ethernet/atheros/atlx/atl2.c
817
(int) (txd_read_ptr - adapter->txd_write_ptr - 1);
drivers/net/ethernet/atheros/atlx/atl2.c
82
adapter->link_speed = SPEED_0; /* hardware init */
drivers/net/ethernet/atheros/atlx/atl2.c
823
struct atl2_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atlx/atl2.c
829
if (test_bit(__ATL2_DOWN, &adapter->flags)) {
drivers/net/ethernet/atheros/atlx/atl2.c
83
adapter->link_duplex = FULL_DUPLEX;
drivers/net/ethernet/atheros/atlx/atl2.c
839
txs_unused = TxsFreeUnit(adapter);
drivers/net/ethernet/atheros/atlx/atl2.c
840
txbuf_unused = TxdFreeBytes(adapter);
drivers/net/ethernet/atheros/atlx/atl2.c
849
offset = adapter->txd_write_ptr;
drivers/net/ethernet/atheros/atlx/atl2.c
851
txph = (struct tx_pkt_header *) (((u8 *)adapter->txd_ring) + offset);
drivers/net/ethernet/atheros/atlx/atl2.c
857
if (offset >= adapter->txd_ring_size)
drivers/net/ethernet/atheros/atlx/atl2.c
858
offset -= adapter->txd_ring_size;
drivers/net/ethernet/atheros/atlx/atl2.c
859
copy_len = adapter->txd_ring_size - offset;
drivers/net/ethernet/atheros/atlx/atl2.c
861
memcpy(((u8 *)adapter->txd_ring) + offset, skb->data, skb->len);
drivers/net/ethernet/atheros/atlx/atl2.c
864
memcpy(((u8 *)adapter->txd_ring)+offset, skb->data, copy_len);
drivers/net/ethernet/atheros/atlx/atl2.c
865
memcpy((u8 *)adapter->txd_ring, skb->data+copy_len,
drivers/net/ethernet/atheros/atlx/atl2.c
879
if (offset >= adapter->txd_ring_size)
drivers/net/ethernet/atheros/atlx/atl2.c
880
offset -= adapter->txd_ring_size;
drivers/net/ethernet/atheros/atlx/atl2.c
881
adapter->txd_write_ptr = offset;
drivers/net/ethernet/atheros/atlx/atl2.c
884
adapter->txs_ring[adapter->txs_next_clear].update = 0;
drivers/net/ethernet/atheros/atlx/atl2.c
885
if (++adapter->txs_next_clear == adapter->txs_ring_size)
drivers/net/ethernet/atheros/atlx/atl2.c
886
adapter->txs_next_clear = 0;
drivers/net/ethernet/atheros/atlx/atl2.c
888
ATL2_WRITE_REGW(&adapter->hw, REG_MB_TXD_WR_IDX,
drivers/net/ethernet/atheros/atlx/atl2.c
889
(adapter->txd_write_ptr >> 2));
drivers/net/ethernet/atheros/atlx/atl2.c
904
struct atl2_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atlx/atl2.c
905
struct atl2_hw *hw = &adapter->hw;
drivers/net/ethernet/atheros/atlx/atl2.c
925
struct atl2_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atlx/atl2.c
935
memcpy(adapter->hw.mac_addr, addr->sa_data, netdev->addr_len);
drivers/net/ethernet/atheros/atlx/atl2.c
937
atl2_set_mac_addr(&adapter->hw);
drivers/net/ethernet/atheros/atlx/atl2.c
944
struct atl2_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atlx/atl2.c
953
spin_lock_irqsave(&adapter->stats_lock, flags);
drivers/net/ethernet/atheros/atlx/atl2.c
954
if (atl2_read_phy_reg(&adapter->hw,
drivers/net/ethernet/atheros/atlx/atl2.c
956
spin_unlock_irqrestore(&adapter->stats_lock, flags);
drivers/net/ethernet/atheros/atlx/atl2.c
959
spin_unlock_irqrestore(&adapter->stats_lock, flags);
drivers/net/ethernet/atheros/atlx/atl2.c
964
spin_lock_irqsave(&adapter->stats_lock, flags);
drivers/net/ethernet/atheros/atlx/atl2.c
965
if (atl2_write_phy_reg(&adapter->hw, data->reg_num,
drivers/net/ethernet/atheros/atlx/atl2.c
967
spin_unlock_irqrestore(&adapter->stats_lock, flags);
drivers/net/ethernet/atheros/atlx/atl2.c
97
hw->max_frame_size = adapter->netdev->mtu;
drivers/net/ethernet/atheros/atlx/atl2.c
970
spin_unlock_irqrestore(&adapter->stats_lock, flags);
drivers/net/ethernet/atheros/atlx/atl2.c
99
spin_lock_init(&adapter->stats_lock);
drivers/net/ethernet/atheros/atlx/atlx.c
101
schedule_work(&adapter->link_chg_task);
drivers/net/ethernet/atheros/atlx/atlx.c
115
struct atlx_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atlx/atlx.c
116
struct atlx_hw *hw = &adapter->hw;
drivers/net/ethernet/atheros/atlx/atlx.c
144
static inline void atlx_imr_set(struct atlx_adapter *adapter,
drivers/net/ethernet/atheros/atlx/atlx.c
147
iowrite32(imr, adapter->hw.hw_addr + REG_IMR);
drivers/net/ethernet/atheros/atlx/atlx.c
148
ioread32(adapter->hw.hw_addr + REG_IMR);
drivers/net/ethernet/atheros/atlx/atlx.c
155
static void atlx_irq_enable(struct atlx_adapter *adapter)
drivers/net/ethernet/atheros/atlx/atlx.c
157
atlx_imr_set(adapter, IMR_NORMAL_MASK);
drivers/net/ethernet/atheros/atlx/atlx.c
158
adapter->int_enabled = true;
drivers/net/ethernet/atheros/atlx/atlx.c
165
static void atlx_irq_disable(struct atlx_adapter *adapter)
drivers/net/ethernet/atheros/atlx/atlx.c
167
adapter->int_enabled = false;
drivers/net/ethernet/atheros/atlx/atlx.c
168
atlx_imr_set(adapter, 0);
drivers/net/ethernet/atheros/atlx/atlx.c
169
synchronize_irq(adapter->pdev->irq);
drivers/net/ethernet/atheros/atlx/atlx.c
172
static void atlx_clear_phy_int(struct atlx_adapter *adapter)
drivers/net/ethernet/atheros/atlx/atlx.c
177
spin_lock_irqsave(&adapter->lock, flags);
drivers/net/ethernet/atheros/atlx/atlx.c
178
atlx_read_phy_reg(&adapter->hw, 19, &phy_data);
drivers/net/ethernet/atheros/atlx/atlx.c
179
spin_unlock_irqrestore(&adapter->lock, flags);
drivers/net/ethernet/atheros/atlx/atlx.c
188
struct atlx_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atlx/atlx.c
190
schedule_work(&adapter->reset_dev_task);
drivers/net/ethernet/atheros/atlx/atlx.c
198
struct atlx_adapter *adapter;
drivers/net/ethernet/atheros/atlx/atlx.c
201
adapter = container_of(work, struct atlx_adapter, link_chg_task);
drivers/net/ethernet/atheros/atlx/atlx.c
203
spin_lock_irqsave(&adapter->lock, flags);
drivers/net/ethernet/atheros/atlx/atlx.c
204
atlx_check_link(adapter);
drivers/net/ethernet/atheros/atlx/atlx.c
205
spin_unlock_irqrestore(&adapter->lock, flags);
drivers/net/ethernet/atheros/atlx/atlx.c
222
struct atlx_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atlx/atlx.c
226
spin_lock_irqsave(&adapter->lock, flags);
drivers/net/ethernet/atheros/atlx/atlx.c
228
ctrl = ioread32(adapter->hw.hw_addr + REG_MAC_CTRL);
drivers/net/ethernet/atheros/atlx/atlx.c
230
iowrite32(ctrl, adapter->hw.hw_addr + REG_MAC_CTRL);
drivers/net/ethernet/atheros/atlx/atlx.c
232
spin_unlock_irqrestore(&adapter->lock, flags);
drivers/net/ethernet/atheros/atlx/atlx.c
235
static void atlx_restore_vlan(struct atlx_adapter *adapter)
drivers/net/ethernet/atheros/atlx/atlx.c
237
atlx_vlan_mode(adapter->netdev, adapter->netdev->features);
drivers/net/ethernet/atheros/atlx/atlx.c
63
struct atlx_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/atheros/atlx/atlx.c
73
memcpy(adapter->hw.mac_addr, addr->sa_data, netdev->addr_len);
drivers/net/ethernet/atheros/atlx/atlx.c
75
atlx_set_mac_addr(&adapter->hw);
drivers/net/ethernet/atheros/atlx/atlx.c
79
static void atlx_check_for_link(struct atlx_adapter *adapter)
drivers/net/ethernet/atheros/atlx/atlx.c
81
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/atheros/atlx/atlx.c
84
spin_lock(&adapter->lock);
drivers/net/ethernet/atheros/atlx/atlx.c
85
adapter->phy_timer_pending = false;
drivers/net/ethernet/atheros/atlx/atlx.c
86
atlx_read_phy_reg(&adapter->hw, MII_BMSR, &phy_data);
drivers/net/ethernet/atheros/atlx/atlx.c
87
atlx_read_phy_reg(&adapter->hw, MII_BMSR, &phy_data);
drivers/net/ethernet/atheros/atlx/atlx.c
88
spin_unlock(&adapter->lock);
drivers/net/ethernet/atheros/atlx/atlx.c
95
dev_info(&adapter->pdev->dev, "%s link is down\n",
drivers/net/ethernet/atheros/atlx/atlx.c
97
adapter->link_speed = SPEED_0;
drivers/net/ethernet/chelsio/cxgb/common.h
285
static inline int t1_is_asic(const adapter_t *adapter)
drivers/net/ethernet/chelsio/cxgb/common.h
287
return adapter->params.is_asic;
drivers/net/ethernet/chelsio/cxgb/common.h
292
static inline int adapter_matches_type(const adapter_t *adapter,
drivers/net/ethernet/chelsio/cxgb/common.h
295
return adapter->params.chip_version == version &&
drivers/net/ethernet/chelsio/cxgb/common.h
296
adapter->params.chip_revision == revision;
drivers/net/ethernet/chelsio/cxgb/common.h
303
static inline int vlan_tso_capable(const adapter_t *adapter)
drivers/net/ethernet/chelsio/cxgb/common.h
305
return !t1_is_T1B(adapter);
drivers/net/ethernet/chelsio/cxgb/common.h
308
#define for_each_port(adapter, iter) \
drivers/net/ethernet/chelsio/cxgb/common.h
309
for (iter = 0; iter < (adapter)->params.nports; ++iter)
drivers/net/ethernet/chelsio/cxgb/common.h
311
#define board_info(adapter) ((adapter)->params.brd_info)
drivers/net/ethernet/chelsio/cxgb/common.h
312
#define is_10G(adapter) (board_info(adapter)->caps & SUPPORTED_10000baseT_Full)
drivers/net/ethernet/chelsio/cxgb/common.h
319
int __t1_tpi_read(adapter_t *adapter, u32 addr, u32 *valp);
drivers/net/ethernet/chelsio/cxgb/common.h
320
int __t1_tpi_write(adapter_t *adapter, u32 addr, u32 value);
drivers/net/ethernet/chelsio/cxgb/common.h
321
int t1_tpi_write(adapter_t *adapter, u32 addr, u32 value);
drivers/net/ethernet/chelsio/cxgb/common.h
322
int t1_tpi_read(adapter_t *adapter, u32 addr, u32 *value);
drivers/net/ethernet/chelsio/cxgb/common.h
324
void t1_interrupts_enable(adapter_t *adapter);
drivers/net/ethernet/chelsio/cxgb/common.h
325
void t1_interrupts_disable(adapter_t *adapter);
drivers/net/ethernet/chelsio/cxgb/common.h
326
void t1_interrupts_clear(adapter_t *adapter);
drivers/net/ethernet/chelsio/cxgb/common.h
327
int t1_elmer0_ext_intr_handler(adapter_t *adapter);
drivers/net/ethernet/chelsio/cxgb/common.h
328
irqreturn_t t1_slow_intr_handler(adapter_t *adapter);
drivers/net/ethernet/chelsio/cxgb/common.h
332
int t1_seeprom_read(adapter_t *adapter, u32 addr, __le32 *data);
drivers/net/ethernet/chelsio/cxgb/common.h
333
int t1_get_board_rev(adapter_t *adapter, const struct board_info *bi,
drivers/net/ethernet/chelsio/cxgb/common.h
335
int t1_init_hw_modules(adapter_t *adapter);
drivers/net/ethernet/chelsio/cxgb/common.h
336
int t1_init_sw_modules(adapter_t *adapter, const struct board_info *bi);
drivers/net/ethernet/chelsio/cxgb/common.h
337
void t1_free_sw_modules(adapter_t *adapter);
drivers/net/ethernet/chelsio/cxgb/common.h
338
void t1_link_changed(adapter_t *adapter, int port_id);
drivers/net/ethernet/chelsio/cxgb/common.h
339
void t1_link_negotiated(adapter_t *adapter, int port_id, int link_stat,
drivers/net/ethernet/chelsio/cxgb/common.h
59
typedef struct adapter adapter_t;
drivers/net/ethernet/chelsio/cxgb/cphy.h
134
struct adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/chelsio/cxgb/cphy.h
135
phy->adapter = adapter;
drivers/net/ethernet/chelsio/cxgb/cphy.h
157
int (*reset)(adapter_t *adapter);
drivers/net/ethernet/chelsio/cxgb/cphy.h
35
void (*init)(adapter_t *adapter, const struct board_info *bi);
drivers/net/ethernet/chelsio/cxgb/cphy.h
84
adapter_t *adapter; /* associated adapter */
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
1006
if (t1_get_board_rev(adapter, bi, &adapter->params)) {
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
1011
adapter->name = pci_name(pdev);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
1012
adapter->msg_enable = dflt_msg_enable;
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
1013
adapter->mmio_len = mmio_len;
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
1015
spin_lock_init(&adapter->tpi_lock);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
1016
spin_lock_init(&adapter->work_lock);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
1017
spin_lock_init(&adapter->async_lock);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
1018
spin_lock_init(&adapter->mac_lock);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
102
static int t1_clock(struct adapter *adapter, int mode);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
1020
INIT_DELAYED_WORK(&adapter->stats_update_task,
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
1026
pi = &adapter->port[i];
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
1033
netdev->ml_priv = adapter;
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
1040
if (vlan_tso_capable(adapter)) {
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
1047
if (!(is_T2(adapter)) || bi->port_number != 4) {
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
1057
netif_napi_add(netdev, &adapter->napi, t1_poll);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
1078
if (t1_init_sw_modules(adapter, bi) < 0) {
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
1090
err = register_netdev(adapter->port[i].dev);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
1093
pci_name(pdev), adapter->port[i].dev->name);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
1099
if (!adapter->registered_device_map)
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
1100
adapter->name = adapter->port[i].dev->name;
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
1102
__set_bit(i, &adapter->registered_device_map);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
1105
if (!adapter->registered_device_map) {
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
1113
adapter->name, bi->desc, adapter->params.chip_revision,
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
1114
adapter->params.pci.is_pcix ? "PCIX" : "PCI",
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
1115
adapter->params.pci.speed, adapter->params.pci.width);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
1121
adapter->t1powersave = LCLOCK; /* HW default is powersave mode. */
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
1123
adapter->t1powersave = HCLOCK;
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
1124
if (t1_is_T1B(adapter))
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
1125
t1_clock(adapter, t1powersave);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
1130
t1_free_sw_modules(adapter);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
1132
if (adapter) {
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
1133
if (adapter->regs)
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
1134
iounmap(adapter->regs);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
1136
if (adapter->port[i].dev)
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
1137
free_netdev(adapter->port[i].dev);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
1145
static void bit_bang(struct adapter *adapter, int bitdata, int nbits)
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
1161
__t1_tpi_read(adapter, A_ELMER0_GPO, &val);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
117
struct adapter *adapter = dev->ml_priv;
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
1172
__t1_tpi_write(adapter, A_ELMER0_GPO, val);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
1178
__t1_tpi_write(adapter, A_ELMER0_GPO, val);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
118
struct cmac *mac = adapter->port[dev->if_port].mac;
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
1183
static int t1_clock(struct adapter *adapter, int mode)
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
1206
if (!t1_is_T1B(adapter))
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
1212
if ((adapter->t1powersave & 1) == (mode & 1))
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
1218
adapter->t1powersave = HCLOCK; /* overclock */
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
1222
adapter->t1powersave = LCLOCK; /* underclock */
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
1226
spin_lock(&adapter->tpi_lock);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
1229
__t1_tpi_read(adapter, A_ELMER0_GPO, &val);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
1232
__t1_tpi_write(adapter, A_ELMER0_GPO, val);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
1234
__t1_tpi_read(adapter, A_ELMER0_GPO, &val);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
1237
__t1_tpi_write(adapter, A_ELMER0_GPO, val);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
1241
bit_bang(adapter, T_CORE_VAL, T_CORE_BITS);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
1242
bit_bang(adapter, N_CORE_VAL, N_CORE_BITS);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
1243
bit_bang(adapter, M_CORE_VAL, M_CORE_BITS);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
1247
__t1_tpi_read(adapter, A_ELMER0_GPO, &val);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
1250
__t1_tpi_write(adapter, A_ELMER0_GPO, val);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
1252
__t1_tpi_read(adapter, A_ELMER0_GPO, &val);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
1255
__t1_tpi_write(adapter, A_ELMER0_GPO, val);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
1259
__t1_tpi_read(adapter, A_ELMER0_GPO, &val);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
1262
__t1_tpi_write(adapter, A_ELMER0_GPO, val);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
1264
__t1_tpi_read(adapter, A_ELMER0_GPO, &val);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
1268
__t1_tpi_write(adapter, A_ELMER0_GPO, val);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
1272
bit_bang(adapter, T_MEM_VAL, T_MEM_BITS);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
1273
bit_bang(adapter, N_MEM_VAL, N_MEM_BITS);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
1274
bit_bang(adapter, M_MEM_VAL, M_MEM_BITS);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
1278
__t1_tpi_read(adapter, A_ELMER0_GPO, &val);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
1281
__t1_tpi_write(adapter, A_ELMER0_GPO, val);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
1283
__t1_tpi_read(adapter, A_ELMER0_GPO, &val);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
1286
__t1_tpi_write(adapter, A_ELMER0_GPO, val);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
1288
spin_unlock(&adapter->tpi_lock);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
1302
struct adapter *adapter = dev->ml_priv;
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
1305
for_each_port(adapter, i) {
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
1306
if (test_bit(i, &adapter->registered_device_map))
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
1307
unregister_netdev(adapter->port[i].dev);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
1310
t1_free_sw_modules(adapter);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
1311
iounmap(adapter->regs);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
1314
if (adapter->port[i].dev)
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
1315
free_netdev(adapter->port[i].dev);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
144
void t1_link_negotiated(struct adapter *adapter, int port_id, int link_stat,
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
147
struct port_info *p = &adapter->port[port_id];
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
157
if ((speed > 0) && (adapter->params.nports > 1)) {
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
170
t1_sched_update_parms(adapter->sge, port_id, 0, sched_speed);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
187
static void enable_hw_csum(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
189
if (adapter->port[0].dev->hw_features & NETIF_F_TSO)
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
190
t1_tp_set_ip_checksum_offload(adapter->tp, 1); /* for TSO only */
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
191
t1_tp_set_tcp_checksum_offload(adapter->tp, 1);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
198
static int cxgb_up(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
202
if (!(adapter->flags & FULL_INIT_DONE)) {
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
203
err = t1_init_hw_modules(adapter);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
207
enable_hw_csum(adapter);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
208
adapter->flags |= FULL_INIT_DONE;
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
211
t1_interrupts_clear(adapter);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
213
adapter->params.has_msi = !disable_msi && !pci_enable_msi(adapter->pdev);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
214
err = request_threaded_irq(adapter->pdev->irq, t1_interrupt,
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
216
adapter->params.has_msi ? 0 : IRQF_SHARED,
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
217
adapter->name, adapter);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
219
if (adapter->params.has_msi)
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
220
pci_disable_msi(adapter->pdev);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
225
t1_sge_start(adapter->sge);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
226
t1_interrupts_enable(adapter);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
234
static void cxgb_down(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
236
t1_sge_stop(adapter->sge);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
237
t1_interrupts_disable(adapter);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
238
free_irq(adapter->pdev->irq, adapter);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
239
if (adapter->params.has_msi)
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
240
pci_disable_msi(adapter->pdev);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
246
struct adapter *adapter = dev->ml_priv;
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
247
int other_ports = adapter->open_device_map & PORT_MASK;
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
249
napi_enable(&adapter->napi);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
250
if (!adapter->open_device_map && (err = cxgb_up(adapter)) < 0) {
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
251
napi_disable(&adapter->napi);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
255
__set_bit(dev->if_port, &adapter->open_device_map);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
256
link_start(&adapter->port[dev->if_port]);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
258
if (!other_ports && adapter->params.stats_update_period)
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
259
schedule_mac_stats_update(adapter,
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
260
adapter->params.stats_update_period);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
262
t1_vlan_mode(adapter, dev->features);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
268
struct adapter *adapter = dev->ml_priv;
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
269
struct port_info *p = &adapter->port[dev->if_port];
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
273
napi_disable(&adapter->napi);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
277
clear_bit(dev->if_port, &adapter->open_device_map);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
278
if (adapter->params.stats_update_period &&
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
279
!(adapter->open_device_map & PORT_MASK)) {
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
282
spin_lock(&adapter->work_lock); /* sync with update task */
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
283
spin_unlock(&adapter->work_lock);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
284
cancel_mac_stats_update(adapter);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
287
if (!adapter->open_device_map)
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
288
cxgb_down(adapter);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
294
struct adapter *adapter = dev->ml_priv;
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
295
struct port_info *p = &adapter->port[dev->if_port];
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
342
struct adapter *adapter = dev->ml_priv;
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
344
return adapter->msg_enable;
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
349
struct adapter *adapter = dev->ml_priv;
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
351
adapter->msg_enable = val;
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
430
struct adapter *adapter = dev->ml_priv;
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
433
strscpy(info->bus_info, pci_name(adapter->pdev),
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
456
struct adapter *adapter = dev->ml_priv;
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
457
struct cmac *mac = adapter->port[dev->if_port].mac;
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
463
t = t1_sge_get_intr_counts(adapter->sge);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
464
t1_sge_get_port_stats(adapter->sge, dev->if_port, &ss);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
522
if (adapter->espi) {
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
525
e = t1_espi_get_intr_counts(adapter->espi);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
535
static inline void reg_block_dump(struct adapter *ap, void *buf,
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
547
struct adapter *ap = dev->ml_priv;
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
570
struct adapter *adapter = dev->ml_priv;
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
571
struct port_info *p = &adapter->port[dev->if_port];
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
60
static inline void schedule_mac_stats_update(struct adapter *ap, int secs)
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
635
struct adapter *adapter = dev->ml_priv;
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
636
struct port_info *p = &adapter->port[dev->if_port];
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
65
static inline void cancel_mac_stats_update(struct adapter *ap)
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
675
struct adapter *adapter = dev->ml_priv;
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
676
struct port_info *p = &adapter->port[dev->if_port];
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
686
struct adapter *adapter = dev->ml_priv;
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
687
struct port_info *p = &adapter->port[dev->if_port];
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
717
struct adapter *adapter = dev->ml_priv;
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
718
int jumbo_fl = t1_is_T1B(adapter) ? 1 : 0;
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
724
e->rx_pending = adapter->params.sge.freelQ_size[!jumbo_fl];
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
725
e->rx_jumbo_pending = adapter->params.sge.freelQ_size[jumbo_fl];
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
726
e->tx_pending = adapter->params.sge.cmdQ_size[0];
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
733
struct adapter *adapter = dev->ml_priv;
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
734
int jumbo_fl = t1_is_T1B(adapter) ? 1 : 0;
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
741
e->tx_pending < (adapter->params.nports + 1) * (MAX_SKB_FRAGS + 1))
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
744
if (adapter->flags & FULL_INIT_DONE)
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
747
adapter->params.sge.freelQ_size[!jumbo_fl] = e->rx_pending;
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
748
adapter->params.sge.freelQ_size[jumbo_fl] = e->rx_jumbo_pending;
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
749
adapter->params.sge.cmdQ_size[0] = e->tx_pending;
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
750
adapter->params.sge.cmdQ_size[1] = e->tx_pending > MAX_CMDQ1_ENTRIES ?
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
759
struct adapter *adapter = dev->ml_priv;
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
761
adapter->params.sge.rx_coalesce_usecs = c->rx_coalesce_usecs;
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
762
adapter->params.sge.coalesce_enable = c->use_adaptive_rx_coalesce;
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
763
adapter->params.sge.sample_interval_usecs = c->rate_sample_interval;
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
764
t1_sge_set_coalesce_params(adapter->sge, &adapter->params.sge);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
772
struct adapter *adapter = dev->ml_priv;
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
774
c->rx_coalesce_usecs = adapter->params.sge.rx_coalesce_usecs;
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
775
c->rate_sample_interval = adapter->params.sge.sample_interval_usecs;
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
776
c->use_adaptive_rx_coalesce = adapter->params.sge.coalesce_enable;
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
782
struct adapter *adapter = dev->ml_priv;
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
784
return t1_is_asic(adapter) ? EEPROM_SIZE : 0;
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
795
struct adapter *adapter = dev->ml_priv;
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
797
e->magic = EEPROM_MAGIC(adapter);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
799
t1_seeprom_read(adapter, i, (__le32 *)&buf[i]);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
831
struct adapter *adapter = dev->ml_priv;
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
832
struct mdio_if_info *mdio = &adapter->port[dev->if_port].phy->mdio;
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
840
struct adapter *adapter = dev->ml_priv;
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
841
struct cmac *mac = adapter->port[dev->if_port].mac;
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
853
struct adapter *adapter = dev->ml_priv;
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
854
struct cmac *mac = adapter->port[dev->if_port].mac;
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
883
struct adapter *adapter = dev->ml_priv;
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
886
t1_vlan_mode(adapter, features);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
894
struct adapter *adapter = dev->ml_priv;
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
897
t1_interrupt(adapter->pdev->irq, adapter);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
909
struct adapter *adapter =
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
910
container_of(work, struct adapter, stats_update_task.work);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
912
for_each_port(adapter, i) {
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
913
struct port_info *p = &adapter->port[i];
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
921
spin_lock(&adapter->work_lock);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
922
if (adapter->open_device_map & PORT_MASK)
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
923
schedule_mac_stats_update(adapter,
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
924
adapter->params.stats_update_period);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
925
spin_unlock(&adapter->work_lock);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
949
struct adapter *adapter = NULL;
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
985
netdev = alloc_etherdev(adapter ? 0 : sizeof(*adapter));
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
993
if (!adapter) {
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
994
adapter = netdev_priv(netdev);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
995
adapter->pdev = pdev;
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
996
adapter->port[0].dev = netdev; /* so we don't leak it */
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
998
adapter->regs = ioremap(mmio_start, mmio_len);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
999
if (!adapter->regs) {
drivers/net/ethernet/chelsio/cxgb/espi.c
100
tricn_write(adapter, 0, 2, 8, TRICN_CNFG, 0xf1);
drivers/net/ethernet/chelsio/cxgb/espi.c
103
adapter->regs + A_ESPI_RX_RESET);
drivers/net/ethernet/chelsio/cxgb/espi.c
110
u32 enable, pl_intr = readl(espi->adapter->regs + A_PL_ENABLE);
drivers/net/ethernet/chelsio/cxgb/espi.c
119
enable = t1_is_T1B(espi->adapter) ? 0 : ESPI_INTR_MASK;
drivers/net/ethernet/chelsio/cxgb/espi.c
120
writel(enable, espi->adapter->regs + A_ESPI_INTR_ENABLE);
drivers/net/ethernet/chelsio/cxgb/espi.c
121
writel(pl_intr | F_PL_INTR_ESPI, espi->adapter->regs + A_PL_ENABLE);
drivers/net/ethernet/chelsio/cxgb/espi.c
126
readl(espi->adapter->regs + A_ESPI_DIP2_ERR_COUNT);
drivers/net/ethernet/chelsio/cxgb/espi.c
127
writel(0xffffffff, espi->adapter->regs + A_ESPI_INTR_STATUS);
drivers/net/ethernet/chelsio/cxgb/espi.c
128
writel(F_PL_INTR_ESPI, espi->adapter->regs + A_PL_CAUSE);
drivers/net/ethernet/chelsio/cxgb/espi.c
133
u32 pl_intr = readl(espi->adapter->regs + A_PL_ENABLE);
drivers/net/ethernet/chelsio/cxgb/espi.c
135
writel(0, espi->adapter->regs + A_ESPI_INTR_ENABLE);
drivers/net/ethernet/chelsio/cxgb/espi.c
136
writel(pl_intr & ~F_PL_INTR_ESPI, espi->adapter->regs + A_PL_ENABLE);
drivers/net/ethernet/chelsio/cxgb/espi.c
141
u32 status = readl(espi->adapter->regs + A_ESPI_INTR_STATUS);
drivers/net/ethernet/chelsio/cxgb/espi.c
160
readl(espi->adapter->regs + A_ESPI_DIP2_ERR_COUNT);
drivers/net/ethernet/chelsio/cxgb/espi.c
167
if (status && t1_is_T1B(espi->adapter))
drivers/net/ethernet/chelsio/cxgb/espi.c
169
writel(status, espi->adapter->regs + A_ESPI_INTR_STATUS);
drivers/net/ethernet/chelsio/cxgb/espi.c
178
static void espi_setup_for_pm3393(adapter_t *adapter)
drivers/net/ethernet/chelsio/cxgb/espi.c
180
u32 wmark = t1_is_T1B(adapter) ? 0x4000 : 0x3200;
drivers/net/ethernet/chelsio/cxgb/espi.c
182
writel(0x1f4, adapter->regs + A_ESPI_SCH_TOKEN0);
drivers/net/ethernet/chelsio/cxgb/espi.c
183
writel(0x1f4, adapter->regs + A_ESPI_SCH_TOKEN1);
drivers/net/ethernet/chelsio/cxgb/espi.c
184
writel(0x1f4, adapter->regs + A_ESPI_SCH_TOKEN2);
drivers/net/ethernet/chelsio/cxgb/espi.c
185
writel(0x1f4, adapter->regs + A_ESPI_SCH_TOKEN3);
drivers/net/ethernet/chelsio/cxgb/espi.c
186
writel(0x100, adapter->regs + A_ESPI_RX_FIFO_ALMOST_EMPTY_WATERMARK);
drivers/net/ethernet/chelsio/cxgb/espi.c
187
writel(wmark, adapter->regs + A_ESPI_RX_FIFO_ALMOST_FULL_WATERMARK);
drivers/net/ethernet/chelsio/cxgb/espi.c
188
writel(3, adapter->regs + A_ESPI_CALENDAR_LENGTH);
drivers/net/ethernet/chelsio/cxgb/espi.c
189
writel(0x08000008, adapter->regs + A_ESPI_TRAIN);
drivers/net/ethernet/chelsio/cxgb/espi.c
190
writel(V_RX_NPORTS(1) | V_TX_NPORTS(1), adapter->regs + A_PORT_CONFIG);
drivers/net/ethernet/chelsio/cxgb/espi.c
193
static void espi_setup_for_vsc7321(adapter_t *adapter)
drivers/net/ethernet/chelsio/cxgb/espi.c
195
writel(0x1f4, adapter->regs + A_ESPI_SCH_TOKEN0);
drivers/net/ethernet/chelsio/cxgb/espi.c
196
writel(0x1f401f4, adapter->regs + A_ESPI_SCH_TOKEN1);
drivers/net/ethernet/chelsio/cxgb/espi.c
197
writel(0x1f4, adapter->regs + A_ESPI_SCH_TOKEN2);
drivers/net/ethernet/chelsio/cxgb/espi.c
198
writel(0xa00, adapter->regs + A_ESPI_RX_FIFO_ALMOST_FULL_WATERMARK);
drivers/net/ethernet/chelsio/cxgb/espi.c
199
writel(0x1ff, adapter->regs + A_ESPI_RX_FIFO_ALMOST_EMPTY_WATERMARK);
drivers/net/ethernet/chelsio/cxgb/espi.c
200
writel(1, adapter->regs + A_ESPI_CALENDAR_LENGTH);
drivers/net/ethernet/chelsio/cxgb/espi.c
201
writel(V_RX_NPORTS(4) | V_TX_NPORTS(4), adapter->regs + A_PORT_CONFIG);
drivers/net/ethernet/chelsio/cxgb/espi.c
203
writel(0x08000008, adapter->regs + A_ESPI_TRAIN);
drivers/net/ethernet/chelsio/cxgb/espi.c
209
static void espi_setup_for_ixf1010(adapter_t *adapter, int nports)
drivers/net/ethernet/chelsio/cxgb/espi.c
211
writel(1, adapter->regs + A_ESPI_CALENDAR_LENGTH);
drivers/net/ethernet/chelsio/cxgb/espi.c
213
if (is_T2(adapter)) {
drivers/net/ethernet/chelsio/cxgb/espi.c
214
writel(0xf00, adapter->regs + A_ESPI_RX_FIFO_ALMOST_FULL_WATERMARK);
drivers/net/ethernet/chelsio/cxgb/espi.c
215
writel(0x3c0, adapter->regs + A_ESPI_RX_FIFO_ALMOST_EMPTY_WATERMARK);
drivers/net/ethernet/chelsio/cxgb/espi.c
217
writel(0x7ff, adapter->regs + A_ESPI_RX_FIFO_ALMOST_FULL_WATERMARK);
drivers/net/ethernet/chelsio/cxgb/espi.c
218
writel(0x1ff, adapter->regs + A_ESPI_RX_FIFO_ALMOST_EMPTY_WATERMARK);
drivers/net/ethernet/chelsio/cxgb/espi.c
221
writel(0x1fff, adapter->regs + A_ESPI_RX_FIFO_ALMOST_FULL_WATERMARK);
drivers/net/ethernet/chelsio/cxgb/espi.c
222
writel(0x7ff, adapter->regs + A_ESPI_RX_FIFO_ALMOST_EMPTY_WATERMARK);
drivers/net/ethernet/chelsio/cxgb/espi.c
224
writel(V_RX_NPORTS(nports) | V_TX_NPORTS(nports), adapter->regs + A_PORT_CONFIG);
drivers/net/ethernet/chelsio/cxgb/espi.c
231
adapter_t *adapter = espi->adapter;
drivers/net/ethernet/chelsio/cxgb/espi.c
234
writel(0, adapter->regs + A_ESPI_TRAIN);
drivers/net/ethernet/chelsio/cxgb/espi.c
236
if (is_T2(adapter)) {
drivers/net/ethernet/chelsio/cxgb/espi.c
239
V_DIP4_THRES(1), adapter->regs + A_ESPI_MISC_CONTROL);
drivers/net/ethernet/chelsio/cxgb/espi.c
241
adapter->regs + A_ESPI_MAXBURST1_MAXBURST2);
drivers/net/ethernet/chelsio/cxgb/espi.c
243
writel(0x800100, adapter->regs + A_ESPI_MAXBURST1_MAXBURST2);
drivers/net/ethernet/chelsio/cxgb/espi.c
246
espi_setup_for_pm3393(adapter);
drivers/net/ethernet/chelsio/cxgb/espi.c
248
espi_setup_for_vsc7321(adapter);
drivers/net/ethernet/chelsio/cxgb/espi.c
251
espi_setup_for_ixf1010(adapter, nports);
drivers/net/ethernet/chelsio/cxgb/espi.c
256
adapter->regs + A_ESPI_FIFO_STATUS_ENABLE);
drivers/net/ethernet/chelsio/cxgb/espi.c
258
if (is_T2(adapter)) {
drivers/net/ethernet/chelsio/cxgb/espi.c
259
tricn_init(adapter);
drivers/net/ethernet/chelsio/cxgb/espi.c
264
espi->misc_ctrl = readl(adapter->regs + A_ESPI_MISC_CONTROL);
drivers/net/ethernet/chelsio/cxgb/espi.c
267
if (adapter->params.nports == 1)
drivers/net/ethernet/chelsio/cxgb/espi.c
269
writel(espi->misc_ctrl, adapter->regs + A_ESPI_MISC_CONTROL);
drivers/net/ethernet/chelsio/cxgb/espi.c
281
struct peespi *t1_espi_create(adapter_t *adapter)
drivers/net/ethernet/chelsio/cxgb/espi.c
286
espi->adapter = adapter;
drivers/net/ethernet/chelsio/cxgb/espi.c
291
void t1_espi_set_misc_ctrl(adapter_t *adapter, u32 val)
drivers/net/ethernet/chelsio/cxgb/espi.c
293
struct peespi *espi = adapter->espi;
drivers/net/ethernet/chelsio/cxgb/espi.c
295
if (!is_T2(adapter))
drivers/net/ethernet/chelsio/cxgb/espi.c
300
writel(espi->misc_ctrl, adapter->regs + A_ESPI_MISC_CONTROL);
drivers/net/ethernet/chelsio/cxgb/espi.c
305
u32 t1_espi_get_mon(adapter_t *adapter, u32 addr, u8 wait)
drivers/net/ethernet/chelsio/cxgb/espi.c
307
struct peespi *espi = adapter->espi;
drivers/net/ethernet/chelsio/cxgb/espi.c
310
if (!is_T2(adapter))
drivers/net/ethernet/chelsio/cxgb/espi.c
322
adapter->regs + A_ESPI_MISC_CONTROL);
drivers/net/ethernet/chelsio/cxgb/espi.c
323
sel = readl(adapter->regs + A_ESPI_SCH_TOKEN3);
drivers/net/ethernet/chelsio/cxgb/espi.c
324
writel(espi->misc_ctrl, adapter->regs + A_ESPI_MISC_CONTROL);
drivers/net/ethernet/chelsio/cxgb/espi.c
326
sel = readl(adapter->regs + A_ESPI_SCH_TOKEN3);
drivers/net/ethernet/chelsio/cxgb/espi.c
336
int t1_espi_get_mon_t204(adapter_t *adapter, u32 *valp, u8 wait)
drivers/net/ethernet/chelsio/cxgb/espi.c
338
struct peespi *espi = adapter->espi;
drivers/net/ethernet/chelsio/cxgb/espi.c
339
u8 i, nport = (u8)adapter->params.nports;
drivers/net/ethernet/chelsio/cxgb/espi.c
35
adapter_t *adapter;
drivers/net/ethernet/chelsio/cxgb/espi.c
350
writel(espi->misc_ctrl, adapter->regs + A_ESPI_MISC_CONTROL);
drivers/net/ethernet/chelsio/cxgb/espi.c
355
adapter->regs + A_ESPI_MISC_CONTROL);
drivers/net/ethernet/chelsio/cxgb/espi.c
357
*valp = readl(adapter->regs + A_ESPI_SCH_TOKEN3);
drivers/net/ethernet/chelsio/cxgb/espi.c
360
writel(espi->misc_ctrl, adapter->regs + A_ESPI_MISC_CONTROL);
drivers/net/ethernet/chelsio/cxgb/espi.c
51
static int tricn_write(adapter_t *adapter, int bundle_addr, int module_addr,
drivers/net/ethernet/chelsio/cxgb/espi.c
61
adapter->regs + A_ESPI_CMD_ADDR);
drivers/net/ethernet/chelsio/cxgb/espi.c
62
writel(0, adapter->regs + A_ESPI_GOSTAT);
drivers/net/ethernet/chelsio/cxgb/espi.c
65
busy = readl(adapter->regs + A_ESPI_GOSTAT) & F_ESPI_CMD_BUSY;
drivers/net/ethernet/chelsio/cxgb/espi.c
69
pr_err("%s: TRICN write timed out\n", adapter->name);
drivers/net/ethernet/chelsio/cxgb/espi.c
74
static int tricn_init(adapter_t *adapter)
drivers/net/ethernet/chelsio/cxgb/espi.c
78
if (!(readl(adapter->regs + A_ESPI_RX_RESET) & F_RX_CLK_STATUS)) {
drivers/net/ethernet/chelsio/cxgb/espi.c
79
pr_err("%s: ESPI clock not ready\n", adapter->name);
drivers/net/ethernet/chelsio/cxgb/espi.c
83
writel(F_ESPI_RX_CORE_RST, adapter->regs + A_ESPI_RX_RESET);
drivers/net/ethernet/chelsio/cxgb/espi.c
86
tricn_write(adapter, 0, 0, 0, TRICN_CNFG, 0x81);
drivers/net/ethernet/chelsio/cxgb/espi.c
87
tricn_write(adapter, 0, 1, 0, TRICN_CNFG, 0x81);
drivers/net/ethernet/chelsio/cxgb/espi.c
88
tricn_write(adapter, 0, 2, 0, TRICN_CNFG, 0x81);
drivers/net/ethernet/chelsio/cxgb/espi.c
91
tricn_write(adapter, 0, 0, i, TRICN_CNFG, 0xf1);
drivers/net/ethernet/chelsio/cxgb/espi.c
93
tricn_write(adapter, 0, 1, i, TRICN_CNFG, 0xf1);
drivers/net/ethernet/chelsio/cxgb/espi.c
95
tricn_write(adapter, 0, 2, i, TRICN_CNFG, 0xe1);
drivers/net/ethernet/chelsio/cxgb/espi.c
96
tricn_write(adapter, 0, 2, 4, TRICN_CNFG, 0xf1);
drivers/net/ethernet/chelsio/cxgb/espi.c
97
tricn_write(adapter, 0, 2, 5, TRICN_CNFG, 0xe1);
drivers/net/ethernet/chelsio/cxgb/espi.c
98
tricn_write(adapter, 0, 2, 6, TRICN_CNFG, 0xf1);
drivers/net/ethernet/chelsio/cxgb/espi.c
99
tricn_write(adapter, 0, 2, 7, TRICN_CNFG, 0x80);
drivers/net/ethernet/chelsio/cxgb/espi.h
45
struct peespi *t1_espi_create(adapter_t *adapter);
drivers/net/ethernet/chelsio/cxgb/espi.h
55
u32 t1_espi_get_mon(adapter_t *adapter, u32 addr, u8 wait);
drivers/net/ethernet/chelsio/cxgb/gmac.h
118
adapter_t *adapter;
drivers/net/ethernet/chelsio/cxgb/gmac.h
125
struct cmac *(*create)(adapter_t *adapter, int index);
drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c
111
if (t1_is_asic(cphy->adapter)) {
drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c
112
t1_tpi_read(cphy->adapter, A_ELMER0_INT_CAUSE, &elmer);
drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c
114
if (is_T2(cphy->adapter))
drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c
116
t1_tpi_write(cphy->adapter, A_ELMER0_INT_CAUSE, elmer);
drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c
360
struct adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c
369
if ((board_info(adapter)->caps & SUPPORTED_TP) &&
drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c
370
board_info(adapter)->chip_phy == CHBT_PHY_88E1111) {
drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c
382
if (is_T2(adapter)) {
drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c
390
static int mv88e1xxx_phy_reset(adapter_t* adapter)
drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c
72
if (t1_is_asic(cphy->adapter)) {
drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c
75
t1_tpi_read(cphy->adapter, A_ELMER0_INT_ENABLE, &elmer);
drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c
77
if (is_T2(cphy->adapter))
drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c
79
t1_tpi_write(cphy->adapter, A_ELMER0_INT_ENABLE, elmer);
drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c
90
if (t1_is_asic(cphy->adapter)) {
drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c
93
t1_tpi_read(cphy->adapter, A_ELMER0_INT_ENABLE, &elmer);
drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c
95
if (is_T2(cphy->adapter))
drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c
97
t1_tpi_write(cphy->adapter, A_ELMER0_INT_ENABLE, elmer);
drivers/net/ethernet/chelsio/cxgb/mv88x201x.c
102
t1_tpi_read(cphy->adapter, A_ELMER0_INT_ENABLE, &elmer);
drivers/net/ethernet/chelsio/cxgb/mv88x201x.c
104
t1_tpi_write(cphy->adapter, A_ELMER0_INT_ENABLE, elmer);
drivers/net/ethernet/chelsio/cxgb/mv88x201x.c
138
if (t1_is_asic(cphy->adapter)) {
drivers/net/ethernet/chelsio/cxgb/mv88x201x.c
139
t1_tpi_read(cphy->adapter, A_ELMER0_INT_CAUSE, &elmer);
drivers/net/ethernet/chelsio/cxgb/mv88x201x.c
141
t1_tpi_write(cphy->adapter, A_ELMER0_INT_CAUSE, elmer);
drivers/net/ethernet/chelsio/cxgb/mv88x201x.c
227
static int mv88x201x_phy_reset(adapter_t *adapter)
drivers/net/ethernet/chelsio/cxgb/mv88x201x.c
231
t1_tpi_read(adapter, A_ELMER0_GPO, &val);
drivers/net/ethernet/chelsio/cxgb/mv88x201x.c
233
t1_tpi_write(adapter, A_ELMER0_GPO, val);
drivers/net/ethernet/chelsio/cxgb/mv88x201x.c
236
t1_tpi_write(adapter, A_ELMER0_GPO, val | 4);
drivers/net/ethernet/chelsio/cxgb/mv88x201x.c
240
t1_tpi_read(adapter, A_ELMER0_GPO, &val);
drivers/net/ethernet/chelsio/cxgb/mv88x201x.c
242
t1_tpi_write(adapter, A_ELMER0_GPO, val);
drivers/net/ethernet/chelsio/cxgb/mv88x201x.c
83
if (t1_is_asic(cphy->adapter)) {
drivers/net/ethernet/chelsio/cxgb/mv88x201x.c
86
t1_tpi_read(cphy->adapter, A_ELMER0_INT_ENABLE, &elmer);
drivers/net/ethernet/chelsio/cxgb/mv88x201x.c
88
t1_tpi_write(cphy->adapter, A_ELMER0_INT_ENABLE, elmer);
drivers/net/ethernet/chelsio/cxgb/mv88x201x.c
99
if (t1_is_asic(cphy->adapter)) {
drivers/net/ethernet/chelsio/cxgb/my3126.c
115
adapter_t *adapter;
drivers/net/ethernet/chelsio/cxgb/my3126.c
117
adapter = cphy->adapter;
drivers/net/ethernet/chelsio/cxgb/my3126.c
122
t1_tpi_read(adapter, A_ELMER0_GPO, &val);
drivers/net/ethernet/chelsio/cxgb/my3126.c
129
if (is_T2(adapter))
drivers/net/ethernet/chelsio/cxgb/my3126.c
131
else if (t1_is_T1B(adapter))
drivers/net/ethernet/chelsio/cxgb/my3126.c
135
if (is_T2(adapter))
drivers/net/ethernet/chelsio/cxgb/my3126.c
137
else if (t1_is_T1B(adapter))
drivers/net/ethernet/chelsio/cxgb/my3126.c
141
t1_tpi_write(adapter, A_ELMER0_GPO, val);
drivers/net/ethernet/chelsio/cxgb/my3126.c
187
static int my3126_phy_reset(adapter_t * adapter)
drivers/net/ethernet/chelsio/cxgb/my3126.c
191
t1_tpi_read(adapter, A_ELMER0_GPO, &val);
drivers/net/ethernet/chelsio/cxgb/my3126.c
193
t1_tpi_write(adapter, A_ELMER0_GPO, val);
drivers/net/ethernet/chelsio/cxgb/my3126.c
196
t1_tpi_write(adapter, A_ELMER0_GPO, val | 4);
drivers/net/ethernet/chelsio/cxgb/my3126.c
20
t1_tpi_read(cphy->adapter, A_ELMER0_GPO, &cphy->elmer_gpo);
drivers/net/ethernet/chelsio/cxgb/my3126.c
200
t1_tpi_read(adapter, A_ELMER0_GPO, &val);
drivers/net/ethernet/chelsio/cxgb/my3126.c
202
t1_tpi_write(adapter, A_ELMER0_GPO, val);
drivers/net/ethernet/chelsio/cxgb/my3126.c
43
adapter_t *adapter;
drivers/net/ethernet/chelsio/cxgb/my3126.c
44
adapter = cphy->adapter;
drivers/net/ethernet/chelsio/cxgb/my3126.c
52
t1_link_changed(adapter, 0);
drivers/net/ethernet/chelsio/cxgb/my3126.c
61
t1_tpi_write(adapter, OFFSET(SUNI1x10GEXP_REG_MSTAT_CONTROL),
drivers/net/ethernet/chelsio/cxgb/my3126.c
63
t1_tpi_read(adapter,
drivers/net/ethernet/chelsio/cxgb/my3126.c
65
t1_tpi_read(adapter,
drivers/net/ethernet/chelsio/cxgb/my3126.c
70
t1_tpi_read(adapter, A_ELMER0_GPO, &val);
drivers/net/ethernet/chelsio/cxgb/my3126.c
75
if (is_T2(adapter))
drivers/net/ethernet/chelsio/cxgb/my3126.c
77
else if (t1_is_T1B(adapter))
drivers/net/ethernet/chelsio/cxgb/my3126.c
81
if (is_T2(adapter))
drivers/net/ethernet/chelsio/cxgb/my3126.c
83
else if (t1_is_T1B(adapter))
drivers/net/ethernet/chelsio/cxgb/my3126.c
88
t1_tpi_write(adapter, A_ELMER0_GPO, val);
drivers/net/ethernet/chelsio/cxgb/pm3393.c
145
pl_intr = readl(cmac->adapter->regs + A_PL_ENABLE);
drivers/net/ethernet/chelsio/cxgb/pm3393.c
147
writel(pl_intr, cmac->adapter->regs + A_PL_ENABLE);
drivers/net/ethernet/chelsio/cxgb/pm3393.c
178
t1_tpi_read(cmac->adapter, A_ELMER0_INT_ENABLE, &elmer);
drivers/net/ethernet/chelsio/cxgb/pm3393.c
180
t1_tpi_write(cmac->adapter, A_ELMER0_INT_ENABLE, elmer);
drivers/net/ethernet/chelsio/cxgb/pm3393.c
221
t1_tpi_read(cmac->adapter, A_ELMER0_INT_CAUSE, &elmer);
drivers/net/ethernet/chelsio/cxgb/pm3393.c
223
t1_tpi_write(cmac->adapter, A_ELMER0_INT_CAUSE, elmer);
drivers/net/ethernet/chelsio/cxgb/pm3393.c
227
pl_intr = readl(cmac->adapter->regs + A_PL_CAUSE);
drivers/net/ethernet/chelsio/cxgb/pm3393.c
229
writel(pl_intr, cmac->adapter->regs + A_PL_CAUSE);
drivers/net/ethernet/chelsio/cxgb/pm3393.c
242
if (netif_msg_intr(cmac->adapter))
drivers/net/ethernet/chelsio/cxgb/pm3393.c
243
dev_dbg(&cmac->adapter->pdev->dev, "PM3393 intr cause 0x%x\n",
drivers/net/ethernet/chelsio/cxgb/pm3393.c
287
t1_link_changed(cmac->adapter, 0);
drivers/net/ethernet/chelsio/cxgb/pm3393.c
420
t1_tpi_read((mac)->adapter, OFFSET(name), &val0); \
drivers/net/ethernet/chelsio/cxgb/pm3393.c
421
t1_tpi_read((mac)->adapter, OFFSET((name)+1), &val1); \
drivers/net/ethernet/chelsio/cxgb/pm3393.c
422
t1_tpi_read((mac)->adapter, OFFSET((name)+2), &val2); \
drivers/net/ethernet/chelsio/cxgb/pm3393.c
578
static struct cmac *pm3393_mac_create(adapter_t *adapter, int index)
drivers/net/ethernet/chelsio/cxgb/pm3393.c
588
cmac->adapter = adapter;
drivers/net/ethernet/chelsio/cxgb/pm3393.c
591
t1_tpi_write(adapter, OFFSET(0x0001), 0x00008000);
drivers/net/ethernet/chelsio/cxgb/pm3393.c
592
t1_tpi_write(adapter, OFFSET(0x0001), 0x00000000);
drivers/net/ethernet/chelsio/cxgb/pm3393.c
593
t1_tpi_write(adapter, OFFSET(0x2308), 0x00009800);
drivers/net/ethernet/chelsio/cxgb/pm3393.c
594
t1_tpi_write(adapter, OFFSET(0x2305), 0x00001001); /* PL4IO Enable */
drivers/net/ethernet/chelsio/cxgb/pm3393.c
595
t1_tpi_write(adapter, OFFSET(0x2320), 0x00008800);
drivers/net/ethernet/chelsio/cxgb/pm3393.c
596
t1_tpi_write(adapter, OFFSET(0x2321), 0x00008800);
drivers/net/ethernet/chelsio/cxgb/pm3393.c
597
t1_tpi_write(adapter, OFFSET(0x2322), 0x00008800);
drivers/net/ethernet/chelsio/cxgb/pm3393.c
598
t1_tpi_write(adapter, OFFSET(0x2323), 0x00008800);
drivers/net/ethernet/chelsio/cxgb/pm3393.c
599
t1_tpi_write(adapter, OFFSET(0x2324), 0x00008800);
drivers/net/ethernet/chelsio/cxgb/pm3393.c
600
t1_tpi_write(adapter, OFFSET(0x2325), 0x00008800);
drivers/net/ethernet/chelsio/cxgb/pm3393.c
601
t1_tpi_write(adapter, OFFSET(0x2326), 0x00008800);
drivers/net/ethernet/chelsio/cxgb/pm3393.c
602
t1_tpi_write(adapter, OFFSET(0x2327), 0x00008800);
drivers/net/ethernet/chelsio/cxgb/pm3393.c
603
t1_tpi_write(adapter, OFFSET(0x2328), 0x00008800);
drivers/net/ethernet/chelsio/cxgb/pm3393.c
604
t1_tpi_write(adapter, OFFSET(0x2329), 0x00008800);
drivers/net/ethernet/chelsio/cxgb/pm3393.c
605
t1_tpi_write(adapter, OFFSET(0x232a), 0x00008800);
drivers/net/ethernet/chelsio/cxgb/pm3393.c
606
t1_tpi_write(adapter, OFFSET(0x232b), 0x00008800);
drivers/net/ethernet/chelsio/cxgb/pm3393.c
607
t1_tpi_write(adapter, OFFSET(0x232c), 0x00008800);
drivers/net/ethernet/chelsio/cxgb/pm3393.c
608
t1_tpi_write(adapter, OFFSET(0x232d), 0x00008800);
drivers/net/ethernet/chelsio/cxgb/pm3393.c
609
t1_tpi_write(adapter, OFFSET(0x232e), 0x00008800);
drivers/net/ethernet/chelsio/cxgb/pm3393.c
610
t1_tpi_write(adapter, OFFSET(0x232f), 0x00008800);
drivers/net/ethernet/chelsio/cxgb/pm3393.c
611
t1_tpi_write(adapter, OFFSET(0x230d), 0x00009c00);
drivers/net/ethernet/chelsio/cxgb/pm3393.c
612
t1_tpi_write(adapter, OFFSET(0x2304), 0x00000202); /* PL4IO Calendar Repetitions */
drivers/net/ethernet/chelsio/cxgb/pm3393.c
614
t1_tpi_write(adapter, OFFSET(0x3200), 0x00008080); /* EFLX Enable */
drivers/net/ethernet/chelsio/cxgb/pm3393.c
615
t1_tpi_write(adapter, OFFSET(0x3210), 0x00000000); /* EFLX Channel Deprovision */
drivers/net/ethernet/chelsio/cxgb/pm3393.c
616
t1_tpi_write(adapter, OFFSET(0x3203), 0x00000000); /* EFLX Low Limit */
drivers/net/ethernet/chelsio/cxgb/pm3393.c
617
t1_tpi_write(adapter, OFFSET(0x3204), 0x00000040); /* EFLX High Limit */
drivers/net/ethernet/chelsio/cxgb/pm3393.c
618
t1_tpi_write(adapter, OFFSET(0x3205), 0x000002cc); /* EFLX Almost Full */
drivers/net/ethernet/chelsio/cxgb/pm3393.c
619
t1_tpi_write(adapter, OFFSET(0x3206), 0x00000199); /* EFLX Almost Empty */
drivers/net/ethernet/chelsio/cxgb/pm3393.c
620
t1_tpi_write(adapter, OFFSET(0x3207), 0x00000240); /* EFLX Cut Through Threshold */
drivers/net/ethernet/chelsio/cxgb/pm3393.c
621
t1_tpi_write(adapter, OFFSET(0x3202), 0x00000000); /* EFLX Indirect Register Update */
drivers/net/ethernet/chelsio/cxgb/pm3393.c
622
t1_tpi_write(adapter, OFFSET(0x3210), 0x00000001); /* EFLX Channel Provision */
drivers/net/ethernet/chelsio/cxgb/pm3393.c
623
t1_tpi_write(adapter, OFFSET(0x3208), 0x0000ffff); /* EFLX Undocumented */
drivers/net/ethernet/chelsio/cxgb/pm3393.c
624
t1_tpi_write(adapter, OFFSET(0x320a), 0x0000ffff); /* EFLX Undocumented */
drivers/net/ethernet/chelsio/cxgb/pm3393.c
625
t1_tpi_write(adapter, OFFSET(0x320c), 0x0000ffff); /* EFLX enable overflow interrupt The other bit are undocumented */
drivers/net/ethernet/chelsio/cxgb/pm3393.c
626
t1_tpi_write(adapter, OFFSET(0x320e), 0x0000ffff); /* EFLX Undocumented */
drivers/net/ethernet/chelsio/cxgb/pm3393.c
628
t1_tpi_write(adapter, OFFSET(0x2200), 0x0000c000); /* IFLX Configuration - enable */
drivers/net/ethernet/chelsio/cxgb/pm3393.c
629
t1_tpi_write(adapter, OFFSET(0x2201), 0x00000000); /* IFLX Channel Deprovision */
drivers/net/ethernet/chelsio/cxgb/pm3393.c
630
t1_tpi_write(adapter, OFFSET(0x220e), 0x00000000); /* IFLX Low Limit */
drivers/net/ethernet/chelsio/cxgb/pm3393.c
631
t1_tpi_write(adapter, OFFSET(0x220f), 0x00000100); /* IFLX High Limit */
drivers/net/ethernet/chelsio/cxgb/pm3393.c
632
t1_tpi_write(adapter, OFFSET(0x2210), 0x00000c00); /* IFLX Almost Full Limit */
drivers/net/ethernet/chelsio/cxgb/pm3393.c
633
t1_tpi_write(adapter, OFFSET(0x2211), 0x00000599); /* IFLX Almost Empty Limit */
drivers/net/ethernet/chelsio/cxgb/pm3393.c
634
t1_tpi_write(adapter, OFFSET(0x220d), 0x00000000); /* IFLX Indirect Register Update */
drivers/net/ethernet/chelsio/cxgb/pm3393.c
635
t1_tpi_write(adapter, OFFSET(0x2201), 0x00000001); /* IFLX Channel Provision */
drivers/net/ethernet/chelsio/cxgb/pm3393.c
636
t1_tpi_write(adapter, OFFSET(0x2203), 0x0000ffff); /* IFLX Undocumented */
drivers/net/ethernet/chelsio/cxgb/pm3393.c
637
t1_tpi_write(adapter, OFFSET(0x2205), 0x0000ffff); /* IFLX Undocumented */
drivers/net/ethernet/chelsio/cxgb/pm3393.c
638
t1_tpi_write(adapter, OFFSET(0x2209), 0x0000ffff); /* IFLX Enable overflow interrupt. The other bit are undocumented */
drivers/net/ethernet/chelsio/cxgb/pm3393.c
640
t1_tpi_write(adapter, OFFSET(0x2241), 0xfffffffe); /* PL4MOS Undocumented */
drivers/net/ethernet/chelsio/cxgb/pm3393.c
641
t1_tpi_write(adapter, OFFSET(0x2242), 0x0000ffff); /* PL4MOS Undocumented */
drivers/net/ethernet/chelsio/cxgb/pm3393.c
642
t1_tpi_write(adapter, OFFSET(0x2243), 0x00000008); /* PL4MOS Starving Burst Size */
drivers/net/ethernet/chelsio/cxgb/pm3393.c
643
t1_tpi_write(adapter, OFFSET(0x2244), 0x00000008); /* PL4MOS Hungry Burst Size */
drivers/net/ethernet/chelsio/cxgb/pm3393.c
644
t1_tpi_write(adapter, OFFSET(0x2245), 0x00000008); /* PL4MOS Transfer Size */
drivers/net/ethernet/chelsio/cxgb/pm3393.c
645
t1_tpi_write(adapter, OFFSET(0x2240), 0x00000005); /* PL4MOS Disable */
drivers/net/ethernet/chelsio/cxgb/pm3393.c
647
t1_tpi_write(adapter, OFFSET(0x2280), 0x00002103); /* PL4ODP Training Repeat and SOP rule */
drivers/net/ethernet/chelsio/cxgb/pm3393.c
648
t1_tpi_write(adapter, OFFSET(0x2284), 0x00000000); /* PL4ODP MAX_T setting */
drivers/net/ethernet/chelsio/cxgb/pm3393.c
650
t1_tpi_write(adapter, OFFSET(0x3280), 0x00000087); /* PL4IDU Enable data forward, port state machine. Set ALLOW_NON_ZERO_OLB */
drivers/net/ethernet/chelsio/cxgb/pm3393.c
651
t1_tpi_write(adapter, OFFSET(0x3282), 0x0000001f); /* PL4IDU Enable Dip4 check error interrupts */
drivers/net/ethernet/chelsio/cxgb/pm3393.c
653
t1_tpi_write(adapter, OFFSET(0x3040), 0x0c32); /* # TXXG Config */
drivers/net/ethernet/chelsio/cxgb/pm3393.c
655
t1_tpi_write(adapter, OFFSET(0x304d), 0x8000);
drivers/net/ethernet/chelsio/cxgb/pm3393.c
656
t1_tpi_write(adapter, OFFSET(0x2040), 0x059c); /* # RXXG Config */
drivers/net/ethernet/chelsio/cxgb/pm3393.c
657
t1_tpi_write(adapter, OFFSET(0x2049), 0x0001); /* # RXXG Cut Through */
drivers/net/ethernet/chelsio/cxgb/pm3393.c
658
t1_tpi_write(adapter, OFFSET(0x2070), 0x0000); /* # Disable promiscuous mode */
drivers/net/ethernet/chelsio/cxgb/pm3393.c
662
t1_tpi_write(adapter, OFFSET(0x206e), 0x0000); /* # Disable Match Enable bit */
drivers/net/ethernet/chelsio/cxgb/pm3393.c
663
t1_tpi_write(adapter, OFFSET(0x204a), 0xffff); /* # low addr */
drivers/net/ethernet/chelsio/cxgb/pm3393.c
664
t1_tpi_write(adapter, OFFSET(0x204b), 0xffff); /* # mid addr */
drivers/net/ethernet/chelsio/cxgb/pm3393.c
665
t1_tpi_write(adapter, OFFSET(0x204c), 0xffff); /* # high addr */
drivers/net/ethernet/chelsio/cxgb/pm3393.c
666
t1_tpi_write(adapter, OFFSET(0x206e), 0x0009); /* # Enable Match Enable bit */
drivers/net/ethernet/chelsio/cxgb/pm3393.c
668
t1_tpi_write(adapter, OFFSET(0x0003), 0x0000); /* # NO SOP/ PAD_EN setup */
drivers/net/ethernet/chelsio/cxgb/pm3393.c
669
t1_tpi_write(adapter, OFFSET(0x0100), 0x0ff0); /* # RXEQB disabled */
drivers/net/ethernet/chelsio/cxgb/pm3393.c
670
t1_tpi_write(adapter, OFFSET(0x0101), 0x0f0f); /* # No Preemphasis */
drivers/net/ethernet/chelsio/cxgb/pm3393.c
675
static int pm3393_mac_reset(adapter_t * adapter)
drivers/net/ethernet/chelsio/cxgb/pm3393.c
717
t1_tpi_read(adapter, A_ELMER0_GPO, &val);
drivers/net/ethernet/chelsio/cxgb/pm3393.c
719
t1_tpi_write(adapter, A_ELMER0_GPO, val);
drivers/net/ethernet/chelsio/cxgb/pm3393.c
732
t1_tpi_write(adapter, A_ELMER0_GPO, val);
drivers/net/ethernet/chelsio/cxgb/pm3393.c
743
t1_tpi_read(adapter, OFFSET(SUNI1x10GEXP_REG_DEVICE_STATUS), &val);
drivers/net/ethernet/chelsio/cxgb/pm3393.c
766
if (netif_msg_hw(adapter))
drivers/net/ethernet/chelsio/cxgb/pm3393.c
767
dev_dbg(&adapter->pdev->dev,
drivers/net/ethernet/chelsio/cxgb/pm3393.c
87
t1_tpi_read(cmac->adapter, OFFSET(reg), data32);
drivers/net/ethernet/chelsio/cxgb/pm3393.c
93
t1_tpi_write(cmac->adapter, OFFSET(reg), data32);
drivers/net/ethernet/chelsio/cxgb/sge.c
1040
static inline struct sk_buff *get_packet(struct adapter *adapter,
drivers/net/ethernet/chelsio/cxgb/sge.c
1044
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/chelsio/cxgb/sge.c
1048
skb = napi_alloc_skb(&adapter->napi, len);
drivers/net/ethernet/chelsio/cxgb/sge.c
1090
static void unexpected_offload(struct adapter *adapter, struct freelQ *fl)
drivers/net/ethernet/chelsio/cxgb/sge.c
1095
dma_sync_single_for_cpu(&adapter->pdev->dev,
drivers/net/ethernet/chelsio/cxgb/sge.c
1099
adapter->name, *skb->data);
drivers/net/ethernet/chelsio/cxgb/sge.c
1201
static inline void write_tx_descs(struct adapter *adapter, struct sk_buff *skb,
drivers/net/ethernet/chelsio/cxgb/sge.c
1214
mapping = dma_map_single(&adapter->pdev->dev, skb->data,
drivers/net/ethernet/chelsio/cxgb/sge.c
1267
mapping = skb_frag_dma_map(&adapter->pdev->dev, frag, 0,
drivers/net/ethernet/chelsio/cxgb/sge.c
1310
struct adapter *adapter = sge->adapter;
drivers/net/ethernet/chelsio/cxgb/sge.c
1332
write_tx_descs(adapter, skb, pidx, genbit, q);
drivers/net/ethernet/chelsio/cxgb/sge.c
1341
writel(F_CMDQ0_ENABLE, adapter->regs + A_SG_DOORBELL);
drivers/net/ethernet/chelsio/cxgb/sge.c
1359
struct adapter *adapter = sge->adapter;
drivers/net/ethernet/chelsio/cxgb/sge.c
1363
skb = get_packet(adapter, fl, len - sge->rx_pkt_pad);
drivers/net/ethernet/chelsio/cxgb/sge.c
1370
if (p->iff >= adapter->params.nports) {
drivers/net/ethernet/chelsio/cxgb/sge.c
1377
dev = adapter->port[p->iff].dev;
drivers/net/ethernet/chelsio/cxgb/sge.c
1412
struct adapter *adap = sge->adapter;
drivers/net/ethernet/chelsio/cxgb/sge.c
1433
static unsigned int update_tx_info(struct adapter *adapter,
drivers/net/ethernet/chelsio/cxgb/sge.c
1437
struct sge *sge = adapter->sge;
drivers/net/ethernet/chelsio/cxgb/sge.c
1451
writel(F_CMDQ0_ENABLE, adapter->regs + A_SG_DOORBELL);
drivers/net/ethernet/chelsio/cxgb/sge.c
1469
static int process_responses(struct adapter *adapter, int budget)
drivers/net/ethernet/chelsio/cxgb/sge.c
1471
struct sge *sge = adapter->sge;
drivers/net/ethernet/chelsio/cxgb/sge.c
1489
flags = update_tx_info(adapter, flags, cmdq_processed[0]);
drivers/net/ethernet/chelsio/cxgb/sge.c
1503
unexpected_offload(adapter, fl);
drivers/net/ethernet/chelsio/cxgb/sge.c
1532
writel(q->credits, adapter->regs + A_SG_RSPQUEUECREDIT);
drivers/net/ethernet/chelsio/cxgb/sge.c
1537
flags = update_tx_info(adapter, flags, cmdq_processed[0]);
drivers/net/ethernet/chelsio/cxgb/sge.c
1543
static inline int responses_pending(const struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb/sge.c
1545
const struct respQ *Q = &adapter->sge->respQ;
drivers/net/ethernet/chelsio/cxgb/sge.c
1559
static int process_pure_responses(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb/sge.c
1561
struct sge *sge = adapter->sge;
drivers/net/ethernet/chelsio/cxgb/sge.c
1587
writel(q->credits, adapter->regs + A_SG_RSPQUEUECREDIT);
drivers/net/ethernet/chelsio/cxgb/sge.c
1593
flags = update_tx_info(adapter, flags, cmdq_processed[0]);
drivers/net/ethernet/chelsio/cxgb/sge.c
1606
struct adapter *adapter = container_of(napi, struct adapter, napi);
drivers/net/ethernet/chelsio/cxgb/sge.c
1607
int work_done = process_responses(adapter, budget);
drivers/net/ethernet/chelsio/cxgb/sge.c
1611
writel(adapter->sge->respQ.cidx,
drivers/net/ethernet/chelsio/cxgb/sge.c
1612
adapter->regs + A_SG_SLEEPING);
drivers/net/ethernet/chelsio/cxgb/sge.c
1619
struct adapter *adapter = data;
drivers/net/ethernet/chelsio/cxgb/sge.c
1622
spin_lock_irq(&adapter->async_lock);
drivers/net/ethernet/chelsio/cxgb/sge.c
1623
pending_thread_intr = adapter->pending_thread_intr;
drivers/net/ethernet/chelsio/cxgb/sge.c
1624
adapter->pending_thread_intr = 0;
drivers/net/ethernet/chelsio/cxgb/sge.c
1625
spin_unlock_irq(&adapter->async_lock);
drivers/net/ethernet/chelsio/cxgb/sge.c
1631
t1_elmer0_ext_intr_handler(adapter);
drivers/net/ethernet/chelsio/cxgb/sge.c
1636
adapter->name);
drivers/net/ethernet/chelsio/cxgb/sge.c
1637
t1_sge_stop(adapter->sge);
drivers/net/ethernet/chelsio/cxgb/sge.c
1641
spin_lock_irq(&adapter->async_lock);
drivers/net/ethernet/chelsio/cxgb/sge.c
1642
adapter->slow_intr_mask |= F_PL_INTR_EXT;
drivers/net/ethernet/chelsio/cxgb/sge.c
1644
writel(F_PL_INTR_EXT, adapter->regs + A_PL_CAUSE);
drivers/net/ethernet/chelsio/cxgb/sge.c
1645
writel(adapter->slow_intr_mask | F_PL_INTR_SGE_DATA,
drivers/net/ethernet/chelsio/cxgb/sge.c
1646
adapter->regs + A_PL_ENABLE);
drivers/net/ethernet/chelsio/cxgb/sge.c
1647
spin_unlock_irq(&adapter->async_lock);
drivers/net/ethernet/chelsio/cxgb/sge.c
1654
struct adapter *adapter = data;
drivers/net/ethernet/chelsio/cxgb/sge.c
1655
struct sge *sge = adapter->sge;
drivers/net/ethernet/chelsio/cxgb/sge.c
1658
if (likely(responses_pending(adapter))) {
drivers/net/ethernet/chelsio/cxgb/sge.c
1659
writel(F_PL_INTR_SGE_DATA, adapter->regs + A_PL_CAUSE);
drivers/net/ethernet/chelsio/cxgb/sge.c
1661
if (napi_schedule_prep(&adapter->napi)) {
drivers/net/ethernet/chelsio/cxgb/sge.c
1662
if (process_pure_responses(adapter))
drivers/net/ethernet/chelsio/cxgb/sge.c
1663
__napi_schedule(&adapter->napi);
drivers/net/ethernet/chelsio/cxgb/sge.c
1666
writel(sge->respQ.cidx, adapter->regs + A_SG_SLEEPING);
drivers/net/ethernet/chelsio/cxgb/sge.c
1668
napi_enable(&adapter->napi);
drivers/net/ethernet/chelsio/cxgb/sge.c
1674
spin_lock(&adapter->async_lock);
drivers/net/ethernet/chelsio/cxgb/sge.c
1675
handled = t1_slow_intr_handler(adapter);
drivers/net/ethernet/chelsio/cxgb/sge.c
1676
spin_unlock(&adapter->async_lock);
drivers/net/ethernet/chelsio/cxgb/sge.c
1697
static int t1_sge_tx(struct sk_buff *skb, struct adapter *adapter,
drivers/net/ethernet/chelsio/cxgb/sge.c
1700
struct sge *sge = adapter->sge;
drivers/net/ethernet/chelsio/cxgb/sge.c
1720
adapter->name);
drivers/net/ethernet/chelsio/cxgb/sge.c
1761
write_tx_descs(adapter, skb, pidx, genbit, q);
drivers/net/ethernet/chelsio/cxgb/sge.c
1771
doorbell_pio(adapter, F_CMDQ1_ENABLE);
drivers/net/ethernet/chelsio/cxgb/sge.c
1776
writel(F_CMDQ0_ENABLE, adapter->regs + A_SG_DOORBELL);
drivers/net/ethernet/chelsio/cxgb/sge.c
1810
struct adapter *adapter = dev->ml_priv;
drivers/net/ethernet/chelsio/cxgb/sge.c
1811
struct sge *sge = adapter->sge;
drivers/net/ethernet/chelsio/cxgb/sge.c
1877
if ((unlikely(!adapter->sge->espibug_skb[dev->if_port]))) {
drivers/net/ethernet/chelsio/cxgb/sge.c
1880
adapter->sge->espibug_skb[dev->if_port] = skb;
drivers/net/ethernet/chelsio/cxgb/sge.c
1907
ret = t1_sge_tx(skb, adapter, 0, dev);
drivers/net/ethernet/chelsio/cxgb/sge.c
1935
writel(F_CMDQ0_ENABLE, sge->adapter->regs + A_SG_DOORBELL);
drivers/net/ethernet/chelsio/cxgb/sge.c
1948
core_ticks_per_usec(sge->adapter);
drivers/net/ethernet/chelsio/cxgb/sge.c
1949
writel(sge->fixed_intrtimer, sge->adapter->regs + A_SG_INTRTIMER);
drivers/net/ethernet/chelsio/cxgb/sge.c
1983
writel(0, sge->adapter->regs + A_SG_CONTROL);
drivers/net/ethernet/chelsio/cxgb/sge.c
1984
readl(sge->adapter->regs + A_SG_CONTROL); /* flush */
drivers/net/ethernet/chelsio/cxgb/sge.c
1986
if (is_T2(sge->adapter))
drivers/net/ethernet/chelsio/cxgb/sge.c
2005
writel(sge->sge_control, sge->adapter->regs + A_SG_CONTROL);
drivers/net/ethernet/chelsio/cxgb/sge.c
2006
doorbell_pio(sge->adapter, F_FL0_ENABLE | F_FL1_ENABLE);
drivers/net/ethernet/chelsio/cxgb/sge.c
2007
readl(sge->adapter->regs + A_SG_CONTROL); /* flush */
drivers/net/ethernet/chelsio/cxgb/sge.c
2011
if (is_T2(sge->adapter))
drivers/net/ethernet/chelsio/cxgb/sge.c
2021
struct adapter *adapter = sge->adapter;
drivers/net/ethernet/chelsio/cxgb/sge.c
2022
unsigned int nports = adapter->params.nports;
drivers/net/ethernet/chelsio/cxgb/sge.c
2025
if (adapter->open_device_map & PORT_MASK) {
drivers/net/ethernet/chelsio/cxgb/sge.c
2028
if (t1_espi_get_mon_t204(adapter, &(seop[0]), 0) < 0)
drivers/net/ethernet/chelsio/cxgb/sge.c
2034
if (!netif_running(adapter->port[i].dev) ||
drivers/net/ethernet/chelsio/cxgb/sge.c
2035
netif_queue_stopped(adapter->port[i].dev) ||
drivers/net/ethernet/chelsio/cxgb/sge.c
2055
t1_sge_tx(skb, adapter, 0, adapter->port[i].dev);
drivers/net/ethernet/chelsio/cxgb/sge.c
2064
struct adapter *adapter = sge->adapter;
drivers/net/ethernet/chelsio/cxgb/sge.c
2066
if (netif_running(adapter->port[0].dev)) {
drivers/net/ethernet/chelsio/cxgb/sge.c
2068
u32 seop = t1_espi_get_mon(adapter, 0x930, 0);
drivers/net/ethernet/chelsio/cxgb/sge.c
2087
t1_sge_tx(skb, adapter, 0, adapter->port[0].dev);
drivers/net/ethernet/chelsio/cxgb/sge.c
2096
struct sge *t1_sge_create(struct adapter *adapter, struct sge_params *p)
drivers/net/ethernet/chelsio/cxgb/sge.c
2104
sge->adapter = adapter;
drivers/net/ethernet/chelsio/cxgb/sge.c
2105
sge->netdev = adapter->port[0].dev;
drivers/net/ethernet/chelsio/cxgb/sge.c
2106
sge->rx_pkt_pad = t1_is_T1B(adapter) ? 0 : 2;
drivers/net/ethernet/chelsio/cxgb/sge.c
2107
sge->jumbo_fl = t1_is_T1B(adapter) ? 1 : 0;
drivers/net/ethernet/chelsio/cxgb/sge.c
2109
for_each_port(adapter, i) {
drivers/net/ethernet/chelsio/cxgb/sge.c
2117
if (is_T2(sge->adapter)) {
drivers/net/ethernet/chelsio/cxgb/sge.c
2119
adapter->params.nports > 1 ? espibug_workaround_t204 : espibug_workaround,
drivers/net/ethernet/chelsio/cxgb/sge.c
2122
if (adapter->params.nports > 1)
drivers/net/ethernet/chelsio/cxgb/sge.c
2127
if (adapter->params.nports > 1)
drivers/net/ethernet/chelsio/cxgb/sge.c
2137
if (board_info(sge->adapter)->board == CHBT_BOARD_CHT204)
drivers/net/ethernet/chelsio/cxgb/sge.c
248
struct adapter *adapter; /* adapter backpointer */
drivers/net/ethernet/chelsio/cxgb/sge.c
313
if (board_info(sge->adapter)->board == CHBT_BOARD_CHT204) {
drivers/net/ethernet/chelsio/cxgb/sge.c
478
writel(F_CMDQ0_ENABLE, sge->adapter->regs + A_SG_DOORBELL);
drivers/net/ethernet/chelsio/cxgb/sge.c
489
static inline void doorbell_pio(struct adapter *adapter, u32 val)
drivers/net/ethernet/chelsio/cxgb/sge.c
492
writel(val, adapter->regs + A_SG_DOORBELL);
drivers/net/ethernet/chelsio/cxgb/sge.c
520
struct pci_dev *pdev = sge->adapter->pdev;
drivers/net/ethernet/chelsio/cxgb/sge.c
550
struct pci_dev *pdev = sge->adapter->pdev;
drivers/net/ethernet/chelsio/cxgb/sge.c
615
struct pci_dev *pdev = sge->adapter->pdev;
drivers/net/ethernet/chelsio/cxgb/sge.c
649
struct pci_dev *pdev = sge->adapter->pdev;
drivers/net/ethernet/chelsio/cxgb/sge.c
673
struct pci_dev *pdev = sge->adapter->pdev;
drivers/net/ethernet/chelsio/cxgb/sge.c
706
sge->cmdQ[0].stop_thres = sge->adapter->params.nports *
drivers/net/ethernet/chelsio/cxgb/sge.c
715
static inline void setup_ring_params(struct adapter *adapter, u64 addr,
drivers/net/ethernet/chelsio/cxgb/sge.c
719
writel((u32)addr, adapter->regs + base_reg_lo);
drivers/net/ethernet/chelsio/cxgb/sge.c
720
writel(addr >> 32, adapter->regs + base_reg_hi);
drivers/net/ethernet/chelsio/cxgb/sge.c
721
writel(size, adapter->regs + size_reg);
drivers/net/ethernet/chelsio/cxgb/sge.c
727
void t1_vlan_mode(struct adapter *adapter, netdev_features_t features)
drivers/net/ethernet/chelsio/cxgb/sge.c
729
struct sge *sge = adapter->sge;
drivers/net/ethernet/chelsio/cxgb/sge.c
735
if (adapter->open_device_map) {
drivers/net/ethernet/chelsio/cxgb/sge.c
736
writel(sge->sge_control, adapter->regs + A_SG_CONTROL);
drivers/net/ethernet/chelsio/cxgb/sge.c
737
readl(adapter->regs + A_SG_CONTROL); /* flush */
drivers/net/ethernet/chelsio/cxgb/sge.c
747
struct adapter *ap = sge->adapter;
drivers/net/ethernet/chelsio/cxgb/sge.c
800
for_each_port(sge->adapter, i)
drivers/net/ethernet/chelsio/cxgb/sge.c
823
struct pci_dev *pdev = sge->adapter->pdev;
drivers/net/ethernet/chelsio/cxgb/sge.c
869
struct adapter *adapter = sge->adapter;
drivers/net/ethernet/chelsio/cxgb/sge.c
870
u32 irq_reg = readl(adapter->regs + A_SG_INT_ENABLE);
drivers/net/ethernet/chelsio/cxgb/sge.c
885
writel(irqholdoff_reg, adapter->regs + A_SG_INTRTIMER);
drivers/net/ethernet/chelsio/cxgb/sge.c
886
writel(irq_reg, adapter->regs + A_SG_INT_ENABLE);
drivers/net/ethernet/chelsio/cxgb/sge.c
889
doorbell_pio(adapter, F_FL0_ENABLE | F_FL1_ENABLE);
drivers/net/ethernet/chelsio/cxgb/sge.c
902
u32 val = readl(sge->adapter->regs + A_PL_ENABLE);
drivers/net/ethernet/chelsio/cxgb/sge.c
904
writel(val & ~SGE_PL_INTR_MASK, sge->adapter->regs + A_PL_ENABLE);
drivers/net/ethernet/chelsio/cxgb/sge.c
905
writel(0, sge->adapter->regs + A_SG_INT_ENABLE);
drivers/net/ethernet/chelsio/cxgb/sge.c
914
u32 val = readl(sge->adapter->regs + A_PL_ENABLE);
drivers/net/ethernet/chelsio/cxgb/sge.c
916
if (sge->adapter->port[0].dev->hw_features & NETIF_F_TSO)
drivers/net/ethernet/chelsio/cxgb/sge.c
918
writel(en, sge->adapter->regs + A_SG_INT_ENABLE);
drivers/net/ethernet/chelsio/cxgb/sge.c
919
writel(val | SGE_PL_INTR_MASK, sge->adapter->regs + A_PL_ENABLE);
drivers/net/ethernet/chelsio/cxgb/sge.c
927
writel(SGE_PL_INTR_MASK, sge->adapter->regs + A_PL_CAUSE);
drivers/net/ethernet/chelsio/cxgb/sge.c
928
writel(0xffffffff, sge->adapter->regs + A_SG_INT_CAUSE);
drivers/net/ethernet/chelsio/cxgb/sge.c
936
struct adapter *adapter = sge->adapter;
drivers/net/ethernet/chelsio/cxgb/sge.c
937
u32 cause = readl(adapter->regs + A_SG_INT_CAUSE);
drivers/net/ethernet/chelsio/cxgb/sge.c
940
if (adapter->port[0].dev->hw_features & NETIF_F_TSO)
drivers/net/ethernet/chelsio/cxgb/sge.c
947
adapter->name);
drivers/net/ethernet/chelsio/cxgb/sge.c
956
adapter->name);
drivers/net/ethernet/chelsio/cxgb/sge.c
960
pr_alert("%s: SGE packet mismatch\n", adapter->name);
drivers/net/ethernet/chelsio/cxgb/sge.c
963
t1_interrupts_disable(adapter);
drivers/net/ethernet/chelsio/cxgb/sge.c
964
adapter->pending_thread_intr |= F_PL_INTR_SGE_ERR;
drivers/net/ethernet/chelsio/cxgb/sge.c
968
writel(cause, adapter->regs + A_SG_INT_CAUSE);
drivers/net/ethernet/chelsio/cxgb/sge.h
60
struct adapter;
drivers/net/ethernet/chelsio/cxgb/sge.h
64
struct sge *t1_sge_create(struct adapter *, struct sge_params *);
drivers/net/ethernet/chelsio/cxgb/sge.h
73
void t1_vlan_mode(struct adapter *adapter, netdev_features_t features);
drivers/net/ethernet/chelsio/cxgb/subr.c
101
int __t1_tpi_read(adapter_t *adapter, u32 addr, u32 *valp)
drivers/net/ethernet/chelsio/cxgb/subr.c
1011
static void get_pci_mode(adapter_t *adapter, struct chelsio_pci_params *p)
drivers/net/ethernet/chelsio/cxgb/subr.c
1016
pci_read_config_dword(adapter->pdev, A_PCICFG_MODE, &pci_mode);
drivers/net/ethernet/chelsio/cxgb/subr.c
1025
void t1_free_sw_modules(adapter_t *adapter)
drivers/net/ethernet/chelsio/cxgb/subr.c
1029
for_each_port(adapter, i) {
drivers/net/ethernet/chelsio/cxgb/subr.c
1030
struct cmac *mac = adapter->port[i].mac;
drivers/net/ethernet/chelsio/cxgb/subr.c
1031
struct cphy *phy = adapter->port[i].phy;
drivers/net/ethernet/chelsio/cxgb/subr.c
1039
if (adapter->sge)
drivers/net/ethernet/chelsio/cxgb/subr.c
1040
t1_sge_destroy(adapter->sge);
drivers/net/ethernet/chelsio/cxgb/subr.c
1041
if (adapter->tp)
drivers/net/ethernet/chelsio/cxgb/subr.c
1042
t1_tp_destroy(adapter->tp);
drivers/net/ethernet/chelsio/cxgb/subr.c
1043
if (adapter->espi)
drivers/net/ethernet/chelsio/cxgb/subr.c
1044
t1_espi_destroy(adapter->espi);
drivers/net/ethernet/chelsio/cxgb/subr.c
105
writel(addr, adapter->regs + A_TPI_ADDR);
drivers/net/ethernet/chelsio/cxgb/subr.c
106
writel(0, adapter->regs + A_TPI_CSR);
drivers/net/ethernet/chelsio/cxgb/subr.c
1068
int t1_init_sw_modules(adapter_t *adapter, const struct board_info *bi)
drivers/net/ethernet/chelsio/cxgb/subr.c
1072
adapter->params.brd_info = bi;
drivers/net/ethernet/chelsio/cxgb/subr.c
1073
adapter->params.nports = bi->port_number;
drivers/net/ethernet/chelsio/cxgb/subr.c
1074
adapter->params.stats_update_period = bi->gmac->stats_update_period;
drivers/net/ethernet/chelsio/cxgb/subr.c
1076
adapter->sge = t1_sge_create(adapter, &adapter->params.sge);
drivers/net/ethernet/chelsio/cxgb/subr.c
1077
if (!adapter->sge) {
drivers/net/ethernet/chelsio/cxgb/subr.c
1079
adapter->name);
drivers/net/ethernet/chelsio/cxgb/subr.c
108
tpi_busy = t1_wait_op_done(adapter, A_TPI_CSR, F_TPIRDY, 1,
drivers/net/ethernet/chelsio/cxgb/subr.c
1083
if (bi->espi_nports && !(adapter->espi = t1_espi_create(adapter))) {
drivers/net/ethernet/chelsio/cxgb/subr.c
1085
adapter->name);
drivers/net/ethernet/chelsio/cxgb/subr.c
1089
adapter->tp = t1_tp_create(adapter, &adapter->params.tp);
drivers/net/ethernet/chelsio/cxgb/subr.c
1090
if (!adapter->tp) {
drivers/net/ethernet/chelsio/cxgb/subr.c
1092
adapter->name);
drivers/net/ethernet/chelsio/cxgb/subr.c
1096
board_init(adapter, bi);
drivers/net/ethernet/chelsio/cxgb/subr.c
1097
bi->mdio_ops->init(adapter, bi);
drivers/net/ethernet/chelsio/cxgb/subr.c
1099
bi->gphy->reset(adapter);
drivers/net/ethernet/chelsio/cxgb/subr.c
1101
bi->gmac->reset(adapter);
drivers/net/ethernet/chelsio/cxgb/subr.c
1103
for_each_port(adapter, i) {
drivers/net/ethernet/chelsio/cxgb/subr.c
1108
adapter->port[i].phy = bi->gphy->create(adapter->port[i].dev,
drivers/net/ethernet/chelsio/cxgb/subr.c
1110
if (!adapter->port[i].phy) {
drivers/net/ethernet/chelsio/cxgb/subr.c
1112
adapter->name, i);
drivers/net/ethernet/chelsio/cxgb/subr.c
1116
adapter->port[i].mac = mac = bi->gmac->create(adapter, i);
drivers/net/ethernet/chelsio/cxgb/subr.c
1119
adapter->name, i);
drivers/net/ethernet/chelsio/cxgb/subr.c
112
adapter->name, addr);
drivers/net/ethernet/chelsio/cxgb/subr.c
1127
if (!t1_is_asic(adapter) || bi->chip_mac == CHBT_MAC_DUMMY)
drivers/net/ethernet/chelsio/cxgb/subr.c
1129
else if (vpd_macaddress_get(adapter, i, hw_addr)) {
drivers/net/ethernet/chelsio/cxgb/subr.c
1131
adapter->port[i].dev->name);
drivers/net/ethernet/chelsio/cxgb/subr.c
1134
eth_hw_addr_set(adapter->port[i].dev, hw_addr);
drivers/net/ethernet/chelsio/cxgb/subr.c
1135
init_link_config(&adapter->port[i].link_config, bi);
drivers/net/ethernet/chelsio/cxgb/subr.c
1138
get_pci_mode(adapter, &adapter->params.pci);
drivers/net/ethernet/chelsio/cxgb/subr.c
1139
t1_interrupts_clear(adapter);
drivers/net/ethernet/chelsio/cxgb/subr.c
114
*valp = readl(adapter->regs + A_TPI_RD_DATA);
drivers/net/ethernet/chelsio/cxgb/subr.c
1143
t1_free_sw_modules(adapter);
drivers/net/ethernet/chelsio/cxgb/subr.c
118
int t1_tpi_read(adapter_t *adapter, u32 addr, u32 *valp)
drivers/net/ethernet/chelsio/cxgb/subr.c
122
spin_lock(&adapter->tpi_lock);
drivers/net/ethernet/chelsio/cxgb/subr.c
123
ret = __t1_tpi_read(adapter, addr, valp);
drivers/net/ethernet/chelsio/cxgb/subr.c
124
spin_unlock(&adapter->tpi_lock);
drivers/net/ethernet/chelsio/cxgb/subr.c
131
static void t1_tpi_par(adapter_t *adapter, u32 value)
drivers/net/ethernet/chelsio/cxgb/subr.c
133
writel(V_TPIPAR(value), adapter->regs + A_TPI_PAR);
drivers/net/ethernet/chelsio/cxgb/subr.c
141
void t1_link_changed(adapter_t *adapter, int port_id)
drivers/net/ethernet/chelsio/cxgb/subr.c
144
struct cphy *phy = adapter->port[port_id].phy;
drivers/net/ethernet/chelsio/cxgb/subr.c
145
struct link_config *lc = &adapter->port[port_id].link_config;
drivers/net/ethernet/chelsio/cxgb/subr.c
156
struct cmac *mac = adapter->port[port_id].mac;
drivers/net/ethernet/chelsio/cxgb/subr.c
161
t1_link_negotiated(adapter, port_id, link_ok, speed, duplex, fc);
drivers/net/ethernet/chelsio/cxgb/subr.c
164
static bool t1_pci_intr_handler(adapter_t *adapter)
drivers/net/ethernet/chelsio/cxgb/subr.c
168
pci_read_config_dword(adapter->pdev, A_PCICFG_INTR_CAUSE, &pcix_cause);
drivers/net/ethernet/chelsio/cxgb/subr.c
171
pci_write_config_dword(adapter->pdev, A_PCICFG_INTR_CAUSE,
drivers/net/ethernet/chelsio/cxgb/subr.c
174
t1_interrupts_disable(adapter);
drivers/net/ethernet/chelsio/cxgb/subr.c
175
adapter->pending_thread_intr |= F_PL_INTR_SGE_ERR;
drivers/net/ethernet/chelsio/cxgb/subr.c
176
pr_alert("%s: PCI error encountered.\n", adapter->name);
drivers/net/ethernet/chelsio/cxgb/subr.c
188
static int fpga_phy_intr_handler(adapter_t *adapter)
drivers/net/ethernet/chelsio/cxgb/subr.c
191
u32 cause = readl(adapter->regs + FPGA_GMAC_ADDR_INTERRUPT_CAUSE);
drivers/net/ethernet/chelsio/cxgb/subr.c
193
for_each_port(adapter, p)
drivers/net/ethernet/chelsio/cxgb/subr.c
195
struct cphy *phy = adapter->port[p].phy;
drivers/net/ethernet/chelsio/cxgb/subr.c
199
t1_link_changed(adapter, p);
drivers/net/ethernet/chelsio/cxgb/subr.c
201
writel(cause, adapter->regs + FPGA_GMAC_ADDR_INTERRUPT_CAUSE);
drivers/net/ethernet/chelsio/cxgb/subr.c
208
static irqreturn_t fpga_slow_intr(adapter_t *adapter)
drivers/net/ethernet/chelsio/cxgb/subr.c
210
u32 cause = readl(adapter->regs + A_PL_CAUSE);
drivers/net/ethernet/chelsio/cxgb/subr.c
215
if (t1_sge_intr_error_handler(adapter->sge))
drivers/net/ethernet/chelsio/cxgb/subr.c
220
fpga_phy_intr_handler(adapter);
drivers/net/ethernet/chelsio/cxgb/subr.c
227
u32 tp_cause = readl(adapter->regs + FPGA_TP_ADDR_INTERRUPT_CAUSE);
drivers/net/ethernet/chelsio/cxgb/subr.c
230
writel(tp_cause, adapter->regs + FPGA_TP_ADDR_INTERRUPT_CAUSE);
drivers/net/ethernet/chelsio/cxgb/subr.c
233
if (t1_pci_intr_handler(adapter))
drivers/net/ethernet/chelsio/cxgb/subr.c
239
writel(cause, adapter->regs + A_PL_CAUSE);
drivers/net/ethernet/chelsio/cxgb/subr.c
251
static int mi1_wait_until_ready(adapter_t *adapter, int mi1_reg)
drivers/net/ethernet/chelsio/cxgb/subr.c
258
__t1_tpi_read(adapter, mi1_reg, &val);
drivers/net/ethernet/chelsio/cxgb/subr.c
264
pr_alert("%s: MDIO operation timed out\n", adapter->name);
drivers/net/ethernet/chelsio/cxgb/subr.c
271
static void mi1_mdio_init(adapter_t *adapter, const struct board_info *bi)
drivers/net/ethernet/chelsio/cxgb/subr.c
279
t1_tpi_write(adapter, A_ELMER0_PORT0_MI1_CFG, val);
drivers/net/ethernet/chelsio/cxgb/subr.c
289
struct adapter *adapter = dev->ml_priv;
drivers/net/ethernet/chelsio/cxgb/subr.c
293
spin_lock(&adapter->tpi_lock);
drivers/net/ethernet/chelsio/cxgb/subr.c
294
__t1_tpi_write(adapter, A_ELMER0_PORT0_MI1_ADDR, addr);
drivers/net/ethernet/chelsio/cxgb/subr.c
295
__t1_tpi_write(adapter,
drivers/net/ethernet/chelsio/cxgb/subr.c
297
mi1_wait_until_ready(adapter, A_ELMER0_PORT0_MI1_OP);
drivers/net/ethernet/chelsio/cxgb/subr.c
298
__t1_tpi_read(adapter, A_ELMER0_PORT0_MI1_DATA, &val);
drivers/net/ethernet/chelsio/cxgb/subr.c
299
spin_unlock(&adapter->tpi_lock);
drivers/net/ethernet/chelsio/cxgb/subr.c
306
struct adapter *adapter = dev->ml_priv;
drivers/net/ethernet/chelsio/cxgb/subr.c
309
spin_lock(&adapter->tpi_lock);
drivers/net/ethernet/chelsio/cxgb/subr.c
310
__t1_tpi_write(adapter, A_ELMER0_PORT0_MI1_ADDR, addr);
drivers/net/ethernet/chelsio/cxgb/subr.c
311
__t1_tpi_write(adapter, A_ELMER0_PORT0_MI1_DATA, val);
drivers/net/ethernet/chelsio/cxgb/subr.c
312
__t1_tpi_write(adapter,
drivers/net/ethernet/chelsio/cxgb/subr.c
314
mi1_wait_until_ready(adapter, A_ELMER0_PORT0_MI1_OP);
drivers/net/ethernet/chelsio/cxgb/subr.c
315
spin_unlock(&adapter->tpi_lock);
drivers/net/ethernet/chelsio/cxgb/subr.c
331
struct adapter *adapter = dev->ml_priv;
drivers/net/ethernet/chelsio/cxgb/subr.c
335
spin_lock(&adapter->tpi_lock);
drivers/net/ethernet/chelsio/cxgb/subr.c
338
__t1_tpi_write(adapter, A_ELMER0_PORT0_MI1_ADDR, addr);
drivers/net/ethernet/chelsio/cxgb/subr.c
339
__t1_tpi_write(adapter, A_ELMER0_PORT0_MI1_DATA, reg_addr);
drivers/net/ethernet/chelsio/cxgb/subr.c
340
__t1_tpi_write(adapter, A_ELMER0_PORT0_MI1_OP,
drivers/net/ethernet/chelsio/cxgb/subr.c
342
mi1_wait_until_ready(adapter, A_ELMER0_PORT0_MI1_OP);
drivers/net/ethernet/chelsio/cxgb/subr.c
345
__t1_tpi_write(adapter,
drivers/net/ethernet/chelsio/cxgb/subr.c
347
mi1_wait_until_ready(adapter, A_ELMER0_PORT0_MI1_OP);
drivers/net/ethernet/chelsio/cxgb/subr.c
350
__t1_tpi_read(adapter, A_ELMER0_PORT0_MI1_DATA, &val);
drivers/net/ethernet/chelsio/cxgb/subr.c
351
spin_unlock(&adapter->tpi_lock);
drivers/net/ethernet/chelsio/cxgb/subr.c
358
struct adapter *adapter = dev->ml_priv;
drivers/net/ethernet/chelsio/cxgb/subr.c
361
spin_lock(&adapter->tpi_lock);
drivers/net/ethernet/chelsio/cxgb/subr.c
364
__t1_tpi_write(adapter, A_ELMER0_PORT0_MI1_ADDR, addr);
drivers/net/ethernet/chelsio/cxgb/subr.c
365
__t1_tpi_write(adapter, A_ELMER0_PORT0_MI1_DATA, reg_addr);
drivers/net/ethernet/chelsio/cxgb/subr.c
366
__t1_tpi_write(adapter, A_ELMER0_PORT0_MI1_OP,
drivers/net/ethernet/chelsio/cxgb/subr.c
368
mi1_wait_until_ready(adapter, A_ELMER0_PORT0_MI1_OP);
drivers/net/ethernet/chelsio/cxgb/subr.c
371
__t1_tpi_write(adapter, A_ELMER0_PORT0_MI1_DATA, val);
drivers/net/ethernet/chelsio/cxgb/subr.c
372
__t1_tpi_write(adapter, A_ELMER0_PORT0_MI1_OP, MI1_OP_INDIRECT_WRITE);
drivers/net/ethernet/chelsio/cxgb/subr.c
373
mi1_wait_until_ready(adapter, A_ELMER0_PORT0_MI1_OP);
drivers/net/ethernet/chelsio/cxgb/subr.c
374
spin_unlock(&adapter->tpi_lock);
drivers/net/ethernet/chelsio/cxgb/subr.c
52
static int t1_wait_op_done(adapter_t *adapter, int reg, u32 mask, int polarity,
drivers/net/ethernet/chelsio/cxgb/subr.c
56
u32 val = readl(adapter->regs + reg) & mask;
drivers/net/ethernet/chelsio/cxgb/subr.c
565
int t1_seeprom_read(adapter_t *adapter, u32 addr, __le32 *data)
drivers/net/ethernet/chelsio/cxgb/subr.c
574
pci_write_config_word(adapter->pdev, A_PCICFG_VPD_ADDR, (u16)addr);
drivers/net/ethernet/chelsio/cxgb/subr.c
577
pci_read_config_word(adapter->pdev, A_PCICFG_VPD_ADDR, &val);
drivers/net/ethernet/chelsio/cxgb/subr.c
582
adapter->name, addr);
drivers/net/ethernet/chelsio/cxgb/subr.c
585
pci_read_config_dword(adapter->pdev, A_PCICFG_VPD_DATA, &v);
drivers/net/ethernet/chelsio/cxgb/subr.c
590
static int t1_eeprom_vpd_get(adapter_t *adapter, struct chelsio_vpd_t *vpd)
drivers/net/ethernet/chelsio/cxgb/subr.c
595
ret = t1_seeprom_read(adapter, addr,
drivers/net/ethernet/chelsio/cxgb/subr.c
604
static int vpd_macaddress_get(adapter_t *adapter, int index, u8 mac_addr[])
drivers/net/ethernet/chelsio/cxgb/subr.c
608
if (t1_eeprom_vpd_get(adapter, &vpd))
drivers/net/ethernet/chelsio/cxgb/subr.c
634
(mac->adapter->params.nports < 2)))
drivers/net/ethernet/chelsio/cxgb/subr.c
670
int t1_elmer0_ext_intr_handler(adapter_t *adapter)
drivers/net/ethernet/chelsio/cxgb/subr.c
676
t1_tpi_read(adapter, A_ELMER0_INT_CAUSE, &cause);
drivers/net/ethernet/chelsio/cxgb/subr.c
678
switch (board_info(adapter)->board) {
drivers/net/ethernet/chelsio/cxgb/subr.c
685
for_each_port(adapter, i) {
drivers/net/ethernet/chelsio/cxgb/subr.c
690
phy = adapter->port[i].phy;
drivers/net/ethernet/chelsio/cxgb/subr.c
693
t1_link_changed(adapter, i);
drivers/net/ethernet/chelsio/cxgb/subr.c
699
phy = adapter->port[0].phy;
drivers/net/ethernet/chelsio/cxgb/subr.c
702
t1_link_changed(adapter, 0);
drivers/net/ethernet/chelsio/cxgb/subr.c
713
for_each_port(adapter, p) {
drivers/net/ethernet/chelsio/cxgb/subr.c
714
phy = adapter->port[p].phy;
drivers/net/ethernet/chelsio/cxgb/subr.c
717
t1_link_changed(adapter, p);
drivers/net/ethernet/chelsio/cxgb/subr.c
72
int __t1_tpi_write(adapter_t *adapter, u32 addr, u32 value)
drivers/net/ethernet/chelsio/cxgb/subr.c
726
phy = adapter->port[0].phy;
drivers/net/ethernet/chelsio/cxgb/subr.c
729
t1_link_changed(adapter, 0);
drivers/net/ethernet/chelsio/cxgb/subr.c
734
if (netif_msg_intr(adapter))
drivers/net/ethernet/chelsio/cxgb/subr.c
735
dev_dbg(&adapter->pdev->dev,
drivers/net/ethernet/chelsio/cxgb/subr.c
738
struct cmac *mac = adapter->port[0].mac;
drivers/net/ethernet/chelsio/cxgb/subr.c
745
t1_tpi_read(adapter,
drivers/net/ethernet/chelsio/cxgb/subr.c
747
if (netif_msg_link(adapter))
drivers/net/ethernet/chelsio/cxgb/subr.c
748
dev_info(&adapter->pdev->dev, "XPAK %s\n",
drivers/net/ethernet/chelsio/cxgb/subr.c
753
t1_tpi_write(adapter, A_ELMER0_INT_CAUSE, cause);
drivers/net/ethernet/chelsio/cxgb/subr.c
758
void t1_interrupts_enable(adapter_t *adapter)
drivers/net/ethernet/chelsio/cxgb/subr.c
76
writel(addr, adapter->regs + A_TPI_ADDR);
drivers/net/ethernet/chelsio/cxgb/subr.c
762
adapter->slow_intr_mask = F_PL_INTR_SGE_ERR | F_PL_INTR_TP;
drivers/net/ethernet/chelsio/cxgb/subr.c
764
t1_sge_intr_enable(adapter->sge);
drivers/net/ethernet/chelsio/cxgb/subr.c
765
t1_tp_intr_enable(adapter->tp);
drivers/net/ethernet/chelsio/cxgb/subr.c
766
if (adapter->espi) {
drivers/net/ethernet/chelsio/cxgb/subr.c
767
adapter->slow_intr_mask |= F_PL_INTR_ESPI;
drivers/net/ethernet/chelsio/cxgb/subr.c
768
t1_espi_intr_enable(adapter->espi);
drivers/net/ethernet/chelsio/cxgb/subr.c
77
writel(value, adapter->regs + A_TPI_WR_DATA);
drivers/net/ethernet/chelsio/cxgb/subr.c
772
for_each_port(adapter, i) {
drivers/net/ethernet/chelsio/cxgb/subr.c
773
adapter->port[i].mac->ops->interrupt_enable(adapter->port[i].mac);
drivers/net/ethernet/chelsio/cxgb/subr.c
774
adapter->port[i].phy->ops->interrupt_enable(adapter->port[i].phy);
drivers/net/ethernet/chelsio/cxgb/subr.c
778
if (t1_is_asic(adapter)) {
drivers/net/ethernet/chelsio/cxgb/subr.c
779
u32 pl_intr = readl(adapter->regs + A_PL_ENABLE);
drivers/net/ethernet/chelsio/cxgb/subr.c
78
writel(F_TPIWR, adapter->regs + A_TPI_CSR);
drivers/net/ethernet/chelsio/cxgb/subr.c
782
pci_write_config_dword(adapter->pdev, A_PCICFG_INTR_ENABLE,
drivers/net/ethernet/chelsio/cxgb/subr.c
785
adapter->slow_intr_mask |= F_PL_INTR_EXT | F_PL_INTR_PCIX;
drivers/net/ethernet/chelsio/cxgb/subr.c
787
writel(pl_intr, adapter->regs + A_PL_ENABLE);
drivers/net/ethernet/chelsio/cxgb/subr.c
792
void t1_interrupts_disable(adapter_t* adapter)
drivers/net/ethernet/chelsio/cxgb/subr.c
796
t1_sge_intr_disable(adapter->sge);
drivers/net/ethernet/chelsio/cxgb/subr.c
797
t1_tp_intr_disable(adapter->tp);
drivers/net/ethernet/chelsio/cxgb/subr.c
798
if (adapter->espi)
drivers/net/ethernet/chelsio/cxgb/subr.c
799
t1_espi_intr_disable(adapter->espi);
drivers/net/ethernet/chelsio/cxgb/subr.c
80
tpi_busy = t1_wait_op_done(adapter, A_TPI_CSR, F_TPIRDY, 1,
drivers/net/ethernet/chelsio/cxgb/subr.c
802
for_each_port(adapter, i) {
drivers/net/ethernet/chelsio/cxgb/subr.c
803
adapter->port[i].mac->ops->interrupt_disable(adapter->port[i].mac);
drivers/net/ethernet/chelsio/cxgb/subr.c
804
adapter->port[i].phy->ops->interrupt_disable(adapter->port[i].phy);
drivers/net/ethernet/chelsio/cxgb/subr.c
808
if (t1_is_asic(adapter))
drivers/net/ethernet/chelsio/cxgb/subr.c
809
writel(0, adapter->regs + A_PL_ENABLE);
drivers/net/ethernet/chelsio/cxgb/subr.c
812
pci_write_config_dword(adapter->pdev, A_PCICFG_INTR_ENABLE, 0);
drivers/net/ethernet/chelsio/cxgb/subr.c
814
adapter->slow_intr_mask = 0;
drivers/net/ethernet/chelsio/cxgb/subr.c
818
void t1_interrupts_clear(adapter_t* adapter)
drivers/net/ethernet/chelsio/cxgb/subr.c
822
t1_sge_intr_clear(adapter->sge);
drivers/net/ethernet/chelsio/cxgb/subr.c
823
t1_tp_intr_clear(adapter->tp);
drivers/net/ethernet/chelsio/cxgb/subr.c
824
if (adapter->espi)
drivers/net/ethernet/chelsio/cxgb/subr.c
825
t1_espi_intr_clear(adapter->espi);
drivers/net/ethernet/chelsio/cxgb/subr.c
828
for_each_port(adapter, i) {
drivers/net/ethernet/chelsio/cxgb/subr.c
829
adapter->port[i].mac->ops->interrupt_clear(adapter->port[i].mac);
drivers/net/ethernet/chelsio/cxgb/subr.c
830
adapter->port[i].phy->ops->interrupt_clear(adapter->port[i].phy);
drivers/net/ethernet/chelsio/cxgb/subr.c
834
if (t1_is_asic(adapter)) {
drivers/net/ethernet/chelsio/cxgb/subr.c
835
u32 pl_intr = readl(adapter->regs + A_PL_CAUSE);
drivers/net/ethernet/chelsio/cxgb/subr.c
838
adapter->regs + A_PL_CAUSE);
drivers/net/ethernet/chelsio/cxgb/subr.c
84
adapter->name, addr);
drivers/net/ethernet/chelsio/cxgb/subr.c
842
pci_write_config_dword(adapter->pdev, A_PCICFG_INTR_CAUSE, 0xffffffff);
drivers/net/ethernet/chelsio/cxgb/subr.c
848
static irqreturn_t asic_slow_intr(adapter_t *adapter)
drivers/net/ethernet/chelsio/cxgb/subr.c
850
u32 cause = readl(adapter->regs + A_PL_CAUSE);
drivers/net/ethernet/chelsio/cxgb/subr.c
853
cause &= adapter->slow_intr_mask;
drivers/net/ethernet/chelsio/cxgb/subr.c
857
if (t1_sge_intr_error_handler(adapter->sge))
drivers/net/ethernet/chelsio/cxgb/subr.c
861
t1_tp_intr_handler(adapter->tp);
drivers/net/ethernet/chelsio/cxgb/subr.c
863
t1_espi_intr_handler(adapter->espi);
drivers/net/ethernet/chelsio/cxgb/subr.c
865
if (t1_pci_intr_handler(adapter))
drivers/net/ethernet/chelsio/cxgb/subr.c
873
adapter->pending_thread_intr |= F_PL_INTR_EXT;
drivers/net/ethernet/chelsio/cxgb/subr.c
874
adapter->slow_intr_mask &= ~F_PL_INTR_EXT;
drivers/net/ethernet/chelsio/cxgb/subr.c
875
writel(adapter->slow_intr_mask | F_PL_INTR_SGE_DATA,
drivers/net/ethernet/chelsio/cxgb/subr.c
876
adapter->regs + A_PL_ENABLE);
drivers/net/ethernet/chelsio/cxgb/subr.c
88
int t1_tpi_write(adapter_t *adapter, u32 addr, u32 value)
drivers/net/ethernet/chelsio/cxgb/subr.c
881
writel(cause, adapter->regs + A_PL_CAUSE);
drivers/net/ethernet/chelsio/cxgb/subr.c
882
readl(adapter->regs + A_PL_CAUSE); /* flush writes */
drivers/net/ethernet/chelsio/cxgb/subr.c
886
irqreturn_t t1_slow_intr_handler(adapter_t *adapter)
drivers/net/ethernet/chelsio/cxgb/subr.c
889
if (!t1_is_asic(adapter))
drivers/net/ethernet/chelsio/cxgb/subr.c
890
return fpga_slow_intr(adapter);
drivers/net/ethernet/chelsio/cxgb/subr.c
892
return asic_slow_intr(adapter);
drivers/net/ethernet/chelsio/cxgb/subr.c
896
static void power_sequence_xpak(adapter_t* adapter)
drivers/net/ethernet/chelsio/cxgb/subr.c
902
t1_tpi_read(adapter, A_ELMER0_GPI_STAT, &mod_detect);
drivers/net/ethernet/chelsio/cxgb/subr.c
905
t1_tpi_read(adapter, A_ELMER0_GPO, &gpo);
drivers/net/ethernet/chelsio/cxgb/subr.c
907
t1_tpi_write(adapter, A_ELMER0_GPO, gpo);
drivers/net/ethernet/chelsio/cxgb/subr.c
911
int t1_get_board_rev(adapter_t *adapter, const struct board_info *bi,
drivers/net/ethernet/chelsio/cxgb/subr.c
919
u32 val = readl(adapter->regs + A_TP_PC_CONFIG);
drivers/net/ethernet/chelsio/cxgb/subr.c
92
spin_lock(&adapter->tpi_lock);
drivers/net/ethernet/chelsio/cxgb/subr.c
93
ret = __t1_tpi_write(adapter, addr, value);
drivers/net/ethernet/chelsio/cxgb/subr.c
937
static int board_init(adapter_t *adapter, const struct board_info *bi)
drivers/net/ethernet/chelsio/cxgb/subr.c
94
spin_unlock(&adapter->tpi_lock);
drivers/net/ethernet/chelsio/cxgb/subr.c
944
t1_tpi_par(adapter, 0xf);
drivers/net/ethernet/chelsio/cxgb/subr.c
945
t1_tpi_write(adapter, A_ELMER0_GPO, 0x800);
drivers/net/ethernet/chelsio/cxgb/subr.c
948
t1_tpi_par(adapter, 0xf);
drivers/net/ethernet/chelsio/cxgb/subr.c
949
t1_tpi_write(adapter, A_ELMER0_GPO, 0x1800);
drivers/net/ethernet/chelsio/cxgb/subr.c
954
power_sequence_xpak(adapter);
drivers/net/ethernet/chelsio/cxgb/subr.c
962
t1_tpi_par(adapter, 0xf);
drivers/net/ethernet/chelsio/cxgb/subr.c
963
t1_tpi_write(adapter, A_ELMER0_GPO, 0x804);
drivers/net/ethernet/chelsio/cxgb/subr.c
967
t1_tpi_par(adapter, 0xf);
drivers/net/ethernet/chelsio/cxgb/subr.c
968
t1_tpi_write(adapter, A_ELMER0_GPO, 0x1804);
drivers/net/ethernet/chelsio/cxgb/subr.c
979
int t1_init_hw_modules(adapter_t *adapter)
drivers/net/ethernet/chelsio/cxgb/subr.c
982
const struct board_info *bi = board_info(adapter);
drivers/net/ethernet/chelsio/cxgb/subr.c
985
u32 val = readl(adapter->regs + A_MC4_CFG);
drivers/net/ethernet/chelsio/cxgb/subr.c
987
writel(val | F_READY | F_MC4_SLOW, adapter->regs + A_MC4_CFG);
drivers/net/ethernet/chelsio/cxgb/subr.c
989
adapter->regs + A_MC5_CONFIG);
drivers/net/ethernet/chelsio/cxgb/subr.c
992
if (adapter->espi && t1_espi_init(adapter->espi, bi->chip_mac,
drivers/net/ethernet/chelsio/cxgb/subr.c
996
if (t1_tp_reset(adapter->tp, &adapter->params.tp, bi->clock_core))
drivers/net/ethernet/chelsio/cxgb/subr.c
999
err = t1_sge_configure(adapter->sge, &adapter->params.sge);
drivers/net/ethernet/chelsio/cxgb/tp.c
101
tp->adapter->regs + A_PL_ENABLE);
drivers/net/ethernet/chelsio/cxgb/tp.c
105
writel(0, tp->adapter->regs + A_TP_INT_ENABLE);
drivers/net/ethernet/chelsio/cxgb/tp.c
107
tp->adapter->regs + A_PL_ENABLE);
drivers/net/ethernet/chelsio/cxgb/tp.c
11
adapter_t *adapter;
drivers/net/ethernet/chelsio/cxgb/tp.c
114
if (!t1_is_asic(tp->adapter)) {
drivers/net/ethernet/chelsio/cxgb/tp.c
116
tp->adapter->regs + FPGA_TP_ADDR_INTERRUPT_CAUSE);
drivers/net/ethernet/chelsio/cxgb/tp.c
117
writel(FPGA_PCIX_INTERRUPT_TP, tp->adapter->regs + A_PL_CAUSE);
drivers/net/ethernet/chelsio/cxgb/tp.c
121
writel(0xffffffff, tp->adapter->regs + A_TP_INT_CAUSE);
drivers/net/ethernet/chelsio/cxgb/tp.c
122
writel(F_PL_INTR_TP, tp->adapter->regs + A_PL_CAUSE);
drivers/net/ethernet/chelsio/cxgb/tp.c
131
if (!t1_is_asic(tp->adapter))
drivers/net/ethernet/chelsio/cxgb/tp.c
135
cause = readl(tp->adapter->regs + A_TP_INT_CAUSE);
drivers/net/ethernet/chelsio/cxgb/tp.c
136
writel(cause, tp->adapter->regs + A_TP_INT_CAUSE);
drivers/net/ethernet/chelsio/cxgb/tp.c
142
u32 val = readl(tp->adapter->regs + A_TP_GLOBAL_CONFIG);
drivers/net/ethernet/chelsio/cxgb/tp.c
148
writel(val, tp->adapter->regs + A_TP_GLOBAL_CONFIG);
drivers/net/ethernet/chelsio/cxgb/tp.c
167
adapter_t *adapter = tp->adapter;
drivers/net/ethernet/chelsio/cxgb/tp.c
169
tp_init(adapter, p, tp_clk);
drivers/net/ethernet/chelsio/cxgb/tp.c
170
writel(F_TP_RESET, adapter->regs + A_TP_RESET);
drivers/net/ethernet/chelsio/cxgb/tp.c
59
struct petp *t1_tp_create(adapter_t *adapter, struct tp_params *p)
drivers/net/ethernet/chelsio/cxgb/tp.c
66
tp->adapter = adapter;
drivers/net/ethernet/chelsio/cxgb/tp.c
73
u32 tp_intr = readl(tp->adapter->regs + A_PL_ENABLE);
drivers/net/ethernet/chelsio/cxgb/tp.c
76
if (!t1_is_asic(tp->adapter)) {
drivers/net/ethernet/chelsio/cxgb/tp.c
79
tp->adapter->regs + FPGA_TP_ADDR_INTERRUPT_ENABLE);
drivers/net/ethernet/chelsio/cxgb/tp.c
81
tp->adapter->regs + A_PL_ENABLE);
drivers/net/ethernet/chelsio/cxgb/tp.c
86
writel(0, tp->adapter->regs + A_TP_INT_ENABLE);
drivers/net/ethernet/chelsio/cxgb/tp.c
88
tp->adapter->regs + A_PL_ENABLE);
drivers/net/ethernet/chelsio/cxgb/tp.c
94
u32 tp_intr = readl(tp->adapter->regs + A_PL_ENABLE);
drivers/net/ethernet/chelsio/cxgb/tp.c
97
if (!t1_is_asic(tp->adapter)) {
drivers/net/ethernet/chelsio/cxgb/tp.c
99
writel(0, tp->adapter->regs + FPGA_TP_ADDR_INTERRUPT_ENABLE);
drivers/net/ethernet/chelsio/cxgb/tp.h
60
struct petp *t1_tp_create(adapter_t *adapter, struct tp_params *p);
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
220
static void run_table(adapter_t *adapter, struct init_table *ib, int len)
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
229
vsc_write( adapter, ib[i].addr, ib[i].data );
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
233
static int bist_rd(adapter_t *adapter, int moduleid, int address)
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
247
vsc_write(adapter, REG_RAM_BIST_CMD, data);
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
251
vsc_read(adapter, REG_RAM_BIST_RESULT, &result);
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
260
static int bist_wr(adapter_t *adapter, int moduleid, int address, int value)
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
277
vsc_write(adapter, REG_RAM_BIST_CMD, data);
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
281
vsc_read(adapter, REG_RAM_BIST_CMD, &result);
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
290
static int run_bist(adapter_t *adapter, int moduleid)
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
293
(void) bist_wr(adapter,moduleid, 0x00, 0x02);
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
294
(void) bist_wr(adapter,moduleid, 0x01, 0x01);
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
299
static int check_bist(adapter_t *adapter, int moduleid)
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
304
result = bist_rd(adapter,moduleid, 0x02);
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
305
column = ((bist_rd(adapter,moduleid, 0x0e)<<8) +
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
306
(bist_rd(adapter,moduleid, 0x0d)));
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
313
static int enable_mem(adapter_t *adapter, int moduleid)
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
316
(void) bist_wr(adapter,moduleid, 0x00, 0x00);
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
320
static int run_bist_all(adapter_t *adapter)
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
325
vsc_write(adapter, REG_MEM_BIST, 0x5);
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
326
vsc_read(adapter, REG_MEM_BIST, &val);
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
329
vsc_write(adapter, REG_DEV_SETUP(port), 0x0);
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
332
vsc_write(adapter, REG_SPI4_MISC, 0x00040409);
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
335
(void) run_bist(adapter,13);
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
336
(void) run_bist(adapter,14);
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
337
(void) run_bist(adapter,20);
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
338
(void) run_bist(adapter,21);
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
340
(void) check_bist(adapter,13);
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
341
(void) check_bist(adapter,14);
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
342
(void) check_bist(adapter,20);
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
343
(void) check_bist(adapter,21);
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
345
(void) enable_mem(adapter,13);
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
346
(void) enable_mem(adapter,14);
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
347
(void) enable_mem(adapter,20);
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
348
(void) enable_mem(adapter,21);
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
35
static void vsc_read(adapter_t *adapter, u32 addr, u32 *val)
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
350
vsc_write(adapter, REG_SPI4_MISC, 0x60040400);
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
353
vsc_write(adapter, REG_DEV_SETUP(port), 0x1);
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
356
vsc_write(adapter, REG_MEM_BIST, 0x0);
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
387
vsc_write(mac->adapter, REG_MAC_LOW_ADDR(port),
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
389
vsc_write(mac->adapter, REG_MAC_HIGH_ADDR(port),
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
392
vsc_read(mac->adapter, REG_ING_FFILT_UM_EN, &val);
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
394
vsc_write(mac->adapter, REG_ING_FFILT_UM_EN, val | (port << 28));
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
396
vsc_write(mac->adapter, REG_ING_FFILT_MASK0,
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
398
vsc_write(mac->adapter, REG_ING_FFILT_MASK1,
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
40
spin_lock_bh(&adapter->mac_lock);
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
400
vsc_write(mac->adapter, REG_ING_FFILT_MASK2,
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
41
t1_tpi_read(adapter, (addr << 2) + 4, &vlo);
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
410
vsc_read(mac->adapter, REG_MAC_LOW_ADDR(port), &addr_lo);
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
411
vsc_read(mac->adapter, REG_MAC_HIGH_ADDR(port), &addr_hi);
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
427
run_table(mac->adapter, vsc7326_portinit[index],
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
438
vsc_read(mac->adapter, REG_ING_FFILT_UM_EN, &v);
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
44
t1_tpi_read(adapter, (REG_LOCAL_STATUS << 2) + 4, &vlo);
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
446
vsc_write(mac->adapter, REG_ING_FFILT_UM_EN, v);
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
45
t1_tpi_read(adapter, REG_LOCAL_STATUS << 2, &vhi);
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
455
vsc_write(mac->adapter, REG_MAX_LEN(port), mtu + 14 + 4);
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
472
vsc_read(mac->adapter, REG_MODE_CFG(port), &v);
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
479
vsc_write(mac->adapter, REG_MODE_CFG(port), v);
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
487
vsc_write(mac->adapter, REG_DEV_SETUP(port), v | 1); /* reset */
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
488
vsc_write(mac->adapter, REG_DEV_SETUP(port), v);
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
489
vsc_read(mac->adapter, REG_DBG(port), &v);
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
497
vsc_write(mac->adapter, REG_DBG(port), v);
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
499
vsc_write(mac->adapter, REG_TX_IFG(port),
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
511
vsc_write(mac->adapter, REG_MODE_CFG(port), enable);
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
515
vsc_read(mac->adapter, REG_PAUSE_CFG(port), &v);
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
52
t1_tpi_read(adapter, (REG_LOCAL_DATA << 2) + 4, &vlo);
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
524
vsc_write(mac->adapter, REG_PAUSE_CFG(port), v);
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
53
t1_tpi_read(adapter, REG_LOCAL_DATA << 2, &vhi);
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
534
vsc_write(mac->adapter, REG_HIGH_LOW_WM(1,port), WM_ENABLE);
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
536
vsc_read(mac->adapter, REG_MODE_CFG(port), &val);
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
541
vsc_write(mac->adapter, REG_MODE_CFG(port), val);
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
553
vsc_read(mac->adapter, REG_MODE_CFG(port), &val);
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
558
vsc_write(mac->adapter, REG_MODE_CFG(port), val);
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
559
vsc_read(mac->adapter, REG_MODE_CFG(port), &val);
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
563
vsc_write(mac->adapter, CRA(4, port, i), 0);
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
575
vsc_read(mac->adapter, addr, &v);
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
60
spin_unlock_bh(&adapter->mac_lock);
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
63
static void vsc_write(adapter_t *adapter, u32 addr, u32 data)
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
65
spin_lock_bh(&adapter->mac_lock);
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
66
t1_tpi_write(adapter, (addr << 2) + 4, data & 0xFFFF);
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
67
t1_tpi_write(adapter, addr << 2, (data >> 16) & 0xFFFF);
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
682
static struct cmac *vsc7326_mac_create(adapter_t *adapter, int index)
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
694
mac->adapter = adapter;
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
704
t1_tpi_read(adapter, (REG_LOCAL_STATUS << 2) + 4, &vlo);
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
706
t1_tpi_read(adapter, REG_LOCAL_STATUS << 2, &vhi);
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
71
spin_unlock_bh(&adapter->mac_lock);
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
714
static int vsc7326_mac_reset(adapter_t *adapter)
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
716
vsc7326_full_reset(adapter);
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
717
(void) run_bist_all(adapter);
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
718
run_table(adapter, vsc7326_reset, ARRAY_SIZE(vsc7326_reset));
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
75
static void vsc7326_full_reset(adapter_t* adapter)
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
80
t1_tpi_read(adapter, A_ELMER0_GPO, &val);
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
82
t1_tpi_write(adapter, A_ELMER0_GPO, val);
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
86
t1_tpi_write(adapter, A_ELMER0_GPO, val);
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
88
vsc_write(adapter, REG_SW_RESET, 0x80000001);
drivers/net/ethernet/chelsio/cxgb/vsc7326.c
91
vsc_read(adapter, REG_SW_RESET, &result);
drivers/net/ethernet/chelsio/cxgb3/adapter.h
200
struct adapter *adap;
drivers/net/ethernet/chelsio/cxgb3/adapter.h
270
static inline u32 t3_read_reg(struct adapter *adapter, u32 reg_addr)
drivers/net/ethernet/chelsio/cxgb3/adapter.h
272
u32 val = readl(adapter->regs + reg_addr);
drivers/net/ethernet/chelsio/cxgb3/adapter.h
274
CH_DBG(adapter, MMIO, "read register 0x%x value 0x%x\n", reg_addr, val);
drivers/net/ethernet/chelsio/cxgb3/adapter.h
278
static inline void t3_write_reg(struct adapter *adapter, u32 reg_addr, u32 val)
drivers/net/ethernet/chelsio/cxgb3/adapter.h
280
CH_DBG(adapter, MMIO, "setting register 0x%x to 0x%x\n", reg_addr, val);
drivers/net/ethernet/chelsio/cxgb3/adapter.h
281
writel(val, adapter->regs + reg_addr);
drivers/net/ethernet/chelsio/cxgb3/adapter.h
284
static inline struct port_info *adap2pinfo(struct adapter *adap, int idx)
drivers/net/ethernet/chelsio/cxgb3/adapter.h
291
struct adapter *adap = phy->adapter;
drivers/net/ethernet/chelsio/cxgb3/adapter.h
299
#define tdev2adap(d) container_of(d, struct adapter, tdev)
drivers/net/ethernet/chelsio/cxgb3/adapter.h
301
static inline int offload_running(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb3/adapter.h
303
return test_bit(OFFLOAD_DEVMAP_BIT, &adapter->open_device_map);
drivers/net/ethernet/chelsio/cxgb3/adapter.h
308
void t3_os_ext_intr_handler(struct adapter *adapter);
drivers/net/ethernet/chelsio/cxgb3/adapter.h
309
void t3_os_link_changed(struct adapter *adapter, int port_id, int link_status,
drivers/net/ethernet/chelsio/cxgb3/adapter.h
311
void t3_os_phymod_changed(struct adapter *adap, int port_id);
drivers/net/ethernet/chelsio/cxgb3/adapter.h
312
void t3_os_link_fault(struct adapter *adapter, int port_id, int state);
drivers/net/ethernet/chelsio/cxgb3/adapter.h
313
void t3_os_link_fault_handler(struct adapter *adapter, int port_id);
drivers/net/ethernet/chelsio/cxgb3/adapter.h
315
void t3_sge_start(struct adapter *adap);
drivers/net/ethernet/chelsio/cxgb3/adapter.h
316
void t3_sge_stop_dma(struct adapter *adap);
drivers/net/ethernet/chelsio/cxgb3/adapter.h
317
void t3_sge_stop(struct adapter *adap);
drivers/net/ethernet/chelsio/cxgb3/adapter.h
318
void t3_start_sge_timers(struct adapter *adap);
drivers/net/ethernet/chelsio/cxgb3/adapter.h
319
void t3_stop_sge_timers(struct adapter *adap);
drivers/net/ethernet/chelsio/cxgb3/adapter.h
320
void t3_free_sge_resources(struct adapter *adap);
drivers/net/ethernet/chelsio/cxgb3/adapter.h
321
void t3_sge_err_intr_handler(struct adapter *adapter);
drivers/net/ethernet/chelsio/cxgb3/adapter.h
322
irq_handler_t t3_intr_handler(struct adapter *adap, int polling);
drivers/net/ethernet/chelsio/cxgb3/adapter.h
324
int t3_mgmt_tx(struct adapter *adap, struct sk_buff *skb);
drivers/net/ethernet/chelsio/cxgb3/adapter.h
326
int t3_sge_alloc_qset(struct adapter *adapter, unsigned int id, int nports,
drivers/net/ethernet/chelsio/cxgb3/adapter.h
48
struct adapter;
drivers/net/ethernet/chelsio/cxgb3/adapter.h
67
struct adapter *adapter;
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
106
t3_set_reg_field(phy->adapter, A_T3DBG_GPIO_EN, 0, tx_on_gpio);
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
136
CH_WARN(phy->adapter, "PHY %u i2c read of dev.addr %#x.%#x timed out\n",
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
212
int t3_ael1002_phy_prep(struct cphy *phy, struct adapter *adapter,
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
215
cphy_init(phy, adapter, phy_addr, &ael1002_ops, mdio_ops,
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
238
int t3_ael1006_phy_prep(struct cphy *phy, struct adapter *adapter,
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
241
cphy_init(phy, adapter, phy_addr, &ael1006_ops, mdio_ops,
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
509
int t3_ael2005_phy_prep(struct cphy *phy, struct adapter *adapter,
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
512
cphy_init(phy, adapter, phy_addr, &ael2005_ops, mdio_ops,
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
652
t3_link_changed(phy->adapter,
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
815
int t3_ael2020_phy_prep(struct cphy *phy, struct adapter *adapter, int phy_addr,
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
818
cphy_init(phy, adapter, phy_addr, &ael2020_ops, mdio_ops,
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
865
int t3_qt2045_phy_prep(struct cphy *phy, struct adapter *adapter,
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
870
cphy_init(phy, adapter, phy_addr, &qt2045_ops, mdio_ops,
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
897
status = t3_read_reg(phy->adapter,
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
899
t3_read_reg(phy->adapter,
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
901
t3_read_reg(phy->adapter,
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
903
t3_read_reg(phy->adapter,
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
929
int t3_xaui_direct_phy_prep(struct cphy *phy, struct adapter *adapter,
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
932
cphy_init(phy, adapter, phy_addr, &xaui_direct_ops, mdio_ops,
drivers/net/ethernet/chelsio/cxgb3/aq100x.c
266
int t3_aq100x_phy_prep(struct cphy *phy, struct adapter *adapter, int phy_addr,
drivers/net/ethernet/chelsio/cxgb3/aq100x.c
272
cphy_init(phy, adapter, phy_addr, &aq100x_ops, mdio_ops,
drivers/net/ethernet/chelsio/cxgb3/aq100x.c
282
t3_set_reg_field(adapter, A_T3DBG_GPIO_EN, gpio, 0);
drivers/net/ethernet/chelsio/cxgb3/aq100x.c
284
t3_set_reg_field(adapter, A_T3DBG_GPIO_EN, gpio, gpio);
drivers/net/ethernet/chelsio/cxgb3/aq100x.c
297
CH_WARN(adapter, "PHY%d: reset failed (0x%x, 0x%x).\n",
drivers/net/ethernet/chelsio/cxgb3/aq100x.c
307
CH_WARN(adapter, "PHY%d: reset timed out (0x%x).\n",
drivers/net/ethernet/chelsio/cxgb3/aq100x.c
316
CH_WARN(adapter, "PHY%d: reset took %ums\n", phy_addr, wait);
drivers/net/ethernet/chelsio/cxgb3/aq100x.c
321
CH_WARN(adapter, "PHY%d: unsupported firmware %d\n",
drivers/net/ethernet/chelsio/cxgb3/aq100x.c
338
CH_WARN(adapter, "PHY%d does not start in low power mode.\n",
drivers/net/ethernet/chelsio/cxgb3/aq100x.c
348
CH_WARN(adapter,
drivers/net/ethernet/chelsio/cxgb3/aq100x.c
74
CH_WARN(phy->adapter, "PHY%d: reset failed (0x%x).\n",
drivers/net/ethernet/chelsio/cxgb3/common.h
155
struct adapter;
drivers/net/ethernet/chelsio/cxgb3/common.h
444
struct adapter *adapter;
drivers/net/ethernet/chelsio/cxgb3/common.h
458
struct adapter *adapter; /* backpointer to adapter */
drivers/net/ethernet/chelsio/cxgb3/common.h
472
struct adapter *adapter;
drivers/net/ethernet/chelsio/cxgb3/common.h
53
#define CH_MSG(adapter, level, category, fmt, ...) do { \
drivers/net/ethernet/chelsio/cxgb3/common.h
54
if ((adapter)->msg_enable & NETIF_MSG_##category) \
drivers/net/ethernet/chelsio/cxgb3/common.h
55
dev_printk(KERN_##level, &adapter->pdev->dev, fmt, \
drivers/net/ethernet/chelsio/cxgb3/common.h
553
struct adapter *adapter; /* associated adapter */
drivers/net/ethernet/chelsio/cxgb3/common.h
578
static inline void cphy_init(struct cphy *phy, struct adapter *adapter,
drivers/net/ethernet/chelsio/cxgb3/common.h
584
phy->adapter = adapter;
drivers/net/ethernet/chelsio/cxgb3/common.h
60
# define CH_DBG(adapter, category, fmt, ...) \
drivers/net/ethernet/chelsio/cxgb3/common.h
61
CH_MSG(adapter, DEBUG, category, fmt, ## __VA_ARGS__)
drivers/net/ethernet/chelsio/cxgb3/common.h
613
#define for_each_port(adapter, iter) \
drivers/net/ethernet/chelsio/cxgb3/common.h
614
for (iter = 0; iter < (adapter)->params.nports; ++iter)
drivers/net/ethernet/chelsio/cxgb3/common.h
618
static inline int uses_xaui(const struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb3/common.h
623
static inline int is_10G(const struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb3/common.h
628
static inline int is_offload(const struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb3/common.h
63
# define CH_DBG(adapter, category, fmt, ...)
drivers/net/ethernet/chelsio/cxgb3/common.h
633
static inline unsigned int core_ticks_per_usec(const struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb3/common.h
638
static inline unsigned int is_pcie(const struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb3/common.h
643
void t3_set_reg_field(struct adapter *adap, unsigned int addr, u32 mask,
drivers/net/ethernet/chelsio/cxgb3/common.h
645
void t3_write_regs(struct adapter *adapter, const struct addr_val_pair *p,
drivers/net/ethernet/chelsio/cxgb3/common.h
647
int t3_wait_op_done_val(struct adapter *adapter, int reg, u32 mask,
drivers/net/ethernet/chelsio/cxgb3/common.h
649
static inline int t3_wait_op_done(struct adapter *adapter, int reg, u32 mask,
drivers/net/ethernet/chelsio/cxgb3/common.h
652
return t3_wait_op_done_val(adapter, reg, mask, polarity, attempts,
drivers/net/ethernet/chelsio/cxgb3/common.h
666
void t3_intr_enable(struct adapter *adapter);
drivers/net/ethernet/chelsio/cxgb3/common.h
667
void t3_intr_disable(struct adapter *adapter);
drivers/net/ethernet/chelsio/cxgb3/common.h
668
void t3_intr_clear(struct adapter *adapter);
drivers/net/ethernet/chelsio/cxgb3/common.h
669
void t3_xgm_intr_enable(struct adapter *adapter, int idx);
drivers/net/ethernet/chelsio/cxgb3/common.h
670
void t3_xgm_intr_disable(struct adapter *adapter, int idx);
drivers/net/ethernet/chelsio/cxgb3/common.h
671
void t3_port_intr_enable(struct adapter *adapter, int idx);
drivers/net/ethernet/chelsio/cxgb3/common.h
672
void t3_port_intr_disable(struct adapter *adapter, int idx);
drivers/net/ethernet/chelsio/cxgb3/common.h
673
int t3_slow_intr_handler(struct adapter *adapter);
drivers/net/ethernet/chelsio/cxgb3/common.h
674
int t3_phy_intr_handler(struct adapter *adapter);
drivers/net/ethernet/chelsio/cxgb3/common.h
676
void t3_link_changed(struct adapter *adapter, int port_id);
drivers/net/ethernet/chelsio/cxgb3/common.h
677
void t3_link_fault(struct adapter *adapter, int port_id);
drivers/net/ethernet/chelsio/cxgb3/common.h
680
int t3_seeprom_wp(struct adapter *adapter, int enable);
drivers/net/ethernet/chelsio/cxgb3/common.h
681
int t3_get_tp_version(struct adapter *adapter, u32 *vers);
drivers/net/ethernet/chelsio/cxgb3/common.h
682
int t3_check_tpsram_version(struct adapter *adapter);
drivers/net/ethernet/chelsio/cxgb3/common.h
683
int t3_check_tpsram(struct adapter *adapter, const u8 *tp_ram,
drivers/net/ethernet/chelsio/cxgb3/common.h
685
int t3_set_proto_sram(struct adapter *adap, const u8 *data);
drivers/net/ethernet/chelsio/cxgb3/common.h
686
int t3_load_fw(struct adapter *adapter, const u8 * fw_data, unsigned int size);
drivers/net/ethernet/chelsio/cxgb3/common.h
687
int t3_get_fw_version(struct adapter *adapter, u32 *vers);
drivers/net/ethernet/chelsio/cxgb3/common.h
688
int t3_check_fw_version(struct adapter *adapter);
drivers/net/ethernet/chelsio/cxgb3/common.h
689
int t3_init_hw(struct adapter *adapter, u32 fw_params);
drivers/net/ethernet/chelsio/cxgb3/common.h
690
int t3_reset_adapter(struct adapter *adapter);
drivers/net/ethernet/chelsio/cxgb3/common.h
691
int t3_prep_adapter(struct adapter *adapter, const struct adapter_info *ai,
drivers/net/ethernet/chelsio/cxgb3/common.h
693
int t3_replay_prep_adapter(struct adapter *adapter);
drivers/net/ethernet/chelsio/cxgb3/common.h
694
void t3_led_ready(struct adapter *adapter);
drivers/net/ethernet/chelsio/cxgb3/common.h
695
void t3_fatal_err(struct adapter *adapter);
drivers/net/ethernet/chelsio/cxgb3/common.h
696
void t3_set_vlan_accel(struct adapter *adapter, unsigned int ports, int on);
drivers/net/ethernet/chelsio/cxgb3/common.h
697
void t3_config_rss(struct adapter *adapter, unsigned int rss_config,
drivers/net/ethernet/chelsio/cxgb3/common.h
699
int t3_cim_ctl_blk_read(struct adapter *adap, unsigned int addr,
drivers/net/ethernet/chelsio/cxgb3/common.h
718
void t3_mc5_prep(struct adapter *adapter, struct mc5 *mc5, int mode);
drivers/net/ethernet/chelsio/cxgb3/common.h
723
void t3_tp_set_offload_mode(struct adapter *adap, int enable);
drivers/net/ethernet/chelsio/cxgb3/common.h
724
void t3_tp_get_mib_stats(struct adapter *adap, struct tp_mib_stats *tps);
drivers/net/ethernet/chelsio/cxgb3/common.h
725
void t3_load_mtus(struct adapter *adap, unsigned short mtus[NMTUS],
drivers/net/ethernet/chelsio/cxgb3/common.h
728
void t3_config_trace_filter(struct adapter *adapter,
drivers/net/ethernet/chelsio/cxgb3/common.h
731
int t3_config_sched(struct adapter *adap, unsigned int kbps, int sched);
drivers/net/ethernet/chelsio/cxgb3/common.h
733
void t3_sge_prep(struct adapter *adap, struct sge_params *p);
drivers/net/ethernet/chelsio/cxgb3/common.h
734
void t3_sge_init(struct adapter *adap, struct sge_params *p);
drivers/net/ethernet/chelsio/cxgb3/common.h
735
int t3_sge_init_ecntxt(struct adapter *adapter, unsigned int id, int gts_enable,
drivers/net/ethernet/chelsio/cxgb3/common.h
739
int t3_sge_init_flcntxt(struct adapter *adapter, unsigned int id,
drivers/net/ethernet/chelsio/cxgb3/common.h
743
int t3_sge_init_rspcntxt(struct adapter *adapter, unsigned int id,
drivers/net/ethernet/chelsio/cxgb3/common.h
746
int t3_sge_init_cqcntxt(struct adapter *adapter, unsigned int id, u64 base_addr,
drivers/net/ethernet/chelsio/cxgb3/common.h
749
int t3_sge_enable_ecntxt(struct adapter *adapter, unsigned int id, int enable);
drivers/net/ethernet/chelsio/cxgb3/common.h
750
int t3_sge_disable_fl(struct adapter *adapter, unsigned int id);
drivers/net/ethernet/chelsio/cxgb3/common.h
751
int t3_sge_disable_rspcntxt(struct adapter *adapter, unsigned int id);
drivers/net/ethernet/chelsio/cxgb3/common.h
752
int t3_sge_disable_cqcntxt(struct adapter *adapter, unsigned int id);
drivers/net/ethernet/chelsio/cxgb3/common.h
753
int t3_sge_cqcntxt_op(struct adapter *adapter, unsigned int id, unsigned int op,
drivers/net/ethernet/chelsio/cxgb3/common.h
756
int t3_vsc8211_phy_prep(struct cphy *phy, struct adapter *adapter,
drivers/net/ethernet/chelsio/cxgb3/common.h
758
int t3_ael1002_phy_prep(struct cphy *phy, struct adapter *adapter,
drivers/net/ethernet/chelsio/cxgb3/common.h
760
int t3_ael1006_phy_prep(struct cphy *phy, struct adapter *adapter,
drivers/net/ethernet/chelsio/cxgb3/common.h
762
int t3_ael2005_phy_prep(struct cphy *phy, struct adapter *adapter,
drivers/net/ethernet/chelsio/cxgb3/common.h
764
int t3_ael2020_phy_prep(struct cphy *phy, struct adapter *adapter,
drivers/net/ethernet/chelsio/cxgb3/common.h
766
int t3_qt2045_phy_prep(struct cphy *phy, struct adapter *adapter, int phy_addr,
drivers/net/ethernet/chelsio/cxgb3/common.h
768
int t3_xaui_direct_phy_prep(struct cphy *phy, struct adapter *adapter,
drivers/net/ethernet/chelsio/cxgb3/common.h
770
int t3_aq100x_phy_prep(struct cphy *phy, struct adapter *adapter,
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1026
struct adapter *adapter = phy->adapter;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1036
ret = request_firmware(&fw, fw_name, &adapter->pdev->dev);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1038
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1046
CH_ERR(adapter, "firmware image too large %u, expected %d\n",
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1057
CH_ERR(adapter, "corrupted firmware image, checksum %u\n",
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1072
static int upgrade_fw(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1097
static inline char t3rev2char(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1101
switch(adapter->params.rev) {
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1113
static int update_tpsram(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1165
static void t3_synchronize_rx(struct adapter *adap, const struct port_info *p)
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1180
struct adapter *adapter = pi->adapter;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1182
if (adapter->params.rev > 0) {
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1183
t3_set_vlan_accel(adapter, 1 << pi->port_id,
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1189
for_each_port(adapter, i)
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1191
adapter->port[i]->features &
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1194
t3_set_vlan_accel(adapter, 1, have_vlans);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1196
t3_synchronize_rx(adapter, pi);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1209
static int cxgb_up(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1321
static void cxgb_down(struct adapter *adapter, int on_wq)
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1323
t3_sge_stop(adapter);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1324
spin_lock_irq(&adapter->work_lock); /* sync with PHY intr task */
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1325
t3_intr_disable(adapter);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1326
spin_unlock_irq(&adapter->work_lock);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1328
free_irq_resources(adapter);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1329
quiesce_rx(adapter);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1330
t3_sge_stop(adapter);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1335
static void schedule_chk_task(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1349
struct adapter *adapter = pi->adapter;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1351
int adap_up = adapter->open_device_map & PORT_MASK;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1354
if (test_and_set_bit(OFFLOAD_DEVMAP_BIT, &adapter->open_device_map))
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1357
if (!adap_up && (err = cxgb_up(adapter)) < 0)
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1360
t3_tp_set_offload_mode(adapter, 1);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1361
tdev->lldev = adapter->port[0];
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1362
err = cxgb3_offload_activate(adapter);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1366
init_port_mtus(adapter);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1367
t3_load_mtus(adapter, adapter->params.mtus, adapter->params.a_wnd,
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1368
adapter->params.b_wnd,
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1369
adapter->params.rev == 0 ?
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1370
adapter->port[0]->mtu : 0xffff);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1371
init_smt(adapter);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1382
t3_tp_set_offload_mode(adapter, 0);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1383
clear_bit(OFFLOAD_DEVMAP_BIT, &adapter->open_device_map);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1391
struct adapter *adapter = tdev2adap(tdev);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1394
if (!test_bit(OFFLOAD_DEVMAP_BIT, &adapter->open_device_map))
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1407
t3_tp_set_offload_mode(adapter, 0);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1408
clear_bit(OFFLOAD_DEVMAP_BIT, &adapter->open_device_map);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1410
if (!adapter->open_device_map)
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1411
cxgb_down(adapter, 0);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1413
cxgb3_offload_deactivate(adapter);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1420
struct adapter *adapter = pi->adapter;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1421
int other_ports = adapter->open_device_map & PORT_MASK;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1424
if (!adapter->open_device_map && (err = cxgb_up(adapter)) < 0)
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1427
set_bit(pi->port_id, &adapter->open_device_map);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1428
if (is_offload(adapter) && !ofld_disable) {
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1439
t3_port_intr_enable(adapter, pi->port_id);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1442
schedule_chk_task(adapter);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1444
cxgb3_event_notify(&adapter->tdev, OFFLOAD_PORT_UP, pi->port_id);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1451
struct adapter *adapter = pi->adapter;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1454
if (!adapter->open_device_map)
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1458
t3_xgm_intr_disable(adapter, pi->port_id);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1459
t3_read_reg(adapter, A_XGM_INT_STATUS + pi->mac.offset);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1461
t3_port_intr_disable(adapter, pi->port_id);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1467
spin_lock_irq(&adapter->work_lock); /* sync with update task */
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1468
clear_bit(pi->port_id, &adapter->open_device_map);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1469
spin_unlock_irq(&adapter->work_lock);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1471
if (!(adapter->open_device_map & PORT_MASK))
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1472
cancel_delayed_work_sync(&adapter->adap_check_task);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1474
if (!adapter->open_device_map)
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1475
cxgb_down(adapter, on_wq);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1477
cxgb3_event_notify(&adapter->tdev, OFFLOAD_PORT_DOWN, pi->port_id);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1489
struct adapter *adapter = pi->adapter;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1493
spin_lock(&adapter->stats_lock);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1495
spin_unlock(&adapter->stats_lock);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1528
struct adapter *adapter = pi->adapter;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1530
return adapter->msg_enable;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1536
struct adapter *adapter = pi->adapter;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1538
adapter->msg_enable = val;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1620
struct adapter *adapter = pi->adapter;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1624
spin_lock(&adapter->stats_lock);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1625
t3_get_fw_version(adapter, &fw_vers);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1626
t3_get_tp_version(adapter, &tp_vers);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1627
spin_unlock(&adapter->stats_lock);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1630
strscpy(info->bus_info, pci_name(adapter->pdev),
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1650
static unsigned long collect_sge_port_stats(struct adapter *adapter,
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1657
tot += adapter->sge.qs[i].port_stats[idx];
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1665
struct adapter *adapter = pi->adapter;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1668
spin_lock(&adapter->stats_lock);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1670
spin_unlock(&adapter->stats_lock);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1710
*data++ = collect_sge_port_stats(adapter, pi, SGE_PSTAT_TSO);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1711
*data++ = collect_sge_port_stats(adapter, pi, SGE_PSTAT_VLANEX);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1712
*data++ = collect_sge_port_stats(adapter, pi, SGE_PSTAT_VLANINS);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1713
*data++ = collect_sge_port_stats(adapter, pi, SGE_PSTAT_TX_CSUM);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1714
*data++ = collect_sge_port_stats(adapter, pi, SGE_PSTAT_RX_CSUM_GOOD);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1726
static inline void reg_block_dump(struct adapter *ap, void *buf,
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1739
struct adapter *ap = pi->adapter;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1782
struct adapter *adapter = pi->adapter;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1789
t3_set_reg_field(adapter, A_T3DBG_GPIO_EN, F_GPIO0_OUT_VAL, 0);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1794
t3_set_reg_field(adapter, A_T3DBG_GPIO_EN, F_GPIO0_OUT_VAL,
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
181
static void enable_tx_fifo_drain(struct adapter *adapter,
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
184
t3_set_reg_field(adapter, A_XGM_TXFIFO_CFG + pi->mac.offset, 0,
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
186
t3_write_reg(adapter, A_XGM_RX_CTRL + pi->mac.offset, 0);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
187
t3_write_reg(adapter, A_XGM_TX_CTRL + pi->mac.offset, F_TXEN);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
188
t3_write_reg(adapter, A_XGM_RX_CTRL + pi->mac.offset, F_RXEN);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
191
static void disable_tx_fifo_drain(struct adapter *adapter,
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
194
t3_set_reg_field(adapter, A_XGM_TXFIFO_CFG + pi->mac.offset,
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1955
struct adapter *adapter = pi->adapter;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1956
const struct qset_params *q = &adapter->params.sge.qset[pi->first_qset];
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1973
struct adapter *adapter = pi->adapter;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
198
void t3_os_link_fault(struct adapter *adap, int port_id, int state)
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1984
e->tx_pending < adapter->params.nports * MIN_TXQ_ENTRIES)
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1987
if (adapter->flags & FULL_INIT_DONE)
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1990
q = &adapter->params.sge.qset[pi->first_qset];
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2007
struct adapter *adapter = pi->adapter;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2016
qsp = &adapter->params.sge.qset[i];
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2017
qs = &adapter->sge.qs[i];
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2030
struct adapter *adapter = pi->adapter;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2031
struct qset_params *q = adapter->params.sge.qset;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2041
struct adapter *adapter = pi->adapter;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2045
cnt = pci_read_vpd(adapter->pdev, e->offset, e->len, data);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2058
struct adapter *adapter = pi->adapter;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2073
err = pci_read_vpd(adapter->pdev, aligned_offset, aligned_len,
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2081
err = t3_seeprom_wp(adapter, 0);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2085
err = pci_write_vpd(adapter->pdev, aligned_offset, aligned_len, buf);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2087
err = t3_seeprom_wp(adapter, 1);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2139
struct adapter *adapter = pi->adapter;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2180
if ((adapter->flags & FULL_INIT_DONE) &&
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2188
if (test_bit(OFFLOAD_DEVMAP_BIT, &adapter->open_device_map)) {
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2190
for_each_port(adapter, i) {
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2191
pi = adap2pinfo(adapter, i);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2201
q = &adapter->params.sge.qset[t.qset_idx];
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2219
&adapter->sge.qs[t.qset_idx];
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2225
if (adapter->flags & USING_MSIX)
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2229
if (adapter->params.rev == 0 &&
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2230
!(adapter->flags & USING_MSI))
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2234
q = &adapter->params.sge.
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2265
if (test_bit(OFFLOAD_DEVMAP_BIT, &adapter->open_device_map)) {
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2267
for_each_port(adapter, i) {
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2268
pi = adap2pinfo(adapter, i);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2277
q = &adapter->params.sge.qset[q1 + t.qset_idx];
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2290
if (adapter->flags & USING_MSIX)
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2291
t.vector = adapter->msix_info[q1 + t.qset_idx + 1].vec;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2293
t.vector = adapter->pdev->irq;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2305
if (adapter->flags & FULL_INIT_DONE)
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2312
(edata.val > 1 && !(adapter->flags & USING_MSIX)))
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2315
for_each_port(adapter, i)
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2316
if (adapter->port[i] && adapter->port[i] != dev)
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2317
other_qsets += adap2pinfo(adapter, i)->nqsets;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2324
for_each_port(adapter, i)
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2325
if (adapter->port[i]) {
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2326
pi = adap2pinfo(adapter, i);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2358
ret = t3_load_fw(adapter, fw_data, t.len);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2368
if (!is_offload(adapter))
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2372
if (offload_running(adapter))
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2388
memcpy(adapter->params.mtus, m.mtus,
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2389
sizeof(adapter->params.mtus));
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2393
struct tp_params *p = &adapter->params.tp;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2396
if (!is_offload(adapter))
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2409
struct tp_params *p = &adapter->params.tp;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2411
if (!is_offload(adapter))
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2415
if (adapter->flags & FULL_INIT_DONE)
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2448
if (!is_offload(adapter))
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2452
if (!(adapter->flags & FULL_INIT_DONE))
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2461
mem = &adapter->cm;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2463
mem = &adapter->pmrx;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2465
mem = &adapter->pmtx;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2474
t.version = 3 | (adapter->params.rev << 10);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
250
void t3_os_link_changed(struct adapter *adapter, int port_id, int link_stat,
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2506
if (!offload_running(adapter))
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2515
t3_config_trace_filter(adapter, tp, 0,
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2519
t3_config_trace_filter(adapter, tp, 1,
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
253
struct net_device *dev = adapter->port[port_id];
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2534
struct adapter *adapter = pi->adapter;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2540
if (is_10G(adapter) &&
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2557
struct adapter *adapter = pi->adapter;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2563
init_port_mtus(adapter);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2564
if (adapter->params.rev == 0 && offload_running(adapter))
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2565
t3_load_mtus(adapter, adapter->params.mtus,
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2566
adapter->params.a_wnd, adapter->params.b_wnd,
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2567
adapter->port[0]->mtu);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2574
struct adapter *adapter = pi->adapter;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2582
if (offload_running(adapter))
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2583
write_smt_entry(adapter, pi->port_id);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2616
struct adapter *adapter = pi->adapter;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2620
struct sge_qset *qs = &adapter->sge.qs[qidx];
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2623
if (adapter->flags & USING_MSIX)
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2626
source = adapter;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2628
t3_intr_handler(adapter, qs->rspq.polling) (0, source);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
263
disable_tx_fifo_drain(adapter, pi);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2636
static void mac_stats_update(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2640
for_each_port(adapter, i) {
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2641
struct net_device *dev = adapter->port[i];
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2645
spin_lock(&adapter->stats_lock);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2647
spin_unlock(&adapter->stats_lock);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2652
static void check_link_status(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2656
for_each_port(adapter, i) {
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2657
struct net_device *dev = adapter->port[i];
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2661
spin_lock_irq(&adapter->work_lock);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2663
spin_unlock_irq(&adapter->work_lock);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2666
t3_link_fault(adapter, i);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2671
t3_xgm_intr_disable(adapter, i);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2672
t3_read_reg(adapter, A_XGM_INT_STATUS + p->mac.offset);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2674
t3_link_changed(adapter, i);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2675
t3_xgm_intr_enable(adapter, i);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
268
t3_xgm_intr_disable(adapter, pi->port_id);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2680
static void check_t3b2_mac(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2687
for_each_port(adapter, i) {
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2688
struct net_device *dev = adapter->port[i];
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
269
t3_read_reg(adapter, A_XGM_INT_STATUS +
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2708
t3_port_intr_enable(adapter, p->port_id);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
271
t3_write_reg(adapter,
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2718
struct adapter *adapter = container_of(work, struct adapter,
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2720
const struct adapter_params *p = &adapter->params;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2724
adapter->check_task_cnt++;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2726
check_link_status(adapter);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2730
(adapter->check_task_cnt * p->linkpoll_period) / 10 >=
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2732
mac_stats_update(adapter);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2733
adapter->check_task_cnt = 0;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2737
check_t3b2_mac(adapter);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2747
for_each_port(adapter, port) {
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2748
struct cmac *mac = &adap2pinfo(adapter, port)->mac;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
275
t3_set_reg_field(adapter,
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2751
cause = t3_read_reg(adapter, A_XGM_INT_CAUSE + mac->offset);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2758
t3_write_reg(adapter, A_XGM_INT_CAUSE + mac->offset, reset);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2764
status = t3_read_reg(adapter, A_SG_INT_CAUSE);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2768
struct sge_qset *qs = &adapter->sge.qs[0];
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2773
v = (t3_read_reg(adapter, A_SG_RSPQ_FL_STATUS) >> S_FL0EMPTY) &
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
278
t3_xgm_intr_enable(adapter, pi->port_id);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2785
t3_write_reg(adapter, A_SG_INT_CAUSE, reset);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2788
spin_lock_irq(&adapter->work_lock);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2789
if (adapter->open_device_map & PORT_MASK)
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2790
schedule_chk_task(adapter);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2791
spin_unlock_irq(&adapter->work_lock);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2796
struct adapter *adapter = container_of(work, struct adapter,
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2799
cxgb3_event_notify(&adapter->tdev, OFFLOAD_DB_FULL, 0);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2804
struct adapter *adapter = container_of(work, struct adapter,
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2807
cxgb3_event_notify(&adapter->tdev, OFFLOAD_DB_EMPTY, 0);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2812
struct adapter *adapter = container_of(work, struct adapter,
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2817
cxgb3_event_notify(&adapter->tdev, OFFLOAD_DB_DROP, 0);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2827
ring_dbs(adapter);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2835
struct adapter *adapter = container_of(work, struct adapter,
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
284
t3_xgm_intr_disable(adapter, pi->port_id);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2840
for_each_port(adapter, i) {
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2841
struct net_device *dev = adapter->port[i];
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2844
t3_xgm_intr_disable(adapter, i);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2845
t3_read_reg(adapter, A_XGM_INT_STATUS + p->mac.offset);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2849
t3_phy_intr_handler(adapter);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
285
t3_read_reg(adapter, A_XGM_INT_STATUS + pi->mac.offset);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2851
for_each_port(adapter, i)
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2852
t3_xgm_intr_enable(adapter, i);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2855
spin_lock_irq(&adapter->work_lock);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2856
if (adapter->slow_intr_mask) {
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2857
adapter->slow_intr_mask |= F_T3DBG;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2858
t3_write_reg(adapter, A_PL_INT_CAUSE0, F_T3DBG);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2859
t3_write_reg(adapter, A_PL_INT_ENABLE0,
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
286
t3_set_reg_field(adapter,
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2860
adapter->slow_intr_mask);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2862
spin_unlock_irq(&adapter->work_lock);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2868
void t3_os_ext_intr_handler(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2876
spin_lock(&adapter->work_lock);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2877
if (adapter->slow_intr_mask) {
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2878
adapter->slow_intr_mask &= ~F_T3DBG;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2879
t3_write_reg(adapter, A_PL_INT_ENABLE0,
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2880
adapter->slow_intr_mask);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2881
queue_work(cxgb3_wq, &adapter->ext_intr_handler_task);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2883
spin_unlock(&adapter->work_lock);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2886
void t3_os_link_fault_handler(struct adapter *adapter, int port_id)
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2888
struct net_device *netdev = adapter->port[port_id];
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2891
spin_lock(&adapter->work_lock);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2893
spin_unlock(&adapter->work_lock);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2896
static int t3_adapter_error(struct adapter *adapter, int reset, int on_wq)
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
290
if (is_10G(adapter))
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2900
if (is_offload(adapter) &&
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2901
test_bit(OFFLOAD_DEVMAP_BIT, &adapter->open_device_map)) {
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2902
cxgb3_event_notify(&adapter->tdev, OFFLOAD_STATUS_DOWN, 0);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2903
offload_close(&adapter->tdev);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2907
for_each_port(adapter, i) {
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2908
struct net_device *netdev = adapter->port[i];
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2915
t3_stop_sge_timers(adapter);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2917
adapter->flags &= ~FULL_INIT_DONE;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2920
ret = t3_reset_adapter(adapter);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2922
pci_disable_device(adapter->pdev);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2927
static int t3_reenable_adapter(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2929
if (pci_enable_device(adapter->pdev)) {
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
293
t3_read_reg(adapter, A_XGM_INT_STATUS + pi->mac.offset);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2930
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2934
pci_set_master(adapter->pdev);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2935
pci_restore_state(adapter->pdev);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2938
t3_free_sge_resources(adapter);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2940
if (t3_replay_prep_adapter(adapter))
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2948
static void t3_resume_ports(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2953
for_each_port(adapter, i) {
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2954
struct net_device *netdev = adapter->port[i];
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2958
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2966
if (is_offload(adapter) && !ofld_disable)
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2967
cxgb3_event_notify(&adapter->tdev, OFFLOAD_STATUS_UP, 0);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2976
struct adapter *adapter = container_of(work, struct adapter,
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
298
enable_tx_fifo_drain(adapter, pi);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2981
err = t3_adapter_error(adapter, 1, 1);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2983
err = t3_reenable_adapter(adapter);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2985
t3_resume_ports(adapter);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2987
CH_ALERT(adapter, "adapter reset %s\n", err ? "failed" : "succeeded");
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2991
void t3_fatal_err(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2995
if (adapter->flags & FULL_INIT_DONE) {
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2996
t3_sge_stop_dma(adapter);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2997
t3_write_reg(adapter, A_XGM_TX_CTRL, 0);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2998
t3_write_reg(adapter, A_XGM_RX_CTRL, 0);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2999
t3_write_reg(adapter, XGM_REG(A_XGM_TX_CTRL, 1), 0);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3000
t3_write_reg(adapter, XGM_REG(A_XGM_RX_CTRL, 1), 0);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3002
spin_lock(&adapter->work_lock);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3003
t3_intr_disable(adapter);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3004
queue_work(cxgb3_wq, &adapter->fatal_error_handler_task);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3005
spin_unlock(&adapter->work_lock);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3007
CH_ALERT(adapter, "encountered fatal error, operation suspended\n");
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3008
if (!t3_cim_ctl_blk_read(adapter, 0xa0, 4, fw_status))
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3009
CH_ALERT(adapter, "FW status: 0x%x, 0x%x, 0x%x, 0x%x\n",
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3025
struct adapter *adapter = pci_get_drvdata(pdev);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3030
t3_adapter_error(adapter, 0, 0);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3044
struct adapter *adapter = pci_get_drvdata(pdev);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3046
if (!t3_reenable_adapter(adapter))
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3061
struct adapter *adapter = pci_get_drvdata(pdev);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3063
CH_ALERT(adapter, "adapter recovering, PEX ERR 0x%x\n",
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3064
t3_read_reg(adapter, A_PCIE_PEX_ERR));
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3067
t3_resume_ports(adapter);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3082
static void set_nqsets(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3114
static int cxgb_enable_msix(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3136
static void print_port_info(struct adapter *adap, const struct adapter_info *ai)
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
314
void t3_os_phymod_changed(struct adapter *adap, int port_id)
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3208
struct adapter *adapter = NULL;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3245
adapter = kzalloc_obj(*adapter);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3246
if (!adapter) {
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3251
adapter->nofail_skb =
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3253
if (!adapter->nofail_skb) {
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3259
adapter->regs = ioremap(mmio_start, mmio_len);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3260
if (!adapter->regs) {
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3266
adapter->pdev = pdev;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3267
adapter->name = pci_name(pdev);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3268
adapter->msg_enable = dflt_msg_enable;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3269
adapter->mmio_len = mmio_len;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3271
mutex_init(&adapter->mdio_lock);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3272
spin_lock_init(&adapter->work_lock);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3273
spin_lock_init(&adapter->stats_lock);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3275
INIT_LIST_HEAD(&adapter->adapter_list);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3276
INIT_WORK(&adapter->ext_intr_handler_task, ext_intr_task);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3277
INIT_WORK(&adapter->fatal_error_handler_task, fatal_error_task);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3279
INIT_WORK(&adapter->db_full_task, db_full_task);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3280
INIT_WORK(&adapter->db_empty_task, db_empty_task);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3281
INIT_WORK(&adapter->db_drop_task, db_drop_task);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3283
INIT_DELAYED_WORK(&adapter->adap_check_task, t3_adap_check_task);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3296
adapter->port[i] = netdev;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3298
pi->adapter = adapter;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3319
pci_set_drvdata(pdev, adapter);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3320
if (t3_prep_adapter(adapter, ai, 1) < 0) {
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3331
for_each_port(adapter, i) {
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3332
err = register_netdev(adapter->port[i]);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3336
adapter->port[i]->name);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3342
if (!adapter->registered_device_map)
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3343
adapter->name = adapter->port[i]->name;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3345
__set_bit(i, &adapter->registered_device_map);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3348
if (!adapter->registered_device_map) {
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3354
for_each_port(adapter, i)
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3355
cxgb3_init_iscsi_mac(adapter->port[i]);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3358
t3_led_ready(adapter);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3360
if (is_offload(adapter)) {
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3361
__set_bit(OFFLOAD_DEVMAP_BIT, &adapter->registered_device_map);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3362
cxgb3_adapter_ofld(adapter);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3366
if (msi > 1 && cxgb_enable_msix(adapter) == 0)
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3367
adapter->flags |= USING_MSIX;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3369
adapter->flags |= USING_MSI;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3371
set_nqsets(adapter);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3373
err = sysfs_create_group(&adapter->port[0]->dev.kobj,
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3380
print_port_info(adapter, ai);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3384
t3_set_reg_field(adapter, A_T3DBG_GPIO_EN, F_GPIO0_OUT_VAL, 0);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3387
iounmap(adapter->regs);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3389
if (adapter->port[i])
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3390
free_netdev(adapter->port[i]);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3393
kfree_skb(adapter->nofail_skb);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3396
kfree(adapter);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3408
struct adapter *adapter = pci_get_drvdata(pdev);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3410
if (adapter) {
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3413
t3_sge_stop(adapter);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3414
sysfs_remove_group(&adapter->port[0]->dev.kobj,
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3417
if (is_offload(adapter)) {
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3418
cxgb3_adapter_unofld(adapter);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3420
&adapter->open_device_map))
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3421
offload_close(&adapter->tdev);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3424
for_each_port(adapter, i)
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3425
if (test_bit(i, &adapter->registered_device_map))
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3426
unregister_netdev(adapter->port[i]);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3428
t3_stop_sge_timers(adapter);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3429
t3_free_sge_resources(adapter);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3430
cxgb_disable_msi(adapter);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3432
for_each_port(adapter, i)
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3433
if (adapter->port[i])
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3434
free_netdev(adapter->port[i]);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3436
iounmap(adapter->regs);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3437
kfree_skb(adapter->nofail_skb);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3438
kfree(adapter);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
358
static inline void cxgb_disable_msi(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
360
if (adapter->flags & USING_MSIX) {
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
361
pci_disable_msix(adapter->pdev);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
362
adapter->flags &= ~USING_MSIX;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
363
} else if (adapter->flags & USING_MSI) {
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
364
pci_disable_msi(adapter->pdev);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
365
adapter->flags &= ~USING_MSI;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
381
static void name_msix_vecs(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
399
static int request_msix_data_irqs(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
425
static void free_irq_resources(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
427
if (adapter->flags & USING_MSIX) {
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
430
free_irq(adapter->msix_info[0].vec, adapter);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
431
for_each_port(adapter, i)
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
432
n += adap2pinfo(adapter, i)->nqsets;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
435
free_irq(adapter->msix_info[i + 1].vec,
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
436
&adapter->sge.qs[i]);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
438
free_irq(adapter->pdev->irq, adapter);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
441
static int await_mgmt_replies(struct adapter *adap, unsigned long init_cnt,
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
454
static int init_tp_parity(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
567
static void setup_rss(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
590
static void ring_dbs(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
603
static void init_napi(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
627
static void quiesce_rx(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
636
static void enable_all_napi(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
652
static int setup_sge_qsets(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
722
struct adapter *adap = pi->adapter; \
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
734
struct adapter *adap = pi->adapter;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
757
struct adapter *adap = pi->adapter;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
801
struct adapter *adap = pi->adapter;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
827
struct adapter *adap = pi->adapter;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
900
static int write_smt_entry(struct adapter *adapter, int idx)
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
903
struct port_info *pi = netdev_priv(adapter->port[idx]);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
914
memcpy(req->src_mac0, adapter->port[idx]->dev_addr, ETH_ALEN);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
917
offload_tx(&adapter->tdev, skb);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
921
static int init_smt(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
925
for_each_port(adapter, i)
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
926
write_smt_entry(adapter, i);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
930
static void init_port_mtus(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
932
unsigned int mtus = adapter->port[0]->mtu;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
934
if (adapter->port[1])
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
935
mtus |= adapter->port[1]->mtu << 16;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
936
t3_write_reg(adapter, A_TP_MTU_PORT_TABLE, mtus);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
939
static int send_pktsched_cmd(struct adapter *adap, int sched, int qidx, int lo,
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
971
static int bind_qsets(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
1018
struct adapter *adapter;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
1022
list_for_each_entry(adapter, &adapter_list, adapter_list) {
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
1023
for_each_port(adapter, i) {
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
1024
if (dev == adapter->port[i]) {
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
1164
static inline void add_adapter(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
1171
static inline void remove_adapter(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
1178
int cxgb3_offload_activate(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
1180
struct t3cdev *dev = &adapter->tdev;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
1232
add_adapter(adapter);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
1249
void cxgb3_offload_deactivate(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
1251
struct t3cdev *tdev = &adapter->tdev;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
1255
remove_adapter(adapter);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
1287
static inline int adap2type(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
1291
switch (adapter->params.rev) {
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
1306
void cxgb3_adapter_ofld(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
1308
struct t3cdev *tdev = &adapter->tdev;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
1315
tdev->type = adap2type(adapter);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
1320
void cxgb3_adapter_unofld(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
1322
struct t3cdev *tdev = &adapter->tdev;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
176
static struct net_device *get_iff_from_mac(struct adapter *adapter,
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
182
for_each_port(adapter, i) {
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
183
struct net_device *dev = adapter->port[i];
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
203
static int cxgb_ulp_iscsi_ctl(struct adapter *adapter, unsigned int req,
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
213
uiip->pdev = adapter->pdev;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
214
uiip->llimit = t3_read_reg(adapter, A_ULPRX_ISCSI_LLIMIT);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
215
uiip->ulimit = t3_read_reg(adapter, A_ULPRX_ISCSI_ULIMIT);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
216
uiip->tagmask = t3_read_reg(adapter, A_ULPRX_ISCSI_TAGMASK);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
218
val = t3_read_reg(adapter, A_ULPRX_ISCSI_PSZ);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
222
val = t3_read_reg(adapter, A_TP_PARA_REG7);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
230
val = min(adapter->params.tp.tx_pg_size,
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
231
t3_read_reg(adapter, A_PM1_TX_CFG) >> 17);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
235
val = t3_read_reg(adapter, A_TP_PARA_REG2);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
240
adapter->name, val);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
241
t3_write_reg(adapter, A_TP_PARA_REG2, val);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
248
val = min(adapter->params.tp.rx_pg_size,
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
249
((t3_read_reg(adapter, A_TP_PARA_REG2)) >>
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
254
t3_write_reg(adapter, A_ULPRX_ISCSI_TAGMASK, uiip->tagmask);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
258
if (val && (val != t3_read_reg(adapter, A_ULPRX_ISCSI_PSZ))) {
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
260
adapter->name, val, uiip->pgsz_factor[0],
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
263
t3_write_reg(adapter, A_ULPRX_ISCSI_PSZ, val);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
275
static int cxgb_rdma_ctl(struct adapter *adapter, unsigned int req, void *data)
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
282
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
287
t3_read_reg(adapter, A_ULPTX_TPT_LLIMIT);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
288
rdma->tpt_top = t3_read_reg(adapter, A_ULPTX_TPT_ULIMIT);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
290
t3_read_reg(adapter, A_ULPTX_PBL_LLIMIT);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
291
rdma->pbl_top = t3_read_reg(adapter, A_ULPTX_PBL_ULIMIT);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
292
rdma->rqt_base = t3_read_reg(adapter, A_ULPRX_RQ_LLIMIT);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
293
rdma->rqt_top = t3_read_reg(adapter, A_ULPRX_RQ_ULIMIT);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
294
rdma->kdb_addr = adapter->regs + A_SG_KDOORBELL;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
303
spin_lock_irqsave(&adapter->sge.reg_lock, flags);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
304
ret = t3_sge_cqcntxt_op(adapter, rdma->id, rdma->op,
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
306
spin_unlock_irqrestore(&adapter->sge.reg_lock, flags);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
316
mem = &adapter->cm;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
318
mem = &adapter->pmrx;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
320
mem = &adapter->pmtx;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
334
spin_lock_irq(&adapter->sge.reg_lock);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
336
t3_sge_init_cqcntxt(adapter, rdma->id,
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
341
spin_unlock_irq(&adapter->sge.reg_lock);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
345
spin_lock_irq(&adapter->sge.reg_lock);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
346
ret = t3_sge_disable_cqcntxt(adapter, *(unsigned int *)data);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
347
spin_unlock_irq(&adapter->sge.reg_lock);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
352
spin_lock_irq(&adapter->sge.reg_lock);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
353
ret = t3_sge_init_ecntxt(adapter, FW_RI_SGEEC_START, 0,
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
358
spin_unlock_irq(&adapter->sge.reg_lock);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
362
spin_lock(&adapter->stats_lock);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
363
t3_tp_get_mib_stats(adapter, (struct tp_mib_stats *)data);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
364
spin_unlock(&adapter->stats_lock);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
375
struct adapter *adapter = tdev2adap(tdev);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
382
struct tp_params *tp = &adapter->params.tp;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
397
tid->num = t3_mc5_size(&adapter->mc5) -
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
398
adapter->params.mc5.nroutes -
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
399
adapter->params.mc5.nfilters - adapter->params.mc5.nservers;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
404
tid->num = adapter->params.mc5.nservers;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
405
tid->base = t3_mc5_size(&adapter->mc5) - tid->num -
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
406
adapter->params.mc5.nfilters - adapter->params.mc5.nroutes;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
414
mtup->mtus = adapter->params.mtus;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
418
iffmacp->dev = get_iff_from_mac(adapter, iffmacp->mac_addr,
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
424
ddpp->llimit = t3_read_reg(adapter, A_ULPRX_TDDP_LLIMIT);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
425
ddpp->ulimit = t3_read_reg(adapter, A_ULPRX_TDDP_ULIMIT);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
426
ddpp->tag_mask = t3_read_reg(adapter, A_ULPRX_TDDP_TAGMASK);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
430
ports->nports = adapter->params.nports;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
431
for_each_port(adapter, i)
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
432
ports->lldevs[i] = adapter->port[i];
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
436
if (!offload_running(adapter))
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
438
return cxgb_ulp_iscsi_ctl(adapter, req, data);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
446
if (!offload_running(adapter))
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
448
return cxgb_rdma_ctl(adapter, req, data);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
463
spin_lock(&adapter->stats_lock);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
464
t3_get_fw_version(adapter, &e->fw_vers);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
465
t3_get_tp_version(adapter, &e->tp_vers);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
466
spin_unlock(&adapter->stats_lock);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
662
return (struct t3cdev *)pi->adapter;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
72
const struct adapter *adapter = tdev2adap(tdev);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
74
return test_bit(OFFLOAD_DEVMAP_BIT, &adapter->open_device_map);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.h
43
struct adapter;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.h
47
void cxgb3_adapter_ofld(struct adapter *adapter);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.h
48
void cxgb3_adapter_unofld(struct adapter *adapter);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.h
49
int cxgb3_offload_activate(struct adapter *adapter);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.h
50
void cxgb3_offload_deactivate(struct adapter *adapter);
drivers/net/ethernet/chelsio/cxgb3/mc5.c
100
static inline void dbgi_wr_data3(struct adapter *adapter, u32 v1, u32 v2,
drivers/net/ethernet/chelsio/cxgb3/mc5.c
103
t3_write_reg(adapter, A_MC5_DB_DBGI_REQ_DATA0, v1);
drivers/net/ethernet/chelsio/cxgb3/mc5.c
104
t3_write_reg(adapter, A_MC5_DB_DBGI_REQ_DATA1, v2);
drivers/net/ethernet/chelsio/cxgb3/mc5.c
105
t3_write_reg(adapter, A_MC5_DB_DBGI_REQ_DATA2, v3);
drivers/net/ethernet/chelsio/cxgb3/mc5.c
113
static int mc5_write(struct adapter *adapter, u32 addr_lo, u32 cmd)
drivers/net/ethernet/chelsio/cxgb3/mc5.c
115
t3_write_reg(adapter, A_MC5_DB_DBGI_REQ_ADDR0, addr_lo);
drivers/net/ethernet/chelsio/cxgb3/mc5.c
116
if (mc5_cmd_write(adapter, cmd) == 0)
drivers/net/ethernet/chelsio/cxgb3/mc5.c
118
CH_ERR(adapter, "MC5 timeout writing to TCAM address 0x%x\n",
drivers/net/ethernet/chelsio/cxgb3/mc5.c
128
struct adapter *adap = mc5->adapter;
drivers/net/ethernet/chelsio/cxgb3/mc5.c
166
struct adapter *adap = mc5->adapter;
drivers/net/ethernet/chelsio/cxgb3/mc5.c
230
struct adapter *adap = mc5->adapter;
drivers/net/ethernet/chelsio/cxgb3/mc5.c
290
t3_write_reg(mc5->adapter, A_MC5_DB_CONFIG,
drivers/net/ethernet/chelsio/cxgb3/mc5.c
297
t3_write_reg(mc5->adapter, A_MC5_DB_CONFIG,
drivers/net/ethernet/chelsio/cxgb3/mc5.c
313
struct adapter *adap = mc5->adapter;
drivers/net/ethernet/chelsio/cxgb3/mc5.c
369
struct adapter *adap = mc5->adapter;
drivers/net/ethernet/chelsio/cxgb3/mc5.c
401
void t3_mc5_prep(struct adapter *adapter, struct mc5 *mc5, int mode)
drivers/net/ethernet/chelsio/cxgb3/mc5.c
411
u32 cfg = t3_read_reg(adapter, A_MC5_DB_CONFIG);
drivers/net/ethernet/chelsio/cxgb3/mc5.c
413
mc5->adapter = adapter;
drivers/net/ethernet/chelsio/cxgb3/mc5.c
93
static int mc5_cmd_write(struct adapter *adapter, u32 cmd)
drivers/net/ethernet/chelsio/cxgb3/mc5.c
95
t3_write_reg(adapter, A_MC5_DB_DBGI_REQ_CMD, cmd);
drivers/net/ethernet/chelsio/cxgb3/mc5.c
96
return t3_wait_op_done(adapter, A_MC5_DB_DBGI_RSP_STATUS,
drivers/net/ethernet/chelsio/cxgb3/sge.c
1045
static inline void check_ring_tx_db(struct adapter *adap, struct sge_txq *q)
drivers/net/ethernet/chelsio/cxgb3/sge.c
1176
static void write_tx_pkt_wr(struct adapter *adap, struct sk_buff *skb,
drivers/net/ethernet/chelsio/cxgb3/sge.c
1265
struct adapter *adap = pi->adapter;
drivers/net/ethernet/chelsio/cxgb3/sge.c
1418
static inline int check_desc_avail(struct adapter *adap, struct sge_txq *q,
drivers/net/ethernet/chelsio/cxgb3/sge.c
1473
static int ctrl_xmit(struct adapter *adap, struct sge_txq *q,
drivers/net/ethernet/chelsio/cxgb3/sge.c
1561
int t3_mgmt_tx(struct adapter *adap, struct sk_buff *skb)
drivers/net/ethernet/chelsio/cxgb3/sge.c
1629
static void write_ofld_wr(struct adapter *adap, struct sk_buff *skb,
drivers/net/ethernet/chelsio/cxgb3/sge.c
1694
static int ofld_xmit(struct adapter *adap, struct sge_txq *q,
drivers/net/ethernet/chelsio/cxgb3/sge.c
1747
struct adapter *adap = pi->adapter;
drivers/net/ethernet/chelsio/cxgb3/sge.c
1835
struct adapter *adap = tdev2adap(tdev);
drivers/net/ethernet/chelsio/cxgb3/sge.c
188
static inline void refill_rspq(struct adapter *adapter,
drivers/net/ethernet/chelsio/cxgb3/sge.c
1900
struct adapter *adapter = qs->adap;
drivers/net/ethernet/chelsio/cxgb3/sge.c
192
t3_write_reg(adapter, A_SG_RSPQ_CREDIT_RETURN,
drivers/net/ethernet/chelsio/cxgb3/sge.c
1929
adapter->tdev.recv(&adapter->tdev, skbs,
drivers/net/ethernet/chelsio/cxgb3/sge.c
1940
deliver_partial_bundle(&adapter->tdev, q, skbs, ngathered);
drivers/net/ethernet/chelsio/cxgb3/sge.c
2084
static void rx_eth(struct adapter *adap, struct sge_rspq *rq,
drivers/net/ethernet/chelsio/cxgb3/sge.c
2134
static void lro_add_page(struct adapter *adap, struct sge_qset *qs,
drivers/net/ethernet/chelsio/cxgb3/sge.c
2252
static void check_ring_db(struct adapter *adap, struct sge_qset *qs,
drivers/net/ethernet/chelsio/cxgb3/sge.c
2322
static int process_responses(struct adapter *adap, struct sge_qset *qs,
drivers/net/ethernet/chelsio/cxgb3/sge.c
2477
struct adapter *adap = qs->adap;
drivers/net/ethernet/chelsio/cxgb3/sge.c
2518
static int process_pure_responses(struct adapter *adap, struct sge_qset *qs,
drivers/net/ethernet/chelsio/cxgb3/sge.c
2575
static inline int handle_responses(struct adapter *adap, struct sge_rspq *q)
drivers/net/ethernet/chelsio/cxgb3/sge.c
2599
struct adapter *adap = qs->adap;
drivers/net/ethernet/chelsio/cxgb3/sge.c
2637
struct adapter *adap = cookie;
drivers/net/ethernet/chelsio/cxgb3/sge.c
2682
struct adapter *adap = cookie;
drivers/net/ethernet/chelsio/cxgb3/sge.c
2700
static inline int process_responses_gts(struct adapter *adap,
drivers/net/ethernet/chelsio/cxgb3/sge.c
2720
struct adapter *adap = cookie;
drivers/net/ethernet/chelsio/cxgb3/sge.c
2758
struct adapter *adap = cookie;
drivers/net/ethernet/chelsio/cxgb3/sge.c
2792
struct adapter *adap = cookie;
drivers/net/ethernet/chelsio/cxgb3/sge.c
282
static void free_tx_desc(struct adapter *adapter, struct sge_txq *q,
drivers/net/ethernet/chelsio/cxgb3/sge.c
2826
irq_handler_t t3_intr_handler(struct adapter *adap, int polling)
drivers/net/ethernet/chelsio/cxgb3/sge.c
2852
void t3_sge_err_intr_handler(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb3/sge.c
2854
unsigned int v, status = t3_read_reg(adapter, A_SG_INT_CAUSE) &
drivers/net/ethernet/chelsio/cxgb3/sge.c
2858
CH_ALERT(adapter, "SGE parity error (0x%x)\n",
drivers/net/ethernet/chelsio/cxgb3/sge.c
286
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/chelsio/cxgb3/sge.c
2861
CH_ALERT(adapter, "SGE framing error (0x%x)\n",
drivers/net/ethernet/chelsio/cxgb3/sge.c
2865
CH_ALERT(adapter, "SGE response queue credit overflow\n");
drivers/net/ethernet/chelsio/cxgb3/sge.c
2868
v = t3_read_reg(adapter, A_SG_RSPQ_FL_STATUS);
drivers/net/ethernet/chelsio/cxgb3/sge.c
2870
CH_ALERT(adapter,
drivers/net/ethernet/chelsio/cxgb3/sge.c
2876
queue_work(cxgb3_wq, &adapter->db_drop_task);
drivers/net/ethernet/chelsio/cxgb3/sge.c
2879
queue_work(cxgb3_wq, &adapter->db_full_task);
drivers/net/ethernet/chelsio/cxgb3/sge.c
2882
queue_work(cxgb3_wq, &adapter->db_empty_task);
drivers/net/ethernet/chelsio/cxgb3/sge.c
2884
t3_write_reg(adapter, A_SG_INT_CAUSE, status);
drivers/net/ethernet/chelsio/cxgb3/sge.c
2886
t3_fatal_err(adapter);
drivers/net/ethernet/chelsio/cxgb3/sge.c
2911
struct adapter *adap = pi->adapter;
drivers/net/ethernet/chelsio/cxgb3/sge.c
2952
struct adapter *adap = pi->adapter;
drivers/net/ethernet/chelsio/cxgb3/sge.c
3021
int t3_sge_alloc_qset(struct adapter *adapter, unsigned int id, int nports,
drivers/net/ethernet/chelsio/cxgb3/sge.c
3027
struct sge_qset *q = &adapter->sge.qs[id];
drivers/net/ethernet/chelsio/cxgb3/sge.c
3033
q->fl[0].desc = alloc_ring(adapter->pdev, p->fl_size,
drivers/net/ethernet/chelsio/cxgb3/sge.c
3040
q->fl[1].desc = alloc_ring(adapter->pdev, p->jumbo_size,
drivers/net/ethernet/chelsio/cxgb3/sge.c
3047
q->rspq.desc = alloc_ring(adapter->pdev, p->rspq_size,
drivers/net/ethernet/chelsio/cxgb3/sge.c
3060
q->txq[i].desc = alloc_ring(adapter->pdev, p->txq_size[i],
drivers/net/ethernet/chelsio/cxgb3/sge.c
3096
q->fl[1].buf_size = is_offload(adapter) ?
drivers/net/ethernet/chelsio/cxgb3/sge.c
3108
spin_lock_irq(&adapter->sge.reg_lock);
drivers/net/ethernet/chelsio/cxgb3/sge.c
3111
ret = t3_sge_init_rspcntxt(adapter, q->rspq.cntxt_id, irq_vec_idx,
drivers/net/ethernet/chelsio/cxgb3/sge.c
3118
ret = t3_sge_init_flcntxt(adapter, q->fl[i].cntxt_id, 0,
drivers/net/ethernet/chelsio/cxgb3/sge.c
3126
ret = t3_sge_init_ecntxt(adapter, q->txq[TXQ_ETH].cntxt_id, USE_GTS,
drivers/net/ethernet/chelsio/cxgb3/sge.c
3134
ret = t3_sge_init_ecntxt(adapter, q->txq[TXQ_OFLD].cntxt_id,
drivers/net/ethernet/chelsio/cxgb3/sge.c
3143
ret = t3_sge_init_ecntxt(adapter, q->txq[TXQ_CTRL].cntxt_id, 0,
drivers/net/ethernet/chelsio/cxgb3/sge.c
3152
spin_unlock_irq(&adapter->sge.reg_lock);
drivers/net/ethernet/chelsio/cxgb3/sge.c
3154
q->adap = adapter;
drivers/net/ethernet/chelsio/cxgb3/sge.c
3159
avail = refill_fl(adapter, &q->fl[0], q->fl[0].size,
drivers/net/ethernet/chelsio/cxgb3/sge.c
3162
CH_ALERT(adapter, "free list queue 0 initialization failed\n");
drivers/net/ethernet/chelsio/cxgb3/sge.c
3167
CH_WARN(adapter, "free list queue 0 enabled with %d credits\n",
drivers/net/ethernet/chelsio/cxgb3/sge.c
3170
avail = refill_fl(adapter, &q->fl[1], q->fl[1].size,
drivers/net/ethernet/chelsio/cxgb3/sge.c
3173
CH_WARN(adapter, "free list queue 1 enabled with %d credits\n",
drivers/net/ethernet/chelsio/cxgb3/sge.c
3175
refill_rspq(adapter, &q->rspq, q->rspq.size - 1);
drivers/net/ethernet/chelsio/cxgb3/sge.c
3177
t3_write_reg(adapter, A_SG_GTS, V_RSPQ(q->rspq.cntxt_id) |
drivers/net/ethernet/chelsio/cxgb3/sge.c
3183
spin_unlock_irq(&adapter->sge.reg_lock);
drivers/net/ethernet/chelsio/cxgb3/sge.c
3185
t3_free_qset(adapter, q);
drivers/net/ethernet/chelsio/cxgb3/sge.c
3195
void t3_start_sge_timers(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb3/sge.c
321
static inline unsigned int reclaim_completed_tx(struct adapter *adapter,
drivers/net/ethernet/chelsio/cxgb3/sge.c
3218
void t3_stop_sge_timers(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb3/sge.c
3238
void t3_free_sge_resources(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb3/sge.c
3253
void t3_sge_start(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb3/sge.c
3270
void t3_sge_stop_dma(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb3/sge.c
3282
void t3_sge_stop(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb3/sge.c
329
free_tx_desc(adapter, q, reclaim);
drivers/net/ethernet/chelsio/cxgb3/sge.c
3309
void t3_sge_init(struct adapter *adap, struct sge_params *p)
drivers/net/ethernet/chelsio/cxgb3/sge.c
3348
void t3_sge_prep(struct adapter *adap, struct sge_params *p)
drivers/net/ethernet/chelsio/cxgb3/sge.c
438
static int alloc_pg_chunk(struct adapter *adapter, struct sge_fl *q,
drivers/net/ethernet/chelsio/cxgb3/sge.c
452
mapping = dma_map_page(&adapter->pdev->dev, q->pg_chunk.page,
drivers/net/ethernet/chelsio/cxgb3/sge.c
454
if (unlikely(dma_mapping_error(&adapter->pdev->dev, mapping))) {
drivers/net/ethernet/chelsio/cxgb3/sge.c
481
static inline void ring_fl_db(struct adapter *adap, struct sge_fl *q)
drivers/net/ethernet/chelsio/cxgb3/sge.c
501
static int refill_fl(struct adapter *adap, struct sge_fl *q, int n, gfp_t gfp)
drivers/net/ethernet/chelsio/cxgb3/sge.c
559
static inline void __refill_fl(struct adapter *adap, struct sge_fl *fl)
drivers/net/ethernet/chelsio/cxgb3/sge.c
574
static void recycle_rx_buf(struct adapter *adap, struct sge_fl *q,
drivers/net/ethernet/chelsio/cxgb3/sge.c
672
static void t3_free_qset(struct adapter *adapter, struct sge_qset *q)
drivers/net/ethernet/chelsio/cxgb3/sge.c
675
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/chelsio/cxgb3/sge.c
679
spin_lock_irq(&adapter->sge.reg_lock);
drivers/net/ethernet/chelsio/cxgb3/sge.c
680
t3_sge_disable_fl(adapter, q->fl[i].cntxt_id);
drivers/net/ethernet/chelsio/cxgb3/sge.c
681
spin_unlock_irq(&adapter->sge.reg_lock);
drivers/net/ethernet/chelsio/cxgb3/sge.c
692
spin_lock_irq(&adapter->sge.reg_lock);
drivers/net/ethernet/chelsio/cxgb3/sge.c
693
t3_sge_enable_ecntxt(adapter, q->txq[i].cntxt_id, 0);
drivers/net/ethernet/chelsio/cxgb3/sge.c
694
spin_unlock_irq(&adapter->sge.reg_lock);
drivers/net/ethernet/chelsio/cxgb3/sge.c
696
free_tx_desc(adapter, &q->txq[i],
drivers/net/ethernet/chelsio/cxgb3/sge.c
708
spin_lock_irq(&adapter->sge.reg_lock);
drivers/net/ethernet/chelsio/cxgb3/sge.c
709
t3_sge_disable_rspcntxt(adapter, q->rspq.cntxt_id);
drivers/net/ethernet/chelsio/cxgb3/sge.c
710
spin_unlock_irq(&adapter->sge.reg_lock);
drivers/net/ethernet/chelsio/cxgb3/sge.c
779
static struct sk_buff *get_packet(struct adapter *adap, struct sge_fl *fl,
drivers/net/ethernet/chelsio/cxgb3/sge.c
839
static struct sk_buff *get_packet_pg(struct adapter *adap, struct sge_fl *fl,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1001
ret = t3_get_fw_version(adapter, &vers);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1013
CH_WARN(adapter, "found old FW minor version(%u.%u), "
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1017
CH_WARN(adapter, "found newer FW version(%u.%u), "
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1033
static int t3_flash_erase_sectors(struct adapter *adapter, int start, int end)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1038
if ((ret = sf1_write(adapter, 1, 0, SF_WR_ENABLE)) != 0 ||
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1039
(ret = sf1_write(adapter, 4, 0,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
104
void t3_set_reg_field(struct adapter *adapter, unsigned int addr, u32 mask,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1041
(ret = flash_wait_op(adapter, 5, 500)) != 0)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1059
int t3_load_fw(struct adapter *adapter, const u8 *fw_data, unsigned int size)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
107
u32 v = t3_read_reg(adapter, addr) & ~mask;
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1074
CH_ERR(adapter, "corrupted firmware image, checksum %u\n",
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1079
ret = t3_flash_erase_sectors(adapter, fw_sector, fw_sector);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1087
ret = t3_write_flash(adapter, addr, chunk_size, fw_data);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
109
t3_write_reg(adapter, addr, v | val);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1096
ret = t3_write_flash(adapter, FW_VERS_ADDR, 4, fw_data);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1099
CH_ERR(adapter, "firmware download failed, error %d\n", ret);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
110
t3_read_reg(adapter, addr); /* flush */
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1115
int t3_cim_ctl_blk_read(struct adapter *adap, unsigned int addr,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1140
*rx_cfg = t3_read_reg(mac->adapter, A_XGM_RX_CFG);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1141
t3_set_reg_field(mac->adapter, A_XGM_RX_CFG,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1145
*rx_hash_high = t3_read_reg(mac->adapter, A_XGM_RX_HASH_HIGH);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1146
t3_write_reg(mac->adapter, A_XGM_RX_HASH_HIGH, 0);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1148
*rx_hash_low = t3_read_reg(mac->adapter, A_XGM_RX_HASH_LOW);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1149
t3_write_reg(mac->adapter, A_XGM_RX_HASH_LOW, 0);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1159
t3_set_reg_field(mac->adapter, A_XGM_RX_CFG,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1162
t3_write_reg(mac->adapter, A_XGM_RX_HASH_HIGH, rx_hash_high);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1163
t3_write_reg(mac->adapter, A_XGM_RX_HASH_LOW, rx_hash_low);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1175
void t3_link_changed(struct adapter *adapter, int port_id)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1178
struct port_info *pi = adap2pinfo(adapter, port_id);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1189
t3_xgm_intr_enable(adapter, port_id);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1191
t3_write_reg(adapter, A_XGM_RX_CTRL + mac->offset, 0);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1194
status = t3_read_reg(adapter, A_XGM_INT_STATUS + mac->offset);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1211
if (link_ok != lc->link_ok && adapter->params.rev > 0 &&
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1212
uses_xaui(adapter)) {
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1215
t3_write_reg(adapter, A_XGM_XAUI_ACT_CTRL + mac->offset,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1228
t3_os_link_changed(adapter, port_id, link_ok && !pi->link_fault,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1232
void t3_link_fault(struct adapter *adapter, int port_id)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1234
struct port_info *pi = adap2pinfo(adapter, port_id);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1243
if (adapter->params.rev > 0 && uses_xaui(adapter))
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1244
t3_write_reg(adapter, A_XGM_XAUI_ACT_CTRL + mac->offset, 0);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1246
t3_write_reg(adapter, A_XGM_RX_CTRL + mac->offset, 0);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
125
static void t3_read_indirect(struct adapter *adap, unsigned int addr_reg,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1251
link_fault = t3_read_reg(adapter,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1267
t3_os_link_fault(adapter, port_id, 0);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1274
t3_write_reg(adapter, A_XGM_XAUI_ACT_CTRL + mac->offset,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1281
t3_os_link_fault(adapter, port_id, link_ok);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1338
void t3_set_vlan_accel(struct adapter *adapter, unsigned int ports, int on)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1340
t3_set_reg_field(adapter, A_TP_OUT_CONFIG,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1367
static int t3_handle_intr_status(struct adapter *adapter, unsigned int reg,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1373
unsigned int status = t3_read_reg(adapter, reg) & mask;
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1380
CH_ALERT(adapter, "%s (0x%x)\n",
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1384
CH_WARN(adapter, "%s (0x%x)\n",
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1390
t3_write_reg(adapter, reg, status);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1455
static void pci_intr_handler(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1483
if (t3_handle_intr_status(adapter, A_PCIX_INT_CAUSE, PCIX_INTR_MASK,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1484
pcix1_intr_info, adapter->irq_stats))
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1485
t3_fatal_err(adapter);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1491
static void pcie_intr_handler(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1513
if (t3_read_reg(adapter, A_PCIE_INT_CAUSE) & F_PEXERR)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1514
CH_ALERT(adapter, "PEX error code 0x%x\n",
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1515
t3_read_reg(adapter, A_PCIE_PEX_ERR));
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1517
if (t3_handle_intr_status(adapter, A_PCIE_INT_CAUSE, PCIE_INTR_MASK,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1518
pcie_intr_info, adapter->irq_stats))
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1519
t3_fatal_err(adapter);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1525
static void tp_intr_handler(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
153
struct adapter *adap = mc7->adapter;
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1541
if (t3_handle_intr_status(adapter, A_TP_INT_CAUSE, 0xffffffff,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1542
adapter->params.rev < T3_REV_C ?
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1544
t3_fatal_err(adapter);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1550
static void cim_intr_handler(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1580
if (t3_handle_intr_status(adapter, A_CIM_HOST_INT_CAUSE, 0xffffffff,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1582
t3_fatal_err(adapter);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1588
static void ulprx_intr_handler(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1602
if (t3_handle_intr_status(adapter, A_ULPRX_INT_CAUSE, 0xffffffff,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1604
t3_fatal_err(adapter);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1610
static void ulptx_intr_handler(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1621
if (t3_handle_intr_status(adapter, A_ULPTX_INT_CAUSE, 0xffffffff,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1622
ulptx_intr_info, adapter->irq_stats))
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1623
t3_fatal_err(adapter);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1638
static void pmtx_intr_handler(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1651
if (t3_handle_intr_status(adapter, A_PM1_TX_INT_CAUSE, 0xffffffff,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1653
t3_fatal_err(adapter);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1668
static void pmrx_intr_handler(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1681
if (t3_handle_intr_status(adapter, A_PM1_RX_INT_CAUSE, 0xffffffff,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1683
t3_fatal_err(adapter);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1689
static void cplsw_intr_handler(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1701
if (t3_handle_intr_status(adapter, A_CPL_INTR_CAUSE, 0xffffffff,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1703
t3_fatal_err(adapter);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1709
static void mps_intr_handler(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1716
if (t3_handle_intr_status(adapter, A_MPS_INT_CAUSE, 0xffffffff,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1718
t3_fatal_err(adapter);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1728
struct adapter *adapter = mc7->adapter;
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1729
u32 cause = t3_read_reg(adapter, mc7->offset + A_MC7_INT_CAUSE);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1733
CH_WARN(adapter, "%s MC7 correctable error at addr 0x%x, "
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1735
t3_read_reg(adapter, mc7->offset + A_MC7_CE_ADDR),
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1736
t3_read_reg(adapter, mc7->offset + A_MC7_CE_DATA0),
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1737
t3_read_reg(adapter, mc7->offset + A_MC7_CE_DATA1),
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1738
t3_read_reg(adapter, mc7->offset + A_MC7_CE_DATA2));
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1743
CH_ALERT(adapter, "%s MC7 uncorrectable error at addr 0x%x, "
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1745
t3_read_reg(adapter, mc7->offset + A_MC7_UE_ADDR),
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1746
t3_read_reg(adapter, mc7->offset + A_MC7_UE_DATA0),
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1747
t3_read_reg(adapter, mc7->offset + A_MC7_UE_DATA1),
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1748
t3_read_reg(adapter, mc7->offset + A_MC7_UE_DATA2));
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1753
CH_ALERT(adapter, "%s MC7 parity error 0x%x\n",
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1760
if (adapter->params.rev > 0)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1761
addr = t3_read_reg(adapter,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1764
CH_ALERT(adapter, "%s MC7 address error: 0x%x\n",
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1769
t3_fatal_err(adapter);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1771
t3_write_reg(adapter, mc7->offset + A_MC7_INT_CAUSE, cause);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1779
static int mac_intr_handler(struct adapter *adap, unsigned int idx)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1828
int t3_phy_intr_handler(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1830
u32 i, cause = t3_read_reg(adapter, A_T3DBG_INT_CAUSE);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1832
for_each_port(adapter, i) {
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1833
struct port_info *p = adap2pinfo(adapter, i);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1838
if (cause & (1 << adapter_info(adapter)->gpio_intr[i])) {
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1842
t3_link_changed(adapter, i);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1846
t3_os_phymod_changed(adapter, i);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1850
t3_write_reg(adapter, A_T3DBG_INT_CAUSE, cause);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1857
int t3_slow_intr_handler(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1859
u32 cause = t3_read_reg(adapter, A_PL_INT_CAUSE0);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1861
cause &= adapter->slow_intr_mask;
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1865
if (is_pcie(adapter))
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1866
pcie_intr_handler(adapter);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1868
pci_intr_handler(adapter);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1871
t3_sge_err_intr_handler(adapter);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1873
mc7_intr_handler(&adapter->pmrx);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1875
mc7_intr_handler(&adapter->pmtx);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1877
mc7_intr_handler(&adapter->cm);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1879
cim_intr_handler(adapter);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1881
tp_intr_handler(adapter);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1883
ulprx_intr_handler(adapter);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1885
ulptx_intr_handler(adapter);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1887
pmrx_intr_handler(adapter);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1889
pmtx_intr_handler(adapter);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1891
cplsw_intr_handler(adapter);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1893
mps_intr_handler(adapter);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1895
t3_mc5_intr_handler(&adapter->mc5);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1897
mac_intr_handler(adapter, 0);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1899
mac_intr_handler(adapter, 1);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1901
t3_os_ext_intr_handler(adapter);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1904
t3_write_reg(adapter, A_PL_INT_CAUSE0, cause);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1905
t3_read_reg(adapter, A_PL_INT_CAUSE0); /* flush */
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1909
static unsigned int calc_gpio_intr(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1928
void t3_intr_enable(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1945
adapter->slow_intr_mask = PL_INTR_MASK;
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1947
t3_write_regs(adapter, intr_en_avp, ARRAY_SIZE(intr_en_avp), 0);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1948
t3_write_reg(adapter, A_TP_INT_ENABLE,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1949
adapter->params.rev >= T3_REV_C ? 0x2bfffff : 0x3bfffff);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1951
if (adapter->params.rev > 0) {
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1952
t3_write_reg(adapter, A_CPL_INTR_ENABLE,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1954
t3_write_reg(adapter, A_ULPTX_INT_ENABLE,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1958
t3_write_reg(adapter, A_CPL_INTR_ENABLE, CPLSW_INTR_MASK);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1959
t3_write_reg(adapter, A_ULPTX_INT_ENABLE, ULPTX_INTR_MASK);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1962
t3_write_reg(adapter, A_T3DBG_INT_ENABLE, calc_gpio_intr(adapter));
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1964
if (is_pcie(adapter))
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1965
t3_write_reg(adapter, A_PCIE_INT_ENABLE, PCIE_INTR_MASK);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1967
t3_write_reg(adapter, A_PCIX_INT_ENABLE, PCIX_INTR_MASK);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1968
t3_write_reg(adapter, A_PL_INT_ENABLE0, adapter->slow_intr_mask);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1969
t3_read_reg(adapter, A_PL_INT_ENABLE0); /* flush */
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
197
static void mi1_init(struct adapter *adap, const struct adapter_info *ai)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1979
void t3_intr_disable(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1981
t3_write_reg(adapter, A_PL_INT_ENABLE0, 0);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1982
t3_read_reg(adapter, A_PL_INT_ENABLE0); /* flush */
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1983
adapter->slow_intr_mask = 0;
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1992
void t3_intr_clear(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2015
for_each_port(adapter, i)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2016
t3_port_intr_clear(adapter, i);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2019
t3_write_reg(adapter, cause_reg_addr[i], 0xffffffff);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2021
if (is_pcie(adapter))
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2022
t3_write_reg(adapter, A_PCIE_PEX_ERR, 0xffffffff);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2023
t3_write_reg(adapter, A_PL_INT_CAUSE0, 0xffffffff);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2024
t3_read_reg(adapter, A_PL_INT_CAUSE0); /* flush */
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2027
void t3_xgm_intr_enable(struct adapter *adapter, int idx)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2029
struct port_info *pi = adap2pinfo(adapter, idx);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2031
t3_write_reg(adapter, A_XGM_XGM_INT_ENABLE + pi->mac.offset,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2035
void t3_xgm_intr_disable(struct adapter *adapter, int idx)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2037
struct port_info *pi = adap2pinfo(adapter, idx);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2039
t3_write_reg(adapter, A_XGM_XGM_INT_DISABLE + pi->mac.offset,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2051
void t3_port_intr_enable(struct adapter *adapter, int idx)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2053
struct cphy *phy = &adap2pinfo(adapter, idx)->phy;
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2055
t3_write_reg(adapter, XGM_REG(A_XGM_INT_ENABLE, idx), XGM_INTR_MASK);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2056
t3_read_reg(adapter, XGM_REG(A_XGM_INT_ENABLE, idx)); /* flush */
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2068
void t3_port_intr_disable(struct adapter *adapter, int idx)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2070
struct cphy *phy = &adap2pinfo(adapter, idx)->phy;
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2072
t3_write_reg(adapter, XGM_REG(A_XGM_INT_ENABLE, idx), 0);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2073
t3_read_reg(adapter, XGM_REG(A_XGM_INT_ENABLE, idx)); /* flush */
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2085
static void t3_port_intr_clear(struct adapter *adapter, int idx)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2087
struct cphy *phy = &adap2pinfo(adapter, idx)->phy;
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2089
t3_write_reg(adapter, XGM_REG(A_XGM_INT_CAUSE, idx), 0xffffffff);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2090
t3_read_reg(adapter, XGM_REG(A_XGM_INT_CAUSE, idx)); /* flush */
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2105
static int t3_sge_write_context(struct adapter *adapter, unsigned int id,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2115
t3_write_reg(adapter, A_SG_CONTEXT_MASK0, 0xffffffff);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2116
t3_write_reg(adapter, A_SG_CONTEXT_MASK1, 0xffffffff);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2117
t3_write_reg(adapter, A_SG_CONTEXT_MASK2, 0x17ffffff);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2118
t3_write_reg(adapter, A_SG_CONTEXT_MASK3, 0xffffffff);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2120
t3_write_reg(adapter, A_SG_CONTEXT_MASK0, 0xffffffff);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2121
t3_write_reg(adapter, A_SG_CONTEXT_MASK1, 0xffffffff);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2122
t3_write_reg(adapter, A_SG_CONTEXT_MASK2, 0xffffffff);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2123
t3_write_reg(adapter, A_SG_CONTEXT_MASK3, 0xffffffff);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2125
t3_write_reg(adapter, A_SG_CONTEXT_CMD,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2127
return t3_wait_op_done(adapter, A_SG_CONTEXT_CMD, F_CONTEXT_CMD_BUSY,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
214
struct adapter *adapter = pi->adapter;
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2142
static int clear_sge_ctxt(struct adapter *adap, unsigned int id,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2176
int t3_sge_init_ecntxt(struct adapter *adapter, unsigned int id, int gts_enable,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
218
mutex_lock(&adapter->mdio_lock);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2185
if (t3_read_reg(adapter, A_SG_CONTEXT_CMD) & F_CONTEXT_CMD_BUSY)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2189
t3_write_reg(adapter, A_SG_CONTEXT_DATA0, V_EC_INDEX(cidx) |
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
219
t3_set_reg_field(adapter, A_MI1_CFG, V_ST(M_ST), V_ST(1));
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2191
t3_write_reg(adapter, A_SG_CONTEXT_DATA1, V_EC_SIZE(size) |
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2194
t3_write_reg(adapter, A_SG_CONTEXT_DATA2, base_addr);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2196
t3_write_reg(adapter, A_SG_CONTEXT_DATA3,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
220
t3_write_reg(adapter, A_MI1_ADDR, addr);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2200
return t3_sge_write_context(adapter, id, F_EGRESS);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
221
t3_write_reg(adapter, A_MI1_OP, V_MDI_OP(2));
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2219
int t3_sge_init_flcntxt(struct adapter *adapter, unsigned int id,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
222
ret = t3_wait_op_done(adapter, A_MI1_OP, F_BUSY, 0, MDIO_ATTEMPTS, 10);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2226
if (t3_read_reg(adapter, A_SG_CONTEXT_CMD) & F_CONTEXT_CMD_BUSY)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2230
t3_write_reg(adapter, A_SG_CONTEXT_DATA0, base_addr);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2232
t3_write_reg(adapter, A_SG_CONTEXT_DATA1,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2235
t3_write_reg(adapter, A_SG_CONTEXT_DATA2, V_FL_SIZE(size) |
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2238
t3_write_reg(adapter, A_SG_CONTEXT_DATA3,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
224
ret = t3_read_reg(adapter, A_MI1_DATA);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2241
return t3_sge_write_context(adapter, id, F_FREELIST);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
225
mutex_unlock(&adapter->mdio_lock);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2259
int t3_sge_init_rspcntxt(struct adapter *adapter, unsigned int id,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2267
if (t3_read_reg(adapter, A_SG_CONTEXT_CMD) & F_CONTEXT_CMD_BUSY)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2271
t3_write_reg(adapter, A_SG_CONTEXT_DATA0, V_CQ_SIZE(size) |
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2273
t3_write_reg(adapter, A_SG_CONTEXT_DATA1, base_addr);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2277
t3_write_reg(adapter, A_SG_CONTEXT_DATA2,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2279
t3_write_reg(adapter, A_SG_CONTEXT_DATA3, fl_thres);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2280
return t3_sge_write_context(adapter, id, F_RESPONSEQ);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2298
int t3_sge_init_cqcntxt(struct adapter *adapter, unsigned int id, u64 base_addr,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2304
if (t3_read_reg(adapter, A_SG_CONTEXT_CMD) & F_CONTEXT_CMD_BUSY)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2308
t3_write_reg(adapter, A_SG_CONTEXT_DATA0, V_CQ_SIZE(size));
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2309
t3_write_reg(adapter, A_SG_CONTEXT_DATA1, base_addr);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2311
t3_write_reg(adapter, A_SG_CONTEXT_DATA2,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2315
t3_write_reg(adapter, A_SG_CONTEXT_DATA3, V_CQ_CREDITS(credits) |
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2317
return t3_sge_write_context(adapter, id, F_CQ);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2329
int t3_sge_enable_ecntxt(struct adapter *adapter, unsigned int id, int enable)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
233
struct adapter *adapter = pi->adapter;
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2331
if (t3_read_reg(adapter, A_SG_CONTEXT_CMD) & F_CONTEXT_CMD_BUSY)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2334
t3_write_reg(adapter, A_SG_CONTEXT_MASK0, 0);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2335
t3_write_reg(adapter, A_SG_CONTEXT_MASK1, 0);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2336
t3_write_reg(adapter, A_SG_CONTEXT_MASK2, 0);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2337
t3_write_reg(adapter, A_SG_CONTEXT_MASK3, F_EC_VALID);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2338
t3_write_reg(adapter, A_SG_CONTEXT_DATA3, V_EC_VALID(enable));
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2339
t3_write_reg(adapter, A_SG_CONTEXT_CMD,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2341
return t3_wait_op_done(adapter, A_SG_CONTEXT_CMD, F_CONTEXT_CMD_BUSY,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2353
int t3_sge_disable_fl(struct adapter *adapter, unsigned int id)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2355
if (t3_read_reg(adapter, A_SG_CONTEXT_CMD) & F_CONTEXT_CMD_BUSY)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2358
t3_write_reg(adapter, A_SG_CONTEXT_MASK0, 0);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2359
t3_write_reg(adapter, A_SG_CONTEXT_MASK1, 0);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2360
t3_write_reg(adapter, A_SG_CONTEXT_MASK2, V_FL_SIZE(M_FL_SIZE));
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2361
t3_write_reg(adapter, A_SG_CONTEXT_MASK3, 0);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2362
t3_write_reg(adapter, A_SG_CONTEXT_DATA2, 0);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2363
t3_write_reg(adapter, A_SG_CONTEXT_CMD,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2365
return t3_wait_op_done(adapter, A_SG_CONTEXT_CMD, F_CONTEXT_CMD_BUSY,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
237
mutex_lock(&adapter->mdio_lock);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2377
int t3_sge_disable_rspcntxt(struct adapter *adapter, unsigned int id)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2379
if (t3_read_reg(adapter, A_SG_CONTEXT_CMD) & F_CONTEXT_CMD_BUSY)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
238
t3_set_reg_field(adapter, A_MI1_CFG, V_ST(M_ST), V_ST(1));
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2382
t3_write_reg(adapter, A_SG_CONTEXT_MASK0, V_CQ_SIZE(M_CQ_SIZE));
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2383
t3_write_reg(adapter, A_SG_CONTEXT_MASK1, 0);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2384
t3_write_reg(adapter, A_SG_CONTEXT_MASK2, 0);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2385
t3_write_reg(adapter, A_SG_CONTEXT_MASK3, 0);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2386
t3_write_reg(adapter, A_SG_CONTEXT_DATA0, 0);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2387
t3_write_reg(adapter, A_SG_CONTEXT_CMD,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2389
return t3_wait_op_done(adapter, A_SG_CONTEXT_CMD, F_CONTEXT_CMD_BUSY,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
239
t3_write_reg(adapter, A_MI1_ADDR, addr);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
240
t3_write_reg(adapter, A_MI1_DATA, val);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2401
int t3_sge_disable_cqcntxt(struct adapter *adapter, unsigned int id)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2403
if (t3_read_reg(adapter, A_SG_CONTEXT_CMD) & F_CONTEXT_CMD_BUSY)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2406
t3_write_reg(adapter, A_SG_CONTEXT_MASK0, V_CQ_SIZE(M_CQ_SIZE));
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2407
t3_write_reg(adapter, A_SG_CONTEXT_MASK1, 0);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2408
t3_write_reg(adapter, A_SG_CONTEXT_MASK2, 0);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2409
t3_write_reg(adapter, A_SG_CONTEXT_MASK3, 0);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
241
t3_write_reg(adapter, A_MI1_OP, V_MDI_OP(1));
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2410
t3_write_reg(adapter, A_SG_CONTEXT_DATA0, 0);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2411
t3_write_reg(adapter, A_SG_CONTEXT_CMD,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2413
return t3_wait_op_done(adapter, A_SG_CONTEXT_CMD, F_CONTEXT_CMD_BUSY,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
242
ret = t3_wait_op_done(adapter, A_MI1_OP, F_BUSY, 0, MDIO_ATTEMPTS, 10);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2428
int t3_sge_cqcntxt_op(struct adapter *adapter, unsigned int id, unsigned int op,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
243
mutex_unlock(&adapter->mdio_lock);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2433
if (t3_read_reg(adapter, A_SG_CONTEXT_CMD) & F_CONTEXT_CMD_BUSY)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2436
t3_write_reg(adapter, A_SG_CONTEXT_DATA0, credits << 16);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2437
t3_write_reg(adapter, A_SG_CONTEXT_CMD, V_CONTEXT_CMD_OPCODE(op) |
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2439
if (t3_wait_op_done_val(adapter, A_SG_CONTEXT_CMD, F_CONTEXT_CMD_BUSY,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2444
if (adapter->params.rev > 0)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2447
t3_write_reg(adapter, A_SG_CONTEXT_CMD,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2449
if (t3_wait_op_done(adapter, A_SG_CONTEXT_CMD,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2453
return G_CQ_INDEX(t3_read_reg(adapter, A_SG_CONTEXT_DATA0));
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2470
void t3_config_rss(struct adapter *adapter, unsigned int rss_config,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2484
t3_write_reg(adapter, A_TP_RSS_LKP_TABLE, val);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2489
t3_write_reg(adapter, A_TP_RSS_MAP_TABLE,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2495
t3_write_reg(adapter, A_TP_RSS_CONFIG, rss_config);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2505
void t3_tp_set_offload_mode(struct adapter *adap, int enable)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2541
static void partition_mem(struct adapter *adap, const struct tp_params *p)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
257
static int mi1_wr_addr(struct adapter *adapter, int phy_addr, int mmd_addr,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2599
static inline void tp_wr_indirect(struct adapter *adap, unsigned int addr,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2606
static void tp_config(struct adapter *adap, const struct tp_params *p)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
262
t3_set_reg_field(adapter, A_MI1_CFG, V_ST(M_ST), 0);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
263
t3_write_reg(adapter, A_MI1_ADDR, addr);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
264
t3_write_reg(adapter, A_MI1_DATA, reg_addr);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
265
t3_write_reg(adapter, A_MI1_OP, V_MDI_OP(0));
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
266
return t3_wait_op_done(adapter, A_MI1_OP, F_BUSY, 0,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2671
static void tp_set_timers(struct adapter *adap, unsigned int core_clk)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2715
static int t3_tp_set_coalescing_size(struct adapter *adap,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2746
static void t3_tp_set_max_rxsize(struct adapter *adap, unsigned int size)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
277
struct adapter *adapter = pi->adapter;
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
280
mutex_lock(&adapter->mdio_lock);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
281
ret = mi1_wr_addr(adapter, phy_addr, mmd_addr, reg_addr);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
283
t3_write_reg(adapter, A_MI1_OP, V_MDI_OP(3));
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2832
void t3_load_mtus(struct adapter *adap, unsigned short mtus[NMTUS],
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
284
ret = t3_wait_op_done(adapter, A_MI1_OP, F_BUSY, 0,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
287
ret = t3_read_reg(adapter, A_MI1_DATA);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2872
void t3_tp_get_mib_stats(struct adapter *adap, struct tp_mib_stats *tps)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2889
static void ulp_config(struct adapter *adap, const struct tp_params *p)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
289
mutex_unlock(&adapter->mdio_lock);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2910
int t3_set_proto_sram(struct adapter *adap, const u8 *data)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2931
void t3_config_trace_filter(struct adapter *adapter,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2953
tp_wr_indirect(adapter, addr++, key[0]);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2954
tp_wr_indirect(adapter, addr++, mask[0]);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2955
tp_wr_indirect(adapter, addr++, key[1]);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2956
tp_wr_indirect(adapter, addr++, mask[1]);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2957
tp_wr_indirect(adapter, addr++, key[2]);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2958
tp_wr_indirect(adapter, addr++, mask[2]);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2959
tp_wr_indirect(adapter, addr++, key[3]);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2960
tp_wr_indirect(adapter, addr, mask[3]);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2961
t3_read_reg(adapter, A_TP_PIO_DATA);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
297
struct adapter *adapter = pi->adapter;
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2972
int t3_config_sched(struct adapter *adap, unsigned int kbps, int sched)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
300
mutex_lock(&adapter->mdio_lock);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3008
static int tp_init(struct adapter *adap, const struct tp_params *p)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
301
ret = mi1_wr_addr(adapter, phy_addr, mmd_addr, reg_addr);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
303
t3_write_reg(adapter, A_MI1_DATA, val);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3033
static void chan_init_hw(struct adapter *adap, unsigned int chan_map)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
304
t3_write_reg(adapter, A_MI1_OP, V_MDI_OP(1));
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
305
ret = t3_wait_op_done(adapter, A_MI1_OP, F_BUSY, 0,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3063
static int calibrate_xgm(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3065
if (uses_xaui(adapter)) {
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3069
t3_write_reg(adapter, A_XGM_XAUI_IMP, 0);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3070
t3_read_reg(adapter, A_XGM_XAUI_IMP);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3072
v = t3_read_reg(adapter, A_XGM_XAUI_IMP);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3074
t3_write_reg(adapter, A_XGM_XAUI_IMP,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3079
CH_ERR(adapter, "MAC calibration failed\n");
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
308
mutex_unlock(&adapter->mdio_lock);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3082
t3_write_reg(adapter, A_XGM_RGMII_IMP,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3084
t3_set_reg_field(adapter, A_XGM_RGMII_IMP, F_XGM_IMPSETUPDATE,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3090
static void calibrate_xgm_t3b(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3092
if (!uses_xaui(adapter)) {
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3093
t3_write_reg(adapter, A_XGM_RGMII_IMP, F_CALRESET |
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3095
t3_set_reg_field(adapter, A_XGM_RGMII_IMP, F_CALRESET, 0);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3096
t3_set_reg_field(adapter, A_XGM_RGMII_IMP, 0,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3098
t3_set_reg_field(adapter, A_XGM_RGMII_IMP, F_XGM_IMPSETUPDATE,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3100
t3_set_reg_field(adapter, A_XGM_RGMII_IMP, F_CALUPDATE, 0);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3101
t3_set_reg_field(adapter, A_XGM_RGMII_IMP, 0, F_CALUPDATE);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3120
static int wrreg_wait(struct adapter *adapter, unsigned int addr, u32 val)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3122
t3_write_reg(adapter, addr, val);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3123
t3_read_reg(adapter, addr); /* flush */
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3124
if (!(t3_read_reg(adapter, addr) & F_BUSY))
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3126
CH_ERR(adapter, "write to MC7 register 0x%x timed out\n", addr);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3145
struct adapter *adapter = mc7->adapter;
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3151
val = t3_read_reg(adapter, mc7->offset + A_MC7_CFG);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3156
t3_write_reg(adapter, mc7->offset + A_MC7_CFG, val | F_IFEN);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3157
val = t3_read_reg(adapter, mc7->offset + A_MC7_CFG); /* flush */
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3161
t3_write_reg(adapter, mc7->offset + A_MC7_CAL, F_SGL_CAL_EN);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3162
t3_read_reg(adapter, mc7->offset + A_MC7_CAL);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3164
if (t3_read_reg(adapter, mc7->offset + A_MC7_CAL) &
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3166
CH_ERR(adapter, "%s MC7 calibration timed out\n",
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3172
t3_write_reg(adapter, mc7->offset + A_MC7_PARM,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3178
t3_write_reg(adapter, mc7->offset + A_MC7_CFG,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3180
t3_read_reg(adapter, mc7->offset + A_MC7_CFG); /* flush */
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3183
t3_set_reg_field(adapter, mc7->offset + A_MC7_DLL, F_DLLENB,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3188
if (wrreg_wait(adapter, mc7->offset + A_MC7_PRE, 0) ||
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3189
wrreg_wait(adapter, mc7->offset + A_MC7_EXT_MODE2, 0) ||
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3190
wrreg_wait(adapter, mc7->offset + A_MC7_EXT_MODE3, 0) ||
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3191
wrreg_wait(adapter, mc7->offset + A_MC7_EXT_MODE1, val))
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3195
t3_write_reg(adapter, mc7->offset + A_MC7_MODE, 0x100);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3196
t3_set_reg_field(adapter, mc7->offset + A_MC7_DLL, F_DLLRST, 0);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3200
if (wrreg_wait(adapter, mc7->offset + A_MC7_PRE, 0) ||
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3201
wrreg_wait(adapter, mc7->offset + A_MC7_REF, 0) ||
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3202
wrreg_wait(adapter, mc7->offset + A_MC7_REF, 0) ||
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3203
wrreg_wait(adapter, mc7->offset + A_MC7_MODE,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3205
wrreg_wait(adapter, mc7->offset + A_MC7_EXT_MODE1, val | 0x380) ||
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3206
wrreg_wait(adapter, mc7->offset + A_MC7_EXT_MODE1, val))
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3213
t3_write_reg(adapter, mc7->offset + A_MC7_REF,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3215
t3_read_reg(adapter, mc7->offset + A_MC7_REF); /* flush */
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3217
t3_write_reg(adapter, mc7->offset + A_MC7_ECC, F_ECCGENEN | F_ECCCHKEN);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3218
t3_write_reg(adapter, mc7->offset + A_MC7_BIST_DATA, 0);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3219
t3_write_reg(adapter, mc7->offset + A_MC7_BIST_ADDR_BEG, 0);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3220
t3_write_reg(adapter, mc7->offset + A_MC7_BIST_ADDR_END,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3222
t3_write_reg(adapter, mc7->offset + A_MC7_BIST_OP, V_OP(1));
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3223
t3_read_reg(adapter, mc7->offset + A_MC7_BIST_OP); /* flush */
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3228
val = t3_read_reg(adapter, mc7->offset + A_MC7_BIST_OP);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3231
CH_ERR(adapter, "%s MC7 BIST timed out\n", mc7->name);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3236
t3_set_reg_field(adapter, mc7->offset + A_MC7_CFG, 0, F_RDY);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3243
static void config_pcie(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3309
int t3_init_hw(struct adapter *adapter, u32 fw_params)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3312
const struct vpd_params *vpd = &adapter->params.vpd;
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3314
if (adapter->params.rev > 0)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3315
calibrate_xgm_t3b(adapter);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3316
else if (calibrate_xgm(adapter))
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3320
partition_mem(adapter, &adapter->params.tp);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3322
if (mc7_init(&adapter->pmrx, vpd->mclk, vpd->mem_timing) ||
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3323
mc7_init(&adapter->pmtx, vpd->mclk, vpd->mem_timing) ||
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3324
mc7_init(&adapter->cm, vpd->mclk, vpd->mem_timing) ||
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3325
t3_mc5_init(&adapter->mc5, adapter->params.mc5.nservers,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3326
adapter->params.mc5.nfilters,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3327
adapter->params.mc5.nroutes))
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3331
if (clear_sge_ctxt(adapter, i, F_CQ))
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3335
if (tp_init(adapter, &adapter->params.tp))
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3338
t3_tp_set_coalescing_size(adapter,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3339
min(adapter->params.sge.max_pkt_size,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3341
t3_tp_set_max_rxsize(adapter,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3342
min(adapter->params.sge.max_pkt_size, 16384U));
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3343
ulp_config(adapter, &adapter->params.tp);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3345
if (is_pcie(adapter))
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3346
config_pcie(adapter);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3348
t3_set_reg_field(adapter, A_PCIX_CFG, 0,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3351
if (adapter->params.rev == T3_REV_C)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3352
t3_set_reg_field(adapter, A_ULPTX_CONFIG, 0,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3355
t3_write_reg(adapter, A_PM1_RX_CFG, 0xffffffff);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3356
t3_write_reg(adapter, A_PM1_RX_MODE, 0);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3357
t3_write_reg(adapter, A_PM1_TX_MODE, 0);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3358
chan_init_hw(adapter, adapter->params.chan_map);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3359
t3_sge_init(adapter, &adapter->params.sge);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3360
t3_set_reg_field(adapter, A_PL_RST, 0, F_FATALPERREN);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3362
t3_write_reg(adapter, A_T3DBG_GPIO_ACT_LOW, calc_gpio_intr(adapter));
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3364
t3_write_reg(adapter, A_CIM_HOST_ACC_DATA, vpd->uclk | fw_params);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3365
t3_write_reg(adapter, A_CIM_BOOT_CFG,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3367
t3_read_reg(adapter, A_CIM_BOOT_CFG); /* flush */
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3372
} while (t3_read_reg(adapter, A_CIM_HOST_ACC_DATA) && --attempts);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3374
CH_ERR(adapter, "uP initialization timed out\n");
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3391
static void get_pci_mode(struct adapter *adapter, struct pci_params *p)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3396
if (pci_is_pcie(adapter->pdev)) {
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3400
pcie_capability_read_word(adapter->pdev, PCI_EXP_LNKSTA, &val);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3405
pci_mode = t3_read_reg(adapter, A_PCIX_MODE);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3462
static void mc7_prep(struct adapter *adapter, struct mc7 *mc7,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3467
mc7->adapter = adapter;
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3470
cfg = t3_read_reg(adapter, mc7->offset + A_MC7_CFG);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3475
static void mac_prep(struct cmac *mac, struct adapter *adapter, int index)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3479
mac->adapter = adapter;
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3480
pci_read_config_word(adapter->pdev, 0x2, &devid);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3482
if (devid == 0x37 && !adapter->params.vpd.xauicfg[1])
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3487
if (adapter->params.rev == 0 && uses_xaui(adapter)) {
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3488
t3_write_reg(adapter, A_XGM_SERDES_CTRL + mac->offset,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3489
is_10G(adapter) ? 0x2901c04 : 0x2301c04);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3490
t3_set_reg_field(adapter, A_XGM_PORT_CFG + mac->offset,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3495
static void early_hw_init(struct adapter *adapter,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3498
u32 val = V_PORTSPEED(is_10G(adapter) ? 3 : 2);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3500
mi1_init(adapter, ai);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3501
t3_write_reg(adapter, A_I2C_CFG, /* set for 80KHz */
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3502
V_I2C_CLKDIV(adapter->params.vpd.cclk / 80 - 1));
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3503
t3_write_reg(adapter, A_T3DBG_GPIO_EN,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3505
t3_write_reg(adapter, A_MC5_DB_SERVER_INDEX, 0);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3506
t3_write_reg(adapter, A_SG_OCO_BASE, V_BASE1(0xfff));
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3508
if (adapter->params.rev == 0 || !uses_xaui(adapter))
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3512
t3_write_reg(adapter, A_XGM_PORT_CFG, val);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3513
t3_read_reg(adapter, A_XGM_PORT_CFG);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3516
t3_write_reg(adapter, A_XGM_PORT_CFG, val);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3517
t3_read_reg(adapter, A_XGM_PORT_CFG);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3518
t3_write_reg(adapter, XGM_REG(A_XGM_PORT_CFG, 1), val);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3519
t3_read_reg(adapter, A_XGM_PORT_CFG);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3527
int t3_reset_adapter(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3530
adapter->params.rev < T3_REV_B2 && is_pcie(adapter);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3534
pci_save_state(adapter->pdev);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3535
t3_write_reg(adapter, A_PL_RST, F_CRSTWRM | F_CRSTWRMMODE);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3543
pci_read_config_word(adapter->pdev, 0x00, &devid);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3552
pci_restore_state(adapter->pdev);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3556
static int init_parity(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3591
int t3_prep_adapter(struct adapter *adapter, const struct adapter_info *ai,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3597
get_pci_mode(adapter, &adapter->params.pci);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3599
adapter->params.info = ai;
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3600
adapter->params.nports = ai->nports0 + ai->nports1;
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3601
adapter->params.chan_map = (!!ai->nports0) | (!!ai->nports1 << 1);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3602
adapter->params.rev = t3_read_reg(adapter, A_PL_REV);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3611
adapter->params.linkpoll_period = 10;
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3612
adapter->params.stats_update_period = is_10G(adapter) ?
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3614
adapter->params.pci.vpd_cap_addr =
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3615
pci_find_capability(adapter->pdev, PCI_CAP_ID_VPD);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3616
if (!adapter->params.pci.vpd_cap_addr)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3618
ret = get_vpd_params(adapter, &adapter->params.vpd);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3622
if (reset && t3_reset_adapter(adapter))
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3625
t3_sge_prep(adapter, &adapter->params.sge);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3627
if (adapter->params.vpd.mclk) {
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3628
struct tp_params *p = &adapter->params.tp;
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3630
mc7_prep(adapter, &adapter->pmrx, MC7_PMRX_BASE_ADDR, "PMRX");
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3631
mc7_prep(adapter, &adapter->pmtx, MC7_PMTX_BASE_ADDR, "PMTX");
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3632
mc7_prep(adapter, &adapter->cm, MC7_CM_BASE_ADDR, "CM");
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3634
p->nchan = adapter->params.chan_map == 3 ? 2 : 1;
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3635
p->pmrx_size = t3_mc7_size(&adapter->pmrx);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3636
p->pmtx_size = t3_mc7_size(&adapter->pmtx);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3637
p->cm_size = t3_mc7_size(&adapter->cm);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3641
p->tx_pg_size = is_10G(adapter) ? 64 * 1024 : 16 * 1024;
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3645
adapter->params.rev > 0 ? 12 : 6;
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3648
adapter->params.offload = t3_mc7_size(&adapter->pmrx) &&
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3649
t3_mc7_size(&adapter->pmtx) &&
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3650
t3_mc7_size(&adapter->cm);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3652
if (is_offload(adapter)) {
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3653
adapter->params.mc5.nservers = DEFAULT_NSERVERS;
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3654
adapter->params.mc5.nfilters = adapter->params.rev > 0 ?
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3656
adapter->params.mc5.nroutes = 0;
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3657
t3_mc5_prep(adapter, &adapter->mc5, MC5_MODE_144_BIT);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3659
init_mtus(adapter->params.mtus);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3660
init_cong_ctrl(adapter->params.a_wnd, adapter->params.b_wnd);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3663
early_hw_init(adapter, ai);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3664
ret = init_parity(adapter);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3668
for_each_port(adapter, i) {
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3671
struct port_info *p = adap2pinfo(adapter, i);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3673
while (!adapter->params.vpd.port_type[++j])
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3676
pti = &port_types[adapter->params.vpd.port_type[j]];
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3678
CH_ALERT(adapter, "Invalid port type index %d\n",
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3679
adapter->params.vpd.port_type[j]);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3683
p->phy.mdio.dev = adapter->port[i];
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3684
ret = pti->phy_prep(&p->phy, adapter, ai->phy_base_addr + j,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3688
mac_prep(&p->mac, adapter, j);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3695
memcpy(hw_addr, adapter->params.vpd.eth_base, 5);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3696
hw_addr[5] = adapter->params.vpd.eth_base[5] + i;
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3698
eth_hw_addr_set(adapter->port[i], hw_addr);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3708
adapter->params.linkpoll_period > 10)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3709
adapter->params.linkpoll_period = 10;
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3715
void t3_led_ready(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3717
t3_set_reg_field(adapter, A_T3DBG_GPIO_EN, F_GPIO0_OUT_VAL,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3721
int t3_replay_prep_adapter(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3723
const struct adapter_info *ai = adapter->params.info;
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3727
early_hw_init(adapter, ai);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3728
ret = init_parity(adapter);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3732
for_each_port(adapter, i) {
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3734
struct port_info *p = adap2pinfo(adapter, i);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3736
while (!adapter->params.vpd.port_type[++j])
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3739
pti = &port_types[adapter->params.vpd.port_type[j]];
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3740
ret = pti->phy_prep(&p->phy, adapter, p->phy.mdio.prtad, NULL);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
38
static void t3_port_intr_clear(struct adapter *adapter, int idx);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
549
int (*phy_prep)(struct cphy *phy, struct adapter *adapter,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
56
int t3_wait_op_done_val(struct adapter *adapter, int reg, u32 mask,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
60
u32 val = t3_read_reg(adapter, reg);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
609
int t3_seeprom_wp(struct adapter *adapter, int enable)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
615
ret = pci_write_vpd_any(adapter->pdev, EEPROM_STAT_ADDR, sizeof(u32),
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
646
static int get_vpd_params(struct adapter *adapter, struct vpd_params *p)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
656
ret = pci_read_vpd(adapter->pdev, VPD_BASE, 1, &base_val);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
661
ret = pci_read_vpd(adapter->pdev, addr, sizeof(vpd), &vpd);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
683
if (adapter->params.rev == 0 && !vpd.port0_data[0]) {
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
684
p->port_type[0] = uses_xaui(adapter) ? 1 : 2;
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
685
p->port_type[1] = uses_xaui(adapter) ? 6 : 2;
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
735
static int sf1_read(struct adapter *adapter, unsigned int byte_cnt, int cont,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
742
if (t3_read_reg(adapter, A_SF_OP) & F_BUSY)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
744
t3_write_reg(adapter, A_SF_OP, V_CONT(cont) | V_BYTECNT(byte_cnt - 1));
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
745
ret = t3_wait_op_done(adapter, A_SF_OP, F_BUSY, 0, SF_ATTEMPTS, 10);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
747
*valp = t3_read_reg(adapter, A_SF_DATA);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
762
static int sf1_write(struct adapter *adapter, unsigned int byte_cnt, int cont,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
767
if (t3_read_reg(adapter, A_SF_OP) & F_BUSY)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
769
t3_write_reg(adapter, A_SF_DATA, val);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
770
t3_write_reg(adapter, A_SF_OP,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
772
return t3_wait_op_done(adapter, A_SF_OP, F_BUSY, 0, SF_ATTEMPTS, 10);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
783
static int flash_wait_op(struct adapter *adapter, int attempts, int delay)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
789
if ((ret = sf1_write(adapter, 1, 1, SF_RD_STATUS)) != 0 ||
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
790
(ret = sf1_read(adapter, 1, 0, &status)) != 0)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
814
static int t3_read_flash(struct adapter *adapter, unsigned int addr,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
824
if ((ret = sf1_write(adapter, 4, 1, addr)) != 0 ||
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
825
(ret = sf1_read(adapter, 1, 1, data)) != 0)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
829
ret = sf1_read(adapter, 4, nwords > 1, data);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
848
static int t3_write_flash(struct adapter *adapter, unsigned int addr,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
85
void t3_write_regs(struct adapter *adapter, const struct addr_val_pair *p,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
860
if ((ret = sf1_write(adapter, 1, 0, SF_WR_ENABLE)) != 0 ||
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
861
(ret = sf1_write(adapter, 4, 1, val)) != 0)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
869
ret = sf1_write(adapter, c, c != left, val);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
873
if ((ret = flash_wait_op(adapter, 5, 1)) != 0)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
877
ret = t3_read_flash(adapter, addr & ~0xff, ARRAY_SIZE(buf), buf, 1);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
89
t3_write_reg(adapter, p->reg_addr + offset, p->val);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
893
int t3_get_tp_version(struct adapter *adapter, u32 *vers)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
898
t3_write_reg(adapter, A_TP_EMBED_OP_FIELD0, 0);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
899
ret = t3_wait_op_done(adapter, A_TP_EMBED_OP_FIELD0,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
904
*vers = t3_read_reg(adapter, A_TP_EMBED_OP_FIELD1);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
915
int t3_check_tpsram_version(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
921
if (adapter->params.rev == T3_REV_A)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
925
ret = t3_get_tp_version(adapter, &vers);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
935
CH_ERR(adapter, "found wrong TP version (%u.%u), "
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
952
int t3_check_tpsram(struct adapter *adapter, const u8 *tp_sram,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
963
CH_ERR(adapter, "corrupted protocol SRAM image, checksum %u\n",
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
983
int t3_get_fw_version(struct adapter *adapter, u32 *vers)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
985
return t3_read_flash(adapter, FW_VERS_ADDR, 1, vers, 0);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
995
int t3_check_fw_version(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb3/vsc8211.c
367
int t3_vsc8211_phy_prep(struct cphy *phy, struct adapter *adapter,
drivers/net/ethernet/chelsio/cxgb3/vsc8211.c
373
cphy_init(phy, adapter, phy_addr, &vsc8211_ops, mdio_ops,
drivers/net/ethernet/chelsio/cxgb3/xgmac.c
152
struct adapter *adap = mac->adapter;
drivers/net/ethernet/chelsio/cxgb3/xgmac.c
238
t3_write_reg(mac->adapter, A_XGM_RX_EXACT_MATCH_LOW_1 + oft, addr_lo);
drivers/net/ethernet/chelsio/cxgb3/xgmac.c
239
t3_write_reg(mac->adapter, A_XGM_RX_EXACT_MATCH_HIGH_1 + oft, addr_hi);
drivers/net/ethernet/chelsio/cxgb3/xgmac.c
269
u32 v = t3_read_reg(mac->adapter, reg);
drivers/net/ethernet/chelsio/cxgb3/xgmac.c
270
t3_write_reg(mac->adapter, reg, v);
drivers/net/ethernet/chelsio/cxgb3/xgmac.c
272
t3_read_reg(mac->adapter, A_XGM_RX_EXACT_MATCH_LOW_1); /* flush */
drivers/net/ethernet/chelsio/cxgb3/xgmac.c
280
u32 v = t3_read_reg(mac->adapter, reg);
drivers/net/ethernet/chelsio/cxgb3/xgmac.c
281
t3_write_reg(mac->adapter, reg, v);
drivers/net/ethernet/chelsio/cxgb3/xgmac.c
283
t3_read_reg(mac->adapter, A_XGM_RX_EXACT_MATCH_LOW_1); /* flush */
drivers/net/ethernet/chelsio/cxgb3/xgmac.c
303
struct adapter *adap = mac->adapter;
drivers/net/ethernet/chelsio/cxgb3/xgmac.c
350
struct adapter *adap = mac->adapter;
drivers/net/ethernet/chelsio/cxgb3/xgmac.c
431
struct adapter *adap = mac->adapter;
drivers/net/ethernet/chelsio/cxgb3/xgmac.c
470
struct adapter *adap = mac->adapter;
drivers/net/ethernet/chelsio/cxgb3/xgmac.c
508
struct adapter *adap = mac->adapter;
drivers/net/ethernet/chelsio/cxgb3/xgmac.c
517
t3_set_reg_field(mac->adapter, A_XGM_RESET_CTRL + mac->offset,
drivers/net/ethernet/chelsio/cxgb3/xgmac.c
527
t3_write_reg(mac->adapter, A_XGM_RESET_CTRL + mac->offset, val);
drivers/net/ethernet/chelsio/cxgb3/xgmac.c
534
struct adapter *adap = mac->adapter;
drivers/net/ethernet/chelsio/cxgb3/xgmac.c
54
struct adapter *adap = mac->adapter;
drivers/net/ethernet/chelsio/cxgb3/xgmac.c
600
#define RMON_READ(mac, addr) t3_read_reg(mac->adapter, addr + mac->offset)
drivers/net/ethernet/chelsio/cxgb3/xgmac.c
622
if (mac->adapter->params.rev == T3_REV_B2)
drivers/net/ethernet/chelsio/cxgb3/xgmac.c
651
t3_write_reg(mac->adapter, A_TP_MIB_INDEX, mac->offset ? 51 : 50);
drivers/net/ethernet/chelsio/cxgb3/xgmac.c
652
v = t3_read_reg(mac->adapter, A_TP_MIB_RDATA);
drivers/net/ethernet/chelsio/cxgb3/xgmac.c
72
t3_set_reg_field(mac->adapter, A_XGM_RESET_CTRL + mac->offset,
drivers/net/ethernet/chelsio/cxgb3/xgmac.c
75
t3_set_reg_field(mac->adapter, A_XGM_RESET_CTRL + mac->offset, 0,
drivers/net/ethernet/chelsio/cxgb3/xgmac.c
99
struct adapter *adap = mac->adapter;
drivers/net/ethernet/chelsio/cxgb4/clip_tbl.c
148
struct adapter *adap = netdev2adap(dev);
drivers/net/ethernet/chelsio/cxgb4/clip_tbl.c
252
struct adapter *adapter = seq->private;
drivers/net/ethernet/chelsio/cxgb4/clip_tbl.c
253
struct clip_tbl *ctbl = adapter->clipt;
drivers/net/ethernet/chelsio/cxgb4/clip_tbl.c
319
void t4_cleanup_clip_tbl(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb4/clip_tbl.c
47
struct adapter *adap = netdev2adap(dev);
drivers/net/ethernet/chelsio/cxgb4/clip_tbl.c
62
struct adapter *adap = netdev2adap(dev);
drivers/net/ethernet/chelsio/cxgb4/clip_tbl.c
76
struct adapter *adap = netdev2adap(dev);
drivers/net/ethernet/chelsio/cxgb4/clip_tbl.h
45
void t4_cleanup_clip_tbl(struct adapter *adap);
drivers/net/ethernet/chelsio/cxgb4/cudbg_if.h
78
struct adapter *adap; /* Pointer to adapter structure */
drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.c
1045
u32 cudbg_cim_obq_size(struct adapter *padap, int qid)
drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.c
1060
struct adapter *padap = pdbg_init->adap;
drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.c
1143
static int cudbg_meminfo_get_mem_index(struct adapter *padap,
drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.c
1181
static int cudbg_get_mem_region(struct adapter *padap,
drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.c
1232
static int cudbg_get_mem_relative(struct adapter *padap,
drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.c
1257
static int cudbg_get_payload_range(struct adapter *padap, u8 mem_type,
drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.c
1288
struct adapter *adap = pdbg_init->adap;
drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.c
1374
struct adapter *padap = pdbg_init->adap;
drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.c
1448
struct adapter *padap = pdbg_init->adap;
drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.c
1463
struct adapter *padap = pdbg_init->adap;
drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.c
1549
struct adapter *padap = pdbg_init->adap;
drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.c
1572
struct adapter *padap = pdbg_init->adap;
drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.c
1595
struct adapter *padap = pdbg_init->adap;
drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.c
1612
struct adapter *padap = pdbg_init->adap;
drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.c
1632
struct adapter *padap = pdbg_init->adap;
drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.c
1660
struct adapter *padap = pdbg_init->adap;
drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.c
1769
static void cudbg_read_sge_qbase_indirect_reg(struct adapter *padap,
drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.c
1794
struct adapter *padap = pdbg_init->adap;
drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.c
181
u32 cudbg_get_entity_length(struct adapter *adap, u32 entity)
drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.c
1867
struct adapter *padap = pdbg_init->adap;
drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.c
1887
struct adapter *padap = pdbg_init->adap;
drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.c
1907
struct adapter *padap = pdbg_init->adap;
drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.c
1942
struct adapter *padap = pdbg_init->adap;
drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.c
1964
struct adapter *padap = pdbg_init->adap;
drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.c
2012
struct adapter *padap = pdbg_init->adap;
drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.c
2068
struct adapter *padap = pdbg_init->adap;
drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.c
2124
struct adapter *padap = pdbg_init->adap;
drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.c
2216
struct adapter *padap = pdbg_init->adap;
drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.c
2258
static int cudbg_get_ctxt_region_info(struct adapter *padap,
drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.c
2317
int cudbg_dump_context_size(struct adapter *padap)
drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.c
2346
struct adapter *padap = pdbg_init->adap;
drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.c
2395
struct adapter *padap = pdbg_init->adap;
drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.c
2511
static void cudbg_mps_rpl_backdoor(struct adapter *padap,
drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.c
2542
struct adapter *padap = pdbg_init->adap;
drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.c
2665
struct adapter *padap = pdbg_init->adap;
drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.c
2702
struct adapter *padap = pdbg_init->adap;
drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.c
2750
struct adapter *padap = pdbg_init->adap;
drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.c
2836
void cudbg_fill_le_tcam_info(struct adapter *padap,
drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.c
2894
struct adapter *padap = pdbg_init->adap;
drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.c
2949
struct adapter *padap = pdbg_init->adap;
drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.c
2967
struct adapter *padap = pdbg_init->adap;
drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.c
3021
struct adapter *padap = pdbg_init->adap;
drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.c
3083
struct adapter *padap = pdbg_init->adap;
drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.c
3164
struct adapter *padap = pdbg_init->adap;
drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.c
3232
struct adapter *padap = pdbg_init->adap;
drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.c
3276
struct adapter *padap = pdbg_init->adap;
drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.c
3308
void cudbg_fill_qdesc_num_and_size(const struct adapter *padap,
drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.c
3367
struct adapter *padap = pdbg_init->adap;
drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.c
3578
struct adapter *padap = pdbg_init->adap;
drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.c
478
struct adapter *padap = pdbg_init->adap;
drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.c
515
static int cudbg_read_vpd_reg(struct adapter *padap, u32 addr, u32 len,
drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.c
537
int cudbg_fill_meminfo(struct adapter *padap,
drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.c
818
struct adapter *padap = pdbg_init->adap;
drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.c
839
struct adapter *padap = pdbg_init->adap;
drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.c
877
struct adapter *padap = pdbg_init->adap;
drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.c
918
struct adapter *padap = pdbg_init->adap;
drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.c
938
struct adapter *padap = pdbg_init->adap;
drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.c
976
struct adapter *padap = pdbg_init->adap;
drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.h
169
u32 cudbg_get_entity_length(struct adapter *adap, u32 entity);
drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.h
173
u32 cudbg_cim_obq_size(struct adapter *padap, int qid);
drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.h
174
int cudbg_dump_context_size(struct adapter *padap);
drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.h
176
int cudbg_fill_meminfo(struct adapter *padap,
drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.h
178
void cudbg_fill_le_tcam_info(struct adapter *padap,
drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.h
180
void cudbg_fill_qdesc_num_and_size(const struct adapter *padap,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1477
static inline int is_offload(const struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1482
static inline int is_hashfilter(const struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1487
static inline int is_pci_uld(const struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1492
static inline int is_uld(const struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1497
static inline int is_ethofld(const struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1502
static inline u32 t4_read_reg(struct adapter *adap, u32 reg_addr)
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1507
static inline void t4_write_reg(struct adapter *adap, u32 reg_addr, u32 val)
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1525
static inline u64 t4_read_reg64(struct adapter *adap, u32 reg_addr)
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1530
static inline void t4_write_reg64(struct adapter *adap, u32 reg_addr, u64 val)
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1544
static inline void t4_set_hw_addr(struct adapter *adapter, int port_idx,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1547
eth_hw_addr_set(adapter->port[port_idx], hw_addr);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1548
ether_addr_copy(adapter->port[port_idx]->perm_addr, hw_addr);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1569
static inline struct port_info *adap2pinfo(struct adapter *adap, int idx)
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1580
static inline struct adapter *netdev2adap(const struct net_device *dev)
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1582
return netdev2pinfo(dev)->adapter;
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1590
static inline unsigned int mk_adap_vers(struct adapter *ap)
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1597
static inline unsigned int qtimer_val(const struct adapter *adap,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1608
void t4_os_portmod_changed(struct adapter *adap, int port_id);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1609
void t4_os_link_changed(struct adapter *adap, int port_id, int link_stat);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1611
void t4_free_sge_resources(struct adapter *adap);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1612
irq_handler_t t4_intr_handler(struct adapter *adap);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1617
int t4_mgmt_tx(struct adapter *adap, struct sk_buff *skb);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1618
int t4_ofld_send(struct adapter *adap, struct sk_buff *skb);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1619
int t4_sge_alloc_rxq(struct adapter *adap, struct sge_rspq *iq, bool fwevtq,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1623
int t4_sge_alloc_eth_txq(struct adapter *adap, struct sge_eth_txq *txq,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1626
int t4_sge_alloc_ctrl_txq(struct adapter *adap, struct sge_ctrl_txq *txq,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1629
int t4_sge_mod_ctrl_txq(struct adapter *adap, unsigned int eqid,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1631
int t4_sge_alloc_uld_txq(struct adapter *adap, struct sge_uld_txq *txq,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1634
int t4_sge_alloc_ethofld_txq(struct adapter *adap, struct sge_eohw_txq *txq,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1636
void t4_sge_free_ethofld_txq(struct adapter *adap, struct sge_eohw_txq *txq);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1638
int t4_sge_init(struct adapter *adap);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1639
void t4_sge_start(struct adapter *adap);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1640
void t4_sge_stop(struct adapter *adap);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1641
int t4_sge_eth_txq_egress_update(struct adapter *adap, struct sge_eth_txq *q,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1648
#define for_each_port(adapter, iter) \
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1649
for (iter = 0; iter < (adapter)->params.nports; ++iter)
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1651
static inline int is_bypass(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1681
static inline unsigned int core_ticks_per_usec(const struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1686
static inline unsigned int us_to_core_ticks(const struct adapter *adap,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1692
static inline unsigned int core_ticks_to_us(const struct adapter *adapter,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1696
return ((ticks * 1000 + adapter->params.vpd.cclk/2) /
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1697
adapter->params.vpd.cclk);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1700
static inline unsigned int dack_ticks_to_usec(const struct adapter *adap,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1706
void t4_set_reg_field(struct adapter *adap, unsigned int addr, u32 mask,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1709
int t4_wr_mbox_meat_timeout(struct adapter *adap, int mbox, const void *cmd,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1711
int t4_wr_mbox_meat(struct adapter *adap, int mbox, const void *cmd, int size,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1714
static inline int t4_wr_mbox_timeout(struct adapter *adap, int mbox,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1722
static inline int t4_wr_mbox(struct adapter *adap, int mbox, const void *cmd,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1728
static inline int t4_wr_mbox_ns(struct adapter *adap, int mbox, const void *cmd,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1754
static inline void init_rspq(struct adapter *adap, struct sge_rspq *q,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1779
void t4_write_indirect(struct adapter *adap, unsigned int addr_reg,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1782
void t4_read_indirect(struct adapter *adap, unsigned int addr_reg,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1785
void t4_hw_pci_read_cfg4(struct adapter *adapter, int reg, u32 *val);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1789
void t4_intr_enable(struct adapter *adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1790
void t4_intr_disable(struct adapter *adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1791
int t4_slow_intr_handler(struct adapter *adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1795
fw_port_cap32_t t4_link_acaps(struct adapter *adapter, unsigned int port,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1797
int t4_link_l1cfg_core(struct adapter *adap, unsigned int mbox,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1801
static inline int t4_link_l1cfg(struct adapter *adapter, unsigned int mbox,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1804
return t4_link_l1cfg_core(adapter, mbox, port, lc,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1808
static inline int t4_link_l1cfg_ns(struct adapter *adapter, unsigned int mbox,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1811
return t4_link_l1cfg_core(adapter, mbox, port, lc,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1815
int t4_restart_aneg(struct adapter *adap, unsigned int mbox, unsigned int port);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1817
u32 t4_read_pcie_cfg4(struct adapter *adap, int reg);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1818
u32 t4_get_util_window(struct adapter *adap);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1819
void t4_setup_memwin(struct adapter *adap, u32 memwin_base, u32 window);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1821
int t4_memory_rw_init(struct adapter *adap, int win, int mtype, u32 *mem_off,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1823
void t4_memory_update_win(struct adapter *adap, int win, u32 addr);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1824
void t4_memory_rw_residual(struct adapter *adap, u32 off, u32 addr, u8 *buf,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1828
int t4_memory_rw(struct adapter *adap, int win, int mtype, u32 addr, u32 len,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1830
static inline int t4_memory_write(struct adapter *adap, int mtype, u32 addr,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1836
unsigned int t4_get_regs_len(struct adapter *adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1837
void t4_get_regs(struct adapter *adap, void *buf, size_t buf_size);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1840
int t4_seeprom_wp(struct adapter *adapter, bool enable);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1841
int t4_get_raw_vpd_params(struct adapter *adapter, struct vpd_params *p);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1842
int t4_get_vpd_params(struct adapter *adapter, struct vpd_params *p);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1843
int t4_get_pfres(struct adapter *adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1844
int t4_read_flash(struct adapter *adapter, unsigned int addr,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1846
int t4_load_fw(struct adapter *adapter, const u8 *fw_data, unsigned int size);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1847
int t4_load_phy_fw(struct adapter *adap, int win,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1850
int t4_phy_fw_ver(struct adapter *adap, int *phy_fw_ver);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1851
int t4_fwcache(struct adapter *adap, enum fw_params_param_dev_fwcache op);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1852
int t4_fw_upgrade(struct adapter *adap, unsigned int mbox,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1854
int t4_fl_pkt_align(struct adapter *adap);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1855
unsigned int t4_flash_cfg_addr(struct adapter *adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1856
int t4_check_fw_version(struct adapter *adap);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1857
int t4_load_cfg(struct adapter *adapter, const u8 *cfg_data, unsigned int size);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1858
int t4_get_fw_version(struct adapter *adapter, u32 *vers);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1859
int t4_get_bs_version(struct adapter *adapter, u32 *vers);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1860
int t4_get_tp_version(struct adapter *adapter, u32 *vers);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1861
int t4_get_exprom_version(struct adapter *adapter, u32 *vers);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1862
int t4_get_scfg_version(struct adapter *adapter, u32 *vers);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1863
int t4_get_vpd_version(struct adapter *adapter, u32 *vers);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1864
int t4_get_version_info(struct adapter *adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1865
void t4_dump_version_info(struct adapter *adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1866
int t4_prep_fw(struct adapter *adap, struct fw_info *fw_info,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1869
int t4_prep_adapter(struct adapter *adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1870
int t4_shutdown_adapter(struct adapter *adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1873
int t4_bar2_sge_qregs(struct adapter *adapter,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1880
unsigned int qtimer_val(const struct adapter *adap,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1883
int t4_init_devlog_params(struct adapter *adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1884
int t4_init_sge_params(struct adapter *adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1885
int t4_init_tp_params(struct adapter *adap, bool sleep_ok);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1886
int t4_filter_field_shift(const struct adapter *adap, int filter_sel);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1887
int t4_init_rss_mode(struct adapter *adap, int mbox);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1890
int t4_port_init(struct adapter *adap, int mbox, int pf, int vf);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1893
void t4_fatal_err(struct adapter *adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1894
unsigned int t4_chip_rss_size(struct adapter *adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1895
int t4_config_rss_range(struct adapter *adapter, int mbox, unsigned int viid,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1897
int t4_config_glbl_rss(struct adapter *adapter, int mbox, unsigned int mode,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1899
int t4_config_vi_rss(struct adapter *adapter, int mbox, unsigned int viid,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1901
int t4_read_rss(struct adapter *adapter, u16 *entries);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1902
void t4_read_rss_key(struct adapter *adapter, u32 *key, bool sleep_ok);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1903
void t4_write_rss_key(struct adapter *adap, const u32 *key, int idx,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1905
void t4_read_rss_pf_config(struct adapter *adapter, unsigned int index,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1907
void t4_read_rss_vf_config(struct adapter *adapter, unsigned int index,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1909
u32 t4_read_rss_pf_map(struct adapter *adapter, bool sleep_ok);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1910
u32 t4_read_rss_pf_mask(struct adapter *adapter, bool sleep_ok);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1912
unsigned int t4_get_mps_bg_map(struct adapter *adapter, int pidx);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1913
unsigned int t4_get_tp_ch_map(struct adapter *adapter, int pidx);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1914
void t4_pmtx_get_stats(struct adapter *adap, u32 cnt[], u64 cycles[]);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1915
void t4_pmrx_get_stats(struct adapter *adap, u32 cnt[], u64 cycles[]);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1916
int t4_read_cim_ibq(struct adapter *adap, unsigned int qid, u32 *data,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1918
int t4_read_cim_obq(struct adapter *adap, unsigned int qid, u32 *data,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1920
int t4_cim_read(struct adapter *adap, unsigned int addr, unsigned int n,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1922
int t4_cim_write(struct adapter *adap, unsigned int addr, unsigned int n,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1924
int t4_cim_read_la(struct adapter *adap, u32 *la_buf, unsigned int *wrptr);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1925
void t4_cim_read_pif_la(struct adapter *adap, u32 *pif_req, u32 *pif_rsp,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1928
void t4_cim_read_ma_la(struct adapter *adap, u32 *ma_req, u32 *ma_rsp);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1929
void t4_read_cimq_cfg(struct adapter *adap, u16 *base, u16 *size, u16 *thres);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1931
void t4_get_port_stats(struct adapter *adap, int idx, struct port_stats *p);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1932
void t4_get_port_stats_offset(struct adapter *adap, int idx,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1935
void t4_get_lb_stats(struct adapter *adap, int idx, struct lb_port_stats *p);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1936
void t4_read_mtu_tbl(struct adapter *adap, u16 *mtus, u8 *mtu_log);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1937
void t4_read_cong_tbl(struct adapter *adap, u16 incr[NMTUS][NCCTRL_WIN]);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1938
void t4_tp_wr_bits_indirect(struct adapter *adap, unsigned int addr,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1940
void t4_tp_read_la(struct adapter *adap, u64 *la_buf, unsigned int *wrptr);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1941
void t4_tp_get_err_stats(struct adapter *adap, struct tp_err_stats *st,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1943
void t4_tp_get_cpl_stats(struct adapter *adap, struct tp_cpl_stats *st,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1945
void t4_tp_get_rdma_stats(struct adapter *adap, struct tp_rdma_stats *st,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1947
void t4_get_usm_stats(struct adapter *adap, struct tp_usm_stats *st,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1949
void t4_tp_get_tcp_stats(struct adapter *adap, struct tp_tcp_stats *v4,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1951
void t4_get_fcoe_stats(struct adapter *adap, unsigned int idx,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1953
void t4_load_mtus(struct adapter *adap, const unsigned short *mtus,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1956
void t4_ulprx_read_la(struct adapter *adap, u32 *la_buf);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1958
void t4_get_chan_txrate(struct adapter *adap, u64 *nic_rate, u64 *ofld_rate);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1961
int t4_fw_hello(struct adapter *adap, unsigned int mbox, unsigned int evt_mbox,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1963
int t4_fw_bye(struct adapter *adap, unsigned int mbox);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1964
int t4_early_init(struct adapter *adap, unsigned int mbox);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1965
int t4_fw_reset(struct adapter *adap, unsigned int mbox, int reset);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1966
int t4_fixup_host_params(struct adapter *adap, unsigned int page_size,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1968
int t4_fw_initialize(struct adapter *adap, unsigned int mbox);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1969
int t4_query_params(struct adapter *adap, unsigned int mbox, unsigned int pf,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1972
int t4_query_params_ns(struct adapter *adap, unsigned int mbox, unsigned int pf,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1975
int t4_query_params_rw(struct adapter *adap, unsigned int mbox, unsigned int pf,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1978
int t4_set_params_timeout(struct adapter *adap, unsigned int mbox,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1982
int t4_set_params(struct adapter *adap, unsigned int mbox, unsigned int pf,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1985
int t4_cfg_pfvf(struct adapter *adap, unsigned int mbox, unsigned int pf,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1990
int t4_alloc_vi(struct adapter *adap, unsigned int mbox, unsigned int port,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1993
int t4_free_vi(struct adapter *adap, unsigned int mbox,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1996
int t4_set_rxmode(struct adapter *adap, unsigned int mbox, unsigned int viid,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1999
int t4_free_raw_mac_filt(struct adapter *adap, unsigned int viid,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
2002
int t4_free_encap_mac_filt(struct adapter *adap, unsigned int viid, int idx,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
2004
int t4_alloc_encap_mac_filt(struct adapter *adap, unsigned int viid,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
2008
int t4_alloc_raw_mac_filt(struct adapter *adap, unsigned int viid,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
2011
int t4_alloc_mac_filt(struct adapter *adap, unsigned int mbox,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
2014
int t4_free_mac_filt(struct adapter *adap, unsigned int mbox,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
2017
int t4_change_mac(struct adapter *adap, unsigned int mbox, unsigned int viid,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
2019
int t4_set_addr_hash(struct adapter *adap, unsigned int mbox, unsigned int viid,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
2021
int t4_enable_vi_params(struct adapter *adap, unsigned int mbox,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
2023
int t4_enable_pi_params(struct adapter *adap, unsigned int mbox,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
2026
int t4_enable_vi(struct adapter *adap, unsigned int mbox, unsigned int viid,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
2028
int t4_identify_port(struct adapter *adap, unsigned int mbox, unsigned int viid,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
2030
int t4_mdio_rd(struct adapter *adap, unsigned int mbox, unsigned int phy_addr,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
2032
int t4_mdio_wr(struct adapter *adap, unsigned int mbox, unsigned int phy_addr,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
2034
int t4_iq_stop(struct adapter *adap, unsigned int mbox, unsigned int pf,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
2037
int t4_iq_free(struct adapter *adap, unsigned int mbox, unsigned int pf,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
2040
int t4_eth_eq_free(struct adapter *adap, unsigned int mbox, unsigned int pf,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
2042
int t4_ctrl_eq_free(struct adapter *adap, unsigned int mbox, unsigned int pf,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
2044
int t4_ofld_eq_free(struct adapter *adap, unsigned int mbox, unsigned int pf,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
2046
int t4_sge_ctxt_flush(struct adapter *adap, unsigned int mbox, int ctxt_type);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
2047
int t4_read_sge_dbqtimers(struct adapter *adap, unsigned int ndbqtimers,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
2053
int t4_handle_fw_rpl(struct adapter *adap, const __be64 *rpl);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
2054
void t4_db_full(struct adapter *adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
2055
void t4_db_dropped(struct adapter *adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
2056
int t4_set_trace_filter(struct adapter *adapter, const struct trace_params *tp,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
2058
void t4_get_trace_filter(struct adapter *adapter, struct trace_params *tp,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
2060
int t4_fwaddrspace_write(struct adapter *adap, unsigned int mbox,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
2062
void t4_read_pace_tbl(struct adapter *adap, unsigned int pace_vals[NTX_SCHED]);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
2063
void t4_get_tx_sched(struct adapter *adap, unsigned int sched,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
2065
int t4_sge_ctxt_rd(struct adapter *adap, unsigned int mbox, unsigned int cid,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
2067
int t4_sge_ctxt_rd_bd(struct adapter *adap, unsigned int cid,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
2069
int t4_sched_params(struct adapter *adapter, u8 type, u8 level, u8 mode,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
2073
void t4_sge_decode_idma_state(struct adapter *adapter, int state);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
2074
void t4_idma_monitor_init(struct adapter *adapter,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
2076
void t4_idma_monitor(struct adapter *adapter,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
2079
int t4_set_vf_mac_acl(struct adapter *adapter, unsigned int vf,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
2081
void t4_tp_pio_read(struct adapter *adap, u32 *buff, u32 nregs,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
2083
void t4_tp_tm_pio_read(struct adapter *adap, u32 *buff, u32 nregs,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
2085
void t4_tp_mib_read(struct adapter *adap, u32 *buff, u32 nregs,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
2088
void t4_uld_mem_free(struct adapter *adap);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
2089
int t4_uld_mem_alloc(struct adapter *adap);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
2090
void t4_uld_clean_up(struct adapter *adap);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
2092
int t4_i2c_rd(struct adapter *adap, unsigned int mbox, int port,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
2095
int t4_load_boot(struct adapter *adap, u8 *boot_data,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
2097
int t4_load_bootcfg(struct adapter *adap,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
2099
void free_rspq_fl(struct adapter *adap, struct sge_rspq *rq, struct sge_fl *fl);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
2100
void free_tx_desc(struct adapter *adap, struct sge_txq *q,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
2102
void cxgb4_eosw_txq_free_desc(struct adapter *adap, struct sge_eosw_txq *txq,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
2108
void free_txq(struct adapter *adap, struct sge_txq *q);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
2109
void cxgb4_reclaim_completed_tx(struct adapter *adap,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
2121
void cxgb4_ring_tx_db(struct adapter *adap, struct sge_txq *q, int n);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
2122
int t4_set_vlan_acl(struct adapter *adap, unsigned int mbox, unsigned int vf,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
2126
int cxgb4_thermal_init(struct adapter *adap);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
2127
int cxgb4_thermal_remove(struct adapter *adap);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
2128
int cxgb4_set_msix_aff(struct adapter *adap, unsigned short vec,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
2136
int cxgb4_alloc_mac_filt(struct adapter *adap, unsigned int viid,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
2140
int cxgb4_free_mac_filt(struct adapter *adap, unsigned int viid,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
2142
int cxgb4_init_mps_ref_entries(struct adapter *adap);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
2143
void cxgb4_free_mps_ref_entries(struct adapter *adap);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
2147
int cxgb4_get_msix_idx_from_bmap(struct adapter *adap);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
2148
void cxgb4_free_msix_idx_in_bmap(struct adapter *adap, u32 msix_idx);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
2149
void cxgb4_enable_rx(struct adapter *adap, struct sge_rspq *q);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
2154
int cxgb4_set_ktls_feature(struct adapter *adap, bool enable);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
644
struct adapter;
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
654
struct adapter *adapter;
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
794
struct adapter *adap;
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
881
struct adapter *adap;
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
891
struct adapter *adap;
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
956
struct adapter *adap; /* Backpointer to adapter */
drivers/net/ethernet/chelsio/cxgb4/cxgb4_cudbg.c
163
int cxgb4_cudbg_collect(struct adapter *adap, void *buf, u32 *buf_size,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_cudbg.c
249
void cxgb4_init_ethtool_dump(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_cudbg.c
251
adapter->eth_dump.flag = CXGB4_ETH_DUMP_NONE;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_cudbg.c
252
adapter->eth_dump.version = adapter->params.fw_vers;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_cudbg.c
253
adapter->eth_dump.len = 0;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_cudbg.c
258
struct adapter *adap = container_of(data, struct adapter, vmcoredd);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_cudbg.c
264
int cxgb4_cudbg_vmcore_add_dump(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_cudbg.c
73
u32 cxgb4_get_dump_length(struct adapter *adap, u32 flag)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_cudbg.h
35
u32 cxgb4_get_dump_length(struct adapter *adap, u32 flag);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_cudbg.h
36
int cxgb4_cudbg_collect(struct adapter *adap, void *buf, u32 *buf_size,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_cudbg.h
38
void cxgb4_init_ethtool_dump(struct adapter *adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_cudbg.h
39
int cxgb4_cudbg_vmcore_add_dump(struct adapter *adap);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_dcb.c
1114
struct adapter *adap = pi->adapter;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_dcb.c
1148
struct adapter *adap = pi->adapter;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_dcb.c
1185
struct adapter *adap = pi->adapter;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_dcb.c
130
struct adapter *adap = pi->adapter;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_dcb.c
273
void cxgb4_dcb_handle_fw_update(struct adapter *adap,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_dcb.c
444
struct adapter *adap = pi->adapter;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_dcb.c
507
struct adapter *adap = pi->adapter;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_dcb.c
569
struct adapter *adap = pi->adapter;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_dcb.c
603
struct adapter *adap = pi->adapter;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_dcb.c
62
struct adapter *adap = pi->adapter;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_dcb.c
651
struct adapter *adap = pi->adapter;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_dcb.c
787
struct adapter *adap = pi->adapter;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_dcb.c
840
struct adapter *adap = pi->adapter;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_dcb.c
945
struct adapter *adap = pi->adapter;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_dcb.h
124
void cxgb4_dcb_handle_fw_update(struct adapter *, const struct fw_port_cmd *);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
1083
struct adapter *adap = inode->i_private;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
1156
struct adapter *adapter = seq->private;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
1157
struct mbox_cmd_log *log = adapter->mbox_log;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
1194
struct adapter *adapter = seq->private;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
1195
struct mbox_cmd_log *log = adapter->mbox_log;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
1249
struct adapter *adap = seq->private - mbox;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
1286
struct adapter *adap;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
1331
struct adapter *adap = seq->private - trcidx;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
1420
struct adapter *adap;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
1624
struct adapter *adap = file->private_data;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
1674
struct adapter *adap = seq->private;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
1889
struct adapter *adap = seq->private;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
1942
struct adapter *adap = seq->private;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
1991
struct adapter *adap = inode->i_private;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
202
struct adapter *adap = inode->i_private;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
2031
struct adapter *adapter = seq->private;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
2040
rssconf = t4_read_reg(adapter, TP_RSS_CONFIG_A);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
2090
rssconf = t4_read_reg(adapter, TP_RSS_CONFIG_TNL_A);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
2094
if (CHELSIO_CHIP_VERSION(adapter->params.chip) > CHELSIO_T5) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
2104
rssconf = t4_read_reg(adapter, TP_RSS_CONFIG_OFD_A);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
2113
rssconf = t4_read_reg(adapter, TP_RSS_CONFIG_SYN_A);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
2120
rssconf = t4_read_reg(adapter, TP_RSS_CONFIG_VRT_A);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
2122
if (CHELSIO_CHIP_VERSION(adapter->params.chip) > CHELSIO_T5) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
2136
if (CHELSIO_CHIP_VERSION(adapter->params.chip) <= CHELSIO_T5)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
2148
rssconf = t4_read_reg(adapter, TP_RSS_CONFIG_CNG_A);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
2203
struct adapter *adap = file_inode(file)->i_private;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
2288
struct adapter *adapter = inode->i_private;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
2299
rss_pf_map = t4_read_rss_pf_map(adapter, true);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
2300
rss_pf_mask = t4_read_rss_pf_mask(adapter, true);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
2304
t4_read_rss_pf_config(adapter, pf, &pfconf[pf].rss_pf_config,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
2356
struct adapter *adapter = inode->i_private;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
2359
int vf, vfcount = adapter->params.arch.vfcount;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
2367
t4_read_rss_vf_config(adapter, vf, &vfconf[vf].rss_vf_vfl,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
2387
struct adapter *adap = seq->private;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
2514
static inline void *dcb_info_get_idx(struct adapter *adap, loff_t pos)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
2523
struct adapter *adap = seq->private;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
2536
struct adapter *adap = seq->private;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
2572
struct adapter *adapter = seq->private;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
2573
struct pf_resources *pfres = &adapter->params.pfres;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
260
struct adapter *adap = inode->i_private;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
2601
static inline struct port_info *ethqset2pinfo(struct adapter *adap, int qset)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
2618
static int sge_qinfo_uld_txq_entries(const struct adapter *adap, int uld)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
2628
static int sge_qinfo_uld_rspq_entries(const struct adapter *adap, int uld,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
2640
static int sge_qinfo_uld_rxq_entries(const struct adapter *adap, int uld)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
2645
static int sge_qinfo_uld_ciq_entries(const struct adapter *adap, int uld)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
2659
struct adapter *adap = seq->private;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
306
struct adapter *adap = inode->i_private;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
3153
static int sge_queue_entries(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
3256
struct adapter *adap;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
3274
struct adapter *adap = file->private_data - mem;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
3314
struct adapter *adap = seq->private;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
335
struct adapter *adap = seq->private;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
3396
static void add_debugfs_mem(struct adapter *adap, const char *name,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
3408
const struct adapter *adap = filp->private_data;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
3430
struct adapter *adap = filp->private_data;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
3469
struct adapter *adap = seq->private;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
3534
struct adapter *adap = seq->private;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
3618
struct adapter *adap = seq->private;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
3637
struct adapter *adap = seq->private;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
3651
struct adapter *adap = seq->private;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
3664
struct adapter *adap = seq->private;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
3677
struct adapter *adap = seq->private;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
3691
struct adapter *adap = seq->private;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
3711
struct adapter *adap = seq->private;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
3731
struct adapter *adap = seq->private;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
3757
void add_debugfs_files(struct adapter *adap,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
3771
int t4_setup_debugfs(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
397
struct adapter *adap = inode->i_private - qid;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
424
struct adapter *adap = inode->i_private - qid;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
642
struct adapter *adap = inode->i_private;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
670
struct adapter *adap = file_inode(file)->i_private;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
711
struct adapter *adap = inode->i_private;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
754
struct adapter *adap = seq->private;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
805
struct adapter *adap = file_inode(file)->i_private;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
824
struct adapter *adap = seq->private;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
861
struct adapter *adap = seq->private;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
906
struct adapter *adap = seq->private;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.h
64
int t4_setup_debugfs(struct adapter *adap);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.h
65
void add_debugfs_files(struct adapter *adap,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1004
struct adapter *adap = pi->adapter;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1026
struct adapter *adap = pi->adapter;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1061
struct adapter *adap = pi->adapter;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1124
struct adapter *adap = pi->adapter;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1177
const struct adapter *adap = pi->adapter;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1191
static int eeprom_rd_phys(struct adapter *adap, unsigned int phys_addr, u32 *v)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1200
static int eeprom_wr_phys(struct adapter *adap, unsigned int phys_addr, u32 v)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1215
struct adapter *adapter = netdev2adap(dev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1223
err = eeprom_rd_phys(adapter, i, (u32 *)&buf[i]);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1237
struct adapter *adapter = netdev2adap(dev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1245
if (adapter->pf > 0) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1246
u32 start = 1024 + adapter->pf * EEPROMPFSIZE;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1259
err = eeprom_rd_phys(adapter, aligned_offset, (u32 *)buf);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1261
err = eeprom_rd_phys(adapter,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1271
err = t4_seeprom_wp(adapter, false);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1276
err = eeprom_wr_phys(adapter, aligned_offset, *p);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1281
err = t4_seeprom_wp(adapter, true);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1291
struct adapter *adap = netdev2adap(netdev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1304
struct adapter *adap = netdev2adap(netdev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1339
struct adapter *adap = netdev2adap(netdev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1374
struct adapter *adap = netdev2adap(netdev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1397
struct adapter *adap = netdev2adap(netdev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1497
struct adapter *adap = netdev2adap(netdev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1556
struct adapter *adapter = pi->adapter;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1573
if (adapter->ptp_clock)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1574
ts_info->phc_index = ptp_clock_index(adapter->ptp_clock);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1618
if (pi->adapter->flags & CXGB4_FULL_INIT_DONE) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1628
static struct filter_entry *cxgb4_get_filter_entry(struct adapter *adap,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1706
struct adapter *adap = netdev2adap(dev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1798
struct adapter *adap = netdev2adap(dev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1827
struct adapter *adapter = netdev2adap(dev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1833
if (!(adapter->flags & CXGB4_FULL_INIT_DONE))
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1836
if (!adapter->ethtool_filters)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1839
if (cmd->fs.location >= adapter->ethtool_filters->nentries) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1840
dev_err(adapter->pdev_dev,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1842
adapter->ethtool_filters->nentries);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1846
filter_info = &adapter->ethtool_filters->port[pi->port_id];
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1852
f = cxgb4_get_filter_entry(adapter, filter_id);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1855
filter_id -= adapter->tids.hpftid_base;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1857
filter_id -= (adapter->tids.ftid_base - adapter->tids.nhpftids);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
187
struct adapter *adap = netdev2adap(dev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1876
struct adapter *adapter = netdev2adap(netdev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1883
if (!(adapter->flags & CXGB4_FULL_INIT_DONE))
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1886
if (!adapter->ethtool_filters)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1889
if (cmd->fs.location >= adapter->ethtool_filters->nentries) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1890
dev_err(adapter->pdev_dev,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1892
adapter->ethtool_filters->nentries);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1897
adapter->ethtool_filters->port[pi->port_id].bmap))
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1916
filter_info = &adapter->ethtool_filters->port[pi->port_id];
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1919
tid += adapter->tids.hpftid_base;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1921
tid += (adapter->tids.ftid_base - adapter->tids.nhpftids);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1953
struct adapter *adapter = netdev2adap(dev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1958
len += cxgb4_get_dump_length(adapter, eth_dump->flag);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1960
adapter->eth_dump.flag = eth_dump->flag;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1961
adapter->eth_dump.len = len;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1967
struct adapter *adapter = netdev2adap(dev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1969
eth_dump->flag = adapter->eth_dump.flag;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1970
eth_dump->len = adapter->eth_dump.len;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1971
eth_dump->version = adapter->eth_dump.version;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1978
struct adapter *adapter = netdev2adap(dev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1982
if (adapter->eth_dump.flag == CXGB4_ETH_DUMP_NONE)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1987
len += cxgb4_get_dump_length(adapter, adapter->eth_dump.flag);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
199
struct adapter *adapter = netdev2adap(dev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1991
ret = cxgb4_cudbg_collect(adapter, buf, &len, adapter->eth_dump.flag);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1995
eth_dump->flag = adapter->eth_dump.flag;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1997
eth_dump->version = adapter->eth_dump.version;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
2015
struct adapter *adapter = pi->adapter;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
2025
ret = t4_i2c_rd(adapter, adapter->mbox, pi->tx_chan,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
203
strscpy(info->bus_info, pci_name(adapter->pdev),
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
2030
ret = t4_i2c_rd(adapter, adapter->mbox, pi->tx_chan,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
2053
ret = t4_i2c_rd(adapter, adapter->mbox, pi->tx_chan,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
207
if (adapter->params.fw_vers)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
2082
struct adapter *adapter = pi->adapter;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
2086
return t4_i2c_rd(adapter, adapter->mbox, pi->tx_chan,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
2093
ret = t4_i2c_rd(adapter, adapter->mbox, pi->tx_chan,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
210
FW_HDR_FW_VER_MAJOR_G(adapter->params.fw_vers),
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
2104
return t4_i2c_rd(adapter, adapter->mbox, pi->tx_chan, I2C_DEV_ADDR_A2,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
211
FW_HDR_FW_VER_MINOR_G(adapter->params.fw_vers),
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
2111
struct adapter *adapter = pi->adapter;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
2113
return (adapter->eth_flags | pi->eth_flags);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
212
FW_HDR_FW_VER_MICRO_G(adapter->params.fw_vers),
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
213
FW_HDR_FW_VER_BUILD_G(adapter->params.fw_vers),
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
2130
struct adapter *adapter = pi->adapter;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
2132
set_flags(&adapter->eth_flags, flags, PRIV_FLAGS_ADAP);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
214
FW_HDR_FW_VER_MAJOR_G(adapter->params.tp_vers),
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
215
FW_HDR_FW_VER_MINOR_G(adapter->params.tp_vers),
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
2159
struct adapter *adap = pi->adapter;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
216
FW_HDR_FW_VER_MICRO_G(adapter->params.tp_vers),
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
217
FW_HDR_FW_VER_BUILD_G(adapter->params.tp_vers));
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
219
if (!t4_get_exprom_version(adapter, &exprom_vers))
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
2224
void cxgb4_cleanup_ethtool_filters(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
2245
int cxgb4_init_ethtool_filters(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
279
static void collect_sge_port_stats(const struct adapter *adap,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
329
static void collect_adapter_stats(struct adapter *adap, struct adapter_stats *s)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
356
struct adapter *adapter = pi->adapter;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
361
t4_get_port_stats_offset(adapter, pi->tx_chan,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
366
collect_sge_port_stats(adapter, pi, (struct queue_port_stats *)data);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
368
collect_adapter_stats(adapter, (struct adapter_stats *)data);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
373
t4_get_lb_stats(adapter, pi->port_id, &s);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
383
struct adapter *adap = netdev2adap(dev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
399
t4_restart_aneg(p->adapter, p->adapter->pf, p->tx_chan);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
407
struct adapter *adap = netdev2adap(dev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
694
t4_link_acaps(pi->adapter,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
755
ret = t4_link_l1cfg(pi->adapter, pi->adapter->mbox, pi->tx_chan, lc);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
853
ret = t4_link_l1cfg(pi->adapter, pi->adapter->mbox,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
888
return t4_link_l1cfg(p->adapter, p->adapter->mbox, p->tx_chan,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
898
const struct sge *s = &pi->adapter->sge;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
917
struct adapter *adapter = pi->adapter;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
918
struct sge *s = &adapter->sge;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
927
if (adapter->flags & CXGB4_FULL_INIT_DONE)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
951
struct adapter *adap = pi->adapter;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
966
struct adapter *adap = pi->adapter;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
978
struct adapter *adap = pi->adapter;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
990
struct adapter *adap = pi->adapter;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_fcoe.c
102
struct adapter *adap = pi->adapter;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_fcoe.c
41
bool cxgb_fcoe_sof_eof_supported(struct adapter *adap, struct sk_buff *skb)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_fcoe.c
71
struct adapter *adap = pi->adapter;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_fcoe.h
54
bool cxgb_fcoe_sof_eof_supported(struct adapter *, struct sk_buff *);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1006
void clear_all_filters(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1008
struct net_device *dev = adapter->port[0];
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1011
if (adapter->tids.hpftid_tab) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1012
struct filter_entry *f = &adapter->tids.hpftid_tab[0];
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1014
for (i = 0; i < adapter->tids.nhpftids; i++, f++)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1019
if (adapter->tids.ftid_tab) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1020
struct filter_entry *f = &adapter->tids.ftid_tab[0];
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1021
unsigned int max_ftid = adapter->tids.nftids +
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1022
adapter->tids.nsftids +
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1023
adapter->tids.nhpftids;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1026
for (i = adapter->tids.nhpftids; i < max_ftid; i++, f++)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1032
if (is_hashfilter(adapter) && adapter->tids.tid_tab) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1036
for (i = adapter->tids.hash_base;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1037
i <= adapter->tids.ntids; i++) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1039
adapter->tids.tid_tab[i];
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1045
sb = adapter->tids.stid_base;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1047
f = (struct filter_entry *)adapter->tids.tid_tab[i];
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1151
bool is_filter_exact_match(struct adapter *adap,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1239
struct adapter *adap = netdev2adap(dev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1296
unsigned int qid_filterid, struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1334
unsigned int qid_filterid, struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1374
struct adapter *adapter = netdev2adap(dev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1376
struct tid_info *t = &adapter->tids;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1407
f->l2t = t4_l2t_alloc_switching(adapter, f->fs.vlan,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
143
static int configure_filter_smac(struct adapter *adap, struct filter_entry *f)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1436
iconf = adapter->params.tp.ingress_config;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1448
ret = t4_alloc_encap_mac_filt(adapter, pi->viid,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1477
((adapter->sge.fw_evtq.abs_id << 14) | atid),
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1478
adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1487
((adapter->sge.fw_evtq.abs_id << 14) | atid),
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1488
adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1493
t4_ofld_send(adapter, skb);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1501
t4_free_encap_mac_filt(adapter, pi->viid, f->fs.val.ovlan, 1);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1533
struct adapter *adapter = netdev2adap(dev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1539
chip_ver = CHELSIO_CHIP_VERSION(adapter->params.chip);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1541
if (is_hashfilter(adapter))
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1548
max_fidx = adapter->tids.nftids + adapter->tids.nhpftids;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1549
if (filter_id != (max_fidx + adapter->tids.nsftids - 1) &&
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1564
tab = &adapter->tids.hpftid_tab[0];
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1566
tab = &adapter->tids.ftid_tab[0];
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1567
filter_id = ftid - adapter->tids.nhpftids;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1593
dev_err(adapter->pdev_dev,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1605
dev_err(adapter->pdev_dev,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1617
dev_err(adapter->pdev_dev,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
164
static void set_nat_params(struct adapter *adap, struct filter_entry *f,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1648
fidx = filter_id + adapter->tids.hpftid_base;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1649
ret = cxgb4_set_hpftid(&adapter->tids, filter_id,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1652
fidx = filter_id + adapter->tids.ftid_base;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1653
ret = cxgb4_set_ftid(&adapter->tids, filter_id,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1666
if (is_t6(adapter->params.chip) && fs->type &&
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1683
iconf = adapter->params.tp.ingress_config;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1695
ret = t4_alloc_encap_mac_filt(adapter, pi->viid,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1716
ret = set_filter_wr(adapter, ftid);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1724
cxgb4_clear_hpftid(&adapter->tids, filter_id,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1727
cxgb4_clear_ftid(&adapter->tids, filter_id,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1731
clear_filter(adapter, f);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1738
struct adapter *adapter = netdev2adap(dev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1739
struct tid_info *t = &adapter->tids;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1751
__func__, filter_id, adapter->tids.nftids);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1786
TCB_RSS_INFO_V(adapter->sge.fw_evtq.abs_id), 0, 1);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1792
t4_ofld_send(adapter, skb);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1805
struct adapter *adapter = netdev2adap(dev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1810
chip_ver = CHELSIO_CHIP_VERSION(adapter->params.chip);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1812
if (is_hashfilter(adapter))
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1819
max_fidx = adapter->tids.nftids + adapter->tids.nhpftids;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1820
if (filter_id != (max_fidx + adapter->tids.nsftids - 1) &&
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1824
if (filter_id < adapter->tids.nhpftids)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1825
f = &adapter->tids.hpftid_tab[filter_id];
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1827
f = &adapter->tids.ftid_tab[filter_id - adapter->tids.nhpftids];
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1836
cxgb4_clear_hpftid(&adapter->tids,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1837
f->tid - adapter->tids.hpftid_base,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1840
cxgb4_clear_ftid(&adapter->tids,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1841
f->tid - adapter->tids.ftid_base,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1844
return del_filter_wr(adapter, filter_id);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1905
static int configure_filter_tcb(struct adapter *adap, unsigned int tid,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1968
void hash_del_filter_rpl(struct adapter *adap,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1997
void hash_filter_rpl(struct adapter *adap, const struct cpl_act_open_rpl *rpl)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
2075
void filter_rpl(struct adapter *adap, const struct cpl_set_tcb_rpl *rpl)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
2141
void init_hash_filter(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
251
struct adapter *adapter = netdev2adap(dev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
255
iconf = adapter->params.tp.ingress_config;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
256
fconf = fs->hash ? adapter->params.tp.filter_mask :
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
257
adapter->params.tp.vlan_pri_map;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
306
fs->eport >= adapter->params.nports)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
310
if (fs->val.iport >= adapter->params.nports)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
314
if (is_t4(adapter->params.chip) &&
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
321
CHELSIO_CHIP_VERSION(adapter->params.chip) < CHELSIO_T6)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
329
struct adapter *adapter = netdev2adap(dev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
348
iq = adapter->sge.ethrxq[pi->first_qset +
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
357
static int get_filter_count(struct adapter *adapter, unsigned int fidx,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
366
tcb_base = t4_read_reg(adapter, TP_CMM_TCB_BASE_A);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
367
if (is_hashfilter(adapter) && hash) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
368
if (tid_out_of_range(&adapter->tids, fidx))
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
370
f = adapter->tids.tid_tab[fidx - adapter->tids.tid_base];
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
374
if ((fidx != (adapter->tids.nftids + adapter->tids.nsftids +
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
375
adapter->tids.nhpftids - 1)) &&
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
376
fidx >= (adapter->tids.nftids + adapter->tids.nhpftids))
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
379
if (fidx < adapter->tids.nhpftids)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
380
f = &adapter->tids.hpftid_tab[fidx];
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
382
f = &adapter->tids.ftid_tab[fidx -
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
383
adapter->tids.nhpftids];
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
389
spin_lock(&adapter->win0_lock);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
390
if (is_t4(adapter->params.chip)) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
398
ret = t4_memory_rw(adapter, MEMWIN_NIC, MEM_EDC0,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
411
ret = t4_memory_rw(adapter, MEMWIN_NIC, MEM_EDC0,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
422
ret = t4_memory_rw(adapter, MEMWIN_NIC, MEM_EDC0,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
433
spin_unlock(&adapter->win0_lock);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
440
struct adapter *adapter = netdev2adap(dev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
442
return get_filter_count(adapter, fidx, hitcnt, bytecnt, hash);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
549
struct adapter *adap = netdev2adap(dev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
56
static int set_tcb_field(struct adapter *adap, struct filter_entry *f,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
758
static int del_filter_wr(struct adapter *adapter, int fidx)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
765
if (fidx < adapter->tids.nhpftids)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
766
f = &adapter->tids.hpftid_tab[fidx];
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
768
f = &adapter->tids.ftid_tab[fidx - adapter->tids.nhpftids];
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
777
t4_mk_filtdelwr(f->tid, fwr, adapter->sge.fw_evtq.abs_id);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
783
t4_mgmt_tx(adapter, skb);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
793
int set_filter_wr(struct adapter *adapter, int fidx)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
799
if (fidx < adapter->tids.nhpftids)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
800
f = &adapter->tids.hpftid_tab[fidx];
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
802
f = &adapter->tids.ftid_tab[fidx - adapter->tids.nhpftids];
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
814
f->l2t = t4_l2t_alloc_switching(adapter, f->fs.vlan,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
82
static int set_tcb_tflag(struct adapter *adap, struct filter_entry *f,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
847
if (adapter->params.filter2_wr_support)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
887
FW_FILTER_WR_RX_RPL_IQ_V(adapter->sge.fw_evtq.abs_id));
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
914
if (adapter->params.filter2_wr_support) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
934
t4_ofld_send(adapter, skb);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
953
int delete_filter(struct adapter *adapter, unsigned int fidx)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
958
if (fidx >= adapter->tids.nftids + adapter->tids.nsftids +
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
959
adapter->tids.nhpftids)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
962
if (fidx < adapter->tids.nhpftids)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
963
f = &adapter->tids.hpftid_tab[fidx];
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
965
f = &adapter->tids.ftid_tab[fidx - adapter->tids.nhpftids];
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
970
return del_filter_wr(adapter, fidx);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
978
void clear_filter(struct adapter *adap, struct filter_entry *f)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.h
42
void filter_rpl(struct adapter *adap, const struct cpl_set_tcb_rpl *rpl);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.h
43
void hash_filter_rpl(struct adapter *adap, const struct cpl_act_open_rpl *rpl);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.h
44
void hash_del_filter_rpl(struct adapter *adap,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.h
46
void clear_filter(struct adapter *adap, struct filter_entry *f);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.h
48
int set_filter_wr(struct adapter *adapter, int fidx);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.h
49
int delete_filter(struct adapter *adapter, unsigned int fidx);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.h
52
void clear_all_filters(struct adapter *adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.h
53
void init_hash_filter(struct adapter *adap);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.h
54
bool is_filter_exact_match(struct adapter *adap,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.h
56
void cxgb4_cleanup_ethtool_filters(struct adapter *adap);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.h
57
int cxgb4_init_ethtool_filters(struct adapter *adap);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
1003
static int setup_fw_sge_queues(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
1045
static int setup_sge_queues(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
1243
struct adapter *adap = q->adap;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
1281
err = t4_set_rxmode(pi->adapter, pi->adapter->mbox, pi->viid,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
1289
static int setup_debugfs(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
1300
static void cxgb4_port_mirror_free_rxq(struct adapter *adap,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
1320
struct adapter *adap = netdev2adap(dev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
1427
struct adapter *adap = netdev2adap(dev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
1448
struct adapter *adap = netdev2adap(dev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
1504
struct adapter *adap = netdev2adap(dev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
1516
struct adapter *adap = netdev2adap(dev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
1564
struct adapter *adap = netdev2adap(dev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
1746
struct adapter *adap = container_of(t, struct adapter, tids);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
1766
struct adapter *adap;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
1768
adap = container_of(work, struct adapter, tid_release_task);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
1799
struct adapter *adap = container_of(t, struct adapter, tids);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
1837
struct adapter *adap = container_of(t, struct adapter, tids);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
187
static int cfg_queues(struct adapter *adap);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
1931
struct adapter *adap;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
1972
struct adapter *adap;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
2003
struct adapter *adap;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
2143
struct adapter *adap = netdev2adap(dev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
2186
struct adapter *adap = pci_get_drvdata(pdev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
2196
struct adapter *adap = netdev2adap(dev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
2202
static int read_eq_indices(struct adapter *adap, u16 qid, u16 *pidx, u16 *cidx)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
2223
struct adapter *adap = netdev2adap(dev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
2258
struct adapter *adap;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
2332
struct adapter *adap;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
237
struct adapter *adap = pi->adapter;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
2393
static void drain_db_fifo(struct adapter *adap, int usecs)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
2424
static void enable_txq_db(struct adapter *adap, struct sge_txq *q)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
2440
static void disable_dbs(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
2462
static void enable_dbs(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
2484
static void notify_rdma_uld(struct adapter *adap, enum cxgb4_control cmd)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
2494
struct adapter *adap;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
2496
adap = container_of(work, struct adapter, db_full_task);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
2510
static void sync_txq_pidx(struct adapter *adap, struct sge_txq *q)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
2544
static void recover_all_queues(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
2567
struct adapter *adap;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
2569
adap = container_of(work, struct adapter, db_drop_task);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
2604
void t4_db_full(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
2615
void t4_db_dropped(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
2632
static void detach_ulds(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
2654
static void notify_ulds(struct adapter *adap, enum cxgb4_state new_state)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
2674
struct adapter *adap;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
2721
static void update_clip(const struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
2753
static int cxgb_up(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
2813
static void cxgb_down(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
2815
cancel_work_sync(&adapter->tid_release_task);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
2816
cancel_work_sync(&adapter->db_full_task);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
2817
cancel_work_sync(&adapter->db_drop_task);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
2818
adapter->tid_release_task_busy = false;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
2819
adapter->tid_release_head = NULL;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
2821
t4_sge_stop(adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
2822
t4_free_sge_resources(adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
2824
adapter->flags &= ~CXGB4_FULL_INIT_DONE;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
283
void t4_os_link_changed(struct adapter *adapter, int port_id, int link_stat)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
2833
struct adapter *adapter = pi->adapter;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
2838
if (!(adapter->flags & CXGB4_FULL_INIT_DONE)) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
2839
err = cxgb_up(adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
285
struct net_device *dev = adapter->port[port_id];
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
2881
struct adapter *adapter = pi->adapter;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
2886
ret = t4_enable_pi_params(adapter, adapter->pf, pi,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
2911
struct adapter *adap;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
2979
struct adapter *adap;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
3000
struct adapter *adapter = p->adapter;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
3006
spin_lock(&adapter->stats_lock);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
3008
spin_unlock(&adapter->stats_lock);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
3011
t4_get_port_stats_offset(adapter, p->tx_chan, &stats,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
3013
spin_unlock(&adapter->stats_lock);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
305
void t4_os_portmod_changed(struct adapter *adap, int port_id)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
3059
struct adapter *adapter = pi->adapter;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
3061
if (is_t4(adapter->params.chip)) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
3109
if (cxgb4_ptp_txtype(adapter, pi->port_id) >= 0)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
3114
if (cxgb4_ptp_redirect_rx_packet(adapter, pi) >= 0)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
3146
mbox = pi->adapter->pf;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
3148
ret = t4_mdio_rd(pi->adapter, mbox, prtad, devad,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
3151
ret = t4_mdio_wr(pi->adapter, mbox, prtad, devad,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
3171
ret = t4_set_rxmode(pi->adapter, pi->adapter->mbox, pi->viid,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
3189
static void cxgb4_mgmt_fill_vf_station_mac_addr(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
3227
struct adapter *adap = pi->adapter;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
3232
dev_err(pi->adapter->pdev_dev,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
3238
dev_info(pi->adapter->pdev_dev,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
3250
struct adapter *adap = pi->adapter;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
3272
phy_port_id = pi->adapter->adap_idx * 10 + pi->port_id;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
3282
struct adapter *adap = pi->adapter;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
3383
struct adapter *adap = pi->adapter;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
3407
struct adapter *adap = pi->adapter;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
3469
struct adapter *adap = pi->adapter;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
3485
struct adapter *adap = pi->adapter;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
350
struct adapter *adap = pi->adapter;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
3604
struct adapter *adap = netdev2adap(dev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
3630
struct adapter *adap = netdev2adap(dev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
3659
struct adapter *adap = netdev2adap(dev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
367
struct adapter *adap = pi->adapter;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
3684
struct adapter *adap = netdev2adap(dev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
3732
struct adapter *adapter = pi->adapter;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
3738
adapter->vxlan_port = 0;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
3739
t4_write_reg(adapter, MPS_RX_VXLAN_TYPE_A, 0);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
3742
adapter->geneve_port = 0;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
3743
t4_write_reg(adapter, MPS_RX_GENEVE_TYPE_A, 0);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
3752
if (!adapter->rawf_cnt)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
3754
for_each_port(adapter, i) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
3755
pi = adap2pinfo(adapter, i);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
3756
ret = t4_free_raw_mac_filt(adapter, pi->viid,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
3758
adapter->rawf_start + pi->port_id,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
3775
struct adapter *adapter = pi->adapter;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
3781
adapter->vxlan_port = ti->port;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
3782
t4_write_reg(adapter, MPS_RX_VXLAN_TYPE_A,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
3786
adapter->geneve_port = ti->port;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
3787
t4_write_reg(adapter, MPS_RX_GENEVE_TYPE_A,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
3800
for_each_port(adapter, i) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
3801
pi = adap2pinfo(adapter, i);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
3803
ret = t4_alloc_raw_mac_filt(adapter, pi->viid,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
3806
adapter->rawf_start + pi->port_id,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
3832
struct adapter *adapter = pi->adapter;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
3834
if (CHELSIO_CHIP_VERSION(adapter->params.chip) < CHELSIO_T6)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
3896
struct adapter *adapter = netdev2adap(dev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
3899
strscpy(info->bus_info, pci_name(adapter->pdev),
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
3910
struct adapter *adap;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
3912
adap = container_of(work, struct adapter, fatal_err_notify_task);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
3916
void t4_fatal_err(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
3943
static void setup_memwin(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
3950
static void setup_memwin_rdma(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
3992
static void adap_free_hma_mem(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
3998
if (!adapter->hma.sgt)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4001
if (adapter->hma.flags & HMA_DMA_MAPPED_FLAG) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4002
dma_unmap_sg(adapter->pdev_dev, adapter->hma.sgt->sgl,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4003
adapter->hma.sgt->nents, DMA_BIDIRECTIONAL);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4004
adapter->hma.flags &= ~HMA_DMA_MAPPED_FLAG;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4007
for_each_sg(adapter->hma.sgt->sgl, iter,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4008
adapter->hma.sgt->orig_nents, i) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4014
kfree(adapter->hma.phy_addr);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4015
sg_free_table(adapter->hma.sgt);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4016
kfree(adapter->hma.sgt);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4017
adapter->hma.sgt = NULL;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4020
static int adap_config_hma(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4036
CHELSIO_CHIP_VERSION(adapter->params.chip) < CHELSIO_T6)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4042
ret = t4_query_params(adapter, adapter->mbox, adapter->pf, 0,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
405
struct adapter *adap = pi->adapter;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4052
dev_err(adapter->pdev_dev,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4060
adapter->hma.sgt = kzalloc_obj(*adapter->hma.sgt);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4061
if (unlikely(!adapter->hma.sgt)) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4062
dev_err(adapter->pdev_dev, "HMA SG table allocation failed\n");
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4065
sgt = adapter->hma.sgt;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4070
dev_err(adapter->pdev_dev, "HMA SGL allocation failed\n");
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4071
kfree(adapter->hma.sgt);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4072
adapter->hma.sgt = NULL;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4076
sgl = adapter->hma.sgt->sgl;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4077
node = dev_to_node(adapter->pdev_dev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4082
dev_err(adapter->pdev_dev,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4090
sgt->nents = dma_map_sg(adapter->pdev_dev, sgl, sgt->orig_nents,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4093
dev_err(adapter->pdev_dev,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4098
adapter->hma.flags |= HMA_DMA_MAPPED_FLAG;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4100
adapter->hma.phy_addr = kzalloc_objs(dma_addr_t, sgt->nents);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4101
if (unlikely(!adapter->hma.phy_addr))
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4106
adapter->hma.phy_addr[i] = sg_dma_address(iter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4149
cpu_to_be64(adapter->hma.phy_addr[j + k]);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4151
ret = t4_wr_mbox(adapter, adapter->mbox, &hma_cmd,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4154
dev_err(adapter->pdev_dev,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4161
dev_info(adapter->pdev_dev,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4166
adap_free_hma_mem(adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4170
static int adap_init1(struct adapter *adap, struct fw_caps_config_cmd *c)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4275
static int adap_init0_tweaks(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4282
t4_fixup_host_params(adapter, PAGE_SIZE, L1_CACHE_BYTES);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4288
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4293
t4_set_reg_field(adapter, SGE_CONTROL_A,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4301
t4_tp_wr_bits_indirect(adapter, TP_INGRESS_CONFIG_A,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
432
struct adapter *adapter = pi->adapter;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
437
return t4_set_rxmode(adapter, adapter->mbox, pi->viid, pi->viid_mirror,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4375
static int adap_init0_phy(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4445
static int adap_init0_config(struct adapter *adapter, int reset)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4460
ret = t4_fw_reset(adapter, adapter->mbox,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4471
if (is_10gbt_device(adapter->pdev->device)) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4472
ret = adap_init0_phy(adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4481
switch (CHELSIO_CHIP_VERSION(adapter->params.chip)) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4492
dev_err(adapter->pdev_dev, "Device %d is not supported\n",
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4493
adapter->pdev->device);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4498
ret = request_firmware(&cf, fw_config_file, adapter->pdev_dev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4502
maddr = t4_flash_cfg_addr(adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4515
ret = t4_query_params(adapter, adapter->mbox,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4516
adapter->pf, 0, 1, params, val);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4535
spin_lock(&adapter->win0_lock);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4536
ret = t4_memory_rw(adapter, 0, mtype, maddr,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4548
ret = t4_memory_rw(adapter, 0, mtype,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4553
spin_unlock(&adapter->win0_lock);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4569
ret = t4_set_params(adapter, adapter->mbox, adapter->pf, 0,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4576
dev_warn(adapter->pdev_dev,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4596
ret = t4_wr_mbox(adapter, adapter->mbox, &caps_cmd, sizeof(caps_cmd),
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4612
ret = t4_wr_mbox(adapter, adapter->mbox, &caps_cmd,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4625
dev_warn(adapter->pdev_dev, "Configuration File checksum "\
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4637
ret = t4_wr_mbox(adapter, adapter->mbox, &caps_cmd, sizeof(caps_cmd),
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
464
struct adapter *adapter = pi->adapter;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4646
ret = adap_init0_tweaks(adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4651
ret = adap_config_hma(adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4653
dev_err(adapter->pdev_dev,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4656
if (is_t6(adapter->params.chip)) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4657
adap_config_hpfilter(adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4658
ret = setup_ppod_edram(adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4660
dev_info(adapter->pdev_dev, "Successfully enabled "
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4668
ret = t4_fw_initialize(adapter, adapter->mbox);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4675
dev_info(adapter->pdev_dev, "Successfully configured using Firmware "\
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
468
ret = t4_change_mac(adapter, adapter->mbox, viid,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4687
dev_warn(adapter->pdev_dev, "\"%s\" configuration file error %d\n",
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
475
list_for_each_entry(entry, &adapter->mac_hlist, list) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4753
static int adap_init0(struct adapter *adap, int vpd_skip)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
486
list_add_tail(&new_entry->list, &adapter->mac_hlist);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
506
unsigned int mb = pi->adapter->mbox;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
513
ret = t4_set_rxmode(pi->adapter, mb, pi->viid, pi->viid_mirror,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
520
ret = t4_link_l1cfg(pi->adapter, mb, pi->tx_chan,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
524
ret = t4_enable_pi_params(pi->adapter, mb, pi, true,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
534
static void dcb_rpl(struct adapter *adap, const struct fw_port_cmd *pcmd)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
5422
struct adapter *adap = pci_get_drvdata(pdev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
5455
struct adapter *adap = pci_get_drvdata(pdev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
5516
struct adapter *adap = pci_get_drvdata(pdev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
5537
struct adapter *adapter = pci_get_drvdata(pdev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
5540
if (adapter->pf != 4)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
5543
adapter->flags &= ~CXGB4_FW_OK;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
5545
notify_ulds(adapter, CXGB4_STATE_DOWN);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
5547
for_each_port(adapter, i)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
5548
if (adapter->port[i]->reg_state == NETREG_REGISTERED)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
5549
cxgb_close(adapter->port[i]);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
5551
disable_interrupts(adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
5552
cxgb4_free_mps_ref_entries(adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
5554
adap_free_hma_mem(adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
5556
if (adapter->flags & CXGB4_FULL_INIT_DONE)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
5557
cxgb_down(adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
5562
struct adapter *adapter = pci_get_drvdata(pdev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
5565
if (adapter->pf != 4)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
5568
err = t4_wait_dev_ready(adapter->regs);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
5570
dev_err(adapter->pdev_dev,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
5575
setup_memwin(adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
5577
err = adap_init0(adapter, 1);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
5579
dev_err(adapter->pdev_dev,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
5584
setup_memwin_rdma(adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
5586
if (adapter->flags & CXGB4_FW_OK) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
5587
err = t4_port_init(adapter, adapter->pf, adapter->pf, 0);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
5589
dev_err(adapter->pdev_dev,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
5595
err = cfg_queues(adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
5597
dev_err(adapter->pdev_dev,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
5602
cxgb4_init_mps_ref_entries(adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
5604
err = setup_fw_sge_queues(adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
5606
dev_err(adapter->pdev_dev,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
5611
for_each_port(adapter, i)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
5612
if (adapter->port[i]->reg_state == NETREG_REGISTERED)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
5613
cxgb_open(adapter->port[i]);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
5642
static int cfg_queues(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
5809
static void reduce_ethqs(struct adapter *adap, int n)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
5833
static int alloc_msix_info(struct adapter *adap, u32 num_vec)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
5854
static void free_msix_info(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
5860
int cxgb4_get_msix_idx_from_bmap(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
5879
void cxgb4_free_msix_idx_in_bmap(struct adapter *adap,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
5893
static int enable_msix(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6087
static int init_rss(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6107
static void print_adapter_info(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6110
t4_dump_version_info(adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6113
dev_info(adapter->pdev_dev, "Configuration: %sNIC %s, %s capable\n",
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6114
is_offload(adapter) ? "R" : "",
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6115
((adapter->flags & CXGB4_USING_MSIX) ? "MSI-X" :
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6116
(adapter->flags & CXGB4_USING_MSI) ? "MSI" : ""),
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6117
is_offload(adapter) ? "Offload" : "non-Offload");
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6125
const struct adapter *adap = pi->adapter;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6159
static void free_some_resources(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6163
kvfree(adapter->smt);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6164
kvfree(adapter->l2t);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6165
kvfree(adapter->srq);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6166
t4_cleanup_sched(adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6167
kvfree(adapter->tids.tid_tab);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6168
cxgb4_cleanup_tc_matchall(adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6169
cxgb4_cleanup_tc_mqprio(adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6170
cxgb4_cleanup_tc_flower(adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6171
cxgb4_cleanup_tc_u32(adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6172
cxgb4_cleanup_ethtool_filters(adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6173
kfree(adapter->sge.egr_map);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6174
kfree(adapter->sge.ingr_map);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6175
bitmap_free(adapter->sge.starving_fl);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6176
bitmap_free(adapter->sge.txq_maperr);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6178
bitmap_free(adapter->sge.blocked_fl);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6180
disable_msi(adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6182
for_each_port(adapter, i)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6183
if (adapter->port[i]) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6184
struct port_info *pi = adap2pinfo(adapter, i);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6187
t4_free_vi(adapter, adapter->mbox, adapter->pf,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6189
kfree(adap2pinfo(adapter, i)->rss);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6190
free_netdev(adapter->port[i]);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6192
if (adapter->flags & CXGB4_FW_OK)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6193
t4_fw_bye(adapter, adapter->pf);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6202
static int t4_get_chip_type(struct adapter *adap, int ver)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6237
struct adapter *adap = pci_get_drvdata(pdev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6335
pi->adapter = adap;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6382
static int chcr_offload_state(struct adapter *adap,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6430
struct adapter *adap = netdev2adap(netdev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6459
struct adapter *adap = netdev2adap(netdev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6485
struct adapter *adap = netdev2adap(dev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6507
struct adapter *adap = netdev2adap(dev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6525
struct adapter *adap = netdev2adap(dev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6543
struct adapter *adap = netdev2adap(x->xso.dev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6574
struct adapter *adapter;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6605
adapter = kzalloc_obj(*adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6606
if (!adapter) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
661
static void disable_msi(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6611
adapter->regs = regs;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6617
whoami = t4_read_reg(adapter, PL_WHOAMI_A);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6619
chip = t4_get_chip_type(adapter, CHELSIO_PCI_ID_VER(device_id));
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6629
adapter->pdev = pdev;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
663
if (adapter->flags & CXGB4_USING_MSIX) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6630
adapter->pdev_dev = &pdev->dev;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6631
adapter->name = pci_name(pdev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6632
adapter->mbox = func;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6633
adapter->pf = func;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6634
adapter->params.chip = chip;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6635
adapter->adap_idx = adap_idx;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6636
adapter->msg_enable = DFLT_MSG_ENABLE;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6637
adapter->mbox_log = kzalloc(sizeof(*adapter->mbox_log) +
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
664
pci_disable_msix(adapter->pdev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6641
if (!adapter->mbox_log) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6645
spin_lock_init(&adapter->mbox_lock);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6646
INIT_LIST_HEAD(&adapter->mlist.list);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6647
adapter->mbox_log->size = T4_OS_LOG_MBOX_CMDS;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6648
pci_set_drvdata(pdev, adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
665
adapter->flags &= ~CXGB4_USING_MSIX;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
666
} else if (adapter->flags & CXGB4_USING_MSI) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6665
adapter->workq = create_singlethread_workqueue("cxgb4");
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6666
if (!adapter->workq) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
667
pci_disable_msi(adapter->pdev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6672
adapter->flags |= CXGB4_DEV_ENABLED;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6673
memset(adapter->chan_map, 0xff, sizeof(adapter->chan_map));
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
668
adapter->flags &= ~CXGB4_USING_MSI;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6690
adapter->flags |= CXGB4_ROOT_NO_RELAXED_ORDERING;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6692
spin_lock_init(&adapter->stats_lock);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6693
spin_lock_init(&adapter->tid_release_lock);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6694
spin_lock_init(&adapter->win0_lock);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6696
INIT_WORK(&adapter->tid_release_task, process_tid_release_list);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6697
INIT_WORK(&adapter->db_full_task, process_db_full);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6698
INIT_WORK(&adapter->db_drop_task, process_db_drop);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6699
INIT_WORK(&adapter->fatal_err_notify_task, notify_fatal_err);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6701
err = t4_prep_adapter(adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6707
err = cxgb4_cudbg_vmcore_add_dump(adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6709
dev_warn(adapter->pdev_dev,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6716
if (!is_t4(adapter->params.chip)) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6719
adapter->pf);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6720
qpp = 1 << QUEUESPERPAGEPF0_G(t4_read_reg(adapter,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6735
adapter->bar2 = ioremap_wc(pci_resource_start(pdev, 2),
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6737
if (!adapter->bar2) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6744
setup_memwin(adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6745
err = adap_init0(adapter, 0);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6749
setup_memwin_rdma(adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6752
if (!is_t4(adapter->params.chip))
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6753
t4_write_reg(adapter, SGE_STAT_CFG_A, STATSOURCE_T5_V(7) |
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6754
(is_t5(adapter->params.chip) ? STATMODE_V(0) :
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6758
INIT_LIST_HEAD(&adapter->mac_hlist);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6760
for_each_port(adapter, i) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
677
struct adapter *adap = cookie;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6776
adapter->port[i] = netdev;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6778
pi->adapter = adapter;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6801
if (adapter->rawf_cnt)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6808
if (pi->adapter->params.crypto & FW_CAPS_CONFIG_TLS_HW) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6812
refcount_set(&pi->adapter->chcr_ktls.ktls_refcount, 0);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6816
if (pi->adapter->params.crypto & FW_CAPS_CONFIG_IPSEC_INLINE) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6838
cxgb4_init_ethtool_dump(adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6840
pci_set_drvdata(pdev, adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6842
if (adapter->flags & CXGB4_FW_OK) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6843
err = t4_port_init(adapter, func, func, 0);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6846
} else if (adapter->params.nports == 1) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6853
u8 *na = adapter->params.vpd.na;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6855
err = t4_get_raw_vpd_params(adapter, &adapter->params.vpd);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6860
t4_set_hw_addr(adapter, 0, hw_addr);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6864
if (!(adapter->flags & CXGB4_FW_OK))
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6870
err = cfg_queues(adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6874
adapter->smt = t4_init_smt();
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6875
if (!adapter->smt) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6880
adapter->l2t = t4_init_l2t(adapter->l2t_start, adapter->l2t_end);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6881
if (!adapter->l2t) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6884
adapter->params.offload = 0;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6889
(!(t4_read_reg(adapter, LE_DB_CONFIG_A) & ASLIPCOMPEN_F))) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
689
int cxgb4_set_msix_aff(struct adapter *adap, unsigned short vec,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6895
adapter->params.offload = 0;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6897
adapter->clipt = t4_init_clip_tbl(adapter->clipt_start,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6898
adapter->clipt_end);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6899
if (!adapter->clipt) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6905
adapter->params.offload = 0;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6910
for_each_port(adapter, i) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6911
pi = adap2pinfo(adapter, i);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6912
pi->sched_tbl = t4_init_sched(adapter->params.nsched_cls);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6919
if (is_offload(adapter) || is_hashfilter(adapter)) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6920
if (t4_read_reg(adapter, LE_DB_CONFIG_A) & HASHEN_F) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6923
v = t4_read_reg(adapter, LE_DB_HASH_CONFIG_A);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6925
adapter->tids.nhash = 1 << HASHTIDSIZE_G(v);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6926
v = t4_read_reg(adapter, LE_DB_TID_HASHBASE_A);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6927
adapter->tids.hash_base = v / 4;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6929
adapter->tids.nhash = HASHTBLSIZE_G(v) << 3;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6930
v = t4_read_reg(adapter,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6932
adapter->tids.hash_base = v;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6937
if (tid_init(&adapter->tids) < 0) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6940
adapter->params.offload = 0;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6942
adapter->tc_u32 = cxgb4_init_tc_u32(adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6943
if (!adapter->tc_u32)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6947
if (cxgb4_init_tc_flower(adapter))
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6951
if (cxgb4_init_tc_mqprio(adapter))
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6955
if (cxgb4_init_tc_matchall(adapter))
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6958
if (cxgb4_init_ethtool_filters(adapter))
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6964
if (msi > 1 && enable_msix(adapter) == 0)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6965
adapter->flags |= CXGB4_USING_MSIX;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6967
adapter->flags |= CXGB4_USING_MSI;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6969
free_msix_info(adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6975
cxgb4_init_mps_ref_entries(adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6977
err = init_rss(adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6981
err = setup_non_data_intr(adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6983
dev_err(adapter->pdev_dev,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6988
err = setup_fw_sge_queues(adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6990
dev_err(adapter->pdev_dev,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
7002
for_each_port(adapter, i) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
7003
pi = adap2pinfo(adapter, i);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
7004
adapter->port[i]->dev_port = pi->lport;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
7005
netif_set_real_num_tx_queues(adapter->port[i], pi->nqsets);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
7006
netif_set_real_num_rx_queues(adapter->port[i], pi->nqsets);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
7008
netif_carrier_off(adapter->port[i]);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
7010
err = register_netdev(adapter->port[i]);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
7013
adapter->chan_map[pi->tx_chan] = i;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
7014
print_port_info(adapter->port[i]);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
7026
adapter->debugfs_root = debugfs_create_dir(pci_name(pdev),
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
7028
setup_debugfs(adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
7034
if (is_uld(adapter))
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
7035
cxgb4_uld_enable(adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
7037
if (!is_t4(adapter->params.chip))
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
7038
cxgb4_ptp_init(adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
7041
!is_t4(adapter->params.chip) && (adapter->flags & CXGB4_FW_OK))
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
7042
cxgb4_thermal_init(adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
7044
print_adapter_info(adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
7048
t4_free_sge_resources(adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
7049
free_some_resources(adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
7050
if (adapter->flags & CXGB4_USING_MSIX)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
7051
free_msix_info(adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
7052
if (adapter->num_uld || adapter->num_ofld_uld)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
7053
t4_uld_mem_free(adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
7055
if (!is_t4(adapter->params.chip))
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
7056
iounmap(adapter->bar2);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
7058
if (adapter->workq)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
7059
destroy_workqueue(adapter->workq);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
7061
kfree(adapter->mbox_log);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
7062
kfree(adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
7074
struct adapter *adapter = pci_get_drvdata(pdev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
7077
if (!adapter) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
7085
clear_all_filters(adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
7087
adapter->flags |= CXGB4_SHUTTING_DOWN;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
7089
if (adapter->pf == 4) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
7095
destroy_workqueue(adapter->workq);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
7097
detach_ulds(adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
7099
for_each_port(adapter, i)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
7100
if (adapter->port[i]->reg_state == NETREG_REGISTERED)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
7101
unregister_netdev(adapter->port[i]);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
7103
t4_uld_clean_up(adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
7105
adap_free_hma_mem(adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
7107
disable_interrupts(adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
7109
cxgb4_free_mps_ref_entries(adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
7111
debugfs_remove_recursive(adapter->debugfs_root);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
7113
if (!is_t4(adapter->params.chip))
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
7114
cxgb4_ptp_stop(adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
7116
cxgb4_thermal_remove(adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
7118
if (adapter->flags & CXGB4_FULL_INIT_DONE)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
7119
cxgb_down(adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
7121
if (adapter->flags & CXGB4_USING_MSIX)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
7122
free_msix_info(adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
7123
if (adapter->num_uld || adapter->num_ofld_uld)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
7124
t4_uld_mem_free(adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
7125
free_some_resources(adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
7126
list_for_each_entry_safe(entry, tmp, &adapter->mac_hlist,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
7133
t4_cleanup_clip_tbl(adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
7135
if (!is_t4(adapter->params.chip))
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
7136
iounmap(adapter->bar2);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
7140
cxgb4_iov_configure(adapter->pdev, 0);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
7143
iounmap(adapter->regs);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
7144
if ((adapter->flags & CXGB4_DEV_ENABLED)) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
7146
adapter->flags &= ~CXGB4_DEV_ENABLED;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
7149
kfree(adapter->mbox_log);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
7151
kfree(adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
7161
struct adapter *adapter = pci_get_drvdata(pdev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
7167
if (!adapter) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
717
static int request_msix_queue_irqs(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
7172
adapter->flags |= CXGB4_SHUTTING_DOWN;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
7174
if (adapter->pf == 4) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
7177
for_each_port(adapter, i)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
7178
if (adapter->port[i]->reg_state == NETREG_REGISTERED)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
7179
cxgb_close(adapter->port[i]);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
7182
cxgb4_mqprio_stop_offload(adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
7185
if (is_uld(adapter)) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
7186
detach_ulds(adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
7187
t4_uld_clean_up(adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
7190
disable_interrupts(adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
7191
disable_msi(adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
7193
t4_sge_stop(adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
7194
if (adapter->flags & CXGB4_FW_OK)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
7195
t4_fw_bye(adapter, adapter->mbox);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
757
static void free_msix_queue_irqs(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
771
static int setup_ppod_edram(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
805
static void adap_config_hpfilter(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
814
ret = t4_set_params(adapter, adapter->mbox, adapter->pf, 0,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
821
dev_err(adapter->pdev_dev,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
828
struct adapter *adap = pi->adapter;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
861
struct adapter *adapter = pi->adapter;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
866
rxq = &adapter->sge.ethrxq[pi->first_qset];
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
886
static int setup_rss(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
922
static void quiesce_rx(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
937
static void disable_interrupts(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
954
void cxgb4_enable_rx(struct adapter *adap, struct sge_rspq *q)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
968
static void enable_rx(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
982
static int setup_non_data_intr(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_mps.c
118
cxgb4_mps_ref_inc(pi->adapter, addr, *tcam_idx, NULL);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_mps.c
122
int cxgb4_init_mps_ref_entries(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_mps.c
130
void cxgb4_free_mps_ref_entries(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_mps.c
31
static int cxgb4_mps_ref_inc(struct adapter *adap, const u8 *mac_addr,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_mps.c
6
static int cxgb4_mps_ref_dec_by_mac(struct adapter *adap,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_mps.c
60
int cxgb4_free_mac_filt(struct adapter *adap, unsigned int viid,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_mps.c
78
int cxgb4_alloc_mac_filt(struct adapter *adap, unsigned int viid,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ptp.c
104
skb_ts = skb_hwtstamps(adapter->ptp_tx_skb);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ptp.c
106
tx_ts = t4_read_reg(adapter,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ptp.c
109
tx_ts |= (u64)t4_read_reg(adapter,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ptp.c
113
skb_tstamp_tx(adapter->ptp_tx_skb, skb_ts);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ptp.c
114
dev_kfree_skb_any(adapter->ptp_tx_skb);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ptp.c
115
spin_lock(&adapter->ptp_lock);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ptp.c
116
adapter->ptp_tx_skb = NULL;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ptp.c
117
spin_unlock(&adapter->ptp_lock);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ptp.c
129
struct adapter *adapter = pi->adapter;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ptp.c
142
err = t4_wr_mbox(adapter, adapter->mbox, &c, sizeof(c), NULL);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ptp.c
144
dev_err(adapter->pdev_dev,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ptp.c
149
int cxgb4_ptp_txtype(struct adapter *adapter, u8 port)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ptp.c
163
err = t4_wr_mbox(adapter, adapter->mbox, &c, sizeof(c), NULL);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ptp.c
165
dev_err(adapter->pdev_dev,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ptp.c
171
int cxgb4_ptp_redirect_rx_packet(struct adapter *adapter, struct port_info *pi)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ptp.c
173
struct sge *s = &adapter->sge;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ptp.c
189
err = t4_wr_mbox(adapter, adapter->mbox, &c, sizeof(c), NULL);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ptp.c
191
dev_err(adapter->pdev_dev,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ptp.c
208
struct adapter *adapter = (struct adapter *)container_of(ptp,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ptp.c
209
struct adapter, ptp_clock_info);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ptp.c
226
err = t4_wr_mbox(adapter, adapter->mbox, &c, sizeof(c), NULL);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ptp.c
228
dev_err(adapter->pdev_dev,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ptp.c
241
static int cxgb4_ptp_fineadjtime(struct adapter *adapter, s64 delta)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ptp.c
258
err = t4_wr_mbox(adapter, adapter->mbox, &c, sizeof(c), NULL);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ptp.c
260
dev_err(adapter->pdev_dev,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ptp.c
274
struct adapter *adapter =
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ptp.c
275
(struct adapter *)container_of(ptp, struct adapter,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ptp.c
297
err = t4_wr_mbox(adapter, adapter->mbox, &c, sizeof(c), NULL);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ptp.c
299
dev_err(adapter->pdev_dev,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ptp.c
302
err = cxgb4_ptp_fineadjtime(adapter, delta);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ptp.c
318
struct adapter *adapter = container_of(ptp, struct adapter,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ptp.c
322
ns = t4_read_reg(adapter, T5_PORT_REG(0, MAC_PORT_PTP_SUM_LO_A));
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ptp.c
323
ns |= (u64)t4_read_reg(adapter,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ptp.c
342
struct adapter *adapter = (struct adapter *)container_of(ptp,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ptp.c
343
struct adapter, ptp_clock_info);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ptp.c
359
err = t4_wr_mbox(adapter, adapter->mbox, &c, sizeof(c), NULL);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ptp.c
361
dev_err(adapter->pdev_dev,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ptp.c
367
static void cxgb4_init_ptp_timer(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ptp.c
380
err = t4_wr_mbox(adapter, adapter->mbox, &c, sizeof(c), NULL);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ptp.c
382
dev_err(adapter->pdev_dev,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ptp.c
423
void cxgb4_ptp_init(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ptp.c
427
if (!IS_ERR_OR_NULL(adapter->ptp_clock))
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ptp.c
430
adapter->ptp_tx_skb = NULL;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ptp.c
431
adapter->ptp_clock_info = cxgb4_ptp_clock_info;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ptp.c
432
spin_lock_init(&adapter->ptp_lock);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ptp.c
434
adapter->ptp_clock = ptp_clock_register(&adapter->ptp_clock_info,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ptp.c
435
&adapter->pdev->dev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ptp.c
436
if (IS_ERR_OR_NULL(adapter->ptp_clock)) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ptp.c
437
adapter->ptp_clock = NULL;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ptp.c
438
dev_err(adapter->pdev_dev,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ptp.c
444
cxgb4_init_ptp_timer(adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ptp.c
445
if (cxgb4_ptp_settime(&adapter->ptp_clock_info, &now) < 0) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ptp.c
446
ptp_clock_unregister(adapter->ptp_clock);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ptp.c
447
adapter->ptp_clock = NULL;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ptp.c
457
void cxgb4_ptp_stop(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ptp.c
459
if (adapter->ptp_tx_skb) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ptp.c
460
dev_kfree_skb_any(adapter->ptp_tx_skb);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ptp.c
461
adapter->ptp_tx_skb = NULL;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ptp.c
464
if (adapter->ptp_clock) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ptp.c
465
ptp_clock_unregister(adapter->ptp_clock);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ptp.c
466
adapter->ptp_clock = NULL;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ptp.c
99
void cxgb4_ptp_read_hwstamp(struct adapter *adapter, struct port_info *pi)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ptp.h
65
void cxgb4_ptp_init(struct adapter *adap);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ptp.h
66
void cxgb4_ptp_stop(struct adapter *adap);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ptp.h
70
int cxgb4_ptp_redirect_rx_packet(struct adapter *adap, struct port_info *pi);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ptp.h
71
int cxgb4_ptp_txtype(struct adapter *adap, u8 port_id);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ptp.h
72
void cxgb4_ptp_read_hwstamp(struct adapter *adap, struct port_info *pi);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
1022
struct adapter *adap = container_of(work, struct adapter,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
1062
struct adapter *adap = timer_container_of(adap, t, flower_stats_timer);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
1070
struct adapter *adap = netdev2adap(dev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
1120
int cxgb4_init_tc_flower(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
1139
void cxgb4_cleanup_tc_flower(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
155
static struct ch_tc_flower_entry *ch_flower_lookup(struct adapter *adap,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
462
static int cxgb4_action_natmode_validate(struct adapter *adap, u8 natmode_flags,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
674
struct adapter *adap = netdev2adap(dev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
783
static void cxgb4_tc_flower_hash_prio_add(struct adapter *adap, u32 tc_prio)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
791
static void cxgb4_tc_flower_hash_prio_del(struct adapter *adap, u32 tc_prio)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
845
struct adapter *adap = netdev2adap(dev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
938
struct adapter *adap = netdev2adap(dev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
980
struct adapter *adap = netdev2adap(dev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
999
struct adapter *adap = netdev2adap(dev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.h
146
int cxgb4_init_tc_flower(struct adapter *adap);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.h
147
void cxgb4_cleanup_tc_flower(struct adapter *adap);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_matchall.c
181
struct adapter *adap = netdev2adap(dev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_matchall.c
228
struct adapter *adap = netdev2adap(dev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_matchall.c
245
struct adapter *adap = netdev2adap(dev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_matchall.c
272
struct adapter *adap = netdev2adap(dev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_matchall.c
286
struct adapter *adap = netdev2adap(dev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_matchall.c
306
struct adapter *adap = netdev2adap(dev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_matchall.c
352
struct adapter *adap = netdev2adap(dev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_matchall.c
382
struct adapter *adap = netdev2adap(dev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_matchall.c
410
struct adapter *adap = netdev2adap(dev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_matchall.c
450
struct adapter *adap = netdev2adap(dev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_matchall.c
479
struct adapter *adap = netdev2adap(dev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_matchall.c
518
struct adapter *adap = netdev2adap(dev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_matchall.c
528
int cxgb4_init_tc_matchall(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_matchall.c
553
void cxgb4_cleanup_tc_matchall(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_matchall.h
49
int cxgb4_init_tc_matchall(struct adapter *adap);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_matchall.h
50
void cxgb4_cleanup_tc_matchall(struct adapter *adap);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_mqprio.c
123
struct adapter *adap = netdev2adap(dev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_mqprio.c
13
struct adapter *adap = netdev2adap(dev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_mqprio.c
151
struct adapter *adap = netdev2adap(dev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_mqprio.c
272
struct adapter *adap = netdev2adap(dev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_mqprio.c
329
struct adapter *adap = netdev2adap(dev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_mqprio.c
370
struct adapter *adap = netdev2adap(dev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_mqprio.c
406
struct adapter *adap = netdev2adap(dev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_mqprio.c
430
struct adapter *adap = netdev2adap(dev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_mqprio.c
532
struct adapter *adap = netdev2adap(dev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_mqprio.c
573
struct adapter *adap = netdev2adap(dev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_mqprio.c
625
void cxgb4_mqprio_stop_offload(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_mqprio.c
649
int cxgb4_init_tc_mqprio(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_mqprio.c
696
void cxgb4_cleanup_tc_mqprio(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_mqprio.c
98
struct adapter *adap = netdev2adap(dev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_mqprio.h
42
void cxgb4_mqprio_stop_offload(struct adapter *adap);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_mqprio.h
43
int cxgb4_init_tc_mqprio(struct adapter *adap);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_mqprio.h
44
void cxgb4_cleanup_tc_mqprio(struct adapter *adap);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32.c
153
struct adapter *adapter = netdev2adap(dev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32.c
184
t = adapter->tc_u32;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32.c
200
if (filter_id < adapter->tids.nhpftids)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32.c
235
dev_err(adapter->pdev_dev,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32.c
276
ret = fill_match_fields(adapter, &fs, cls,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32.c
302
ret = fill_match_fields(adapter, &fs, cls,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32.c
308
ret = fill_match_fields(adapter, &fs, cls, start, false);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32.c
315
ret = fill_action_fields(adapter, &fs, cls);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32.c
354
struct adapter *adapter = netdev2adap(dev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32.c
368
max_tids = adapter->tids.nhpftids + adapter->tids.nftids;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32.c
370
spin_lock_bh(&adapter->tids.ftid_lock);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32.c
373
if (filter_id < adapter->tids.nhpftids) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32.c
375
f = &adapter->tids.hpftid_tab[i];
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32.c
381
i = find_next_bit(adapter->tids.hpftid_bmap,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32.c
382
adapter->tids.nhpftids, i + 1);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32.c
383
if (i >= adapter->tids.nhpftids) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32.c
384
filter_id = adapter->tids.nhpftids;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32.c
390
i = filter_id - adapter->tids.nhpftids;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32.c
391
f = &adapter->tids.ftid_tab[i];
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32.c
397
i = find_next_bit(adapter->tids.ftid_bmap,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32.c
398
adapter->tids.nftids, i + 1);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32.c
399
if (i >= adapter->tids.nftids)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32.c
402
filter_id = i + adapter->tids.nhpftids;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32.c
408
if (CHELSIO_CHIP_VERSION(adapter->params.chip) <
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32.c
415
spin_unlock_bh(&adapter->tids.ftid_lock);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32.c
420
t = adapter->tc_u32;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32.c
44
static int fill_match_fields(struct adapter *adap,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32.c
477
void cxgb4_cleanup_tc_u32(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32.c
495
struct cxgb4_tc_u32_table *cxgb4_init_tc_u32(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32.c
90
static int fill_action_fields(struct adapter *adap,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32.h
42
struct adapter *adap = netdev2adap(dev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32.h
50
void cxgb4_cleanup_tc_u32(struct adapter *adapter);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32.h
51
struct cxgb4_tc_u32_table *cxgb4_init_tc_u32(struct adapter *adap);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_thermal.c
15
struct adapter *adap = thermal_zone_device_priv(tzdev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_thermal.c
38
int cxgb4_thermal_init(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_thermal.c
83
int cxgb4_thermal_remove(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.c
108
static int alloc_uld_rxqs(struct adapter *adap,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.c
174
setup_sge_queues_uld(struct adapter *adap, unsigned int uld_type, bool lro)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.c
202
static void t4_free_uld_rxqs(struct adapter *adap, int n,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.c
212
static void free_sge_queues_uld(struct adapter *adap, unsigned int uld_type)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.c
237
static int cfg_queues_uld(struct adapter *adap, unsigned int uld_type,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.c
312
static void free_queues_uld(struct adapter *adap, unsigned int uld_type)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.c
323
request_msix_queue_irqs_uld(struct adapter *adap, unsigned int uld_type)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.c
355
free_msix_queue_irqs_uld(struct adapter *adap, unsigned int uld_type)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.c
369
static void enable_rx_uld(struct adapter *adap, unsigned int uld_type)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.c
384
static void quiesce_rx_uld(struct adapter *adap, unsigned int uld_type)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.c
400
free_sge_txq_uld(struct adapter *adap, struct sge_uld_txq_info *txq_info)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.c
421
alloc_sge_txq_uld(struct adapter *adap, struct sge_uld_txq_info *txq_info,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.c
445
release_sge_txq_uld(struct adapter *adap, unsigned int uld_type)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.c
461
setup_sge_txq_uld(struct adapter *adap, unsigned int uld_type,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.c
508
static void uld_queue_init(struct adapter *adap, unsigned int uld_type,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.c
522
int t4_uld_mem_alloc(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.c
546
void t4_uld_mem_free(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.c
556
static void cxgb4_shutdown_uld_adapter(struct adapter *adap, enum cxgb4_uld type)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.c
574
void t4_uld_clean_up(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.c
59
struct adapter *adap = q->adap;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.c
591
static void uld_init(struct adapter *adap, struct cxgb4_lld_info *lld)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.c
638
static int uld_attach(struct adapter *adap, unsigned int uld)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.c
664
static bool cxgb4_uld_in_use(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.c
675
int cxgb4_set_ktls_feature(struct adapter *adap, bool enable)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.c
724
static void cxgb4_uld_alloc_resources(struct adapter *adap,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.c
77
struct adapter *adap = q->adap;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.c
774
void cxgb4_uld_enable(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.c
797
struct adapter *adap;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.c
827
struct adapter *adap;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.h
343
struct adapter;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.h
500
void cxgb4_uld_enable(struct adapter *adap);
drivers/net/ethernet/chelsio/cxgb4/l2t.c
138
static int write_l2e(struct adapter *adap, struct l2t_entry *e, int sync)
drivers/net/ethernet/chelsio/cxgb4/l2t.c
173
static void send_pending(struct adapter *adap, struct l2t_entry *e)
drivers/net/ethernet/chelsio/cxgb4/l2t.c
186
void do_l2t_write_rpl(struct adapter *adap, const struct cpl_l2t_write_rpl *rpl)
drivers/net/ethernet/chelsio/cxgb4/l2t.c
224
struct adapter *adap = netdev2adap(dev);
drivers/net/ethernet/chelsio/cxgb4/l2t.c
477
struct adapter *adap = netdev2adap(dev);
drivers/net/ethernet/chelsio/cxgb4/l2t.c
509
void t4_l2t_update(struct adapter *adap, struct neighbour *neigh)
drivers/net/ethernet/chelsio/cxgb4/l2t.c
577
struct l2t_entry *t4_l2t_alloc_switching(struct adapter *adap, u16 vlan,
drivers/net/ethernet/chelsio/cxgb4/l2t.c
729
struct adapter *adap = inode->i_private;
drivers/net/ethernet/chelsio/cxgb4/l2t.h
118
void t4_l2t_update(struct adapter *adap, struct neighbour *neigh);
drivers/net/ethernet/chelsio/cxgb4/l2t.h
119
struct l2t_entry *t4_l2t_alloc_switching(struct adapter *adap, u16 vlan,
drivers/net/ethernet/chelsio/cxgb4/l2t.h
122
void do_l2t_write_rpl(struct adapter *p, const struct cpl_l2t_write_rpl *rpl);
drivers/net/ethernet/chelsio/cxgb4/l2t.h
58
struct adapter;
drivers/net/ethernet/chelsio/cxgb4/sched.c
174
struct adapter *adap = pi->adapter;
drivers/net/ethernet/chelsio/cxgb4/sched.c
188
struct adapter *adap = pi->adapter;
drivers/net/ethernet/chelsio/cxgb4/sched.c
219
struct adapter *adap = pi->adapter;
drivers/net/ethernet/chelsio/cxgb4/sched.c
262
struct adapter *adap = pi->adapter;
drivers/net/ethernet/chelsio/cxgb4/sched.c
290
struct adapter *adap = pi->adapter;
drivers/net/ethernet/chelsio/cxgb4/sched.c
45
struct adapter *adap = pi->adapter;
drivers/net/ethernet/chelsio/cxgb4/sched.c
672
void t4_cleanup_sched(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb4/sched.c
74
struct adapter *adap = pi->adapter;
drivers/net/ethernet/chelsio/cxgb4/sched.h
118
void t4_cleanup_sched(struct adapter *adap);
drivers/net/ethernet/chelsio/cxgb4/sge.c
1011
inline void cxgb4_ring_tx_db(struct adapter *adap, struct sge_txq *q, int n)
drivers/net/ethernet/chelsio/cxgb4/sge.c
1234
cxgb_fcoe_offload(struct sk_buff *skb, struct adapter *adap,
drivers/net/ethernet/chelsio/cxgb4/sge.c
1272
struct adapter *adapter = pi->adapter;
drivers/net/ethernet/chelsio/cxgb4/sge.c
1291
if (adapter->vxlan_port == udp_hdr(skb)->dest)
drivers/net/ethernet/chelsio/cxgb4/sge.c
1293
else if (adapter->geneve_port == udp_hdr(skb)->dest)
drivers/net/ethernet/chelsio/cxgb4/sge.c
1363
static inline void *write_tso_wr(struct adapter *adap, struct sk_buff *skb,
drivers/net/ethernet/chelsio/cxgb4/sge.c
1404
int t4_sge_eth_txq_egress_update(struct adapter *adap, struct sge_eth_txq *eq,
drivers/net/ethernet/chelsio/cxgb4/sge.c
148
static inline unsigned int fl_mtu_bufsize(struct adapter *adapter,
drivers/net/ethernet/chelsio/cxgb4/sge.c
1504
struct adapter *adap;
drivers/net/ethernet/chelsio/cxgb4/sge.c
151
struct sge *s = &adapter->sge;
drivers/net/ethernet/chelsio/cxgb4/sge.c
1511
adap = pi->adapter;
drivers/net/ethernet/chelsio/cxgb4/sge.c
156
#define FL_MTU_SMALL_BUFSIZE(adapter) fl_mtu_bufsize(adapter, FL_MTU_SMALL)
drivers/net/ethernet/chelsio/cxgb4/sge.c
157
#define FL_MTU_LARGE_BUFSIZE(adapter) fl_mtu_bufsize(adapter, FL_MTU_LARGE)
drivers/net/ethernet/chelsio/cxgb4/sge.c
1820
struct adapter *adapter;
drivers/net/ethernet/chelsio/cxgb4/sge.c
1842
adapter = pi->adapter;
drivers/net/ethernet/chelsio/cxgb4/sge.c
1845
txq = &adapter->sge.ethtxq[pi->first_qset + qidx];
drivers/net/ethernet/chelsio/cxgb4/sge.c
1850
reclaim_completed_tx(adapter, &txq->q, -1, true);
drivers/net/ethernet/chelsio/cxgb4/sge.c
1867
dev_err(adapter->pdev_dev,
drivers/net/ethernet/chelsio/cxgb4/sge.c
1879
unlikely(cxgb4_map_skb(adapter->pdev_dev, skb,
drivers/net/ethernet/chelsio/cxgb4/sge.c
1890
chip_ver = CHELSIO_CHIP_VERSION(adapter->params.chip);
drivers/net/ethernet/chelsio/cxgb4/sge.c
1946
if (is_t4(adapter->params.chip))
drivers/net/ethernet/chelsio/cxgb4/sge.c
1981
cntrl = hwcsum(adapter->params.chip, skb) |
drivers/net/ethernet/chelsio/cxgb4/sge.c
2076
cxgb4_ring_tx_db(adapter, &txq->q, ndesc);
drivers/net/ethernet/chelsio/cxgb4/sge.c
2117
void cxgb4_eosw_txq_free_desc(struct adapter *adap,
drivers/net/ethernet/chelsio/cxgb4/sge.c
2159
static inline u8 ethofld_calc_tx_flits(struct adapter *adap,
drivers/net/ethernet/chelsio/cxgb4/sge.c
2187
static void *write_eo_wr(struct adapter *adap, struct sge_eosw_txq *eosw_txq,
drivers/net/ethernet/chelsio/cxgb4/sge.c
2253
struct adapter *adap = netdev2adap(dev);
drivers/net/ethernet/chelsio/cxgb4/sge.c
235
static inline bool fl_starving(const struct adapter *adapter,
drivers/net/ethernet/chelsio/cxgb4/sge.c
238
const struct sge *s = &adapter->sge;
drivers/net/ethernet/chelsio/cxgb4/sge.c
2424
struct adapter *adap = netdev2adap(dev);
drivers/net/ethernet/chelsio/cxgb4/sge.c
2474
struct adapter *adap = netdev2adap(dev);
drivers/net/ethernet/chelsio/cxgb4/sge.c
2527
struct adapter *adap = netdev2adap(dev);
drivers/net/ethernet/chelsio/cxgb4/sge.c
2655
struct adapter *adap = pi->adapter;
drivers/net/ethernet/chelsio/cxgb4/sge.c
2831
int t4_mgmt_tx(struct adapter *adap, struct sk_buff *skb)
drivers/net/ethernet/chelsio/cxgb4/sge.c
3117
static inline int uld_send(struct adapter *adap, struct sk_buff *skb,
drivers/net/ethernet/chelsio/cxgb4/sge.c
313
void free_tx_desc(struct adapter *adap, struct sge_txq *q,
drivers/net/ethernet/chelsio/cxgb4/sge.c
3151
int t4_ofld_send(struct adapter *adap, struct sk_buff *skb)
drivers/net/ethernet/chelsio/cxgb4/sge.c
3252
struct adapter *adap;
drivers/net/ethernet/chelsio/cxgb4/sge.c
3281
static int t4_crypto_send(struct adapter *adap, struct sk_buff *skb)
drivers/net/ethernet/chelsio/cxgb4/sge.c
3385
static noinline int handle_trace_pkt(struct adapter *adap,
drivers/net/ethernet/chelsio/cxgb4/sge.c
3417
static void cxgb4_sgetim_to_hwtstamp(struct adapter *adap,
drivers/net/ethernet/chelsio/cxgb4/sge.c
3433
struct adapter *adapter = rxq->rspq.adap;
drivers/net/ethernet/chelsio/cxgb4/sge.c
3434
struct sge *s = &adapter->sge;
drivers/net/ethernet/chelsio/cxgb4/sge.c
3456
cxgb4_sgetim_to_hwtstamp(adapter, skb_hwtstamps(skb),
drivers/net/ethernet/chelsio/cxgb4/sge.c
3489
static noinline int t4_systim_to_hwstamp(struct adapter *adapter,
drivers/net/ethernet/chelsio/cxgb4/sge.c
3524
static int t4_rx_hststamp(struct adapter *adapter, const __be64 *rsp,
drivers/net/ethernet/chelsio/cxgb4/sge.c
3530
!is_t4(adapter->params.chip))) {
drivers/net/ethernet/chelsio/cxgb4/sge.c
3531
ret = t4_systim_to_hwstamp(adapter, skb);
drivers/net/ethernet/chelsio/cxgb4/sge.c
3549
static int t4_tx_hststamp(struct adapter *adapter, struct sk_buff *skb,
drivers/net/ethernet/chelsio/cxgb4/sge.c
3554
if (!is_t4(adapter->params.chip) && adapter->ptp_tx_skb) {
drivers/net/ethernet/chelsio/cxgb4/sge.c
3555
cxgb4_ptp_read_hwstamp(adapter, pi);
drivers/net/ethernet/chelsio/cxgb4/sge.c
3583
struct adapter *adapter = rspq->adap;
drivers/net/ethernet/chelsio/cxgb4/sge.c
3584
struct sge *s = &adapter->sge;
drivers/net/ethernet/chelsio/cxgb4/sge.c
359
static inline int reclaim_completed_tx(struct adapter *adap, struct sge_txq *q,
drivers/net/ethernet/chelsio/cxgb4/sge.c
3619
if (CHELSIO_CHIP_VERSION(adapter->params.chip) <= CHELSIO_T5) {
drivers/net/ethernet/chelsio/cxgb4/sge.c
3626
t4_sge_eth_txq_egress_update(adapter, txq, -1);
drivers/net/ethernet/chelsio/cxgb4/sge.c
3631
struct adapter *adap = pi->adapter;
drivers/net/ethernet/chelsio/cxgb4/sge.c
3669
struct adapter *adapter = q->adap;
drivers/net/ethernet/chelsio/cxgb4/sge.c
3727
ret = t4_rx_hststamp(adapter, rsp, rxq, skb);
drivers/net/ethernet/chelsio/cxgb4/sge.c
3738
if (!t4_tx_hststamp(adapter, skb, q->netdev))
drivers/net/ethernet/chelsio/cxgb4/sge.c
3882
struct adapter *adapter = q->adap;
drivers/net/ethernet/chelsio/cxgb4/sge.c
3883
struct sge *s = &adapter->sge;
drivers/net/ethernet/chelsio/cxgb4/sge.c
391
void cxgb4_reclaim_completed_tx(struct adapter *adap, struct sge_txq *q,
drivers/net/ethernet/chelsio/cxgb4/sge.c
3913
bufsz = get_buf_size(adapter, rsd);
drivers/net/ethernet/chelsio/cxgb4/sge.c
398
static inline int get_buf_size(struct adapter *adapter,
drivers/net/ethernet/chelsio/cxgb4/sge.c
401
struct sge *s = &adapter->sge;
drivers/net/ethernet/chelsio/cxgb4/sge.c
4146
static unsigned int process_intrq(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb4/sge.c
415
buf_size = FL_MTU_SMALL_BUFSIZE(adapter);
drivers/net/ethernet/chelsio/cxgb4/sge.c
419
buf_size = FL_MTU_LARGE_BUFSIZE(adapter);
drivers/net/ethernet/chelsio/cxgb4/sge.c
4193
struct adapter *adap = cookie;
drivers/net/ethernet/chelsio/cxgb4/sge.c
4208
struct adapter *adap = cookie;
drivers/net/ethernet/chelsio/cxgb4/sge.c
4224
irq_handler_t t4_intr_handler(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb4/sge.c
4237
struct adapter *adap = timer_container_of(adap, t, sge.rx_timer);
drivers/net/ethernet/chelsio/cxgb4/sge.c
4272
struct adapter *adap = timer_container_of(adap, t, sge.tx_timer);
drivers/net/ethernet/chelsio/cxgb4/sge.c
4341
static void __iomem *bar2_address(struct adapter *adapter,
drivers/net/ethernet/chelsio/cxgb4/sge.c
4349
ret = t4_bar2_sge_qregs(adapter, qid, qtype, 0,
drivers/net/ethernet/chelsio/cxgb4/sge.c
4354
return adapter->bar2 + bar2_qoffset;
drivers/net/ethernet/chelsio/cxgb4/sge.c
4360
int t4_sge_alloc_rxq(struct adapter *adap, struct sge_rspq *iq, bool fwevtq,
drivers/net/ethernet/chelsio/cxgb4/sge.c
438
static void free_rx_bufs(struct adapter *adap, struct sge_fl *q, int n)
drivers/net/ethernet/chelsio/cxgb4/sge.c
4553
static void init_txq(struct adapter *adap, struct sge_txq *q, unsigned int id)
drivers/net/ethernet/chelsio/cxgb4/sge.c
4577
int t4_sge_alloc_eth_txq(struct adapter *adap, struct sge_eth_txq *txq,
drivers/net/ethernet/chelsio/cxgb4/sge.c
466
static void unmap_rx_buf(struct adapter *adap, struct sge_fl *q)
drivers/net/ethernet/chelsio/cxgb4/sge.c
4670
int t4_sge_alloc_ctrl_txq(struct adapter *adap, struct sge_ctrl_txq *txq,
drivers/net/ethernet/chelsio/cxgb4/sge.c
4728
int t4_sge_mod_ctrl_txq(struct adapter *adap, unsigned int eqid,
drivers/net/ethernet/chelsio/cxgb4/sge.c
4740
static int t4_sge_alloc_ofld_txq(struct adapter *adap, struct sge_txq *q,
drivers/net/ethernet/chelsio/cxgb4/sge.c
479
static inline void ring_fl_db(struct adapter *adap, struct sge_fl *q)
drivers/net/ethernet/chelsio/cxgb4/sge.c
4796
int t4_sge_alloc_uld_txq(struct adapter *adap, struct sge_uld_txq *txq,
drivers/net/ethernet/chelsio/cxgb4/sge.c
4819
int t4_sge_alloc_ethofld_txq(struct adapter *adap, struct sge_eohw_txq *txq,
drivers/net/ethernet/chelsio/cxgb4/sge.c
4839
void free_txq(struct adapter *adap, struct sge_txq *q)
drivers/net/ethernet/chelsio/cxgb4/sge.c
4851
void free_rspq_fl(struct adapter *adap, struct sge_rspq *rq,
drivers/net/ethernet/chelsio/cxgb4/sge.c
4878
void t4_sge_free_ethofld_txq(struct adapter *adap, struct sge_eohw_txq *txq)
drivers/net/ethernet/chelsio/cxgb4/sge.c
4895
void t4_free_sge_resources(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb4/sge.c
4979
void t4_sge_start(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb4/sge.c
4994
void t4_sge_stop(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb4/sge.c
5048
static int t4_sge_init_soft(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb4/sge.c
5145
int t4_sge_init(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb4/sge.c
535
static unsigned int refill_fl(struct adapter *adap, struct sge_fl *q, int n,
drivers/net/ethernet/chelsio/cxgb4/sge.c
632
static inline void __refill_fl(struct adapter *adap, struct sge_fl *fl)
drivers/net/ethernet/chelsio/cxgb4/smt.c
120
void do_smt_write_rpl(struct adapter *adap, const struct cpl_smt_write_rpl *rpl)
drivers/net/ethernet/chelsio/cxgb4/smt.c
138
static int write_smt_entry(struct adapter *adapter, struct smt_entry *e)
drivers/net/ethernet/chelsio/cxgb4/smt.c
141
struct smt_data *s = adapter->smt;
drivers/net/ethernet/chelsio/cxgb4/smt.c
147
if (CHELSIO_CHIP_VERSION(adapter->params.chip) <= CHELSIO_T5) {
drivers/net/ethernet/chelsio/cxgb4/smt.c
201
TID_QID_V(adapter->sge.fw_evtq.abs_id)));
drivers/net/ethernet/chelsio/cxgb4/smt.c
205
t4_mgmt_tx(adapter, skb);
drivers/net/ethernet/chelsio/cxgb4/smt.c
209
static struct smt_entry *t4_smt_alloc_switching(struct adapter *adap, u16 pfvf,
drivers/net/ethernet/chelsio/cxgb4/smt.c
244
struct adapter *adap = netdev2adap(dev);
drivers/net/ethernet/chelsio/cxgb4/smt.h
42
struct adapter;
drivers/net/ethernet/chelsio/cxgb4/smt.h
75
void do_smt_write_rpl(struct adapter *p, const struct cpl_smt_write_rpl *rpl);
drivers/net/ethernet/chelsio/cxgb4/srq.c
54
void do_srq_table_rpl(struct adapter *adap,
drivers/net/ethernet/chelsio/cxgb4/srq.h
38
struct adapter;
drivers/net/ethernet/chelsio/cxgb4/srq.h
61
void do_srq_table_rpl(struct adapter *adap,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
10045
void t4_idma_monitor_init(struct adapter *adapter,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
10060
idma->idma_1s_thresh = core_ticks_per_usec(adapter) * 1000000; /* 1s */
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
10072
void t4_idma_monitor(struct adapter *adapter,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
10085
t4_write_reg(adapter, SGE_DEBUG_INDEX_A, 13);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
10086
idma_same_state_cnt[0] = t4_read_reg(adapter, SGE_DEBUG_DATA_HIGH_A);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
10087
idma_same_state_cnt[1] = t4_read_reg(adapter, SGE_DEBUG_DATA_LOW_A);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
10100
dev_warn(adapter->pdev_dev, "SGE idma%d, queue %u, "
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
10138
t4_write_reg(adapter, SGE_DEBUG_INDEX_A, 0);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
10139
debug0 = t4_read_reg(adapter, SGE_DEBUG_DATA_LOW_A);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
10142
t4_write_reg(adapter, SGE_DEBUG_INDEX_A, 11);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
10143
debug11 = t4_read_reg(adapter, SGE_DEBUG_DATA_LOW_A);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
10146
dev_warn(adapter->pdev_dev, "SGE idma%u, queue %u, potentially stuck in "
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
10151
t4_sge_decode_idma_state(adapter, idma->idma_state[i]);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
10163
int t4_load_cfg(struct adapter *adap, const u8 *cfg_data, unsigned int size)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
10222
int t4_set_vf_mac_acl(struct adapter *adapter, unsigned int vf,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
10231
FW_ACL_MAC_CMD_PFN_V(adapter->pf) |
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
10253
return t4_wr_mbox(adapter, adapter->mbox, &cmd, sizeof(cmd), &cmd);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
10263
void t4_read_pace_tbl(struct adapter *adap, unsigned int pace_vals[NTX_SCHED])
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
10284
void t4_get_tx_sched(struct adapter *adap, unsigned int sched,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
10322
int t4_sge_ctxt_rd(struct adapter *adap, unsigned int mbox, unsigned int cid,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
10362
int t4_sge_ctxt_rd_bd(struct adapter *adap, unsigned int cid,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
10375
int t4_sched_params(struct adapter *adapter, u8 type, u8 level, u8 mode,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
10402
return t4_wr_mbox_meat(adapter, adapter->mbox, &cmd, sizeof(cmd),
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
10418
int t4_i2c_rd(struct adapter *adap, unsigned int mbox, int port,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
10470
int t4_set_vlan_acl(struct adapter *adap, unsigned int mbox, unsigned int vf,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
10577
int t4_load_boot(struct adapter *adap, u8 *boot_data,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
10694
static int t4_flash_bootcfg_addr(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
10700
if (adapter->params.sf_size <
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
10707
int t4_load_bootcfg(struct adapter *adap, const u8 *cfg_data, unsigned int size)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
113
void t4_read_indirect(struct adapter *adap, unsigned int addr_reg,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
136
void t4_write_indirect(struct adapter *adap, unsigned int addr_reg,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
152
void t4_hw_pci_read_cfg4(struct adapter *adap, int reg, u32 *val)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
183
static void t4_report_fw_error(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
208
static void get_mbox_rpl(struct adapter *adap, __be64 *rpl, int nflit,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
218
static void fw_asrt(struct adapter *adap, u32 mbox_addr)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
237
static void t4_record_mbox(struct adapter *adapter,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
241
struct mbox_cmd_log *log = adapter->mbox_log;
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
2730
int t4_seeprom_wp(struct adapter *adapter, bool enable)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
2733
int ret = pci_write_vpd(adapter->pdev, EEPROM_STAT_ADDR, 4, &v);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
2744
int t4_get_raw_vpd_params(struct adapter *adapter, struct vpd_params *p)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
2757
ret = pci_read_vpd(adapter->pdev, VPD_BASE, 1, &base_val);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
2763
ret = pci_read_vpd(adapter->pdev, addr, VPD_LEN, vpd);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
2774
dev_err(adapter->pdev_dev, "VPD checksum incorrect or missing\n");
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
2808
dev_err(adapter->pdev_dev, "error reading VPD\n");
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
282
int t4_wr_mbox_meat_timeout(struct adapter *adap, int mbox, const void *cmd,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
2824
int t4_get_vpd_params(struct adapter *adapter, struct vpd_params *p)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
2831
ret = t4_get_raw_vpd_params(adapter, p);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
2840
ret = t4_query_params(adapter, adapter->mbox, adapter->pf, 0,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
2857
int t4_get_pfres(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
2859
struct pf_resources *pfres = &adapter->params.pfres;
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
2871
FW_PFVF_CMD_PFN_V(adapter->pf) |
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
2874
v = t4_wr_mbox(adapter, adapter->mbox, &cmd, sizeof(cmd), &rpl);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
2927
static int sf1_read(struct adapter *adapter, unsigned int byte_cnt, int cont,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
2934
if (t4_read_reg(adapter, SF_OP_A) & SF_BUSY_F)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
2936
t4_write_reg(adapter, SF_OP_A, SF_LOCK_V(lock) |
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
2938
ret = t4_wait_op_done(adapter, SF_OP_A, SF_BUSY_F, 0, SF_ATTEMPTS, 5);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
2940
*valp = t4_read_reg(adapter, SF_DATA_A);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
2956
static int sf1_write(struct adapter *adapter, unsigned int byte_cnt, int cont,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
2961
if (t4_read_reg(adapter, SF_OP_A) & SF_BUSY_F)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
2963
t4_write_reg(adapter, SF_DATA_A, val);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
2964
t4_write_reg(adapter, SF_OP_A, SF_LOCK_V(lock) |
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
2966
return t4_wait_op_done(adapter, SF_OP_A, SF_BUSY_F, 0, SF_ATTEMPTS, 5);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
2977
static int flash_wait_op(struct adapter *adapter, int attempts, int delay)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
2983
if ((ret = sf1_write(adapter, 1, 1, 1, SF_RD_STATUS)) != 0 ||
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
2984
(ret = sf1_read(adapter, 1, 0, 1, &status)) != 0)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3008
int t4_read_flash(struct adapter *adapter, unsigned int addr,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3013
if (addr + nwords * sizeof(u32) > adapter->params.sf_size || (addr & 3))
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3018
if ((ret = sf1_write(adapter, 4, 1, 0, addr)) != 0 ||
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3019
(ret = sf1_read(adapter, 1, 1, 0, data)) != 0)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3023
ret = sf1_read(adapter, 4, nwords > 1, nwords == 1, data);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3025
t4_write_reg(adapter, SF_OP_A, 0); /* unlock SF */
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3047
static int t4_write_flash(struct adapter *adapter, unsigned int addr,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3054
if (addr >= adapter->params.sf_size || offset + n > SF_PAGE_SIZE)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3059
if ((ret = sf1_write(adapter, 1, 0, 1, SF_WR_ENABLE)) != 0 ||
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3060
(ret = sf1_write(adapter, 4, 1, 1, val)) != 0)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3072
ret = sf1_write(adapter, c, c != left, 1, val);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3076
ret = flash_wait_op(adapter, 8, 1);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3080
t4_write_reg(adapter, SF_OP_A, 0); /* unlock SF */
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3083
ret = t4_read_flash(adapter, addr & ~0xff, ARRAY_SIZE(buf), buf,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3089
dev_err(adapter->pdev_dev,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3097
t4_write_reg(adapter, SF_OP_A, 0); /* unlock SF */
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3108
int t4_get_fw_version(struct adapter *adapter, u32 *vers)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3110
return t4_read_flash(adapter, FLASH_FW_START +
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3122
int t4_get_bs_version(struct adapter *adapter, u32 *vers)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3124
return t4_read_flash(adapter, FLASH_FWBOOTSTRAP_START +
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3136
int t4_get_tp_version(struct adapter *adapter, u32 *vers)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3138
return t4_read_flash(adapter, FLASH_FW_START +
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3153
int t4_get_exprom_version(struct adapter *adap, u32 *vers)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3201
int t4_get_vpd_version(struct adapter *adapter, u32 *vers)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3208
ret = t4_query_params(adapter, adapter->mbox, adapter->pf, 0,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3238
int t4_get_scfg_version(struct adapter *adapter, u32 *vers)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3245
ret = t4_query_params(adapter, adapter->mbox, adapter->pf, 0,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3261
int t4_get_version_info(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3272
FIRST_RET(t4_get_fw_version(adapter, &adapter->params.fw_vers));
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3273
FIRST_RET(t4_get_bs_version(adapter, &adapter->params.bs_vers));
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3274
FIRST_RET(t4_get_tp_version(adapter, &adapter->params.tp_vers));
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3275
FIRST_RET(t4_get_exprom_version(adapter, &adapter->params.er_vers));
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3276
FIRST_RET(t4_get_scfg_version(adapter, &adapter->params.scfg_vers));
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3277
FIRST_RET(t4_get_vpd_version(adapter, &adapter->params.vpd_vers));
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3291
void t4_dump_version_info(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3294
dev_info(adapter->pdev_dev, "Chelsio %s rev %d\n",
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3295
adapter->params.vpd.id,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3296
CHELSIO_CHIP_RELEASE(adapter->params.chip));
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3297
dev_info(adapter->pdev_dev, "S/N: %s, P/N: %s\n",
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3298
adapter->params.vpd.sn, adapter->params.vpd.pn);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3301
if (!adapter->params.fw_vers)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3302
dev_warn(adapter->pdev_dev, "No firmware loaded\n");
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3304
dev_info(adapter->pdev_dev, "Firmware version: %u.%u.%u.%u\n",
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3305
FW_HDR_FW_VER_MAJOR_G(adapter->params.fw_vers),
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3306
FW_HDR_FW_VER_MINOR_G(adapter->params.fw_vers),
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3307
FW_HDR_FW_VER_MICRO_G(adapter->params.fw_vers),
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3308
FW_HDR_FW_VER_BUILD_G(adapter->params.fw_vers));
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3313
if (!adapter->params.bs_vers)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3314
dev_info(adapter->pdev_dev, "No bootstrap loaded\n");
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3316
dev_info(adapter->pdev_dev, "Bootstrap version: %u.%u.%u.%u\n",
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3317
FW_HDR_FW_VER_MAJOR_G(adapter->params.bs_vers),
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3318
FW_HDR_FW_VER_MINOR_G(adapter->params.bs_vers),
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3319
FW_HDR_FW_VER_MICRO_G(adapter->params.bs_vers),
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3320
FW_HDR_FW_VER_BUILD_G(adapter->params.bs_vers));
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3323
if (!adapter->params.tp_vers)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3324
dev_warn(adapter->pdev_dev, "No TP Microcode loaded\n");
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3326
dev_info(adapter->pdev_dev,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3328
FW_HDR_FW_VER_MAJOR_G(adapter->params.tp_vers),
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3329
FW_HDR_FW_VER_MINOR_G(adapter->params.tp_vers),
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3330
FW_HDR_FW_VER_MICRO_G(adapter->params.tp_vers),
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3331
FW_HDR_FW_VER_BUILD_G(adapter->params.tp_vers));
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3334
if (!adapter->params.er_vers)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3335
dev_info(adapter->pdev_dev, "No Expansion ROM loaded\n");
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3337
dev_info(adapter->pdev_dev,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3339
FW_HDR_FW_VER_MAJOR_G(adapter->params.er_vers),
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3340
FW_HDR_FW_VER_MINOR_G(adapter->params.er_vers),
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3341
FW_HDR_FW_VER_MICRO_G(adapter->params.er_vers),
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3342
FW_HDR_FW_VER_BUILD_G(adapter->params.er_vers));
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3345
dev_info(adapter->pdev_dev, "Serial Configuration version: %#x\n",
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3346
adapter->params.scfg_vers);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3349
dev_info(adapter->pdev_dev, "VPD version: %#x\n",
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3350
adapter->params.vpd_vers);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3361
int t4_check_fw_version(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3435
static int should_install_fs_fw(struct adapter *adap, int card_fw_usable,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3463
int t4_prep_fw(struct adapter *adap, struct fw_info *fw_info,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3556
static int t4_flash_erase_sectors(struct adapter *adapter, int start, int end)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3560
if (end >= adapter->params.sf_nsec)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3564
if ((ret = sf1_write(adapter, 1, 0, 1, SF_WR_ENABLE)) != 0 ||
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3565
(ret = sf1_write(adapter, 4, 0, 1,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3567
(ret = flash_wait_op(adapter, 14, 500)) != 0) {
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3568
dev_err(adapter->pdev_dev,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3575
t4_write_reg(adapter, SF_OP_A, 0); /* unlock SF */
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3586
unsigned int t4_flash_cfg_addr(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3588
if (adapter->params.sf_size == 0x100000)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3599
static bool t4_fw_matches_chip(const struct adapter *adap,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3624
int t4_load_fw(struct adapter *adap, const u8 *fw_data, unsigned int size)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3713
int t4_phy_fw_ver(struct adapter *adap, int *phy_fw_ver)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3754
int t4_load_phy_fw(struct adapter *adap, int win,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3847
int t4_fwcache(struct adapter *adap, enum fw_params_param_dev_fwcache op)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3866
void t4_cim_read_pif_la(struct adapter *adap, u32 *pif_req, u32 *pif_rsp,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3900
void t4_cim_read_ma_la(struct adapter *adap, u32 *ma_req, u32 *ma_rsp)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3921
void t4_ulprx_read_la(struct adapter *adap, u32 *la_buf)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4107
fw_port_cap32_t t4_link_acaps(struct adapter *adapter, unsigned int port,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4159
dev_err(adapter->pdev_dev, "Requested Port Capabilities %#x exceed Physical Port Capabilities %#x\n",
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4184
int t4_link_l1cfg_core(struct adapter *adapter, unsigned int mbox,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4188
unsigned int fw_caps = adapter->params.fw_caps_support;
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4201
rcap = t4_link_acaps(adapter, port, lc);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4216
ret = t4_wr_mbox_meat_timeout(adapter, mbox, &cmd, sizeof(cmd), NULL,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4226
dev_err(adapter->pdev_dev,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4242
int t4_restart_aneg(struct adapter *adap, unsigned int mbox, unsigned int port)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4263
typedef void (*int_handler_t)(struct adapter *adap);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4286
static int t4_handle_intr_status(struct adapter *adapter, unsigned int reg,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4291
unsigned int status = t4_read_reg(adapter, reg);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4298
dev_alert(adapter->pdev_dev, "%s (0x%x)\n", acts->msg,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4301
dev_warn(adapter->pdev_dev, "%s (0x%x)\n", acts->msg,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4304
acts->int_handler(adapter);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4309
t4_write_reg(adapter, reg, status);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4316
static void pcie_intr_handler(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4415
if (is_t4(adapter->params.chip))
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4416
fat = t4_handle_intr_status(adapter,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4419
t4_handle_intr_status(adapter,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
442
int t4_wr_mbox_meat(struct adapter *adap, int mbox, const void *cmd, int size,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4422
t4_handle_intr_status(adapter, PCIE_INT_CAUSE_A,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4425
fat = t4_handle_intr_status(adapter, PCIE_INT_CAUSE_A,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4429
t4_fatal_err(adapter);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4435
static void tp_intr_handler(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4443
if (t4_handle_intr_status(adapter, TP_INT_CAUSE_A, tp_intr_info))
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4444
t4_fatal_err(adapter);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4450
static void sge_intr_handler(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4487
perr = t4_read_reg(adapter, SGE_INT_CAUSE1_A);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
449
static int t4_edc_err_read(struct adapter *adap, int idx)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4490
dev_alert(adapter->pdev_dev, "SGE Cause1 Parity Error %#x\n",
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4494
perr = t4_read_reg(adapter, SGE_INT_CAUSE2_A);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4497
dev_alert(adapter->pdev_dev, "SGE Cause2 Parity Error %#x\n",
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4501
if (CHELSIO_CHIP_VERSION(adapter->params.chip) >= CHELSIO_T5) {
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4502
perr = t4_read_reg(adapter, SGE_INT_CAUSE5_A);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4507
dev_alert(adapter->pdev_dev,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4512
v |= t4_handle_intr_status(adapter, SGE_INT_CAUSE3_A, sge_intr_info);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4513
if (CHELSIO_CHIP_VERSION(adapter->params.chip) <= CHELSIO_T5)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4514
v |= t4_handle_intr_status(adapter, SGE_INT_CAUSE3_A,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4517
err = t4_read_reg(adapter, SGE_ERROR_STATS_A);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4519
dev_err(adapter->pdev_dev, "SGE error for queue %u\n",
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4522
dev_err(adapter->pdev_dev,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4524
t4_write_reg(adapter, SGE_ERROR_STATS_A, ERROR_QID_VALID_F |
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4529
t4_fatal_err(adapter);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4540
static void cim_intr_handler(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4588
fw_err = t4_read_reg(adapter, PCIE_FW_A);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4590
t4_report_fw_error(adapter);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4599
val = t4_read_reg(adapter, CIM_HOST_INT_CAUSE_A);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4603
t4_write_reg(adapter, CIM_HOST_INT_CAUSE_A,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4606
fat = t4_handle_intr_status(adapter, CIM_HOST_INT_CAUSE_A,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4608
t4_handle_intr_status(adapter, CIM_HOST_UPACC_INT_CAUSE_A,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4611
t4_fatal_err(adapter);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4617
static void ulprx_intr_handler(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4625
if (t4_handle_intr_status(adapter, ULP_RX_INT_CAUSE_A, ulprx_intr_info))
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4626
t4_fatal_err(adapter);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4632
static void ulptx_intr_handler(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4647
if (t4_handle_intr_status(adapter, ULP_TX_INT_CAUSE_A, ulptx_intr_info))
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4648
t4_fatal_err(adapter);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4654
static void pmtx_intr_handler(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4670
if (t4_handle_intr_status(adapter, PM_TX_INT_CAUSE_A, pmtx_intr_info))
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4671
t4_fatal_err(adapter);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4677
static void pmrx_intr_handler(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4690
if (t4_handle_intr_status(adapter, PM_RX_INT_CAUSE_A, pmrx_intr_info))
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4691
t4_fatal_err(adapter);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4697
static void cplsw_intr_handler(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4709
if (t4_handle_intr_status(adapter, CPL_INTR_CAUSE_A, cplsw_intr_info))
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4710
t4_fatal_err(adapter);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4716
static void le_intr_handler(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4748
static void mps_intr_handler(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4806
fat = t4_handle_intr_status(adapter, MPS_RX_PERR_INT_CAUSE_A,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4808
t4_handle_intr_status(adapter, MPS_TX_INT_CAUSE_A,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4809
is_t6(adapter->params.chip)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4812
t4_handle_intr_status(adapter, MPS_TRC_INT_CAUSE_A,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4814
t4_handle_intr_status(adapter, MPS_STAT_PERR_INT_CAUSE_SRAM_A,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4816
t4_handle_intr_status(adapter, MPS_STAT_PERR_INT_CAUSE_TX_FIFO_A,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4818
t4_handle_intr_status(adapter, MPS_STAT_PERR_INT_CAUSE_RX_FIFO_A,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4820
t4_handle_intr_status(adapter, MPS_CLS_INT_CAUSE_A,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4823
t4_write_reg(adapter, MPS_INT_CAUSE_A, 0);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4824
t4_read_reg(adapter, MPS_INT_CAUSE_A); /* flush */
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4826
t4_fatal_err(adapter);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4835
static void mem_intr_handler(struct adapter *adapter, int idx)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4845
if (is_t4(adapter->params.chip)) {
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4857
v = t4_read_reg(adapter, addr) & MEM_INT_MASK;
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4859
dev_alert(adapter->pdev_dev, "%s FIFO parity error\n",
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4862
u32 cnt = ECC_CECNT_G(t4_read_reg(adapter, cnt_addr));
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4864
t4_edc_err_read(adapter, idx);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4866
t4_write_reg(adapter, cnt_addr, ECC_CECNT_V(ECC_CECNT_M));
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4868
dev_warn(adapter->pdev_dev,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4873
dev_alert(adapter->pdev_dev,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4876
t4_write_reg(adapter, addr, v);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4878
t4_fatal_err(adapter);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4884
static void ma_intr_handler(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4912
static void smb_intr_handler(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4928
static void ncsi_intr_handler(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4945
static void xgmac_intr_handler(struct adapter *adap, int port)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
497
int t4_memory_rw_init(struct adapter *adap, int win, int mtype, u32 *mem_off,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4973
static void pl_intr_handler(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4998
int t4_slow_intr_handler(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5004
u32 raw_cause = t4_read_reg(adapter, PL_INT_CAUSE_A);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5005
u32 enable = t4_read_reg(adapter, PL_INT_ENABLE_A);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5011
cim_intr_handler(adapter);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5013
mps_intr_handler(adapter);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5015
ncsi_intr_handler(adapter);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5017
pl_intr_handler(adapter);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5019
smb_intr_handler(adapter);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5021
xgmac_intr_handler(adapter, 0);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5023
xgmac_intr_handler(adapter, 1);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5025
xgmac_intr_handler(adapter, 2);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5027
xgmac_intr_handler(adapter, 3);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5029
pcie_intr_handler(adapter);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5031
mem_intr_handler(adapter, MEM_MC);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5032
if (is_t5(adapter->params.chip) && (cause & MC1_F))
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5033
mem_intr_handler(adapter, MEM_MC1);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5035
mem_intr_handler(adapter, MEM_EDC0);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5037
mem_intr_handler(adapter, MEM_EDC1);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5039
le_intr_handler(adapter);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5041
tp_intr_handler(adapter);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5043
ma_intr_handler(adapter);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5045
pmtx_intr_handler(adapter);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5047
pmrx_intr_handler(adapter);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5049
ulprx_intr_handler(adapter);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5051
cplsw_intr_handler(adapter);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5053
sge_intr_handler(adapter);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5055
ulptx_intr_handler(adapter);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5058
t4_write_reg(adapter, PL_INT_CAUSE_A, raw_cause & GLBL_INTR_MASK);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5059
(void)t4_read_reg(adapter, PL_INT_CAUSE_A); /* flush */
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5076
void t4_intr_enable(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5079
u32 whoami = t4_read_reg(adapter, PL_WHOAMI_A);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5080
u32 pf = CHELSIO_CHIP_VERSION(adapter->params.chip) <= CHELSIO_T5 ?
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5083
if (CHELSIO_CHIP_VERSION(adapter->params.chip) <= CHELSIO_T5)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5085
t4_write_reg(adapter, SGE_INT_ENABLE3_A, ERR_CPL_EXCEED_IQE_SIZE_F |
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5092
t4_write_reg(adapter, MYPF_REG(PL_PF_INT_ENABLE_A), PF_INTR_MASK);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5093
t4_set_reg_field(adapter, PL_INT_MAP0_A, 0, 1 << pf);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5104
void t4_intr_disable(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5108
if (pci_channel_offline(adapter->pdev))
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5111
whoami = t4_read_reg(adapter, PL_WHOAMI_A);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5112
pf = CHELSIO_CHIP_VERSION(adapter->params.chip) <= CHELSIO_T5 ?
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5115
t4_write_reg(adapter, MYPF_REG(PL_PF_INT_ENABLE_A), 0);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5116
t4_set_reg_field(adapter, PL_INT_MAP0_A, 1 << pf, 0);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5119
unsigned int t4_chip_rss_size(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5144
int t4_config_rss_range(struct adapter *adapter, int mbox, unsigned int viid,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5186
ret = t4_wr_mbox(adapter, mbox, &cmd, sizeof(cmd), NULL);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5202
int t4_config_glbl_rss(struct adapter *adapter, int mbox, unsigned int mode,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5220
return t4_wr_mbox(adapter, mbox, &c, sizeof(c), NULL);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5233
int t4_config_vi_rss(struct adapter *adapter, int mbox, unsigned int viid,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5245
return t4_wr_mbox(adapter, mbox, &c, sizeof(c), NULL);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5249
static int rd_rss_row(struct adapter *adap, int row, u32 *val)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5263
int t4_read_rss(struct adapter *adapter, u16 *map)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5268
nentries = t4_chip_rss_size(adapter);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5270
ret = rd_rss_row(adapter, i, &val);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5279
static unsigned int t4_use_ldst(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5296
static int t4_tp_fw_ldst_rw(struct adapter *adap, int cmd, u32 *vals,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5340
static void t4_tp_indirect_rw(struct adapter *adap, u32 reg_addr, u32 reg_data,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5387
void t4_tp_pio_read(struct adapter *adap, u32 *buff, u32 nregs,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5404
static void t4_tp_pio_write(struct adapter *adap, u32 *buff, u32 nregs,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5421
void t4_tp_tm_pio_read(struct adapter *adap, u32 *buff, u32 nregs,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5438
void t4_tp_mib_read(struct adapter *adap, u32 *buff, u32 nregs, u32 start_index,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5453
void t4_read_rss_key(struct adapter *adap, u32 *key, bool sleep_ok)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5469
void t4_write_rss_key(struct adapter *adap, const u32 *key, int idx,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5506
void t4_read_rss_pf_config(struct adapter *adapter, unsigned int index,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5509
t4_tp_pio_read(adapter, valp, 1, TP_RSS_PF0_CONFIG_A + index, sleep_ok);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
551
void t4_memory_update_win(struct adapter *adap, int win, u32 addr)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5523
void t4_read_rss_vf_config(struct adapter *adapter, unsigned int index,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5528
if (CHELSIO_CHIP_VERSION(adapter->params.chip) <= CHELSIO_T5) {
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5538
vrt = t4_read_reg(adapter, TP_RSS_CONFIG_VRT_A);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5541
t4_write_reg(adapter, TP_RSS_CONFIG_VRT_A, vrt);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5545
t4_tp_pio_read(adapter, vfl, 1, TP_RSS_VFL_CONFIG_A, sleep_ok);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5546
t4_tp_pio_read(adapter, vfh, 1, TP_RSS_VFH_CONFIG_A, sleep_ok);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5556
u32 t4_read_rss_pf_map(struct adapter *adapter, bool sleep_ok)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5560
t4_tp_pio_read(adapter, &pfmap, 1, TP_RSS_PF_MAP_A, sleep_ok);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5571
u32 t4_read_rss_pf_mask(struct adapter *adapter, bool sleep_ok)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5575
t4_tp_pio_read(adapter, &pfmask, 1, TP_RSS_PF_MSK_A, sleep_ok);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5589
void t4_tp_get_tcp_stats(struct adapter *adap, struct tp_tcp_stats *v4,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5627
void t4_tp_get_err_stats(struct adapter *adap, struct tp_err_stats *st,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5660
void t4_tp_get_cpl_stats(struct adapter *adap, struct tp_cpl_stats *st,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5678
void t4_tp_get_rdma_stats(struct adapter *adap, struct tp_rdma_stats *st,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5694
void t4_get_fcoe_stats(struct adapter *adap, unsigned int idx,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
57
static int t4_wait_op_done_val(struct adapter *adapter, int reg, u32 mask,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5719
void t4_get_usm_stats(struct adapter *adap, struct tp_usm_stats *st,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
573
void t4_memory_rw_residual(struct adapter *adap, u32 off, u32 addr, u8 *buf,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5738
void t4_read_mtu_tbl(struct adapter *adap, u16 *mtus, u8 *mtu_log)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5761
void t4_read_cong_tbl(struct adapter *adap, u16 incr[NMTUS][NCCTRL_WIN])
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5783
void t4_tp_wr_bits_indirect(struct adapter *adap, unsigned int addr,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5850
void t4_load_mtus(struct adapter *adap, const unsigned short *mtus,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5891
static u64 chan_rate(struct adapter *adap, unsigned int bytes256)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5907
void t4_get_chan_txrate(struct adapter *adap, u64 *nic_rate, u64 *ofld_rate)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5939
int t4_set_trace_filter(struct adapter *adap, const struct trace_params *tp,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
6005
void t4_get_trace_filter(struct adapter *adap, struct trace_params *tp, int idx,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
6047
void t4_pmtx_get_stats(struct adapter *adap, u32 cnt[], u64 cycles[])
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
6074
void t4_pmrx_get_stats(struct adapter *adap, u32 cnt[], u64 cycles[])
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
61
u32 val = t4_read_reg(adapter, reg);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
6102
static inline unsigned int compute_mps_bg_map(struct adapter *adapter,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
6107
chip_version = CHELSIO_CHIP_VERSION(adapter->params.chip);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
6108
nports = 1 << NUMPORTS_G(t4_read_reg(adapter, MPS_CMN_CTL_A));
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
6127
dev_err(adapter->pdev_dev, "Need MPS Buffer Group Map for Chip %0x, Nports %d\n",
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
614
int t4_memory_rw(struct adapter *adap, int win, int mtype, u32 addr,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
6142
unsigned int t4_get_mps_bg_map(struct adapter *adapter, int pidx)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
6147
nports = 1 << NUMPORTS_G(t4_read_reg(adapter, MPS_CMN_CTL_A));
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
6149
CH_WARN(adapter, "MPS Port Index %d >= Nports %d\n",
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
6156
mps_bg_map = adapter->params.mps_bg_map;
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
6170
if (adapter->flags & CXGB4_FW_OK) {
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
6176
ret = t4_query_params_ns(adapter, adapter->mbox, adapter->pf,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
6195
mps_bg_map[pidx] = compute_mps_bg_map(adapter, pidx);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
6204
static unsigned int t4_get_tp_e2c_map(struct adapter *adapter, int pidx)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
6210
nports = 1 << NUMPORTS_G(t4_read_reg(adapter, MPS_CMN_CTL_A));
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
6212
CH_WARN(adapter, "TP E2C Channel Port Index %d >= Nports %d\n",
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
6222
ret = t4_query_params_ns(adapter, adapter->mbox, adapter->pf,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
6239
unsigned int t4_get_tp_ch_map(struct adapter *adap, int pidx)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
6322
void t4_get_port_stats_offset(struct adapter *adap, int idx,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
6344
void t4_get_port_stats(struct adapter *adap, int idx, struct port_stats *p)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
6441
void t4_get_lb_stats(struct adapter *adap, int idx, struct lb_port_stats *p)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
6509
int t4_fwaddrspace_write(struct adapter *adap, unsigned int mbox,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
6539
int t4_mdio_rd(struct adapter *adap, unsigned int mbox, unsigned int phy_addr,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
6573
int t4_mdio_wr(struct adapter *adap, unsigned int mbox, unsigned int phy_addr,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
6598
void t4_sge_decode_idma_state(struct adapter *adapter, int state)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
6713
unsigned int chip_version = CHELSIO_CHIP_VERSION(adapter->params.chip);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
6735
dev_err(adapter->pdev_dev,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
6740
if (is_t4(adapter->params.chip)) {
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
6749
CH_WARN(adapter, "idma state %s\n", sge_idma_decode[state]);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
6751
CH_WARN(adapter, "idma state %d unknown\n", state);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
6754
CH_WARN(adapter, "SGE register %#x value %#x\n",
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
6755
sge_regs[i], t4_read_reg(adapter, sge_regs[i]));
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
6767
int t4_sge_ctxt_flush(struct adapter *adap, unsigned int mbox, int ctxt_type)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
6797
int t4_read_sge_dbqtimers(struct adapter *adap, unsigned int ndbqtimers,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
6839
int t4_fw_hello(struct adapter *adap, unsigned int mbox, unsigned int evt_mbox,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
6965
int t4_fw_bye(struct adapter *adap, unsigned int mbox)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
6982
int t4_early_init(struct adapter *adap, unsigned int mbox)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
6999
int t4_fw_reset(struct adapter *adap, unsigned int mbox, int reset)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
7025
static int t4_fw_halt(struct adapter *adap, unsigned int mbox, int force)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
7091
static int t4_fw_restart(struct adapter *adap, unsigned int mbox, int reset)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
7154
int t4_fw_upgrade(struct adapter *adap, unsigned int mbox,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
7218
int t4_fl_pkt_align(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
7272
int t4_fixup_host_params(struct adapter *adap, unsigned int page_size,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
731
u32 t4_read_pcie_cfg4(struct adapter *adap, int reg)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
7420
int t4_fw_initialize(struct adapter *adap, unsigned int mbox)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
7444
int t4_query_params_rw(struct adapter *adap, unsigned int mbox, unsigned int pf,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
7476
int t4_query_params(struct adapter *adap, unsigned int mbox, unsigned int pf,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
7484
int t4_query_params_ns(struct adapter *adap, unsigned int mbox, unsigned int pf,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
75
static inline int t4_wait_op_done(struct adapter *adapter, int reg, u32 mask,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
7506
int t4_set_params_timeout(struct adapter *adap, unsigned int mbox,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
7545
int t4_set_params(struct adapter *adap, unsigned int mbox, unsigned int pf,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
7574
int t4_cfg_pfvf(struct adapter *adap, unsigned int mbox, unsigned int pf,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
7620
int t4_alloc_vi(struct adapter *adap, unsigned int mbox, unsigned int port,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
7677
int t4_free_vi(struct adapter *adap, unsigned int mbox, unsigned int pf,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
7709
int t4_set_rxmode(struct adapter *adap, unsigned int mbox, unsigned int viid,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
772
static u32 t4_get_window(struct adapter *adap, u32 pci_base, u64 pci_mask,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
7770
int t4_free_encap_mac_filt(struct adapter *adap, unsigned int viid,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
78
return t4_wait_op_done_val(adapter, reg, mask, polarity, attempts,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
7810
int t4_free_raw_mac_filt(struct adapter *adap, unsigned int viid,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
7861
int t4_alloc_encap_mac_filt(struct adapter *adap, unsigned int viid,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
7909
int t4_alloc_raw_mac_filt(struct adapter *adap, unsigned int viid,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
7972
int t4_alloc_mac_filt(struct adapter *adap, unsigned int mbox,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
802
u32 t4_get_util_window(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
8057
int t4_free_mac_filt(struct adapter *adap, unsigned int mbox,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
812
void t4_setup_memwin(struct adapter *adap, u32 memwin_base, u32 window)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
8138
int t4_change_mac(struct adapter *adap, unsigned int mbox, unsigned int viid,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
8197
int t4_set_addr_hash(struct adapter *adap, unsigned int mbox, unsigned int viid,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
8225
int t4_enable_vi_params(struct adapter *adap, unsigned int mbox,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
8251
int t4_enable_vi(struct adapter *adap, unsigned int mbox, unsigned int viid,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
8272
int t4_enable_pi_params(struct adapter *adap, unsigned int mbox,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
828
unsigned int t4_get_regs_len(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
8294
int t4_identify_port(struct adapter *adap, unsigned int mbox, unsigned int viid,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
830
unsigned int chip_version = CHELSIO_CHIP_VERSION(adapter->params.chip);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
8323
int t4_iq_stop(struct adapter *adap, unsigned int mbox, unsigned int pf,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
8354
int t4_iq_free(struct adapter *adap, unsigned int mbox, unsigned int pf,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
8382
int t4_eth_eq_free(struct adapter *adap, unsigned int mbox, unsigned int pf,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
8407
int t4_ctrl_eq_free(struct adapter *adap, unsigned int mbox, unsigned int pf,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
841
dev_err(adapter->pdev_dev,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
8432
int t4_ofld_eq_free(struct adapter *adap, unsigned int mbox, unsigned int pf,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
856
void t4_get_regs(struct adapter *adap, void *buf, size_t buf_size)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
8574
struct adapter *adapter = pi->adapter;
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
8614
dev_err(adapter->pdev_dev, "Handle Port Information: Bad Command/Action %#x\n",
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
8673
t4_os_portmod_changed(adapter, pi->port_id);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
8682
dev_warn_ratelimited(adapter->pdev_dev,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
8715
t4_os_link_changed(adapter, pi->port_id, link_ok);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
8732
ret = t4_link_l1cfg_ns(adapter, adapter->mbox, pi->lport, lc);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
8735
dev_warn(adapter->pdev_dev,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
8753
unsigned int fw_caps = pi->adapter->params.fw_caps_support;
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
8766
ret = t4_wr_mbox(pi->adapter, pi->adapter->mbox,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
8789
unsigned int fw_caps = pi->adapter->params.fw_caps_support;
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
8805
ret = t4_wr_mbox(pi->adapter, pi->adapter->mbox,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
8843
int t4_handle_fw_rpl(struct adapter *adap, const __be64 *rpl)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
8878
static void get_pci_mode(struct adapter *adapter, struct pci_params *p)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
8882
if (pci_is_pcie(adapter->pdev)) {
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
8883
pcie_capability_read_word(adapter->pdev, PCI_EXP_LNKSTA, &val);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
8952
static int t4_get_flash_params(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9113
int t4_prep_adapter(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9119
get_pci_mode(adapter, &adapter->params.pci);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9120
pl_rev = REV_G(t4_read_reg(adapter, PL_REV_A));
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9122
ret = t4_get_flash_params(adapter);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9124
dev_err(adapter->pdev_dev, "error %d identifying flash\n", ret);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9130
pci_read_config_word(adapter->pdev, PCI_DEVICE_ID, &device_id);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9132
adapter->params.chip = 0;
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9135
adapter->params.chip |= CHELSIO_CHIP_CODE(CHELSIO_T4, pl_rev);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9136
adapter->params.arch.sge_fl_db = DBPRIO_F;
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9137
adapter->params.arch.mps_tcam_size =
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9139
adapter->params.arch.mps_rplc_size = 128;
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9140
adapter->params.arch.nchan = NCHAN;
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9141
adapter->params.arch.pm_stats_cnt = PM_NSTATS;
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9142
adapter->params.arch.vfcount = 128;
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9146
adapter->params.arch.cng_ch_bits_log = 2;
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9149
adapter->params.chip |= CHELSIO_CHIP_CODE(CHELSIO_T5, pl_rev);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9150
adapter->params.arch.sge_fl_db = DBPRIO_F | DBTYPE_F;
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9151
adapter->params.arch.mps_tcam_size =
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9153
adapter->params.arch.mps_rplc_size = 128;
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9154
adapter->params.arch.nchan = NCHAN;
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9155
adapter->params.arch.pm_stats_cnt = PM_NSTATS;
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9156
adapter->params.arch.vfcount = 128;
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9157
adapter->params.arch.cng_ch_bits_log = 2;
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9160
adapter->params.chip |= CHELSIO_CHIP_CODE(CHELSIO_T6, pl_rev);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9161
adapter->params.arch.sge_fl_db = 0;
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9162
adapter->params.arch.mps_tcam_size =
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9164
adapter->params.arch.mps_rplc_size = 256;
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9165
adapter->params.arch.nchan = 2;
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9166
adapter->params.arch.pm_stats_cnt = T6_PM_NSTATS;
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9167
adapter->params.arch.vfcount = 256;
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9171
adapter->params.arch.cng_ch_bits_log = 3;
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9174
dev_err(adapter->pdev_dev, "Device %d is not supported\n",
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9179
adapter->params.cim_la_size = CIMLA_SIZE;
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9180
init_cong_ctrl(adapter->params.a_wnd, adapter->params.b_wnd);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9185
adapter->params.nports = 1;
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9186
adapter->params.portvec = 1;
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9187
adapter->params.vpd.cclk = 50000;
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9190
pcie_capability_clear_and_set_word(adapter->pdev, PCI_EXP_DEVCTL2,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
92
void t4_set_reg_field(struct adapter *adapter, unsigned int addr, u32 mask,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9207
int t4_shutdown_adapter(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9211
t4_intr_disable(adapter);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9212
t4_write_reg(adapter, DBG_GPIO_EN_A, 0);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9213
for_each_port(adapter, port) {
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9214
u32 a_port_cfg = is_t4(adapter->params.chip) ?
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9218
t4_write_reg(adapter, a_port_cfg,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9219
t4_read_reg(adapter, a_port_cfg)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9222
t4_set_reg_field(adapter, SGE_CONTROL_A, GLOBALENABLE_F, 0);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9253
int t4_bar2_sge_qregs(struct adapter *adapter,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9265
if (!user && is_t4(adapter->params.chip))
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9270
page_shift = adapter->params.sge.hps + 10;
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9276
? adapter->params.sge.eq_qpp
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9277
: adapter->params.sge.iq_qpp);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9324
int t4_init_devlog_params(struct adapter *adap)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9377
int t4_init_sge_params(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9379
struct sge_params *sge_params = &adapter->params.sge;
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9385
hps = t4_read_reg(adapter, SGE_HOST_PAGE_SIZE_A);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9387
(HOSTPAGESIZEPF1_S - HOSTPAGESIZEPF0_S) * adapter->pf);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9393
(QUEUESPERPAGEPF1_S - QUEUESPERPAGEPF0_S) * adapter->pf);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9394
qpp = t4_read_reg(adapter, SGE_EGRESS_QUEUES_PER_PAGE_PF_A);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9396
qpp = t4_read_reg(adapter, SGE_INGRESS_QUEUES_PER_PAGE_PF_A);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9409
int t4_init_tp_params(struct adapter *adap, bool sleep_ok)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
95
u32 v = t4_read_reg(adapter, addr) & ~mask;
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9517
int t4_filter_field_shift(const struct adapter *adap, int filter_sel)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9563
int t4_init_rss_mode(struct adapter *adap, int mbox)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9603
struct adapter *adapter = pi->adapter;
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9604
unsigned int fw_caps = adapter->params.fw_caps_support;
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9625
ret = t4_set_params(adapter, mbox, pf, vf, 1, ¶m, &val);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9627
adapter->params.fw_caps_support = fw_caps;
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9639
ret = t4_wr_mbox(pi->adapter, mbox, &cmd, sizeof(cmd), &cmd);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9665
ret = t4_alloc_vi(pi->adapter, mbox, port, pf, vf, 1, mac, &rss_size,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9674
pi->rx_cchan = t4_get_tp_e2c_map(pi->adapter, port);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9679
if (adapter->params.viid_smt_extn_support) {
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9696
int t4_port_init(struct adapter *adap, int mbox, int pf, int vf)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
97
t4_write_reg(adapter, addr, v | val);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9722
ret = t4_alloc_vi(pi->adapter, mbox, port, pf, vf, 1, NULL, NULL,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9743
void t4_read_cimq_cfg(struct adapter *adap, u16 *base, u16 *size, u16 *thres)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9779
int t4_read_cim_ibq(struct adapter *adap, unsigned int qid, u32 *data, size_t n)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
98
(void) t4_read_reg(adapter, addr); /* flush */
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9821
int t4_read_cim_obq(struct adapter *adap, unsigned int qid, u32 *data, size_t n)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9862
int t4_cim_read(struct adapter *adap, unsigned int addr, unsigned int n,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9889
int t4_cim_write(struct adapter *adap, unsigned int addr, unsigned int n,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9906
static int t4_cim_write1(struct adapter *adap, unsigned int addr,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9922
int t4_cim_read_la(struct adapter *adap, u32 *la_buf, unsigned int *wrptr)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9991
void t4_tp_read_la(struct adapter *adap, u64 *la_buf, unsigned int *wrptr)
drivers/net/ethernet/chelsio/cxgb4vf/adapter.h
192
struct adapter *adapter; /* our adapter */
drivers/net/ethernet/chelsio/cxgb4vf/adapter.h
430
static inline u32 t4_read_reg(struct adapter *adapter, u32 reg_addr)
drivers/net/ethernet/chelsio/cxgb4vf/adapter.h
432
return readl(adapter->regs + reg_addr);
drivers/net/ethernet/chelsio/cxgb4vf/adapter.h
443
static inline void t4_write_reg(struct adapter *adapter, u32 reg_addr, u32 val)
drivers/net/ethernet/chelsio/cxgb4vf/adapter.h
445
writel(val, adapter->regs + reg_addr);
drivers/net/ethernet/chelsio/cxgb4vf/adapter.h
468
static inline u64 t4_read_reg64(struct adapter *adapter, u32 reg_addr)
drivers/net/ethernet/chelsio/cxgb4vf/adapter.h
470
return readq(adapter->regs + reg_addr);
drivers/net/ethernet/chelsio/cxgb4vf/adapter.h
481
static inline void t4_write_reg64(struct adapter *adapter, u32 reg_addr,
drivers/net/ethernet/chelsio/cxgb4vf/adapter.h
484
writeq(val, adapter->regs + reg_addr);
drivers/net/ethernet/chelsio/cxgb4vf/adapter.h
494
static inline const char *port_name(struct adapter *adapter, int pidx)
drivers/net/ethernet/chelsio/cxgb4vf/adapter.h
496
return adapter->port[pidx]->name;
drivers/net/ethernet/chelsio/cxgb4vf/adapter.h
508
static inline void t4_os_set_hw_addr(struct adapter *adapter, int pidx,
drivers/net/ethernet/chelsio/cxgb4vf/adapter.h
511
eth_hw_addr_set(adapter->port[pidx], hw_addr);
drivers/net/ethernet/chelsio/cxgb4vf/adapter.h
532
static inline struct port_info *adap2pinfo(struct adapter *adapter, int pidx)
drivers/net/ethernet/chelsio/cxgb4vf/adapter.h
534
return netdev_priv(adapter->port[pidx]);
drivers/net/ethernet/chelsio/cxgb4vf/adapter.h
543
static inline struct adapter *netdev2adap(const struct net_device *dev)
drivers/net/ethernet/chelsio/cxgb4vf/adapter.h
545
return netdev2pinfo(dev)->adapter;
drivers/net/ethernet/chelsio/cxgb4vf/adapter.h
552
void t4vf_os_link_changed(struct adapter *, int, int);
drivers/net/ethernet/chelsio/cxgb4vf/adapter.h
553
void t4vf_os_portmod_changed(struct adapter *, int);
drivers/net/ethernet/chelsio/cxgb4vf/adapter.h
558
int t4vf_sge_alloc_rxq(struct adapter *, struct sge_rspq *, bool,
drivers/net/ethernet/chelsio/cxgb4vf/adapter.h
561
int t4vf_sge_alloc_eth_txq(struct adapter *, struct sge_eth_txq *,
drivers/net/ethernet/chelsio/cxgb4vf/adapter.h
564
void t4vf_free_sge_resources(struct adapter *);
drivers/net/ethernet/chelsio/cxgb4vf/adapter.h
570
irq_handler_t t4vf_intr_handler(struct adapter *);
drivers/net/ethernet/chelsio/cxgb4vf/adapter.h
573
int t4vf_sge_init(struct adapter *);
drivers/net/ethernet/chelsio/cxgb4vf/adapter.h
574
void t4vf_sge_start(struct adapter *);
drivers/net/ethernet/chelsio/cxgb4vf/adapter.h
575
void t4vf_sge_stop(struct adapter *);
drivers/net/ethernet/chelsio/cxgb4vf/adapter.h
85
struct adapter;
drivers/net/ethernet/chelsio/cxgb4vf/adapter.h
95
struct adapter *adapter; /* our adapter */
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
1000
return t4vf_set_rxmode(pi->adapter, pi->viid, -1,
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
1054
static unsigned int qtimer_val(const struct adapter *adapter,
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
1060
? adapter->sge.timer_val[timer_idx]
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
1075
static int set_rxq_intr_params(struct adapter *adapter, struct sge_rspq *rspq,
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
1097
pktcnt_idx = closest_thres(&adapter->sge, cnt);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
1103
err = t4vf_set_params(adapter, 1, &v, &pktcnt_idx);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
1116
: closest_timer(&adapter->sge, us));
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
1132
static inline unsigned int mk_adap_vers(const struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
1137
return CHELSIO_CHIP_VERSION(adapter->params.chip) | (0x3f << 10);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
1169
ret = t4vf_set_rxmode(pi->adapter, pi->viid, new_mtu,
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
1198
t4vf_set_rxmode(pi->adapter, pi->viid, -1, -1, -1, -1,
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
1233
struct adapter *adapter = pi->adapter;
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
1235
if (adapter->flags & CXGB4VF_USING_MSIX) {
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
1239
rxq = &adapter->sge.ethrxq[pi->first_qset];
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
1245
t4vf_intr_handler(adapter)(0, adapter);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
137
void t4vf_os_link_changed(struct adapter *adapter, int pidx, int link_ok)
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
139
struct net_device *dev = adapter->port[pidx];
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
1554
struct adapter *adapter = netdev2adap(dev);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
1561
FW_HDR_FW_VER_MAJOR_G(adapter->params.dev.fwrev),
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
1562
FW_HDR_FW_VER_MINOR_G(adapter->params.dev.fwrev),
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
1563
FW_HDR_FW_VER_MICRO_G(adapter->params.dev.fwrev),
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
1564
FW_HDR_FW_VER_BUILD_G(adapter->params.dev.fwrev),
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
1565
FW_HDR_FW_VER_MAJOR_G(adapter->params.dev.tprev),
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
1566
FW_HDR_FW_VER_MINOR_G(adapter->params.dev.tprev),
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
1567
FW_HDR_FW_VER_MICRO_G(adapter->params.dev.tprev),
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
1568
FW_HDR_FW_VER_BUILD_G(adapter->params.dev.tprev));
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
1599
const struct sge *s = &pi->adapter->sge;
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
1624
struct adapter *adapter = pi->adapter;
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
1625
struct sge *s = &adapter->sge;
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
1637
if (adapter->flags & CXGB4VF_FULL_INIT_DONE)
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
1659
const struct adapter *adapter = pi->adapter;
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
1660
const struct sge_rspq *rspq = &adapter->sge.ethrxq[pi->first_qset].rspq;
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
1662
coalesce->rx_coalesce_usecs = qtimer_val(adapter, rspq);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
1665
? adapter->sge.counter_val[rspq->pktcnt_idx]
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
1681
struct adapter *adapter = pi->adapter;
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
1683
return set_rxq_intr_params(adapter,
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
1684
&adapter->sge.ethrxq[pi->first_qset].rspq,
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
1718
return t4vf_identify_port(pi->adapter, pi->viid, val);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
1805
static void collect_sge_port_stats(const struct adapter *adapter,
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
1809
const struct sge_eth_txq *txq = &adapter->sge.ethtxq[pi->first_qset];
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
1810
const struct sge_eth_rxq *rxq = &adapter->sge.ethrxq[pi->first_qset];
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
1833
struct adapter *adapter = pi->adapter;
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
1834
int err = t4vf_get_port_stats(adapter, pi->pidx,
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
1840
collect_sge_port_stats(adapter, pi, (struct queue_port_stats *)data);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
1854
static void reg_block_dump(struct adapter *adapter, void *regbuf,
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
1868
*bp++ = t4_read_reg(adapter, start);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
1879
struct adapter *adapter = netdev2adap(dev);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
1881
regs->version = mk_adap_vers(adapter);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
1888
reg_block_dump(adapter, regbuf,
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
1891
reg_block_dump(adapter, regbuf,
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
1897
reg_block_dump(adapter, regbuf,
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
1899
T4VF_PL_BASE_ADDR + (is_t4(adapter->params.chip)
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
1901
reg_block_dump(adapter, regbuf,
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
1905
reg_block_dump(adapter, regbuf,
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
1969
struct adapter *adapter = seq->private;
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
1970
struct mbox_cmd_log *log = adapter->mbox_log;
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2007
struct adapter *adapter = seq->private;
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2008
struct mbox_cmd_log *log = adapter->mbox_log;
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2043
struct adapter *adapter = seq->private;
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2044
int eth_entries = DIV_ROUND_UP(adapter->sge.ethqsets, QPL);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2062
const struct sge_eth_rxq *rxq = &adapter->sge.ethrxq[r * QPL];
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2063
const struct sge_eth_txq *txq = &adapter->sge.ethtxq[r * QPL];
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2064
int n = min(QPL, adapter->sge.ethqsets - QPL * r);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2084
S3("u", "Intr delay:", qtimer_val(adapter, &rxq[qs].rspq));
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2086
adapter->sge.counter_val[rxq[qs].rspq.pktcnt_idx]);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2099
const struct sge_rspq *evtq = &adapter->sge.fw_evtq;
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2104
qtimer_val(adapter, evtq));
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2106
adapter->sge.counter_val[evtq->pktcnt_idx]);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2110
const struct sge_rspq *intrq = &adapter->sge.intrq;
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2115
qtimer_val(adapter, intrq));
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2117
adapter->sge.counter_val[intrq->pktcnt_idx]);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
213
void t4vf_os_portmod_changed(struct adapter *adapter, int pidx)
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2138
static int sge_queue_entries(const struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2140
return DIV_ROUND_UP(adapter->sge.ethqsets, QPL) + 1 +
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2141
((adapter->flags & CXGB4VF_USING_MSI) != 0);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2179
struct adapter *adapter = seq->private;
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
218
const struct net_device *dev = adapter->port[pidx];
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2180
int eth_entries = DIV_ROUND_UP(adapter->sge.ethqsets, QPL);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2202
const struct sge_eth_rxq *rxq = &adapter->sge.ethrxq[r * QPL];
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2203
const struct sge_eth_txq *txq = &adapter->sge.ethtxq[r * QPL];
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2204
int n = min(QPL, adapter->sge.ethqsets - QPL * r);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
222
dev_info(adapter->pdev_dev, "%s: port module unplugged\n",
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2232
const struct sge_rspq *evtq = &adapter->sge.fw_evtq;
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2240
const struct sge_rspq *intrq = &adapter->sge.intrq;
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
225
dev_info(adapter->pdev_dev, "%s: %s port module inserted\n",
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2267
static int sge_qstats_entries(const struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2269
return DIV_ROUND_UP(adapter->sge.ethqsets, QPL) + 1 +
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2270
((adapter->flags & CXGB4VF_USING_MSI) != 0);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
228
dev_info(adapter->pdev_dev, "%s: unsupported optical port "
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2306
struct adapter *adapter = seq->private;
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2307
struct vf_resources *vfres = &adapter->params.vfres;
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
231
dev_info(adapter->pdev_dev, "%s: unknown port module inserted,"
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2338
struct adapter *adapter = seq->private;
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
234
dev_info(adapter->pdev_dev, "%s: transceiver module error\n",
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2340
struct net_device *dev = adapter->port[pidx];
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2349
static inline void *interfaces_get_idx(struct adapter *adapter, loff_t pos)
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2351
return pos <= adapter->params.nports
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
237
dev_info(adapter->pdev_dev, "%s: unknown module type %d "
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2408
static int setup_debugfs(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2412
BUG_ON(IS_ERR_OR_NULL(adapter->debugfs_root));
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2420
adapter->debugfs_root, adapter,
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
243
struct adapter *adapter = pi->adapter;
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2430
static void cleanup_debugfs(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2432
BUG_ON(IS_ERR_OR_NULL(adapter->debugfs_root));
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2447
static void size_nports_qsets(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2449
struct vf_resources *vfres = &adapter->params.vfres;
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2455
adapter->params.nports = vfres->nvi;
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2456
if (adapter->params.nports > MAX_NPORTS) {
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2457
dev_warn(adapter->pdev_dev, "only using %d of %d maximum"
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2459
adapter->params.nports);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2460
adapter->params.nports = MAX_NPORTS;
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2468
pmask_nports = hweight32(adapter->params.vfres.pmask);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2469
if (pmask_nports < adapter->params.nports) {
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2470
dev_warn(adapter->pdev_dev, "only using %d of %d provisioned"
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2472
" mask %#x\n", pmask_nports, adapter->params.nports,
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2473
adapter->params.vfres.pmask);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2474
adapter->params.nports = pmask_nports;
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
249
list_for_each_entry(entry, &adapter->mac_hlist, list) {
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2500
adapter->sge.max_ethqsets = ethqsets;
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2502
if (adapter->sge.max_ethqsets < adapter->params.nports) {
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2503
dev_warn(adapter->pdev_dev, "only using %d of %d available"
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2505
adapter->sge.max_ethqsets, adapter->params.nports);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2506
adapter->params.nports = adapter->sge.max_ethqsets;
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2515
static int adap_init0(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2517
struct sge_params *sge_params = &adapter->params.sge;
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2518
struct sge *s = &adapter->sge;
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
253
return t4vf_set_addr_hash(adapter, pi->viid, ucast, vec, false);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2532
err = t4vf_fw_reset(adapter);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2534
dev_err(adapter->pdev_dev, "FW reset failed: err=%d\n", err);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2546
err = t4vf_get_dev_params(adapter);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2548
dev_err(adapter->pdev_dev, "unable to retrieve adapter"
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2552
err = t4vf_get_vpd_params(adapter);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2554
dev_err(adapter->pdev_dev, "unable to retrieve adapter"
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2558
err = t4vf_get_sge_params(adapter);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2560
dev_err(adapter->pdev_dev, "unable to retrieve adapter"
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2564
err = t4vf_get_rss_glb_config(adapter);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2566
dev_err(adapter->pdev_dev, "unable to retrieve adapter"
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2570
if (adapter->params.rss.mode !=
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2572
dev_err(adapter->pdev_dev, "unable to operate with global RSS"
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2573
" mode %d\n", adapter->params.rss.mode);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2576
err = t4vf_sge_init(adapter);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2578
dev_err(adapter->pdev_dev, "unable to use adapter parameters:"
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2591
(void) t4vf_set_params(adapter, 1, ¶m, &val);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2597
s->timer_val[0] = core_ticks_to_us(adapter,
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2599
s->timer_val[1] = core_ticks_to_us(adapter,
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2601
s->timer_val[2] = core_ticks_to_us(adapter,
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2603
s->timer_val[3] = core_ticks_to_us(adapter,
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2605
s->timer_val[4] = core_ticks_to_us(adapter,
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2607
s->timer_val[5] = core_ticks_to_us(adapter,
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2620
err = t4vf_get_vfres(adapter);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2622
dev_err(adapter->pdev_dev, "unable to get virtual interface"
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2628
if (adapter->params.vfres.pmask == 0) {
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2629
dev_err(adapter->pdev_dev, "no port access configured\n"
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2633
if (adapter->params.vfres.nvi == 0) {
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2634
dev_err(adapter->pdev_dev, "no virtual interfaces configured/"
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2642
size_nports_qsets(adapter);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2644
adapter->flags |= CXGB4VF_FW_OK;
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2668
static void cfg_queues(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2670
struct sge *s = &adapter->sge;
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2679
BUG_ON((adapter->flags &
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2686
for_each_port(adapter, pidx)
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2687
n10g += is_x_10g_port(&adap2pinfo(adapter, pidx)->link_cfg);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2696
int n1g = (adapter->params.nports - n10g);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2697
q10g = (adapter->sge.max_ethqsets - n1g) / n10g;
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2708
for_each_port(adapter, pidx) {
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2709
struct port_info *pi = adap2pinfo(adapter, pidx);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
276
struct adapter *adapter = pi->adapter;
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2764
static void reduce_ethqs(struct adapter *adapter, int n)
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2773
BUG_ON(n < adapter->params.nports);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2774
while (n < adapter->sge.ethqsets)
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2775
for_each_port(adapter, i) {
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2776
pi = adap2pinfo(adapter, i);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2779
adapter->sge.ethqsets--;
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2780
if (adapter->sge.ethqsets <= n)
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2789
for_each_port(adapter, i) {
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
279
ret = t4vf_change_mac(adapter, viid, *tcam_idx, addr, persistent);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2790
pi = adap2pinfo(adapter, i);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2803
static int enable_msix(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2807
struct sge *s = &adapter->sge;
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2820
need = adapter->params.nports + MSIX_EXTRAS;
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2822
want = pci_enable_msix_range(adapter->pdev, entries, need, want);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2828
dev_warn(adapter->pdev_dev, "only enough MSI-X vectors"
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2832
reduce_ethqs(adapter, nqsets);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2835
adapter->msix_info[i].vec = entries[i].vector;
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
285
list_for_each_entry(entry, &adapter->mac_hlist, list) {
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2867
static unsigned int cxgb4vf_get_port_mask(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2874
pmask = adapter->params.vfres.pmask;
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2877
err = t4vf_get_vf_mac_acl(adapter, pidx, &naddr, mac);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2885
rmask = adapter->params.vfres.pmask;
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2898
struct adapter *adapter;
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2938
adapter = kzalloc_obj(*adapter);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2939
if (!adapter) {
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2943
pci_set_drvdata(pdev, adapter);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2944
adapter->pdev = pdev;
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2945
adapter->pdev_dev = &pdev->dev;
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2947
adapter->mbox_log = kzalloc(sizeof(*adapter->mbox_log) +
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2951
if (!adapter->mbox_log) {
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2955
adapter->mbox_log->size = T4VF_OS_LOG_MBOX_CMDS;
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
296
list_add_tail(&new_entry->list, &adapter->mac_hlist);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2960
spin_lock_init(&adapter->stats_lock);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2961
spin_lock_init(&adapter->mbox_lock);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2962
INIT_LIST_HEAD(&adapter->mlist.list);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2967
adapter->regs = pci_ioremap_bar(pdev, 0);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2968
if (!adapter->regs) {
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2976
err = t4vf_prep_adapter(adapter);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2978
dev_err(adapter->pdev_dev, "device didn't become ready:"
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2986
if (!is_t4(adapter->params.chip)) {
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2987
adapter->bar2 = ioremap_wc(pci_resource_start(pdev, 2),
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2989
if (!adapter->bar2) {
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2990
dev_err(adapter->pdev_dev, "cannot map BAR2 doorbells\n");
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2998
adapter->name = pci_name(pdev);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2999
adapter->msg_enable = DFLT_MSG_ENABLE;
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
3016
adapter->flags |= CXGB4VF_ROOT_NO_RELAXED_ORDERING;
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
3018
err = adap_init0(adapter);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
3025
INIT_LIST_HEAD(&adapter->mac_hlist);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
3030
pmask = cxgb4vf_get_port_mask(adapter);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
3031
for_each_port(adapter, pidx) {
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
3056
adapter->port[pidx] = netdev;
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
3059
pi->adapter = adapter;
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
3088
if (!(adapter->flags & CXGB4VF_FW_OK))
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
3091
viid = t4vf_alloc_vi(adapter, port_id);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
3104
err = t4vf_port_init(adapter, pidx);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
3111
err = t4vf_get_vf_mac_acl(adapter, port_id, &naddr, mac);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
3116
} else if (naddr && adapter->params.vfres.nvi == 1) {
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
3137
if (msi == MSI_MSIX && enable_msix(adapter) == 0)
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
3138
adapter->flags |= CXGB4VF_USING_MSIX;
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
3141
dev_info(adapter->pdev_dev,
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
3150
size_nports_qsets(adapter);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
3158
adapter->flags |= CXGB4VF_USING_MSI;
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
3164
cfg_queues(adapter);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
3172
for_each_port(adapter, pidx) {
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
3173
struct port_info *pi = netdev_priv(adapter->port[pidx]);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
3174
netdev = adapter->port[pidx];
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
3189
set_bit(pidx, &adapter->registered_device_map);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
3191
if (adapter->registered_device_map == 0) {
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
3201
adapter->debugfs_root =
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
3204
setup_debugfs(adapter);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
3211
for_each_port(adapter, pidx) {
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
3212
dev_info(adapter->pdev_dev, "%s: Chelsio VF NIC PCIe %s\n",
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
3213
adapter->port[pidx]->name,
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
3214
(adapter->flags & CXGB4VF_USING_MSIX) ? "MSI-X" :
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
3215
(adapter->flags & CXGB4VF_USING_MSI) ? "MSI" : "");
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
3228
if (adapter->flags & CXGB4VF_USING_MSIX) {
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
3229
pci_disable_msix(adapter->pdev);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
3230
adapter->flags &= ~CXGB4VF_USING_MSIX;
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
3231
} else if (adapter->flags & CXGB4VF_USING_MSI) {
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
3232
pci_disable_msi(adapter->pdev);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
3233
adapter->flags &= ~CXGB4VF_USING_MSI;
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
3237
for_each_port(adapter, pidx) {
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
3238
netdev = adapter->port[pidx];
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
3243
t4vf_free_vi(adapter, pi->viid);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
3244
if (test_bit(pidx, &adapter->registered_device_map))
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
3249
if (!is_t4(adapter->params.chip))
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
3250
iounmap(adapter->bar2);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
3253
iounmap(adapter->regs);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
3256
kfree(adapter->mbox_log);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
3257
kfree(adapter);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
3275
struct adapter *adapter = pci_get_drvdata(pdev);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
328
ret = t4vf_set_rxmode(pi->adapter, pi->viid, dev->mtu, -1, -1, -1, 1,
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
3281
if (adapter) {
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
3288
for_each_port(adapter, pidx)
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
3289
if (test_bit(pidx, &adapter->registered_device_map))
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
3290
unregister_netdev(adapter->port[pidx]);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
3291
t4vf_sge_stop(adapter);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
3292
if (adapter->flags & CXGB4VF_USING_MSIX) {
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
3293
pci_disable_msix(adapter->pdev);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
3294
adapter->flags &= ~CXGB4VF_USING_MSIX;
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
3295
} else if (adapter->flags & CXGB4VF_USING_MSI) {
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
3296
pci_disable_msi(adapter->pdev);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
3297
adapter->flags &= ~CXGB4VF_USING_MSI;
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
3303
if (!IS_ERR_OR_NULL(adapter->debugfs_root)) {
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
3304
cleanup_debugfs(adapter);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
3305
debugfs_remove_recursive(adapter->debugfs_root);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
3311
t4vf_free_sge_resources(adapter);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
3312
for_each_port(adapter, pidx) {
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
3313
struct net_device *netdev = adapter->port[pidx];
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
3321
t4vf_free_vi(adapter, pi->viid);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
3324
iounmap(adapter->regs);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
3325
if (!is_t4(adapter->params.chip))
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
3326
iounmap(adapter->bar2);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
3327
kfree(adapter->mbox_log);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
3328
list_for_each_entry_safe(entry, tmp, &adapter->mac_hlist,
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
3333
kfree(adapter);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
3349
struct adapter *adapter;
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
3352
adapter = pci_get_drvdata(pdev);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
3353
if (!adapter)
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
3360
for_each_port(adapter, pidx)
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
3361
if (test_bit(pidx, &adapter->registered_device_map))
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
3362
unregister_netdev(adapter->port[pidx]);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
3367
t4vf_sge_stop(adapter);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
3368
if (adapter->flags & CXGB4VF_USING_MSIX) {
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
3369
pci_disable_msix(adapter->pdev);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
3370
adapter->flags &= ~CXGB4VF_USING_MSIX;
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
3371
} else if (adapter->flags & CXGB4VF_USING_MSI) {
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
3372
pci_disable_msi(adapter->pdev);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
3373
adapter->flags &= ~CXGB4VF_USING_MSI;
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
3380
t4vf_free_sge_resources(adapter);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
341
ret = t4vf_enable_pi(pi->adapter, pi, true, true);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
349
static void name_msix_vecs(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
351
int namelen = sizeof(adapter->msix_info[0].desc) - 1;
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
357
snprintf(adapter->msix_info[MSIX_FW].desc, namelen,
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
358
"%s-FWeventq", adapter->name);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
359
adapter->msix_info[MSIX_FW].desc[namelen] = 0;
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
364
for_each_port(adapter, pidx) {
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
365
struct net_device *dev = adapter->port[pidx];
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
370
snprintf(adapter->msix_info[msi].desc, namelen,
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
372
adapter->msix_info[msi].desc[namelen] = 0;
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
380
static int request_msix_queue_irqs(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
382
struct sge *s = &adapter->sge;
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
388
err = request_irq(adapter->msix_info[MSIX_FW].vec, t4vf_sge_intr_msix,
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
389
0, adapter->msix_info[MSIX_FW].desc, &s->fw_evtq);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
398
err = request_irq(adapter->msix_info[msi].vec,
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
400
adapter->msix_info[msi].desc,
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
410
free_irq(adapter->msix_info[--msi].vec, &s->ethrxq[rxq].rspq);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
411
free_irq(adapter->msix_info[MSIX_FW].vec, &s->fw_evtq);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
418
static void free_msix_queue_irqs(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
420
struct sge *s = &adapter->sge;
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
423
free_irq(adapter->msix_info[MSIX_FW].vec, &s->fw_evtq);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
426
free_irq(adapter->msix_info[msi++].vec,
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
441
t4_write_reg(rspq->adapter, T4VF_SGE_BASE_ADDR + SGE_VF_GTS,
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
450
static void enable_rx(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
453
struct sge *s = &adapter->sge;
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
463
if (adapter->flags & CXGB4VF_USING_MSI)
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
464
t4_write_reg(adapter, T4VF_SGE_BASE_ADDR + SGE_VF_GTS,
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
474
static void quiesce_rx(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
476
struct sge *s = &adapter->sge;
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
493
struct adapter *adapter = rspq->adapter;
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
504
t4vf_handle_fw_rpl(adapter, fw_msg->data);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
514
dev_err(adapter->pdev_dev, "unexpected FW4/CPL %#x on FW event queue\n"
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
534
struct sge *s = &adapter->sge;
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
548
dev_err(adapter->pdev_dev,
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
554
dev_err(adapter->pdev_dev,
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
560
dev_err(adapter->pdev_dev,
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
576
dev_err(adapter->pdev_dev,
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
588
static int setup_sge_queues(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
590
struct sge *s = &adapter->sge;
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
607
if (adapter->flags & CXGB4VF_USING_MSI) {
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
608
err = t4vf_sge_alloc_rxq(adapter, &s->intrq, false,
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
609
adapter->port[0], 0, NULL, NULL);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
617
err = t4vf_sge_alloc_rxq(adapter, &s->fw_evtq, true, adapter->port[0],
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
629
for_each_port(adapter, pidx) {
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
630
struct net_device *dev = adapter->port[pidx];
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
637
err = t4vf_sge_alloc_rxq(adapter, &rxq->rspq, false,
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
643
err = t4vf_sge_alloc_eth_txq(adapter, txq, dev,
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
660
for_each_port(adapter, pidx) {
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
661
struct net_device *dev = adapter->port[pidx];
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
687
t4vf_free_sge_resources(adapter);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
699
static int setup_rss(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
703
for_each_port(adapter, pidx) {
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
704
struct port_info *pi = adap2pinfo(adapter, pidx);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
705
struct sge_eth_rxq *rxq = &adapter->sge.ethrxq[pi->first_qset];
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
712
err = t4vf_config_rss_range(adapter, pi->viid,
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
720
switch (adapter->params.rss.mode) {
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
729
if (!adapter->params.rss.u.basicvirtual.tnlalllookup) {
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
731
err = t4vf_read_rss_vi_config(adapter,
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
738
err = t4vf_write_rss_vi_config(adapter,
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
758
static int adapter_up(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
767
if ((adapter->flags & CXGB4VF_FULL_INIT_DONE) == 0) {
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
768
err = setup_sge_queues(adapter);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
771
err = setup_rss(adapter);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
773
t4vf_free_sge_resources(adapter);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
777
if (adapter->flags & CXGB4VF_USING_MSIX)
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
778
name_msix_vecs(adapter);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
780
adapter->flags |= CXGB4VF_FULL_INIT_DONE;
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
786
BUG_ON((adapter->flags &
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
788
if (adapter->flags & CXGB4VF_USING_MSIX)
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
789
err = request_msix_queue_irqs(adapter);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
791
err = request_irq(adapter->pdev->irq,
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
792
t4vf_intr_handler(adapter), 0,
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
793
adapter->name, adapter);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
795
dev_err(adapter->pdev_dev, "request_irq failed, err %d\n",
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
803
enable_rx(adapter);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
804
t4vf_sge_start(adapter);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
814
static void adapter_down(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
819
if (adapter->flags & CXGB4VF_USING_MSIX)
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
820
free_msix_queue_irqs(adapter);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
822
free_irq(adapter->pdev->irq, adapter);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
827
quiesce_rx(adapter);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
837
struct adapter *adapter = pi->adapter;
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
843
if (!(adapter->flags & CXGB4VF_FW_OK))
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
850
if (adapter->open_device_map == 0) {
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
851
err = adapter_up(adapter);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
870
pi->vlan_id = t4vf_get_vf_vlan_acl(adapter);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
873
set_bit(pi->port_id, &adapter->open_device_map);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
877
if (adapter->open_device_map == 0)
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
878
adapter_down(adapter);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
889
struct adapter *adapter = pi->adapter;
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
893
t4vf_enable_pi(adapter, pi, false, false);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
895
clear_bit(pi->port_id, &adapter->open_device_map);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
896
if (adapter->open_device_map == 0)
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
897
adapter_down(adapter);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
908
struct adapter *adapter = pi->adapter;
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
912
spin_lock(&adapter->stats_lock);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
913
err = t4vf_get_port_stats(adapter, pi->pidx, &stats);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
914
spin_unlock(&adapter->stats_lock);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
938
struct adapter *adapter = pi->adapter;
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
947
ret = t4vf_alloc_mac_filt(adapter, pi->viid, free, 1, maclist,
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
960
list_add_tail(&new_entry->list, &adapter->mac_hlist);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
970
struct adapter *adapter = pi->adapter;
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
978
list_for_each_entry_safe(entry, tmp, &adapter->mac_hlist, list) {
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
986
ret = t4vf_free_mac_filt(adapter, pi->viid, 1, maclist, false);
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
1163
struct adapter *adapter;
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
1192
adapter = pi->adapter;
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
1195
txq = &adapter->sge.ethtxq[pi->first_qset + qidx];
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
1205
reclaim_completed_tx(adapter, &txq->q, true);
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
1224
dev_err(adapter->pdev_dev,
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
1231
unlikely(map_skb(adapter->pdev_dev, skb, addr) < 0)) {
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
1300
if (is_t4(adapter->params.chip))
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
1311
if (CHELSIO_CHIP_VERSION(adapter->params.chip) <= CHELSIO_T5)
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
1335
cntrl = hwcsum(adapter->params.chip, skb) |
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
1362
T4_TRACE5(adapter->tb[txq->q.cntxt_id & 7],
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
1448
ring_tx_db(adapter, &txq->q, ndesc);
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
1567
struct adapter *adapter = rxq->rspq.adapter;
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
1568
struct sge *s = &adapter->sge;
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
1619
struct adapter *adapter = rspq->adapter;
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
1620
struct sge *s = &adapter->sge;
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
1757
struct adapter *adapter = rspq->adapter;
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
1758
struct sge *s = &adapter->sge;
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
1793
free_rx_bufs(rspq->adapter, &rxq->fl,
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
1808
bufsz = get_buf_size(adapter, sdesc);
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
1815
unmap_rx_buf(rspq->adapter, &rxq->fl);
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
1824
dma_sync_single_for_cpu(rspq->adapter->pdev_dev,
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
1870
__refill_fl(rspq->adapter, &rxq->fl);
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
1907
t4_write_reg(rspq->adapter,
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
1934
static unsigned int process_intrq(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
1936
struct sge *s = &adapter->sge;
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
1941
spin_lock(&adapter->sge.intrq_lock);
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
1962
dev_err(adapter->pdev_dev,
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
1979
dev_err(adapter->pdev_dev,
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
1985
dev_err(adapter->pdev_dev,
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
1990
dev_err(adapter->pdev_dev,
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2010
t4_write_reg(adapter, T4VF_SGE_BASE_ADDR + SGE_VF_GTS,
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2018
spin_unlock(&adapter->sge.intrq_lock);
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2029
struct adapter *adapter = cookie;
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2031
process_intrq(adapter);
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2042
irq_handler_t t4vf_intr_handler(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2044
BUG_ON((adapter->flags &
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2046
if (adapter->flags & CXGB4VF_USING_MSIX)
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2065
struct adapter *adapter = timer_container_of(adapter, t, sge.rx_timer);
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2066
struct sge *s = &adapter->sge;
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2093
if (fl_starving(adapter, fl)) {
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2124
struct adapter *adapter = timer_container_of(adapter, t, sge.tx_timer);
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2125
struct sge *s = &adapter->sge;
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2139
free_tx_desc(adapter, &txq->q, avail, true);
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2175
static void __iomem *bar2_address(struct adapter *adapter,
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2183
ret = t4vf_bar2_sge_qregs(adapter, qid, qtype,
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2188
return adapter->bar2 + bar2_qoffset;
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2201
int t4vf_sge_alloc_rxq(struct adapter *adapter, struct sge_rspq *rspq,
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2206
struct sge *s = &adapter->sge;
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2210
int relaxed = !(adapter->flags & CXGB4VF_ROOT_NO_RELAXED_ORDERING);
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2219
if ((adapter->flags & CXGB4VF_USING_MSI) &&
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2220
rspq != &adapter->sge.intrq) {
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2222
intr_dest = adapter->sge.intrq.abs_id;
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2233
rspq->desc = alloc_ring(adapter->pdev_dev, rspq->size, rspq->iqe_len,
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2271
CHELSIO_CHIP_VERSION(adapter->params.chip);
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2283
fl->desc = alloc_ring(adapter->pdev_dev, fl->size,
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2335
ret = t4vf_wr_mbox(adapter, &cmd, sizeof(cmd), &rpl);
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2345
rspq->bar2_addr = bar2_address(adapter,
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2351
rspq->adapter = adapter;
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2371
fl->bar2_addr = bar2_address(adapter,
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2376
refill_fl(adapter, fl, fl_cap(fl), GFP_KERNEL);
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2387
dma_free_coherent(adapter->pdev_dev, rspq->size * rspq->iqe_len,
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2394
dma_free_coherent(adapter->pdev_dev, flsz * EQ_UNIT,
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2410
int t4vf_sge_alloc_eth_txq(struct adapter *adapter, struct sge_eth_txq *txq,
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2414
unsigned int chip_ver = CHELSIO_CHIP_VERSION(adapter->params.chip);
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2417
struct sge *s = &adapter->sge;
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2430
txq->q.desc = alloc_ring(adapter->pdev_dev, txq->q.size,
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2472
ret = t4vf_wr_mbox(adapter, &cmd, sizeof(cmd), &rpl);
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2480
dma_free_coherent(adapter->pdev_dev,
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2492
txq->q.bar2_addr = bar2_address(adapter,
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2511
static void free_txq(struct adapter *adapter, struct sge_txq *tq)
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2513
struct sge *s = &adapter->sge;
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2515
dma_free_coherent(adapter->pdev_dev,
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2527
static void free_rspq_fl(struct adapter *adapter, struct sge_rspq *rspq,
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2530
struct sge *s = &adapter->sge;
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2533
t4vf_iq_free(adapter, FW_IQ_TYPE_FL_INT_CAP,
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2535
dma_free_coherent(adapter->pdev_dev, (rspq->size + 1) * rspq->iqe_len,
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2544
free_rx_bufs(adapter, fl, fl->avail);
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2545
dma_free_coherent(adapter->pdev_dev,
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2561
void t4vf_free_sge_resources(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2563
struct sge *s = &adapter->sge;
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2570
for (qs = 0; qs < adapter->sge.ethqsets; qs++, rxq++, txq++) {
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2572
free_rspq_fl(adapter, &rxq->rspq, &rxq->fl);
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2574
t4vf_eth_eq_free(adapter, txq->q.cntxt_id);
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2575
free_tx_desc(adapter, &txq->q, txq->q.in_use, true);
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2577
free_txq(adapter, &txq->q);
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2581
free_rspq_fl(adapter, evtq, NULL);
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2583
free_rspq_fl(adapter, intrq, NULL);
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2592
void t4vf_sge_start(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2594
adapter->sge.ethtxq_rover = 0;
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2595
mod_timer(&adapter->sge.rx_timer, jiffies + RX_QCHECK_PERIOD);
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2596
mod_timer(&adapter->sge.tx_timer, jiffies + TX_QCHECK_PERIOD);
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2607
void t4vf_sge_stop(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2609
struct sge *s = &adapter->sge;
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
261
static inline bool fl_starving(const struct adapter *adapter,
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2626
int t4vf_sge_init(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2628
struct sge_params *sge_params = &adapter->params.sge;
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2631
struct sge *s = &adapter->sge;
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
264
const struct sge *s = &adapter->sge;
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2650
dev_err(adapter->pdev_dev, "bad SGE FL buffer sizes [%d, %d]\n",
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2656
dev_err(adapter->pdev_dev, "bad SGE CPL MODE\n");
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2668
s->fl_align = t4vf_fl_pkt_align(adapter);
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2677
switch (CHELSIO_CHIP_VERSION(adapter->params.chip)) {
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
377
static void free_tx_desc(struct adapter *adapter, struct sge_txq *tq,
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
382
struct device *dev = adapter->pdev_dev;
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
430
static inline void reclaim_completed_tx(struct adapter *adapter,
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
444
free_tx_desc(adapter, tq, avail, unmap);
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
454
static inline int get_buf_size(const struct adapter *adapter,
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
457
const struct sge *s = &adapter->sge;
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
473
static void free_rx_bufs(struct adapter *adapter, struct sge_fl *fl, int n)
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
479
dma_unmap_page(adapter->pdev_dev, get_buf_addr(sdesc),
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
480
get_buf_size(adapter, sdesc),
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
503
static void unmap_rx_buf(struct adapter *adapter, struct sge_fl *fl)
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
508
dma_unmap_page(adapter->pdev_dev, get_buf_addr(sdesc),
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
509
get_buf_size(adapter, sdesc),
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
525
static inline void ring_fl_db(struct adapter *adapter, struct sge_fl *fl)
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
527
u32 val = adapter->params.arch.sge_fl_db;
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
534
if (is_t4(adapter->params.chip))
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
549
t4_write_reg(adapter,
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
604
static unsigned int refill_fl(struct adapter *adapter, struct sge_fl *fl,
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
607
struct sge *s = &adapter->sge;
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
645
dma_addr = dma_map_page(adapter->pdev_dev, page, 0,
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
648
if (unlikely(dma_mapping_error(adapter->pdev_dev, dma_addr))) {
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
684
dma_addr = dma_map_page(adapter->pdev_dev, page, 0, PAGE_SIZE,
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
686
if (unlikely(dma_mapping_error(adapter->pdev_dev, dma_addr))) {
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
711
ring_fl_db(adapter, fl);
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
713
if (unlikely(fl_starving(adapter, fl))) {
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
715
set_bit(fl->cntxt_id, adapter->sge.starving_fl);
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
725
static inline void __refill_fl(struct adapter *adapter, struct sge_fl *fl)
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
727
refill_fl(adapter, fl,
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
964
static inline void ring_tx_db(struct adapter *adapter, struct sge_txq *tq,
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
978
t4_write_reg(adapter, T4VF_SGE_BASE_ADDR + SGE_VF_KDOORBELL,
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_common.h
306
#define for_each_port(adapter, iter) \
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_common.h
307
for (iter = 0; iter < (adapter)->params.nports; iter++)
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_common.h
309
static inline unsigned int core_ticks_per_usec(const struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_common.h
311
return adapter->params.vpd.cclk / 1000;
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_common.h
314
static inline unsigned int us_to_core_ticks(const struct adapter *adapter,
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_common.h
317
return (us * adapter->params.vpd.cclk) / 1000;
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_common.h
320
static inline unsigned int core_ticks_to_us(const struct adapter *adapter,
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_common.h
323
return (ticks * 1000) / adapter->params.vpd.cclk;
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_common.h
326
int t4vf_wr_mbox_core(struct adapter *, const void *, int, void *, bool);
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_common.h
328
static inline int t4vf_wr_mbox(struct adapter *adapter, const void *cmd,
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_common.h
331
return t4vf_wr_mbox_core(adapter, cmd, size, rpl, true);
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_common.h
334
static inline int t4vf_wr_mbox_ns(struct adapter *adapter, const void *cmd,
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_common.h
337
return t4vf_wr_mbox_core(adapter, cmd, size, rpl, false);
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_common.h
365
int t4vf_wait_dev_ready(struct adapter *);
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_common.h
366
int t4vf_port_init(struct adapter *, int);
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_common.h
368
int t4vf_fw_reset(struct adapter *);
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_common.h
369
int t4vf_set_params(struct adapter *, unsigned int, const u32 *, const u32 *);
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_common.h
371
int t4vf_fl_pkt_align(struct adapter *adapter);
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_common.h
373
int t4vf_bar2_sge_qregs(struct adapter *adapter,
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_common.h
379
unsigned int t4vf_get_pf_from_vf(struct adapter *);
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_common.h
380
int t4vf_get_sge_params(struct adapter *);
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_common.h
381
int t4vf_get_vpd_params(struct adapter *);
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_common.h
382
int t4vf_get_dev_params(struct adapter *);
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_common.h
383
int t4vf_get_rss_glb_config(struct adapter *);
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_common.h
384
int t4vf_get_vfres(struct adapter *);
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_common.h
386
int t4vf_read_rss_vi_config(struct adapter *, unsigned int,
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_common.h
388
int t4vf_write_rss_vi_config(struct adapter *, unsigned int,
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_common.h
390
int t4vf_config_rss_range(struct adapter *, unsigned int, int, int,
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_common.h
393
int t4vf_alloc_vi(struct adapter *, int);
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_common.h
394
int t4vf_free_vi(struct adapter *, int);
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_common.h
395
int t4vf_enable_vi(struct adapter *adapter, unsigned int viid, bool rx_en,
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_common.h
397
int t4vf_enable_pi(struct adapter *adapter, struct port_info *pi, bool rx_en,
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_common.h
399
int t4vf_identify_port(struct adapter *, unsigned int, unsigned int);
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_common.h
401
int t4vf_set_rxmode(struct adapter *, unsigned int, int, int, int, int, int,
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_common.h
403
int t4vf_alloc_mac_filt(struct adapter *, unsigned int, bool, unsigned int,
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_common.h
405
int t4vf_free_mac_filt(struct adapter *, unsigned int, unsigned int naddr,
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_common.h
407
int t4vf_change_mac(struct adapter *, unsigned int, int, const u8 *, bool);
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_common.h
408
int t4vf_set_addr_hash(struct adapter *, unsigned int, bool, u64, bool);
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_common.h
409
int t4vf_get_port_stats(struct adapter *, int, struct t4vf_port_stats *);
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_common.h
411
int t4vf_iq_free(struct adapter *, unsigned int, unsigned int, unsigned int,
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_common.h
413
int t4vf_eth_eq_free(struct adapter *, unsigned int);
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_common.h
416
int t4vf_handle_fw_rpl(struct adapter *, const __be64 *);
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_common.h
417
int t4vf_prep_adapter(struct adapter *);
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_common.h
418
int t4vf_get_vf_mac_acl(struct adapter *adapter, unsigned int port,
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_common.h
420
int t4vf_get_vf_vlan_acl(struct adapter *adapter);
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
1015
int t4vf_get_rss_glb_config(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
1017
struct rss_params *rss = &adapter->params.rss;
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
1030
v = t4vf_wr_mbox(adapter, &cmd, sizeof(cmd), &rpl);
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
1090
int t4vf_get_vfres(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
1092
struct vf_resources *vfres = &adapter->params.vfres;
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
1106
v = t4vf_wr_mbox(adapter, &cmd, sizeof(cmd), &rpl);
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
1143
int t4vf_read_rss_vi_config(struct adapter *adapter, unsigned int viid,
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
1155
v = t4vf_wr_mbox(adapter, &cmd, sizeof(cmd), &rpl);
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
1159
switch (adapter->params.rss.mode) {
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
1194
int t4vf_write_rss_vi_config(struct adapter *adapter, unsigned int viid,
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
1205
switch (adapter->params.rss.mode) {
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
1229
return t4vf_wr_mbox(adapter, &cmd, sizeof(cmd), &rpl);
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
1247
int t4vf_config_rss_range(struct adapter *adapter, unsigned int viid,
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
129
int t4vf_wr_mbox_core(struct adapter *adapter, const void *cmd, int size,
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
1321
ret = t4vf_wr_mbox(adapter, &cmd, sizeof(cmd), NULL);
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
1337
int t4vf_alloc_vi(struct adapter *adapter, int port_id)
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
1354
v = t4vf_wr_mbox(adapter, &cmd, sizeof(cmd), &rpl);
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
1369
int t4vf_free_vi(struct adapter *adapter, int viid)
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
1383
return t4vf_wr_mbox(adapter, &cmd, sizeof(cmd), NULL);
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
1395
int t4vf_enable_vi(struct adapter *adapter, unsigned int viid,
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
1408
return t4vf_wr_mbox(adapter, &cmd, sizeof(cmd), NULL);
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
1423
int t4vf_enable_pi(struct adapter *adapter, struct port_info *pi,
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
1426
int ret = t4vf_enable_vi(adapter, pi->viid, rx_en, tx_en);
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
1430
t4vf_os_link_changed(adapter, pi->pidx,
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
1443
int t4vf_identify_port(struct adapter *adapter, unsigned int viid,
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
1456
return t4vf_wr_mbox(adapter, &cmd, sizeof(cmd), NULL);
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
1473
int t4vf_set_rxmode(struct adapter *adapter, unsigned int viid,
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
148
if (CHELSIO_CHIP_VERSION(adapter->params.chip) <= CHELSIO_T5)
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
1503
return t4vf_wr_mbox_core(adapter, &cmd, sizeof(cmd), NULL, sleep_ok);
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
1527
int t4vf_alloc_mac_filt(struct adapter *adapter, unsigned int viid, bool free,
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
1535
unsigned int max_naddr = adapter->params.arch.mps_tcam_size;
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
1567
ret = t4vf_wr_mbox_core(adapter, &cmd, sizeof(cmd), &rpl,
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
1613
int t4vf_free_mac_filt(struct adapter *adapter, unsigned int viid,
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
1619
unsigned int max_naddr = adapter->params.arch.mps_tcam_size;
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
1650
ret = t4vf_wr_mbox_core(adapter, &cmd, sizeof(cmd), &cmd,
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
166
spin_lock(&adapter->mbox_lock);
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
167
list_add_tail(&entry.list, &adapter->mlist.list);
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
168
spin_unlock(&adapter->mbox_lock);
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
1690
int t4vf_change_mac(struct adapter *adapter, unsigned int viid,
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
1698
unsigned int max_mac_addr = adapter->params.arch.mps_tcam_size;
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
1717
ret = t4vf_wr_mbox(adapter, &cmd, sizeof(cmd), &rpl);
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
1737
int t4vf_set_addr_hash(struct adapter *adapter, unsigned int viid,
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
1753
return t4vf_wr_mbox_core(adapter, &cmd, sizeof(cmd), NULL, sleep_ok);
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
1764
int t4vf_get_port_stats(struct adapter *adapter, int pidx,
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
1767
struct port_info *pi = adap2pinfo(adapter, pidx);
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
1795
ret = t4vf_wr_mbox_ns(adapter, &cmd, len, &rpl);
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
180
spin_lock(&adapter->mbox_lock);
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
182
spin_unlock(&adapter->mbox_lock);
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
184
t4vf_record_mbox(adapter, cmd, size, access, ret);
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
1840
int t4vf_iq_free(struct adapter *adapter, unsigned int iqtype,
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
1857
return t4vf_wr_mbox(adapter, &cmd, sizeof(cmd), NULL);
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
1867
int t4vf_eth_eq_free(struct adapter *adapter, unsigned int eqid)
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
1878
return t4vf_wr_mbox(adapter, &cmd, sizeof(cmd), NULL);
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
191
if (list_first_entry(&adapter->mlist.list, struct mbox_list,
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
1918
struct adapter *adapter = pi->adapter;
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
1979
dev_err(adapter->pdev_dev, "Handle Port Information: Bad Command/Action %#x\n",
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
2012
t4vf_os_portmod_changed(adapter, pi->pidx);
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
2021
dev_warn_ratelimited(adapter->pdev_dev,
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
2055
t4vf_os_link_changed(adapter, pi->pidx, link_ok);
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
2069
unsigned int fw_caps = pi->adapter->params.fw_caps_support;
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
2082
ret = t4vf_wr_mbox(pi->adapter, &port_cmd, sizeof(port_cmd),
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
2097
int t4vf_handle_fw_rpl(struct adapter *adapter, const __be64 *rpl)
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
210
v = MBOWNER_G(t4_read_reg(adapter, mbox_ctl));
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
2115
dev_err(adapter->pdev_dev,
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
212
v = MBOWNER_G(t4_read_reg(adapter, mbox_ctl));
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
2123
for_each_port(adapter, pidx) {
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
2124
struct port_info *pi = adap2pinfo(adapter, pidx);
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
2134
dev_err(adapter->pdev_dev, "Unknown firmware reply %X\n",
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
214
spin_lock(&adapter->mbox_lock);
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
2140
int t4vf_prep_adapter(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
2147
err = t4vf_wait_dev_ready(adapter);
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
2154
adapter->params.nports = 1;
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
2155
adapter->params.vfres.pmask = 1;
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
2156
adapter->params.vpd.cclk = 50000;
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
2158
adapter->params.chip = 0;
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
2159
switch (CHELSIO_PCI_ID_VER(adapter->pdev->device)) {
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
216
spin_unlock(&adapter->mbox_lock);
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
2161
adapter->params.chip |= CHELSIO_CHIP_CODE(CHELSIO_T4, 0);
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
2162
adapter->params.arch.sge_fl_db = DBPRIO_F;
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
2163
adapter->params.arch.mps_tcam_size =
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
2168
chipid = REV_G(t4_read_reg(adapter, PL_VF_REV_A));
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
2169
adapter->params.chip |= CHELSIO_CHIP_CODE(CHELSIO_T5, chipid);
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
2170
adapter->params.arch.sge_fl_db = DBPRIO_F | DBTYPE_F;
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
2171
adapter->params.arch.mps_tcam_size =
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
2176
chipid = REV_G(t4_read_reg(adapter, PL_VF_REV_A));
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
2177
adapter->params.chip |= CHELSIO_CHIP_CODE(CHELSIO_T6, chipid);
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
2178
adapter->params.arch.sge_fl_db = 0;
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
2179
adapter->params.arch.mps_tcam_size =
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
218
t4vf_record_mbox(adapter, cmd, size, access, ret);
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
2198
int t4vf_get_vf_mac_acl(struct adapter *adapter, unsigned int port,
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
2209
ret = t4vf_wr_mbox(adapter, &cmd, sizeof(cmd), &cmd);
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
2242
int t4vf_get_vf_vlan_acl(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
2254
ret = t4vf_wr_mbox(adapter, &cmd, sizeof(cmd), &cmd);
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
236
t4vf_record_mbox(adapter, cmd, size, access, 0);
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
238
t4_write_reg64(adapter, mbox_data + i, be64_to_cpu(*p++));
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
239
t4_read_reg(adapter, mbox_data); /* flush write */
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
241
t4_write_reg(adapter, mbox_ctl,
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
243
t4_read_reg(adapter, mbox_ctl); /* flush write */
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
263
v = t4_read_reg(adapter, mbox_ctl);
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
270
t4_write_reg(adapter, mbox_ctl,
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
282
get_mbox_rpl(adapter, cmd_rpl, size, mbox_data);
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
295
t4_write_reg(adapter, mbox_ctl,
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
299
t4vf_record_mbox(adapter, cmd_rpl, size, access,
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
301
spin_lock(&adapter->mbox_lock);
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
303
spin_unlock(&adapter->mbox_lock);
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
310
t4vf_record_mbox(adapter, cmd, size, access, ret);
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
311
spin_lock(&adapter->mbox_lock);
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
313
spin_unlock(&adapter->mbox_lock);
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
496
int t4vf_port_init(struct adapter *adapter, int pidx)
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
498
struct port_info *pi = adap2pinfo(adapter, pidx);
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
499
unsigned int fw_caps = adapter->params.fw_caps_support;
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
51
int t4vf_wait_dev_ready(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
519
ret = t4vf_set_params(adapter, 1, ¶m, &val);
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
521
adapter->params.fw_caps_support = fw_caps;
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
534
ret = t4vf_wr_mbox(adapter, &vi_cmd, sizeof(vi_cmd), &vi_rpl);
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
540
t4_os_set_hw_addr(adapter, pidx, vi_rpl.mac);
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
546
if (!(adapter->params.vfres.r_caps & FW_CMD_CAP_PORT))
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
559
ret = t4vf_wr_mbox(adapter, &port_cmd, sizeof(port_cmd), &port_rpl);
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
58
val = t4_read_reg(adapter, whoami);
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
601
int t4vf_fw_reset(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
609
return t4vf_wr_mbox(adapter, &cmd, sizeof(cmd), NULL);
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
62
val = t4_read_reg(adapter, whoami);
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
622
static int t4vf_query_params(struct adapter *adapter, unsigned int nparams,
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
643
ret = t4vf_wr_mbox(adapter, &cmd, sizeof(cmd), &rpl);
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
660
int t4vf_set_params(struct adapter *adapter, unsigned int nparams,
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
683
return t4vf_wr_mbox(adapter, &cmd, sizeof(cmd), NULL);
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
697
int t4vf_fl_pkt_align(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
702
sge_control = adapter->params.sge.sge_control;
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
716
if (CHELSIO_CHIP_VERSION(adapter->params.chip) <= CHELSIO_T5)
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
724
if (!is_t4(adapter->params.chip)) {
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
728
sge_control2 = adapter->params.sge.sge_control2;
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
73
static void get_mbox_rpl(struct adapter *adapter, __be64 *rpl, int size,
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
766
int t4vf_bar2_sge_qregs(struct adapter *adapter,
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
77
*rpl++ = cpu_to_be64(t4_read_reg64(adapter, mbox_data));
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
778
if (is_t4(adapter->params.chip))
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
783
page_shift = adapter->params.sge.sge_vf_hps + 10;
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
789
? adapter->params.sge.sge_vf_eq_qpp
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
790
: adapter->params.sge.sge_vf_iq_qpp);
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
830
unsigned int t4vf_get_pf_from_vf(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
834
whoami = t4_read_reg(adapter, T4VF_PL_BASE_ADDR + PL_VF_WHOAMI_A);
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
835
return (CHELSIO_CHIP_VERSION(adapter->params.chip) <= CHELSIO_T5 ?
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
847
int t4vf_get_sge_params(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
849
struct sge_params *sge_params = &adapter->params.sge;
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
867
v = t4vf_query_params(adapter, 7, params, vals);
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
88
static void t4vf_record_mbox(struct adapter *adapter, const __be64 *cmd,
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
888
if (!is_t4(adapter->params.chip)) {
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
891
v = t4vf_query_params(adapter, 1, params, vals);
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
893
dev_err(adapter->pdev_dev,
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
905
v = t4vf_query_params(adapter, 2, params, vals);
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
91
struct mbox_cmd_log *log = adapter->mbox_log;
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
915
if (!is_t4(adapter->params.chip)) {
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
924
v = t4vf_query_params(adapter, 2, params, vals);
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
926
dev_warn(adapter->pdev_dev,
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
939
pf = t4vf_get_pf_from_vf(adapter);
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
966
int t4vf_get_vpd_params(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
968
struct vpd_params *vpd_params = &adapter->params.vpd;
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
974
v = t4vf_query_params(adapter, 1, params, vals);
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
989
int t4vf_get_dev_params(struct adapter *adapter)
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
991
struct dev_params *dev_params = &adapter->params.dev;
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
999
v = t4vf_query_params(adapter, 2, params, vals);
drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec/chcr_ipsec.c
414
struct adapter *adap;
drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec/chcr_ipsec.c
424
adap = pi->adapter;
drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec/chcr_ipsec.c
465
struct adapter *adap;
drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec/chcr_ipsec.c
472
adap = pi->adapter;
drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec/chcr_ipsec.c
510
struct adapter *adap;
drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec/chcr_ipsec.c
515
adap = pi->adapter;
drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec/chcr_ipsec.c
557
struct adapter *adap = pi->adapter;
drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec/chcr_ipsec.c
713
struct adapter *adap;
drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec/chcr_ipsec.c
729
adap = pi->adapter;
drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec/chcr_ipsec.c
802
struct adapter *adap;
drivers/net/ethernet/chelsio/inline_crypto/ch_ktls/chcr_ktls.c
1104
struct adapter *adap = tx_info->adap;
drivers/net/ethernet/chelsio/inline_crypto/ch_ktls/chcr_ktls.c
1279
struct adapter *adap = tx_info->adap;
drivers/net/ethernet/chelsio/inline_crypto/ch_ktls/chcr_ktls.c
1932
struct adapter *adap;
drivers/net/ethernet/chelsio/inline_crypto/ch_ktls/chcr_ktls.c
2148
struct adapter *adap;
drivers/net/ethernet/chelsio/inline_crypto/ch_ktls/chcr_ktls.c
2249
struct adapter *adap;
drivers/net/ethernet/chelsio/inline_crypto/ch_ktls/chcr_ktls.c
422
struct adapter *adap;
drivers/net/ethernet/chelsio/inline_crypto/ch_ktls/chcr_ktls.c
429
adap = pi->adapter;
drivers/net/ethernet/chelsio/inline_crypto/ch_ktls/chcr_ktls.c
641
static int chcr_ktls_cpl_act_open_rpl(struct adapter *adap,
drivers/net/ethernet/chelsio/inline_crypto/ch_ktls/chcr_ktls.c
711
static int chcr_ktls_cpl_set_tcb_rpl(struct adapter *adap, unsigned char *input)
drivers/net/ethernet/chelsio/inline_crypto/ch_ktls/chcr_ktls.h
110
static inline int chcr_get_first_rx_qid(struct adapter *adap)
drivers/net/ethernet/chelsio/inline_crypto/ch_ktls/chcr_ktls.h
120
typedef int (*chcr_handler_func)(struct adapter *adap, unsigned char *input);
drivers/net/ethernet/chelsio/inline_crypto/ch_ktls/chcr_ktls.h
41
struct adapter *adap;
drivers/net/ethernet/chelsio/inline_crypto/chtls/chtls_cm.c
1116
struct adapter *adap = pci_get_drvdata(cdev->pdev);
drivers/net/ethernet/chelsio/inline_crypto/chtls/chtls_cm.c
650
struct adapter *adap;
drivers/net/ethernet/chelsio/inline_crypto/chtls/chtls_cm.c
662
adap = pi->adapter;
drivers/net/ethernet/chelsio/inline_crypto/chtls/chtls_cm.c
96
struct adapter *adap = pci_get_drvdata(cdev->pdev);
drivers/net/ethernet/chelsio/inline_crypto/chtls/chtls_hw.c
174
struct adapter *adap;
drivers/net/ethernet/chelsio/inline_crypto/chtls/chtls_hw.c
202
struct adapter *adap;
drivers/net/ethernet/chelsio/inline_crypto/chtls/chtls_io.c
1340
struct adapter *adap = netdev2adap(dev);
drivers/net/ethernet/chelsio/inline_crypto/chtls/chtls_io.c
347
struct adapter *adap;
drivers/net/ethernet/chelsio/inline_crypto/chtls/chtls_main.c
179
struct adapter *adap;
drivers/net/ethernet/emulex/benet/be.h
184
struct be_adapter *adapter;
drivers/net/ethernet/emulex/benet/be.h
290
struct be_adapter *adapter;
drivers/net/ethernet/emulex/benet/be.h
430
#define be_is_os2bmc_enabled(adapter) (adapter->flags & BE_FLAGS_OS2BMC)
drivers/net/ethernet/emulex/benet/be.h
678
struct be_adapter *adapter;
drivers/net/ethernet/emulex/benet/be.h
681
#define be_physfn(adapter) (!adapter->virtfn)
drivers/net/ethernet/emulex/benet/be.h
682
#define be_virtfn(adapter) (adapter->virtfn)
drivers/net/ethernet/emulex/benet/be.h
683
#define sriov_enabled(adapter) (adapter->flags & \
drivers/net/ethernet/emulex/benet/be.h
686
#define for_all_vfs(adapter, vf_cfg, i) \
drivers/net/ethernet/emulex/benet/be.h
687
for (i = 0, vf_cfg = &adapter->vf_cfg[i]; i < adapter->num_vfs; \
drivers/net/ethernet/emulex/benet/be.h
693
#define be_max_vlans(adapter) (adapter->res.max_vlans)
drivers/net/ethernet/emulex/benet/be.h
694
#define be_max_uc(adapter) (adapter->res.max_uc_mac)
drivers/net/ethernet/emulex/benet/be.h
695
#define be_max_mc(adapter) (adapter->res.max_mcast_mac)
drivers/net/ethernet/emulex/benet/be.h
696
#define be_max_vfs(adapter) (adapter->pool_res.max_vfs)
drivers/net/ethernet/emulex/benet/be.h
697
#define be_max_rss(adapter) (adapter->res.max_rss_qs)
drivers/net/ethernet/emulex/benet/be.h
698
#define be_max_txqs(adapter) (adapter->res.max_tx_qs)
drivers/net/ethernet/emulex/benet/be.h
699
#define be_max_prio_txqs(adapter) (adapter->res.max_prio_tx_qs)
drivers/net/ethernet/emulex/benet/be.h
700
#define be_max_rxqs(adapter) (adapter->res.max_rx_qs)
drivers/net/ethernet/emulex/benet/be.h
702
#define be_max_func_eqs(adapter) (adapter->res.max_evt_qs)
drivers/net/ethernet/emulex/benet/be.h
704
#define be_max_nic_eqs(adapter) (adapter->res.max_nic_evt_qs)
drivers/net/ethernet/emulex/benet/be.h
705
#define be_if_cap_flags(adapter) (adapter->res.if_cap_flags)
drivers/net/ethernet/emulex/benet/be.h
706
#define be_max_pf_pool_rss_tables(adapter) \
drivers/net/ethernet/emulex/benet/be.h
707
(adapter->pool_res.max_rss_tables)
drivers/net/ethernet/emulex/benet/be.h
709
#define be_max_irqs(adapter) \
drivers/net/ethernet/emulex/benet/be.h
710
(min_t(u16, be_max_nic_eqs(adapter), num_online_cpus()))
drivers/net/ethernet/emulex/benet/be.h
713
static inline u16 be_max_rx_irqs(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be.h
716
u16 num = max_t(u16, be_max_rss(adapter), 1);
drivers/net/ethernet/emulex/benet/be.h
718
return min_t(u16, num, be_max_irqs(adapter));
drivers/net/ethernet/emulex/benet/be.h
722
static inline u16 be_max_tx_irqs(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be.h
724
return min_t(u16, be_max_txqs(adapter), be_max_irqs(adapter));
drivers/net/ethernet/emulex/benet/be.h
728
static inline u16 be_max_qp_irqs(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be.h
730
return min(be_max_tx_irqs(adapter), be_max_rx_irqs(adapter));
drivers/net/ethernet/emulex/benet/be.h
734
static inline u16 be_max_any_irqs(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be.h
736
return max(be_max_tx_irqs(adapter), be_max_rx_irqs(adapter));
drivers/net/ethernet/emulex/benet/be.h
740
#define be_pvid_tagging_enabled(adapter) (adapter->pvid)
drivers/net/ethernet/emulex/benet/be.h
743
#define be_is_qnq_mode(adapter) (adapter->function_mode & QNQ_MODE)
drivers/net/ethernet/emulex/benet/be.h
746
#define lancer_chip(adapter) (adapter->pdev->device == OC_DEVICE_ID3 || \
drivers/net/ethernet/emulex/benet/be.h
747
adapter->pdev->device == OC_DEVICE_ID4)
drivers/net/ethernet/emulex/benet/be.h
749
#define lancer_chip(adapter) (0)
drivers/net/ethernet/emulex/benet/be.h
753
#define skyhawk_chip(adapter) (adapter->pdev->device == OC_DEVICE_ID5 || \
drivers/net/ethernet/emulex/benet/be.h
754
adapter->pdev->device == OC_DEVICE_ID6)
drivers/net/ethernet/emulex/benet/be.h
756
#define skyhawk_chip(adapter) (0)
drivers/net/ethernet/emulex/benet/be.h
760
#define BE3_chip(adapter) (adapter->pdev->device == BE_DEVICE_ID2 || \
drivers/net/ethernet/emulex/benet/be.h
761
adapter->pdev->device == OC_DEVICE_ID2)
drivers/net/ethernet/emulex/benet/be.h
763
#define BE3_chip(adapter) (0)
drivers/net/ethernet/emulex/benet/be.h
767
#define BE2_chip(adapter) (adapter->pdev->device == BE_DEVICE_ID1 || \
drivers/net/ethernet/emulex/benet/be.h
768
adapter->pdev->device == OC_DEVICE_ID1)
drivers/net/ethernet/emulex/benet/be.h
770
#define BE2_chip(adapter) (0)
drivers/net/ethernet/emulex/benet/be.h
773
#define BEx_chip(adapter) (BE3_chip(adapter) || BE2_chip(adapter))
drivers/net/ethernet/emulex/benet/be.h
775
#define be_roce_supported(adapter) (skyhawk_chip(adapter) && \
drivers/net/ethernet/emulex/benet/be.h
776
(adapter->function_mode & RDMA_ENABLED))
drivers/net/ethernet/emulex/benet/be.h
780
#define msix_enabled(adapter) (adapter->num_msix_vec > 0)
drivers/net/ethernet/emulex/benet/be.h
781
#define num_irqs(adapter) (msix_enabled(adapter) ? \
drivers/net/ethernet/emulex/benet/be.h
782
adapter->num_msix_vec : 1)
drivers/net/ethernet/emulex/benet/be.h
789
#define for_all_rx_queues(adapter, rxo, i) \
drivers/net/ethernet/emulex/benet/be.h
790
for (i = 0, rxo = &adapter->rx_obj[i]; i < adapter->num_rx_qs; \
drivers/net/ethernet/emulex/benet/be.h
793
#define for_all_rss_queues(adapter, rxo, i) \
drivers/net/ethernet/emulex/benet/be.h
794
for (i = 0, rxo = &adapter->rx_obj[i]; i < adapter->num_rss_qs; \
drivers/net/ethernet/emulex/benet/be.h
797
#define for_all_tx_queues(adapter, txo, i) \
drivers/net/ethernet/emulex/benet/be.h
798
for (i = 0, txo = &adapter->tx_obj[i]; i < adapter->num_tx_qs; \
drivers/net/ethernet/emulex/benet/be.h
801
#define for_all_evt_queues(adapter, eqo, i) \
drivers/net/ethernet/emulex/benet/be.h
802
for (i = 0, eqo = &adapter->eq_obj[i]; i < adapter->num_evt_qs; \
drivers/net/ethernet/emulex/benet/be.h
805
#define for_all_rx_queues_on_eq(adapter, eqo, rxo, i) \
drivers/net/ethernet/emulex/benet/be.h
806
for (i = eqo->idx, rxo = &adapter->rx_obj[i]; i < adapter->num_rx_qs;\
drivers/net/ethernet/emulex/benet/be.h
807
i += adapter->num_evt_qs, rxo += adapter->num_evt_qs)
drivers/net/ethernet/emulex/benet/be.h
809
#define for_all_tx_queues_on_eq(adapter, eqo, txo, i) \
drivers/net/ethernet/emulex/benet/be.h
810
for (i = eqo->idx, txo = &adapter->tx_obj[i]; i < adapter->num_tx_qs;\
drivers/net/ethernet/emulex/benet/be.h
811
i += adapter->num_evt_qs, txo += adapter->num_evt_qs)
drivers/net/ethernet/emulex/benet/be.h
814
#define mcc_eqo(adapter) (&adapter->eq_obj[0])
drivers/net/ethernet/emulex/benet/be.h
927
#define be_error_recovering(adapter) \
drivers/net/ethernet/emulex/benet/be.h
928
(adapter->flags & BE_FLAGS_TRY_RECOVERY)
drivers/net/ethernet/emulex/benet/be.h
939
static inline u8 be_check_error(struct be_adapter *adapter, u32 err_type)
drivers/net/ethernet/emulex/benet/be.h
941
return (adapter->err_flags & err_type);
drivers/net/ethernet/emulex/benet/be.h
944
static inline void be_set_error(struct be_adapter *adapter, int err_type)
drivers/net/ethernet/emulex/benet/be.h
946
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/emulex/benet/be.h
948
adapter->err_flags |= err_type;
drivers/net/ethernet/emulex/benet/be.h
951
dev_info(&adapter->pdev->dev, "%s: Link down\n", netdev->name);
drivers/net/ethernet/emulex/benet/be.h
954
static inline void be_clear_error(struct be_adapter *adapter, int err_type)
drivers/net/ethernet/emulex/benet/be.h
956
adapter->err_flags &= ~err_type;
drivers/net/ethernet/emulex/benet/be.h
959
static inline bool be_multi_rxq(const struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be.h
961
return adapter->num_rx_qs > 1;
drivers/net/ethernet/emulex/benet/be.h
964
void be_cq_notify(struct be_adapter *adapter, u16 qid, bool arm,
drivers/net/ethernet/emulex/benet/be.h
966
void be_link_status_update(struct be_adapter *adapter, u8 link_status);
drivers/net/ethernet/emulex/benet/be.h
967
void be_parse_stats(struct be_adapter *adapter);
drivers/net/ethernet/emulex/benet/be.h
968
int be_load_fw(struct be_adapter *adapter, u8 *func);
drivers/net/ethernet/emulex/benet/be.h
969
bool be_pause_supported(struct be_adapter *adapter);
drivers/net/ethernet/emulex/benet/be.h
970
int be_update_queues(struct be_adapter *adapter);
drivers/net/ethernet/emulex/benet/be.h
972
void be_eqd_update(struct be_adapter *adapter, bool force_update);
drivers/net/ethernet/emulex/benet/be_cmds.c
1002
if (mutex_lock_interruptible(&adapter->mbox_lock))
drivers/net/ethernet/emulex/benet/be_cmds.c
1005
wrb = wrb_from_mbox(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
1013
if (!(BEx_chip(adapter) || lancer_chip(adapter)))
drivers/net/ethernet/emulex/benet/be_cmds.c
1028
status = be_mbox_notify_wait(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
103
u32 cmd_privileges = adapter->cmd_privileges;
drivers/net/ethernet/emulex/benet/be_cmds.c
1038
mutex_unlock(&adapter->mbox_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
1043
int be_cmd_mac_addr_query(struct be_adapter *adapter, u8 *mac_addr,
drivers/net/ethernet/emulex/benet/be_cmds.c
1050
spin_lock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
1052
wrb = wrb_from_mccq(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
1071
status = be_mcc_notify_wait(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
1079
spin_unlock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
1084
int be_cmd_pmac_add(struct be_adapter *adapter, const u8 *mac_addr,
drivers/net/ethernet/emulex/benet/be_cmds.c
1091
spin_lock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
1093
wrb = wrb_from_mccq(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
1108
status = be_mcc_notify_wait(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
1116
spin_unlock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
1125
int be_cmd_pmac_del(struct be_adapter *adapter, u32 if_id, int pmac_id, u32 dom)
drivers/net/ethernet/emulex/benet/be_cmds.c
1134
spin_lock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
1136
wrb = wrb_from_mccq(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
1151
status = be_mcc_notify_wait(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
1154
spin_unlock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
1159
int be_cmd_cq_create(struct be_adapter *adapter, struct be_queue_info *cq,
drivers/net/ethernet/emulex/benet/be_cmds.c
1168
if (mutex_lock_interruptible(&adapter->mbox_lock))
drivers/net/ethernet/emulex/benet/be_cmds.c
1171
wrb = wrb_from_mbox(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
1181
if (BEx_chip(adapter)) {
drivers/net/ethernet/emulex/benet/be_cmds.c
119
static int be_mcc_notify(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_cmds.c
1198
if (!lancer_chip(adapter))
drivers/net/ethernet/emulex/benet/be_cmds.c
121
struct be_queue_info *mccq = &adapter->mcc_obj.q;
drivers/net/ethernet/emulex/benet/be_cmds.c
1214
status = be_mbox_notify_wait(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
1222
mutex_unlock(&adapter->mbox_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
1236
static int be_cmd_mccq_ext_create(struct be_adapter *adapter,
drivers/net/ethernet/emulex/benet/be_cmds.c
124
if (be_check_error(adapter, BE_ERROR_ANY))
drivers/net/ethernet/emulex/benet/be_cmds.c
1246
if (mutex_lock_interruptible(&adapter->mbox_lock))
drivers/net/ethernet/emulex/benet/be_cmds.c
1249
wrb = wrb_from_mbox(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
1258
if (BEx_chip(adapter)) {
drivers/net/ethernet/emulex/benet/be_cmds.c
1289
status = be_mbox_notify_wait(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
1296
mutex_unlock(&adapter->mbox_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
1301
static int be_cmd_mccq_org_create(struct be_adapter *adapter,
drivers/net/ethernet/emulex/benet/be_cmds.c
131
iowrite32(val, adapter->db + DB_MCCQ_OFFSET);
drivers/net/ethernet/emulex/benet/be_cmds.c
1311
if (mutex_lock_interruptible(&adapter->mbox_lock))
drivers/net/ethernet/emulex/benet/be_cmds.c
1314
wrb = wrb_from_mbox(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
1333
status = be_mbox_notify_wait(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
1341
mutex_unlock(&adapter->mbox_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
1345
int be_cmd_mccq_create(struct be_adapter *adapter,
drivers/net/ethernet/emulex/benet/be_cmds.c
1350
status = be_cmd_mccq_ext_create(adapter, mccq, cq);
drivers/net/ethernet/emulex/benet/be_cmds.c
1351
if (status && BEx_chip(adapter)) {
drivers/net/ethernet/emulex/benet/be_cmds.c
1352
dev_warn(&adapter->pdev->dev, "Upgrade to F/W ver 2.102.235.0 "
drivers/net/ethernet/emulex/benet/be_cmds.c
1355
status = be_cmd_mccq_org_create(adapter, mccq, cq);
drivers/net/ethernet/emulex/benet/be_cmds.c
1360
int be_cmd_txq_create(struct be_adapter *adapter, struct be_tx_obj *txo)
drivers/net/ethernet/emulex/benet/be_cmds.c
1373
if (lancer_chip(adapter)) {
drivers/net/ethernet/emulex/benet/be_cmds.c
1375
} else if (BEx_chip(adapter)) {
drivers/net/ethernet/emulex/benet/be_cmds.c
1376
if (adapter->function_caps & BE_FUNCTION_CAPS_SUPER_NIC)
drivers/net/ethernet/emulex/benet/be_cmds.c
1383
req->if_id = cpu_to_le16(adapter->if_handle);
drivers/net/ethernet/emulex/benet/be_cmds.c
1392
status = be_cmd_notify_wait(adapter, &wrb);
drivers/net/ethernet/emulex/benet/be_cmds.c
1408
int be_cmd_rxq_create(struct be_adapter *adapter,
drivers/net/ethernet/emulex/benet/be_cmds.c
1417
spin_lock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
1419
wrb = wrb_from_mccq(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
1437
status = be_mcc_notify_wait(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
1447
spin_unlock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
1454
int be_cmd_q_destroy(struct be_adapter *adapter, struct be_queue_info *q,
drivers/net/ethernet/emulex/benet/be_cmds.c
1462
if (mutex_lock_interruptible(&adapter->mbox_lock))
drivers/net/ethernet/emulex/benet/be_cmds.c
1465
wrb = wrb_from_mbox(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
1497
status = be_mbox_notify_wait(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
1500
mutex_unlock(&adapter->mbox_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
1505
int be_cmd_rxq_destroy(struct be_adapter *adapter, struct be_queue_info *q)
drivers/net/ethernet/emulex/benet/be_cmds.c
1511
spin_lock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
1513
wrb = wrb_from_mccq(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
1524
status = be_mcc_notify_wait(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
1528
spin_unlock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
1535
int be_cmd_if_create(struct be_adapter *adapter, u32 cap_flags, u32 en_flags,
drivers/net/ethernet/emulex/benet/be_cmds.c
1551
status = be_cmd_notify_wait(adapter, &wrb);
drivers/net/ethernet/emulex/benet/be_cmds.c
1558
if (BE3_chip(adapter) && be_virtfn(adapter))
drivers/net/ethernet/emulex/benet/be_cmds.c
1559
adapter->pmac_id[0] = le32_to_cpu(resp->pmac_id);
drivers/net/ethernet/emulex/benet/be_cmds.c
1565
int be_cmd_if_destroy(struct be_adapter *adapter, int interface_id, u32 domain)
drivers/net/ethernet/emulex/benet/be_cmds.c
1582
status = be_cmd_notify_wait(adapter, &wrb);
drivers/net/ethernet/emulex/benet/be_cmds.c
1590
int be_cmd_get_stats(struct be_adapter *adapter, struct be_dma_mem *nonemb_cmd)
drivers/net/ethernet/emulex/benet/be_cmds.c
1596
spin_lock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
1598
wrb = wrb_from_mccq(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
1610
if (BE2_chip(adapter))
drivers/net/ethernet/emulex/benet/be_cmds.c
1612
else if (BE3_chip(adapter) || lancer_chip(adapter))
drivers/net/ethernet/emulex/benet/be_cmds.c
1617
status = be_mcc_notify(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
1621
adapter->stats_cmd_sent = true;
drivers/net/ethernet/emulex/benet/be_cmds.c
1624
spin_unlock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
1629
int lancer_cmd_get_pport_stats(struct be_adapter *adapter,
drivers/net/ethernet/emulex/benet/be_cmds.c
1636
if (!be_cmd_allowed(adapter, OPCODE_ETH_GET_PPORT_STATS,
drivers/net/ethernet/emulex/benet/be_cmds.c
1640
spin_lock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
1642
wrb = wrb_from_mccq(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
1653
req->cmd_params.params.pport_num = cpu_to_le16(adapter->hba_port_num);
drivers/net/ethernet/emulex/benet/be_cmds.c
1656
status = be_mcc_notify(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
1660
adapter->stats_cmd_sent = true;
drivers/net/ethernet/emulex/benet/be_cmds.c
1663
spin_unlock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
1693
int be_cmd_link_status_query(struct be_adapter *adapter, u16 *link_speed,
drivers/net/ethernet/emulex/benet/be_cmds.c
1700
spin_lock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
1705
wrb = wrb_from_mccq(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
1717
if (!BE2_chip(adapter))
drivers/net/ethernet/emulex/benet/be_cmds.c
1722
status = be_mcc_notify_wait(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
1739
spin_unlock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
1744
int be_cmd_get_die_temperature(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_cmds.c
1750
spin_lock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
1752
wrb = wrb_from_mccq(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
1763
status = be_mcc_notify(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
1765
spin_unlock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
1770
int be_cmd_get_fat_dump_len(struct be_adapter *adapter, u32 *dump_size)
drivers/net/ethernet/emulex/benet/be_cmds.c
1782
status = be_cmd_notify_wait(adapter, &wrb);
drivers/net/ethernet/emulex/benet/be_cmds.c
1793
int be_cmd_get_fat_dump(struct be_adapter *adapter, u32 buf_len, void *buf)
drivers/net/ethernet/emulex/benet/be_cmds.c
1808
get_fat_cmd.va = dma_alloc_coherent(&adapter->pdev->dev,
drivers/net/ethernet/emulex/benet/be_cmds.c
1814
spin_lock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
1820
wrb = wrb_from_mccq(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
1837
status = be_mcc_notify_wait(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
1845
dev_err(&adapter->pdev->dev, "FAT Table Retrieve error\n");
drivers/net/ethernet/emulex/benet/be_cmds.c
1852
spin_unlock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
1853
dma_free_coherent(&adapter->pdev->dev, get_fat_cmd.size,
drivers/net/ethernet/emulex/benet/be_cmds.c
1859
int be_cmd_get_fw_ver(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_cmds.c
186
static void be_async_cmd_process(struct be_adapter *adapter,
drivers/net/ethernet/emulex/benet/be_cmds.c
1865
spin_lock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
1867
wrb = wrb_from_mccq(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
1878
status = be_mcc_notify_wait(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
1882
strscpy(adapter->fw_ver, resp->firmware_version_string,
drivers/net/ethernet/emulex/benet/be_cmds.c
1883
sizeof(adapter->fw_ver));
drivers/net/ethernet/emulex/benet/be_cmds.c
1884
strscpy(adapter->fw_on_flash, resp->fw_on_flash_version_string,
drivers/net/ethernet/emulex/benet/be_cmds.c
1885
sizeof(adapter->fw_on_flash));
drivers/net/ethernet/emulex/benet/be_cmds.c
1888
spin_unlock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
1895
static int __be_cmd_modify_eqd(struct be_adapter *adapter,
drivers/net/ethernet/emulex/benet/be_cmds.c
1902
spin_lock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
1904
wrb = wrb_from_mccq(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
1923
status = be_mcc_notify(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
1925
spin_unlock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
1929
int be_cmd_modify_eqd(struct be_adapter *adapter, struct be_set_eqd *set_eqd,
drivers/net/ethernet/emulex/benet/be_cmds.c
1936
__be_cmd_modify_eqd(adapter, &set_eqd[i], num_eqs);
drivers/net/ethernet/emulex/benet/be_cmds.c
1945
int be_cmd_vlan_config(struct be_adapter *adapter, u32 if_id, u16 *vtag_array,
drivers/net/ethernet/emulex/benet/be_cmds.c
1952
spin_lock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
1954
wrb = wrb_from_mccq(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
1967
req->untagged = BE_IF_FLAGS_UNTAGGED & be_if_cap_flags(adapter) ? 1 : 0;
drivers/net/ethernet/emulex/benet/be_cmds.c
1972
status = be_mcc_notify_wait(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
1974
spin_unlock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
1978
static int __be_cmd_rx_filter(struct be_adapter *adapter, u32 flags, u32 value)
drivers/net/ethernet/emulex/benet/be_cmds.c
1981
struct be_dma_mem *mem = &adapter->rx_filter;
drivers/net/ethernet/emulex/benet/be_cmds.c
1985
spin_lock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
1987
wrb = wrb_from_mccq(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
1997
req->if_id = cpu_to_le32(adapter->if_handle);
drivers/net/ethernet/emulex/benet/be_cmds.c
200
complete(&adapter->et_cmd_compl);
drivers/net/ethernet/emulex/benet/be_cmds.c
2009
be_if_cap_flags(adapter));
drivers/net/ethernet/emulex/benet/be_cmds.c
2010
req->mcast_num = cpu_to_le32(adapter->mc_count);
drivers/net/ethernet/emulex/benet/be_cmds.c
2011
for (i = 0; i < adapter->mc_count; i++)
drivers/net/ethernet/emulex/benet/be_cmds.c
2013
adapter->mc_list[i].mac);
drivers/net/ethernet/emulex/benet/be_cmds.c
2016
status = be_mcc_notify_wait(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
2018
spin_unlock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
2022
int be_cmd_rx_filter(struct be_adapter *adapter, u32 flags, u32 value)
drivers/net/ethernet/emulex/benet/be_cmds.c
2024
struct device *dev = &adapter->pdev->dev;
drivers/net/ethernet/emulex/benet/be_cmds.c
2026
if ((flags & be_if_cap_flags(adapter)) != flags) {
drivers/net/ethernet/emulex/benet/be_cmds.c
2029
be_if_cap_flags(adapter));
drivers/net/ethernet/emulex/benet/be_cmds.c
2031
flags &= be_if_cap_flags(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
2035
return __be_cmd_rx_filter(adapter, flags, value);
drivers/net/ethernet/emulex/benet/be_cmds.c
2039
int be_cmd_set_flow_control(struct be_adapter *adapter, u32 tx_fc, u32 rx_fc)
drivers/net/ethernet/emulex/benet/be_cmds.c
2045
if (!be_cmd_allowed(adapter, OPCODE_COMMON_SET_FLOW_CONTROL,
drivers/net/ethernet/emulex/benet/be_cmds.c
2049
spin_lock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
2051
wrb = wrb_from_mccq(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
206
complete(&adapter->et_cmd_compl);
drivers/net/ethernet/emulex/benet/be_cmds.c
2066
status = be_mcc_notify_wait(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
2069
spin_unlock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
2078
int be_cmd_get_flow_control(struct be_adapter *adapter, u32 *tx_fc, u32 *rx_fc)
drivers/net/ethernet/emulex/benet/be_cmds.c
2084
if (!be_cmd_allowed(adapter, OPCODE_COMMON_GET_FLOW_CONTROL,
drivers/net/ethernet/emulex/benet/be_cmds.c
2088
spin_lock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
2090
wrb = wrb_from_mccq(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
2101
status = be_mcc_notify_wait(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
2111
spin_unlock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
2116
int be_cmd_query_fw_cfg(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_cmds.c
2122
if (mutex_lock_interruptible(&adapter->mbox_lock))
drivers/net/ethernet/emulex/benet/be_cmds.c
2125
wrb = wrb_from_mbox(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
213
adapter->flash_status = compl->status;
drivers/net/ethernet/emulex/benet/be_cmds.c
2132
status = be_mbox_notify_wait(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
2136
adapter->port_num = le32_to_cpu(resp->phys_port);
drivers/net/ethernet/emulex/benet/be_cmds.c
2137
adapter->function_mode = le32_to_cpu(resp->function_mode);
drivers/net/ethernet/emulex/benet/be_cmds.c
2138
adapter->function_caps = le32_to_cpu(resp->function_caps);
drivers/net/ethernet/emulex/benet/be_cmds.c
2139
adapter->asic_rev = le32_to_cpu(resp->asic_revision) & 0xFF;
drivers/net/ethernet/emulex/benet/be_cmds.c
214
complete(&adapter->et_cmd_compl);
drivers/net/ethernet/emulex/benet/be_cmds.c
2140
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/emulex/benet/be_cmds.c
2142
adapter->function_mode, adapter->function_caps);
drivers/net/ethernet/emulex/benet/be_cmds.c
2145
mutex_unlock(&adapter->mbox_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
2150
int be_cmd_reset_function(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_cmds.c
2156
if (lancer_chip(adapter)) {
drivers/net/ethernet/emulex/benet/be_cmds.c
2158
adapter->db + SLIPORT_CONTROL_OFFSET);
drivers/net/ethernet/emulex/benet/be_cmds.c
2159
status = lancer_wait_ready(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
2161
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/emulex/benet/be_cmds.c
2166
if (mutex_lock_interruptible(&adapter->mbox_lock))
drivers/net/ethernet/emulex/benet/be_cmds.c
2169
wrb = wrb_from_mbox(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
2176
status = be_mbox_notify_wait(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
2178
mutex_unlock(&adapter->mbox_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
2182
int be_cmd_rss_config(struct be_adapter *adapter, u8 *rsstable,
drivers/net/ethernet/emulex/benet/be_cmds.c
2189
if (!(be_if_cap_flags(adapter) & BE_IF_FLAGS_RSS))
drivers/net/ethernet/emulex/benet/be_cmds.c
2192
spin_lock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
2194
wrb = wrb_from_mccq(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
2204
req->if_id = cpu_to_le32(adapter->if_handle);
drivers/net/ethernet/emulex/benet/be_cmds.c
2208
if (!BEx_chip(adapter))
drivers/net/ethernet/emulex/benet/be_cmds.c
2215
status = be_mcc_notify_wait(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
2217
spin_unlock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
222
be_parse_stats(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
2222
int be_cmd_set_beacon_state(struct be_adapter *adapter, u8 port_num,
drivers/net/ethernet/emulex/benet/be_cmds.c
2229
spin_lock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
223
adapter->stats_cmd_sent = false;
drivers/net/ethernet/emulex/benet/be_cmds.c
2231
wrb = wrb_from_mccq(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
2247
status = be_mcc_notify_wait(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
2250
spin_unlock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
2255
int be_cmd_get_beacon_state(struct be_adapter *adapter, u8 port_num, u32 *state)
drivers/net/ethernet/emulex/benet/be_cmds.c
2261
spin_lock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
2263
wrb = wrb_from_mccq(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
2276
status = be_mcc_notify_wait(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
2285
spin_unlock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
2290
int be_cmd_read_port_transceiver_data(struct be_adapter *adapter,
drivers/net/ethernet/emulex/benet/be_cmds.c
2302
cmd.va = dma_alloc_coherent(&adapter->pdev->dev, cmd.size, &cmd.dma,
drivers/net/ethernet/emulex/benet/be_cmds.c
2305
dev_err(&adapter->pdev->dev, "Memory allocation failed\n");
drivers/net/ethernet/emulex/benet/be_cmds.c
2309
spin_lock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
2311
wrb = wrb_from_mccq(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
232
adapter->hwmon_info.be_on_die_temp =
drivers/net/ethernet/emulex/benet/be_cmds.c
2322
req->port = cpu_to_le32(adapter->hba_port_num);
drivers/net/ethernet/emulex/benet/be_cmds.c
2324
status = be_mcc_notify_wait(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
2331
spin_unlock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
2332
dma_free_coherent(&adapter->pdev->dev, cmd.size, cmd.va, cmd.dma);
drivers/net/ethernet/emulex/benet/be_cmds.c
2336
static int lancer_cmd_write_object(struct be_adapter *adapter,
drivers/net/ethernet/emulex/benet/be_cmds.c
2348
spin_lock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
2349
adapter->flash_status = 0;
drivers/net/ethernet/emulex/benet/be_cmds.c
235
adapter->be_get_temp_freq = 0;
drivers/net/ethernet/emulex/benet/be_cmds.c
2351
wrb = wrb_from_mccq(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
236
adapter->hwmon_info.be_on_die_temp =
drivers/net/ethernet/emulex/benet/be_cmds.c
2386
status = be_mcc_notify(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
2390
spin_unlock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
2392
if (!wait_for_completion_timeout(&adapter->et_cmd_compl,
drivers/net/ethernet/emulex/benet/be_cmds.c
2396
status = adapter->flash_status;
drivers/net/ethernet/emulex/benet/be_cmds.c
2409
spin_unlock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
2413
int be_cmd_query_cable_type(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_cmds.c
2418
status = be_cmd_read_port_transceiver_data(adapter, TR_PAGE_A0,
drivers/net/ethernet/emulex/benet/be_cmds.c
2421
switch (adapter->phy.interface_type) {
drivers/net/ethernet/emulex/benet/be_cmds.c
2423
adapter->phy.cable_type =
drivers/net/ethernet/emulex/benet/be_cmds.c
2427
adapter->phy.cable_type =
drivers/net/ethernet/emulex/benet/be_cmds.c
243
static int be_mcc_compl_process(struct be_adapter *adapter,
drivers/net/ethernet/emulex/benet/be_cmds.c
2431
adapter->phy.cable_type = 0;
drivers/net/ethernet/emulex/benet/be_cmds.c
2438
int be_cmd_query_sfp_info(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_cmds.c
2443
status = be_cmd_read_port_transceiver_data(adapter, TR_PAGE_A0,
drivers/net/ethernet/emulex/benet/be_cmds.c
2446
strscpy(adapter->phy.vendor_name, page_data +
drivers/net/ethernet/emulex/benet/be_cmds.c
2448
strscpy(adapter->phy.vendor_pn,
drivers/net/ethernet/emulex/benet/be_cmds.c
2456
static int lancer_cmd_delete_object(struct be_adapter *adapter,
drivers/net/ethernet/emulex/benet/be_cmds.c
2463
spin_lock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
2465
wrb = wrb_from_mccq(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
2479
status = be_mcc_notify_wait(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
2481
spin_unlock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
2485
int lancer_cmd_read_object(struct be_adapter *adapter, struct be_dma_mem *cmd,
drivers/net/ethernet/emulex/benet/be_cmds.c
2494
spin_lock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
2496
wrb = wrb_from_mccq(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
2517
status = be_mcc_notify_wait(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
2528
spin_unlock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
2532
static int be_cmd_write_flashrom(struct be_adapter *adapter,
drivers/net/ethernet/emulex/benet/be_cmds.c
2540
spin_lock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
2541
adapter->flash_status = 0;
drivers/net/ethernet/emulex/benet/be_cmds.c
2543
wrb = wrb_from_mccq(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
2561
status = be_mcc_notify(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
2565
spin_unlock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
2567
if (!wait_for_completion_timeout(&adapter->et_cmd_compl,
drivers/net/ethernet/emulex/benet/be_cmds.c
2571
status = adapter->flash_status;
drivers/net/ethernet/emulex/benet/be_cmds.c
2576
spin_unlock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
2580
static int be_cmd_get_flash_crc(struct be_adapter *adapter, u8 *flashed_crc,
drivers/net/ethernet/emulex/benet/be_cmds.c
2587
spin_lock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
2589
wrb = wrb_from_mccq(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
2609
status = be_mcc_notify_wait(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
2614
spin_unlock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
2624
static bool phy_flashing_required(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_cmds.c
2626
return (adapter->phy.phy_type == PHY_TYPE_TN_8022 &&
drivers/net/ethernet/emulex/benet/be_cmds.c
2627
adapter->phy.interface_type == PHY_TYPE_BASET_10GB);
drivers/net/ethernet/emulex/benet/be_cmds.c
2630
static bool is_comp_in_ufi(struct be_adapter *adapter,
drivers/net/ethernet/emulex/benet/be_cmds.c
2636
if (BE2_chip(adapter))
drivers/net/ethernet/emulex/benet/be_cmds.c
265
be_async_cmd_process(adapter, compl, resp_hdr);
drivers/net/ethernet/emulex/benet/be_cmds.c
2651
static struct flash_section_info *get_fsec_info(struct be_adapter *adapter,
drivers/net/ethernet/emulex/benet/be_cmds.c
2668
static int be_check_flash_crc(struct be_adapter *adapter, const u8 *p,
drivers/net/ethernet/emulex/benet/be_cmds.c
2676
status = be_cmd_get_flash_crc(adapter, crc, img_optype, img_offset,
drivers/net/ethernet/emulex/benet/be_cmds.c
2692
static int be_flash(struct be_adapter *adapter, const u8 *img,
drivers/net/ethernet/emulex/benet/be_cmds.c
271
dev_warn(&adapter->pdev->dev,
drivers/net/ethernet/emulex/benet/be_cmds.c
2719
status = be_cmd_write_flashrom(adapter, flash_cmd, optype,
drivers/net/ethernet/emulex/benet/be_cmds.c
275
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/emulex/benet/be_cmds.c
2754
static int be_flash_BEx(struct be_adapter *adapter,
drivers/net/ethernet/emulex/benet/be_cmds.c
2759
struct device *dev = &adapter->pdev->dev;
drivers/net/ethernet/emulex/benet/be_cmds.c
2808
if (BE3_chip(adapter)) {
drivers/net/ethernet/emulex/benet/be_cmds.c
2820
fsec = get_fsec_info(adapter, filehdr_size + img_hdrs_size, fw);
drivers/net/ethernet/emulex/benet/be_cmds.c
2826
if (!is_comp_in_ufi(adapter, fsec, pflashcomp[i].img_type))
drivers/net/ethernet/emulex/benet/be_cmds.c
2830
!be_fw_ncsi_supported(adapter->fw_ver)) {
drivers/net/ethernet/emulex/benet/be_cmds.c
2831
dev_info(dev, NCSI_UPDATE_LOG, adapter->fw_ver);
drivers/net/ethernet/emulex/benet/be_cmds.c
2836
!phy_flashing_required(adapter))
drivers/net/ethernet/emulex/benet/be_cmds.c
284
static void be_async_link_state_process(struct be_adapter *adapter,
drivers/net/ethernet/emulex/benet/be_cmds.c
2840
status = be_check_flash_crc(adapter, fw->data,
drivers/net/ethernet/emulex/benet/be_cmds.c
2862
status = be_flash(adapter, p, flash_cmd, pflashcomp[i].optype,
drivers/net/ethernet/emulex/benet/be_cmds.c
291
adapter->phy.link_speed = -1;
drivers/net/ethernet/emulex/benet/be_cmds.c
2925
static int be_flash_skyhawk(struct be_adapter *adapter,
drivers/net/ethernet/emulex/benet/be_cmds.c
2931
struct device *dev = &adapter->pdev->dev;
drivers/net/ethernet/emulex/benet/be_cmds.c
2939
fsec = get_fsec_info(adapter, filehdr_size + img_hdrs_size, fw);
drivers/net/ethernet/emulex/benet/be_cmds.c
2967
status = be_check_flash_crc(adapter, fw->data, img_offset,
drivers/net/ethernet/emulex/benet/be_cmds.c
298
if (!BEx_chip(adapter) &&
drivers/net/ethernet/emulex/benet/be_cmds.c
3006
status = be_flash(adapter, p, flash_cmd, flash_optype, img_size,
drivers/net/ethernet/emulex/benet/be_cmds.c
3048
int lancer_fw_download(struct be_adapter *adapter,
drivers/net/ethernet/emulex/benet/be_cmds.c
305
if (adapter->flags & BE_FLAGS_LINK_STATUS_INIT)
drivers/net/ethernet/emulex/benet/be_cmds.c
3051
struct device *dev = &adapter->pdev->dev;
drivers/net/ethernet/emulex/benet/be_cmds.c
306
be_link_status_update(adapter,
drivers/net/ethernet/emulex/benet/be_cmds.c
3086
status = lancer_cmd_write_object(adapter, &flash_cmd,
drivers/net/ethernet/emulex/benet/be_cmds.c
310
static void be_async_port_misconfig_event_process(struct be_adapter *adapter,
drivers/net/ethernet/emulex/benet/be_cmds.c
3101
status = lancer_cmd_write_object(adapter, &flash_cmd,
drivers/net/ethernet/emulex/benet/be_cmds.c
3118
status = lancer_physdev_ctrl(adapter,
drivers/net/ethernet/emulex/benet/be_cmds.c
3134
static bool be_check_ufi_compatibility(struct be_adapter *adapter,
drivers/net/ethernet/emulex/benet/be_cmds.c
3138
dev_err(&adapter->pdev->dev, "Invalid FW UFI file");
drivers/net/ethernet/emulex/benet/be_cmds.c
3147
if (!skyhawk_chip(adapter))
drivers/net/ethernet/emulex/benet/be_cmds.c
3151
if (!BE3_chip(adapter))
drivers/net/ethernet/emulex/benet/be_cmds.c
3155
if (!BE2_chip(adapter))
drivers/net/ethernet/emulex/benet/be_cmds.c
3167
if (BEx_chip(adapter) && fhdr->asic_type_rev == 0)
drivers/net/ethernet/emulex/benet/be_cmds.c
3168
return adapter->asic_rev < 0x10;
drivers/net/ethernet/emulex/benet/be_cmds.c
3170
return (fhdr->asic_type_rev >= adapter->asic_rev);
drivers/net/ethernet/emulex/benet/be_cmds.c
3173
int be_fw_download(struct be_adapter *adapter, const struct firmware *fw)
drivers/net/ethernet/emulex/benet/be_cmds.c
3175
struct device *dev = &adapter->pdev->dev;
drivers/net/ethernet/emulex/benet/be_cmds.c
318
struct device *dev = &adapter->pdev->dev;
drivers/net/ethernet/emulex/benet/be_cmds.c
3182
if (!be_check_ufi_compatibility(adapter, fhdr3)) {
drivers/net/ethernet/emulex/benet/be_cmds.c
3198
if (!BE2_chip(adapter) &&
drivers/net/ethernet/emulex/benet/be_cmds.c
3202
if (skyhawk_chip(adapter))
drivers/net/ethernet/emulex/benet/be_cmds.c
3203
status = be_flash_skyhawk(adapter, fw, &flash_cmd,
drivers/net/ethernet/emulex/benet/be_cmds.c
3206
status = be_flash_BEx(adapter, fw, &flash_cmd,
drivers/net/ethernet/emulex/benet/be_cmds.c
3217
int be_cmd_enable_magic_wol(struct be_adapter *adapter, u8 *mac,
drivers/net/ethernet/emulex/benet/be_cmds.c
3224
spin_lock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
3226
wrb = wrb_from_mccq(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
3238
status = be_mcc_notify_wait(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
324
(sfp_misconfig_evt_word1 >> (adapter->hba_port_num * 8)) & 0xff;
drivers/net/ethernet/emulex/benet/be_cmds.c
3241
spin_unlock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
3245
int be_cmd_set_loopback(struct be_adapter *adapter, u8 port_num,
drivers/net/ethernet/emulex/benet/be_cmds.c
3252
if (!be_cmd_allowed(adapter, OPCODE_LOWLEVEL_SET_LOOPBACK_MODE,
drivers/net/ethernet/emulex/benet/be_cmds.c
3256
spin_lock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
3258
wrb = wrb_from_mccq(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
326
if (new_phy_state == adapter->phy_state)
drivers/net/ethernet/emulex/benet/be_cmds.c
3275
status = be_mcc_notify(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
3279
spin_unlock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
3281
if (!wait_for_completion_timeout(&adapter->et_cmd_compl,
drivers/net/ethernet/emulex/benet/be_cmds.c
3288
spin_unlock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
329
adapter->phy_state = new_phy_state;
drivers/net/ethernet/emulex/benet/be_cmds.c
3292
int be_cmd_loopback_test(struct be_adapter *adapter, u32 port_num,
drivers/net/ethernet/emulex/benet/be_cmds.c
3301
if (!be_cmd_allowed(adapter, OPCODE_LOWLEVEL_LOOPBACK_TEST,
drivers/net/ethernet/emulex/benet/be_cmds.c
3305
spin_lock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
3307
wrb = wrb_from_mccq(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
3327
status = be_mcc_notify(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
3331
spin_unlock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
3333
wait_for_completion(&adapter->et_cmd_compl);
drivers/net/ethernet/emulex/benet/be_cmds.c
3339
spin_unlock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
3343
int be_cmd_ddr_dma_test(struct be_adapter *adapter, u64 pattern,
drivers/net/ethernet/emulex/benet/be_cmds.c
3351
if (!be_cmd_allowed(adapter, OPCODE_LOWLEVEL_HOST_DDR_DMA,
drivers/net/ethernet/emulex/benet/be_cmds.c
3355
spin_lock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
3357
wrb = wrb_from_mccq(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
336
(sfp_misconfig_evt_word2 >> (adapter->hba_port_num * 8)) & 0xff;
drivers/net/ethernet/emulex/benet/be_cmds.c
3376
status = be_mcc_notify_wait(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
3389
spin_unlock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
3393
int be_cmd_get_seeprom_data(struct be_adapter *adapter,
drivers/net/ethernet/emulex/benet/be_cmds.c
3400
spin_lock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
3402
wrb = wrb_from_mccq(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
3413
status = be_mcc_notify_wait(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
3416
spin_unlock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
3420
int be_cmd_get_phy_info(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_cmds.c
3427
if (!be_cmd_allowed(adapter, OPCODE_COMMON_GET_PHY_DETAILS,
drivers/net/ethernet/emulex/benet/be_cmds.c
3431
spin_lock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
3433
wrb = wrb_from_mccq(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
3439
cmd.va = dma_alloc_coherent(&adapter->pdev->dev, cmd.size, &cmd.dma,
drivers/net/ethernet/emulex/benet/be_cmds.c
3442
dev_err(&adapter->pdev->dev, "Memory alloc failure\n");
drivers/net/ethernet/emulex/benet/be_cmds.c
3453
status = be_mcc_notify_wait(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
3458
adapter->phy.phy_type = le16_to_cpu(resp_phy_info->phy_type);
drivers/net/ethernet/emulex/benet/be_cmds.c
3459
adapter->phy.interface_type =
drivers/net/ethernet/emulex/benet/be_cmds.c
3461
adapter->phy.auto_speeds_supported =
drivers/net/ethernet/emulex/benet/be_cmds.c
3463
adapter->phy.fixed_speeds_supported =
drivers/net/ethernet/emulex/benet/be_cmds.c
3465
adapter->phy.misc_params =
drivers/net/ethernet/emulex/benet/be_cmds.c
3468
if (BE2_chip(adapter)) {
drivers/net/ethernet/emulex/benet/be_cmds.c
3469
adapter->phy.fixed_speeds_supported =
drivers/net/ethernet/emulex/benet/be_cmds.c
3474
dma_free_coherent(&adapter->pdev->dev, cmd.size, cmd.va, cmd.dma);
drivers/net/ethernet/emulex/benet/be_cmds.c
3476
spin_unlock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
3480
static int be_cmd_set_qos(struct be_adapter *adapter, u32 bps, u32 domain)
drivers/net/ethernet/emulex/benet/be_cmds.c
3486
spin_lock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
3488
wrb = wrb_from_mccq(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
3503
status = be_mcc_notify_wait(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
3506
spin_unlock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
3510
int be_cmd_get_cntl_attributes(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_cmds.c
352
adapter->port_name,
drivers/net/ethernet/emulex/benet/be_cmds.c
3521
if (mutex_lock_interruptible(&adapter->mbox_lock))
drivers/net/ethernet/emulex/benet/be_cmds.c
3526
attribs_cmd.va = dma_alloc_coherent(&adapter->pdev->dev,
drivers/net/ethernet/emulex/benet/be_cmds.c
3530
dev_err(&adapter->pdev->dev, "Memory allocation failure\n");
drivers/net/ethernet/emulex/benet/be_cmds.c
3535
wrb = wrb_from_mbox(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
3546
status = be_mbox_notify_wait(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
3549
adapter->hba_port_num = attribs->hba_attribs.phy_port;
drivers/net/ethernet/emulex/benet/be_cmds.c
3552
adapter->serial_num[i] = le32_to_cpu(serial_num[i]) &
drivers/net/ethernet/emulex/benet/be_cmds.c
3557
if (BEx_chip(adapter))
drivers/net/ethernet/emulex/benet/be_cmds.c
3558
adapter->pf_num = attribs->hba_attribs.pci_funcnum;
drivers/net/ethernet/emulex/benet/be_cmds.c
3562
mutex_unlock(&adapter->mbox_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
3564
dma_free_coherent(&adapter->pdev->dev, attribs_cmd.size,
drivers/net/ethernet/emulex/benet/be_cmds.c
3570
int be_cmd_req_native_mode(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_cmds.c
3576
if (mutex_lock_interruptible(&adapter->mbox_lock))
drivers/net/ethernet/emulex/benet/be_cmds.c
3579
wrb = wrb_from_mbox(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
358
adapter->port_name,
drivers/net/ethernet/emulex/benet/be_cmds.c
3595
status = be_mbox_notify_wait(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
3599
adapter->be3_native = le32_to_cpu(resp->cap_flags) &
drivers/net/ethernet/emulex/benet/be_cmds.c
3601
if (!adapter->be3_native)
drivers/net/ethernet/emulex/benet/be_cmds.c
3602
dev_warn(&adapter->pdev->dev,
drivers/net/ethernet/emulex/benet/be_cmds.c
3606
mutex_unlock(&adapter->mbox_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
3611
int be_cmd_get_fn_privileges(struct be_adapter *adapter, u32 *privilege,
drivers/net/ethernet/emulex/benet/be_cmds.c
3618
spin_lock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
3620
wrb = wrb_from_mccq(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
3634
status = be_mcc_notify_wait(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
364
adapter->flags |= BE_FLAGS_PHY_MISCONFIGURED;
drivers/net/ethernet/emulex/benet/be_cmds.c
3644
if (BEx_chip(adapter) && be_is_mc(adapter) &&
drivers/net/ethernet/emulex/benet/be_cmds.c
3645
be_physfn(adapter))
drivers/net/ethernet/emulex/benet/be_cmds.c
3650
spin_unlock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
3655
int be_cmd_set_fn_privileges(struct be_adapter *adapter, u32 privileges,
drivers/net/ethernet/emulex/benet/be_cmds.c
3662
spin_lock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
3664
wrb = wrb_from_mccq(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
3675
if (lancer_chip(adapter))
drivers/net/ethernet/emulex/benet/be_cmds.c
368
static void be_async_grp5_cos_priority_process(struct be_adapter *adapter,
drivers/net/ethernet/emulex/benet/be_cmds.c
3680
status = be_mcc_notify_wait(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
3682
spin_unlock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
3690
int be_cmd_get_mac_from_list(struct be_adapter *adapter, u8 *mac,
drivers/net/ethernet/emulex/benet/be_cmds.c
3703
get_mac_list_cmd.va = dma_alloc_coherent(&adapter->pdev->dev,
drivers/net/ethernet/emulex/benet/be_cmds.c
3709
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/emulex/benet/be_cmds.c
3714
spin_lock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
3716
wrb = wrb_from_mccq(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
3737
status = be_mcc_notify_wait(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
375
adapter->vlan_prio_bmap = evt->available_priority_bmap;
drivers/net/ethernet/emulex/benet/be_cmds.c
376
adapter->recommended_prio_bits =
drivers/net/ethernet/emulex/benet/be_cmds.c
3778
spin_unlock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
3779
dma_free_coherent(&adapter->pdev->dev, get_mac_list_cmd.size,
drivers/net/ethernet/emulex/benet/be_cmds.c
3784
int be_cmd_get_active_mac(struct be_adapter *adapter, u32 curr_pmac_id,
drivers/net/ethernet/emulex/benet/be_cmds.c
3788
be_cmd_get_mac_from_list(adapter, mac, &active, &curr_pmac_id,
drivers/net/ethernet/emulex/benet/be_cmds.c
3790
if (BEx_chip(adapter))
drivers/net/ethernet/emulex/benet/be_cmds.c
3791
return be_cmd_mac_addr_query(adapter, mac, false,
drivers/net/ethernet/emulex/benet/be_cmds.c
3795
return be_cmd_get_mac_from_list(adapter, mac, &active,
drivers/net/ethernet/emulex/benet/be_cmds.c
3800
int be_cmd_get_perm_mac(struct be_adapter *adapter, u8 *mac)
drivers/net/ethernet/emulex/benet/be_cmds.c
3808
if (BEx_chip(adapter)) {
drivers/net/ethernet/emulex/benet/be_cmds.c
3809
if (be_physfn(adapter))
drivers/net/ethernet/emulex/benet/be_cmds.c
3810
status = be_cmd_mac_addr_query(adapter, mac, true, 0,
drivers/net/ethernet/emulex/benet/be_cmds.c
3813
status = be_cmd_mac_addr_query(adapter, mac, false,
drivers/net/ethernet/emulex/benet/be_cmds.c
3814
adapter->if_handle, 0);
drivers/net/ethernet/emulex/benet/be_cmds.c
3816
status = be_cmd_get_mac_from_list(adapter, mac, &pmac_valid,
drivers/net/ethernet/emulex/benet/be_cmds.c
3817
&pmac_id, adapter->if_handle, 0);
drivers/net/ethernet/emulex/benet/be_cmds.c
382
static void be_async_grp5_qos_speed_process(struct be_adapter *adapter,
drivers/net/ethernet/emulex/benet/be_cmds.c
3824
int be_cmd_set_mac_list(struct be_adapter *adapter, u8 *mac_array,
drivers/net/ethernet/emulex/benet/be_cmds.c
3834
cmd.va = dma_alloc_coherent(&adapter->pdev->dev, cmd.size, &cmd.dma,
drivers/net/ethernet/emulex/benet/be_cmds.c
3839
spin_lock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
3841
wrb = wrb_from_mccq(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
3857
status = be_mcc_notify_wait(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
3860
spin_unlock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
3861
dma_free_coherent(&adapter->pdev->dev, cmd.size, cmd.va, cmd.dma);
drivers/net/ethernet/emulex/benet/be_cmds.c
3869
int be_cmd_set_mac(struct be_adapter *adapter, u8 *mac, int if_id, u32 dom)
drivers/net/ethernet/emulex/benet/be_cmds.c
3876
status = be_cmd_get_mac_from_list(adapter, old_mac, &active_mac,
drivers/net/ethernet/emulex/benet/be_cmds.c
388
if (adapter->phy.link_speed >= 0 &&
drivers/net/ethernet/emulex/benet/be_cmds.c
3880
be_cmd_pmac_del(adapter, if_id, pmac_id, dom);
drivers/net/ethernet/emulex/benet/be_cmds.c
3882
return be_cmd_set_mac_list(adapter, mac, mac ? 1 : 0, dom);
drivers/net/ethernet/emulex/benet/be_cmds.c
3885
int be_cmd_set_hsw_config(struct be_adapter *adapter, u16 pvid,
drivers/net/ethernet/emulex/benet/be_cmds.c
389
evt->physical_port == adapter->port_num)
drivers/net/ethernet/emulex/benet/be_cmds.c
3893
if (!be_cmd_allowed(adapter, OPCODE_COMMON_SET_HSW_CONFIG,
drivers/net/ethernet/emulex/benet/be_cmds.c
3897
spin_lock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
3899
wrb = wrb_from_mccq(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
390
adapter->phy.link_speed = le16_to_cpu(evt->qos_link_speed) * 10;
drivers/net/ethernet/emulex/benet/be_cmds.c
3920
ctxt, adapter->hba_port_num);
drivers/net/ethernet/emulex/benet/be_cmds.c
3927
if (!BEx_chip(adapter) && spoofchk) {
drivers/net/ethernet/emulex/benet/be_cmds.c
3935
status = be_mcc_notify_wait(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
3938
spin_unlock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
394
static void be_async_grp5_pvid_state_process(struct be_adapter *adapter,
drivers/net/ethernet/emulex/benet/be_cmds.c
3943
int be_cmd_get_hsw_config(struct be_adapter *adapter, u16 *pvid,
drivers/net/ethernet/emulex/benet/be_cmds.c
3952
spin_lock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
3954
wrb = wrb_from_mccq(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
3972
if (!BEx_chip(adapter) && mode) {
drivers/net/ethernet/emulex/benet/be_cmds.c
3974
ctxt, adapter->hba_port_num);
drivers/net/ethernet/emulex/benet/be_cmds.c
3979
status = be_mcc_notify_wait(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
3999
spin_unlock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
4003
static bool be_is_wol_excluded(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_cmds.c
4005
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/emulex/benet/be_cmds.c
4007
if (be_virtfn(adapter))
drivers/net/ethernet/emulex/benet/be_cmds.c
401
adapter->pvid = le16_to_cpu(evt->tag) & VLAN_VID_MASK;
drivers/net/ethernet/emulex/benet/be_cmds.c
402
dev_info(&adapter->pdev->dev, "LPVID: %d\n", adapter->pvid);
drivers/net/ethernet/emulex/benet/be_cmds.c
4021
int be_cmd_get_acpi_wol_cap(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_cmds.c
4028
if (!be_cmd_allowed(adapter, OPCODE_ETH_ACPI_WOL_MAGIC_CONFIG,
drivers/net/ethernet/emulex/benet/be_cmds.c
4032
if (be_is_wol_excluded(adapter))
drivers/net/ethernet/emulex/benet/be_cmds.c
4035
if (mutex_lock_interruptible(&adapter->mbox_lock))
drivers/net/ethernet/emulex/benet/be_cmds.c
404
adapter->pvid = 0;
drivers/net/ethernet/emulex/benet/be_cmds.c
4040
cmd.va = dma_alloc_coherent(&adapter->pdev->dev, cmd.size, &cmd.dma,
drivers/net/ethernet/emulex/benet/be_cmds.c
4043
dev_err(&adapter->pdev->dev, "Memory allocation failure\n");
drivers/net/ethernet/emulex/benet/be_cmds.c
4048
wrb = wrb_from_mbox(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
4063
status = be_mbox_notify_wait(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
4069
adapter->wol_cap = resp->wol_settings;
drivers/net/ethernet/emulex/benet/be_cmds.c
4072
if (adapter->wol_cap & BE_WOL_CAP &&
drivers/net/ethernet/emulex/benet/be_cmds.c
4074
adapter->wol_en = true;
drivers/net/ethernet/emulex/benet/be_cmds.c
4077
mutex_unlock(&adapter->mbox_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
4079
dma_free_coherent(&adapter->pdev->dev, cmd.size, cmd.va,
drivers/net/ethernet/emulex/benet/be_cmds.c
4085
int be_cmd_set_fw_log_level(struct be_adapter *adapter, u32 level)
drivers/net/ethernet/emulex/benet/be_cmds.c
409
static void be_async_grp5_fw_control_process(struct be_adapter *adapter,
drivers/net/ethernet/emulex/benet/be_cmds.c
4094
extfat_cmd.va = dma_alloc_coherent(&adapter->pdev->dev,
drivers/net/ethernet/emulex/benet/be_cmds.c
4100
status = be_cmd_get_ext_fat_capabilites(adapter, &extfat_cmd);
drivers/net/ethernet/emulex/benet/be_cmds.c
4116
status = be_cmd_set_ext_fat_capabilites(adapter, &extfat_cmd, cfgs);
drivers/net/ethernet/emulex/benet/be_cmds.c
4118
dma_free_coherent(&adapter->pdev->dev, extfat_cmd.size, extfat_cmd.va,
drivers/net/ethernet/emulex/benet/be_cmds.c
4123
int be_cmd_get_fw_log_level(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_cmds.c
4132
extfat_cmd.va = dma_alloc_coherent(&adapter->pdev->dev,
drivers/net/ethernet/emulex/benet/be_cmds.c
4137
dev_err(&adapter->pdev->dev, "%s: Memory allocation failure\n",
drivers/net/ethernet/emulex/benet/be_cmds.c
4142
status = be_cmd_get_ext_fat_capabilites(adapter, &extfat_cmd);
drivers/net/ethernet/emulex/benet/be_cmds.c
4152
dma_free_coherent(&adapter->pdev->dev, extfat_cmd.size, extfat_cmd.va,
drivers/net/ethernet/emulex/benet/be_cmds.c
4158
int be_cmd_get_ext_fat_capabilites(struct be_adapter *adapter,
drivers/net/ethernet/emulex/benet/be_cmds.c
416
adapter->flags |= BE_FLAGS_OS2BMC;
drivers/net/ethernet/emulex/benet/be_cmds.c
4165
if (!be_cmd_allowed(adapter, OPCODE_COMMON_GET_EXT_FAT_CAPABILITIES,
drivers/net/ethernet/emulex/benet/be_cmds.c
4169
if (mutex_lock_interruptible(&adapter->mbox_lock))
drivers/net/ethernet/emulex/benet/be_cmds.c
417
adapter->bmc_filt_mask = le32_to_cpu(evt->event_data_word2);
drivers/net/ethernet/emulex/benet/be_cmds.c
4172
wrb = wrb_from_mbox(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
4184
status = be_mbox_notify_wait(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
4186
mutex_unlock(&adapter->mbox_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
419
adapter->flags &= ~BE_FLAGS_OS2BMC;
drivers/net/ethernet/emulex/benet/be_cmds.c
4190
int be_cmd_set_ext_fat_capabilites(struct be_adapter *adapter,
drivers/net/ethernet/emulex/benet/be_cmds.c
4198
spin_lock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
4200
wrb = wrb_from_mccq(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
4212
status = be_mcc_notify_wait(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
4214
spin_unlock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
4218
int be_cmd_query_port_name(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_cmds.c
4224
if (mutex_lock_interruptible(&adapter->mbox_lock))
drivers/net/ethernet/emulex/benet/be_cmds.c
4227
wrb = wrb_from_mbox(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
423
static void be_async_grp5_evt_process(struct be_adapter *adapter,
drivers/net/ethernet/emulex/benet/be_cmds.c
4233
if (!BEx_chip(adapter))
drivers/net/ethernet/emulex/benet/be_cmds.c
4236
status = be_mbox_notify_wait(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
4240
adapter->port_name = resp->port_name[adapter->hba_port_num];
drivers/net/ethernet/emulex/benet/be_cmds.c
4242
adapter->port_name = adapter->hba_port_num + '0';
drivers/net/ethernet/emulex/benet/be_cmds.c
4245
mutex_unlock(&adapter->mbox_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
431
be_async_grp5_cos_priority_process(adapter, compl);
drivers/net/ethernet/emulex/benet/be_cmds.c
434
be_async_grp5_qos_speed_process(adapter, compl);
drivers/net/ethernet/emulex/benet/be_cmds.c
4347
int be_cmd_get_func_config(struct be_adapter *adapter, struct be_resources *res)
drivers/net/ethernet/emulex/benet/be_cmds.c
4354
if (mutex_lock_interruptible(&adapter->mbox_lock))
drivers/net/ethernet/emulex/benet/be_cmds.c
4359
cmd.va = dma_alloc_coherent(&adapter->pdev->dev, cmd.size, &cmd.dma,
drivers/net/ethernet/emulex/benet/be_cmds.c
4362
dev_err(&adapter->pdev->dev, "Memory alloc failure\n");
drivers/net/ethernet/emulex/benet/be_cmds.c
4367
wrb = wrb_from_mbox(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
437
be_async_grp5_pvid_state_process(adapter, compl);
drivers/net/ethernet/emulex/benet/be_cmds.c
4379
if (skyhawk_chip(adapter))
drivers/net/ethernet/emulex/benet/be_cmds.c
4382
status = be_mbox_notify_wait(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
4400
adapter->pf_num = desc->pf_num;
drivers/net/ethernet/emulex/benet/be_cmds.c
4401
adapter->vf_num = desc->vf_num;
drivers/net/ethernet/emulex/benet/be_cmds.c
4407
mutex_unlock(&adapter->mbox_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
4409
dma_free_coherent(&adapter->pdev->dev, cmd.size, cmd.va,
drivers/net/ethernet/emulex/benet/be_cmds.c
441
be_async_grp5_fw_control_process(adapter, compl);
drivers/net/ethernet/emulex/benet/be_cmds.c
4439
int be_cmd_get_profile_config(struct be_adapter *adapter,
drivers/net/ethernet/emulex/benet/be_cmds.c
4457
cmd.va = dma_alloc_coherent(&adapter->pdev->dev, cmd.size, &cmd.dma,
drivers/net/ethernet/emulex/benet/be_cmds.c
4467
if (!lancer_chip(adapter))
drivers/net/ethernet/emulex/benet/be_cmds.c
4479
status = be_cmd_notify_wait(adapter, &wrb);
drivers/net/ethernet/emulex/benet/be_cmds.c
448
static void be_async_dbg_evt_process(struct be_adapter *adapter,
drivers/net/ethernet/emulex/benet/be_cmds.c
4497
if (nic->link_param == adapter->port_num) {
drivers/net/ethernet/emulex/benet/be_cmds.c
4509
adapter->pf_num);
drivers/net/ethernet/emulex/benet/be_cmds.c
4515
adapter->mc_type = port->mc_type;
drivers/net/ethernet/emulex/benet/be_cmds.c
4518
adapter->pf_num);
drivers/net/ethernet/emulex/benet/be_cmds.c
4523
adapter->pf_num);
drivers/net/ethernet/emulex/benet/be_cmds.c
4528
dma_free_coherent(&adapter->pdev->dev, cmd.size, cmd.va,
drivers/net/ethernet/emulex/benet/be_cmds.c
4534
static int be_cmd_set_profile_config(struct be_adapter *adapter, void *desc,
drivers/net/ethernet/emulex/benet/be_cmds.c
4544
cmd.va = dma_alloc_coherent(&adapter->pdev->dev, cmd.size, &cmd.dma,
drivers/net/ethernet/emulex/benet/be_cmds.c
4558
status = be_cmd_notify_wait(adapter, &wrb);
drivers/net/ethernet/emulex/benet/be_cmds.c
4561
dma_free_coherent(&adapter->pdev->dev, cmd.size, cmd.va,
drivers/net/ethernet/emulex/benet/be_cmds.c
460
adapter->qnq_vid = le16_to_cpu(evt->vlan_tag);
drivers/net/ethernet/emulex/benet/be_cmds.c
4602
int be_cmd_config_qos(struct be_adapter *adapter, u32 max_rate, u16 link_speed,
drivers/net/ethernet/emulex/benet/be_cmds.c
4609
if (BE3_chip(adapter))
drivers/net/ethernet/emulex/benet/be_cmds.c
461
adapter->flags |= BE_FLAGS_QNQ_ASYNC_EVT_RCVD;
drivers/net/ethernet/emulex/benet/be_cmds.c
4610
return be_cmd_set_qos(adapter, max_rate / 10, domain);
drivers/net/ethernet/emulex/benet/be_cmds.c
4613
nic_desc.pf_num = adapter->pf_num;
drivers/net/ethernet/emulex/benet/be_cmds.c
4616
if (lancer_chip(adapter)) {
drivers/net/ethernet/emulex/benet/be_cmds.c
4631
return be_cmd_set_profile_config(adapter, &nic_desc,
drivers/net/ethernet/emulex/benet/be_cmds.c
4636
int be_cmd_set_sriov_config(struct be_adapter *adapter,
drivers/net/ethernet/emulex/benet/be_cmds.c
464
dev_warn(&adapter->pdev->dev, "Unknown debug event 0x%x!\n",
drivers/net/ethernet/emulex/benet/be_cmds.c
4650
desc.pcie.pf_num = adapter->pdev->devfn;
drivers/net/ethernet/emulex/benet/be_cmds.c
4660
desc.nic_vft.pf_num = adapter->pdev->devfn;
drivers/net/ethernet/emulex/benet/be_cmds.c
4679
return be_cmd_set_profile_config(adapter, &desc,
drivers/net/ethernet/emulex/benet/be_cmds.c
4683
int be_cmd_manage_iface(struct be_adapter *adapter, u32 iface, u8 op)
drivers/net/ethernet/emulex/benet/be_cmds.c
4692
spin_lock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
4694
wrb = wrb_from_mccq(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
470
static void be_async_sliport_evt_process(struct be_adapter *adapter,
drivers/net/ethernet/emulex/benet/be_cmds.c
4707
status = be_mcc_notify_wait(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
4709
spin_unlock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
4713
int be_cmd_set_vxlan_port(struct be_adapter *adapter, __be16 port)
drivers/net/ethernet/emulex/benet/be_cmds.c
4721
port_desc.link_num = adapter->hba_port_num;
drivers/net/ethernet/emulex/benet/be_cmds.c
4731
return be_cmd_set_profile_config(adapter, &port_desc,
drivers/net/ethernet/emulex/benet/be_cmds.c
4735
int be_cmd_get_if_id(struct be_adapter *adapter, struct be_vf_cfg *vf_cfg,
drivers/net/ethernet/emulex/benet/be_cmds.c
4743
spin_lock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
4745
wrb = wrb_from_mccq(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
4757
status = be_mcc_notify_wait(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
4764
spin_unlock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
4768
static int lancer_wait_idle(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_cmds.c
477
be_async_port_misconfig_event_process(adapter, cmp);
drivers/net/ethernet/emulex/benet/be_cmds.c
4775
reg_val = ioread32(adapter->db + PHYSDEV_CONTROL_OFFSET);
drivers/net/ethernet/emulex/benet/be_cmds.c
4788
int lancer_physdev_ctrl(struct be_adapter *adapter, u32 mask)
drivers/net/ethernet/emulex/benet/be_cmds.c
4792
status = lancer_wait_idle(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
4796
iowrite32(mask, adapter->db + PHYSDEV_CONTROL_OFFSET);
drivers/net/ethernet/emulex/benet/be_cmds.c
4802
bool dump_present(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_cmds.c
4806
sliport_status = ioread32(adapter->db + SLIPORT_STATUS_OFFSET);
drivers/net/ethernet/emulex/benet/be_cmds.c
4810
int lancer_initiate_dump(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_cmds.c
4812
struct device *dev = &adapter->pdev->dev;
drivers/net/ethernet/emulex/benet/be_cmds.c
4815
if (dump_present(adapter)) {
drivers/net/ethernet/emulex/benet/be_cmds.c
4821
status = lancer_physdev_ctrl(adapter, PHYSDEV_CONTROL_FW_RESET_MASK |
drivers/net/ethernet/emulex/benet/be_cmds.c
4828
status = lancer_wait_idle(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
4832
if (!dump_present(adapter)) {
drivers/net/ethernet/emulex/benet/be_cmds.c
4840
int lancer_delete_dump(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_cmds.c
4844
status = lancer_cmd_delete_object(adapter, LANCER_FW_DUMP_FILE);
drivers/net/ethernet/emulex/benet/be_cmds.c
4849
int be_cmd_enable_vf(struct be_adapter *adapter, u8 domain)
drivers/net/ethernet/emulex/benet/be_cmds.c
4855
if (BEx_chip(adapter))
drivers/net/ethernet/emulex/benet/be_cmds.c
4858
spin_lock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
4860
wrb = wrb_from_mccq(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
4874
status = be_mcc_notify_wait(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
4876
spin_unlock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
4880
int be_cmd_intr_set(struct be_adapter *adapter, bool intr_enable)
drivers/net/ethernet/emulex/benet/be_cmds.c
4886
if (mutex_lock_interruptible(&adapter->mbox_lock))
drivers/net/ethernet/emulex/benet/be_cmds.c
4889
wrb = wrb_from_mbox(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
4899
status = be_mbox_notify_wait(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
4901
mutex_unlock(&adapter->mbox_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
4906
int be_cmd_get_active_profile(struct be_adapter *adapter, u16 *profile_id)
drivers/net/ethernet/emulex/benet/be_cmds.c
4912
if (mutex_lock_interruptible(&adapter->mbox_lock))
drivers/net/ethernet/emulex/benet/be_cmds.c
4915
wrb = wrb_from_mbox(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
4927
status = be_mbox_notify_wait(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
4936
mutex_unlock(&adapter->mbox_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
4941
__be_cmd_set_logical_link_config(struct be_adapter *adapter,
drivers/net/ethernet/emulex/benet/be_cmds.c
4949
spin_lock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
4951
wrb = wrb_from_mccq(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
4975
status = be_mcc_notify_wait(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
4977
spin_unlock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
4981
int be_cmd_set_logical_link_config(struct be_adapter *adapter,
drivers/net/ethernet/emulex/benet/be_cmds.c
4986
if (BE2_chip(adapter))
drivers/net/ethernet/emulex/benet/be_cmds.c
4989
status = __be_cmd_set_logical_link_config(adapter, link_state,
drivers/net/ethernet/emulex/benet/be_cmds.c
4996
status = __be_cmd_set_logical_link_config(adapter, link_state,
drivers/net/ethernet/emulex/benet/be_cmds.c
5001
int be_cmd_set_features(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_cmds.c
5008
spin_lock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
5010
wrb = wrb_from_mccq(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
5026
status = be_mcc_notify_wait(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
5032
adapter->error_recovery.ue_to_poll_time =
drivers/net/ethernet/emulex/benet/be_cmds.c
5034
adapter->error_recovery.ue_to_reset_time =
drivers/net/ethernet/emulex/benet/be_cmds.c
5036
adapter->error_recovery.recovery_supported = true;
drivers/net/ethernet/emulex/benet/be_cmds.c
504
static void be_mcc_event_process(struct be_adapter *adapter,
drivers/net/ethernet/emulex/benet/be_cmds.c
5043
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/emulex/benet/be_cmds.c
5046
spin_unlock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
5053
struct be_adapter *adapter = netdev_priv(netdev_handle);
drivers/net/ethernet/emulex/benet/be_cmds.c
5060
spin_lock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
5062
wrb = wrb_from_mccq(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
5075
status = be_mcc_notify_wait(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
508
be_async_link_state_process(adapter, compl);
drivers/net/ethernet/emulex/benet/be_cmds.c
5083
spin_unlock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
510
be_async_grp5_evt_process(adapter, compl);
drivers/net/ethernet/emulex/benet/be_cmds.c
512
be_async_dbg_evt_process(adapter, compl);
drivers/net/ethernet/emulex/benet/be_cmds.c
514
be_async_sliport_evt_process(adapter, compl);
drivers/net/ethernet/emulex/benet/be_cmds.c
517
static struct be_mcc_compl *be_mcc_compl_get(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_cmds.c
519
struct be_queue_info *mcc_cq = &adapter->mcc_obj.cq;
drivers/net/ethernet/emulex/benet/be_cmds.c
529
void be_async_mcc_enable(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_cmds.c
531
spin_lock_bh(&adapter->mcc_cq_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
533
be_cq_notify(adapter, adapter->mcc_obj.cq.id, true, 0);
drivers/net/ethernet/emulex/benet/be_cmds.c
534
adapter->mcc_obj.rearm_cq = true;
drivers/net/ethernet/emulex/benet/be_cmds.c
536
spin_unlock_bh(&adapter->mcc_cq_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
539
void be_async_mcc_disable(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_cmds.c
541
spin_lock_bh(&adapter->mcc_cq_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
543
adapter->mcc_obj.rearm_cq = false;
drivers/net/ethernet/emulex/benet/be_cmds.c
544
be_cq_notify(adapter, adapter->mcc_obj.cq.id, false, 0);
drivers/net/ethernet/emulex/benet/be_cmds.c
546
spin_unlock_bh(&adapter->mcc_cq_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
549
int be_process_mcc(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_cmds.c
553
struct be_mcc_obj *mcc_obj = &adapter->mcc_obj;
drivers/net/ethernet/emulex/benet/be_cmds.c
555
spin_lock(&adapter->mcc_cq_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
557
while ((compl = be_mcc_compl_get(adapter))) {
drivers/net/ethernet/emulex/benet/be_cmds.c
559
be_mcc_event_process(adapter, compl);
drivers/net/ethernet/emulex/benet/be_cmds.c
561
status = be_mcc_compl_process(adapter, compl);
drivers/net/ethernet/emulex/benet/be_cmds.c
569
be_cq_notify(adapter, mcc_obj->cq.id, mcc_obj->rearm_cq, num);
drivers/net/ethernet/emulex/benet/be_cmds.c
571
spin_unlock(&adapter->mcc_cq_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
576
static int be_mcc_wait_compl(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_cmds.c
580
struct be_mcc_obj *mcc_obj = &adapter->mcc_obj;
drivers/net/ethernet/emulex/benet/be_cmds.c
583
if (be_check_error(adapter, BE_ERROR_ANY))
drivers/net/ethernet/emulex/benet/be_cmds.c
587
status = be_process_mcc(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
595
dev_err(&adapter->pdev->dev, "FW not responding\n");
drivers/net/ethernet/emulex/benet/be_cmds.c
596
be_set_error(adapter, BE_ERROR_FW);
drivers/net/ethernet/emulex/benet/be_cmds.c
603
static int be_mcc_notify_wait(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_cmds.c
607
struct be_mcc_obj *mcc_obj = &adapter->mcc_obj;
drivers/net/ethernet/emulex/benet/be_cmds.c
616
status = be_mcc_notify(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
620
status = be_mcc_wait_compl(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
631
static int be_mbox_db_ready_wait(struct be_adapter *adapter, void __iomem *db)
drivers/net/ethernet/emulex/benet/be_cmds.c
637
if (be_check_error(adapter, BE_ERROR_ANY))
drivers/net/ethernet/emulex/benet/be_cmds.c
649
dev_err(&adapter->pdev->dev, "FW not responding\n");
drivers/net/ethernet/emulex/benet/be_cmds.c
650
be_set_error(adapter, BE_ERROR_FW);
drivers/net/ethernet/emulex/benet/be_cmds.c
651
be_detect_error(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
665
static int be_mbox_notify_wait(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_cmds.c
669
void __iomem *db = adapter->db + MPU_MAILBOX_DB_OFFSET;
drivers/net/ethernet/emulex/benet/be_cmds.c
670
struct be_dma_mem *mbox_mem = &adapter->mbox_mem;
drivers/net/ethernet/emulex/benet/be_cmds.c
675
status = be_mbox_db_ready_wait(adapter, db);
drivers/net/ethernet/emulex/benet/be_cmds.c
685
status = be_mbox_db_ready_wait(adapter, db);
drivers/net/ethernet/emulex/benet/be_cmds.c
694
status = be_mbox_db_ready_wait(adapter, db);
drivers/net/ethernet/emulex/benet/be_cmds.c
700
status = be_mcc_compl_process(adapter, &mbox->compl);
drivers/net/ethernet/emulex/benet/be_cmds.c
705
dev_err(&adapter->pdev->dev, "invalid mailbox completion\n");
drivers/net/ethernet/emulex/benet/be_cmds.c
711
u16 be_POST_stage_get(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_cmds.c
715
if (BEx_chip(adapter))
drivers/net/ethernet/emulex/benet/be_cmds.c
716
sem = ioread32(adapter->csr + SLIPORT_SEMAPHORE_OFFSET_BEx);
drivers/net/ethernet/emulex/benet/be_cmds.c
718
pci_read_config_dword(adapter->pdev,
drivers/net/ethernet/emulex/benet/be_cmds.c
724
static int lancer_wait_ready(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_cmds.c
731
sliport_status = ioread32(adapter->db + SLIPORT_STATUS_OFFSET);
drivers/net/ethernet/emulex/benet/be_cmds.c
745
int be_fw_wait_ready(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_cmds.c
749
struct device *dev = &adapter->pdev->dev;
drivers/net/ethernet/emulex/benet/be_cmds.c
751
if (lancer_chip(adapter)) {
drivers/net/ethernet/emulex/benet/be_cmds.c
752
status = lancer_wait_ready(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
762
if (BEx_chip(adapter) && be_virtfn(adapter))
drivers/net/ethernet/emulex/benet/be_cmds.c
765
stage = be_POST_stage_get(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
833
static inline struct be_mcc_wrb *wrb_from_mbox(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_cmds.c
835
struct be_dma_mem *mbox_mem = &adapter->mbox_mem;
drivers/net/ethernet/emulex/benet/be_cmds.c
842
static struct be_mcc_wrb *wrb_from_mccq(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_cmds.c
844
struct be_queue_info *mccq = &adapter->mcc_obj.q;
drivers/net/ethernet/emulex/benet/be_cmds.c
860
static bool use_mcc(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_cmds.c
862
return adapter->mcc_obj.q.created;
drivers/net/ethernet/emulex/benet/be_cmds.c
866
static int be_cmd_lock(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_cmds.c
868
if (use_mcc(adapter)) {
drivers/net/ethernet/emulex/benet/be_cmds.c
869
spin_lock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
872
return mutex_lock_interruptible(&adapter->mbox_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
877
static void be_cmd_unlock(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_cmds.c
879
if (use_mcc(adapter))
drivers/net/ethernet/emulex/benet/be_cmds.c
880
return spin_unlock_bh(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
882
return mutex_unlock(&adapter->mbox_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
885
static struct be_mcc_wrb *be_cmd_copy(struct be_adapter *adapter,
drivers/net/ethernet/emulex/benet/be_cmds.c
890
if (use_mcc(adapter)) {
drivers/net/ethernet/emulex/benet/be_cmds.c
891
dest_wrb = wrb_from_mccq(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
895
dest_wrb = wrb_from_mbox(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
906
static int be_cmd_notify_wait(struct be_adapter *adapter,
drivers/net/ethernet/emulex/benet/be_cmds.c
912
status = be_cmd_lock(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
916
dest_wrb = be_cmd_copy(adapter, wrb);
drivers/net/ethernet/emulex/benet/be_cmds.c
922
if (use_mcc(adapter))
drivers/net/ethernet/emulex/benet/be_cmds.c
923
status = be_mcc_notify_wait(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
925
status = be_mbox_notify_wait(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
931
be_cmd_unlock(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
938
int be_cmd_fw_init(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_cmds.c
943
if (lancer_chip(adapter))
drivers/net/ethernet/emulex/benet/be_cmds.c
946
if (mutex_lock_interruptible(&adapter->mbox_lock))
drivers/net/ethernet/emulex/benet/be_cmds.c
949
wrb = (u8 *)wrb_from_mbox(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
959
status = be_mbox_notify_wait(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
961
mutex_unlock(&adapter->mbox_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
968
int be_cmd_fw_clean(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_cmds.c
973
if (lancer_chip(adapter))
drivers/net/ethernet/emulex/benet/be_cmds.c
976
if (mutex_lock_interruptible(&adapter->mbox_lock))
drivers/net/ethernet/emulex/benet/be_cmds.c
979
wrb = (u8 *)wrb_from_mbox(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
989
status = be_mbox_notify_wait(adapter);
drivers/net/ethernet/emulex/benet/be_cmds.c
99
static bool be_cmd_allowed(struct be_adapter *adapter, u8 opcode, u8 subsystem)
drivers/net/ethernet/emulex/benet/be_cmds.c
991
mutex_unlock(&adapter->mbox_lock);
drivers/net/ethernet/emulex/benet/be_cmds.c
995
int be_cmd_eq_create(struct be_adapter *adapter, struct be_eq_obj *eqo)
drivers/net/ethernet/emulex/benet/be_cmds.h
1008
pport_stats_from_cmd(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_cmds.h
1010
struct lancer_cmd_resp_pport_stats *cmd = adapter->stats_cmd.va;
drivers/net/ethernet/emulex/benet/be_cmds.h
2230
static inline bool be_is_mc(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_cmds.h
2232
return adapter->mc_type > MC_NONE;
drivers/net/ethernet/emulex/benet/be_cmds.h
2298
static inline bool check_privilege(struct be_adapter *adapter, u32 flags)
drivers/net/ethernet/emulex/benet/be_cmds.h
2300
return flags & adapter->cmd_privileges ? true : false;
drivers/net/ethernet/emulex/benet/be_cmds.h
2383
u16 be_POST_stage_get(struct be_adapter *adapter);
drivers/net/ethernet/emulex/benet/be_cmds.h
2384
int be_fw_wait_ready(struct be_adapter *adapter);
drivers/net/ethernet/emulex/benet/be_cmds.h
2385
int be_cmd_mac_addr_query(struct be_adapter *adapter, u8 *mac_addr,
drivers/net/ethernet/emulex/benet/be_cmds.h
2387
int be_cmd_pmac_add(struct be_adapter *adapter, const u8 *mac_addr, u32 if_id,
drivers/net/ethernet/emulex/benet/be_cmds.h
2389
int be_cmd_pmac_del(struct be_adapter *adapter, u32 if_id, int pmac_id,
drivers/net/ethernet/emulex/benet/be_cmds.h
2391
int be_cmd_if_create(struct be_adapter *adapter, u32 cap_flags, u32 en_flags,
drivers/net/ethernet/emulex/benet/be_cmds.h
2393
int be_cmd_if_destroy(struct be_adapter *adapter, int if_handle, u32 domain);
drivers/net/ethernet/emulex/benet/be_cmds.h
2394
int be_cmd_eq_create(struct be_adapter *adapter, struct be_eq_obj *eqo);
drivers/net/ethernet/emulex/benet/be_cmds.h
2395
int be_cmd_cq_create(struct be_adapter *adapter, struct be_queue_info *cq,
drivers/net/ethernet/emulex/benet/be_cmds.h
2398
int be_cmd_mccq_create(struct be_adapter *adapter, struct be_queue_info *mccq,
drivers/net/ethernet/emulex/benet/be_cmds.h
2400
int be_cmd_txq_create(struct be_adapter *adapter, struct be_tx_obj *txo);
drivers/net/ethernet/emulex/benet/be_cmds.h
2401
int be_cmd_rxq_create(struct be_adapter *adapter, struct be_queue_info *rxq,
drivers/net/ethernet/emulex/benet/be_cmds.h
2403
int be_cmd_q_destroy(struct be_adapter *adapter, struct be_queue_info *q,
drivers/net/ethernet/emulex/benet/be_cmds.h
2405
int be_cmd_rxq_destroy(struct be_adapter *adapter, struct be_queue_info *q);
drivers/net/ethernet/emulex/benet/be_cmds.h
2406
int be_cmd_link_status_query(struct be_adapter *adapter, u16 *link_speed,
drivers/net/ethernet/emulex/benet/be_cmds.h
2408
int be_cmd_get_stats(struct be_adapter *adapter, struct be_dma_mem *nonemb_cmd);
drivers/net/ethernet/emulex/benet/be_cmds.h
2409
int lancer_cmd_get_pport_stats(struct be_adapter *adapter,
drivers/net/ethernet/emulex/benet/be_cmds.h
2411
int be_cmd_get_fw_ver(struct be_adapter *adapter);
drivers/net/ethernet/emulex/benet/be_cmds.h
2412
int be_cmd_modify_eqd(struct be_adapter *adapter, struct be_set_eqd *, int num);
drivers/net/ethernet/emulex/benet/be_cmds.h
2413
int be_cmd_vlan_config(struct be_adapter *adapter, u32 if_id, u16 *vtag_array,
drivers/net/ethernet/emulex/benet/be_cmds.h
2415
int be_cmd_rx_filter(struct be_adapter *adapter, u32 flags, u32 status);
drivers/net/ethernet/emulex/benet/be_cmds.h
2416
int be_cmd_set_flow_control(struct be_adapter *adapter, u32 tx_fc, u32 rx_fc);
drivers/net/ethernet/emulex/benet/be_cmds.h
2417
int be_cmd_get_flow_control(struct be_adapter *adapter, u32 *tx_fc, u32 *rx_fc);
drivers/net/ethernet/emulex/benet/be_cmds.h
2418
int be_cmd_query_fw_cfg(struct be_adapter *adapter);
drivers/net/ethernet/emulex/benet/be_cmds.h
2419
int be_cmd_reset_function(struct be_adapter *adapter);
drivers/net/ethernet/emulex/benet/be_cmds.h
2420
int be_cmd_rss_config(struct be_adapter *adapter, u8 *rsstable,
drivers/net/ethernet/emulex/benet/be_cmds.h
2422
int be_process_mcc(struct be_adapter *adapter);
drivers/net/ethernet/emulex/benet/be_cmds.h
2423
int be_cmd_set_beacon_state(struct be_adapter *adapter, u8 port_num, u8 beacon,
drivers/net/ethernet/emulex/benet/be_cmds.h
2425
int be_cmd_get_beacon_state(struct be_adapter *adapter, u8 port_num,
drivers/net/ethernet/emulex/benet/be_cmds.h
2427
int be_cmd_read_port_transceiver_data(struct be_adapter *adapter,
drivers/net/ethernet/emulex/benet/be_cmds.h
2429
int be_cmd_query_cable_type(struct be_adapter *adapter);
drivers/net/ethernet/emulex/benet/be_cmds.h
2430
int be_cmd_query_sfp_info(struct be_adapter *adapter);
drivers/net/ethernet/emulex/benet/be_cmds.h
2431
int lancer_cmd_read_object(struct be_adapter *adapter, struct be_dma_mem *cmd,
drivers/net/ethernet/emulex/benet/be_cmds.h
2434
int lancer_fw_download(struct be_adapter *adapter, const struct firmware *fw);
drivers/net/ethernet/emulex/benet/be_cmds.h
2435
int be_fw_download(struct be_adapter *adapter, const struct firmware *fw);
drivers/net/ethernet/emulex/benet/be_cmds.h
2436
int be_cmd_enable_magic_wol(struct be_adapter *adapter, u8 *mac,
drivers/net/ethernet/emulex/benet/be_cmds.h
2438
int be_cmd_fw_init(struct be_adapter *adapter);
drivers/net/ethernet/emulex/benet/be_cmds.h
2439
int be_cmd_fw_clean(struct be_adapter *adapter);
drivers/net/ethernet/emulex/benet/be_cmds.h
2440
void be_async_mcc_enable(struct be_adapter *adapter);
drivers/net/ethernet/emulex/benet/be_cmds.h
2441
void be_async_mcc_disable(struct be_adapter *adapter);
drivers/net/ethernet/emulex/benet/be_cmds.h
2442
int be_cmd_loopback_test(struct be_adapter *adapter, u32 port_num,
drivers/net/ethernet/emulex/benet/be_cmds.h
2445
int be_cmd_ddr_dma_test(struct be_adapter *adapter, u64 pattern, u32 byte_cnt,
drivers/net/ethernet/emulex/benet/be_cmds.h
2447
int be_cmd_get_seeprom_data(struct be_adapter *adapter,
drivers/net/ethernet/emulex/benet/be_cmds.h
2449
int be_cmd_set_loopback(struct be_adapter *adapter, u8 port_num,
drivers/net/ethernet/emulex/benet/be_cmds.h
2451
int be_cmd_get_phy_info(struct be_adapter *adapter);
drivers/net/ethernet/emulex/benet/be_cmds.h
2452
int be_cmd_config_qos(struct be_adapter *adapter, u32 max_rate,
drivers/net/ethernet/emulex/benet/be_cmds.h
2454
void be_detect_error(struct be_adapter *adapter);
drivers/net/ethernet/emulex/benet/be_cmds.h
2455
int be_cmd_get_die_temperature(struct be_adapter *adapter);
drivers/net/ethernet/emulex/benet/be_cmds.h
2456
int be_cmd_get_cntl_attributes(struct be_adapter *adapter);
drivers/net/ethernet/emulex/benet/be_cmds.h
2457
int be_cmd_get_fat_dump_len(struct be_adapter *adapter, u32 *dump_size);
drivers/net/ethernet/emulex/benet/be_cmds.h
2458
int be_cmd_get_fat_dump(struct be_adapter *adapter, u32 buf_len, void *buf);
drivers/net/ethernet/emulex/benet/be_cmds.h
2459
int be_cmd_req_native_mode(struct be_adapter *adapter);
drivers/net/ethernet/emulex/benet/be_cmds.h
2460
int be_cmd_get_fn_privileges(struct be_adapter *adapter, u32 *privilege,
drivers/net/ethernet/emulex/benet/be_cmds.h
2462
int be_cmd_set_fn_privileges(struct be_adapter *adapter, u32 privileges,
drivers/net/ethernet/emulex/benet/be_cmds.h
2464
int be_cmd_get_mac_from_list(struct be_adapter *adapter, u8 *mac,
drivers/net/ethernet/emulex/benet/be_cmds.h
2467
int be_cmd_get_active_mac(struct be_adapter *adapter, u32 pmac_id, u8 *mac,
drivers/net/ethernet/emulex/benet/be_cmds.h
2469
int be_cmd_get_perm_mac(struct be_adapter *adapter, u8 *mac);
drivers/net/ethernet/emulex/benet/be_cmds.h
2470
int be_cmd_set_mac_list(struct be_adapter *adapter, u8 *mac_array, u8 mac_count,
drivers/net/ethernet/emulex/benet/be_cmds.h
2472
int be_cmd_set_mac(struct be_adapter *adapter, u8 *mac, int if_id, u32 dom);
drivers/net/ethernet/emulex/benet/be_cmds.h
2473
int be_cmd_set_hsw_config(struct be_adapter *adapter, u16 pvid, u32 domain,
drivers/net/ethernet/emulex/benet/be_cmds.h
2475
int be_cmd_get_hsw_config(struct be_adapter *adapter, u16 *pvid, u32 domain,
drivers/net/ethernet/emulex/benet/be_cmds.h
2477
int be_cmd_get_acpi_wol_cap(struct be_adapter *adapter);
drivers/net/ethernet/emulex/benet/be_cmds.h
2478
int be_cmd_set_fw_log_level(struct be_adapter *adapter, u32 level);
drivers/net/ethernet/emulex/benet/be_cmds.h
2479
int be_cmd_get_fw_log_level(struct be_adapter *adapter);
drivers/net/ethernet/emulex/benet/be_cmds.h
2480
int be_cmd_get_ext_fat_capabilites(struct be_adapter *adapter,
drivers/net/ethernet/emulex/benet/be_cmds.h
2482
int be_cmd_set_ext_fat_capabilites(struct be_adapter *adapter,
drivers/net/ethernet/emulex/benet/be_cmds.h
2485
int lancer_physdev_ctrl(struct be_adapter *adapter, u32 mask);
drivers/net/ethernet/emulex/benet/be_cmds.h
2486
int lancer_initiate_dump(struct be_adapter *adapter);
drivers/net/ethernet/emulex/benet/be_cmds.h
2487
int lancer_delete_dump(struct be_adapter *adapter);
drivers/net/ethernet/emulex/benet/be_cmds.h
2488
bool dump_present(struct be_adapter *adapter);
drivers/net/ethernet/emulex/benet/be_cmds.h
2489
int be_cmd_query_port_name(struct be_adapter *adapter);
drivers/net/ethernet/emulex/benet/be_cmds.h
2490
int be_cmd_get_func_config(struct be_adapter *adapter,
drivers/net/ethernet/emulex/benet/be_cmds.h
2492
int be_cmd_get_profile_config(struct be_adapter *adapter,
drivers/net/ethernet/emulex/benet/be_cmds.h
2496
int be_cmd_get_active_profile(struct be_adapter *adapter, u16 *profile);
drivers/net/ethernet/emulex/benet/be_cmds.h
2497
int be_cmd_get_if_id(struct be_adapter *adapter, struct be_vf_cfg *vf_cfg,
drivers/net/ethernet/emulex/benet/be_cmds.h
2499
int be_cmd_enable_vf(struct be_adapter *adapter, u8 domain);
drivers/net/ethernet/emulex/benet/be_cmds.h
2500
int be_cmd_intr_set(struct be_adapter *adapter, bool intr_enable);
drivers/net/ethernet/emulex/benet/be_cmds.h
2501
int be_cmd_set_logical_link_config(struct be_adapter *adapter,
drivers/net/ethernet/emulex/benet/be_cmds.h
2503
int be_cmd_set_vxlan_port(struct be_adapter *adapter, __be16 port);
drivers/net/ethernet/emulex/benet/be_cmds.h
2504
int be_cmd_manage_iface(struct be_adapter *adapter, u32 iface, u8 op);
drivers/net/ethernet/emulex/benet/be_cmds.h
2505
int be_cmd_set_sriov_config(struct be_adapter *adapter,
drivers/net/ethernet/emulex/benet/be_cmds.h
2508
int be_cmd_set_features(struct be_adapter *adapter);
drivers/net/ethernet/emulex/benet/be_ethtool.c
1000
if (be_physfn(adapter))
drivers/net/ethernet/emulex/benet/be_ethtool.c
1001
return lancer_cmd_get_file_len(adapter,
drivers/net/ethernet/emulex/benet/be_ethtool.c
1004
return lancer_cmd_get_file_len(adapter,
drivers/net/ethernet/emulex/benet/be_ethtool.c
1014
struct be_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/emulex/benet/be_ethtool.c
1022
if (lancer_chip(adapter)) {
drivers/net/ethernet/emulex/benet/be_ethtool.c
1023
if (be_physfn(adapter))
drivers/net/ethernet/emulex/benet/be_ethtool.c
1024
return lancer_cmd_read_file(adapter, LANCER_VPD_PF_FILE,
drivers/net/ethernet/emulex/benet/be_ethtool.c
1027
return lancer_cmd_read_file(adapter, LANCER_VPD_VF_FILE,
drivers/net/ethernet/emulex/benet/be_ethtool.c
1031
eeprom->magic = BE_VENDOR_ID | (adapter->pdev->device<<16);
drivers/net/ethernet/emulex/benet/be_ethtool.c
1035
eeprom_cmd.va = dma_alloc_coherent(&adapter->pdev->dev,
drivers/net/ethernet/emulex/benet/be_ethtool.c
1042
status = be_cmd_get_seeprom_data(adapter, &eeprom_cmd);
drivers/net/ethernet/emulex/benet/be_ethtool.c
1048
dma_free_coherent(&adapter->pdev->dev, eeprom_cmd.size, eeprom_cmd.va,
drivers/net/ethernet/emulex/benet/be_ethtool.c
1056
struct be_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/emulex/benet/be_ethtool.c
1058
return adapter->msg_enable;
drivers/net/ethernet/emulex/benet/be_ethtool.c
1063
struct be_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/emulex/benet/be_ethtool.c
1065
if (adapter->msg_enable == level)
drivers/net/ethernet/emulex/benet/be_ethtool.c
1068
if ((level & NETIF_MSG_HW) != (adapter->msg_enable & NETIF_MSG_HW))
drivers/net/ethernet/emulex/benet/be_ethtool.c
1069
if (BEx_chip(adapter))
drivers/net/ethernet/emulex/benet/be_ethtool.c
1070
be_cmd_set_fw_log_level(adapter, level & NETIF_MSG_HW ?
drivers/net/ethernet/emulex/benet/be_ethtool.c
1073
adapter->msg_enable = level;
drivers/net/ethernet/emulex/benet/be_ethtool.c
1078
struct be_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/emulex/benet/be_ethtool.c
1080
return adapter->num_rx_qs;
drivers/net/ethernet/emulex/benet/be_ethtool.c
1086
struct be_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/emulex/benet/be_ethtool.c
1090
if (!be_multi_rxq(adapter)) {
drivers/net/ethernet/emulex/benet/be_ethtool.c
1091
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/emulex/benet/be_ethtool.c
1098
if (adapter->rss_info.rss_flags & RSS_ENABLE_IPV4)
drivers/net/ethernet/emulex/benet/be_ethtool.c
1100
if (adapter->rss_info.rss_flags & RSS_ENABLE_TCP_IPV4)
drivers/net/ethernet/emulex/benet/be_ethtool.c
1104
if (adapter->rss_info.rss_flags & RSS_ENABLE_IPV4)
drivers/net/ethernet/emulex/benet/be_ethtool.c
1106
if (adapter->rss_info.rss_flags & RSS_ENABLE_UDP_IPV4)
drivers/net/ethernet/emulex/benet/be_ethtool.c
1110
if (adapter->rss_info.rss_flags & RSS_ENABLE_IPV6)
drivers/net/ethernet/emulex/benet/be_ethtool.c
1112
if (adapter->rss_info.rss_flags & RSS_ENABLE_TCP_IPV6)
drivers/net/ethernet/emulex/benet/be_ethtool.c
1116
if (adapter->rss_info.rss_flags & RSS_ENABLE_IPV6)
drivers/net/ethernet/emulex/benet/be_ethtool.c
1118
if (adapter->rss_info.rss_flags & RSS_ENABLE_UDP_IPV6)
drivers/net/ethernet/emulex/benet/be_ethtool.c
1131
struct be_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/emulex/benet/be_ethtool.c
1132
u32 rss_flags = adapter->rss_info.rss_flags;
drivers/net/ethernet/emulex/benet/be_ethtool.c
1135
if (!be_multi_rxq(adapter)) {
drivers/net/ethernet/emulex/benet/be_ethtool.c
1136
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/emulex/benet/be_ethtool.c
1162
BEx_chip(adapter))
drivers/net/ethernet/emulex/benet/be_ethtool.c
1173
BEx_chip(adapter))
drivers/net/ethernet/emulex/benet/be_ethtool.c
1186
if (rss_flags == adapter->rss_info.rss_flags)
drivers/net/ethernet/emulex/benet/be_ethtool.c
1189
status = be_cmd_rss_config(adapter, adapter->rss_info.rsstable,
drivers/net/ethernet/emulex/benet/be_ethtool.c
1191
adapter->rss_info.rss_hkey);
drivers/net/ethernet/emulex/benet/be_ethtool.c
1193
adapter->rss_info.rss_flags = rss_flags;
drivers/net/ethernet/emulex/benet/be_ethtool.c
1201
struct be_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/emulex/benet/be_ethtool.c
1202
u16 num_rx_irqs = max_t(u16, adapter->num_rss_qs, 1);
drivers/net/ethernet/emulex/benet/be_ethtool.c
1205
ch->combined_count = min(adapter->num_tx_qs, num_rx_irqs);
drivers/net/ethernet/emulex/benet/be_ethtool.c
1207
ch->tx_count = adapter->num_tx_qs - ch->combined_count;
drivers/net/ethernet/emulex/benet/be_ethtool.c
1209
ch->max_combined = be_max_qp_irqs(adapter);
drivers/net/ethernet/emulex/benet/be_ethtool.c
1211
ch->max_rx = be_max_rx_irqs(adapter) - 1;
drivers/net/ethernet/emulex/benet/be_ethtool.c
1212
ch->max_tx = be_max_tx_irqs(adapter) - 1;
drivers/net/ethernet/emulex/benet/be_ethtool.c
1218
struct be_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/emulex/benet/be_ethtool.c
1228
if (ch->combined_count > be_max_qp_irqs(adapter) ||
drivers/net/ethernet/emulex/benet/be_ethtool.c
1230
(ch->rx_count + ch->combined_count) > be_max_rx_irqs(adapter)) ||
drivers/net/ethernet/emulex/benet/be_ethtool.c
1232
(ch->tx_count + ch->combined_count) > be_max_tx_irqs(adapter)))
drivers/net/ethernet/emulex/benet/be_ethtool.c
1235
adapter->cfg_num_rx_irqs = ch->combined_count + ch->rx_count;
drivers/net/ethernet/emulex/benet/be_ethtool.c
1236
adapter->cfg_num_tx_irqs = ch->combined_count + ch->tx_count;
drivers/net/ethernet/emulex/benet/be_ethtool.c
1238
status = be_update_queues(adapter);
drivers/net/ethernet/emulex/benet/be_ethtool.c
1255
struct be_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/emulex/benet/be_ethtool.c
1257
struct rss_info *rss = &adapter->rss_info;
drivers/net/ethernet/emulex/benet/be_ethtool.c
1277
struct be_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/emulex/benet/be_ethtool.c
1281
if (!be_multi_rxq(adapter)) {
drivers/net/ethernet/emulex/benet/be_ethtool.c
1282
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/emulex/benet/be_ethtool.c
1297
rxo = &adapter->rx_obj[j];
drivers/net/ethernet/emulex/benet/be_ethtool.c
1299
adapter->rss_info.rss_queue[i] = j;
drivers/net/ethernet/emulex/benet/be_ethtool.c
1302
memcpy(rsstable, adapter->rss_info.rsstable,
drivers/net/ethernet/emulex/benet/be_ethtool.c
1307
hkey = adapter->rss_info.rss_hkey;
drivers/net/ethernet/emulex/benet/be_ethtool.c
1309
rc = be_cmd_rss_config(adapter, rsstable,
drivers/net/ethernet/emulex/benet/be_ethtool.c
1310
adapter->rss_info.rss_flags,
drivers/net/ethernet/emulex/benet/be_ethtool.c
1313
adapter->rss_info.rss_flags = RSS_ENABLE_NONE;
drivers/net/ethernet/emulex/benet/be_ethtool.c
1316
memcpy(adapter->rss_info.rss_hkey, hkey, RSS_HASH_KEY_LEN);
drivers/net/ethernet/emulex/benet/be_ethtool.c
1317
memcpy(adapter->rss_info.rsstable, rsstable,
drivers/net/ethernet/emulex/benet/be_ethtool.c
1325
struct be_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/emulex/benet/be_ethtool.c
1329
if (!check_privilege(adapter, MAX_PRIVILEGES))
drivers/net/ethernet/emulex/benet/be_ethtool.c
1332
status = be_cmd_read_port_transceiver_data(adapter, TR_PAGE_A0,
drivers/net/ethernet/emulex/benet/be_ethtool.c
1349
struct be_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/emulex/benet/be_ethtool.c
1353
if (!check_privilege(adapter, MAX_PRIVILEGES))
drivers/net/ethernet/emulex/benet/be_ethtool.c
1360
status = be_cmd_read_port_transceiver_data(adapter, TR_PAGE_A0, begin,
drivers/net/ethernet/emulex/benet/be_ethtool.c
1371
status = be_cmd_read_port_transceiver_data(adapter, TR_PAGE_A2,
drivers/net/ethernet/emulex/benet/be_ethtool.c
1383
struct be_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/emulex/benet/be_ethtool.c
1385
return adapter->priv_flags;
drivers/net/ethernet/emulex/benet/be_ethtool.c
1390
struct be_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/emulex/benet/be_ethtool.c
1391
bool tpe_old = !!(adapter->priv_flags & BE_DISABLE_TPE_RECOVERY);
drivers/net/ethernet/emulex/benet/be_ethtool.c
1396
adapter->priv_flags |= BE_DISABLE_TPE_RECOVERY;
drivers/net/ethernet/emulex/benet/be_ethtool.c
1397
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/emulex/benet/be_ethtool.c
1400
adapter->priv_flags &= ~BE_DISABLE_TPE_RECOVERY;
drivers/net/ethernet/emulex/benet/be_ethtool.c
1401
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/emulex/benet/be_ethtool.c
221
struct be_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/emulex/benet/be_ethtool.c
224
if (!memcmp(adapter->fw_ver, adapter->fw_on_flash, FW_VER_LEN))
drivers/net/ethernet/emulex/benet/be_ethtool.c
225
strscpy(drvinfo->fw_version, adapter->fw_ver,
drivers/net/ethernet/emulex/benet/be_ethtool.c
229
"%s [%s]", adapter->fw_ver, adapter->fw_on_flash);
drivers/net/ethernet/emulex/benet/be_ethtool.c
231
strscpy(drvinfo->bus_info, pci_name(adapter->pdev),
drivers/net/ethernet/emulex/benet/be_ethtool.c
235
static u32 lancer_cmd_get_file_len(struct be_adapter *adapter, u8 *file_name)
drivers/net/ethernet/emulex/benet/be_ethtool.c
243
lancer_cmd_read_object(adapter, &data_len_cmd, 0, 0, file_name,
drivers/net/ethernet/emulex/benet/be_ethtool.c
249
static int be_get_dump_len(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_ethtool.c
253
if (lancer_chip(adapter))
drivers/net/ethernet/emulex/benet/be_ethtool.c
254
dump_size = lancer_cmd_get_file_len(adapter,
drivers/net/ethernet/emulex/benet/be_ethtool.c
257
dump_size = adapter->fat_dump_len;
drivers/net/ethernet/emulex/benet/be_ethtool.c
262
static int lancer_cmd_read_file(struct be_adapter *adapter, u8 *file_name,
drivers/net/ethernet/emulex/benet/be_ethtool.c
272
read_cmd.va = dma_alloc_coherent(&adapter->pdev->dev, read_cmd.size,
drivers/net/ethernet/emulex/benet/be_ethtool.c
276
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/emulex/benet/be_ethtool.c
285
status = lancer_cmd_read_object(adapter, &read_cmd, chunk_size,
drivers/net/ethernet/emulex/benet/be_ethtool.c
297
dma_free_coherent(&adapter->pdev->dev, read_cmd.size, read_cmd.va,
drivers/net/ethernet/emulex/benet/be_ethtool.c
303
static int be_read_dump_data(struct be_adapter *adapter, u32 dump_len,
drivers/net/ethernet/emulex/benet/be_ethtool.c
308
if (lancer_chip(adapter))
drivers/net/ethernet/emulex/benet/be_ethtool.c
309
status = lancer_cmd_read_file(adapter, LANCER_FW_DUMP_FILE,
drivers/net/ethernet/emulex/benet/be_ethtool.c
312
status = be_cmd_get_fat_dump(adapter, dump_len, buf);
drivers/net/ethernet/emulex/benet/be_ethtool.c
322
struct be_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/emulex/benet/be_ethtool.c
323
struct be_aic_obj *aic = &adapter->aic_obj[0];
drivers/net/ethernet/emulex/benet/be_ethtool.c
333
et->use_adaptive_rx_coalesce = adapter->aic_enabled;
drivers/net/ethernet/emulex/benet/be_ethtool.c
334
et->use_adaptive_tx_coalesce = adapter->aic_enabled;
drivers/net/ethernet/emulex/benet/be_ethtool.c
347
struct be_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/emulex/benet/be_ethtool.c
348
struct be_aic_obj *aic = &adapter->aic_obj[0];
drivers/net/ethernet/emulex/benet/be_ethtool.c
352
adapter->aic_enabled = et->use_adaptive_rx_coalesce;
drivers/net/ethernet/emulex/benet/be_ethtool.c
354
for_all_evt_queues(adapter, eqo, i) {
drivers/net/ethernet/emulex/benet/be_ethtool.c
367
if (!et->use_adaptive_rx_coalesce && skyhawk_chip(adapter))
drivers/net/ethernet/emulex/benet/be_ethtool.c
368
be_eqd_update(adapter, true);
drivers/net/ethernet/emulex/benet/be_ethtool.c
376
struct be_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/emulex/benet/be_ethtool.c
383
p = (u8 *)&adapter->drv_stats + et_stats[i].offset;
drivers/net/ethernet/emulex/benet/be_ethtool.c
388
for_all_rx_queues(adapter, rxo, j) {
drivers/net/ethernet/emulex/benet/be_ethtool.c
404
for_all_tx_queues(adapter, txo, j) {
drivers/net/ethernet/emulex/benet/be_ethtool.c
432
struct be_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/emulex/benet/be_ethtool.c
441
for (i = 0; i < adapter->num_rx_qs; i++) {
drivers/net/ethernet/emulex/benet/be_ethtool.c
448
for (i = 0; i < adapter->num_tx_qs; i++) {
drivers/net/ethernet/emulex/benet/be_ethtool.c
471
struct be_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/emulex/benet/be_ethtool.c
478
adapter->num_rx_qs * ETHTOOL_RXSTATS_NUM +
drivers/net/ethernet/emulex/benet/be_ethtool.c
479
adapter->num_tx_qs * ETHTOOL_TXSTATS_NUM;
drivers/net/ethernet/emulex/benet/be_ethtool.c
487
static u32 be_get_port_type(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_ethtool.c
491
switch (adapter->phy.interface_type) {
drivers/net/ethernet/emulex/benet/be_ethtool.c
498
if (adapter->phy.cable_type & SFP_PLUS_COPPER_CABLE)
drivers/net/ethernet/emulex/benet/be_ethtool.c
504
if (adapter->phy.cable_type & QSFP_PLUS_CR4_CABLE)
drivers/net/ethernet/emulex/benet/be_ethtool.c
523
static u32 convert_to_et_setting(struct be_adapter *adapter, u32 if_speeds)
drivers/net/ethernet/emulex/benet/be_ethtool.c
527
switch (adapter->phy.interface_type) {
drivers/net/ethernet/emulex/benet/be_ethtool.c
566
switch (adapter->phy.cable_type) {
drivers/net/ethernet/emulex/benet/be_ethtool.c
604
bool be_pause_supported(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_ethtool.c
606
return (adapter->phy.interface_type == PHY_TYPE_SFP_PLUS_10GB ||
drivers/net/ethernet/emulex/benet/be_ethtool.c
607
adapter->phy.interface_type == PHY_TYPE_XFP_10GB) ?
drivers/net/ethernet/emulex/benet/be_ethtool.c
614
struct be_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/emulex/benet/be_ethtool.c
622
if (adapter->phy.link_speed < 0) {
drivers/net/ethernet/emulex/benet/be_ethtool.c
623
status = be_cmd_link_status_query(adapter, &link_speed,
drivers/net/ethernet/emulex/benet/be_ethtool.c
626
be_link_status_update(adapter, link_status);
drivers/net/ethernet/emulex/benet/be_ethtool.c
629
status = be_cmd_get_phy_info(adapter);
drivers/net/ethernet/emulex/benet/be_ethtool.c
631
auto_speeds = adapter->phy.auto_speeds_supported;
drivers/net/ethernet/emulex/benet/be_ethtool.c
632
fixed_speeds = adapter->phy.fixed_speeds_supported;
drivers/net/ethernet/emulex/benet/be_ethtool.c
634
be_cmd_query_cable_type(adapter);
drivers/net/ethernet/emulex/benet/be_ethtool.c
637
convert_to_et_setting(adapter,
drivers/net/ethernet/emulex/benet/be_ethtool.c
641
convert_to_et_setting(adapter, auto_speeds);
drivers/net/ethernet/emulex/benet/be_ethtool.c
643
cmd->base.port = be_get_port_type(adapter);
drivers/net/ethernet/emulex/benet/be_ethtool.c
645
if (adapter->phy.auto_speeds_supported) {
drivers/net/ethernet/emulex/benet/be_ethtool.c
652
if (be_pause_supported(adapter))
drivers/net/ethernet/emulex/benet/be_ethtool.c
660
adapter->phy.link_speed = cmd->base.speed;
drivers/net/ethernet/emulex/benet/be_ethtool.c
661
adapter->phy.port_type = cmd->base.port;
drivers/net/ethernet/emulex/benet/be_ethtool.c
662
adapter->phy.autoneg = cmd->base.autoneg;
drivers/net/ethernet/emulex/benet/be_ethtool.c
663
adapter->phy.advertising = advertising;
drivers/net/ethernet/emulex/benet/be_ethtool.c
664
adapter->phy.supported = supported;
drivers/net/ethernet/emulex/benet/be_ethtool.c
666
cmd->base.speed = adapter->phy.link_speed;
drivers/net/ethernet/emulex/benet/be_ethtool.c
667
cmd->base.port = adapter->phy.port_type;
drivers/net/ethernet/emulex/benet/be_ethtool.c
668
cmd->base.autoneg = adapter->phy.autoneg;
drivers/net/ethernet/emulex/benet/be_ethtool.c
669
advertising = adapter->phy.advertising;
drivers/net/ethernet/emulex/benet/be_ethtool.c
670
supported = adapter->phy.supported;
drivers/net/ethernet/emulex/benet/be_ethtool.c
675
cmd->base.phy_address = adapter->port_num;
drivers/net/ethernet/emulex/benet/be_ethtool.c
690
struct be_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/emulex/benet/be_ethtool.c
692
ring->rx_max_pending = adapter->rx_obj[0].q.len;
drivers/net/ethernet/emulex/benet/be_ethtool.c
693
ring->rx_pending = adapter->rx_obj[0].q.len;
drivers/net/ethernet/emulex/benet/be_ethtool.c
694
ring->tx_max_pending = adapter->tx_obj[0].q.len;
drivers/net/ethernet/emulex/benet/be_ethtool.c
695
ring->tx_pending = adapter->tx_obj[0].q.len;
drivers/net/ethernet/emulex/benet/be_ethtool.c
701
struct be_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/emulex/benet/be_ethtool.c
703
be_cmd_get_flow_control(adapter, &ecmd->tx_pause, &ecmd->rx_pause);
drivers/net/ethernet/emulex/benet/be_ethtool.c
704
ecmd->autoneg = adapter->phy.fc_autoneg;
drivers/net/ethernet/emulex/benet/be_ethtool.c
710
struct be_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/emulex/benet/be_ethtool.c
713
if (ecmd->autoneg != adapter->phy.fc_autoneg)
drivers/net/ethernet/emulex/benet/be_ethtool.c
716
status = be_cmd_set_flow_control(adapter, ecmd->tx_pause,
drivers/net/ethernet/emulex/benet/be_ethtool.c
719
dev_warn(&adapter->pdev->dev, "Pause param set failed\n");
drivers/net/ethernet/emulex/benet/be_ethtool.c
723
adapter->tx_fc = ecmd->tx_pause;
drivers/net/ethernet/emulex/benet/be_ethtool.c
724
adapter->rx_fc = ecmd->rx_pause;
drivers/net/ethernet/emulex/benet/be_ethtool.c
731
struct be_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/emulex/benet/be_ethtool.c
736
status = be_cmd_get_beacon_state(adapter, adapter->hba_port_num,
drivers/net/ethernet/emulex/benet/be_ethtool.c
737
&adapter->beacon_state);
drivers/net/ethernet/emulex/benet/be_ethtool.c
743
status = be_cmd_set_beacon_state(adapter, adapter->hba_port_num,
drivers/net/ethernet/emulex/benet/be_ethtool.c
748
status = be_cmd_set_beacon_state(adapter, adapter->hba_port_num,
drivers/net/ethernet/emulex/benet/be_ethtool.c
753
status = be_cmd_set_beacon_state(adapter, adapter->hba_port_num,
drivers/net/ethernet/emulex/benet/be_ethtool.c
754
0, 0, adapter->beacon_state);
drivers/net/ethernet/emulex/benet/be_ethtool.c
762
struct be_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/emulex/benet/be_ethtool.c
763
struct device *dev = &adapter->pdev->dev;
drivers/net/ethernet/emulex/benet/be_ethtool.c
766
if (!lancer_chip(adapter) ||
drivers/net/ethernet/emulex/benet/be_ethtool.c
767
!check_privilege(adapter, MAX_PRIVILEGES))
drivers/net/ethernet/emulex/benet/be_ethtool.c
772
status = lancer_initiate_dump(adapter);
drivers/net/ethernet/emulex/benet/be_ethtool.c
777
status = lancer_delete_dump(adapter);
drivers/net/ethernet/emulex/benet/be_ethtool.c
790
struct be_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/emulex/benet/be_ethtool.c
792
if (adapter->wol_cap & BE_WOL_CAP) {
drivers/net/ethernet/emulex/benet/be_ethtool.c
794
if (adapter->wol_en)
drivers/net/ethernet/emulex/benet/be_ethtool.c
804
struct be_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/emulex/benet/be_ethtool.c
805
struct device *dev = &adapter->pdev->dev;
drivers/net/ethernet/emulex/benet/be_ethtool.c
814
if (!(adapter->wol_cap & BE_WOL_CAP)) {
drivers/net/ethernet/emulex/benet/be_ethtool.c
815
dev_warn(&adapter->pdev->dev, "WOL not supported\n");
drivers/net/ethernet/emulex/benet/be_ethtool.c
828
ether_addr_copy(mac, adapter->netdev->dev_addr);
drivers/net/ethernet/emulex/benet/be_ethtool.c
830
status = be_cmd_enable_magic_wol(adapter, mac, &cmd);
drivers/net/ethernet/emulex/benet/be_ethtool.c
837
pci_enable_wake(adapter->pdev, PCI_D3hot, enable);
drivers/net/ethernet/emulex/benet/be_ethtool.c
838
pci_enable_wake(adapter->pdev, PCI_D3cold, enable);
drivers/net/ethernet/emulex/benet/be_ethtool.c
840
adapter->wol_en = enable ? true : false;
drivers/net/ethernet/emulex/benet/be_ethtool.c
847
static int be_test_ddr_dma(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_ethtool.c
856
ddrdma_cmd.va = dma_alloc_coherent(&adapter->pdev->dev,
drivers/net/ethernet/emulex/benet/be_ethtool.c
863
ret = be_cmd_ddr_dma_test(adapter, pattern[i],
drivers/net/ethernet/emulex/benet/be_ethtool.c
870
dma_free_coherent(&adapter->pdev->dev, ddrdma_cmd.size, ddrdma_cmd.va,
drivers/net/ethernet/emulex/benet/be_ethtool.c
875
static u64 be_loopback_test(struct be_adapter *adapter, u8 loopback_type,
drivers/net/ethernet/emulex/benet/be_ethtool.c
880
ret = be_cmd_set_loopback(adapter, adapter->hba_port_num,
drivers/net/ethernet/emulex/benet/be_ethtool.c
885
*status = be_cmd_loopback_test(adapter, adapter->hba_port_num,
drivers/net/ethernet/emulex/benet/be_ethtool.c
888
ret = be_cmd_set_loopback(adapter, adapter->hba_port_num,
drivers/net/ethernet/emulex/benet/be_ethtool.c
899
struct be_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/emulex/benet/be_ethtool.c
903
if (adapter->function_caps & BE_FUNCTION_CAPS_SUPER_NIC) {
drivers/net/ethernet/emulex/benet/be_ethtool.c
904
dev_err(&adapter->pdev->dev, "Self test not supported\n");
drivers/net/ethernet/emulex/benet/be_ethtool.c
915
if (be_loopback_test(adapter, BE_MAC_LOOPBACK, &data[0]) != 0)
drivers/net/ethernet/emulex/benet/be_ethtool.c
918
if (be_loopback_test(adapter, BE_PHY_LOOPBACK, &data[1]) != 0)
drivers/net/ethernet/emulex/benet/be_ethtool.c
922
if (be_loopback_test(adapter, BE_ONE_PORT_EXT_LOOPBACK,
drivers/net/ethernet/emulex/benet/be_ethtool.c
929
if (!lancer_chip(adapter) && be_test_ddr_dma(adapter) != 0) {
drivers/net/ethernet/emulex/benet/be_ethtool.c
942
status = be_cmd_link_status_query(adapter, NULL, &link_status,
drivers/net/ethernet/emulex/benet/be_ethtool.c
959
struct be_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/emulex/benet/be_ethtool.c
961
return be_load_fw(adapter, efl->data);
drivers/net/ethernet/emulex/benet/be_ethtool.c
967
struct be_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/emulex/benet/be_ethtool.c
969
if (!check_privilege(adapter, MAX_PRIVILEGES))
drivers/net/ethernet/emulex/benet/be_ethtool.c
972
dump->len = be_get_dump_len(adapter);
drivers/net/ethernet/emulex/benet/be_ethtool.c
982
struct be_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/emulex/benet/be_ethtool.c
985
if (!check_privilege(adapter, MAX_PRIVILEGES))
drivers/net/ethernet/emulex/benet/be_ethtool.c
988
status = be_read_dump_data(adapter, dump->len, buf);
drivers/net/ethernet/emulex/benet/be_ethtool.c
994
struct be_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/emulex/benet/be_ethtool.c
996
if (!check_privilege(adapter, MAX_PRIVILEGES))
drivers/net/ethernet/emulex/benet/be_ethtool.c
999
if (lancer_chip(adapter)) {
drivers/net/ethernet/emulex/benet/be_main.c
1025
be_tx_setup_wrb_hdr(adapter, txo, wrb_params, skb, head);
drivers/net/ethernet/emulex/benet/be_main.c
1031
adapter->drv_stats.dma_map_errors++;
drivers/net/ethernet/emulex/benet/be_main.c
1032
be_xmit_restore(adapter, txo, head, map_single, copied);
drivers/net/ethernet/emulex/benet/be_main.c
1036
static inline int qnq_async_evt_rcvd(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_main.c
1038
return adapter->flags & BE_FLAGS_QNQ_ASYNC_EVT_RCVD;
drivers/net/ethernet/emulex/benet/be_main.c
1041
static struct sk_buff *be_insert_vlan_in_pkt(struct be_adapter *adapter,
drivers/net/ethernet/emulex/benet/be_main.c
1054
vlan_tag = be_get_tx_vlan_tag(adapter, skb);
drivers/net/ethernet/emulex/benet/be_main.c
1058
if (qnq_async_evt_rcvd(adapter) && adapter->pvid) {
drivers/net/ethernet/emulex/benet/be_main.c
1060
vlan_tag = adapter->pvid;
drivers/net/ethernet/emulex/benet/be_main.c
1078
if (adapter->qnq_vid) {
drivers/net/ethernet/emulex/benet/be_main.c
1079
vlan_tag = adapter->qnq_vid;
drivers/net/ethernet/emulex/benet/be_main.c
1112
static int be_vlan_tag_tx_chk(struct be_adapter *adapter, struct sk_buff *skb)
drivers/net/ethernet/emulex/benet/be_main.c
1114
return skb_vlan_tag_present(skb) || adapter->pvid || adapter->qnq_vid;
drivers/net/ethernet/emulex/benet/be_main.c
1117
static int be_ipv6_tx_stall_chk(struct be_adapter *adapter, struct sk_buff *skb)
drivers/net/ethernet/emulex/benet/be_main.c
1119
return BE3_chip(adapter) && be_ipv6_exthdr_check(skb);
drivers/net/ethernet/emulex/benet/be_main.c
1122
static struct sk_buff *be_lancer_xmit_workarounds(struct be_adapter *adapter,
drivers/net/ethernet/emulex/benet/be_main.c
1138
(lancer_chip(adapter) || BE3_chip(adapter) ||
drivers/net/ethernet/emulex/benet/be_main.c
1148
if (be_pvid_tagging_enabled(adapter) &&
drivers/net/ethernet/emulex/benet/be_main.c
1158
skb = be_insert_vlan_in_pkt(adapter, skb, wrb_params);
drivers/net/ethernet/emulex/benet/be_main.c
1167
if (unlikely(be_ipv6_tx_stall_chk(adapter, skb) &&
drivers/net/ethernet/emulex/benet/be_main.c
1168
(adapter->pvid || adapter->qnq_vid) &&
drivers/net/ethernet/emulex/benet/be_main.c
1169
!qnq_async_evt_rcvd(adapter)))
drivers/net/ethernet/emulex/benet/be_main.c
1178
if (be_ipv6_tx_stall_chk(adapter, skb) &&
drivers/net/ethernet/emulex/benet/be_main.c
1179
be_vlan_tag_tx_chk(adapter, skb)) {
drivers/net/ethernet/emulex/benet/be_main.c
1180
skb = be_insert_vlan_in_pkt(adapter, skb, wrb_params);
drivers/net/ethernet/emulex/benet/be_main.c
1192
static struct sk_buff *be_xmit_workarounds(struct be_adapter *adapter,
drivers/net/ethernet/emulex/benet/be_main.c
1208
if (BEx_chip(adapter) || lancer_chip(adapter)) {
drivers/net/ethernet/emulex/benet/be_main.c
1209
skb = be_lancer_xmit_workarounds(adapter, skb, wrb_params);
drivers/net/ethernet/emulex/benet/be_main.c
1224
static void be_xmit_flush(struct be_adapter *adapter, struct be_tx_obj *txo)
drivers/net/ethernet/emulex/benet/be_main.c
1234
if (!lancer_chip(adapter) && (txo->pend_wrb_cnt & 1)) {
drivers/net/ethernet/emulex/benet/be_main.c
1244
be_txq_notify(adapter, txo, txo->pend_wrb_cnt);
drivers/net/ethernet/emulex/benet/be_main.c
1256
#define is_mc_allowed_on_bmc(adapter, eh) \
drivers/net/ethernet/emulex/benet/be_main.c
1257
(!is_multicast_filt_enabled(adapter) && \
drivers/net/ethernet/emulex/benet/be_main.c
1261
#define is_bc_allowed_on_bmc(adapter, eh) \
drivers/net/ethernet/emulex/benet/be_main.c
1262
(!is_broadcast_filt_enabled(adapter) && \
drivers/net/ethernet/emulex/benet/be_main.c
1265
#define is_arp_allowed_on_bmc(adapter, skb) \
drivers/net/ethernet/emulex/benet/be_main.c
1266
(is_arp(skb) && is_arp_filt_enabled(adapter))
drivers/net/ethernet/emulex/benet/be_main.c
1270
#define is_arp_filt_enabled(adapter) \
drivers/net/ethernet/emulex/benet/be_main.c
1271
(adapter->bmc_filt_mask & (BMC_FILT_BROADCAST_ARP))
drivers/net/ethernet/emulex/benet/be_main.c
1273
#define is_dhcp_client_filt_enabled(adapter) \
drivers/net/ethernet/emulex/benet/be_main.c
1274
(adapter->bmc_filt_mask & BMC_FILT_BROADCAST_DHCP_CLIENT)
drivers/net/ethernet/emulex/benet/be_main.c
1276
#define is_dhcp_srvr_filt_enabled(adapter) \
drivers/net/ethernet/emulex/benet/be_main.c
1277
(adapter->bmc_filt_mask & BMC_FILT_BROADCAST_DHCP_SERVER)
drivers/net/ethernet/emulex/benet/be_main.c
1279
#define is_nbios_filt_enabled(adapter) \
drivers/net/ethernet/emulex/benet/be_main.c
1280
(adapter->bmc_filt_mask & BMC_FILT_BROADCAST_NET_BIOS)
drivers/net/ethernet/emulex/benet/be_main.c
1282
#define is_ipv6_na_filt_enabled(adapter) \
drivers/net/ethernet/emulex/benet/be_main.c
1283
(adapter->bmc_filt_mask & \
drivers/net/ethernet/emulex/benet/be_main.c
1286
#define is_ipv6_ra_filt_enabled(adapter) \
drivers/net/ethernet/emulex/benet/be_main.c
1287
(adapter->bmc_filt_mask & BMC_FILT_MULTICAST_IPV6_RA)
drivers/net/ethernet/emulex/benet/be_main.c
1289
#define is_ipv6_ras_filt_enabled(adapter) \
drivers/net/ethernet/emulex/benet/be_main.c
1290
(adapter->bmc_filt_mask & BMC_FILT_MULTICAST_IPV6_RAS)
drivers/net/ethernet/emulex/benet/be_main.c
1292
#define is_broadcast_filt_enabled(adapter) \
drivers/net/ethernet/emulex/benet/be_main.c
1293
(adapter->bmc_filt_mask & BMC_FILT_BROADCAST)
drivers/net/ethernet/emulex/benet/be_main.c
1295
#define is_multicast_filt_enabled(adapter) \
drivers/net/ethernet/emulex/benet/be_main.c
1296
(adapter->bmc_filt_mask & BMC_FILT_MULTICAST)
drivers/net/ethernet/emulex/benet/be_main.c
1298
static bool be_send_pkt_to_bmc(struct be_adapter *adapter,
drivers/net/ethernet/emulex/benet/be_main.c
1305
if (!be_is_os2bmc_enabled(adapter))
drivers/net/ethernet/emulex/benet/be_main.c
1311
if (is_mc_allowed_on_bmc(adapter, eh) ||
drivers/net/ethernet/emulex/benet/be_main.c
1312
is_bc_allowed_on_bmc(adapter, eh) ||
drivers/net/ethernet/emulex/benet/be_main.c
1313
is_arp_allowed_on_bmc(adapter, (*skb))) {
drivers/net/ethernet/emulex/benet/be_main.c
1327
os2bmc = is_ipv6_ra_filt_enabled(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
1330
os2bmc = is_ipv6_na_filt_enabled(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
1343
os2bmc = is_dhcp_client_filt_enabled(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
1346
os2bmc = is_dhcp_srvr_filt_enabled(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
1350
os2bmc = is_nbios_filt_enabled(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
1353
os2bmc = is_ipv6_ras_filt_enabled(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
1364
*skb = be_insert_vlan_in_pkt(adapter, *skb, wrb_params);
drivers/net/ethernet/emulex/benet/be_main.c
1371
struct be_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/emulex/benet/be_main.c
1373
struct be_tx_obj *txo = &adapter->tx_obj[q_idx];
drivers/net/ethernet/emulex/benet/be_main.c
1378
skb = be_xmit_workarounds(adapter, skb, &wrb_params);
drivers/net/ethernet/emulex/benet/be_main.c
1382
be_get_wrb_params_from_skb(adapter, skb, &wrb_params);
drivers/net/ethernet/emulex/benet/be_main.c
1384
wrb_cnt = be_xmit_enqueue(adapter, txo, skb, &wrb_params);
drivers/net/ethernet/emulex/benet/be_main.c
1391
if (be_send_pkt_to_bmc(adapter, &skb, &wrb_params)) {
drivers/net/ethernet/emulex/benet/be_main.c
1393
wrb_cnt = be_xmit_enqueue(adapter, txo, skb, &wrb_params);
drivers/net/ethernet/emulex/benet/be_main.c
1406
be_xmit_flush(adapter, txo);
drivers/net/ethernet/emulex/benet/be_main.c
1415
be_xmit_flush(adapter, txo);
drivers/net/ethernet/emulex/benet/be_main.c
1422
struct be_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/emulex/benet/be_main.c
1423
struct device *dev = &adapter->pdev->dev;
drivers/net/ethernet/emulex/benet/be_main.c
1432
for_all_tx_queues(adapter, txo, i) {
drivers/net/ethernet/emulex/benet/be_main.c
144
static void be_queue_free(struct be_adapter *adapter, struct be_queue_info *q)
drivers/net/ethernet/emulex/benet/be_main.c
1487
if (lancer_chip(adapter)) {
drivers/net/ethernet/emulex/benet/be_main.c
149
dma_free_coherent(&adapter->pdev->dev, mem->size, mem->va,
drivers/net/ethernet/emulex/benet/be_main.c
1490
status = lancer_physdev_ctrl(adapter,
drivers/net/ethernet/emulex/benet/be_main.c
1497
static inline bool be_in_all_promisc(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_main.c
1499
return (adapter->if_flags & BE_IF_FLAGS_ALL_PROMISCUOUS) ==
drivers/net/ethernet/emulex/benet/be_main.c
1503
static int be_set_vlan_promisc(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_main.c
1505
struct device *dev = &adapter->pdev->dev;
drivers/net/ethernet/emulex/benet/be_main.c
1508
if (adapter->if_flags & BE_IF_FLAGS_VLAN_PROMISCUOUS)
drivers/net/ethernet/emulex/benet/be_main.c
1511
status = be_cmd_rx_filter(adapter, BE_IF_FLAGS_VLAN_PROMISCUOUS, ON);
drivers/net/ethernet/emulex/benet/be_main.c
1514
adapter->if_flags |= BE_IF_FLAGS_VLAN_PROMISCUOUS;
drivers/net/ethernet/emulex/benet/be_main.c
1521
static int be_clear_vlan_promisc(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_main.c
1523
struct device *dev = &adapter->pdev->dev;
drivers/net/ethernet/emulex/benet/be_main.c
1526
status = be_cmd_rx_filter(adapter, BE_IF_FLAGS_VLAN_PROMISCUOUS, OFF);
drivers/net/ethernet/emulex/benet/be_main.c
1529
adapter->if_flags &= ~BE_IF_FLAGS_VLAN_PROMISCUOUS;
drivers/net/ethernet/emulex/benet/be_main.c
1538
static int be_vid_config(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_main.c
1540
struct device *dev = &adapter->pdev->dev;
drivers/net/ethernet/emulex/benet/be_main.c
1546
if (adapter->netdev->flags & IFF_PROMISC)
drivers/net/ethernet/emulex/benet/be_main.c
1549
if (adapter->vlans_added > be_max_vlans(adapter))
drivers/net/ethernet/emulex/benet/be_main.c
155
static int be_queue_alloc(struct be_adapter *adapter, struct be_queue_info *q,
drivers/net/ethernet/emulex/benet/be_main.c
1550
return be_set_vlan_promisc(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
1552
if (adapter->if_flags & BE_IF_FLAGS_VLAN_PROMISCUOUS) {
drivers/net/ethernet/emulex/benet/be_main.c
1553
status = be_clear_vlan_promisc(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
1558
for_each_set_bit(i, adapter->vids, VLAN_N_VID)
drivers/net/ethernet/emulex/benet/be_main.c
1561
status = be_cmd_vlan_config(adapter, adapter->if_handle, vids, num, 0);
drivers/net/ethernet/emulex/benet/be_main.c
1568
return be_set_vlan_promisc(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
1575
struct be_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/emulex/benet/be_main.c
1578
mutex_lock(&adapter->rx_filter_lock);
drivers/net/ethernet/emulex/benet/be_main.c
1581
if (lancer_chip(adapter) && vid == 0)
drivers/net/ethernet/emulex/benet/be_main.c
1584
if (test_bit(vid, adapter->vids))
drivers/net/ethernet/emulex/benet/be_main.c
1587
set_bit(vid, adapter->vids);
drivers/net/ethernet/emulex/benet/be_main.c
1588
adapter->vlans_added++;
drivers/net/ethernet/emulex/benet/be_main.c
1590
status = be_vid_config(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
1592
mutex_unlock(&adapter->rx_filter_lock);
drivers/net/ethernet/emulex/benet/be_main.c
1598
struct be_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/emulex/benet/be_main.c
1601
mutex_lock(&adapter->rx_filter_lock);
drivers/net/ethernet/emulex/benet/be_main.c
1604
if (lancer_chip(adapter) && vid == 0)
drivers/net/ethernet/emulex/benet/be_main.c
1607
if (!test_bit(vid, adapter->vids))
drivers/net/ethernet/emulex/benet/be_main.c
1610
clear_bit(vid, adapter->vids);
drivers/net/ethernet/emulex/benet/be_main.c
1611
adapter->vlans_added--;
drivers/net/ethernet/emulex/benet/be_main.c
1613
status = be_vid_config(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
1615
mutex_unlock(&adapter->rx_filter_lock);
drivers/net/ethernet/emulex/benet/be_main.c
1619
static void be_set_all_promisc(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_main.c
1621
be_cmd_rx_filter(adapter, BE_IF_FLAGS_ALL_PROMISCUOUS, ON);
drivers/net/ethernet/emulex/benet/be_main.c
1622
adapter->if_flags |= BE_IF_FLAGS_ALL_PROMISCUOUS;
drivers/net/ethernet/emulex/benet/be_main.c
1625
static void be_set_mc_promisc(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_main.c
1629
if (adapter->if_flags & BE_IF_FLAGS_MCAST_PROMISCUOUS)
drivers/net/ethernet/emulex/benet/be_main.c
1632
status = be_cmd_rx_filter(adapter, BE_IF_FLAGS_MCAST_PROMISCUOUS, ON);
drivers/net/ethernet/emulex/benet/be_main.c
1634
adapter->if_flags |= BE_IF_FLAGS_MCAST_PROMISCUOUS;
drivers/net/ethernet/emulex/benet/be_main.c
1637
static void be_set_uc_promisc(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_main.c
164
mem->va = dma_alloc_coherent(&adapter->pdev->dev, mem->size,
drivers/net/ethernet/emulex/benet/be_main.c
1641
if (adapter->if_flags & BE_IF_FLAGS_PROMISCUOUS)
drivers/net/ethernet/emulex/benet/be_main.c
1644
status = be_cmd_rx_filter(adapter, BE_IF_FLAGS_PROMISCUOUS, ON);
drivers/net/ethernet/emulex/benet/be_main.c
1646
adapter->if_flags |= BE_IF_FLAGS_PROMISCUOUS;
drivers/net/ethernet/emulex/benet/be_main.c
1649
static void be_clear_uc_promisc(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_main.c
1653
if (!(adapter->if_flags & BE_IF_FLAGS_PROMISCUOUS))
drivers/net/ethernet/emulex/benet/be_main.c
1656
status = be_cmd_rx_filter(adapter, BE_IF_FLAGS_PROMISCUOUS, OFF);
drivers/net/ethernet/emulex/benet/be_main.c
1658
adapter->if_flags &= ~BE_IF_FLAGS_PROMISCUOUS;
drivers/net/ethernet/emulex/benet/be_main.c
1669
struct be_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/emulex/benet/be_main.c
1671
adapter->update_uc_list = true;
drivers/net/ethernet/emulex/benet/be_main.c
1678
struct be_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/emulex/benet/be_main.c
1680
adapter->update_mc_list = true;
drivers/net/ethernet/emulex/benet/be_main.c
1684
static void be_set_mc_list(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_main.c
1686
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/emulex/benet/be_main.c
1695
adapter->update_mc_list = false;
drivers/net/ethernet/emulex/benet/be_main.c
1697
netdev_mc_count(netdev) > be_max_mc(adapter)) {
drivers/net/ethernet/emulex/benet/be_main.c
1702
adapter->update_mc_list = false;
drivers/net/ethernet/emulex/benet/be_main.c
1703
} else if (adapter->if_flags & BE_IF_FLAGS_MCAST_PROMISCUOUS) {
drivers/net/ethernet/emulex/benet/be_main.c
1707
adapter->update_mc_list = true;
drivers/net/ethernet/emulex/benet/be_main.c
171
static void be_reg_intr_set(struct be_adapter *adapter, bool enable)
drivers/net/ethernet/emulex/benet/be_main.c
1710
if (adapter->update_mc_list) {
drivers/net/ethernet/emulex/benet/be_main.c
1715
ether_addr_copy(adapter->mc_list[i].mac, ha->addr);
drivers/net/ethernet/emulex/benet/be_main.c
1718
adapter->mc_count = netdev_mc_count(netdev);
drivers/net/ethernet/emulex/benet/be_main.c
1723
be_set_mc_promisc(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
1724
} else if (adapter->update_mc_list) {
drivers/net/ethernet/emulex/benet/be_main.c
1725
status = be_cmd_rx_filter(adapter, BE_IF_FLAGS_MULTICAST, ON);
drivers/net/ethernet/emulex/benet/be_main.c
1727
adapter->if_flags &= ~BE_IF_FLAGS_MCAST_PROMISCUOUS;
drivers/net/ethernet/emulex/benet/be_main.c
1729
be_set_mc_promisc(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
1731
adapter->update_mc_list = false;
drivers/net/ethernet/emulex/benet/be_main.c
1735
static void be_clear_mc_list(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_main.c
1737
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/emulex/benet/be_main.c
1740
be_cmd_rx_filter(adapter, BE_IF_FLAGS_MULTICAST, OFF);
drivers/net/ethernet/emulex/benet/be_main.c
1741
adapter->mc_count = 0;
drivers/net/ethernet/emulex/benet/be_main.c
1744
static int be_uc_mac_add(struct be_adapter *adapter, int uc_idx)
drivers/net/ethernet/emulex/benet/be_main.c
1746
if (ether_addr_equal(adapter->uc_list[uc_idx].mac, adapter->dev_mac)) {
drivers/net/ethernet/emulex/benet/be_main.c
1747
adapter->pmac_id[uc_idx + 1] = adapter->pmac_id[0];
drivers/net/ethernet/emulex/benet/be_main.c
175
pci_read_config_dword(adapter->pdev, PCICFG_MEMBAR_CTRL_INT_CTRL_OFFSET,
drivers/net/ethernet/emulex/benet/be_main.c
1751
return be_cmd_pmac_add(adapter, adapter->uc_list[uc_idx].mac,
drivers/net/ethernet/emulex/benet/be_main.c
1752
adapter->if_handle,
drivers/net/ethernet/emulex/benet/be_main.c
1753
&adapter->pmac_id[uc_idx + 1], 0);
drivers/net/ethernet/emulex/benet/be_main.c
1756
static void be_uc_mac_del(struct be_adapter *adapter, int pmac_id)
drivers/net/ethernet/emulex/benet/be_main.c
1758
if (pmac_id == adapter->pmac_id[0])
drivers/net/ethernet/emulex/benet/be_main.c
1761
be_cmd_pmac_del(adapter, adapter->if_handle, pmac_id, 0);
drivers/net/ethernet/emulex/benet/be_main.c
1764
static void be_set_uc_list(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_main.c
1766
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/emulex/benet/be_main.c
1775
adapter->update_uc_list = false;
drivers/net/ethernet/emulex/benet/be_main.c
1776
} else if (netdev_uc_count(netdev) > (be_max_uc(adapter) - 1)) {
drivers/net/ethernet/emulex/benet/be_main.c
1778
adapter->update_uc_list = false;
drivers/net/ethernet/emulex/benet/be_main.c
1779
} else if (adapter->if_flags & BE_IF_FLAGS_PROMISCUOUS) {
drivers/net/ethernet/emulex/benet/be_main.c
1783
adapter->update_uc_list = true;
drivers/net/ethernet/emulex/benet/be_main.c
1786
if (adapter->update_uc_list) {
drivers/net/ethernet/emulex/benet/be_main.c
1790
ether_addr_copy(adapter->uc_list[i].mac, ha->addr);
drivers/net/ethernet/emulex/benet/be_main.c
1798
be_set_uc_promisc(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
1799
} else if (adapter->update_uc_list) {
drivers/net/ethernet/emulex/benet/be_main.c
1800
be_clear_uc_promisc(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
1802
for (i = 0; i < adapter->uc_macs; i++)
drivers/net/ethernet/emulex/benet/be_main.c
1803
be_uc_mac_del(adapter, adapter->pmac_id[i + 1]);
drivers/net/ethernet/emulex/benet/be_main.c
1806
be_uc_mac_add(adapter, i);
drivers/net/ethernet/emulex/benet/be_main.c
1807
adapter->uc_macs = curr_uc_macs;
drivers/net/ethernet/emulex/benet/be_main.c
1808
adapter->update_uc_list = false;
drivers/net/ethernet/emulex/benet/be_main.c
1812
static void be_clear_uc_list(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_main.c
1814
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/emulex/benet/be_main.c
1818
for (i = 0; i < adapter->uc_macs; i++)
drivers/net/ethernet/emulex/benet/be_main.c
1819
be_uc_mac_del(adapter, adapter->pmac_id[i + 1]);
drivers/net/ethernet/emulex/benet/be_main.c
1821
adapter->uc_macs = 0;
drivers/net/ethernet/emulex/benet/be_main.c
1824
static void __be_set_rx_mode(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_main.c
1826
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/emulex/benet/be_main.c
1828
mutex_lock(&adapter->rx_filter_lock);
drivers/net/ethernet/emulex/benet/be_main.c
1831
if (!be_in_all_promisc(adapter))
drivers/net/ethernet/emulex/benet/be_main.c
1832
be_set_all_promisc(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
1833
} else if (be_in_all_promisc(adapter)) {
drivers/net/ethernet/emulex/benet/be_main.c
1838
be_vid_config(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
1841
be_set_uc_list(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
1842
be_set_mc_list(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
1844
mutex_unlock(&adapter->rx_filter_lock);
drivers/net/ethernet/emulex/benet/be_main.c
1852
__be_set_rx_mode(cmd_work->adapter);
drivers/net/ethernet/emulex/benet/be_main.c
1858
struct be_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/emulex/benet/be_main.c
1859
struct be_vf_cfg *vf_cfg = &adapter->vf_cfg[vf];
drivers/net/ethernet/emulex/benet/be_main.c
186
pci_write_config_dword(adapter->pdev,
drivers/net/ethernet/emulex/benet/be_main.c
1862
if (!sriov_enabled(adapter))
drivers/net/ethernet/emulex/benet/be_main.c
1865
if (!is_valid_ether_addr(mac) || vf >= adapter->num_vfs)
drivers/net/ethernet/emulex/benet/be_main.c
1874
if (BEx_chip(adapter)) {
drivers/net/ethernet/emulex/benet/be_main.c
1875
be_cmd_pmac_del(adapter, vf_cfg->if_handle, vf_cfg->pmac_id,
drivers/net/ethernet/emulex/benet/be_main.c
1878
status = be_cmd_pmac_add(adapter, mac, vf_cfg->if_handle,
drivers/net/ethernet/emulex/benet/be_main.c
1881
status = be_cmd_set_mac(adapter, mac, vf_cfg->if_handle,
drivers/net/ethernet/emulex/benet/be_main.c
1886
dev_err(&adapter->pdev->dev, "MAC %pM set on VF %d Failed: %#x",
drivers/net/ethernet/emulex/benet/be_main.c
1899
struct be_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/emulex/benet/be_main.c
190
static void be_intr_set(struct be_adapter *adapter, bool enable)
drivers/net/ethernet/emulex/benet/be_main.c
1900
struct be_vf_cfg *vf_cfg = &adapter->vf_cfg[vf];
drivers/net/ethernet/emulex/benet/be_main.c
1902
if (!sriov_enabled(adapter))
drivers/net/ethernet/emulex/benet/be_main.c
1905
if (vf >= adapter->num_vfs)
drivers/net/ethernet/emulex/benet/be_main.c
1914
vi->linkstate = adapter->vf_cfg[vf].plink_tracking;
drivers/net/ethernet/emulex/benet/be_main.c
1915
vi->spoofchk = adapter->vf_cfg[vf].spoofchk;
drivers/net/ethernet/emulex/benet/be_main.c
1920
static int be_set_vf_tvt(struct be_adapter *adapter, int vf, u16 vlan)
drivers/net/ethernet/emulex/benet/be_main.c
1922
struct be_vf_cfg *vf_cfg = &adapter->vf_cfg[vf];
drivers/net/ethernet/emulex/benet/be_main.c
1928
status = be_cmd_set_hsw_config(adapter, vlan, vf + 1, vf_if_id, 0, 0);
drivers/net/ethernet/emulex/benet/be_main.c
1934
status = be_cmd_vlan_config(adapter, vf_if_id, vids, 1, vf + 1);
drivers/net/ethernet/emulex/benet/be_main.c
1936
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/emulex/benet/be_main.c
1941
status = be_cmd_set_fn_privileges(adapter, vf_cfg->privileges &
drivers/net/ethernet/emulex/benet/be_main.c
1949
static int be_clear_vf_tvt(struct be_adapter *adapter, int vf)
drivers/net/ethernet/emulex/benet/be_main.c
195
if (lancer_chip(adapter))
drivers/net/ethernet/emulex/benet/be_main.c
1951
struct be_vf_cfg *vf_cfg = &adapter->vf_cfg[vf];
drivers/net/ethernet/emulex/benet/be_main.c
1952
struct device *dev = &adapter->pdev->dev;
drivers/net/ethernet/emulex/benet/be_main.c
1956
status = be_cmd_set_hsw_config(adapter, BE_RESET_VLAN_TAG_ID, vf + 1,
drivers/net/ethernet/emulex/benet/be_main.c
1963
status = be_cmd_set_fn_privileges(adapter, vf_cfg->privileges |
drivers/net/ethernet/emulex/benet/be_main.c
1979
struct be_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/emulex/benet/be_main.c
198
if (be_check_error(adapter, BE_ERROR_EEH))
drivers/net/ethernet/emulex/benet/be_main.c
1980
struct be_vf_cfg *vf_cfg = &adapter->vf_cfg[vf];
drivers/net/ethernet/emulex/benet/be_main.c
1983
if (!sriov_enabled(adapter))
drivers/net/ethernet/emulex/benet/be_main.c
1986
if (vf >= adapter->num_vfs || vlan > 4095 || qos > 7)
drivers/net/ethernet/emulex/benet/be_main.c
1994
status = be_set_vf_tvt(adapter, vf, vlan);
drivers/net/ethernet/emulex/benet/be_main.c
1996
status = be_clear_vf_tvt(adapter, vf);
drivers/net/ethernet/emulex/benet/be_main.c
2000
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/emulex/benet/be_main.c
201
status = be_cmd_intr_set(adapter, enable);
drivers/net/ethernet/emulex/benet/be_main.c
2013
struct be_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/emulex/benet/be_main.c
2014
struct device *dev = &adapter->pdev->dev;
drivers/net/ethernet/emulex/benet/be_main.c
2019
if (!sriov_enabled(adapter))
drivers/net/ethernet/emulex/benet/be_main.c
2022
if (vf >= adapter->num_vfs)
drivers/net/ethernet/emulex/benet/be_main.c
203
be_reg_intr_set(adapter, enable);
drivers/net/ethernet/emulex/benet/be_main.c
2031
status = be_cmd_link_status_query(adapter, &link_speed,
drivers/net/ethernet/emulex/benet/be_main.c
2051
if (skyhawk_chip(adapter) && (max_tx_rate % percent_rate)) {
drivers/net/ethernet/emulex/benet/be_main.c
2059
status = be_cmd_config_qos(adapter, max_tx_rate, link_speed, vf + 1);
drivers/net/ethernet/emulex/benet/be_main.c
206
static void be_rxq_notify(struct be_adapter *adapter, u16 qid, u16 posted)
drivers/net/ethernet/emulex/benet/be_main.c
2063
adapter->vf_cfg[vf].tx_rate = max_tx_rate;
drivers/net/ethernet/emulex/benet/be_main.c
2075
struct be_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/emulex/benet/be_main.c
2078
if (!sriov_enabled(adapter))
drivers/net/ethernet/emulex/benet/be_main.c
2081
if (vf >= adapter->num_vfs)
drivers/net/ethernet/emulex/benet/be_main.c
2084
status = be_cmd_set_logical_link_config(adapter, link_state, vf+1);
drivers/net/ethernet/emulex/benet/be_main.c
2086
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/emulex/benet/be_main.c
2091
adapter->vf_cfg[vf].plink_tracking = link_state;
drivers/net/ethernet/emulex/benet/be_main.c
2098
struct be_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/emulex/benet/be_main.c
2099
struct be_vf_cfg *vf_cfg = &adapter->vf_cfg[vf];
drivers/net/ethernet/emulex/benet/be_main.c
210
if (be_check_error(adapter, BE_ERROR_HW))
drivers/net/ethernet/emulex/benet/be_main.c
2103
if (!sriov_enabled(adapter))
drivers/net/ethernet/emulex/benet/be_main.c
2106
if (vf >= adapter->num_vfs)
drivers/net/ethernet/emulex/benet/be_main.c
2109
if (BEx_chip(adapter))
drivers/net/ethernet/emulex/benet/be_main.c
2117
status = be_cmd_set_hsw_config(adapter, 0, vf + 1, vf_cfg->if_handle,
drivers/net/ethernet/emulex/benet/be_main.c
2120
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/emulex/benet/be_main.c
2139
struct be_adapter *adapter = eqo->adapter;
drivers/net/ethernet/emulex/benet/be_main.c
2149
aic = &adapter->aic_obj[eqo->idx];
drivers/net/ethernet/emulex/benet/be_main.c
2150
if (!adapter->aic_enabled) {
drivers/net/ethernet/emulex/benet/be_main.c
2157
for_all_rx_queues_on_eq(adapter, eqo, rxo, i) {
drivers/net/ethernet/emulex/benet/be_main.c
2165
for_all_tx_queues_on_eq(adapter, eqo, txo, i) {
drivers/net/ethernet/emulex/benet/be_main.c
217
iowrite32(val, adapter->db + DB_RQ_OFFSET);
drivers/net/ethernet/emulex/benet/be_main.c
220
static void be_txq_notify(struct be_adapter *adapter, struct be_tx_obj *txo,
drivers/net/ethernet/emulex/benet/be_main.c
2203
struct be_adapter *adapter = eqo->adapter;
drivers/net/ethernet/emulex/benet/be_main.c
2204
struct be_aic_obj *aic = &adapter->aic_obj[eqo->idx];
drivers/net/ethernet/emulex/benet/be_main.c
2209
if (!adapter->aic_enabled)
drivers/net/ethernet/emulex/benet/be_main.c
2231
void be_eqd_update(struct be_adapter *adapter, bool force_update)
drivers/net/ethernet/emulex/benet/be_main.c
2238
for_all_evt_queues(adapter, eqo, i) {
drivers/net/ethernet/emulex/benet/be_main.c
2239
aic = &adapter->aic_obj[eqo->idx];
drivers/net/ethernet/emulex/benet/be_main.c
225
if (be_check_error(adapter, BE_ERROR_HW))
drivers/net/ethernet/emulex/benet/be_main.c
2250
be_cmd_modify_eqd(adapter, set_eqd, num);
drivers/net/ethernet/emulex/benet/be_main.c
2282
struct be_adapter *adapter = rxo->adapter;
drivers/net/ethernet/emulex/benet/be_main.c
2291
dma_unmap_page(&adapter->pdev->dev,
drivers/net/ethernet/emulex/benet/be_main.c
2293
adapter->big_page_size, DMA_FROM_DEVICE);
drivers/net/ethernet/emulex/benet/be_main.c
2296
dma_sync_single_for_cpu(&adapter->pdev->dev,
drivers/net/ethernet/emulex/benet/be_main.c
232
iowrite32(val, adapter->db + txo->db_offset);
drivers/net/ethernet/emulex/benet/be_main.c
235
static void be_eq_notify(struct be_adapter *adapter, u16 qid,
drivers/net/ethernet/emulex/benet/be_main.c
2399
struct be_adapter *adapter = rxo->adapter;
drivers/net/ethernet/emulex/benet/be_main.c
2400
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/emulex/benet/be_main.c
2418
skb_record_rx_queue(skb, rxo - &adapter->rx_obj[0]);
drivers/net/ethernet/emulex/benet/be_main.c
2436
struct be_adapter *adapter = rxo->adapter;
drivers/net/ethernet/emulex/benet/be_main.c
244
if (be_check_error(adapter, BE_ERROR_HW))
drivers/net/ethernet/emulex/benet/be_main.c
2478
skb_record_rx_queue(skb, rxo - &adapter->rx_obj[0]);
drivers/net/ethernet/emulex/benet/be_main.c
2479
if (adapter->netdev->features & NETIF_F_RXHASH)
drivers/net/ethernet/emulex/benet/be_main.c
2539
struct be_adapter *adapter = rxo->adapter;
drivers/net/ethernet/emulex/benet/be_main.c
254
iowrite32(val, adapter->db + DB_EQ_OFFSET);
drivers/net/ethernet/emulex/benet/be_main.c
2549
if (adapter->be3_native)
drivers/net/ethernet/emulex/benet/be_main.c
2562
if (be_is_qnq_mode(adapter) && !rxcp->qnq)
drivers/net/ethernet/emulex/benet/be_main.c
2565
if (!lancer_chip(adapter))
drivers/net/ethernet/emulex/benet/be_main.c
2568
if (adapter->pvid == (rxcp->vlan_tag & VLAN_VID_MASK) &&
drivers/net/ethernet/emulex/benet/be_main.c
2569
!test_bit(rxcp->vlan_tag, adapter->vids))
drivers/net/ethernet/emulex/benet/be_main.c
257
void be_cq_notify(struct be_adapter *adapter, u16 qid, bool arm, u16 num_popped)
drivers/net/ethernet/emulex/benet/be_main.c
2595
struct be_adapter *adapter = rxo->adapter;
drivers/net/ethernet/emulex/benet/be_main.c
2599
struct device *dev = &adapter->pdev->dev;
drivers/net/ethernet/emulex/benet/be_main.c
2607
pagep = be_alloc_pages(adapter->big_page_size, gfp);
drivers/net/ethernet/emulex/benet/be_main.c
2613
adapter->big_page_size,
drivers/net/ethernet/emulex/benet/be_main.c
2618
adapter->drv_stats.dma_map_errors++;
drivers/net/ethernet/emulex/benet/be_main.c
2636
adapter->big_page_size) {
drivers/net/ethernet/emulex/benet/be_main.c
265
if (be_check_error(adapter, BE_ERROR_HW))
drivers/net/ethernet/emulex/benet/be_main.c
2663
be_rxq_notify(adapter, rxq->id, notify);
drivers/net/ethernet/emulex/benet/be_main.c
271
iowrite32(val, adapter->db + DB_CQ_OFFSET);
drivers/net/ethernet/emulex/benet/be_main.c
2712
static struct be_tx_compl_info *be_tx_compl_get(struct be_adapter *adapter,
drivers/net/ethernet/emulex/benet/be_main.c
2730
if (lancer_chip(adapter)) {
drivers/net/ethernet/emulex/benet/be_main.c
2738
be_set_error(adapter, BE_ERROR_TX);
drivers/net/ethernet/emulex/benet/be_main.c
274
static int be_dev_mac_add(struct be_adapter *adapter, const u8 *mac)
drivers/net/ethernet/emulex/benet/be_main.c
2744
if (be_check_error(adapter, BE_ERROR_TX))
drivers/net/ethernet/emulex/benet/be_main.c
2752
static u16 be_tx_compl_process(struct be_adapter *adapter,
drivers/net/ethernet/emulex/benet/be_main.c
2776
unmap_tx_frag(&adapter->pdev->dev, wrb,
drivers/net/ethernet/emulex/benet/be_main.c
279
for (i = 0; i < adapter->uc_macs; i++) {
drivers/net/ethernet/emulex/benet/be_main.c
280
if (ether_addr_equal(adapter->uc_list[i].mac, mac)) {
drivers/net/ethernet/emulex/benet/be_main.c
2812
be_eq_notify(eqo->adapter, eqo->q.id, false, true, num, 0);
drivers/net/ethernet/emulex/benet/be_main.c
282
adapter->pmac_id[0] = adapter->pmac_id[i + 1];
drivers/net/ethernet/emulex/benet/be_main.c
2835
struct be_adapter *adapter = rxo->adapter;
drivers/net/ethernet/emulex/benet/be_main.c
2847
if (lancer_chip(adapter))
drivers/net/ethernet/emulex/benet/be_main.c
2851
be_check_error(adapter,
drivers/net/ethernet/emulex/benet/be_main.c
2853
dev_warn(&adapter->pdev->dev,
drivers/net/ethernet/emulex/benet/be_main.c
2857
be_cq_notify(adapter, rx_cq->id, true, 0);
drivers/net/ethernet/emulex/benet/be_main.c
2861
be_cq_notify(adapter, rx_cq->id, false, 1);
drivers/net/ethernet/emulex/benet/be_main.c
2868
be_cq_notify(adapter, rx_cq->id, false, 0);
drivers/net/ethernet/emulex/benet/be_main.c
287
return be_cmd_pmac_add(adapter, mac, adapter->if_handle,
drivers/net/ethernet/emulex/benet/be_main.c
2871
static void be_tx_compl_clean(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_main.c
2873
struct device *dev = &adapter->pdev->dev;
drivers/net/ethernet/emulex/benet/be_main.c
288
&adapter->pmac_id[0], 0);
drivers/net/ethernet/emulex/benet/be_main.c
2883
pending_txqs = adapter->num_tx_qs;
drivers/net/ethernet/emulex/benet/be_main.c
2885
for_all_tx_queues(adapter, txo, i) {
drivers/net/ethernet/emulex/benet/be_main.c
2889
while ((txcp = be_tx_compl_get(adapter, txo))) {
drivers/net/ethernet/emulex/benet/be_main.c
2891
be_tx_compl_process(adapter, txo,
drivers/net/ethernet/emulex/benet/be_main.c
2896
be_cq_notify(adapter, txo->cq.id, false, cmpl);
drivers/net/ethernet/emulex/benet/be_main.c
2905
be_check_error(adapter, BE_ERROR_HW))
drivers/net/ethernet/emulex/benet/be_main.c
291
static void be_dev_mac_del(struct be_adapter *adapter, int pmac_id)
drivers/net/ethernet/emulex/benet/be_main.c
2912
for_all_tx_queues(adapter, txo, i) {
drivers/net/ethernet/emulex/benet/be_main.c
2925
num_wrbs = be_tx_compl_process(adapter, txo, end_idx);
drivers/net/ethernet/emulex/benet/be_main.c
2938
static void be_evt_queues_destroy(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_main.c
2943
for_all_evt_queues(adapter, eqo, i) {
drivers/net/ethernet/emulex/benet/be_main.c
2946
be_cmd_q_destroy(adapter, &eqo->q, QTYPE_EQ);
drivers/net/ethernet/emulex/benet/be_main.c
2950
be_queue_free(adapter, &eqo->q);
drivers/net/ethernet/emulex/benet/be_main.c
2954
static int be_evt_queues_create(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_main.c
2962
adapter->num_evt_qs = min_t(u16, num_irqs(adapter),
drivers/net/ethernet/emulex/benet/be_main.c
2963
max(adapter->cfg_num_rx_irqs,
drivers/net/ethernet/emulex/benet/be_main.c
2964
adapter->cfg_num_tx_irqs));
drivers/net/ethernet/emulex/benet/be_main.c
2966
adapter->aic_enabled = true;
drivers/net/ethernet/emulex/benet/be_main.c
2968
for_all_evt_queues(adapter, eqo, i) {
drivers/net/ethernet/emulex/benet/be_main.c
2969
int numa_node = dev_to_node(&adapter->pdev->dev);
drivers/net/ethernet/emulex/benet/be_main.c
2971
aic = &adapter->aic_obj[i];
drivers/net/ethernet/emulex/benet/be_main.c
2972
eqo->adapter = adapter;
drivers/net/ethernet/emulex/benet/be_main.c
2977
rc = be_queue_alloc(adapter, eq, EVNT_Q_LEN,
drivers/net/ethernet/emulex/benet/be_main.c
298
for (i = 0; i < adapter->uc_macs; i++) {
drivers/net/ethernet/emulex/benet/be_main.c
2982
rc = be_cmd_eq_create(adapter, eqo);
drivers/net/ethernet/emulex/benet/be_main.c
299
if (adapter->pmac_id[i + 1] == pmac_id)
drivers/net/ethernet/emulex/benet/be_main.c
2990
netif_napi_add(adapter->netdev, &eqo->napi, be_poll);
drivers/net/ethernet/emulex/benet/be_main.c
2995
static void be_mcc_queues_destroy(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_main.c
2999
q = &adapter->mcc_obj.q;
drivers/net/ethernet/emulex/benet/be_main.c
3001
be_cmd_q_destroy(adapter, q, QTYPE_MCCQ);
drivers/net/ethernet/emulex/benet/be_main.c
3002
be_queue_free(adapter, q);
drivers/net/ethernet/emulex/benet/be_main.c
3004
q = &adapter->mcc_obj.cq;
drivers/net/ethernet/emulex/benet/be_main.c
3006
be_cmd_q_destroy(adapter, q, QTYPE_CQ);
drivers/net/ethernet/emulex/benet/be_main.c
3007
be_queue_free(adapter, q);
drivers/net/ethernet/emulex/benet/be_main.c
3011
static int be_mcc_queues_create(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_main.c
3015
cq = &adapter->mcc_obj.cq;
drivers/net/ethernet/emulex/benet/be_main.c
3016
if (be_queue_alloc(adapter, cq, MCC_CQ_LEN,
drivers/net/ethernet/emulex/benet/be_main.c
302
be_cmd_pmac_del(adapter, adapter->if_handle, pmac_id, 0);
drivers/net/ethernet/emulex/benet/be_main.c
3021
if (be_cmd_cq_create(adapter, cq, &mcc_eqo(adapter)->q, true, 0))
drivers/net/ethernet/emulex/benet/be_main.c
3024
q = &adapter->mcc_obj.q;
drivers/net/ethernet/emulex/benet/be_main.c
3025
if (be_queue_alloc(adapter, q, MCC_Q_LEN, sizeof(struct be_mcc_wrb)))
drivers/net/ethernet/emulex/benet/be_main.c
3028
if (be_cmd_mccq_create(adapter, q, cq))
drivers/net/ethernet/emulex/benet/be_main.c
3034
be_queue_free(adapter, q);
drivers/net/ethernet/emulex/benet/be_main.c
3036
be_cmd_q_destroy(adapter, cq, QTYPE_CQ);
drivers/net/ethernet/emulex/benet/be_main.c
3038
be_queue_free(adapter, cq);
drivers/net/ethernet/emulex/benet/be_main.c
3043
static void be_tx_queues_destroy(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_main.c
3049
for_all_tx_queues(adapter, txo, i) {
drivers/net/ethernet/emulex/benet/be_main.c
3052
be_cmd_q_destroy(adapter, q, QTYPE_TXQ);
drivers/net/ethernet/emulex/benet/be_main.c
3053
be_queue_free(adapter, q);
drivers/net/ethernet/emulex/benet/be_main.c
3057
be_cmd_q_destroy(adapter, q, QTYPE_CQ);
drivers/net/ethernet/emulex/benet/be_main.c
3058
be_queue_free(adapter, q);
drivers/net/ethernet/emulex/benet/be_main.c
3062
static int be_tx_qs_create(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_main.c
3069
adapter->num_tx_qs = min(adapter->num_evt_qs, adapter->cfg_num_tx_irqs);
drivers/net/ethernet/emulex/benet/be_main.c
307
struct be_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/emulex/benet/be_main.c
3071
for_all_tx_queues(adapter, txo, i) {
drivers/net/ethernet/emulex/benet/be_main.c
3073
status = be_queue_alloc(adapter, cq, TX_CQ_LEN,
drivers/net/ethernet/emulex/benet/be_main.c
308
struct device *dev = &adapter->pdev->dev;
drivers/net/ethernet/emulex/benet/be_main.c
3084
eqo = &adapter->eq_obj[i % adapter->num_evt_qs];
drivers/net/ethernet/emulex/benet/be_main.c
3085
status = be_cmd_cq_create(adapter, cq, &eqo->q, false, 3);
drivers/net/ethernet/emulex/benet/be_main.c
3089
status = be_queue_alloc(adapter, &txo->q, TX_Q_LEN,
drivers/net/ethernet/emulex/benet/be_main.c
3094
status = be_cmd_txq_create(adapter, txo);
drivers/net/ethernet/emulex/benet/be_main.c
3098
netif_set_xps_queue(adapter->netdev, eqo->affinity_mask,
drivers/net/ethernet/emulex/benet/be_main.c
3102
dev_info(&adapter->pdev->dev, "created %d TX queue(s)\n",
drivers/net/ethernet/emulex/benet/be_main.c
3103
adapter->num_tx_qs);
drivers/net/ethernet/emulex/benet/be_main.c
3107
static void be_rx_cqs_destroy(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_main.c
3113
for_all_rx_queues(adapter, rxo, i) {
drivers/net/ethernet/emulex/benet/be_main.c
3116
be_cmd_q_destroy(adapter, q, QTYPE_CQ);
drivers/net/ethernet/emulex/benet/be_main.c
3117
be_queue_free(adapter, q);
drivers/net/ethernet/emulex/benet/be_main.c
312
u32 old_pmac_id = adapter->pmac_id[0];
drivers/net/ethernet/emulex/benet/be_main.c
3121
static int be_rx_cqs_create(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_main.c
3127
adapter->num_rss_qs =
drivers/net/ethernet/emulex/benet/be_main.c
3128
min(adapter->num_evt_qs, adapter->cfg_num_rx_irqs);
drivers/net/ethernet/emulex/benet/be_main.c
3131
if (adapter->num_rss_qs < 2)
drivers/net/ethernet/emulex/benet/be_main.c
3132
adapter->num_rss_qs = 0;
drivers/net/ethernet/emulex/benet/be_main.c
3134
adapter->num_rx_qs = adapter->num_rss_qs + adapter->need_def_rxq;
drivers/net/ethernet/emulex/benet/be_main.c
3139
if (adapter->num_rx_qs == 0)
drivers/net/ethernet/emulex/benet/be_main.c
3140
adapter->num_rx_qs = 1;
drivers/net/ethernet/emulex/benet/be_main.c
3142
adapter->big_page_size = (1 << get_order(rx_frag_size)) * PAGE_SIZE;
drivers/net/ethernet/emulex/benet/be_main.c
3143
for_all_rx_queues(adapter, rxo, i) {
drivers/net/ethernet/emulex/benet/be_main.c
3144
rxo->adapter = adapter;
drivers/net/ethernet/emulex/benet/be_main.c
3146
rc = be_queue_alloc(adapter, cq, RX_CQ_LEN,
drivers/net/ethernet/emulex/benet/be_main.c
3152
eq = &adapter->eq_obj[i % adapter->num_evt_qs].q;
drivers/net/ethernet/emulex/benet/be_main.c
3153
rc = be_cmd_cq_create(adapter, cq, eq, false, 3);
drivers/net/ethernet/emulex/benet/be_main.c
3158
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/emulex/benet/be_main.c
3159
"created %d RX queue(s)\n", adapter->num_rx_qs);
drivers/net/ethernet/emulex/benet/be_main.c
3166
struct be_adapter *adapter = eqo->adapter;
drivers/net/ethernet/emulex/benet/be_main.c
3183
be_eq_notify(adapter, eqo->q.id, false, true, num_evts, 0);
drivers/net/ethernet/emulex/benet/be_main.c
3199
be_eq_notify(eqo->adapter, eqo->q.id, false, true, 0, 0);
drivers/net/ethernet/emulex/benet/be_main.c
320
if (ether_addr_equal(addr->sa_data, adapter->dev_mac))
drivers/net/ethernet/emulex/benet/be_main.c
3212
struct be_adapter *adapter = rxo->adapter;
drivers/net/ethernet/emulex/benet/be_main.c
3236
if (unlikely(rxcp->port != adapter->port_num &&
drivers/net/ethernet/emulex/benet/be_main.c
3237
!lancer_chip(adapter))) {
drivers/net/ethernet/emulex/benet/be_main.c
3253
be_cq_notify(adapter, rx_cq->id, true, work_done);
drivers/net/ethernet/emulex/benet/be_main.c
326
if (BEx_chip(adapter) && be_virtfn(adapter) &&
drivers/net/ethernet/emulex/benet/be_main.c
3269
static void be_process_tx(struct be_adapter *adapter, struct be_tx_obj *txo,
drivers/net/ethernet/emulex/benet/be_main.c
327
!check_privilege(adapter, BE_PRIV_FILTMGMT))
drivers/net/ethernet/emulex/benet/be_main.c
3275
while ((txcp = be_tx_compl_get(adapter, txo))) {
drivers/net/ethernet/emulex/benet/be_main.c
3276
num_wrbs += be_tx_compl_process(adapter, txo, txcp->end_index);
drivers/net/ethernet/emulex/benet/be_main.c
3281
be_cq_notify(adapter, txo->cq.id, true, work_done);
drivers/net/ethernet/emulex/benet/be_main.c
3286
if (__netif_subqueue_stopped(adapter->netdev, idx) &&
drivers/net/ethernet/emulex/benet/be_main.c
3288
netif_wake_subqueue(adapter->netdev, idx);
drivers/net/ethernet/emulex/benet/be_main.c
3300
struct be_adapter *adapter = eqo->adapter;
drivers/net/ethernet/emulex/benet/be_main.c
3308
for_all_tx_queues_on_eq(adapter, eqo, txo, i)
drivers/net/ethernet/emulex/benet/be_main.c
3309
be_process_tx(adapter, txo, i);
drivers/net/ethernet/emulex/benet/be_main.c
3315
for_all_rx_queues_on_eq(adapter, eqo, rxo, i) {
drivers/net/ethernet/emulex/benet/be_main.c
3321
be_process_mcc(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
3329
if (skyhawk_chip(adapter))
drivers/net/ethernet/emulex/benet/be_main.c
3332
be_eq_notify(adapter, eqo->q.id, true, false, num_evts,
drivers/net/ethernet/emulex/benet/be_main.c
3336
be_eq_notify(adapter, eqo->q.id, false, false, num_evts, 0);
drivers/net/ethernet/emulex/benet/be_main.c
3341
void be_detect_error(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_main.c
3345
struct device *dev = &adapter->pdev->dev;
drivers/net/ethernet/emulex/benet/be_main.c
3349
if (be_check_error(adapter, BE_ERROR_HW))
drivers/net/ethernet/emulex/benet/be_main.c
3352
if (lancer_chip(adapter)) {
drivers/net/ethernet/emulex/benet/be_main.c
3353
sliport_status = ioread32(adapter->db + SLIPORT_STATUS_OFFSET);
drivers/net/ethernet/emulex/benet/be_main.c
3355
be_set_error(adapter, BE_ERROR_UE);
drivers/net/ethernet/emulex/benet/be_main.c
3356
sliport_err1 = ioread32(adapter->db +
drivers/net/ethernet/emulex/benet/be_main.c
3358
sliport_err2 = ioread32(adapter->db +
drivers/net/ethernet/emulex/benet/be_main.c
3375
ue_lo = ioread32(adapter->pcicfg + PCICFG_UE_STATUS_LOW);
drivers/net/ethernet/emulex/benet/be_main.c
3376
ue_hi = ioread32(adapter->pcicfg + PCICFG_UE_STATUS_HIGH);
drivers/net/ethernet/emulex/benet/be_main.c
3377
ue_lo_mask = ioread32(adapter->pcicfg +
drivers/net/ethernet/emulex/benet/be_main.c
3379
ue_hi_mask = ioread32(adapter->pcicfg +
drivers/net/ethernet/emulex/benet/be_main.c
3393
if (BE3_chip(adapter)) {
drivers/net/ethernet/emulex/benet/be_main.c
3394
val = be_POST_stage_get(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
340
mutex_lock(&adapter->rx_filter_lock);
drivers/net/ethernet/emulex/benet/be_main.c
3405
be_set_error(adapter, BE_ERROR_UE);
drivers/net/ethernet/emulex/benet/be_main.c
341
status = be_dev_mac_add(adapter, (u8 *)addr->sa_data);
drivers/net/ethernet/emulex/benet/be_main.c
3421
static void be_msix_disable(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_main.c
3423
if (msix_enabled(adapter)) {
drivers/net/ethernet/emulex/benet/be_main.c
3424
pci_disable_msix(adapter->pdev);
drivers/net/ethernet/emulex/benet/be_main.c
3425
adapter->num_msix_vec = 0;
drivers/net/ethernet/emulex/benet/be_main.c
3426
adapter->num_msix_roce_vec = 0;
drivers/net/ethernet/emulex/benet/be_main.c
3430
static int be_msix_enable(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_main.c
3433
struct device *dev = &adapter->pdev->dev;
drivers/net/ethernet/emulex/benet/be_main.c
3440
if (be_roce_supported(adapter)) {
drivers/net/ethernet/emulex/benet/be_main.c
3442
be_max_func_eqs(adapter) - be_max_nic_eqs(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
3444
num_vec = be_max_any_irqs(adapter) + max_roce_eqs;
drivers/net/ethernet/emulex/benet/be_main.c
3446
num_vec = max(adapter->cfg_num_rx_irqs,
drivers/net/ethernet/emulex/benet/be_main.c
3447
adapter->cfg_num_tx_irqs);
drivers/net/ethernet/emulex/benet/be_main.c
3451
adapter->msix_entries[i].entry = i;
drivers/net/ethernet/emulex/benet/be_main.c
3453
num_vec = pci_enable_msix_range(adapter->pdev, adapter->msix_entries,
drivers/net/ethernet/emulex/benet/be_main.c
3458
if (be_roce_supported(adapter) && num_vec > MIN_MSIX_VECTORS) {
drivers/net/ethernet/emulex/benet/be_main.c
3459
adapter->num_msix_roce_vec = num_vec / 2;
drivers/net/ethernet/emulex/benet/be_main.c
3461
adapter->num_msix_roce_vec);
drivers/net/ethernet/emulex/benet/be_main.c
3464
adapter->num_msix_vec = num_vec - adapter->num_msix_roce_vec;
drivers/net/ethernet/emulex/benet/be_main.c
3467
adapter->num_msix_vec);
drivers/net/ethernet/emulex/benet/be_main.c
347
if (adapter->pmac_id[0] != old_pmac_id)
drivers/net/ethernet/emulex/benet/be_main.c
3474
if (be_virtfn(adapter))
drivers/net/ethernet/emulex/benet/be_main.c
3479
static inline int be_msix_vec_get(struct be_adapter *adapter,
drivers/net/ethernet/emulex/benet/be_main.c
348
be_dev_mac_del(adapter, old_pmac_id);
drivers/net/ethernet/emulex/benet/be_main.c
3482
return adapter->msix_entries[eqo->msix_idx].vector;
drivers/net/ethernet/emulex/benet/be_main.c
3485
static int be_msix_register(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_main.c
3487
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/emulex/benet/be_main.c
3491
for_all_evt_queues(adapter, eqo, i) {
drivers/net/ethernet/emulex/benet/be_main.c
3493
vec = be_msix_vec_get(adapter, eqo);
drivers/net/ethernet/emulex/benet/be_main.c
3504
eqo = &adapter->eq_obj[i];
drivers/net/ethernet/emulex/benet/be_main.c
3505
free_irq(be_msix_vec_get(adapter, eqo), eqo);
drivers/net/ethernet/emulex/benet/be_main.c
3507
dev_warn(&adapter->pdev->dev, "MSIX Request IRQ failed - err %d\n",
drivers/net/ethernet/emulex/benet/be_main.c
3509
be_msix_disable(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
351
mutex_unlock(&adapter->rx_filter_lock);
drivers/net/ethernet/emulex/benet/be_main.c
3513
static int be_irq_register(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_main.c
3515
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/emulex/benet/be_main.c
3518
if (msix_enabled(adapter)) {
drivers/net/ethernet/emulex/benet/be_main.c
3519
status = be_msix_register(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
3523
if (be_virtfn(adapter))
drivers/net/ethernet/emulex/benet/be_main.c
3528
netdev->irq = adapter->pdev->irq;
drivers/net/ethernet/emulex/benet/be_main.c
3530
&adapter->eq_obj[0]);
drivers/net/ethernet/emulex/benet/be_main.c
3532
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/emulex/benet/be_main.c
3537
adapter->isr_registered = true;
drivers/net/ethernet/emulex/benet/be_main.c
3541
static void be_irq_unregister(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_main.c
3543
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/emulex/benet/be_main.c
3547
if (!adapter->isr_registered)
drivers/net/ethernet/emulex/benet/be_main.c
355
status = be_cmd_get_active_mac(adapter, adapter->pmac_id[0], mac,
drivers/net/ethernet/emulex/benet/be_main.c
3551
if (!msix_enabled(adapter)) {
drivers/net/ethernet/emulex/benet/be_main.c
3552
free_irq(netdev->irq, &adapter->eq_obj[0]);
drivers/net/ethernet/emulex/benet/be_main.c
3557
for_all_evt_queues(adapter, eqo, i) {
drivers/net/ethernet/emulex/benet/be_main.c
3558
vec = be_msix_vec_get(adapter, eqo);
drivers/net/ethernet/emulex/benet/be_main.c
356
adapter->if_handle, true, 0);
drivers/net/ethernet/emulex/benet/be_main.c
3564
adapter->isr_registered = false;
drivers/net/ethernet/emulex/benet/be_main.c
3567
static void be_rx_qs_destroy(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_main.c
3569
struct rss_info *rss = &adapter->rss_info;
drivers/net/ethernet/emulex/benet/be_main.c
3574
for_all_rx_queues(adapter, rxo, i) {
drivers/net/ethernet/emulex/benet/be_main.c
3583
if (lancer_chip(adapter)) {
drivers/net/ethernet/emulex/benet/be_main.c
3590
be_cmd_rxq_destroy(adapter, q);
drivers/net/ethernet/emulex/benet/be_main.c
3594
be_queue_free(adapter, q);
drivers/net/ethernet/emulex/benet/be_main.c
3599
be_cmd_rss_config(adapter, rss->rsstable, rss->rss_flags,
drivers/net/ethernet/emulex/benet/be_main.c
3604
static void be_disable_if_filters(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_main.c
3607
if (!BEx_chip(adapter) || !be_virtfn(adapter) ||
drivers/net/ethernet/emulex/benet/be_main.c
3608
check_privilege(adapter, BE_PRIV_FILTMGMT)) {
drivers/net/ethernet/emulex/benet/be_main.c
3609
be_dev_mac_del(adapter, adapter->pmac_id[0]);
drivers/net/ethernet/emulex/benet/be_main.c
3610
eth_zero_addr(adapter->dev_mac);
drivers/net/ethernet/emulex/benet/be_main.c
3613
be_clear_uc_list(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
3614
be_clear_mc_list(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
3630
if (lancer_chip(adapter)) {
drivers/net/ethernet/emulex/benet/be_main.c
3631
be_cmd_rx_filter(adapter, BE_IF_ALL_FILT_FLAGS, OFF);
drivers/net/ethernet/emulex/benet/be_main.c
3632
adapter->if_flags &= ~BE_IF_ALL_FILT_FLAGS;
drivers/net/ethernet/emulex/benet/be_main.c
3638
struct be_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/emulex/benet/be_main.c
3645
if (!(adapter->flags & BE_FLAGS_SETUP_DONE))
drivers/net/ethernet/emulex/benet/be_main.c
3653
be_disable_if_filters(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
3655
if (adapter->flags & BE_FLAGS_NAPI_ENABLED) {
drivers/net/ethernet/emulex/benet/be_main.c
3656
for_all_evt_queues(adapter, eqo, i) {
drivers/net/ethernet/emulex/benet/be_main.c
3659
adapter->flags &= ~BE_FLAGS_NAPI_ENABLED;
drivers/net/ethernet/emulex/benet/be_main.c
3662
be_async_mcc_disable(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
3668
be_tx_compl_clean(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
3670
be_rx_qs_destroy(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
3672
for_all_evt_queues(adapter, eqo, i) {
drivers/net/ethernet/emulex/benet/be_main.c
3673
if (msix_enabled(adapter))
drivers/net/ethernet/emulex/benet/be_main.c
3674
synchronize_irq(be_msix_vec_get(adapter, eqo));
drivers/net/ethernet/emulex/benet/be_main.c
3680
be_irq_unregister(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
3685
static int be_rx_qs_create(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_main.c
3687
struct rss_info *rss = &adapter->rss_info;
drivers/net/ethernet/emulex/benet/be_main.c
369
ether_addr_copy(adapter->dev_mac, addr->sa_data);
drivers/net/ethernet/emulex/benet/be_main.c
3692
for_all_rx_queues(adapter, rxo, i) {
drivers/net/ethernet/emulex/benet/be_main.c
3693
rc = be_queue_alloc(adapter, &rxo->q, RX_Q_LEN,
drivers/net/ethernet/emulex/benet/be_main.c
3699
if (adapter->need_def_rxq || !adapter->num_rss_qs) {
drivers/net/ethernet/emulex/benet/be_main.c
3700
rxo = default_rxo(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
3701
rc = be_cmd_rxq_create(adapter, &rxo->q, rxo->cq.id,
drivers/net/ethernet/emulex/benet/be_main.c
3702
rx_frag_size, adapter->if_handle,
drivers/net/ethernet/emulex/benet/be_main.c
3708
for_all_rss_queues(adapter, rxo, i) {
drivers/net/ethernet/emulex/benet/be_main.c
3709
rc = be_cmd_rxq_create(adapter, &rxo->q, rxo->cq.id,
drivers/net/ethernet/emulex/benet/be_main.c
3710
rx_frag_size, adapter->if_handle,
drivers/net/ethernet/emulex/benet/be_main.c
3716
if (be_multi_rxq(adapter)) {
drivers/net/ethernet/emulex/benet/be_main.c
3717
for (j = 0; j < RSS_INDIR_TABLE_LEN; j += adapter->num_rss_qs) {
drivers/net/ethernet/emulex/benet/be_main.c
3718
for_all_rss_queues(adapter, rxo, i) {
drivers/net/ethernet/emulex/benet/be_main.c
3728
if (!BEx_chip(adapter))
drivers/net/ethernet/emulex/benet/be_main.c
3733
rc = be_cmd_rss_config(adapter, rss->rsstable, rss->rss_flags,
drivers/net/ethernet/emulex/benet/be_main.c
3750
for_all_rx_queues(adapter, rxo, i)
drivers/net/ethernet/emulex/benet/be_main.c
3756
static int be_enable_if_filters(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_main.c
3760
status = be_cmd_rx_filter(adapter, BE_IF_FILT_FLAGS_BASIC, ON);
drivers/net/ethernet/emulex/benet/be_main.c
3768
if (!ether_addr_equal(adapter->dev_mac, adapter->netdev->dev_addr)) {
drivers/net/ethernet/emulex/benet/be_main.c
3772
if (!is_zero_ether_addr(adapter->dev_mac))
drivers/net/ethernet/emulex/benet/be_main.c
3773
old_pmac_id = adapter->pmac_id[0];
drivers/net/ethernet/emulex/benet/be_main.c
3775
status = be_dev_mac_add(adapter, adapter->netdev->dev_addr);
drivers/net/ethernet/emulex/benet/be_main.c
3782
if (old_pmac_id >= 0 && old_pmac_id != adapter->pmac_id[0])
drivers/net/ethernet/emulex/benet/be_main.c
3783
be_dev_mac_del(adapter, old_pmac_id);
drivers/net/ethernet/emulex/benet/be_main.c
3785
ether_addr_copy(adapter->dev_mac, adapter->netdev->dev_addr);
drivers/net/ethernet/emulex/benet/be_main.c
3788
if (adapter->vlans_added)
drivers/net/ethernet/emulex/benet/be_main.c
3789
be_vid_config(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
3791
__be_set_rx_mode(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
3798
struct be_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/emulex/benet/be_main.c
380
static void *hw_stats_from_cmd(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_main.c
3805
status = be_rx_qs_create(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
3809
status = be_enable_if_filters(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
3813
status = be_irq_register(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
3817
for_all_rx_queues(adapter, rxo, i)
drivers/net/ethernet/emulex/benet/be_main.c
3818
be_cq_notify(adapter, rxo->cq.id, true, 0);
drivers/net/ethernet/emulex/benet/be_main.c
382
if (BE2_chip(adapter)) {
drivers/net/ethernet/emulex/benet/be_main.c
3820
for_all_tx_queues(adapter, txo, i)
drivers/net/ethernet/emulex/benet/be_main.c
3821
be_cq_notify(adapter, txo->cq.id, true, 0);
drivers/net/ethernet/emulex/benet/be_main.c
3823
be_async_mcc_enable(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
3825
for_all_evt_queues(adapter, eqo, i) {
drivers/net/ethernet/emulex/benet/be_main.c
3827
be_eq_notify(adapter, eqo->q.id, true, true, 0, 0);
drivers/net/ethernet/emulex/benet/be_main.c
3829
adapter->flags |= BE_FLAGS_NAPI_ENABLED;
drivers/net/ethernet/emulex/benet/be_main.c
383
struct be_cmd_resp_get_stats_v0 *cmd = adapter->stats_cmd.va;
drivers/net/ethernet/emulex/benet/be_main.c
3831
status = be_cmd_link_status_query(adapter, NULL, &link_status, 0);
drivers/net/ethernet/emulex/benet/be_main.c
3833
be_link_status_update(adapter, link_status);
drivers/net/ethernet/emulex/benet/be_main.c
3841
be_close(adapter->netdev);
drivers/net/ethernet/emulex/benet/be_main.c
3845
static void be_vf_eth_addr_generate(struct be_adapter *adapter, u8 *mac)
drivers/net/ethernet/emulex/benet/be_main.c
3849
addr = jhash(adapter->netdev->dev_addr, ETH_ALEN, 0);
drivers/net/ethernet/emulex/benet/be_main.c
3855
memcpy(mac, adapter->netdev->dev_addr, 3);
drivers/net/ethernet/emulex/benet/be_main.c
386
} else if (BE3_chip(adapter)) {
drivers/net/ethernet/emulex/benet/be_main.c
3864
static int be_vf_eth_addr_config(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_main.c
387
struct be_cmd_resp_get_stats_v1 *cmd = adapter->stats_cmd.va;
drivers/net/ethernet/emulex/benet/be_main.c
3871
be_vf_eth_addr_generate(adapter, mac);
drivers/net/ethernet/emulex/benet/be_main.c
3873
for_all_vfs(adapter, vf_cfg, vf) {
drivers/net/ethernet/emulex/benet/be_main.c
3874
if (BEx_chip(adapter))
drivers/net/ethernet/emulex/benet/be_main.c
3875
status = be_cmd_pmac_add(adapter, mac,
drivers/net/ethernet/emulex/benet/be_main.c
3879
status = be_cmd_set_mac(adapter, mac, vf_cfg->if_handle,
drivers/net/ethernet/emulex/benet/be_main.c
3883
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/emulex/benet/be_main.c
3894
static int be_vfs_mac_query(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_main.c
3900
for_all_vfs(adapter, vf_cfg, vf) {
drivers/net/ethernet/emulex/benet/be_main.c
3901
status = be_cmd_get_active_mac(adapter, vf_cfg->pmac_id,
drivers/net/ethernet/emulex/benet/be_main.c
391
struct be_cmd_resp_get_stats_v2 *cmd = adapter->stats_cmd.va;
drivers/net/ethernet/emulex/benet/be_main.c
3911
static void be_vf_clear(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_main.c
3916
if (pci_vfs_assigned(adapter->pdev)) {
drivers/net/ethernet/emulex/benet/be_main.c
3917
dev_warn(&adapter->pdev->dev,
drivers/net/ethernet/emulex/benet/be_main.c
3922
pci_disable_sriov(adapter->pdev);
drivers/net/ethernet/emulex/benet/be_main.c
3924
for_all_vfs(adapter, vf_cfg, vf) {
drivers/net/ethernet/emulex/benet/be_main.c
3925
if (BEx_chip(adapter))
drivers/net/ethernet/emulex/benet/be_main.c
3926
be_cmd_pmac_del(adapter, vf_cfg->if_handle,
drivers/net/ethernet/emulex/benet/be_main.c
3929
be_cmd_set_mac(adapter, NULL, vf_cfg->if_handle,
drivers/net/ethernet/emulex/benet/be_main.c
3932
be_cmd_if_destroy(adapter, vf_cfg->if_handle, vf + 1);
drivers/net/ethernet/emulex/benet/be_main.c
3935
if (BE3_chip(adapter))
drivers/net/ethernet/emulex/benet/be_main.c
3936
be_cmd_set_hsw_config(adapter, 0, 0,
drivers/net/ethernet/emulex/benet/be_main.c
3937
adapter->if_handle,
drivers/net/ethernet/emulex/benet/be_main.c
3940
kfree(adapter->vf_cfg);
drivers/net/ethernet/emulex/benet/be_main.c
3941
adapter->num_vfs = 0;
drivers/net/ethernet/emulex/benet/be_main.c
3942
adapter->flags &= ~BE_FLAGS_SRIOV_ENABLED;
drivers/net/ethernet/emulex/benet/be_main.c
3945
static void be_clear_queues(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_main.c
3947
be_mcc_queues_destroy(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
3948
be_rx_cqs_destroy(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
3949
be_tx_queues_destroy(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
3950
be_evt_queues_destroy(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
3953
static void be_cancel_worker(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_main.c
3955
if (adapter->flags & BE_FLAGS_WORKER_SCHEDULED) {
drivers/net/ethernet/emulex/benet/be_main.c
3956
cancel_delayed_work_sync(&adapter->work);
drivers/net/ethernet/emulex/benet/be_main.c
3957
adapter->flags &= ~BE_FLAGS_WORKER_SCHEDULED;
drivers/net/ethernet/emulex/benet/be_main.c
3961
static void be_cancel_err_detection(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_main.c
3963
struct be_error_recovery *err_rec = &adapter->error_recovery;
drivers/net/ethernet/emulex/benet/be_main.c
3968
if (adapter->flags & BE_FLAGS_ERR_DETECTION_SCHEDULED) {
drivers/net/ethernet/emulex/benet/be_main.c
3970
adapter->flags &= ~BE_FLAGS_ERR_DETECTION_SCHEDULED;
drivers/net/ethernet/emulex/benet/be_main.c
398
static void *be_erx_stats_from_cmd(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_main.c
3987
struct be_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/emulex/benet/be_main.c
3988
struct device *dev = &adapter->pdev->dev;
drivers/net/ethernet/emulex/benet/be_main.c
3991
status = be_cmd_manage_iface(adapter, adapter->if_handle,
drivers/net/ethernet/emulex/benet/be_main.c
3997
adapter->flags |= BE_FLAGS_VXLAN_OFFLOADS;
drivers/net/ethernet/emulex/benet/be_main.c
3999
status = be_cmd_set_vxlan_port(adapter, ti->port);
drivers/net/ethernet/emulex/benet/be_main.c
400
if (BE2_chip(adapter)) {
drivers/net/ethernet/emulex/benet/be_main.c
4004
adapter->vxlan_port = ti->port;
drivers/net/ethernet/emulex/benet/be_main.c
401
struct be_hw_stats_v0 *hw_stats = hw_stats_from_cmd(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
4018
struct be_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/emulex/benet/be_main.c
4020
if (adapter->flags & BE_FLAGS_VXLAN_OFFLOADS)
drivers/net/ethernet/emulex/benet/be_main.c
4021
be_cmd_manage_iface(adapter, adapter->if_handle,
drivers/net/ethernet/emulex/benet/be_main.c
4024
if (adapter->vxlan_port)
drivers/net/ethernet/emulex/benet/be_main.c
4025
be_cmd_set_vxlan_port(adapter, 0);
drivers/net/ethernet/emulex/benet/be_main.c
4027
adapter->flags &= ~BE_FLAGS_VXLAN_OFFLOADS;
drivers/net/ethernet/emulex/benet/be_main.c
4028
adapter->vxlan_port = 0;
drivers/net/ethernet/emulex/benet/be_main.c
404
} else if (BE3_chip(adapter)) {
drivers/net/ethernet/emulex/benet/be_main.c
4043
static void be_calculate_vf_res(struct be_adapter *adapter, u16 num_vfs,
drivers/net/ethernet/emulex/benet/be_main.c
4046
struct be_resources res = adapter->pool_res;
drivers/net/ethernet/emulex/benet/be_main.c
405
struct be_hw_stats_v1 *hw_stats = hw_stats_from_cmd(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
4063
if (num_vfs >= be_max_pf_pool_rss_tables(adapter))
drivers/net/ethernet/emulex/benet/be_main.c
4070
be_cmd_get_profile_config(adapter, &res_mod, NULL, ACTIVE_PROFILE_TYPE,
drivers/net/ethernet/emulex/benet/be_main.c
409
struct be_hw_stats_v2 *hw_stats = hw_stats_from_cmd(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
4119
static void be_if_destroy(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_main.c
4121
be_cmd_if_destroy(adapter, adapter->if_handle, 0);
drivers/net/ethernet/emulex/benet/be_main.c
4123
kfree(adapter->pmac_id);
drivers/net/ethernet/emulex/benet/be_main.c
4124
adapter->pmac_id = NULL;
drivers/net/ethernet/emulex/benet/be_main.c
4126
kfree(adapter->mc_list);
drivers/net/ethernet/emulex/benet/be_main.c
4127
adapter->mc_list = NULL;
drivers/net/ethernet/emulex/benet/be_main.c
4129
kfree(adapter->uc_list);
drivers/net/ethernet/emulex/benet/be_main.c
4130
adapter->uc_list = NULL;
drivers/net/ethernet/emulex/benet/be_main.c
4133
static int be_clear(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_main.c
4135
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/emulex/benet/be_main.c
4138
be_cancel_worker(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
4142
if (sriov_enabled(adapter))
drivers/net/ethernet/emulex/benet/be_main.c
4143
be_vf_clear(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
4148
if (skyhawk_chip(adapter) && be_physfn(adapter) &&
drivers/net/ethernet/emulex/benet/be_main.c
415
static void populate_be_v0_stats(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_main.c
4150
be_calculate_vf_res(adapter,
drivers/net/ethernet/emulex/benet/be_main.c
4153
be_cmd_set_sriov_config(adapter, adapter->pool_res,
drivers/net/ethernet/emulex/benet/be_main.c
4158
be_vxlan_unset_port(adapter->netdev, 0, 0, NULL);
drivers/net/ethernet/emulex/benet/be_main.c
4160
be_if_destroy(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
4162
be_clear_queues(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
4164
be_msix_disable(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
4165
adapter->flags &= ~BE_FLAGS_SETUP_DONE;
drivers/net/ethernet/emulex/benet/be_main.c
4169
static int be_vfs_if_create(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_main.c
417
struct be_hw_stats_v0 *hw_stats = hw_stats_from_cmd(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
4179
for_all_vfs(adapter, vf_cfg, vf) {
drivers/net/ethernet/emulex/benet/be_main.c
4180
if (!BE3_chip(adapter)) {
drivers/net/ethernet/emulex/benet/be_main.c
4181
status = be_cmd_get_profile_config(adapter, &res, NULL,
drivers/net/ethernet/emulex/benet/be_main.c
4196
status = be_cmd_if_create(adapter, cap_flags, en_flags,
drivers/net/ethernet/emulex/benet/be_main.c
4205
static int be_vf_setup_init(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_main.c
421
&rxf_stats->port[adapter->port_num];
drivers/net/ethernet/emulex/benet/be_main.c
4210
adapter->vf_cfg = kzalloc_objs(*vf_cfg, adapter->num_vfs);
drivers/net/ethernet/emulex/benet/be_main.c
4211
if (!adapter->vf_cfg)
drivers/net/ethernet/emulex/benet/be_main.c
4214
for_all_vfs(adapter, vf_cfg, vf) {
drivers/net/ethernet/emulex/benet/be_main.c
422
struct be_drv_stats *drvs = &adapter->drv_stats;
drivers/net/ethernet/emulex/benet/be_main.c
4221
static int be_vf_setup(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_main.c
4223
struct device *dev = &adapter->pdev->dev;
drivers/net/ethernet/emulex/benet/be_main.c
4228
old_vfs = pci_num_vf(adapter->pdev);
drivers/net/ethernet/emulex/benet/be_main.c
4230
status = be_vf_setup_init(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
4235
for_all_vfs(adapter, vf_cfg, vf) {
drivers/net/ethernet/emulex/benet/be_main.c
4236
status = be_cmd_get_if_id(adapter, vf_cfg, vf);
drivers/net/ethernet/emulex/benet/be_main.c
4241
status = be_vfs_mac_query(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
4245
status = be_vfs_if_create(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
4249
status = be_vf_eth_addr_config(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
4254
for_all_vfs(adapter, vf_cfg, vf) {
drivers/net/ethernet/emulex/benet/be_main.c
4256
status = be_cmd_get_fn_privileges(adapter, &vf_cfg->privileges,
drivers/net/ethernet/emulex/benet/be_main.c
4259
status = be_cmd_set_fn_privileges(adapter,
drivers/net/ethernet/emulex/benet/be_main.c
4272
be_cmd_config_qos(adapter, 0, 0, vf + 1);
drivers/net/ethernet/emulex/benet/be_main.c
4274
status = be_cmd_get_hsw_config(adapter, NULL, vf + 1,
drivers/net/ethernet/emulex/benet/be_main.c
4281
be_cmd_enable_vf(adapter, vf + 1);
drivers/net/ethernet/emulex/benet/be_main.c
4282
be_cmd_set_logical_link_config(adapter,
drivers/net/ethernet/emulex/benet/be_main.c
4289
status = pci_enable_sriov(adapter->pdev, adapter->num_vfs);
drivers/net/ethernet/emulex/benet/be_main.c
4292
adapter->num_vfs = 0;
drivers/net/ethernet/emulex/benet/be_main.c
4297
if (BE3_chip(adapter)) {
drivers/net/ethernet/emulex/benet/be_main.c
4299
status = be_cmd_set_hsw_config(adapter, 0, 0,
drivers/net/ethernet/emulex/benet/be_main.c
4300
adapter->if_handle,
drivers/net/ethernet/emulex/benet/be_main.c
4306
adapter->flags |= BE_FLAGS_SRIOV_ENABLED;
drivers/net/ethernet/emulex/benet/be_main.c
4310
be_vf_clear(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
4331
static void BEx_get_resources(struct be_adapter *adapter,
drivers/net/ethernet/emulex/benet/be_main.c
4334
bool use_sriov = adapter->num_vfs ? 1 : 0;
drivers/net/ethernet/emulex/benet/be_main.c
4336
if (be_physfn(adapter))
drivers/net/ethernet/emulex/benet/be_main.c
4341
adapter->mc_type = be_convert_mc_type(adapter->function_mode);
drivers/net/ethernet/emulex/benet/be_main.c
4343
if (be_is_mc(adapter)) {
drivers/net/ethernet/emulex/benet/be_main.c
4347
if (be_is_qnq_mode(adapter))
drivers/net/ethernet/emulex/benet/be_main.c
4364
if (BE2_chip(adapter) || use_sriov || (adapter->port_num > 1) ||
drivers/net/ethernet/emulex/benet/be_main.c
4365
be_virtfn(adapter) ||
drivers/net/ethernet/emulex/benet/be_main.c
4366
(be_is_mc(adapter) &&
drivers/net/ethernet/emulex/benet/be_main.c
4367
!(adapter->function_caps & BE_FUNCTION_CAPS_RSS))) {
drivers/net/ethernet/emulex/benet/be_main.c
4369
} else if (adapter->function_caps & BE_FUNCTION_CAPS_SUPER_NIC) {
drivers/net/ethernet/emulex/benet/be_main.c
4375
be_cmd_get_profile_config(adapter, &super_nic_res, NULL,
drivers/net/ethernet/emulex/benet/be_main.c
4384
if ((adapter->function_caps & BE_FUNCTION_CAPS_RSS) &&
drivers/net/ethernet/emulex/benet/be_main.c
4385
!use_sriov && be_physfn(adapter))
drivers/net/ethernet/emulex/benet/be_main.c
4386
res->max_rss_qs = (adapter->be3_native) ?
drivers/net/ethernet/emulex/benet/be_main.c
4390
if (be_physfn(adapter))
drivers/net/ethernet/emulex/benet/be_main.c
4391
res->max_evt_qs = (be_max_vfs(adapter) > 0) ?
drivers/net/ethernet/emulex/benet/be_main.c
4398
if (!(adapter->function_caps & BE_FUNCTION_CAPS_RSS))
drivers/net/ethernet/emulex/benet/be_main.c
4402
static void be_setup_init(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_main.c
4404
adapter->vlan_prio_bmap = 0xff;
drivers/net/ethernet/emulex/benet/be_main.c
4405
adapter->phy.link_speed = -1;
drivers/net/ethernet/emulex/benet/be_main.c
4406
adapter->if_handle = -1;
drivers/net/ethernet/emulex/benet/be_main.c
4407
adapter->be3_native = false;
drivers/net/ethernet/emulex/benet/be_main.c
4408
adapter->if_flags = 0;
drivers/net/ethernet/emulex/benet/be_main.c
4409
adapter->phy_state = BE_UNKNOWN_PHY_STATE;
drivers/net/ethernet/emulex/benet/be_main.c
4410
if (be_physfn(adapter))
drivers/net/ethernet/emulex/benet/be_main.c
4411
adapter->cmd_privileges = MAX_PRIVILEGES;
drivers/net/ethernet/emulex/benet/be_main.c
4413
adapter->cmd_privileges = MIN_PRIVILEGES;
drivers/net/ethernet/emulex/benet/be_main.c
4423
static void be_calculate_pf_pool_rss_tables(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_main.c
4427
u16 max_vfs = be_max_vfs(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
4429
be_cmd_get_profile_config(adapter, NULL, &port_res, SAVED_PROFILE_TYPE,
drivers/net/ethernet/emulex/benet/be_main.c
4437
adapter->pool_res.max_rss_tables =
drivers/net/ethernet/emulex/benet/be_main.c
4441
static int be_get_sriov_config(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_main.c
4446
be_cmd_get_profile_config(adapter, &res, NULL, ACTIVE_PROFILE_TYPE,
drivers/net/ethernet/emulex/benet/be_main.c
4450
if (BE3_chip(adapter) && !res.max_vfs) {
drivers/net/ethernet/emulex/benet/be_main.c
4451
max_vfs = pci_sriov_get_totalvfs(adapter->pdev);
drivers/net/ethernet/emulex/benet/be_main.c
4455
adapter->pool_res = res;
drivers/net/ethernet/emulex/benet/be_main.c
4461
old_vfs = pci_num_vf(adapter->pdev);
drivers/net/ethernet/emulex/benet/be_main.c
4463
dev_info(&adapter->pdev->dev, "%d VFs are already enabled\n",
drivers/net/ethernet/emulex/benet/be_main.c
4466
adapter->pool_res.max_vfs =
drivers/net/ethernet/emulex/benet/be_main.c
4467
pci_sriov_get_totalvfs(adapter->pdev);
drivers/net/ethernet/emulex/benet/be_main.c
4468
adapter->num_vfs = old_vfs;
drivers/net/ethernet/emulex/benet/be_main.c
4471
if (skyhawk_chip(adapter) && be_max_vfs(adapter) && !old_vfs) {
drivers/net/ethernet/emulex/benet/be_main.c
4472
be_calculate_pf_pool_rss_tables(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
4473
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/emulex/benet/be_main.c
4475
be_max_pf_pool_rss_tables(adapter));
drivers/net/ethernet/emulex/benet/be_main.c
4480
static void be_alloc_sriov_res(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_main.c
4482
int old_vfs = pci_num_vf(adapter->pdev);
drivers/net/ethernet/emulex/benet/be_main.c
4486
be_get_sriov_config(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
4489
pci_sriov_set_totalvfs(adapter->pdev, be_max_vfs(adapter));
drivers/net/ethernet/emulex/benet/be_main.c
4496
if (skyhawk_chip(adapter) && be_max_vfs(adapter) && !old_vfs) {
drivers/net/ethernet/emulex/benet/be_main.c
4497
be_calculate_vf_res(adapter, 0, &vft_res);
drivers/net/ethernet/emulex/benet/be_main.c
4498
status = be_cmd_set_sriov_config(adapter, adapter->pool_res, 0,
drivers/net/ethernet/emulex/benet/be_main.c
4501
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/emulex/benet/be_main.c
4506
static int be_get_resources(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_main.c
4508
struct device *dev = &adapter->pdev->dev;
drivers/net/ethernet/emulex/benet/be_main.c
451
if (adapter->port_num)
drivers/net/ethernet/emulex/benet/be_main.c
4516
if (BEx_chip(adapter)) {
drivers/net/ethernet/emulex/benet/be_main.c
4517
BEx_get_resources(adapter, &res);
drivers/net/ethernet/emulex/benet/be_main.c
4519
status = be_cmd_get_func_config(adapter, &res);
drivers/net/ethernet/emulex/benet/be_main.c
4530
res.max_nic_evt_qs = be_roce_supported(adapter) ?
drivers/net/ethernet/emulex/benet/be_main.c
4532
adapter->res = res;
drivers/net/ethernet/emulex/benet/be_main.c
4537
adapter->need_def_rxq = (be_if_cap_flags(adapter) &
drivers/net/ethernet/emulex/benet/be_main.c
4541
be_max_txqs(adapter), be_max_rxqs(adapter),
drivers/net/ethernet/emulex/benet/be_main.c
4542
be_max_rss(adapter), be_max_nic_eqs(adapter),
drivers/net/ethernet/emulex/benet/be_main.c
4543
be_max_vfs(adapter));
drivers/net/ethernet/emulex/benet/be_main.c
4545
be_max_uc(adapter), be_max_mc(adapter),
drivers/net/ethernet/emulex/benet/be_main.c
4546
be_max_vlans(adapter));
drivers/net/ethernet/emulex/benet/be_main.c
4549
adapter->cfg_num_rx_irqs =
drivers/net/ethernet/emulex/benet/be_main.c
4551
be_max_qp_irqs(adapter));
drivers/net/ethernet/emulex/benet/be_main.c
4552
adapter->cfg_num_tx_irqs = adapter->cfg_num_rx_irqs;
drivers/net/ethernet/emulex/benet/be_main.c
4556
static int be_get_config(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_main.c
4561
status = be_cmd_get_cntl_attributes(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
4565
status = be_cmd_query_fw_cfg(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
4569
if (!lancer_chip(adapter) && be_physfn(adapter))
drivers/net/ethernet/emulex/benet/be_main.c
4570
be_cmd_get_fat_dump_len(adapter, &adapter->fat_dump_len);
drivers/net/ethernet/emulex/benet/be_main.c
4572
if (BEx_chip(adapter)) {
drivers/net/ethernet/emulex/benet/be_main.c
4573
level = be_cmd_get_fw_log_level(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
4574
adapter->msg_enable =
drivers/net/ethernet/emulex/benet/be_main.c
4578
be_cmd_get_acpi_wol_cap(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
4579
pci_enable_wake(adapter->pdev, PCI_D3hot, adapter->wol_en);
drivers/net/ethernet/emulex/benet/be_main.c
4580
pci_enable_wake(adapter->pdev, PCI_D3cold, adapter->wol_en);
drivers/net/ethernet/emulex/benet/be_main.c
4582
be_cmd_query_port_name(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
4584
if (be_physfn(adapter)) {
drivers/net/ethernet/emulex/benet/be_main.c
4585
status = be_cmd_get_active_profile(adapter, &profile_id);
drivers/net/ethernet/emulex/benet/be_main.c
4587
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/emulex/benet/be_main.c
4594
static int be_mac_setup(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_main.c
4599
if (is_zero_ether_addr(adapter->netdev->dev_addr)) {
drivers/net/ethernet/emulex/benet/be_main.c
4600
status = be_cmd_get_perm_mac(adapter, mac);
drivers/net/ethernet/emulex/benet/be_main.c
4604
eth_hw_addr_set(adapter->netdev, mac);
drivers/net/ethernet/emulex/benet/be_main.c
4605
memcpy(adapter->netdev->perm_addr, mac, ETH_ALEN);
drivers/net/ethernet/emulex/benet/be_main.c
4608
if (BEx_chip(adapter) && be_virtfn(adapter))
drivers/net/ethernet/emulex/benet/be_main.c
4609
memcpy(adapter->dev_mac, mac, ETH_ALEN);
drivers/net/ethernet/emulex/benet/be_main.c
461
adapter->drv_stats.eth_red_drops = pmem_sts->eth_red_drops;
drivers/net/ethernet/emulex/benet/be_main.c
4615
static void be_schedule_worker(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_main.c
4617
queue_delayed_work(be_wq, &adapter->work, msecs_to_jiffies(1000));
drivers/net/ethernet/emulex/benet/be_main.c
4618
adapter->flags |= BE_FLAGS_WORKER_SCHEDULED;
drivers/net/ethernet/emulex/benet/be_main.c
4630
static void be_schedule_err_detection(struct be_adapter *adapter, u32 delay)
drivers/net/ethernet/emulex/benet/be_main.c
4632
struct be_error_recovery *err_rec = &adapter->error_recovery;
drivers/net/ethernet/emulex/benet/be_main.c
4639
adapter->flags |= BE_FLAGS_ERR_DETECTION_SCHEDULED;
drivers/net/ethernet/emulex/benet/be_main.c
464
static void populate_be_v1_stats(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_main.c
4642
static int be_setup_queues(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_main.c
4644
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/emulex/benet/be_main.c
4647
status = be_evt_queues_create(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
4651
status = be_tx_qs_create(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
4655
status = be_rx_cqs_create(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
4659
status = be_mcc_queues_create(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
466
struct be_hw_stats_v1 *hw_stats = hw_stats_from_cmd(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
4663
status = netif_set_real_num_rx_queues(netdev, adapter->num_rx_qs);
drivers/net/ethernet/emulex/benet/be_main.c
4667
status = netif_set_real_num_tx_queues(netdev, adapter->num_tx_qs);
drivers/net/ethernet/emulex/benet/be_main.c
4673
dev_err(&adapter->pdev->dev, "queue_setup failed\n");
drivers/net/ethernet/emulex/benet/be_main.c
4677
static int be_if_create(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_main.c
4680
u32 cap_flags = be_if_cap_flags(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
4683
adapter->pmac_id = kcalloc(be_max_uc(adapter),
drivers/net/ethernet/emulex/benet/be_main.c
4684
sizeof(*adapter->pmac_id), GFP_KERNEL);
drivers/net/ethernet/emulex/benet/be_main.c
4685
if (!adapter->pmac_id)
drivers/net/ethernet/emulex/benet/be_main.c
4688
adapter->mc_list = kzalloc_objs(*adapter->mc_list, be_max_mc(adapter));
drivers/net/ethernet/emulex/benet/be_main.c
4689
if (!adapter->mc_list)
drivers/net/ethernet/emulex/benet/be_main.c
4692
adapter->uc_list = kzalloc_objs(*adapter->uc_list, be_max_uc(adapter));
drivers/net/ethernet/emulex/benet/be_main.c
4693
if (!adapter->uc_list)
drivers/net/ethernet/emulex/benet/be_main.c
4696
if (adapter->cfg_num_rx_irqs == 1)
drivers/net/ethernet/emulex/benet/be_main.c
470
&rxf_stats->port[adapter->port_num];
drivers/net/ethernet/emulex/benet/be_main.c
4701
return be_cmd_if_create(adapter, be_if_cap_flags(adapter), en_flags,
drivers/net/ethernet/emulex/benet/be_main.c
4702
&adapter->if_handle, 0);
drivers/net/ethernet/emulex/benet/be_main.c
4705
int be_update_queues(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_main.c
4707
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/emulex/benet/be_main.c
471
struct be_drv_stats *drvs = &adapter->drv_stats;
drivers/net/ethernet/emulex/benet/be_main.c
4722
be_cancel_worker(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
4727
if (!adapter->num_msix_roce_vec)
drivers/net/ethernet/emulex/benet/be_main.c
4728
be_msix_disable(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
4730
be_clear_queues(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
4731
status = be_cmd_if_destroy(adapter, adapter->if_handle, 0);
drivers/net/ethernet/emulex/benet/be_main.c
4735
if (!msix_enabled(adapter)) {
drivers/net/ethernet/emulex/benet/be_main.c
4736
status = be_msix_enable(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
4741
status = be_if_create(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
4745
status = be_setup_queues(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
4749
be_schedule_worker(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
4757
adapter->if_flags &= ~BE_IF_FLAGS_ALL_PROMISCUOUS;
drivers/net/ethernet/emulex/benet/be_main.c
4779
static bool be_reset_required(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_main.c
4781
if (be_error_recovering(adapter))
drivers/net/ethernet/emulex/benet/be_main.c
4784
return pci_num_vf(adapter->pdev) == 0;
drivers/net/ethernet/emulex/benet/be_main.c
4788
static int be_func_init(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_main.c
4792
status = be_fw_wait_ready(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
4797
be_clear_error(adapter, BE_CLEAR_ALL);
drivers/net/ethernet/emulex/benet/be_main.c
4799
if (be_reset_required(adapter)) {
drivers/net/ethernet/emulex/benet/be_main.c
4800
status = be_cmd_reset_function(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
4809
status = be_cmd_fw_init(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
4814
be_intr_set(adapter, true);
drivers/net/ethernet/emulex/benet/be_main.c
4819
static int be_setup(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_main.c
4821
struct device *dev = &adapter->pdev->dev;
drivers/net/ethernet/emulex/benet/be_main.c
4824
status = be_func_init(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
4828
be_setup_init(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
4830
if (!lancer_chip(adapter))
drivers/net/ethernet/emulex/benet/be_main.c
4831
be_cmd_req_native_mode(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
4836
if (!BEx_chip(adapter)) {
drivers/net/ethernet/emulex/benet/be_main.c
4837
status = be_cmd_get_func_config(adapter, NULL);
drivers/net/ethernet/emulex/benet/be_main.c
4842
status = be_get_config(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
4846
if (!BE2_chip(adapter) && be_physfn(adapter))
drivers/net/ethernet/emulex/benet/be_main.c
4847
be_alloc_sriov_res(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
4849
status = be_get_resources(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
4853
status = be_msix_enable(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
4858
status = be_if_create(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
4864
status = be_setup_queues(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
4869
be_cmd_get_fn_privileges(adapter, &adapter->cmd_privileges, 0);
drivers/net/ethernet/emulex/benet/be_main.c
4871
status = be_mac_setup(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
4875
be_cmd_get_fw_ver(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
4876
dev_info(dev, "FW version is %s\n", adapter->fw_ver);
drivers/net/ethernet/emulex/benet/be_main.c
4878
if (BE2_chip(adapter) && fw_major_num(adapter->fw_ver) < 4) {
drivers/net/ethernet/emulex/benet/be_main.c
4880
adapter->fw_ver);
drivers/net/ethernet/emulex/benet/be_main.c
4884
status = be_cmd_set_flow_control(adapter, adapter->tx_fc,
drivers/net/ethernet/emulex/benet/be_main.c
4885
adapter->rx_fc);
drivers/net/ethernet/emulex/benet/be_main.c
4887
be_cmd_get_flow_control(adapter, &adapter->tx_fc,
drivers/net/ethernet/emulex/benet/be_main.c
4888
&adapter->rx_fc);
drivers/net/ethernet/emulex/benet/be_main.c
4890
dev_info(&adapter->pdev->dev, "HW Flow control - TX:%d RX:%d\n",
drivers/net/ethernet/emulex/benet/be_main.c
4891
adapter->tx_fc, adapter->rx_fc);
drivers/net/ethernet/emulex/benet/be_main.c
4893
if (be_physfn(adapter))
drivers/net/ethernet/emulex/benet/be_main.c
4894
be_cmd_set_logical_link_config(adapter,
drivers/net/ethernet/emulex/benet/be_main.c
4902
if (BE3_chip(adapter))
drivers/net/ethernet/emulex/benet/be_main.c
4903
be_cmd_set_hsw_config(adapter, 0, 0, adapter->if_handle,
drivers/net/ethernet/emulex/benet/be_main.c
4906
if (adapter->num_vfs)
drivers/net/ethernet/emulex/benet/be_main.c
4907
be_vf_setup(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
4909
status = be_cmd_get_phy_info(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
4910
if (!status && be_pause_supported(adapter))
drivers/net/ethernet/emulex/benet/be_main.c
4911
adapter->phy.fc_autoneg = 1;
drivers/net/ethernet/emulex/benet/be_main.c
4913
if (be_physfn(adapter) && !lancer_chip(adapter))
drivers/net/ethernet/emulex/benet/be_main.c
4914
be_cmd_set_features(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
4916
be_schedule_worker(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
4917
adapter->flags |= BE_FLAGS_SETUP_DONE;
drivers/net/ethernet/emulex/benet/be_main.c
4920
be_clear(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
4927
struct be_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/emulex/benet/be_main.c
4931
for_all_evt_queues(adapter, eqo, i) {
drivers/net/ethernet/emulex/benet/be_main.c
4932
be_eq_notify(eqo->adapter, eqo->q.id, false, true, 0, 0);
drivers/net/ethernet/emulex/benet/be_main.c
4938
int be_load_fw(struct be_adapter *adapter, u8 *fw_file)
drivers/net/ethernet/emulex/benet/be_main.c
4943
if (!netif_running(adapter->netdev)) {
drivers/net/ethernet/emulex/benet/be_main.c
4944
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/emulex/benet/be_main.c
4949
status = request_firmware(&fw, fw_file, &adapter->pdev->dev);
drivers/net/ethernet/emulex/benet/be_main.c
4953
dev_info(&adapter->pdev->dev, "Flashing firmware file %s\n", fw_file);
drivers/net/ethernet/emulex/benet/be_main.c
4955
if (lancer_chip(adapter))
drivers/net/ethernet/emulex/benet/be_main.c
4956
status = lancer_fw_download(adapter, fw);
drivers/net/ethernet/emulex/benet/be_main.c
4958
status = be_fw_download(adapter, fw);
drivers/net/ethernet/emulex/benet/be_main.c
4961
be_cmd_get_fw_ver(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
4971
struct be_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/emulex/benet/be_main.c
4977
if (!sriov_enabled(adapter))
drivers/net/ethernet/emulex/benet/be_main.c
4986
if (BE3_chip(adapter) && mode == BRIDGE_MODE_VEPA)
drivers/net/ethernet/emulex/benet/be_main.c
4992
status = be_cmd_set_hsw_config(adapter, 0, 0,
drivers/net/ethernet/emulex/benet/be_main.c
4993
adapter->if_handle,
drivers/net/ethernet/emulex/benet/be_main.c
5000
dev_info(&adapter->pdev->dev, "enabled switch mode: %s\n",
drivers/net/ethernet/emulex/benet/be_main.c
5006
dev_err(&adapter->pdev->dev, "Failed to set switch mode %s\n",
drivers/net/ethernet/emulex/benet/be_main.c
5016
struct be_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/emulex/benet/be_main.c
5021
if (BEx_chip(adapter) || lancer_chip(adapter)) {
drivers/net/ethernet/emulex/benet/be_main.c
5023
if (!pci_sriov_get_totalvfs(adapter->pdev))
drivers/net/ethernet/emulex/benet/be_main.c
5027
status = be_cmd_get_hsw_config(adapter, NULL, 0,
drivers/net/ethernet/emulex/benet/be_main.c
5028
adapter->if_handle, &hsw_mode,
drivers/net/ethernet/emulex/benet/be_main.c
5043
static struct be_cmd_work *be_alloc_work(struct be_adapter *adapter,
drivers/net/ethernet/emulex/benet/be_main.c
5050
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/emulex/benet/be_main.c
5056
work->adapter = adapter;
drivers/net/ethernet/emulex/benet/be_main.c
5064
struct be_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/emulex/benet/be_main.c
507
adapter->drv_stats.eth_red_drops = pmem_sts->eth_red_drops;
drivers/net/ethernet/emulex/benet/be_main.c
5071
if (!skyhawk_chip(adapter) && is_ipv6_ext_hdr(skb))
drivers/net/ethernet/emulex/benet/be_main.c
5078
if (lancer_chip(adapter) &&
drivers/net/ethernet/emulex/benet/be_main.c
5090
!(adapter->flags & BE_FLAGS_VXLAN_OFFLOADS))
drivers/net/ethernet/emulex/benet/be_main.c
510
static void populate_be_v2_stats(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_main.c
5115
!adapter->vxlan_port ||
drivers/net/ethernet/emulex/benet/be_main.c
5116
udp_hdr(skb)->dest != adapter->vxlan_port)
drivers/net/ethernet/emulex/benet/be_main.c
512
struct be_hw_stats_v2 *hw_stats = hw_stats_from_cmd(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
5126
struct be_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/emulex/benet/be_main.c
5132
ppid->id[0] = adapter->hba_port_num + 1;
drivers/net/ethernet/emulex/benet/be_main.c
5136
memcpy(id, &adapter->serial_num[i], CNTL_SERIAL_NUM_WORD_SZ);
drivers/net/ethernet/emulex/benet/be_main.c
5145
struct be_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/emulex/benet/be_main.c
5148
work = be_alloc_work(adapter, be_work_set_rx_mode);
drivers/net/ethernet/emulex/benet/be_main.c
516
&rxf_stats->port[adapter->port_num];
drivers/net/ethernet/emulex/benet/be_main.c
517
struct be_drv_stats *drvs = &adapter->drv_stats;
drivers/net/ethernet/emulex/benet/be_main.c
5181
struct be_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/emulex/benet/be_main.c
5187
if ((be_if_cap_flags(adapter) & BE_IF_FLAGS_RSS))
drivers/net/ethernet/emulex/benet/be_main.c
5207
if (!lancer_chip(adapter) && !BEx_chip(adapter) && !be_is_mc(adapter))
drivers/net/ethernet/emulex/benet/be_main.c
5215
static void be_cleanup(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_main.c
5217
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/emulex/benet/be_main.c
5225
be_clear(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
5228
static int be_resume(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_main.c
5230
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/emulex/benet/be_main.c
5233
status = be_setup(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
5250
static void be_soft_reset(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_main.c
5254
dev_info(&adapter->pdev->dev, "Initiating chip soft reset\n");
drivers/net/ethernet/emulex/benet/be_main.c
5255
val = ioread32(adapter->pcicfg + SLIPORT_SOFTRESET_OFFSET);
drivers/net/ethernet/emulex/benet/be_main.c
5257
iowrite32(val, adapter->pcicfg + SLIPORT_SOFTRESET_OFFSET);
drivers/net/ethernet/emulex/benet/be_main.c
5260
static bool be_err_is_recoverable(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_main.c
5262
struct be_error_recovery *err_rec = &adapter->error_recovery;
drivers/net/ethernet/emulex/benet/be_main.c
5270
val = be_POST_stage_get(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
5277
dev_err(&adapter->pdev->dev, "Recoverable HW error code: 0x%x\n",
drivers/net/ethernet/emulex/benet/be_main.c
5281
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/emulex/benet/be_main.c
5289
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/emulex/benet/be_main.c
5296
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/emulex/benet/be_main.c
5306
static int be_tpe_recover(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_main.c
5308
struct be_error_recovery *err_rec = &adapter->error_recovery;
drivers/net/ethernet/emulex/benet/be_main.c
5319
val = be_POST_stage_get(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
5322
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/emulex/benet/be_main.c
5329
dev_err(&adapter->pdev->dev, "Recoverable HW error detected\n");
drivers/net/ethernet/emulex/benet/be_main.c
5336
if (adapter->pf_num == 0) {
drivers/net/ethernet/emulex/benet/be_main.c
5349
if (!be_err_is_recoverable(adapter)) {
drivers/net/ethernet/emulex/benet/be_main.c
5350
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/emulex/benet/be_main.c
5356
be_soft_reset(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
5377
static int be_err_recover(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_main.c
5381
if (!lancer_chip(adapter)) {
drivers/net/ethernet/emulex/benet/be_main.c
5382
if (!adapter->error_recovery.recovery_supported ||
drivers/net/ethernet/emulex/benet/be_main.c
5383
adapter->priv_flags & BE_DISABLE_TPE_RECOVERY)
drivers/net/ethernet/emulex/benet/be_main.c
5385
status = be_tpe_recover(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
5393
status = be_fw_wait_ready(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
5397
adapter->flags |= BE_FLAGS_TRY_RECOVERY;
drivers/net/ethernet/emulex/benet/be_main.c
5399
be_cleanup(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
5401
status = be_resume(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
5405
adapter->flags &= ~BE_FLAGS_TRY_RECOVERY;
drivers/net/ethernet/emulex/benet/be_main.c
5416
struct be_adapter *adapter =
drivers/net/ethernet/emulex/benet/be_main.c
5420
struct device *dev = &adapter->pdev->dev;
drivers/net/ethernet/emulex/benet/be_main.c
5423
be_detect_error(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
5424
if (!be_check_error(adapter, BE_ERROR_HW))
drivers/net/ethernet/emulex/benet/be_main.c
5427
recovery_status = be_err_recover(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
5433
} else if (!lancer_chip(adapter) && err_rec->resched_delay) {
drivers/net/ethernet/emulex/benet/be_main.c
5435
if (adapter->pf_num == 0 &&
drivers/net/ethernet/emulex/benet/be_main.c
5437
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/emulex/benet/be_main.c
5441
} else if (lancer_chip(adapter) && be_virtfn(adapter)) {
drivers/net/ethernet/emulex/benet/be_main.c
5447
} else if (lancer_chip(adapter) && err_rec->recovery_retries++ <
drivers/net/ethernet/emulex/benet/be_main.c
5453
dev_err(&adapter->pdev->dev, "Re-trying adapter recovery\n");
drivers/net/ethernet/emulex/benet/be_main.c
5464
be_schedule_err_detection(adapter, resched_delay);
drivers/net/ethernet/emulex/benet/be_main.c
5467
static void be_log_sfp_info(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_main.c
5471
status = be_cmd_query_sfp_info(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
5473
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/emulex/benet/be_main.c
5475
adapter->port_name,
drivers/net/ethernet/emulex/benet/be_main.c
5476
be_misconfig_evt_port_state[adapter->phy_state],
drivers/net/ethernet/emulex/benet/be_main.c
5477
adapter->phy.vendor_name,
drivers/net/ethernet/emulex/benet/be_main.c
5478
adapter->phy.vendor_pn);
drivers/net/ethernet/emulex/benet/be_main.c
5480
adapter->flags &= ~BE_FLAGS_PHY_MISCONFIGURED;
drivers/net/ethernet/emulex/benet/be_main.c
5485
struct be_adapter *adapter =
drivers/net/ethernet/emulex/benet/be_main.c
5490
if (be_physfn(adapter) &&
drivers/net/ethernet/emulex/benet/be_main.c
5491
MODULO(adapter->work_counter, adapter->be_get_temp_freq) == 0)
drivers/net/ethernet/emulex/benet/be_main.c
5492
be_cmd_get_die_temperature(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
5497
if (!netif_running(adapter->netdev)) {
drivers/net/ethernet/emulex/benet/be_main.c
5499
be_process_mcc(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
5504
if (!adapter->stats_cmd_sent) {
drivers/net/ethernet/emulex/benet/be_main.c
5505
if (lancer_chip(adapter))
drivers/net/ethernet/emulex/benet/be_main.c
5506
lancer_cmd_get_pport_stats(adapter,
drivers/net/ethernet/emulex/benet/be_main.c
5507
&adapter->stats_cmd);
drivers/net/ethernet/emulex/benet/be_main.c
5509
be_cmd_get_stats(adapter, &adapter->stats_cmd);
drivers/net/ethernet/emulex/benet/be_main.c
5512
for_all_rx_queues(adapter, rxo, i) {
drivers/net/ethernet/emulex/benet/be_main.c
5521
if (!skyhawk_chip(adapter))
drivers/net/ethernet/emulex/benet/be_main.c
5522
be_eqd_update(adapter, false);
drivers/net/ethernet/emulex/benet/be_main.c
5524
if (adapter->flags & BE_FLAGS_PHY_MISCONFIGURED)
drivers/net/ethernet/emulex/benet/be_main.c
5525
be_log_sfp_info(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
5528
adapter->work_counter++;
drivers/net/ethernet/emulex/benet/be_main.c
5529
queue_delayed_work(be_wq, &adapter->work, msecs_to_jiffies(1000));
drivers/net/ethernet/emulex/benet/be_main.c
553
adapter->drv_stats.eth_red_drops = pmem_sts->eth_red_drops;
drivers/net/ethernet/emulex/benet/be_main.c
5532
static void be_unmap_pci_bars(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_main.c
5534
if (adapter->csr)
drivers/net/ethernet/emulex/benet/be_main.c
5535
pci_iounmap(adapter->pdev, adapter->csr);
drivers/net/ethernet/emulex/benet/be_main.c
5536
if (adapter->db)
drivers/net/ethernet/emulex/benet/be_main.c
5537
pci_iounmap(adapter->pdev, adapter->db);
drivers/net/ethernet/emulex/benet/be_main.c
5538
if (adapter->pcicfg && adapter->pcicfg_mapped)
drivers/net/ethernet/emulex/benet/be_main.c
5539
pci_iounmap(adapter->pdev, adapter->pcicfg);
drivers/net/ethernet/emulex/benet/be_main.c
554
if (be_roce_supported(adapter)) {
drivers/net/ethernet/emulex/benet/be_main.c
5542
static int db_bar(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_main.c
5544
if (lancer_chip(adapter) || be_virtfn(adapter))
drivers/net/ethernet/emulex/benet/be_main.c
5550
static int be_roce_map_pci_bars(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_main.c
5552
if (skyhawk_chip(adapter)) {
drivers/net/ethernet/emulex/benet/be_main.c
5553
adapter->roce_db.size = 4096;
drivers/net/ethernet/emulex/benet/be_main.c
5554
adapter->roce_db.io_addr = pci_resource_start(adapter->pdev,
drivers/net/ethernet/emulex/benet/be_main.c
5555
db_bar(adapter));
drivers/net/ethernet/emulex/benet/be_main.c
5556
adapter->roce_db.total_size = pci_resource_len(adapter->pdev,
drivers/net/ethernet/emulex/benet/be_main.c
5557
db_bar(adapter));
drivers/net/ethernet/emulex/benet/be_main.c
5562
static int be_map_pci_bars(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_main.c
5564
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/emulex/benet/be_main.c
5568
pci_read_config_dword(adapter->pdev, SLI_INTF_REG_OFFSET, &sli_intf);
drivers/net/ethernet/emulex/benet/be_main.c
5569
adapter->sli_family = (sli_intf & SLI_INTF_FAMILY_MASK) >>
drivers/net/ethernet/emulex/benet/be_main.c
5571
adapter->virtfn = (sli_intf & SLI_INTF_FT_MASK) ? 1 : 0;
drivers/net/ethernet/emulex/benet/be_main.c
5573
if (BEx_chip(adapter) && be_physfn(adapter)) {
drivers/net/ethernet/emulex/benet/be_main.c
5574
adapter->csr = pci_iomap(pdev, 2, 0);
drivers/net/ethernet/emulex/benet/be_main.c
5575
if (!adapter->csr)
drivers/net/ethernet/emulex/benet/be_main.c
5579
addr = pci_iomap(pdev, db_bar(adapter), 0);
drivers/net/ethernet/emulex/benet/be_main.c
5582
adapter->db = addr;
drivers/net/ethernet/emulex/benet/be_main.c
5584
if (skyhawk_chip(adapter) || BEx_chip(adapter)) {
drivers/net/ethernet/emulex/benet/be_main.c
5585
if (be_physfn(adapter)) {
drivers/net/ethernet/emulex/benet/be_main.c
5587
addr = pci_iomap(pdev, BE2_chip(adapter) ? 1 : 0, 0);
drivers/net/ethernet/emulex/benet/be_main.c
5590
adapter->pcicfg = addr;
drivers/net/ethernet/emulex/benet/be_main.c
5591
adapter->pcicfg_mapped = true;
drivers/net/ethernet/emulex/benet/be_main.c
5593
adapter->pcicfg = adapter->db + SRIOV_VF_PCICFG_OFFSET;
drivers/net/ethernet/emulex/benet/be_main.c
5594
adapter->pcicfg_mapped = false;
drivers/net/ethernet/emulex/benet/be_main.c
5598
be_roce_map_pci_bars(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
5603
be_unmap_pci_bars(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
5607
static void be_drv_cleanup(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_main.c
5609
struct be_dma_mem *mem = &adapter->mbox_mem_alloced;
drivers/net/ethernet/emulex/benet/be_main.c
5610
struct device *dev = &adapter->pdev->dev;
drivers/net/ethernet/emulex/benet/be_main.c
5615
mem = &adapter->rx_filter;
drivers/net/ethernet/emulex/benet/be_main.c
5619
mem = &adapter->stats_cmd;
drivers/net/ethernet/emulex/benet/be_main.c
5625
static int be_drv_init(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_main.c
5627
struct be_dma_mem *mbox_mem_alloc = &adapter->mbox_mem_alloced;
drivers/net/ethernet/emulex/benet/be_main.c
5628
struct be_dma_mem *mbox_mem_align = &adapter->mbox_mem;
drivers/net/ethernet/emulex/benet/be_main.c
5629
struct be_dma_mem *rx_filter = &adapter->rx_filter;
drivers/net/ethernet/emulex/benet/be_main.c
5630
struct be_dma_mem *stats_cmd = &adapter->stats_cmd;
drivers/net/ethernet/emulex/benet/be_main.c
5631
struct device *dev = &adapter->pdev->dev;
drivers/net/ethernet/emulex/benet/be_main.c
564
static void populate_lancer_stats(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_main.c
5653
if (lancer_chip(adapter))
drivers/net/ethernet/emulex/benet/be_main.c
5655
else if (BE2_chip(adapter))
drivers/net/ethernet/emulex/benet/be_main.c
5657
else if (BE3_chip(adapter))
drivers/net/ethernet/emulex/benet/be_main.c
566
struct be_drv_stats *drvs = &adapter->drv_stats;
drivers/net/ethernet/emulex/benet/be_main.c
5668
mutex_init(&adapter->mbox_lock);
drivers/net/ethernet/emulex/benet/be_main.c
5669
mutex_init(&adapter->rx_filter_lock);
drivers/net/ethernet/emulex/benet/be_main.c
567
struct lancer_pport_stats *pport_stats = pport_stats_from_cmd(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
5670
spin_lock_init(&adapter->mcc_lock);
drivers/net/ethernet/emulex/benet/be_main.c
5671
spin_lock_init(&adapter->mcc_cq_lock);
drivers/net/ethernet/emulex/benet/be_main.c
5672
init_completion(&adapter->et_cmd_compl);
drivers/net/ethernet/emulex/benet/be_main.c
5674
pci_save_state(adapter->pdev);
drivers/net/ethernet/emulex/benet/be_main.c
5676
INIT_DELAYED_WORK(&adapter->work, be_worker);
drivers/net/ethernet/emulex/benet/be_main.c
5678
adapter->error_recovery.recovery_state = ERR_RECOVERY_ST_NONE;
drivers/net/ethernet/emulex/benet/be_main.c
5679
adapter->error_recovery.resched_delay = 0;
drivers/net/ethernet/emulex/benet/be_main.c
5680
INIT_DELAYED_WORK(&adapter->error_recovery.err_detection_work,
drivers/net/ethernet/emulex/benet/be_main.c
5683
adapter->rx_fc = true;
drivers/net/ethernet/emulex/benet/be_main.c
5684
adapter->tx_fc = true;
drivers/net/ethernet/emulex/benet/be_main.c
5687
adapter->be_get_temp_freq = 64;
drivers/net/ethernet/emulex/benet/be_main.c
5701
struct be_adapter *adapter = pci_get_drvdata(pdev);
drivers/net/ethernet/emulex/benet/be_main.c
5703
if (!adapter)
drivers/net/ethernet/emulex/benet/be_main.c
5706
be_roce_dev_remove(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
5707
be_intr_set(adapter, false);
drivers/net/ethernet/emulex/benet/be_main.c
5709
be_cancel_err_detection(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
5711
unregister_netdev(adapter->netdev);
drivers/net/ethernet/emulex/benet/be_main.c
5713
be_clear(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
5715
if (!pci_vfs_assigned(adapter->pdev))
drivers/net/ethernet/emulex/benet/be_main.c
5716
be_cmd_reset_function(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
5719
be_cmd_fw_clean(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
5721
be_unmap_pci_bars(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
5722
be_drv_cleanup(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
5727
free_netdev(adapter->netdev);
drivers/net/ethernet/emulex/benet/be_main.c
5734
struct be_adapter *adapter = dev_get_drvdata(dev);
drivers/net/ethernet/emulex/benet/be_main.c
5737
if (adapter->hwmon_info.be_on_die_temp == BE_INVALID_DIE_TEMP)
drivers/net/ethernet/emulex/benet/be_main.c
5741
adapter->hwmon_info.be_on_die_temp * 1000);
drivers/net/ethernet/emulex/benet/be_main.c
5754
static char *mc_name(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_main.c
5758
switch (adapter->mc_type) {
drivers/net/ethernet/emulex/benet/be_main.c
5784
static inline char *func_name(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_main.c
5786
return be_physfn(adapter) ? "PF" : "VF";
drivers/net/ethernet/emulex/benet/be_main.c
5811
struct be_adapter *adapter;
drivers/net/ethernet/emulex/benet/be_main.c
5824
netdev = alloc_etherdev_mqs(sizeof(*adapter), MAX_TX_QS, MAX_RX_QS);
drivers/net/ethernet/emulex/benet/be_main.c
5829
adapter = netdev_priv(netdev);
drivers/net/ethernet/emulex/benet/be_main.c
5830
adapter->pdev = pdev;
drivers/net/ethernet/emulex/benet/be_main.c
5831
pci_set_drvdata(pdev, adapter);
drivers/net/ethernet/emulex/benet/be_main.c
5832
adapter->netdev = netdev;
drivers/net/ethernet/emulex/benet/be_main.c
5841
status = be_map_pci_bars(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
5845
status = be_drv_init(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
5849
status = be_setup(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
5858
be_roce_dev_add(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
5860
be_schedule_err_detection(adapter, ERR_DETECTION_DELAY);
drivers/net/ethernet/emulex/benet/be_main.c
5861
adapter->error_recovery.probe_time = jiffies;
drivers/net/ethernet/emulex/benet/be_main.c
5864
if (be_physfn(adapter) && IS_ENABLED(CONFIG_BE2NET_HWMON)) {
drivers/net/ethernet/emulex/benet/be_main.c
5865
adapter->hwmon_info.hwmon_dev =
drivers/net/ethernet/emulex/benet/be_main.c
5868
adapter,
drivers/net/ethernet/emulex/benet/be_main.c
5870
adapter->hwmon_info.be_on_die_temp = BE_INVALID_DIE_TEMP;
drivers/net/ethernet/emulex/benet/be_main.c
5874
func_name(adapter), mc_name(adapter), adapter->port_name);
drivers/net/ethernet/emulex/benet/be_main.c
5879
be_clear(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
5881
be_drv_cleanup(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
5883
be_unmap_pci_bars(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
5897
struct be_adapter *adapter = dev_get_drvdata(dev_d);
drivers/net/ethernet/emulex/benet/be_main.c
5899
be_intr_set(adapter, false);
drivers/net/ethernet/emulex/benet/be_main.c
5900
be_cancel_err_detection(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
5902
be_cleanup(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
5909
struct be_adapter *adapter = dev_get_drvdata(dev_d);
drivers/net/ethernet/emulex/benet/be_main.c
5912
status = be_resume(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
5916
be_schedule_err_detection(adapter, ERR_DETECTION_DELAY);
drivers/net/ethernet/emulex/benet/be_main.c
5926
struct be_adapter *adapter = pci_get_drvdata(pdev);
drivers/net/ethernet/emulex/benet/be_main.c
5928
if (!adapter)
drivers/net/ethernet/emulex/benet/be_main.c
5931
be_roce_dev_shutdown(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
5932
cancel_delayed_work_sync(&adapter->work);
drivers/net/ethernet/emulex/benet/be_main.c
5933
be_cancel_err_detection(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
5935
netif_device_detach(adapter->netdev);
drivers/net/ethernet/emulex/benet/be_main.c
5937
be_cmd_reset_function(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
5945
struct be_adapter *adapter = pci_get_drvdata(pdev);
drivers/net/ethernet/emulex/benet/be_main.c
5947
dev_err(&adapter->pdev->dev, "EEH error detected\n");
drivers/net/ethernet/emulex/benet/be_main.c
5949
be_roce_dev_remove(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
5951
if (!be_check_error(adapter, BE_ERROR_EEH)) {
drivers/net/ethernet/emulex/benet/be_main.c
5952
be_set_error(adapter, BE_ERROR_EEH);
drivers/net/ethernet/emulex/benet/be_main.c
5954
be_cancel_err_detection(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
5956
be_cleanup(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
5978
struct be_adapter *adapter = pci_get_drvdata(pdev);
drivers/net/ethernet/emulex/benet/be_main.c
5981
dev_info(&adapter->pdev->dev, "EEH reset\n");
drivers/net/ethernet/emulex/benet/be_main.c
5991
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/emulex/benet/be_main.c
5993
status = be_fw_wait_ready(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
5997
be_clear_error(adapter, BE_CLEAR_ALL);
drivers/net/ethernet/emulex/benet/be_main.c
6004
struct be_adapter *adapter = pci_get_drvdata(pdev);
drivers/net/ethernet/emulex/benet/be_main.c
6006
dev_info(&adapter->pdev->dev, "EEH resume\n");
drivers/net/ethernet/emulex/benet/be_main.c
6010
status = be_resume(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
6014
be_roce_dev_add(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
6016
be_schedule_err_detection(adapter, ERR_DETECTION_DELAY);
drivers/net/ethernet/emulex/benet/be_main.c
6019
dev_err(&adapter->pdev->dev, "EEH resume failed\n");
drivers/net/ethernet/emulex/benet/be_main.c
6024
struct be_adapter *adapter = pci_get_drvdata(pdev);
drivers/net/ethernet/emulex/benet/be_main.c
6029
be_vf_clear(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
6031
adapter->num_vfs = num_vfs;
drivers/net/ethernet/emulex/benet/be_main.c
6033
if (adapter->num_vfs == 0 && pci_vfs_assigned(pdev)) {
drivers/net/ethernet/emulex/benet/be_main.c
6047
if (skyhawk_chip(adapter) && !pci_num_vf(pdev)) {
drivers/net/ethernet/emulex/benet/be_main.c
6048
be_calculate_vf_res(adapter, adapter->num_vfs,
drivers/net/ethernet/emulex/benet/be_main.c
6050
status = be_cmd_set_sriov_config(adapter, adapter->pool_res,
drivers/net/ethernet/emulex/benet/be_main.c
6051
adapter->num_vfs, &vft_res);
drivers/net/ethernet/emulex/benet/be_main.c
6057
status = be_get_resources(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
6063
status = be_update_queues(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
6068
if (adapter->num_vfs)
drivers/net/ethernet/emulex/benet/be_main.c
6069
status = be_vf_setup(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
6072
return adapter->num_vfs;
drivers/net/ethernet/emulex/benet/be_main.c
613
static void populate_erx_stats(struct be_adapter *adapter,
drivers/net/ethernet/emulex/benet/be_main.c
616
if (!BEx_chip(adapter))
drivers/net/ethernet/emulex/benet/be_main.c
626
void be_parse_stats(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_main.c
628
struct be_erx_stats_v2 *erx = be_erx_stats_from_cmd(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
633
if (lancer_chip(adapter)) {
drivers/net/ethernet/emulex/benet/be_main.c
634
populate_lancer_stats(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
636
if (BE2_chip(adapter))
drivers/net/ethernet/emulex/benet/be_main.c
637
populate_be_v0_stats(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
638
else if (BE3_chip(adapter))
drivers/net/ethernet/emulex/benet/be_main.c
640
populate_be_v1_stats(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
642
populate_be_v2_stats(adapter);
drivers/net/ethernet/emulex/benet/be_main.c
645
for_all_rx_queues(adapter, rxo, i) {
drivers/net/ethernet/emulex/benet/be_main.c
647
populate_erx_stats(adapter, rxo, erx_stat);
drivers/net/ethernet/emulex/benet/be_main.c
655
struct be_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/emulex/benet/be_main.c
656
struct be_drv_stats *drvs = &adapter->drv_stats;
drivers/net/ethernet/emulex/benet/be_main.c
663
for_all_rx_queues(adapter, rxo, i) {
drivers/net/ethernet/emulex/benet/be_main.c
678
for_all_tx_queues(adapter, txo, i) {
drivers/net/ethernet/emulex/benet/be_main.c
719
void be_link_status_update(struct be_adapter *adapter, u8 link_status)
drivers/net/ethernet/emulex/benet/be_main.c
721
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/emulex/benet/be_main.c
723
if (!(adapter->flags & BE_FLAGS_LINK_STATUS_INIT)) {
drivers/net/ethernet/emulex/benet/be_main.c
725
adapter->flags |= BE_FLAGS_LINK_STATUS_INIT;
drivers/net/ethernet/emulex/benet/be_main.c
786
static inline u16 be_get_tx_vlan_tag(struct be_adapter *adapter,
drivers/net/ethernet/emulex/benet/be_main.c
795
if (!(adapter->vlan_prio_bmap & (1 << vlan_prio)))
drivers/net/ethernet/emulex/benet/be_main.c
797
adapter->recommended_prio_bits;
drivers/net/ethernet/emulex/benet/be_main.c
830
static void be_get_wrb_params_from_skb(struct be_adapter *adapter,
drivers/net/ethernet/emulex/benet/be_main.c
839
if (skb_is_gso_v6(skb) && !lancer_chip(adapter))
drivers/net/ethernet/emulex/benet/be_main.c
856
wrb_params->vlan_tag = be_get_tx_vlan_tag(adapter, skb);
drivers/net/ethernet/emulex/benet/be_main.c
862
static void wrb_fill_hdr(struct be_adapter *adapter,
drivers/net/ethernet/emulex/benet/be_main.c
926
static void be_tx_setup_wrb_hdr(struct be_adapter *adapter,
drivers/net/ethernet/emulex/benet/be_main.c
935
wrb_fill_hdr(adapter, hdr, wrb_params, skb);
drivers/net/ethernet/emulex/benet/be_main.c
962
static void be_xmit_restore(struct be_adapter *adapter,
drivers/net/ethernet/emulex/benet/be_main.c
970
dev = &adapter->pdev->dev;
drivers/net/ethernet/emulex/benet/be_main.c
990
static u32 be_xmit_enqueue(struct be_adapter *adapter, struct be_tx_obj *txo,
drivers/net/ethernet/emulex/benet/be_main.c
995
struct device *dev = &adapter->pdev->dev;
drivers/net/ethernet/emulex/benet/be_roce.c
100
if (ocrdma_drv && ocrdma_drv->remove && adapter->ocrdma_dev)
drivers/net/ethernet/emulex/benet/be_roce.c
101
ocrdma_drv->remove(adapter->ocrdma_dev);
drivers/net/ethernet/emulex/benet/be_roce.c
102
adapter->ocrdma_dev = NULL;
drivers/net/ethernet/emulex/benet/be_roce.c
105
void be_roce_dev_remove(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_roce.c
107
if (be_roce_supported(adapter)) {
drivers/net/ethernet/emulex/benet/be_roce.c
109
_be_roce_dev_remove(adapter);
drivers/net/ethernet/emulex/benet/be_roce.c
110
list_del(&adapter->entry);
drivers/net/ethernet/emulex/benet/be_roce.c
115
void be_roce_dev_shutdown(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_roce.c
117
if (be_roce_supported(adapter)) {
drivers/net/ethernet/emulex/benet/be_roce.c
119
if (ocrdma_drv && adapter->ocrdma_dev &&
drivers/net/ethernet/emulex/benet/be_roce.c
121
ocrdma_drv->state_change_handler(adapter->ocrdma_dev,
drivers/net/ethernet/emulex/benet/be_roce.c
26
static void _be_roce_dev_add(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_roce.c
30
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/emulex/benet/be_roce.c
42
if (!msix_enabled(adapter))
drivers/net/ethernet/emulex/benet/be_roce.c
51
dev_info.pdev = adapter->pdev;
drivers/net/ethernet/emulex/benet/be_roce.c
52
dev_info.db = adapter->db;
drivers/net/ethernet/emulex/benet/be_roce.c
53
dev_info.unmapped_db = adapter->roce_db.io_addr;
drivers/net/ethernet/emulex/benet/be_roce.c
54
dev_info.db_page_size = adapter->roce_db.size;
drivers/net/ethernet/emulex/benet/be_roce.c
55
dev_info.db_total_size = adapter->roce_db.total_size;
drivers/net/ethernet/emulex/benet/be_roce.c
56
dev_info.netdev = adapter->netdev;
drivers/net/ethernet/emulex/benet/be_roce.c
57
memcpy(dev_info.mac_addr, adapter->netdev->dev_addr, ETH_ALEN);
drivers/net/ethernet/emulex/benet/be_roce.c
58
dev_info.dev_family = adapter->sli_family;
drivers/net/ethernet/emulex/benet/be_roce.c
59
if (msix_enabled(adapter)) {
drivers/net/ethernet/emulex/benet/be_roce.c
63
num_vec = adapter->num_msix_vec + adapter->num_msix_roce_vec;
drivers/net/ethernet/emulex/benet/be_roce.c
70
dev_info.msix.start_vector = adapter->num_evt_qs;
drivers/net/ethernet/emulex/benet/be_roce.c
73
adapter->msix_entries[i].vector;
drivers/net/ethernet/emulex/benet/be_roce.c
79
adapter->ocrdma_dev = ocrdma_drv->add(&dev_info);
drivers/net/ethernet/emulex/benet/be_roce.c
82
void be_roce_dev_add(struct be_adapter *adapter)
drivers/net/ethernet/emulex/benet/be_roce.c
84
if (be_roce_supported(adapter)) {
drivers/net/ethernet/emulex/benet/be_roce.c
85
INIT_LIST_HEAD(&adapter->entry);
drivers/net/ethernet/emulex/benet/be_roce.c
87
list_add_tail(&adapter->entry, &be_adapter_list);
drivers/net/ethernet/emulex/benet/be_roce.c
93
_be_roce_dev_add(adapter);
drivers/net/ethernet/emulex/benet/be_roce.c
98
static void _be_roce_dev_remove(struct be_adapter *adapter)
drivers/net/ethernet/engleder/tsnep.h
116
struct tsnep_adapter *adapter;
drivers/net/ethernet/engleder/tsnep.h
145
struct tsnep_adapter *adapter;
drivers/net/ethernet/engleder/tsnep.h
204
int tsnep_ptp_init(struct tsnep_adapter *adapter);
drivers/net/ethernet/engleder/tsnep.h
205
void tsnep_ptp_cleanup(struct tsnep_adapter *adapter);
drivers/net/ethernet/engleder/tsnep.h
212
int tsnep_tc_init(struct tsnep_adapter *adapter);
drivers/net/ethernet/engleder/tsnep.h
213
void tsnep_tc_cleanup(struct tsnep_adapter *adapter);
drivers/net/ethernet/engleder/tsnep.h
217
int tsnep_rxnfc_init(struct tsnep_adapter *adapter);
drivers/net/ethernet/engleder/tsnep.h
218
void tsnep_rxnfc_cleanup(struct tsnep_adapter *adapter);
drivers/net/ethernet/engleder/tsnep.h
219
int tsnep_rxnfc_get_rule(struct tsnep_adapter *adapter,
drivers/net/ethernet/engleder/tsnep.h
221
int tsnep_rxnfc_get_all(struct tsnep_adapter *adapter,
drivers/net/ethernet/engleder/tsnep.h
224
int tsnep_rxnfc_add_rule(struct tsnep_adapter *adapter,
drivers/net/ethernet/engleder/tsnep.h
226
int tsnep_rxnfc_del_rule(struct tsnep_adapter *adapter,
drivers/net/ethernet/engleder/tsnep.h
229
int tsnep_xdp_setup_prog(struct tsnep_adapter *adapter, struct bpf_prog *prog,
drivers/net/ethernet/engleder/tsnep.h
231
int tsnep_xdp_setup_pool(struct tsnep_adapter *adapter,
drivers/net/ethernet/engleder/tsnep.h
258
void tsnep_get_system_time(struct tsnep_adapter *adapter, u64 *time);
drivers/net/ethernet/engleder/tsnep.h
81
struct tsnep_adapter *adapter;
drivers/net/ethernet/engleder/tsnep_ethtool.c
100
max(adapter->num_tx_queues, adapter->num_rx_queues) - 1;
drivers/net/ethernet/engleder/tsnep_ethtool.c
110
struct tsnep_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/engleder/tsnep_ethtool.c
114
memcpy_fromio(p, adapter->addr, regs->len);
drivers/net/ethernet/engleder/tsnep_ethtool.c
119
struct tsnep_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/engleder/tsnep_ethtool.c
121
return adapter->msg_enable;
drivers/net/ethernet/engleder/tsnep_ethtool.c
126
struct tsnep_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/engleder/tsnep_ethtool.c
128
adapter->msg_enable = data;
drivers/net/ethernet/engleder/tsnep_ethtool.c
134
struct tsnep_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/engleder/tsnep_ethtool.c
135
int rx_count = adapter->num_rx_queues;
drivers/net/ethernet/engleder/tsnep_ethtool.c
136
int tx_count = adapter->num_tx_queues;
drivers/net/ethernet/engleder/tsnep_ethtool.c
170
struct tsnep_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/engleder/tsnep_ethtool.c
171
int rx_count = adapter->num_rx_queues;
drivers/net/ethernet/engleder/tsnep_ethtool.c
172
int tx_count = adapter->num_tx_queues;
drivers/net/ethernet/engleder/tsnep_ethtool.c
180
for (i = 0; i < adapter->num_rx_queues; i++) {
drivers/net/ethernet/engleder/tsnep_ethtool.c
181
tsnep_stats.rx_packets += adapter->rx[i].packets;
drivers/net/ethernet/engleder/tsnep_ethtool.c
182
tsnep_stats.rx_bytes += adapter->rx[i].bytes;
drivers/net/ethernet/engleder/tsnep_ethtool.c
183
tsnep_stats.rx_dropped += adapter->rx[i].dropped;
drivers/net/ethernet/engleder/tsnep_ethtool.c
184
tsnep_stats.rx_multicast += adapter->rx[i].multicast;
drivers/net/ethernet/engleder/tsnep_ethtool.c
185
tsnep_stats.rx_alloc_failed += adapter->rx[i].alloc_failed;
drivers/net/ethernet/engleder/tsnep_ethtool.c
187
reg = ioread32(adapter->addr + ECM_STAT);
drivers/net/ethernet/engleder/tsnep_ethtool.c
194
for (i = 0; i < adapter->num_tx_queues; i++) {
drivers/net/ethernet/engleder/tsnep_ethtool.c
195
tsnep_stats.tx_packets += adapter->tx[i].packets;
drivers/net/ethernet/engleder/tsnep_ethtool.c
196
tsnep_stats.tx_bytes += adapter->tx[i].bytes;
drivers/net/ethernet/engleder/tsnep_ethtool.c
197
tsnep_stats.tx_dropped += adapter->tx[i].dropped;
drivers/net/ethernet/engleder/tsnep_ethtool.c
204
tsnep_rx_queue_stats.rx_packets = adapter->rx[i].packets;
drivers/net/ethernet/engleder/tsnep_ethtool.c
205
tsnep_rx_queue_stats.rx_bytes = adapter->rx[i].bytes;
drivers/net/ethernet/engleder/tsnep_ethtool.c
206
tsnep_rx_queue_stats.rx_dropped = adapter->rx[i].dropped;
drivers/net/ethernet/engleder/tsnep_ethtool.c
207
tsnep_rx_queue_stats.rx_multicast = adapter->rx[i].multicast;
drivers/net/ethernet/engleder/tsnep_ethtool.c
209
adapter->rx[i].alloc_failed;
drivers/net/ethernet/engleder/tsnep_ethtool.c
210
reg = ioread32(adapter->addr + TSNEP_QUEUE(i) +
drivers/net/ethernet/engleder/tsnep_ethtool.c
231
tsnep_tx_queue_stats.tx_packets += adapter->tx[i].packets;
drivers/net/ethernet/engleder/tsnep_ethtool.c
232
tsnep_tx_queue_stats.tx_bytes += adapter->tx[i].bytes;
drivers/net/ethernet/engleder/tsnep_ethtool.c
233
tsnep_tx_queue_stats.tx_dropped += adapter->tx[i].dropped;
drivers/net/ethernet/engleder/tsnep_ethtool.c
242
struct tsnep_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/engleder/tsnep_ethtool.c
248
rx_count = adapter->num_rx_queues;
drivers/net/ethernet/engleder/tsnep_ethtool.c
249
tx_count = adapter->num_tx_queues;
drivers/net/ethernet/engleder/tsnep_ethtool.c
262
struct tsnep_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/engleder/tsnep_ethtool.c
264
return adapter->num_rx_queues;
drivers/net/ethernet/engleder/tsnep_ethtool.c
270
struct tsnep_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/engleder/tsnep_ethtool.c
274
cmd->rule_cnt = adapter->rxnfc_count;
drivers/net/ethernet/engleder/tsnep_ethtool.c
275
cmd->data = adapter->rxnfc_max;
drivers/net/ethernet/engleder/tsnep_ethtool.c
279
return tsnep_rxnfc_get_rule(adapter, cmd);
drivers/net/ethernet/engleder/tsnep_ethtool.c
281
return tsnep_rxnfc_get_all(adapter, cmd, rule_locs);
drivers/net/ethernet/engleder/tsnep_ethtool.c
290
struct tsnep_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/engleder/tsnep_ethtool.c
294
return tsnep_rxnfc_add_rule(adapter, cmd);
drivers/net/ethernet/engleder/tsnep_ethtool.c
296
return tsnep_rxnfc_del_rule(adapter, cmd);
drivers/net/ethernet/engleder/tsnep_ethtool.c
305
struct tsnep_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/engleder/tsnep_ethtool.c
307
ch->max_combined = adapter->num_queues;
drivers/net/ethernet/engleder/tsnep_ethtool.c
308
ch->combined_count = adapter->num_queues;
drivers/net/ethernet/engleder/tsnep_ethtool.c
314
struct tsnep_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/engleder/tsnep_ethtool.c
321
if (adapter->ptp_clock)
drivers/net/ethernet/engleder/tsnep_ethtool.c
322
info->phc_index = ptp_clock_index(adapter->ptp_clock);
drivers/net/ethernet/engleder/tsnep_ethtool.c
332
static struct tsnep_queue *tsnep_get_queue_with_tx(struct tsnep_adapter *adapter,
drivers/net/ethernet/engleder/tsnep_ethtool.c
337
for (i = 0; i < adapter->num_queues; i++) {
drivers/net/ethernet/engleder/tsnep_ethtool.c
338
if (adapter->queue[i].tx) {
drivers/net/ethernet/engleder/tsnep_ethtool.c
340
return &adapter->queue[i];
drivers/net/ethernet/engleder/tsnep_ethtool.c
349
static struct tsnep_queue *tsnep_get_queue_with_rx(struct tsnep_adapter *adapter,
drivers/net/ethernet/engleder/tsnep_ethtool.c
354
for (i = 0; i < adapter->num_queues; i++) {
drivers/net/ethernet/engleder/tsnep_ethtool.c
355
if (adapter->queue[i].rx) {
drivers/net/ethernet/engleder/tsnep_ethtool.c
357
return &adapter->queue[i];
drivers/net/ethernet/engleder/tsnep_ethtool.c
371
struct tsnep_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/engleder/tsnep_ethtool.c
374
queue = tsnep_get_queue_with_rx(adapter, 0);
drivers/net/ethernet/engleder/tsnep_ethtool.c
378
queue = tsnep_get_queue_with_tx(adapter, 0);
drivers/net/ethernet/engleder/tsnep_ethtool.c
390
struct tsnep_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/engleder/tsnep_ethtool.c
394
for (i = 0; i < adapter->num_queues; i++) {
drivers/net/ethernet/engleder/tsnep_ethtool.c
396
if (adapter->queue[i].rx)
drivers/net/ethernet/engleder/tsnep_ethtool.c
397
retval = tsnep_set_irq_coalesce(&adapter->queue[i],
drivers/net/ethernet/engleder/tsnep_ethtool.c
400
retval = tsnep_set_irq_coalesce(&adapter->queue[i],
drivers/net/ethernet/engleder/tsnep_ethtool.c
413
struct tsnep_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/engleder/tsnep_ethtool.c
417
if (queue >= max(adapter->num_tx_queues, adapter->num_rx_queues))
drivers/net/ethernet/engleder/tsnep_ethtool.c
420
queue_with_rx = tsnep_get_queue_with_rx(adapter, queue);
drivers/net/ethernet/engleder/tsnep_ethtool.c
424
queue_with_tx = tsnep_get_queue_with_tx(adapter, queue);
drivers/net/ethernet/engleder/tsnep_ethtool.c
435
struct tsnep_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/engleder/tsnep_ethtool.c
440
if (queue >= max(adapter->num_tx_queues, adapter->num_rx_queues))
drivers/net/ethernet/engleder/tsnep_ethtool.c
443
queue_with_rx = tsnep_get_queue_with_rx(adapter, queue);
drivers/net/ethernet/engleder/tsnep_ethtool.c
451
queue_with_tx = tsnep_get_queue_with_tx(adapter, queue);
drivers/net/ethernet/engleder/tsnep_ethtool.c
81
struct tsnep_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/engleder/tsnep_ethtool.c
84
strscpy(drvinfo->bus_info, dev_name(&adapter->pdev->dev),
drivers/net/ethernet/engleder/tsnep_ethtool.c
90
struct tsnep_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/engleder/tsnep_main.c
101
if ((active & adapter->queue[0].irq_mask) != 0) {
drivers/net/ethernet/engleder/tsnep_main.c
102
if (napi_schedule_prep(&adapter->queue[0].napi)) {
drivers/net/ethernet/engleder/tsnep_main.c
103
tsnep_disable_irq(adapter, adapter->queue[0].irq_mask);
drivers/net/ethernet/engleder/tsnep_main.c
105
__napi_schedule(&adapter->queue[0].napi);
drivers/net/ethernet/engleder/tsnep_main.c
118
tsnep_disable_irq(queue->adapter, queue->irq_mask);
drivers/net/ethernet/engleder/tsnep_main.c
1301
if (!tsnep_xdp_xmit_back(rx->adapter, xdp, tx_nq, tx, false))
drivers/net/ethernet/engleder/tsnep_main.c
1306
if (xdp_do_redirect(rx->adapter->netdev, xdp, prog) < 0)
drivers/net/ethernet/engleder/tsnep_main.c
1311
bpf_warn_invalid_xdp_action(rx->adapter->netdev, prog, act);
drivers/net/ethernet/engleder/tsnep_main.c
1315
trace_xdp_exception(rx->adapter->netdev, prog, act);
drivers/net/ethernet/engleder/tsnep_main.c
1341
if (xdp_do_redirect(rx->adapter->netdev, xdp, prog) < 0)
drivers/net/ethernet/engleder/tsnep_main.c
1351
if (!tsnep_xdp_xmit_back(rx->adapter, xdp, tx_nq, tx, true))
drivers/net/ethernet/engleder/tsnep_main.c
1356
bpf_warn_invalid_xdp_action(rx->adapter->netdev, prog, act);
drivers/net/ethernet/engleder/tsnep_main.c
1360
trace_xdp_exception(rx->adapter->netdev, prog, act);
drivers/net/ethernet/engleder/tsnep_main.c
1368
static void tsnep_finalize_xdp(struct tsnep_adapter *adapter, int status,
drivers/net/ethernet/engleder/tsnep_main.c
1394
if (rx->adapter->hwtstamp_config.rx_filter == HWTSTAMP_FILTER_ALL) {
drivers/net/ethernet/engleder/tsnep_main.c
1407
skb->protocol = eth_type_trans(skb, rx->adapter->netdev);
drivers/net/ethernet/engleder/tsnep_main.c
1437
struct device *dmadev = rx->adapter->dmadev;
drivers/net/ethernet/engleder/tsnep_main.c
1451
prog = READ_ONCE(rx->adapter->xdp_prog);
drivers/net/ethernet/engleder/tsnep_main.c
1453
tx_nq = netdev_get_tx_queue(rx->adapter->netdev,
drivers/net/ethernet/engleder/tsnep_main.c
1455
tx = &rx->adapter->tx[rx->tx_queue_index];
drivers/net/ethernet/engleder/tsnep_main.c
1532
tsnep_finalize_xdp(rx->adapter, xdp_status, tx_nq, tx);
drivers/net/ethernet/engleder/tsnep_main.c
155
struct tsnep_adapter *adapter = bus->priv;
drivers/net/ethernet/engleder/tsnep_main.c
1554
prog = READ_ONCE(rx->adapter->xdp_prog);
drivers/net/ethernet/engleder/tsnep_main.c
1556
tx_nq = netdev_get_tx_queue(rx->adapter->netdev,
drivers/net/ethernet/engleder/tsnep_main.c
1558
tx = &rx->adapter->tx[rx->tx_queue_index];
drivers/net/ethernet/engleder/tsnep_main.c
160
if (!adapter->suppress_preamble)
drivers/net/ethernet/engleder/tsnep_main.c
164
iowrite32(md, adapter->addr + ECM_MD_CONTROL);
drivers/net/ethernet/engleder/tsnep_main.c
1641
tsnep_finalize_xdp(rx->adapter, xdp_status, tx_nq, tx);
drivers/net/ethernet/engleder/tsnep_main.c
165
retval = readl_poll_timeout_atomic(adapter->addr + ECM_MD_STATUS, md,
drivers/net/ethernet/engleder/tsnep_main.c
176
struct tsnep_adapter *adapter = bus->priv;
drivers/net/ethernet/engleder/tsnep_main.c
181
if (!adapter->suppress_preamble)
drivers/net/ethernet/engleder/tsnep_main.c
1834
tsnep_enable_irq(queue->adapter, queue->irq_mask);
drivers/net/ethernet/engleder/tsnep_main.c
1841
tsnep_disable_irq(queue->adapter, queue->irq_mask);
drivers/net/ethernet/engleder/tsnep_main.c
1851
const char *name = netdev_name(queue->adapter->netdev);
drivers/net/ethernet/engleder/tsnep_main.c
1859
dev = queue->adapter;
drivers/net/ethernet/engleder/tsnep_main.c
186
iowrite32(md, adapter->addr + ECM_MD_CONTROL);
drivers/net/ethernet/engleder/tsnep_main.c
187
retval = readl_poll_timeout_atomic(adapter->addr + ECM_MD_STATUS, md,
drivers/net/ethernet/engleder/tsnep_main.c
1891
dev = queue->adapter;
drivers/net/ethernet/engleder/tsnep_main.c
1915
static int tsnep_queue_open(struct tsnep_adapter *adapter,
drivers/net/ethernet/engleder/tsnep_main.c
1922
netif_napi_add(adapter->netdev, &queue->napi, tsnep_poll);
drivers/net/ethernet/engleder/tsnep_main.c
1928
else if (rx->queue_index < adapter->num_tx_queues)
drivers/net/ethernet/engleder/tsnep_main.c
1937
retval = xdp_rxq_info_reg(&rx->xdp_rxq, adapter->netdev,
drivers/net/ethernet/engleder/tsnep_main.c
1946
retval = xdp_rxq_info_reg(&rx->xdp_rxq_zc, adapter->netdev,
drivers/net/ethernet/engleder/tsnep_main.c
195
static void tsnep_set_link_mode(struct tsnep_adapter *adapter)
drivers/net/ethernet/engleder/tsnep_main.c
1961
netif_err(adapter, drv, adapter->netdev,
drivers/net/ethernet/engleder/tsnep_main.c
1976
struct tsnep_adapter *adapter = queue->adapter;
drivers/net/ethernet/engleder/tsnep_main.c
1980
tsnep_enable_irq(adapter, queue->irq_mask);
drivers/net/ethernet/engleder/tsnep_main.c
1983
netif_queue_set_napi(adapter->netdev, queue->tx->queue_index,
drivers/net/ethernet/engleder/tsnep_main.c
1989
netif_queue_set_napi(adapter->netdev, queue->rx->queue_index,
drivers/net/ethernet/engleder/tsnep_main.c
199
switch (adapter->phydev->speed) {
drivers/net/ethernet/engleder/tsnep_main.c
1997
struct tsnep_adapter *adapter = queue->adapter;
drivers/net/ethernet/engleder/tsnep_main.c
2000
netif_queue_set_napi(adapter->netdev, queue->rx->queue_index,
drivers/net/ethernet/engleder/tsnep_main.c
2005
netif_queue_set_napi(adapter->netdev, queue->tx->queue_index,
drivers/net/ethernet/engleder/tsnep_main.c
2010
tsnep_disable_irq(adapter, queue->irq_mask);
drivers/net/ethernet/engleder/tsnep_main.c
2021
struct tsnep_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/engleder/tsnep_main.c
2024
for (i = 0; i < adapter->num_queues; i++) {
drivers/net/ethernet/engleder/tsnep_main.c
2025
if (adapter->queue[i].tx) {
drivers/net/ethernet/engleder/tsnep_main.c
2026
retval = tsnep_tx_open(adapter->queue[i].tx);
drivers/net/ethernet/engleder/tsnep_main.c
2030
if (adapter->queue[i].rx) {
drivers/net/ethernet/engleder/tsnep_main.c
2031
retval = tsnep_rx_open(adapter->queue[i].rx);
drivers/net/ethernet/engleder/tsnep_main.c
2036
retval = tsnep_queue_open(adapter, &adapter->queue[i], i == 0);
drivers/net/ethernet/engleder/tsnep_main.c
2041
retval = netif_set_real_num_tx_queues(adapter->netdev,
drivers/net/ethernet/engleder/tsnep_main.c
2042
adapter->num_tx_queues);
drivers/net/ethernet/engleder/tsnep_main.c
2045
retval = netif_set_real_num_rx_queues(adapter->netdev,
drivers/net/ethernet/engleder/tsnep_main.c
2046
adapter->num_rx_queues);
drivers/net/ethernet/engleder/tsnep_main.c
2050
tsnep_enable_irq(adapter, ECM_INT_LINK);
drivers/net/ethernet/engleder/tsnep_main.c
2051
retval = tsnep_phy_open(adapter);
drivers/net/ethernet/engleder/tsnep_main.c
2055
for (i = 0; i < adapter->num_queues; i++)
drivers/net/ethernet/engleder/tsnep_main.c
2056
tsnep_queue_enable(&adapter->queue[i]);
drivers/net/ethernet/engleder/tsnep_main.c
2061
tsnep_disable_irq(adapter, ECM_INT_LINK);
drivers/net/ethernet/engleder/tsnep_main.c
2063
for (i = 0; i < adapter->num_queues; i++) {
drivers/net/ethernet/engleder/tsnep_main.c
2064
tsnep_queue_close(&adapter->queue[i], i == 0);
drivers/net/ethernet/engleder/tsnep_main.c
2066
if (adapter->queue[i].rx)
drivers/net/ethernet/engleder/tsnep_main.c
2067
tsnep_rx_close(adapter->queue[i].rx);
drivers/net/ethernet/engleder/tsnep_main.c
2068
if (adapter->queue[i].tx)
drivers/net/ethernet/engleder/tsnep_main.c
2069
tsnep_tx_close(adapter->queue[i].tx);
drivers/net/ethernet/engleder/tsnep_main.c
2076
struct tsnep_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/engleder/tsnep_main.c
2079
tsnep_disable_irq(adapter, ECM_INT_LINK);
drivers/net/ethernet/engleder/tsnep_main.c
2080
tsnep_phy_close(adapter);
drivers/net/ethernet/engleder/tsnep_main.c
2082
for (i = 0; i < adapter->num_queues; i++) {
drivers/net/ethernet/engleder/tsnep_main.c
2083
tsnep_queue_disable(&adapter->queue[i]);
drivers/net/ethernet/engleder/tsnep_main.c
2085
tsnep_queue_close(&adapter->queue[i], i == 0);
drivers/net/ethernet/engleder/tsnep_main.c
2087
if (adapter->queue[i].rx)
drivers/net/ethernet/engleder/tsnep_main.c
2088
tsnep_rx_close(adapter->queue[i].rx);
drivers/net/ethernet/engleder/tsnep_main.c
2089
if (adapter->queue[i].tx)
drivers/net/ethernet/engleder/tsnep_main.c
2090
tsnep_tx_close(adapter->queue[i].tx);
drivers/net/ethernet/engleder/tsnep_main.c
2098
bool running = netif_running(queue->adapter->netdev);
drivers/net/ethernet/engleder/tsnep_main.c
210
iowrite32(mode, adapter->addr + ECM_STATUS);
drivers/net/ethernet/engleder/tsnep_main.c
2136
bool running = netif_running(queue->adapter->netdev);
drivers/net/ethernet/engleder/tsnep_main.c
215
struct tsnep_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/engleder/tsnep_main.c
2160
struct tsnep_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/engleder/tsnep_main.c
2163
if (queue_mapping >= adapter->num_tx_queues)
drivers/net/ethernet/engleder/tsnep_main.c
2166
return tsnep_xmit_frame_ring(skb, &adapter->tx[queue_mapping]);
drivers/net/ethernet/engleder/tsnep_main.c
2171
struct tsnep_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/engleder/tsnep_main.c
2182
iowrite16(rx_filter, adapter->addr + TSNEP_RX_FILTER);
drivers/net/ethernet/engleder/tsnep_main.c
2188
struct tsnep_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/engleder/tsnep_main.c
219
tsnep_set_link_mode(adapter);
drivers/net/ethernet/engleder/tsnep_main.c
2193
for (i = 0; i < adapter->num_tx_queues; i++) {
drivers/net/ethernet/engleder/tsnep_main.c
2194
stats->tx_packets += adapter->tx[i].packets;
drivers/net/ethernet/engleder/tsnep_main.c
2195
stats->tx_bytes += adapter->tx[i].bytes;
drivers/net/ethernet/engleder/tsnep_main.c
2196
stats->tx_dropped += adapter->tx[i].dropped;
drivers/net/ethernet/engleder/tsnep_main.c
2198
for (i = 0; i < adapter->num_rx_queues; i++) {
drivers/net/ethernet/engleder/tsnep_main.c
2199
stats->rx_packets += adapter->rx[i].packets;
drivers/net/ethernet/engleder/tsnep_main.c
2200
stats->rx_bytes += adapter->rx[i].bytes;
drivers/net/ethernet/engleder/tsnep_main.c
2201
stats->rx_dropped += adapter->rx[i].dropped;
drivers/net/ethernet/engleder/tsnep_main.c
2202
stats->multicast += adapter->rx[i].multicast;
drivers/net/ethernet/engleder/tsnep_main.c
2204
reg = ioread32(adapter->addr + TSNEP_QUEUE(i) +
drivers/net/ethernet/engleder/tsnep_main.c
2222
reg = ioread32(adapter->addr + ECM_STAT);
drivers/net/ethernet/engleder/tsnep_main.c
2232
static void tsnep_mac_set_address(struct tsnep_adapter *adapter, u8 *addr)
drivers/net/ethernet/engleder/tsnep_main.c
2234
iowrite32(*(u32 *)addr, adapter->addr + TSNEP_MAC_ADDRESS_LOW);
drivers/net/ethernet/engleder/tsnep_main.c
2236
adapter->addr + TSNEP_MAC_ADDRESS_HIGH);
drivers/net/ethernet/engleder/tsnep_main.c
2238
ether_addr_copy(adapter->mac_address, addr);
drivers/net/ethernet/engleder/tsnep_main.c
2239
netif_info(adapter, drv, adapter->netdev, "MAC address set to %pM\n",
drivers/net/ethernet/engleder/tsnep_main.c
224
static int tsnep_phy_loopback(struct tsnep_adapter *adapter, bool enable)
drivers/net/ethernet/engleder/tsnep_main.c
2245
struct tsnep_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/engleder/tsnep_main.c
2253
tsnep_mac_set_address(adapter, sock_addr->sa_data);
drivers/net/ethernet/engleder/tsnep_main.c
2261
struct tsnep_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/engleder/tsnep_main.c
2268
retval = tsnep_phy_loopback(adapter, enable);
drivers/net/ethernet/engleder/tsnep_main.c
229
if (adapter->phydev->autoneg == AUTONEG_DISABLE &&
drivers/net/ethernet/engleder/tsnep_main.c
2291
struct tsnep_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/engleder/tsnep_main.c
2295
return tsnep_xdp_setup_prog(adapter, bpf->prog, bpf->extack);
drivers/net/ethernet/engleder/tsnep_main.c
2297
return tsnep_xdp_setup_pool(adapter, bpf->xsk.pool,
drivers/net/ethernet/engleder/tsnep_main.c
230
adapter->phydev->speed == SPEED_100)
drivers/net/ethernet/engleder/tsnep_main.c
2304
static struct tsnep_tx *tsnep_xdp_get_tx(struct tsnep_adapter *adapter, u32 cpu)
drivers/net/ethernet/engleder/tsnep_main.c
2309
while (cpu >= adapter->num_tx_queues)
drivers/net/ethernet/engleder/tsnep_main.c
2310
cpu -= adapter->num_tx_queues;
drivers/net/ethernet/engleder/tsnep_main.c
2312
return &adapter->tx[cpu];
drivers/net/ethernet/engleder/tsnep_main.c
2318
struct tsnep_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/engleder/tsnep_main.c
2328
tx = tsnep_xdp_get_tx(adapter, cpu);
drivers/net/ethernet/engleder/tsnep_main.c
2329
nq = netdev_get_tx_queue(adapter->netdev, tx->queue_index);
drivers/net/ethernet/engleder/tsnep_main.c
2356
struct tsnep_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/engleder/tsnep_main.c
2359
if (queue_id >= adapter->num_rx_queues ||
drivers/net/ethernet/engleder/tsnep_main.c
2360
queue_id >= adapter->num_tx_queues)
drivers/net/ethernet/engleder/tsnep_main.c
2363
queue = &adapter->queue[queue_id];
drivers/net/ethernet/engleder/tsnep_main.c
238
return phy_loopback(adapter->phydev, enable, speed);
drivers/net/ethernet/engleder/tsnep_main.c
2389
static int tsnep_mac_init(struct tsnep_adapter *adapter)
drivers/net/ethernet/engleder/tsnep_main.c
2396
iowrite16(0, adapter->addr + TSNEP_RX_FILTER);
drivers/net/ethernet/engleder/tsnep_main.c
2404
retval = of_get_mac_address(adapter->pdev->dev.of_node,
drivers/net/ethernet/engleder/tsnep_main.c
2405
adapter->mac_address);
drivers/net/ethernet/engleder/tsnep_main.c
2408
if (retval && !is_valid_ether_addr(adapter->mac_address)) {
drivers/net/ethernet/engleder/tsnep_main.c
2409
*(u32 *)adapter->mac_address =
drivers/net/ethernet/engleder/tsnep_main.c
241
static int tsnep_phy_open(struct tsnep_adapter *adapter)
drivers/net/ethernet/engleder/tsnep_main.c
2410
ioread32(adapter->addr + TSNEP_MAC_ADDRESS_LOW);
drivers/net/ethernet/engleder/tsnep_main.c
2411
*(u16 *)(adapter->mac_address + sizeof(u32)) =
drivers/net/ethernet/engleder/tsnep_main.c
2412
ioread16(adapter->addr + TSNEP_MAC_ADDRESS_HIGH);
drivers/net/ethernet/engleder/tsnep_main.c
2413
if (!is_valid_ether_addr(adapter->mac_address))
drivers/net/ethernet/engleder/tsnep_main.c
2414
eth_random_addr(adapter->mac_address);
drivers/net/ethernet/engleder/tsnep_main.c
2417
tsnep_mac_set_address(adapter, adapter->mac_address);
drivers/net/ethernet/engleder/tsnep_main.c
2418
eth_hw_addr_set(adapter->netdev, adapter->mac_address);
drivers/net/ethernet/engleder/tsnep_main.c
2423
static int tsnep_mdio_init(struct tsnep_adapter *adapter)
drivers/net/ethernet/engleder/tsnep_main.c
2425
struct device_node *np = adapter->pdev->dev.of_node;
drivers/net/ethernet/engleder/tsnep_main.c
2433
adapter->suppress_preamble =
drivers/net/ethernet/engleder/tsnep_main.c
2437
adapter->mdiobus = devm_mdiobus_alloc(&adapter->pdev->dev);
drivers/net/ethernet/engleder/tsnep_main.c
2438
if (!adapter->mdiobus) {
drivers/net/ethernet/engleder/tsnep_main.c
2444
adapter->mdiobus->priv = (void *)adapter;
drivers/net/ethernet/engleder/tsnep_main.c
2445
adapter->mdiobus->parent = &adapter->pdev->dev;
drivers/net/ethernet/engleder/tsnep_main.c
2446
adapter->mdiobus->read = tsnep_mdiobus_read;
drivers/net/ethernet/engleder/tsnep_main.c
2447
adapter->mdiobus->write = tsnep_mdiobus_write;
drivers/net/ethernet/engleder/tsnep_main.c
2448
adapter->mdiobus->name = TSNEP "-mdiobus";
drivers/net/ethernet/engleder/tsnep_main.c
2449
snprintf(adapter->mdiobus->id, MII_BUS_ID_SIZE, "%s",
drivers/net/ethernet/engleder/tsnep_main.c
2450
adapter->pdev->name);
drivers/net/ethernet/engleder/tsnep_main.c
2453
adapter->mdiobus->phy_mask = 0x0000001;
drivers/net/ethernet/engleder/tsnep_main.c
2455
retval = of_mdiobus_register(adapter->mdiobus, np);
drivers/net/ethernet/engleder/tsnep_main.c
2463
static int tsnep_phy_init(struct tsnep_adapter *adapter)
drivers/net/ethernet/engleder/tsnep_main.c
2468
retval = of_get_phy_mode(adapter->pdev->dev.of_node,
drivers/net/ethernet/engleder/tsnep_main.c
2469
&adapter->phy_mode);
drivers/net/ethernet/engleder/tsnep_main.c
247
retval = phy_connect_direct(adapter->netdev, adapter->phydev,
drivers/net/ethernet/engleder/tsnep_main.c
2471
adapter->phy_mode = PHY_INTERFACE_MODE_GMII;
drivers/net/ethernet/engleder/tsnep_main.c
2473
phy_node = of_parse_phandle(adapter->pdev->dev.of_node, "phy-handle",
drivers/net/ethernet/engleder/tsnep_main.c
2475
adapter->phydev = of_phy_find_device(phy_node);
drivers/net/ethernet/engleder/tsnep_main.c
2477
if (!adapter->phydev && adapter->mdiobus)
drivers/net/ethernet/engleder/tsnep_main.c
2478
adapter->phydev = phy_find_first(adapter->mdiobus);
drivers/net/ethernet/engleder/tsnep_main.c
2479
if (!adapter->phydev)
drivers/net/ethernet/engleder/tsnep_main.c
2485
static int tsnep_queue_init(struct tsnep_adapter *adapter, int queue_count)
drivers/net/ethernet/engleder/tsnep_main.c
249
adapter->phy_mode);
drivers/net/ethernet/engleder/tsnep_main.c
2493
if (platform_irq_count(adapter->pdev) == 1)
drivers/net/ethernet/engleder/tsnep_main.c
2494
retval = platform_get_irq(adapter->pdev, 0);
drivers/net/ethernet/engleder/tsnep_main.c
2496
retval = platform_get_irq_byname(adapter->pdev, "mac");
drivers/net/ethernet/engleder/tsnep_main.c
2499
adapter->num_tx_queues = 1;
drivers/net/ethernet/engleder/tsnep_main.c
2500
adapter->num_rx_queues = 1;
drivers/net/ethernet/engleder/tsnep_main.c
2501
adapter->num_queues = 1;
drivers/net/ethernet/engleder/tsnep_main.c
2502
adapter->queue[0].adapter = adapter;
drivers/net/ethernet/engleder/tsnep_main.c
2503
adapter->queue[0].irq = retval;
drivers/net/ethernet/engleder/tsnep_main.c
2504
adapter->queue[0].tx = &adapter->tx[0];
drivers/net/ethernet/engleder/tsnep_main.c
2505
adapter->queue[0].tx->adapter = adapter;
drivers/net/ethernet/engleder/tsnep_main.c
2506
adapter->queue[0].tx->addr = adapter->addr + TSNEP_QUEUE(0);
drivers/net/ethernet/engleder/tsnep_main.c
2507
adapter->queue[0].tx->queue_index = 0;
drivers/net/ethernet/engleder/tsnep_main.c
2508
adapter->queue[0].rx = &adapter->rx[0];
drivers/net/ethernet/engleder/tsnep_main.c
2509
adapter->queue[0].rx->adapter = adapter;
drivers/net/ethernet/engleder/tsnep_main.c
2510
adapter->queue[0].rx->addr = adapter->addr + TSNEP_QUEUE(0);
drivers/net/ethernet/engleder/tsnep_main.c
2511
adapter->queue[0].rx->queue_index = 0;
drivers/net/ethernet/engleder/tsnep_main.c
2512
adapter->queue[0].irq_mask = irq_mask;
drivers/net/ethernet/engleder/tsnep_main.c
2513
adapter->queue[0].irq_delay_addr = adapter->addr + ECM_INT_DELAY;
drivers/net/ethernet/engleder/tsnep_main.c
2514
retval = tsnep_set_irq_coalesce(&adapter->queue[0],
drivers/net/ethernet/engleder/tsnep_main.c
2519
adapter->netdev->irq = adapter->queue[0].irq;
drivers/net/ethernet/engleder/tsnep_main.c
252
phydev = adapter->netdev->phydev;
drivers/net/ethernet/engleder/tsnep_main.c
2526
retval = platform_get_irq_byname_optional(adapter->pdev, name);
drivers/net/ethernet/engleder/tsnep_main.c
2530
adapter->num_tx_queues++;
drivers/net/ethernet/engleder/tsnep_main.c
2531
adapter->num_rx_queues++;
drivers/net/ethernet/engleder/tsnep_main.c
2532
adapter->num_queues++;
drivers/net/ethernet/engleder/tsnep_main.c
2533
adapter->queue[i].adapter = adapter;
drivers/net/ethernet/engleder/tsnep_main.c
2534
adapter->queue[i].irq = retval;
drivers/net/ethernet/engleder/tsnep_main.c
2535
adapter->queue[i].tx = &adapter->tx[i];
drivers/net/ethernet/engleder/tsnep_main.c
2536
adapter->queue[i].tx->adapter = adapter;
drivers/net/ethernet/engleder/tsnep_main.c
2537
adapter->queue[i].tx->addr = adapter->addr + TSNEP_QUEUE(i);
drivers/net/ethernet/engleder/tsnep_main.c
2538
adapter->queue[i].tx->queue_index = i;
drivers/net/ethernet/engleder/tsnep_main.c
2539
adapter->queue[i].rx = &adapter->rx[i];
drivers/net/ethernet/engleder/tsnep_main.c
2540
adapter->queue[i].rx->adapter = adapter;
drivers/net/ethernet/engleder/tsnep_main.c
2541
adapter->queue[i].rx->addr = adapter->addr + TSNEP_QUEUE(i);
drivers/net/ethernet/engleder/tsnep_main.c
2542
adapter->queue[i].rx->queue_index = i;
drivers/net/ethernet/engleder/tsnep_main.c
2543
adapter->queue[i].irq_mask =
drivers/net/ethernet/engleder/tsnep_main.c
2545
adapter->queue[i].irq_delay_addr =
drivers/net/ethernet/engleder/tsnep_main.c
2546
adapter->addr + ECM_INT_DELAY + ECM_INT_DELAY_OFFSET * i;
drivers/net/ethernet/engleder/tsnep_main.c
2547
retval = tsnep_set_irq_coalesce(&adapter->queue[i],
drivers/net/ethernet/engleder/tsnep_main.c
2558
struct tsnep_adapter *adapter;
drivers/net/ethernet/engleder/tsnep_main.c
2573
adapter = netdev_priv(netdev);
drivers/net/ethernet/engleder/tsnep_main.c
2574
platform_set_drvdata(pdev, adapter);
drivers/net/ethernet/engleder/tsnep_main.c
2575
adapter->pdev = pdev;
drivers/net/ethernet/engleder/tsnep_main.c
2576
adapter->dmadev = &pdev->dev;
drivers/net/ethernet/engleder/tsnep_main.c
2577
adapter->netdev = netdev;
drivers/net/ethernet/engleder/tsnep_main.c
2578
adapter->msg_enable = NETIF_MSG_DRV | NETIF_MSG_PROBE |
drivers/net/ethernet/engleder/tsnep_main.c
2585
mutex_init(&adapter->gate_control_lock);
drivers/net/ethernet/engleder/tsnep_main.c
2586
mutex_init(&adapter->rxnfc_lock);
drivers/net/ethernet/engleder/tsnep_main.c
2587
INIT_LIST_HEAD(&adapter->rxnfc_rules);
drivers/net/ethernet/engleder/tsnep_main.c
2589
adapter->addr = devm_platform_get_and_ioremap_resource(pdev, 0, &io);
drivers/net/ethernet/engleder/tsnep_main.c
2590
if (IS_ERR(adapter->addr))
drivers/net/ethernet/engleder/tsnep_main.c
2591
return PTR_ERR(adapter->addr);
drivers/net/ethernet/engleder/tsnep_main.c
2595
type = ioread32(adapter->addr + ECM_TYPE);
drivers/net/ethernet/engleder/tsnep_main.c
2599
adapter->gate_control = type & ECM_GATE_CONTROL;
drivers/net/ethernet/engleder/tsnep_main.c
2600
adapter->rxnfc_max = TSNEP_RX_ASSIGN_ETHER_TYPE_COUNT;
drivers/net/ethernet/engleder/tsnep_main.c
2602
tsnep_disable_irq(adapter, ECM_INT_ALL);
drivers/net/ethernet/engleder/tsnep_main.c
2604
retval = tsnep_queue_init(adapter, queue_count);
drivers/net/ethernet/engleder/tsnep_main.c
2608
retval = dma_set_mask_and_coherent(&adapter->pdev->dev,
drivers/net/ethernet/engleder/tsnep_main.c
2611
dev_err(&adapter->pdev->dev, "no usable DMA configuration.\n");
drivers/net/ethernet/engleder/tsnep_main.c
2615
retval = tsnep_mac_init(adapter);
drivers/net/ethernet/engleder/tsnep_main.c
2619
retval = tsnep_mdio_init(adapter);
drivers/net/ethernet/engleder/tsnep_main.c
2623
retval = tsnep_phy_init(adapter);
drivers/net/ethernet/engleder/tsnep_main.c
2627
retval = tsnep_ptp_init(adapter);
drivers/net/ethernet/engleder/tsnep_main.c
2631
retval = tsnep_tc_init(adapter);
drivers/net/ethernet/engleder/tsnep_main.c
2635
retval = tsnep_rxnfc_init(adapter);
drivers/net/ethernet/engleder/tsnep_main.c
264
phy_ethtool_set_eee(adapter->phydev, ðtool_keee);
drivers/net/ethernet/engleder/tsnep_main.c
2656
dev_info(&adapter->pdev->dev, "device version %d.%02d\n", version,
drivers/net/ethernet/engleder/tsnep_main.c
2658
if (adapter->gate_control)
drivers/net/ethernet/engleder/tsnep_main.c
2659
dev_info(&adapter->pdev->dev, "gate control detected\n");
drivers/net/ethernet/engleder/tsnep_main.c
266
adapter->phydev->irq = PHY_MAC_INTERRUPT;
drivers/net/ethernet/engleder/tsnep_main.c
2664
tsnep_rxnfc_cleanup(adapter);
drivers/net/ethernet/engleder/tsnep_main.c
2666
tsnep_tc_cleanup(adapter);
drivers/net/ethernet/engleder/tsnep_main.c
2668
tsnep_ptp_cleanup(adapter);
drivers/net/ethernet/engleder/tsnep_main.c
267
phy_start(adapter->phydev);
drivers/net/ethernet/engleder/tsnep_main.c
2671
if (adapter->mdiobus)
drivers/net/ethernet/engleder/tsnep_main.c
2672
mdiobus_unregister(adapter->mdiobus);
drivers/net/ethernet/engleder/tsnep_main.c
2679
struct tsnep_adapter *adapter = platform_get_drvdata(pdev);
drivers/net/ethernet/engleder/tsnep_main.c
2681
unregister_netdev(adapter->netdev);
drivers/net/ethernet/engleder/tsnep_main.c
2683
tsnep_rxnfc_cleanup(adapter);
drivers/net/ethernet/engleder/tsnep_main.c
2685
tsnep_tc_cleanup(adapter);
drivers/net/ethernet/engleder/tsnep_main.c
2687
tsnep_ptp_cleanup(adapter);
drivers/net/ethernet/engleder/tsnep_main.c
2689
if (adapter->mdiobus)
drivers/net/ethernet/engleder/tsnep_main.c
2690
mdiobus_unregister(adapter->mdiobus);
drivers/net/ethernet/engleder/tsnep_main.c
2692
tsnep_disable_irq(adapter, ECM_INT_ALL);
drivers/net/ethernet/engleder/tsnep_main.c
272
static void tsnep_phy_close(struct tsnep_adapter *adapter)
drivers/net/ethernet/engleder/tsnep_main.c
274
phy_stop(adapter->netdev->phydev);
drivers/net/ethernet/engleder/tsnep_main.c
275
phy_disconnect(adapter->netdev->phydev);
drivers/net/ethernet/engleder/tsnep_main.c
280
struct device *dmadev = tx->adapter->dmadev;
drivers/net/ethernet/engleder/tsnep_main.c
297
struct device *dmadev = tx->adapter->dmadev;
drivers/net/ethernet/engleder/tsnep_main.c
351
nq = netdev_get_tx_queue(tx->adapter->netdev, tx->queue_index);
drivers/net/ethernet/engleder/tsnep_main.c
363
nq = netdev_get_tx_queue(tx->adapter->netdev, tx->queue_index);
drivers/net/ethernet/engleder/tsnep_main.c
486
struct device *dmadev = tx->adapter->dmadev;
drivers/net/ethernet/engleder/tsnep_main.c
536
struct device *dmadev = tx->adapter->dmadev;
drivers/net/ethernet/engleder/tsnep_main.c
580
netif_stop_subqueue(tx->adapter->netdev, tx->queue_index);
drivers/net/ethernet/engleder/tsnep_main.c
589
tx->adapter->hwtstamp_config.tx_type == HWTSTAMP_TX_ON) {
drivers/net/ethernet/engleder/tsnep_main.c
620
netif_stop_subqueue(tx->adapter->netdev, tx->queue_index);
drivers/net/ethernet/engleder/tsnep_main.c
629
struct device *dmadev = tx->adapter->dmadev;
drivers/net/ethernet/engleder/tsnep_main.c
730
static bool tsnep_xdp_xmit_back(struct tsnep_adapter *adapter,
drivers/net/ethernet/engleder/tsnep_main.c
76
static void tsnep_enable_irq(struct tsnep_adapter *adapter, u32 mask)
drivers/net/ethernet/engleder/tsnep_main.c
78
iowrite32(mask, adapter->addr + ECM_INT_ENABLE);
drivers/net/ethernet/engleder/tsnep_main.c
81
static void tsnep_disable_irq(struct tsnep_adapter *adapter, u32 mask)
drivers/net/ethernet/engleder/tsnep_main.c
828
nq = netdev_get_tx_queue(tx->adapter->netdev, tx->queue_index);
drivers/net/ethernet/engleder/tsnep_main.c
84
iowrite32(mask, adapter->addr + ECM_INT_ENABLE);
drivers/net/ethernet/engleder/tsnep_main.c
89
struct tsnep_adapter *adapter = arg;
drivers/net/ethernet/engleder/tsnep_main.c
90
u32 active = ioread32(adapter->addr + ECM_INT_ACTIVE);
drivers/net/ethernet/engleder/tsnep_main.c
917
nq = netdev_get_tx_queue(tx->adapter->netdev, tx->queue_index);
drivers/net/ethernet/engleder/tsnep_main.c
94
iowrite32(active, adapter->addr + ECM_INT_ACKNOWLEDGE);
drivers/net/ethernet/engleder/tsnep_main.c
953
struct device *dmadev = rx->adapter->dmadev;
drivers/net/ethernet/engleder/tsnep_main.c
98
phy_mac_interrupt(adapter->netdev->phydev);
drivers/net/ethernet/engleder/tsnep_main.c
985
struct device *dmadev = rx->adapter->dmadev;
drivers/net/ethernet/engleder/tsnep_ptp.c
102
struct tsnep_adapter *adapter = container_of(ptp, struct tsnep_adapter,
drivers/net/ethernet/engleder/tsnep_ptp.c
107
spin_lock_irqsave(&adapter->ptp_lock, flags);
drivers/net/ethernet/engleder/tsnep_ptp.c
109
tsnep_get_system_time(adapter, &system_time);
drivers/net/ethernet/engleder/tsnep_ptp.c
116
iowrite32(system_time >> 32, adapter->addr + ECM_SYSTEM_TIME_HIGH);
drivers/net/ethernet/engleder/tsnep_ptp.c
118
adapter->addr + ECM_SYSTEM_TIME_LOW);
drivers/net/ethernet/engleder/tsnep_ptp.c
120
spin_unlock_irqrestore(&adapter->ptp_lock, flags);
drivers/net/ethernet/engleder/tsnep_ptp.c
129
struct tsnep_adapter *adapter = container_of(ptp, struct tsnep_adapter,
drivers/net/ethernet/engleder/tsnep_ptp.c
13
high = ioread32(adapter->addr + ECM_SYSTEM_TIME_HIGH);
drivers/net/ethernet/engleder/tsnep_ptp.c
137
high = ioread32(adapter->addr + ECM_SYSTEM_TIME_HIGH);
drivers/net/ethernet/engleder/tsnep_ptp.c
140
low = ioread32(adapter->addr + ECM_SYSTEM_TIME_LOW);
drivers/net/ethernet/engleder/tsnep_ptp.c
143
high = ioread32(adapter->addr + ECM_SYSTEM_TIME_HIGH);
drivers/net/ethernet/engleder/tsnep_ptp.c
15
low = ioread32(adapter->addr + ECM_SYSTEM_TIME_LOW);
drivers/net/ethernet/engleder/tsnep_ptp.c
155
struct tsnep_adapter *adapter = container_of(ptp, struct tsnep_adapter,
drivers/net/ethernet/engleder/tsnep_ptp.c
160
spin_lock_irqsave(&adapter->ptp_lock, flags);
drivers/net/ethernet/engleder/tsnep_ptp.c
165
iowrite32(system_time >> 32, adapter->addr + ECM_SYSTEM_TIME_HIGH);
drivers/net/ethernet/engleder/tsnep_ptp.c
167
adapter->addr + ECM_SYSTEM_TIME_LOW);
drivers/net/ethernet/engleder/tsnep_ptp.c
169
spin_unlock_irqrestore(&adapter->ptp_lock, flags);
drivers/net/ethernet/engleder/tsnep_ptp.c
17
high = ioread32(adapter->addr + ECM_SYSTEM_TIME_HIGH);
drivers/net/ethernet/engleder/tsnep_ptp.c
178
struct tsnep_adapter *adapter = container_of(ptp, struct tsnep_adapter,
drivers/net/ethernet/engleder/tsnep_ptp.c
186
high = ioread32(adapter->addr + ECM_COUNTER_HIGH);
drivers/net/ethernet/engleder/tsnep_ptp.c
189
low = ioread32(adapter->addr + ECM_COUNTER_LOW);
drivers/net/ethernet/engleder/tsnep_ptp.c
192
high = ioread32(adapter->addr + ECM_COUNTER_HIGH);
drivers/net/ethernet/engleder/tsnep_ptp.c
201
int tsnep_ptp_init(struct tsnep_adapter *adapter)
drivers/net/ethernet/engleder/tsnep_ptp.c
205
adapter->hwtstamp_config.rx_filter = HWTSTAMP_FILTER_NONE;
drivers/net/ethernet/engleder/tsnep_ptp.c
206
adapter->hwtstamp_config.tx_type = HWTSTAMP_TX_OFF;
drivers/net/ethernet/engleder/tsnep_ptp.c
208
snprintf(adapter->ptp_clock_info.name, 16, "%s", TSNEP);
drivers/net/ethernet/engleder/tsnep_ptp.c
209
adapter->ptp_clock_info.owner = THIS_MODULE;
drivers/net/ethernet/engleder/tsnep_ptp.c
213
adapter->ptp_clock_info.max_adj = (500000000 / 8 - 1);
drivers/net/ethernet/engleder/tsnep_ptp.c
214
adapter->ptp_clock_info.adjfine = tsnep_ptp_adjfine;
drivers/net/ethernet/engleder/tsnep_ptp.c
215
adapter->ptp_clock_info.adjtime = tsnep_ptp_adjtime;
drivers/net/ethernet/engleder/tsnep_ptp.c
216
adapter->ptp_clock_info.gettimex64 = tsnep_ptp_gettimex64;
drivers/net/ethernet/engleder/tsnep_ptp.c
217
adapter->ptp_clock_info.settime64 = tsnep_ptp_settime64;
drivers/net/ethernet/engleder/tsnep_ptp.c
218
adapter->ptp_clock_info.getcyclesx64 = tsnep_ptp_getcyclesx64;
drivers/net/ethernet/engleder/tsnep_ptp.c
220
spin_lock_init(&adapter->ptp_lock);
drivers/net/ethernet/engleder/tsnep_ptp.c
222
adapter->ptp_clock = ptp_clock_register(&adapter->ptp_clock_info,
drivers/net/ethernet/engleder/tsnep_ptp.c
223
&adapter->pdev->dev);
drivers/net/ethernet/engleder/tsnep_ptp.c
224
if (IS_ERR(adapter->ptp_clock)) {
drivers/net/ethernet/engleder/tsnep_ptp.c
225
netdev_err(adapter->netdev, "ptp_clock_register failed\n");
drivers/net/ethernet/engleder/tsnep_ptp.c
227
retval = PTR_ERR(adapter->ptp_clock);
drivers/net/ethernet/engleder/tsnep_ptp.c
228
adapter->ptp_clock = NULL;
drivers/net/ethernet/engleder/tsnep_ptp.c
229
} else if (adapter->ptp_clock) {
drivers/net/ethernet/engleder/tsnep_ptp.c
230
netdev_info(adapter->netdev, "PHC added\n");
drivers/net/ethernet/engleder/tsnep_ptp.c
236
void tsnep_ptp_cleanup(struct tsnep_adapter *adapter)
drivers/net/ethernet/engleder/tsnep_ptp.c
238
if (adapter->ptp_clock) {
drivers/net/ethernet/engleder/tsnep_ptp.c
239
ptp_clock_unregister(adapter->ptp_clock);
drivers/net/ethernet/engleder/tsnep_ptp.c
240
netdev_info(adapter->netdev, "PHC removed\n");
drivers/net/ethernet/engleder/tsnep_ptp.c
25
struct tsnep_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/engleder/tsnep_ptp.c
27
*config = adapter->hwtstamp_config;
drivers/net/ethernet/engleder/tsnep_ptp.c
35
struct tsnep_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/engleder/tsnep_ptp.c
6
void tsnep_get_system_time(struct tsnep_adapter *adapter, u64 *time)
drivers/net/ethernet/engleder/tsnep_ptp.c
68
adapter->hwtstamp_config = *config;
drivers/net/ethernet/engleder/tsnep_ptp.c
74
struct tsnep_adapter *adapter = container_of(ptp, struct tsnep_adapter,
drivers/net/ethernet/engleder/tsnep_ptp.c
95
iowrite32(rate_offset & 0xFFFFFFFF, adapter->addr + ECM_CLOCK_RATE);
drivers/net/ethernet/engleder/tsnep_rxnfc.c
100
cmd->data = adapter->rxnfc_max;
drivers/net/ethernet/engleder/tsnep_rxnfc.c
102
mutex_lock(&adapter->rxnfc_lock);
drivers/net/ethernet/engleder/tsnep_rxnfc.c
104
rule = tsnep_get_rule(adapter, fsp->location);
drivers/net/ethernet/engleder/tsnep_rxnfc.c
106
mutex_unlock(&adapter->rxnfc_lock);
drivers/net/ethernet/engleder/tsnep_rxnfc.c
119
mutex_unlock(&adapter->rxnfc_lock);
drivers/net/ethernet/engleder/tsnep_rxnfc.c
124
int tsnep_rxnfc_get_all(struct tsnep_adapter *adapter,
drivers/net/ethernet/engleder/tsnep_rxnfc.c
131
cmd->data = adapter->rxnfc_max;
drivers/net/ethernet/engleder/tsnep_rxnfc.c
133
mutex_lock(&adapter->rxnfc_lock);
drivers/net/ethernet/engleder/tsnep_rxnfc.c
135
list_for_each_entry(rule, &adapter->rxnfc_rules, list) {
drivers/net/ethernet/engleder/tsnep_rxnfc.c
137
mutex_unlock(&adapter->rxnfc_lock);
drivers/net/ethernet/engleder/tsnep_rxnfc.c
146
mutex_unlock(&adapter->rxnfc_lock);
drivers/net/ethernet/engleder/tsnep_rxnfc.c
153
static int tsnep_rxnfc_find_location(struct tsnep_adapter *adapter)
drivers/net/ethernet/engleder/tsnep_rxnfc.c
158
list_for_each_entry(tmp, &adapter->rxnfc_rules, list) {
drivers/net/ethernet/engleder/tsnep_rxnfc.c
165
if (location >= adapter->rxnfc_max)
drivers/net/ethernet/engleder/tsnep_rxnfc.c
18
addr = adapter->addr + TSNEP_RX_ASSIGN_ETHER_TYPE +
drivers/net/ethernet/engleder/tsnep_rxnfc.c
183
static int tsnep_rxnfc_check_rule(struct tsnep_adapter *adapter,
drivers/net/ethernet/engleder/tsnep_rxnfc.c
186
struct net_device *dev = adapter->netdev;
drivers/net/ethernet/engleder/tsnep_rxnfc.c
189
list_for_each_entry(tmp, &adapter->rxnfc_rules, list) {
drivers/net/ethernet/engleder/tsnep_rxnfc.c
201
int tsnep_rxnfc_add_rule(struct tsnep_adapter *adapter,
drivers/net/ethernet/engleder/tsnep_rxnfc.c
204
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/engleder/tsnep_rxnfc.c
228
fsp->location >= adapter->rxnfc_max) {
drivers/net/ethernet/engleder/tsnep_rxnfc.c
23
addr = adapter->addr + TSNEP_RX_ASSIGN +
drivers/net/ethernet/engleder/tsnep_rxnfc.c
238
mutex_lock(&adapter->rxnfc_lock);
drivers/net/ethernet/engleder/tsnep_rxnfc.c
241
retval = tsnep_rxnfc_find_location(adapter);
drivers/net/ethernet/engleder/tsnep_rxnfc.c
249
retval = tsnep_rxnfc_check_rule(adapter, rule);
drivers/net/ethernet/engleder/tsnep_rxnfc.c
253
old_rule = tsnep_get_rule(adapter, fsp->location);
drivers/net/ethernet/engleder/tsnep_rxnfc.c
255
tsnep_delete_rule(adapter, old_rule);
drivers/net/ethernet/engleder/tsnep_rxnfc.c
257
tsnep_add_rule(adapter, rule);
drivers/net/ethernet/engleder/tsnep_rxnfc.c
259
mutex_unlock(&adapter->rxnfc_lock);
drivers/net/ethernet/engleder/tsnep_rxnfc.c
264
mutex_unlock(&adapter->rxnfc_lock);
drivers/net/ethernet/engleder/tsnep_rxnfc.c
269
int tsnep_rxnfc_del_rule(struct tsnep_adapter *adapter,
drivers/net/ethernet/engleder/tsnep_rxnfc.c
276
mutex_lock(&adapter->rxnfc_lock);
drivers/net/ethernet/engleder/tsnep_rxnfc.c
278
rule = tsnep_get_rule(adapter, fsp->location);
drivers/net/ethernet/engleder/tsnep_rxnfc.c
28
static void tsnep_disable_rule(struct tsnep_adapter *adapter,
drivers/net/ethernet/engleder/tsnep_rxnfc.c
280
mutex_unlock(&adapter->rxnfc_lock);
drivers/net/ethernet/engleder/tsnep_rxnfc.c
285
tsnep_delete_rule(adapter, rule);
drivers/net/ethernet/engleder/tsnep_rxnfc.c
287
mutex_unlock(&adapter->rxnfc_lock);
drivers/net/ethernet/engleder/tsnep_rxnfc.c
292
int tsnep_rxnfc_init(struct tsnep_adapter *adapter)
drivers/net/ethernet/engleder/tsnep_rxnfc.c
297
for (i = 0; i < adapter->rxnfc_max;
drivers/net/ethernet/engleder/tsnep_rxnfc.c
299
iowrite32(0, adapter->addr + TSNEP_RX_ASSIGN + i);
drivers/net/ethernet/engleder/tsnep_rxnfc.c
304
void tsnep_rxnfc_cleanup(struct tsnep_adapter *adapter)
drivers/net/ethernet/engleder/tsnep_rxnfc.c
306
tsnep_flush_rules(adapter);
drivers/net/ethernet/engleder/tsnep_rxnfc.c
33
addr = adapter->addr + TSNEP_RX_ASSIGN +
drivers/net/ethernet/engleder/tsnep_rxnfc.c
38
static struct tsnep_rxnfc_rule *tsnep_get_rule(struct tsnep_adapter *adapter,
drivers/net/ethernet/engleder/tsnep_rxnfc.c
43
list_for_each_entry(rule, &adapter->rxnfc_rules, list) {
drivers/net/ethernet/engleder/tsnep_rxnfc.c
53
static void tsnep_add_rule(struct tsnep_adapter *adapter,
drivers/net/ethernet/engleder/tsnep_rxnfc.c
58
tsnep_enable_rule(adapter, rule);
drivers/net/ethernet/engleder/tsnep_rxnfc.c
61
list_for_each_entry(cur, &adapter->rxnfc_rules, list) {
drivers/net/ethernet/engleder/tsnep_rxnfc.c
67
list_add(&rule->list, pred ? &pred->list : &adapter->rxnfc_rules);
drivers/net/ethernet/engleder/tsnep_rxnfc.c
68
adapter->rxnfc_count++;
drivers/net/ethernet/engleder/tsnep_rxnfc.c
71
static void tsnep_delete_rule(struct tsnep_adapter *adapter,
drivers/net/ethernet/engleder/tsnep_rxnfc.c
74
tsnep_disable_rule(adapter, rule);
drivers/net/ethernet/engleder/tsnep_rxnfc.c
77
adapter->rxnfc_count--;
drivers/net/ethernet/engleder/tsnep_rxnfc.c
8
static void tsnep_enable_rule(struct tsnep_adapter *adapter,
drivers/net/ethernet/engleder/tsnep_rxnfc.c
82
static void tsnep_flush_rules(struct tsnep_adapter *adapter)
drivers/net/ethernet/engleder/tsnep_rxnfc.c
86
mutex_lock(&adapter->rxnfc_lock);
drivers/net/ethernet/engleder/tsnep_rxnfc.c
88
list_for_each_entry_safe(rule, tmp, &adapter->rxnfc_rules, list)
drivers/net/ethernet/engleder/tsnep_rxnfc.c
89
tsnep_delete_rule(adapter, rule);
drivers/net/ethernet/engleder/tsnep_rxnfc.c
91
mutex_unlock(&adapter->rxnfc_lock);
drivers/net/ethernet/engleder/tsnep_rxnfc.c
94
int tsnep_rxnfc_get_rule(struct tsnep_adapter *adapter,
drivers/net/ethernet/engleder/tsnep_selftests.c
103
enabled = enable_gc(adapter, a);
drivers/net/ethernet/engleder/tsnep_selftests.c
117
if (gc_timeout_signaled(adapter))
drivers/net/ethernet/engleder/tsnep_selftests.c
120
if (!gc_timeout_signaled(adapter))
drivers/net/ethernet/engleder/tsnep_selftests.c
122
if (!ack_gc_timeout(adapter))
drivers/net/ethernet/engleder/tsnep_selftests.c
126
if (!disable_gc(adapter))
drivers/net/ethernet/engleder/tsnep_selftests.c
132
static bool tsnep_test_gc_enable(struct tsnep_adapter *adapter)
drivers/net/ethernet/engleder/tsnep_selftests.c
136
iowrite32(0x80000001, adapter->addr + TSNEP_GCL_A + 0);
drivers/net/ethernet/engleder/tsnep_selftests.c
137
iowrite32(100000, adapter->addr + TSNEP_GCL_A + 4);
drivers/net/ethernet/engleder/tsnep_selftests.c
140
if (!gc_delayed_enable(adapter, true, i))
drivers/net/ethernet/engleder/tsnep_selftests.c
144
iowrite32(0x80000001, adapter->addr + TSNEP_GCL_B + 0);
drivers/net/ethernet/engleder/tsnep_selftests.c
145
iowrite32(100000, adapter->addr + TSNEP_GCL_B + 4);
drivers/net/ethernet/engleder/tsnep_selftests.c
148
if (!gc_delayed_enable(adapter, false, i))
drivers/net/ethernet/engleder/tsnep_selftests.c
155
static void delay_base_time(struct tsnep_adapter *adapter,
drivers/net/ethernet/engleder/tsnep_selftests.c
162
tsnep_get_system_time(adapter, &system_time);
drivers/net/ethernet/engleder/tsnep_selftests.c
170
static void get_gate_state(struct tsnep_adapter *adapter, u32 *gc, u32 *gc_time,
drivers/net/ethernet/engleder/tsnep_selftests.c
178
time_high = ioread32(adapter->addr + ECM_SYSTEM_TIME_HIGH);
drivers/net/ethernet/engleder/tsnep_selftests.c
179
*gc_time = ioread32(adapter->addr + TSNEP_GC_TIME);
drivers/net/ethernet/engleder/tsnep_selftests.c
181
time_low = ioread32(adapter->addr + ECM_SYSTEM_TIME_LOW);
drivers/net/ethernet/engleder/tsnep_selftests.c
182
*gc = ioread32(adapter->addr + TSNEP_GC);
drivers/net/ethernet/engleder/tsnep_selftests.c
185
*gc_time = ioread32(adapter->addr + TSNEP_GC_TIME);
drivers/net/ethernet/engleder/tsnep_selftests.c
187
time_high = ioread32(adapter->addr + ECM_SYSTEM_TIME_HIGH);
drivers/net/ethernet/engleder/tsnep_selftests.c
210
static bool check_gate(struct tsnep_adapter *adapter)
drivers/net/ethernet/engleder/tsnep_selftests.c
221
get_gate_state(adapter, &gc, &gc_time, &system_time);
drivers/net/ethernet/engleder/tsnep_selftests.c
224
curr = &adapter->gcl[0];
drivers/net/ethernet/engleder/tsnep_selftests.c
225
prev = &adapter->gcl[1];
drivers/net/ethernet/engleder/tsnep_selftests.c
227
curr = &adapter->gcl[1];
drivers/net/ethernet/engleder/tsnep_selftests.c
228
prev = &adapter->gcl[0];
drivers/net/ethernet/engleder/tsnep_selftests.c
24
static bool enable_gc_timeout(struct tsnep_adapter *adapter)
drivers/net/ethernet/engleder/tsnep_selftests.c
26
iowrite8(TSNEP_GC_ENABLE_TIMEOUT, adapter->addr + TSNEP_GC);
drivers/net/ethernet/engleder/tsnep_selftests.c
27
if (!(ioread32(adapter->addr + TSNEP_GC) & TSNEP_GC_TIMEOUT_ACTIVE))
drivers/net/ethernet/engleder/tsnep_selftests.c
276
dev_err(&adapter->pdev->dev, "gate control time 0x%x!=0x%llx\n",
drivers/net/ethernet/engleder/tsnep_selftests.c
281
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/engleder/tsnep_selftests.c
289
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/engleder/tsnep_selftests.c
299
static bool check_gate_duration(struct tsnep_adapter *adapter, s64 ms)
drivers/net/ethernet/engleder/tsnep_selftests.c
304
if (!check_gate(adapter))
drivers/net/ethernet/engleder/tsnep_selftests.c
311
static bool enable_check_taprio(struct tsnep_adapter *adapter,
drivers/net/ethernet/engleder/tsnep_selftests.c
316
retval = tsnep_tc_setup(adapter->netdev, TC_SETUP_QDISC_TAPRIO, qopt);
drivers/net/ethernet/engleder/tsnep_selftests.c
320
if (!check_gate_duration(adapter, ms))
drivers/net/ethernet/engleder/tsnep_selftests.c
326
static bool disable_taprio(struct tsnep_adapter *adapter)
drivers/net/ethernet/engleder/tsnep_selftests.c
33
static bool gc_timeout_signaled(struct tsnep_adapter *adapter)
drivers/net/ethernet/engleder/tsnep_selftests.c
333
retval = tsnep_tc_setup(adapter->netdev, TC_SETUP_QDISC_TAPRIO, &qopt);
drivers/net/ethernet/engleder/tsnep_selftests.c
340
static bool run_taprio(struct tsnep_adapter *adapter,
drivers/net/ethernet/engleder/tsnep_selftests.c
343
if (!enable_check_taprio(adapter, qopt, ms))
drivers/net/ethernet/engleder/tsnep_selftests.c
346
if (!disable_taprio(adapter))
drivers/net/ethernet/engleder/tsnep_selftests.c
35
if (ioread32(adapter->addr + TSNEP_GC) & TSNEP_GC_TIMEOUT_SIGNAL)
drivers/net/ethernet/engleder/tsnep_selftests.c
352
static bool tsnep_test_taprio(struct tsnep_adapter *adapter)
drivers/net/ethernet/engleder/tsnep_selftests.c
382
if (!run_taprio(adapter, qopt, 100))
drivers/net/ethernet/engleder/tsnep_selftests.c
406
if (!run_taprio(adapter, qopt, 100))
drivers/net/ethernet/engleder/tsnep_selftests.c
41
static bool ack_gc_timeout(struct tsnep_adapter *adapter)
drivers/net/ethernet/engleder/tsnep_selftests.c
411
delay_base_time(adapter, qopt, 12);
drivers/net/ethernet/engleder/tsnep_selftests.c
43
iowrite8(TSNEP_GC_ENABLE_TIMEOUT, adapter->addr + TSNEP_GC);
drivers/net/ethernet/engleder/tsnep_selftests.c
435
if (!run_taprio(adapter, qopt, 100))
drivers/net/ethernet/engleder/tsnep_selftests.c
44
if (ioread32(adapter->addr + TSNEP_GC) &
drivers/net/ethernet/engleder/tsnep_selftests.c
443
disable_taprio(adapter);
drivers/net/ethernet/engleder/tsnep_selftests.c
449
static bool tsnep_test_taprio_change(struct tsnep_adapter *adapter)
drivers/net/ethernet/engleder/tsnep_selftests.c
469
if (!enable_check_taprio(adapter, qopt, 100))
drivers/net/ethernet/engleder/tsnep_selftests.c
473
if (!enable_check_taprio(adapter, qopt, 100))
drivers/net/ethernet/engleder/tsnep_selftests.c
475
delay_base_time(adapter, qopt, 17);
drivers/net/ethernet/engleder/tsnep_selftests.c
476
if (!enable_check_taprio(adapter, qopt, 100))
drivers/net/ethernet/engleder/tsnep_selftests.c
483
delay_base_time(adapter, qopt, 2);
drivers/net/ethernet/engleder/tsnep_selftests.c
484
if (!enable_check_taprio(adapter, qopt, 100))
drivers/net/ethernet/engleder/tsnep_selftests.c
491
delay_base_time(adapter, qopt, 23);
drivers/net/ethernet/engleder/tsnep_selftests.c
492
if (!enable_check_taprio(adapter, qopt, 100))
drivers/net/ethernet/engleder/tsnep_selftests.c
50
static bool enable_gc(struct tsnep_adapter *adapter, bool a)
drivers/net/ethernet/engleder/tsnep_selftests.c
502
delay_base_time(adapter, qopt, 11);
drivers/net/ethernet/engleder/tsnep_selftests.c
503
if (!enable_check_taprio(adapter, qopt, 100))
drivers/net/ethernet/engleder/tsnep_selftests.c
514
delay_base_time(adapter, qopt, 11);
drivers/net/ethernet/engleder/tsnep_selftests.c
515
if (!enable_check_taprio(adapter, qopt, 100))
drivers/net/ethernet/engleder/tsnep_selftests.c
528
delay_base_time(adapter, qopt, 3);
drivers/net/ethernet/engleder/tsnep_selftests.c
529
if (!enable_check_taprio(adapter, qopt, 100))
drivers/net/ethernet/engleder/tsnep_selftests.c
540
delay_base_time(adapter, qopt, 11);
drivers/net/ethernet/engleder/tsnep_selftests.c
541
if (!enable_check_taprio(adapter, qopt, 100))
drivers/net/ethernet/engleder/tsnep_selftests.c
552
delay_base_time(adapter, qopt, 1);
drivers/net/ethernet/engleder/tsnep_selftests.c
553
if (!enable_check_taprio(adapter, qopt, 100))
drivers/net/ethernet/engleder/tsnep_selftests.c
568
delay_base_time(adapter, qopt, 7);
drivers/net/ethernet/engleder/tsnep_selftests.c
569
if (!enable_check_taprio(adapter, qopt, 100))
drivers/net/ethernet/engleder/tsnep_selftests.c
584
delay_base_time(adapter, qopt, 6);
drivers/net/ethernet/engleder/tsnep_selftests.c
585
if (!enable_check_taprio(adapter, qopt, 100))
drivers/net/ethernet/engleder/tsnep_selftests.c
588
if (!disable_taprio(adapter))
drivers/net/ethernet/engleder/tsnep_selftests.c
596
disable_taprio(adapter);
drivers/net/ethernet/engleder/tsnep_selftests.c
602
static bool tsnep_test_taprio_extension(struct tsnep_adapter *adapter)
drivers/net/ethernet/engleder/tsnep_selftests.c
622
if (!enable_check_taprio(adapter, qopt, 100))
drivers/net/ethernet/engleder/tsnep_selftests.c
63
iowrite8(enable, adapter->addr + TSNEP_GC);
drivers/net/ethernet/engleder/tsnep_selftests.c
632
delay_base_time(adapter, qopt, 2);
drivers/net/ethernet/engleder/tsnep_selftests.c
633
if (!enable_check_taprio(adapter, qopt, 100))
drivers/net/ethernet/engleder/tsnep_selftests.c
64
if (!(ioread32(adapter->addr + TSNEP_GC) & active))
drivers/net/ethernet/engleder/tsnep_selftests.c
645
delay_base_time(adapter, qopt, 7);
drivers/net/ethernet/engleder/tsnep_selftests.c
646
if (!enable_check_taprio(adapter, qopt, 100))
drivers/net/ethernet/engleder/tsnep_selftests.c
656
delay_base_time(adapter, qopt, 9);
drivers/net/ethernet/engleder/tsnep_selftests.c
657
if (!enable_check_taprio(adapter, qopt, 100))
drivers/net/ethernet/engleder/tsnep_selftests.c
671
delay_base_time(adapter, qopt, 3);
drivers/net/ethernet/engleder/tsnep_selftests.c
672
if (!enable_check_taprio(adapter, qopt, 100))
drivers/net/ethernet/engleder/tsnep_selftests.c
682
delay_base_time(adapter, qopt, 9);
drivers/net/ethernet/engleder/tsnep_selftests.c
683
if (!enable_check_taprio(adapter, qopt, 100))
drivers/net/ethernet/engleder/tsnep_selftests.c
697
if (!enable_check_taprio(adapter, qopt, 100))
drivers/net/ethernet/engleder/tsnep_selftests.c
70
static bool disable_gc(struct tsnep_adapter *adapter)
drivers/net/ethernet/engleder/tsnep_selftests.c
707
delay_base_time(adapter, qopt, 19);
drivers/net/ethernet/engleder/tsnep_selftests.c
708
if (!enable_check_taprio(adapter, qopt, 100))
drivers/net/ethernet/engleder/tsnep_selftests.c
72
iowrite8(TSNEP_GC_DISABLE, adapter->addr + TSNEP_GC);
drivers/net/ethernet/engleder/tsnep_selftests.c
722
delay_base_time(adapter, qopt, 19);
drivers/net/ethernet/engleder/tsnep_selftests.c
723
if (!enable_check_taprio(adapter, qopt, 100))
drivers/net/ethernet/engleder/tsnep_selftests.c
73
if (ioread32(adapter->addr + TSNEP_GC) &
drivers/net/ethernet/engleder/tsnep_selftests.c
739
delay_base_time(adapter, qopt, 1);
drivers/net/ethernet/engleder/tsnep_selftests.c
740
if (!enable_check_taprio(adapter, qopt, 100))
drivers/net/ethernet/engleder/tsnep_selftests.c
743
if (!disable_taprio(adapter))
drivers/net/ethernet/engleder/tsnep_selftests.c
751
disable_taprio(adapter);
drivers/net/ethernet/engleder/tsnep_selftests.c
770
struct tsnep_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/engleder/tsnep_selftests.c
784
if (tsnep_test_gc_enable(adapter)) {
drivers/net/ethernet/engleder/tsnep_selftests.c
791
if (tsnep_test_taprio(adapter)) {
drivers/net/ethernet/engleder/tsnep_selftests.c
798
if (tsnep_test_taprio_change(adapter)) {
drivers/net/ethernet/engleder/tsnep_selftests.c
80
static bool gc_delayed_enable(struct tsnep_adapter *adapter, bool a, int delay)
drivers/net/ethernet/engleder/tsnep_selftests.c
805
if (tsnep_test_taprio_extension(adapter)) {
drivers/net/ethernet/engleder/tsnep_selftests.c
86
if (!disable_gc(adapter))
drivers/net/ethernet/engleder/tsnep_selftests.c
91
if (!enable_gc_timeout(adapter))
drivers/net/ethernet/engleder/tsnep_selftests.c
97
time = ioread32(adapter->addr + ECM_SYSTEM_TIME_LOW);
drivers/net/ethernet/engleder/tsnep_selftests.c
99
iowrite32(time, adapter->addr + TSNEP_GC_TIME);
drivers/net/ethernet/engleder/tsnep_tc.c
260
static int tsnep_enable_gcl(struct tsnep_adapter *adapter,
drivers/net/ethernet/engleder/tsnep_tc.c
270
tsnep_get_system_time(adapter, &system_time);
drivers/net/ethernet/engleder/tsnep_tc.c
306
iowrite32(change & 0xFFFFFFFF, adapter->addr + TSNEP_GC_CHANGE);
drivers/net/ethernet/engleder/tsnep_tc.c
312
adapter->addr + TSNEP_GC_TIME);
drivers/net/ethernet/engleder/tsnep_tc.c
318
static int tsnep_taprio(struct tsnep_adapter *adapter,
drivers/net/ethernet/engleder/tsnep_tc.c
325
if (!adapter->gate_control)
drivers/net/ethernet/engleder/tsnep_tc.c
330
mutex_lock(&adapter->gate_control_lock);
drivers/net/ethernet/engleder/tsnep_tc.c
332
if (adapter->gate_control_active) {
drivers/net/ethernet/engleder/tsnep_tc.c
333
iowrite8(TSNEP_GC_DISABLE, adapter->addr + TSNEP_GC);
drivers/net/ethernet/engleder/tsnep_tc.c
334
adapter->gate_control_active = false;
drivers/net/ethernet/engleder/tsnep_tc.c
337
mutex_unlock(&adapter->gate_control_lock);
drivers/net/ethernet/engleder/tsnep_tc.c
348
mutex_lock(&adapter->gate_control_lock);
drivers/net/ethernet/engleder/tsnep_tc.c
350
gcl = &adapter->gcl[adapter->next_gcl];
drivers/net/ethernet/engleder/tsnep_tc.c
354
if (adapter->gate_control_active) {
drivers/net/ethernet/engleder/tsnep_tc.c
355
if (adapter->next_gcl == 0)
drivers/net/ethernet/engleder/tsnep_tc.c
356
curr = &adapter->gcl[1];
drivers/net/ethernet/engleder/tsnep_tc.c
358
curr = &adapter->gcl[0];
drivers/net/ethernet/engleder/tsnep_tc.c
367
iowrite8(TSNEP_GC_ENABLE_TIMEOUT, adapter->addr + TSNEP_GC);
drivers/net/ethernet/engleder/tsnep_tc.c
369
retval = tsnep_enable_gcl(adapter, gcl, curr);
drivers/net/ethernet/engleder/tsnep_tc.c
371
mutex_unlock(&adapter->gate_control_lock);
drivers/net/ethernet/engleder/tsnep_tc.c
377
if (adapter->next_gcl == 0)
drivers/net/ethernet/engleder/tsnep_tc.c
378
iowrite8(TSNEP_GC_ENABLE_A, adapter->addr + TSNEP_GC);
drivers/net/ethernet/engleder/tsnep_tc.c
380
iowrite8(TSNEP_GC_ENABLE_B, adapter->addr + TSNEP_GC);
drivers/net/ethernet/engleder/tsnep_tc.c
383
if (!(ioread32(adapter->addr + TSNEP_GC) &
drivers/net/ethernet/engleder/tsnep_tc.c
388
iowrite8(TSNEP_GC_ENABLE_A, adapter->addr + TSNEP_GC);
drivers/net/ethernet/engleder/tsnep_tc.c
396
adapter->gate_control_active = true;
drivers/net/ethernet/engleder/tsnep_tc.c
398
if (adapter->next_gcl == 0)
drivers/net/ethernet/engleder/tsnep_tc.c
399
adapter->next_gcl = 1;
drivers/net/ethernet/engleder/tsnep_tc.c
401
adapter->next_gcl = 0;
drivers/net/ethernet/engleder/tsnep_tc.c
403
mutex_unlock(&adapter->gate_control_lock);
drivers/net/ethernet/engleder/tsnep_tc.c
408
static int tsnep_tc_query_caps(struct tsnep_adapter *adapter,
drivers/net/ethernet/engleder/tsnep_tc.c
415
if (!adapter->gate_control)
drivers/net/ethernet/engleder/tsnep_tc.c
430
struct tsnep_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/engleder/tsnep_tc.c
434
return tsnep_tc_query_caps(adapter, type_data);
drivers/net/ethernet/engleder/tsnep_tc.c
436
return tsnep_taprio(adapter, type_data);
drivers/net/ethernet/engleder/tsnep_tc.c
442
int tsnep_tc_init(struct tsnep_adapter *adapter)
drivers/net/ethernet/engleder/tsnep_tc.c
444
if (!adapter->gate_control)
drivers/net/ethernet/engleder/tsnep_tc.c
448
iowrite8(TSNEP_GC_DISABLE, adapter->addr + TSNEP_GC);
drivers/net/ethernet/engleder/tsnep_tc.c
449
iowrite32(TSNEP_GC_OPEN | TSNEP_GC_NEXT_OPEN, adapter->addr + TSNEP_GC);
drivers/net/ethernet/engleder/tsnep_tc.c
451
adapter->gcl[0].addr = adapter->addr + TSNEP_GCL_A;
drivers/net/ethernet/engleder/tsnep_tc.c
452
adapter->gcl[1].addr = adapter->addr + TSNEP_GCL_B;
drivers/net/ethernet/engleder/tsnep_tc.c
457
void tsnep_tc_cleanup(struct tsnep_adapter *adapter)
drivers/net/ethernet/engleder/tsnep_tc.c
459
if (!adapter->gate_control)
drivers/net/ethernet/engleder/tsnep_tc.c
462
if (adapter->gate_control_active) {
drivers/net/ethernet/engleder/tsnep_tc.c
463
iowrite8(TSNEP_GC_DISABLE, adapter->addr + TSNEP_GC);
drivers/net/ethernet/engleder/tsnep_tc.c
464
adapter->gate_control_active = false;
drivers/net/ethernet/engleder/tsnep_xdp.c
14
old_prog = xchg(&adapter->xdp_prog, prog);
drivers/net/ethernet/engleder/tsnep_xdp.c
21
static int tsnep_xdp_enable_pool(struct tsnep_adapter *adapter,
drivers/net/ethernet/engleder/tsnep_xdp.c
27
if (queue_id >= adapter->num_rx_queues ||
drivers/net/ethernet/engleder/tsnep_xdp.c
28
queue_id >= adapter->num_tx_queues)
drivers/net/ethernet/engleder/tsnep_xdp.c
31
queue = &adapter->queue[queue_id];
drivers/net/ethernet/engleder/tsnep_xdp.c
34
netdev_err(adapter->netdev,
drivers/net/ethernet/engleder/tsnep_xdp.c
40
retval = xsk_pool_dma_map(pool, adapter->dmadev,
drivers/net/ethernet/engleder/tsnep_xdp.c
43
netdev_err(adapter->netdev, "failed to map XSK pool\n");
drivers/net/ethernet/engleder/tsnep_xdp.c
58
static int tsnep_xdp_disable_pool(struct tsnep_adapter *adapter, u16 queue_id)
drivers/net/ethernet/engleder/tsnep_xdp.c
63
if (queue_id >= adapter->num_rx_queues ||
drivers/net/ethernet/engleder/tsnep_xdp.c
64
queue_id >= adapter->num_tx_queues)
drivers/net/ethernet/engleder/tsnep_xdp.c
67
pool = xsk_get_pool_from_qid(adapter->netdev, queue_id);
drivers/net/ethernet/engleder/tsnep_xdp.c
71
queue = &adapter->queue[queue_id];
drivers/net/ethernet/engleder/tsnep_xdp.c
80
int tsnep_xdp_setup_pool(struct tsnep_adapter *adapter,
drivers/net/ethernet/engleder/tsnep_xdp.c
83
return pool ? tsnep_xdp_enable_pool(adapter, pool, queue_id) :
drivers/net/ethernet/engleder/tsnep_xdp.c
84
tsnep_xdp_disable_pool(adapter, queue_id);
drivers/net/ethernet/engleder/tsnep_xdp.c
9
int tsnep_xdp_setup_prog(struct tsnep_adapter *adapter, struct bpf_prog *prog,
drivers/net/ethernet/huawei/hinic/hinic_sriov.c
828
struct hinic_dev *adapter = netdev_priv(netdev);
drivers/net/ethernet/huawei/hinic/hinic_sriov.c
834
sriov_info = &adapter->sriov_info;
drivers/net/ethernet/huawei/hinic/hinic_sriov.c
835
nic_io = &adapter->hwdev->func_to_io;
drivers/net/ethernet/huawei/hinic/hinic_sriov.c
845
err = hinic_set_vf_trust(adapter->hwdev, vf, setting);
drivers/net/ethernet/huawei/hinic3/hinic3_hwdev.c
536
hwdev->adapter = pci_adapter;
drivers/net/ethernet/huawei/hinic3/hinic3_hwdev.h
60
struct hinic3_pcidev *adapter;
drivers/net/ethernet/huawei/hinic3/hinic3_hwif.c
430
struct hinic3_pcidev *pci_adapter = hwdev->adapter;
drivers/net/ethernet/huawei/hinic3/hinic3_lld.c
117
struct hinic3_pcidev *pci_adapter = hwdev->adapter;
drivers/net/ethernet/huawei/hinic3/hinic3_lld.c
150
struct hinic3_pcidev *pci_adapter = hwdev->adapter;
drivers/net/ethernet/huawei/hinic3/hinic3_lld.c
97
struct hinic3_pcidev *pci_adapter = hwdev->adapter;
drivers/net/ethernet/ibm/ehea/ehea.h
259
struct ehea_adapter *adapter;
drivers/net/ethernet/ibm/ehea/ehea.h
271
struct ehea_adapter *adapter;
drivers/net/ethernet/ibm/ehea/ehea.h
299
struct ehea_adapter *adapter;
drivers/net/ethernet/ibm/ehea/ehea.h
310
struct ehea_adapter *adapter;
drivers/net/ethernet/ibm/ehea/ehea.h
429
struct ehea_adapter *adapter; /* adapter that owns this port */
drivers/net/ethernet/ibm/ehea/ehea_main.c
1076
hret = ehea_h_modify_ehea_port(port->adapter->handle,
drivers/net/ethernet/ibm/ehea/ehea_main.c
1082
hret = ehea_h_query_ehea_port(port->adapter->handle,
drivers/net/ethernet/ibm/ehea/ehea_main.c
1138
static void ehea_parse_eqe(struct ehea_adapter *adapter, u64 eqe)
drivers/net/ethernet/ibm/ehea/ehea_main.c
1148
port = ehea_get_port(adapter, portnum);
drivers/net/ethernet/ibm/ehea/ehea_main.c
1221
struct ehea_adapter *adapter = from_tasklet(adapter, t, neq_tasklet);
drivers/net/ethernet/ibm/ehea/ehea_main.c
1225
eqe = ehea_poll_eq(adapter->neq);
drivers/net/ethernet/ibm/ehea/ehea_main.c
1230
ehea_parse_eqe(adapter, eqe->entry);
drivers/net/ethernet/ibm/ehea/ehea_main.c
1231
eqe = ehea_poll_eq(adapter->neq);
drivers/net/ethernet/ibm/ehea/ehea_main.c
1239
ehea_h_reset_events(adapter->handle,
drivers/net/ethernet/ibm/ehea/ehea_main.c
1240
adapter->neq->fw_handle, event_mask);
drivers/net/ethernet/ibm/ehea/ehea_main.c
1245
struct ehea_adapter *adapter = param;
drivers/net/ethernet/ibm/ehea/ehea_main.c
1246
tasklet_hi_schedule(&adapter->neq_tasklet);
drivers/net/ethernet/ibm/ehea/ehea_main.c
1379
hret = ehea_h_modify_ehea_port(port->adapter->handle,
drivers/net/ethernet/ibm/ehea/ehea_main.c
1397
struct ehea_adapter *adapter = pr->port->adapter;
drivers/net/ethernet/ibm/ehea/ehea_main.c
1399
ret = ehea_gen_smr(adapter, &adapter->mr, &pr->send_mr);
drivers/net/ethernet/ibm/ehea/ehea_main.c
1403
ret = ehea_gen_smr(adapter, &adapter->mr, &pr->recv_mr);
drivers/net/ethernet/ibm/ehea/ehea_main.c
1443
struct ehea_adapter *adapter = port->adapter;
drivers/net/ethernet/ibm/ehea/ehea_main.c
1463
pr->eq = ehea_create_eq(adapter, eq_type, EHEA_MAX_ENTRIES_EQ, 0);
drivers/net/ethernet/ibm/ehea/ehea_main.c
1469
pr->recv_cq = ehea_create_cq(adapter, pr_cfg->max_entries_rcq,
drivers/net/ethernet/ibm/ehea/ehea_main.c
147
struct ehea_adapter *adapter;
drivers/net/ethernet/ibm/ehea/ehea_main.c
1477
pr->send_cq = ehea_create_cq(adapter, pr_cfg->max_entries_scq,
drivers/net/ethernet/ibm/ehea/ehea_main.c
1516
pr->qp = ehea_create_qp(adapter, adapter->pd, init_attr);
drivers/net/ethernet/ibm/ehea/ehea_main.c
157
list_for_each_entry(adapter, &adapter_list, list) {
drivers/net/ethernet/ibm/ehea/ehea_main.c
161
struct ehea_port *port = adapter->port[k];
drivers/net/ethernet/ibm/ehea/ehea_main.c
1691
hret = ehea_h_reg_dereg_bcmc(port->adapter->handle,
drivers/net/ethernet/ibm/ehea/ehea_main.c
1703
hret = ehea_h_reg_dereg_bcmc(port->adapter->handle,
drivers/net/ethernet/ibm/ehea/ehea_main.c
1739
hret = ehea_h_modify_ehea_port(port->adapter->handle,
drivers/net/ethernet/ibm/ehea/ehea_main.c
1803
hret = ehea_h_modify_ehea_port(port->adapter->handle,
drivers/net/ethernet/ibm/ehea/ehea_main.c
182
list_for_each_entry(adapter, &adapter_list, list) {
drivers/net/ethernet/ibm/ehea/ehea_main.c
1826
hret = ehea_h_reg_dereg_bcmc(port->adapter->handle,
drivers/net/ethernet/ibm/ehea/ehea_main.c
1836
hret = ehea_h_reg_dereg_bcmc(port->adapter->handle,
drivers/net/ethernet/ibm/ehea/ehea_main.c
187
struct ehea_port *port = adapter->port[k];
drivers/net/ethernet/ibm/ehea/ehea_main.c
1943
if (netdev_mc_count(dev) > port->adapter->max_mc_mac) {
drivers/net/ethernet/ibm/ehea/ehea_main.c
1945
port->adapter->max_mc_mac);
drivers/net/ethernet/ibm/ehea/ehea_main.c
196
arr[i].adh = adapter->handle;
drivers/net/ethernet/ibm/ehea/ehea_main.c
198
arr[i].adh = adapter->handle;
drivers/net/ethernet/ibm/ehea/ehea_main.c
200
arr[i].adh = adapter->handle;
drivers/net/ethernet/ibm/ehea/ehea_main.c
202
arr[i].adh = adapter->handle;
drivers/net/ethernet/ibm/ehea/ehea_main.c
204
arr[i].adh = adapter->handle;
drivers/net/ethernet/ibm/ehea/ehea_main.c
206
arr[i].adh = adapter->handle;
drivers/net/ethernet/ibm/ehea/ehea_main.c
209
arr[i].adh = adapter->handle;
drivers/net/ethernet/ibm/ehea/ehea_main.c
2092
struct ehea_adapter *adapter = port->adapter;
drivers/net/ethernet/ibm/ehea/ehea_main.c
2105
hret = ehea_h_query_ehea_port(adapter->handle, port->logical_port_id,
drivers/net/ethernet/ibm/ehea/ehea_main.c
2116
hret = ehea_h_modify_ehea_port(adapter->handle, port->logical_port_id,
drivers/net/ethernet/ibm/ehea/ehea_main.c
2130
struct ehea_adapter *adapter = port->adapter;
drivers/net/ethernet/ibm/ehea/ehea_main.c
214
arr[i].adh = adapter->handle;
drivers/net/ethernet/ibm/ehea/ehea_main.c
2143
hret = ehea_h_query_ehea_port(adapter->handle, port->logical_port_id,
drivers/net/ethernet/ibm/ehea/ehea_main.c
215
arr[i++].fwh = adapter->neq->fw_handle;
drivers/net/ethernet/ibm/ehea/ehea_main.c
2154
hret = ehea_h_modify_ehea_port(adapter->handle, port->logical_port_id,
drivers/net/ethernet/ibm/ehea/ehea_main.c
2165
static int ehea_activate_qp(struct ehea_adapter *adapter, struct ehea_qp *qp)
drivers/net/ethernet/ibm/ehea/ehea_main.c
217
if (adapter->mr.handle) {
drivers/net/ethernet/ibm/ehea/ehea_main.c
2179
hret = ehea_h_query_ehea_qp(adapter->handle, 0, qp->fw_handle,
drivers/net/ethernet/ibm/ehea/ehea_main.c
218
arr[i].adh = adapter->handle;
drivers/net/ethernet/ibm/ehea/ehea_main.c
2187
hret = ehea_h_modify_ehea_qp(adapter->handle, 0, qp->fw_handle,
drivers/net/ethernet/ibm/ehea/ehea_main.c
219
arr[i++].fwh = adapter->mr.handle;
drivers/net/ethernet/ibm/ehea/ehea_main.c
2195
hret = ehea_h_query_ehea_qp(adapter->handle, 0, qp->fw_handle,
drivers/net/ethernet/ibm/ehea/ehea_main.c
2203
hret = ehea_h_modify_ehea_qp(adapter->handle, 0, qp->fw_handle,
drivers/net/ethernet/ibm/ehea/ehea_main.c
2211
hret = ehea_h_query_ehea_qp(adapter->handle, 0, qp->fw_handle,
drivers/net/ethernet/ibm/ehea/ehea_main.c
2219
hret = ehea_h_modify_ehea_qp(adapter->handle, 0, qp->fw_handle,
drivers/net/ethernet/ibm/ehea/ehea_main.c
2227
hret = ehea_h_query_ehea_qp(adapter->handle, 0, qp->fw_handle,
drivers/net/ethernet/ibm/ehea/ehea_main.c
2246
port->qp_eq = ehea_create_eq(port->adapter, eq_type,
drivers/net/ethernet/ibm/ehea/ehea_main.c
2304
static void ehea_remove_adapter_mr(struct ehea_adapter *adapter)
drivers/net/ethernet/ibm/ehea/ehea_main.c
2306
if (adapter->active_ports)
drivers/net/ethernet/ibm/ehea/ehea_main.c
2309
ehea_rem_mr(&adapter->mr);
drivers/net/ethernet/ibm/ehea/ehea_main.c
2312
static int ehea_add_adapter_mr(struct ehea_adapter *adapter)
drivers/net/ethernet/ibm/ehea/ehea_main.c
2314
if (adapter->active_ports)
drivers/net/ethernet/ibm/ehea/ehea_main.c
2317
return ehea_reg_kernel_mr(adapter, &adapter->mr);
drivers/net/ethernet/ibm/ehea/ehea_main.c
2348
ret = ehea_activate_qp(port->adapter, port->port_res[i].qp);
drivers/net/ethernet/ibm/ehea/ehea_main.c
236
struct ehea_adapter *adapter;
drivers/net/ethernet/ibm/ehea/ehea_main.c
245
list_for_each_entry(adapter, &adapter_list, list)
drivers/net/ethernet/ibm/ehea/ehea_main.c
247
struct ehea_port *port = adapter->port[k];
drivers/net/ethernet/ibm/ehea/ehea_main.c
2512
struct ehea_adapter *adapter = port->adapter;
drivers/net/ethernet/ibm/ehea/ehea_main.c
2535
hret = ehea_h_query_ehea_qp(adapter->handle, 0, qp->fw_handle,
drivers/net/ethernet/ibm/ehea/ehea_main.c
2546
hret = ehea_h_modify_ehea_qp(adapter->handle, 0, qp->fw_handle,
drivers/net/ethernet/ibm/ehea/ehea_main.c
2555
hret = ehea_h_query_ehea_qp(adapter->handle, 0, qp->fw_handle,
drivers/net/ethernet/ibm/ehea/ehea_main.c
2614
struct ehea_adapter *adapter = port->adapter;
drivers/net/ethernet/ibm/ehea/ehea_main.c
2640
hret = ehea_h_query_ehea_qp(adapter->handle, 0, qp->fw_handle,
drivers/net/ethernet/ibm/ehea/ehea_main.c
265
list_for_each_entry(adapter, &adapter_list, list) {
drivers/net/ethernet/ibm/ehea/ehea_main.c
2652
hret = ehea_h_modify_ehea_qp(adapter->handle, 0, qp->fw_handle,
drivers/net/ethernet/ibm/ehea/ehea_main.c
2662
hret = ehea_h_query_ehea_qp(adapter->handle, 0, qp->fw_handle,
drivers/net/ethernet/ibm/ehea/ehea_main.c
267
struct ehea_port *port = adapter->port[k];
drivers/net/ethernet/ibm/ehea/ehea_main.c
2717
struct ehea_adapter *adapter;
drivers/net/ethernet/ibm/ehea/ehea_main.c
2721
list_for_each_entry(adapter, &adapter_list, list)
drivers/net/ethernet/ibm/ehea/ehea_main.c
2722
if (adapter->active_ports) {
drivers/net/ethernet/ibm/ehea/ehea_main.c
2725
struct ehea_port *port = adapter->port[i];
drivers/net/ethernet/ibm/ehea/ehea_main.c
2749
ret = ehea_rem_mr(&adapter->mr);
drivers/net/ethernet/ibm/ehea/ehea_main.c
275
arr[i].adh = adapter->handle;
drivers/net/ethernet/ibm/ehea/ehea_main.c
2758
list_for_each_entry(adapter, &adapter_list, list)
drivers/net/ethernet/ibm/ehea/ehea_main.c
2759
if (adapter->active_ports) {
drivers/net/ethernet/ibm/ehea/ehea_main.c
2761
ret = ehea_reg_kernel_mr(adapter, &adapter->mr);
drivers/net/ethernet/ibm/ehea/ehea_main.c
2769
struct ehea_port *port = adapter->port[i];
drivers/net/ethernet/ibm/ehea/ehea_main.c
2803
static int ehea_sense_adapter_attr(struct ehea_adapter *adapter)
drivers/net/ethernet/ibm/ehea/ehea_main.c
281
arr[i].adh = adapter->handle;
drivers/net/ethernet/ibm/ehea/ehea_main.c
2815
hret = ehea_h_query_ehea(adapter->handle, cb);
drivers/net/ethernet/ibm/ehea/ehea_main.c
2822
adapter->max_mc_mac = cb->max_mc_mac - 1;
drivers/net/ethernet/ibm/ehea/ehea_main.c
2846
hret = ehea_h_query_ehea_port(port->adapter->handle,
drivers/net/ethernet/ibm/ehea/ehea_main.c
2855
hret = ehea_h_modify_ehea_port(port->adapter->
drivers/net/ethernet/ibm/ehea/ehea_main.c
2895
port->ofdev.dev.parent = &port->adapter->ofdev->dev;
drivers/net/ethernet/ibm/ehea/ehea_main.c
293
arr[i].adh = adapter->handle;
drivers/net/ethernet/ibm/ehea/ehea_main.c
2941
static struct ehea_port *ehea_setup_single_port(struct ehea_adapter *adapter,
drivers/net/ethernet/ibm/ehea/ehea_main.c
2965
port->adapter = adapter;
drivers/net/ethernet/ibm/ehea/ehea_main.c
301
arr[i].adh = adapter->handle;
drivers/net/ethernet/ibm/ehea/ehea_main.c
3031
adapter->active_ports++;
drivers/net/ethernet/ibm/ehea/ehea_main.c
3052
struct ehea_adapter *adapter = port->adapter;
drivers/net/ethernet/ibm/ehea/ehea_main.c
3060
adapter->active_ports--;
drivers/net/ethernet/ibm/ehea/ehea_main.c
3063
static int ehea_setup_ports(struct ehea_adapter *adapter)
drivers/net/ethernet/ibm/ehea/ehea_main.c
3071
lhea_dn = adapter->ofdev->dev.of_node;
drivers/net/ethernet/ibm/ehea/ehea_main.c
3080
if (ehea_add_adapter_mr(adapter)) {
drivers/net/ethernet/ibm/ehea/ehea_main.c
3086
adapter->port[i] = ehea_setup_single_port(adapter,
drivers/net/ethernet/ibm/ehea/ehea_main.c
3089
if (adapter->port[i])
drivers/net/ethernet/ibm/ehea/ehea_main.c
3090
netdev_info(adapter->port[i]->netdev,
drivers/net/ethernet/ibm/ehea/ehea_main.c
3093
ehea_remove_adapter_mr(adapter);
drivers/net/ethernet/ibm/ehea/ehea_main.c
3100
static struct device_node *ehea_get_eth_dn(struct ehea_adapter *adapter,
drivers/net/ethernet/ibm/ehea/ehea_main.c
3107
lhea_dn = adapter->ofdev->dev.of_node;
drivers/net/ethernet/ibm/ehea/ehea_main.c
3123
struct ehea_adapter *adapter = dev_get_drvdata(dev);
drivers/net/ethernet/ibm/ehea/ehea_main.c
3132
port = ehea_get_port(adapter, logical_port_id);
drivers/net/ethernet/ibm/ehea/ehea_main.c
3140
eth_dn = ehea_get_eth_dn(adapter, logical_port_id);
drivers/net/ethernet/ibm/ehea/ehea_main.c
3147
if (ehea_add_adapter_mr(adapter)) {
drivers/net/ethernet/ibm/ehea/ehea_main.c
3153
port = ehea_setup_single_port(adapter, logical_port_id, eth_dn);
drivers/net/ethernet/ibm/ehea/ehea_main.c
3159
if (!adapter->port[i]) {
drivers/net/ethernet/ibm/ehea/ehea_main.c
3160
adapter->port[i] = port;
drivers/net/ethernet/ibm/ehea/ehea_main.c
3167
ehea_remove_adapter_mr(adapter);
drivers/net/ethernet/ibm/ehea/ehea_main.c
3178
struct ehea_adapter *adapter = dev_get_drvdata(dev);
drivers/net/ethernet/ibm/ehea/ehea_main.c
3185
port = ehea_get_port(adapter, logical_port_id);
drivers/net/ethernet/ibm/ehea/ehea_main.c
3194
if (adapter->port[i] == port) {
drivers/net/ethernet/ibm/ehea/ehea_main.c
3195
adapter->port[i] = NULL;
drivers/net/ethernet/ibm/ehea/ehea_main.c
3204
ehea_remove_adapter_mr(adapter);
drivers/net/ethernet/ibm/ehea/ehea_main.c
3366
struct ehea_adapter *adapter;
drivers/net/ethernet/ibm/ehea/ehea_main.c
3380
adapter = devm_kzalloc(&dev->dev, sizeof(*adapter), GFP_KERNEL);
drivers/net/ethernet/ibm/ehea/ehea_main.c
3381
if (!adapter) {
drivers/net/ethernet/ibm/ehea/ehea_main.c
3387
list_add(&adapter->list, &adapter_list);
drivers/net/ethernet/ibm/ehea/ehea_main.c
3389
adapter->ofdev = dev;
drivers/net/ethernet/ibm/ehea/ehea_main.c
3394
adapter->handle = *adapter_handle;
drivers/net/ethernet/ibm/ehea/ehea_main.c
3396
if (!adapter->handle) {
drivers/net/ethernet/ibm/ehea/ehea_main.c
3403
adapter->pd = EHEA_PD_ID;
drivers/net/ethernet/ibm/ehea/ehea_main.c
3405
platform_set_drvdata(dev, adapter);
drivers/net/ethernet/ibm/ehea/ehea_main.c
3410
ret = ehea_sense_adapter_attr(adapter);
drivers/net/ethernet/ibm/ehea/ehea_main.c
3416
adapter->neq = ehea_create_eq(adapter,
drivers/net/ethernet/ibm/ehea/ehea_main.c
3418
if (!adapter->neq) {
drivers/net/ethernet/ibm/ehea/ehea_main.c
3424
tasklet_setup(&adapter->neq_tasklet, ehea_neq_tasklet);
drivers/net/ethernet/ibm/ehea/ehea_main.c
3430
ret = ehea_setup_ports(adapter);
drivers/net/ethernet/ibm/ehea/ehea_main.c
3436
ret = ibmebus_request_irq(adapter->neq->attr.ist1,
drivers/net/ethernet/ibm/ehea/ehea_main.c
3438
"ehea_neq", adapter);
drivers/net/ethernet/ibm/ehea/ehea_main.c
3445
tasklet_hi_schedule(&adapter->neq_tasklet);
drivers/net/ethernet/ibm/ehea/ehea_main.c
3452
if (adapter->port[i]) {
drivers/net/ethernet/ibm/ehea/ehea_main.c
3453
ehea_shutdown_single_port(adapter->port[i]);
drivers/net/ethernet/ibm/ehea/ehea_main.c
3454
adapter->port[i] = NULL;
drivers/net/ethernet/ibm/ehea/ehea_main.c
3461
ehea_destroy_eq(adapter->neq);
drivers/net/ethernet/ibm/ehea/ehea_main.c
3464
list_del(&adapter->list);
drivers/net/ethernet/ibm/ehea/ehea_main.c
3474
struct ehea_adapter *adapter = platform_get_drvdata(dev);
drivers/net/ethernet/ibm/ehea/ehea_main.c
3478
if (adapter->port[i]) {
drivers/net/ethernet/ibm/ehea/ehea_main.c
3479
ehea_shutdown_single_port(adapter->port[i]);
drivers/net/ethernet/ibm/ehea/ehea_main.c
3480
adapter->port[i] = NULL;
drivers/net/ethernet/ibm/ehea/ehea_main.c
3485
ibmebus_free_irq(adapter->neq->attr.ist1, adapter);
drivers/net/ethernet/ibm/ehea/ehea_main.c
3486
tasklet_kill(&adapter->neq_tasklet);
drivers/net/ethernet/ibm/ehea/ehea_main.c
3488
ehea_destroy_eq(adapter->neq);
drivers/net/ethernet/ibm/ehea/ehea_main.c
3489
ehea_remove_adapter_mr(adapter);
drivers/net/ethernet/ibm/ehea/ehea_main.c
3490
list_del(&adapter->list);
drivers/net/ethernet/ibm/ehea/ehea_main.c
362
hret = ehea_h_query_ehea_port(port->adapter->handle,
drivers/net/ethernet/ibm/ehea/ehea_main.c
940
resource_type = ehea_error_data(port->adapter, qp->fw_handle,
drivers/net/ethernet/ibm/ehea/ehea_main.c
961
static struct ehea_port *ehea_get_port(struct ehea_adapter *adapter,
drivers/net/ethernet/ibm/ehea/ehea_main.c
967
if (adapter->port[i])
drivers/net/ethernet/ibm/ehea/ehea_main.c
968
if (adapter->port[i]->logical_port_id == logical_port)
drivers/net/ethernet/ibm/ehea/ehea_main.c
969
return adapter->port[i];
drivers/net/ethernet/ibm/ehea/ehea_main.c
987
hret = ehea_h_query_ehea_port(port->adapter->handle,
drivers/net/ethernet/ibm/ehea/ehea_qmr.c
108
struct ehea_cq *ehea_create_cq(struct ehea_adapter *adapter,
drivers/net/ethernet/ibm/ehea/ehea_qmr.c
125
cq->adapter = adapter;
drivers/net/ethernet/ibm/ehea/ehea_qmr.c
127
hret = ehea_h_alloc_resource_cq(adapter->handle, &cq->attr,
drivers/net/ethernet/ibm/ehea/ehea_qmr.c
147
hret = ehea_h_register_rpage(adapter->handle,
drivers/net/ethernet/ibm/ehea/ehea_qmr.c
183
ehea_h_free_resource(adapter->handle, cq->fw_handle, FORCE_FREE);
drivers/net/ethernet/ibm/ehea/ehea_qmr.c
195
u64 adapter_handle = cq->adapter->handle;
drivers/net/ethernet/ibm/ehea/ehea_qmr.c
217
ehea_error_data(cq->adapter, cq->fw_handle, &aer, &aerr);
drivers/net/ethernet/ibm/ehea/ehea_qmr.c
229
struct ehea_eq *ehea_create_eq(struct ehea_adapter *adapter,
drivers/net/ethernet/ibm/ehea/ehea_qmr.c
242
eq->adapter = adapter;
drivers/net/ethernet/ibm/ehea/ehea_qmr.c
248
hret = ehea_h_alloc_resource_eq(adapter->handle,
drivers/net/ethernet/ibm/ehea/ehea_qmr.c
272
hret = ehea_h_register_rpage(adapter->handle, 0,
drivers/net/ethernet/ibm/ehea/ehea_qmr.c
296
ehea_h_free_resource(adapter->handle, eq->fw_handle, FORCE_FREE);
drivers/net/ethernet/ibm/ehea/ehea_qmr.c
322
hret = ehea_h_free_resource(eq->adapter->handle, eq->fw_handle, force);
drivers/net/ethernet/ibm/ehea/ehea_qmr.c
344
ehea_error_data(eq->adapter, eq->fw_handle, &aer, &aerr);
drivers/net/ethernet/ibm/ehea/ehea_qmr.c
359
struct ehea_adapter *adapter, int h_call_q_selector)
drivers/net/ethernet/ibm/ehea/ehea_qmr.c
376
hret = ehea_h_register_rpage(adapter->handle,
drivers/net/ethernet/ibm/ehea/ehea_qmr.c
397
struct ehea_qp *ehea_create_qp(struct ehea_adapter *adapter,
drivers/net/ethernet/ibm/ehea/ehea_qmr.c
411
qp->adapter = adapter;
drivers/net/ethernet/ibm/ehea/ehea_qmr.c
413
hret = ehea_h_alloc_resource_qp(adapter->handle, init_attr, pd,
drivers/net/ethernet/ibm/ehea/ehea_qmr.c
427
init_attr->act_wqe_size_enc_sq, adapter,
drivers/net/ethernet/ibm/ehea/ehea_qmr.c
438
adapter, 1);
drivers/net/ethernet/ibm/ehea/ehea_qmr.c
449
adapter, 2);
drivers/net/ethernet/ibm/ehea/ehea_qmr.c
461
adapter, 3);
drivers/net/ethernet/ibm/ehea/ehea_qmr.c
482
ehea_h_disable_and_get_hea(adapter->handle, qp->fw_handle);
drivers/net/ethernet/ibm/ehea/ehea_qmr.c
483
ehea_h_free_resource(adapter->handle, qp->fw_handle, FORCE_FREE);
drivers/net/ethernet/ibm/ehea/ehea_qmr.c
496
ehea_h_disable_and_get_hea(qp->adapter->handle, qp->fw_handle);
drivers/net/ethernet/ibm/ehea/ehea_qmr.c
497
hret = ehea_h_free_resource(qp->adapter->handle, qp->fw_handle, force);
drivers/net/ethernet/ibm/ehea/ehea_qmr.c
523
ehea_error_data(qp->adapter, qp->fw_handle, &aer, &aerr);
drivers/net/ethernet/ibm/ehea/ehea_qmr.c
791
struct ehea_adapter *adapter,
drivers/net/ethernet/ibm/ehea/ehea_qmr.c
807
hret = ehea_h_register_rpage_mr(adapter->handle, mr->handle, 0,
drivers/net/ethernet/ibm/ehea/ehea_qmr.c
812
ehea_h_free_resource(adapter->handle, mr->handle,
drivers/net/ethernet/ibm/ehea/ehea_qmr.c
822
struct ehea_adapter *adapter,
drivers/net/ethernet/ibm/ehea/ehea_qmr.c
832
hret = ehea_reg_mr_section(top, dir, idx, pt, adapter, mr);
drivers/net/ethernet/ibm/ehea/ehea_qmr.c
840
struct ehea_adapter *adapter,
drivers/net/ethernet/ibm/ehea/ehea_qmr.c
850
hret = ehea_reg_mr_sections(top, dir, pt, adapter, mr);
drivers/net/ethernet/ibm/ehea/ehea_qmr.c
857
int ehea_reg_kernel_mr(struct ehea_adapter *adapter, struct ehea_mr *mr)
drivers/net/ethernet/ibm/ehea/ehea_qmr.c
873
hret = ehea_h_alloc_resource_mr(adapter->handle, EHEA_BUSMAP_START,
drivers/net/ethernet/ibm/ehea/ehea_qmr.c
874
ehea_mr_len, acc_ctrl, adapter->pd,
drivers/net/ethernet/ibm/ehea/ehea_qmr.c
884
ehea_h_free_resource(adapter->handle, mr->handle, FORCE_FREE);
drivers/net/ethernet/ibm/ehea/ehea_qmr.c
894
hret = ehea_reg_mr_dir_sections(top, pt, adapter, mr);
drivers/net/ethernet/ibm/ehea/ehea_qmr.c
900
ehea_h_free_resource(adapter->handle, mr->handle, FORCE_FREE);
drivers/net/ethernet/ibm/ehea/ehea_qmr.c
907
mr->adapter = adapter;
drivers/net/ethernet/ibm/ehea/ehea_qmr.c
918
if (!mr || !mr->adapter)
drivers/net/ethernet/ibm/ehea/ehea_qmr.c
921
hret = ehea_h_free_resource(mr->adapter->handle, mr->handle,
drivers/net/ethernet/ibm/ehea/ehea_qmr.c
931
int ehea_gen_smr(struct ehea_adapter *adapter, struct ehea_mr *old_mr,
drivers/net/ethernet/ibm/ehea/ehea_qmr.c
936
hret = ehea_h_register_smr(adapter->handle, old_mr->handle,
drivers/net/ethernet/ibm/ehea/ehea_qmr.c
938
adapter->pd, shared_mr);
drivers/net/ethernet/ibm/ehea/ehea_qmr.c
942
shared_mr->adapter = adapter;
drivers/net/ethernet/ibm/ehea/ehea_qmr.c
971
u64 ehea_error_data(struct ehea_adapter *adapter, u64 res_handle,
drivers/net/ethernet/ibm/ehea/ehea_qmr.c
984
ret = ehea_h_error_data(adapter->handle, res_handle, rblock);
drivers/net/ethernet/ibm/ehea/ehea_qmr.h
356
struct ehea_eq *ehea_create_eq(struct ehea_adapter *adapter,
drivers/net/ethernet/ibm/ehea/ehea_qmr.h
364
struct ehea_cq *ehea_create_cq(struct ehea_adapter *adapter, int cqe,
drivers/net/ethernet/ibm/ehea/ehea_qmr.h
369
struct ehea_qp *ehea_create_qp(struct ehea_adapter *adapter, u32 pd,
drivers/net/ethernet/ibm/ehea/ehea_qmr.h
374
int ehea_reg_kernel_mr(struct ehea_adapter *adapter, struct ehea_mr *mr);
drivers/net/ethernet/ibm/ehea/ehea_qmr.h
376
int ehea_gen_smr(struct ehea_adapter *adapter, struct ehea_mr *old_mr,
drivers/net/ethernet/ibm/ehea/ehea_qmr.h
381
u64 ehea_error_data(struct ehea_adapter *adapter, u64 res_handle,
drivers/net/ethernet/ibm/ibmveth.c
1011
ret1 = h_illan_attributes(adapter->vdev->unit_address, 0, 0, &ret_attr);
drivers/net/ethernet/ibm/ibmveth.c
1015
ret2 = h_illan_attributes(adapter->vdev->unit_address, clr_attr,
drivers/net/ethernet/ibm/ibmveth.c
102
static inline u32 ibmveth_rxq_flags(struct ibmveth_adapter *adapter)
drivers/net/ethernet/ibm/ibmveth.c
1022
h_illan_attributes(adapter->vdev->unit_address,
drivers/net/ethernet/ibm/ibmveth.c
1030
adapter->fw_large_send_support = data;
drivers/net/ethernet/ibm/ibmveth.c
1031
adapter->large_send = data;
drivers/net/ethernet/ibm/ibmveth.c
104
return be32_to_cpu(adapter->rx_queue.queue_addr[adapter->rx_queue.index].flags_off);
drivers/net/ethernet/ibm/ibmveth.c
1041
adapter->large_send = data;
drivers/net/ethernet/ibm/ibmveth.c
1053
struct ibmveth_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/ibm/ibmveth.c
1058
if (rx_csum != adapter->rx_csum) {
drivers/net/ethernet/ibm/ibmveth.c
1060
if (rc1 && !adapter->rx_csum)
drivers/net/ethernet/ibm/ibmveth.c
1066
if (large_send != adapter->large_send) {
drivers/net/ethernet/ibm/ibmveth.c
1068
if (rc2 && !adapter->large_send)
drivers/net/ethernet/ibm/ibmveth.c
107
static inline int ibmveth_rxq_toggle(struct ibmveth_adapter *adapter)
drivers/net/ethernet/ibm/ibmveth.c
109
return (ibmveth_rxq_flags(adapter) & IBMVETH_RXQ_TOGGLE) >>
drivers/net/ethernet/ibm/ibmveth.c
1101
struct ibmveth_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/ibm/ibmveth.c
1104
data[i] = IBMVETH_GET_STAT(adapter, ibmveth_stats[i].offset);
drivers/net/ethernet/ibm/ibmveth.c
1120
struct ibmveth_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/ibm/ibmveth.c
113
static inline int ibmveth_rxq_pending_buffer(struct ibmveth_adapter *adapter)
drivers/net/ethernet/ibm/ibmveth.c
1138
if (adapter->tx_ltb_ptr[i])
drivers/net/ethernet/ibm/ibmveth.c
1141
rc = ibmveth_allocate_tx_ltb(adapter, i);
drivers/net/ethernet/ibm/ibmveth.c
115
return ibmveth_rxq_toggle(adapter) == adapter->rx_queue.toggle;
drivers/net/ethernet/ibm/ibmveth.c
1161
if (adapter->tx_ltb_ptr[i - 1])
drivers/net/ethernet/ibm/ibmveth.c
1162
ibmveth_free_tx_ltb(adapter, i - 1);
drivers/net/ethernet/ibm/ibmveth.c
118
static inline int ibmveth_rxq_buffer_valid(struct ibmveth_adapter *adapter)
drivers/net/ethernet/ibm/ibmveth.c
1187
static int ibmveth_send(struct ibmveth_adapter *adapter,
drivers/net/ethernet/ibm/ibmveth.c
120
return ibmveth_rxq_flags(adapter) & IBMVETH_RXQ_VALID;
drivers/net/ethernet/ibm/ibmveth.c
1201
ret = h_send_logical_lan(adapter->vdev->unit_address, desc,
drivers/net/ethernet/ibm/ibmveth.c
1203
adapter->fw_large_send_support);
drivers/net/ethernet/ibm/ibmveth.c
1207
netdev_err(adapter->netdev, "tx: h_send_logical_lan failed "
drivers/net/ethernet/ibm/ibmveth.c
123
static inline int ibmveth_rxq_frame_offset(struct ibmveth_adapter *adapter)
drivers/net/ethernet/ibm/ibmveth.c
1235
struct ibmveth_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/ibm/ibmveth.c
125
return ibmveth_rxq_flags(adapter) & IBMVETH_RXQ_OFF_MASK;
drivers/net/ethernet/ibm/ibmveth.c
1268
if (skb_is_gso(skb) && adapter->fw_large_send_support)
drivers/net/ethernet/ibm/ibmveth.c
1273
if (adapter->fw_large_send_support) {
drivers/net/ethernet/ibm/ibmveth.c
1275
adapter->tx_large_packets++;
drivers/net/ethernet/ibm/ibmveth.c
128
static inline int ibmveth_rxq_large_packet(struct ibmveth_adapter *adapter)
drivers/net/ethernet/ibm/ibmveth.c
1284
adapter->tx_large_packets++;
drivers/net/ethernet/ibm/ibmveth.c
1289
if (unlikely(skb->len > adapter->tx_ltb_size)) {
drivers/net/ethernet/ibm/ibmveth.c
1290
netdev_err(adapter->netdev, "tx: packet size (%u) exceeds ltb (%u)\n",
drivers/net/ethernet/ibm/ibmveth.c
1291
skb->len, adapter->tx_ltb_size);
drivers/net/ethernet/ibm/ibmveth.c
1295
memcpy(adapter->tx_ltb_ptr[queue_num], skb->data, skb_headlen(skb));
drivers/net/ethernet/ibm/ibmveth.c
130
return ibmveth_rxq_flags(adapter) & IBMVETH_RXQ_LRG_PKT;
drivers/net/ethernet/ibm/ibmveth.c
1301
memcpy(adapter->tx_ltb_ptr[queue_num] + total_bytes,
drivers/net/ethernet/ibm/ibmveth.c
1307
netdev_err(adapter->netdev, "tx: incorrect packet len copied into ltb (%u != %u)\n",
drivers/net/ethernet/ibm/ibmveth.c
1313
desc.fields.address = adapter->tx_ltb_dma[queue_num];
drivers/net/ethernet/ibm/ibmveth.c
1317
if (ibmveth_send(adapter, desc.desc, mss)) {
drivers/net/ethernet/ibm/ibmveth.c
1318
adapter->tx_send_failed++;
drivers/net/ethernet/ibm/ibmveth.c
133
static inline int ibmveth_rxq_frame_length(struct ibmveth_adapter *adapter)
drivers/net/ethernet/ibm/ibmveth.c
135
return be32_to_cpu(adapter->rx_queue.queue_addr[adapter->rx_queue.index].length);
drivers/net/ethernet/ibm/ibmveth.c
138
static inline int ibmveth_rxq_csum_good(struct ibmveth_adapter *adapter)
drivers/net/ethernet/ibm/ibmveth.c
1380
struct ibmveth_adapter *adapter)
drivers/net/ethernet/ibm/ibmveth.c
140
return ibmveth_rxq_flags(adapter) & IBMVETH_RXQ_CSUM_GOOD;
drivers/net/ethernet/ibm/ibmveth.c
1450
struct ibmveth_adapter *adapter =
drivers/net/ethernet/ibm/ibmveth.c
1452
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/ibm/ibmveth.c
1459
if (!ibmveth_rxq_pending_buffer(adapter))
drivers/net/ethernet/ibm/ibmveth.c
1463
if (!ibmveth_rxq_buffer_valid(adapter)) {
drivers/net/ethernet/ibm/ibmveth.c
1465
adapter->rx_invalid_buffer++;
drivers/net/ethernet/ibm/ibmveth.c
1467
if (unlikely(ibmveth_rxq_harvest_buffer(adapter, true)))
drivers/net/ethernet/ibm/ibmveth.c
1471
int length = ibmveth_rxq_frame_length(adapter);
drivers/net/ethernet/ibm/ibmveth.c
1472
int offset = ibmveth_rxq_frame_offset(adapter);
drivers/net/ethernet/ibm/ibmveth.c
1473
int csum_good = ibmveth_rxq_csum_good(adapter);
drivers/net/ethernet/ibm/ibmveth.c
1474
int lrg_pkt = ibmveth_rxq_large_packet(adapter);
drivers/net/ethernet/ibm/ibmveth.c
1477
skb = ibmveth_rxq_get_buffer(adapter);
drivers/net/ethernet/ibm/ibmveth.c
1503
if (unlikely(ibmveth_rxq_harvest_buffer(adapter, true)))
drivers/net/ethernet/ibm/ibmveth.c
1507
if (unlikely(ibmveth_rxq_harvest_buffer(adapter, false)))
drivers/net/ethernet/ibm/ibmveth.c
1527
adapter->rx_large_packets++;
drivers/net/ethernet/ibm/ibmveth.c
1532
ibmveth_rx_csum_helper(skb, adapter);
drivers/net/ethernet/ibm/ibmveth.c
1543
ibmveth_replenish_task(adapter);
drivers/net/ethernet/ibm/ibmveth.c
1554
lpar_rc = h_vio_signal(adapter->vdev->unit_address, VIO_IRQ_ENABLE);
drivers/net/ethernet/ibm/ibmveth.c
1556
schedule_work(&adapter->work);
drivers/net/ethernet/ibm/ibmveth.c
1560
if (ibmveth_rxq_pending_buffer(adapter) && napi_schedule(napi)) {
drivers/net/ethernet/ibm/ibmveth.c
1561
lpar_rc = h_vio_signal(adapter->vdev->unit_address,
drivers/net/ethernet/ibm/ibmveth.c
1573
struct ibmveth_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/ibm/ibmveth.c
1576
if (napi_schedule_prep(&adapter->napi)) {
drivers/net/ethernet/ibm/ibmveth.c
1577
lpar_rc = h_vio_signal(adapter->vdev->unit_address,
drivers/net/ethernet/ibm/ibmveth.c
1580
__napi_schedule(&adapter->napi);
drivers/net/ethernet/ibm/ibmveth.c
1587
struct ibmveth_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/ibm/ibmveth.c
1591
(netdev_mc_count(netdev) > adapter->mcastFilterSize)) {
drivers/net/ethernet/ibm/ibmveth.c
1592
lpar_rc = h_multicast_ctrl(adapter->vdev->unit_address,
drivers/net/ethernet/ibm/ibmveth.c
1603
lpar_rc = h_multicast_ctrl(adapter->vdev->unit_address,
drivers/net/ethernet/ibm/ibmveth.c
1618
lpar_rc = h_multicast_ctrl(adapter->vdev->unit_address,
drivers/net/ethernet/ibm/ibmveth.c
1629
lpar_rc = h_multicast_ctrl(adapter->vdev->unit_address,
drivers/net/ethernet/ibm/ibmveth.c
1641
struct ibmveth_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/ibm/ibmveth.c
1642
struct vio_dev *viodev = adapter->vdev;
drivers/net/ethernet/ibm/ibmveth.c
1648
if (new_mtu_oh <= adapter->rx_buff_pool[i].buff_size)
drivers/net/ethernet/ibm/ibmveth.c
1656
if (netif_running(adapter->netdev)) {
drivers/net/ethernet/ibm/ibmveth.c
1658
ibmveth_close(adapter->netdev);
drivers/net/ethernet/ibm/ibmveth.c
1663
adapter->rx_buff_pool[i].active = 1;
drivers/net/ethernet/ibm/ibmveth.c
1665
if (new_mtu_oh <= adapter->rx_buff_pool[i].buff_size) {
drivers/net/ethernet/ibm/ibmveth.c
1671
return ibmveth_open(adapter->netdev);
drivers/net/ethernet/ibm/ibmveth.c
1677
if (need_restart && (rc = ibmveth_open(adapter->netdev)))
drivers/net/ethernet/ibm/ibmveth.c
1702
struct ibmveth_adapter *adapter;
drivers/net/ethernet/ibm/ibmveth.c
1714
adapter = netdev_priv(netdev);
drivers/net/ethernet/ibm/ibmveth.c
1723
if (adapter->rx_buff_pool[i].active)
drivers/net/ethernet/ibm/ibmveth.c
1725
adapter->rx_buff_pool[i].size *
drivers/net/ethernet/ibm/ibmveth.c
1726
IOMMU_PAGE_ALIGN(adapter->rx_buff_pool[i].
drivers/net/ethernet/ibm/ibmveth.c
1728
rxqentries += adapter->rx_buff_pool[i].size;
drivers/net/ethernet/ibm/ibmveth.c
1739
struct ibmveth_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/ibm/ibmveth.c
1748
rc = h_change_logical_lan_mac(adapter->vdev->unit_address, mac_address);
drivers/net/ethernet/ibm/ibmveth.c
1750
netdev_err(adapter->netdev, "h_change_logical_lan_mac failed with rc=%d\n", rc);
drivers/net/ethernet/ibm/ibmveth.c
1779
struct ibmveth_adapter *adapter;
drivers/net/ethernet/ibm/ibmveth.c
1816
adapter = netdev_priv(netdev);
drivers/net/ethernet/ibm/ibmveth.c
1819
adapter->vdev = dev;
drivers/net/ethernet/ibm/ibmveth.c
1820
adapter->netdev = netdev;
drivers/net/ethernet/ibm/ibmveth.c
1821
INIT_WORK(&adapter->work, ibmveth_reset);
drivers/net/ethernet/ibm/ibmveth.c
1822
adapter->mcastFilterSize = be32_to_cpu(*mcastFilterSize_p);
drivers/net/ethernet/ibm/ibmveth.c
1825
netif_napi_add_weight(netdev, &adapter->napi, ibmveth_poll, 16);
drivers/net/ethernet/ibm/ibmveth.c
1839
ret = h_illan_attributes(adapter->vdev->unit_address, 0, 0, &ret_attr);
drivers/net/ethernet/ibm/ibmveth.c
1850
adapter->is_active_trunk = false;
drivers/net/ethernet/ibm/ibmveth.c
1852
adapter->is_active_trunk = true;
drivers/net/ethernet/ibm/ibmveth.c
1859
adapter->rx_buffers_per_hcall = IBMVETH_MAX_RX_PER_HCALL;
drivers/net/ethernet/ibm/ibmveth.c
1862
adapter->rx_buffers_per_hcall);
drivers/net/ethernet/ibm/ibmveth.c
1864
adapter->rx_buffers_per_hcall = 1;
drivers/net/ethernet/ibm/ibmveth.c
1867
adapter->rx_buffers_per_hcall);
drivers/net/ethernet/ibm/ibmveth.c
1879
struct kobject *kobj = &adapter->rx_buff_pool[i].kobj;
drivers/net/ethernet/ibm/ibmveth.c
1882
ibmveth_init_buffer_pool(&adapter->rx_buff_pool[i], i,
drivers/net/ethernet/ibm/ibmveth.c
1899
adapter->tx_ltb_size = PAGE_ALIGN(IBMVETH_MAX_TX_BUF_SIZE);
drivers/net/ethernet/ibm/ibmveth.c
1901
adapter->tx_ltb_ptr[i] = NULL;
drivers/net/ethernet/ibm/ibmveth.c
1903
netdev_dbg(netdev, "adapter @ 0x%p\n", adapter);
drivers/net/ethernet/ibm/ibmveth.c
1924
struct ibmveth_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/ibm/ibmveth.c
1927
cancel_work_sync(&adapter->work);
drivers/net/ethernet/ibm/ibmveth.c
1930
kobject_put(&adapter->rx_buff_pool[i].kobj);
drivers/net/ethernet/ibm/ibmveth.c
1985
struct ibmveth_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/ibm/ibmveth.c
2016
if (pool == &adapter->rx_buff_pool[i])
drivers/net/ethernet/ibm/ibmveth.c
2018
if (!adapter->rx_buff_pool[i].active)
drivers/net/ethernet/ibm/ibmveth.c
2020
if (mtu <= adapter->rx_buff_pool[i].buff_size)
drivers/net/ethernet/ibm/ibmveth.c
211
static void ibmveth_replenish_buffer_pool(struct ibmveth_adapter *adapter,
drivers/net/ethernet/ibm/ibmveth.c
2184
struct ibmveth_adapter *adapter = kunit_kzalloc(test, sizeof(*adapter), GFP_KERNEL);
drivers/net/ethernet/ibm/ibmveth.c
2188
KUNIT_ASSERT_NOT_ERR_OR_NULL(test, adapter);
drivers/net/ethernet/ibm/ibmveth.c
2190
INIT_WORK(&adapter->work, ibmveth_reset_kunit);
drivers/net/ethernet/ibm/ibmveth.c
2194
ibmveth_init_buffer_pool(&adapter->rx_buff_pool[i], i,
drivers/net/ethernet/ibm/ibmveth.c
2198
pool = &adapter->rx_buff_pool[0];
drivers/net/ethernet/ibm/ibmveth.c
2203
KUNIT_EXPECT_EQ(test, -EINVAL, ibmveth_remove_buffer_from_pool(adapter, correlator, false));
drivers/net/ethernet/ibm/ibmveth.c
2204
KUNIT_EXPECT_EQ(test, -EINVAL, ibmveth_remove_buffer_from_pool(adapter, correlator, true));
drivers/net/ethernet/ibm/ibmveth.c
2206
correlator = ((u64)0 << 32) | adapter->rx_buff_pool[0].size;
drivers/net/ethernet/ibm/ibmveth.c
2207
KUNIT_EXPECT_EQ(test, -EINVAL, ibmveth_remove_buffer_from_pool(adapter, correlator, false));
drivers/net/ethernet/ibm/ibmveth.c
2208
KUNIT_EXPECT_EQ(test, -EINVAL, ibmveth_remove_buffer_from_pool(adapter, correlator, true));
drivers/net/ethernet/ibm/ibmveth.c
2212
KUNIT_EXPECT_EQ(test, -EFAULT, ibmveth_remove_buffer_from_pool(adapter, correlator, false));
drivers/net/ethernet/ibm/ibmveth.c
2213
KUNIT_EXPECT_EQ(test, -EFAULT, ibmveth_remove_buffer_from_pool(adapter, correlator, true));
drivers/net/ethernet/ibm/ibmveth.c
2215
flush_work(&adapter->work);
drivers/net/ethernet/ibm/ibmveth.c
2230
struct ibmveth_adapter *adapter = kunit_kzalloc(test, sizeof(*adapter), GFP_KERNEL);
drivers/net/ethernet/ibm/ibmveth.c
2234
KUNIT_ASSERT_NOT_ERR_OR_NULL(test, adapter);
drivers/net/ethernet/ibm/ibmveth.c
2237
INIT_WORK(&adapter->work, ibmveth_reset_kunit);
drivers/net/ethernet/ibm/ibmveth.c
2239
adapter->rx_queue.queue_len = 1;
drivers/net/ethernet/ibm/ibmveth.c
2240
adapter->rx_queue.index = 0;
drivers/net/ethernet/ibm/ibmveth.c
2241
adapter->rx_queue.queue_addr = kunit_kzalloc(test, sizeof(struct ibmveth_rx_q_entry),
drivers/net/ethernet/ibm/ibmveth.c
2243
KUNIT_ASSERT_NOT_ERR_OR_NULL(test, adapter->rx_queue.queue_addr);
drivers/net/ethernet/ibm/ibmveth.c
2247
ibmveth_init_buffer_pool(&adapter->rx_buff_pool[i], i,
drivers/net/ethernet/ibm/ibmveth.c
225
vdev = adapter->vdev;
drivers/net/ethernet/ibm/ibmveth.c
2251
pool = &adapter->rx_buff_pool[0];
drivers/net/ethernet/ibm/ibmveth.c
2255
adapter->rx_queue.queue_addr[0].correlator = (u64)IBMVETH_NUM_BUFF_POOLS << 32 | 0;
drivers/net/ethernet/ibm/ibmveth.c
2256
KUNIT_EXPECT_PTR_EQ(test, NULL, ibmveth_rxq_get_buffer(adapter));
drivers/net/ethernet/ibm/ibmveth.c
2258
adapter->rx_queue.queue_addr[0].correlator = (u64)0 << 32 | adapter->rx_buff_pool[0].size;
drivers/net/ethernet/ibm/ibmveth.c
2259
KUNIT_EXPECT_PTR_EQ(test, NULL, ibmveth_rxq_get_buffer(adapter));
drivers/net/ethernet/ibm/ibmveth.c
2262
adapter->rx_queue.queue_addr[0].correlator = (u64)0 << 32 | 0;
drivers/net/ethernet/ibm/ibmveth.c
2263
KUNIT_EXPECT_PTR_EQ(test, skb, ibmveth_rxq_get_buffer(adapter));
drivers/net/ethernet/ibm/ibmveth.c
2265
flush_work(&adapter->work);
drivers/net/ethernet/ibm/ibmveth.c
230
batch = adapter->rx_buffers_per_hcall;
drivers/net/ethernet/ibm/ibmveth.c
239
adapter->replenish_add_buff_failure++;
drivers/net/ethernet/ibm/ibmveth.c
240
netdev_info(adapter->netdev,
drivers/net/ethernet/ibm/ibmveth.c
243
schedule_work(&adapter->work);
drivers/net/ethernet/ibm/ibmveth.c
250
skb = netdev_alloc_skb(adapter->netdev,
drivers/net/ethernet/ibm/ibmveth.c
253
adapter->replenish_no_mem++;
drivers/net/ethernet/ibm/ibmveth.c
254
adapter->replenish_add_buff_failure++;
drivers/net/ethernet/ibm/ibmveth.c
263
adapter->replenish_add_buff_failure++;
drivers/net/ethernet/ibm/ibmveth.c
277
len = adapter->netdev->mtu + IBMVETH_BUFF_OH;
drivers/net/ethernet/ibm/ibmveth.c
331
adapter->replenish_add_buff_success += filled;
drivers/net/ethernet/ibm/ibmveth.c
354
adapter->replenish_add_buff_failure += filled;
drivers/net/ethernet/ibm/ibmveth.c
368
netdev_info(adapter->netdev,
drivers/net/ethernet/ibm/ibmveth.c
371
adapter->rx_buffers_per_hcall = 1;
drivers/net/ethernet/ibm/ibmveth.c
372
netdev_info(adapter->netdev,
drivers/net/ethernet/ibm/ibmveth.c
387
static void ibmveth_update_rx_no_buffer(struct ibmveth_adapter *adapter)
drivers/net/ethernet/ibm/ibmveth.c
389
__be64 *p = adapter->buffer_list_addr + 4096 - 8;
drivers/net/ethernet/ibm/ibmveth.c
391
adapter->rx_no_buffer = be64_to_cpup(p);
drivers/net/ethernet/ibm/ibmveth.c
395
static void ibmveth_replenish_task(struct ibmveth_adapter *adapter)
drivers/net/ethernet/ibm/ibmveth.c
399
adapter->replenish_task_cycles++;
drivers/net/ethernet/ibm/ibmveth.c
402
struct ibmveth_buff_pool *pool = &adapter->rx_buff_pool[i];
drivers/net/ethernet/ibm/ibmveth.c
406
ibmveth_replenish_buffer_pool(adapter, pool);
drivers/net/ethernet/ibm/ibmveth.c
409
ibmveth_update_rx_no_buffer(adapter);
drivers/net/ethernet/ibm/ibmveth.c
413
static void ibmveth_free_buffer_pool(struct ibmveth_adapter *adapter,
drivers/net/ethernet/ibm/ibmveth.c
425
dma_unmap_single(&adapter->vdev->dev,
drivers/net/ethernet/ibm/ibmveth.c
457
static int ibmveth_remove_buffer_from_pool(struct ibmveth_adapter *adapter,
drivers/net/ethernet/ibm/ibmveth.c
466
WARN_ON(index >= adapter->rx_buff_pool[pool].size)) {
drivers/net/ethernet/ibm/ibmveth.c
467
schedule_work(&adapter->work);
drivers/net/ethernet/ibm/ibmveth.c
471
skb = adapter->rx_buff_pool[pool].skbuff[index];
drivers/net/ethernet/ibm/ibmveth.c
473
schedule_work(&adapter->work);
drivers/net/ethernet/ibm/ibmveth.c
485
adapter->rx_buff_pool[pool].skbuff[index] = NULL;
drivers/net/ethernet/ibm/ibmveth.c
487
dma_unmap_single(&adapter->vdev->dev,
drivers/net/ethernet/ibm/ibmveth.c
488
adapter->rx_buff_pool[pool].dma_addr[index],
drivers/net/ethernet/ibm/ibmveth.c
489
adapter->rx_buff_pool[pool].buff_size,
drivers/net/ethernet/ibm/ibmveth.c
493
free_index = adapter->rx_buff_pool[pool].producer_index;
drivers/net/ethernet/ibm/ibmveth.c
494
adapter->rx_buff_pool[pool].producer_index++;
drivers/net/ethernet/ibm/ibmveth.c
495
if (adapter->rx_buff_pool[pool].producer_index >=
drivers/net/ethernet/ibm/ibmveth.c
496
adapter->rx_buff_pool[pool].size)
drivers/net/ethernet/ibm/ibmveth.c
497
adapter->rx_buff_pool[pool].producer_index = 0;
drivers/net/ethernet/ibm/ibmveth.c
498
adapter->rx_buff_pool[pool].free_map[free_index] = index;
drivers/net/ethernet/ibm/ibmveth.c
502
atomic_dec(&(adapter->rx_buff_pool[pool].available));
drivers/net/ethernet/ibm/ibmveth.c
508
static inline struct sk_buff *ibmveth_rxq_get_buffer(struct ibmveth_adapter *adapter)
drivers/net/ethernet/ibm/ibmveth.c
510
u64 correlator = adapter->rx_queue.queue_addr[adapter->rx_queue.index].correlator;
drivers/net/ethernet/ibm/ibmveth.c
515
WARN_ON(index >= adapter->rx_buff_pool[pool].size)) {
drivers/net/ethernet/ibm/ibmveth.c
516
schedule_work(&adapter->work);
drivers/net/ethernet/ibm/ibmveth.c
520
return adapter->rx_buff_pool[pool].skbuff[index];
drivers/net/ethernet/ibm/ibmveth.c
535
static int ibmveth_rxq_harvest_buffer(struct ibmveth_adapter *adapter,
drivers/net/ethernet/ibm/ibmveth.c
541
cor = adapter->rx_queue.queue_addr[adapter->rx_queue.index].correlator;
drivers/net/ethernet/ibm/ibmveth.c
542
rc = ibmveth_remove_buffer_from_pool(adapter, cor, reuse);
drivers/net/ethernet/ibm/ibmveth.c
546
if (++adapter->rx_queue.index == adapter->rx_queue.num_slots) {
drivers/net/ethernet/ibm/ibmveth.c
547
adapter->rx_queue.index = 0;
drivers/net/ethernet/ibm/ibmveth.c
548
adapter->rx_queue.toggle = !adapter->rx_queue.toggle;
drivers/net/ethernet/ibm/ibmveth.c
554
static void ibmveth_free_tx_ltb(struct ibmveth_adapter *adapter, int idx)
drivers/net/ethernet/ibm/ibmveth.c
556
dma_unmap_single(&adapter->vdev->dev, adapter->tx_ltb_dma[idx],
drivers/net/ethernet/ibm/ibmveth.c
557
adapter->tx_ltb_size, DMA_TO_DEVICE);
drivers/net/ethernet/ibm/ibmveth.c
558
kfree(adapter->tx_ltb_ptr[idx]);
drivers/net/ethernet/ibm/ibmveth.c
559
adapter->tx_ltb_ptr[idx] = NULL;
drivers/net/ethernet/ibm/ibmveth.c
562
static int ibmveth_allocate_tx_ltb(struct ibmveth_adapter *adapter, int idx)
drivers/net/ethernet/ibm/ibmveth.c
564
adapter->tx_ltb_ptr[idx] = kzalloc(adapter->tx_ltb_size,
drivers/net/ethernet/ibm/ibmveth.c
566
if (!adapter->tx_ltb_ptr[idx]) {
drivers/net/ethernet/ibm/ibmveth.c
567
netdev_err(adapter->netdev,
drivers/net/ethernet/ibm/ibmveth.c
571
adapter->tx_ltb_dma[idx] = dma_map_single(&adapter->vdev->dev,
drivers/net/ethernet/ibm/ibmveth.c
572
adapter->tx_ltb_ptr[idx],
drivers/net/ethernet/ibm/ibmveth.c
573
adapter->tx_ltb_size,
drivers/net/ethernet/ibm/ibmveth.c
575
if (dma_mapping_error(&adapter->vdev->dev, adapter->tx_ltb_dma[idx])) {
drivers/net/ethernet/ibm/ibmveth.c
576
netdev_err(adapter->netdev,
drivers/net/ethernet/ibm/ibmveth.c
578
kfree(adapter->tx_ltb_ptr[idx]);
drivers/net/ethernet/ibm/ibmveth.c
579
adapter->tx_ltb_ptr[idx] = NULL;
drivers/net/ethernet/ibm/ibmveth.c
586
static int ibmveth_register_logical_lan(struct ibmveth_adapter *adapter,
drivers/net/ethernet/ibm/ibmveth.c
597
rc = h_register_logical_lan(adapter->vdev->unit_address,
drivers/net/ethernet/ibm/ibmveth.c
598
adapter->buffer_list_dma, rxq_desc.desc,
drivers/net/ethernet/ibm/ibmveth.c
599
adapter->filter_list_dma, mac_address);
drivers/net/ethernet/ibm/ibmveth.c
603
rc = h_free_logical_lan(adapter->vdev->unit_address);
drivers/net/ethernet/ibm/ibmveth.c
615
struct ibmveth_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/ibm/ibmveth.c
626
napi_enable(&adapter->napi);
drivers/net/ethernet/ibm/ibmveth.c
629
rxq_entries += adapter->rx_buff_pool[i].size;
drivers/net/ethernet/ibm/ibmveth.c
632
adapter->buffer_list_addr = (void*) get_zeroed_page(GFP_KERNEL);
drivers/net/ethernet/ibm/ibmveth.c
633
if (!adapter->buffer_list_addr) {
drivers/net/ethernet/ibm/ibmveth.c
638
adapter->filter_list_addr = (void*) get_zeroed_page(GFP_KERNEL);
drivers/net/ethernet/ibm/ibmveth.c
639
if (!adapter->filter_list_addr) {
drivers/net/ethernet/ibm/ibmveth.c
644
dev = &adapter->vdev->dev;
drivers/net/ethernet/ibm/ibmveth.c
646
adapter->rx_queue.queue_len = sizeof(struct ibmveth_rx_q_entry) *
drivers/net/ethernet/ibm/ibmveth.c
648
adapter->rx_queue.queue_addr =
drivers/net/ethernet/ibm/ibmveth.c
649
dma_alloc_coherent(dev, adapter->rx_queue.queue_len,
drivers/net/ethernet/ibm/ibmveth.c
650
&adapter->rx_queue.queue_dma, GFP_KERNEL);
drivers/net/ethernet/ibm/ibmveth.c
651
if (!adapter->rx_queue.queue_addr)
drivers/net/ethernet/ibm/ibmveth.c
654
adapter->buffer_list_dma = dma_map_single(dev,
drivers/net/ethernet/ibm/ibmveth.c
655
adapter->buffer_list_addr, 4096, DMA_BIDIRECTIONAL);
drivers/net/ethernet/ibm/ibmveth.c
656
if (dma_mapping_error(dev, adapter->buffer_list_dma)) {
drivers/net/ethernet/ibm/ibmveth.c
661
adapter->filter_list_dma = dma_map_single(dev,
drivers/net/ethernet/ibm/ibmveth.c
662
adapter->filter_list_addr, 4096, DMA_BIDIRECTIONAL);
drivers/net/ethernet/ibm/ibmveth.c
663
if (dma_mapping_error(dev, adapter->filter_list_dma)) {
drivers/net/ethernet/ibm/ibmveth.c
669
if (ibmveth_allocate_tx_ltb(adapter, i))
drivers/net/ethernet/ibm/ibmveth.c
673
adapter->rx_queue.index = 0;
drivers/net/ethernet/ibm/ibmveth.c
674
adapter->rx_queue.num_slots = rxq_entries;
drivers/net/ethernet/ibm/ibmveth.c
675
adapter->rx_queue.toggle = 1;
drivers/net/ethernet/ibm/ibmveth.c
680
adapter->rx_queue.queue_len;
drivers/net/ethernet/ibm/ibmveth.c
681
rxq_desc.fields.address = adapter->rx_queue.queue_dma;
drivers/net/ethernet/ibm/ibmveth.c
683
netdev_dbg(netdev, "buffer list @ 0x%p\n", adapter->buffer_list_addr);
drivers/net/ethernet/ibm/ibmveth.c
684
netdev_dbg(netdev, "filter list @ 0x%p\n", adapter->filter_list_addr);
drivers/net/ethernet/ibm/ibmveth.c
685
netdev_dbg(netdev, "receive q @ 0x%p\n", adapter->rx_queue.queue_addr);
drivers/net/ethernet/ibm/ibmveth.c
687
h_vio_signal(adapter->vdev->unit_address, VIO_IRQ_DISABLE);
drivers/net/ethernet/ibm/ibmveth.c
689
lpar_rc = ibmveth_register_logical_lan(adapter, rxq_desc, mac_address);
drivers/net/ethernet/ibm/ibmveth.c
696
adapter->buffer_list_dma,
drivers/net/ethernet/ibm/ibmveth.c
697
adapter->filter_list_dma,
drivers/net/ethernet/ibm/ibmveth.c
705
if (!adapter->rx_buff_pool[i].active)
drivers/net/ethernet/ibm/ibmveth.c
707
if (ibmveth_alloc_buffer_pool(&adapter->rx_buff_pool[i])) {
drivers/net/ethernet/ibm/ibmveth.c
709
adapter->rx_buff_pool[i].active = 0;
drivers/net/ethernet/ibm/ibmveth.c
722
lpar_rc = h_free_logical_lan(adapter->vdev->unit_address);
drivers/net/ethernet/ibm/ibmveth.c
741
if (adapter->rx_buff_pool[i].active)
drivers/net/ethernet/ibm/ibmveth.c
742
ibmveth_free_buffer_pool(adapter,
drivers/net/ethernet/ibm/ibmveth.c
743
&adapter->rx_buff_pool[i]);
drivers/net/ethernet/ibm/ibmveth.c
746
dma_unmap_single(dev, adapter->filter_list_dma, 4096,
drivers/net/ethernet/ibm/ibmveth.c
751
ibmveth_free_tx_ltb(adapter, i);
drivers/net/ethernet/ibm/ibmveth.c
755
dma_unmap_single(dev, adapter->buffer_list_dma, 4096,
drivers/net/ethernet/ibm/ibmveth.c
758
dma_free_coherent(dev, adapter->rx_queue.queue_len,
drivers/net/ethernet/ibm/ibmveth.c
759
adapter->rx_queue.queue_addr,
drivers/net/ethernet/ibm/ibmveth.c
760
adapter->rx_queue.queue_dma);
drivers/net/ethernet/ibm/ibmveth.c
762
free_page((unsigned long)adapter->filter_list_addr);
drivers/net/ethernet/ibm/ibmveth.c
764
free_page((unsigned long)adapter->buffer_list_addr);
drivers/net/ethernet/ibm/ibmveth.c
766
napi_disable(&adapter->napi);
drivers/net/ethernet/ibm/ibmveth.c
772
struct ibmveth_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/ibm/ibmveth.c
773
struct device *dev = &adapter->vdev->dev;
drivers/net/ethernet/ibm/ibmveth.c
779
napi_disable(&adapter->napi);
drivers/net/ethernet/ibm/ibmveth.c
783
h_vio_signal(adapter->vdev->unit_address, VIO_IRQ_DISABLE);
drivers/net/ethernet/ibm/ibmveth.c
786
lpar_rc = h_free_logical_lan(adapter->vdev->unit_address);
drivers/net/ethernet/ibm/ibmveth.c
796
ibmveth_update_rx_no_buffer(adapter);
drivers/net/ethernet/ibm/ibmveth.c
798
dma_unmap_single(dev, adapter->buffer_list_dma, 4096,
drivers/net/ethernet/ibm/ibmveth.c
800
free_page((unsigned long)adapter->buffer_list_addr);
drivers/net/ethernet/ibm/ibmveth.c
802
dma_unmap_single(dev, adapter->filter_list_dma, 4096,
drivers/net/ethernet/ibm/ibmveth.c
804
free_page((unsigned long)adapter->filter_list_addr);
drivers/net/ethernet/ibm/ibmveth.c
806
dma_free_coherent(dev, adapter->rx_queue.queue_len,
drivers/net/ethernet/ibm/ibmveth.c
807
adapter->rx_queue.queue_addr,
drivers/net/ethernet/ibm/ibmveth.c
808
adapter->rx_queue.queue_dma);
drivers/net/ethernet/ibm/ibmveth.c
811
if (adapter->rx_buff_pool[i].active)
drivers/net/ethernet/ibm/ibmveth.c
812
ibmveth_free_buffer_pool(adapter,
drivers/net/ethernet/ibm/ibmveth.c
813
&adapter->rx_buff_pool[i]);
drivers/net/ethernet/ibm/ibmveth.c
816
ibmveth_free_tx_ltb(adapter, i);
drivers/net/ethernet/ibm/ibmveth.c
837
struct ibmveth_adapter *adapter = container_of(w, struct ibmveth_adapter, work);
drivers/net/ethernet/ibm/ibmveth.c
838
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/ibm/ibmveth.c
844
dev_close(adapter->netdev);
drivers/net/ethernet/ibm/ibmveth.c
845
dev_open(adapter->netdev, NULL);
drivers/net/ethernet/ibm/ibmveth.c
855
struct ibmveth_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/ibm/ibmveth.c
858
&adapter->speed,
drivers/net/ethernet/ibm/ibmveth.c
859
&adapter->duplex);
drivers/net/ethernet/ibm/ibmveth.c
865
struct ibmveth_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/ibm/ibmveth.c
867
cmd->base.speed = adapter->speed;
drivers/net/ethernet/ibm/ibmveth.c
868
cmd->base.duplex = adapter->duplex;
drivers/net/ethernet/ibm/ibmveth.c
876
struct ibmveth_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/ibm/ibmveth.c
878
adapter->speed = SPEED_1000;
drivers/net/ethernet/ibm/ibmveth.c
879
adapter->duplex = DUPLEX_FULL;
drivers/net/ethernet/ibm/ibmveth.c
909
struct ibmveth_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/ibm/ibmveth.c
934
ret = h_illan_attributes(adapter->vdev->unit_address, 0, 0, &ret_attr);
drivers/net/ethernet/ibm/ibmveth.c
938
ret4 = h_illan_attributes(adapter->vdev->unit_address, clr_attr,
drivers/net/ethernet/ibm/ibmveth.c
946
h_illan_attributes(adapter->vdev->unit_address,
drivers/net/ethernet/ibm/ibmveth.c
953
adapter->fw_ipv4_csum_support = data;
drivers/net/ethernet/ibm/ibmveth.c
956
ret6 = h_illan_attributes(adapter->vdev->unit_address,
drivers/net/ethernet/ibm/ibmveth.c
964
h_illan_attributes(adapter->vdev->unit_address,
drivers/net/ethernet/ibm/ibmveth.c
971
adapter->fw_ipv6_csum_support = data;
drivers/net/ethernet/ibm/ibmveth.c
974
adapter->rx_csum = data;
drivers/net/ethernet/ibm/ibmveth.c
992
struct ibmveth_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/ibm/ibmvnic.c
100
static int reset_sub_crq_queues(struct ibmvnic_adapter *adapter);
drivers/net/ethernet/ibm/ibmvnic.c
1003
free_ltb_set(adapter, &rx_pool->ltb_set);
drivers/net/ethernet/ibm/ibmvnic.c
101
static inline void reinit_init_done(struct ibmvnic_adapter *adapter);
drivers/net/ethernet/ibm/ibmvnic.c
1018
kfree(adapter->rx_pool);
drivers/net/ethernet/ibm/ibmvnic.c
1019
adapter->rx_pool = NULL;
drivers/net/ethernet/ibm/ibmvnic.c
102
static void send_query_map(struct ibmvnic_adapter *adapter);
drivers/net/ethernet/ibm/ibmvnic.c
1020
adapter->num_active_rx_pools = 0;
drivers/net/ethernet/ibm/ibmvnic.c
1021
adapter->prev_rx_pool_size = 0;
drivers/net/ethernet/ibm/ibmvnic.c
1038
static bool reuse_rx_pools(struct ibmvnic_adapter *adapter)
drivers/net/ethernet/ibm/ibmvnic.c
1044
if (!adapter->rx_pool)
drivers/net/ethernet/ibm/ibmvnic.c
1047
old_num_pools = adapter->num_active_rx_pools;
drivers/net/ethernet/ibm/ibmvnic.c
1048
new_num_pools = adapter->req_rx_queues;
drivers/net/ethernet/ibm/ibmvnic.c
105
static int send_login(struct ibmvnic_adapter *adapter);
drivers/net/ethernet/ibm/ibmvnic.c
1050
old_pool_size = adapter->prev_rx_pool_size;
drivers/net/ethernet/ibm/ibmvnic.c
1051
new_pool_size = adapter->req_rx_add_entries_per_subcrq;
drivers/net/ethernet/ibm/ibmvnic.c
1053
old_buff_size = adapter->prev_rx_buf_sz;
drivers/net/ethernet/ibm/ibmvnic.c
1054
new_buff_size = adapter->cur_rx_buf_sz;
drivers/net/ethernet/ibm/ibmvnic.c
106
static void send_query_cap(struct ibmvnic_adapter *adapter);
drivers/net/ethernet/ibm/ibmvnic.c
1077
struct ibmvnic_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/ibm/ibmvnic.c
1078
struct device *dev = &adapter->vdev->dev;
drivers/net/ethernet/ibm/ibmvnic.c
108
static int init_sub_crq_irqs(struct ibmvnic_adapter *adapter);
drivers/net/ethernet/ibm/ibmvnic.c
1085
pool_size = adapter->req_rx_add_entries_per_subcrq;
drivers/net/ethernet/ibm/ibmvnic.c
1086
num_pools = adapter->req_rx_queues;
drivers/net/ethernet/ibm/ibmvnic.c
1087
buff_size = adapter->cur_rx_buf_sz;
drivers/net/ethernet/ibm/ibmvnic.c
1089
if (reuse_rx_pools(adapter)) {
drivers/net/ethernet/ibm/ibmvnic.c
1095
release_rx_pools(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
1097
adapter->rx_pool = kzalloc_objs(struct ibmvnic_rx_pool, num_pools);
drivers/net/ethernet/ibm/ibmvnic.c
1098
if (!adapter->rx_pool) {
drivers/net/ethernet/ibm/ibmvnic.c
1106
adapter->num_active_rx_pools = num_pools;
drivers/net/ethernet/ibm/ibmvnic.c
1109
rx_pool = &adapter->rx_pool[i];
drivers/net/ethernet/ibm/ibmvnic.c
1111
netdev_dbg(adapter->netdev,
drivers/net/ethernet/ibm/ibmvnic.c
112
static int init_crq_queue(struct ibmvnic_adapter *adapter);
drivers/net/ethernet/ibm/ibmvnic.c
113
static int send_query_phys_parms(struct ibmvnic_adapter *adapter);
drivers/net/ethernet/ibm/ibmvnic.c
1135
adapter->prev_rx_pool_size = pool_size;
drivers/net/ethernet/ibm/ibmvnic.c
1136
adapter->prev_rx_buf_sz = adapter->cur_rx_buf_sz;
drivers/net/ethernet/ibm/ibmvnic.c
114
static void ibmvnic_tx_scrq_clean_buffer(struct ibmvnic_adapter *adapter,
drivers/net/ethernet/ibm/ibmvnic.c
1140
rx_pool = &adapter->rx_pool[i];
drivers/net/ethernet/ibm/ibmvnic.c
1144
rc = alloc_ltb_set(adapter, &rx_pool->ltb_set,
drivers/net/ethernet/ibm/ibmvnic.c
116
static void free_long_term_buff(struct ibmvnic_adapter *adapter,
drivers/net/ethernet/ibm/ibmvnic.c
1178
release_rx_pools(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
118
static void ibmvnic_disable_irqs(struct ibmvnic_adapter *adapter);
drivers/net/ethernet/ibm/ibmvnic.c
1186
static void release_vpd_data(struct ibmvnic_adapter *adapter)
drivers/net/ethernet/ibm/ibmvnic.c
1188
if (!adapter->vpd)
drivers/net/ethernet/ibm/ibmvnic.c
119
static void flush_reset_queue(struct ibmvnic_adapter *adapter);
drivers/net/ethernet/ibm/ibmvnic.c
1191
kfree(adapter->vpd->buff);
drivers/net/ethernet/ibm/ibmvnic.c
1192
kfree(adapter->vpd);
drivers/net/ethernet/ibm/ibmvnic.c
1194
adapter->vpd = NULL;
drivers/net/ethernet/ibm/ibmvnic.c
1197
static void release_one_tx_pool(struct ibmvnic_adapter *adapter,
drivers/net/ethernet/ibm/ibmvnic.c
1202
free_ltb_set(adapter, &tx_pool->ltb_set);
drivers/net/ethernet/ibm/ibmvnic.c
1211
static void release_tx_pools(struct ibmvnic_adapter *adapter)
drivers/net/ethernet/ibm/ibmvnic.c
1218
if (!adapter->tx_pool)
drivers/net/ethernet/ibm/ibmvnic.c
1221
for (i = 0; i < adapter->num_active_tx_pools; i++) {
drivers/net/ethernet/ibm/ibmvnic.c
1222
release_one_tx_pool(adapter, &adapter->tx_pool[i]);
drivers/net/ethernet/ibm/ibmvnic.c
1223
release_one_tx_pool(adapter, &adapter->tso_pool[i]);
drivers/net/ethernet/ibm/ibmvnic.c
1226
kfree(adapter->tx_pool);
drivers/net/ethernet/ibm/ibmvnic.c
1227
adapter->tx_pool = NULL;
drivers/net/ethernet/ibm/ibmvnic.c
1228
kfree(adapter->tso_pool);
drivers/net/ethernet/ibm/ibmvnic.c
1229
adapter->tso_pool = NULL;
drivers/net/ethernet/ibm/ibmvnic.c
1230
adapter->num_active_tx_pools = 0;
drivers/net/ethernet/ibm/ibmvnic.c
1231
adapter->prev_tx_pool_size = 0;
drivers/net/ethernet/ibm/ibmvnic.c
1275
static bool reuse_tx_pools(struct ibmvnic_adapter *adapter)
drivers/net/ethernet/ibm/ibmvnic.c
1281
if (!adapter->tx_pool)
drivers/net/ethernet/ibm/ibmvnic.c
1284
old_num_pools = adapter->num_active_tx_pools;
drivers/net/ethernet/ibm/ibmvnic.c
1285
new_num_pools = adapter->num_active_tx_scrqs;
drivers/net/ethernet/ibm/ibmvnic.c
1286
old_pool_size = adapter->prev_tx_pool_size;
drivers/net/ethernet/ibm/ibmvnic.c
1287
new_pool_size = adapter->req_tx_entries_per_subcrq;
drivers/net/ethernet/ibm/ibmvnic.c
1288
old_mtu = adapter->prev_mtu;
drivers/net/ethernet/ibm/ibmvnic.c
1289
new_mtu = adapter->req_mtu;
drivers/net/ethernet/ibm/ibmvnic.c
1312
struct ibmvnic_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/ibm/ibmvnic.c
1313
struct device *dev = &adapter->vdev->dev;
drivers/net/ethernet/ibm/ibmvnic.c
1319
num_pools = adapter->req_tx_queues;
drivers/net/ethernet/ibm/ibmvnic.c
1325
if (reuse_tx_pools(adapter)) {
drivers/net/ethernet/ibm/ibmvnic.c
1331
release_tx_pools(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
1333
pool_size = adapter->req_tx_entries_per_subcrq;
drivers/net/ethernet/ibm/ibmvnic.c
1334
num_pools = adapter->num_active_tx_scrqs;
drivers/net/ethernet/ibm/ibmvnic.c
1336
adapter->tx_pool = kzalloc_objs(struct ibmvnic_tx_pool, num_pools);
drivers/net/ethernet/ibm/ibmvnic.c
1337
if (!adapter->tx_pool)
drivers/net/ethernet/ibm/ibmvnic.c
1340
adapter->tso_pool = kzalloc_objs(struct ibmvnic_tx_pool, num_pools);
drivers/net/ethernet/ibm/ibmvnic.c
1344
if (!adapter->tso_pool) {
drivers/net/ethernet/ibm/ibmvnic.c
1345
kfree(adapter->tx_pool);
drivers/net/ethernet/ibm/ibmvnic.c
1346
adapter->tx_pool = NULL;
drivers/net/ethernet/ibm/ibmvnic.c
1353
adapter->num_active_tx_pools = num_pools;
drivers/net/ethernet/ibm/ibmvnic.c
1355
buff_size = adapter->req_mtu + VLAN_HLEN;
drivers/net/ethernet/ibm/ibmvnic.c
1360
i, adapter->req_tx_entries_per_subcrq, buff_size);
drivers/net/ethernet/ibm/ibmvnic.c
1362
rc = init_one_tx_pool(netdev, &adapter->tx_pool[i],
drivers/net/ethernet/ibm/ibmvnic.c
1367
rc = init_one_tx_pool(netdev, &adapter->tso_pool[i],
drivers/net/ethernet/ibm/ibmvnic.c
1374
adapter->prev_tx_pool_size = pool_size;
drivers/net/ethernet/ibm/ibmvnic.c
1375
adapter->prev_mtu = adapter->req_mtu;
drivers/net/ethernet/ibm/ibmvnic.c
1389
tx_pool = &adapter->tx_pool[i];
drivers/net/ethernet/ibm/ibmvnic.c
1394
rc = alloc_ltb_set(adapter, &tx_pool->ltb_set,
drivers/net/ethernet/ibm/ibmvnic.c
1405
tso_pool = &adapter->tso_pool[i];
drivers/net/ethernet/ibm/ibmvnic.c
1410
rc = alloc_ltb_set(adapter, &tso_pool->ltb_set,
drivers/net/ethernet/ibm/ibmvnic.c
1424
release_tx_pools(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
1432
static void ibmvnic_napi_enable(struct ibmvnic_adapter *adapter)
drivers/net/ethernet/ibm/ibmvnic.c
1436
if (adapter->napi_enabled)
drivers/net/ethernet/ibm/ibmvnic.c
1439
for (i = 0; i < adapter->req_rx_queues; i++)
drivers/net/ethernet/ibm/ibmvnic.c
1440
napi_enable(&adapter->napi[i]);
drivers/net/ethernet/ibm/ibmvnic.c
1442
adapter->napi_enabled = true;
drivers/net/ethernet/ibm/ibmvnic.c
1445
static void ibmvnic_napi_disable(struct ibmvnic_adapter *adapter)
drivers/net/ethernet/ibm/ibmvnic.c
1449
if (!adapter->napi_enabled)
drivers/net/ethernet/ibm/ibmvnic.c
1452
for (i = 0; i < adapter->req_rx_queues; i++) {
drivers/net/ethernet/ibm/ibmvnic.c
1453
netdev_dbg(adapter->netdev, "Disabling napi[%d]\n", i);
drivers/net/ethernet/ibm/ibmvnic.c
1454
napi_disable(&adapter->napi[i]);
drivers/net/ethernet/ibm/ibmvnic.c
1457
adapter->napi_enabled = false;
drivers/net/ethernet/ibm/ibmvnic.c
1460
static int init_napi(struct ibmvnic_adapter *adapter)
drivers/net/ethernet/ibm/ibmvnic.c
1464
adapter->napi = kzalloc_objs(struct napi_struct, adapter->req_rx_queues);
drivers/net/ethernet/ibm/ibmvnic.c
1465
if (!adapter->napi)
drivers/net/ethernet/ibm/ibmvnic.c
1468
for (i = 0; i < adapter->req_rx_queues; i++) {
drivers/net/ethernet/ibm/ibmvnic.c
1469
netdev_dbg(adapter->netdev, "Adding napi[%d]\n", i);
drivers/net/ethernet/ibm/ibmvnic.c
1470
netif_napi_add(adapter->netdev, &adapter->napi[i],
drivers/net/ethernet/ibm/ibmvnic.c
1474
adapter->num_active_rx_napi = adapter->req_rx_queues;
drivers/net/ethernet/ibm/ibmvnic.c
1478
static void release_napi(struct ibmvnic_adapter *adapter)
drivers/net/ethernet/ibm/ibmvnic.c
1482
if (!adapter->napi)
drivers/net/ethernet/ibm/ibmvnic.c
1485
for (i = 0; i < adapter->num_active_rx_napi; i++) {
drivers/net/ethernet/ibm/ibmvnic.c
1486
netdev_dbg(adapter->netdev, "Releasing napi[%d]\n", i);
drivers/net/ethernet/ibm/ibmvnic.c
1487
netif_napi_del(&adapter->napi[i]);
drivers/net/ethernet/ibm/ibmvnic.c
1490
kfree(adapter->napi);
drivers/net/ethernet/ibm/ibmvnic.c
1491
adapter->napi = NULL;
drivers/net/ethernet/ibm/ibmvnic.c
1492
adapter->num_active_rx_napi = 0;
drivers/net/ethernet/ibm/ibmvnic.c
1493
adapter->napi_enabled = false;
drivers/net/ethernet/ibm/ibmvnic.c
1524
struct ibmvnic_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/ibm/ibmvnic.c
1537
adapter->init_done_rc = 0;
drivers/net/ethernet/ibm/ibmvnic.c
1538
reinit_completion(&adapter->init_done);
drivers/net/ethernet/ibm/ibmvnic.c
1539
rc = send_login(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
1543
if (!wait_for_completion_timeout(&adapter->init_done,
drivers/net/ethernet/ibm/ibmvnic.c
1546
adapter->login_pending = false;
drivers/net/ethernet/ibm/ibmvnic.c
1550
if (adapter->init_done_rc == ABORTED) {
drivers/net/ethernet/ibm/ibmvnic.c
1553
adapter->init_done_rc = 0;
drivers/net/ethernet/ibm/ibmvnic.c
1559
} else if (adapter->init_done_rc == PARTIALSUCCESS) {
drivers/net/ethernet/ibm/ibmvnic.c
156
static int send_crq_init_complete(struct ibmvnic_adapter *adapter)
drivers/net/ethernet/ibm/ibmvnic.c
1561
release_sub_crqs(adapter, 1);
drivers/net/ethernet/ibm/ibmvnic.c
1566
adapter->init_done_rc = 0;
drivers/net/ethernet/ibm/ibmvnic.c
1567
reinit_completion(&adapter->init_done);
drivers/net/ethernet/ibm/ibmvnic.c
1568
send_query_cap(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
1569
if (!wait_for_completion_timeout(&adapter->init_done,
drivers/net/ethernet/ibm/ibmvnic.c
1576
rc = init_sub_crqs(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
1583
rc = init_sub_crq_irqs(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
1590
} else if (adapter->init_done_rc) {
drivers/net/ethernet/ibm/ibmvnic.c
1592
adapter->init_done_rc);
drivers/net/ethernet/ibm/ibmvnic.c
1604
adapter->init_done_rc = 0;
drivers/net/ethernet/ibm/ibmvnic.c
1605
release_sub_crqs(adapter, true);
drivers/net/ethernet/ibm/ibmvnic.c
1613
reinit_init_done(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
1617
adapter->failover_pending = false;
drivers/net/ethernet/ibm/ibmvnic.c
1618
release_crq_queue(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
1629
spin_lock_irqsave(&adapter->rwi_lock, flags);
drivers/net/ethernet/ibm/ibmvnic.c
1630
flush_reset_queue(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
1631
spin_unlock_irqrestore(&adapter->rwi_lock,
drivers/net/ethernet/ibm/ibmvnic.c
1634
rc = init_crq_queue(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
164
return ibmvnic_send_crq(adapter, &crq);
drivers/net/ethernet/ibm/ibmvnic.c
1641
rc = ibmvnic_reset_init(adapter, false);
drivers/net/ethernet/ibm/ibmvnic.c
1655
__ibmvnic_set_mac(netdev, adapter->mac_addr);
drivers/net/ethernet/ibm/ibmvnic.c
1657
netdev_dbg(netdev, "[S:%s] Login succeeded\n", adapter_state_to_string(adapter->state));
drivers/net/ethernet/ibm/ibmvnic.c
1661
static void release_login_buffer(struct ibmvnic_adapter *adapter)
drivers/net/ethernet/ibm/ibmvnic.c
1663
if (!adapter->login_buf)
drivers/net/ethernet/ibm/ibmvnic.c
1666
dma_unmap_single(&adapter->vdev->dev, adapter->login_buf_token,
drivers/net/ethernet/ibm/ibmvnic.c
1667
adapter->login_buf_sz, DMA_TO_DEVICE);
drivers/net/ethernet/ibm/ibmvnic.c
1668
kfree(adapter->login_buf);
drivers/net/ethernet/ibm/ibmvnic.c
1669
adapter->login_buf = NULL;
drivers/net/ethernet/ibm/ibmvnic.c
167
static int send_version_xchg(struct ibmvnic_adapter *adapter)
drivers/net/ethernet/ibm/ibmvnic.c
1672
static void release_login_rsp_buffer(struct ibmvnic_adapter *adapter)
drivers/net/ethernet/ibm/ibmvnic.c
1674
if (!adapter->login_rsp_buf)
drivers/net/ethernet/ibm/ibmvnic.c
1677
dma_unmap_single(&adapter->vdev->dev, adapter->login_rsp_buf_token,
drivers/net/ethernet/ibm/ibmvnic.c
1678
adapter->login_rsp_buf_sz, DMA_FROM_DEVICE);
drivers/net/ethernet/ibm/ibmvnic.c
1679
kfree(adapter->login_rsp_buf);
drivers/net/ethernet/ibm/ibmvnic.c
1680
adapter->login_rsp_buf = NULL;
drivers/net/ethernet/ibm/ibmvnic.c
1683
static void release_resources(struct ibmvnic_adapter *adapter)
drivers/net/ethernet/ibm/ibmvnic.c
1685
release_vpd_data(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
1687
release_napi(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
1688
release_login_buffer(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
1689
release_login_rsp_buffer(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
1692
static int set_link_state(struct ibmvnic_adapter *adapter, u8 link_state)
drivers/net/ethernet/ibm/ibmvnic.c
1694
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/ibm/ibmvnic.c
1710
reinit_completion(&adapter->init_done);
drivers/net/ethernet/ibm/ibmvnic.c
1711
rc = ibmvnic_send_crq(adapter, &crq);
drivers/net/ethernet/ibm/ibmvnic.c
1717
if (!wait_for_completion_timeout(&adapter->init_done,
drivers/net/ethernet/ibm/ibmvnic.c
1723
if (adapter->init_done_rc == PARTIALSUCCESS) {
drivers/net/ethernet/ibm/ibmvnic.c
1727
} else if (adapter->init_done_rc) {
drivers/net/ethernet/ibm/ibmvnic.c
1729
adapter->init_done_rc);
drivers/net/ethernet/ibm/ibmvnic.c
1730
return adapter->init_done_rc;
drivers/net/ethernet/ibm/ibmvnic.c
1739
struct ibmvnic_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/ibm/ibmvnic.c
1743
adapter->req_tx_queues, adapter->req_rx_queues);
drivers/net/ethernet/ibm/ibmvnic.c
1745
rc = netif_set_real_num_tx_queues(netdev, adapter->req_tx_queues);
drivers/net/ethernet/ibm/ibmvnic.c
1751
rc = netif_set_real_num_rx_queues(netdev, adapter->req_rx_queues);
drivers/net/ethernet/ibm/ibmvnic.c
1758
static int ibmvnic_get_vpd(struct ibmvnic_adapter *adapter)
drivers/net/ethernet/ibm/ibmvnic.c
176
return ibmvnic_send_crq(adapter, &crq);
drivers/net/ethernet/ibm/ibmvnic.c
1760
struct device *dev = &adapter->vdev->dev;
drivers/net/ethernet/ibm/ibmvnic.c
1765
if (adapter->vpd->buff)
drivers/net/ethernet/ibm/ibmvnic.c
1766
len = adapter->vpd->len;
drivers/net/ethernet/ibm/ibmvnic.c
1768
mutex_lock(&adapter->fw_lock);
drivers/net/ethernet/ibm/ibmvnic.c
1769
adapter->fw_done_rc = 0;
drivers/net/ethernet/ibm/ibmvnic.c
1770
reinit_completion(&adapter->fw_done);
drivers/net/ethernet/ibm/ibmvnic.c
1774
rc = ibmvnic_send_crq(adapter, &crq);
drivers/net/ethernet/ibm/ibmvnic.c
1776
mutex_unlock(&adapter->fw_lock);
drivers/net/ethernet/ibm/ibmvnic.c
1780
rc = ibmvnic_wait_for_completion(adapter, &adapter->fw_done, 10000);
drivers/net/ethernet/ibm/ibmvnic.c
1783
mutex_unlock(&adapter->fw_lock);
drivers/net/ethernet/ibm/ibmvnic.c
1786
mutex_unlock(&adapter->fw_lock);
drivers/net/ethernet/ibm/ibmvnic.c
1788
if (!adapter->vpd->len)
drivers/net/ethernet/ibm/ibmvnic.c
179
static void ibmvnic_clean_queue_affinity(struct ibmvnic_adapter *adapter,
drivers/net/ethernet/ibm/ibmvnic.c
1791
if (!adapter->vpd->buff)
drivers/net/ethernet/ibm/ibmvnic.c
1792
adapter->vpd->buff = kzalloc(adapter->vpd->len, GFP_KERNEL);
drivers/net/ethernet/ibm/ibmvnic.c
1793
else if (adapter->vpd->len != len)
drivers/net/ethernet/ibm/ibmvnic.c
1794
adapter->vpd->buff =
drivers/net/ethernet/ibm/ibmvnic.c
1795
krealloc(adapter->vpd->buff,
drivers/net/ethernet/ibm/ibmvnic.c
1796
adapter->vpd->len, GFP_KERNEL);
drivers/net/ethernet/ibm/ibmvnic.c
1798
if (!adapter->vpd->buff) {
drivers/net/ethernet/ibm/ibmvnic.c
1803
adapter->vpd->dma_addr =
drivers/net/ethernet/ibm/ibmvnic.c
1804
dma_map_single(dev, adapter->vpd->buff, adapter->vpd->len,
drivers/net/ethernet/ibm/ibmvnic.c
1806
if (dma_mapping_error(dev, adapter->vpd->dma_addr)) {
drivers/net/ethernet/ibm/ibmvnic.c
1808
kfree(adapter->vpd->buff);
drivers/net/ethernet/ibm/ibmvnic.c
1809
adapter->vpd->buff = NULL;
drivers/net/ethernet/ibm/ibmvnic.c
1813
mutex_lock(&adapter->fw_lock);
drivers/net/ethernet/ibm/ibmvnic.c
1814
adapter->fw_done_rc = 0;
drivers/net/ethernet/ibm/ibmvnic.c
1815
reinit_completion(&adapter->fw_done);
drivers/net/ethernet/ibm/ibmvnic.c
1819
crq.get_vpd.ioba = cpu_to_be32(adapter->vpd->dma_addr);
drivers/net/ethernet/ibm/ibmvnic.c
1820
crq.get_vpd.len = cpu_to_be32((u32)adapter->vpd->len);
drivers/net/ethernet/ibm/ibmvnic.c
1821
rc = ibmvnic_send_crq(adapter, &crq);
drivers/net/ethernet/ibm/ibmvnic.c
1823
kfree(adapter->vpd->buff);
drivers/net/ethernet/ibm/ibmvnic.c
1824
adapter->vpd->buff = NULL;
drivers/net/ethernet/ibm/ibmvnic.c
1825
mutex_unlock(&adapter->fw_lock);
drivers/net/ethernet/ibm/ibmvnic.c
1829
rc = ibmvnic_wait_for_completion(adapter, &adapter->fw_done, 10000);
drivers/net/ethernet/ibm/ibmvnic.c
1832
kfree(adapter->vpd->buff);
drivers/net/ethernet/ibm/ibmvnic.c
1833
adapter->vpd->buff = NULL;
drivers/net/ethernet/ibm/ibmvnic.c
1834
mutex_unlock(&adapter->fw_lock);
drivers/net/ethernet/ibm/ibmvnic.c
1838
mutex_unlock(&adapter->fw_lock);
drivers/net/ethernet/ibm/ibmvnic.c
1842
static int init_resources(struct ibmvnic_adapter *adapter)
drivers/net/ethernet/ibm/ibmvnic.c
1844
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/ibm/ibmvnic.c
1851
adapter->vpd = kzalloc_obj(*adapter->vpd);
drivers/net/ethernet/ibm/ibmvnic.c
1852
if (!adapter->vpd)
drivers/net/ethernet/ibm/ibmvnic.c
1856
rc = ibmvnic_get_vpd(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
1862
rc = init_napi(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
1866
send_query_map(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
1878
struct ibmvnic_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/ibm/ibmvnic.c
1879
enum vnic_state prev_state = adapter->state;
drivers/net/ethernet/ibm/ibmvnic.c
188
netdev_warn(adapter->netdev,
drivers/net/ethernet/ibm/ibmvnic.c
1882
adapter->state = VNIC_OPENING;
drivers/net/ethernet/ibm/ibmvnic.c
1883
replenish_pools(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
1884
ibmvnic_napi_enable(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
1889
for (i = 0; i < adapter->req_rx_queues; i++) {
drivers/net/ethernet/ibm/ibmvnic.c
1892
enable_irq(adapter->rx_scrq[i]->irq);
drivers/net/ethernet/ibm/ibmvnic.c
1893
enable_scrq_irq(adapter, adapter->rx_scrq[i]);
drivers/net/ethernet/ibm/ibmvnic.c
1896
for (i = 0; i < adapter->req_tx_queues; i++) {
drivers/net/ethernet/ibm/ibmvnic.c
1899
enable_irq(adapter->tx_scrq[i]->irq);
drivers/net/ethernet/ibm/ibmvnic.c
1900
enable_scrq_irq(adapter, adapter->tx_scrq[i]);
drivers/net/ethernet/ibm/ibmvnic.c
1907
if (adapter->reset_reason != VNIC_RESET_NON_FATAL)
drivers/net/ethernet/ibm/ibmvnic.c
1911
rc = set_link_state(adapter, IBMVNIC_LOGICAL_LNK_UP);
drivers/net/ethernet/ibm/ibmvnic.c
1913
ibmvnic_napi_disable(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
1914
ibmvnic_disable_irqs(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
1918
adapter->tx_queues_active = true;
drivers/net/ethernet/ibm/ibmvnic.c
193
static void ibmvnic_clean_affinity(struct ibmvnic_adapter *adapter)
drivers/net/ethernet/ibm/ibmvnic.c
1930
for (i = 0; i < adapter->req_rx_queues; i++)
drivers/net/ethernet/ibm/ibmvnic.c
1931
napi_schedule(&adapter->napi[i]);
drivers/net/ethernet/ibm/ibmvnic.c
1934
adapter->state = VNIC_OPEN;
drivers/net/ethernet/ibm/ibmvnic.c
1940
struct ibmvnic_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/ibm/ibmvnic.c
1956
if (adapter->failover_pending || (test_bit(0, &adapter->resetting))) {
drivers/net/ethernet/ibm/ibmvnic.c
1958
adapter_state_to_string(adapter->state),
drivers/net/ethernet/ibm/ibmvnic.c
1959
adapter->failover_pending);
drivers/net/ethernet/ibm/ibmvnic.c
1960
adapter->state = VNIC_OPEN;
drivers/net/ethernet/ibm/ibmvnic.c
1965
if (adapter->state != VNIC_CLOSED) {
drivers/net/ethernet/ibm/ibmvnic.c
1970
rc = init_resources(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
1985
(adapter->failover_pending || (test_bit(0, &adapter->resetting)))) {
drivers/net/ethernet/ibm/ibmvnic.c
1986
adapter->state = VNIC_OPEN;
drivers/net/ethernet/ibm/ibmvnic.c
1991
release_resources(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
1992
release_rx_pools(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
1993
release_tx_pools(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
1999
static void clean_rx_pools(struct ibmvnic_adapter *adapter)
drivers/net/ethernet/ibm/ibmvnic.c
200
rxqs = adapter->rx_scrq;
drivers/net/ethernet/ibm/ibmvnic.c
2007
if (!adapter->rx_pool)
drivers/net/ethernet/ibm/ibmvnic.c
201
txqs = adapter->tx_scrq;
drivers/net/ethernet/ibm/ibmvnic.c
2010
rx_scrqs = adapter->num_active_rx_pools;
drivers/net/ethernet/ibm/ibmvnic.c
2011
rx_entries = adapter->req_rx_add_entries_per_subcrq;
drivers/net/ethernet/ibm/ibmvnic.c
2015
rx_pool = &adapter->rx_pool[i];
drivers/net/ethernet/ibm/ibmvnic.c
2019
netdev_dbg(adapter->netdev, "Cleaning rx_pool[%d]\n", i);
drivers/net/ethernet/ibm/ibmvnic.c
202
num_txqs = adapter->num_active_tx_scrqs;
drivers/net/ethernet/ibm/ibmvnic.c
203
num_rxqs = adapter->num_active_rx_scrqs;
drivers/net/ethernet/ibm/ibmvnic.c
2030
static void clean_one_tx_pool(struct ibmvnic_adapter *adapter,
drivers/net/ethernet/ibm/ibmvnic.c
205
netdev_dbg(adapter->netdev, "%s: Cleaning irq affinity hints", __func__);
drivers/net/ethernet/ibm/ibmvnic.c
2051
static void clean_tx_pools(struct ibmvnic_adapter *adapter)
drivers/net/ethernet/ibm/ibmvnic.c
2056
if (!adapter->tx_pool || !adapter->tso_pool)
drivers/net/ethernet/ibm/ibmvnic.c
2059
tx_scrqs = adapter->num_active_tx_pools;
drivers/net/ethernet/ibm/ibmvnic.c
2063
netdev_dbg(adapter->netdev, "Cleaning tx_pool[%d]\n", i);
drivers/net/ethernet/ibm/ibmvnic.c
2064
clean_one_tx_pool(adapter, &adapter->tx_pool[i]);
drivers/net/ethernet/ibm/ibmvnic.c
2065
clean_one_tx_pool(adapter, &adapter->tso_pool[i]);
drivers/net/ethernet/ibm/ibmvnic.c
2069
static void ibmvnic_disable_irqs(struct ibmvnic_adapter *adapter)
drivers/net/ethernet/ibm/ibmvnic.c
2071
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/ibm/ibmvnic.c
2074
if (adapter->tx_scrq) {
drivers/net/ethernet/ibm/ibmvnic.c
2075
for (i = 0; i < adapter->req_tx_queues; i++)
drivers/net/ethernet/ibm/ibmvnic.c
2076
if (adapter->tx_scrq[i]->irq) {
drivers/net/ethernet/ibm/ibmvnic.c
2079
disable_scrq_irq(adapter, adapter->tx_scrq[i]);
drivers/net/ethernet/ibm/ibmvnic.c
208
ibmvnic_clean_queue_affinity(adapter, txqs[i]);
drivers/net/ethernet/ibm/ibmvnic.c
2080
disable_irq(adapter->tx_scrq[i]->irq);
drivers/net/ethernet/ibm/ibmvnic.c
2084
if (adapter->rx_scrq) {
drivers/net/ethernet/ibm/ibmvnic.c
2085
for (i = 0; i < adapter->req_rx_queues; i++) {
drivers/net/ethernet/ibm/ibmvnic.c
2086
if (adapter->rx_scrq[i]->irq) {
drivers/net/ethernet/ibm/ibmvnic.c
2089
disable_scrq_irq(adapter, adapter->rx_scrq[i]);
drivers/net/ethernet/ibm/ibmvnic.c
2090
disable_irq(adapter->rx_scrq[i]->irq);
drivers/net/ethernet/ibm/ibmvnic.c
2098
struct ibmvnic_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/ibm/ibmvnic.c
2102
adapter->tx_queues_active = false;
drivers/net/ethernet/ibm/ibmvnic.c
2109
if (test_bit(0, &adapter->resetting))
drivers/net/ethernet/ibm/ibmvnic.c
2114
ibmvnic_napi_disable(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
2115
ibmvnic_disable_irqs(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
212
ibmvnic_clean_queue_affinity(adapter, rxqs[i]);
drivers/net/ethernet/ibm/ibmvnic.c
2120
struct ibmvnic_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/ibm/ibmvnic.c
2123
adapter->state = VNIC_CLOSING;
drivers/net/ethernet/ibm/ibmvnic.c
2124
rc = set_link_state(adapter, IBMVNIC_LOGICAL_LNK_DN);
drivers/net/ethernet/ibm/ibmvnic.c
2125
adapter->state = VNIC_CLOSED;
drivers/net/ethernet/ibm/ibmvnic.c
2131
struct ibmvnic_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/ibm/ibmvnic.c
2135
adapter_state_to_string(adapter->state),
drivers/net/ethernet/ibm/ibmvnic.c
2136
adapter->failover_pending,
drivers/net/ethernet/ibm/ibmvnic.c
2137
adapter->force_reset_recovery);
drivers/net/ethernet/ibm/ibmvnic.c
2142
if (adapter->failover_pending) {
drivers/net/ethernet/ibm/ibmvnic.c
2143
adapter->state = VNIC_CLOSED;
drivers/net/ethernet/ibm/ibmvnic.c
2149
clean_rx_pools(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
2150
clean_tx_pools(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
2291
static void ibmvnic_tx_scrq_clean_buffer(struct ibmvnic_adapter *adapter,
drivers/net/ethernet/ibm/ibmvnic.c
2313
tx_pool = &adapter->tso_pool[queue_num];
drivers/net/ethernet/ibm/ibmvnic.c
2316
tx_pool = &adapter->tx_pool[queue_num];
drivers/net/ethernet/ibm/ibmvnic.c
2323
adapter->tx_stats_buffers[queue_num].batched_packets--;
drivers/net/ethernet/ibm/ibmvnic.c
2324
adapter->tx_stats_buffers[queue_num].bytes -=
drivers/net/ethernet/ibm/ibmvnic.c
2328
adapter->netdev->stats.tx_dropped++;
drivers/net/ethernet/ibm/ibmvnic.c
2334
(adapter->req_tx_entries_per_subcrq / 2) &&
drivers/net/ethernet/ibm/ibmvnic.c
2335
__netif_subqueue_stopped(adapter->netdev, queue_num)) {
drivers/net/ethernet/ibm/ibmvnic.c
2338
if (adapter->tx_queues_active) {
drivers/net/ethernet/ibm/ibmvnic.c
2339
netif_wake_subqueue(adapter->netdev, queue_num);
drivers/net/ethernet/ibm/ibmvnic.c
2340
netdev_dbg(adapter->netdev, "Started queue %d\n",
drivers/net/ethernet/ibm/ibmvnic.c
2348
static int send_subcrq_direct(struct ibmvnic_adapter *adapter,
drivers/net/ethernet/ibm/ibmvnic.c
2351
unsigned int ua = adapter->vdev->unit_address;
drivers/net/ethernet/ibm/ibmvnic.c
2352
struct device *dev = &adapter->vdev->dev;
drivers/net/ethernet/ibm/ibmvnic.c
2368
static int ibmvnic_tx_scrq_flush(struct ibmvnic_adapter *adapter,
drivers/net/ethernet/ibm/ibmvnic.c
2387
rc = send_subcrq_indirect(adapter, handle, dma_addr, entries);
drivers/net/ethernet/ibm/ibmvnic.c
2389
rc = send_subcrq_direct(adapter, handle,
drivers/net/ethernet/ibm/ibmvnic.c
2393
dev_err_ratelimited(&adapter->vdev->dev,
drivers/net/ethernet/ibm/ibmvnic.c
2398
ibmvnic_set_safe_max_ind_descs(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
2403
ibmvnic_tx_scrq_clean_buffer(adapter, tx_scrq);
drivers/net/ethernet/ibm/ibmvnic.c
2412
struct ibmvnic_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/ibm/ibmvnic.c
2413
u32 cur_max_ind_descs = adapter->cur_max_ind_descs;
drivers/net/ethernet/ibm/ibmvnic.c
2415
u8 *hdrs = (u8 *)&adapter->tx_rx_desc_req;
drivers/net/ethernet/ibm/ibmvnic.c
2416
struct device *dev = &adapter->vdev->dev;
drivers/net/ethernet/ibm/ibmvnic.c
2447
if (!adapter->tx_queues_active) {
drivers/net/ethernet/ibm/ibmvnic.c
2456
tx_scrq = adapter->tx_scrq[queue_num];
drivers/net/ethernet/ibm/ibmvnic.c
2464
lpar_rc = ibmvnic_tx_scrq_flush(adapter, tx_scrq, true);
drivers/net/ethernet/ibm/ibmvnic.c
2471
tx_pool = &adapter->tso_pool[queue_num];
drivers/net/ethernet/ibm/ibmvnic.c
2473
tx_pool = &adapter->tx_pool[queue_num];
drivers/net/ethernet/ibm/ibmvnic.c
2482
lpar_rc = ibmvnic_tx_scrq_flush(adapter, tx_scrq, true);
drivers/net/ethernet/ibm/ibmvnic.c
2566
if (adapter->vlan_header_insertion && skb_vlan_tag_present(skb)) {
drivers/net/ethernet/ibm/ibmvnic.c
257
static void ibmvnic_set_affinity(struct ibmvnic_adapter *adapter)
drivers/net/ethernet/ibm/ibmvnic.c
259
struct ibmvnic_sub_crq_queue **rxqs = adapter->rx_scrq;
drivers/net/ethernet/ibm/ibmvnic.c
2599
lpar_rc = ibmvnic_tx_scrq_flush(adapter, tx_scrq, false);
drivers/net/ethernet/ibm/ibmvnic.c
260
struct ibmvnic_sub_crq_queue **txqs = adapter->tx_scrq;
drivers/net/ethernet/ibm/ibmvnic.c
2614
lpar_rc = ibmvnic_tx_scrq_flush(adapter, tx_scrq, true);
drivers/net/ethernet/ibm/ibmvnic.c
262
int num_rxqs = adapter->num_active_rx_scrqs, i_rxqs = 0;
drivers/net/ethernet/ibm/ibmvnic.c
2627
lpar_rc = ibmvnic_tx_scrq_flush(adapter, tx_scrq, true);
drivers/net/ethernet/ibm/ibmvnic.c
263
int num_txqs = adapter->num_active_tx_scrqs, i_txqs = 0;
drivers/net/ethernet/ibm/ibmvnic.c
2636
>= adapter->req_tx_entries_per_subcrq) {
drivers/net/ethernet/ibm/ibmvnic.c
2657
if (lpar_rc == H_CLOSED || adapter->failover_pending) {
drivers/net/ethernet/ibm/ibmvnic.c
2668
adapter->tx_send_failed += tx_send_failed;
drivers/net/ethernet/ibm/ibmvnic.c
2669
adapter->tx_map_failed += tx_map_failed;
drivers/net/ethernet/ibm/ibmvnic.c
2670
adapter->tx_stats_buffers[queue_num].batched_packets += tx_bpackets;
drivers/net/ethernet/ibm/ibmvnic.c
2671
adapter->tx_stats_buffers[queue_num].direct_packets += tx_dpackets;
drivers/net/ethernet/ibm/ibmvnic.c
2672
adapter->tx_stats_buffers[queue_num].bytes += tx_bytes;
drivers/net/ethernet/ibm/ibmvnic.c
2673
adapter->tx_stats_buffers[queue_num].dropped_packets += tx_dropped;
drivers/net/ethernet/ibm/ibmvnic.c
2680
struct ibmvnic_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/ibm/ibmvnic.c
2689
if (!adapter->promisc_supported)
drivers/net/ethernet/ibm/ibmvnic.c
269
netdev_dbg(adapter->netdev, "%s: Setting irq affinity hints", __func__);
drivers/net/ethernet/ibm/ibmvnic.c
2698
ibmvnic_send_crq(adapter, &crq);
drivers/net/ethernet/ibm/ibmvnic.c
270
if (!(adapter->rx_scrq && adapter->tx_scrq)) {
drivers/net/ethernet/ibm/ibmvnic.c
2705
ibmvnic_send_crq(adapter, &crq);
drivers/net/ethernet/ibm/ibmvnic.c
271
netdev_warn(adapter->netdev,
drivers/net/ethernet/ibm/ibmvnic.c
2715
ibmvnic_send_crq(adapter, &crq);
drivers/net/ethernet/ibm/ibmvnic.c
2723
struct ibmvnic_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/ibm/ibmvnic.c
2737
mutex_lock(&adapter->fw_lock);
drivers/net/ethernet/ibm/ibmvnic.c
2738
adapter->fw_done_rc = 0;
drivers/net/ethernet/ibm/ibmvnic.c
2739
reinit_completion(&adapter->fw_done);
drivers/net/ethernet/ibm/ibmvnic.c
2741
rc = ibmvnic_send_crq(adapter, &crq);
drivers/net/ethernet/ibm/ibmvnic.c
2744
mutex_unlock(&adapter->fw_lock);
drivers/net/ethernet/ibm/ibmvnic.c
2748
rc = ibmvnic_wait_for_completion(adapter, &adapter->fw_done, 10000);
drivers/net/ethernet/ibm/ibmvnic.c
2750
if (rc || adapter->fw_done_rc) {
drivers/net/ethernet/ibm/ibmvnic.c
2752
mutex_unlock(&adapter->fw_lock);
drivers/net/ethernet/ibm/ibmvnic.c
2755
mutex_unlock(&adapter->fw_lock);
drivers/net/ethernet/ibm/ibmvnic.c
2758
ether_addr_copy(adapter->mac_addr, netdev->dev_addr);
drivers/net/ethernet/ibm/ibmvnic.c
2764
struct ibmvnic_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/ibm/ibmvnic.c
2772
ether_addr_copy(adapter->mac_addr, addr->sa_data);
drivers/net/ethernet/ibm/ibmvnic.c
2773
if (adapter->state != VNIC_PROBED)
drivers/net/ethernet/ibm/ibmvnic.c
2807
static inline void reinit_init_done(struct ibmvnic_adapter *adapter)
drivers/net/ethernet/ibm/ibmvnic.c
2809
reinit_completion(&adapter->init_done);
drivers/net/ethernet/ibm/ibmvnic.c
2810
adapter->init_done_rc = 0;
drivers/net/ethernet/ibm/ibmvnic.c
2817
static int do_reset(struct ibmvnic_adapter *adapter,
drivers/net/ethernet/ibm/ibmvnic.c
2820
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/ibm/ibmvnic.c
2825
netdev_dbg(adapter->netdev,
drivers/net/ethernet/ibm/ibmvnic.c
2827
adapter_state_to_string(adapter->state),
drivers/net/ethernet/ibm/ibmvnic.c
2828
adapter->failover_pending,
drivers/net/ethernet/ibm/ibmvnic.c
2832
adapter->reset_reason = rwi->reset_reason;
drivers/net/ethernet/ibm/ibmvnic.c
2834
if (!(adapter->reset_reason == VNIC_RESET_CHANGE_PARAM))
drivers/net/ethernet/ibm/ibmvnic.c
2842
adapter->failover_pending = false;
drivers/net/ethernet/ibm/ibmvnic.c
2845
reset_state = adapter->state;
drivers/net/ethernet/ibm/ibmvnic.c
2854
old_num_rx_queues = adapter->req_rx_queues;
drivers/net/ethernet/ibm/ibmvnic.c
2855
old_num_tx_queues = adapter->req_tx_queues;
drivers/net/ethernet/ibm/ibmvnic.c
2856
old_num_rx_slots = adapter->req_rx_add_entries_per_subcrq;
drivers/net/ethernet/ibm/ibmvnic.c
2857
old_num_tx_slots = adapter->req_tx_entries_per_subcrq;
drivers/net/ethernet/ibm/ibmvnic.c
2862
adapter->reset_reason != VNIC_RESET_MOBILITY &&
drivers/net/ethernet/ibm/ibmvnic.c
2863
adapter->reset_reason != VNIC_RESET_FAILOVER) {
drivers/net/ethernet/ibm/ibmvnic.c
2864
if (adapter->reset_reason == VNIC_RESET_CHANGE_PARAM) {
drivers/net/ethernet/ibm/ibmvnic.c
2869
adapter->state = VNIC_CLOSING;
drivers/net/ethernet/ibm/ibmvnic.c
2877
rc = set_link_state(adapter, IBMVNIC_LOGICAL_LNK_DN);
drivers/net/ethernet/ibm/ibmvnic.c
2882
if (adapter->state == VNIC_OPEN) {
drivers/net/ethernet/ibm/ibmvnic.c
2893
adapter->state = VNIC_CLOSING;
drivers/net/ethernet/ibm/ibmvnic.c
2896
if (adapter->state != VNIC_CLOSING) {
drivers/net/ethernet/ibm/ibmvnic.c
2903
adapter->state = VNIC_CLOSED;
drivers/net/ethernet/ibm/ibmvnic.c
2907
if (adapter->reset_reason == VNIC_RESET_CHANGE_PARAM) {
drivers/net/ethernet/ibm/ibmvnic.c
2908
release_resources(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
2909
release_sub_crqs(adapter, 1);
drivers/net/ethernet/ibm/ibmvnic.c
2910
release_crq_queue(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
2913
if (adapter->reset_reason != VNIC_RESET_NON_FATAL) {
drivers/net/ethernet/ibm/ibmvnic.c
2917
adapter->state = VNIC_PROBED;
drivers/net/ethernet/ibm/ibmvnic.c
2919
reinit_init_done(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
2921
if (adapter->reset_reason == VNIC_RESET_CHANGE_PARAM) {
drivers/net/ethernet/ibm/ibmvnic.c
2922
rc = init_crq_queue(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
2923
} else if (adapter->reset_reason == VNIC_RESET_MOBILITY) {
drivers/net/ethernet/ibm/ibmvnic.c
2924
rc = ibmvnic_reenable_crq_queue(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
2925
release_sub_crqs(adapter, 1);
drivers/net/ethernet/ibm/ibmvnic.c
2927
rc = ibmvnic_reset_crq(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
2929
rc = vio_enable_interrupts(adapter->vdev);
drivers/net/ethernet/ibm/ibmvnic.c
2931
netdev_err(adapter->netdev,
drivers/net/ethernet/ibm/ibmvnic.c
2938
netdev_err(adapter->netdev,
drivers/net/ethernet/ibm/ibmvnic.c
2943
rc = ibmvnic_reset_init(adapter, true);
drivers/net/ethernet/ibm/ibmvnic.c
2959
if (adapter->reset_reason == VNIC_RESET_CHANGE_PARAM) {
drivers/net/ethernet/ibm/ibmvnic.c
2960
rc = init_resources(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
2963
} else if (adapter->req_rx_queues != old_num_rx_queues ||
drivers/net/ethernet/ibm/ibmvnic.c
2964
adapter->req_tx_queues != old_num_tx_queues ||
drivers/net/ethernet/ibm/ibmvnic.c
2965
adapter->req_rx_add_entries_per_subcrq !=
drivers/net/ethernet/ibm/ibmvnic.c
2967
adapter->req_tx_entries_per_subcrq !=
drivers/net/ethernet/ibm/ibmvnic.c
2969
!adapter->rx_pool ||
drivers/net/ethernet/ibm/ibmvnic.c
2970
!adapter->tso_pool ||
drivers/net/ethernet/ibm/ibmvnic.c
2971
!adapter->tx_pool) {
drivers/net/ethernet/ibm/ibmvnic.c
2972
release_napi(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
2973
release_vpd_data(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
2975
rc = init_resources(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
2996
ibmvnic_disable_irqs(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
2998
adapter->state = VNIC_CLOSED;
drivers/net/ethernet/ibm/ibmvnic.c
3014
if (adapter->reset_reason == VNIC_RESET_FAILOVER ||
drivers/net/ethernet/ibm/ibmvnic.c
3015
adapter->reset_reason == VNIC_RESET_MOBILITY)
drivers/net/ethernet/ibm/ibmvnic.c
3023
adapter->state = reset_state;
drivers/net/ethernet/ibm/ibmvnic.c
3025
if (!(adapter->reset_reason == VNIC_RESET_CHANGE_PARAM))
drivers/net/ethernet/ibm/ibmvnic.c
3028
netdev_dbg(adapter->netdev, "[S:%s FOP:%d] Reset done, rc %d\n",
drivers/net/ethernet/ibm/ibmvnic.c
3029
adapter_state_to_string(adapter->state),
drivers/net/ethernet/ibm/ibmvnic.c
3030
adapter->failover_pending, rc);
drivers/net/ethernet/ibm/ibmvnic.c
3034
static int do_hard_reset(struct ibmvnic_adapter *adapter,
drivers/net/ethernet/ibm/ibmvnic.c
3037
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/ibm/ibmvnic.c
304
rc = __netif_set_xps_queue(adapter->netdev,
drivers/net/ethernet/ibm/ibmvnic.c
3040
netdev_dbg(adapter->netdev, "Hard resetting driver (%s)\n",
drivers/net/ethernet/ibm/ibmvnic.c
3044
reset_state = adapter->state;
drivers/net/ethernet/ibm/ibmvnic.c
3052
adapter->reset_reason = rwi->reset_reason;
drivers/net/ethernet/ibm/ibmvnic.c
3055
release_resources(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
3056
release_sub_crqs(adapter, 0);
drivers/net/ethernet/ibm/ibmvnic.c
3057
release_crq_queue(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
3062
adapter->state = VNIC_PROBED;
drivers/net/ethernet/ibm/ibmvnic.c
3064
reinit_init_done(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
3066
rc = init_crq_queue(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
3068
netdev_err(adapter->netdev,
drivers/net/ethernet/ibm/ibmvnic.c
3073
rc = ibmvnic_reset_init(adapter, false);
drivers/net/ethernet/ibm/ibmvnic.c
308
netdev_warn(adapter->netdev, "%s: Set XPS on queue %d failed, rc = %d.\n",
drivers/net/ethernet/ibm/ibmvnic.c
3087
rc = init_resources(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
3091
ibmvnic_disable_irqs(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
3092
adapter->state = VNIC_CLOSED;
drivers/net/ethernet/ibm/ibmvnic.c
3107
adapter->state = reset_state;
drivers/net/ethernet/ibm/ibmvnic.c
3108
netdev_dbg(adapter->netdev, "[S:%s FOP:%d] Hard reset done, rc %d\n",
drivers/net/ethernet/ibm/ibmvnic.c
3109
adapter_state_to_string(adapter->state),
drivers/net/ethernet/ibm/ibmvnic.c
3110
adapter->failover_pending, rc);
drivers/net/ethernet/ibm/ibmvnic.c
3114
static struct ibmvnic_rwi *get_next_rwi(struct ibmvnic_adapter *adapter)
drivers/net/ethernet/ibm/ibmvnic.c
3119
spin_lock_irqsave(&adapter->rwi_lock, flags);
drivers/net/ethernet/ibm/ibmvnic.c
3121
if (!list_empty(&adapter->rwi_list)) {
drivers/net/ethernet/ibm/ibmvnic.c
3122
rwi = list_first_entry(&adapter->rwi_list, struct ibmvnic_rwi,
drivers/net/ethernet/ibm/ibmvnic.c
3129
spin_unlock_irqrestore(&adapter->rwi_lock, flags);
drivers/net/ethernet/ibm/ibmvnic.c
314
netdev_warn(adapter->netdev,
drivers/net/ethernet/ibm/ibmvnic.c
3147
static int do_passive_init(struct ibmvnic_adapter *adapter)
drivers/net/ethernet/ibm/ibmvnic.c
3150
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/ibm/ibmvnic.c
3151
struct device *dev = &adapter->vdev->dev;
drivers/net/ethernet/ibm/ibmvnic.c
3156
adapter->state = VNIC_PROBING;
drivers/net/ethernet/ibm/ibmvnic.c
3157
reinit_completion(&adapter->init_done);
drivers/net/ethernet/ibm/ibmvnic.c
3158
adapter->init_done_rc = 0;
drivers/net/ethernet/ibm/ibmvnic.c
3159
adapter->crq.active = true;
drivers/net/ethernet/ibm/ibmvnic.c
3161
rc = send_crq_init_complete(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
3165
rc = send_version_xchg(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
3167
netdev_dbg(adapter->netdev, "send_version_xchg failed, rc=%d\n", rc);
drivers/net/ethernet/ibm/ibmvnic.c
3169
if (!wait_for_completion_timeout(&adapter->init_done, timeout)) {
drivers/net/ethernet/ibm/ibmvnic.c
317
ibmvnic_clean_affinity(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
3175
rc = init_sub_crqs(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
3181
rc = init_sub_crq_irqs(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
3187
netdev->mtu = adapter->req_mtu - ETH_HLEN;
drivers/net/ethernet/ibm/ibmvnic.c
3188
netdev->min_mtu = adapter->min_mtu - ETH_HLEN;
drivers/net/ethernet/ibm/ibmvnic.c
3189
netdev->max_mtu = adapter->max_mtu - ETH_HLEN;
drivers/net/ethernet/ibm/ibmvnic.c
3191
adapter->state = VNIC_PROBED;
drivers/net/ethernet/ibm/ibmvnic.c
3197
release_sub_crqs(adapter, 1);
drivers/net/ethernet/ibm/ibmvnic.c
3199
adapter->state = VNIC_DOWN;
drivers/net/ethernet/ibm/ibmvnic.c
3205
struct ibmvnic_adapter *adapter;
drivers/net/ethernet/ibm/ibmvnic.c
3217
adapter = container_of(work, struct ibmvnic_adapter, ibmvnic_reset);
drivers/net/ethernet/ibm/ibmvnic.c
3218
dev = &adapter->vdev->dev;
drivers/net/ethernet/ibm/ibmvnic.c
3229
if (adapter->state == VNIC_PROBING &&
drivers/net/ethernet/ibm/ibmvnic.c
323
struct ibmvnic_adapter *adapter;
drivers/net/ethernet/ibm/ibmvnic.c
3230
!wait_for_completion_timeout(&adapter->probe_done, timeout)) {
drivers/net/ethernet/ibm/ibmvnic.c
3233
&adapter->ibmvnic_delayed_reset,
drivers/net/ethernet/ibm/ibmvnic.c
3239
if (adapter->state == VNIC_REMOVING)
drivers/net/ethernet/ibm/ibmvnic.c
325
adapter = hlist_entry_safe(node, struct ibmvnic_adapter, node);
drivers/net/ethernet/ibm/ibmvnic.c
326
ibmvnic_set_affinity(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
3267
spin_lock(&adapter->rwi_lock);
drivers/net/ethernet/ibm/ibmvnic.c
3268
if (!list_empty(&adapter->rwi_list)) {
drivers/net/ethernet/ibm/ibmvnic.c
3269
if (test_and_set_bit_lock(0, &adapter->resetting)) {
drivers/net/ethernet/ibm/ibmvnic.c
3271
&adapter->ibmvnic_delayed_reset,
drivers/net/ethernet/ibm/ibmvnic.c
3277
spin_unlock(&adapter->rwi_lock);
drivers/net/ethernet/ibm/ibmvnic.c
3282
rwi = get_next_rwi(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
3284
spin_lock_irqsave(&adapter->state_lock, flags);
drivers/net/ethernet/ibm/ibmvnic.c
3286
if (adapter->state == VNIC_REMOVING ||
drivers/net/ethernet/ibm/ibmvnic.c
3287
adapter->state == VNIC_REMOVED) {
drivers/net/ethernet/ibm/ibmvnic.c
3288
spin_unlock_irqrestore(&adapter->state_lock, flags);
drivers/net/ethernet/ibm/ibmvnic.c
3295
reset_state = adapter->state;
drivers/net/ethernet/ibm/ibmvnic.c
3298
spin_unlock_irqrestore(&adapter->state_lock, flags);
drivers/net/ethernet/ibm/ibmvnic.c
3302
rc = do_passive_init(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
3305
netif_carrier_on(adapter->netdev);
drivers/net/ethernet/ibm/ibmvnic.c
3306
} else if (adapter->force_reset_recovery) {
drivers/net/ethernet/ibm/ibmvnic.c
3311
adapter->failover_pending = false;
drivers/net/ethernet/ibm/ibmvnic.c
3314
if (adapter->wait_for_reset) {
drivers/net/ethernet/ibm/ibmvnic.c
3316
adapter->force_reset_recovery = false;
drivers/net/ethernet/ibm/ibmvnic.c
3317
rc = do_hard_reset(adapter, rwi, reset_state);
drivers/net/ethernet/ibm/ibmvnic.c
332
struct ibmvnic_adapter *adapter;
drivers/net/ethernet/ibm/ibmvnic.c
3320
adapter->force_reset_recovery = false;
drivers/net/ethernet/ibm/ibmvnic.c
3321
rc = do_hard_reset(adapter, rwi, reset_state);
drivers/net/ethernet/ibm/ibmvnic.c
3337
netdev_dbg(adapter->netdev,
drivers/net/ethernet/ibm/ibmvnic.c
3339
adapter_state_to_string(adapter->state),
drivers/net/ethernet/ibm/ibmvnic.c
334
adapter = hlist_entry_safe(node, struct ibmvnic_adapter, node_dead);
drivers/net/ethernet/ibm/ibmvnic.c
3345
rc = do_reset(adapter, rwi, reset_state);
drivers/net/ethernet/ibm/ibmvnic.c
3348
adapter->last_reset_time = jiffies;
drivers/net/ethernet/ibm/ibmvnic.c
335
ibmvnic_set_affinity(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
3351
netdev_dbg(adapter->netdev, "Reset failed, rc=%d\n", rc);
drivers/net/ethernet/ibm/ibmvnic.c
3353
rwi = get_next_rwi(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
3372
adapter->force_reset_recovery = true;
drivers/net/ethernet/ibm/ibmvnic.c
3375
if (adapter->wait_for_reset) {
drivers/net/ethernet/ibm/ibmvnic.c
3376
adapter->reset_done_rc = rc;
drivers/net/ethernet/ibm/ibmvnic.c
3377
complete(&adapter->reset_done);
drivers/net/ethernet/ibm/ibmvnic.c
3380
clear_bit_unlock(0, &adapter->resetting);
drivers/net/ethernet/ibm/ibmvnic.c
3382
netdev_dbg(adapter->netdev,
drivers/net/ethernet/ibm/ibmvnic.c
3384
adapter_state_to_string(adapter->state),
drivers/net/ethernet/ibm/ibmvnic.c
3385
adapter->force_reset_recovery,
drivers/net/ethernet/ibm/ibmvnic.c
3386
adapter->wait_for_reset);
drivers/net/ethernet/ibm/ibmvnic.c
3391
struct ibmvnic_adapter *adapter;
drivers/net/ethernet/ibm/ibmvnic.c
3393
adapter = container_of(work, struct ibmvnic_adapter,
drivers/net/ethernet/ibm/ibmvnic.c
3395
__ibmvnic_reset(&adapter->ibmvnic_reset);
drivers/net/ethernet/ibm/ibmvnic.c
3398
static void flush_reset_queue(struct ibmvnic_adapter *adapter)
drivers/net/ethernet/ibm/ibmvnic.c
3402
if (!list_empty(&adapter->rwi_list)) {
drivers/net/ethernet/ibm/ibmvnic.c
3403
list_for_each_safe(entry, tmp_entry, &adapter->rwi_list) {
drivers/net/ethernet/ibm/ibmvnic.c
341
struct ibmvnic_adapter *adapter;
drivers/net/ethernet/ibm/ibmvnic.c
3410
static int ibmvnic_reset(struct ibmvnic_adapter *adapter,
drivers/net/ethernet/ibm/ibmvnic.c
3413
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/ibm/ibmvnic.c
3418
spin_lock_irqsave(&adapter->rwi_lock, flags);
drivers/net/ethernet/ibm/ibmvnic.c
3425
if (adapter->state == VNIC_REMOVING ||
drivers/net/ethernet/ibm/ibmvnic.c
3426
adapter->state == VNIC_REMOVED ||
drivers/net/ethernet/ibm/ibmvnic.c
3427
(adapter->failover_pending && reason != VNIC_RESET_FAILOVER)) {
drivers/net/ethernet/ibm/ibmvnic.c
343
adapter = hlist_entry_safe(node, struct ibmvnic_adapter, node);
drivers/net/ethernet/ibm/ibmvnic.c
3433
list_for_each_entry(tmp, &adapter->rwi_list, list) {
drivers/net/ethernet/ibm/ibmvnic.c
344
ibmvnic_clean_affinity(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
3450
if (adapter->force_reset_recovery)
drivers/net/ethernet/ibm/ibmvnic.c
3451
flush_reset_queue(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
3454
list_add_tail(&rwi->list, &adapter->rwi_list);
drivers/net/ethernet/ibm/ibmvnic.c
3455
netdev_dbg(adapter->netdev, "Scheduling reset (reason %s)\n",
drivers/net/ethernet/ibm/ibmvnic.c
3457
queue_work(system_long_wq, &adapter->ibmvnic_reset);
drivers/net/ethernet/ibm/ibmvnic.c
3462
spin_unlock_irqrestore(&adapter->rwi_lock, flags);
drivers/net/ethernet/ibm/ibmvnic.c
3473
struct ibmvnic_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/ibm/ibmvnic.c
3476
for (i = 0; i < adapter->req_rx_queues; i++) {
drivers/net/ethernet/ibm/ibmvnic.c
3477
stats->rx_packets += adapter->rx_stats_buffers[i].packets;
drivers/net/ethernet/ibm/ibmvnic.c
3478
stats->rx_bytes += adapter->rx_stats_buffers[i].bytes;
drivers/net/ethernet/ibm/ibmvnic.c
3481
for (i = 0; i < adapter->req_tx_queues; i++) {
drivers/net/ethernet/ibm/ibmvnic.c
3482
stats->tx_packets += adapter->tx_stats_buffers[i].batched_packets;
drivers/net/ethernet/ibm/ibmvnic.c
3483
stats->tx_packets += adapter->tx_stats_buffers[i].direct_packets;
drivers/net/ethernet/ibm/ibmvnic.c
3484
stats->tx_bytes += adapter->tx_stats_buffers[i].bytes;
drivers/net/ethernet/ibm/ibmvnic.c
3485
stats->tx_dropped += adapter->tx_stats_buffers[i].dropped_packets;
drivers/net/ethernet/ibm/ibmvnic.c
3491
struct ibmvnic_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/ibm/ibmvnic.c
3493
if (test_bit(0, &adapter->resetting)) {
drivers/net/ethernet/ibm/ibmvnic.c
3494
netdev_err(adapter->netdev,
drivers/net/ethernet/ibm/ibmvnic.c
350
static int ibmvnic_cpu_notif_add(struct ibmvnic_adapter *adapter)
drivers/net/ethernet/ibm/ibmvnic.c
3501
if (time_before(jiffies, (adapter->last_reset_time + dev->watchdog_timeo))) {
drivers/net/ethernet/ibm/ibmvnic.c
3505
ibmvnic_reset(adapter, VNIC_RESET_TIMEOUT);
drivers/net/ethernet/ibm/ibmvnic.c
3508
static void remove_buff_from_pool(struct ibmvnic_adapter *adapter,
drivers/net/ethernet/ibm/ibmvnic.c
3511
struct ibmvnic_rx_pool *pool = &adapter->rx_pool[rx_buff->pool_index];
drivers/net/ethernet/ibm/ibmvnic.c
3524
struct ibmvnic_adapter *adapter;
drivers/net/ethernet/ibm/ibmvnic.c
3530
adapter = netdev_priv(netdev);
drivers/net/ethernet/ibm/ibmvnic.c
3531
scrq_num = (int)(napi - adapter->napi);
drivers/net/ethernet/ibm/ibmvnic.c
3533
rx_scrq = adapter->rx_scrq[scrq_num];
drivers/net/ethernet/ibm/ibmvnic.c
354
ret = cpuhp_state_add_instance_nocalls(ibmvnic_online, &adapter->node);
drivers/net/ethernet/ibm/ibmvnic.c
3544
if (unlikely(test_bit(0, &adapter->resetting) &&
drivers/net/ethernet/ibm/ibmvnic.c
3545
adapter->reset_reason != VNIC_RESET_NON_FATAL)) {
drivers/net/ethernet/ibm/ibmvnic.c
3546
enable_scrq_irq(adapter, rx_scrq);
drivers/net/ethernet/ibm/ibmvnic.c
3551
if (!pending_scrq(adapter, rx_scrq))
drivers/net/ethernet/ibm/ibmvnic.c
3553
next = ibmvnic_next_scrq(adapter, rx_scrq);
drivers/net/ethernet/ibm/ibmvnic.c
3563
remove_buff_from_pool(adapter, rx_buff);
drivers/net/ethernet/ibm/ibmvnic.c
3568
remove_buff_from_pool(adapter, rx_buff);
drivers/net/ethernet/ibm/ibmvnic.c
358
&adapter->node_dead);
drivers/net/ethernet/ibm/ibmvnic.c
3584
if (adapter->rx_vlan_header_insertion &&
drivers/net/ethernet/ibm/ibmvnic.c
3591
remove_buff_from_pool(adapter, rx_buff);
drivers/net/ethernet/ibm/ibmvnic.c
3604
adapter->rx_stats_buffers[scrq_num].packets++;
drivers/net/ethernet/ibm/ibmvnic.c
3605
adapter->rx_stats_buffers[scrq_num].bytes += length;
drivers/net/ethernet/ibm/ibmvnic.c
3609
if (adapter->state != VNIC_CLOSING &&
drivers/net/ethernet/ibm/ibmvnic.c
361
cpuhp_state_remove_instance_nocalls(ibmvnic_online, &adapter->node);
drivers/net/ethernet/ibm/ibmvnic.c
3610
(atomic_read(&adapter->rx_pool[scrq_num].available) <
drivers/net/ethernet/ibm/ibmvnic.c
3611
adapter->req_rx_add_entries_per_subcrq / 2))
drivers/net/ethernet/ibm/ibmvnic.c
3612
replenish_rx_pool(adapter, &adapter->rx_pool[scrq_num]);
drivers/net/ethernet/ibm/ibmvnic.c
3615
enable_scrq_irq(adapter, rx_scrq);
drivers/net/ethernet/ibm/ibmvnic.c
3616
if (pending_scrq(adapter, rx_scrq)) {
drivers/net/ethernet/ibm/ibmvnic.c
3618
disable_scrq_irq(adapter, rx_scrq);
drivers/net/ethernet/ibm/ibmvnic.c
3627
static int wait_for_reset(struct ibmvnic_adapter *adapter)
drivers/net/ethernet/ibm/ibmvnic.c
3631
adapter->fallback.mtu = adapter->req_mtu;
drivers/net/ethernet/ibm/ibmvnic.c
3632
adapter->fallback.rx_queues = adapter->req_rx_queues;
drivers/net/ethernet/ibm/ibmvnic.c
3633
adapter->fallback.tx_queues = adapter->req_tx_queues;
drivers/net/ethernet/ibm/ibmvnic.c
3634
adapter->fallback.rx_entries = adapter->req_rx_add_entries_per_subcrq;
drivers/net/ethernet/ibm/ibmvnic.c
3635
adapter->fallback.tx_entries = adapter->req_tx_entries_per_subcrq;
drivers/net/ethernet/ibm/ibmvnic.c
3637
reinit_completion(&adapter->reset_done);
drivers/net/ethernet/ibm/ibmvnic.c
3638
adapter->wait_for_reset = true;
drivers/net/ethernet/ibm/ibmvnic.c
3639
rc = ibmvnic_reset(adapter, VNIC_RESET_CHANGE_PARAM);
drivers/net/ethernet/ibm/ibmvnic.c
3645
rc = ibmvnic_wait_for_completion(adapter, &adapter->reset_done, 60000);
drivers/net/ethernet/ibm/ibmvnic.c
365
static void ibmvnic_cpu_notif_remove(struct ibmvnic_adapter *adapter)
drivers/net/ethernet/ibm/ibmvnic.c
3652
if (adapter->reset_done_rc) {
drivers/net/ethernet/ibm/ibmvnic.c
3654
adapter->desired.mtu = adapter->fallback.mtu;
drivers/net/ethernet/ibm/ibmvnic.c
3655
adapter->desired.rx_queues = adapter->fallback.rx_queues;
drivers/net/ethernet/ibm/ibmvnic.c
3656
adapter->desired.tx_queues = adapter->fallback.tx_queues;
drivers/net/ethernet/ibm/ibmvnic.c
3657
adapter->desired.rx_entries = adapter->fallback.rx_entries;
drivers/net/ethernet/ibm/ibmvnic.c
3658
adapter->desired.tx_entries = adapter->fallback.tx_entries;
drivers/net/ethernet/ibm/ibmvnic.c
3660
reinit_completion(&adapter->reset_done);
drivers/net/ethernet/ibm/ibmvnic.c
3661
adapter->wait_for_reset = true;
drivers/net/ethernet/ibm/ibmvnic.c
3662
rc = ibmvnic_reset(adapter, VNIC_RESET_CHANGE_PARAM);
drivers/net/ethernet/ibm/ibmvnic.c
3667
rc = ibmvnic_wait_for_completion(adapter, &adapter->reset_done,
drivers/net/ethernet/ibm/ibmvnic.c
367
cpuhp_state_remove_instance_nocalls(ibmvnic_online, &adapter->node);
drivers/net/ethernet/ibm/ibmvnic.c
3675
adapter->wait_for_reset = false;
drivers/net/ethernet/ibm/ibmvnic.c
3682
struct ibmvnic_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/ibm/ibmvnic.c
3684
adapter->desired.mtu = new_mtu + ETH_HLEN;
drivers/net/ethernet/ibm/ibmvnic.c
3686
return wait_for_reset(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
369
&adapter->node_dead);
drivers/net/ethernet/ibm/ibmvnic.c
3724
struct ibmvnic_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/ibm/ibmvnic.c
3727
rc = send_query_phys_parms(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
3729
adapter->speed = SPEED_UNKNOWN;
drivers/net/ethernet/ibm/ibmvnic.c
3730
adapter->duplex = DUPLEX_UNKNOWN;
drivers/net/ethernet/ibm/ibmvnic.c
3732
cmd->base.speed = adapter->speed;
drivers/net/ethernet/ibm/ibmvnic.c
3733
cmd->base.duplex = adapter->duplex;
drivers/net/ethernet/ibm/ibmvnic.c
3744
struct ibmvnic_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/ibm/ibmvnic.c
3748
strscpy(info->fw_version, adapter->fw_version,
drivers/net/ethernet/ibm/ibmvnic.c
3754
struct ibmvnic_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/ibm/ibmvnic.c
3756
return adapter->msg_enable;
drivers/net/ethernet/ibm/ibmvnic.c
3761
struct ibmvnic_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/ibm/ibmvnic.c
3763
adapter->msg_enable = data;
drivers/net/ethernet/ibm/ibmvnic.c
3768
struct ibmvnic_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/ibm/ibmvnic.c
3773
return adapter->logical_link_state;
drivers/net/ethernet/ibm/ibmvnic.c
3781
struct ibmvnic_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/ibm/ibmvnic.c
3783
ring->rx_max_pending = adapter->max_rx_add_entries_per_subcrq;
drivers/net/ethernet/ibm/ibmvnic.c
3784
ring->tx_max_pending = adapter->max_tx_entries_per_subcrq;
drivers/net/ethernet/ibm/ibmvnic.c
3787
ring->rx_pending = adapter->req_rx_add_entries_per_subcrq;
drivers/net/ethernet/ibm/ibmvnic.c
3788
ring->tx_pending = adapter->req_tx_entries_per_subcrq;
drivers/net/ethernet/ibm/ibmvnic.c
3798
struct ibmvnic_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/ibm/ibmvnic.c
3800
if (ring->rx_pending > adapter->max_rx_add_entries_per_subcrq ||
drivers/net/ethernet/ibm/ibmvnic.c
3801
ring->tx_pending > adapter->max_tx_entries_per_subcrq) {
drivers/net/ethernet/ibm/ibmvnic.c
3804
adapter->max_rx_add_entries_per_subcrq);
drivers/net/ethernet/ibm/ibmvnic.c
3806
adapter->max_tx_entries_per_subcrq);
drivers/net/ethernet/ibm/ibmvnic.c
3810
adapter->desired.rx_entries = ring->rx_pending;
drivers/net/ethernet/ibm/ibmvnic.c
3811
adapter->desired.tx_entries = ring->tx_pending;
drivers/net/ethernet/ibm/ibmvnic.c
3813
return wait_for_reset(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
3819
struct ibmvnic_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/ibm/ibmvnic.c
3821
channels->max_rx = adapter->max_rx_queues;
drivers/net/ethernet/ibm/ibmvnic.c
3822
channels->max_tx = adapter->max_tx_queues;
drivers/net/ethernet/ibm/ibmvnic.c
3825
channels->rx_count = adapter->req_rx_queues;
drivers/net/ethernet/ibm/ibmvnic.c
3826
channels->tx_count = adapter->req_tx_queues;
drivers/net/ethernet/ibm/ibmvnic.c
3834
struct ibmvnic_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/ibm/ibmvnic.c
3836
adapter->desired.rx_queues = channels->rx_count;
drivers/net/ethernet/ibm/ibmvnic.c
3837
adapter->desired.tx_queues = channels->tx_count;
drivers/net/ethernet/ibm/ibmvnic.c
3839
return wait_for_reset(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
3844
struct ibmvnic_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/ibm/ibmvnic.c
3853
for (i = 0; i < adapter->req_tx_queues; i++) {
drivers/net/ethernet/ibm/ibmvnic.c
3860
for (i = 0; i < adapter->req_rx_queues; i++) {
drivers/net/ethernet/ibm/ibmvnic.c
3869
struct ibmvnic_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/ibm/ibmvnic.c
3874
adapter->req_tx_queues * NUM_TX_STATS +
drivers/net/ethernet/ibm/ibmvnic.c
3875
adapter->req_rx_queues * NUM_RX_STATS;
drivers/net/ethernet/ibm/ibmvnic.c
3884
struct ibmvnic_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/ibm/ibmvnic.c
3892
crq.request_statistics.ioba = cpu_to_be32(adapter->stats_token);
drivers/net/ethernet/ibm/ibmvnic.c
3897
reinit_completion(&adapter->stats_done);
drivers/net/ethernet/ibm/ibmvnic.c
3898
rc = ibmvnic_send_crq(adapter, &crq);
drivers/net/ethernet/ibm/ibmvnic.c
3901
rc = ibmvnic_wait_for_completion(adapter, &adapter->stats_done, 10000);
drivers/net/ethernet/ibm/ibmvnic.c
3907
(adapter, ibmvnic_stats[i].offset));
drivers/net/ethernet/ibm/ibmvnic.c
3909
for (j = 0; j < adapter->req_tx_queues; j++) {
drivers/net/ethernet/ibm/ibmvnic.c
3910
data[i] = adapter->tx_stats_buffers[j].batched_packets;
drivers/net/ethernet/ibm/ibmvnic.c
3912
data[i] = adapter->tx_stats_buffers[j].direct_packets;
drivers/net/ethernet/ibm/ibmvnic.c
3914
data[i] = adapter->tx_stats_buffers[j].bytes;
drivers/net/ethernet/ibm/ibmvnic.c
3916
data[i] = adapter->tx_stats_buffers[j].dropped_packets;
drivers/net/ethernet/ibm/ibmvnic.c
3920
for (j = 0; j < adapter->req_rx_queues; j++) {
drivers/net/ethernet/ibm/ibmvnic.c
3921
data[i] = adapter->rx_stats_buffers[j].packets;
drivers/net/ethernet/ibm/ibmvnic.c
3923
data[i] = adapter->rx_stats_buffers[j].bytes;
drivers/net/ethernet/ibm/ibmvnic.c
3925
data[i] = adapter->rx_stats_buffers[j].interrupts;
drivers/net/ethernet/ibm/ibmvnic.c
3947
static int reset_one_sub_crq_queue(struct ibmvnic_adapter *adapter,
drivers/net/ethernet/ibm/ibmvnic.c
395
static int ibmvnic_wait_for_completion(struct ibmvnic_adapter *adapter,
drivers/net/ethernet/ibm/ibmvnic.c
3953
netdev_dbg(adapter->netdev, "Invalid scrq reset.\n");
drivers/net/ethernet/ibm/ibmvnic.c
3969
netdev_dbg(adapter->netdev, "Invalid scrq reset\n");
drivers/net/ethernet/ibm/ibmvnic.c
3973
rc = h_reg_sub_crq(adapter->vdev->unit_address, scrq->msg_token,
drivers/net/ethernet/ibm/ibmvnic.c
3978
static int reset_sub_crq_queues(struct ibmvnic_adapter *adapter)
drivers/net/ethernet/ibm/ibmvnic.c
3982
if (!adapter->tx_scrq || !adapter->rx_scrq)
drivers/net/ethernet/ibm/ibmvnic.c
3985
ibmvnic_clean_affinity(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
3987
for (i = 0; i < adapter->req_tx_queues; i++) {
drivers/net/ethernet/ibm/ibmvnic.c
3988
netdev_dbg(adapter->netdev, "Re-setting tx_scrq[%d]\n", i);
drivers/net/ethernet/ibm/ibmvnic.c
3989
rc = reset_one_sub_crq_queue(adapter, adapter->tx_scrq[i]);
drivers/net/ethernet/ibm/ibmvnic.c
3994
for (i = 0; i < adapter->req_rx_queues; i++) {
drivers/net/ethernet/ibm/ibmvnic.c
3995
netdev_dbg(adapter->netdev, "Re-setting rx_scrq[%d]\n", i);
drivers/net/ethernet/ibm/ibmvnic.c
3996
rc = reset_one_sub_crq_queue(adapter, adapter->rx_scrq[i]);
drivers/net/ethernet/ibm/ibmvnic.c
4004
static void release_sub_crq_queue(struct ibmvnic_adapter *adapter,
drivers/net/ethernet/ibm/ibmvnic.c
4008
struct device *dev = &adapter->vdev->dev;
drivers/net/ethernet/ibm/ibmvnic.c
4011
netdev_dbg(adapter->netdev, "Releasing sub-CRQ\n");
drivers/net/ethernet/ibm/ibmvnic.c
4017
adapter->vdev->unit_address,
drivers/net/ethernet/ibm/ibmvnic.c
4022
netdev_err(adapter->netdev,
drivers/net/ethernet/ibm/ibmvnic.c
403
netdev = adapter->netdev;
drivers/net/ethernet/ibm/ibmvnic.c
4041
*adapter)
drivers/net/ethernet/ibm/ibmvnic.c
4043
struct device *dev = &adapter->vdev->dev;
drivers/net/ethernet/ibm/ibmvnic.c
4067
rc = h_reg_sub_crq(adapter->vdev->unit_address, scrq->msg_token,
drivers/net/ethernet/ibm/ibmvnic.c
407
if (!adapter->crq.active) {
drivers/net/ethernet/ibm/ibmvnic.c
4071
rc = ibmvnic_reset_crq(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
4080
scrq->adapter = adapter;
drivers/net/ethernet/ibm/ibmvnic.c
4095
netdev_dbg(adapter->netdev,
drivers/net/ethernet/ibm/ibmvnic.c
4104
adapter->vdev->unit_address,
drivers/net/ethernet/ibm/ibmvnic.c
4120
static void release_sub_crqs(struct ibmvnic_adapter *adapter, bool do_h_free)
drivers/net/ethernet/ibm/ibmvnic.c
4124
ibmvnic_clean_affinity(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
4125
if (adapter->tx_scrq) {
drivers/net/ethernet/ibm/ibmvnic.c
4126
for (i = 0; i < adapter->num_active_tx_scrqs; i++) {
drivers/net/ethernet/ibm/ibmvnic.c
4127
if (!adapter->tx_scrq[i])
drivers/net/ethernet/ibm/ibmvnic.c
4130
netdev_dbg(adapter->netdev, "Releasing tx_scrq[%d]\n",
drivers/net/ethernet/ibm/ibmvnic.c
4132
ibmvnic_tx_scrq_clean_buffer(adapter, adapter->tx_scrq[i]);
drivers/net/ethernet/ibm/ibmvnic.c
4133
if (adapter->tx_scrq[i]->irq) {
drivers/net/ethernet/ibm/ibmvnic.c
4134
free_irq(adapter->tx_scrq[i]->irq,
drivers/net/ethernet/ibm/ibmvnic.c
4135
adapter->tx_scrq[i]);
drivers/net/ethernet/ibm/ibmvnic.c
4136
irq_dispose_mapping(adapter->tx_scrq[i]->irq);
drivers/net/ethernet/ibm/ibmvnic.c
4137
adapter->tx_scrq[i]->irq = 0;
drivers/net/ethernet/ibm/ibmvnic.c
4140
release_sub_crq_queue(adapter, adapter->tx_scrq[i],
drivers/net/ethernet/ibm/ibmvnic.c
4144
kfree(adapter->tx_scrq);
drivers/net/ethernet/ibm/ibmvnic.c
4145
adapter->tx_scrq = NULL;
drivers/net/ethernet/ibm/ibmvnic.c
4146
adapter->num_active_tx_scrqs = 0;
drivers/net/ethernet/ibm/ibmvnic.c
4153
clean_tx_pools(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
4155
if (adapter->rx_scrq) {
drivers/net/ethernet/ibm/ibmvnic.c
4156
for (i = 0; i < adapter->num_active_rx_scrqs; i++) {
drivers/net/ethernet/ibm/ibmvnic.c
4157
if (!adapter->rx_scrq[i])
drivers/net/ethernet/ibm/ibmvnic.c
4160
netdev_dbg(adapter->netdev, "Releasing rx_scrq[%d]\n",
drivers/net/ethernet/ibm/ibmvnic.c
4162
if (adapter->rx_scrq[i]->irq) {
drivers/net/ethernet/ibm/ibmvnic.c
4163
free_irq(adapter->rx_scrq[i]->irq,
drivers/net/ethernet/ibm/ibmvnic.c
4164
adapter->rx_scrq[i]);
drivers/net/ethernet/ibm/ibmvnic.c
4165
irq_dispose_mapping(adapter->rx_scrq[i]->irq);
drivers/net/ethernet/ibm/ibmvnic.c
4166
adapter->rx_scrq[i]->irq = 0;
drivers/net/ethernet/ibm/ibmvnic.c
4169
release_sub_crq_queue(adapter, adapter->rx_scrq[i],
drivers/net/ethernet/ibm/ibmvnic.c
4173
kfree(adapter->rx_scrq);
drivers/net/ethernet/ibm/ibmvnic.c
4174
adapter->rx_scrq = NULL;
drivers/net/ethernet/ibm/ibmvnic.c
4175
adapter->num_active_rx_scrqs = 0;
drivers/net/ethernet/ibm/ibmvnic.c
4179
static int disable_scrq_irq(struct ibmvnic_adapter *adapter,
drivers/net/ethernet/ibm/ibmvnic.c
4182
struct device *dev = &adapter->vdev->dev;
drivers/net/ethernet/ibm/ibmvnic.c
4185
rc = plpar_hcall_norets(H_VIOCTL, adapter->vdev->unit_address,
drivers/net/ethernet/ibm/ibmvnic.c
4217
static int enable_scrq_irq(struct ibmvnic_adapter *adapter,
drivers/net/ethernet/ibm/ibmvnic.c
4220
struct device *dev = &adapter->vdev->dev;
drivers/net/ethernet/ibm/ibmvnic.c
4228
if (test_bit(0, &adapter->resetting) &&
drivers/net/ethernet/ibm/ibmvnic.c
4229
adapter->reset_reason == VNIC_RESET_MOBILITY) {
drivers/net/ethernet/ibm/ibmvnic.c
4233
rc = plpar_hcall_norets(H_VIOCTL, adapter->vdev->unit_address,
drivers/net/ethernet/ibm/ibmvnic.c
4241
static int ibmvnic_complete_tx(struct ibmvnic_adapter *adapter,
drivers/net/ethernet/ibm/ibmvnic.c
4244
struct device *dev = &adapter->vdev->dev;
drivers/net/ethernet/ibm/ibmvnic.c
4253
while (pending_scrq(adapter, scrq)) {
drivers/net/ethernet/ibm/ibmvnic.c
4256
next = ibmvnic_next_scrq(adapter, scrq);
drivers/net/ethernet/ibm/ibmvnic.c
4260
tx_pool = &adapter->tso_pool[pool];
drivers/net/ethernet/ibm/ibmvnic.c
4263
tx_pool = &adapter->tx_pool[pool];
drivers/net/ethernet/ibm/ibmvnic.c
4280
netdev_warn(adapter->netdev,
drivers/net/ethernet/ibm/ibmvnic.c
4293
(adapter->req_tx_entries_per_subcrq / 2) &&
drivers/net/ethernet/ibm/ibmvnic.c
4294
__netif_subqueue_stopped(adapter->netdev,
drivers/net/ethernet/ibm/ibmvnic.c
4297
if (adapter->tx_queues_active) {
drivers/net/ethernet/ibm/ibmvnic.c
4298
netif_wake_subqueue(adapter->netdev,
drivers/net/ethernet/ibm/ibmvnic.c
4300
netdev_dbg(adapter->netdev,
drivers/net/ethernet/ibm/ibmvnic.c
4308
enable_scrq_irq(adapter, scrq);
drivers/net/ethernet/ibm/ibmvnic.c
4310
if (pending_scrq(adapter, scrq)) {
drivers/net/ethernet/ibm/ibmvnic.c
4311
disable_scrq_irq(adapter, scrq);
drivers/net/ethernet/ibm/ibmvnic.c
4315
txq = netdev_get_tx_queue(adapter->netdev, scrq->pool_index);
drivers/net/ethernet/ibm/ibmvnic.c
4324
struct ibmvnic_adapter *adapter = scrq->adapter;
drivers/net/ethernet/ibm/ibmvnic.c
4326
disable_scrq_irq(adapter, scrq);
drivers/net/ethernet/ibm/ibmvnic.c
4327
ibmvnic_complete_tx(adapter, scrq);
drivers/net/ethernet/ibm/ibmvnic.c
4335
struct ibmvnic_adapter *adapter = scrq->adapter;
drivers/net/ethernet/ibm/ibmvnic.c
4340
if (unlikely(adapter->state != VNIC_OPEN))
drivers/net/ethernet/ibm/ibmvnic.c
4343
adapter->rx_stats_buffers[scrq->scrq_num].interrupts++;
drivers/net/ethernet/ibm/ibmvnic.c
4345
if (napi_schedule_prep(&adapter->napi[scrq->scrq_num])) {
drivers/net/ethernet/ibm/ibmvnic.c
4346
disable_scrq_irq(adapter, scrq);
drivers/net/ethernet/ibm/ibmvnic.c
4347
__napi_schedule(&adapter->napi[scrq->scrq_num]);
drivers/net/ethernet/ibm/ibmvnic.c
4353
static int init_sub_crq_irqs(struct ibmvnic_adapter *adapter)
drivers/net/ethernet/ibm/ibmvnic.c
4355
struct device *dev = &adapter->vdev->dev;
drivers/net/ethernet/ibm/ibmvnic.c
4360
for (i = 0; i < adapter->req_tx_queues; i++) {
drivers/net/ethernet/ibm/ibmvnic.c
4361
netdev_dbg(adapter->netdev, "Initializing tx_scrq[%d] irq\n",
drivers/net/ethernet/ibm/ibmvnic.c
4363
scrq = adapter->tx_scrq[i];
drivers/net/ethernet/ibm/ibmvnic.c
4373
adapter->vdev->unit_address, i);
drivers/net/ethernet/ibm/ibmvnic.c
4385
for (i = 0; i < adapter->req_rx_queues; i++) {
drivers/net/ethernet/ibm/ibmvnic.c
4386
netdev_dbg(adapter->netdev, "Initializing rx_scrq[%d] irq\n",
drivers/net/ethernet/ibm/ibmvnic.c
4388
scrq = adapter->rx_scrq[i];
drivers/net/ethernet/ibm/ibmvnic.c
4396
adapter->vdev->unit_address, i);
drivers/net/ethernet/ibm/ibmvnic.c
4408
ibmvnic_set_affinity(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
4415
free_irq(adapter->rx_scrq[j]->irq, adapter->rx_scrq[j]);
drivers/net/ethernet/ibm/ibmvnic.c
4416
irq_dispose_mapping(adapter->rx_scrq[j]->irq);
drivers/net/ethernet/ibm/ibmvnic.c
4418
i = adapter->req_tx_queues;
drivers/net/ethernet/ibm/ibmvnic.c
4421
free_irq(adapter->tx_scrq[j]->irq, adapter->tx_scrq[j]);
drivers/net/ethernet/ibm/ibmvnic.c
4422
irq_dispose_mapping(adapter->tx_scrq[j]->irq);
drivers/net/ethernet/ibm/ibmvnic.c
4424
release_sub_crqs(adapter, 1);
drivers/net/ethernet/ibm/ibmvnic.c
4428
static int init_sub_crqs(struct ibmvnic_adapter *adapter)
drivers/net/ethernet/ibm/ibmvnic.c
4430
struct device *dev = &adapter->vdev->dev;
drivers/net/ethernet/ibm/ibmvnic.c
4437
total_queues = adapter->req_tx_queues + adapter->req_rx_queues;
drivers/net/ethernet/ibm/ibmvnic.c
4444
allqueues[i] = init_sub_crq_queue(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
4454
adapter->min_tx_queues + adapter->min_rx_queues) {
drivers/net/ethernet/ibm/ibmvnic.c
4461
netdev_dbg(adapter->netdev, "Reducing number of queues\n");
drivers/net/ethernet/ibm/ibmvnic.c
4464
if (adapter->req_rx_queues > adapter->min_rx_queues)
drivers/net/ethernet/ibm/ibmvnic.c
4465
adapter->req_rx_queues--;
drivers/net/ethernet/ibm/ibmvnic.c
4470
if (adapter->req_tx_queues > adapter->min_tx_queues)
drivers/net/ethernet/ibm/ibmvnic.c
4471
adapter->req_tx_queues--;
drivers/net/ethernet/ibm/ibmvnic.c
4478
adapter->tx_scrq = kzalloc_objs(*adapter->tx_scrq,
drivers/net/ethernet/ibm/ibmvnic.c
4479
adapter->req_tx_queues);
drivers/net/ethernet/ibm/ibmvnic.c
4480
if (!adapter->tx_scrq)
drivers/net/ethernet/ibm/ibmvnic.c
4483
for (i = 0; i < adapter->req_tx_queues; i++) {
drivers/net/ethernet/ibm/ibmvnic.c
4484
adapter->tx_scrq[i] = allqueues[i];
drivers/net/ethernet/ibm/ibmvnic.c
4485
adapter->tx_scrq[i]->pool_index = i;
drivers/net/ethernet/ibm/ibmvnic.c
4486
adapter->num_active_tx_scrqs++;
drivers/net/ethernet/ibm/ibmvnic.c
4489
adapter->rx_scrq = kzalloc_objs(*adapter->rx_scrq,
drivers/net/ethernet/ibm/ibmvnic.c
4490
adapter->req_rx_queues);
drivers/net/ethernet/ibm/ibmvnic.c
4491
if (!adapter->rx_scrq)
drivers/net/ethernet/ibm/ibmvnic.c
4494
for (i = 0; i < adapter->req_rx_queues; i++) {
drivers/net/ethernet/ibm/ibmvnic.c
4495
adapter->rx_scrq[i] = allqueues[i + adapter->req_tx_queues];
drivers/net/ethernet/ibm/ibmvnic.c
4496
adapter->rx_scrq[i]->scrq_num = i;
drivers/net/ethernet/ibm/ibmvnic.c
4497
adapter->num_active_rx_scrqs++;
drivers/net/ethernet/ibm/ibmvnic.c
4504
kfree(adapter->tx_scrq);
drivers/net/ethernet/ibm/ibmvnic.c
4505
adapter->tx_scrq = NULL;
drivers/net/ethernet/ibm/ibmvnic.c
4508
release_sub_crq_queue(adapter, allqueues[i], 1);
drivers/net/ethernet/ibm/ibmvnic.c
4513
static void send_request_cap(struct ibmvnic_adapter *adapter, int retry)
drivers/net/ethernet/ibm/ibmvnic.c
4515
struct device *dev = &adapter->vdev->dev;
drivers/net/ethernet/ibm/ibmvnic.c
4525
if (!(adapter->netdev->flags & IFF_PROMISC) ||
drivers/net/ethernet/ibm/ibmvnic.c
4526
adapter->promisc_supported)
drivers/net/ethernet/ibm/ibmvnic.c
4535
atomic_set(&adapter->running_cap_crqs, cap_reqs);
drivers/net/ethernet/ibm/ibmvnic.c
4537
if (adapter->min_tx_entries_per_subcrq > entries_page ||
drivers/net/ethernet/ibm/ibmvnic.c
4538
adapter->min_rx_add_entries_per_subcrq > entries_page) {
drivers/net/ethernet/ibm/ibmvnic.c
4543
if (adapter->desired.mtu)
drivers/net/ethernet/ibm/ibmvnic.c
4544
adapter->req_mtu = adapter->desired.mtu;
drivers/net/ethernet/ibm/ibmvnic.c
4546
adapter->req_mtu = adapter->netdev->mtu + ETH_HLEN;
drivers/net/ethernet/ibm/ibmvnic.c
4548
if (!adapter->desired.tx_entries)
drivers/net/ethernet/ibm/ibmvnic.c
4549
adapter->desired.tx_entries =
drivers/net/ethernet/ibm/ibmvnic.c
455
static int alloc_long_term_buff(struct ibmvnic_adapter *adapter,
drivers/net/ethernet/ibm/ibmvnic.c
4550
adapter->max_tx_entries_per_subcrq;
drivers/net/ethernet/ibm/ibmvnic.c
4551
if (!adapter->desired.rx_entries)
drivers/net/ethernet/ibm/ibmvnic.c
4552
adapter->desired.rx_entries =
drivers/net/ethernet/ibm/ibmvnic.c
4553
adapter->max_rx_add_entries_per_subcrq;
drivers/net/ethernet/ibm/ibmvnic.c
4556
(adapter->req_mtu + IBMVNIC_BUFFER_HLEN);
drivers/net/ethernet/ibm/ibmvnic.c
4558
if ((adapter->req_mtu + IBMVNIC_BUFFER_HLEN) *
drivers/net/ethernet/ibm/ibmvnic.c
4559
adapter->desired.tx_entries > IBMVNIC_LTB_SET_SIZE) {
drivers/net/ethernet/ibm/ibmvnic.c
4560
adapter->desired.tx_entries = max_entries;
drivers/net/ethernet/ibm/ibmvnic.c
4563
if ((adapter->req_mtu + IBMVNIC_BUFFER_HLEN) *
drivers/net/ethernet/ibm/ibmvnic.c
4564
adapter->desired.rx_entries > IBMVNIC_LTB_SET_SIZE) {
drivers/net/ethernet/ibm/ibmvnic.c
4565
adapter->desired.rx_entries = max_entries;
drivers/net/ethernet/ibm/ibmvnic.c
4568
if (adapter->desired.tx_entries)
drivers/net/ethernet/ibm/ibmvnic.c
4569
adapter->req_tx_entries_per_subcrq =
drivers/net/ethernet/ibm/ibmvnic.c
4570
adapter->desired.tx_entries;
drivers/net/ethernet/ibm/ibmvnic.c
4572
adapter->req_tx_entries_per_subcrq =
drivers/net/ethernet/ibm/ibmvnic.c
4573
adapter->max_tx_entries_per_subcrq;
drivers/net/ethernet/ibm/ibmvnic.c
4575
if (adapter->desired.rx_entries)
drivers/net/ethernet/ibm/ibmvnic.c
4576
adapter->req_rx_add_entries_per_subcrq =
drivers/net/ethernet/ibm/ibmvnic.c
4577
adapter->desired.rx_entries;
drivers/net/ethernet/ibm/ibmvnic.c
4579
adapter->req_rx_add_entries_per_subcrq =
drivers/net/ethernet/ibm/ibmvnic.c
458
struct device *dev = &adapter->vdev->dev;
drivers/net/ethernet/ibm/ibmvnic.c
4580
adapter->max_rx_add_entries_per_subcrq;
drivers/net/ethernet/ibm/ibmvnic.c
4582
if (adapter->desired.tx_queues)
drivers/net/ethernet/ibm/ibmvnic.c
4583
adapter->req_tx_queues =
drivers/net/ethernet/ibm/ibmvnic.c
4584
adapter->desired.tx_queues;
drivers/net/ethernet/ibm/ibmvnic.c
4586
adapter->req_tx_queues =
drivers/net/ethernet/ibm/ibmvnic.c
4587
adapter->opt_tx_comp_sub_queues;
drivers/net/ethernet/ibm/ibmvnic.c
4589
if (adapter->desired.rx_queues)
drivers/net/ethernet/ibm/ibmvnic.c
4590
adapter->req_rx_queues =
drivers/net/ethernet/ibm/ibmvnic.c
4591
adapter->desired.rx_queues;
drivers/net/ethernet/ibm/ibmvnic.c
4593
adapter->req_rx_queues =
drivers/net/ethernet/ibm/ibmvnic.c
4594
adapter->opt_rx_comp_queues;
drivers/net/ethernet/ibm/ibmvnic.c
4596
adapter->req_rx_add_queues = adapter->max_rx_add_queues;
drivers/net/ethernet/ibm/ibmvnic.c
4598
atomic_add(cap_reqs, &adapter->running_cap_crqs);
drivers/net/ethernet/ibm/ibmvnic.c
4605
crq.request_capability.number = cpu_to_be64(adapter->req_tx_queues);
drivers/net/ethernet/ibm/ibmvnic.c
4607
ibmvnic_send_crq(adapter, &crq);
drivers/net/ethernet/ibm/ibmvnic.c
4610
crq.request_capability.number = cpu_to_be64(adapter->req_rx_queues);
drivers/net/ethernet/ibm/ibmvnic.c
4612
ibmvnic_send_crq(adapter, &crq);
drivers/net/ethernet/ibm/ibmvnic.c
4615
crq.request_capability.number = cpu_to_be64(adapter->req_rx_add_queues);
drivers/net/ethernet/ibm/ibmvnic.c
4617
ibmvnic_send_crq(adapter, &crq);
drivers/net/ethernet/ibm/ibmvnic.c
4622
cpu_to_be64(adapter->req_tx_entries_per_subcrq);
drivers/net/ethernet/ibm/ibmvnic.c
4624
ibmvnic_send_crq(adapter, &crq);
drivers/net/ethernet/ibm/ibmvnic.c
4629
cpu_to_be64(adapter->req_rx_add_entries_per_subcrq);
drivers/net/ethernet/ibm/ibmvnic.c
4631
ibmvnic_send_crq(adapter, &crq);
drivers/net/ethernet/ibm/ibmvnic.c
4634
crq.request_capability.number = cpu_to_be64(adapter->req_mtu);
drivers/net/ethernet/ibm/ibmvnic.c
4636
ibmvnic_send_crq(adapter, &crq);
drivers/net/ethernet/ibm/ibmvnic.c
4638
if (adapter->netdev->flags & IFF_PROMISC) {
drivers/net/ethernet/ibm/ibmvnic.c
4639
if (adapter->promisc_supported) {
drivers/net/ethernet/ibm/ibmvnic.c
4644
ibmvnic_send_crq(adapter, &crq);
drivers/net/ethernet/ibm/ibmvnic.c
4651
ibmvnic_send_crq(adapter, &crq);
drivers/net/ethernet/ibm/ibmvnic.c
4660
static int pending_scrq(struct ibmvnic_adapter *adapter,
drivers/net/ethernet/ibm/ibmvnic.c
467
free_long_term_buff(adapter, ltb);
drivers/net/ethernet/ibm/ibmvnic.c
4676
static union sub_crq *ibmvnic_next_scrq(struct ibmvnic_adapter *adapter,
drivers/net/ethernet/ibm/ibmvnic.c
4700
static union ibmvnic_crq *ibmvnic_next_crq(struct ibmvnic_adapter *adapter)
drivers/net/ethernet/ibm/ibmvnic.c
4702
struct ibmvnic_crq_queue *queue = &adapter->crq;
drivers/net/ethernet/ibm/ibmvnic.c
4735
static int send_subcrq_indirect(struct ibmvnic_adapter *adapter,
drivers/net/ethernet/ibm/ibmvnic.c
4738
unsigned int ua = adapter->vdev->unit_address;
drivers/net/ethernet/ibm/ibmvnic.c
4739
struct device *dev = &adapter->vdev->dev;
drivers/net/ethernet/ibm/ibmvnic.c
4754
static int ibmvnic_send_crq(struct ibmvnic_adapter *adapter,
drivers/net/ethernet/ibm/ibmvnic.c
4757
unsigned int ua = adapter->vdev->unit_address;
drivers/net/ethernet/ibm/ibmvnic.c
4758
struct device *dev = &adapter->vdev->dev;
drivers/net/ethernet/ibm/ibmvnic.c
4762
netdev_dbg(adapter->netdev, "Sending CRQ: %016lx %016lx\n",
drivers/net/ethernet/ibm/ibmvnic.c
4766
if (!adapter->crq.active &&
drivers/net/ethernet/ibm/ibmvnic.c
4791
static int ibmvnic_send_crq_init(struct ibmvnic_adapter *adapter)
drivers/net/ethernet/ibm/ibmvnic.c
4793
struct device *dev = &adapter->vdev->dev;
drivers/net/ethernet/ibm/ibmvnic.c
4801
netdev_dbg(adapter->netdev, "Sending CRQ init\n");
drivers/net/ethernet/ibm/ibmvnic.c
4804
rc = ibmvnic_send_crq(adapter, &crq);
drivers/net/ethernet/ibm/ibmvnic.c
482
ltb->map_id = find_first_zero_bit(adapter->map_ids,
drivers/net/ethernet/ibm/ibmvnic.c
4826
static int vnic_client_data_len(struct ibmvnic_adapter *adapter)
drivers/net/ethernet/ibm/ibmvnic.c
4837
len += strlen(adapter->netdev->name) + 1;
drivers/net/ethernet/ibm/ibmvnic.c
484
bitmap_set(adapter->map_ids, ltb->map_id, 1);
drivers/net/ethernet/ibm/ibmvnic.c
4842
static void vnic_add_client_data(struct ibmvnic_adapter *adapter,
drivers/net/ethernet/ibm/ibmvnic.c
4864
len = strlen(adapter->netdev->name) + 1;
drivers/net/ethernet/ibm/ibmvnic.c
4866
strscpy(vlcd->name, adapter->netdev->name, len);
drivers/net/ethernet/ibm/ibmvnic.c
4881
static int send_login(struct ibmvnic_adapter *adapter)
drivers/net/ethernet/ibm/ibmvnic.c
4885
struct device *dev = &adapter->vdev->dev;
drivers/net/ethernet/ibm/ibmvnic.c
4898
if (!adapter->tx_scrq || !adapter->rx_scrq) {
drivers/net/ethernet/ibm/ibmvnic.c
4899
netdev_err(adapter->netdev,
drivers/net/ethernet/ibm/ibmvnic.c
4904
release_login_buffer(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
4905
release_login_rsp_buffer(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
4907
client_data_len = vnic_client_data_len(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
4911
sizeof(u64) * (adapter->req_tx_queues + adapter->req_rx_queues) +
drivers/net/ethernet/ibm/ibmvnic.c
4926
sizeof(u64) * adapter->req_tx_queues +
drivers/net/ethernet/ibm/ibmvnic.c
4927
sizeof(u64) * adapter->req_rx_queues +
drivers/net/ethernet/ibm/ibmvnic.c
4928
sizeof(u64) * adapter->req_rx_queues +
drivers/net/ethernet/ibm/ibmvnic.c
494
mutex_lock(&adapter->fw_lock);
drivers/net/ethernet/ibm/ibmvnic.c
4942
adapter->login_buf = login_buffer;
drivers/net/ethernet/ibm/ibmvnic.c
4943
adapter->login_buf_token = buffer_token;
drivers/net/ethernet/ibm/ibmvnic.c
4944
adapter->login_buf_sz = buffer_size;
drivers/net/ethernet/ibm/ibmvnic.c
4945
adapter->login_rsp_buf = login_rsp_buffer;
drivers/net/ethernet/ibm/ibmvnic.c
4946
adapter->login_rsp_buf_token = rsp_buffer_token;
drivers/net/ethernet/ibm/ibmvnic.c
4947
adapter->login_rsp_buf_sz = rsp_buffer_size;
drivers/net/ethernet/ibm/ibmvnic.c
495
adapter->fw_done_rc = 0;
drivers/net/ethernet/ibm/ibmvnic.c
4951
login_buffer->num_txcomp_subcrqs = cpu_to_be32(adapter->req_tx_queues);
drivers/net/ethernet/ibm/ibmvnic.c
4954
login_buffer->num_rxcomp_subcrqs = cpu_to_be32(adapter->req_rx_queues);
drivers/net/ethernet/ibm/ibmvnic.c
4957
sizeof(u64) * adapter->req_tx_queues);
drivers/net/ethernet/ibm/ibmvnic.c
496
reinit_completion(&adapter->fw_done);
drivers/net/ethernet/ibm/ibmvnic.c
4965
sizeof(u64) * adapter->req_tx_queues);
drivers/net/ethernet/ibm/ibmvnic.c
4967
for (i = 0; i < adapter->req_tx_queues; i++) {
drivers/net/ethernet/ibm/ibmvnic.c
4968
if (adapter->tx_scrq[i]) {
drivers/net/ethernet/ibm/ibmvnic.c
4970
cpu_to_be64(adapter->tx_scrq[i]->crq_num);
drivers/net/ethernet/ibm/ibmvnic.c
4974
for (i = 0; i < adapter->req_rx_queues; i++) {
drivers/net/ethernet/ibm/ibmvnic.c
4975
if (adapter->rx_scrq[i]) {
drivers/net/ethernet/ibm/ibmvnic.c
4977
cpu_to_be64(adapter->rx_scrq[i]->crq_num);
drivers/net/ethernet/ibm/ibmvnic.c
498
rc = send_request_map(adapter, ltb->addr, ltb->size, ltb->map_id);
drivers/net/ethernet/ibm/ibmvnic.c
4983
((char *)rx_list_p + (sizeof(u64) * adapter->req_rx_queues));
drivers/net/ethernet/ibm/ibmvnic.c
4988
vnic_add_client_data(adapter, vlcd);
drivers/net/ethernet/ibm/ibmvnic.c
4990
netdev_dbg(adapter->netdev, "Login Buffer:\n");
drivers/net/ethernet/ibm/ibmvnic.c
4991
ibmvnic_print_hex_dump(adapter->netdev, adapter->login_buf,
drivers/net/ethernet/ibm/ibmvnic.c
4992
adapter->login_buf_sz);
drivers/net/ethernet/ibm/ibmvnic.c
5000
adapter->login_pending = true;
drivers/net/ethernet/ibm/ibmvnic.c
5001
rc = ibmvnic_send_crq(adapter, &crq);
drivers/net/ethernet/ibm/ibmvnic.c
5003
adapter->login_pending = false;
drivers/net/ethernet/ibm/ibmvnic.c
5004
netdev_err(adapter->netdev, "Failed to send login, rc=%d\n", rc);
drivers/net/ethernet/ibm/ibmvnic.c
5015
adapter->login_rsp_buf = NULL;
drivers/net/ethernet/ibm/ibmvnic.c
5020
adapter->login_buf = NULL;
drivers/net/ethernet/ibm/ibmvnic.c
5025
static int send_request_map(struct ibmvnic_adapter *adapter, dma_addr_t addr,
drivers/net/ethernet/ibm/ibmvnic.c
5036
return ibmvnic_send_crq(adapter, &crq);
drivers/net/ethernet/ibm/ibmvnic.c
5039
static int send_request_unmap(struct ibmvnic_adapter *adapter, u8 map_id)
drivers/net/ethernet/ibm/ibmvnic.c
504
rc = ibmvnic_wait_for_completion(adapter, &adapter->fw_done, 10000);
drivers/net/ethernet/ibm/ibmvnic.c
5047
return ibmvnic_send_crq(adapter, &crq);
drivers/net/ethernet/ibm/ibmvnic.c
5050
static void send_query_map(struct ibmvnic_adapter *adapter)
drivers/net/ethernet/ibm/ibmvnic.c
5057
ibmvnic_send_crq(adapter, &crq);
drivers/net/ethernet/ibm/ibmvnic.c
5061
static void send_query_cap(struct ibmvnic_adapter *adapter)
drivers/net/ethernet/ibm/ibmvnic.c
5072
atomic_set(&adapter->running_cap_crqs, cap_reqs);
drivers/net/ethernet/ibm/ibmvnic.c
5079
ibmvnic_send_crq(adapter, &crq);
drivers/net/ethernet/ibm/ibmvnic.c
5083
ibmvnic_send_crq(adapter, &crq);
drivers/net/ethernet/ibm/ibmvnic.c
5087
ibmvnic_send_crq(adapter, &crq);
drivers/net/ethernet/ibm/ibmvnic.c
5091
ibmvnic_send_crq(adapter, &crq);
drivers/net/ethernet/ibm/ibmvnic.c
5095
ibmvnic_send_crq(adapter, &crq);
drivers/net/ethernet/ibm/ibmvnic.c
5099
ibmvnic_send_crq(adapter, &crq);
drivers/net/ethernet/ibm/ibmvnic.c
5104
ibmvnic_send_crq(adapter, &crq);
drivers/net/ethernet/ibm/ibmvnic.c
5109
ibmvnic_send_crq(adapter, &crq);
drivers/net/ethernet/ibm/ibmvnic.c
511
if (adapter->fw_done_rc) {
drivers/net/ethernet/ibm/ibmvnic.c
5114
ibmvnic_send_crq(adapter, &crq);
drivers/net/ethernet/ibm/ibmvnic.c
5119
ibmvnic_send_crq(adapter, &crq);
drivers/net/ethernet/ibm/ibmvnic.c
5123
ibmvnic_send_crq(adapter, &crq);
drivers/net/ethernet/ibm/ibmvnic.c
5127
ibmvnic_send_crq(adapter, &crq);
drivers/net/ethernet/ibm/ibmvnic.c
513
adapter->fw_done_rc);
drivers/net/ethernet/ibm/ibmvnic.c
5131
ibmvnic_send_crq(adapter, &crq);
drivers/net/ethernet/ibm/ibmvnic.c
5135
ibmvnic_send_crq(adapter, &crq);
drivers/net/ethernet/ibm/ibmvnic.c
5139
ibmvnic_send_crq(adapter, &crq);
drivers/net/ethernet/ibm/ibmvnic.c
5143
ibmvnic_send_crq(adapter, &crq);
drivers/net/ethernet/ibm/ibmvnic.c
5147
ibmvnic_send_crq(adapter, &crq);
drivers/net/ethernet/ibm/ibmvnic.c
5151
ibmvnic_send_crq(adapter, &crq);
drivers/net/ethernet/ibm/ibmvnic.c
5155
ibmvnic_send_crq(adapter, &crq);
drivers/net/ethernet/ibm/ibmvnic.c
5159
ibmvnic_send_crq(adapter, &crq);
drivers/net/ethernet/ibm/ibmvnic.c
5163
ibmvnic_send_crq(adapter, &crq);
drivers/net/ethernet/ibm/ibmvnic.c
5168
ibmvnic_send_crq(adapter, &crq);
drivers/net/ethernet/ibm/ibmvnic.c
5173
ibmvnic_send_crq(adapter, &crq);
drivers/net/ethernet/ibm/ibmvnic.c
5178
ibmvnic_send_crq(adapter, &crq);
drivers/net/ethernet/ibm/ibmvnic.c
5183
ibmvnic_send_crq(adapter, &crq);
drivers/net/ethernet/ibm/ibmvnic.c
5192
static void send_query_ip_offload(struct ibmvnic_adapter *adapter)
drivers/net/ethernet/ibm/ibmvnic.c
5195
struct device *dev = &adapter->vdev->dev;
drivers/net/ethernet/ibm/ibmvnic.c
5198
adapter->ip_offload_tok =
drivers/net/ethernet/ibm/ibmvnic.c
520
mutex_unlock(&adapter->fw_lock);
drivers/net/ethernet/ibm/ibmvnic.c
5200
&adapter->ip_offload_buf,
drivers/net/ethernet/ibm/ibmvnic.c
5204
if (dma_mapping_error(dev, adapter->ip_offload_tok)) {
drivers/net/ethernet/ibm/ibmvnic.c
5215
cpu_to_be32(adapter->ip_offload_tok);
drivers/net/ethernet/ibm/ibmvnic.c
5217
ibmvnic_send_crq(adapter, &crq);
drivers/net/ethernet/ibm/ibmvnic.c
5220
static void send_control_ip_offload(struct ibmvnic_adapter *adapter)
drivers/net/ethernet/ibm/ibmvnic.c
5222
struct ibmvnic_control_ip_offload_buffer *ctrl_buf = &adapter->ip_offload_ctrl;
drivers/net/ethernet/ibm/ibmvnic.c
5223
struct ibmvnic_query_ip_offload_buffer *buf = &adapter->ip_offload_buf;
drivers/net/ethernet/ibm/ibmvnic.c
5224
struct device *dev = &adapter->vdev->dev;
drivers/net/ethernet/ibm/ibmvnic.c
5228
adapter->ip_offload_ctrl_tok =
drivers/net/ethernet/ibm/ibmvnic.c
5231
sizeof(adapter->ip_offload_ctrl),
drivers/net/ethernet/ibm/ibmvnic.c
5234
if (dma_mapping_error(dev, adapter->ip_offload_ctrl_tok)) {
drivers/net/ethernet/ibm/ibmvnic.c
5239
ctrl_buf->len = cpu_to_be32(sizeof(adapter->ip_offload_ctrl));
drivers/net/ethernet/ibm/ibmvnic.c
524
static void free_long_term_buff(struct ibmvnic_adapter *adapter,
drivers/net/ethernet/ibm/ibmvnic.c
5254
if (adapter->state != VNIC_PROBING) {
drivers/net/ethernet/ibm/ibmvnic.c
5255
old_hw_features = adapter->netdev->hw_features;
drivers/net/ethernet/ibm/ibmvnic.c
5256
adapter->netdev->hw_features = 0;
drivers/net/ethernet/ibm/ibmvnic.c
5259
adapter->netdev->hw_features = NETIF_F_SG | NETIF_F_GSO | NETIF_F_GRO;
drivers/net/ethernet/ibm/ibmvnic.c
5262
adapter->netdev->hw_features |= NETIF_F_IP_CSUM;
drivers/net/ethernet/ibm/ibmvnic.c
5265
adapter->netdev->hw_features |= NETIF_F_IPV6_CSUM;
drivers/net/ethernet/ibm/ibmvnic.c
5267
if ((adapter->netdev->features &
drivers/net/ethernet/ibm/ibmvnic.c
5269
adapter->netdev->hw_features |= NETIF_F_RXCSUM;
drivers/net/ethernet/ibm/ibmvnic.c
527
struct device *dev = &adapter->vdev->dev;
drivers/net/ethernet/ibm/ibmvnic.c
5272
adapter->netdev->hw_features |= NETIF_F_TSO;
drivers/net/ethernet/ibm/ibmvnic.c
5274
adapter->netdev->hw_features |= NETIF_F_TSO6;
drivers/net/ethernet/ibm/ibmvnic.c
5276
if (adapter->state == VNIC_PROBING) {
drivers/net/ethernet/ibm/ibmvnic.c
5277
adapter->netdev->features |= adapter->netdev->hw_features;
drivers/net/ethernet/ibm/ibmvnic.c
5278
} else if (old_hw_features != adapter->netdev->hw_features) {
drivers/net/ethernet/ibm/ibmvnic.c
5282
adapter->netdev->features &= adapter->netdev->hw_features;
drivers/net/ethernet/ibm/ibmvnic.c
5284
tmp = (old_hw_features ^ adapter->netdev->hw_features) &
drivers/net/ethernet/ibm/ibmvnic.c
5285
adapter->netdev->hw_features;
drivers/net/ethernet/ibm/ibmvnic.c
5286
adapter->netdev->features |=
drivers/net/ethernet/ibm/ibmvnic.c
5287
tmp & adapter->netdev->wanted_features;
drivers/net/ethernet/ibm/ibmvnic.c
5294
cpu_to_be32(sizeof(adapter->ip_offload_ctrl));
drivers/net/ethernet/ibm/ibmvnic.c
5295
crq.control_ip_offload.ioba = cpu_to_be32(adapter->ip_offload_ctrl_tok);
drivers/net/ethernet/ibm/ibmvnic.c
5296
ibmvnic_send_crq(adapter, &crq);
drivers/net/ethernet/ibm/ibmvnic.c
5300
struct ibmvnic_adapter *adapter)
drivers/net/ethernet/ibm/ibmvnic.c
5302
struct device *dev = &adapter->vdev->dev;
drivers/net/ethernet/ibm/ibmvnic.c
5307
complete(&adapter->fw_done);
drivers/net/ethernet/ibm/ibmvnic.c
5311
adapter->vpd->len = be64_to_cpu(crq->get_vpd_size_rsp.len);
drivers/net/ethernet/ibm/ibmvnic.c
5312
complete(&adapter->fw_done);
drivers/net/ethernet/ibm/ibmvnic.c
5316
struct ibmvnic_adapter *adapter)
drivers/net/ethernet/ibm/ibmvnic.c
5318
struct device *dev = &adapter->vdev->dev;
drivers/net/ethernet/ibm/ibmvnic.c
5322
memset(adapter->fw_version, 0, 32);
drivers/net/ethernet/ibm/ibmvnic.c
5324
dma_unmap_single(dev, adapter->vpd->dma_addr, adapter->vpd->len,
drivers/net/ethernet/ibm/ibmvnic.c
5336
substr = strnstr(adapter->vpd->buff, "RM", adapter->vpd->len);
drivers/net/ethernet/ibm/ibmvnic.c
5343
if ((substr + 2) < (adapter->vpd->buff + adapter->vpd->len)) {
drivers/net/ethernet/ibm/ibmvnic.c
5352
(adapter->vpd->buff + adapter->vpd->len)) {
drivers/net/ethernet/ibm/ibmvnic.c
5353
strscpy(adapter->fw_version, substr + 3,
drivers/net/ethernet/ibm/ibmvnic.c
5354
sizeof(adapter->fw_version));
drivers/net/ethernet/ibm/ibmvnic.c
536
if (adapter->reset_reason != VNIC_RESET_FAILOVER &&
drivers/net/ethernet/ibm/ibmvnic.c
5360
if (adapter->fw_version[0] == '\0')
drivers/net/ethernet/ibm/ibmvnic.c
5361
strscpy((char *)adapter->fw_version, "N/A", sizeof(adapter->fw_version));
drivers/net/ethernet/ibm/ibmvnic.c
5362
complete(&adapter->fw_done);
drivers/net/ethernet/ibm/ibmvnic.c
5365
static void handle_query_ip_offload_rsp(struct ibmvnic_adapter *adapter)
drivers/net/ethernet/ibm/ibmvnic.c
5367
struct device *dev = &adapter->vdev->dev;
drivers/net/ethernet/ibm/ibmvnic.c
5368
struct ibmvnic_query_ip_offload_buffer *buf = &adapter->ip_offload_buf;
drivers/net/ethernet/ibm/ibmvnic.c
537
adapter->reset_reason != VNIC_RESET_MOBILITY &&
drivers/net/ethernet/ibm/ibmvnic.c
5370
dma_unmap_single(dev, adapter->ip_offload_tok,
drivers/net/ethernet/ibm/ibmvnic.c
5371
sizeof(adapter->ip_offload_buf), DMA_FROM_DEVICE);
drivers/net/ethernet/ibm/ibmvnic.c
5373
netdev_dbg(adapter->netdev, "Query IP Offload Buffer:\n");
drivers/net/ethernet/ibm/ibmvnic.c
5374
ibmvnic_print_hex_dump(adapter->netdev, buf,
drivers/net/ethernet/ibm/ibmvnic.c
5375
sizeof(adapter->ip_offload_buf));
drivers/net/ethernet/ibm/ibmvnic.c
5377
netdev_dbg(adapter->netdev, "ipv4_chksum = %d\n", buf->ipv4_chksum);
drivers/net/ethernet/ibm/ibmvnic.c
5378
netdev_dbg(adapter->netdev, "ipv6_chksum = %d\n", buf->ipv6_chksum);
drivers/net/ethernet/ibm/ibmvnic.c
5379
netdev_dbg(adapter->netdev, "tcp_ipv4_chksum = %d\n",
drivers/net/ethernet/ibm/ibmvnic.c
538
adapter->reset_reason != VNIC_RESET_TIMEOUT)
drivers/net/ethernet/ibm/ibmvnic.c
5381
netdev_dbg(adapter->netdev, "tcp_ipv6_chksum = %d\n",
drivers/net/ethernet/ibm/ibmvnic.c
5383
netdev_dbg(adapter->netdev, "udp_ipv4_chksum = %d\n",
drivers/net/ethernet/ibm/ibmvnic.c
5385
netdev_dbg(adapter->netdev, "udp_ipv6_chksum = %d\n",
drivers/net/ethernet/ibm/ibmvnic.c
5387
netdev_dbg(adapter->netdev, "large_tx_ipv4 = %d\n",
drivers/net/ethernet/ibm/ibmvnic.c
5389
netdev_dbg(adapter->netdev, "large_tx_ipv6 = %d\n",
drivers/net/ethernet/ibm/ibmvnic.c
539
send_request_unmap(adapter, ltb->map_id);
drivers/net/ethernet/ibm/ibmvnic.c
5391
netdev_dbg(adapter->netdev, "large_rx_ipv4 = %d\n",
drivers/net/ethernet/ibm/ibmvnic.c
5393
netdev_dbg(adapter->netdev, "large_rx_ipv6 = %d\n",
drivers/net/ethernet/ibm/ibmvnic.c
5395
netdev_dbg(adapter->netdev, "max_ipv4_hdr_sz = %d\n",
drivers/net/ethernet/ibm/ibmvnic.c
5397
netdev_dbg(adapter->netdev, "max_ipv6_hdr_sz = %d\n",
drivers/net/ethernet/ibm/ibmvnic.c
5399
netdev_dbg(adapter->netdev, "max_tcp_hdr_size = %d\n",
drivers/net/ethernet/ibm/ibmvnic.c
5401
netdev_dbg(adapter->netdev, "max_udp_hdr_size = %d\n",
drivers/net/ethernet/ibm/ibmvnic.c
5403
netdev_dbg(adapter->netdev, "max_large_tx_size = %d\n",
drivers/net/ethernet/ibm/ibmvnic.c
5405
netdev_dbg(adapter->netdev, "max_large_rx_size = %d\n",
drivers/net/ethernet/ibm/ibmvnic.c
5407
netdev_dbg(adapter->netdev, "ipv6_ext_hdr = %d\n",
drivers/net/ethernet/ibm/ibmvnic.c
5409
netdev_dbg(adapter->netdev, "tcp_pseudosum_req = %d\n",
drivers/net/ethernet/ibm/ibmvnic.c
5411
netdev_dbg(adapter->netdev, "num_ipv6_ext_hd = %d\n",
drivers/net/ethernet/ibm/ibmvnic.c
5413
netdev_dbg(adapter->netdev, "off_ipv6_ext_hd = %d\n",
drivers/net/ethernet/ibm/ibmvnic.c
5416
send_control_ip_offload(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
5442
struct ibmvnic_adapter *adapter)
drivers/net/ethernet/ibm/ibmvnic.c
5444
struct device *dev = &adapter->vdev->dev;
drivers/net/ethernet/ibm/ibmvnic.c
545
bitmap_clear(adapter->map_ids, ltb->map_id, 1);
drivers/net/ethernet/ibm/ibmvnic.c
5456
ibmvnic_reset(adapter, VNIC_RESET_FATAL);
drivers/net/ethernet/ibm/ibmvnic.c
5458
ibmvnic_reset(adapter, VNIC_RESET_NON_FATAL);
drivers/net/ethernet/ibm/ibmvnic.c
5462
struct ibmvnic_adapter *adapter)
drivers/net/ethernet/ibm/ibmvnic.c
5464
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/ibm/ibmvnic.c
5465
struct device *dev = &adapter->vdev->dev;
drivers/net/ethernet/ibm/ibmvnic.c
5477
ether_addr_copy(adapter->mac_addr,
drivers/net/ethernet/ibm/ibmvnic.c
5480
complete(&adapter->fw_done);
drivers/net/ethernet/ibm/ibmvnic.c
5485
struct ibmvnic_adapter *adapter)
drivers/net/ethernet/ibm/ibmvnic.c
5487
struct device *dev = &adapter->vdev->dev;
drivers/net/ethernet/ibm/ibmvnic.c
5491
atomic_dec(&adapter->running_cap_crqs);
drivers/net/ethernet/ibm/ibmvnic.c
5492
netdev_dbg(adapter->netdev, "Outstanding request-caps: %d\n",
drivers/net/ethernet/ibm/ibmvnic.c
5493
atomic_read(&adapter->running_cap_crqs));
drivers/net/ethernet/ibm/ibmvnic.c
5496
req_value = &adapter->req_tx_queues;
drivers/net/ethernet/ibm/ibmvnic.c
5500
req_value = &adapter->req_rx_queues;
drivers/net/ethernet/ibm/ibmvnic.c
5504
req_value = &adapter->req_rx_add_queues;
drivers/net/ethernet/ibm/ibmvnic.c
5508
req_value = &adapter->req_tx_entries_per_subcrq;
drivers/net/ethernet/ibm/ibmvnic.c
5512
req_value = &adapter->req_rx_add_entries_per_subcrq;
drivers/net/ethernet/ibm/ibmvnic.c
5516
req_value = &adapter->req_mtu;
drivers/net/ethernet/ibm/ibmvnic.c
5520
req_value = &adapter->promisc;
drivers/net/ethernet/ibm/ibmvnic.c
5542
*req_value = adapter->fallback.mtu;
drivers/net/ethernet/ibm/ibmvnic.c
5548
send_request_cap(adapter, 1);
drivers/net/ethernet/ibm/ibmvnic.c
5557
if (atomic_read(&adapter->running_cap_crqs) == 0)
drivers/net/ethernet/ibm/ibmvnic.c
5558
send_query_ip_offload(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
5562
struct ibmvnic_adapter *adapter)
drivers/net/ethernet/ibm/ibmvnic.c
5564
struct device *dev = &adapter->vdev->dev;
drivers/net/ethernet/ibm/ibmvnic.c
5565
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/ibm/ibmvnic.c
5566
struct ibmvnic_login_rsp_buffer *login_rsp = adapter->login_rsp_buf;
drivers/net/ethernet/ibm/ibmvnic.c
5567
struct ibmvnic_login_buffer *login = adapter->login_buf;
drivers/net/ethernet/ibm/ibmvnic.c
557
static void free_ltb_set(struct ibmvnic_adapter *adapter,
drivers/net/ethernet/ibm/ibmvnic.c
5579
if (!adapter->login_pending) {
drivers/net/ethernet/ibm/ibmvnic.c
5583
adapter->login_pending = false;
drivers/net/ethernet/ibm/ibmvnic.c
5590
adapter->init_done_rc = login_rsp_crq->generic.rc.code;
drivers/net/ethernet/ibm/ibmvnic.c
5591
complete(&adapter->init_done);
drivers/net/ethernet/ibm/ibmvnic.c
5595
if (adapter->failover_pending) {
drivers/net/ethernet/ibm/ibmvnic.c
5596
adapter->init_done_rc = -EAGAIN;
drivers/net/ethernet/ibm/ibmvnic.c
5598
complete(&adapter->init_done);
drivers/net/ethernet/ibm/ibmvnic.c
5603
netdev->mtu = adapter->req_mtu - ETH_HLEN;
drivers/net/ethernet/ibm/ibmvnic.c
5605
netdev_dbg(adapter->netdev, "Login Response Buffer:\n");
drivers/net/ethernet/ibm/ibmvnic.c
5606
ibmvnic_print_hex_dump(netdev, adapter->login_rsp_buf,
drivers/net/ethernet/ibm/ibmvnic.c
5607
adapter->login_rsp_buf_sz);
drivers/net/ethernet/ibm/ibmvnic.c
5612
adapter->req_rx_add_queues !=
drivers/net/ethernet/ibm/ibmvnic.c
5615
ibmvnic_reset(adapter, VNIC_RESET_FATAL);
drivers/net/ethernet/ibm/ibmvnic.c
563
free_long_term_buff(adapter, <b_set->ltbs[i]);
drivers/net/ethernet/ibm/ibmvnic.c
5631
ibmvnic_reset(adapter, VNIC_RESET_FATAL);
drivers/net/ethernet/ibm/ibmvnic.c
5635
size_array = (u64 *)((u8 *)(adapter->login_rsp_buf) +
drivers/net/ethernet/ibm/ibmvnic.c
5636
be32_to_cpu(adapter->login_rsp_buf->off_rxadd_buff_size));
drivers/net/ethernet/ibm/ibmvnic.c
5640
adapter->cur_rx_buf_sz = be64_to_cpu(size_array[0]);
drivers/net/ethernet/ibm/ibmvnic.c
5642
num_tx_pools = be32_to_cpu(adapter->login_rsp_buf->num_txsubm_subcrqs);
drivers/net/ethernet/ibm/ibmvnic.c
5643
num_rx_pools = be32_to_cpu(adapter->login_rsp_buf->num_rxadd_subcrqs);
drivers/net/ethernet/ibm/ibmvnic.c
5645
tx_handle_array = (u64 *)((u8 *)(adapter->login_rsp_buf) +
drivers/net/ethernet/ibm/ibmvnic.c
5646
be32_to_cpu(adapter->login_rsp_buf->off_txsubm_subcrqs));
drivers/net/ethernet/ibm/ibmvnic.c
5647
rx_handle_array = (u64 *)((u8 *)(adapter->login_rsp_buf) +
drivers/net/ethernet/ibm/ibmvnic.c
5648
be32_to_cpu(adapter->login_rsp_buf->off_rxadd_subcrqs));
drivers/net/ethernet/ibm/ibmvnic.c
5651
adapter->tx_scrq[i]->handle = tx_handle_array[i];
drivers/net/ethernet/ibm/ibmvnic.c
5654
adapter->rx_scrq[i]->handle = rx_handle_array[i];
drivers/net/ethernet/ibm/ibmvnic.c
5656
adapter->num_active_tx_scrqs = num_tx_pools;
drivers/net/ethernet/ibm/ibmvnic.c
5657
adapter->num_active_rx_scrqs = num_rx_pools;
drivers/net/ethernet/ibm/ibmvnic.c
5658
release_login_rsp_buffer(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
5659
release_login_buffer(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
5660
complete(&adapter->init_done);
drivers/net/ethernet/ibm/ibmvnic.c
5666
struct ibmvnic_adapter *adapter)
drivers/net/ethernet/ibm/ibmvnic.c
5668
struct device *dev = &adapter->vdev->dev;
drivers/net/ethernet/ibm/ibmvnic.c
5677
struct ibmvnic_adapter *adapter)
drivers/net/ethernet/ibm/ibmvnic.c
5679
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/ibm/ibmvnic.c
5680
struct device *dev = &adapter->vdev->dev;
drivers/net/ethernet/ibm/ibmvnic.c
5695
struct ibmvnic_adapter *adapter)
drivers/net/ethernet/ibm/ibmvnic.c
5697
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/ibm/ibmvnic.c
5698
struct device *dev = &adapter->vdev->dev;
drivers/net/ethernet/ibm/ibmvnic.c
5701
atomic_dec(&adapter->running_cap_crqs);
drivers/net/ethernet/ibm/ibmvnic.c
5703
atomic_read(&adapter->running_cap_crqs));
drivers/net/ethernet/ibm/ibmvnic.c
5712
adapter->min_tx_queues =
drivers/net/ethernet/ibm/ibmvnic.c
5715
adapter->min_tx_queues);
drivers/net/ethernet/ibm/ibmvnic.c
5718
adapter->min_rx_queues =
drivers/net/ethernet/ibm/ibmvnic.c
5721
adapter->min_rx_queues);
drivers/net/ethernet/ibm/ibmvnic.c
5724
adapter->min_rx_add_queues =
drivers/net/ethernet/ibm/ibmvnic.c
5727
adapter->min_rx_add_queues);
drivers/net/ethernet/ibm/ibmvnic.c
5730
adapter->max_tx_queues =
drivers/net/ethernet/ibm/ibmvnic.c
5733
adapter->max_tx_queues);
drivers/net/ethernet/ibm/ibmvnic.c
5736
adapter->max_rx_queues =
drivers/net/ethernet/ibm/ibmvnic.c
5739
adapter->max_rx_queues);
drivers/net/ethernet/ibm/ibmvnic.c
5742
adapter->max_rx_add_queues =
drivers/net/ethernet/ibm/ibmvnic.c
5745
adapter->max_rx_add_queues);
drivers/net/ethernet/ibm/ibmvnic.c
5748
adapter->min_tx_entries_per_subcrq =
drivers/net/ethernet/ibm/ibmvnic.c
5751
adapter->min_tx_entries_per_subcrq);
drivers/net/ethernet/ibm/ibmvnic.c
5754
adapter->min_rx_add_entries_per_subcrq =
drivers/net/ethernet/ibm/ibmvnic.c
5757
adapter->min_rx_add_entries_per_subcrq);
drivers/net/ethernet/ibm/ibmvnic.c
5760
adapter->max_tx_entries_per_subcrq =
drivers/net/ethernet/ibm/ibmvnic.c
5763
adapter->max_tx_entries_per_subcrq);
drivers/net/ethernet/ibm/ibmvnic.c
5766
adapter->max_rx_add_entries_per_subcrq =
drivers/net/ethernet/ibm/ibmvnic.c
5769
adapter->max_rx_add_entries_per_subcrq);
drivers/net/ethernet/ibm/ibmvnic.c
5772
adapter->tcp_ip_offload =
drivers/net/ethernet/ibm/ibmvnic.c
5775
adapter->tcp_ip_offload);
drivers/net/ethernet/ibm/ibmvnic.c
5778
adapter->promisc_supported =
drivers/net/ethernet/ibm/ibmvnic.c
5781
adapter->promisc_supported);
drivers/net/ethernet/ibm/ibmvnic.c
5784
adapter->min_mtu = be64_to_cpu(crq->query_capability.number);
drivers/net/ethernet/ibm/ibmvnic.c
5785
netdev->min_mtu = adapter->min_mtu - ETH_HLEN;
drivers/net/ethernet/ibm/ibmvnic.c
5786
netdev_dbg(netdev, "min_mtu = %lld\n", adapter->min_mtu);
drivers/net/ethernet/ibm/ibmvnic.c
5789
adapter->max_mtu = be64_to_cpu(crq->query_capability.number);
drivers/net/ethernet/ibm/ibmvnic.c
5790
netdev->max_mtu = adapter->max_mtu - ETH_HLEN;
drivers/net/ethernet/ibm/ibmvnic.c
5791
netdev_dbg(netdev, "max_mtu = %lld\n", adapter->max_mtu);
drivers/net/ethernet/ibm/ibmvnic.c
5794
adapter->max_multicast_filters =
drivers/net/ethernet/ibm/ibmvnic.c
5797
adapter->max_multicast_filters);
drivers/net/ethernet/ibm/ibmvnic.c
5800
adapter->vlan_header_insertion =
drivers/net/ethernet/ibm/ibmvnic.c
5802
if (adapter->vlan_header_insertion)
drivers/net/ethernet/ibm/ibmvnic.c
5805
adapter->vlan_header_insertion);
drivers/net/ethernet/ibm/ibmvnic.c
5808
adapter->rx_vlan_header_insertion =
drivers/net/ethernet/ibm/ibmvnic.c
5811
adapter->rx_vlan_header_insertion);
drivers/net/ethernet/ibm/ibmvnic.c
5814
adapter->max_tx_sg_entries =
drivers/net/ethernet/ibm/ibmvnic.c
5817
adapter->max_tx_sg_entries);
drivers/net/ethernet/ibm/ibmvnic.c
5820
adapter->rx_sg_supported =
drivers/net/ethernet/ibm/ibmvnic.c
5823
adapter->rx_sg_supported);
drivers/net/ethernet/ibm/ibmvnic.c
5826
adapter->opt_tx_comp_sub_queues =
drivers/net/ethernet/ibm/ibmvnic.c
5829
adapter->opt_tx_comp_sub_queues);
drivers/net/ethernet/ibm/ibmvnic.c
5832
adapter->opt_rx_comp_queues =
drivers/net/ethernet/ibm/ibmvnic.c
5835
adapter->opt_rx_comp_queues);
drivers/net/ethernet/ibm/ibmvnic.c
5838
adapter->opt_rx_bufadd_q_per_rx_comp_q =
drivers/net/ethernet/ibm/ibmvnic.c
5841
adapter->opt_rx_bufadd_q_per_rx_comp_q);
drivers/net/ethernet/ibm/ibmvnic.c
5844
adapter->opt_tx_entries_per_subcrq =
drivers/net/ethernet/ibm/ibmvnic.c
5847
adapter->opt_tx_entries_per_subcrq);
drivers/net/ethernet/ibm/ibmvnic.c
5850
adapter->opt_rxba_entries_per_subcrq =
drivers/net/ethernet/ibm/ibmvnic.c
5853
adapter->opt_rxba_entries_per_subcrq);
drivers/net/ethernet/ibm/ibmvnic.c
5856
adapter->tx_rx_desc_req = crq->query_capability.number;
drivers/net/ethernet/ibm/ibmvnic.c
5858
adapter->tx_rx_desc_req);
drivers/net/ethernet/ibm/ibmvnic.c
5867
if (atomic_read(&adapter->running_cap_crqs) == 0)
drivers/net/ethernet/ibm/ibmvnic.c
5868
send_request_cap(adapter, 0);
drivers/net/ethernet/ibm/ibmvnic.c
587
static int alloc_ltb_set(struct ibmvnic_adapter *adapter,
drivers/net/ethernet/ibm/ibmvnic.c
5871
static int send_query_phys_parms(struct ibmvnic_adapter *adapter)
drivers/net/ethernet/ibm/ibmvnic.c
5880
mutex_lock(&adapter->fw_lock);
drivers/net/ethernet/ibm/ibmvnic.c
5881
adapter->fw_done_rc = 0;
drivers/net/ethernet/ibm/ibmvnic.c
5882
reinit_completion(&adapter->fw_done);
drivers/net/ethernet/ibm/ibmvnic.c
5884
rc = ibmvnic_send_crq(adapter, &crq);
drivers/net/ethernet/ibm/ibmvnic.c
5886
mutex_unlock(&adapter->fw_lock);
drivers/net/ethernet/ibm/ibmvnic.c
5890
rc = ibmvnic_wait_for_completion(adapter, &adapter->fw_done, 10000);
drivers/net/ethernet/ibm/ibmvnic.c
5892
mutex_unlock(&adapter->fw_lock);
drivers/net/ethernet/ibm/ibmvnic.c
5896
mutex_unlock(&adapter->fw_lock);
drivers/net/ethernet/ibm/ibmvnic.c
5897
return adapter->fw_done_rc ? -EIO : 0;
drivers/net/ethernet/ibm/ibmvnic.c
5901
struct ibmvnic_adapter *adapter)
drivers/net/ethernet/ibm/ibmvnic.c
5903
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/ibm/ibmvnic.c
591
struct device *dev = &adapter->vdev->dev;
drivers/net/ethernet/ibm/ibmvnic.c
5914
adapter->speed = SPEED_10;
drivers/net/ethernet/ibm/ibmvnic.c
5917
adapter->speed = SPEED_100;
drivers/net/ethernet/ibm/ibmvnic.c
5920
adapter->speed = SPEED_1000;
drivers/net/ethernet/ibm/ibmvnic.c
5923
adapter->speed = SPEED_10000;
drivers/net/ethernet/ibm/ibmvnic.c
5926
adapter->speed = SPEED_25000;
drivers/net/ethernet/ibm/ibmvnic.c
5929
adapter->speed = SPEED_40000;
drivers/net/ethernet/ibm/ibmvnic.c
5932
adapter->speed = SPEED_50000;
drivers/net/ethernet/ibm/ibmvnic.c
5935
adapter->speed = SPEED_100000;
drivers/net/ethernet/ibm/ibmvnic.c
5938
adapter->speed = SPEED_200000;
drivers/net/ethernet/ibm/ibmvnic.c
5943
adapter->speed = SPEED_UNKNOWN;
drivers/net/ethernet/ibm/ibmvnic.c
5946
adapter->duplex = DUPLEX_FULL;
drivers/net/ethernet/ibm/ibmvnic.c
5948
adapter->duplex = DUPLEX_HALF;
drivers/net/ethernet/ibm/ibmvnic.c
5950
adapter->duplex = DUPLEX_UNKNOWN;
drivers/net/ethernet/ibm/ibmvnic.c
5956
struct ibmvnic_adapter *adapter)
drivers/net/ethernet/ibm/ibmvnic.c
5959
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/ibm/ibmvnic.c
5960
struct device *dev = &adapter->vdev->dev;
drivers/net/ethernet/ibm/ibmvnic.c
5972
adapter->from_passive_init = true;
drivers/net/ethernet/ibm/ibmvnic.c
5976
adapter->login_pending = false;
drivers/net/ethernet/ibm/ibmvnic.c
5978
if (adapter->state == VNIC_DOWN)
drivers/net/ethernet/ibm/ibmvnic.c
5979
rc = ibmvnic_reset(adapter, VNIC_RESET_PASSIVE_INIT);
drivers/net/ethernet/ibm/ibmvnic.c
5981
rc = ibmvnic_reset(adapter, VNIC_RESET_FAILOVER);
drivers/net/ethernet/ibm/ibmvnic.c
5996
adapter->failover_pending = false;
drivers/net/ethernet/ibm/ibmvnic.c
5999
if (!completion_done(&adapter->init_done)) {
drivers/net/ethernet/ibm/ibmvnic.c
6000
if (!adapter->init_done_rc)
drivers/net/ethernet/ibm/ibmvnic.c
6001
adapter->init_done_rc = -EAGAIN;
drivers/net/ethernet/ibm/ibmvnic.c
6002
complete(&adapter->init_done);
drivers/net/ethernet/ibm/ibmvnic.c
6008
adapter->crq.active = true;
drivers/net/ethernet/ibm/ibmvnic.c
6009
send_version_xchg(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
6017
adapter->crq.active = false;
drivers/net/ethernet/ibm/ibmvnic.c
6021
if (!completion_done(&adapter->fw_done)) {
drivers/net/ethernet/ibm/ibmvnic.c
6022
adapter->fw_done_rc = -EIO;
drivers/net/ethernet/ibm/ibmvnic.c
6023
complete(&adapter->fw_done);
drivers/net/ethernet/ibm/ibmvnic.c
6027
if (!completion_done(&adapter->init_done)) {
drivers/net/ethernet/ibm/ibmvnic.c
6028
adapter->init_done_rc = -EAGAIN;
drivers/net/ethernet/ibm/ibmvnic.c
6029
complete(&adapter->init_done);
drivers/net/ethernet/ibm/ibmvnic.c
6032
if (!completion_done(&adapter->stats_done))
drivers/net/ethernet/ibm/ibmvnic.c
6033
complete(&adapter->stats_done);
drivers/net/ethernet/ibm/ibmvnic.c
6034
if (test_bit(0, &adapter->resetting))
drivers/net/ethernet/ibm/ibmvnic.c
6035
adapter->force_reset_recovery = true;
drivers/net/ethernet/ibm/ibmvnic.c
6038
ibmvnic_reset(adapter, VNIC_RESET_MOBILITY);
drivers/net/ethernet/ibm/ibmvnic.c
6041
adapter->failover_pending = true;
drivers/net/ethernet/ibm/ibmvnic.c
6046
ibmvnic_reset(adapter, VNIC_RESET_FATAL);
drivers/net/ethernet/ibm/ibmvnic.c
6068
send_query_cap(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
6071
handle_query_cap_rsp(crq, adapter);
drivers/net/ethernet/ibm/ibmvnic.c
6074
handle_query_map_rsp(crq, adapter);
drivers/net/ethernet/ibm/ibmvnic.c
6077
adapter->fw_done_rc = crq->request_map_rsp.rc.code;
drivers/net/ethernet/ibm/ibmvnic.c
6078
complete(&adapter->fw_done);
drivers/net/ethernet/ibm/ibmvnic.c
6081
handle_request_unmap_rsp(crq, adapter);
drivers/net/ethernet/ibm/ibmvnic.c
6084
handle_request_cap_rsp(crq, adapter);
drivers/net/ethernet/ibm/ibmvnic.c
6088
handle_login_rsp(crq, adapter);
drivers/net/ethernet/ibm/ibmvnic.c
6095
adapter->logical_link_state =
drivers/net/ethernet/ibm/ibmvnic.c
6097
adapter->init_done_rc = crq->logical_link_state_rsp.rc.code;
drivers/net/ethernet/ibm/ibmvnic.c
6098
complete(&adapter->init_done);
drivers/net/ethernet/ibm/ibmvnic.c
6102
adapter->phys_link_state =
drivers/net/ethernet/ibm/ibmvnic.c
6104
adapter->logical_link_state =
drivers/net/ethernet/ibm/ibmvnic.c
6106
if (adapter->phys_link_state && adapter->logical_link_state)
drivers/net/ethernet/ibm/ibmvnic.c
6113
adapter->fw_done_rc = handle_change_mac_rsp(crq, adapter);
drivers/net/ethernet/ibm/ibmvnic.c
6117
handle_error_indication(crq, adapter);
drivers/net/ethernet/ibm/ibmvnic.c
6121
complete(&adapter->stats_done);
drivers/net/ethernet/ibm/ibmvnic.c
6125
handle_query_ip_offload_rsp(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
6132
dma_unmap_single(dev, adapter->ip_offload_ctrl_tok,
drivers/net/ethernet/ibm/ibmvnic.c
6133
sizeof(adapter->ip_offload_ctrl),
drivers/net/ethernet/ibm/ibmvnic.c
6135
complete(&adapter->init_done);
drivers/net/ethernet/ibm/ibmvnic.c
6139
complete(&adapter->fw_done);
drivers/net/ethernet/ibm/ibmvnic.c
6142
handle_vpd_size_rsp(crq, adapter);
drivers/net/ethernet/ibm/ibmvnic.c
6145
handle_vpd_rsp(crq, adapter);
drivers/net/ethernet/ibm/ibmvnic.c
6148
adapter->fw_done_rc = handle_query_phys_parms_rsp(crq, adapter);
drivers/net/ethernet/ibm/ibmvnic.c
6149
complete(&adapter->fw_done);
drivers/net/ethernet/ibm/ibmvnic.c
6159
struct ibmvnic_adapter *adapter = instance;
drivers/net/ethernet/ibm/ibmvnic.c
6161
tasklet_schedule(&adapter->tasklet);
drivers/net/ethernet/ibm/ibmvnic.c
6167
struct ibmvnic_adapter *adapter = from_tasklet(adapter, t, tasklet);
drivers/net/ethernet/ibm/ibmvnic.c
6168
struct ibmvnic_crq_queue *queue = &adapter->crq;
drivers/net/ethernet/ibm/ibmvnic.c
6175
while ((crq = ibmvnic_next_crq(adapter)) != NULL) {
drivers/net/ethernet/ibm/ibmvnic.c
6182
ibmvnic_handle_crq(crq, adapter);
drivers/net/ethernet/ibm/ibmvnic.c
6189
static int ibmvnic_reenable_crq_queue(struct ibmvnic_adapter *adapter)
drivers/net/ethernet/ibm/ibmvnic.c
6191
struct vio_dev *vdev = adapter->vdev;
drivers/net/ethernet/ibm/ibmvnic.c
6204
static int ibmvnic_reset_crq(struct ibmvnic_adapter *adapter)
drivers/net/ethernet/ibm/ibmvnic.c
6206
struct ibmvnic_crq_queue *crq = &adapter->crq;
drivers/net/ethernet/ibm/ibmvnic.c
6207
struct device *dev = &adapter->vdev->dev;
drivers/net/ethernet/ibm/ibmvnic.c
6208
struct vio_dev *vdev = adapter->vdev;
drivers/net/ethernet/ibm/ibmvnic.c
6237
static void release_crq_queue(struct ibmvnic_adapter *adapter)
drivers/net/ethernet/ibm/ibmvnic.c
6239
struct ibmvnic_crq_queue *crq = &adapter->crq;
drivers/net/ethernet/ibm/ibmvnic.c
6240
struct vio_dev *vdev = adapter->vdev;
drivers/net/ethernet/ibm/ibmvnic.c
6246
netdev_dbg(adapter->netdev, "Releasing CRQ\n");
drivers/net/ethernet/ibm/ibmvnic.c
6247
free_irq(vdev->irq, adapter);
drivers/net/ethernet/ibm/ibmvnic.c
6248
tasklet_kill(&adapter->tasklet);
drivers/net/ethernet/ibm/ibmvnic.c
6260
static int init_crq_queue(struct ibmvnic_adapter *adapter)
drivers/net/ethernet/ibm/ibmvnic.c
6262
struct ibmvnic_crq_queue *crq = &adapter->crq;
drivers/net/ethernet/ibm/ibmvnic.c
6263
struct device *dev = &adapter->vdev->dev;
drivers/net/ethernet/ibm/ibmvnic.c
6264
struct vio_dev *vdev = adapter->vdev;
drivers/net/ethernet/ibm/ibmvnic.c
6287
rc = ibmvnic_reset_crq(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
6299
tasklet_setup(&adapter->tasklet, (void *)ibmvnic_tasklet);
drivers/net/ethernet/ibm/ibmvnic.c
630
free_long_term_buff(adapter, &old_set.ltbs[i]);
drivers/net/ethernet/ibm/ibmvnic.c
6301
netdev_dbg(adapter->netdev, "registering irq 0x%x\n", vdev->irq);
drivers/net/ethernet/ibm/ibmvnic.c
6303
adapter->vdev->unit_address);
drivers/net/ethernet/ibm/ibmvnic.c
6304
rc = request_irq(vdev->irq, ibmvnic_interrupt, 0, crq->name, adapter);
drivers/net/ethernet/ibm/ibmvnic.c
6321
tasklet_schedule(&adapter->tasklet);
drivers/net/ethernet/ibm/ibmvnic.c
6326
tasklet_kill(&adapter->tasklet);
drivers/net/ethernet/ibm/ibmvnic.c
6338
static int ibmvnic_reset_init(struct ibmvnic_adapter *adapter, bool reset)
drivers/net/ethernet/ibm/ibmvnic.c
6340
struct device *dev = &adapter->vdev->dev;
drivers/net/ethernet/ibm/ibmvnic.c
6342
u64 old_num_rx_queues = adapter->req_rx_queues;
drivers/net/ethernet/ibm/ibmvnic.c
6343
u64 old_num_tx_queues = adapter->req_tx_queues;
drivers/net/ethernet/ibm/ibmvnic.c
6346
adapter->from_passive_init = false;
drivers/net/ethernet/ibm/ibmvnic.c
6348
rc = ibmvnic_send_crq_init(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
6354
if (!wait_for_completion_timeout(&adapter->init_done, timeout)) {
drivers/net/ethernet/ibm/ibmvnic.c
6359
if (adapter->init_done_rc) {
drivers/net/ethernet/ibm/ibmvnic.c
6360
release_crq_queue(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
6361
dev_err(dev, "CRQ-init failed, %d\n", adapter->init_done_rc);
drivers/net/ethernet/ibm/ibmvnic.c
6362
return adapter->init_done_rc;
drivers/net/ethernet/ibm/ibmvnic.c
6365
if (adapter->from_passive_init) {
drivers/net/ethernet/ibm/ibmvnic.c
6366
adapter->state = VNIC_OPEN;
drivers/net/ethernet/ibm/ibmvnic.c
6367
adapter->from_passive_init = false;
drivers/net/ethernet/ibm/ibmvnic.c
6373
test_bit(0, &adapter->resetting) && !adapter->wait_for_reset &&
drivers/net/ethernet/ibm/ibmvnic.c
6374
adapter->reset_reason != VNIC_RESET_MOBILITY) {
drivers/net/ethernet/ibm/ibmvnic.c
6375
if (adapter->req_rx_queues != old_num_rx_queues ||
drivers/net/ethernet/ibm/ibmvnic.c
6376
adapter->req_tx_queues != old_num_tx_queues) {
drivers/net/ethernet/ibm/ibmvnic.c
6377
release_sub_crqs(adapter, 0);
drivers/net/ethernet/ibm/ibmvnic.c
6378
rc = init_sub_crqs(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
6387
clean_tx_pools(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
6389
rc = reset_sub_crq_queues(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
6392
if (adapter->reset_reason == VNIC_RESET_MOBILITY) {
drivers/net/ethernet/ibm/ibmvnic.c
6402
adapter->cur_max_ind_descs = IBMVNIC_MAX_IND_DESCS;
drivers/net/ethernet/ibm/ibmvnic.c
6405
rc = init_sub_crqs(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
6410
release_crq_queue(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
6414
rc = init_sub_crq_irqs(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
6417
release_crq_queue(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
6427
struct ibmvnic_adapter *adapter;
drivers/net/ethernet/ibm/ibmvnic.c
6451
adapter = netdev_priv(netdev);
drivers/net/ethernet/ibm/ibmvnic.c
6452
adapter->state = VNIC_PROBING;
drivers/net/ethernet/ibm/ibmvnic.c
6454
adapter->vdev = dev;
drivers/net/ethernet/ibm/ibmvnic.c
6455
adapter->netdev = netdev;
drivers/net/ethernet/ibm/ibmvnic.c
6456
adapter->login_pending = false;
drivers/net/ethernet/ibm/ibmvnic.c
6457
memset(&adapter->map_ids, 0, sizeof(adapter->map_ids));
drivers/net/ethernet/ibm/ibmvnic.c
6459
bitmap_set(adapter->map_ids, 0, 1);
drivers/net/ethernet/ibm/ibmvnic.c
6461
ether_addr_copy(adapter->mac_addr, mac_addr_p);
drivers/net/ethernet/ibm/ibmvnic.c
6462
eth_hw_addr_set(netdev, adapter->mac_addr);
drivers/net/ethernet/ibm/ibmvnic.c
6468
INIT_WORK(&adapter->ibmvnic_reset, __ibmvnic_reset);
drivers/net/ethernet/ibm/ibmvnic.c
6469
INIT_DELAYED_WORK(&adapter->ibmvnic_delayed_reset,
drivers/net/ethernet/ibm/ibmvnic.c
6471
INIT_LIST_HEAD(&adapter->rwi_list);
drivers/net/ethernet/ibm/ibmvnic.c
6472
spin_lock_init(&adapter->rwi_lock);
drivers/net/ethernet/ibm/ibmvnic.c
6473
spin_lock_init(&adapter->state_lock);
drivers/net/ethernet/ibm/ibmvnic.c
6474
mutex_init(&adapter->fw_lock);
drivers/net/ethernet/ibm/ibmvnic.c
6475
init_completion(&adapter->probe_done);
drivers/net/ethernet/ibm/ibmvnic.c
6476
init_completion(&adapter->init_done);
drivers/net/ethernet/ibm/ibmvnic.c
6477
init_completion(&adapter->fw_done);
drivers/net/ethernet/ibm/ibmvnic.c
6478
init_completion(&adapter->reset_done);
drivers/net/ethernet/ibm/ibmvnic.c
6479
init_completion(&adapter->stats_done);
drivers/net/ethernet/ibm/ibmvnic.c
6480
clear_bit(0, &adapter->resetting);
drivers/net/ethernet/ibm/ibmvnic.c
6481
adapter->prev_rx_buf_sz = 0;
drivers/net/ethernet/ibm/ibmvnic.c
6482
adapter->prev_mtu = 0;
drivers/net/ethernet/ibm/ibmvnic.c
6486
reinit_init_done(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
6491
adapter->failover_pending = false;
drivers/net/ethernet/ibm/ibmvnic.c
6497
release_crq_queue(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
6509
spin_lock_irqsave(&adapter->rwi_lock, flags);
drivers/net/ethernet/ibm/ibmvnic.c
6510
flush_reset_queue(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
6511
spin_unlock_irqrestore(&adapter->rwi_lock, flags);
drivers/net/ethernet/ibm/ibmvnic.c
6513
rc = init_crq_queue(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
6520
rc = ibmvnic_reset_init(adapter, false);
drivers/net/ethernet/ibm/ibmvnic.c
6531
rc = init_stats_buffers(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
6535
rc = init_stats_token(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
6546
adapter->state = VNIC_PROBED;
drivers/net/ethernet/ibm/ibmvnic.c
6547
netdev->mtu = adapter->req_mtu - ETH_HLEN;
drivers/net/ethernet/ibm/ibmvnic.c
6548
netdev->min_mtu = adapter->min_mtu - ETH_HLEN;
drivers/net/ethernet/ibm/ibmvnic.c
6549
netdev->max_mtu = adapter->max_mtu - ETH_HLEN;
drivers/net/ethernet/ibm/ibmvnic.c
6551
adapter->state = VNIC_DOWN;
drivers/net/ethernet/ibm/ibmvnic.c
6554
adapter->wait_for_reset = false;
drivers/net/ethernet/ibm/ibmvnic.c
6555
adapter->last_reset_time = jiffies;
drivers/net/ethernet/ibm/ibmvnic.c
6556
adapter->cur_max_ind_descs = IBMVNIC_MAX_IND_DESCS;
drivers/net/ethernet/ibm/ibmvnic.c
6565
rc = ibmvnic_cpu_notif_add(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
6571
complete(&adapter->probe_done);
drivers/net/ethernet/ibm/ibmvnic.c
6582
release_stats_token(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
6585
release_stats_buffers(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
6588
release_sub_crqs(adapter, 1);
drivers/net/ethernet/ibm/ibmvnic.c
6589
release_crq_queue(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
6594
adapter->state = VNIC_REMOVING;
drivers/net/ethernet/ibm/ibmvnic.c
6595
complete(&adapter->probe_done);
drivers/net/ethernet/ibm/ibmvnic.c
6596
flush_work(&adapter->ibmvnic_reset);
drivers/net/ethernet/ibm/ibmvnic.c
6597
flush_delayed_work(&adapter->ibmvnic_delayed_reset);
drivers/net/ethernet/ibm/ibmvnic.c
6599
flush_reset_queue(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
6601
mutex_destroy(&adapter->fw_lock);
drivers/net/ethernet/ibm/ibmvnic.c
6610
struct ibmvnic_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/ibm/ibmvnic.c
6613
spin_lock_irqsave(&adapter->state_lock, flags);
drivers/net/ethernet/ibm/ibmvnic.c
6622
spin_lock(&adapter->rwi_lock);
drivers/net/ethernet/ibm/ibmvnic.c
6623
adapter->state = VNIC_REMOVING;
drivers/net/ethernet/ibm/ibmvnic.c
6624
spin_unlock(&adapter->rwi_lock);
drivers/net/ethernet/ibm/ibmvnic.c
6626
spin_unlock_irqrestore(&adapter->state_lock, flags);
drivers/net/ethernet/ibm/ibmvnic.c
6628
ibmvnic_cpu_notif_remove(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
6630
flush_work(&adapter->ibmvnic_reset);
drivers/net/ethernet/ibm/ibmvnic.c
6631
flush_delayed_work(&adapter->ibmvnic_delayed_reset);
drivers/net/ethernet/ibm/ibmvnic.c
6636
release_resources(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
6637
release_rx_pools(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
6638
release_tx_pools(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
6639
release_sub_crqs(adapter, 1);
drivers/net/ethernet/ibm/ibmvnic.c
6640
release_crq_queue(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
6642
release_stats_token(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
6643
release_stats_buffers(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
6645
adapter->state = VNIC_REMOVED;
drivers/net/ethernet/ibm/ibmvnic.c
6648
mutex_destroy(&adapter->fw_lock);
drivers/net/ethernet/ibm/ibmvnic.c
6658
struct ibmvnic_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/ibm/ibmvnic.c
6666
rc = plpar_hcall(H_VIOCTL, retbuf, adapter->vdev->unit_address,
drivers/net/ethernet/ibm/ibmvnic.c
667
rc = alloc_long_term_buff(adapter, &new_set.ltbs[i], ltb_size);
drivers/net/ethernet/ibm/ibmvnic.c
6677
rc = plpar_hcall_norets(H_VIOCTL, adapter->vdev->unit_address,
drivers/net/ethernet/ibm/ibmvnic.c
6690
ibmvnic_reset(adapter, VNIC_RESET_FAILOVER);
drivers/net/ethernet/ibm/ibmvnic.c
6699
struct ibmvnic_adapter *adapter;
drivers/net/ethernet/ibm/ibmvnic.c
6710
adapter = netdev_priv(netdev);
drivers/net/ethernet/ibm/ibmvnic.c
6715
for (i = 0; i < adapter->req_tx_queues + adapter->req_rx_queues; i++)
drivers/net/ethernet/ibm/ibmvnic.c
6718
for (i = 0; i < adapter->num_active_rx_pools; i++)
drivers/net/ethernet/ibm/ibmvnic.c
6719
ret += adapter->rx_pool[i].size *
drivers/net/ethernet/ibm/ibmvnic.c
6720
IOMMU_PAGE_ALIGN(adapter->rx_pool[i].buff_size, tbl);
drivers/net/ethernet/ibm/ibmvnic.c
6728
struct ibmvnic_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/ibm/ibmvnic.c
6730
if (adapter->state != VNIC_OPEN)
drivers/net/ethernet/ibm/ibmvnic.c
6733
tasklet_schedule(&adapter->tasklet);
drivers/net/ethernet/ibm/ibmvnic.c
751
static void deactivate_rx_pools(struct ibmvnic_adapter *adapter)
drivers/net/ethernet/ibm/ibmvnic.c
755
for (i = 0; i < adapter->num_active_rx_pools; i++)
drivers/net/ethernet/ibm/ibmvnic.c
756
adapter->rx_pool[i].active = 0;
drivers/net/ethernet/ibm/ibmvnic.c
759
static void ibmvnic_set_safe_max_ind_descs(struct ibmvnic_adapter *adapter)
drivers/net/ethernet/ibm/ibmvnic.c
761
if (adapter->cur_max_ind_descs > IBMVNIC_SAFE_IND_DESC) {
drivers/net/ethernet/ibm/ibmvnic.c
762
netdev_info(adapter->netdev,
drivers/net/ethernet/ibm/ibmvnic.c
764
adapter->cur_max_ind_descs,
drivers/net/ethernet/ibm/ibmvnic.c
766
adapter->cur_max_ind_descs = IBMVNIC_SAFE_IND_DESC;
drivers/net/ethernet/ibm/ibmvnic.c
770
static void replenish_rx_pool(struct ibmvnic_adapter *adapter,
drivers/net/ethernet/ibm/ibmvnic.c
774
u64 handle = adapter->rx_scrq[pool->index]->handle;
drivers/net/ethernet/ibm/ibmvnic.c
775
struct device *dev = &adapter->vdev->dev;
drivers/net/ethernet/ibm/ibmvnic.c
793
rx_scrq = adapter->rx_scrq[pool->index];
drivers/net/ethernet/ibm/ibmvnic.c
812
skb = netdev_alloc_skb(adapter->netdev,
drivers/net/ethernet/ibm/ibmvnic.c
816
adapter->replenish_no_mem++;
drivers/net/ethernet/ibm/ibmvnic.c
857
if (ind_bufp->index == adapter->cur_max_ind_descs ||
drivers/net/ethernet/ibm/ibmvnic.c
860
send_subcrq_indirect(adapter, handle,
drivers/net/ethernet/ibm/ibmvnic.c
866
adapter->replenish_add_buff_success += ind_bufp->index;
drivers/net/ethernet/ibm/ibmvnic.c
879
ibmvnic_set_safe_max_ind_descs(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
897
adapter->replenish_add_buff_failure += ind_bufp->index;
drivers/net/ethernet/ibm/ibmvnic.c
900
if (lpar_rc == H_CLOSED || adapter->failover_pending) {
drivers/net/ethernet/ibm/ibmvnic.c
906
deactivate_rx_pools(adapter);
drivers/net/ethernet/ibm/ibmvnic.c
907
netif_carrier_off(adapter->netdev);
drivers/net/ethernet/ibm/ibmvnic.c
911
static void replenish_pools(struct ibmvnic_adapter *adapter)
drivers/net/ethernet/ibm/ibmvnic.c
915
adapter->replenish_task_cycles++;
drivers/net/ethernet/ibm/ibmvnic.c
916
for (i = 0; i < adapter->num_active_rx_pools; i++) {
drivers/net/ethernet/ibm/ibmvnic.c
917
if (adapter->rx_pool[i].active)
drivers/net/ethernet/ibm/ibmvnic.c
918
replenish_rx_pool(adapter, &adapter->rx_pool[i]);
drivers/net/ethernet/ibm/ibmvnic.c
921
netdev_dbg(adapter->netdev, "Replenished %d pools\n", i);
drivers/net/ethernet/ibm/ibmvnic.c
924
static void release_stats_buffers(struct ibmvnic_adapter *adapter)
drivers/net/ethernet/ibm/ibmvnic.c
926
kfree(adapter->tx_stats_buffers);
drivers/net/ethernet/ibm/ibmvnic.c
927
kfree(adapter->rx_stats_buffers);
drivers/net/ethernet/ibm/ibmvnic.c
928
adapter->tx_stats_buffers = NULL;
drivers/net/ethernet/ibm/ibmvnic.c
929
adapter->rx_stats_buffers = NULL;
drivers/net/ethernet/ibm/ibmvnic.c
932
static int init_stats_buffers(struct ibmvnic_adapter *adapter)
drivers/net/ethernet/ibm/ibmvnic.c
934
adapter->tx_stats_buffers =
drivers/net/ethernet/ibm/ibmvnic.c
937
if (!adapter->tx_stats_buffers)
drivers/net/ethernet/ibm/ibmvnic.c
940
adapter->rx_stats_buffers =
drivers/net/ethernet/ibm/ibmvnic.c
943
if (!adapter->rx_stats_buffers)
drivers/net/ethernet/ibm/ibmvnic.c
949
static void release_stats_token(struct ibmvnic_adapter *adapter)
drivers/net/ethernet/ibm/ibmvnic.c
951
struct device *dev = &adapter->vdev->dev;
drivers/net/ethernet/ibm/ibmvnic.c
953
if (!adapter->stats_token)
drivers/net/ethernet/ibm/ibmvnic.c
956
dma_unmap_single(dev, adapter->stats_token,
drivers/net/ethernet/ibm/ibmvnic.c
959
adapter->stats_token = 0;
drivers/net/ethernet/ibm/ibmvnic.c
962
static int init_stats_token(struct ibmvnic_adapter *adapter)
drivers/net/ethernet/ibm/ibmvnic.c
964
struct device *dev = &adapter->vdev->dev;
drivers/net/ethernet/ibm/ibmvnic.c
968
stok = dma_map_single(dev, &adapter->stats,
drivers/net/ethernet/ibm/ibmvnic.c
977
adapter->stats_token = stok;
drivers/net/ethernet/ibm/ibmvnic.c
978
netdev_dbg(adapter->netdev, "Stats token initialized (%llx)\n", stok);
drivers/net/ethernet/ibm/ibmvnic.c
988
static void release_rx_pools(struct ibmvnic_adapter *adapter)
drivers/net/ethernet/ibm/ibmvnic.c
993
if (!adapter->rx_pool)
drivers/net/ethernet/ibm/ibmvnic.c
996
for (i = 0; i < adapter->num_active_rx_pools; i++) {
drivers/net/ethernet/ibm/ibmvnic.c
997
rx_pool = &adapter->rx_pool[i];
drivers/net/ethernet/ibm/ibmvnic.c
999
netdev_dbg(adapter->netdev, "Releasing rx_pool[%d]\n", i);
drivers/net/ethernet/ibm/ibmvnic.h
829
struct ibmvnic_adapter *adapter;
drivers/net/ethernet/intel/e1000/e1000.h
248
bool (*clean_rx)(struct e1000_adapter *adapter,
drivers/net/ethernet/intel/e1000/e1000.h
251
void (*alloc_rx_buf)(struct e1000_adapter *adapter,
drivers/net/ethernet/intel/e1000/e1000.h
318
netif_err(adapter, msglvl, adapter->netdev, format, ## arg)
drivers/net/ethernet/intel/e1000/e1000.h
320
netif_info(adapter, msglvl, adapter->netdev, format, ## arg)
drivers/net/ethernet/intel/e1000/e1000.h
322
netif_warn(adapter, msglvl, adapter->netdev, format, ## arg)
drivers/net/ethernet/intel/e1000/e1000.h
324
netif_notice(adapter, msglvl, adapter->netdev, format, ## arg)
drivers/net/ethernet/intel/e1000/e1000.h
326
dev_info(&adapter->pdev->dev, format, ## arg)
drivers/net/ethernet/intel/e1000/e1000.h
328
dev_warn(&adapter->pdev->dev, format, ## arg)
drivers/net/ethernet/intel/e1000/e1000.h
330
dev_err(&adapter->pdev->dev, format, ## arg)
drivers/net/ethernet/intel/e1000/e1000.h
336
int e1000_up(struct e1000_adapter *adapter);
drivers/net/ethernet/intel/e1000/e1000.h
337
void e1000_down(struct e1000_adapter *adapter);
drivers/net/ethernet/intel/e1000/e1000.h
338
void e1000_reinit_locked(struct e1000_adapter *adapter);
drivers/net/ethernet/intel/e1000/e1000.h
339
void e1000_reset(struct e1000_adapter *adapter);
drivers/net/ethernet/intel/e1000/e1000.h
340
int e1000_set_spd_dplx(struct e1000_adapter *adapter, u32 spd, u8 dplx);
drivers/net/ethernet/intel/e1000/e1000.h
341
int e1000_setup_all_rx_resources(struct e1000_adapter *adapter);
drivers/net/ethernet/intel/e1000/e1000.h
342
int e1000_setup_all_tx_resources(struct e1000_adapter *adapter);
drivers/net/ethernet/intel/e1000/e1000.h
343
void e1000_free_all_rx_resources(struct e1000_adapter *adapter);
drivers/net/ethernet/intel/e1000/e1000.h
344
void e1000_free_all_tx_resources(struct e1000_adapter *adapter);
drivers/net/ethernet/intel/e1000/e1000.h
345
void e1000_update_stats(struct e1000_adapter *adapter);
drivers/net/ethernet/intel/e1000/e1000.h
346
bool e1000_has_link(struct e1000_adapter *adapter);
drivers/net/ethernet/intel/e1000/e1000.h
349
void e1000_check_options(struct e1000_adapter *adapter);
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1102
e1000_free_desc_rings(adapter);
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1106
static void e1000_phy_disable_receiver(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1108
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1117
static void e1000_phy_reset_clk_and_crs(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1119
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1139
static int e1000_nonintegrated_phy_loopback(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1141
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1169
e1000_phy_reset_clk_and_crs(adapter);
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1177
e1000_phy_reset_clk_and_crs(adapter);
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1180
e1000_phy_disable_receiver(adapter);
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1188
e1000_phy_reset_clk_and_crs(adapter);
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1206
static int e1000_integrated_phy_loopback(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1208
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
124
e1000_get_speed_and_duplex(hw, &adapter->link_speed,
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
125
&adapter->link_duplex);
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1255
e1000_phy_disable_receiver(adapter);
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
126
cmd->base.speed = adapter->link_speed;
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1262
static int e1000_set_phy_loopback(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1264
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1275
while (e1000_nonintegrated_phy_loopback(adapter) &&
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1292
return e1000_integrated_phy_loopback(adapter);
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1306
static int e1000_setup_loopback_test(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1308
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
131
if (adapter->link_duplex == FULL_DUPLEX)
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1318
return e1000_set_phy_loopback(adapter);
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1326
return e1000_set_phy_loopback(adapter);
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1332
static void e1000_loopback_cleanup(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1334
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1382
static int e1000_run_loopback_test(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1384
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1385
struct e1000_tx_ring *txdr = &adapter->test_tx_ring;
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1386
struct e1000_rx_ring *rxdr = &adapter->test_rx_ring;
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1387
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1452
static int e1000_loopback_test(struct e1000_adapter *adapter, u64 *data)
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1454
*data = e1000_setup_desc_rings(adapter);
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1457
*data = e1000_setup_loopback_test(adapter);
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
146
cmd->base.eth_tp_mdix = (!!adapter->phy_info.mdix_mode ?
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1460
*data = e1000_run_loopback_test(adapter);
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1461
e1000_loopback_cleanup(adapter);
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1464
e1000_free_desc_rings(adapter);
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1469
static int e1000_link_test(struct e1000_adapter *adapter, u64 *data)
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1471
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1515
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1516
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1519
set_bit(__E1000_TESTING, &adapter->flags);
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1533
if (e1000_link_test(adapter, &data[4]))
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1540
e1000_reset(adapter);
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1542
if (e1000_reg_test(adapter, &data[0]))
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1545
e1000_reset(adapter);
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1546
if (e1000_eeprom_test(adapter, &data[1]))
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1549
e1000_reset(adapter);
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1550
if (e1000_intr_test(adapter, &data[2]))
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1553
e1000_reset(adapter);
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1555
e1000_power_up_phy(adapter);
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1556
if (e1000_loopback_test(adapter, &data[3]))
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1564
e1000_reset(adapter);
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1565
clear_bit(__E1000_TESTING, &adapter->flags);
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1571
if (e1000_link_test(adapter, &data[4]))
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1580
clear_bit(__E1000_TESTING, &adapter->flags);
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1585
static int e1000_wol_exclusion(struct e1000_adapter *adapter,
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1588
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1616
if (!adapter->quad_port_a) {
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1629
!adapter->eeprom_wol) {
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1643
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1644
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1652
if (e1000_wol_exclusion(adapter, wol) ||
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1653
!device_can_wakeup(&adapter->pdev->dev))
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1662
if (adapter->wol & E1000_WUFC_EX)
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
167
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1670
if (adapter->wol & E1000_WUFC_EX)
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1672
if (adapter->wol & E1000_WUFC_MC)
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1674
if (adapter->wol & E1000_WUFC_BC)
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1676
if (adapter->wol & E1000_WUFC_MAG)
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
168
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1682
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1683
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1688
if (e1000_wol_exclusion(adapter, wol) ||
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1689
!device_can_wakeup(&adapter->pdev->dev))
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1705
adapter->wol = 0;
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1708
adapter->wol |= E1000_WUFC_EX;
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1710
adapter->wol |= E1000_WUFC_MC;
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1712
adapter->wol |= E1000_WUFC_BC;
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1714
adapter->wol |= E1000_WUFC_MAG;
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1716
device_set_wakeup_enable(&adapter->pdev->dev, adapter->wol);
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1724
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1725
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1752
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1754
if (adapter->hw.mac_type < e1000_82545)
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1757
if (adapter->itr_setting <= 4)
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1758
ec->rx_coalesce_usecs = adapter->itr_setting;
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1760
ec->rx_coalesce_usecs = 1000000 / adapter->itr_setting;
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1770
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1771
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1783
adapter->itr = adapter->itr_setting = 4;
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1785
adapter->itr = 20000;
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1786
adapter->itr_setting = ec->rx_coalesce_usecs;
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1788
adapter->itr = (1000000 / ec->rx_coalesce_usecs);
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1789
adapter->itr_setting = adapter->itr & ~3;
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1792
if (adapter->itr_setting != 0)
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1793
ew32(ITR, 1000000000 / (adapter->itr * 256));
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1802
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1805
e1000_reinit_locked(adapter);
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1812
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1816
e1000_update_stats(adapter);
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
1825
p = (char *)adapter + stat->stat_offset;
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
189
while (test_and_set_bit(__E1000_RESETTING, &adapter->flags))
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
205
if (e1000_set_spd_dplx(adapter, speed, cmd->base.duplex)) {
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
206
clear_bit(__E1000_RESETTING, &adapter->flags);
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
221
if (netif_running(adapter->netdev)) {
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
222
e1000_down(adapter);
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
223
e1000_up(adapter);
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
225
e1000_reset(adapter);
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
227
clear_bit(__E1000_RESETTING, &adapter->flags);
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
233
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
242
adapter->hw.get_link_status = 1;
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
244
return e1000_has_link(adapter);
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
250
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
251
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
254
(adapter->fc_autoneg ? AUTONEG_ENABLE : AUTONEG_DISABLE);
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
269
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
270
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
273
adapter->fc_autoneg = pause->autoneg;
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
275
while (test_and_set_bit(__E1000_RESETTING, &adapter->flags))
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
289
if (adapter->fc_autoneg == AUTONEG_ENABLE) {
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
290
if (netif_running(adapter->netdev)) {
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
291
e1000_down(adapter);
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
292
e1000_up(adapter);
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
294
e1000_reset(adapter);
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
300
clear_bit(__E1000_RESETTING, &adapter->flags);
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
306
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
308
return adapter->msg_enable;
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
313
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
315
adapter->msg_enable = data;
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
327
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
328
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
399
regs_buff[22] = adapter->phy_stats.receive_errors;
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
402
regs_buff[21] = adapter->phy_stats.idle_errors; /* phy idle errors */
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
414
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
415
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
423
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
424
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
470
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
471
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
538
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
543
strscpy(drvinfo->bus_info, pci_name(adapter->pdev),
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
552
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
553
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
555
struct e1000_tx_ring *txdr = adapter->tx_ring;
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
556
struct e1000_rx_ring *rxdr = adapter->rx_ring;
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
571
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
572
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
581
while (test_and_set_bit(__E1000_RESETTING, &adapter->flags))
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
584
if (netif_running(adapter->netdev))
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
585
e1000_down(adapter);
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
587
tx_old = adapter->tx_ring;
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
588
rx_old = adapter->rx_ring;
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
591
txdr = kzalloc_objs(struct e1000_tx_ring, adapter->num_tx_queues);
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
595
rxdr = kzalloc_objs(struct e1000_rx_ring, adapter->num_rx_queues);
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
599
adapter->tx_ring = txdr;
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
600
adapter->rx_ring = rxdr;
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
611
for (i = 0; i < adapter->num_tx_queues; i++)
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
613
for (i = 0; i < adapter->num_rx_queues; i++)
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
617
if (netif_running(adapter->netdev)) {
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
619
err = e1000_setup_all_rx_resources(adapter);
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
622
err = e1000_setup_all_tx_resources(adapter);
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
630
adapter->rx_ring = rx_old;
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
631
adapter->tx_ring = tx_old;
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
632
e1000_free_all_rx_resources(adapter);
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
633
e1000_free_all_tx_resources(adapter);
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
634
adapter->rx_ring = rxdr;
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
635
adapter->tx_ring = txdr;
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
636
err = e1000_up(adapter);
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
641
clear_bit(__E1000_RESETTING, &adapter->flags);
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
645
e1000_free_all_rx_resources(adapter);
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
647
adapter->rx_ring = rx_old;
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
648
adapter->tx_ring = tx_old;
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
653
if (netif_running(adapter->netdev))
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
654
e1000_up(adapter);
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
655
clear_bit(__E1000_RESETTING, &adapter->flags);
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
659
static bool reg_pattern_test(struct e1000_adapter *adapter, u64 *data, int reg,
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
662
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
684
static bool reg_set_and_check(struct e1000_adapter *adapter, u64 *data, int reg,
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
687
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
705
if (reg_pattern_test(adapter, data, \
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
714
if (reg_set_and_check(adapter, data, \
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
721
static int e1000_reg_test(struct e1000_adapter *adapter, u64 *data)
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
725
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
795
static int e1000_eeprom_test(struct e1000_adapter *adapter, u64 *data)
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
797
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
822
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
823
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
825
adapter->test_icr |= er32(ICR);
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
830
static int e1000_intr_test(struct e1000_adapter *adapter, u64 *data)
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
832
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
835
u32 irq = adapter->pdev->irq;
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
836
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
871
adapter->test_icr = 0;
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
877
if (adapter->test_icr & mask) {
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
889
adapter->test_icr = 0;
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
89
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
895
if (!(adapter->test_icr & mask)) {
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
90
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
907
adapter->test_icr = 0;
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
913
if (adapter->test_icr) {
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
931
static void e1000_free_desc_rings(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
933
struct e1000_tx_ring *txdr = &adapter->test_tx_ring;
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
934
struct e1000_rx_ring *rxdr = &adapter->test_rx_ring;
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
935
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
977
static int e1000_setup_desc_rings(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
979
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
980
struct e1000_tx_ring *txdr = &adapter->test_tx_ring;
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
981
struct e1000_rx_ring *rxdr = &adapter->test_rx_ring;
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
982
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/intel/e1000/e1000_hw.h
2452
#define TBI_ACCEPT(adapter, status, errors, length, last_byte) \
drivers/net/ethernet/intel/e1000/e1000_hw.h
2453
((adapter)->tbi_compatibility_on && \
drivers/net/ethernet/intel/e1000/e1000_hw.h
2457
(((length) > ((adapter)->min_frame_size - VLAN_TAG_SIZE)) && \
drivers/net/ethernet/intel/e1000/e1000_hw.h
2458
((length) <= ((adapter)->max_frame_size + 1))) : \
drivers/net/ethernet/intel/e1000/e1000_hw.h
2459
(((length) > (adapter)->min_frame_size) && \
drivers/net/ethernet/intel/e1000/e1000_hw.h
2460
((length) <= ((adapter)->max_frame_size + VLAN_TAG_SIZE + 1)))))
drivers/net/ethernet/intel/e1000/e1000_main.c
1009
netif_napi_add(netdev, &adapter->napi, e1000_clean);
drivers/net/ethernet/intel/e1000/e1000_main.c
1013
adapter->bd_number = cards_found;
drivers/net/ethernet/intel/e1000/e1000_main.c
1017
err = e1000_sw_init(adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
1068
adapter->en_mng_pt = e1000_enable_mng_pass_thru(hw);
drivers/net/ethernet/intel/e1000/e1000_main.c
1085
e1000_dump_eeprom(adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
110
static bool e1000_clean_tx_irq(struct e1000_adapter *adapter,
drivers/net/ethernet/intel/e1000/e1000_main.c
1106
INIT_DELAYED_WORK(&adapter->watchdog_task, e1000_watchdog);
drivers/net/ethernet/intel/e1000/e1000_main.c
1107
INIT_DELAYED_WORK(&adapter->fifo_stall_task,
drivers/net/ethernet/intel/e1000/e1000_main.c
1109
INIT_DELAYED_WORK(&adapter->phy_info_task, e1000_update_phy_info_task);
drivers/net/ethernet/intel/e1000/e1000_main.c
1110
INIT_WORK(&adapter->reset_task, e1000_reset_task);
drivers/net/ethernet/intel/e1000/e1000_main.c
1112
e1000_check_options(adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
113
static bool e1000_clean_rx_irq(struct e1000_adapter *adapter,
drivers/net/ethernet/intel/e1000/e1000_main.c
1143
adapter->eeprom_wol |= E1000_WUFC_MAG;
drivers/net/ethernet/intel/e1000/e1000_main.c
1151
adapter->eeprom_wol = 0;
drivers/net/ethernet/intel/e1000/e1000_main.c
1159
adapter->eeprom_wol = 0;
drivers/net/ethernet/intel/e1000/e1000_main.c
116
static bool e1000_clean_jumbo_rx_irq(struct e1000_adapter *adapter,
drivers/net/ethernet/intel/e1000/e1000_main.c
1164
adapter->eeprom_wol = 0;
drivers/net/ethernet/intel/e1000/e1000_main.c
1166
adapter->quad_port_a = true;
drivers/net/ethernet/intel/e1000/e1000_main.c
1174
adapter->wol = adapter->eeprom_wol;
drivers/net/ethernet/intel/e1000/e1000_main.c
1175
device_set_wakeup_enable(&adapter->pdev->dev, adapter->wol);
drivers/net/ethernet/intel/e1000/e1000_main.c
119
static void e1000_alloc_dummy_rx_buffers(struct e1000_adapter *adapter,
drivers/net/ethernet/intel/e1000/e1000_main.c
1192
e1000_reset(adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
1199
e1000_vlan_filter_on_off(adapter, false);
drivers/net/ethernet/intel/e1000/e1000_main.c
1225
kfree(adapter->tx_ring);
drivers/net/ethernet/intel/e1000/e1000_main.c
1226
kfree(adapter->rx_ring);
drivers/net/ethernet/intel/e1000/e1000_main.c
1233
disable_dev = !test_and_set_bit(__E1000_DISABLED, &adapter->flags);
drivers/net/ethernet/intel/e1000/e1000_main.c
1238
if (!adapter || disable_dev)
drivers/net/ethernet/intel/e1000/e1000_main.c
124
static void e1000_alloc_rx_buffers(struct e1000_adapter *adapter,
drivers/net/ethernet/intel/e1000/e1000_main.c
1255
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000/e1000_main.c
1256
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000/e1000_main.c
1259
e1000_down_and_stop(adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
1260
e1000_release_manageability(adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
1265
if (!test_bit(__E1000_RESETTING, &adapter->flags))
drivers/net/ethernet/intel/e1000/e1000_main.c
1266
cancel_work_sync(&adapter->reset_task);
drivers/net/ethernet/intel/e1000/e1000_main.c
127
static void e1000_alloc_jumbo_rx_buffers(struct e1000_adapter *adapter,
drivers/net/ethernet/intel/e1000/e1000_main.c
1270
kfree(adapter->tx_ring);
drivers/net/ethernet/intel/e1000/e1000_main.c
1271
kfree(adapter->rx_ring);
drivers/net/ethernet/intel/e1000/e1000_main.c
1278
pci_release_selected_regions(pdev, adapter->bars);
drivers/net/ethernet/intel/e1000/e1000_main.c
1280
disable_dev = !test_and_set_bit(__E1000_DISABLED, &adapter->flags);
drivers/net/ethernet/intel/e1000/e1000_main.c
1294
static int e1000_sw_init(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000/e1000_main.c
1296
adapter->rx_buffer_len = MAXIMUM_ETHERNET_VLAN_SIZE;
drivers/net/ethernet/intel/e1000/e1000_main.c
1298
adapter->num_tx_queues = 1;
drivers/net/ethernet/intel/e1000/e1000_main.c
1299
adapter->num_rx_queues = 1;
drivers/net/ethernet/intel/e1000/e1000_main.c
1301
if (e1000_alloc_queues(adapter)) {
drivers/net/ethernet/intel/e1000/e1000_main.c
1307
e1000_irq_disable(adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
1309
spin_lock_init(&adapter->stats_lock);
drivers/net/ethernet/intel/e1000/e1000_main.c
1311
set_bit(__E1000_DOWN, &adapter->flags);
drivers/net/ethernet/intel/e1000/e1000_main.c
1323
static int e1000_alloc_queues(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000/e1000_main.c
1325
adapter->tx_ring = kzalloc_objs(struct e1000_tx_ring,
drivers/net/ethernet/intel/e1000/e1000_main.c
1326
adapter->num_tx_queues);
drivers/net/ethernet/intel/e1000/e1000_main.c
1327
if (!adapter->tx_ring)
drivers/net/ethernet/intel/e1000/e1000_main.c
133
static void e1000_enter_82542_rst(struct e1000_adapter *adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
1330
adapter->rx_ring = kzalloc_objs(struct e1000_rx_ring,
drivers/net/ethernet/intel/e1000/e1000_main.c
1331
adapter->num_rx_queues);
drivers/net/ethernet/intel/e1000/e1000_main.c
1332
if (!adapter->rx_ring) {
drivers/net/ethernet/intel/e1000/e1000_main.c
1333
kfree(adapter->tx_ring);
drivers/net/ethernet/intel/e1000/e1000_main.c
134
static void e1000_leave_82542_rst(struct e1000_adapter *adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
1354
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000/e1000_main.c
1355
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000/e1000_main.c
1359
if (test_bit(__E1000_TESTING, &adapter->flags))
drivers/net/ethernet/intel/e1000/e1000_main.c
1365
err = e1000_setup_all_tx_resources(adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
137
static void e1000_smartspeed(struct e1000_adapter *adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
1370
err = e1000_setup_all_rx_resources(adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
1374
e1000_power_up_phy(adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
1376
adapter->mng_vlan_id = E1000_MNG_VLAN_NONE;
drivers/net/ethernet/intel/e1000/e1000_main.c
1379
e1000_update_mng_vlan(adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
138
static int e1000_82547_fifo_workaround(struct e1000_adapter *adapter,
drivers/net/ethernet/intel/e1000/e1000_main.c
1387
e1000_configure(adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
1389
err = e1000_request_irq(adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
1394
clear_bit(__E1000_DOWN, &adapter->flags);
drivers/net/ethernet/intel/e1000/e1000_main.c
1396
netif_napi_set_irq(&adapter->napi, adapter->pdev->irq);
drivers/net/ethernet/intel/e1000/e1000_main.c
1397
napi_enable(&adapter->napi);
drivers/net/ethernet/intel/e1000/e1000_main.c
1398
netif_queue_set_napi(netdev, 0, NETDEV_QUEUE_TYPE_RX, &adapter->napi);
drivers/net/ethernet/intel/e1000/e1000_main.c
1399
netif_queue_set_napi(netdev, 0, NETDEV_QUEUE_TYPE_TX, &adapter->napi);
drivers/net/ethernet/intel/e1000/e1000_main.c
1401
e1000_irq_enable(adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
141
static bool e1000_vlan_used(struct e1000_adapter *adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
1411
e1000_power_down_phy(adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
1412
e1000_free_all_rx_resources(adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
1414
e1000_free_all_tx_resources(adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
1416
e1000_reset(adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
1434
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000/e1000_main.c
1435
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000/e1000_main.c
1438
while (test_and_set_bit(__E1000_RESETTING, &adapter->flags) && count--)
drivers/net/ethernet/intel/e1000/e1000_main.c
144
static void e1000_vlan_filter_on_off(struct e1000_adapter *adapter,
drivers/net/ethernet/intel/e1000/e1000_main.c
1444
set_bit(__E1000_DOWN, &adapter->flags);
drivers/net/ethernet/intel/e1000/e1000_main.c
1445
clear_bit(__E1000_RESETTING, &adapter->flags);
drivers/net/ethernet/intel/e1000/e1000_main.c
1447
e1000_down(adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
1448
e1000_power_down_phy(adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
1449
e1000_free_irq(adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
1451
e1000_free_all_tx_resources(adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
1452
e1000_free_all_rx_resources(adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
1459
!test_bit(adapter->mng_vlan_id, adapter->active_vlans)) {
drivers/net/ethernet/intel/e1000/e1000_main.c
1461
adapter->mng_vlan_id);
drivers/net/ethernet/intel/e1000/e1000_main.c
1473
static bool e1000_check_64k_bound(struct e1000_adapter *adapter, void *start,
drivers/net/ethernet/intel/e1000/e1000_main.c
1476
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000/e1000_main.c
1499
static int e1000_setup_tx_resources(struct e1000_adapter *adapter,
drivers/net/ethernet/intel/e1000/e1000_main.c
150
static void e1000_restore_vlan(struct e1000_adapter *adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
1502
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/intel/e1000/e1000_main.c
1524
if (!e1000_check_64k_bound(adapter, txdr->desc, txdr->size)) {
drivers/net/ethernet/intel/e1000/e1000_main.c
1539
if (!e1000_check_64k_bound(adapter, txdr->desc, txdr->size)) {
drivers/net/ethernet/intel/e1000/e1000_main.c
1570
int e1000_setup_all_tx_resources(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000/e1000_main.c
1574
for (i = 0; i < adapter->num_tx_queues; i++) {
drivers/net/ethernet/intel/e1000/e1000_main.c
1575
err = e1000_setup_tx_resources(adapter, &adapter->tx_ring[i]);
drivers/net/ethernet/intel/e1000/e1000_main.c
1579
e1000_free_tx_resources(adapter,
drivers/net/ethernet/intel/e1000/e1000_main.c
1580
&adapter->tx_ring[i]);
drivers/net/ethernet/intel/e1000/e1000_main.c
1594
static void e1000_configure_tx(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000/e1000_main.c
1597
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000/e1000_main.c
1603
switch (adapter->num_tx_queues) {
drivers/net/ethernet/intel/e1000/e1000_main.c
1606
tdba = adapter->tx_ring[0].dma;
drivers/net/ethernet/intel/e1000/e1000_main.c
1607
tdlen = adapter->tx_ring[0].count *
drivers/net/ethernet/intel/e1000/e1000_main.c
1614
adapter->tx_ring[0].tdh = ((hw->mac_type >= e1000_82543) ?
drivers/net/ethernet/intel/e1000/e1000_main.c
1616
adapter->tx_ring[0].tdt = ((hw->mac_type >= e1000_82543) ?
drivers/net/ethernet/intel/e1000/e1000_main.c
1646
ew32(TIDV, adapter->tx_int_delay);
drivers/net/ethernet/intel/e1000/e1000_main.c
1648
ew32(TADV, adapter->tx_abs_int_delay);
drivers/net/ethernet/intel/e1000/e1000_main.c
1660
adapter->txd_cmd = E1000_TXD_CMD_EOP | E1000_TXD_CMD_IFCS;
drivers/net/ethernet/intel/e1000/e1000_main.c
1663
if (adapter->tx_int_delay)
drivers/net/ethernet/intel/e1000/e1000_main.c
1664
adapter->txd_cmd |= E1000_TXD_CMD_IDE;
drivers/net/ethernet/intel/e1000/e1000_main.c
1667
adapter->txd_cmd |= E1000_TXD_CMD_RPS;
drivers/net/ethernet/intel/e1000/e1000_main.c
1669
adapter->txd_cmd |= E1000_TXD_CMD_RS;
drivers/net/ethernet/intel/e1000/e1000_main.c
1676
adapter->pcix_82544 = true;
drivers/net/ethernet/intel/e1000/e1000_main.c
1689
static int e1000_setup_rx_resources(struct e1000_adapter *adapter,
drivers/net/ethernet/intel/e1000/e1000_main.c
1692
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/intel/e1000/e1000_main.c
1716
if (!e1000_check_64k_bound(adapter, rxdr->desc, rxdr->size)) {
drivers/net/ethernet/intel/e1000/e1000_main.c
1731
if (!e1000_check_64k_bound(adapter, rxdr->desc, rxdr->size)) {
drivers/net/ethernet/intel/e1000/e1000_main.c
1762
int e1000_setup_all_rx_resources(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000/e1000_main.c
1766
for (i = 0; i < adapter->num_rx_queues; i++) {
drivers/net/ethernet/intel/e1000/e1000_main.c
1767
err = e1000_setup_rx_resources(adapter, &adapter->rx_ring[i]);
drivers/net/ethernet/intel/e1000/e1000_main.c
1771
e1000_free_rx_resources(adapter,
drivers/net/ethernet/intel/e1000/e1000_main.c
1772
&adapter->rx_ring[i]);
drivers/net/ethernet/intel/e1000/e1000_main.c
1784
static void e1000_setup_rctl(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000/e1000_main.c
1786
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000/e1000_main.c
1802
if (adapter->netdev->mtu <= ETH_DATA_LEN)
drivers/net/ethernet/intel/e1000/e1000_main.c
1810
switch (adapter->rx_buffer_len) {
drivers/net/ethernet/intel/e1000/e1000_main.c
1828
if (adapter->netdev->features & NETIF_F_RXALL) {
drivers/net/ethernet/intel/e1000/e1000_main.c
1853
static void e1000_configure_rx(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000/e1000_main.c
1856
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000/e1000_main.c
1859
if (adapter->netdev->mtu > ETH_DATA_LEN) {
drivers/net/ethernet/intel/e1000/e1000_main.c
1860
rdlen = adapter->rx_ring[0].count *
drivers/net/ethernet/intel/e1000/e1000_main.c
1862
adapter->clean_rx = e1000_clean_jumbo_rx_irq;
drivers/net/ethernet/intel/e1000/e1000_main.c
1863
adapter->alloc_rx_buf = e1000_alloc_jumbo_rx_buffers;
drivers/net/ethernet/intel/e1000/e1000_main.c
1865
rdlen = adapter->rx_ring[0].count *
drivers/net/ethernet/intel/e1000/e1000_main.c
1867
adapter->clean_rx = e1000_clean_rx_irq;
drivers/net/ethernet/intel/e1000/e1000_main.c
1868
adapter->alloc_rx_buf = e1000_alloc_rx_buffers;
drivers/net/ethernet/intel/e1000/e1000_main.c
1876
ew32(RDTR, adapter->rx_int_delay);
drivers/net/ethernet/intel/e1000/e1000_main.c
1879
ew32(RADV, adapter->rx_abs_int_delay);
drivers/net/ethernet/intel/e1000/e1000_main.c
1880
if (adapter->itr_setting != 0)
drivers/net/ethernet/intel/e1000/e1000_main.c
1881
ew32(ITR, 1000000000 / (adapter->itr * 256));
drivers/net/ethernet/intel/e1000/e1000_main.c
1887
switch (adapter->num_rx_queues) {
drivers/net/ethernet/intel/e1000/e1000_main.c
1890
rdba = adapter->rx_ring[0].dma;
drivers/net/ethernet/intel/e1000/e1000_main.c
1896
adapter->rx_ring[0].rdh = ((hw->mac_type >= e1000_82543) ?
drivers/net/ethernet/intel/e1000/e1000_main.c
1898
adapter->rx_ring[0].rdt = ((hw->mac_type >= e1000_82543) ?
drivers/net/ethernet/intel/e1000/e1000_main.c
1906
if (adapter->rx_csum)
drivers/net/ethernet/intel/e1000/e1000_main.c
1925
static void e1000_free_tx_resources(struct e1000_adapter *adapter,
drivers/net/ethernet/intel/e1000/e1000_main.c
1928
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/intel/e1000/e1000_main.c
1930
e1000_clean_tx_ring(adapter, tx_ring);
drivers/net/ethernet/intel/e1000/e1000_main.c
1947
void e1000_free_all_tx_resources(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000/e1000_main.c
1951
for (i = 0; i < adapter->num_tx_queues; i++)
drivers/net/ethernet/intel/e1000/e1000_main.c
1952
e1000_free_tx_resources(adapter, &adapter->tx_ring[i]);
drivers/net/ethernet/intel/e1000/e1000_main.c
1956
e1000_unmap_and_free_tx_resource(struct e1000_adapter *adapter,
drivers/net/ethernet/intel/e1000/e1000_main.c
1962
dma_unmap_page(&adapter->pdev->dev, buffer_info->dma,
drivers/net/ethernet/intel/e1000/e1000_main.c
1965
dma_unmap_single(&adapter->pdev->dev, buffer_info->dma,
drivers/net/ethernet/intel/e1000/e1000_main.c
1983
static void e1000_clean_tx_ring(struct e1000_adapter *adapter,
drivers/net/ethernet/intel/e1000/e1000_main.c
1986
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000/e1000_main.c
1995
e1000_unmap_and_free_tx_resource(adapter, buffer_info, 0);
drivers/net/ethernet/intel/e1000/e1000_main.c
1998
netdev_reset_queue(adapter->netdev);
drivers/net/ethernet/intel/e1000/e1000_main.c
2018
static void e1000_clean_all_tx_rings(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000/e1000_main.c
2022
for (i = 0; i < adapter->num_tx_queues; i++)
drivers/net/ethernet/intel/e1000/e1000_main.c
2023
e1000_clean_tx_ring(adapter, &adapter->tx_ring[i]);
drivers/net/ethernet/intel/e1000/e1000_main.c
2033
static void e1000_free_rx_resources(struct e1000_adapter *adapter,
drivers/net/ethernet/intel/e1000/e1000_main.c
2036
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/intel/e1000/e1000_main.c
2038
e1000_clean_rx_ring(adapter, rx_ring);
drivers/net/ethernet/intel/e1000/e1000_main.c
2055
void e1000_free_all_rx_resources(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000/e1000_main.c
2059
for (i = 0; i < adapter->num_rx_queues; i++)
drivers/net/ethernet/intel/e1000/e1000_main.c
2060
e1000_free_rx_resources(adapter, &adapter->rx_ring[i]);
drivers/net/ethernet/intel/e1000/e1000_main.c
207
struct e1000_adapter *adapter = hw->back;
drivers/net/ethernet/intel/e1000/e1000_main.c
208
return adapter->netdev;
drivers/net/ethernet/intel/e1000/e1000_main.c
2085
static void e1000_clean_rx_ring(struct e1000_adapter *adapter,
drivers/net/ethernet/intel/e1000/e1000_main.c
2088
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000/e1000_main.c
2090
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/intel/e1000/e1000_main.c
2097
if (adapter->clean_rx == e1000_clean_rx_irq) {
drivers/net/ethernet/intel/e1000/e1000_main.c
2100
adapter->rx_buffer_len,
drivers/net/ethernet/intel/e1000/e1000_main.c
2106
} else if (adapter->clean_rx == e1000_clean_jumbo_rx_irq) {
drivers/net/ethernet/intel/e1000/e1000_main.c
2109
adapter->rx_buffer_len,
drivers/net/ethernet/intel/e1000/e1000_main.c
2121
napi_free_frags(&adapter->napi);
drivers/net/ethernet/intel/e1000/e1000_main.c
2141
static void e1000_clean_all_rx_rings(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000/e1000_main.c
2145
for (i = 0; i < adapter->num_rx_queues; i++)
drivers/net/ethernet/intel/e1000/e1000_main.c
2146
e1000_clean_rx_ring(adapter, &adapter->rx_ring[i]);
drivers/net/ethernet/intel/e1000/e1000_main.c
2152
static void e1000_enter_82542_rst(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000/e1000_main.c
2154
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000/e1000_main.c
2155
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/e1000/e1000_main.c
2167
e1000_clean_all_rx_rings(adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
2170
static void e1000_leave_82542_rst(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000/e1000_main.c
2172
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000/e1000_main.c
2173
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/e1000/e1000_main.c
2187
struct e1000_rx_ring *ring = &adapter->rx_ring[0];
drivers/net/ethernet/intel/e1000/e1000_main.c
2188
e1000_configure_rx(adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
2189
adapter->alloc_rx_buf(adapter, ring, E1000_DESC_UNUSED(ring));
drivers/net/ethernet/intel/e1000/e1000_main.c
2202
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000/e1000_main.c
2203
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000/e1000_main.c
2212
e1000_enter_82542_rst(adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
2220
e1000_leave_82542_rst(adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
2236
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000/e1000_main.c
2237
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000/e1000_main.c
2262
if (e1000_vlan_used(adapter))
drivers/net/ethernet/intel/e1000/e1000_main.c
2278
e1000_enter_82542_rst(adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
2330
e1000_leave_82542_rst(adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
2344
struct e1000_adapter *adapter = container_of(work,
drivers/net/ethernet/intel/e1000/e1000_main.c
2348
e1000_phy_get_info(&adapter->hw, &adapter->phy_info);
drivers/net/ethernet/intel/e1000/e1000_main.c
2357
struct e1000_adapter *adapter = container_of(work,
drivers/net/ethernet/intel/e1000/e1000_main.c
2360
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000/e1000_main.c
2361
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/e1000/e1000_main.c
2364
if (atomic_read(&adapter->tx_fifo_stall)) {
drivers/net/ethernet/intel/e1000/e1000_main.c
2370
ew32(TDFT, adapter->tx_head_addr);
drivers/net/ethernet/intel/e1000/e1000_main.c
2371
ew32(TDFH, adapter->tx_head_addr);
drivers/net/ethernet/intel/e1000/e1000_main.c
2372
ew32(TDFTS, adapter->tx_head_addr);
drivers/net/ethernet/intel/e1000/e1000_main.c
2373
ew32(TDFHS, adapter->tx_head_addr);
drivers/net/ethernet/intel/e1000/e1000_main.c
2377
adapter->tx_fifo_head = 0;
drivers/net/ethernet/intel/e1000/e1000_main.c
2378
atomic_set(&adapter->tx_fifo_stall, 0);
drivers/net/ethernet/intel/e1000/e1000_main.c
2380
} else if (!test_bit(__E1000_DOWN, &adapter->flags)) {
drivers/net/ethernet/intel/e1000/e1000_main.c
2381
schedule_delayed_work(&adapter->fifo_stall_task, 1);
drivers/net/ethernet/intel/e1000/e1000_main.c
2386
bool e1000_has_link(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000/e1000_main.c
2388
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000/e1000_main.c
2429
struct e1000_adapter *adapter = container_of(work,
drivers/net/ethernet/intel/e1000/e1000_main.c
2432
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000/e1000_main.c
2433
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/e1000/e1000_main.c
2434
struct e1000_tx_ring *txdr = adapter->tx_ring;
drivers/net/ethernet/intel/e1000/e1000_main.c
2437
link = e1000_has_link(adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
2446
&adapter->link_speed,
drivers/net/ethernet/intel/e1000/e1000_main.c
2447
&adapter->link_duplex);
drivers/net/ethernet/intel/e1000/e1000_main.c
2453
adapter->link_speed,
drivers/net/ethernet/intel/e1000/e1000_main.c
2454
adapter->link_duplex == FULL_DUPLEX ?
drivers/net/ethernet/intel/e1000/e1000_main.c
2462
adapter->tx_timeout_factor = 1;
drivers/net/ethernet/intel/e1000/e1000_main.c
2463
switch (adapter->link_speed) {
drivers/net/ethernet/intel/e1000/e1000_main.c
2465
adapter->tx_timeout_factor = 16;
drivers/net/ethernet/intel/e1000/e1000_main.c
2478
if (!test_bit(__E1000_DOWN, &adapter->flags))
drivers/net/ethernet/intel/e1000/e1000_main.c
2479
schedule_delayed_work(&adapter->phy_info_task,
drivers/net/ethernet/intel/e1000/e1000_main.c
2481
adapter->smartspeed = 0;
drivers/net/ethernet/intel/e1000/e1000_main.c
2485
adapter->link_speed = 0;
drivers/net/ethernet/intel/e1000/e1000_main.c
2486
adapter->link_duplex = 0;
drivers/net/ethernet/intel/e1000/e1000_main.c
2491
if (!test_bit(__E1000_DOWN, &adapter->flags))
drivers/net/ethernet/intel/e1000/e1000_main.c
2492
schedule_delayed_work(&adapter->phy_info_task,
drivers/net/ethernet/intel/e1000/e1000_main.c
2496
e1000_smartspeed(adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
250
static int e1000_request_irq(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000/e1000_main.c
2500
e1000_update_stats(adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
2502
hw->tx_packet_delta = adapter->stats.tpt - adapter->tpt_old;
drivers/net/ethernet/intel/e1000/e1000_main.c
2503
adapter->tpt_old = adapter->stats.tpt;
drivers/net/ethernet/intel/e1000/e1000_main.c
2504
hw->collision_delta = adapter->stats.colc - adapter->colc_old;
drivers/net/ethernet/intel/e1000/e1000_main.c
2505
adapter->colc_old = adapter->stats.colc;
drivers/net/ethernet/intel/e1000/e1000_main.c
2507
adapter->gorcl = adapter->stats.gorcl - adapter->gorcl_old;
drivers/net/ethernet/intel/e1000/e1000_main.c
2508
adapter->gorcl_old = adapter->stats.gorcl;
drivers/net/ethernet/intel/e1000/e1000_main.c
2509
adapter->gotcl = adapter->stats.gotcl - adapter->gotcl_old;
drivers/net/ethernet/intel/e1000/e1000_main.c
2510
adapter->gotcl_old = adapter->stats.gotcl;
drivers/net/ethernet/intel/e1000/e1000_main.c
252
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/e1000/e1000_main.c
2521
adapter->tx_timeout_count++;
drivers/net/ethernet/intel/e1000/e1000_main.c
2522
schedule_work(&adapter->reset_task);
drivers/net/ethernet/intel/e1000/e1000_main.c
2529
if (hw->mac_type >= e1000_82540 && adapter->itr_setting == 4) {
drivers/net/ethernet/intel/e1000/e1000_main.c
2534
u32 goc = (adapter->gotcl + adapter->gorcl) / 10000;
drivers/net/ethernet/intel/e1000/e1000_main.c
2535
u32 dif = (adapter->gotcl > adapter->gorcl ?
drivers/net/ethernet/intel/e1000/e1000_main.c
2536
adapter->gotcl - adapter->gorcl :
drivers/net/ethernet/intel/e1000/e1000_main.c
2537
adapter->gorcl - adapter->gotcl) / 10000;
drivers/net/ethernet/intel/e1000/e1000_main.c
2547
adapter->detect_tx_hung = true;
drivers/net/ethernet/intel/e1000/e1000_main.c
2550
if (!test_bit(__E1000_DOWN, &adapter->flags))
drivers/net/ethernet/intel/e1000/e1000_main.c
2551
schedule_delayed_work(&adapter->watchdog_task, 2 * HZ);
drivers/net/ethernet/intel/e1000/e1000_main.c
257
err = request_irq(adapter->pdev->irq, handler, irq_flags, netdev->name,
drivers/net/ethernet/intel/e1000/e1000_main.c
2578
static unsigned int e1000_update_itr(struct e1000_adapter *adapter,
drivers/net/ethernet/intel/e1000/e1000_main.c
2582
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000/e1000_main.c
2626
static void e1000_set_itr(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000/e1000_main.c
2628
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000/e1000_main.c
2630
u32 new_itr = adapter->itr;
drivers/net/ethernet/intel/e1000/e1000_main.c
2636
if (unlikely(adapter->link_speed != SPEED_1000)) {
drivers/net/ethernet/intel/e1000/e1000_main.c
2641
adapter->tx_itr = e1000_update_itr(adapter, adapter->tx_itr,
drivers/net/ethernet/intel/e1000/e1000_main.c
2642
adapter->total_tx_packets,
drivers/net/ethernet/intel/e1000/e1000_main.c
2643
adapter->total_tx_bytes);
drivers/net/ethernet/intel/e1000/e1000_main.c
2645
if (adapter->itr_setting == 3 && adapter->tx_itr == lowest_latency)
drivers/net/ethernet/intel/e1000/e1000_main.c
2646
adapter->tx_itr = low_latency;
drivers/net/ethernet/intel/e1000/e1000_main.c
2648
adapter->rx_itr = e1000_update_itr(adapter, adapter->rx_itr,
drivers/net/ethernet/intel/e1000/e1000_main.c
2649
adapter->total_rx_packets,
drivers/net/ethernet/intel/e1000/e1000_main.c
2650
adapter->total_rx_bytes);
drivers/net/ethernet/intel/e1000/e1000_main.c
2652
if (adapter->itr_setting == 3 && adapter->rx_itr == lowest_latency)
drivers/net/ethernet/intel/e1000/e1000_main.c
2653
adapter->rx_itr = low_latency;
drivers/net/ethernet/intel/e1000/e1000_main.c
2655
current_itr = max(adapter->rx_itr, adapter->tx_itr);
drivers/net/ethernet/intel/e1000/e1000_main.c
266
static void e1000_free_irq(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000/e1000_main.c
2673
if (new_itr != adapter->itr) {
drivers/net/ethernet/intel/e1000/e1000_main.c
2678
new_itr = new_itr > adapter->itr ?
drivers/net/ethernet/intel/e1000/e1000_main.c
2679
min(adapter->itr + (new_itr >> 2), new_itr) :
drivers/net/ethernet/intel/e1000/e1000_main.c
268
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/e1000/e1000_main.c
2681
adapter->itr = new_itr;
drivers/net/ethernet/intel/e1000/e1000_main.c
2694
static int e1000_tso(struct e1000_adapter *adapter,
drivers/net/ethernet/intel/e1000/e1000_main.c
270
free_irq(adapter->pdev->irq, netdev);
drivers/net/ethernet/intel/e1000/e1000_main.c
2764
static bool e1000_tx_csum(struct e1000_adapter *adapter,
drivers/net/ethernet/intel/e1000/e1000_main.c
277
static void e1000_irq_disable(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000/e1000_main.c
279
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000/e1000_main.c
2822
static int e1000_tx_map(struct e1000_adapter *adapter,
drivers/net/ethernet/intel/e1000/e1000_main.c
2828
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000/e1000_main.c
2829
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/intel/e1000/e1000_main.c
283
synchronize_irq(adapter->pdev->irq);
drivers/net/ethernet/intel/e1000/e1000_main.c
2868
if (unlikely(adapter->pcix_82544 &&
drivers/net/ethernet/intel/e1000/e1000_main.c
290
static void e1000_irq_enable(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000/e1000_main.c
292
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000/e1000_main.c
2921
if (unlikely(adapter->pcix_82544 &&
drivers/net/ethernet/intel/e1000/e1000_main.c
2961
e1000_unmap_and_free_tx_resource(adapter, buffer_info, 0);
drivers/net/ethernet/intel/e1000/e1000_main.c
2967
static void e1000_tx_queue(struct e1000_adapter *adapter,
drivers/net/ethernet/intel/e1000/e1000_main.c
298
static void e1000_update_mng_vlan(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000/e1000_main.c
300
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000/e1000_main.c
301
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/e1000/e1000_main.c
3011
tx_desc->lower.data |= cpu_to_le32(adapter->txd_cmd);
drivers/net/ethernet/intel/e1000/e1000_main.c
303
u16 old_vid = adapter->mng_vlan_id;
drivers/net/ethernet/intel/e1000/e1000_main.c
3038
static int e1000_82547_fifo_workaround(struct e1000_adapter *adapter,
drivers/net/ethernet/intel/e1000/e1000_main.c
3041
u32 fifo_space = adapter->tx_fifo_size - adapter->tx_fifo_head;
drivers/net/ethernet/intel/e1000/e1000_main.c
3046
if (adapter->link_duplex != HALF_DUPLEX)
drivers/net/ethernet/intel/e1000/e1000_main.c
3049
if (atomic_read(&adapter->tx_fifo_stall))
drivers/net/ethernet/intel/e1000/e1000_main.c
305
if (!e1000_vlan_used(adapter))
drivers/net/ethernet/intel/e1000/e1000_main.c
3053
atomic_set(&adapter->tx_fifo_stall, 1);
drivers/net/ethernet/intel/e1000/e1000_main.c
3058
adapter->tx_fifo_head += skb_fifo_len;
drivers/net/ethernet/intel/e1000/e1000_main.c
3059
if (adapter->tx_fifo_head >= adapter->tx_fifo_size)
drivers/net/ethernet/intel/e1000/e1000_main.c
3060
adapter->tx_fifo_head -= adapter->tx_fifo_size;
drivers/net/ethernet/intel/e1000/e1000_main.c
3066
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000/e1000_main.c
3067
struct e1000_tx_ring *tx_ring = adapter->tx_ring;
drivers/net/ethernet/intel/e1000/e1000_main.c
308
if (!test_bit(vid, adapter->active_vlans)) {
drivers/net/ethernet/intel/e1000/e1000_main.c
3084
++adapter->restart_queue;
drivers/net/ethernet/intel/e1000/e1000_main.c
3100
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000/e1000_main.c
3101
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000/e1000_main.c
3119
tx_ring = adapter->tx_ring;
drivers/net/ethernet/intel/e1000/e1000_main.c
312
adapter->mng_vlan_id = vid;
drivers/net/ethernet/intel/e1000/e1000_main.c
314
adapter->mng_vlan_id = E1000_MNG_VLAN_NONE;
drivers/net/ethernet/intel/e1000/e1000_main.c
317
!test_bit(old_vid, adapter->active_vlans))
drivers/net/ethernet/intel/e1000/e1000_main.c
3185
if (adapter->pcix_82544)
drivers/net/ethernet/intel/e1000/e1000_main.c
3199
if (adapter->pcix_82544)
drivers/net/ethernet/intel/e1000/e1000_main.c
3209
(e1000_82547_fifo_workaround(adapter, skb)))) {
drivers/net/ethernet/intel/e1000/e1000_main.c
321
adapter->mng_vlan_id = vid;
drivers/net/ethernet/intel/e1000/e1000_main.c
3211
if (!test_bit(__E1000_DOWN, &adapter->flags))
drivers/net/ethernet/intel/e1000/e1000_main.c
3212
schedule_delayed_work(&adapter->fifo_stall_task, 1);
drivers/net/ethernet/intel/e1000/e1000_main.c
3224
tso = e1000_tso(adapter, tx_ring, skb, protocol);
drivers/net/ethernet/intel/e1000/e1000_main.c
3234
} else if (likely(e1000_tx_csum(adapter, tx_ring, skb, protocol)))
drivers/net/ethernet/intel/e1000/e1000_main.c
3243
count = e1000_tx_map(adapter, tx_ring, skb, first, max_per_txd,
drivers/net/ethernet/intel/e1000/e1000_main.c
325
static void e1000_init_manageability(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000/e1000_main.c
3259
e1000_tx_queue(adapter, tx_ring, tx_flags, count);
drivers/net/ethernet/intel/e1000/e1000_main.c
3265
if (adapter->pcix_82544)
drivers/net/ethernet/intel/e1000/e1000_main.c
327
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000/e1000_main.c
3285
static void e1000_regdump(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000/e1000_main.c
3287
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000/e1000_main.c
329
if (adapter->en_mng_pt) {
drivers/net/ethernet/intel/e1000/e1000_main.c
3354
static void e1000_dump(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000/e1000_main.c
3357
struct e1000_tx_ring *tx_ring = adapter->tx_ring;
drivers/net/ethernet/intel/e1000/e1000_main.c
3358
struct e1000_rx_ring *rx_ring = adapter->rx_ring;
drivers/net/ethernet/intel/e1000/e1000_main.c
3361
if (!netif_msg_hw(adapter))
drivers/net/ethernet/intel/e1000/e1000_main.c
3365
e1000_regdump(adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
339
static void e1000_release_manageability(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000/e1000_main.c
3400
if (!netif_msg_tx_done(adapter))
drivers/net/ethernet/intel/e1000/e1000_main.c
341
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000/e1000_main.c
343
if (adapter->en_mng_pt) {
drivers/net/ethernet/intel/e1000/e1000_main.c
3442
if (!netif_msg_rx_status(adapter))
drivers/net/ethernet/intel/e1000/e1000_main.c
3470
readl(adapter->hw.hw_addr + i+4),
drivers/net/ethernet/intel/e1000/e1000_main.c
3471
readl(adapter->hw.hw_addr + i),
drivers/net/ethernet/intel/e1000/e1000_main.c
3472
readl(adapter->hw.hw_addr + i+12),
drivers/net/ethernet/intel/e1000/e1000_main.c
3473
readl(adapter->hw.hw_addr + i+8));
drivers/net/ethernet/intel/e1000/e1000_main.c
3480
readl(adapter->hw.hw_addr + i+4),
drivers/net/ethernet/intel/e1000/e1000_main.c
3481
readl(adapter->hw.hw_addr + i),
drivers/net/ethernet/intel/e1000/e1000_main.c
3482
readl(adapter->hw.hw_addr + i+12),
drivers/net/ethernet/intel/e1000/e1000_main.c
3483
readl(adapter->hw.hw_addr + i+8));
drivers/net/ethernet/intel/e1000/e1000_main.c
3496
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000/e1000_main.c
3499
adapter->tx_timeout_count++;
drivers/net/ethernet/intel/e1000/e1000_main.c
3500
schedule_work(&adapter->reset_task);
drivers/net/ethernet/intel/e1000/e1000_main.c
3505
struct e1000_adapter *adapter =
drivers/net/ethernet/intel/e1000/e1000_main.c
3510
e1000_reinit_locked(adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
3523
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000/e1000_main.c
3524
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000/e1000_main.c
3540
while (test_and_set_bit(__E1000_RESETTING, &adapter->flags))
drivers/net/ethernet/intel/e1000/e1000_main.c
3546
adapter->alloc_rx_buf = e1000_alloc_dummy_rx_buffers;
drivers/net/ethernet/intel/e1000/e1000_main.c
3547
e1000_down(adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
3559
adapter->rx_buffer_len = E1000_RXBUFFER_2048;
drivers/net/ethernet/intel/e1000/e1000_main.c
3562
adapter->rx_buffer_len = E1000_RXBUFFER_16384;
drivers/net/ethernet/intel/e1000/e1000_main.c
3564
adapter->rx_buffer_len = PAGE_SIZE;
drivers/net/ethernet/intel/e1000/e1000_main.c
357
static void e1000_configure(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000/e1000_main.c
3571
adapter->rx_buffer_len = MAXIMUM_ETHERNET_VLAN_SIZE;
drivers/net/ethernet/intel/e1000/e1000_main.c
3578
e1000_up(adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
3580
e1000_reset(adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
3582
clear_bit(__E1000_RESETTING, &adapter->flags);
drivers/net/ethernet/intel/e1000/e1000_main.c
359
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/e1000/e1000_main.c
3591
void e1000_update_stats(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000/e1000_main.c
3593
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/e1000/e1000_main.c
3594
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000/e1000_main.c
3595
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/intel/e1000/e1000_main.c
3604
if (adapter->link_speed == 0)
drivers/net/ethernet/intel/e1000/e1000_main.c
3609
spin_lock_irqsave(&adapter->stats_lock, flags);
drivers/net/ethernet/intel/e1000/e1000_main.c
3616
adapter->stats.crcerrs += er32(CRCERRS);
drivers/net/ethernet/intel/e1000/e1000_main.c
3617
adapter->stats.gprc += er32(GPRC);
drivers/net/ethernet/intel/e1000/e1000_main.c
3618
adapter->stats.gorcl += er32(GORCL);
drivers/net/ethernet/intel/e1000/e1000_main.c
3619
adapter->stats.gorch += er32(GORCH);
drivers/net/ethernet/intel/e1000/e1000_main.c
3620
adapter->stats.bprc += er32(BPRC);
drivers/net/ethernet/intel/e1000/e1000_main.c
3621
adapter->stats.mprc += er32(MPRC);
drivers/net/ethernet/intel/e1000/e1000_main.c
3622
adapter->stats.roc += er32(ROC);
drivers/net/ethernet/intel/e1000/e1000_main.c
3624
adapter->stats.prc64 += er32(PRC64);
drivers/net/ethernet/intel/e1000/e1000_main.c
3625
adapter->stats.prc127 += er32(PRC127);
drivers/net/ethernet/intel/e1000/e1000_main.c
3626
adapter->stats.prc255 += er32(PRC255);
drivers/net/ethernet/intel/e1000/e1000_main.c
3627
adapter->stats.prc511 += er32(PRC511);
drivers/net/ethernet/intel/e1000/e1000_main.c
3628
adapter->stats.prc1023 += er32(PRC1023);
drivers/net/ethernet/intel/e1000/e1000_main.c
3629
adapter->stats.prc1522 += er32(PRC1522);
drivers/net/ethernet/intel/e1000/e1000_main.c
3631
adapter->stats.symerrs += er32(SYMERRS);
drivers/net/ethernet/intel/e1000/e1000_main.c
3632
adapter->stats.mpc += er32(MPC);
drivers/net/ethernet/intel/e1000/e1000_main.c
3633
adapter->stats.scc += er32(SCC);
drivers/net/ethernet/intel/e1000/e1000_main.c
3634
adapter->stats.ecol += er32(ECOL);
drivers/net/ethernet/intel/e1000/e1000_main.c
3635
adapter->stats.mcc += er32(MCC);
drivers/net/ethernet/intel/e1000/e1000_main.c
3636
adapter->stats.latecol += er32(LATECOL);
drivers/net/ethernet/intel/e1000/e1000_main.c
3637
adapter->stats.dc += er32(DC);
drivers/net/ethernet/intel/e1000/e1000_main.c
3638
adapter->stats.sec += er32(SEC);
drivers/net/ethernet/intel/e1000/e1000_main.c
3639
adapter->stats.rlec += er32(RLEC);
drivers/net/ethernet/intel/e1000/e1000_main.c
364
e1000_restore_vlan(adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
3640
adapter->stats.xonrxc += er32(XONRXC);
drivers/net/ethernet/intel/e1000/e1000_main.c
3641
adapter->stats.xontxc += er32(XONTXC);
drivers/net/ethernet/intel/e1000/e1000_main.c
3642
adapter->stats.xoffrxc += er32(XOFFRXC);
drivers/net/ethernet/intel/e1000/e1000_main.c
3643
adapter->stats.xofftxc += er32(XOFFTXC);
drivers/net/ethernet/intel/e1000/e1000_main.c
3644
adapter->stats.fcruc += er32(FCRUC);
drivers/net/ethernet/intel/e1000/e1000_main.c
3645
adapter->stats.gptc += er32(GPTC);
drivers/net/ethernet/intel/e1000/e1000_main.c
3646
adapter->stats.gotcl += er32(GOTCL);
drivers/net/ethernet/intel/e1000/e1000_main.c
3647
adapter->stats.gotch += er32(GOTCH);
drivers/net/ethernet/intel/e1000/e1000_main.c
3648
adapter->stats.rnbc += er32(RNBC);
drivers/net/ethernet/intel/e1000/e1000_main.c
3649
adapter->stats.ruc += er32(RUC);
drivers/net/ethernet/intel/e1000/e1000_main.c
365
e1000_init_manageability(adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
3650
adapter->stats.rfc += er32(RFC);
drivers/net/ethernet/intel/e1000/e1000_main.c
3651
adapter->stats.rjc += er32(RJC);
drivers/net/ethernet/intel/e1000/e1000_main.c
3652
adapter->stats.torl += er32(TORL);
drivers/net/ethernet/intel/e1000/e1000_main.c
3653
adapter->stats.torh += er32(TORH);
drivers/net/ethernet/intel/e1000/e1000_main.c
3654
adapter->stats.totl += er32(TOTL);
drivers/net/ethernet/intel/e1000/e1000_main.c
3655
adapter->stats.toth += er32(TOTH);
drivers/net/ethernet/intel/e1000/e1000_main.c
3656
adapter->stats.tpr += er32(TPR);
drivers/net/ethernet/intel/e1000/e1000_main.c
3658
adapter->stats.ptc64 += er32(PTC64);
drivers/net/ethernet/intel/e1000/e1000_main.c
3659
adapter->stats.ptc127 += er32(PTC127);
drivers/net/ethernet/intel/e1000/e1000_main.c
3660
adapter->stats.ptc255 += er32(PTC255);
drivers/net/ethernet/intel/e1000/e1000_main.c
3661
adapter->stats.ptc511 += er32(PTC511);
drivers/net/ethernet/intel/e1000/e1000_main.c
3662
adapter->stats.ptc1023 += er32(PTC1023);
drivers/net/ethernet/intel/e1000/e1000_main.c
3663
adapter->stats.ptc1522 += er32(PTC1522);
drivers/net/ethernet/intel/e1000/e1000_main.c
3665
adapter->stats.mptc += er32(MPTC);
drivers/net/ethernet/intel/e1000/e1000_main.c
3666
adapter->stats.bptc += er32(BPTC);
drivers/net/ethernet/intel/e1000/e1000_main.c
367
e1000_configure_tx(adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
3671
adapter->stats.tpt += hw->tx_packet_delta;
drivers/net/ethernet/intel/e1000/e1000_main.c
3673
adapter->stats.colc += hw->collision_delta;
drivers/net/ethernet/intel/e1000/e1000_main.c
3676
adapter->stats.algnerrc += er32(ALGNERRC);
drivers/net/ethernet/intel/e1000/e1000_main.c
3677
adapter->stats.rxerrc += er32(RXERRC);
drivers/net/ethernet/intel/e1000/e1000_main.c
3678
adapter->stats.tncrs += er32(TNCRS);
drivers/net/ethernet/intel/e1000/e1000_main.c
3679
adapter->stats.cexterr += er32(CEXTERR);
drivers/net/ethernet/intel/e1000/e1000_main.c
368
e1000_setup_rctl(adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
3680
adapter->stats.tsctc += er32(TSCTC);
drivers/net/ethernet/intel/e1000/e1000_main.c
3681
adapter->stats.tsctfc += er32(TSCTFC);
drivers/net/ethernet/intel/e1000/e1000_main.c
3685
netdev->stats.multicast = adapter->stats.mprc;
drivers/net/ethernet/intel/e1000/e1000_main.c
3686
netdev->stats.collisions = adapter->stats.colc;
drivers/net/ethernet/intel/e1000/e1000_main.c
369
e1000_configure_rx(adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
3693
netdev->stats.rx_errors = adapter->stats.rxerrc +
drivers/net/ethernet/intel/e1000/e1000_main.c
3694
adapter->stats.crcerrs + adapter->stats.algnerrc +
drivers/net/ethernet/intel/e1000/e1000_main.c
3695
adapter->stats.ruc + adapter->stats.roc +
drivers/net/ethernet/intel/e1000/e1000_main.c
3696
adapter->stats.cexterr;
drivers/net/ethernet/intel/e1000/e1000_main.c
3697
adapter->stats.rlerrc = adapter->stats.ruc + adapter->stats.roc;
drivers/net/ethernet/intel/e1000/e1000_main.c
3698
netdev->stats.rx_length_errors = adapter->stats.rlerrc;
drivers/net/ethernet/intel/e1000/e1000_main.c
3699
netdev->stats.rx_crc_errors = adapter->stats.crcerrs;
drivers/net/ethernet/intel/e1000/e1000_main.c
3700
netdev->stats.rx_frame_errors = adapter->stats.algnerrc;
drivers/net/ethernet/intel/e1000/e1000_main.c
3701
netdev->stats.rx_missed_errors = adapter->stats.mpc;
drivers/net/ethernet/intel/e1000/e1000_main.c
3704
adapter->stats.txerrc = adapter->stats.ecol + adapter->stats.latecol;
drivers/net/ethernet/intel/e1000/e1000_main.c
3705
netdev->stats.tx_errors = adapter->stats.txerrc;
drivers/net/ethernet/intel/e1000/e1000_main.c
3706
netdev->stats.tx_aborted_errors = adapter->stats.ecol;
drivers/net/ethernet/intel/e1000/e1000_main.c
3707
netdev->stats.tx_window_errors = adapter->stats.latecol;
drivers/net/ethernet/intel/e1000/e1000_main.c
3708
netdev->stats.tx_carrier_errors = adapter->stats.tncrs;
drivers/net/ethernet/intel/e1000/e1000_main.c
3710
adapter->link_duplex == FULL_DUPLEX) {
drivers/net/ethernet/intel/e1000/e1000_main.c
3712
adapter->stats.tncrs = 0;
drivers/net/ethernet/intel/e1000/e1000_main.c
3719
if ((adapter->link_speed == SPEED_1000) &&
drivers/net/ethernet/intel/e1000/e1000_main.c
3722
adapter->phy_stats.idle_errors += phy_tmp;
drivers/net/ethernet/intel/e1000/e1000_main.c
3728
adapter->phy_stats.receive_errors += phy_tmp;
drivers/net/ethernet/intel/e1000/e1000_main.c
3733
adapter->stats.mgptc += er32(MGTPTC);
drivers/net/ethernet/intel/e1000/e1000_main.c
3734
adapter->stats.mgprc += er32(MGTPRC);
drivers/net/ethernet/intel/e1000/e1000_main.c
3735
adapter->stats.mgpdc += er32(MGTPDC);
drivers/net/ethernet/intel/e1000/e1000_main.c
3738
spin_unlock_irqrestore(&adapter->stats_lock, flags);
drivers/net/ethernet/intel/e1000/e1000_main.c
374
for (i = 0; i < adapter->num_rx_queues; i++) {
drivers/net/ethernet/intel/e1000/e1000_main.c
3749
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000/e1000_main.c
375
struct e1000_rx_ring *ring = &adapter->rx_ring[i];
drivers/net/ethernet/intel/e1000/e1000_main.c
3750
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000/e1000_main.c
376
adapter->alloc_rx_buf(adapter, ring,
drivers/net/ethernet/intel/e1000/e1000_main.c
3760
if (unlikely(test_bit(__E1000_DOWN, &adapter->flags)))
drivers/net/ethernet/intel/e1000/e1000_main.c
3766
if (!test_bit(__E1000_DOWN, &adapter->flags))
drivers/net/ethernet/intel/e1000/e1000_main.c
3767
schedule_delayed_work(&adapter->watchdog_task, 1);
drivers/net/ethernet/intel/e1000/e1000_main.c
3774
if (likely(napi_schedule_prep(&adapter->napi))) {
drivers/net/ethernet/intel/e1000/e1000_main.c
3775
adapter->total_tx_bytes = 0;
drivers/net/ethernet/intel/e1000/e1000_main.c
3776
adapter->total_tx_packets = 0;
drivers/net/ethernet/intel/e1000/e1000_main.c
3777
adapter->total_rx_bytes = 0;
drivers/net/ethernet/intel/e1000/e1000_main.c
3778
adapter->total_rx_packets = 0;
drivers/net/ethernet/intel/e1000/e1000_main.c
3779
__napi_schedule(&adapter->napi);
drivers/net/ethernet/intel/e1000/e1000_main.c
3784
if (!test_bit(__E1000_DOWN, &adapter->flags))
drivers/net/ethernet/intel/e1000/e1000_main.c
3785
e1000_irq_enable(adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
3798
struct e1000_adapter *adapter = container_of(napi, struct e1000_adapter,
drivers/net/ethernet/intel/e1000/e1000_main.c
3802
tx_clean_complete = e1000_clean_tx_irq(adapter, &adapter->tx_ring[0]);
drivers/net/ethernet/intel/e1000/e1000_main.c
3804
adapter->clean_rx(adapter, &adapter->rx_ring[0], &work_done, budget);
drivers/net/ethernet/intel/e1000/e1000_main.c
381
int e1000_up(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000/e1000_main.c
3813
if (likely(adapter->itr_setting & 3))
drivers/net/ethernet/intel/e1000/e1000_main.c
3814
e1000_set_itr(adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
3815
if (!test_bit(__E1000_DOWN, &adapter->flags))
drivers/net/ethernet/intel/e1000/e1000_main.c
3816
e1000_irq_enable(adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
3827
static bool e1000_clean_tx_irq(struct e1000_adapter *adapter,
drivers/net/ethernet/intel/e1000/e1000_main.c
383
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000/e1000_main.c
3830
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000/e1000_main.c
3831
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/e1000/e1000_main.c
386
e1000_configure(adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
3861
e1000_unmap_and_free_tx_resource(adapter, buffer_info,
drivers/net/ethernet/intel/e1000/e1000_main.c
388
clear_bit(__E1000_DOWN, &adapter->flags);
drivers/net/ethernet/intel/e1000/e1000_main.c
3889
!(test_bit(__E1000_DOWN, &adapter->flags))) {
drivers/net/ethernet/intel/e1000/e1000_main.c
3891
++adapter->restart_queue;
drivers/net/ethernet/intel/e1000/e1000_main.c
3895
if (adapter->detect_tx_hung) {
drivers/net/ethernet/intel/e1000/e1000_main.c
3899
adapter->detect_tx_hung = false;
drivers/net/ethernet/intel/e1000/e1000_main.c
390
napi_enable(&adapter->napi);
drivers/net/ethernet/intel/e1000/e1000_main.c
3902
(adapter->tx_timeout_factor * HZ)) &&
drivers/net/ethernet/intel/e1000/e1000_main.c
3917
(unsigned long)(tx_ring - adapter->tx_ring),
drivers/net/ethernet/intel/e1000/e1000_main.c
392
e1000_irq_enable(adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
3926
e1000_dump(adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
3930
adapter->total_tx_bytes += total_tx_bytes;
drivers/net/ethernet/intel/e1000/e1000_main.c
3931
adapter->total_tx_packets += total_tx_packets;
drivers/net/ethernet/intel/e1000/e1000_main.c
394
netif_wake_queue(adapter->netdev);
drivers/net/ethernet/intel/e1000/e1000_main.c
3944
static void e1000_rx_checksum(struct e1000_adapter *adapter, u32 status_err,
drivers/net/ethernet/intel/e1000/e1000_main.c
3947
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000/e1000_main.c
3962
adapter->hw_csum_err++;
drivers/net/ethernet/intel/e1000/e1000_main.c
3974
adapter->hw_csum_good++;
drivers/net/ethernet/intel/e1000/e1000_main.c
3999
static void e1000_receive_skb(struct e1000_adapter *adapter, u8 status,
drivers/net/ethernet/intel/e1000/e1000_main.c
4002
skb->protocol = eth_type_trans(skb, adapter->netdev);
drivers/net/ethernet/intel/e1000/e1000_main.c
4009
napi_gro_receive(&adapter->napi, skb);
drivers/net/ethernet/intel/e1000/e1000_main.c
409
void e1000_power_up_phy(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000/e1000_main.c
4090
static bool e1000_tbi_should_accept(struct e1000_adapter *adapter,
drivers/net/ethernet/intel/e1000/e1000_main.c
4094
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000/e1000_main.c
4101
if (unlikely(length > adapter->rx_buffer_len))
drivers/net/ethernet/intel/e1000/e1000_main.c
4108
spin_lock_irqsave(&adapter->stats_lock, irq_flags);
drivers/net/ethernet/intel/e1000/e1000_main.c
4109
e1000_tbi_adjust_stats(hw, &adapter->stats, length, data);
drivers/net/ethernet/intel/e1000/e1000_main.c
411
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000/e1000_main.c
4110
spin_unlock_irqrestore(&adapter->stats_lock, irq_flags);
drivers/net/ethernet/intel/e1000/e1000_main.c
4118
static struct sk_buff *e1000_alloc_rx_skb(struct e1000_adapter *adapter,
drivers/net/ethernet/intel/e1000/e1000_main.c
4121
struct sk_buff *skb = napi_alloc_skb(&adapter->napi, bufsz);
drivers/net/ethernet/intel/e1000/e1000_main.c
4124
adapter->alloc_rx_buff_failed++;
drivers/net/ethernet/intel/e1000/e1000_main.c
4138
static bool e1000_clean_jumbo_rx_irq(struct e1000_adapter *adapter,
drivers/net/ethernet/intel/e1000/e1000_main.c
4142
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/e1000/e1000_main.c
4143
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/intel/e1000/e1000_main.c
4178
adapter->rx_buffer_len, DMA_FROM_DEVICE);
drivers/net/ethernet/intel/e1000/e1000_main.c
4188
if (e1000_tbi_should_accept(adapter, status,
drivers/net/ethernet/intel/e1000/e1000_main.c
4210
rxtop = napi_get_frags(&adapter->napi);
drivers/net/ethernet/intel/e1000/e1000_main.c
4243
skb = e1000_alloc_rx_skb(adapter,
drivers/net/ethernet/intel/e1000/e1000_main.c
425
static void e1000_power_down_phy(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000/e1000_main.c
4255
e1000_rx_checksum(adapter,
drivers/net/ethernet/intel/e1000/e1000_main.c
4262
e1000_receive_skb(adapter, status,
drivers/net/ethernet/intel/e1000/e1000_main.c
4266
skb = napi_get_frags(&adapter->napi);
drivers/net/ethernet/intel/e1000/e1000_main.c
4268
adapter->alloc_rx_buff_failed++;
drivers/net/ethernet/intel/e1000/e1000_main.c
427
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000/e1000_main.c
4280
e1000_rx_checksum(adapter,
drivers/net/ethernet/intel/e1000/e1000_main.c
4297
napi_gro_frags(&adapter->napi);
drivers/net/ethernet/intel/e1000/e1000_main.c
4304
adapter->alloc_rx_buf(adapter, rx_ring, cleaned_count);
drivers/net/ethernet/intel/e1000/e1000_main.c
4316
adapter->alloc_rx_buf(adapter, rx_ring, cleaned_count);
drivers/net/ethernet/intel/e1000/e1000_main.c
4318
adapter->total_rx_packets += total_rx_packets;
drivers/net/ethernet/intel/e1000/e1000_main.c
4319
adapter->total_rx_bytes += total_rx_bytes;
drivers/net/ethernet/intel/e1000/e1000_main.c
4328
static struct sk_buff *e1000_copybreak(struct e1000_adapter *adapter,
drivers/net/ethernet/intel/e1000/e1000_main.c
4337
skb = e1000_alloc_rx_skb(adapter, length);
drivers/net/ethernet/intel/e1000/e1000_main.c
4341
dma_sync_single_for_cpu(&adapter->pdev->dev, buffer_info->dma,
drivers/net/ethernet/intel/e1000/e1000_main.c
435
if (!adapter->wol && hw->mac_type >= e1000_82540 &&
drivers/net/ethernet/intel/e1000/e1000_main.c
4356
static bool e1000_clean_rx_irq(struct e1000_adapter *adapter,
drivers/net/ethernet/intel/e1000/e1000_main.c
4360
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/e1000/e1000_main.c
4361
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/intel/e1000/e1000_main.c
4389
skb = e1000_copybreak(adapter, buffer_info, length, data);
drivers/net/ethernet/intel/e1000/e1000_main.c
4391
unsigned int frag_len = e1000_frag_len(adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
4395
adapter->alloc_rx_buff_failed++;
drivers/net/ethernet/intel/e1000/e1000_main.c
4401
adapter->rx_buffer_len,
drivers/net/ethernet/intel/e1000/e1000_main.c
4425
adapter->discarding = true;
drivers/net/ethernet/intel/e1000/e1000_main.c
4427
if (adapter->discarding) {
drivers/net/ethernet/intel/e1000/e1000_main.c
4432
adapter->discarding = false;
drivers/net/ethernet/intel/e1000/e1000_main.c
4437
if (e1000_tbi_should_accept(adapter, status,
drivers/net/ethernet/intel/e1000/e1000_main.c
4465
e1000_rx_checksum(adapter,
drivers/net/ethernet/intel/e1000/e1000_main.c
4470
e1000_receive_skb(adapter, status, rx_desc->special, skb);
drivers/net/ethernet/intel/e1000/e1000_main.c
4477
adapter->alloc_rx_buf(adapter, rx_ring, cleaned_count);
drivers/net/ethernet/intel/e1000/e1000_main.c
4489
adapter->alloc_rx_buf(adapter, rx_ring, cleaned_count);
drivers/net/ethernet/intel/e1000/e1000_main.c
4491
adapter->total_rx_packets += total_rx_packets;
drivers/net/ethernet/intel/e1000/e1000_main.c
4492
adapter->total_rx_bytes += total_rx_bytes;
drivers/net/ethernet/intel/e1000/e1000_main.c
4505
e1000_alloc_jumbo_rx_buffers(struct e1000_adapter *adapter,
drivers/net/ethernet/intel/e1000/e1000_main.c
4508
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/intel/e1000/e1000_main.c
4521
adapter->alloc_rx_buff_failed++;
drivers/net/ethernet/intel/e1000/e1000_main.c
4529
adapter->rx_buffer_len,
drivers/net/ethernet/intel/e1000/e1000_main.c
4535
adapter->alloc_rx_buff_failed++;
drivers/net/ethernet/intel/e1000/e1000_main.c
4559
writel(i, adapter->hw.hw_addr + rx_ring->rdt);
drivers/net/ethernet/intel/e1000/e1000_main.c
4569
static void e1000_alloc_rx_buffers(struct e1000_adapter *adapter,
drivers/net/ethernet/intel/e1000/e1000_main.c
4573
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000/e1000_main.c
4574
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/intel/e1000/e1000_main.c
4578
unsigned int bufsz = adapter->rx_buffer_len;
drivers/net/ethernet/intel/e1000/e1000_main.c
4589
data = e1000_alloc_frag(adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
4592
adapter->alloc_rx_buff_failed++;
drivers/net/ethernet/intel/e1000/e1000_main.c
4597
if (!e1000_check_64k_bound(adapter, data, bufsz)) {
drivers/net/ethernet/intel/e1000/e1000_main.c
4602
data = e1000_alloc_frag(adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
4606
adapter->alloc_rx_buff_failed++;
drivers/net/ethernet/intel/e1000/e1000_main.c
4610
if (!e1000_check_64k_bound(adapter, data, bufsz)) {
drivers/net/ethernet/intel/e1000/e1000_main.c
4614
adapter->alloc_rx_buff_failed++;
drivers/net/ethernet/intel/e1000/e1000_main.c
4623
adapter->rx_buffer_len,
drivers/net/ethernet/intel/e1000/e1000_main.c
4628
adapter->alloc_rx_buff_failed++;
drivers/net/ethernet/intel/e1000/e1000_main.c
4637
if (!e1000_check_64k_bound(adapter,
drivers/net/ethernet/intel/e1000/e1000_main.c
4639
adapter->rx_buffer_len)) {
drivers/net/ethernet/intel/e1000/e1000_main.c
4641
"%p\n", adapter->rx_buffer_len,
drivers/net/ethernet/intel/e1000/e1000_main.c
4645
adapter->rx_buffer_len,
drivers/net/ethernet/intel/e1000/e1000_main.c
465
static void e1000_down_and_stop(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000/e1000_main.c
4652
adapter->alloc_rx_buff_failed++;
drivers/net/ethernet/intel/e1000/e1000_main.c
467
set_bit(__E1000_DOWN, &adapter->flags);
drivers/net/ethernet/intel/e1000/e1000_main.c
4684
static void e1000_smartspeed(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000/e1000_main.c
4686
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000/e1000_main.c
469
cancel_delayed_work_sync(&adapter->watchdog_task);
drivers/net/ethernet/intel/e1000/e1000_main.c
4694
if (adapter->smartspeed == 0) {
drivers/net/ethernet/intel/e1000/e1000_main.c
4709
adapter->smartspeed++;
drivers/net/ethernet/intel/e1000/e1000_main.c
4720
} else if (adapter->smartspeed == E1000_SMARTSPEED_DOWNSHIFT) {
drivers/net/ethernet/intel/e1000/e1000_main.c
4733
if (adapter->smartspeed++ == E1000_SMARTSPEED_MAX)
drivers/net/ethernet/intel/e1000/e1000_main.c
4734
adapter->smartspeed = 0;
drivers/net/ethernet/intel/e1000/e1000_main.c
4764
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000/e1000_main.c
4765
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000/e1000_main.c
477
cancel_delayed_work_sync(&adapter->phy_info_task);
drivers/net/ethernet/intel/e1000/e1000_main.c
4779
spin_lock_irqsave(&adapter->stats_lock, flags);
drivers/net/ethernet/intel/e1000/e1000_main.c
478
cancel_delayed_work_sync(&adapter->fifo_stall_task);
drivers/net/ethernet/intel/e1000/e1000_main.c
4782
spin_unlock_irqrestore(&adapter->stats_lock, flags);
drivers/net/ethernet/intel/e1000/e1000_main.c
4785
spin_unlock_irqrestore(&adapter->stats_lock, flags);
drivers/net/ethernet/intel/e1000/e1000_main.c
4791
spin_lock_irqsave(&adapter->stats_lock, flags);
drivers/net/ethernet/intel/e1000/e1000_main.c
4794
spin_unlock_irqrestore(&adapter->stats_lock, flags);
drivers/net/ethernet/intel/e1000/e1000_main.c
4797
spin_unlock_irqrestore(&adapter->stats_lock, flags);
drivers/net/ethernet/intel/e1000/e1000_main.c
481
void e1000_down(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000/e1000_main.c
4815
adapter, speed,
drivers/net/ethernet/intel/e1000/e1000_main.c
4822
if (netif_running(adapter->netdev))
drivers/net/ethernet/intel/e1000/e1000_main.c
4823
e1000_reinit_locked(adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
4825
e1000_reset(adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
483
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000/e1000_main.c
4838
if (netif_running(adapter->netdev))
drivers/net/ethernet/intel/e1000/e1000_main.c
4839
e1000_reinit_locked(adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
484
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/e1000/e1000_main.c
4841
e1000_reset(adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
4854
struct e1000_adapter *adapter = hw->back;
drivers/net/ethernet/intel/e1000/e1000_main.c
4855
int ret_val = pci_set_mwi(adapter->pdev);
drivers/net/ethernet/intel/e1000/e1000_main.c
4863
struct e1000_adapter *adapter = hw->back;
drivers/net/ethernet/intel/e1000/e1000_main.c
4865
pci_clear_mwi(adapter->pdev);
drivers/net/ethernet/intel/e1000/e1000_main.c
4870
struct e1000_adapter *adapter = hw->back;
drivers/net/ethernet/intel/e1000/e1000_main.c
4871
return pcix_get_mmrbc(adapter->pdev);
drivers/net/ethernet/intel/e1000/e1000_main.c
4876
struct e1000_adapter *adapter = hw->back;
drivers/net/ethernet/intel/e1000/e1000_main.c
4877
pcix_set_mmrbc(adapter->pdev, mmrbc);
drivers/net/ethernet/intel/e1000/e1000_main.c
4885
static bool e1000_vlan_used(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000/e1000_main.c
4889
for_each_set_bit(vid, adapter->active_vlans, VLAN_N_VID)
drivers/net/ethernet/intel/e1000/e1000_main.c
4894
static void __e1000_vlan_mode(struct e1000_adapter *adapter,
drivers/net/ethernet/intel/e1000/e1000_main.c
4897
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000/e1000_main.c
4910
static void e1000_vlan_filter_on_off(struct e1000_adapter *adapter,
drivers/net/ethernet/intel/e1000/e1000_main.c
4913
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000/e1000_main.c
4916
if (!test_bit(__E1000_DOWN, &adapter->flags))
drivers/net/ethernet/intel/e1000/e1000_main.c
4917
e1000_irq_disable(adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
4919
__e1000_vlan_mode(adapter, adapter->netdev->features);
drivers/net/ethernet/intel/e1000/e1000_main.c
4924
if (!(adapter->netdev->flags & IFF_PROMISC))
drivers/net/ethernet/intel/e1000/e1000_main.c
4927
e1000_update_mng_vlan(adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
4935
if (!test_bit(__E1000_DOWN, &adapter->flags))
drivers/net/ethernet/intel/e1000/e1000_main.c
4936
e1000_irq_enable(adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
4942
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000/e1000_main.c
4944
if (!test_bit(__E1000_DOWN, &adapter->flags))
drivers/net/ethernet/intel/e1000/e1000_main.c
4945
e1000_irq_disable(adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
4947
__e1000_vlan_mode(adapter, features);
drivers/net/ethernet/intel/e1000/e1000_main.c
4949
if (!test_bit(__E1000_DOWN, &adapter->flags))
drivers/net/ethernet/intel/e1000/e1000_main.c
4950
e1000_irq_enable(adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
4956
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000/e1000_main.c
4957
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000/e1000_main.c
4962
(vid == adapter->mng_vlan_id))
drivers/net/ethernet/intel/e1000/e1000_main.c
4965
if (!e1000_vlan_used(adapter))
drivers/net/ethernet/intel/e1000/e1000_main.c
4966
e1000_vlan_filter_on_off(adapter, true);
drivers/net/ethernet/intel/e1000/e1000_main.c
4974
set_bit(vid, adapter->active_vlans);
drivers/net/ethernet/intel/e1000/e1000_main.c
4982
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000/e1000_main.c
4983
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000/e1000_main.c
4986
if (!test_bit(__E1000_DOWN, &adapter->flags))
drivers/net/ethernet/intel/e1000/e1000_main.c
4987
e1000_irq_disable(adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
4988
if (!test_bit(__E1000_DOWN, &adapter->flags))
drivers/net/ethernet/intel/e1000/e1000_main.c
4989
e1000_irq_enable(adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
4997
clear_bit(vid, adapter->active_vlans);
drivers/net/ethernet/intel/e1000/e1000_main.c
4999
if (!e1000_vlan_used(adapter))
drivers/net/ethernet/intel/e1000/e1000_main.c
5000
e1000_vlan_filter_on_off(adapter, false);
drivers/net/ethernet/intel/e1000/e1000_main.c
5005
static void e1000_restore_vlan(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000/e1000_main.c
5009
if (!e1000_vlan_used(adapter))
drivers/net/ethernet/intel/e1000/e1000_main.c
5012
e1000_vlan_filter_on_off(adapter, true);
drivers/net/ethernet/intel/e1000/e1000_main.c
5013
for_each_set_bit(vid, adapter->active_vlans, VLAN_N_VID)
drivers/net/ethernet/intel/e1000/e1000_main.c
5014
e1000_vlan_rx_add_vid(adapter->netdev, htons(ETH_P_8021Q), vid);
drivers/net/ethernet/intel/e1000/e1000_main.c
5017
int e1000_set_spd_dplx(struct e1000_adapter *adapter, u32 spd, u8 dplx)
drivers/net/ethernet/intel/e1000/e1000_main.c
5019
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000/e1000_main.c
5070
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000/e1000_main.c
5071
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000/e1000_main.c
5073
u32 wufc = adapter->wol;
drivers/net/ethernet/intel/e1000/e1000_main.c
5080
while (test_bit(__E1000_RESETTING, &adapter->flags) && count--)
drivers/net/ethernet/intel/e1000/e1000_main.c
5083
WARN_ON(test_bit(__E1000_RESETTING, &adapter->flags));
drivers/net/ethernet/intel/e1000/e1000_main.c
5085
e1000_down(adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
5094
e1000_setup_rctl(adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
513
napi_disable(&adapter->napi);
drivers/net/ethernet/intel/e1000/e1000_main.c
5132
e1000_release_manageability(adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
5137
if (adapter->en_mng_pt)
drivers/net/ethernet/intel/e1000/e1000_main.c
5141
e1000_free_irq(adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
5143
if (!test_and_set_bit(__E1000_DISABLED, &adapter->flags))
drivers/net/ethernet/intel/e1000/e1000_main.c
515
e1000_irq_disable(adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
5165
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000/e1000_main.c
5166
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000/e1000_main.c
5169
if (adapter->need_ioport)
drivers/net/ethernet/intel/e1000/e1000_main.c
5180
clear_bit(__E1000_DISABLED, &adapter->flags);
drivers/net/ethernet/intel/e1000/e1000_main.c
5187
err = e1000_request_irq(adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
5192
e1000_power_up_phy(adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
5193
e1000_reset(adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
5196
e1000_init_manageability(adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
5199
e1000_up(adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
521
e1000_down_and_stop(adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
5225
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000/e1000_main.c
5227
if (disable_hardirq(adapter->pdev->irq))
drivers/net/ethernet/intel/e1000/e1000_main.c
5228
e1000_intr(adapter->pdev->irq, netdev);
drivers/net/ethernet/intel/e1000/e1000_main.c
5229
enable_irq(adapter->pdev->irq);
drivers/net/ethernet/intel/e1000/e1000_main.c
523
adapter->link_speed = 0;
drivers/net/ethernet/intel/e1000/e1000_main.c
524
adapter->link_duplex = 0;
drivers/net/ethernet/intel/e1000/e1000_main.c
5245
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000/e1000_main.c
5256
e1000_down(adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
5258
if (!test_and_set_bit(__E1000_DISABLED, &adapter->flags))
drivers/net/ethernet/intel/e1000/e1000_main.c
526
e1000_reset(adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
527
e1000_clean_all_tx_rings(adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
5276
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000/e1000_main.c
5277
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000/e1000_main.c
528
e1000_clean_all_rx_rings(adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
5280
if (adapter->need_ioport)
drivers/net/ethernet/intel/e1000/e1000_main.c
5291
clear_bit(__E1000_DISABLED, &adapter->flags);
drivers/net/ethernet/intel/e1000/e1000_main.c
5297
e1000_reset(adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
531
void e1000_reinit_locked(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000/e1000_main.c
5314
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000/e1000_main.c
5316
e1000_init_manageability(adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
5319
if (e1000_up(adapter)) {
drivers/net/ethernet/intel/e1000/e1000_main.c
533
while (test_and_set_bit(__E1000_RESETTING, &adapter->flags))
drivers/net/ethernet/intel/e1000/e1000_main.c
537
if (!test_bit(__E1000_DOWN, &adapter->flags)) {
drivers/net/ethernet/intel/e1000/e1000_main.c
538
e1000_down(adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
539
e1000_up(adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
542
clear_bit(__E1000_RESETTING, &adapter->flags);
drivers/net/ethernet/intel/e1000/e1000_main.c
545
void e1000_reset(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000/e1000_main.c
547
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000/e1000_main.c
589
adapter->tx_fifo_head = 0;
drivers/net/ethernet/intel/e1000/e1000_main.c
590
adapter->tx_head_addr = pba << E1000_TX_HEAD_ADDR_SHIFT;
drivers/net/ethernet/intel/e1000/e1000_main.c
591
adapter->tx_fifo_size =
drivers/net/ethernet/intel/e1000/e1000_main.c
593
atomic_set(&adapter->tx_fifo_stall, 0);
drivers/net/ethernet/intel/e1000/e1000_main.c
66
int e1000_up(struct e1000_adapter *adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
67
void e1000_down(struct e1000_adapter *adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
676
e1000_update_mng_vlan(adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
68
void e1000_reinit_locked(struct e1000_adapter *adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
69
void e1000_reset(struct e1000_adapter *adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
695
e1000_phy_get_info(hw, &adapter->phy_info);
drivers/net/ethernet/intel/e1000/e1000_main.c
697
e1000_release_manageability(adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
70
int e1000_setup_all_tx_resources(struct e1000_adapter *adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
701
static void e1000_dump_eeprom(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000/e1000_main.c
703
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/e1000/e1000_main.c
71
int e1000_setup_all_rx_resources(struct e1000_adapter *adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
72
void e1000_free_all_tx_resources(struct e1000_adapter *adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
73
void e1000_free_all_rx_resources(struct e1000_adapter *adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
74
static int e1000_setup_tx_resources(struct e1000_adapter *adapter,
drivers/net/ethernet/intel/e1000/e1000_main.c
76
static int e1000_setup_rx_resources(struct e1000_adapter *adapter,
drivers/net/ethernet/intel/e1000/e1000_main.c
78
static void e1000_free_tx_resources(struct e1000_adapter *adapter,
drivers/net/ethernet/intel/e1000/e1000_main.c
80
static void e1000_free_rx_resources(struct e1000_adapter *adapter,
drivers/net/ethernet/intel/e1000/e1000_main.c
801
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000/e1000_main.c
811
adapter->rx_csum = !!(features & NETIF_F_RXCSUM);
drivers/net/ethernet/intel/e1000/e1000_main.c
814
e1000_reinit_locked(adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
816
e1000_reset(adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
82
void e1000_update_stats(struct e1000_adapter *adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
851
static int e1000_init_hw_struct(struct e1000_adapter *adapter,
drivers/net/ethernet/intel/e1000/e1000_main.c
854
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/intel/e1000/e1000_main.c
865
hw->max_frame_size = adapter->netdev->mtu +
drivers/net/ethernet/intel/e1000/e1000_main.c
88
static int e1000_alloc_queues(struct e1000_adapter *adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
89
static int e1000_sw_init(struct e1000_adapter *adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
918
struct e1000_adapter *adapter = NULL;
drivers/net/ethernet/intel/e1000/e1000_main.c
92
static void e1000_configure_tx(struct e1000_adapter *adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
93
static void e1000_configure_rx(struct e1000_adapter *adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
94
static void e1000_setup_rctl(struct e1000_adapter *adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
95
static void e1000_clean_all_tx_rings(struct e1000_adapter *adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
959
adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000/e1000_main.c
96
static void e1000_clean_all_rx_rings(struct e1000_adapter *adapter);
drivers/net/ethernet/intel/e1000/e1000_main.c
960
adapter->netdev = netdev;
drivers/net/ethernet/intel/e1000/e1000_main.c
961
adapter->pdev = pdev;
drivers/net/ethernet/intel/e1000/e1000_main.c
962
adapter->msg_enable = netif_msg_init(debug, DEFAULT_MSG_ENABLE);
drivers/net/ethernet/intel/e1000/e1000_main.c
963
adapter->bars = bars;
drivers/net/ethernet/intel/e1000/e1000_main.c
964
adapter->need_ioport = need_ioport;
drivers/net/ethernet/intel/e1000/e1000_main.c
966
hw = &adapter->hw;
drivers/net/ethernet/intel/e1000/e1000_main.c
967
hw->back = adapter;
drivers/net/ethernet/intel/e1000/e1000_main.c
97
static void e1000_clean_tx_ring(struct e1000_adapter *adapter,
drivers/net/ethernet/intel/e1000/e1000_main.c
974
if (adapter->need_ioport) {
drivers/net/ethernet/intel/e1000/e1000_main.c
986
err = e1000_init_hw_struct(adapter, hw);
drivers/net/ethernet/intel/e1000/e1000_main.c
99
static void e1000_clean_rx_ring(struct e1000_adapter *adapter,
drivers/net/ethernet/intel/e1000/e1000_param.c
183
struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000/e1000_param.c
231
static void e1000_check_fiber_options(struct e1000_adapter *adapter);
drivers/net/ethernet/intel/e1000/e1000_param.c
232
static void e1000_check_copper_options(struct e1000_adapter *adapter);
drivers/net/ethernet/intel/e1000/e1000_param.c
243
void e1000_check_options(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000/e1000_param.c
246
int bd = adapter->bd_number;
drivers/net/ethernet/intel/e1000/e1000_param.c
254
struct e1000_tx_ring *tx_ring = adapter->tx_ring;
drivers/net/ethernet/intel/e1000/e1000_param.c
256
e1000_mac_type mac_type = adapter->hw.mac_type;
drivers/net/ethernet/intel/e1000/e1000_param.c
272
e1000_validate_option(&tx_ring->count, &opt, adapter);
drivers/net/ethernet/intel/e1000/e1000_param.c
278
for (i = 0; i < adapter->num_tx_queues; i++)
drivers/net/ethernet/intel/e1000/e1000_param.c
282
struct e1000_rx_ring *rx_ring = adapter->rx_ring;
drivers/net/ethernet/intel/e1000/e1000_param.c
284
e1000_mac_type mac_type = adapter->hw.mac_type;
drivers/net/ethernet/intel/e1000/e1000_param.c
301
e1000_validate_option(&rx_ring->count, &opt, adapter);
drivers/net/ethernet/intel/e1000/e1000_param.c
307
for (i = 0; i < adapter->num_rx_queues; i++)
drivers/net/ethernet/intel/e1000/e1000_param.c
320
e1000_validate_option(&rx_csum, &opt, adapter);
drivers/net/ethernet/intel/e1000/e1000_param.c
321
adapter->rx_csum = rx_csum;
drivers/net/ethernet/intel/e1000/e1000_param.c
323
adapter->rx_csum = opt.def;
drivers/net/ethernet/intel/e1000/e1000_param.c
347
e1000_validate_option(&fc, &opt, adapter);
drivers/net/ethernet/intel/e1000/e1000_param.c
348
adapter->hw.fc = adapter->hw.original_fc = fc;
drivers/net/ethernet/intel/e1000/e1000_param.c
350
adapter->hw.fc = adapter->hw.original_fc = opt.def;
drivers/net/ethernet/intel/e1000/e1000_param.c
364
adapter->tx_int_delay = TxIntDelay[bd];
drivers/net/ethernet/intel/e1000/e1000_param.c
365
e1000_validate_option(&adapter->tx_int_delay, &opt,
drivers/net/ethernet/intel/e1000/e1000_param.c
366
adapter);
drivers/net/ethernet/intel/e1000/e1000_param.c
368
adapter->tx_int_delay = opt.def;
drivers/net/ethernet/intel/e1000/e1000_param.c
382
adapter->tx_abs_int_delay = TxAbsIntDelay[bd];
drivers/net/ethernet/intel/e1000/e1000_param.c
383
e1000_validate_option(&adapter->tx_abs_int_delay, &opt,
drivers/net/ethernet/intel/e1000/e1000_param.c
384
adapter);
drivers/net/ethernet/intel/e1000/e1000_param.c
386
adapter->tx_abs_int_delay = opt.def;
drivers/net/ethernet/intel/e1000/e1000_param.c
400
adapter->rx_int_delay = RxIntDelay[bd];
drivers/net/ethernet/intel/e1000/e1000_param.c
401
e1000_validate_option(&adapter->rx_int_delay, &opt,
drivers/net/ethernet/intel/e1000/e1000_param.c
402
adapter);
drivers/net/ethernet/intel/e1000/e1000_param.c
404
adapter->rx_int_delay = opt.def;
drivers/net/ethernet/intel/e1000/e1000_param.c
418
adapter->rx_abs_int_delay = RxAbsIntDelay[bd];
drivers/net/ethernet/intel/e1000/e1000_param.c
419
e1000_validate_option(&adapter->rx_abs_int_delay, &opt,
drivers/net/ethernet/intel/e1000/e1000_param.c
420
adapter);
drivers/net/ethernet/intel/e1000/e1000_param.c
422
adapter->rx_abs_int_delay = opt.def;
drivers/net/ethernet/intel/e1000/e1000_param.c
436
adapter->itr = InterruptThrottleRate[bd];
drivers/net/ethernet/intel/e1000/e1000_param.c
437
switch (adapter->itr) {
drivers/net/ethernet/intel/e1000/e1000_param.c
444
adapter->itr_setting = adapter->itr;
drivers/net/ethernet/intel/e1000/e1000_param.c
445
adapter->itr = 20000;
drivers/net/ethernet/intel/e1000/e1000_param.c
450
adapter->itr_setting = adapter->itr;
drivers/net/ethernet/intel/e1000/e1000_param.c
451
adapter->itr = 20000;
drivers/net/ethernet/intel/e1000/e1000_param.c
456
adapter->itr_setting = adapter->itr;
drivers/net/ethernet/intel/e1000/e1000_param.c
459
e1000_validate_option(&adapter->itr, &opt,
drivers/net/ethernet/intel/e1000/e1000_param.c
460
adapter);
drivers/net/ethernet/intel/e1000/e1000_param.c
466
adapter->itr_setting = adapter->itr & ~3;
drivers/net/ethernet/intel/e1000/e1000_param.c
470
adapter->itr_setting = opt.def;
drivers/net/ethernet/intel/e1000/e1000_param.c
471
adapter->itr = 20000;
drivers/net/ethernet/intel/e1000/e1000_param.c
484
e1000_validate_option(&spd, &opt, adapter);
drivers/net/ethernet/intel/e1000/e1000_param.c
485
adapter->smart_power_down = spd;
drivers/net/ethernet/intel/e1000/e1000_param.c
487
adapter->smart_power_down = opt.def;
drivers/net/ethernet/intel/e1000/e1000_param.c
491
switch (adapter->hw.media_type) {
drivers/net/ethernet/intel/e1000/e1000_param.c
494
e1000_check_fiber_options(adapter);
drivers/net/ethernet/intel/e1000/e1000_param.c
497
e1000_check_copper_options(adapter);
drivers/net/ethernet/intel/e1000/e1000_param.c
510
static void e1000_check_fiber_options(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000/e1000_param.c
512
int bd = adapter->bd_number;
drivers/net/ethernet/intel/e1000/e1000_param.c
535
static void e1000_check_copper_options(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000/e1000_param.c
539
int bd = adapter->bd_number;
drivers/net/ethernet/intel/e1000/e1000_param.c
559
e1000_validate_option(&speed, &opt, adapter);
drivers/net/ethernet/intel/e1000/e1000_param.c
581
e1000_validate_option(&dplx, &opt, adapter);
drivers/net/ethernet/intel/e1000/e1000_param.c
590
adapter->hw.autoneg_advertised = AUTONEG_ADV_DEFAULT;
drivers/net/ethernet/intel/e1000/e1000_param.c
637
e1000_validate_option(&an, &opt, adapter);
drivers/net/ethernet/intel/e1000/e1000_param.c
641
adapter->hw.autoneg_advertised = an;
drivers/net/ethernet/intel/e1000/e1000_param.c
646
adapter->hw.autoneg = adapter->fc_autoneg = 1;
drivers/net/ethernet/intel/e1000/e1000_param.c
654
adapter->hw.autoneg = adapter->fc_autoneg = 1;
drivers/net/ethernet/intel/e1000/e1000_param.c
655
adapter->hw.autoneg_advertised = ADVERTISE_10_HALF |
drivers/net/ethernet/intel/e1000/e1000_param.c
661
adapter->hw.autoneg = adapter->fc_autoneg = 1;
drivers/net/ethernet/intel/e1000/e1000_param.c
662
adapter->hw.autoneg_advertised = ADVERTISE_10_FULL |
drivers/net/ethernet/intel/e1000/e1000_param.c
669
adapter->hw.autoneg = adapter->fc_autoneg = 1;
drivers/net/ethernet/intel/e1000/e1000_param.c
670
adapter->hw.autoneg_advertised = ADVERTISE_10_HALF |
drivers/net/ethernet/intel/e1000/e1000_param.c
675
adapter->hw.autoneg = adapter->fc_autoneg = 0;
drivers/net/ethernet/intel/e1000/e1000_param.c
676
adapter->hw.forced_speed_duplex = e1000_10_half;
drivers/net/ethernet/intel/e1000/e1000_param.c
677
adapter->hw.autoneg_advertised = 0;
drivers/net/ethernet/intel/e1000/e1000_param.c
681
adapter->hw.autoneg = adapter->fc_autoneg = 0;
drivers/net/ethernet/intel/e1000/e1000_param.c
682
adapter->hw.forced_speed_duplex = e1000_10_full;
drivers/net/ethernet/intel/e1000/e1000_param.c
683
adapter->hw.autoneg_advertised = 0;
drivers/net/ethernet/intel/e1000/e1000_param.c
688
adapter->hw.autoneg = adapter->fc_autoneg = 1;
drivers/net/ethernet/intel/e1000/e1000_param.c
689
adapter->hw.autoneg_advertised = ADVERTISE_100_HALF |
drivers/net/ethernet/intel/e1000/e1000_param.c
694
adapter->hw.autoneg = adapter->fc_autoneg = 0;
drivers/net/ethernet/intel/e1000/e1000_param.c
695
adapter->hw.forced_speed_duplex = e1000_100_half;
drivers/net/ethernet/intel/e1000/e1000_param.c
696
adapter->hw.autoneg_advertised = 0;
drivers/net/ethernet/intel/e1000/e1000_param.c
700
adapter->hw.autoneg = adapter->fc_autoneg = 0;
drivers/net/ethernet/intel/e1000/e1000_param.c
701
adapter->hw.forced_speed_duplex = e1000_100_full;
drivers/net/ethernet/intel/e1000/e1000_param.c
702
adapter->hw.autoneg_advertised = 0;
drivers/net/ethernet/intel/e1000/e1000_param.c
714
adapter->hw.autoneg = adapter->fc_autoneg = 1;
drivers/net/ethernet/intel/e1000/e1000_param.c
715
adapter->hw.autoneg_advertised = ADVERTISE_1000_FULL;
drivers/net/ethernet/intel/e1000/e1000_param.c
722
if (e1000_validate_mdi_setting(&(adapter->hw)) < 0) {
drivers/net/ethernet/intel/e1000e/80003es2lan.c
119
switch (hw->adapter->pdev->device) {
drivers/net/ethernet/intel/e1000e/80003es2lan.c
151
static s32 e1000_get_variants_80003es2lan(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000e/80003es2lan.c
153
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/82571.c
199
switch (hw->adapter->pdev->device) {
drivers/net/ethernet/intel/e1000e/82571.c
312
static s32 e1000_get_variants_82571(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000e/82571.c
314
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/82571.c
316
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/intel/e1000e/82571.c
338
adapter->flags |= FLAG_IS_QUAD_PORT;
drivers/net/ethernet/intel/e1000e/82571.c
341
adapter->flags |= FLAG_IS_QUAD_PORT_A;
drivers/net/ethernet/intel/e1000e/82571.c
351
switch (adapter->hw.mac.type) {
drivers/net/ethernet/intel/e1000e/82571.c
358
adapter->flags &= ~FLAG_HAS_WOL;
drivers/net/ethernet/intel/e1000e/82571.c
360
if (adapter->flags & FLAG_IS_QUAD_PORT &&
drivers/net/ethernet/intel/e1000e/82571.c
361
(!(adapter->flags & FLAG_IS_QUAD_PORT_A)))
drivers/net/ethernet/intel/e1000e/82571.c
362
adapter->flags &= ~FLAG_HAS_WOL;
drivers/net/ethernet/intel/e1000e/82571.c
365
adapter->flags &= ~FLAG_HAS_WOL;
drivers/net/ethernet/intel/e1000e/82571.c
369
adapter->flags |= FLAG_HAS_JUMBO_FRAMES;
drivers/net/ethernet/intel/e1000e/82571.c
370
adapter->max_hw_frame_size = DEFAULT_JUMBO;
drivers/net/ethernet/intel/e1000e/e1000.h
155
struct e1000_adapter *adapter; /* back pointer to adapter */
drivers/net/ethernet/intel/e1000e/e1000.h
31
netdev_dbg(hw->adapter->netdev, format, ## arg)
drivers/net/ethernet/intel/e1000e/e1000.h
33
netdev_err(adapter->netdev, format, ## arg)
drivers/net/ethernet/intel/e1000e/e1000.h
35
netdev_info(adapter->netdev, format, ## arg)
drivers/net/ethernet/intel/e1000e/e1000.h
351
s32 e1000e_get_base_timinca(struct e1000_adapter *adapter, u32 *timinca);
drivers/net/ethernet/intel/e1000e/e1000.h
37
netdev_warn(adapter->netdev, format, ## arg)
drivers/net/ethernet/intel/e1000e/e1000.h
39
netdev_notice(adapter->netdev, format, ## arg)
drivers/net/ethernet/intel/e1000e/e1000.h
491
void e1000e_check_options(struct e1000_adapter *adapter);
drivers/net/ethernet/intel/e1000e/e1000.h
496
void e1000e_up(struct e1000_adapter *adapter);
drivers/net/ethernet/intel/e1000e/e1000.h
497
void e1000e_down(struct e1000_adapter *adapter, bool reset);
drivers/net/ethernet/intel/e1000e/e1000.h
498
void e1000e_reinit_locked(struct e1000_adapter *adapter);
drivers/net/ethernet/intel/e1000e/e1000.h
499
void e1000e_reset(struct e1000_adapter *adapter);
drivers/net/ethernet/intel/e1000e/e1000.h
500
void e1000e_power_up_phy(struct e1000_adapter *adapter);
drivers/net/ethernet/intel/e1000e/e1000.h
507
void e1000e_set_interrupt_capability(struct e1000_adapter *adapter);
drivers/net/ethernet/intel/e1000e/e1000.h
508
void e1000e_reset_interrupt_capability(struct e1000_adapter *adapter);
drivers/net/ethernet/intel/e1000e/e1000.h
509
void e1000e_get_hw_control(struct e1000_adapter *adapter);
drivers/net/ethernet/intel/e1000e/e1000.h
510
void e1000e_release_hw_control(struct e1000_adapter *adapter);
drivers/net/ethernet/intel/e1000e/e1000.h
511
void e1000e_write_itr(struct e1000_adapter *adapter, u32 itr);
drivers/net/ethernet/intel/e1000e/e1000.h
534
void e1000e_ptp_init(struct e1000_adapter *adapter);
drivers/net/ethernet/intel/e1000e/e1000.h
535
void e1000e_ptp_remove(struct e1000_adapter *adapter);
drivers/net/ethernet/intel/e1000e/e1000.h
537
u64 e1000e_read_systim(struct e1000_adapter *adapter,
drivers/net/ethernet/intel/e1000e/ethtool.c
1023
if (adapter->flags & FLAG_IS_ICH) {
drivers/net/ethernet/intel/e1000e/ethtool.c
1028
if (adapter->hw.mac.type == e1000_ich8lan ||
drivers/net/ethernet/intel/e1000e/ethtool.c
1029
adapter->hw.mac.type == e1000_ich9lan)
drivers/net/ethernet/intel/e1000e/ethtool.c
1044
adapter->test_icr = 0;
drivers/net/ethernet/intel/e1000e/ethtool.c
1050
if (adapter->test_icr & mask) {
drivers/net/ethernet/intel/e1000e/ethtool.c
1062
adapter->test_icr = 0;
drivers/net/ethernet/intel/e1000e/ethtool.c
1068
if (!(adapter->test_icr & mask)) {
drivers/net/ethernet/intel/e1000e/ethtool.c
1080
adapter->test_icr = 0;
drivers/net/ethernet/intel/e1000e/ethtool.c
1086
if (adapter->test_icr) {
drivers/net/ethernet/intel/e1000e/ethtool.c
1103
e1000e_reset_interrupt_capability(adapter);
drivers/net/ethernet/intel/e1000e/ethtool.c
1104
adapter->int_mode = int_mode;
drivers/net/ethernet/intel/e1000e/ethtool.c
1105
e1000e_set_interrupt_capability(adapter);
drivers/net/ethernet/intel/e1000e/ethtool.c
1111
static void e1000_free_desc_rings(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000e/ethtool.c
1113
struct e1000_ring *tx_ring = &adapter->test_tx_ring;
drivers/net/ethernet/intel/e1000e/ethtool.c
1114
struct e1000_ring *rx_ring = &adapter->test_rx_ring;
drivers/net/ethernet/intel/e1000e/ethtool.c
1115
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/intel/e1000e/ethtool.c
116
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000e/ethtool.c
1161
static int e1000_setup_desc_rings(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000e/ethtool.c
1163
struct e1000_ring *tx_ring = &adapter->test_tx_ring;
drivers/net/ethernet/intel/e1000e/ethtool.c
1164
struct e1000_ring *rx_ring = &adapter->test_rx_ring;
drivers/net/ethernet/intel/e1000e/ethtool.c
1165
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/intel/e1000e/ethtool.c
1166
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/ethtool.c
117
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/ethtool.c
1253
if (!(adapter->flags2 & FLAG2_NO_DISABLE_RX))
drivers/net/ethernet/intel/e1000e/ethtool.c
1264
(adapter->hw.mac.mc_filter_type << E1000_RCTL_MO_SHIFT);
drivers/net/ethernet/intel/e1000e/ethtool.c
1295
e1000_free_desc_rings(adapter);
drivers/net/ethernet/intel/e1000e/ethtool.c
1299
static void e1000_phy_disable_receiver(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000e/ethtool.c
1302
e1e_wphy(&adapter->hw, 29, 0x001F);
drivers/net/ethernet/intel/e1000e/ethtool.c
1303
e1e_wphy(&adapter->hw, 30, 0x8FFC);
drivers/net/ethernet/intel/e1000e/ethtool.c
1304
e1e_wphy(&adapter->hw, 29, 0x001A);
drivers/net/ethernet/intel/e1000e/ethtool.c
1305
e1e_wphy(&adapter->hw, 30, 0x8FF0);
drivers/net/ethernet/intel/e1000e/ethtool.c
1308
static int e1000_integrated_phy_loopback(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000e/ethtool.c
1310
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/ethtool.c
1408
if (adapter->flags & FLAG_IS_ICH)
drivers/net/ethernet/intel/e1000e/ethtool.c
1428
e1000_phy_disable_receiver(adapter);
drivers/net/ethernet/intel/e1000e/ethtool.c
1435
static int e1000_set_82571_fiber_loopback(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000e/ethtool.c
1437
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/ethtool.c
1474
static int e1000_set_es2lan_mac_loopback(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000e/ethtool.c
1476
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/ethtool.c
1483
adapter->tx_fifo_head = ctrlext;
drivers/net/ethernet/intel/e1000e/ethtool.c
1509
static int e1000_setup_loopback_test(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000e/ethtool.c
1511
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/ethtool.c
1529
return e1000_set_es2lan_mac_loopback(adapter);
drivers/net/ethernet/intel/e1000e/ethtool.c
1532
return e1000_set_82571_fiber_loopback(adapter);
drivers/net/ethernet/intel/e1000e/ethtool.c
1540
return e1000_integrated_phy_loopback(adapter);
drivers/net/ethernet/intel/e1000e/ethtool.c
1546
static void e1000_loopback_cleanup(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000e/ethtool.c
1548
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/ethtool.c
1578
ew32(CTRL_EXT, adapter->tx_fifo_head);
drivers/net/ethernet/intel/e1000e/ethtool.c
1579
adapter->tx_fifo_head = 0;
drivers/net/ethernet/intel/e1000e/ethtool.c
158
speed = adapter->link_speed;
drivers/net/ethernet/intel/e1000e/ethtool.c
159
cmd->base.duplex = adapter->link_duplex - 1;
drivers/net/ethernet/intel/e1000e/ethtool.c
1628
static int e1000_run_loopback_test(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000e/ethtool.c
1630
struct e1000_ring *tx_ring = &adapter->test_tx_ring;
drivers/net/ethernet/intel/e1000e/ethtool.c
1631
struct e1000_ring *rx_ring = &adapter->test_rx_ring;
drivers/net/ethernet/intel/e1000e/ethtool.c
1632
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/intel/e1000e/ethtool.c
1633
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/ethtool.c
1707
static int e1000_loopback_test(struct e1000_adapter *adapter, u64 *data)
drivers/net/ethernet/intel/e1000e/ethtool.c
1709
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/ethtool.c
1719
*data = e1000_setup_desc_rings(adapter);
drivers/net/ethernet/intel/e1000e/ethtool.c
1723
*data = e1000_setup_loopback_test(adapter);
drivers/net/ethernet/intel/e1000e/ethtool.c
1727
*data = e1000_run_loopback_test(adapter);
drivers/net/ethernet/intel/e1000e/ethtool.c
1728
e1000_loopback_cleanup(adapter);
drivers/net/ethernet/intel/e1000e/ethtool.c
1731
e1000_free_desc_rings(adapter);
drivers/net/ethernet/intel/e1000e/ethtool.c
1736
static int e1000_link_test(struct e1000_adapter *adapter, u64 *data)
drivers/net/ethernet/intel/e1000e/ethtool.c
1738
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/ethtool.c
1789
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000e/ethtool.c
1795
set_bit(__E1000_TESTING, &adapter->state);
drivers/net/ethernet/intel/e1000e/ethtool.c
1799
if (adapter->flags & FLAG_HAS_AMT)
drivers/net/ethernet/intel/e1000e/ethtool.c
1800
e1000e_get_hw_control(adapter);
drivers/net/ethernet/intel/e1000e/ethtool.c
1802
e1000e_power_up_phy(adapter);
drivers/net/ethernet/intel/e1000e/ethtool.c
1804
adapter->hw.phy.autoneg_wait_to_complete = 1;
drivers/net/ethernet/intel/e1000e/ethtool.c
1805
e1000e_reset(adapter);
drivers/net/ethernet/intel/e1000e/ethtool.c
1806
adapter->hw.phy.autoneg_wait_to_complete = 0;
drivers/net/ethernet/intel/e1000e/ethtool.c
1813
autoneg_advertised = adapter->hw.phy.autoneg_advertised;
drivers/net/ethernet/intel/e1000e/ethtool.c
1814
forced_speed_duplex = adapter->hw.mac.forced_speed_duplex;
drivers/net/ethernet/intel/e1000e/ethtool.c
1815
autoneg = adapter->hw.mac.autoneg;
drivers/net/ethernet/intel/e1000e/ethtool.c
1823
if (e1000_reg_test(adapter, &data[0]))
drivers/net/ethernet/intel/e1000e/ethtool.c
1826
e1000e_reset(adapter);
drivers/net/ethernet/intel/e1000e/ethtool.c
1827
if (e1000_eeprom_test(adapter, &data[1]))
drivers/net/ethernet/intel/e1000e/ethtool.c
1830
e1000e_reset(adapter);
drivers/net/ethernet/intel/e1000e/ethtool.c
1831
if (e1000_intr_test(adapter, &data[2]))
drivers/net/ethernet/intel/e1000e/ethtool.c
1834
e1000e_reset(adapter);
drivers/net/ethernet/intel/e1000e/ethtool.c
1835
if (e1000_loopback_test(adapter, &data[3]))
drivers/net/ethernet/intel/e1000e/ethtool.c
1839
adapter->hw.phy.autoneg_wait_to_complete = 1;
drivers/net/ethernet/intel/e1000e/ethtool.c
1840
e1000e_reset(adapter);
drivers/net/ethernet/intel/e1000e/ethtool.c
1841
adapter->hw.phy.autoneg_wait_to_complete = 0;
drivers/net/ethernet/intel/e1000e/ethtool.c
1843
if (e1000_link_test(adapter, &data[4]))
drivers/net/ethernet/intel/e1000e/ethtool.c
1847
adapter->hw.phy.autoneg_advertised = autoneg_advertised;
drivers/net/ethernet/intel/e1000e/ethtool.c
1848
adapter->hw.mac.forced_speed_duplex = forced_speed_duplex;
drivers/net/ethernet/intel/e1000e/ethtool.c
1849
adapter->hw.mac.autoneg = autoneg;
drivers/net/ethernet/intel/e1000e/ethtool.c
1850
e1000e_reset(adapter);
drivers/net/ethernet/intel/e1000e/ethtool.c
1852
clear_bit(__E1000_TESTING, &adapter->state);
drivers/net/ethernet/intel/e1000e/ethtool.c
1866
if (e1000_link_test(adapter, &data[4]))
drivers/net/ethernet/intel/e1000e/ethtool.c
1869
clear_bit(__E1000_TESTING, &adapter->state);
drivers/net/ethernet/intel/e1000e/ethtool.c
1873
e1000e_reset(adapter);
drivers/net/ethernet/intel/e1000e/ethtool.c
1875
if (adapter->flags & FLAG_HAS_AMT)
drivers/net/ethernet/intel/e1000e/ethtool.c
1876
e1000e_release_hw_control(adapter);
drivers/net/ethernet/intel/e1000e/ethtool.c
1885
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000e/ethtool.c
1890
if (!(adapter->flags & FLAG_HAS_WOL) ||
drivers/net/ethernet/intel/e1000e/ethtool.c
1891
!device_can_wakeup(&adapter->pdev->dev))
drivers/net/ethernet/intel/e1000e/ethtool.c
1898
if (adapter->flags & FLAG_NO_WAKE_UCAST) {
drivers/net/ethernet/intel/e1000e/ethtool.c
1901
if (adapter->wol & E1000_WUFC_EX)
drivers/net/ethernet/intel/e1000e/ethtool.c
1905
if (adapter->wol & E1000_WUFC_EX)
drivers/net/ethernet/intel/e1000e/ethtool.c
1907
if (adapter->wol & E1000_WUFC_MC)
drivers/net/ethernet/intel/e1000e/ethtool.c
1909
if (adapter->wol & E1000_WUFC_BC)
drivers/net/ethernet/intel/e1000e/ethtool.c
1911
if (adapter->wol & E1000_WUFC_MAG)
drivers/net/ethernet/intel/e1000e/ethtool.c
1913
if (adapter->wol & E1000_WUFC_LNKC)
drivers/net/ethernet/intel/e1000e/ethtool.c
1919
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000e/ethtool.c
1921
if (!(adapter->flags & FLAG_HAS_WOL) ||
drivers/net/ethernet/intel/e1000e/ethtool.c
1922
!device_can_wakeup(&adapter->pdev->dev) ||
drivers/net/ethernet/intel/e1000e/ethtool.c
1928
adapter->wol = 0;
drivers/net/ethernet/intel/e1000e/ethtool.c
1931
adapter->wol |= E1000_WUFC_EX;
drivers/net/ethernet/intel/e1000e/ethtool.c
1933
adapter->wol |= E1000_WUFC_MC;
drivers/net/ethernet/intel/e1000e/ethtool.c
1935
adapter->wol |= E1000_WUFC_BC;
drivers/net/ethernet/intel/e1000e/ethtool.c
1937
adapter->wol |= E1000_WUFC_MAG;
drivers/net/ethernet/intel/e1000e/ethtool.c
1939
adapter->wol |= E1000_WUFC_LNKC;
drivers/net/ethernet/intel/e1000e/ethtool.c
1941
device_set_wakeup_enable(&adapter->pdev->dev, adapter->wol);
drivers/net/ethernet/intel/e1000e/ethtool.c
1949
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000e/ethtool.c
1950
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/ethtool.c
1987
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000e/ethtool.c
1989
if (adapter->itr_setting <= 4)
drivers/net/ethernet/intel/e1000e/ethtool.c
199
lpa_t = mii_stat1000_to_ethtool_lpa_t(adapter->phy_regs.stat1000);
drivers/net/ethernet/intel/e1000e/ethtool.c
1990
ec->rx_coalesce_usecs = adapter->itr_setting;
drivers/net/ethernet/intel/e1000e/ethtool.c
1992
ec->rx_coalesce_usecs = 1000000 / adapter->itr_setting;
drivers/net/ethernet/intel/e1000e/ethtool.c
2002
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000e/ethtool.c
201
mii_lpa_to_ethtool_lpa_t(adapter->phy_regs.lpa);
drivers/net/ethernet/intel/e1000e/ethtool.c
2011
adapter->itr_setting = 4;
drivers/net/ethernet/intel/e1000e/ethtool.c
2012
adapter->itr = adapter->itr_setting;
drivers/net/ethernet/intel/e1000e/ethtool.c
2014
adapter->itr = 20000;
drivers/net/ethernet/intel/e1000e/ethtool.c
2015
adapter->itr_setting = ec->rx_coalesce_usecs;
drivers/net/ethernet/intel/e1000e/ethtool.c
2017
adapter->itr = (1000000 / ec->rx_coalesce_usecs);
drivers/net/ethernet/intel/e1000e/ethtool.c
2018
adapter->itr_setting = adapter->itr & ~3;
drivers/net/ethernet/intel/e1000e/ethtool.c
2021
if (adapter->itr_setting != 0)
drivers/net/ethernet/intel/e1000e/ethtool.c
2022
e1000e_write_itr(adapter, adapter->itr);
drivers/net/ethernet/intel/e1000e/ethtool.c
2024
e1000e_write_itr(adapter, 0);
drivers/net/ethernet/intel/e1000e/ethtool.c
2031
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000e/ethtool.c
2036
if (!adapter->hw.mac.autoneg)
drivers/net/ethernet/intel/e1000e/ethtool.c
2039
e1000e_reinit_locked(adapter);
drivers/net/ethernet/intel/e1000e/ethtool.c
2048
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000e/ethtool.c
2062
p = (char *)adapter +
drivers/net/ethernet/intel/e1000e/ethtool.c
2102
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000e/ethtool.c
2103
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/ethtool.c
213
static int e1000_set_spd_dplx(struct e1000_adapter *adapter, u32 spd, u8 dplx)
drivers/net/ethernet/intel/e1000e/ethtool.c
2144
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000e/ethtool.c
2145
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/ethtool.c
2149
if (!(adapter->flags2 & FLAG2_HAS_EEE))
drivers/net/ethernet/intel/e1000e/ethtool.c
215
struct e1000_mac_info *mac = &adapter->hw.mac;
drivers/net/ethernet/intel/e1000e/ethtool.c
2178
mii_eee_cap1_mod_linkmode_t(edata->advertised, adapter->eee_advert);
drivers/net/ethernet/intel/e1000e/ethtool.c
2214
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000e/ethtool.c
2217
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/ethtool.c
2245
adapter->eee_advert = linkmode_to_mii_eee_cap1_t(edata->advertised);
drivers/net/ethernet/intel/e1000e/ethtool.c
2251
e1000e_reinit_locked(adapter);
drivers/net/ethernet/intel/e1000e/ethtool.c
2253
e1000e_reset(adapter);
drivers/net/ethernet/intel/e1000e/ethtool.c
226
if ((adapter->hw.phy.media_type == e1000_media_type_fiber) &&
drivers/net/ethernet/intel/e1000e/ethtool.c
2261
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000e/ethtool.c
2265
if (!(adapter->flags & FLAG_HAS_HW_TIMESTAMP))
drivers/net/ethernet/intel/e1000e/ethtool.c
2286
if (adapter->ptp_clock)
drivers/net/ethernet/intel/e1000e/ethtool.c
2287
info->phc_index = ptp_clock_index(adapter->ptp_clock);
drivers/net/ethernet/intel/e1000e/ethtool.c
2294
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000e/ethtool.c
2297
if (adapter->flags2 & FLAG2_ENABLE_S0IX_FLOWS)
drivers/net/ethernet/intel/e1000e/ethtool.c
2300
if (adapter->flags2 & FLAG2_DISABLE_K1)
drivers/net/ethernet/intel/e1000e/ethtool.c
2308
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000e/ethtool.c
2309
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/ethtool.c
2310
unsigned int flags2 = adapter->flags2;
drivers/net/ethernet/intel/e1000e/ethtool.c
2333
changed = adapter->flags2 ^ flags2;
drivers/net/ethernet/intel/e1000e/ethtool.c
2335
adapter->flags2 = flags2;
drivers/net/ethernet/intel/e1000e/ethtool.c
2340
&adapter->state))
drivers/net/ethernet/intel/e1000e/ethtool.c
2343
if (netif_running(adapter->netdev)) {
drivers/net/ethernet/intel/e1000e/ethtool.c
2344
e1000e_down(adapter, true);
drivers/net/ethernet/intel/e1000e/ethtool.c
2345
e1000e_up(adapter);
drivers/net/ethernet/intel/e1000e/ethtool.c
2347
e1000e_reset(adapter);
drivers/net/ethernet/intel/e1000e/ethtool.c
2350
clear_bit(__E1000_RESETTING, &adapter->state);
drivers/net/ethernet/intel/e1000e/ethtool.c
245
if (adapter->hw.phy.media_type == e1000_media_type_copper) {
drivers/net/ethernet/intel/e1000e/ethtool.c
247
adapter->hw.phy.autoneg_advertised =
drivers/net/ethernet/intel/e1000e/ethtool.c
259
adapter->hw.phy.mdix = AUTO_ALL_MODES;
drivers/net/ethernet/intel/e1000e/ethtool.c
271
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000e/ethtool.c
272
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/ethtool.c
303
while (test_and_set_bit(__E1000_RESETTING, &adapter->state))
drivers/net/ethernet/intel/e1000e/ethtool.c
315
if (adapter->fc_autoneg)
drivers/net/ethernet/intel/e1000e/ethtool.c
320
if (e1000_set_spd_dplx(adapter, speed, cmd->base.duplex)) {
drivers/net/ethernet/intel/e1000e/ethtool.c
338
if (netif_running(adapter->netdev)) {
drivers/net/ethernet/intel/e1000e/ethtool.c
339
e1000e_down(adapter, true);
drivers/net/ethernet/intel/e1000e/ethtool.c
340
e1000e_up(adapter);
drivers/net/ethernet/intel/e1000e/ethtool.c
342
e1000e_reset(adapter);
drivers/net/ethernet/intel/e1000e/ethtool.c
346
clear_bit(__E1000_RESETTING, &adapter->state);
drivers/net/ethernet/intel/e1000e/ethtool.c
353
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000e/ethtool.c
354
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/ethtool.c
357
(adapter->fc_autoneg ? AUTONEG_ENABLE : AUTONEG_DISABLE);
drivers/net/ethernet/intel/e1000e/ethtool.c
372
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000e/ethtool.c
373
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/ethtool.c
376
adapter->fc_autoneg = pause->autoneg;
drivers/net/ethernet/intel/e1000e/ethtool.c
378
while (test_and_set_bit(__E1000_RESETTING, &adapter->state))
drivers/net/ethernet/intel/e1000e/ethtool.c
381
if (adapter->fc_autoneg == AUTONEG_ENABLE) {
drivers/net/ethernet/intel/e1000e/ethtool.c
383
if (netif_running(adapter->netdev)) {
drivers/net/ethernet/intel/e1000e/ethtool.c
384
e1000e_down(adapter, true);
drivers/net/ethernet/intel/e1000e/ethtool.c
385
e1000e_up(adapter);
drivers/net/ethernet/intel/e1000e/ethtool.c
387
e1000e_reset(adapter);
drivers/net/ethernet/intel/e1000e/ethtool.c
413
clear_bit(__E1000_RESETTING, &adapter->state);
drivers/net/ethernet/intel/e1000e/ethtool.c
419
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000e/ethtool.c
420
return adapter->msg_enable;
drivers/net/ethernet/intel/e1000e/ethtool.c
425
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000e/ethtool.c
426
adapter->msg_enable = data;
drivers/net/ethernet/intel/e1000e/ethtool.c
438
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000e/ethtool.c
439
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/ethtool.c
446
(adapter->pdev->revision << 16) |
drivers/net/ethernet/intel/e1000e/ethtool.c
447
adapter->pdev->device;
drivers/net/ethernet/intel/e1000e/ethtool.c
464
regs_buff[12] = adapter->hw.phy.type; /* PHY type (IGP=1, M88=0) */
drivers/net/ethernet/intel/e1000e/ethtool.c
481
regs_buff[22] = adapter->phy_stats.receive_errors;
drivers/net/ethernet/intel/e1000e/ethtool.c
492
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000e/ethtool.c
493
return adapter->hw.nvm.word_size * 2;
drivers/net/ethernet/intel/e1000e/ethtool.c
499
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000e/ethtool.c
500
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/ethtool.c
510
eeprom->magic = adapter->pdev->vendor | (adapter->pdev->device << 16);
drivers/net/ethernet/intel/e1000e/ethtool.c
552
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000e/ethtool.c
553
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/ethtool.c
566
(adapter->pdev->vendor | (adapter->pdev->device << 16)))
drivers/net/ethernet/intel/e1000e/ethtool.c
569
if (adapter->flags & FLAG_READ_ONLY_NVM)
drivers/net/ethernet/intel/e1000e/ethtool.c
629
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000e/ethtool.c
638
FIELD_GET(0xF000, adapter->eeprom_vers),
drivers/net/ethernet/intel/e1000e/ethtool.c
639
FIELD_GET(0x0FF0, adapter->eeprom_vers),
drivers/net/ethernet/intel/e1000e/ethtool.c
640
(adapter->eeprom_vers & 0x000F));
drivers/net/ethernet/intel/e1000e/ethtool.c
642
strscpy(drvinfo->bus_info, pci_name(adapter->pdev),
drivers/net/ethernet/intel/e1000e/ethtool.c
651
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000e/ethtool.c
655
ring->rx_pending = adapter->rx_ring_count;
drivers/net/ethernet/intel/e1000e/ethtool.c
656
ring->tx_pending = adapter->tx_ring_count;
drivers/net/ethernet/intel/e1000e/ethtool.c
664
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000e/ethtool.c
681
if ((new_tx_count == adapter->tx_ring_count) &&
drivers/net/ethernet/intel/e1000e/ethtool.c
682
(new_rx_count == adapter->rx_ring_count))
drivers/net/ethernet/intel/e1000e/ethtool.c
686
while (test_and_set_bit(__E1000_RESETTING, &adapter->state))
drivers/net/ethernet/intel/e1000e/ethtool.c
689
if (!netif_running(adapter->netdev)) {
drivers/net/ethernet/intel/e1000e/ethtool.c
691
adapter->tx_ring->count = new_tx_count;
drivers/net/ethernet/intel/e1000e/ethtool.c
692
adapter->rx_ring->count = new_rx_count;
drivers/net/ethernet/intel/e1000e/ethtool.c
693
adapter->tx_ring_count = new_tx_count;
drivers/net/ethernet/intel/e1000e/ethtool.c
694
adapter->rx_ring_count = new_rx_count;
drivers/net/ethernet/intel/e1000e/ethtool.c
698
set_tx = (new_tx_count != adapter->tx_ring_count);
drivers/net/ethernet/intel/e1000e/ethtool.c
699
set_rx = (new_rx_count != adapter->rx_ring_count);
drivers/net/ethernet/intel/e1000e/ethtool.c
717
e1000e_down(adapter, true);
drivers/net/ethernet/intel/e1000e/ethtool.c
724
memcpy(temp_tx, adapter->tx_ring, size);
drivers/net/ethernet/intel/e1000e/ethtool.c
731
memcpy(temp_rx, adapter->rx_ring, size);
drivers/net/ethernet/intel/e1000e/ethtool.c
740
e1000e_free_tx_resources(adapter->tx_ring);
drivers/net/ethernet/intel/e1000e/ethtool.c
741
memcpy(adapter->tx_ring, temp_tx, size);
drivers/net/ethernet/intel/e1000e/ethtool.c
742
adapter->tx_ring_count = new_tx_count;
drivers/net/ethernet/intel/e1000e/ethtool.c
745
e1000e_free_rx_resources(adapter->rx_ring);
drivers/net/ethernet/intel/e1000e/ethtool.c
746
memcpy(adapter->rx_ring, temp_rx, size);
drivers/net/ethernet/intel/e1000e/ethtool.c
747
adapter->rx_ring_count = new_rx_count;
drivers/net/ethernet/intel/e1000e/ethtool.c
754
e1000e_up(adapter);
drivers/net/ethernet/intel/e1000e/ethtool.c
759
clear_bit(__E1000_RESETTING, &adapter->state);
drivers/net/ethernet/intel/e1000e/ethtool.c
763
static bool reg_pattern_test(struct e1000_adapter *adapter, u64 *data,
drivers/net/ethernet/intel/e1000e/ethtool.c
771
E1000_WRITE_REG_ARRAY(&adapter->hw, reg, offset,
drivers/net/ethernet/intel/e1000e/ethtool.c
773
val = E1000_READ_REG_ARRAY(&adapter->hw, reg, offset);
drivers/net/ethernet/intel/e1000e/ethtool.c
785
static bool reg_set_and_check(struct e1000_adapter *adapter, u64 *data,
drivers/net/ethernet/intel/e1000e/ethtool.c
790
__ew32(&adapter->hw, reg, write & mask);
drivers/net/ethernet/intel/e1000e/ethtool.c
791
val = __er32(&adapter->hw, reg);
drivers/net/ethernet/intel/e1000e/ethtool.c
803
if (reg_pattern_test(adapter, data, reg, offset, mask, write)) \
drivers/net/ethernet/intel/e1000e/ethtool.c
811
if (reg_set_and_check(adapter, data, reg, mask, write)) \
drivers/net/ethernet/intel/e1000e/ethtool.c
815
static int e1000_reg_test(struct e1000_adapter *adapter, u64 *data)
drivers/net/ethernet/intel/e1000e/ethtool.c
817
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/ethtool.c
818
struct e1000_mac_info *mac = &adapter->hw.mac;
drivers/net/ethernet/intel/e1000e/ethtool.c
855
if (!(adapter->flags & FLAG_IS_ICH)) {
drivers/net/ethernet/intel/e1000e/ethtool.c
875
before = ((adapter->flags & FLAG_IS_ICH) ? 0x06C3B33E : 0x06DFB3FE);
drivers/net/ethernet/intel/e1000e/ethtool.c
881
if (!(adapter->flags & FLAG_IS_ICH))
drivers/net/ethernet/intel/e1000e/ethtool.c
947
static int e1000_eeprom_test(struct e1000_adapter *adapter, u64 *data)
drivers/net/ethernet/intel/e1000e/ethtool.c
956
if ((e1000_read_nvm(&adapter->hw, i, 1, &temp)) < 0) {
drivers/net/ethernet/intel/e1000e/ethtool.c
973
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000e/ethtool.c
974
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/ethtool.c
976
adapter->test_icr |= er32(ICR);
drivers/net/ethernet/intel/e1000e/ethtool.c
981
static int e1000_intr_test(struct e1000_adapter *adapter, u64 *data)
drivers/net/ethernet/intel/e1000e/ethtool.c
983
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/e1000e/ethtool.c
984
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/ethtool.c
987
u32 irq = adapter->pdev->irq;
drivers/net/ethernet/intel/e1000e/ethtool.c
995
if (adapter->int_mode == E1000E_INT_MODE_MSIX) {
drivers/net/ethernet/intel/e1000e/ethtool.c
996
int_mode = adapter->int_mode;
drivers/net/ethernet/intel/e1000e/ethtool.c
997
e1000e_reset_interrupt_capability(adapter);
drivers/net/ethernet/intel/e1000e/ethtool.c
998
adapter->int_mode = E1000E_INT_MODE_LEGACY;
drivers/net/ethernet/intel/e1000e/ethtool.c
999
e1000e_set_interrupt_capability(adapter);
drivers/net/ethernet/intel/e1000e/hw.h
715
struct e1000_adapter *adapter;
drivers/net/ethernet/intel/e1000e/ich8lan.c
1113
if (!hw->adapter->max_frame_size) {
drivers/net/ethernet/intel/e1000e/ich8lan.c
1136
value = (rxa > hw->adapter->max_frame_size) ?
drivers/net/ethernet/intel/e1000e/ich8lan.c
1137
(rxa - hw->adapter->max_frame_size) * (16000 / speed) :
drivers/net/ethernet/intel/e1000e/ich8lan.c
1151
pci_read_config_word(hw->adapter->pdev, E1000_PCI_LTR_CAP_LPT,
drivers/net/ethernet/intel/e1000e/ich8lan.c
1153
pci_read_config_word(hw->adapter->pdev,
drivers/net/ethernet/intel/e1000e/ich8lan.c
1234
(hw->adapter->pdev->device == E1000_DEV_ID_PCH_LPT_I217_LM) ||
drivers/net/ethernet/intel/e1000e/ich8lan.c
1235
(hw->adapter->pdev->device == E1000_DEV_ID_PCH_LPT_I217_V) ||
drivers/net/ethernet/intel/e1000e/ich8lan.c
1236
(hw->adapter->pdev->device == E1000_DEV_ID_PCH_I218_LM2) ||
drivers/net/ethernet/intel/e1000e/ich8lan.c
1237
(hw->adapter->pdev->device == E1000_DEV_ID_PCH_I218_V2) ||
drivers/net/ethernet/intel/e1000e/ich8lan.c
1372
(hw->adapter->pdev->device == E1000_DEV_ID_PCH_LPT_I217_LM) ||
drivers/net/ethernet/intel/e1000e/ich8lan.c
1373
(hw->adapter->pdev->device == E1000_DEV_ID_PCH_LPT_I217_V) ||
drivers/net/ethernet/intel/e1000e/ich8lan.c
1374
(hw->adapter->pdev->device == E1000_DEV_ID_PCH_I218_LM2) ||
drivers/net/ethernet/intel/e1000e/ich8lan.c
1375
(hw->adapter->pdev->device == E1000_DEV_ID_PCH_I218_V2) ||
drivers/net/ethernet/intel/e1000e/ich8lan.c
1380
struct e1000_adapter *adapter = hw->adapter;
drivers/net/ethernet/intel/e1000e/ich8lan.c
1676
if ((hw->adapter->pdev->device == E1000_DEV_ID_PCH_LPTLP_I218_LM) ||
drivers/net/ethernet/intel/e1000e/ich8lan.c
1677
(hw->adapter->pdev->device == E1000_DEV_ID_PCH_LPTLP_I218_V) ||
drivers/net/ethernet/intel/e1000e/ich8lan.c
1678
(hw->adapter->pdev->device == E1000_DEV_ID_PCH_I218_LM3) ||
drivers/net/ethernet/intel/e1000e/ich8lan.c
1679
(hw->adapter->pdev->device == E1000_DEV_ID_PCH_I218_V3)) {
drivers/net/ethernet/intel/e1000e/ich8lan.c
1785
static s32 e1000_get_variants_ich8lan(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000e/ich8lan.c
1787
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/ich8lan.c
1826
if ((adapter->hw.phy.type == e1000_phy_ife) ||
drivers/net/ethernet/intel/e1000e/ich8lan.c
1827
((adapter->hw.mac.type >= e1000_pch2lan) &&
drivers/net/ethernet/intel/e1000e/ich8lan.c
1829
adapter->flags &= ~FLAG_HAS_JUMBO_FRAMES;
drivers/net/ethernet/intel/e1000e/ich8lan.c
1830
adapter->max_hw_frame_size = VLAN_ETH_FRAME_LEN + ETH_FCS_LEN;
drivers/net/ethernet/intel/e1000e/ich8lan.c
1835
if ((adapter->hw.mac.type == e1000_ich8lan) &&
drivers/net/ethernet/intel/e1000e/ich8lan.c
1836
(adapter->hw.phy.type != e1000_phy_ife))
drivers/net/ethernet/intel/e1000e/ich8lan.c
1837
adapter->flags |= FLAG_LSC_GIG_SPEED_DROP;
drivers/net/ethernet/intel/e1000e/ich8lan.c
1840
if ((adapter->hw.mac.type == e1000_pch2lan) &&
drivers/net/ethernet/intel/e1000e/ich8lan.c
1842
adapter->flags2 |= FLAG2_PCIM2PCI_ARBITER_WA;
drivers/net/ethernet/intel/e1000e/ich8lan.c
1886
&hw->adapter->state)) {
drivers/net/ethernet/intel/e1000e/ich8lan.c
1931
clear_bit(__E1000_ACCESS_SHARED_RESOURCE, &hw->adapter->state);
drivers/net/ethernet/intel/e1000e/ich8lan.c
1956
clear_bit(__E1000_ACCESS_SHARED_RESOURCE, &hw->adapter->state);
drivers/net/ethernet/intel/e1000e/ich8lan.c
2255
if ((hw->adapter->pdev->device == E1000_DEV_ID_ICH8_IGP_AMT) ||
drivers/net/ethernet/intel/e1000e/ich8lan.c
2256
(hw->adapter->pdev->device == E1000_DEV_ID_ICH8_IGP_C)) {
drivers/net/ethernet/intel/e1000e/ich8lan.c
305
if (hw->adapter->flags2 & FLAG2_DISABLE_K1)
drivers/net/ethernet/intel/e1000e/ich8lan.c
318
if (hw->adapter->flags2 & FLAG2_DISABLE_K1)
drivers/net/ethernet/intel/e1000e/ich8lan.c
343
struct e1000_adapter *adapter = hw->adapter;
drivers/net/ethernet/intel/e1000e/ich8lan.c
4909
clear_bit(__E1000_ACCESS_SHARED_RESOURCE, &hw->adapter->state);
drivers/net/ethernet/intel/e1000e/ich8lan.c
5518
u16 phy_reg, device_id = hw->adapter->pdev->device;
drivers/net/ethernet/intel/e1000e/mac.c
18
struct pci_dev *pdev = hw->adapter->pdev;
drivers/net/ethernet/intel/e1000e/netdev.c
1011
napi_alloc_skb(&adapter->napi, length);
drivers/net/ethernet/intel/e1000e/netdev.c
1029
e1000_rx_checksum(adapter, staterr, skb);
drivers/net/ethernet/intel/e1000e/netdev.c
1033
e1000_receive_skb(adapter, netdev, skb, staterr,
drivers/net/ethernet/intel/e1000e/netdev.c
1041
adapter->alloc_rx_buf(rx_ring, cleaned_count,
drivers/net/ethernet/intel/e1000e/netdev.c
1056
adapter->alloc_rx_buf(rx_ring, cleaned_count, GFP_ATOMIC);
drivers/net/ethernet/intel/e1000e/netdev.c
1058
adapter->total_rx_bytes += total_rx_bytes;
drivers/net/ethernet/intel/e1000e/netdev.c
1059
adapter->total_rx_packets += total_rx_packets;
drivers/net/ethernet/intel/e1000e/netdev.c
1067
struct e1000_adapter *adapter = tx_ring->adapter;
drivers/net/ethernet/intel/e1000e/netdev.c
1071
dma_unmap_page(&adapter->pdev->dev, buffer_info->dma,
drivers/net/ethernet/intel/e1000e/netdev.c
1074
dma_unmap_single(&adapter->pdev->dev, buffer_info->dma,
drivers/net/ethernet/intel/e1000e/netdev.c
1090
struct e1000_adapter *adapter = container_of(work,
drivers/net/ethernet/intel/e1000e/netdev.c
1093
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/e1000e/netdev.c
1094
struct e1000_ring *tx_ring = adapter->tx_ring;
drivers/net/ethernet/intel/e1000e/netdev.c
1098
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/netdev.c
1102
if (test_bit(__E1000_DOWN, &adapter->state))
drivers/net/ethernet/intel/e1000e/netdev.c
1105
if (!adapter->tx_hang_recheck && (adapter->flags2 & FLAG2_DMA_BURST)) {
drivers/net/ethernet/intel/e1000e/netdev.c
1109
ew32(TIDV, adapter->tx_int_delay | E1000_TIDV_FPD);
drivers/net/ethernet/intel/e1000e/netdev.c
1115
ew32(TIDV, adapter->tx_int_delay | E1000_TIDV_FPD);
drivers/net/ethernet/intel/e1000e/netdev.c
1118
adapter->tx_hang_recheck = true;
drivers/net/ethernet/intel/e1000e/netdev.c
1121
adapter->tx_hang_recheck = false;
drivers/net/ethernet/intel/e1000e/netdev.c
1135
pci_read_config_word(adapter->pdev, PCI_STATUS, &pci_status);
drivers/net/ethernet/intel/e1000e/netdev.c
1158
e1000e_dump(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
1175
struct e1000_adapter *adapter = container_of(work, struct e1000_adapter,
drivers/net/ethernet/intel/e1000e/netdev.c
1177
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/netdev.c
1180
struct sk_buff *skb = adapter->tx_hwtstamp_skb;
drivers/net/ethernet/intel/e1000e/netdev.c
1187
e1000e_systim_to_hwtstamp(adapter, &shhwtstamps, txstmp);
drivers/net/ethernet/intel/e1000e/netdev.c
1192
adapter->tx_hwtstamp_skb = NULL;
drivers/net/ethernet/intel/e1000e/netdev.c
1197
} else if (time_after(jiffies, adapter->tx_hwtstamp_start
drivers/net/ethernet/intel/e1000e/netdev.c
1198
+ adapter->tx_timeout_factor * HZ)) {
drivers/net/ethernet/intel/e1000e/netdev.c
1199
dev_kfree_skb_any(adapter->tx_hwtstamp_skb);
drivers/net/ethernet/intel/e1000e/netdev.c
1200
adapter->tx_hwtstamp_skb = NULL;
drivers/net/ethernet/intel/e1000e/netdev.c
1201
adapter->tx_hwtstamp_timeouts++;
drivers/net/ethernet/intel/e1000e/netdev.c
1205
schedule_work(&adapter->tx_hwtstamp_work);
drivers/net/ethernet/intel/e1000e/netdev.c
1218
struct e1000_adapter *adapter = tx_ring->adapter;
drivers/net/ethernet/intel/e1000e/netdev.c
1219
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/e1000e/netdev.c
1220
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/netdev.c
1278
!(test_bit(__E1000_DOWN, &adapter->state))) {
drivers/net/ethernet/intel/e1000e/netdev.c
1280
++adapter->restart_queue;
drivers/net/ethernet/intel/e1000e/netdev.c
1284
if (adapter->detect_tx_hung) {
drivers/net/ethernet/intel/e1000e/netdev.c
1288
adapter->detect_tx_hung = false;
drivers/net/ethernet/intel/e1000e/netdev.c
1291
+ (adapter->tx_timeout_factor * HZ)) &&
drivers/net/ethernet/intel/e1000e/netdev.c
1293
schedule_work(&adapter->print_hang_task);
drivers/net/ethernet/intel/e1000e/netdev.c
1295
adapter->tx_hang_recheck = false;
drivers/net/ethernet/intel/e1000e/netdev.c
1297
adapter->total_tx_bytes += total_tx_bytes;
drivers/net/ethernet/intel/e1000e/netdev.c
1298
adapter->total_tx_packets += total_tx_packets;
drivers/net/ethernet/intel/e1000e/netdev.c
1314
struct e1000_adapter *adapter = rx_ring->adapter;
drivers/net/ethernet/intel/e1000e/netdev.c
1315
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/netdev.c
1317
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/e1000e/netdev.c
1318
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/intel/e1000e/netdev.c
134
if (hw->adapter->flags2 & FLAG2_PCIM2PCI_ARBITER_WA)
drivers/net/ethernet/intel/e1000e/netdev.c
1354
adapter->rx_ps_bsize0, DMA_FROM_DEVICE);
drivers/net/ethernet/intel/e1000e/netdev.c
1359
adapter->flags2 |= FLAG2_IS_DISCARDING;
drivers/net/ethernet/intel/e1000e/netdev.c
1361
if (adapter->flags2 & FLAG2_IS_DISCARDING) {
drivers/net/ethernet/intel/e1000e/netdev.c
1365
adapter->flags2 &= ~FLAG2_IS_DISCARDING;
drivers/net/ethernet/intel/e1000e/netdev.c
1397
((length + l1) <= adapter->rx_ps_bsize0)) {
drivers/net/ethernet/intel/e1000e/netdev.c
1412
if (!(adapter->flags2 & FLAG2_CRC_STRIPPING)) {
drivers/net/ethernet/intel/e1000e/netdev.c
1441
if (!(adapter->flags2 & FLAG2_CRC_STRIPPING)) {
drivers/net/ethernet/intel/e1000e/netdev.c
1450
e1000_rx_checksum(adapter, staterr, skb);
drivers/net/ethernet/intel/e1000e/netdev.c
1456
adapter->rx_hdr_split++;
drivers/net/ethernet/intel/e1000e/netdev.c
1458
e1000_receive_skb(adapter, netdev, skb, staterr,
drivers/net/ethernet/intel/e1000e/netdev.c
1467
adapter->alloc_rx_buf(rx_ring, cleaned_count,
drivers/net/ethernet/intel/e1000e/netdev.c
1482
adapter->alloc_rx_buf(rx_ring, cleaned_count, GFP_ATOMIC);
drivers/net/ethernet/intel/e1000e/netdev.c
1484
adapter->total_rx_bytes += total_rx_bytes;
drivers/net/ethernet/intel/e1000e/netdev.c
1485
adapter->total_rx_packets += total_rx_packets;
drivers/net/ethernet/intel/e1000e/netdev.c
1510
struct e1000_adapter *adapter = rx_ring->adapter;
drivers/net/ethernet/intel/e1000e/netdev.c
1511
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/e1000e/netdev.c
1512
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/intel/e1000e/netdev.c
1623
e1000_rx_checksum(adapter, staterr, skb);
drivers/net/ethernet/intel/e1000e/netdev.c
1638
e1000_receive_skb(adapter, netdev, skb, staterr,
drivers/net/ethernet/intel/e1000e/netdev.c
1646
adapter->alloc_rx_buf(rx_ring, cleaned_count,
drivers/net/ethernet/intel/e1000e/netdev.c
1661
adapter->alloc_rx_buf(rx_ring, cleaned_count, GFP_ATOMIC);
drivers/net/ethernet/intel/e1000e/netdev.c
1663
adapter->total_rx_bytes += total_rx_bytes;
drivers/net/ethernet/intel/e1000e/netdev.c
1664
adapter->total_rx_packets += total_rx_packets;
drivers/net/ethernet/intel/e1000e/netdev.c
1674
struct e1000_adapter *adapter = rx_ring->adapter;
drivers/net/ethernet/intel/e1000e/netdev.c
1677
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/intel/e1000e/netdev.c
1684
if (adapter->clean_rx == e1000_clean_rx_irq)
drivers/net/ethernet/intel/e1000e/netdev.c
1686
adapter->rx_buffer_len,
drivers/net/ethernet/intel/e1000e/netdev.c
1688
else if (adapter->clean_rx == e1000_clean_jumbo_rx_irq)
drivers/net/ethernet/intel/e1000e/netdev.c
1691
else if (adapter->clean_rx == e1000_clean_rx_irq_ps)
drivers/net/ethernet/intel/e1000e/netdev.c
1693
adapter->rx_ps_bsize0,
drivers/net/ethernet/intel/e1000e/netdev.c
1731
adapter->flags2 &= ~FLAG2_IS_DISCARDING;
drivers/net/ethernet/intel/e1000e/netdev.c
1736
struct e1000_adapter *adapter = container_of(work,
drivers/net/ethernet/intel/e1000e/netdev.c
174
static void e1000e_dump_ps_pages(struct e1000_adapter *adapter,
drivers/net/ethernet/intel/e1000e/netdev.c
1740
if (test_bit(__E1000_DOWN, &adapter->state))
drivers/net/ethernet/intel/e1000e/netdev.c
1743
e1000e_gig_downshift_workaround_ich8lan(&adapter->hw);
drivers/net/ethernet/intel/e1000e/netdev.c
1754
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000e/netdev.c
1755
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/netdev.c
1764
if ((adapter->flags & FLAG_LSC_GIG_SPEED_DROP) &&
drivers/net/ethernet/intel/e1000e/netdev.c
1766
schedule_work(&adapter->downshift_task);
drivers/net/ethernet/intel/e1000e/netdev.c
1773
adapter->flags & FLAG_RX_NEEDS_RESTART) {
drivers/net/ethernet/intel/e1000e/netdev.c
1778
adapter->flags |= FLAG_RESTART_NOW;
drivers/net/ethernet/intel/e1000e/netdev.c
1781
if (!test_bit(__E1000_DOWN, &adapter->state))
drivers/net/ethernet/intel/e1000e/netdev.c
1782
mod_timer(&adapter->watchdog_timer, jiffies + 1);
drivers/net/ethernet/intel/e1000e/netdev.c
1789
adapter->corr_errors +=
drivers/net/ethernet/intel/e1000e/netdev.c
1791
adapter->uncorr_errors +=
drivers/net/ethernet/intel/e1000e/netdev.c
1795
schedule_work(&adapter->reset_task);
drivers/net/ethernet/intel/e1000e/netdev.c
180
for (i = 0; i < adapter->rx_ps_pages; i++) {
drivers/net/ethernet/intel/e1000e/netdev.c
1801
if (napi_schedule_prep(&adapter->napi)) {
drivers/net/ethernet/intel/e1000e/netdev.c
1802
adapter->total_tx_bytes = 0;
drivers/net/ethernet/intel/e1000e/netdev.c
1803
adapter->total_tx_packets = 0;
drivers/net/ethernet/intel/e1000e/netdev.c
1804
adapter->total_rx_bytes = 0;
drivers/net/ethernet/intel/e1000e/netdev.c
1805
adapter->total_rx_packets = 0;
drivers/net/ethernet/intel/e1000e/netdev.c
1806
__napi_schedule(&adapter->napi);
drivers/net/ethernet/intel/e1000e/netdev.c
1820
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000e/netdev.c
1821
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/netdev.c
1824
if (!icr || test_bit(__E1000_DOWN, &adapter->state))
drivers/net/ethernet/intel/e1000e/netdev.c
1843
if ((adapter->flags & FLAG_LSC_GIG_SPEED_DROP) &&
drivers/net/ethernet/intel/e1000e/netdev.c
1845
schedule_work(&adapter->downshift_task);
drivers/net/ethernet/intel/e1000e/netdev.c
1853
(adapter->flags & FLAG_RX_NEEDS_RESTART)) {
drivers/net/ethernet/intel/e1000e/netdev.c
1857
adapter->flags |= FLAG_RESTART_NOW;
drivers/net/ethernet/intel/e1000e/netdev.c
1860
if (!test_bit(__E1000_DOWN, &adapter->state))
drivers/net/ethernet/intel/e1000e/netdev.c
1861
mod_timer(&adapter->watchdog_timer, jiffies + 1);
drivers/net/ethernet/intel/e1000e/netdev.c
1868
adapter->corr_errors +=
drivers/net/ethernet/intel/e1000e/netdev.c
1870
adapter->uncorr_errors +=
drivers/net/ethernet/intel/e1000e/netdev.c
1874
schedule_work(&adapter->reset_task);
drivers/net/ethernet/intel/e1000e/netdev.c
1880
if (napi_schedule_prep(&adapter->napi)) {
drivers/net/ethernet/intel/e1000e/netdev.c
1881
adapter->total_tx_bytes = 0;
drivers/net/ethernet/intel/e1000e/netdev.c
1882
adapter->total_tx_packets = 0;
drivers/net/ethernet/intel/e1000e/netdev.c
1883
adapter->total_rx_bytes = 0;
drivers/net/ethernet/intel/e1000e/netdev.c
1884
adapter->total_rx_packets = 0;
drivers/net/ethernet/intel/e1000e/netdev.c
1885
__napi_schedule(&adapter->napi);
drivers/net/ethernet/intel/e1000e/netdev.c
1894
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000e/netdev.c
1895
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/netdev.c
1898
if (icr & adapter->eiac_mask)
drivers/net/ethernet/intel/e1000e/netdev.c
1899
ew32(ICS, (icr & adapter->eiac_mask));
drivers/net/ethernet/intel/e1000e/netdev.c
1904
if (!test_bit(__E1000_DOWN, &adapter->state))
drivers/net/ethernet/intel/e1000e/netdev.c
1905
mod_timer(&adapter->watchdog_timer, jiffies + 1);
drivers/net/ethernet/intel/e1000e/netdev.c
1908
if (!test_bit(__E1000_DOWN, &adapter->state))
drivers/net/ethernet/intel/e1000e/netdev.c
1917
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000e/netdev.c
1918
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/netdev.c
1919
struct e1000_ring *tx_ring = adapter->tx_ring;
drivers/net/ethernet/intel/e1000e/netdev.c
1921
adapter->total_tx_bytes = 0;
drivers/net/ethernet/intel/e1000e/netdev.c
1922
adapter->total_tx_packets = 0;
drivers/net/ethernet/intel/e1000e/netdev.c
1928
if (!test_bit(__E1000_DOWN, &adapter->state))
drivers/net/ethernet/intel/e1000e/netdev.c
1929
ew32(IMS, adapter->tx_ring->ims_val);
drivers/net/ethernet/intel/e1000e/netdev.c
1937
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000e/netdev.c
1938
struct e1000_ring *rx_ring = adapter->rx_ring;
drivers/net/ethernet/intel/e1000e/netdev.c
1951
if (napi_schedule_prep(&adapter->napi)) {
drivers/net/ethernet/intel/e1000e/netdev.c
1952
adapter->total_rx_bytes = 0;
drivers/net/ethernet/intel/e1000e/netdev.c
1953
adapter->total_rx_packets = 0;
drivers/net/ethernet/intel/e1000e/netdev.c
1954
__napi_schedule(&adapter->napi);
drivers/net/ethernet/intel/e1000e/netdev.c
196
static void e1000e_dump(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000e/netdev.c
1966
static void e1000_configure_msix(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000e/netdev.c
1968
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/netdev.c
1969
struct e1000_ring *rx_ring = adapter->rx_ring;
drivers/net/ethernet/intel/e1000e/netdev.c
1970
struct e1000_ring *tx_ring = adapter->tx_ring;
drivers/net/ethernet/intel/e1000e/netdev.c
1974
adapter->eiac_mask = 0;
drivers/net/ethernet/intel/e1000e/netdev.c
198
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/e1000e/netdev.c
1986
adapter->eiac_mask |= rx_ring->ims_val;
drivers/net/ethernet/intel/e1000e/netdev.c
199
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/netdev.c
2002
adapter->eiac_mask |= tx_ring->ims_val;
drivers/net/ethernet/intel/e1000e/netdev.c
201
struct e1000_ring *tx_ring = adapter->tx_ring;
drivers/net/ethernet/intel/e1000e/netdev.c
2026
void e1000e_reset_interrupt_capability(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000e/netdev.c
2028
if (adapter->msix_entries) {
drivers/net/ethernet/intel/e1000e/netdev.c
2029
pci_disable_msix(adapter->pdev);
drivers/net/ethernet/intel/e1000e/netdev.c
2030
kfree(adapter->msix_entries);
drivers/net/ethernet/intel/e1000e/netdev.c
2031
adapter->msix_entries = NULL;
drivers/net/ethernet/intel/e1000e/netdev.c
2032
} else if (adapter->flags & FLAG_MSI_ENABLED) {
drivers/net/ethernet/intel/e1000e/netdev.c
2033
pci_disable_msi(adapter->pdev);
drivers/net/ethernet/intel/e1000e/netdev.c
2034
adapter->flags &= ~FLAG_MSI_ENABLED;
drivers/net/ethernet/intel/e1000e/netdev.c
2045
void e1000e_set_interrupt_capability(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000e/netdev.c
2050
switch (adapter->int_mode) {
drivers/net/ethernet/intel/e1000e/netdev.c
2052
if (adapter->flags & FLAG_HAS_MSIX) {
drivers/net/ethernet/intel/e1000e/netdev.c
2053
adapter->num_vectors = 3; /* RxQ0, TxQ0 and other */
drivers/net/ethernet/intel/e1000e/netdev.c
2054
adapter->msix_entries = kzalloc_objs(struct msix_entry,
drivers/net/ethernet/intel/e1000e/netdev.c
2055
adapter->num_vectors);
drivers/net/ethernet/intel/e1000e/netdev.c
2056
if (adapter->msix_entries) {
drivers/net/ethernet/intel/e1000e/netdev.c
2057
struct e1000_adapter *a = adapter;
drivers/net/ethernet/intel/e1000e/netdev.c
2059
for (i = 0; i < adapter->num_vectors; i++)
drivers/net/ethernet/intel/e1000e/netdev.c
2060
adapter->msix_entries[i].entry = i;
drivers/net/ethernet/intel/e1000e/netdev.c
2071
e1000e_reset_interrupt_capability(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
2073
adapter->int_mode = E1000E_INT_MODE_MSI;
drivers/net/ethernet/intel/e1000e/netdev.c
2076
if (!pci_enable_msi(adapter->pdev)) {
drivers/net/ethernet/intel/e1000e/netdev.c
2077
adapter->flags |= FLAG_MSI_ENABLED;
drivers/net/ethernet/intel/e1000e/netdev.c
2079
adapter->int_mode = E1000E_INT_MODE_LEGACY;
drivers/net/ethernet/intel/e1000e/netdev.c
208
struct e1000_ring *rx_ring = adapter->rx_ring;
drivers/net/ethernet/intel/e1000e/netdev.c
2089
adapter->num_vectors = 1;
drivers/net/ethernet/intel/e1000e/netdev.c
2099
static int e1000_request_msix(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000e/netdev.c
2101
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/e1000e/netdev.c
2105
snprintf(adapter->rx_ring->name,
drivers/net/ethernet/intel/e1000e/netdev.c
2106
sizeof(adapter->rx_ring->name) - 1,
drivers/net/ethernet/intel/e1000e/netdev.c
2109
memcpy(adapter->rx_ring->name, netdev->name, IFNAMSIZ);
drivers/net/ethernet/intel/e1000e/netdev.c
2110
err = request_irq(adapter->msix_entries[vector].vector,
drivers/net/ethernet/intel/e1000e/netdev.c
2111
e1000_intr_msix_rx, 0, adapter->rx_ring->name,
drivers/net/ethernet/intel/e1000e/netdev.c
2115
adapter->rx_ring->itr_register = adapter->hw.hw_addr +
drivers/net/ethernet/intel/e1000e/netdev.c
2117
adapter->rx_ring->itr_val = adapter->itr;
drivers/net/ethernet/intel/e1000e/netdev.c
2121
snprintf(adapter->tx_ring->name,
drivers/net/ethernet/intel/e1000e/netdev.c
2122
sizeof(adapter->tx_ring->name) - 1,
drivers/net/ethernet/intel/e1000e/netdev.c
2125
memcpy(adapter->tx_ring->name, netdev->name, IFNAMSIZ);
drivers/net/ethernet/intel/e1000e/netdev.c
2126
err = request_irq(adapter->msix_entries[vector].vector,
drivers/net/ethernet/intel/e1000e/netdev.c
2127
e1000_intr_msix_tx, 0, adapter->tx_ring->name,
drivers/net/ethernet/intel/e1000e/netdev.c
2131
adapter->tx_ring->itr_register = adapter->hw.hw_addr +
drivers/net/ethernet/intel/e1000e/netdev.c
2133
adapter->tx_ring->itr_val = adapter->itr;
drivers/net/ethernet/intel/e1000e/netdev.c
2136
err = request_irq(adapter->msix_entries[vector].vector,
drivers/net/ethernet/intel/e1000e/netdev.c
2141
e1000_configure_msix(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
2153
static int e1000_request_irq(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000e/netdev.c
2155
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/e1000e/netdev.c
2158
if (adapter->msix_entries) {
drivers/net/ethernet/intel/e1000e/netdev.c
2159
err = e1000_request_msix(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
2163
e1000e_reset_interrupt_capability(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
2164
adapter->int_mode = E1000E_INT_MODE_MSI;
drivers/net/ethernet/intel/e1000e/netdev.c
2165
e1000e_set_interrupt_capability(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
2167
if (adapter->flags & FLAG_MSI_ENABLED) {
drivers/net/ethernet/intel/e1000e/netdev.c
2168
err = request_irq(adapter->pdev->irq, e1000_intr_msi, 0,
drivers/net/ethernet/intel/e1000e/netdev.c
2174
e1000e_reset_interrupt_capability(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
2175
adapter->int_mode = E1000E_INT_MODE_LEGACY;
drivers/net/ethernet/intel/e1000e/netdev.c
2178
err = request_irq(adapter->pdev->irq, e1000_intr, IRQF_SHARED,
drivers/net/ethernet/intel/e1000e/netdev.c
2186
static void e1000_free_irq(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000e/netdev.c
2188
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/e1000e/netdev.c
2190
if (adapter->msix_entries) {
drivers/net/ethernet/intel/e1000e/netdev.c
2193
free_irq(adapter->msix_entries[vector].vector, netdev);
drivers/net/ethernet/intel/e1000e/netdev.c
2196
free_irq(adapter->msix_entries[vector].vector, netdev);
drivers/net/ethernet/intel/e1000e/netdev.c
220
if (!netif_msg_hw(adapter))
drivers/net/ethernet/intel/e1000e/netdev.c
2200
free_irq(adapter->msix_entries[vector].vector, netdev);
drivers/net/ethernet/intel/e1000e/netdev.c
2204
free_irq(adapter->pdev->irq, netdev);
drivers/net/ethernet/intel/e1000e/netdev.c
2211
static void e1000_irq_disable(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000e/netdev.c
2213
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/netdev.c
2216
if (adapter->msix_entries)
drivers/net/ethernet/intel/e1000e/netdev.c
2220
if (adapter->msix_entries) {
drivers/net/ethernet/intel/e1000e/netdev.c
2223
for (i = 0; i < adapter->num_vectors; i++)
drivers/net/ethernet/intel/e1000e/netdev.c
2224
synchronize_irq(adapter->msix_entries[i].vector);
drivers/net/ethernet/intel/e1000e/netdev.c
2226
synchronize_irq(adapter->pdev->irq);
drivers/net/ethernet/intel/e1000e/netdev.c
2234
static void e1000_irq_enable(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000e/netdev.c
2236
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/netdev.c
2238
if (adapter->msix_entries) {
drivers/net/ethernet/intel/e1000e/netdev.c
2239
ew32(EIAC_82574, adapter->eiac_mask & E1000_EIAC_MASK_82574);
drivers/net/ethernet/intel/e1000e/netdev.c
2240
ew32(IMS, adapter->eiac_mask | E1000_IMS_OTHER |
drivers/net/ethernet/intel/e1000e/netdev.c
225
dev_info(&adapter->pdev->dev, "Net device Info\n");
drivers/net/ethernet/intel/e1000e/netdev.c
2259
void e1000e_get_hw_control(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000e/netdev.c
2261
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/netdev.c
2266
if (adapter->flags & FLAG_HAS_SWSM_ON_LOAD) {
drivers/net/ethernet/intel/e1000e/netdev.c
2269
} else if (adapter->flags & FLAG_HAS_CTRLEXT_ON_LOAD) {
drivers/net/ethernet/intel/e1000e/netdev.c
2285
void e1000e_release_hw_control(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000e/netdev.c
2287
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/netdev.c
2292
if (adapter->flags & FLAG_HAS_SWSM_ON_LOAD) {
drivers/net/ethernet/intel/e1000e/netdev.c
2295
} else if (adapter->flags & FLAG_HAS_CTRLEXT_ON_LOAD) {
drivers/net/ethernet/intel/e1000e/netdev.c
2306
static int e1000_alloc_ring_dma(struct e1000_adapter *adapter,
drivers/net/ethernet/intel/e1000e/netdev.c
2309
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/intel/e1000e/netdev.c
232
dev_info(&adapter->pdev->dev, "Register Dump\n");
drivers/net/ethernet/intel/e1000e/netdev.c
2327
struct e1000_adapter *adapter = tx_ring->adapter;
drivers/net/ethernet/intel/e1000e/netdev.c
2339
err = e1000_alloc_ring_dma(adapter, tx_ring);
drivers/net/ethernet/intel/e1000e/netdev.c
2361
struct e1000_adapter *adapter = rx_ring->adapter;
drivers/net/ethernet/intel/e1000e/netdev.c
2384
err = e1000_alloc_ring_dma(adapter, rx_ring);
drivers/net/ethernet/intel/e1000e/netdev.c
2411
struct e1000_adapter *adapter = tx_ring->adapter;
drivers/net/ethernet/intel/e1000e/netdev.c
2421
netdev_reset_queue(adapter->netdev);
drivers/net/ethernet/intel/e1000e/netdev.c
243
dev_info(&adapter->pdev->dev, "Tx Ring Summary\n");
drivers/net/ethernet/intel/e1000e/netdev.c
2439
struct e1000_adapter *adapter = tx_ring->adapter;
drivers/net/ethernet/intel/e1000e/netdev.c
2440
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/intel/e1000e/netdev.c
2460
struct e1000_adapter *adapter = rx_ring->adapter;
drivers/net/ethernet/intel/e1000e/netdev.c
2461
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/intel/e1000e/netdev.c
2535
static void e1000_set_itr(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000e/netdev.c
2538
u32 new_itr = adapter->itr;
drivers/net/ethernet/intel/e1000e/netdev.c
254
if (!netif_msg_tx_done(adapter))
drivers/net/ethernet/intel/e1000e/netdev.c
2541
if (adapter->link_speed != SPEED_1000) {
drivers/net/ethernet/intel/e1000e/netdev.c
2546
if (adapter->flags2 & FLAG2_DISABLE_AIM) {
drivers/net/ethernet/intel/e1000e/netdev.c
2551
adapter->tx_itr = e1000_update_itr(adapter->tx_itr,
drivers/net/ethernet/intel/e1000e/netdev.c
2552
adapter->total_tx_packets,
drivers/net/ethernet/intel/e1000e/netdev.c
2553
adapter->total_tx_bytes);
drivers/net/ethernet/intel/e1000e/netdev.c
2555
if (adapter->itr_setting == 3 && adapter->tx_itr == lowest_latency)
drivers/net/ethernet/intel/e1000e/netdev.c
2556
adapter->tx_itr = low_latency;
drivers/net/ethernet/intel/e1000e/netdev.c
2558
adapter->rx_itr = e1000_update_itr(adapter->rx_itr,
drivers/net/ethernet/intel/e1000e/netdev.c
2559
adapter->total_rx_packets,
drivers/net/ethernet/intel/e1000e/netdev.c
2560
adapter->total_rx_bytes);
drivers/net/ethernet/intel/e1000e/netdev.c
2562
if (adapter->itr_setting == 3 && adapter->rx_itr == lowest_latency)
drivers/net/ethernet/intel/e1000e/netdev.c
2563
adapter->rx_itr = low_latency;
drivers/net/ethernet/intel/e1000e/netdev.c
2565
current_itr = max(adapter->rx_itr, adapter->tx_itr);
drivers/net/ethernet/intel/e1000e/netdev.c
257
dev_info(&adapter->pdev->dev, "Tx Ring Dump\n");
drivers/net/ethernet/intel/e1000e/netdev.c
2583
if (new_itr != adapter->itr) {
drivers/net/ethernet/intel/e1000e/netdev.c
2588
new_itr = new_itr > adapter->itr ?
drivers/net/ethernet/intel/e1000e/netdev.c
2589
min(adapter->itr + (new_itr >> 2), new_itr) : new_itr;
drivers/net/ethernet/intel/e1000e/netdev.c
2590
adapter->itr = new_itr;
drivers/net/ethernet/intel/e1000e/netdev.c
2591
adapter->rx_ring->itr_val = new_itr;
drivers/net/ethernet/intel/e1000e/netdev.c
2592
if (adapter->msix_entries)
drivers/net/ethernet/intel/e1000e/netdev.c
2593
adapter->rx_ring->set_itr = 1;
drivers/net/ethernet/intel/e1000e/netdev.c
2595
e1000e_write_itr(adapter, new_itr);
drivers/net/ethernet/intel/e1000e/netdev.c
2608
void e1000e_write_itr(struct e1000_adapter *adapter, u32 itr)
drivers/net/ethernet/intel/e1000e/netdev.c
2610
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/netdev.c
2613
if (adapter->msix_entries) {
drivers/net/ethernet/intel/e1000e/netdev.c
2616
for (vector = 0; vector < adapter->num_vectors; vector++)
drivers/net/ethernet/intel/e1000e/netdev.c
2627
static int e1000_alloc_queues(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000e/netdev.c
2631
adapter->tx_ring = kzalloc(size, GFP_KERNEL);
drivers/net/ethernet/intel/e1000e/netdev.c
2632
if (!adapter->tx_ring)
drivers/net/ethernet/intel/e1000e/netdev.c
2634
adapter->tx_ring->count = adapter->tx_ring_count;
drivers/net/ethernet/intel/e1000e/netdev.c
2635
adapter->tx_ring->adapter = adapter;
drivers/net/ethernet/intel/e1000e/netdev.c
2637
adapter->rx_ring = kzalloc(size, GFP_KERNEL);
drivers/net/ethernet/intel/e1000e/netdev.c
2638
if (!adapter->rx_ring)
drivers/net/ethernet/intel/e1000e/netdev.c
2640
adapter->rx_ring->count = adapter->rx_ring_count;
drivers/net/ethernet/intel/e1000e/netdev.c
2641
adapter->rx_ring->adapter = adapter;
drivers/net/ethernet/intel/e1000e/netdev.c
2646
kfree(adapter->rx_ring);
drivers/net/ethernet/intel/e1000e/netdev.c
2647
kfree(adapter->tx_ring);
drivers/net/ethernet/intel/e1000e/netdev.c
2658
struct e1000_adapter *adapter = container_of(napi, struct e1000_adapter,
drivers/net/ethernet/intel/e1000e/netdev.c
2660
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/netdev.c
2661
struct net_device *poll_dev = adapter->netdev;
drivers/net/ethernet/intel/e1000e/netdev.c
2664
adapter = netdev_priv(poll_dev);
drivers/net/ethernet/intel/e1000e/netdev.c
2666
if (!adapter->msix_entries ||
drivers/net/ethernet/intel/e1000e/netdev.c
2667
(adapter->rx_ring->ims_val & adapter->tx_ring->ims_val))
drivers/net/ethernet/intel/e1000e/netdev.c
2668
tx_cleaned = e1000_clean_tx_irq(adapter->tx_ring);
drivers/net/ethernet/intel/e1000e/netdev.c
2670
adapter->clean_rx(adapter->rx_ring, &work_done, budget);
drivers/net/ethernet/intel/e1000e/netdev.c
2679
if (adapter->itr_setting & 3)
drivers/net/ethernet/intel/e1000e/netdev.c
2680
e1000_set_itr(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
2681
if (!test_bit(__E1000_DOWN, &adapter->state)) {
drivers/net/ethernet/intel/e1000e/netdev.c
2682
if (adapter->msix_entries)
drivers/net/ethernet/intel/e1000e/netdev.c
2683
ew32(IMS, adapter->rx_ring->ims_val);
drivers/net/ethernet/intel/e1000e/netdev.c
2685
e1000_irq_enable(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
2695
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000e/netdev.c
2696
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/netdev.c
2700
if ((adapter->hw.mng_cookie.status &
drivers/net/ethernet/intel/e1000e/netdev.c
2702
(vid == adapter->mng_vlan_id))
drivers/net/ethernet/intel/e1000e/netdev.c
2706
if (adapter->flags & FLAG_HAS_HW_VLAN_FILTER) {
drivers/net/ethernet/intel/e1000e/netdev.c
2713
set_bit(vid, adapter->active_vlans);
drivers/net/ethernet/intel/e1000e/netdev.c
2721
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000e/netdev.c
2722
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/netdev.c
2725
if ((adapter->hw.mng_cookie.status &
drivers/net/ethernet/intel/e1000e/netdev.c
2727
(vid == adapter->mng_vlan_id)) {
drivers/net/ethernet/intel/e1000e/netdev.c
2729
e1000e_release_hw_control(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
2734
if (adapter->flags & FLAG_HAS_HW_VLAN_FILTER) {
drivers/net/ethernet/intel/e1000e/netdev.c
2741
clear_bit(vid, adapter->active_vlans);
drivers/net/ethernet/intel/e1000e/netdev.c
2750
static void e1000e_vlan_filter_disable(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000e/netdev.c
2752
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/e1000e/netdev.c
2753
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/netdev.c
2756
if (adapter->flags & FLAG_HAS_HW_VLAN_FILTER) {
drivers/net/ethernet/intel/e1000e/netdev.c
2762
if (adapter->mng_vlan_id != E1000_MNG_VLAN_NONE) {
drivers/net/ethernet/intel/e1000e/netdev.c
2764
adapter->mng_vlan_id);
drivers/net/ethernet/intel/e1000e/netdev.c
2765
adapter->mng_vlan_id = E1000_MNG_VLAN_NONE;
drivers/net/ethernet/intel/e1000e/netdev.c
2774
static void e1000e_vlan_filter_enable(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000e/netdev.c
2776
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/netdev.c
2779
if (adapter->flags & FLAG_HAS_HW_VLAN_FILTER) {
drivers/net/ethernet/intel/e1000e/netdev.c
2792
static void e1000e_vlan_strip_disable(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000e/netdev.c
2794
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/netdev.c
2807
static void e1000e_vlan_strip_enable(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000e/netdev.c
2809
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/netdev.c
2818
static void e1000_update_mng_vlan(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000e/netdev.c
2820
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/e1000e/netdev.c
2821
u16 vid = adapter->hw.mng_cookie.vlan_id;
drivers/net/ethernet/intel/e1000e/netdev.c
2822
u16 old_vid = adapter->mng_vlan_id;
drivers/net/ethernet/intel/e1000e/netdev.c
2824
if (adapter->hw.mng_cookie.status & E1000_MNG_DHCP_COOKIE_STATUS_VLAN) {
drivers/net/ethernet/intel/e1000e/netdev.c
2826
adapter->mng_vlan_id = vid;
drivers/net/ethernet/intel/e1000e/netdev.c
2833
static void e1000_restore_vlan(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000e/netdev.c
2837
e1000_vlan_rx_add_vid(adapter->netdev, htons(ETH_P_8021Q), 0);
drivers/net/ethernet/intel/e1000e/netdev.c
2839
for_each_set_bit(vid, adapter->active_vlans, VLAN_N_VID)
drivers/net/ethernet/intel/e1000e/netdev.c
2840
e1000_vlan_rx_add_vid(adapter->netdev, htons(ETH_P_8021Q), vid);
drivers/net/ethernet/intel/e1000e/netdev.c
2843
static void e1000_init_manageability_pt(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000e/netdev.c
2845
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/netdev.c
2848
if (!(adapter->flags & FLAG_MNG_PT_ENABLED))
drivers/net/ethernet/intel/e1000e/netdev.c
2911
static void e1000_configure_tx(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000e/netdev.c
2913
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/netdev.c
2914
struct e1000_ring *tx_ring = adapter->tx_ring;
drivers/net/ethernet/intel/e1000e/netdev.c
2926
tx_ring->head = adapter->hw.hw_addr + E1000_TDH(0);
drivers/net/ethernet/intel/e1000e/netdev.c
2927
tx_ring->tail = adapter->hw.hw_addr + E1000_TDT(0);
drivers/net/ethernet/intel/e1000e/netdev.c
2929
if (adapter->flags2 & FLAG2_PCIM2PCI_ARBITER_WA)
drivers/net/ethernet/intel/e1000e/netdev.c
2933
ew32(TIDV, adapter->tx_int_delay);
drivers/net/ethernet/intel/e1000e/netdev.c
2935
ew32(TADV, adapter->tx_abs_int_delay);
drivers/net/ethernet/intel/e1000e/netdev.c
2937
if (adapter->flags2 & FLAG2_DMA_BURST) {
drivers/net/ethernet/intel/e1000e/netdev.c
2963
if (adapter->flags & FLAG_TARC_SPEED_MODE_BIT) {
drivers/net/ethernet/intel/e1000e/netdev.c
2974
if (adapter->flags & FLAG_TARC_SET_BIT_ZERO) {
drivers/net/ethernet/intel/e1000e/netdev.c
2984
adapter->txd_cmd = E1000_TXD_CMD_EOP | E1000_TXD_CMD_IFCS;
drivers/net/ethernet/intel/e1000e/netdev.c
2987
if (adapter->tx_int_delay)
drivers/net/ethernet/intel/e1000e/netdev.c
2988
adapter->txd_cmd |= E1000_TXD_CMD_IDE;
drivers/net/ethernet/intel/e1000e/netdev.c
2991
adapter->txd_cmd |= E1000_TXD_CMD_RS;
drivers/net/ethernet/intel/e1000e/netdev.c
3023
static void e1000_setup_rctl(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000e/netdev.c
3025
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/netdev.c
3036
if (adapter->netdev->mtu > ETH_DATA_LEN)
drivers/net/ethernet/intel/e1000e/netdev.c
3050
(adapter->hw.mac.mc_filter_type << E1000_RCTL_MO_SHIFT);
drivers/net/ethernet/intel/e1000e/netdev.c
3056
if (adapter->netdev->mtu <= ETH_DATA_LEN)
drivers/net/ethernet/intel/e1000e/netdev.c
3065
if (adapter->flags2 & FLAG2_CRC_STRIPPING)
drivers/net/ethernet/intel/e1000e/netdev.c
3088
switch (adapter->rx_buffer_len) {
drivers/net/ethernet/intel/e1000e/netdev.c
3124
pages = PAGE_USE_COUNT(adapter->netdev->mtu);
drivers/net/ethernet/intel/e1000e/netdev.c
3126
adapter->rx_ps_pages = pages;
drivers/net/ethernet/intel/e1000e/netdev.c
3128
adapter->rx_ps_pages = 0;
drivers/net/ethernet/intel/e1000e/netdev.c
313
if (netif_msg_pktdata(adapter) && buffer_info->skb)
drivers/net/ethernet/intel/e1000e/netdev.c
3130
if (adapter->rx_ps_pages) {
drivers/net/ethernet/intel/e1000e/netdev.c
3136
psrctl |= adapter->rx_ps_bsize0 >> E1000_PSRCTL_BSIZE0_SHIFT;
drivers/net/ethernet/intel/e1000e/netdev.c
3138
switch (adapter->rx_ps_pages) {
drivers/net/ethernet/intel/e1000e/netdev.c
3154
if (adapter->netdev->features & NETIF_F_RXALL) {
drivers/net/ethernet/intel/e1000e/netdev.c
3172
adapter->flags &= ~FLAG_RESTART_NOW;
drivers/net/ethernet/intel/e1000e/netdev.c
3181
static void e1000_configure_rx(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000e/netdev.c
3183
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/netdev.c
3184
struct e1000_ring *rx_ring = adapter->rx_ring;
drivers/net/ethernet/intel/e1000e/netdev.c
3188
if (adapter->rx_ps_pages) {
drivers/net/ethernet/intel/e1000e/netdev.c
3192
adapter->clean_rx = e1000_clean_rx_irq_ps;
drivers/net/ethernet/intel/e1000e/netdev.c
3193
adapter->alloc_rx_buf = e1000_alloc_rx_buffers_ps;
drivers/net/ethernet/intel/e1000e/netdev.c
3194
} else if (adapter->netdev->mtu > ETH_FRAME_LEN + ETH_FCS_LEN) {
drivers/net/ethernet/intel/e1000e/netdev.c
3196
adapter->clean_rx = e1000_clean_jumbo_rx_irq;
drivers/net/ethernet/intel/e1000e/netdev.c
3197
adapter->alloc_rx_buf = e1000_alloc_jumbo_rx_buffers;
drivers/net/ethernet/intel/e1000e/netdev.c
3200
adapter->clean_rx = e1000_clean_rx_irq;
drivers/net/ethernet/intel/e1000e/netdev.c
3201
adapter->alloc_rx_buf = e1000_alloc_rx_buffers;
drivers/net/ethernet/intel/e1000e/netdev.c
3206
if (!(adapter->flags2 & FLAG2_NO_DISABLE_RX))
drivers/net/ethernet/intel/e1000e/netdev.c
321
dev_info(&adapter->pdev->dev, "Rx Ring Summary\n");
drivers/net/ethernet/intel/e1000e/netdev.c
3211
if (adapter->flags2 & FLAG2_DMA_BURST) {
drivers/net/ethernet/intel/e1000e/netdev.c
3225
ew32(RDTR, adapter->rx_int_delay);
drivers/net/ethernet/intel/e1000e/netdev.c
3228
ew32(RADV, adapter->rx_abs_int_delay);
drivers/net/ethernet/intel/e1000e/netdev.c
3229
if ((adapter->itr_setting != 0) && (adapter->itr != 0))
drivers/net/ethernet/intel/e1000e/netdev.c
3230
e1000e_write_itr(adapter, adapter->itr);
drivers/net/ethernet/intel/e1000e/netdev.c
3248
rx_ring->head = adapter->hw.hw_addr + E1000_RDH(0);
drivers/net/ethernet/intel/e1000e/netdev.c
3249
rx_ring->tail = adapter->hw.hw_addr + E1000_RDT(0);
drivers/net/ethernet/intel/e1000e/netdev.c
3251
if (adapter->flags2 & FLAG2_PCIM2PCI_ARBITER_WA)
drivers/net/ethernet/intel/e1000e/netdev.c
3256
if (adapter->netdev->features & NETIF_F_RXCSUM)
drivers/net/ethernet/intel/e1000e/netdev.c
3265
if (adapter->netdev->mtu > ETH_DATA_LEN) {
drivers/net/ethernet/intel/e1000e/netdev.c
3268
adapter->max_frame_size) * 8 / 1000;
drivers/net/ethernet/intel/e1000e/netdev.c
327
if (!netif_msg_rx_status(adapter))
drivers/net/ethernet/intel/e1000e/netdev.c
3270
if (adapter->flags & FLAG_IS_ICH) {
drivers/net/ethernet/intel/e1000e/netdev.c
3276
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/intel/e1000e/netdev.c
3278
cpu_latency_qos_update_request(&adapter->pm_qos_req, lat);
drivers/net/ethernet/intel/e1000e/netdev.c
3280
cpu_latency_qos_update_request(&adapter->pm_qos_req,
drivers/net/ethernet/intel/e1000e/netdev.c
3299
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000e/netdev.c
330
dev_info(&adapter->pdev->dev, "Rx Ring Dump\n");
drivers/net/ethernet/intel/e1000e/netdev.c
3300
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/netdev.c
331
switch (adapter->rx_ps_pages) {
drivers/net/ethernet/intel/e1000e/netdev.c
3337
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000e/netdev.c
3338
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/netdev.c
3348
if (adapter->flags & FLAG_RESET_OVERWRITES_LAA)
drivers/net/ethernet/intel/e1000e/netdev.c
3394
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000e/netdev.c
3395
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/netdev.c
3410
e1000e_vlan_filter_disable(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
3425
e1000e_vlan_filter_enable(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
3438
e1000e_vlan_strip_enable(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
3440
e1000e_vlan_strip_disable(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
3443
static void e1000e_setup_rss_hash(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000e/netdev.c
3445
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/netdev.c
3483
s32 e1000e_get_base_timinca(struct e1000_adapter *adapter, u32 *timinca)
drivers/net/ethernet/intel/e1000e/netdev.c
3485
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/netdev.c
3508
adapter->cc.shift = shift + INCPERIOD_SHIFT_96MHZ;
drivers/net/ethernet/intel/e1000e/netdev.c
3516
adapter->cc.shift = shift + INCPERIOD_SHIFT_96MHZ;
drivers/net/ethernet/intel/e1000e/netdev.c
3522
adapter->cc.shift = shift;
drivers/net/ethernet/intel/e1000e/netdev.c
3530
adapter->cc.shift = shift;
drivers/net/ethernet/intel/e1000e/netdev.c
3541
adapter->cc.shift = shift;
drivers/net/ethernet/intel/e1000e/netdev.c
3547
adapter->cc.shift = shift;
drivers/net/ethernet/intel/e1000e/netdev.c
3559
adapter->cc.shift = shift;
drivers/net/ethernet/intel/e1000e/netdev.c
3567
adapter->cc.shift = shift;
drivers/net/ethernet/intel/e1000e/netdev.c
3596
static int e1000e_config_hwtstamp(struct e1000_adapter *adapter,
drivers/net/ethernet/intel/e1000e/netdev.c
3600
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/netdev.c
3609
if (!(adapter->flags & FLAG_HAS_HW_TIMESTAMP)) {
drivers/net/ethernet/intel/e1000e/netdev.c
3699
adapter->hwtstamp_config = *config;
drivers/net/ethernet/intel/e1000e/netdev.c
3754
static void e1000_configure(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000e/netdev.c
3756
struct e1000_ring *rx_ring = adapter->rx_ring;
drivers/net/ethernet/intel/e1000e/netdev.c
3758
e1000e_set_rx_mode(adapter->netdev);
drivers/net/ethernet/intel/e1000e/netdev.c
3760
e1000_restore_vlan(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
3761
e1000_init_manageability_pt(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
3763
e1000_configure_tx(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
3765
if (adapter->netdev->features & NETIF_F_RXHASH)
drivers/net/ethernet/intel/e1000e/netdev.c
3766
e1000e_setup_rss_hash(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
3767
e1000_setup_rctl(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
3768
e1000_configure_rx(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
3769
adapter->alloc_rx_buf(rx_ring, e1000_desc_unused(rx_ring), GFP_KERNEL);
drivers/net/ethernet/intel/e1000e/netdev.c
3780
void e1000e_power_up_phy(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000e/netdev.c
3782
if (adapter->hw.phy.ops.power_up)
drivers/net/ethernet/intel/e1000e/netdev.c
3783
adapter->hw.phy.ops.power_up(&adapter->hw);
drivers/net/ethernet/intel/e1000e/netdev.c
3785
adapter->hw.mac.ops.setup_link(&adapter->hw);
drivers/net/ethernet/intel/e1000e/netdev.c
3795
static void e1000_power_down_phy(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000e/netdev.c
3797
if (adapter->hw.phy.ops.power_down)
drivers/net/ethernet/intel/e1000e/netdev.c
3798
adapter->hw.phy.ops.power_down(&adapter->hw);
drivers/net/ethernet/intel/e1000e/netdev.c
3810
static void e1000_flush_tx_ring(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000e/netdev.c
3812
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/netdev.c
3813
struct e1000_ring *tx_ring = adapter->tx_ring;
drivers/net/ethernet/intel/e1000e/netdev.c
3842
static void e1000_flush_rx_ring(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000e/netdev.c
3845
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/netdev.c
3881
static void e1000_flush_desc_rings(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000e/netdev.c
3885
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/netdev.c
3893
pci_read_config_word(adapter->pdev, PCICFG_DESC_RING_STATUS,
drivers/net/ethernet/intel/e1000e/netdev.c
3897
e1000_flush_tx_ring(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
3899
pci_read_config_word(adapter->pdev, PCICFG_DESC_RING_STATUS,
drivers/net/ethernet/intel/e1000e/netdev.c
3902
e1000_flush_rx_ring(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
3914
static void e1000e_systim_reset(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000e/netdev.c
3916
struct ptp_clock_info *info = &adapter->ptp_clock_info;
drivers/net/ethernet/intel/e1000e/netdev.c
3917
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/netdev.c
3923
if (!(adapter->flags & FLAG_HAS_HW_TIMESTAMP))
drivers/net/ethernet/intel/e1000e/netdev.c
3928
ret_val = info->adjfine(info, adapter->ptp_delta);
drivers/net/ethernet/intel/e1000e/netdev.c
3931
ret_val = e1000e_get_base_timinca(adapter, &timinca);
drivers/net/ethernet/intel/e1000e/netdev.c
3937
dev_warn(&adapter->pdev->dev,
drivers/net/ethernet/intel/e1000e/netdev.c
394
if (netif_msg_pktdata(adapter))
drivers/net/ethernet/intel/e1000e/netdev.c
3944
spin_lock_irqsave(&adapter->systim_lock, flags);
drivers/net/ethernet/intel/e1000e/netdev.c
3945
timecounter_init(&adapter->tc, &adapter->cc,
drivers/net/ethernet/intel/e1000e/netdev.c
3947
spin_unlock_irqrestore(&adapter->systim_lock, flags);
drivers/net/ethernet/intel/e1000e/netdev.c
395
e1000e_dump_ps_pages(adapter,
drivers/net/ethernet/intel/e1000e/netdev.c
3950
ret_val = e1000e_config_hwtstamp(adapter, &adapter->hwtstamp_config,
drivers/net/ethernet/intel/e1000e/netdev.c
3967
void e1000e_reset(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000e/netdev.c
3969
struct e1000_mac_info *mac = &adapter->hw.mac;
drivers/net/ethernet/intel/e1000e/netdev.c
3970
struct e1000_fc_info *fc = &adapter->hw.fc;
drivers/net/ethernet/intel/e1000e/netdev.c
3971
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/netdev.c
3973
u32 pba = adapter->pba;
drivers/net/ethernet/intel/e1000e/netdev.c
3979
if (adapter->max_frame_size > (VLAN_ETH_FRAME_LEN + ETH_FCS_LEN)) {
drivers/net/ethernet/intel/e1000e/netdev.c
3995
min_tx_space = (adapter->max_frame_size +
drivers/net/ethernet/intel/e1000e/netdev.c
4000
min_rx_space = adapter->max_frame_size;
drivers/net/ethernet/intel/e1000e/netdev.c
4030
if (adapter->flags & FLAG_DISABLE_FC_PAUSE_TIME)
drivers/net/ethernet/intel/e1000e/netdev.c
4040
if (adapter->netdev->mtu > ETH_DATA_LEN) {
drivers/net/ethernet/intel/e1000e/netdev.c
4050
((pba << 10) - adapter->max_frame_size));
drivers/net/ethernet/intel/e1000e/netdev.c
4059
if (adapter->netdev->mtu > ETH_DATA_LEN) {
drivers/net/ethernet/intel/e1000e/netdev.c
4081
if (adapter->netdev->mtu <= ETH_DATA_LEN) {
drivers/net/ethernet/intel/e1000e/netdev.c
4099
adapter->tx_fifo_limit = min_t(u32, ((er32(PBA) >> 16) << 10) - 96,
drivers/net/ethernet/intel/e1000e/netdev.c
4105
if (adapter->itr_setting & 0x3) {
drivers/net/ethernet/intel/e1000e/netdev.c
4106
if ((adapter->max_frame_size * 2) > (pba << 10)) {
drivers/net/ethernet/intel/e1000e/netdev.c
4107
if (!(adapter->flags2 & FLAG2_DISABLE_AIM)) {
drivers/net/ethernet/intel/e1000e/netdev.c
4108
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/intel/e1000e/netdev.c
4110
adapter->flags2 |= FLAG2_DISABLE_AIM;
drivers/net/ethernet/intel/e1000e/netdev.c
4111
e1000e_write_itr(adapter, 0);
drivers/net/ethernet/intel/e1000e/netdev.c
4113
} else if (adapter->flags2 & FLAG2_DISABLE_AIM) {
drivers/net/ethernet/intel/e1000e/netdev.c
4114
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/intel/e1000e/netdev.c
4116
adapter->flags2 &= ~FLAG2_DISABLE_AIM;
drivers/net/ethernet/intel/e1000e/netdev.c
4117
adapter->itr = 20000;
drivers/net/ethernet/intel/e1000e/netdev.c
4118
e1000e_write_itr(adapter, adapter->itr);
drivers/net/ethernet/intel/e1000e/netdev.c
4123
e1000_flush_desc_rings(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
4130
if (adapter->flags & FLAG_HAS_AMT)
drivers/net/ethernet/intel/e1000e/netdev.c
4131
e1000e_get_hw_control(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
4138
e1000_update_mng_vlan(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
4146
e1000e_systim_reset(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
4149
if (adapter->flags2 & FLAG2_HAS_EEE) {
drivers/net/ethernet/intel/e1000e/netdev.c
4161
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/intel/e1000e/netdev.c
4168
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/intel/e1000e/netdev.c
4175
0 : adapter->eee_advert);
drivers/net/ethernet/intel/e1000e/netdev.c
4180
if (!netif_running(adapter->netdev) &&
drivers/net/ethernet/intel/e1000e/netdev.c
4181
!test_bit(__E1000_TESTING, &adapter->state))
drivers/net/ethernet/intel/e1000e/netdev.c
4182
e1000_power_down_phy(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
4186
if ((adapter->flags & FLAG_HAS_SMART_POWER_DOWN) &&
drivers/net/ethernet/intel/e1000e/netdev.c
4187
!(adapter->flags & FLAG_SMART_POWER_DOWN)) {
drivers/net/ethernet/intel/e1000e/netdev.c
4197
if (hw->mac.type >= e1000_pch_spt && adapter->int_mode == 0) {
drivers/net/ethernet/intel/e1000e/netdev.c
4219
static void e1000e_trigger_lsc(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000e/netdev.c
4221
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/netdev.c
4223
if (adapter->msix_entries)
drivers/net/ethernet/intel/e1000e/netdev.c
4229
void e1000e_up(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000e/netdev.c
4232
e1000_configure(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
4234
clear_bit(__E1000_DOWN, &adapter->state);
drivers/net/ethernet/intel/e1000e/netdev.c
4236
if (adapter->msix_entries)
drivers/net/ethernet/intel/e1000e/netdev.c
4237
e1000_configure_msix(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
4238
e1000_irq_enable(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
4242
e1000e_trigger_lsc(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
4245
static void e1000e_flush_descriptors(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000e/netdev.c
4247
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/netdev.c
4249
if (!(adapter->flags2 & FLAG2_DMA_BURST))
drivers/net/ethernet/intel/e1000e/netdev.c
4253
ew32(TIDV, adapter->tx_int_delay | E1000_TIDV_FPD);
drivers/net/ethernet/intel/e1000e/netdev.c
4254
ew32(RDTR, adapter->rx_int_delay | E1000_RDTR_FPD);
drivers/net/ethernet/intel/e1000e/netdev.c
4262
ew32(TIDV, adapter->tx_int_delay | E1000_TIDV_FPD);
drivers/net/ethernet/intel/e1000e/netdev.c
4263
ew32(RDTR, adapter->rx_int_delay | E1000_RDTR_FPD);
drivers/net/ethernet/intel/e1000e/netdev.c
4269
static void e1000e_update_stats(struct e1000_adapter *adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
4276
void e1000e_down(struct e1000_adapter *adapter, bool reset)
drivers/net/ethernet/intel/e1000e/netdev.c
4278
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/e1000e/netdev.c
4279
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/netdev.c
4285
set_bit(__E1000_DOWN, &adapter->state);
drivers/net/ethernet/intel/e1000e/netdev.c
4291
if (!(adapter->flags2 & FLAG2_NO_DISABLE_RX))
drivers/net/ethernet/intel/e1000e/netdev.c
4306
e1000_irq_disable(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
4308
napi_synchronize(&adapter->napi);
drivers/net/ethernet/intel/e1000e/netdev.c
4310
timer_delete_sync(&adapter->watchdog_timer);
drivers/net/ethernet/intel/e1000e/netdev.c
4311
timer_delete_sync(&adapter->phy_info_timer);
drivers/net/ethernet/intel/e1000e/netdev.c
4313
spin_lock(&adapter->stats64_lock);
drivers/net/ethernet/intel/e1000e/netdev.c
4314
e1000e_update_stats(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
4315
spin_unlock(&adapter->stats64_lock);
drivers/net/ethernet/intel/e1000e/netdev.c
4317
e1000e_flush_descriptors(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
4319
adapter->link_speed = 0;
drivers/net/ethernet/intel/e1000e/netdev.c
4320
adapter->link_duplex = 0;
drivers/net/ethernet/intel/e1000e/netdev.c
4324
(adapter->netdev->mtu > ETH_DATA_LEN) &&
drivers/net/ethernet/intel/e1000e/netdev.c
4328
if (!pci_channel_offline(adapter->pdev)) {
drivers/net/ethernet/intel/e1000e/netdev.c
4330
e1000e_reset(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
4332
e1000_flush_desc_rings(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
4334
e1000_clean_tx_ring(adapter->tx_ring);
drivers/net/ethernet/intel/e1000e/netdev.c
4335
e1000_clean_rx_ring(adapter->rx_ring);
drivers/net/ethernet/intel/e1000e/netdev.c
4338
void e1000e_reinit_locked(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000e/netdev.c
4341
while (test_and_set_bit(__E1000_RESETTING, &adapter->state))
drivers/net/ethernet/intel/e1000e/netdev.c
4343
e1000e_down(adapter, true);
drivers/net/ethernet/intel/e1000e/netdev.c
4344
e1000e_up(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
4345
clear_bit(__E1000_RESETTING, &adapter->state);
drivers/net/ethernet/intel/e1000e/netdev.c
4395
u64 e1000e_read_systim(struct e1000_adapter *adapter,
drivers/net/ethernet/intel/e1000e/netdev.c
4398
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/netdev.c
4427
if (adapter->flags2 & FLAG2_CHECK_SYSTIM_OVERFLOW)
drivers/net/ethernet/intel/e1000e/netdev.c
4439
struct e1000_adapter *adapter = container_of(cc, struct e1000_adapter,
drivers/net/ethernet/intel/e1000e/netdev.c
4442
return e1000e_read_systim(adapter, NULL);
drivers/net/ethernet/intel/e1000e/netdev.c
4453
static int e1000_sw_init(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000e/netdev.c
4455
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/e1000e/netdev.c
4457
adapter->rx_buffer_len = VLAN_ETH_FRAME_LEN + ETH_FCS_LEN;
drivers/net/ethernet/intel/e1000e/netdev.c
4458
adapter->rx_ps_bsize0 = 128;
drivers/net/ethernet/intel/e1000e/netdev.c
4459
adapter->max_frame_size = netdev->mtu + VLAN_ETH_HLEN + ETH_FCS_LEN;
drivers/net/ethernet/intel/e1000e/netdev.c
4460
adapter->min_frame_size = ETH_ZLEN + ETH_FCS_LEN;
drivers/net/ethernet/intel/e1000e/netdev.c
4461
adapter->tx_ring_count = E1000_DEFAULT_TXD;
drivers/net/ethernet/intel/e1000e/netdev.c
4462
adapter->rx_ring_count = E1000_DEFAULT_RXD;
drivers/net/ethernet/intel/e1000e/netdev.c
4464
spin_lock_init(&adapter->stats64_lock);
drivers/net/ethernet/intel/e1000e/netdev.c
4466
e1000e_set_interrupt_capability(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
4468
if (e1000_alloc_queues(adapter))
drivers/net/ethernet/intel/e1000e/netdev.c
4472
if (adapter->flags & FLAG_HAS_HW_TIMESTAMP) {
drivers/net/ethernet/intel/e1000e/netdev.c
4473
adapter->cc.read = e1000e_cyclecounter_read;
drivers/net/ethernet/intel/e1000e/netdev.c
4474
adapter->cc.mask = CYCLECOUNTER_MASK(64);
drivers/net/ethernet/intel/e1000e/netdev.c
4475
adapter->cc.mult = 1;
drivers/net/ethernet/intel/e1000e/netdev.c
4478
spin_lock_init(&adapter->systim_lock);
drivers/net/ethernet/intel/e1000e/netdev.c
4479
INIT_WORK(&adapter->tx_hwtstamp_work, e1000e_tx_hwtstamp_work);
drivers/net/ethernet/intel/e1000e/netdev.c
4483
e1000_irq_disable(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
4485
set_bit(__E1000_DOWN, &adapter->state);
drivers/net/ethernet/intel/e1000e/netdev.c
4497
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000e/netdev.c
4498
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/netdev.c
4503
adapter->flags &= ~FLAG_MSI_TEST_FAILED;
drivers/net/ethernet/intel/e1000e/netdev.c
4519
static int e1000_test_msi_interrupt(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000e/netdev.c
4521
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/e1000e/netdev.c
4522
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/netdev.c
4530
e1000_free_irq(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
4531
e1000e_reset_interrupt_capability(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
4536
adapter->flags |= FLAG_MSI_TEST_FAILED;
drivers/net/ethernet/intel/e1000e/netdev.c
4538
err = pci_enable_msi(adapter->pdev);
drivers/net/ethernet/intel/e1000e/netdev.c
4542
err = request_irq(adapter->pdev->irq, e1000_intr_msi_test, 0,
drivers/net/ethernet/intel/e1000e/netdev.c
4545
pci_disable_msi(adapter->pdev);
drivers/net/ethernet/intel/e1000e/netdev.c
4554
e1000_irq_enable(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
456
if (netif_msg_pktdata(adapter) &&
drivers/net/ethernet/intel/e1000e/netdev.c
4561
e1000_irq_disable(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
4565
if (adapter->flags & FLAG_MSI_TEST_FAILED) {
drivers/net/ethernet/intel/e1000e/netdev.c
4566
adapter->int_mode = E1000E_INT_MODE_LEGACY;
drivers/net/ethernet/intel/e1000e/netdev.c
4572
free_irq(adapter->pdev->irq, netdev);
drivers/net/ethernet/intel/e1000e/netdev.c
4573
pci_disable_msi(adapter->pdev);
drivers/net/ethernet/intel/e1000e/netdev.c
4576
e1000e_set_interrupt_capability(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
4577
return e1000_request_irq(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
4586
static int e1000_test_msi(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000e/netdev.c
4591
if (!(adapter->flags & FLAG_MSI_ENABLED))
drivers/net/ethernet/intel/e1000e/netdev.c
4595
pci_read_config_word(adapter->pdev, PCI_COMMAND, &pci_cmd);
drivers/net/ethernet/intel/e1000e/netdev.c
4597
pci_write_config_word(adapter->pdev, PCI_COMMAND,
drivers/net/ethernet/intel/e1000e/netdev.c
4600
err = e1000_test_msi_interrupt(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
4604
pci_read_config_word(adapter->pdev, PCI_COMMAND, &pci_cmd);
drivers/net/ethernet/intel/e1000e/netdev.c
4606
pci_write_config_word(adapter->pdev, PCI_COMMAND, pci_cmd);
drivers/net/ethernet/intel/e1000e/netdev.c
462
adapter->rx_buffer_len,
drivers/net/ethernet/intel/e1000e/netdev.c
4626
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000e/netdev.c
4627
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/netdev.c
4628
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/intel/e1000e/netdev.c
4633
if (test_bit(__E1000_TESTING, &adapter->state))
drivers/net/ethernet/intel/e1000e/netdev.c
4642
err = e1000e_setup_tx_resources(adapter->tx_ring);
drivers/net/ethernet/intel/e1000e/netdev.c
4647
err = e1000e_setup_rx_resources(adapter->rx_ring);
drivers/net/ethernet/intel/e1000e/netdev.c
4654
if (adapter->flags & FLAG_HAS_AMT) {
drivers/net/ethernet/intel/e1000e/netdev.c
4655
e1000e_get_hw_control(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
4656
e1000e_reset(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
4659
e1000e_power_up_phy(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
4661
adapter->mng_vlan_id = E1000_MNG_VLAN_NONE;
drivers/net/ethernet/intel/e1000e/netdev.c
4662
if ((adapter->hw.mng_cookie.status & E1000_MNG_DHCP_COOKIE_STATUS_VLAN))
drivers/net/ethernet/intel/e1000e/netdev.c
4663
e1000_update_mng_vlan(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
4666
cpu_latency_qos_add_request(&adapter->pm_qos_req, PM_QOS_DEFAULT_VALUE);
drivers/net/ethernet/intel/e1000e/netdev.c
4673
e1000_configure(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
4675
err = e1000_request_irq(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
4683
if (adapter->int_mode != E1000E_INT_MODE_LEGACY) {
drivers/net/ethernet/intel/e1000e/netdev.c
4684
err = e1000_test_msi(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
4692
clear_bit(__E1000_DOWN, &adapter->state);
drivers/net/ethernet/intel/e1000e/netdev.c
4694
if (adapter->int_mode == E1000E_INT_MODE_MSIX)
drivers/net/ethernet/intel/e1000e/netdev.c
4695
irq = adapter->msix_entries[0].vector;
drivers/net/ethernet/intel/e1000e/netdev.c
4697
irq = adapter->pdev->irq;
drivers/net/ethernet/intel/e1000e/netdev.c
4699
netif_napi_set_irq(&adapter->napi, irq);
drivers/net/ethernet/intel/e1000e/netdev.c
4700
napi_enable(&adapter->napi);
drivers/net/ethernet/intel/e1000e/netdev.c
4701
netif_queue_set_napi(netdev, 0, NETDEV_QUEUE_TYPE_RX, &adapter->napi);
drivers/net/ethernet/intel/e1000e/netdev.c
4702
netif_queue_set_napi(netdev, 0, NETDEV_QUEUE_TYPE_TX, &adapter->napi);
drivers/net/ethernet/intel/e1000e/netdev.c
4704
e1000_irq_enable(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
4706
adapter->tx_hang_recheck = false;
drivers/net/ethernet/intel/e1000e/netdev.c
4711
e1000e_trigger_lsc(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
4716
cpu_latency_qos_remove_request(&adapter->pm_qos_req);
drivers/net/ethernet/intel/e1000e/netdev.c
4717
e1000e_release_hw_control(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
4718
e1000_power_down_phy(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
4719
e1000e_free_rx_resources(adapter->rx_ring);
drivers/net/ethernet/intel/e1000e/netdev.c
4721
e1000e_free_tx_resources(adapter->tx_ring);
drivers/net/ethernet/intel/e1000e/netdev.c
4723
e1000e_reset(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
4742
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000e/netdev.c
4743
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/intel/e1000e/netdev.c
4746
while (test_bit(__E1000_RESETTING, &adapter->state) && count--)
drivers/net/ethernet/intel/e1000e/netdev.c
4749
WARN_ON(test_bit(__E1000_RESETTING, &adapter->state));
drivers/net/ethernet/intel/e1000e/netdev.c
4754
e1000e_down(adapter, true);
drivers/net/ethernet/intel/e1000e/netdev.c
4755
e1000_free_irq(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
4763
napi_disable(&adapter->napi);
drivers/net/ethernet/intel/e1000e/netdev.c
4765
e1000e_free_tx_resources(adapter->tx_ring);
drivers/net/ethernet/intel/e1000e/netdev.c
4766
e1000e_free_rx_resources(adapter->rx_ring);
drivers/net/ethernet/intel/e1000e/netdev.c
4771
if (adapter->hw.mng_cookie.status & E1000_MNG_DHCP_COOKIE_STATUS_VLAN)
drivers/net/ethernet/intel/e1000e/netdev.c
4773
adapter->mng_vlan_id);
drivers/net/ethernet/intel/e1000e/netdev.c
4778
if ((adapter->flags & FLAG_HAS_AMT) &&
drivers/net/ethernet/intel/e1000e/netdev.c
4779
!test_bit(__E1000_TESTING, &adapter->state))
drivers/net/ethernet/intel/e1000e/netdev.c
4780
e1000e_release_hw_control(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
4782
cpu_latency_qos_remove_request(&adapter->pm_qos_req);
drivers/net/ethernet/intel/e1000e/netdev.c
4798
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000e/netdev.c
4799
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/netdev.c
4806
memcpy(adapter->hw.mac.addr, addr->sa_data, netdev->addr_len);
drivers/net/ethernet/intel/e1000e/netdev.c
4808
hw->mac.ops.rar_set(&adapter->hw, adapter->hw.mac.addr, 0);
drivers/net/ethernet/intel/e1000e/netdev.c
4810
if (adapter->flags & FLAG_RESET_OVERWRITES_LAA) {
drivers/net/ethernet/intel/e1000e/netdev.c
4812
e1000e_set_laa_state_82571(&adapter->hw, 1);
drivers/net/ethernet/intel/e1000e/netdev.c
4821
hw->mac.ops.rar_set(&adapter->hw, adapter->hw.mac.addr,
drivers/net/ethernet/intel/e1000e/netdev.c
4822
adapter->hw.mac.rar_entry_count - 1);
drivers/net/ethernet/intel/e1000e/netdev.c
4838
struct e1000_adapter *adapter = container_of(work,
drivers/net/ethernet/intel/e1000e/netdev.c
4841
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/netdev.c
4843
if (test_bit(__E1000_DOWN, &adapter->state))
drivers/net/ethernet/intel/e1000e/netdev.c
4862
struct e1000_adapter *adapter = timer_container_of(adapter, t,
drivers/net/ethernet/intel/e1000e/netdev.c
4865
if (test_bit(__E1000_DOWN, &adapter->state))
drivers/net/ethernet/intel/e1000e/netdev.c
4868
schedule_work(&adapter->update_phy_task);
drivers/net/ethernet/intel/e1000e/netdev.c
4877
static void e1000e_update_phy_stats(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000e/netdev.c
4879
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/netdev.c
4906
adapter->stats.scc += phy_data;
drivers/net/ethernet/intel/e1000e/netdev.c
4912
adapter->stats.ecol += phy_data;
drivers/net/ethernet/intel/e1000e/netdev.c
4918
adapter->stats.mcc += phy_data;
drivers/net/ethernet/intel/e1000e/netdev.c
4924
adapter->stats.latecol += phy_data;
drivers/net/ethernet/intel/e1000e/netdev.c
4936
adapter->stats.dc += phy_data;
drivers/net/ethernet/intel/e1000e/netdev.c
4942
adapter->stats.tncrs += phy_data;
drivers/net/ethernet/intel/e1000e/netdev.c
495
static void e1000e_systim_to_hwtstamp(struct e1000_adapter *adapter,
drivers/net/ethernet/intel/e1000e/netdev.c
4952
static void e1000e_update_stats(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000e/netdev.c
4954
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/e1000e/netdev.c
4955
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/netdev.c
4956
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/intel/e1000e/netdev.c
4961
if (adapter->link_speed == 0)
drivers/net/ethernet/intel/e1000e/netdev.c
4966
adapter->stats.crcerrs += er32(CRCERRS);
drivers/net/ethernet/intel/e1000e/netdev.c
4967
adapter->stats.gprc += er32(GPRC);
drivers/net/ethernet/intel/e1000e/netdev.c
4968
adapter->stats.gorc += er32(GORCL);
drivers/net/ethernet/intel/e1000e/netdev.c
4970
adapter->stats.bprc += er32(BPRC);
drivers/net/ethernet/intel/e1000e/netdev.c
4971
adapter->stats.mprc += er32(MPRC);
drivers/net/ethernet/intel/e1000e/netdev.c
4972
adapter->stats.roc += er32(ROC);
drivers/net/ethernet/intel/e1000e/netdev.c
4974
adapter->stats.mpc += er32(MPC);
drivers/net/ethernet/intel/e1000e/netdev.c
4977
if (adapter->link_duplex == HALF_DUPLEX) {
drivers/net/ethernet/intel/e1000e/netdev.c
4978
if (adapter->flags2 & FLAG2_HAS_PHY_STATS) {
drivers/net/ethernet/intel/e1000e/netdev.c
4979
e1000e_update_phy_stats(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
4981
adapter->stats.scc += er32(SCC);
drivers/net/ethernet/intel/e1000e/netdev.c
4982
adapter->stats.ecol += er32(ECOL);
drivers/net/ethernet/intel/e1000e/netdev.c
4983
adapter->stats.mcc += er32(MCC);
drivers/net/ethernet/intel/e1000e/netdev.c
4984
adapter->stats.latecol += er32(LATECOL);
drivers/net/ethernet/intel/e1000e/netdev.c
4985
adapter->stats.dc += er32(DC);
drivers/net/ethernet/intel/e1000e/netdev.c
4991
adapter->stats.tncrs += er32(TNCRS);
drivers/net/ethernet/intel/e1000e/netdev.c
4993
adapter->stats.colc += hw->mac.collision_delta;
drivers/net/ethernet/intel/e1000e/netdev.c
4996
adapter->stats.xonrxc += er32(XONRXC);
drivers/net/ethernet/intel/e1000e/netdev.c
4997
adapter->stats.xontxc += er32(XONTXC);
drivers/net/ethernet/intel/e1000e/netdev.c
4998
adapter->stats.xoffrxc += er32(XOFFRXC);
drivers/net/ethernet/intel/e1000e/netdev.c
4999
adapter->stats.xofftxc += er32(XOFFTXC);
drivers/net/ethernet/intel/e1000e/netdev.c
5000
adapter->stats.gptc += er32(GPTC);
drivers/net/ethernet/intel/e1000e/netdev.c
5001
adapter->stats.gotc += er32(GOTCL);
drivers/net/ethernet/intel/e1000e/netdev.c
5003
adapter->stats.rnbc += er32(RNBC);
drivers/net/ethernet/intel/e1000e/netdev.c
5004
adapter->stats.ruc += er32(RUC);
drivers/net/ethernet/intel/e1000e/netdev.c
5006
adapter->stats.mptc += er32(MPTC);
drivers/net/ethernet/intel/e1000e/netdev.c
5007
adapter->stats.bptc += er32(BPTC);
drivers/net/ethernet/intel/e1000e/netdev.c
5012
adapter->stats.tpt += hw->mac.tx_packet_delta;
drivers/net/ethernet/intel/e1000e/netdev.c
5014
adapter->stats.algnerrc += er32(ALGNERRC);
drivers/net/ethernet/intel/e1000e/netdev.c
5015
adapter->stats.rxerrc += er32(RXERRC);
drivers/net/ethernet/intel/e1000e/netdev.c
5016
adapter->stats.cexterr += er32(CEXTERR);
drivers/net/ethernet/intel/e1000e/netdev.c
5017
adapter->stats.tsctc += er32(TSCTC);
drivers/net/ethernet/intel/e1000e/netdev.c
5018
adapter->stats.tsctfc += er32(TSCTFC);
drivers/net/ethernet/intel/e1000e/netdev.c
502
spin_lock_irqsave(&adapter->systim_lock, flags);
drivers/net/ethernet/intel/e1000e/netdev.c
5021
netdev->stats.multicast = adapter->stats.mprc;
drivers/net/ethernet/intel/e1000e/netdev.c
5022
netdev->stats.collisions = adapter->stats.colc;
drivers/net/ethernet/intel/e1000e/netdev.c
5029
netdev->stats.rx_errors = adapter->stats.rxerrc +
drivers/net/ethernet/intel/e1000e/netdev.c
503
ns = timecounter_cyc2time(&adapter->tc, systim);
drivers/net/ethernet/intel/e1000e/netdev.c
5030
adapter->stats.crcerrs + adapter->stats.algnerrc +
drivers/net/ethernet/intel/e1000e/netdev.c
5031
adapter->stats.ruc + adapter->stats.roc + adapter->stats.cexterr;
drivers/net/ethernet/intel/e1000e/netdev.c
5032
netdev->stats.rx_length_errors = adapter->stats.ruc +
drivers/net/ethernet/intel/e1000e/netdev.c
5033
adapter->stats.roc;
drivers/net/ethernet/intel/e1000e/netdev.c
5034
netdev->stats.rx_crc_errors = adapter->stats.crcerrs;
drivers/net/ethernet/intel/e1000e/netdev.c
5035
netdev->stats.rx_frame_errors = adapter->stats.algnerrc;
drivers/net/ethernet/intel/e1000e/netdev.c
5036
netdev->stats.rx_missed_errors = adapter->stats.mpc;
drivers/net/ethernet/intel/e1000e/netdev.c
5039
netdev->stats.tx_errors = adapter->stats.ecol + adapter->stats.latecol;
drivers/net/ethernet/intel/e1000e/netdev.c
504
spin_unlock_irqrestore(&adapter->systim_lock, flags);
drivers/net/ethernet/intel/e1000e/netdev.c
5040
netdev->stats.tx_aborted_errors = adapter->stats.ecol;
drivers/net/ethernet/intel/e1000e/netdev.c
5041
netdev->stats.tx_window_errors = adapter->stats.latecol;
drivers/net/ethernet/intel/e1000e/netdev.c
5042
netdev->stats.tx_carrier_errors = adapter->stats.tncrs;
drivers/net/ethernet/intel/e1000e/netdev.c
5047
adapter->stats.mgptc += er32(MGTPTC);
drivers/net/ethernet/intel/e1000e/netdev.c
5048
adapter->stats.mgprc += er32(MGTPRC);
drivers/net/ethernet/intel/e1000e/netdev.c
5049
adapter->stats.mgpdc += er32(MGTPDC);
drivers/net/ethernet/intel/e1000e/netdev.c
5055
adapter->corr_errors +=
drivers/net/ethernet/intel/e1000e/netdev.c
5057
adapter->uncorr_errors +=
drivers/net/ethernet/intel/e1000e/netdev.c
5066
static void e1000_phy_read_status(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000e/netdev.c
5068
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/netdev.c
5069
struct e1000_phy_regs *phy = &adapter->phy_regs;
drivers/net/ethernet/intel/e1000e/netdev.c
5071
if (!pm_runtime_suspended((&adapter->pdev->dev)->parent) &&
drivers/net/ethernet/intel/e1000e/netdev.c
5073
(adapter->hw.phy.media_type == e1000_media_type_copper)) {
drivers/net/ethernet/intel/e1000e/netdev.c
5104
static void e1000_print_link_info(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000e/netdev.c
5106
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/netdev.c
5110
netdev_info(adapter->netdev,
drivers/net/ethernet/intel/e1000e/netdev.c
5112
adapter->link_speed,
drivers/net/ethernet/intel/e1000e/netdev.c
5113
adapter->link_duplex == FULL_DUPLEX ? "Full" : "Half",
drivers/net/ethernet/intel/e1000e/netdev.c
5119
static bool e1000e_has_link(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000e/netdev.c
5121
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/netdev.c
5161
static void e1000e_enable_receives(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000e/netdev.c
5164
if ((adapter->flags & FLAG_RX_NEEDS_RESTART) &&
drivers/net/ethernet/intel/e1000e/netdev.c
5165
(adapter->flags & FLAG_RESTART_NOW)) {
drivers/net/ethernet/intel/e1000e/netdev.c
5166
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/netdev.c
5170
adapter->flags &= ~FLAG_RESTART_NOW;
drivers/net/ethernet/intel/e1000e/netdev.c
5174
static void e1000e_check_82574_phy_workaround(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000e/netdev.c
5176
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/netdev.c
5182
adapter->phy_hang_count++;
drivers/net/ethernet/intel/e1000e/netdev.c
5184
adapter->phy_hang_count = 0;
drivers/net/ethernet/intel/e1000e/netdev.c
5186
if (adapter->phy_hang_count > 1) {
drivers/net/ethernet/intel/e1000e/netdev.c
5187
adapter->phy_hang_count = 0;
drivers/net/ethernet/intel/e1000e/netdev.c
5189
schedule_work(&adapter->reset_task);
drivers/net/ethernet/intel/e1000e/netdev.c
5199
struct e1000_adapter *adapter = timer_container_of(adapter, t,
drivers/net/ethernet/intel/e1000e/netdev.c
520
static void e1000e_rx_hwtstamp(struct e1000_adapter *adapter, u32 status,
drivers/net/ethernet/intel/e1000e/netdev.c
5203
schedule_work(&adapter->watchdog_task);
drivers/net/ethernet/intel/e1000e/netdev.c
5210
struct e1000_adapter *adapter = container_of(work,
drivers/net/ethernet/intel/e1000e/netdev.c
5213
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/e1000e/netdev.c
5214
struct e1000_mac_info *mac = &adapter->hw.mac;
drivers/net/ethernet/intel/e1000e/netdev.c
5215
struct e1000_phy_info *phy = &adapter->hw.phy;
drivers/net/ethernet/intel/e1000e/netdev.c
5216
struct e1000_ring *tx_ring = adapter->tx_ring;
drivers/net/ethernet/intel/e1000e/netdev.c
5218
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/netdev.c
5221
if (test_bit(__E1000_DOWN, &adapter->state))
drivers/net/ethernet/intel/e1000e/netdev.c
5224
link = e1000e_has_link(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
5229
e1000e_enable_receives(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
523
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/netdev.c
5234
(adapter->mng_vlan_id != adapter->hw.mng_cookie.vlan_id))
drivers/net/ethernet/intel/e1000e/netdev.c
5235
e1000_update_mng_vlan(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
5257
e1000_phy_hw_reset(&adapter->hw);
drivers/net/ethernet/intel/e1000e/netdev.c
526
if (!(adapter->flags & FLAG_HAS_HW_TIMESTAMP) ||
drivers/net/ethernet/intel/e1000e/netdev.c
5262
e1000_phy_read_status(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
5263
mac->ops.get_link_up_info(&adapter->hw,
drivers/net/ethernet/intel/e1000e/netdev.c
5264
&adapter->link_speed,
drivers/net/ethernet/intel/e1000e/netdev.c
5265
&adapter->link_duplex);
drivers/net/ethernet/intel/e1000e/netdev.c
5266
e1000_print_link_info(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
5280
(adapter->link_speed == SPEED_10 ||
drivers/net/ethernet/intel/e1000e/netdev.c
5281
adapter->link_speed == SPEED_100) &&
drivers/net/ethernet/intel/e1000e/netdev.c
5282
(adapter->link_duplex == HALF_DUPLEX)) {
drivers/net/ethernet/intel/e1000e/netdev.c
5292
adapter->tx_timeout_factor = 1;
drivers/net/ethernet/intel/e1000e/netdev.c
5293
switch (adapter->link_speed) {
drivers/net/ethernet/intel/e1000e/netdev.c
5296
adapter->tx_timeout_factor = 16;
drivers/net/ethernet/intel/e1000e/netdev.c
5300
adapter->tx_timeout_factor = 10;
drivers/net/ethernet/intel/e1000e/netdev.c
5307
if ((adapter->flags & FLAG_TARC_SPEED_MODE_BIT) &&
drivers/net/ethernet/intel/e1000e/netdev.c
5332
if (!test_bit(__E1000_DOWN, &adapter->state))
drivers/net/ethernet/intel/e1000e/netdev.c
5333
mod_timer(&adapter->phy_info_timer,
drivers/net/ethernet/intel/e1000e/netdev.c
5338
adapter->link_speed = 0;
drivers/net/ethernet/intel/e1000e/netdev.c
5339
adapter->link_duplex = 0;
drivers/net/ethernet/intel/e1000e/netdev.c
5344
if (!test_bit(__E1000_DOWN, &adapter->state))
drivers/net/ethernet/intel/e1000e/netdev.c
5345
mod_timer(&adapter->phy_info_timer,
drivers/net/ethernet/intel/e1000e/netdev.c
5352
if (adapter->flags & FLAG_RX_NEEDS_RESTART)
drivers/net/ethernet/intel/e1000e/netdev.c
5353
adapter->flags |= FLAG_RESTART_NOW;
drivers/net/ethernet/intel/e1000e/netdev.c
5361
spin_lock(&adapter->stats64_lock);
drivers/net/ethernet/intel/e1000e/netdev.c
5362
e1000e_update_stats(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
5364
mac->tx_packet_delta = adapter->stats.tpt - adapter->tpt_old;
drivers/net/ethernet/intel/e1000e/netdev.c
5365
adapter->tpt_old = adapter->stats.tpt;
drivers/net/ethernet/intel/e1000e/netdev.c
5366
mac->collision_delta = adapter->stats.colc - adapter->colc_old;
drivers/net/ethernet/intel/e1000e/netdev.c
5367
adapter->colc_old = adapter->stats.colc;
drivers/net/ethernet/intel/e1000e/netdev.c
5369
adapter->gorc = adapter->stats.gorc - adapter->gorc_old;
drivers/net/ethernet/intel/e1000e/netdev.c
5370
adapter->gorc_old = adapter->stats.gorc;
drivers/net/ethernet/intel/e1000e/netdev.c
5371
adapter->gotc = adapter->stats.gotc - adapter->gotc_old;
drivers/net/ethernet/intel/e1000e/netdev.c
5372
adapter->gotc_old = adapter->stats.gotc;
drivers/net/ethernet/intel/e1000e/netdev.c
5373
spin_unlock(&adapter->stats64_lock);
drivers/net/ethernet/intel/e1000e/netdev.c
5381
adapter->flags |= FLAG_RESTART_NOW;
drivers/net/ethernet/intel/e1000e/netdev.c
5384
if (adapter->flags & FLAG_RESTART_NOW) {
drivers/net/ethernet/intel/e1000e/netdev.c
5385
schedule_work(&adapter->reset_task);
drivers/net/ethernet/intel/e1000e/netdev.c
5390
e1000e_update_adaptive(&adapter->hw);
drivers/net/ethernet/intel/e1000e/netdev.c
5393
if (adapter->itr_setting == 4) {
drivers/net/ethernet/intel/e1000e/netdev.c
5398
u32 goc = (adapter->gotc + adapter->gorc) / 10000;
drivers/net/ethernet/intel/e1000e/netdev.c
5399
u32 dif = (adapter->gotc > adapter->gorc ?
drivers/net/ethernet/intel/e1000e/netdev.c
540
e1000e_systim_to_hwtstamp(adapter, skb_hwtstamps(skb), rxstmp);
drivers/net/ethernet/intel/e1000e/netdev.c
5400
adapter->gotc - adapter->gorc :
drivers/net/ethernet/intel/e1000e/netdev.c
5401
adapter->gorc - adapter->gotc) / 10000;
drivers/net/ethernet/intel/e1000e/netdev.c
5404
e1000e_write_itr(adapter, itr);
drivers/net/ethernet/intel/e1000e/netdev.c
5408
if (adapter->msix_entries)
drivers/net/ethernet/intel/e1000e/netdev.c
5409
ew32(ICS, adapter->rx_ring->ims_val);
drivers/net/ethernet/intel/e1000e/netdev.c
5414
e1000e_flush_descriptors(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
5417
adapter->detect_tx_hung = true;
drivers/net/ethernet/intel/e1000e/netdev.c
542
adapter->flags2 &= ~FLAG2_CHECK_RX_HWTSTAMP;
drivers/net/ethernet/intel/e1000e/netdev.c
5423
hw->mac.ops.rar_set(hw, adapter->hw.mac.addr, 0);
drivers/net/ethernet/intel/e1000e/netdev.c
5425
if (adapter->flags2 & FLAG2_CHECK_PHY_HANG)
drivers/net/ethernet/intel/e1000e/netdev.c
5426
e1000e_check_82574_phy_workaround(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
5429
if (adapter->hwtstamp_config.rx_filter != HWTSTAMP_FILTER_NONE) {
drivers/net/ethernet/intel/e1000e/netdev.c
5430
if ((adapter->flags2 & FLAG2_CHECK_RX_HWTSTAMP) &&
drivers/net/ethernet/intel/e1000e/netdev.c
5433
adapter->rx_hwtstamp_cleared++;
drivers/net/ethernet/intel/e1000e/netdev.c
5435
adapter->flags2 |= FLAG2_CHECK_RX_HWTSTAMP;
drivers/net/ethernet/intel/e1000e/netdev.c
5440
if (!test_bit(__E1000_DOWN, &adapter->state))
drivers/net/ethernet/intel/e1000e/netdev.c
5441
mod_timer(&adapter->watchdog_timer,
drivers/net/ethernet/intel/e1000e/netdev.c
5522
struct e1000_adapter *adapter = tx_ring->adapter;
drivers/net/ethernet/intel/e1000e/netdev.c
553
static void e1000_receive_skb(struct e1000_adapter *adapter,
drivers/net/ethernet/intel/e1000e/netdev.c
5577
struct e1000_adapter *adapter = tx_ring->adapter;
drivers/net/ethernet/intel/e1000e/netdev.c
5578
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/intel/e1000e/netdev.c
559
e1000e_rx_hwtstamp(adapter, staterr, skb);
drivers/net/ethernet/intel/e1000e/netdev.c
566
napi_gro_receive(&adapter->napi, skb);
drivers/net/ethernet/intel/e1000e/netdev.c
5669
struct e1000_adapter *adapter = tx_ring->adapter;
drivers/net/ethernet/intel/e1000e/netdev.c
5717
tx_desc->lower.data |= cpu_to_le32(adapter->txd_cmd);
drivers/net/ethernet/intel/e1000e/netdev.c
5734
static int e1000_transfer_dhcp_info(struct e1000_adapter *adapter,
drivers/net/ethernet/intel/e1000e/netdev.c
5737
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/netdev.c
5741
!((skb_vlan_tag_get(skb) == adapter->hw.mng_cookie.vlan_id) &&
drivers/net/ethernet/intel/e1000e/netdev.c
5742
(adapter->hw.mng_cookie.status &
drivers/net/ethernet/intel/e1000e/netdev.c
575
static void e1000_rx_checksum(struct e1000_adapter *adapter, u32 status_err,
drivers/net/ethernet/intel/e1000e/netdev.c
5773
struct e1000_adapter *adapter = tx_ring->adapter;
drivers/net/ethernet/intel/e1000e/netdev.c
5775
netif_stop_queue(adapter->netdev);
drivers/net/ethernet/intel/e1000e/netdev.c
5789
netif_start_queue(adapter->netdev);
drivers/net/ethernet/intel/e1000e/netdev.c
5790
++adapter->restart_queue;
drivers/net/ethernet/intel/e1000e/netdev.c
5806
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000e/netdev.c
5807
struct e1000_ring *tx_ring = adapter->tx_ring;
drivers/net/ethernet/intel/e1000e/netdev.c
5818
if (test_bit(__E1000_DOWN, &adapter->state)) {
drivers/net/ethernet/intel/e1000e/netdev.c
584
if (!(adapter->netdev->features & NETIF_F_RXCSUM))
drivers/net/ethernet/intel/e1000e/netdev.c
5864
count += DIV_ROUND_UP(len, adapter->tx_fifo_limit);
drivers/net/ethernet/intel/e1000e/netdev.c
5869
adapter->tx_fifo_limit);
drivers/net/ethernet/intel/e1000e/netdev.c
5871
if (adapter->hw.mac.tx_pkt_filtering)
drivers/net/ethernet/intel/e1000e/netdev.c
5872
e1000_transfer_dhcp_info(adapter, skb);
drivers/net/ethernet/intel/e1000e/netdev.c
5910
count = e1000_tx_map(tx_ring, skb, first, adapter->tx_fifo_limit,
drivers/net/ethernet/intel/e1000e/netdev.c
5914
(adapter->flags & FLAG_HAS_HW_TIMESTAMP)) {
drivers/net/ethernet/intel/e1000e/netdev.c
5915
if (!adapter->tx_hwtstamp_skb) {
drivers/net/ethernet/intel/e1000e/netdev.c
5918
adapter->tx_hwtstamp_skb = skb_get(skb);
drivers/net/ethernet/intel/e1000e/netdev.c
5919
adapter->tx_hwtstamp_start = jiffies;
drivers/net/ethernet/intel/e1000e/netdev.c
5920
schedule_work(&adapter->tx_hwtstamp_work);
drivers/net/ethernet/intel/e1000e/netdev.c
5922
adapter->tx_hwtstamp_skipped++;
drivers/net/ethernet/intel/e1000e/netdev.c
5934
adapter->tx_fifo_limit) + 4));
drivers/net/ethernet/intel/e1000e/netdev.c
5938
if (adapter->flags2 & FLAG2_PCIM2PCI_ARBITER_WA)
drivers/net/ethernet/intel/e1000e/netdev.c
594
adapter->hw_csum_err++;
drivers/net/ethernet/intel/e1000e/netdev.c
5960
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000e/netdev.c
5963
adapter->tx_timeout_count++;
drivers/net/ethernet/intel/e1000e/netdev.c
5964
schedule_work(&adapter->reset_task);
drivers/net/ethernet/intel/e1000e/netdev.c
5969
struct e1000_adapter *adapter;
drivers/net/ethernet/intel/e1000e/netdev.c
5970
adapter = container_of(work, struct e1000_adapter, reset_task);
drivers/net/ethernet/intel/e1000e/netdev.c
5974
if (test_bit(__E1000_DOWN, &adapter->state)) {
drivers/net/ethernet/intel/e1000e/netdev.c
5979
if (!(adapter->flags & FLAG_RESTART_NOW)) {
drivers/net/ethernet/intel/e1000e/netdev.c
5980
e1000e_dump(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
5983
e1000e_reinit_locked(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
5997
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000e/netdev.c
5999
spin_lock(&adapter->stats64_lock);
drivers/net/ethernet/intel/e1000e/netdev.c
6000
e1000e_update_stats(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
6002
stats->rx_bytes = adapter->stats.gorc;
drivers/net/ethernet/intel/e1000e/netdev.c
6003
stats->rx_packets = adapter->stats.gprc;
drivers/net/ethernet/intel/e1000e/netdev.c
6004
stats->tx_bytes = adapter->stats.gotc;
drivers/net/ethernet/intel/e1000e/netdev.c
6005
stats->tx_packets = adapter->stats.gptc;
drivers/net/ethernet/intel/e1000e/netdev.c
6006
stats->multicast = adapter->stats.mprc;
drivers/net/ethernet/intel/e1000e/netdev.c
6007
stats->collisions = adapter->stats.colc;
drivers/net/ethernet/intel/e1000e/netdev.c
6014
stats->rx_errors = adapter->stats.rxerrc +
drivers/net/ethernet/intel/e1000e/netdev.c
6015
adapter->stats.crcerrs + adapter->stats.algnerrc +
drivers/net/ethernet/intel/e1000e/netdev.c
6016
adapter->stats.ruc + adapter->stats.roc + adapter->stats.cexterr;
drivers/net/ethernet/intel/e1000e/netdev.c
6017
stats->rx_length_errors = adapter->stats.ruc + adapter->stats.roc;
drivers/net/ethernet/intel/e1000e/netdev.c
6018
stats->rx_crc_errors = adapter->stats.crcerrs;
drivers/net/ethernet/intel/e1000e/netdev.c
6019
stats->rx_frame_errors = adapter->stats.algnerrc;
drivers/net/ethernet/intel/e1000e/netdev.c
6020
stats->rx_missed_errors = adapter->stats.mpc;
drivers/net/ethernet/intel/e1000e/netdev.c
6023
stats->tx_errors = adapter->stats.ecol + adapter->stats.latecol;
drivers/net/ethernet/intel/e1000e/netdev.c
6024
stats->tx_aborted_errors = adapter->stats.ecol;
drivers/net/ethernet/intel/e1000e/netdev.c
6025
stats->tx_window_errors = adapter->stats.latecol;
drivers/net/ethernet/intel/e1000e/netdev.c
6026
stats->tx_carrier_errors = adapter->stats.tncrs;
drivers/net/ethernet/intel/e1000e/netdev.c
6030
spin_unlock(&adapter->stats64_lock);
drivers/net/ethernet/intel/e1000e/netdev.c
604
adapter->hw_csum_good++;
drivers/net/ethernet/intel/e1000e/netdev.c
6042
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000e/netdev.c
6047
!(adapter->flags & FLAG_HAS_JUMBO_FRAMES)) {
drivers/net/ethernet/intel/e1000e/netdev.c
6053
if ((adapter->hw.mac.type >= e1000_pch2lan) &&
drivers/net/ethernet/intel/e1000e/netdev.c
6054
!(adapter->flags2 & FLAG2_CRC_STRIPPING) &&
drivers/net/ethernet/intel/e1000e/netdev.c
6060
while (test_and_set_bit(__E1000_RESETTING, &adapter->state))
drivers/net/ethernet/intel/e1000e/netdev.c
6063
adapter->max_frame_size = max_frame;
drivers/net/ethernet/intel/e1000e/netdev.c
6071
e1000e_down(adapter, true);
drivers/net/ethernet/intel/e1000e/netdev.c
6082
adapter->rx_buffer_len = 2048;
drivers/net/ethernet/intel/e1000e/netdev.c
6084
adapter->rx_buffer_len = 4096;
drivers/net/ethernet/intel/e1000e/netdev.c
6088
adapter->rx_buffer_len = VLAN_ETH_FRAME_LEN + ETH_FCS_LEN;
drivers/net/ethernet/intel/e1000e/netdev.c
609
struct e1000_adapter *adapter = rx_ring->adapter;
drivers/net/ethernet/intel/e1000e/netdev.c
6091
e1000e_up(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
6093
e1000e_reset(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
6097
clear_bit(__E1000_RESETTING, &adapter->state);
drivers/net/ethernet/intel/e1000e/netdev.c
610
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/netdev.c
6104
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000e/netdev.c
6107
if (adapter->hw.phy.media_type != e1000_media_type_copper)
drivers/net/ethernet/intel/e1000e/netdev.c
6112
data->phy_id = adapter->hw.phy.addr;
drivers/net/ethernet/intel/e1000e/netdev.c
6115
e1000_phy_read_status(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
6119
data->val_out = adapter->phy_regs.bmcr;
drivers/net/ethernet/intel/e1000e/netdev.c
6122
data->val_out = adapter->phy_regs.bmsr;
drivers/net/ethernet/intel/e1000e/netdev.c
6125
data->val_out = (adapter->hw.phy.id >> 16);
drivers/net/ethernet/intel/e1000e/netdev.c
6128
data->val_out = (adapter->hw.phy.id & 0xFFFF);
drivers/net/ethernet/intel/e1000e/netdev.c
6131
data->val_out = adapter->phy_regs.advertise;
drivers/net/ethernet/intel/e1000e/netdev.c
6134
data->val_out = adapter->phy_regs.lpa;
drivers/net/ethernet/intel/e1000e/netdev.c
6137
data->val_out = adapter->phy_regs.expansion;
drivers/net/ethernet/intel/e1000e/netdev.c
6140
data->val_out = adapter->phy_regs.ctrl1000;
drivers/net/ethernet/intel/e1000e/netdev.c
6143
data->val_out = adapter->phy_regs.stat1000;
drivers/net/ethernet/intel/e1000e/netdev.c
6146
data->val_out = adapter->phy_regs.estatus;
drivers/net/ethernet/intel/e1000e/netdev.c
6180
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000e/netdev.c
6183
ret_val = e1000e_config_hwtstamp(adapter, config, extack);
drivers/net/ethernet/intel/e1000e/netdev.c
620
schedule_work(&adapter->reset_task);
drivers/net/ethernet/intel/e1000e/netdev.c
6211
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000e/netdev.c
6213
*kernel_config = adapter->hwtstamp_config;
drivers/net/ethernet/intel/e1000e/netdev.c
6218
static int e1000_init_phy_wakeup(struct e1000_adapter *adapter, u32 wufc)
drivers/net/ethernet/intel/e1000e/netdev.c
6220
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/netdev.c
6240
for (i = 0; i < adapter->hw.mac.mta_reg_count; i++) {
drivers/net/ethernet/intel/e1000e/netdev.c
6249
hw->phy.ops.read_reg_page(&adapter->hw, BM_RCTL, &phy_reg);
drivers/net/ethernet/intel/e1000e/netdev.c
626
struct e1000_adapter *adapter = tx_ring->adapter;
drivers/net/ethernet/intel/e1000e/netdev.c
6266
hw->phy.ops.write_reg_page(&adapter->hw, BM_RCTL, phy_reg);
drivers/net/ethernet/intel/e1000e/netdev.c
627
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/netdev.c
6278
hw->phy.ops.write_reg_page(&adapter->hw, BM_WUFC, wufc);
drivers/net/ethernet/intel/e1000e/netdev.c
6279
hw->phy.ops.write_reg_page(&adapter->hw, BM_WUC, wuc);
drivers/net/ethernet/intel/e1000e/netdev.c
6295
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000e/netdev.c
6296
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/netdev.c
6315
static void e1000e_s0ix_entry_flow(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000e/netdev.c
6317
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/netdev.c
637
schedule_work(&adapter->reset_task);
drivers/net/ethernet/intel/e1000e/netdev.c
6464
static void e1000e_s0ix_exit_flow(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000e/netdev.c
6466
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/netdev.c
650
struct e1000_adapter *adapter = rx_ring->adapter;
drivers/net/ethernet/intel/e1000e/netdev.c
651
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/e1000e/netdev.c
652
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/intel/e1000e/netdev.c
657
unsigned int bufsz = adapter->rx_buffer_len;
drivers/net/ethernet/intel/e1000e/netdev.c
6597
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000e/netdev.c
6608
while (test_bit(__E1000_RESETTING, &adapter->state) && count--)
drivers/net/ethernet/intel/e1000e/netdev.c
6611
WARN_ON(test_bit(__E1000_RESETTING, &adapter->state));
drivers/net/ethernet/intel/e1000e/netdev.c
6614
e1000e_down(adapter, false);
drivers/net/ethernet/intel/e1000e/netdev.c
6615
e1000_free_irq(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
6619
e1000e_reset_interrupt_capability(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
6622
e1000e_disable_pcie_master(&adapter->hw);
drivers/net/ethernet/intel/e1000e/netdev.c
6630
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000e/netdev.c
6631
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/netdev.c
6639
wufc = adapter->wol;
drivers/net/ethernet/intel/e1000e/netdev.c
6648
e1000_setup_rctl(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
6660
if (!(adapter->flags2 & FLAG2_HAS_PHY_WAKEUP))
drivers/net/ethernet/intel/e1000e/netdev.c
6664
if (adapter->hw.phy.media_type == e1000_media_type_fiber ||
drivers/net/ethernet/intel/e1000e/netdev.c
6665
adapter->hw.phy.media_type ==
drivers/net/ethernet/intel/e1000e/netdev.c
6674
e1000e_power_up_phy(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
6676
if (adapter->flags & FLAG_IS_ICH)
drivers/net/ethernet/intel/e1000e/netdev.c
6677
e1000_suspend_workarounds_ich8lan(&adapter->hw);
drivers/net/ethernet/intel/e1000e/netdev.c
6679
if (adapter->flags2 & FLAG2_HAS_PHY_WAKEUP) {
drivers/net/ethernet/intel/e1000e/netdev.c
6681
retval = e1000_init_phy_wakeup(adapter, wufc);
drivers/net/ethernet/intel/e1000e/netdev.c
6695
e1000_power_down_phy(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
6698
if (adapter->hw.phy.type == e1000_phy_igp_3) {
drivers/net/ethernet/intel/e1000e/netdev.c
6699
e1000e_igp3_phy_powerdown_workaround_ich8lan(&adapter->hw);
drivers/net/ethernet/intel/e1000e/netdev.c
6717
adapter->eee_advert && hw->dev_spec.ich8lan.eee_lp_ability) {
drivers/net/ethernet/intel/e1000e/netdev.c
672
adapter->alloc_rx_buff_failed++;
drivers/net/ethernet/intel/e1000e/netdev.c
6725
if (adapter->eee_advert &
drivers/net/ethernet/intel/e1000e/netdev.c
6729
if (adapter->eee_advert &
drivers/net/ethernet/intel/e1000e/netdev.c
6745
e1000e_release_hw_control(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
6758
if (adapter->flags & FLAG_IS_QUAD_PORT) {
drivers/net/ethernet/intel/e1000e/netdev.c
679
adapter->rx_buffer_len,
drivers/net/ethernet/intel/e1000e/netdev.c
683
adapter->rx_dma_failed++;
drivers/net/ethernet/intel/e1000e/netdev.c
6880
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000e/netdev.c
6883
e1000e_set_interrupt_capability(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
6887
rc = e1000_request_irq(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
6891
e1000e_up(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
6904
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000e/netdev.c
6905
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/netdev.c
6908
if (adapter->flags2 & FLAG2_DISABLE_ASPM_L0S)
drivers/net/ethernet/intel/e1000e/netdev.c
6910
if (adapter->flags2 & FLAG2_DISABLE_ASPM_L1)
drivers/net/ethernet/intel/e1000e/netdev.c
6918
e1000_resume_workarounds_pchlan(&adapter->hw);
drivers/net/ethernet/intel/e1000e/netdev.c
6920
e1000e_power_up_phy(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
6923
if (adapter->flags2 & FLAG2_HAS_PHY_WAKEUP) {
drivers/net/ethernet/intel/e1000e/netdev.c
6926
e1e_rphy(&adapter->hw, BM_WUS, &phy_data);
drivers/net/ethernet/intel/e1000e/netdev.c
6936
e1e_wphy(&adapter->hw, BM_WUS, ~0);
drivers/net/ethernet/intel/e1000e/netdev.c
6952
e1000e_reset(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
6954
e1000_init_manageability_pt(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
6960
if (!(adapter->flags & FLAG_HAS_AMT))
drivers/net/ethernet/intel/e1000e/netdev.c
6961
e1000e_get_hw_control(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
697
if (adapter->flags2 & FLAG2_PCIM2PCI_ARBITER_WA)
drivers/net/ethernet/intel/e1000e/netdev.c
6975
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000e/netdev.c
6986
if (adapter->flags2 & FLAG2_ENABLE_S0IX_FLOWS)
drivers/net/ethernet/intel/e1000e/netdev.c
6987
e1000e_s0ix_entry_flow(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
6996
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000e/netdev.c
7001
if (adapter->flags2 & FLAG2_ENABLE_S0IX_FLOWS)
drivers/net/ethernet/intel/e1000e/netdev.c
7002
e1000e_s0ix_exit_flow(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
7014
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000e/netdev.c
7017
eee_lp = adapter->hw.dev_spec.ich8lan.eee_lp_ability;
drivers/net/ethernet/intel/e1000e/netdev.c
7019
if (!e1000e_has_link(adapter)) {
drivers/net/ethernet/intel/e1000e/netdev.c
7020
adapter->hw.dev_spec.ich8lan.eee_lp_ability = eee_lp;
drivers/net/ethernet/intel/e1000e/netdev.c
7031
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000e/netdev.c
7041
e1000e_up(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
7050
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000e/netdev.c
7055
while (test_bit(__E1000_RESETTING, &adapter->state) && count--)
drivers/net/ethernet/intel/e1000e/netdev.c
7058
WARN_ON(test_bit(__E1000_RESETTING, &adapter->state));
drivers/net/ethernet/intel/e1000e/netdev.c
7061
e1000e_down(adapter, false);
drivers/net/ethernet/intel/e1000e/netdev.c
7086
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000e/netdev.c
7088
if (adapter->msix_entries) {
drivers/net/ethernet/intel/e1000e/netdev.c
7092
msix_irq = adapter->msix_entries[vector].vector;
drivers/net/ethernet/intel/e1000e/netdev.c
7098
msix_irq = adapter->msix_entries[vector].vector;
drivers/net/ethernet/intel/e1000e/netdev.c
7104
msix_irq = adapter->msix_entries[vector].vector;
drivers/net/ethernet/intel/e1000e/netdev.c
7123
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000e/netdev.c
7125
switch (adapter->int_mode) {
drivers/net/ethernet/intel/e1000e/netdev.c
7127
e1000_intr_msix(adapter->pdev->irq, netdev);
drivers/net/ethernet/intel/e1000e/netdev.c
7130
if (disable_hardirq(adapter->pdev->irq))
drivers/net/ethernet/intel/e1000e/netdev.c
7131
e1000_intr_msi(adapter->pdev->irq, netdev);
drivers/net/ethernet/intel/e1000e/netdev.c
7132
enable_irq(adapter->pdev->irq);
drivers/net/ethernet/intel/e1000e/netdev.c
7135
if (disable_hardirq(adapter->pdev->irq))
drivers/net/ethernet/intel/e1000e/netdev.c
7136
e1000_intr(adapter->pdev->irq, netdev);
drivers/net/ethernet/intel/e1000e/netdev.c
7137
enable_irq(adapter->pdev->irq);
drivers/net/ethernet/intel/e1000e/netdev.c
7175
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000e/netdev.c
7176
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/netdev.c
7181
if (adapter->flags2 & FLAG2_DISABLE_ASPM_L0S)
drivers/net/ethernet/intel/e1000e/netdev.c
7183
if (adapter->flags2 & FLAG2_DISABLE_ASPM_L1)
drivers/net/ethernet/intel/e1000e/netdev.c
720
struct e1000_adapter *adapter = rx_ring->adapter;
drivers/net/ethernet/intel/e1000e/netdev.c
7200
e1000e_reset(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
721
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/e1000e/netdev.c
7219
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000e/netdev.c
722
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/intel/e1000e/netdev.c
7221
e1000_init_manageability_pt(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
7229
if (!(adapter->flags & FLAG_HAS_AMT))
drivers/net/ethernet/intel/e1000e/netdev.c
7230
e1000e_get_hw_control(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
7233
static void e1000_print_device_info(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000e/netdev.c
7235
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/netdev.c
7236
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/e1000e/netdev.c
7257
static void e1000_eeprom_checks(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000e/netdev.c
7259
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/netdev.c
7270
dev_warn(&adapter->pdev->dev,
drivers/net/ethernet/intel/e1000e/netdev.c
7278
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000e/netdev.c
7279
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/netdev.c
7299
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000e/netdev.c
7303
adapter->flags |= FLAG_TSO_FORCE;
drivers/net/ethernet/intel/e1000e/netdev.c
7312
adapter->flags2 &= ~FLAG2_CRC_STRIPPING;
drivers/net/ethernet/intel/e1000e/netdev.c
7317
if (adapter->flags2 & FLAG2_DFLT_CRC_STRIPPING)
drivers/net/ethernet/intel/e1000e/netdev.c
7318
adapter->flags2 |= FLAG2_CRC_STRIPPING;
drivers/net/ethernet/intel/e1000e/netdev.c
7320
adapter->flags2 &= ~FLAG2_CRC_STRIPPING;
drivers/net/ethernet/intel/e1000e/netdev.c
7327
e1000e_reinit_locked(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
7329
e1000e_reset(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
737
if (j >= adapter->rx_ps_pages) {
drivers/net/ethernet/intel/e1000e/netdev.c
7372
struct e1000_adapter *adapter;
drivers/net/ethernet/intel/e1000e/netdev.c
7424
adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000e/netdev.c
7425
hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/netdev.c
7426
adapter->netdev = netdev;
drivers/net/ethernet/intel/e1000e/netdev.c
7427
adapter->pdev = pdev;
drivers/net/ethernet/intel/e1000e/netdev.c
7428
adapter->ei = ei;
drivers/net/ethernet/intel/e1000e/netdev.c
7429
adapter->pba = ei->pba;
drivers/net/ethernet/intel/e1000e/netdev.c
7430
adapter->flags = ei->flags;
drivers/net/ethernet/intel/e1000e/netdev.c
7431
adapter->flags2 = ei->flags2;
drivers/net/ethernet/intel/e1000e/netdev.c
7432
adapter->hw.adapter = adapter;
drivers/net/ethernet/intel/e1000e/netdev.c
7433
adapter->hw.mac.type = ei->mac;
drivers/net/ethernet/intel/e1000e/netdev.c
7434
adapter->max_hw_frame_size = ei->max_hw_frame_size;
drivers/net/ethernet/intel/e1000e/netdev.c
7435
adapter->msg_enable = netif_msg_init(debug, DEFAULT_MSG_ENABLE);
drivers/net/ethernet/intel/e1000e/netdev.c
7441
adapter->hw.hw_addr = ioremap(mmio_start, mmio_len);
drivers/net/ethernet/intel/e1000e/netdev.c
7442
if (!adapter->hw.hw_addr)
drivers/net/ethernet/intel/e1000e/netdev.c
7445
if ((adapter->flags & FLAG_HAS_FLASH) &&
drivers/net/ethernet/intel/e1000e/netdev.c
7450
adapter->hw.flash_address = ioremap(flash_start, flash_len);
drivers/net/ethernet/intel/e1000e/netdev.c
7451
if (!adapter->hw.flash_address)
drivers/net/ethernet/intel/e1000e/netdev.c
7456
if (adapter->flags2 & FLAG2_HAS_EEE)
drivers/net/ethernet/intel/e1000e/netdev.c
7457
adapter->eee_advert = MDIO_EEE_100TX | MDIO_EEE_1000T;
drivers/net/ethernet/intel/e1000e/netdev.c
746
adapter->alloc_rx_buff_failed++;
drivers/net/ethernet/intel/e1000e/netdev.c
7463
netif_napi_add(netdev, &adapter->napi, e1000e_poll);
drivers/net/ethernet/intel/e1000e/netdev.c
7469
adapter->bd_number = cards_found++;
drivers/net/ethernet/intel/e1000e/netdev.c
7471
e1000e_check_options(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
7474
err = e1000_sw_init(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
7482
err = ei->get_variants(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
7486
if ((adapter->flags & FLAG_IS_ICH) &&
drivers/net/ethernet/intel/e1000e/netdev.c
7487
(adapter->flags & FLAG_READ_ONLY_NVM) &&
drivers/net/ethernet/intel/e1000e/netdev.c
7489
e1000e_write_protect_nvm_ich8lan(&adapter->hw);
drivers/net/ethernet/intel/e1000e/netdev.c
7491
hw->mac.ops.get_bus_info(&adapter->hw);
drivers/net/ethernet/intel/e1000e/netdev.c
7493
adapter->hw.phy.autoneg_wait_to_complete = 0;
drivers/net/ethernet/intel/e1000e/netdev.c
7496
if (adapter->hw.phy.media_type == e1000_media_type_copper) {
drivers/net/ethernet/intel/e1000e/netdev.c
7497
adapter->hw.phy.mdix = AUTO_ALL_MODES;
drivers/net/ethernet/intel/e1000e/netdev.c
7498
adapter->hw.phy.disable_polarity_correction = 0;
drivers/net/ethernet/intel/e1000e/netdev.c
7499
adapter->hw.phy.ms_type = e1000_ms_hw_default;
drivers/net/ethernet/intel/e1000e/netdev.c
7520
if (!(adapter->flags & FLAG_TSO_FORCE)) {
drivers/net/ethernet/intel/e1000e/netdev.c
7521
switch (adapter->link_speed) {
drivers/net/ethernet/intel/e1000e/netdev.c
7548
if (adapter->flags & FLAG_HAS_HW_VLAN_FILTER)
drivers/net/ethernet/intel/e1000e/netdev.c
755
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/intel/e1000e/netdev.c
7563
netdev->max_mtu = adapter->max_hw_frame_size -
drivers/net/ethernet/intel/e1000e/netdev.c
7566
if (e1000e_enable_mng_pass_thru(&adapter->hw))
drivers/net/ethernet/intel/e1000e/netdev.c
7567
adapter->flags |= FLAG_MNG_PT_ENABLED;
drivers/net/ethernet/intel/e1000e/netdev.c
757
adapter->rx_dma_failed++;
drivers/net/ethernet/intel/e1000e/netdev.c
7572
adapter->hw.mac.ops.reset_hw(&adapter->hw);
drivers/net/ethernet/intel/e1000e/netdev.c
7578
if (e1000_validate_nvm_checksum(&adapter->hw) >= 0)
drivers/net/ethernet/intel/e1000e/netdev.c
7587
e1000_eeprom_checks(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
7590
if (e1000e_read_mac_addr(&adapter->hw))
drivers/net/ethernet/intel/e1000e/netdev.c
7594
eth_hw_addr_set(netdev, adapter->hw.mac.addr);
drivers/net/ethernet/intel/e1000e/netdev.c
7603
timer_setup(&adapter->watchdog_timer, e1000_watchdog, 0);
drivers/net/ethernet/intel/e1000e/netdev.c
7604
timer_setup(&adapter->phy_info_timer, e1000_update_phy_info, 0);
drivers/net/ethernet/intel/e1000e/netdev.c
7606
INIT_WORK(&adapter->reset_task, e1000_reset_task);
drivers/net/ethernet/intel/e1000e/netdev.c
7607
INIT_WORK(&adapter->watchdog_task, e1000_watchdog_task);
drivers/net/ethernet/intel/e1000e/netdev.c
7608
INIT_WORK(&adapter->downshift_task, e1000e_downshift_workaround);
drivers/net/ethernet/intel/e1000e/netdev.c
7609
INIT_WORK(&adapter->update_phy_task, e1000e_update_phy_task);
drivers/net/ethernet/intel/e1000e/netdev.c
7610
INIT_WORK(&adapter->print_hang_task, e1000_print_hw_hang);
drivers/net/ethernet/intel/e1000e/netdev.c
7613
adapter->hw.mac.autoneg = 1;
drivers/net/ethernet/intel/e1000e/netdev.c
7614
adapter->fc_autoneg = true;
drivers/net/ethernet/intel/e1000e/netdev.c
7615
adapter->hw.fc.requested_mode = e1000_fc_default;
drivers/net/ethernet/intel/e1000e/netdev.c
7616
adapter->hw.fc.current_mode = e1000_fc_default;
drivers/net/ethernet/intel/e1000e/netdev.c
7617
adapter->hw.phy.autoneg_advertised = 0x2f;
drivers/net/ethernet/intel/e1000e/netdev.c
7622
if (adapter->flags & FLAG_APME_IN_WUC) {
drivers/net/ethernet/intel/e1000e/netdev.c
7628
adapter->flags2 |= FLAG2_HAS_PHY_WAKEUP;
drivers/net/ethernet/intel/e1000e/netdev.c
7629
} else if (adapter->flags & FLAG_APME_IN_CTRL3) {
drivers/net/ethernet/intel/e1000e/netdev.c
7630
if (adapter->flags & FLAG_APME_CHECK_PORT_B &&
drivers/net/ethernet/intel/e1000e/netdev.c
7631
(adapter->hw.bus.func == 1))
drivers/net/ethernet/intel/e1000e/netdev.c
7632
ret_val = e1000_read_nvm(&adapter->hw,
drivers/net/ethernet/intel/e1000e/netdev.c
7636
ret_val = e1000_read_nvm(&adapter->hw,
drivers/net/ethernet/intel/e1000e/netdev.c
7645
adapter->eeprom_wol |= E1000_WUFC_MAG;
drivers/net/ethernet/intel/e1000e/netdev.c
7651
if (!(adapter->flags & FLAG_HAS_WOL))
drivers/net/ethernet/intel/e1000e/netdev.c
7652
adapter->eeprom_wol = 0;
drivers/net/ethernet/intel/e1000e/netdev.c
7655
adapter->wol = adapter->eeprom_wol;
drivers/net/ethernet/intel/e1000e/netdev.c
7658
if (adapter->wol || (adapter->flags & FLAG_MNG_PT_ENABLED) ||
drivers/net/ethernet/intel/e1000e/netdev.c
7663
ret_val = e1000_read_nvm(&adapter->hw, 5, 1, &adapter->eeprom_vers);
drivers/net/ethernet/intel/e1000e/netdev.c
7667
adapter->eeprom_vers = 0;
drivers/net/ethernet/intel/e1000e/netdev.c
7671
e1000e_ptp_init(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
7674
adapter->flags2 |= FLAG2_DISABLE_K1;
drivers/net/ethernet/intel/e1000e/netdev.c
7677
e1000e_reset(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
7683
if (!(adapter->flags & FLAG_HAS_AMT))
drivers/net/ethernet/intel/e1000e/netdev.c
7684
e1000e_get_hw_control(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
7687
adapter->flags2 |= FLAG2_ENABLE_S0IX_FLOWS;
drivers/net/ethernet/intel/e1000e/netdev.c
769
skb = __netdev_alloc_skb_ip_align(netdev, adapter->rx_ps_bsize0,
drivers/net/ethernet/intel/e1000e/netdev.c
7697
e1000_print_device_info(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
7707
if (!(adapter->flags & FLAG_HAS_AMT))
drivers/net/ethernet/intel/e1000e/netdev.c
7708
e1000e_release_hw_control(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
7711
e1000_phy_hw_reset(&adapter->hw);
drivers/net/ethernet/intel/e1000e/netdev.c
7713
kfree(adapter->tx_ring);
drivers/net/ethernet/intel/e1000e/netdev.c
7714
kfree(adapter->rx_ring);
drivers/net/ethernet/intel/e1000e/netdev.c
7716
if ((adapter->hw.flash_address) && (hw->mac.type < e1000_pch_spt))
drivers/net/ethernet/intel/e1000e/netdev.c
7717
iounmap(adapter->hw.flash_address);
drivers/net/ethernet/intel/e1000e/netdev.c
7718
e1000e_reset_interrupt_capability(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
7720
iounmap(adapter->hw.hw_addr);
drivers/net/ethernet/intel/e1000e/netdev.c
773
adapter->alloc_rx_buff_failed++;
drivers/net/ethernet/intel/e1000e/netdev.c
7743
struct e1000_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/e1000e/netdev.c
7745
e1000e_ptp_remove(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
7750
set_bit(__E1000_DOWN, &adapter->state);
drivers/net/ethernet/intel/e1000e/netdev.c
7751
timer_delete_sync(&adapter->watchdog_timer);
drivers/net/ethernet/intel/e1000e/netdev.c
7752
timer_delete_sync(&adapter->phy_info_timer);
drivers/net/ethernet/intel/e1000e/netdev.c
7754
cancel_work_sync(&adapter->reset_task);
drivers/net/ethernet/intel/e1000e/netdev.c
7755
cancel_work_sync(&adapter->watchdog_task);
drivers/net/ethernet/intel/e1000e/netdev.c
7756
cancel_work_sync(&adapter->downshift_task);
drivers/net/ethernet/intel/e1000e/netdev.c
7757
cancel_work_sync(&adapter->update_phy_task);
drivers/net/ethernet/intel/e1000e/netdev.c
7758
cancel_work_sync(&adapter->print_hang_task);
drivers/net/ethernet/intel/e1000e/netdev.c
7760
if (adapter->flags & FLAG_HAS_HW_TIMESTAMP) {
drivers/net/ethernet/intel/e1000e/netdev.c
7761
cancel_work_sync(&adapter->tx_hwtstamp_work);
drivers/net/ethernet/intel/e1000e/netdev.c
7762
if (adapter->tx_hwtstamp_skb) {
drivers/net/ethernet/intel/e1000e/netdev.c
7763
dev_consume_skb_any(adapter->tx_hwtstamp_skb);
drivers/net/ethernet/intel/e1000e/netdev.c
7764
adapter->tx_hwtstamp_skb = NULL;
drivers/net/ethernet/intel/e1000e/netdev.c
7776
e1000e_release_hw_control(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
7778
e1000e_reset_interrupt_capability(adapter);
drivers/net/ethernet/intel/e1000e/netdev.c
7779
kfree(adapter->tx_ring);
drivers/net/ethernet/intel/e1000e/netdev.c
7780
kfree(adapter->rx_ring);
drivers/net/ethernet/intel/e1000e/netdev.c
7782
iounmap(adapter->hw.hw_addr);
drivers/net/ethernet/intel/e1000e/netdev.c
7783
if ((adapter->hw.flash_address) &&
drivers/net/ethernet/intel/e1000e/netdev.c
7784
(adapter->hw.mac.type < e1000_pch_spt))
drivers/net/ethernet/intel/e1000e/netdev.c
7785
iounmap(adapter->hw.flash_address);
drivers/net/ethernet/intel/e1000e/netdev.c
779
adapter->rx_ps_bsize0,
drivers/net/ethernet/intel/e1000e/netdev.c
783
adapter->rx_dma_failed++;
drivers/net/ethernet/intel/e1000e/netdev.c
799
if (adapter->flags2 & FLAG2_PCIM2PCI_ARBITER_WA)
drivers/net/ethernet/intel/e1000e/netdev.c
825
struct e1000_adapter *adapter = rx_ring->adapter;
drivers/net/ethernet/intel/e1000e/netdev.c
826
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/e1000e/netdev.c
827
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/intel/e1000e/netdev.c
847
adapter->alloc_rx_buff_failed++;
drivers/net/ethernet/intel/e1000e/netdev.c
857
adapter->alloc_rx_buff_failed++;
drivers/net/ethernet/intel/e1000e/netdev.c
868
adapter->alloc_rx_buff_failed++;
drivers/net/ethernet/intel/e1000e/netdev.c
892
if (adapter->flags2 & FLAG2_PCIM2PCI_ARBITER_WA)
drivers/net/ethernet/intel/e1000e/netdev.c
918
struct e1000_adapter *adapter = rx_ring->adapter;
drivers/net/ethernet/intel/e1000e/netdev.c
919
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/e1000e/netdev.c
920
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/intel/e1000e/netdev.c
921
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/netdev.c
959
adapter->rx_buffer_len, DMA_FROM_DEVICE);
drivers/net/ethernet/intel/e1000e/netdev.c
971
adapter->flags2 |= FLAG2_IS_DISCARDING;
drivers/net/ethernet/intel/e1000e/netdev.c
973
if (adapter->flags2 & FLAG2_IS_DISCARDING) {
drivers/net/ethernet/intel/e1000e/netdev.c
979
adapter->flags2 &= ~FLAG2_IS_DISCARDING;
drivers/net/ethernet/intel/e1000e/netdev.c
991
if (!(adapter->flags2 & FLAG2_CRC_STRIPPING)) {
drivers/net/ethernet/intel/e1000e/param.c
163
struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000e/param.c
174
dev_info(&adapter->pdev->dev, "%s Enabled\n",
drivers/net/ethernet/intel/e1000e/param.c
178
dev_info(&adapter->pdev->dev, "%s Disabled\n",
drivers/net/ethernet/intel/e1000e/param.c
185
dev_info(&adapter->pdev->dev, "%s set to %i\n",
drivers/net/ethernet/intel/e1000e/param.c
198
dev_info(&adapter->pdev->dev, "%s\n",
drivers/net/ethernet/intel/e1000e/param.c
209
dev_info(&adapter->pdev->dev, "Invalid %s value specified (%i) %s\n",
drivers/net/ethernet/intel/e1000e/param.c
224
void e1000e_check_options(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000e/param.c
226
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/param.c
227
int bd = adapter->bd_number;
drivers/net/ethernet/intel/e1000e/param.c
230
dev_notice(&adapter->pdev->dev,
drivers/net/ethernet/intel/e1000e/param.c
232
dev_notice(&adapter->pdev->dev,
drivers/net/ethernet/intel/e1000e/param.c
249
adapter->tx_int_delay = TxIntDelay[bd];
drivers/net/ethernet/intel/e1000e/param.c
250
e1000_validate_option(&adapter->tx_int_delay, &opt,
drivers/net/ethernet/intel/e1000e/param.c
251
adapter);
drivers/net/ethernet/intel/e1000e/param.c
253
adapter->tx_int_delay = opt.def;
drivers/net/ethernet/intel/e1000e/param.c
269
adapter->tx_abs_int_delay = TxAbsIntDelay[bd];
drivers/net/ethernet/intel/e1000e/param.c
270
e1000_validate_option(&adapter->tx_abs_int_delay, &opt,
drivers/net/ethernet/intel/e1000e/param.c
271
adapter);
drivers/net/ethernet/intel/e1000e/param.c
273
adapter->tx_abs_int_delay = opt.def;
drivers/net/ethernet/intel/e1000e/param.c
288
if (adapter->flags2 & FLAG2_DMA_BURST)
drivers/net/ethernet/intel/e1000e/param.c
292
adapter->rx_int_delay = RxIntDelay[bd];
drivers/net/ethernet/intel/e1000e/param.c
293
e1000_validate_option(&adapter->rx_int_delay, &opt,
drivers/net/ethernet/intel/e1000e/param.c
294
adapter);
drivers/net/ethernet/intel/e1000e/param.c
296
adapter->rx_int_delay = opt.def;
drivers/net/ethernet/intel/e1000e/param.c
311
if (adapter->flags2 & FLAG2_DMA_BURST)
drivers/net/ethernet/intel/e1000e/param.c
315
adapter->rx_abs_int_delay = RxAbsIntDelay[bd];
drivers/net/ethernet/intel/e1000e/param.c
316
e1000_validate_option(&adapter->rx_abs_int_delay, &opt,
drivers/net/ethernet/intel/e1000e/param.c
317
adapter);
drivers/net/ethernet/intel/e1000e/param.c
319
adapter->rx_abs_int_delay = opt.def;
drivers/net/ethernet/intel/e1000e/param.c
335
adapter->itr = InterruptThrottleRate[bd];
drivers/net/ethernet/intel/e1000e/param.c
342
if ((adapter->itr > 4) &&
drivers/net/ethernet/intel/e1000e/param.c
343
e1000_validate_option(&adapter->itr, &opt, adapter))
drivers/net/ethernet/intel/e1000e/param.c
344
adapter->itr = opt.def;
drivers/net/ethernet/intel/e1000e/param.c
349
adapter->itr = opt.def;
drivers/net/ethernet/intel/e1000e/param.c
354
if (adapter->itr > 4)
drivers/net/ethernet/intel/e1000e/param.c
355
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/intel/e1000e/param.c
357
adapter->itr);
drivers/net/ethernet/intel/e1000e/param.c
360
adapter->itr_setting = adapter->itr;
drivers/net/ethernet/intel/e1000e/param.c
361
switch (adapter->itr) {
drivers/net/ethernet/intel/e1000e/param.c
363
dev_info(&adapter->pdev->dev, "%s turned off\n",
drivers/net/ethernet/intel/e1000e/param.c
367
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/intel/e1000e/param.c
369
adapter->itr = 20000;
drivers/net/ethernet/intel/e1000e/param.c
372
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/intel/e1000e/param.c
375
adapter->itr_setting = opt.def;
drivers/net/ethernet/intel/e1000e/param.c
378
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/intel/e1000e/param.c
381
adapter->itr = 20000;
drivers/net/ethernet/intel/e1000e/param.c
384
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/intel/e1000e/param.c
395
adapter->itr_setting &= ~3;
drivers/net/ethernet/intel/e1000e/param.c
413
if (adapter->flags & FLAG_HAS_MSIX) {
drivers/net/ethernet/intel/e1000e/param.c
425
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/intel/e1000e/param.c
434
e1000_validate_option(&int_mode, &opt, adapter);
drivers/net/ethernet/intel/e1000e/param.c
435
adapter->int_mode = int_mode;
drivers/net/ethernet/intel/e1000e/param.c
437
adapter->int_mode = opt.def;
drivers/net/ethernet/intel/e1000e/param.c
456
e1000_validate_option(&spd, &opt, adapter);
drivers/net/ethernet/intel/e1000e/param.c
457
if ((adapter->flags & FLAG_HAS_SMART_POWER_DOWN) && spd)
drivers/net/ethernet/intel/e1000e/param.c
458
adapter->flags |= FLAG_SMART_POWER_DOWN;
drivers/net/ethernet/intel/e1000e/param.c
473
e1000_validate_option(&crc_stripping, &opt, adapter);
drivers/net/ethernet/intel/e1000e/param.c
475
adapter->flags2 |= FLAG2_CRC_STRIPPING;
drivers/net/ethernet/intel/e1000e/param.c
476
adapter->flags2 |= FLAG2_DFLT_CRC_STRIPPING;
drivers/net/ethernet/intel/e1000e/param.c
479
adapter->flags2 |= FLAG2_CRC_STRIPPING;
drivers/net/ethernet/intel/e1000e/param.c
480
adapter->flags2 |= FLAG2_DFLT_CRC_STRIPPING;
drivers/net/ethernet/intel/e1000e/param.c
496
e1000_validate_option(&kmrn_lock_loss, &opt, adapter);
drivers/net/ethernet/intel/e1000e/param.c
513
if (adapter->flags & FLAG_IS_ICH) {
drivers/net/ethernet/intel/e1000e/param.c
518
adapter);
drivers/net/ethernet/intel/e1000e/param.c
520
adapter->flags |= FLAG_READ_ONLY_NVM;
drivers/net/ethernet/intel/e1000e/param.c
523
adapter->flags |= FLAG_READ_ONLY_NVM;
drivers/net/ethernet/intel/e1000e/ptp.c
120
spin_lock_irqsave(&adapter->systim_lock, flags);
drivers/net/ethernet/intel/e1000e/ptp.c
121
*device = ns_to_ktime(timecounter_cyc2time(&adapter->tc, dev_cycles));
drivers/net/ethernet/intel/e1000e/ptp.c
122
spin_unlock_irqrestore(&adapter->systim_lock, flags);
drivers/net/ethernet/intel/e1000e/ptp.c
144
struct e1000_adapter *adapter = container_of(ptp, struct e1000_adapter,
drivers/net/ethernet/intel/e1000e/ptp.c
148
adapter, NULL, xtstamp);
drivers/net/ethernet/intel/e1000e/ptp.c
166
struct e1000_adapter *adapter = container_of(ptp, struct e1000_adapter,
drivers/net/ethernet/intel/e1000e/ptp.c
171
spin_lock_irqsave(&adapter->systim_lock, flags);
drivers/net/ethernet/intel/e1000e/ptp.c
174
cycles = e1000e_read_systim(adapter, sts);
drivers/net/ethernet/intel/e1000e/ptp.c
175
ns = timecounter_cyc2time(&adapter->tc, cycles);
drivers/net/ethernet/intel/e1000e/ptp.c
177
spin_unlock_irqrestore(&adapter->systim_lock, flags);
drivers/net/ethernet/intel/e1000e/ptp.c
195
struct e1000_adapter *adapter = container_of(ptp, struct e1000_adapter,
drivers/net/ethernet/intel/e1000e/ptp.c
203
spin_lock_irqsave(&adapter->systim_lock, flags);
drivers/net/ethernet/intel/e1000e/ptp.c
204
timecounter_init(&adapter->tc, &adapter->cc, ns);
drivers/net/ethernet/intel/e1000e/ptp.c
205
spin_unlock_irqrestore(&adapter->systim_lock, flags);
drivers/net/ethernet/intel/e1000e/ptp.c
228
struct e1000_adapter *adapter = container_of(work, struct e1000_adapter,
drivers/net/ethernet/intel/e1000e/ptp.c
230
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/ptp.c
234
ts = ns_to_timespec64(timecounter_read(&adapter->tc));
drivers/net/ethernet/intel/e1000e/ptp.c
238
schedule_delayed_work(&adapter->systim_overflow_work,
drivers/net/ethernet/intel/e1000e/ptp.c
264
void e1000e_ptp_init(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000e/ptp.c
266
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/ptp.c
268
adapter->ptp_clock = NULL;
drivers/net/ethernet/intel/e1000e/ptp.c
270
if (!(adapter->flags & FLAG_HAS_HW_TIMESTAMP))
drivers/net/ethernet/intel/e1000e/ptp.c
273
adapter->ptp_clock_info = e1000e_ptp_clock_info;
drivers/net/ethernet/intel/e1000e/ptp.c
275
snprintf(adapter->ptp_clock_info.name,
drivers/net/ethernet/intel/e1000e/ptp.c
276
sizeof(adapter->ptp_clock_info.name), "%pm",
drivers/net/ethernet/intel/e1000e/ptp.c
277
adapter->netdev->perm_addr);
drivers/net/ethernet/intel/e1000e/ptp.c
281
adapter->ptp_clock_info.max_adj = MAX_PPB_96MHZ;
drivers/net/ethernet/intel/e1000e/ptp.c
285
adapter->ptp_clock_info.max_adj = MAX_PPB_96MHZ;
drivers/net/ethernet/intel/e1000e/ptp.c
287
adapter->ptp_clock_info.max_adj = MAX_PPB_25MHZ;
drivers/net/ethernet/intel/e1000e/ptp.c
29
struct e1000_adapter *adapter = container_of(ptp, struct e1000_adapter,
drivers/net/ethernet/intel/e1000e/ptp.c
290
adapter->ptp_clock_info.max_adj = MAX_PPB_24MHZ;
drivers/net/ethernet/intel/e1000e/ptp.c
297
adapter->ptp_clock_info.max_adj = MAX_PPB_24MHZ;
drivers/net/ethernet/intel/e1000e/ptp.c
299
adapter->ptp_clock_info.max_adj = MAX_PPB_38400KHZ;
drivers/net/ethernet/intel/e1000e/ptp.c
304
adapter->ptp_clock_info.max_adj = MAX_PPB_38400KHZ;
drivers/net/ethernet/intel/e1000e/ptp.c
308
adapter->ptp_clock_info.max_adj = MAX_PPB_25MHZ;
drivers/net/ethernet/intel/e1000e/ptp.c
31
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/e1000e/ptp.c
317
adapter->ptp_clock_info.getcrosststamp =
drivers/net/ethernet/intel/e1000e/ptp.c
321
INIT_DELAYED_WORK(&adapter->systim_overflow_work,
drivers/net/ethernet/intel/e1000e/ptp.c
324
schedule_delayed_work(&adapter->systim_overflow_work,
drivers/net/ethernet/intel/e1000e/ptp.c
327
adapter->ptp_clock = ptp_clock_register(&adapter->ptp_clock_info,
drivers/net/ethernet/intel/e1000e/ptp.c
328
&adapter->pdev->dev);
drivers/net/ethernet/intel/e1000e/ptp.c
329
if (IS_ERR(adapter->ptp_clock)) {
drivers/net/ethernet/intel/e1000e/ptp.c
330
adapter->ptp_clock = NULL;
drivers/net/ethernet/intel/e1000e/ptp.c
332
} else if (adapter->ptp_clock) {
drivers/net/ethernet/intel/e1000e/ptp.c
343
void e1000e_ptp_remove(struct e1000_adapter *adapter)
drivers/net/ethernet/intel/e1000e/ptp.c
345
if (!(adapter->flags & FLAG_HAS_HW_TIMESTAMP))
drivers/net/ethernet/intel/e1000e/ptp.c
348
cancel_delayed_work_sync(&adapter->systim_overflow_work);
drivers/net/ethernet/intel/e1000e/ptp.c
350
if (adapter->ptp_clock) {
drivers/net/ethernet/intel/e1000e/ptp.c
351
ptp_clock_unregister(adapter->ptp_clock);
drivers/net/ethernet/intel/e1000e/ptp.c
352
adapter->ptp_clock = NULL;
drivers/net/ethernet/intel/e1000e/ptp.c
38
ret_val = e1000e_get_base_timinca(adapter, &timinca);
drivers/net/ethernet/intel/e1000e/ptp.c
42
spin_lock_irqsave(&adapter->systim_lock, flags);
drivers/net/ethernet/intel/e1000e/ptp.c
52
adapter->ptp_delta = delta;
drivers/net/ethernet/intel/e1000e/ptp.c
54
spin_unlock_irqrestore(&adapter->systim_lock, flags);
drivers/net/ethernet/intel/e1000e/ptp.c
68
struct e1000_adapter *adapter = container_of(ptp, struct e1000_adapter,
drivers/net/ethernet/intel/e1000e/ptp.c
72
spin_lock_irqsave(&adapter->systim_lock, flags);
drivers/net/ethernet/intel/e1000e/ptp.c
73
timecounter_adjtime(&adapter->tc, delta);
drivers/net/ethernet/intel/e1000e/ptp.c
74
spin_unlock_irqrestore(&adapter->systim_lock, flags);
drivers/net/ethernet/intel/e1000e/ptp.c
95
struct e1000_adapter *adapter = (struct e1000_adapter *)ctx;
drivers/net/ethernet/intel/e1000e/ptp.c
96
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/iavf/iavf.h
105
struct iavf_adapter *adapter;
drivers/net/ethernet/intel/iavf/iavf.h
485
static inline bool iavf_fdir_max_reached(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf.h
487
return adapter->fdir_active_fltr + adapter->raw_fdir_active_fltr >=
drivers/net/ethernet/intel/iavf/iavf.h
492
iavf_inc_fdir_active_fltr(struct iavf_adapter *adapter,
drivers/net/ethernet/intel/iavf/iavf.h
496
adapter->raw_fdir_active_fltr++;
drivers/net/ethernet/intel/iavf/iavf.h
498
adapter->fdir_active_fltr++;
drivers/net/ethernet/intel/iavf/iavf.h
502
iavf_dec_fdir_active_fltr(struct iavf_adapter *adapter,
drivers/net/ethernet/intel/iavf/iavf.h
506
adapter->raw_fdir_active_fltr--;
drivers/net/ethernet/intel/iavf/iavf.h
508
adapter->fdir_active_fltr--;
drivers/net/ethernet/intel/iavf/iavf.h
552
static inline void iavf_change_state(struct iavf_adapter *adapter,
drivers/net/ethernet/intel/iavf/iavf.h
555
if (adapter->state != state) {
drivers/net/ethernet/intel/iavf/iavf.h
556
adapter->last_state = adapter->state;
drivers/net/ethernet/intel/iavf/iavf.h
557
adapter->state = state;
drivers/net/ethernet/intel/iavf/iavf.h
559
dev_dbg(&adapter->pdev->dev,
drivers/net/ethernet/intel/iavf/iavf.h
561
iavf_state_str(adapter->last_state),
drivers/net/ethernet/intel/iavf/iavf.h
562
iavf_state_str(adapter->state));
drivers/net/ethernet/intel/iavf/iavf.h
565
void iavf_down(struct iavf_adapter *adapter);
drivers/net/ethernet/intel/iavf/iavf.h
566
int iavf_process_config(struct iavf_adapter *adapter);
drivers/net/ethernet/intel/iavf/iavf.h
567
int iavf_parse_vf_resource_msg(struct iavf_adapter *adapter);
drivers/net/ethernet/intel/iavf/iavf.h
568
void iavf_schedule_reset(struct iavf_adapter *adapter, u64 flags);
drivers/net/ethernet/intel/iavf/iavf.h
569
void iavf_schedule_aq_request(struct iavf_adapter *adapter, u64 flags);
drivers/net/ethernet/intel/iavf/iavf.h
570
void iavf_schedule_finish_config(struct iavf_adapter *adapter);
drivers/net/ethernet/intel/iavf/iavf.h
572
void iavf_free_all_tx_resources(struct iavf_adapter *adapter);
drivers/net/ethernet/intel/iavf/iavf.h
573
void iavf_free_all_rx_resources(struct iavf_adapter *adapter);
drivers/net/ethernet/intel/iavf/iavf.h
575
int iavf_send_api_ver(struct iavf_adapter *adapter);
drivers/net/ethernet/intel/iavf/iavf.h
576
int iavf_verify_api_ver(struct iavf_adapter *adapter);
drivers/net/ethernet/intel/iavf/iavf.h
577
int iavf_send_vf_config_msg(struct iavf_adapter *adapter);
drivers/net/ethernet/intel/iavf/iavf.h
578
int iavf_get_vf_config(struct iavf_adapter *adapter);
drivers/net/ethernet/intel/iavf/iavf.h
579
int iavf_get_vf_vlan_v2_caps(struct iavf_adapter *adapter);
drivers/net/ethernet/intel/iavf/iavf.h
580
int iavf_send_vf_offload_vlan_v2_msg(struct iavf_adapter *adapter);
drivers/net/ethernet/intel/iavf/iavf.h
581
int iavf_send_vf_supported_rxdids_msg(struct iavf_adapter *adapter);
drivers/net/ethernet/intel/iavf/iavf.h
582
int iavf_get_vf_supported_rxdids(struct iavf_adapter *adapter);
drivers/net/ethernet/intel/iavf/iavf.h
583
int iavf_send_vf_ptp_caps_msg(struct iavf_adapter *adapter);
drivers/net/ethernet/intel/iavf/iavf.h
584
int iavf_get_vf_ptp_caps(struct iavf_adapter *adapter);
drivers/net/ethernet/intel/iavf/iavf.h
585
void iavf_set_queue_vlan_tag_loc(struct iavf_adapter *adapter);
drivers/net/ethernet/intel/iavf/iavf.h
586
u16 iavf_get_num_vlans_added(struct iavf_adapter *adapter);
drivers/net/ethernet/intel/iavf/iavf.h
587
void iavf_irq_enable(struct iavf_adapter *adapter, bool flush);
drivers/net/ethernet/intel/iavf/iavf.h
588
void iavf_configure_queues(struct iavf_adapter *adapter);
drivers/net/ethernet/intel/iavf/iavf.h
589
void iavf_enable_queues(struct iavf_adapter *adapter);
drivers/net/ethernet/intel/iavf/iavf.h
590
void iavf_disable_queues(struct iavf_adapter *adapter);
drivers/net/ethernet/intel/iavf/iavf.h
591
void iavf_map_queues(struct iavf_adapter *adapter);
drivers/net/ethernet/intel/iavf/iavf.h
592
void iavf_add_ether_addrs(struct iavf_adapter *adapter);
drivers/net/ethernet/intel/iavf/iavf.h
593
void iavf_del_ether_addrs(struct iavf_adapter *adapter);
drivers/net/ethernet/intel/iavf/iavf.h
594
void iavf_add_vlans(struct iavf_adapter *adapter);
drivers/net/ethernet/intel/iavf/iavf.h
595
void iavf_del_vlans(struct iavf_adapter *adapter);
drivers/net/ethernet/intel/iavf/iavf.h
596
void iavf_set_promiscuous(struct iavf_adapter *adapter);
drivers/net/ethernet/intel/iavf/iavf.h
597
bool iavf_promiscuous_mode_changed(struct iavf_adapter *adapter);
drivers/net/ethernet/intel/iavf/iavf.h
598
void iavf_request_stats(struct iavf_adapter *adapter);
drivers/net/ethernet/intel/iavf/iavf.h
599
int iavf_request_reset(struct iavf_adapter *adapter);
drivers/net/ethernet/intel/iavf/iavf.h
600
void iavf_get_rss_hashcfg(struct iavf_adapter *adapter);
drivers/net/ethernet/intel/iavf/iavf.h
601
void iavf_set_rss_hashcfg(struct iavf_adapter *adapter);
drivers/net/ethernet/intel/iavf/iavf.h
602
void iavf_set_rss_key(struct iavf_adapter *adapter);
drivers/net/ethernet/intel/iavf/iavf.h
603
void iavf_set_rss_lut(struct iavf_adapter *adapter);
drivers/net/ethernet/intel/iavf/iavf.h
604
void iavf_set_rss_hfunc(struct iavf_adapter *adapter);
drivers/net/ethernet/intel/iavf/iavf.h
605
void iavf_enable_vlan_stripping(struct iavf_adapter *adapter);
drivers/net/ethernet/intel/iavf/iavf.h
606
void iavf_disable_vlan_stripping(struct iavf_adapter *adapter);
drivers/net/ethernet/intel/iavf/iavf.h
607
void iavf_virtchnl_completion(struct iavf_adapter *adapter,
drivers/net/ethernet/intel/iavf/iavf.h
610
int iavf_config_rss(struct iavf_adapter *adapter);
drivers/net/ethernet/intel/iavf/iavf.h
611
void iavf_cfg_queues_bw(struct iavf_adapter *adapter);
drivers/net/ethernet/intel/iavf/iavf.h
612
void iavf_cfg_queues_quanta_size(struct iavf_adapter *adapter);
drivers/net/ethernet/intel/iavf/iavf.h
613
void iavf_get_qos_caps(struct iavf_adapter *adapter);
drivers/net/ethernet/intel/iavf/iavf.h
614
void iavf_enable_channels(struct iavf_adapter *adapter);
drivers/net/ethernet/intel/iavf/iavf.h
615
void iavf_disable_channels(struct iavf_adapter *adapter);
drivers/net/ethernet/intel/iavf/iavf.h
616
void iavf_add_cloud_filter(struct iavf_adapter *adapter);
drivers/net/ethernet/intel/iavf/iavf.h
617
void iavf_del_cloud_filter(struct iavf_adapter *adapter);
drivers/net/ethernet/intel/iavf/iavf.h
618
void iavf_enable_vlan_stripping_v2(struct iavf_adapter *adapter, u16 tpid);
drivers/net/ethernet/intel/iavf/iavf.h
619
void iavf_disable_vlan_stripping_v2(struct iavf_adapter *adapter, u16 tpid);
drivers/net/ethernet/intel/iavf/iavf.h
620
void iavf_enable_vlan_insertion_v2(struct iavf_adapter *adapter, u16 tpid);
drivers/net/ethernet/intel/iavf/iavf.h
621
void iavf_disable_vlan_insertion_v2(struct iavf_adapter *adapter, u16 tpid);
drivers/net/ethernet/intel/iavf/iavf.h
622
void iavf_add_fdir_filter(struct iavf_adapter *adapter);
drivers/net/ethernet/intel/iavf/iavf.h
623
void iavf_del_fdir_filter(struct iavf_adapter *adapter);
drivers/net/ethernet/intel/iavf/iavf.h
624
void iavf_add_adv_rss_cfg(struct iavf_adapter *adapter);
drivers/net/ethernet/intel/iavf/iavf.h
625
void iavf_del_adv_rss_cfg(struct iavf_adapter *adapter);
drivers/net/ethernet/intel/iavf/iavf.h
626
struct iavf_mac_filter *iavf_add_filter(struct iavf_adapter *adapter,
drivers/net/ethernet/intel/iavf/iavf.h
628
void iavf_reset_step(struct iavf_adapter *adapter);
drivers/net/ethernet/intel/iavf/iavf_adv_rss.c
215
iavf_find_adv_rss_cfg_by_hdrs(struct iavf_adapter *adapter, u32 packet_hdrs)
drivers/net/ethernet/intel/iavf/iavf_adv_rss.c
219
list_for_each_entry(rss, &adapter->adv_rss_list_head, list)
drivers/net/ethernet/intel/iavf/iavf_adv_rss.c
236
iavf_print_adv_rss_cfg(struct iavf_adapter *adapter, struct iavf_adv_rss *rss,
drivers/net/ethernet/intel/iavf/iavf_adv_rss.c
294
dev_info(&adapter->pdev->dev, "%s %s %s\n", action, hash_opt, result);
drivers/net/ethernet/intel/iavf/iavf_adv_rss.h
123
iavf_find_adv_rss_cfg_by_hdrs(struct iavf_adapter *adapter, u32 packet_hdrs);
drivers/net/ethernet/intel/iavf/iavf_adv_rss.h
125
iavf_print_adv_rss_cfg(struct iavf_adapter *adapter, struct iavf_adv_rss *rss,
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
1045
spin_unlock_bh(&adapter->fdir_fltr_lock);
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
1058
iavf_get_fdir_fltr_ids(struct iavf_adapter *adapter, struct ethtool_rxnfc *cmd,
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
1065
if (!(adapter->flags & IAVF_FLAG_FDIR_ENABLED))
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
1070
spin_lock_bh(&adapter->fdir_fltr_lock);
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
1072
list_for_each_entry(fltr, &adapter->fdir_list_head, list) {
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
1085
spin_unlock_bh(&adapter->fdir_fltr_lock);
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
1099
iavf_add_fdir_fltr_info(struct iavf_adapter *adapter, struct ethtool_rx_flow_spec *fsp,
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
1110
if (q_index >= adapter->num_active_queues)
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
1232
err = iavf_validate_fdir_fltr_masks(adapter, fltr);
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
1236
if (iavf_fdir_is_dup_fltr(adapter, fltr))
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
1243
return iavf_fill_fdir_add_msg(adapter, fltr);
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
1253
static int iavf_add_fdir_ethtool(struct iavf_adapter *adapter, struct ethtool_rxnfc *cmd)
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
1259
netdev_assert_locked(adapter->netdev);
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
1261
if (!(adapter->flags & IAVF_FLAG_FDIR_ENABLED))
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
1267
spin_lock_bh(&adapter->fdir_fltr_lock);
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
1268
if (iavf_find_fdir_fltr(adapter, false, fsp->location)) {
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
1269
dev_err(&adapter->pdev->dev, "Failed to add Flow Director filter, it already exists\n");
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
1270
spin_unlock_bh(&adapter->fdir_fltr_lock);
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
1273
spin_unlock_bh(&adapter->fdir_fltr_lock);
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
1279
err = iavf_add_fdir_fltr_info(adapter, fsp, fltr);
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
1281
err = iavf_fdir_add_fltr(adapter, fltr);
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
1296
static int iavf_del_fdir_ethtool(struct iavf_adapter *adapter, struct ethtool_rxnfc *cmd)
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
1300
if (!(adapter->flags & IAVF_FLAG_FDIR_ENABLED))
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
1303
return iavf_fdir_del_fltr(adapter, false, fsp->location);
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
1495
struct iavf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
1503
netdev_assert_locked(adapter->netdev);
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
1505
if (!ADV_RSS_SUPPORT(adapter))
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
1508
symm = !!(adapter->hfunc == VIRTCHNL_RSS_ALG_TOEPLITZ_SYMMETRIC);
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
1528
spin_lock_bh(&adapter->adv_rss_lock);
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
1529
rss_old = iavf_find_adv_rss_cfg_by_hdrs(adapter, hdrs);
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
1549
list_add_tail(&rss_new->list, &adapter->adv_rss_list_head);
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
1551
spin_unlock_bh(&adapter->adv_rss_lock);
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
1554
iavf_schedule_aq_request(adapter, IAVF_FLAG_AQ_ADD_ADV_RSS_CFG);
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
1565
struct iavf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
1570
if (!ADV_RSS_SUPPORT(adapter))
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
1579
spin_lock_bh(&adapter->adv_rss_lock);
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
1580
rss = iavf_find_adv_rss_cfg_by_hdrs(adapter, hdrs);
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
1585
spin_unlock_bh(&adapter->adv_rss_lock);
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
1620
struct iavf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
1625
ret = iavf_add_fdir_ethtool(adapter, cmd);
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
1628
ret = iavf_del_fdir_ethtool(adapter, cmd);
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
1645
struct iavf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
1647
return adapter->num_active_queues;
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
1661
struct iavf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
1666
if (!(adapter->flags & IAVF_FLAG_FDIR_ENABLED))
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
1668
spin_lock_bh(&adapter->fdir_fltr_lock);
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
1669
cmd->rule_cnt = adapter->fdir_active_fltr;
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
1670
spin_unlock_bh(&adapter->fdir_fltr_lock);
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
1675
ret = iavf_get_ethtool_fdir_entry(adapter, cmd);
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
1678
ret = iavf_get_fdir_fltr_ids(adapter, cmd, (u32 *)rule_locs);
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
1697
struct iavf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
1700
ch->max_combined = adapter->vsi_res->num_queue_pairs;
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
1705
ch->combined_count = adapter->num_active_queues;
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
1720
struct iavf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
1723
if ((adapter->vf_res->vf_cap_flags & VIRTCHNL_VF_OFFLOAD_ADQ) &&
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
1724
adapter->num_tc) {
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
1725
dev_info(&adapter->pdev->dev, "Cannot set channels since ADq is enabled.\n");
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
1732
if (num_req == 0 || num_req > adapter->vsi_res->num_queue_pairs)
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
1735
if (num_req == adapter->num_active_queues)
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
1741
adapter->num_req_queues = num_req;
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
1742
adapter->flags |= IAVF_FLAG_REINIT_ITR_NEEDED;
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
1743
adapter->flags |= IAVF_FLAG_RESET_NEEDED;
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
1744
iavf_reset_step(adapter);
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
1757
struct iavf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
1759
return adapter->rss_key_size;
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
1770
struct iavf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
1772
return adapter->rss_lut_size;
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
1785
struct iavf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
1789
if (adapter->hfunc == VIRTCHNL_RSS_ALG_TOEPLITZ_SYMMETRIC)
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
1793
memcpy(rxfh->key, adapter->rss_key, adapter->rss_key_size);
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
1797
for (i = 0; i < adapter->rss_lut_size; i++)
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
1798
rxfh->indir[i] = (u32)adapter->rss_lut[i];
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
1816
struct iavf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
1825
adapter->hfunc != VIRTCHNL_RSS_ALG_TOEPLITZ_SYMMETRIC) {
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
1826
if (!ADV_RSS_SUPPORT(adapter))
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
1828
adapter->hfunc = VIRTCHNL_RSS_ALG_TOEPLITZ_SYMMETRIC;
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
1829
adapter->aq_required |= IAVF_FLAG_AQ_SET_RSS_HFUNC;
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
1831
adapter->hfunc != VIRTCHNL_RSS_ALG_TOEPLITZ_ASYMMETRIC) {
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
1832
adapter->hfunc = VIRTCHNL_RSS_ALG_TOEPLITZ_ASYMMETRIC;
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
1833
adapter->aq_required |= IAVF_FLAG_AQ_SET_RSS_HFUNC;
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
1840
memcpy(adapter->rss_key, rxfh->key, adapter->rss_key_size);
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
1844
for (i = 0; i < adapter->rss_lut_size; i++)
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
1845
adapter->rss_lut[i] = (u8)(rxfh->indir[i]);
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
1848
return iavf_config_rss(adapter);
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
256
struct iavf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
263
if (ADV_LINK_SUPPORT(adapter)) {
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
264
if (adapter->link_speed_mbps &&
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
265
adapter->link_speed_mbps < U32_MAX)
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
266
cmd->base.speed = adapter->link_speed_mbps;
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
273
switch (adapter->link_speed) {
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
338
struct iavf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
342
iavf_schedule_aq_request(adapter, IAVF_FLAG_AQ_REQUEST_STATS);
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
344
iavf_add_ethtool_stats(&data, adapter, iavf_gstrings_stats);
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
353
if (i < adapter->num_active_queues) {
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
354
tx_ring = &adapter->tx_rings[i];
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
355
rx_ring = &adapter->rx_rings[i];
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
415
struct iavf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
417
return adapter->msg_enable;
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
430
struct iavf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
433
adapter->hw.debug_mask = data;
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
434
adapter->msg_enable = data;
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
447
struct iavf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
451
strscpy(drvinfo->bus_info, pci_name(adapter->pdev), 32);
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
469
struct iavf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
473
ring->rx_pending = adapter->rx_desc_count;
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
474
ring->tx_pending = adapter->tx_desc_count;
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
492
struct iavf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
519
if ((new_tx_count == adapter->tx_desc_count) &&
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
520
(new_rx_count == adapter->rx_desc_count)) {
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
525
if (new_tx_count != adapter->tx_desc_count) {
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
527
adapter->tx_desc_count, new_tx_count);
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
528
adapter->tx_desc_count = new_tx_count;
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
531
if (new_rx_count != adapter->rx_desc_count) {
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
533
adapter->rx_desc_count, new_rx_count);
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
534
adapter->rx_desc_count = new_rx_count;
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
538
adapter->flags |= IAVF_FLAG_RESET_NEEDED;
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
539
iavf_reset_step(adapter);
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
558
struct iavf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
566
else if (queue >= adapter->num_active_queues)
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
569
rx_ring = &adapter->rx_rings[queue];
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
570
tx_ring = &adapter->tx_rings[queue];
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
626
static int iavf_set_itr_per_queue(struct iavf_adapter *adapter,
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
629
struct iavf_ring *rx_ring = &adapter->rx_rings[queue];
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
630
struct iavf_ring *tx_ring = &adapter->tx_rings[queue];
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
638
netif_info(adapter, drv, adapter->netdev,
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
647
netif_info(adapter, drv, adapter->netdev,
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
687
struct iavf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
691
netif_info(adapter, drv, netdev, "Invalid value, rx-usecs range is 0-8160\n");
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
694
netif_info(adapter, drv, netdev, "Invalid value, tx-usecs range is 0-8160\n");
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
702
for (i = 0; i < adapter->num_active_queues; i++)
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
703
if (iavf_set_itr_per_queue(adapter, ec, i))
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
705
} else if (queue < adapter->num_active_queues) {
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
706
if (iavf_set_itr_per_queue(adapter, ec, queue))
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
709
netif_info(adapter, drv, netdev, "Invalid queue value, queue range is 0 - %d\n",
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
710
adapter->num_active_queues - 1);
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
916
iavf_get_ethtool_fdir_entry(struct iavf_adapter *adapter,
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
923
if (!(adapter->flags & IAVF_FLAG_FDIR_ENABLED))
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
926
spin_lock_bh(&adapter->fdir_fltr_lock);
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
928
rule = iavf_find_fdir_fltr(adapter, false, fsp->location);
drivers/net/ethernet/intel/iavf/iavf_fdir.c
38
int iavf_validate_fdir_fltr_masks(struct iavf_adapter *adapter,
drivers/net/ethernet/intel/iavf/iavf_fdir.c
593
int iavf_fill_fdir_add_msg(struct iavf_adapter *adapter, struct iavf_fdir_fltr *fltr)
drivers/net/ethernet/intel/iavf/iavf_fdir.c
664
vc_msg->vsi_id = adapter->vsi.id;
drivers/net/ethernet/intel/iavf/iavf_fdir.c
711
void iavf_print_fdir_fltr(struct iavf_adapter *adapter, struct iavf_fdir_fltr *fltr)
drivers/net/ethernet/intel/iavf/iavf_fdir.c
722
dev_info(&adapter->pdev->dev, "Rule ID: %u dst_ip: %pI4 src_ip %pI4 %s: dst_port %hu src_port %hu\n",
drivers/net/ethernet/intel/iavf/iavf_fdir.c
732
dev_info(&adapter->pdev->dev, "Rule ID: %u dst_ip: %pI4 src_ip %pI4 %s: SPI %u\n",
drivers/net/ethernet/intel/iavf/iavf_fdir.c
740
dev_info(&adapter->pdev->dev, "Rule ID: %u dst_ip: %pI4 src_ip %pI4 proto: %u L4_bytes: 0x%x\n",
drivers/net/ethernet/intel/iavf/iavf_fdir.c
750
dev_info(&adapter->pdev->dev, "Rule ID: %u dst_ip: %pI6 src_ip %pI6 %s: dst_port %hu src_port %hu\n",
drivers/net/ethernet/intel/iavf/iavf_fdir.c
760
dev_info(&adapter->pdev->dev, "Rule ID: %u dst_ip: %pI6 src_ip %pI6 %s: SPI %u\n",
drivers/net/ethernet/intel/iavf/iavf_fdir.c
768
dev_info(&adapter->pdev->dev, "Rule ID: %u dst_ip: %pI6 src_ip %pI6 proto: %u L4_bytes: 0x%x\n",
drivers/net/ethernet/intel/iavf/iavf_fdir.c
776
dev_info(&adapter->pdev->dev, "Rule ID: %u eth_type: 0x%x\n",
drivers/net/ethernet/intel/iavf/iavf_fdir.c
792
bool iavf_fdir_is_dup_fltr(struct iavf_adapter *adapter, struct iavf_fdir_fltr *fltr)
drivers/net/ethernet/intel/iavf/iavf_fdir.c
797
spin_lock_bh(&adapter->fdir_fltr_lock);
drivers/net/ethernet/intel/iavf/iavf_fdir.c
798
list_for_each_entry(tmp, &adapter->fdir_list_head, list) {
drivers/net/ethernet/intel/iavf/iavf_fdir.c
815
spin_unlock_bh(&adapter->fdir_fltr_lock);
drivers/net/ethernet/intel/iavf/iavf_fdir.c
828
struct iavf_fdir_fltr *iavf_find_fdir_fltr(struct iavf_adapter *adapter,
drivers/net/ethernet/intel/iavf/iavf_fdir.c
833
list_for_each_entry(rule, &adapter->fdir_list_head, list) {
drivers/net/ethernet/intel/iavf/iavf_fdir.c
849
int iavf_fdir_add_fltr(struct iavf_adapter *adapter,
drivers/net/ethernet/intel/iavf/iavf_fdir.c
854
spin_lock_bh(&adapter->fdir_fltr_lock);
drivers/net/ethernet/intel/iavf/iavf_fdir.c
855
if (iavf_fdir_max_reached(adapter)) {
drivers/net/ethernet/intel/iavf/iavf_fdir.c
856
spin_unlock_bh(&adapter->fdir_fltr_lock);
drivers/net/ethernet/intel/iavf/iavf_fdir.c
857
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/intel/iavf/iavf_fdir.c
863
list_for_each_entry(rule, &adapter->fdir_list_head, list) {
drivers/net/ethernet/intel/iavf/iavf_fdir.c
875
list_add(&fltr->list, &adapter->fdir_list_head);
drivers/net/ethernet/intel/iavf/iavf_fdir.c
877
iavf_inc_fdir_active_fltr(adapter, fltr);
drivers/net/ethernet/intel/iavf/iavf_fdir.c
879
if (adapter->link_up)
drivers/net/ethernet/intel/iavf/iavf_fdir.c
883
spin_unlock_bh(&adapter->fdir_fltr_lock);
drivers/net/ethernet/intel/iavf/iavf_fdir.c
885
if (adapter->link_up)
drivers/net/ethernet/intel/iavf/iavf_fdir.c
886
iavf_schedule_aq_request(adapter, IAVF_FLAG_AQ_ADD_FDIR_FILTER);
drivers/net/ethernet/intel/iavf/iavf_fdir.c
899
int iavf_fdir_del_fltr(struct iavf_adapter *adapter, bool is_raw, u32 data)
drivers/net/ethernet/intel/iavf/iavf_fdir.c
904
spin_lock_bh(&adapter->fdir_fltr_lock);
drivers/net/ethernet/intel/iavf/iavf_fdir.c
905
fltr = iavf_find_fdir_fltr(adapter, is_raw, data);
drivers/net/ethernet/intel/iavf/iavf_fdir.c
91
dev_err(&adapter->pdev->dev, "Failed to add Flow Director filter, partial masks are not supported\n");
drivers/net/ethernet/intel/iavf/iavf_fdir.c
912
iavf_dec_fdir_active_fltr(adapter, fltr);
drivers/net/ethernet/intel/iavf/iavf_fdir.c
918
} else if (adapter->fdir_active_fltr) {
drivers/net/ethernet/intel/iavf/iavf_fdir.c
923
iavf_schedule_aq_request(adapter, IAVF_FLAG_AQ_DEL_FDIR_FILTER);
drivers/net/ethernet/intel/iavf/iavf_fdir.c
925
spin_unlock_bh(&adapter->fdir_fltr_lock);
drivers/net/ethernet/intel/iavf/iavf_fdir.h
132
int iavf_validate_fdir_fltr_masks(struct iavf_adapter *adapter,
drivers/net/ethernet/intel/iavf/iavf_fdir.h
134
int iavf_fill_fdir_add_msg(struct iavf_adapter *adapter, struct iavf_fdir_fltr *fltr);
drivers/net/ethernet/intel/iavf/iavf_fdir.h
135
void iavf_print_fdir_fltr(struct iavf_adapter *adapter, struct iavf_fdir_fltr *fltr);
drivers/net/ethernet/intel/iavf/iavf_fdir.h
136
bool iavf_fdir_is_dup_fltr(struct iavf_adapter *adapter, struct iavf_fdir_fltr *fltr);
drivers/net/ethernet/intel/iavf/iavf_fdir.h
137
int iavf_fdir_add_fltr(struct iavf_adapter *adapter,
drivers/net/ethernet/intel/iavf/iavf_fdir.h
139
int iavf_fdir_del_fltr(struct iavf_adapter *adapter, bool is_raw, u32 data);
drivers/net/ethernet/intel/iavf/iavf_fdir.h
140
struct iavf_fdir_fltr *iavf_find_fdir_fltr(struct iavf_adapter *adapter,
drivers/net/ethernet/intel/iavf/iavf_main.c
1000
spin_unlock_bh(&adapter->mac_vlan_list_lock);
drivers/net/ethernet/intel/iavf/iavf_main.c
1004
old_f = iavf_find_filter(adapter, hw->mac.addr);
drivers/net/ethernet/intel/iavf/iavf_main.c
1008
adapter->aq_required |= IAVF_FLAG_AQ_DEL_MAC_FILTER;
drivers/net/ethernet/intel/iavf/iavf_main.c
1017
spin_unlock_bh(&adapter->mac_vlan_list_lock);
drivers/net/ethernet/intel/iavf/iavf_main.c
1020
iavf_schedule_aq_request(adapter, IAVF_FLAG_AQ_ADD_MAC_FILTER);
drivers/net/ethernet/intel/iavf/iavf_main.c
1034
struct iavf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/iavf/iavf_main.c
1038
spin_lock_bh(&adapter->mac_vlan_list_lock);
drivers/net/ethernet/intel/iavf/iavf_main.c
1040
f = iavf_find_filter(adapter, macaddr);
drivers/net/ethernet/intel/iavf/iavf_main.c
1045
spin_unlock_bh(&adapter->mac_vlan_list_lock);
drivers/net/ethernet/intel/iavf/iavf_main.c
1059
struct iavf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/iavf/iavf_main.c
1066
ret = iavf_replace_primary_mac(adapter, addr->sa_data);
drivers/net/ethernet/intel/iavf/iavf_main.c
1071
ret = wait_event_interruptible_timeout(adapter->vc_waitqueue,
drivers/net/ethernet/intel/iavf/iavf_main.c
1103
struct iavf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/iavf/iavf_main.c
1105
if (iavf_add_filter(adapter, addr))
drivers/net/ethernet/intel/iavf/iavf_main.c
1121
struct iavf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/iavf/iavf_main.c
1132
f = iavf_find_filter(adapter, addr);
drivers/net/ethernet/intel/iavf/iavf_main.c
1135
adapter->aq_required |= IAVF_FLAG_AQ_DEL_MAC_FILTER;
drivers/net/ethernet/intel/iavf/iavf_main.c
1144
bool iavf_promiscuous_mode_changed(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_main.c
1146
return (adapter->current_netdev_promisc_flags ^ adapter->netdev->flags) &
drivers/net/ethernet/intel/iavf/iavf_main.c
1156
struct iavf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/iavf/iavf_main.c
1158
spin_lock_bh(&adapter->mac_vlan_list_lock);
drivers/net/ethernet/intel/iavf/iavf_main.c
1161
spin_unlock_bh(&adapter->mac_vlan_list_lock);
drivers/net/ethernet/intel/iavf/iavf_main.c
1163
spin_lock_bh(&adapter->current_netdev_promisc_flags_lock);
drivers/net/ethernet/intel/iavf/iavf_main.c
1164
if (iavf_promiscuous_mode_changed(adapter))
drivers/net/ethernet/intel/iavf/iavf_main.c
1165
adapter->aq_required |= IAVF_FLAG_AQ_CONFIGURE_PROMISC_MODE;
drivers/net/ethernet/intel/iavf/iavf_main.c
1166
spin_unlock_bh(&adapter->current_netdev_promisc_flags_lock);
drivers/net/ethernet/intel/iavf/iavf_main.c
1173
static void iavf_napi_enable_all(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_main.c
1177
int q_vectors = adapter->num_msix_vectors - NONQ_VECS;
drivers/net/ethernet/intel/iavf/iavf_main.c
1182
q_vector = &adapter->q_vectors[q_idx];
drivers/net/ethernet/intel/iavf/iavf_main.c
1192
static void iavf_napi_disable_all(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_main.c
1196
int q_vectors = adapter->num_msix_vectors - NONQ_VECS;
drivers/net/ethernet/intel/iavf/iavf_main.c
1199
q_vector = &adapter->q_vectors[q_idx];
drivers/net/ethernet/intel/iavf/iavf_main.c
1208
static void iavf_configure(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_main.c
1210
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/iavf/iavf_main.c
1215
iavf_configure_tx(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
1216
iavf_configure_rx(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
1217
adapter->aq_required |= IAVF_FLAG_AQ_CONFIGURE_QUEUES;
drivers/net/ethernet/intel/iavf/iavf_main.c
1219
for (i = 0; i < adapter->num_active_queues; i++) {
drivers/net/ethernet/intel/iavf/iavf_main.c
1220
struct iavf_ring *ring = &adapter->rx_rings[i];
drivers/net/ethernet/intel/iavf/iavf_main.c
1230
static void iavf_up_complete(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_main.c
1232
netdev_assert_locked(adapter->netdev);
drivers/net/ethernet/intel/iavf/iavf_main.c
1234
iavf_change_state(adapter, __IAVF_RUNNING);
drivers/net/ethernet/intel/iavf/iavf_main.c
1235
clear_bit(__IAVF_VSI_DOWN, adapter->vsi.state);
drivers/net/ethernet/intel/iavf/iavf_main.c
1237
iavf_napi_enable_all(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
1239
iavf_schedule_aq_request(adapter, IAVF_FLAG_AQ_ENABLE_QUEUES);
drivers/net/ethernet/intel/iavf/iavf_main.c
1247
static void iavf_clear_mac_vlan_filters(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_main.c
1252
spin_lock_bh(&adapter->mac_vlan_list_lock);
drivers/net/ethernet/intel/iavf/iavf_main.c
1254
__dev_uc_unsync(adapter->netdev, NULL);
drivers/net/ethernet/intel/iavf/iavf_main.c
1255
__dev_mc_unsync(adapter->netdev, NULL);
drivers/net/ethernet/intel/iavf/iavf_main.c
1258
list_for_each_entry_safe(f, ftmp, &adapter->mac_filter_list,
drivers/net/ethernet/intel/iavf/iavf_main.c
1269
list_for_each_entry_safe(vlf, vlftmp, &adapter->vlan_filter_list,
drivers/net/ethernet/intel/iavf/iavf_main.c
1273
spin_unlock_bh(&adapter->mac_vlan_list_lock);
drivers/net/ethernet/intel/iavf/iavf_main.c
1281
static void iavf_clear_cloud_filters(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_main.c
1286
spin_lock_bh(&adapter->cloud_filter_list_lock);
drivers/net/ethernet/intel/iavf/iavf_main.c
1287
list_for_each_entry_safe(cf, cftmp, &adapter->cloud_filter_list,
drivers/net/ethernet/intel/iavf/iavf_main.c
1292
adapter->num_cloud_filters--;
drivers/net/ethernet/intel/iavf/iavf_main.c
1297
spin_unlock_bh(&adapter->cloud_filter_list_lock);
drivers/net/ethernet/intel/iavf/iavf_main.c
1305
static void iavf_clear_fdir_filters(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_main.c
1310
spin_lock_bh(&adapter->fdir_fltr_lock);
drivers/net/ethernet/intel/iavf/iavf_main.c
1311
list_for_each_entry(fdir, &adapter->fdir_list_head, list) {
drivers/net/ethernet/intel/iavf/iavf_main.c
1323
spin_unlock_bh(&adapter->fdir_fltr_lock);
drivers/net/ethernet/intel/iavf/iavf_main.c
1331
static void iavf_clear_adv_rss_conf(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_main.c
1336
spin_lock_bh(&adapter->adv_rss_lock);
drivers/net/ethernet/intel/iavf/iavf_main.c
1337
list_for_each_entry_safe(rss, rsstmp, &adapter->adv_rss_list_head,
drivers/net/ethernet/intel/iavf/iavf_main.c
1346
spin_unlock_bh(&adapter->adv_rss_lock);
drivers/net/ethernet/intel/iavf/iavf_main.c
1353
void iavf_down(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_main.c
1355
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/iavf/iavf_main.c
1359
if (adapter->state <= __IAVF_DOWN_PENDING)
drivers/net/ethernet/intel/iavf/iavf_main.c
1364
adapter->link_up = false;
drivers/net/ethernet/intel/iavf/iavf_main.c
1365
iavf_napi_disable_all(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
1366
iavf_irq_disable(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
1368
iavf_clear_mac_vlan_filters(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
1369
iavf_clear_cloud_filters(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
1370
iavf_clear_fdir_filters(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
1371
iavf_clear_adv_rss_conf(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
1373
if (adapter->flags & IAVF_FLAG_PF_COMMS_FAILED)
drivers/net/ethernet/intel/iavf/iavf_main.c
1376
if (!test_bit(__IAVF_IN_REMOVE_TASK, &adapter->crit_section)) {
drivers/net/ethernet/intel/iavf/iavf_main.c
1378
adapter->current_op = VIRTCHNL_OP_UNKNOWN;
drivers/net/ethernet/intel/iavf/iavf_main.c
1383
if (!list_empty(&adapter->mac_filter_list))
drivers/net/ethernet/intel/iavf/iavf_main.c
1384
adapter->aq_required |= IAVF_FLAG_AQ_DEL_MAC_FILTER;
drivers/net/ethernet/intel/iavf/iavf_main.c
1385
if (!list_empty(&adapter->vlan_filter_list))
drivers/net/ethernet/intel/iavf/iavf_main.c
1386
adapter->aq_required |= IAVF_FLAG_AQ_DEL_VLAN_FILTER;
drivers/net/ethernet/intel/iavf/iavf_main.c
1387
if (!list_empty(&adapter->cloud_filter_list))
drivers/net/ethernet/intel/iavf/iavf_main.c
1388
adapter->aq_required |= IAVF_FLAG_AQ_DEL_CLOUD_FILTER;
drivers/net/ethernet/intel/iavf/iavf_main.c
1389
if (!list_empty(&adapter->fdir_list_head))
drivers/net/ethernet/intel/iavf/iavf_main.c
1390
adapter->aq_required |= IAVF_FLAG_AQ_DEL_FDIR_FILTER;
drivers/net/ethernet/intel/iavf/iavf_main.c
1391
if (!list_empty(&adapter->adv_rss_list_head))
drivers/net/ethernet/intel/iavf/iavf_main.c
1392
adapter->aq_required |= IAVF_FLAG_AQ_DEL_ADV_RSS_CFG;
drivers/net/ethernet/intel/iavf/iavf_main.c
1395
iavf_schedule_aq_request(adapter, IAVF_FLAG_AQ_DISABLE_QUEUES);
drivers/net/ethernet/intel/iavf/iavf_main.c
1408
iavf_acquire_msix_vectors(struct iavf_adapter *adapter, int vectors)
drivers/net/ethernet/intel/iavf/iavf_main.c
1424
err = pci_enable_msix_range(adapter->pdev, adapter->msix_entries,
drivers/net/ethernet/intel/iavf/iavf_main.c
1427
dev_err(&adapter->pdev->dev, "Unable to allocate MSI-X interrupts\n");
drivers/net/ethernet/intel/iavf/iavf_main.c
1428
kfree(adapter->msix_entries);
drivers/net/ethernet/intel/iavf/iavf_main.c
1429
adapter->msix_entries = NULL;
drivers/net/ethernet/intel/iavf/iavf_main.c
1437
adapter->num_msix_vectors = err;
drivers/net/ethernet/intel/iavf/iavf_main.c
1447
static void iavf_free_queues(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_main.c
1449
if (!adapter->vsi_res)
drivers/net/ethernet/intel/iavf/iavf_main.c
1451
adapter->num_active_queues = 0;
drivers/net/ethernet/intel/iavf/iavf_main.c
1452
kfree(adapter->tx_rings);
drivers/net/ethernet/intel/iavf/iavf_main.c
1453
adapter->tx_rings = NULL;
drivers/net/ethernet/intel/iavf/iavf_main.c
1454
kfree(adapter->rx_rings);
drivers/net/ethernet/intel/iavf/iavf_main.c
1455
adapter->rx_rings = NULL;
drivers/net/ethernet/intel/iavf/iavf_main.c
1467
void iavf_set_queue_vlan_tag_loc(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_main.c
1471
for (i = 0; i < adapter->num_active_queues; i++) {
drivers/net/ethernet/intel/iavf/iavf_main.c
1472
struct iavf_ring *tx_ring = &adapter->tx_rings[i];
drivers/net/ethernet/intel/iavf/iavf_main.c
1473
struct iavf_ring *rx_ring = &adapter->rx_rings[i];
drivers/net/ethernet/intel/iavf/iavf_main.c
1483
if (VLAN_ALLOWED(adapter)) {
drivers/net/ethernet/intel/iavf/iavf_main.c
1486
} else if (VLAN_V2_ALLOWED(adapter)) {
drivers/net/ethernet/intel/iavf/iavf_main.c
1491
&adapter->vlan_v2_caps.offloads.stripping_support;
drivers/net/ethernet/intel/iavf/iavf_main.c
1493
&adapter->vlan_v2_caps.offloads.insertion_support;
drivers/net/ethernet/intel/iavf/iavf_main.c
1546
static int iavf_alloc_queues(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_main.c
1555
if (adapter->num_req_queues)
drivers/net/ethernet/intel/iavf/iavf_main.c
1556
num_active_queues = adapter->num_req_queues;
drivers/net/ethernet/intel/iavf/iavf_main.c
1557
else if ((adapter->vf_res->vf_cap_flags & VIRTCHNL_VF_OFFLOAD_ADQ) &&
drivers/net/ethernet/intel/iavf/iavf_main.c
1558
adapter->num_tc)
drivers/net/ethernet/intel/iavf/iavf_main.c
1559
num_active_queues = adapter->ch_config.total_qps;
drivers/net/ethernet/intel/iavf/iavf_main.c
1562
adapter->vsi_res->num_queue_pairs,
drivers/net/ethernet/intel/iavf/iavf_main.c
1566
adapter->tx_rings = kzalloc_objs(struct iavf_ring, num_active_queues);
drivers/net/ethernet/intel/iavf/iavf_main.c
1567
if (!adapter->tx_rings)
drivers/net/ethernet/intel/iavf/iavf_main.c
1569
adapter->rx_rings = kzalloc_objs(struct iavf_ring, num_active_queues);
drivers/net/ethernet/intel/iavf/iavf_main.c
1570
if (!adapter->rx_rings)
drivers/net/ethernet/intel/iavf/iavf_main.c
1577
tx_ring = &adapter->tx_rings[i];
drivers/net/ethernet/intel/iavf/iavf_main.c
1580
tx_ring->netdev = adapter->netdev;
drivers/net/ethernet/intel/iavf/iavf_main.c
1581
tx_ring->dev = &adapter->pdev->dev;
drivers/net/ethernet/intel/iavf/iavf_main.c
1582
tx_ring->count = adapter->tx_desc_count;
drivers/net/ethernet/intel/iavf/iavf_main.c
1584
if (adapter->flags & IAVF_FLAG_WB_ON_ITR_CAPABLE)
drivers/net/ethernet/intel/iavf/iavf_main.c
1587
rx_ring = &adapter->rx_rings[i];
drivers/net/ethernet/intel/iavf/iavf_main.c
1589
rx_ring->netdev = adapter->netdev;
drivers/net/ethernet/intel/iavf/iavf_main.c
1590
rx_ring->count = adapter->rx_desc_count;
drivers/net/ethernet/intel/iavf/iavf_main.c
1594
adapter->num_active_queues = num_active_queues;
drivers/net/ethernet/intel/iavf/iavf_main.c
1596
iavf_set_queue_vlan_tag_loc(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
1601
iavf_free_queues(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
1612
static int iavf_set_interrupt_capability(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_main.c
1618
if (!adapter->vsi_res) {
drivers/net/ethernet/intel/iavf/iavf_main.c
1622
pairs = adapter->num_active_queues;
drivers/net/ethernet/intel/iavf/iavf_main.c
1630
(int)adapter->vf_res->max_vectors);
drivers/net/ethernet/intel/iavf/iavf_main.c
1632
adapter->msix_entries = kzalloc_objs(struct msix_entry, v_budget);
drivers/net/ethernet/intel/iavf/iavf_main.c
1633
if (!adapter->msix_entries) {
drivers/net/ethernet/intel/iavf/iavf_main.c
1639
adapter->msix_entries[vector].entry = vector;
drivers/net/ethernet/intel/iavf/iavf_main.c
1641
err = iavf_acquire_msix_vectors(adapter, v_budget);
drivers/net/ethernet/intel/iavf/iavf_main.c
1643
iavf_schedule_finish_config(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
1655
static int iavf_config_rss_aq(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_main.c
1658
(struct iavf_aqc_get_set_rss_key_data *)adapter->rss_key;
drivers/net/ethernet/intel/iavf/iavf_main.c
1659
struct iavf_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/iavf/iavf_main.c
1662
if (adapter->current_op != VIRTCHNL_OP_UNKNOWN) {
drivers/net/ethernet/intel/iavf/iavf_main.c
1664
dev_err(&adapter->pdev->dev, "Cannot configure RSS, command %d pending\n",
drivers/net/ethernet/intel/iavf/iavf_main.c
1665
adapter->current_op);
drivers/net/ethernet/intel/iavf/iavf_main.c
1669
status = iavf_aq_set_rss_key(hw, adapter->vsi.id, rss_key);
drivers/net/ethernet/intel/iavf/iavf_main.c
1671
dev_err(&adapter->pdev->dev, "Cannot set RSS key, err %s aq_err %s\n",
drivers/net/ethernet/intel/iavf/iavf_main.c
1678
status = iavf_aq_set_rss_lut(hw, adapter->vsi.id, false,
drivers/net/ethernet/intel/iavf/iavf_main.c
1679
adapter->rss_lut, adapter->rss_lut_size);
drivers/net/ethernet/intel/iavf/iavf_main.c
1681
dev_err(&adapter->pdev->dev, "Cannot set RSS lut, err %s aq_err %s\n",
drivers/net/ethernet/intel/iavf/iavf_main.c
1697
static int iavf_config_rss_reg(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_main.c
1699
struct iavf_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/iavf/iavf_main.c
17
static int iavf_setup_all_tx_resources(struct iavf_adapter *adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
1703
dw = (u32 *)adapter->rss_key;
drivers/net/ethernet/intel/iavf/iavf_main.c
1704
for (i = 0; i < adapter->rss_key_size / 4; i++)
drivers/net/ethernet/intel/iavf/iavf_main.c
1707
dw = (u32 *)adapter->rss_lut;
drivers/net/ethernet/intel/iavf/iavf_main.c
1708
for (i = 0; i < adapter->rss_lut_size / 4; i++)
drivers/net/ethernet/intel/iavf/iavf_main.c
1722
int iavf_config_rss(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_main.c
1725
if (RSS_PF(adapter)) {
drivers/net/ethernet/intel/iavf/iavf_main.c
1726
adapter->aq_required |= IAVF_FLAG_AQ_SET_RSS_LUT |
drivers/net/ethernet/intel/iavf/iavf_main.c
1729
} else if (RSS_AQ(adapter)) {
drivers/net/ethernet/intel/iavf/iavf_main.c
1730
return iavf_config_rss_aq(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
1732
return iavf_config_rss_reg(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
1740
static void iavf_fill_rss_lut(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_main.c
1744
for (i = 0; i < adapter->rss_lut_size; i++)
drivers/net/ethernet/intel/iavf/iavf_main.c
1745
adapter->rss_lut[i] = i % adapter->num_active_queues;
drivers/net/ethernet/intel/iavf/iavf_main.c
1754
static int iavf_init_rss(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_main.c
1756
struct iavf_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/iavf/iavf_main.c
1758
if (!RSS_PF(adapter)) {
drivers/net/ethernet/intel/iavf/iavf_main.c
1760
if (adapter->vf_res->vf_cap_flags &
drivers/net/ethernet/intel/iavf/iavf_main.c
1762
adapter->rss_hashcfg =
drivers/net/ethernet/intel/iavf/iavf_main.c
1765
adapter->rss_hashcfg = IAVF_DEFAULT_RSS_HASHCFG;
drivers/net/ethernet/intel/iavf/iavf_main.c
1767
wr32(hw, IAVF_VFQF_HENA(0), (u32)adapter->rss_hashcfg);
drivers/net/ethernet/intel/iavf/iavf_main.c
1768
wr32(hw, IAVF_VFQF_HENA(1), (u32)(adapter->rss_hashcfg >> 32));
drivers/net/ethernet/intel/iavf/iavf_main.c
1771
iavf_fill_rss_lut(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
1772
netdev_rss_key_fill((void *)adapter->rss_key, adapter->rss_key_size);
drivers/net/ethernet/intel/iavf/iavf_main.c
1774
return iavf_config_rss(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
178
static bool iavf_is_reset_in_progress(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_main.c
1784
static int iavf_alloc_q_vectors(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_main.c
1789
num_q_vectors = adapter->num_msix_vectors - NONQ_VECS;
drivers/net/ethernet/intel/iavf/iavf_main.c
1790
adapter->q_vectors = kzalloc_objs(*q_vector, num_q_vectors);
drivers/net/ethernet/intel/iavf/iavf_main.c
1791
if (!adapter->q_vectors)
drivers/net/ethernet/intel/iavf/iavf_main.c
1795
irq_num = adapter->msix_entries[q_idx + NONQ_VECS].vector;
drivers/net/ethernet/intel/iavf/iavf_main.c
1796
q_vector = &adapter->q_vectors[q_idx];
drivers/net/ethernet/intel/iavf/iavf_main.c
1797
q_vector->adapter = adapter;
drivers/net/ethernet/intel/iavf/iavf_main.c
1798
q_vector->vsi = &adapter->vsi;
drivers/net/ethernet/intel/iavf/iavf_main.c
18
static int iavf_setup_all_rx_resources(struct iavf_adapter *adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
180
if (adapter->state == __IAVF_RESETTING ||
drivers/net/ethernet/intel/iavf/iavf_main.c
1801
netif_napi_add_config_locked(adapter->netdev, &q_vector->napi,
drivers/net/ethernet/intel/iavf/iavf_main.c
181
adapter->flags & (IAVF_FLAG_RESET_PENDING |
drivers/net/ethernet/intel/iavf/iavf_main.c
1817
static void iavf_free_q_vectors(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_main.c
1821
if (!adapter->q_vectors)
drivers/net/ethernet/intel/iavf/iavf_main.c
1824
num_q_vectors = adapter->num_msix_vectors - NONQ_VECS;
drivers/net/ethernet/intel/iavf/iavf_main.c
1827
struct iavf_q_vector *q_vector = &adapter->q_vectors[q_idx];
drivers/net/ethernet/intel/iavf/iavf_main.c
1831
kfree(adapter->q_vectors);
drivers/net/ethernet/intel/iavf/iavf_main.c
1832
adapter->q_vectors = NULL;
drivers/net/ethernet/intel/iavf/iavf_main.c
1840
static void iavf_reset_interrupt_capability(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_main.c
1842
if (!adapter->msix_entries)
drivers/net/ethernet/intel/iavf/iavf_main.c
1845
pci_disable_msix(adapter->pdev);
drivers/net/ethernet/intel/iavf/iavf_main.c
1846
kfree(adapter->msix_entries);
drivers/net/ethernet/intel/iavf/iavf_main.c
1847
adapter->msix_entries = NULL;
drivers/net/ethernet/intel/iavf/iavf_main.c
1855
static int iavf_init_interrupt_scheme(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_main.c
1859
err = iavf_alloc_queues(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
1861
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/intel/iavf/iavf_main.c
1866
err = iavf_set_interrupt_capability(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
1868
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/intel/iavf/iavf_main.c
1873
err = iavf_alloc_q_vectors(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
1875
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/intel/iavf/iavf_main.c
1885
if ((adapter->vf_res->vf_cap_flags & VIRTCHNL_VF_OFFLOAD_ADQ) &&
drivers/net/ethernet/intel/iavf/iavf_main.c
1886
adapter->num_tc)
drivers/net/ethernet/intel/iavf/iavf_main.c
1887
dev_info(&adapter->pdev->dev, "ADq Enabled, %u TCs created",
drivers/net/ethernet/intel/iavf/iavf_main.c
1888
adapter->num_tc);
drivers/net/ethernet/intel/iavf/iavf_main.c
1890
dev_info(&adapter->pdev->dev, "Multiqueue %s: Queue pair count = %u",
drivers/net/ethernet/intel/iavf/iavf_main.c
1891
(adapter->num_active_queues > 1) ? "Enabled" : "Disabled",
drivers/net/ethernet/intel/iavf/iavf_main.c
1892
adapter->num_active_queues);
drivers/net/ethernet/intel/iavf/iavf_main.c
1896
iavf_reset_interrupt_capability(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
1898
iavf_free_queues(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
1907
static void iavf_free_interrupt_scheme(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_main.c
1909
iavf_free_q_vectors(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
1910
iavf_reset_interrupt_capability(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
1911
iavf_free_queues(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
1918
static void iavf_free_rss(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_main.c
1920
kfree(adapter->rss_key);
drivers/net/ethernet/intel/iavf/iavf_main.c
1921
adapter->rss_key = NULL;
drivers/net/ethernet/intel/iavf/iavf_main.c
1923
kfree(adapter->rss_lut);
drivers/net/ethernet/intel/iavf/iavf_main.c
1924
adapter->rss_lut = NULL;
drivers/net/ethernet/intel/iavf/iavf_main.c
1934
static int iavf_reinit_interrupt_scheme(struct iavf_adapter *adapter, bool running)
drivers/net/ethernet/intel/iavf/iavf_main.c
1936
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/iavf/iavf_main.c
1940
iavf_free_traffic_irqs(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
1941
iavf_free_misc_irq(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
1942
iavf_free_interrupt_scheme(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
1944
err = iavf_init_interrupt_scheme(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
1950
err = iavf_request_misc_irq(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
1954
set_bit(__IAVF_VSI_DOWN, adapter->vsi.state);
drivers/net/ethernet/intel/iavf/iavf_main.c
1956
iavf_map_rings_to_vectors(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
1969
struct iavf_adapter *adapter;
drivers/net/ethernet/intel/iavf/iavf_main.c
1973
adapter = container_of(work, struct iavf_adapter, finish_config);
drivers/net/ethernet/intel/iavf/iavf_main.c
1979
netdev_lock(adapter->netdev);
drivers/net/ethernet/intel/iavf/iavf_main.c
1981
if ((adapter->flags & IAVF_FLAG_SETUP_NETDEV_FEATURES) &&
drivers/net/ethernet/intel/iavf/iavf_main.c
1982
adapter->netdev->reg_state == NETREG_REGISTERED &&
drivers/net/ethernet/intel/iavf/iavf_main.c
1983
!test_bit(__IAVF_IN_REMOVE_TASK, &adapter->crit_section)) {
drivers/net/ethernet/intel/iavf/iavf_main.c
1984
netdev_update_features(adapter->netdev);
drivers/net/ethernet/intel/iavf/iavf_main.c
1985
adapter->flags &= ~IAVF_FLAG_SETUP_NETDEV_FEATURES;
drivers/net/ethernet/intel/iavf/iavf_main.c
1988
switch (adapter->state) {
drivers/net/ethernet/intel/iavf/iavf_main.c
199
struct iavf_adapter *adapter = (struct iavf_adapter *)hw->back;
drivers/net/ethernet/intel/iavf/iavf_main.c
1993
pairs = adapter->num_active_queues;
drivers/net/ethernet/intel/iavf/iavf_main.c
1994
netif_set_real_num_rx_queues(adapter->netdev, pairs);
drivers/net/ethernet/intel/iavf/iavf_main.c
1995
netif_set_real_num_tx_queues(adapter->netdev, pairs);
drivers/net/ethernet/intel/iavf/iavf_main.c
1997
if (adapter->netdev->reg_state != NETREG_REGISTERED) {
drivers/net/ethernet/intel/iavf/iavf_main.c
1998
netdev_unlock(adapter->netdev);
drivers/net/ethernet/intel/iavf/iavf_main.c
20
static void iavf_init_get_resources(struct iavf_adapter *adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
2000
err = register_netdevice(adapter->netdev);
drivers/net/ethernet/intel/iavf/iavf_main.c
2002
dev_err(&adapter->pdev->dev, "Unable to register netdev (%d)\n",
drivers/net/ethernet/intel/iavf/iavf_main.c
2006
netdev_lock(adapter->netdev);
drivers/net/ethernet/intel/iavf/iavf_main.c
2007
iavf_free_rss(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
2008
iavf_free_misc_irq(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
2009
iavf_reset_interrupt_capability(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
2010
iavf_change_state(adapter,
drivers/net/ethernet/intel/iavf/iavf_main.c
2012
netdev_unlock(adapter->netdev);
drivers/net/ethernet/intel/iavf/iavf_main.c
2018
pairs = adapter->num_active_queues;
drivers/net/ethernet/intel/iavf/iavf_main.c
2019
netif_set_real_num_rx_queues(adapter->netdev, pairs);
drivers/net/ethernet/intel/iavf/iavf_main.c
2020
netif_set_real_num_tx_queues(adapter->netdev, pairs);
drivers/net/ethernet/intel/iavf/iavf_main.c
2029
netdev_unlock(adapter->netdev);
drivers/net/ethernet/intel/iavf/iavf_main.c
2037
void iavf_schedule_finish_config(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_main.c
2039
if (!test_bit(__IAVF_IN_REMOVE_TASK, &adapter->crit_section))
drivers/net/ethernet/intel/iavf/iavf_main.c
2040
queue_work(adapter->wq, &adapter->finish_config);
drivers/net/ethernet/intel/iavf/iavf_main.c
205
mem->va = dma_alloc_coherent(&adapter->pdev->dev, mem->size,
drivers/net/ethernet/intel/iavf/iavf_main.c
2052
static int iavf_process_aq_command(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_main.c
2054
if (adapter->aq_required & IAVF_FLAG_AQ_GET_CONFIG)
drivers/net/ethernet/intel/iavf/iavf_main.c
2055
return iavf_send_vf_config_msg(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
2056
if (adapter->aq_required & IAVF_FLAG_AQ_GET_OFFLOAD_VLAN_V2_CAPS)
drivers/net/ethernet/intel/iavf/iavf_main.c
2057
return iavf_send_vf_offload_vlan_v2_msg(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
2058
if (adapter->aq_required & IAVF_FLAG_AQ_GET_SUPPORTED_RXDIDS)
drivers/net/ethernet/intel/iavf/iavf_main.c
2059
return iavf_send_vf_supported_rxdids_msg(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
2060
if (adapter->aq_required & IAVF_FLAG_AQ_GET_PTP_CAPS)
drivers/net/ethernet/intel/iavf/iavf_main.c
2061
return iavf_send_vf_ptp_caps_msg(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
2062
if (adapter->aq_required & IAVF_FLAG_AQ_DISABLE_QUEUES) {
drivers/net/ethernet/intel/iavf/iavf_main.c
2063
iavf_disable_queues(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
2067
if (adapter->aq_required & IAVF_FLAG_AQ_MAP_VECTORS) {
drivers/net/ethernet/intel/iavf/iavf_main.c
2068
iavf_map_queues(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
2072
if (adapter->aq_required & IAVF_FLAG_AQ_ADD_MAC_FILTER) {
drivers/net/ethernet/intel/iavf/iavf_main.c
2073
iavf_add_ether_addrs(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
2077
if (adapter->aq_required & IAVF_FLAG_AQ_ADD_VLAN_FILTER) {
drivers/net/ethernet/intel/iavf/iavf_main.c
2078
iavf_add_vlans(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
2082
if (adapter->aq_required & IAVF_FLAG_AQ_DEL_MAC_FILTER) {
drivers/net/ethernet/intel/iavf/iavf_main.c
2083
iavf_del_ether_addrs(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
2087
if (adapter->aq_required & IAVF_FLAG_AQ_DEL_VLAN_FILTER) {
drivers/net/ethernet/intel/iavf/iavf_main.c
2088
iavf_del_vlans(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
2092
if (adapter->aq_required & IAVF_FLAG_AQ_ENABLE_VLAN_STRIPPING) {
drivers/net/ethernet/intel/iavf/iavf_main.c
2093
iavf_enable_vlan_stripping(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
2097
if (adapter->aq_required & IAVF_FLAG_AQ_DISABLE_VLAN_STRIPPING) {
drivers/net/ethernet/intel/iavf/iavf_main.c
2098
iavf_disable_vlan_stripping(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
2102
if (adapter->aq_required & IAVF_FLAG_AQ_CONFIGURE_QUEUES_BW) {
drivers/net/ethernet/intel/iavf/iavf_main.c
2103
iavf_cfg_queues_bw(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
2107
if (adapter->aq_required & IAVF_FLAG_AQ_GET_QOS_CAPS) {
drivers/net/ethernet/intel/iavf/iavf_main.c
2108
iavf_get_qos_caps(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
2112
if (adapter->aq_required & IAVF_FLAG_AQ_CFG_QUEUES_QUANTA_SIZE) {
drivers/net/ethernet/intel/iavf/iavf_main.c
2113
iavf_cfg_queues_quanta_size(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
2117
if (adapter->aq_required & IAVF_FLAG_AQ_CONFIGURE_QUEUES) {
drivers/net/ethernet/intel/iavf/iavf_main.c
2118
iavf_configure_queues(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
2122
if (adapter->aq_required & IAVF_FLAG_AQ_ENABLE_QUEUES) {
drivers/net/ethernet/intel/iavf/iavf_main.c
2123
iavf_enable_queues(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
2127
if (adapter->aq_required & IAVF_FLAG_AQ_CONFIGURE_RSS) {
drivers/net/ethernet/intel/iavf/iavf_main.c
2132
adapter->aq_required &= ~IAVF_FLAG_AQ_CONFIGURE_RSS;
drivers/net/ethernet/intel/iavf/iavf_main.c
2135
if (adapter->aq_required & IAVF_FLAG_AQ_GET_RSS_HASHCFG) {
drivers/net/ethernet/intel/iavf/iavf_main.c
2136
iavf_get_rss_hashcfg(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
2139
if (adapter->aq_required & IAVF_FLAG_AQ_SET_RSS_HASHCFG) {
drivers/net/ethernet/intel/iavf/iavf_main.c
2140
iavf_set_rss_hashcfg(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
2143
if (adapter->aq_required & IAVF_FLAG_AQ_SET_RSS_KEY) {
drivers/net/ethernet/intel/iavf/iavf_main.c
2144
iavf_set_rss_key(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
2147
if (adapter->aq_required & IAVF_FLAG_AQ_SET_RSS_LUT) {
drivers/net/ethernet/intel/iavf/iavf_main.c
2148
iavf_set_rss_lut(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
2151
if (adapter->aq_required & IAVF_FLAG_AQ_SET_RSS_HFUNC) {
drivers/net/ethernet/intel/iavf/iavf_main.c
2152
iavf_set_rss_hfunc(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
2156
if (adapter->aq_required & IAVF_FLAG_AQ_CONFIGURE_PROMISC_MODE) {
drivers/net/ethernet/intel/iavf/iavf_main.c
2157
iavf_set_promiscuous(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
2161
if (adapter->aq_required & IAVF_FLAG_AQ_ENABLE_CHANNELS) {
drivers/net/ethernet/intel/iavf/iavf_main.c
2162
iavf_enable_channels(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
2166
if (adapter->aq_required & IAVF_FLAG_AQ_DISABLE_CHANNELS) {
drivers/net/ethernet/intel/iavf/iavf_main.c
2167
iavf_disable_channels(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
2170
if (adapter->aq_required & IAVF_FLAG_AQ_ADD_CLOUD_FILTER) {
drivers/net/ethernet/intel/iavf/iavf_main.c
2171
iavf_add_cloud_filter(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
2174
if (adapter->aq_required & IAVF_FLAG_AQ_DEL_CLOUD_FILTER) {
drivers/net/ethernet/intel/iavf/iavf_main.c
2175
iavf_del_cloud_filter(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
2178
if (adapter->aq_required & IAVF_FLAG_AQ_ADD_FDIR_FILTER) {
drivers/net/ethernet/intel/iavf/iavf_main.c
2179
iavf_add_fdir_filter(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
2182
if (adapter->aq_required & IAVF_FLAG_AQ_DEL_FDIR_FILTER) {
drivers/net/ethernet/intel/iavf/iavf_main.c
2183
iavf_del_fdir_filter(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
2186
if (adapter->aq_required & IAVF_FLAG_AQ_ADD_ADV_RSS_CFG) {
drivers/net/ethernet/intel/iavf/iavf_main.c
2187
iavf_add_adv_rss_cfg(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
2190
if (adapter->aq_required & IAVF_FLAG_AQ_DEL_ADV_RSS_CFG) {
drivers/net/ethernet/intel/iavf/iavf_main.c
2191
iavf_del_adv_rss_cfg(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
2194
if (adapter->aq_required & IAVF_FLAG_AQ_DISABLE_CTAG_VLAN_STRIPPING) {
drivers/net/ethernet/intel/iavf/iavf_main.c
2195
iavf_disable_vlan_stripping_v2(adapter, ETH_P_8021Q);
drivers/net/ethernet/intel/iavf/iavf_main.c
2198
if (adapter->aq_required & IAVF_FLAG_AQ_DISABLE_STAG_VLAN_STRIPPING) {
drivers/net/ethernet/intel/iavf/iavf_main.c
2199
iavf_disable_vlan_stripping_v2(adapter, ETH_P_8021AD);
drivers/net/ethernet/intel/iavf/iavf_main.c
220
struct iavf_adapter *adapter = (struct iavf_adapter *)hw->back;
drivers/net/ethernet/intel/iavf/iavf_main.c
2202
if (adapter->aq_required & IAVF_FLAG_AQ_ENABLE_CTAG_VLAN_STRIPPING) {
drivers/net/ethernet/intel/iavf/iavf_main.c
2203
iavf_enable_vlan_stripping_v2(adapter, ETH_P_8021Q);
drivers/net/ethernet/intel/iavf/iavf_main.c
2206
if (adapter->aq_required & IAVF_FLAG_AQ_ENABLE_STAG_VLAN_STRIPPING) {
drivers/net/ethernet/intel/iavf/iavf_main.c
2207
iavf_enable_vlan_stripping_v2(adapter, ETH_P_8021AD);
drivers/net/ethernet/intel/iavf/iavf_main.c
2210
if (adapter->aq_required & IAVF_FLAG_AQ_DISABLE_CTAG_VLAN_INSERTION) {
drivers/net/ethernet/intel/iavf/iavf_main.c
2211
iavf_disable_vlan_insertion_v2(adapter, ETH_P_8021Q);
drivers/net/ethernet/intel/iavf/iavf_main.c
2214
if (adapter->aq_required & IAVF_FLAG_AQ_DISABLE_STAG_VLAN_INSERTION) {
drivers/net/ethernet/intel/iavf/iavf_main.c
2215
iavf_disable_vlan_insertion_v2(adapter, ETH_P_8021AD);
drivers/net/ethernet/intel/iavf/iavf_main.c
2218
if (adapter->aq_required & IAVF_FLAG_AQ_ENABLE_CTAG_VLAN_INSERTION) {
drivers/net/ethernet/intel/iavf/iavf_main.c
2219
iavf_enable_vlan_insertion_v2(adapter, ETH_P_8021Q);
drivers/net/ethernet/intel/iavf/iavf_main.c
2222
if (adapter->aq_required & IAVF_FLAG_AQ_ENABLE_STAG_VLAN_INSERTION) {
drivers/net/ethernet/intel/iavf/iavf_main.c
2223
iavf_enable_vlan_insertion_v2(adapter, ETH_P_8021AD);
drivers/net/ethernet/intel/iavf/iavf_main.c
2226
if (adapter->aq_required & IAVF_FLAG_AQ_SEND_PTP_CMD) {
drivers/net/ethernet/intel/iavf/iavf_main.c
2227
iavf_virtchnl_send_ptp_cmd(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
2230
if (adapter->aq_required & IAVF_FLAG_AQ_REQUEST_STATS) {
drivers/net/ethernet/intel/iavf/iavf_main.c
2231
iavf_request_stats(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
224
dma_free_coherent(&adapter->pdev->dev, mem->size,
drivers/net/ethernet/intel/iavf/iavf_main.c
2250
iavf_set_vlan_offload_features(struct iavf_adapter *adapter,
drivers/net/ethernet/intel/iavf/iavf_main.c
2280
if (VLAN_ALLOWED(adapter)) {
drivers/net/ethernet/intel/iavf/iavf_main.c
2290
} else if (VLAN_V2_ALLOWED(adapter)) {
drivers/net/ethernet/intel/iavf/iavf_main.c
2318
iavf_schedule_aq_request(adapter, aq_required);
drivers/net/ethernet/intel/iavf/iavf_main.c
2329
static void iavf_startup(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_main.c
2331
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/intel/iavf/iavf_main.c
2332
struct iavf_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/iavf/iavf_main.c
2336
WARN_ON(adapter->state != __IAVF_STARTUP);
drivers/net/ethernet/intel/iavf/iavf_main.c
2339
adapter->flags &= ~IAVF_FLAG_PF_COMMS_FAILED;
drivers/net/ethernet/intel/iavf/iavf_main.c
2340
adapter->flags &= ~IAVF_FLAG_RESET_PENDING;
drivers/net/ethernet/intel/iavf/iavf_main.c
2359
ret = iavf_send_api_ver(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
2365
iavf_change_state(adapter, __IAVF_INIT_VERSION_CHECK);
drivers/net/ethernet/intel/iavf/iavf_main.c
2368
iavf_change_state(adapter, __IAVF_INIT_FAILED);
drivers/net/ethernet/intel/iavf/iavf_main.c
2379
static void iavf_init_version_check(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_main.c
2381
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/intel/iavf/iavf_main.c
2382
struct iavf_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/iavf/iavf_main.c
2385
WARN_ON(adapter->state != __IAVF_INIT_VERSION_CHECK);
drivers/net/ethernet/intel/iavf/iavf_main.c
2390
iavf_change_state(adapter, __IAVF_STARTUP);
drivers/net/ethernet/intel/iavf/iavf_main.c
2395
err = iavf_verify_api_ver(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
2398
err = iavf_send_api_ver(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
2401
adapter->pf_version.major,
drivers/net/ethernet/intel/iavf/iavf_main.c
2402
adapter->pf_version.minor,
drivers/net/ethernet/intel/iavf/iavf_main.c
2407
err = iavf_send_vf_config_msg(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
2413
iavf_change_state(adapter, __IAVF_INIT_GET_RESOURCES);
drivers/net/ethernet/intel/iavf/iavf_main.c
2416
iavf_change_state(adapter, __IAVF_INIT_FAILED);
drivers/net/ethernet/intel/iavf/iavf_main.c
2423
int iavf_parse_vf_resource_msg(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_main.c
2425
int i, num_req_queues = adapter->num_req_queues;
drivers/net/ethernet/intel/iavf/iavf_main.c
2426
struct iavf_vsi *vsi = &adapter->vsi;
drivers/net/ethernet/intel/iavf/iavf_main.c
2428
for (i = 0; i < adapter->vf_res->num_vsis; i++) {
drivers/net/ethernet/intel/iavf/iavf_main.c
2429
if (adapter->vf_res->vsi_res[i].vsi_type == VIRTCHNL_VSI_SRIOV)
drivers/net/ethernet/intel/iavf/iavf_main.c
2430
adapter->vsi_res = &adapter->vf_res->vsi_res[i];
drivers/net/ethernet/intel/iavf/iavf_main.c
2432
if (!adapter->vsi_res) {
drivers/net/ethernet/intel/iavf/iavf_main.c
2433
dev_err(&adapter->pdev->dev, "No LAN VSI found\n");
drivers/net/ethernet/intel/iavf/iavf_main.c
2438
num_req_queues > adapter->vsi_res->num_queue_pairs) {
drivers/net/ethernet/intel/iavf/iavf_main.c
2443
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/intel/iavf/iavf_main.c
2446
adapter->vsi_res->num_queue_pairs);
drivers/net/ethernet/intel/iavf/iavf_main.c
2447
adapter->flags |= IAVF_FLAG_REINIT_MSIX_NEEDED;
drivers/net/ethernet/intel/iavf/iavf_main.c
2448
adapter->num_req_queues = adapter->vsi_res->num_queue_pairs;
drivers/net/ethernet/intel/iavf/iavf_main.c
2449
iavf_schedule_reset(adapter, IAVF_FLAG_RESET_NEEDED);
drivers/net/ethernet/intel/iavf/iavf_main.c
2453
adapter->num_req_queues = 0;
drivers/net/ethernet/intel/iavf/iavf_main.c
2454
adapter->vsi.id = adapter->vsi_res->vsi_id;
drivers/net/ethernet/intel/iavf/iavf_main.c
2456
adapter->vsi.back = adapter;
drivers/net/ethernet/intel/iavf/iavf_main.c
2457
adapter->vsi.base_vector = 1;
drivers/net/ethernet/intel/iavf/iavf_main.c
2458
vsi->netdev = adapter->netdev;
drivers/net/ethernet/intel/iavf/iavf_main.c
2459
vsi->qs_handle = adapter->vsi_res->qset_handle;
drivers/net/ethernet/intel/iavf/iavf_main.c
2460
if (adapter->vf_res->vf_cap_flags & VIRTCHNL_VF_OFFLOAD_RSS_PF) {
drivers/net/ethernet/intel/iavf/iavf_main.c
2461
adapter->rss_key_size = adapter->vf_res->rss_key_size;
drivers/net/ethernet/intel/iavf/iavf_main.c
2462
adapter->rss_lut_size = adapter->vf_res->rss_lut_size;
drivers/net/ethernet/intel/iavf/iavf_main.c
2464
adapter->rss_key_size = IAVF_HKEY_ARRAY_SIZE;
drivers/net/ethernet/intel/iavf/iavf_main.c
2465
adapter->rss_lut_size = IAVF_HLUT_ARRAY_SIZE;
drivers/net/ethernet/intel/iavf/iavf_main.c
2480
static void iavf_init_get_resources(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_main.c
2482
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/intel/iavf/iavf_main.c
2483
struct iavf_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/iavf/iavf_main.c
2486
WARN_ON(adapter->state != __IAVF_INIT_GET_RESOURCES);
drivers/net/ethernet/intel/iavf/iavf_main.c
2488
if (!adapter->vf_res) {
drivers/net/ethernet/intel/iavf/iavf_main.c
2489
adapter->vf_res = kzalloc(IAVF_VIRTCHNL_VF_RESOURCE_SIZE,
drivers/net/ethernet/intel/iavf/iavf_main.c
2491
if (!adapter->vf_res) {
drivers/net/ethernet/intel/iavf/iavf_main.c
2496
err = iavf_get_vf_config(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
2498
err = iavf_send_vf_config_msg(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
2514
err = iavf_parse_vf_resource_msg(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
2524
adapter->extended_caps = IAVF_EXTENDED_CAPS;
drivers/net/ethernet/intel/iavf/iavf_main.c
2526
iavf_change_state(adapter, __IAVF_INIT_EXTENDED_CAPS);
drivers/net/ethernet/intel/iavf/iavf_main.c
2530
kfree(adapter->vf_res);
drivers/net/ethernet/intel/iavf/iavf_main.c
2531
adapter->vf_res = NULL;
drivers/net/ethernet/intel/iavf/iavf_main.c
2533
iavf_change_state(adapter, __IAVF_INIT_FAILED);
drivers/net/ethernet/intel/iavf/iavf_main.c
2544
static void iavf_init_send_offload_vlan_v2_caps(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_main.c
2548
WARN_ON(!(adapter->extended_caps & IAVF_EXTENDED_CAP_SEND_VLAN_V2));
drivers/net/ethernet/intel/iavf/iavf_main.c
2550
ret = iavf_send_vf_offload_vlan_v2_msg(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
2556
adapter->extended_caps &= ~IAVF_EXTENDED_CAP_RECV_VLAN_V2;
drivers/net/ethernet/intel/iavf/iavf_main.c
2560
adapter->extended_caps &= ~IAVF_EXTENDED_CAP_SEND_VLAN_V2;
drivers/net/ethernet/intel/iavf/iavf_main.c
2570
static void iavf_init_recv_offload_vlan_v2_caps(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_main.c
2574
WARN_ON(!(adapter->extended_caps & IAVF_EXTENDED_CAP_RECV_VLAN_V2));
drivers/net/ethernet/intel/iavf/iavf_main.c
2576
memset(&adapter->vlan_v2_caps, 0, sizeof(adapter->vlan_v2_caps));
drivers/net/ethernet/intel/iavf/iavf_main.c
2578
ret = iavf_get_vf_vlan_v2_caps(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
2583
adapter->extended_caps &= ~IAVF_EXTENDED_CAP_RECV_VLAN_V2;
drivers/net/ethernet/intel/iavf/iavf_main.c
2589
adapter->extended_caps |= IAVF_EXTENDED_CAP_SEND_VLAN_V2;
drivers/net/ethernet/intel/iavf/iavf_main.c
2590
iavf_change_state(adapter, __IAVF_INIT_FAILED);
drivers/net/ethernet/intel/iavf/iavf_main.c
2602
static void iavf_init_send_supported_rxdids(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_main.c
2606
ret = iavf_send_vf_supported_rxdids_msg(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
2612
adapter->extended_caps &= ~IAVF_EXTENDED_CAP_RECV_RXDID;
drivers/net/ethernet/intel/iavf/iavf_main.c
2616
adapter->extended_caps &= ~IAVF_EXTENDED_CAP_SEND_RXDID;
drivers/net/ethernet/intel/iavf/iavf_main.c
2626
static void iavf_init_recv_supported_rxdids(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_main.c
2630
memset(&adapter->supp_rxdids, 0, sizeof(adapter->supp_rxdids));
drivers/net/ethernet/intel/iavf/iavf_main.c
2632
ret = iavf_get_vf_supported_rxdids(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
2639
adapter->extended_caps &= ~IAVF_EXTENDED_CAP_RECV_RXDID;
drivers/net/ethernet/intel/iavf/iavf_main.c
2646
adapter->extended_caps |= IAVF_EXTENDED_CAP_SEND_RXDID;
drivers/net/ethernet/intel/iavf/iavf_main.c
2647
iavf_change_state(adapter, __IAVF_INIT_FAILED);
drivers/net/ethernet/intel/iavf/iavf_main.c
265
void iavf_schedule_reset(struct iavf_adapter *adapter, u64 flags)
drivers/net/ethernet/intel/iavf/iavf_main.c
2658
static void iavf_init_send_ptp_caps(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_main.c
2660
if (iavf_send_vf_ptp_caps_msg(adapter) == -EOPNOTSUPP) {
drivers/net/ethernet/intel/iavf/iavf_main.c
2665
adapter->extended_caps &= ~IAVF_EXTENDED_CAP_RECV_PTP;
drivers/net/ethernet/intel/iavf/iavf_main.c
2669
adapter->extended_caps &= ~IAVF_EXTENDED_CAP_SEND_PTP;
drivers/net/ethernet/intel/iavf/iavf_main.c
267
if (!test_bit(__IAVF_IN_REMOVE_TASK, &adapter->crit_section) &&
drivers/net/ethernet/intel/iavf/iavf_main.c
2678
static void iavf_init_recv_ptp_caps(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_main.c
268
!(adapter->flags &
drivers/net/ethernet/intel/iavf/iavf_main.c
2680
memset(&adapter->ptp.hw_caps, 0, sizeof(adapter->ptp.hw_caps));
drivers/net/ethernet/intel/iavf/iavf_main.c
2682
if (iavf_get_vf_ptp_caps(adapter))
drivers/net/ethernet/intel/iavf/iavf_main.c
2688
adapter->extended_caps &= ~IAVF_EXTENDED_CAP_RECV_PTP;
drivers/net/ethernet/intel/iavf/iavf_main.c
2695
adapter->extended_caps |= IAVF_EXTENDED_CAP_SEND_PTP;
drivers/net/ethernet/intel/iavf/iavf_main.c
2696
iavf_change_state(adapter, __IAVF_INIT_FAILED);
drivers/net/ethernet/intel/iavf/iavf_main.c
270
adapter->flags |= flags;
drivers/net/ethernet/intel/iavf/iavf_main.c
271
queue_work(adapter->wq, &adapter->reset_task);
drivers/net/ethernet/intel/iavf/iavf_main.c
2710
static void iavf_init_process_extended_caps(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_main.c
2712
WARN_ON(adapter->state != __IAVF_INIT_EXTENDED_CAPS);
drivers/net/ethernet/intel/iavf/iavf_main.c
2715
if (adapter->extended_caps & IAVF_EXTENDED_CAP_SEND_VLAN_V2) {
drivers/net/ethernet/intel/iavf/iavf_main.c
2716
iavf_init_send_offload_vlan_v2_caps(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
2718
} else if (adapter->extended_caps & IAVF_EXTENDED_CAP_RECV_VLAN_V2) {
drivers/net/ethernet/intel/iavf/iavf_main.c
2719
iavf_init_recv_offload_vlan_v2_caps(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
2724
if (adapter->extended_caps & IAVF_EXTENDED_CAP_SEND_RXDID) {
drivers/net/ethernet/intel/iavf/iavf_main.c
2725
iavf_init_send_supported_rxdids(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
2727
} else if (adapter->extended_caps & IAVF_EXTENDED_CAP_RECV_RXDID) {
drivers/net/ethernet/intel/iavf/iavf_main.c
2728
iavf_init_recv_supported_rxdids(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
2733
if (adapter->extended_caps & IAVF_EXTENDED_CAP_SEND_PTP) {
drivers/net/ethernet/intel/iavf/iavf_main.c
2734
iavf_init_send_ptp_caps(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
2736
} else if (adapter->extended_caps & IAVF_EXTENDED_CAP_RECV_PTP) {
drivers/net/ethernet/intel/iavf/iavf_main.c
2737
iavf_init_recv_ptp_caps(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
2744
iavf_change_state(adapter, __IAVF_INIT_CONFIG_ADAPTER);
drivers/net/ethernet/intel/iavf/iavf_main.c
2754
static void iavf_init_config_adapter(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_main.c
2756
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/iavf/iavf_main.c
2757
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/intel/iavf/iavf_main.c
2760
WARN_ON(adapter->state != __IAVF_INIT_CONFIG_ADAPTER);
drivers/net/ethernet/intel/iavf/iavf_main.c
2762
if (iavf_process_config(adapter))
drivers/net/ethernet/intel/iavf/iavf_main.c
2765
adapter->current_op = VIRTCHNL_OP_UNKNOWN;
drivers/net/ethernet/intel/iavf/iavf_main.c
2767
adapter->flags |= IAVF_FLAG_RX_CSUM_ENABLED;
drivers/net/ethernet/intel/iavf/iavf_main.c
2778
if (!adapter->vf_res->max_mtu) {
drivers/net/ethernet/intel/iavf/iavf_main.c
2780
} else if (adapter->vf_res->max_mtu < LIBETH_RX_LL_LEN + ETH_MIN_MTU ||
drivers/net/ethernet/intel/iavf/iavf_main.c
2781
adapter->vf_res->max_mtu >
drivers/net/ethernet/intel/iavf/iavf_main.c
2783
netdev_warn_once(adapter->netdev,
drivers/net/ethernet/intel/iavf/iavf_main.c
2785
adapter->vf_res->max_mtu, LIBIE_MAX_MTU);
drivers/net/ethernet/intel/iavf/iavf_main.c
2788
netdev->max_mtu = adapter->vf_res->max_mtu - LIBETH_RX_LL_LEN;
drivers/net/ethernet/intel/iavf/iavf_main.c
2791
if (!is_valid_ether_addr(adapter->hw.mac.addr)) {
drivers/net/ethernet/intel/iavf/iavf_main.c
2793
adapter->hw.mac.addr);
drivers/net/ethernet/intel/iavf/iavf_main.c
2795
ether_addr_copy(adapter->hw.mac.addr, netdev->dev_addr);
drivers/net/ethernet/intel/iavf/iavf_main.c
2797
eth_hw_addr_set(netdev, adapter->hw.mac.addr);
drivers/net/ethernet/intel/iavf/iavf_main.c
2798
ether_addr_copy(netdev->perm_addr, adapter->hw.mac.addr);
drivers/net/ethernet/intel/iavf/iavf_main.c
280
void iavf_schedule_aq_request(struct iavf_adapter *adapter, u64 flags)
drivers/net/ethernet/intel/iavf/iavf_main.c
2801
adapter->tx_desc_count = IAVF_DEFAULT_TXD;
drivers/net/ethernet/intel/iavf/iavf_main.c
2802
adapter->rx_desc_count = IAVF_DEFAULT_RXD;
drivers/net/ethernet/intel/iavf/iavf_main.c
2803
err = iavf_init_interrupt_scheme(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
2806
iavf_map_rings_to_vectors(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
2807
if (adapter->vf_res->vf_cap_flags &
drivers/net/ethernet/intel/iavf/iavf_main.c
2809
adapter->flags |= IAVF_FLAG_WB_ON_ITR_CAPABLE;
drivers/net/ethernet/intel/iavf/iavf_main.c
2811
err = iavf_request_misc_irq(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
2816
adapter->link_up = false;
drivers/net/ethernet/intel/iavf/iavf_main.c
2819
dev_info(&pdev->dev, "MAC address: %pM\n", adapter->hw.mac.addr);
drivers/net/ethernet/intel/iavf/iavf_main.c
282
adapter->aq_required |= flags;
drivers/net/ethernet/intel/iavf/iavf_main.c
2823
iavf_change_state(adapter, __IAVF_DOWN);
drivers/net/ethernet/intel/iavf/iavf_main.c
2824
set_bit(__IAVF_VSI_DOWN, adapter->vsi.state);
drivers/net/ethernet/intel/iavf/iavf_main.c
2826
iavf_misc_irq_enable(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
2827
wake_up(&adapter->down_waitqueue);
drivers/net/ethernet/intel/iavf/iavf_main.c
2829
adapter->rss_key = kzalloc(adapter->rss_key_size, GFP_KERNEL);
drivers/net/ethernet/intel/iavf/iavf_main.c
283
mod_delayed_work(adapter->wq, &adapter->watchdog_task, 0);
drivers/net/ethernet/intel/iavf/iavf_main.c
2830
adapter->rss_lut = kzalloc(adapter->rss_lut_size, GFP_KERNEL);
drivers/net/ethernet/intel/iavf/iavf_main.c
2831
if (!adapter->rss_key || !adapter->rss_lut) {
drivers/net/ethernet/intel/iavf/iavf_main.c
2835
if (RSS_AQ(adapter))
drivers/net/ethernet/intel/iavf/iavf_main.c
2836
adapter->aq_required |= IAVF_FLAG_AQ_CONFIGURE_RSS;
drivers/net/ethernet/intel/iavf/iavf_main.c
2838
iavf_init_rss(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
2840
if (VLAN_V2_ALLOWED(adapter))
drivers/net/ethernet/intel/iavf/iavf_main.c
2842
iavf_set_vlan_offload_features(adapter, 0, netdev->features);
drivers/net/ethernet/intel/iavf/iavf_main.c
2844
if (QOS_ALLOWED(adapter))
drivers/net/ethernet/intel/iavf/iavf_main.c
2845
adapter->aq_required |= IAVF_FLAG_AQ_GET_QOS_CAPS;
drivers/net/ethernet/intel/iavf/iavf_main.c
2848
iavf_ptp_init(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
2850
iavf_schedule_finish_config(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
2854
iavf_free_rss(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
2855
iavf_free_misc_irq(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
2857
iavf_reset_interrupt_capability(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
2859
iavf_change_state(adapter, __IAVF_INIT_FAILED);
drivers/net/ethernet/intel/iavf/iavf_main.c
2865
static int iavf_watchdog_step(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_main.c
2867
struct iavf_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/iavf/iavf_main.c
2870
netdev_assert_locked(adapter->netdev);
drivers/net/ethernet/intel/iavf/iavf_main.c
2872
if (adapter->flags & IAVF_FLAG_PF_COMMS_FAILED)
drivers/net/ethernet/intel/iavf/iavf_main.c
2873
iavf_change_state(adapter, __IAVF_COMM_FAILED);
drivers/net/ethernet/intel/iavf/iavf_main.c
2875
switch (adapter->state) {
drivers/net/ethernet/intel/iavf/iavf_main.c
2877
iavf_startup(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
2880
iavf_init_version_check(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
2883
iavf_init_get_resources(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
2886
iavf_init_process_extended_caps(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
2889
iavf_init_config_adapter(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
2893
&adapter->crit_section)) {
drivers/net/ethernet/intel/iavf/iavf_main.c
2900
if (++adapter->aq_wait_count > IAVF_AQ_MAX_ERR) {
drivers/net/ethernet/intel/iavf/iavf_main.c
2901
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/intel/iavf/iavf_main.c
2903
adapter->flags |= IAVF_FLAG_PF_COMMS_FAILED;
drivers/net/ethernet/intel/iavf/iavf_main.c
2908
iavf_change_state(adapter, adapter->last_state);
drivers/net/ethernet/intel/iavf/iavf_main.c
2912
&adapter->crit_section)) {
drivers/net/ethernet/intel/iavf/iavf_main.c
2917
iavf_change_state(adapter, __IAVF_INIT_FAILED);
drivers/net/ethernet/intel/iavf/iavf_main.c
2918
adapter->flags &= ~IAVF_FLAG_PF_COMMS_FAILED;
drivers/net/ethernet/intel/iavf/iavf_main.c
2926
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/intel/iavf/iavf_main.c
293
struct iavf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/iavf/iavf_main.c
2932
iavf_change_state(adapter, __IAVF_STARTUP);
drivers/net/ethernet/intel/iavf/iavf_main.c
2933
adapter->flags &= ~IAVF_FLAG_PF_COMMS_FAILED;
drivers/net/ethernet/intel/iavf/iavf_main.c
2935
adapter->aq_required = 0;
drivers/net/ethernet/intel/iavf/iavf_main.c
2936
adapter->current_op = VIRTCHNL_OP_UNKNOWN;
drivers/net/ethernet/intel/iavf/iavf_main.c
2944
if (adapter->current_op) {
drivers/net/ethernet/intel/iavf/iavf_main.c
2946
dev_dbg(&adapter->pdev->dev,
drivers/net/ethernet/intel/iavf/iavf_main.c
2948
iavf_send_api_ver(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
295
adapter->tx_timeout_count++;
drivers/net/ethernet/intel/iavf/iavf_main.c
2951
int ret = iavf_process_aq_command(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
2958
adapter->state == __IAVF_RUNNING)
drivers/net/ethernet/intel/iavf/iavf_main.c
2959
iavf_request_stats(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
296
iavf_schedule_reset(adapter, IAVF_FLAG_RESET_NEEDED);
drivers/net/ethernet/intel/iavf/iavf_main.c
2961
if (adapter->state == __IAVF_RUNNING)
drivers/net/ethernet/intel/iavf/iavf_main.c
2962
iavf_detect_recover_hung(&adapter->vsi);
drivers/net/ethernet/intel/iavf/iavf_main.c
2972
adapter->aq_required = 0;
drivers/net/ethernet/intel/iavf/iavf_main.c
2973
adapter->current_op = VIRTCHNL_OP_UNKNOWN;
drivers/net/ethernet/intel/iavf/iavf_main.c
2974
dev_err(&adapter->pdev->dev, "Hardware reset detected\n");
drivers/net/ethernet/intel/iavf/iavf_main.c
2975
iavf_schedule_reset(adapter, IAVF_FLAG_RESET_PENDING);
drivers/net/ethernet/intel/iavf/iavf_main.c
2978
return adapter->aq_required ? 20 : 2000;
drivers/net/ethernet/intel/iavf/iavf_main.c
2983
struct iavf_adapter *adapter = container_of(work,
drivers/net/ethernet/intel/iavf/iavf_main.c
2986
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/iavf/iavf_main.c
2990
msec_delay = iavf_watchdog_step(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
2992
if (adapter->state >= __IAVF_DOWN)
drivers/net/ethernet/intel/iavf/iavf_main.c
2993
queue_work(adapter->wq, &adapter->adminq_task);
drivers/net/ethernet/intel/iavf/iavf_main.c
2996
queue_delayed_work(adapter->wq, &adapter->watchdog_task,
drivers/net/ethernet/intel/iavf/iavf_main.c
3007
static void iavf_disable_vf(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_main.c
3013
netdev_assert_locked(adapter->netdev);
drivers/net/ethernet/intel/iavf/iavf_main.c
3015
adapter->flags |= IAVF_FLAG_PF_COMMS_FAILED;
drivers/net/ethernet/intel/iavf/iavf_main.c
3017
iavf_ptp_release(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
3023
if (adapter->state == __IAVF_RUNNING) {
drivers/net/ethernet/intel/iavf/iavf_main.c
3024
set_bit(__IAVF_VSI_DOWN, adapter->vsi.state);
drivers/net/ethernet/intel/iavf/iavf_main.c
3025
netif_carrier_off(adapter->netdev);
drivers/net/ethernet/intel/iavf/iavf_main.c
3026
netif_tx_disable(adapter->netdev);
drivers/net/ethernet/intel/iavf/iavf_main.c
3027
adapter->link_up = false;
drivers/net/ethernet/intel/iavf/iavf_main.c
3028
iavf_napi_disable_all(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
3029
iavf_irq_disable(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
303
static void iavf_misc_irq_disable(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_main.c
3030
iavf_free_traffic_irqs(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
3031
iavf_free_all_tx_resources(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
3032
iavf_free_all_rx_resources(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
3035
spin_lock_bh(&adapter->mac_vlan_list_lock);
drivers/net/ethernet/intel/iavf/iavf_main.c
3038
list_for_each_entry_safe(f, ftmp, &adapter->mac_filter_list, list) {
drivers/net/ethernet/intel/iavf/iavf_main.c
3043
list_for_each_entry_safe(fv, fvtmp, &adapter->vlan_filter_list, list) {
drivers/net/ethernet/intel/iavf/iavf_main.c
3047
adapter->num_vlan_filters = 0;
drivers/net/ethernet/intel/iavf/iavf_main.c
3049
spin_unlock_bh(&adapter->mac_vlan_list_lock);
drivers/net/ethernet/intel/iavf/iavf_main.c
305
struct iavf_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/iavf/iavf_main.c
3051
spin_lock_bh(&adapter->cloud_filter_list_lock);
drivers/net/ethernet/intel/iavf/iavf_main.c
3052
list_for_each_entry_safe(cf, cftmp, &adapter->cloud_filter_list, list) {
drivers/net/ethernet/intel/iavf/iavf_main.c
3055
adapter->num_cloud_filters--;
drivers/net/ethernet/intel/iavf/iavf_main.c
3057
spin_unlock_bh(&adapter->cloud_filter_list_lock);
drivers/net/ethernet/intel/iavf/iavf_main.c
3059
iavf_free_misc_irq(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
3060
iavf_free_interrupt_scheme(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
3061
memset(adapter->vf_res, 0, IAVF_VIRTCHNL_VF_RESOURCE_SIZE);
drivers/net/ethernet/intel/iavf/iavf_main.c
3062
iavf_shutdown_adminq(&adapter->hw);
drivers/net/ethernet/intel/iavf/iavf_main.c
3063
adapter->flags &= ~IAVF_FLAG_RESET_PENDING;
drivers/net/ethernet/intel/iavf/iavf_main.c
3064
iavf_change_state(adapter, __IAVF_DOWN);
drivers/net/ethernet/intel/iavf/iavf_main.c
3065
wake_up(&adapter->down_waitqueue);
drivers/net/ethernet/intel/iavf/iavf_main.c
3066
dev_info(&adapter->pdev->dev, "Reset task did not complete, VF disabled\n");
drivers/net/ethernet/intel/iavf/iavf_main.c
307
if (!adapter->msix_entries)
drivers/net/ethernet/intel/iavf/iavf_main.c
3078
static void iavf_reconfig_qs_bw(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_main.c
3082
for (i = 0; i < adapter->num_active_queues; i++)
drivers/net/ethernet/intel/iavf/iavf_main.c
3083
if (adapter->tx_rings[i].q_shaper.bw_min ||
drivers/net/ethernet/intel/iavf/iavf_main.c
3084
adapter->tx_rings[i].q_shaper.bw_max) {
drivers/net/ethernet/intel/iavf/iavf_main.c
3085
adapter->tx_rings[i].q_shaper_update = true;
drivers/net/ethernet/intel/iavf/iavf_main.c
3090
adapter->aq_required |= IAVF_FLAG_AQ_CONFIGURE_QUEUES_BW;
drivers/net/ethernet/intel/iavf/iavf_main.c
3102
void iavf_reset_step(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_main.c
3104
struct virtchnl_vf_resource *vfres = adapter->vf_res;
drivers/net/ethernet/intel/iavf/iavf_main.c
3105
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/iavf/iavf_main.c
3106
struct iavf_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/iavf/iavf_main.c
3116
iavf_misc_irq_disable(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
3117
if (adapter->flags & IAVF_FLAG_RESET_NEEDED) {
drivers/net/ethernet/intel/iavf/iavf_main.c
3118
adapter->flags &= ~IAVF_FLAG_RESET_NEEDED;
drivers/net/ethernet/intel/iavf/iavf_main.c
3124
iavf_request_reset(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
3126
adapter->flags |= IAVF_FLAG_RESET_PENDING;
drivers/net/ethernet/intel/iavf/iavf_main.c
3137
dev_info(&adapter->pdev->dev, "Never saw reset\n");
drivers/net/ethernet/intel/iavf/iavf_main.c
314
synchronize_irq(adapter->msix_entries[0].vector);
drivers/net/ethernet/intel/iavf/iavf_main.c
3152
pci_set_master(adapter->pdev);
drivers/net/ethernet/intel/iavf/iavf_main.c
3153
pci_restore_msi_state(adapter->pdev);
drivers/net/ethernet/intel/iavf/iavf_main.c
3156
dev_err(&adapter->pdev->dev, "Reset never finished (%x)\n",
drivers/net/ethernet/intel/iavf/iavf_main.c
3158
iavf_disable_vf(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
3164
if (adapter->state <= __IAVF_INIT_FAILED) {
drivers/net/ethernet/intel/iavf/iavf_main.c
3166
iavf_change_state(adapter, __IAVF_STARTUP);
drivers/net/ethernet/intel/iavf/iavf_main.c
3167
iavf_startup(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
3168
queue_delayed_work(adapter->wq, &adapter->watchdog_task,
drivers/net/ethernet/intel/iavf/iavf_main.c
3177
running = adapter->state == __IAVF_RUNNING;
drivers/net/ethernet/intel/iavf/iavf_main.c
3182
adapter->link_up = false;
drivers/net/ethernet/intel/iavf/iavf_main.c
3183
iavf_napi_disable_all(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
3185
iavf_irq_disable(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
3187
iavf_change_state(adapter, __IAVF_RESETTING);
drivers/net/ethernet/intel/iavf/iavf_main.c
3188
adapter->flags &= ~IAVF_FLAG_RESET_PENDING;
drivers/net/ethernet/intel/iavf/iavf_main.c
3190
iavf_ptp_release(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
3195
iavf_free_all_rx_resources(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
3196
iavf_free_all_tx_resources(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
3198
adapter->flags |= IAVF_FLAG_QUEUES_DISABLED;
drivers/net/ethernet/intel/iavf/iavf_main.c
3201
adapter->current_op = VIRTCHNL_OP_UNKNOWN;
drivers/net/ethernet/intel/iavf/iavf_main.c
3204
dev_info(&adapter->pdev->dev, "Failed to init adminq: %d\n",
drivers/net/ethernet/intel/iavf/iavf_main.c
3208
adapter->aq_required = 0;
drivers/net/ethernet/intel/iavf/iavf_main.c
321
static void iavf_misc_irq_enable(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_main.c
3210
if ((adapter->flags & IAVF_FLAG_REINIT_MSIX_NEEDED) ||
drivers/net/ethernet/intel/iavf/iavf_main.c
3211
(adapter->flags & IAVF_FLAG_REINIT_ITR_NEEDED)) {
drivers/net/ethernet/intel/iavf/iavf_main.c
3212
err = iavf_reinit_interrupt_scheme(adapter, running);
drivers/net/ethernet/intel/iavf/iavf_main.c
3217
if (RSS_AQ(adapter)) {
drivers/net/ethernet/intel/iavf/iavf_main.c
3218
adapter->aq_required |= IAVF_FLAG_AQ_CONFIGURE_RSS;
drivers/net/ethernet/intel/iavf/iavf_main.c
3220
err = iavf_init_rss(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
3225
adapter->aq_required |= IAVF_FLAG_AQ_GET_CONFIG;
drivers/net/ethernet/intel/iavf/iavf_main.c
3226
adapter->aq_required |= IAVF_FLAG_AQ_MAP_VECTORS;
drivers/net/ethernet/intel/iavf/iavf_main.c
323
struct iavf_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/iavf/iavf_main.c
3236
adapter->aq_required |= IAVF_FLAG_AQ_EXTENDED_CAPS;
drivers/net/ethernet/intel/iavf/iavf_main.c
3238
spin_lock_bh(&adapter->mac_vlan_list_lock);
drivers/net/ethernet/intel/iavf/iavf_main.c
3244
list_for_each_entry_safe(f, ftmp, &adapter->mac_filter_list, list) {
drivers/net/ethernet/intel/iavf/iavf_main.c
3245
if (ether_addr_equal(f->macaddr, adapter->hw.mac.addr)) {
drivers/net/ethernet/intel/iavf/iavf_main.c
3251
list_for_each_entry(f, &adapter->mac_filter_list, list) {
drivers/net/ethernet/intel/iavf/iavf_main.c
3254
spin_unlock_bh(&adapter->mac_vlan_list_lock);
drivers/net/ethernet/intel/iavf/iavf_main.c
3257
spin_lock_bh(&adapter->cloud_filter_list_lock);
drivers/net/ethernet/intel/iavf/iavf_main.c
3259
adapter->num_tc) {
drivers/net/ethernet/intel/iavf/iavf_main.c
3260
list_for_each_entry(cf, &adapter->cloud_filter_list, list) {
drivers/net/ethernet/intel/iavf/iavf_main.c
3264
spin_unlock_bh(&adapter->cloud_filter_list_lock);
drivers/net/ethernet/intel/iavf/iavf_main.c
3266
adapter->aq_required |= IAVF_FLAG_AQ_ADD_MAC_FILTER;
drivers/net/ethernet/intel/iavf/iavf_main.c
3267
adapter->aq_required |= IAVF_FLAG_AQ_ADD_CLOUD_FILTER;
drivers/net/ethernet/intel/iavf/iavf_main.c
3268
iavf_misc_irq_enable(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
3270
mod_delayed_work(adapter->wq, &adapter->watchdog_task, 2);
drivers/net/ethernet/intel/iavf/iavf_main.c
3277
err = iavf_setup_all_tx_resources(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
3282
err = iavf_setup_all_rx_resources(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
3286
if ((adapter->flags & IAVF_FLAG_REINIT_MSIX_NEEDED) ||
drivers/net/ethernet/intel/iavf/iavf_main.c
3287
(adapter->flags & IAVF_FLAG_REINIT_ITR_NEEDED)) {
drivers/net/ethernet/intel/iavf/iavf_main.c
3288
err = iavf_request_traffic_irqs(adapter, netdev->name);
drivers/net/ethernet/intel/iavf/iavf_main.c
3292
adapter->flags &= ~IAVF_FLAG_REINIT_MSIX_NEEDED;
drivers/net/ethernet/intel/iavf/iavf_main.c
3295
iavf_configure(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
3300
iavf_up_complete(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
3302
iavf_irq_enable(adapter, true);
drivers/net/ethernet/intel/iavf/iavf_main.c
3304
iavf_reconfig_qs_bw(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
3306
iavf_change_state(adapter, __IAVF_DOWN);
drivers/net/ethernet/intel/iavf/iavf_main.c
3307
wake_up(&adapter->down_waitqueue);
drivers/net/ethernet/intel/iavf/iavf_main.c
3310
adapter->flags &= ~IAVF_FLAG_REINIT_ITR_NEEDED;
drivers/net/ethernet/intel/iavf/iavf_main.c
3315
set_bit(__IAVF_VSI_DOWN, adapter->vsi.state);
drivers/net/ethernet/intel/iavf/iavf_main.c
3316
iavf_free_traffic_irqs(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
3318
iavf_disable_vf(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
3320
dev_err(&adapter->pdev->dev, "failed to allocate resources during reinit\n");
drivers/net/ethernet/intel/iavf/iavf_main.c
3325
struct iavf_adapter *adapter = container_of(work,
drivers/net/ethernet/intel/iavf/iavf_main.c
3328
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/iavf/iavf_main.c
3331
iavf_reset_step(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
3341
struct iavf_adapter *adapter =
drivers/net/ethernet/intel/iavf/iavf_main.c
3343
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/iavf/iavf_main.c
3344
struct iavf_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/iavf/iavf_main.c
3353
if (adapter->flags & IAVF_FLAG_PF_COMMS_FAILED)
drivers/net/ethernet/intel/iavf/iavf_main.c
336
static void iavf_irq_disable(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_main.c
3369
iavf_virtchnl_completion(adapter, v_op, v_ret, event.msg_buf,
drivers/net/ethernet/intel/iavf/iavf_main.c
3375
if (iavf_is_reset_in_progress(adapter))
drivers/net/ethernet/intel/iavf/iavf_main.c
3384
dev_info(&adapter->pdev->dev, "ARQ VF Error detected\n");
drivers/net/ethernet/intel/iavf/iavf_main.c
3388
dev_info(&adapter->pdev->dev, "ARQ Overflow Error detected\n");
drivers/net/ethernet/intel/iavf/iavf_main.c
339
struct iavf_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/iavf/iavf_main.c
3392
dev_info(&adapter->pdev->dev, "ARQ Critical Error detected\n");
drivers/net/ethernet/intel/iavf/iavf_main.c
3401
dev_info(&adapter->pdev->dev, "ASQ VF Error detected\n");
drivers/net/ethernet/intel/iavf/iavf_main.c
3405
dev_info(&adapter->pdev->dev, "ASQ Overflow Error detected\n");
drivers/net/ethernet/intel/iavf/iavf_main.c
3409
dev_info(&adapter->pdev->dev, "ASQ Critical Error detected\n");
drivers/net/ethernet/intel/iavf/iavf_main.c
341
if (!adapter->msix_entries)
drivers/net/ethernet/intel/iavf/iavf_main.c
3420
iavf_misc_irq_enable(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
3429
void iavf_free_all_tx_resources(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_main.c
3433
if (!adapter->tx_rings)
drivers/net/ethernet/intel/iavf/iavf_main.c
3436
for (i = 0; i < adapter->num_active_queues; i++)
drivers/net/ethernet/intel/iavf/iavf_main.c
3437
if (adapter->tx_rings[i].desc)
drivers/net/ethernet/intel/iavf/iavf_main.c
3438
iavf_free_tx_resources(&adapter->tx_rings[i]);
drivers/net/ethernet/intel/iavf/iavf_main.c
344
for (i = 1; i < adapter->num_msix_vectors; i++) {
drivers/net/ethernet/intel/iavf/iavf_main.c
3451
static int iavf_setup_all_tx_resources(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_main.c
3455
for (i = 0; i < adapter->num_active_queues; i++) {
drivers/net/ethernet/intel/iavf/iavf_main.c
3456
adapter->tx_rings[i].count = adapter->tx_desc_count;
drivers/net/ethernet/intel/iavf/iavf_main.c
3457
err = iavf_setup_tx_descriptors(&adapter->tx_rings[i]);
drivers/net/ethernet/intel/iavf/iavf_main.c
346
synchronize_irq(adapter->msix_entries[i].vector);
drivers/net/ethernet/intel/iavf/iavf_main.c
3460
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/intel/iavf/iavf_main.c
3478
static int iavf_setup_all_rx_resources(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_main.c
3482
for (i = 0; i < adapter->num_active_queues; i++) {
drivers/net/ethernet/intel/iavf/iavf_main.c
3483
adapter->rx_rings[i].count = adapter->rx_desc_count;
drivers/net/ethernet/intel/iavf/iavf_main.c
3484
err = iavf_setup_rx_descriptors(&adapter->rx_rings[i]);
drivers/net/ethernet/intel/iavf/iavf_main.c
3487
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/intel/iavf/iavf_main.c
3500
void iavf_free_all_rx_resources(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_main.c
3504
if (!adapter->rx_rings)
drivers/net/ethernet/intel/iavf/iavf_main.c
3507
for (i = 0; i < adapter->num_active_queues; i++)
drivers/net/ethernet/intel/iavf/iavf_main.c
3508
if (adapter->rx_rings[i].desc)
drivers/net/ethernet/intel/iavf/iavf_main.c
3509
iavf_free_rx_resources(&adapter->rx_rings[i]);
drivers/net/ethernet/intel/iavf/iavf_main.c
3517
static int iavf_validate_tx_bandwidth(struct iavf_adapter *adapter,
drivers/net/ethernet/intel/iavf/iavf_main.c
3522
if (ADV_LINK_SUPPORT(adapter)) {
drivers/net/ethernet/intel/iavf/iavf_main.c
3523
if (adapter->link_speed_mbps < U32_MAX) {
drivers/net/ethernet/intel/iavf/iavf_main.c
3524
speed = adapter->link_speed_mbps;
drivers/net/ethernet/intel/iavf/iavf_main.c
3527
dev_err(&adapter->pdev->dev, "Unknown link speed\n");
drivers/net/ethernet/intel/iavf/iavf_main.c
3532
switch (adapter->link_speed) {
drivers/net/ethernet/intel/iavf/iavf_main.c
355
static void iavf_irq_enable_queues(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_main.c
3563
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/intel/iavf/iavf_main.c
357
struct iavf_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/iavf/iavf_main.c
3580
static int iavf_validate_ch_config(struct iavf_adapter *adapter,
drivers/net/ethernet/intel/iavf/iavf_main.c
3598
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/intel/iavf/iavf_main.c
360
for (i = 1; i < adapter->num_msix_vectors; i++) {
drivers/net/ethernet/intel/iavf/iavf_main.c
3610
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/intel/iavf/iavf_main.c
3619
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/intel/iavf/iavf_main.c
3628
if (num_qps > adapter->num_active_queues) {
drivers/net/ethernet/intel/iavf/iavf_main.c
3629
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/intel/iavf/iavf_main.c
3634
ret = iavf_validate_tx_bandwidth(adapter, total_max_rate);
drivers/net/ethernet/intel/iavf/iavf_main.c
3642
static void iavf_del_all_cloud_filters(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_main.c
3646
spin_lock_bh(&adapter->cloud_filter_list_lock);
drivers/net/ethernet/intel/iavf/iavf_main.c
3647
list_for_each_entry_safe(cf, cftmp, &adapter->cloud_filter_list,
drivers/net/ethernet/intel/iavf/iavf_main.c
3651
adapter->num_cloud_filters--;
drivers/net/ethernet/intel/iavf/iavf_main.c
3653
spin_unlock_bh(&adapter->cloud_filter_list_lock);
drivers/net/ethernet/intel/iavf/iavf_main.c
3667
static bool iavf_is_tc_config_same(struct iavf_adapter *adapter,
drivers/net/ethernet/intel/iavf/iavf_main.c
3670
struct virtchnl_channel_info *ch = &adapter->ch_config.ch_info[0];
drivers/net/ethernet/intel/iavf/iavf_main.c
3673
if (adapter->num_tc != mqprio_qopt->num_tc)
drivers/net/ethernet/intel/iavf/iavf_main.c
3676
for (i = 0; i < adapter->num_tc; i++) {
drivers/net/ethernet/intel/iavf/iavf_main.c
3698
struct iavf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/iavf/iavf_main.c
3699
struct virtchnl_vf_resource *vfres = adapter->vf_res;
drivers/net/ethernet/intel/iavf/iavf_main.c
3711
if (adapter->ch_config.state == __IAVF_TC_RUNNING) {
drivers/net/ethernet/intel/iavf/iavf_main.c
3714
adapter->num_tc = 0;
drivers/net/ethernet/intel/iavf/iavf_main.c
3717
iavf_del_all_cloud_filters(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
3718
adapter->aq_required = IAVF_FLAG_AQ_DISABLE_CHANNELS;
drivers/net/ethernet/intel/iavf/iavf_main.c
3719
total_qps = adapter->orig_num_active_queues;
drivers/net/ethernet/intel/iavf/iavf_main.c
372
void iavf_irq_enable(struct iavf_adapter *adapter, bool flush)
drivers/net/ethernet/intel/iavf/iavf_main.c
3729
dev_err(&adapter->pdev->dev, "ADq not supported\n");
drivers/net/ethernet/intel/iavf/iavf_main.c
3732
if (adapter->ch_config.state != __IAVF_TC_INVALID) {
drivers/net/ethernet/intel/iavf/iavf_main.c
3733
dev_err(&adapter->pdev->dev, "TC configuration already exists\n");
drivers/net/ethernet/intel/iavf/iavf_main.c
3737
ret = iavf_validate_ch_config(adapter, mqprio_qopt);
drivers/net/ethernet/intel/iavf/iavf_main.c
374
struct iavf_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/iavf/iavf_main.c
3741
if (iavf_is_tc_config_same(adapter, &mqprio_qopt->qopt))
drivers/net/ethernet/intel/iavf/iavf_main.c
3743
adapter->num_tc = num_tc;
drivers/net/ethernet/intel/iavf/iavf_main.c
3747
adapter->ch_config.ch_info[i].count =
drivers/net/ethernet/intel/iavf/iavf_main.c
3749
adapter->ch_config.ch_info[i].offset =
drivers/net/ethernet/intel/iavf/iavf_main.c
3756
adapter->ch_config.ch_info[i].max_tx_rate =
drivers/net/ethernet/intel/iavf/iavf_main.c
3759
adapter->ch_config.ch_info[i].count = 1;
drivers/net/ethernet/intel/iavf/iavf_main.c
376
iavf_misc_irq_enable(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
3760
adapter->ch_config.ch_info[i].offset = 0;
drivers/net/ethernet/intel/iavf/iavf_main.c
377
iavf_irq_enable_queues(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
3770
adapter->orig_num_active_queues = adapter->num_active_queues;
drivers/net/ethernet/intel/iavf/iavf_main.c
3776
adapter->ch_config.total_qps = total_qps;
drivers/net/ethernet/intel/iavf/iavf_main.c
3780
adapter->aq_required |= IAVF_FLAG_AQ_ENABLE_CHANNELS;
drivers/net/ethernet/intel/iavf/iavf_main.c
3783
netdev_set_num_tc(adapter->netdev, num_tc);
drivers/net/ethernet/intel/iavf/iavf_main.c
3794
if (test_bit(__IAVF_IN_REMOVE_TASK, &adapter->crit_section))
drivers/net/ethernet/intel/iavf/iavf_main.c
3809
static int iavf_parse_cls_flower(struct iavf_adapter *adapter,
drivers/net/ethernet/intel/iavf/iavf_main.c
3832
dev_err(&adapter->pdev->dev, "Unsupported key used: 0x%llx\n",
drivers/net/ethernet/intel/iavf/iavf_main.c
3865
dev_info(&adapter->pdev->dev, "Only TCP transport is supported\n");
drivers/net/ethernet/intel/iavf/iavf_main.c
3880
dev_err(&adapter->pdev->dev, "Bad ether dest mask %pM\n",
drivers/net/ethernet/intel/iavf/iavf_main.c
3890
dev_err(&adapter->pdev->dev, "Bad ether src mask %pM\n",
drivers/net/ethernet/intel/iavf/iavf_main.c
391
struct iavf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/iavf/iavf_main.c
392
struct iavf_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/iavf/iavf_main.c
3925
dev_err(&adapter->pdev->dev, "Bad vlan mask %u\n",
drivers/net/ethernet/intel/iavf/iavf_main.c
3953
dev_err(&adapter->pdev->dev, "Bad ip dst mask 0x%08x\n",
drivers/net/ethernet/intel/iavf/iavf_main.c
3963
dev_err(&adapter->pdev->dev, "Bad ip src mask 0x%08x\n",
drivers/net/ethernet/intel/iavf/iavf_main.c
3970
dev_info(&adapter->pdev->dev, "Tenant id not allowed for ip filter\n");
drivers/net/ethernet/intel/iavf/iavf_main.c
398
if (adapter->state != __IAVF_REMOVE)
drivers/net/ethernet/intel/iavf/iavf_main.c
3990
dev_err(&adapter->pdev->dev, "Bad ipv6 dst mask 0x%02x\n",
drivers/net/ethernet/intel/iavf/iavf_main.c
400
queue_work(adapter->wq, &adapter->adminq_task);
drivers/net/ethernet/intel/iavf/iavf_main.c
4000
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/intel/iavf/iavf_main.c
4025
dev_err(&adapter->pdev->dev, "Bad src port mask %u\n",
drivers/net/ethernet/intel/iavf/iavf_main.c
4035
dev_err(&adapter->pdev->dev, "Bad dst port mask %u\n",
drivers/net/ethernet/intel/iavf/iavf_main.c
4061
static int iavf_handle_tclass(struct iavf_adapter *adapter, u32 tc,
drivers/net/ethernet/intel/iavf/iavf_main.c
4066
if (tc < adapter->num_tc) {
drivers/net/ethernet/intel/iavf/iavf_main.c
4068
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/intel/iavf/iavf_main.c
4087
static struct iavf_cloud_filter *iavf_find_cf(struct iavf_adapter *adapter,
drivers/net/ethernet/intel/iavf/iavf_main.c
4095
list_for_each_entry(filter, &adapter->cloud_filter_list, list) {
drivers/net/ethernet/intel/iavf/iavf_main.c
4107
static int iavf_configure_clsflower(struct iavf_adapter *adapter,
drivers/net/ethernet/intel/iavf/iavf_main.c
4110
int tc = tc_classid_to_hwtc(adapter->netdev, cls_flower->classid);
drivers/net/ethernet/intel/iavf/iavf_main.c
4115
dev_err(&adapter->pdev->dev, "Invalid traffic class\n");
drivers/net/ethernet/intel/iavf/iavf_main.c
4124
netdev_lock(adapter->netdev);
drivers/net/ethernet/intel/iavf/iavf_main.c
4127
spin_lock_bh(&adapter->cloud_filter_list_lock);
drivers/net/ethernet/intel/iavf/iavf_main.c
4128
if (iavf_find_cf(adapter, &cls_flower->cookie)) {
drivers/net/ethernet/intel/iavf/iavf_main.c
4129
dev_err(&adapter->pdev->dev, "Failed to add TC Flower filter, it already exists\n");
drivers/net/ethernet/intel/iavf/iavf_main.c
4133
spin_unlock_bh(&adapter->cloud_filter_list_lock);
drivers/net/ethernet/intel/iavf/iavf_main.c
4139
err = iavf_parse_cls_flower(adapter, cls_flower, filter);
drivers/net/ethernet/intel/iavf/iavf_main.c
4143
err = iavf_handle_tclass(adapter, tc, filter);
drivers/net/ethernet/intel/iavf/iavf_main.c
4148
spin_lock_bh(&adapter->cloud_filter_list_lock);
drivers/net/ethernet/intel/iavf/iavf_main.c
4149
list_add_tail(&filter->list, &adapter->cloud_filter_list);
drivers/net/ethernet/intel/iavf/iavf_main.c
4150
adapter->num_cloud_filters++;
drivers/net/ethernet/intel/iavf/iavf_main.c
4152
adapter->aq_required |= IAVF_FLAG_AQ_ADD_CLOUD_FILTER;
drivers/net/ethernet/intel/iavf/iavf_main.c
4154
spin_unlock_bh(&adapter->cloud_filter_list_lock);
drivers/net/ethernet/intel/iavf/iavf_main.c
4159
netdev_unlock(adapter->netdev);
drivers/net/ethernet/intel/iavf/iavf_main.c
4168
static int iavf_delete_clsflower(struct iavf_adapter *adapter,
drivers/net/ethernet/intel/iavf/iavf_main.c
4174
spin_lock_bh(&adapter->cloud_filter_list_lock);
drivers/net/ethernet/intel/iavf/iavf_main.c
4175
filter = iavf_find_cf(adapter, &cls_flower->cookie);
drivers/net/ethernet/intel/iavf/iavf_main.c
4178
adapter->aq_required |= IAVF_FLAG_AQ_DEL_CLOUD_FILTER;
drivers/net/ethernet/intel/iavf/iavf_main.c
4182
spin_unlock_bh(&adapter->cloud_filter_list_lock);
drivers/net/ethernet/intel/iavf/iavf_main.c
4192
static int iavf_setup_tc_cls_flower(struct iavf_adapter *adapter,
drivers/net/ethernet/intel/iavf/iavf_main.c
4197
return iavf_configure_clsflower(adapter, cls_flower);
drivers/net/ethernet/intel/iavf/iavf_main.c
4199
return iavf_delete_clsflower(adapter, cls_flower);
drivers/net/ethernet/intel/iavf/iavf_main.c
4214
static int iavf_add_cls_u32(struct iavf_adapter *adapter,
drivers/net/ethernet/intel/iavf/iavf_main.c
4287
if (q_index >= adapter->num_active_queues) {
drivers/net/ethernet/intel/iavf/iavf_main.c
429
iavf_map_vector_to_rxq(struct iavf_adapter *adapter, int v_idx, int r_idx)
drivers/net/ethernet/intel/iavf/iavf_main.c
4309
fltr->vc_add_msg.vsi_id = adapter->vsi.id;
drivers/net/ethernet/intel/iavf/iavf_main.c
431
struct iavf_q_vector *q_vector = &adapter->q_vectors[v_idx];
drivers/net/ethernet/intel/iavf/iavf_main.c
4311
return iavf_fdir_add_fltr(adapter, fltr);
drivers/net/ethernet/intel/iavf/iavf_main.c
432
struct iavf_ring *rx_ring = &adapter->rx_rings[r_idx];
drivers/net/ethernet/intel/iavf/iavf_main.c
4325
static int iavf_del_cls_u32(struct iavf_adapter *adapter,
drivers/net/ethernet/intel/iavf/iavf_main.c
4328
return iavf_fdir_del_fltr(adapter, true, cls_u32->knode.handle);
drivers/net/ethernet/intel/iavf/iavf_main.c
433
struct iavf_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/iavf/iavf_main.c
4338
static int iavf_setup_tc_cls_u32(struct iavf_adapter *adapter,
drivers/net/ethernet/intel/iavf/iavf_main.c
4341
if (!TC_U32_SUPPORT(adapter) || !FDIR_FLTR_SUPPORT(adapter))
drivers/net/ethernet/intel/iavf/iavf_main.c
4347
return iavf_add_cls_u32(adapter, cls_u32);
drivers/net/ethernet/intel/iavf/iavf_main.c
4349
return iavf_del_cls_u32(adapter, cls_u32);
drivers/net/ethernet/intel/iavf/iavf_main.c
4366
struct iavf_adapter *adapter = cb_priv;
drivers/net/ethernet/intel/iavf/iavf_main.c
4368
if (!tc_cls_can_offload_and_chain0(adapter->netdev, type_data))
drivers/net/ethernet/intel/iavf/iavf_main.c
437
rx_ring->vsi = &adapter->vsi;
drivers/net/ethernet/intel/iavf/iavf_main.c
4397
struct iavf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/iavf/iavf_main.c
4406
adapter, adapter, true);
drivers/net/ethernet/intel/iavf/iavf_main.c
4418
static void iavf_restore_fdir_filters(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_main.c
4422
spin_lock_bh(&adapter->fdir_fltr_lock);
drivers/net/ethernet/intel/iavf/iavf_main.c
4423
list_for_each_entry(f, &adapter->fdir_list_head, list) {
drivers/net/ethernet/intel/iavf/iavf_main.c
4433
adapter->aq_required |= IAVF_FLAG_AQ_ADD_FDIR_FILTER;
drivers/net/ethernet/intel/iavf/iavf_main.c
4436
spin_unlock_bh(&adapter->fdir_fltr_lock);
drivers/net/ethernet/intel/iavf/iavf_main.c
4453
struct iavf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/iavf/iavf_main.c
4458
if (adapter->flags & IAVF_FLAG_PF_COMMS_FAILED) {
drivers/net/ethernet/intel/iavf/iavf_main.c
4459
dev_err(&adapter->pdev->dev, "Unable to open device due to PF driver failure.\n");
drivers/net/ethernet/intel/iavf/iavf_main.c
4463
if (adapter->state != __IAVF_DOWN)
drivers/net/ethernet/intel/iavf/iavf_main.c
4466
if (adapter->state == __IAVF_RUNNING &&
drivers/net/ethernet/intel/iavf/iavf_main.c
4467
!test_bit(__IAVF_VSI_DOWN, adapter->vsi.state)) {
drivers/net/ethernet/intel/iavf/iavf_main.c
4468
dev_dbg(&adapter->pdev->dev, "VF is already open.\n");
drivers/net/ethernet/intel/iavf/iavf_main.c
4473
err = iavf_setup_all_tx_resources(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
4478
err = iavf_setup_all_rx_resources(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
4483
err = iavf_request_traffic_irqs(adapter, netdev->name);
drivers/net/ethernet/intel/iavf/iavf_main.c
4487
spin_lock_bh(&adapter->mac_vlan_list_lock);
drivers/net/ethernet/intel/iavf/iavf_main.c
4488
iavf_add_filter(adapter, adapter->hw.mac.addr);
drivers/net/ethernet/intel/iavf/iavf_main.c
4489
spin_unlock_bh(&adapter->mac_vlan_list_lock);
drivers/net/ethernet/intel/iavf/iavf_main.c
4492
iavf_restore_filters(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
4493
iavf_restore_fdir_filters(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
4495
iavf_configure(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
4497
iavf_up_complete(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
4499
iavf_irq_enable(adapter, true);
drivers/net/ethernet/intel/iavf/iavf_main.c
4504
iavf_down(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
4505
iavf_free_traffic_irqs(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
4507
iavf_free_all_rx_resources(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
4509
iavf_free_all_tx_resources(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
4527
struct iavf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/iavf/iavf_main.c
4533
if (adapter->state <= __IAVF_DOWN_PENDING)
drivers/net/ethernet/intel/iavf/iavf_main.c
4536
set_bit(__IAVF_VSI_DOWN, adapter->vsi.state);
drivers/net/ethernet/intel/iavf/iavf_main.c
4546
aq_to_restore = adapter->aq_required;
drivers/net/ethernet/intel/iavf/iavf_main.c
4547
adapter->aq_required &= IAVF_FLAG_AQ_GET_CONFIG;
drivers/net/ethernet/intel/iavf/iavf_main.c
455
iavf_map_vector_to_txq(struct iavf_adapter *adapter, int v_idx, int t_idx)
drivers/net/ethernet/intel/iavf/iavf_main.c
4561
iavf_down(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
4562
iavf_change_state(adapter, __IAVF_DOWN_PENDING);
drivers/net/ethernet/intel/iavf/iavf_main.c
4563
iavf_free_traffic_irqs(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
457
struct iavf_q_vector *q_vector = &adapter->q_vectors[v_idx];
drivers/net/ethernet/intel/iavf/iavf_main.c
4578
status = wait_event_timeout(adapter->down_waitqueue,
drivers/net/ethernet/intel/iavf/iavf_main.c
4579
adapter->state == __IAVF_DOWN,
drivers/net/ethernet/intel/iavf/iavf_main.c
458
struct iavf_ring *tx_ring = &adapter->tx_rings[t_idx];
drivers/net/ethernet/intel/iavf/iavf_main.c
4585
adapter->aq_required |= aq_to_restore;
drivers/net/ethernet/intel/iavf/iavf_main.c
459
struct iavf_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/iavf/iavf_main.c
4599
struct iavf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/iavf/iavf_main.c
4606
adapter->flags |= IAVF_FLAG_RESET_NEEDED;
drivers/net/ethernet/intel/iavf/iavf_main.c
4607
iavf_reset_step(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
4617
static void iavf_disable_fdir(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_main.c
4622
adapter->flags &= ~IAVF_FLAG_FDIR_ENABLED;
drivers/net/ethernet/intel/iavf/iavf_main.c
4625
spin_lock_bh(&adapter->fdir_fltr_lock);
drivers/net/ethernet/intel/iavf/iavf_main.c
4626
list_for_each_entry_safe(fdir, fdirtmp, &adapter->fdir_list_head,
drivers/net/ethernet/intel/iavf/iavf_main.c
463
tx_ring->vsi = &adapter->vsi;
drivers/net/ethernet/intel/iavf/iavf_main.c
4632
iavf_dec_fdir_active_fltr(adapter, fdir);
drivers/net/ethernet/intel/iavf/iavf_main.c
4648
spin_unlock_bh(&adapter->fdir_fltr_lock);
drivers/net/ethernet/intel/iavf/iavf_main.c
4651
adapter->aq_required |= IAVF_FLAG_AQ_DEL_FDIR_FILTER;
drivers/net/ethernet/intel/iavf/iavf_main.c
4652
mod_delayed_work(adapter->wq, &adapter->watchdog_task, 0);
drivers/net/ethernet/intel/iavf/iavf_main.c
4670
struct iavf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/iavf/iavf_main.c
4675
iavf_set_vlan_offload_features(adapter, netdev->features,
drivers/net/ethernet/intel/iavf/iavf_main.c
4677
if (CRC_OFFLOAD_ALLOWED(adapter) &&
drivers/net/ethernet/intel/iavf/iavf_main.c
4679
iavf_schedule_reset(adapter, IAVF_FLAG_RESET_NEEDED);
drivers/net/ethernet/intel/iavf/iavf_main.c
4683
adapter->flags |= IAVF_FLAG_FDIR_ENABLED;
drivers/net/ethernet/intel/iavf/iavf_main.c
4685
iavf_disable_fdir(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
4757
iavf_get_netdev_vlan_hw_features(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_main.c
4761
if (!adapter->vf_res || !adapter->vf_res->vf_cap_flags)
drivers/net/ethernet/intel/iavf/iavf_main.c
4765
if (VLAN_ALLOWED(adapter)) {
drivers/net/ethernet/intel/iavf/iavf_main.c
4768
} else if (VLAN_V2_ALLOWED(adapter)) {
drivers/net/ethernet/intel/iavf/iavf_main.c
4770
&adapter->vlan_v2_caps;
drivers/net/ethernet/intel/iavf/iavf_main.c
4808
if (CRC_OFFLOAD_ALLOWED(adapter))
drivers/net/ethernet/intel/iavf/iavf_main.c
4822
iavf_get_netdev_vlan_features(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_main.c
4826
if (!adapter->vf_res || !adapter->vf_res->vf_cap_flags)
drivers/net/ethernet/intel/iavf/iavf_main.c
4829
if (VLAN_ALLOWED(adapter)) {
drivers/net/ethernet/intel/iavf/iavf_main.c
4832
} else if (VLAN_V2_ALLOWED(adapter)) {
drivers/net/ethernet/intel/iavf/iavf_main.c
4834
&adapter->vlan_v2_caps;
drivers/net/ethernet/intel/iavf/iavf_main.c
484
static void iavf_map_rings_to_vectors(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_main.c
486
int rings_remaining = adapter->num_active_queues;
drivers/net/ethernet/intel/iavf/iavf_main.c
490
q_vectors = adapter->num_msix_vectors - NONQ_VECS;
drivers/net/ethernet/intel/iavf/iavf_main.c
4923
iavf_fix_netdev_vlan_features(struct iavf_adapter *adapter,
drivers/net/ethernet/intel/iavf/iavf_main.c
4928
allowed_features = iavf_get_netdev_vlan_hw_features(adapter) |
drivers/net/ethernet/intel/iavf/iavf_main.c
4929
iavf_get_netdev_vlan_features(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
493
iavf_map_vector_to_rxq(adapter, vidx, ridx);
drivers/net/ethernet/intel/iavf/iavf_main.c
494
iavf_map_vector_to_txq(adapter, vidx, ridx);
drivers/net/ethernet/intel/iavf/iavf_main.c
4964
adapter->vlan_v2_caps.offloads.ethertype_match ==
drivers/net/ethernet/intel/iavf/iavf_main.c
4966
netdev_warn(adapter->netdev, "cannot support CTAG and STAG VLAN stripping and/or insertion simultaneously since CTAG and STAG offloads are mutually exclusive, clearing STAG offload settings\n");
drivers/net/ethernet/intel/iavf/iavf_main.c
4982
iavf_fix_strip_features(struct iavf_adapter *adapter,
drivers/net/ethernet/intel/iavf/iavf_main.c
4985
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/iavf/iavf_main.c
4990
crc_offload_req = CRC_OFFLOAD_ALLOWED(adapter) &&
drivers/net/ethernet/intel/iavf/iavf_main.c
4992
num_non_zero_vlan = iavf_get_num_vlans_added(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
503
adapter->aq_required |= IAVF_FLAG_AQ_MAP_VECTORS;
drivers/net/ethernet/intel/iavf/iavf_main.c
5033
struct iavf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/iavf/iavf_main.c
5035
features = iavf_fix_netdev_vlan_features(adapter, features);
drivers/net/ethernet/intel/iavf/iavf_main.c
5037
if (!FDIR_FLTR_SUPPORT(adapter))
drivers/net/ethernet/intel/iavf/iavf_main.c
5040
return iavf_fix_strip_features(adapter, features);
drivers/net/ethernet/intel/iavf/iavf_main.c
5046
struct iavf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/iavf/iavf_main.c
5048
*config = adapter->ptp.hwtstamp_config;
drivers/net/ethernet/intel/iavf/iavf_main.c
5057
struct iavf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/iavf/iavf_main.c
5059
return iavf_ptp_set_ts_config(adapter, config, extack);
drivers/net/ethernet/intel/iavf/iavf_main.c
5067
struct iavf_adapter *adapter = netdev_priv(binding->netdev);
drivers/net/ethernet/intel/iavf/iavf_main.c
5071
vf_max = adapter->qos_caps->cap[0].shaper.peak;
drivers/net/ethernet/intel/iavf/iavf_main.c
5087
struct iavf_adapter *adapter = netdev_priv(binding->netdev);
drivers/net/ethernet/intel/iavf/iavf_main.c
5092
netdev_assert_locked(adapter->netdev);
drivers/net/ethernet/intel/iavf/iavf_main.c
5094
if (handle->id >= adapter->num_active_queues)
drivers/net/ethernet/intel/iavf/iavf_main.c
5101
tx_ring = &adapter->tx_rings[handle->id];
drivers/net/ethernet/intel/iavf/iavf_main.c
5107
adapter->aq_required |= IAVF_FLAG_AQ_CONFIGURE_QUEUES_BW;
drivers/net/ethernet/intel/iavf/iavf_main.c
5116
struct iavf_adapter *adapter = netdev_priv(binding->netdev);
drivers/net/ethernet/intel/iavf/iavf_main.c
5119
netdev_assert_locked(adapter->netdev);
drivers/net/ethernet/intel/iavf/iavf_main.c
5121
if (handle->id >= adapter->num_active_queues)
drivers/net/ethernet/intel/iavf/iavf_main.c
5124
tx_ring = &adapter->tx_rings[handle->id];
drivers/net/ethernet/intel/iavf/iavf_main.c
5129
adapter->aq_required |= IAVF_FLAG_AQ_CONFIGURE_QUEUES_BW;
drivers/net/ethernet/intel/iavf/iavf_main.c
515
iavf_request_traffic_irqs(struct iavf_adapter *adapter, char *basename)
drivers/net/ethernet/intel/iavf/iavf_main.c
5201
int iavf_process_config(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_main.c
5203
struct virtchnl_vf_resource *vfres = adapter->vf_res;
drivers/net/ethernet/intel/iavf/iavf_main.c
5205
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/iavf/iavf_main.c
521
iavf_irq_disable(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
523
q_vectors = adapter->num_msix_vectors - NONQ_VECS;
drivers/net/ethernet/intel/iavf/iavf_main.c
5253
hw_vlan_features = iavf_get_netdev_vlan_hw_features(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
5257
TC_U32_SUPPORT(adapter))
drivers/net/ethernet/intel/iavf/iavf_main.c
526
struct iavf_q_vector *q_vector = &adapter->q_vectors[vector];
drivers/net/ethernet/intel/iavf/iavf_main.c
5264
vlan_features = iavf_get_netdev_vlan_features(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
5271
if (FDIR_FLTR_SUPPORT(adapter)) {
drivers/net/ethernet/intel/iavf/iavf_main.c
5274
adapter->flags |= IAVF_FLAG_FDIR_ENABLED;
drivers/net/ethernet/intel/iavf/iavf_main.c
528
irq_num = adapter->msix_entries[vector + NONQ_VECS].vector;
drivers/net/ethernet/intel/iavf/iavf_main.c
5314
struct iavf_adapter *adapter = NULL;
drivers/net/ethernet/intel/iavf/iavf_main.c
5349
adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/iavf/iavf_main.c
5351
adapter->netdev = netdev;
drivers/net/ethernet/intel/iavf/iavf_main.c
5352
adapter->pdev = pdev;
drivers/net/ethernet/intel/iavf/iavf_main.c
5354
hw = &adapter->hw;
drivers/net/ethernet/intel/iavf/iavf_main.c
5355
hw->back = adapter;
drivers/net/ethernet/intel/iavf/iavf_main.c
5357
adapter->wq = alloc_ordered_workqueue("%s", WQ_MEM_RECLAIM,
drivers/net/ethernet/intel/iavf/iavf_main.c
5359
if (!adapter->wq) {
drivers/net/ethernet/intel/iavf/iavf_main.c
5364
adapter->msg_enable = BIT(DEFAULT_DEBUG_LEVEL_SHIFT) - 1;
drivers/net/ethernet/intel/iavf/iavf_main.c
5365
iavf_change_state(adapter, __IAVF_STARTUP);
drivers/net/ethernet/intel/iavf/iavf_main.c
5385
len = struct_size(adapter->qos_caps, cap, IAVF_MAX_QOS_TC_NUM);
drivers/net/ethernet/intel/iavf/iavf_main.c
5386
adapter->qos_caps = kzalloc(len, GFP_KERNEL);
drivers/net/ethernet/intel/iavf/iavf_main.c
5387
if (!adapter->qos_caps) {
drivers/net/ethernet/intel/iavf/iavf_main.c
5395
spin_lock_init(&adapter->mac_vlan_list_lock);
drivers/net/ethernet/intel/iavf/iavf_main.c
5396
spin_lock_init(&adapter->cloud_filter_list_lock);
drivers/net/ethernet/intel/iavf/iavf_main.c
5397
spin_lock_init(&adapter->fdir_fltr_lock);
drivers/net/ethernet/intel/iavf/iavf_main.c
5398
spin_lock_init(&adapter->adv_rss_lock);
drivers/net/ethernet/intel/iavf/iavf_main.c
5399
spin_lock_init(&adapter->current_netdev_promisc_flags_lock);
drivers/net/ethernet/intel/iavf/iavf_main.c
5401
INIT_LIST_HEAD(&adapter->mac_filter_list);
drivers/net/ethernet/intel/iavf/iavf_main.c
5402
INIT_LIST_HEAD(&adapter->vlan_filter_list);
drivers/net/ethernet/intel/iavf/iavf_main.c
5403
INIT_LIST_HEAD(&adapter->cloud_filter_list);
drivers/net/ethernet/intel/iavf/iavf_main.c
5404
INIT_LIST_HEAD(&adapter->fdir_list_head);
drivers/net/ethernet/intel/iavf/iavf_main.c
5405
INIT_LIST_HEAD(&adapter->adv_rss_list_head);
drivers/net/ethernet/intel/iavf/iavf_main.c
5407
INIT_WORK(&adapter->reset_task, iavf_reset_task);
drivers/net/ethernet/intel/iavf/iavf_main.c
5408
INIT_WORK(&adapter->adminq_task, iavf_adminq_task);
drivers/net/ethernet/intel/iavf/iavf_main.c
5409
INIT_WORK(&adapter->finish_config, iavf_finish_config);
drivers/net/ethernet/intel/iavf/iavf_main.c
5410
INIT_DELAYED_WORK(&adapter->watchdog_task, iavf_watchdog_task);
drivers/net/ethernet/intel/iavf/iavf_main.c
5413
init_waitqueue_head(&adapter->down_waitqueue);
drivers/net/ethernet/intel/iavf/iavf_main.c
5416
init_waitqueue_head(&adapter->vc_waitqueue);
drivers/net/ethernet/intel/iavf/iavf_main.c
5418
INIT_LIST_HEAD(&adapter->ptp.aq_cmds);
drivers/net/ethernet/intel/iavf/iavf_main.c
5419
init_waitqueue_head(&adapter->ptp.phc_time_waitqueue);
drivers/net/ethernet/intel/iavf/iavf_main.c
5420
mutex_init(&adapter->ptp.aq_cmd_lock);
drivers/net/ethernet/intel/iavf/iavf_main.c
5422
queue_delayed_work(adapter->wq, &adapter->watchdog_task,
drivers/net/ethernet/intel/iavf/iavf_main.c
5430
destroy_workqueue(adapter->wq);
drivers/net/ethernet/intel/iavf/iavf_main.c
5450
struct iavf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/iavf/iavf_main.c
5461
iavf_down(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
5463
iavf_free_misc_irq(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
5464
iavf_reset_interrupt_capability(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
5482
struct iavf_adapter *adapter;
drivers/net/ethernet/intel/iavf/iavf_main.c
5485
adapter = iavf_pdev_to_adapter(pdev);
drivers/net/ethernet/intel/iavf/iavf_main.c
5490
err = iavf_set_interrupt_capability(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
5496
err = iavf_request_misc_irq(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
550
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/intel/iavf/iavf_main.c
5503
queue_work(adapter->wq, &adapter->reset_task);
drivers/net/ethernet/intel/iavf/iavf_main.c
5505
netif_device_attach(adapter->netdev);
drivers/net/ethernet/intel/iavf/iavf_main.c
5526
struct iavf_adapter *adapter;
drivers/net/ethernet/intel/iavf/iavf_main.c
5535
adapter = iavf_pdev_to_adapter(pdev);
drivers/net/ethernet/intel/iavf/iavf_main.c
5536
hw = &adapter->hw;
drivers/net/ethernet/intel/iavf/iavf_main.c
5538
if (test_and_set_bit(__IAVF_IN_REMOVE_TASK, &adapter->crit_section))
drivers/net/ethernet/intel/iavf/iavf_main.c
5546
if (adapter->state == __IAVF_RUNNING ||
drivers/net/ethernet/intel/iavf/iavf_main.c
5547
adapter->state == __IAVF_DOWN ||
drivers/net/ethernet/intel/iavf/iavf_main.c
5548
adapter->state == __IAVF_INIT_FAILED) {
drivers/net/ethernet/intel/iavf/iavf_main.c
5553
if (adapter->state == __IAVF_REMOVE) {
drivers/net/ethernet/intel/iavf/iavf_main.c
5561
cancel_delayed_work_sync(&adapter->watchdog_task);
drivers/net/ethernet/intel/iavf/iavf_main.c
5562
cancel_work_sync(&adapter->finish_config);
drivers/net/ethernet/intel/iavf/iavf_main.c
5568
dev_info(&adapter->pdev->dev, "Removing device\n");
drivers/net/ethernet/intel/iavf/iavf_main.c
5569
iavf_change_state(adapter, __IAVF_REMOVE);
drivers/net/ethernet/intel/iavf/iavf_main.c
5571
iavf_request_reset(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
5575
iavf_request_reset(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
5579
iavf_ptp_release(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
5581
iavf_misc_irq_disable(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
5584
cancel_work_sync(&adapter->reset_task);
drivers/net/ethernet/intel/iavf/iavf_main.c
5585
cancel_delayed_work_sync(&adapter->watchdog_task);
drivers/net/ethernet/intel/iavf/iavf_main.c
5586
cancel_work_sync(&adapter->adminq_task);
drivers/net/ethernet/intel/iavf/iavf_main.c
5589
adapter->aq_required = 0;
drivers/net/ethernet/intel/iavf/iavf_main.c
5590
adapter->flags &= ~IAVF_FLAG_REINIT_ITR_NEEDED;
drivers/net/ethernet/intel/iavf/iavf_main.c
5592
iavf_free_all_tx_resources(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
5593
iavf_free_all_rx_resources(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
5594
iavf_free_misc_irq(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
5595
iavf_free_interrupt_scheme(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
5597
iavf_free_rss(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
5609
kfree(adapter->vf_res);
drivers/net/ethernet/intel/iavf/iavf_main.c
561
irq_num = adapter->msix_entries[vector + NONQ_VECS].vector;
drivers/net/ethernet/intel/iavf/iavf_main.c
5610
spin_lock_bh(&adapter->mac_vlan_list_lock);
drivers/net/ethernet/intel/iavf/iavf_main.c
5614
list_for_each_entry_safe(f, ftmp, &adapter->mac_filter_list, list) {
drivers/net/ethernet/intel/iavf/iavf_main.c
5618
list_for_each_entry_safe(vlf, vlftmp, &adapter->vlan_filter_list,
drivers/net/ethernet/intel/iavf/iavf_main.c
562
free_irq(irq_num, &adapter->q_vectors[vector]);
drivers/net/ethernet/intel/iavf/iavf_main.c
5624
spin_unlock_bh(&adapter->mac_vlan_list_lock);
drivers/net/ethernet/intel/iavf/iavf_main.c
5626
spin_lock_bh(&adapter->cloud_filter_list_lock);
drivers/net/ethernet/intel/iavf/iavf_main.c
5627
list_for_each_entry_safe(cf, cftmp, &adapter->cloud_filter_list, list) {
drivers/net/ethernet/intel/iavf/iavf_main.c
5631
spin_unlock_bh(&adapter->cloud_filter_list_lock);
drivers/net/ethernet/intel/iavf/iavf_main.c
5633
spin_lock_bh(&adapter->fdir_fltr_lock);
drivers/net/ethernet/intel/iavf/iavf_main.c
5634
list_for_each_entry_safe(fdir, fdirtmp, &adapter->fdir_list_head, list) {
drivers/net/ethernet/intel/iavf/iavf_main.c
5638
spin_unlock_bh(&adapter->fdir_fltr_lock);
drivers/net/ethernet/intel/iavf/iavf_main.c
5640
spin_lock_bh(&adapter->adv_rss_lock);
drivers/net/ethernet/intel/iavf/iavf_main.c
5641
list_for_each_entry_safe(rss, rsstmp, &adapter->adv_rss_list_head,
drivers/net/ethernet/intel/iavf/iavf_main.c
5646
spin_unlock_bh(&adapter->adv_rss_lock);
drivers/net/ethernet/intel/iavf/iavf_main.c
5648
destroy_workqueue(adapter->wq);
drivers/net/ethernet/intel/iavf/iavf_main.c
575
static int iavf_request_misc_irq(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_main.c
577
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/iavf/iavf_main.c
580
snprintf(adapter->misc_vector_name,
drivers/net/ethernet/intel/iavf/iavf_main.c
581
sizeof(adapter->misc_vector_name) - 1, "iavf-%s:mbx",
drivers/net/ethernet/intel/iavf/iavf_main.c
582
dev_name(&adapter->pdev->dev));
drivers/net/ethernet/intel/iavf/iavf_main.c
583
err = request_irq(adapter->msix_entries[0].vector,
drivers/net/ethernet/intel/iavf/iavf_main.c
585
adapter->misc_vector_name, netdev);
drivers/net/ethernet/intel/iavf/iavf_main.c
587
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/intel/iavf/iavf_main.c
589
adapter->misc_vector_name, err);
drivers/net/ethernet/intel/iavf/iavf_main.c
590
free_irq(adapter->msix_entries[0].vector, netdev);
drivers/net/ethernet/intel/iavf/iavf_main.c
601
static void iavf_free_traffic_irqs(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_main.c
606
if (!adapter->msix_entries)
drivers/net/ethernet/intel/iavf/iavf_main.c
609
q_vectors = adapter->num_msix_vectors - NONQ_VECS;
drivers/net/ethernet/intel/iavf/iavf_main.c
612
q_vector = &adapter->q_vectors[vector];
drivers/net/ethernet/intel/iavf/iavf_main.c
614
irq_num = adapter->msix_entries[vector + NONQ_VECS].vector;
drivers/net/ethernet/intel/iavf/iavf_main.c
625
static void iavf_free_misc_irq(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_main.c
627
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/iavf/iavf_main.c
629
if (!adapter->msix_entries)
drivers/net/ethernet/intel/iavf/iavf_main.c
632
free_irq(adapter->msix_entries[0].vector, netdev);
drivers/net/ethernet/intel/iavf/iavf_main.c
641
static void iavf_configure_tx(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_main.c
643
struct iavf_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/iavf/iavf_main.c
646
for (i = 0; i < adapter->num_active_queues; i++)
drivers/net/ethernet/intel/iavf/iavf_main.c
647
adapter->tx_rings[i].tail = hw->hw_addr + IAVF_QTX_TAIL1(i);
drivers/net/ethernet/intel/iavf/iavf_main.c
660
static u8 iavf_select_rx_desc_format(const struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_main.c
662
u64 rxdids = adapter->supp_rxdids;
drivers/net/ethernet/intel/iavf/iavf_main.c
667
if (!IAVF_RXDID_ALLOWED(adapter))
drivers/net/ethernet/intel/iavf/iavf_main.c
671
if (iavf_ptp_cap_supported(adapter, VIRTCHNL_1588_PTP_CAP_RX_TSTAMP)) {
drivers/net/ethernet/intel/iavf/iavf_main.c
675
pci_warn(adapter->pdev,
drivers/net/ethernet/intel/iavf/iavf_main.c
686
netdev_warn(adapter->netdev, "PF does not list support for default Rx descriptor format\n");
drivers/net/ethernet/intel/iavf/iavf_main.c
697
static void iavf_configure_rx(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_main.c
699
struct iavf_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/iavf/iavf_main.c
701
adapter->rxdid = iavf_select_rx_desc_format(adapter);
drivers/net/ethernet/intel/iavf/iavf_main.c
703
for (u32 i = 0; i < adapter->num_active_queues; i++) {
drivers/net/ethernet/intel/iavf/iavf_main.c
704
adapter->rx_rings[i].tail = hw->hw_addr + IAVF_QRX_TAIL1(i);
drivers/net/ethernet/intel/iavf/iavf_main.c
705
adapter->rx_rings[i].rxdid = adapter->rxdid;
drivers/net/ethernet/intel/iavf/iavf_main.c
718
iavf_vlan_filter *iavf_find_vlan(struct iavf_adapter *adapter,
drivers/net/ethernet/intel/iavf/iavf_main.c
723
list_for_each_entry(f, &adapter->vlan_filter_list, list) {
drivers/net/ethernet/intel/iavf/iavf_main.c
740
iavf_vlan_filter *iavf_add_vlan(struct iavf_adapter *adapter,
drivers/net/ethernet/intel/iavf/iavf_main.c
745
spin_lock_bh(&adapter->mac_vlan_list_lock);
drivers/net/ethernet/intel/iavf/iavf_main.c
747
f = iavf_find_vlan(adapter, vlan);
drivers/net/ethernet/intel/iavf/iavf_main.c
755
list_add_tail(&f->list, &adapter->vlan_filter_list);
drivers/net/ethernet/intel/iavf/iavf_main.c
757
adapter->num_vlan_filters++;
drivers/net/ethernet/intel/iavf/iavf_main.c
758
iavf_schedule_aq_request(adapter, IAVF_FLAG_AQ_ADD_VLAN_FILTER);
drivers/net/ethernet/intel/iavf/iavf_main.c
765
iavf_schedule_aq_request(adapter,
drivers/net/ethernet/intel/iavf/iavf_main.c
770
spin_unlock_bh(&adapter->mac_vlan_list_lock);
drivers/net/ethernet/intel/iavf/iavf_main.c
779
static void iavf_del_vlan(struct iavf_adapter *adapter, struct iavf_vlan vlan)
drivers/net/ethernet/intel/iavf/iavf_main.c
783
spin_lock_bh(&adapter->mac_vlan_list_lock);
drivers/net/ethernet/intel/iavf/iavf_main.c
785
f = iavf_find_vlan(adapter, vlan);
drivers/net/ethernet/intel/iavf/iavf_main.c
793
adapter->num_vlan_filters--;
drivers/net/ethernet/intel/iavf/iavf_main.c
796
iavf_schedule_aq_request(adapter,
drivers/net/ethernet/intel/iavf/iavf_main.c
801
spin_unlock_bh(&adapter->mac_vlan_list_lock);
drivers/net/ethernet/intel/iavf/iavf_main.c
810
static void iavf_restore_filters(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_main.c
815
spin_lock_bh(&adapter->mac_vlan_list_lock);
drivers/net/ethernet/intel/iavf/iavf_main.c
817
list_for_each_entry(f, &adapter->vlan_filter_list, list) {
drivers/net/ethernet/intel/iavf/iavf_main.c
822
spin_unlock_bh(&adapter->mac_vlan_list_lock);
drivers/net/ethernet/intel/iavf/iavf_main.c
823
adapter->aq_required |= IAVF_FLAG_AQ_ADD_VLAN_FILTER;
drivers/net/ethernet/intel/iavf/iavf_main.c
830
u16 iavf_get_num_vlans_added(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_main.c
832
return adapter->num_vlan_filters;
drivers/net/ethernet/intel/iavf/iavf_main.c
843
static u16 iavf_get_max_vlans_allowed(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_main.c
848
if (VLAN_ALLOWED(adapter))
drivers/net/ethernet/intel/iavf/iavf_main.c
850
else if (VLAN_V2_ALLOWED(adapter))
drivers/net/ethernet/intel/iavf/iavf_main.c
851
return adapter->vlan_v2_caps.filtering.max_filters;
drivers/net/ethernet/intel/iavf/iavf_main.c
860
static bool iavf_max_vlans_added(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_main.c
862
if (iavf_get_num_vlans_added(adapter) <
drivers/net/ethernet/intel/iavf/iavf_main.c
863
iavf_get_max_vlans_allowed(adapter))
drivers/net/ethernet/intel/iavf/iavf_main.c
878
struct iavf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/iavf/iavf_main.c
884
if (!VLAN_FILTERING_ALLOWED(adapter))
drivers/net/ethernet/intel/iavf/iavf_main.c
887
if (iavf_max_vlans_added(adapter)) {
drivers/net/ethernet/intel/iavf/iavf_main.c
889
iavf_get_max_vlans_allowed(adapter));
drivers/net/ethernet/intel/iavf/iavf_main.c
893
if (!iavf_add_vlan(adapter, IAVF_VLAN(vid, be16_to_cpu(proto))))
drivers/net/ethernet/intel/iavf/iavf_main.c
908
struct iavf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/iavf/iavf_main.c
914
iavf_del_vlan(adapter, IAVF_VLAN(vid, be16_to_cpu(proto)));
drivers/net/ethernet/intel/iavf/iavf_main.c
927
iavf_mac_filter *iavf_find_filter(struct iavf_adapter *adapter,
drivers/net/ethernet/intel/iavf/iavf_main.c
935
list_for_each_entry(f, &adapter->mac_filter_list, list) {
drivers/net/ethernet/intel/iavf/iavf_main.c
949
struct iavf_mac_filter *iavf_add_filter(struct iavf_adapter *adapter,
drivers/net/ethernet/intel/iavf/iavf_main.c
957
f = iavf_find_filter(adapter, macaddr);
drivers/net/ethernet/intel/iavf/iavf_main.c
965
list_add_tail(&f->list, &adapter->mac_filter_list);
drivers/net/ethernet/intel/iavf/iavf_main.c
969
f->is_primary = ether_addr_equal(macaddr, adapter->hw.mac.addr);
drivers/net/ethernet/intel/iavf/iavf_main.c
970
adapter->aq_required |= IAVF_FLAG_AQ_ADD_MAC_FILTER;
drivers/net/ethernet/intel/iavf/iavf_main.c
989
static int iavf_replace_primary_mac(struct iavf_adapter *adapter,
drivers/net/ethernet/intel/iavf/iavf_main.c
992
struct iavf_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/iavf/iavf_main.c
996
spin_lock_bh(&adapter->mac_vlan_list_lock);
drivers/net/ethernet/intel/iavf/iavf_main.c
998
new_f = iavf_add_filter(adapter, new_mac);
drivers/net/ethernet/intel/iavf/iavf_ptp.c
112
bool iavf_ptp_cap_supported(const struct iavf_adapter *adapter, u32 cap)
drivers/net/ethernet/intel/iavf/iavf_ptp.c
114
if (!IAVF_PTP_ALLOWED(adapter))
drivers/net/ethernet/intel/iavf/iavf_ptp.c
118
return (adapter->ptp.hw_caps.caps & cap) == cap;
drivers/net/ethernet/intel/iavf/iavf_ptp.c
154
static void iavf_queue_ptp_cmd(struct iavf_adapter *adapter,
drivers/net/ethernet/intel/iavf/iavf_ptp.c
157
mutex_lock(&adapter->ptp.aq_cmd_lock);
drivers/net/ethernet/intel/iavf/iavf_ptp.c
158
list_add_tail(&cmd->list, &adapter->ptp.aq_cmds);
drivers/net/ethernet/intel/iavf/iavf_ptp.c
159
mutex_unlock(&adapter->ptp.aq_cmd_lock);
drivers/net/ethernet/intel/iavf/iavf_ptp.c
16
static void iavf_ptp_disable_rx_tstamp(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_ptp.c
161
adapter->aq_required |= IAVF_FLAG_AQ_SEND_PTP_CMD;
drivers/net/ethernet/intel/iavf/iavf_ptp.c
162
mod_delayed_work(adapter->wq, &adapter->watchdog_task, 0);
drivers/net/ethernet/intel/iavf/iavf_ptp.c
177
static int iavf_send_phc_read(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_ptp.c
18
for (u32 i = 0; i < adapter->num_active_queues; i++)
drivers/net/ethernet/intel/iavf/iavf_ptp.c
181
if (!adapter->ptp.clock)
drivers/net/ethernet/intel/iavf/iavf_ptp.c
189
iavf_queue_ptp_cmd(adapter, cmd);
drivers/net/ethernet/intel/iavf/iavf_ptp.c
19
adapter->rx_rings[i].flags &= ~IAVF_TXRX_FLAGS_HW_TSTAMP;
drivers/net/ethernet/intel/iavf/iavf_ptp.c
212
static int iavf_read_phc_indirect(struct iavf_adapter *adapter,
drivers/net/ethernet/intel/iavf/iavf_ptp.c
219
adapter->ptp.phc_time_ready = false;
drivers/net/ethernet/intel/iavf/iavf_ptp.c
223
err = iavf_send_phc_read(adapter);
drivers/net/ethernet/intel/iavf/iavf_ptp.c
227
ret = wait_event_interruptible_timeout(adapter->ptp.phc_time_waitqueue,
drivers/net/ethernet/intel/iavf/iavf_ptp.c
228
adapter->ptp.phc_time_ready,
drivers/net/ethernet/intel/iavf/iavf_ptp.c
238
*ts = ns_to_timespec64(adapter->ptp.cached_phc_time);
drivers/net/ethernet/intel/iavf/iavf_ptp.c
247
struct iavf_adapter *adapter = iavf_clock_to_adapter(info);
drivers/net/ethernet/intel/iavf/iavf_ptp.c
249
if (!adapter->ptp.clock)
drivers/net/ethernet/intel/iavf/iavf_ptp.c
252
return iavf_read_phc_indirect(adapter, ts, sts);
drivers/net/ethernet/intel/iavf/iavf_ptp.c
271
static void iavf_ptp_cache_phc_time(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_ptp.c
273
if (!time_is_before_jiffies(adapter->ptp.cached_phc_updated + HZ))
drivers/net/ethernet/intel/iavf/iavf_ptp.c
279
iavf_send_phc_read(adapter);
drivers/net/ethernet/intel/iavf/iavf_ptp.c
28
static void iavf_ptp_enable_rx_tstamp(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_ptp.c
30
for (u32 i = 0; i < adapter->num_active_queues; i++)
drivers/net/ethernet/intel/iavf/iavf_ptp.c
303
struct iavf_adapter *adapter = iavf_clock_to_adapter(info);
drivers/net/ethernet/intel/iavf/iavf_ptp.c
305
iavf_ptp_cache_phc_time(adapter);
drivers/net/ethernet/intel/iavf/iavf_ptp.c
31
adapter->rx_rings[i].flags |= IAVF_TXRX_FLAGS_HW_TSTAMP;
drivers/net/ethernet/intel/iavf/iavf_ptp.c
319
static int iavf_ptp_register_clock(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_ptp.c
321
struct ptp_clock_info *ptp_info = &adapter->ptp.info;
drivers/net/ethernet/intel/iavf/iavf_ptp.c
322
struct device *dev = &adapter->pdev->dev;
drivers/net/ethernet/intel/iavf/iavf_ptp.c
336
adapter->ptp.clock = clock;
drivers/net/ethernet/intel/iavf/iavf_ptp.c
338
dev_dbg(&adapter->pdev->dev, "PTP clock %s registered\n",
drivers/net/ethernet/intel/iavf/iavf_ptp.c
339
adapter->ptp.info.name);
drivers/net/ethernet/intel/iavf/iavf_ptp.c
351
void iavf_ptp_init(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_ptp.c
355
if (!iavf_ptp_cap_supported(adapter, VIRTCHNL_1588_PTP_CAP_READ_PHC)) {
drivers/net/ethernet/intel/iavf/iavf_ptp.c
356
pci_notice(adapter->pdev,
drivers/net/ethernet/intel/iavf/iavf_ptp.c
361
err = iavf_ptp_register_clock(adapter);
drivers/net/ethernet/intel/iavf/iavf_ptp.c
363
pci_err(adapter->pdev,
drivers/net/ethernet/intel/iavf/iavf_ptp.c
369
for (int i = 0; i < adapter->num_active_queues; i++) {
drivers/net/ethernet/intel/iavf/iavf_ptp.c
370
struct iavf_ring *rx_ring = &adapter->rx_rings[i];
drivers/net/ethernet/intel/iavf/iavf_ptp.c
372
rx_ring->ptp = &adapter->ptp;
drivers/net/ethernet/intel/iavf/iavf_ptp.c
375
ptp_schedule_worker(adapter->ptp.clock, 0);
drivers/net/ethernet/intel/iavf/iavf_ptp.c
384
void iavf_ptp_release(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_ptp.c
388
if (!adapter->ptp.clock)
drivers/net/ethernet/intel/iavf/iavf_ptp.c
391
pci_dbg(adapter->pdev, "removing PTP clock %s\n",
drivers/net/ethernet/intel/iavf/iavf_ptp.c
392
adapter->ptp.info.name);
drivers/net/ethernet/intel/iavf/iavf_ptp.c
393
ptp_clock_unregister(adapter->ptp.clock);
drivers/net/ethernet/intel/iavf/iavf_ptp.c
394
adapter->ptp.clock = NULL;
drivers/net/ethernet/intel/iavf/iavf_ptp.c
397
mutex_lock(&adapter->ptp.aq_cmd_lock);
drivers/net/ethernet/intel/iavf/iavf_ptp.c
398
list_for_each_entry_safe(cmd, tmp, &adapter->ptp.aq_cmds, list) {
drivers/net/ethernet/intel/iavf/iavf_ptp.c
402
adapter->aq_required &= ~IAVF_FLAG_AQ_SEND_PTP_CMD;
drivers/net/ethernet/intel/iavf/iavf_ptp.c
403
mutex_unlock(&adapter->ptp.aq_cmd_lock);
drivers/net/ethernet/intel/iavf/iavf_ptp.c
405
adapter->ptp.hwtstamp_config.rx_filter = HWTSTAMP_FILTER_NONE;
drivers/net/ethernet/intel/iavf/iavf_ptp.c
406
iavf_ptp_disable_rx_tstamp(adapter);
drivers/net/ethernet/intel/iavf/iavf_ptp.c
416
void iavf_ptp_process_caps(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_ptp.c
418
bool phc = iavf_ptp_cap_supported(adapter, VIRTCHNL_1588_PTP_CAP_READ_PHC);
drivers/net/ethernet/intel/iavf/iavf_ptp.c
424
if (adapter->ptp.clock && !phc)
drivers/net/ethernet/intel/iavf/iavf_ptp.c
425
iavf_ptp_release(adapter);
drivers/net/ethernet/intel/iavf/iavf_ptp.c
426
else if (!adapter->ptp.clock && phc)
drivers/net/ethernet/intel/iavf/iavf_ptp.c
427
iavf_ptp_init(adapter);
drivers/net/ethernet/intel/iavf/iavf_ptp.c
430
if (!iavf_ptp_cap_supported(adapter, VIRTCHNL_1588_PTP_CAP_RX_TSTAMP)) {
drivers/net/ethernet/intel/iavf/iavf_ptp.c
431
adapter->ptp.hwtstamp_config.rx_filter = HWTSTAMP_FILTER_NONE;
drivers/net/ethernet/intel/iavf/iavf_ptp.c
432
iavf_ptp_disable_rx_tstamp(adapter);
drivers/net/ethernet/intel/iavf/iavf_ptp.c
46
static int iavf_ptp_set_timestamp_mode(struct iavf_adapter *adapter,
drivers/net/ethernet/intel/iavf/iavf_ptp.c
63
iavf_ptp_disable_rx_tstamp(adapter);
drivers/net/ethernet/intel/iavf/iavf_ptp.c
67
} else if (!(iavf_ptp_cap_supported(adapter,
drivers/net/ethernet/intel/iavf/iavf_ptp.c
73
iavf_ptp_enable_rx_tstamp(adapter);
drivers/net/ethernet/intel/iavf/iavf_ptp.c
88
int iavf_ptp_set_ts_config(struct iavf_adapter *adapter,
drivers/net/ethernet/intel/iavf/iavf_ptp.c
94
err = iavf_ptp_set_timestamp_mode(adapter, config);
drivers/net/ethernet/intel/iavf/iavf_ptp.c
99
adapter->ptp.hwtstamp_config = *config;
drivers/net/ethernet/intel/iavf/iavf_ptp.h
13
void iavf_ptp_init(struct iavf_adapter *adapter);
drivers/net/ethernet/intel/iavf/iavf_ptp.h
14
void iavf_ptp_release(struct iavf_adapter *adapter);
drivers/net/ethernet/intel/iavf/iavf_ptp.h
15
void iavf_ptp_process_caps(struct iavf_adapter *adapter);
drivers/net/ethernet/intel/iavf/iavf_ptp.h
16
bool iavf_ptp_cap_supported(const struct iavf_adapter *adapter, u32 cap);
drivers/net/ethernet/intel/iavf/iavf_ptp.h
17
void iavf_virtchnl_send_ptp_cmd(struct iavf_adapter *adapter);
drivers/net/ethernet/intel/iavf/iavf_ptp.h
18
int iavf_ptp_set_ts_config(struct iavf_adapter *adapter,
drivers/net/ethernet/intel/iavf/iavf_ptp.h
23
static inline void iavf_ptp_init(struct iavf_adapter *adapter) { }
drivers/net/ethernet/intel/iavf/iavf_ptp.h
24
static inline void iavf_ptp_release(struct iavf_adapter *adapter) { }
drivers/net/ethernet/intel/iavf/iavf_ptp.h
25
static inline void iavf_ptp_process_caps(struct iavf_adapter *adapter) { }
drivers/net/ethernet/intel/iavf/iavf_ptp.h
26
static inline bool iavf_ptp_cap_supported(const struct iavf_adapter *adapter,
drivers/net/ethernet/intel/iavf/iavf_ptp.h
32
static inline void iavf_virtchnl_send_ptp_cmd(struct iavf_adapter *adapter) { }
drivers/net/ethernet/intel/iavf/iavf_ptp.h
33
static inline int iavf_ptp_set_ts_config(struct iavf_adapter *adapter,
drivers/net/ethernet/intel/iavf/iavf_txrx.c
2393
struct iavf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/iavf/iavf_txrx.c
2394
struct iavf_ring *tx_ring = &adapter->tx_rings[skb->queue_mapping];
drivers/net/ethernet/intel/iavf/iavf_txrx.c
447
static unsigned int iavf_itr_divisor(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_txrx.c
449
if (ADV_LINK_SUPPORT(adapter))
drivers/net/ethernet/intel/iavf/iavf_txrx.c
451
iavf_mbps_itr_multiplier(adapter->link_speed_mbps);
drivers/net/ethernet/intel/iavf/iavf_txrx.c
454
iavf_virtchnl_itr_multiplier(adapter->link_speed);
drivers/net/ethernet/intel/iavf/iavf_txrx.c
645
iavf_itr_divisor(q_vector->adapter)) *
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1003
spin_unlock_bh(&adapter->mac_vlan_list_lock);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1007
vvfl_v2->vport_id = adapter->vsi_res->vsi_id;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1009
list_for_each_entry_safe(f, ftmp, &adapter->vlan_filter_list, list) {
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1013
&adapter->vlan_v2_caps.filtering.filtering_support;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1030
adapter->num_vlan_filters--;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1039
adapter->aq_required &= ~IAVF_FLAG_AQ_DEL_VLAN_FILTER;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1041
spin_unlock_bh(&adapter->mac_vlan_list_lock);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1043
iavf_send_pf_msg(adapter, VIRTCHNL_OP_DEL_VLAN_V2,
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1055
void iavf_set_promiscuous(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1057
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1061
if (adapter->current_op != VIRTCHNL_OP_UNKNOWN) {
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1063
dev_err(&adapter->pdev->dev, "Cannot set promiscuous mode, command %d pending\n",
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1064
adapter->current_op);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1069
spin_lock_bh(&adapter->current_netdev_promisc_flags_lock);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1072
if (!iavf_promiscuous_mode_changed(adapter)) {
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1073
adapter->aq_required &= ~IAVF_FLAG_AQ_CONFIGURE_PROMISC_MODE;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1074
dev_dbg(&adapter->pdev->dev, "No change in promiscuous mode\n");
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1076
spin_unlock_bh(&adapter->current_netdev_promisc_flags_lock);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1087
adapter->current_netdev_promisc_flags |= IFF_ALLMULTI;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1088
adapter->current_netdev_promisc_flags &= ~IFF_PROMISC;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1089
dev_info(&adapter->pdev->dev, "Entering multicast promiscuous mode\n");
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1096
adapter->current_netdev_promisc_flags &=
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1098
dev_info(&adapter->pdev->dev, "Leaving promiscuous mode\n");
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1105
adapter->current_netdev_promisc_flags |= IFF_PROMISC;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1107
adapter->current_netdev_promisc_flags |= IFF_ALLMULTI;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1109
adapter->current_netdev_promisc_flags &= ~IFF_ALLMULTI;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1111
dev_info(&adapter->pdev->dev, "Entering promiscuous mode\n");
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1114
adapter->aq_required &= ~IAVF_FLAG_AQ_CONFIGURE_PROMISC_MODE;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1117
spin_unlock_bh(&adapter->current_netdev_promisc_flags_lock);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1119
adapter->current_op = VIRTCHNL_OP_CONFIG_PROMISCUOUS_MODE;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1120
vpi.vsi_id = adapter->vsi_res->vsi_id;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1122
iavf_send_pf_msg(adapter, VIRTCHNL_OP_CONFIG_PROMISCUOUS_MODE,
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1132
void iavf_request_stats(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1136
if (adapter->current_op != VIRTCHNL_OP_UNKNOWN) {
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1141
adapter->aq_required &= ~IAVF_FLAG_AQ_REQUEST_STATS;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1142
adapter->current_op = VIRTCHNL_OP_GET_STATS;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1143
vqs.vsi_id = adapter->vsi_res->vsi_id;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1145
if (iavf_send_pf_msg(adapter, VIRTCHNL_OP_GET_STATS, (u8 *)&vqs,
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1148
adapter->current_op = VIRTCHNL_OP_UNKNOWN;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1157
void iavf_get_rss_hashcfg(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1159
if (adapter->current_op != VIRTCHNL_OP_UNKNOWN) {
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
116
int iavf_verify_api_ver(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1161
dev_err(&adapter->pdev->dev, "Cannot get RSS hash capabilities, command %d pending\n",
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1162
adapter->current_op);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1165
adapter->current_op = VIRTCHNL_OP_GET_RSS_HASHCFG_CAPS;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1166
adapter->aq_required &= ~IAVF_FLAG_AQ_GET_RSS_HASHCFG;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1167
iavf_send_pf_msg(adapter, VIRTCHNL_OP_GET_RSS_HASHCFG_CAPS, NULL, 0);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1176
void iavf_set_rss_hashcfg(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1180
if (adapter->current_op != VIRTCHNL_OP_UNKNOWN) {
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1182
dev_err(&adapter->pdev->dev, "Cannot set RSS hash enable, command %d pending\n",
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1183
adapter->current_op);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1186
vrh.hashcfg = adapter->rss_hashcfg;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1187
adapter->current_op = VIRTCHNL_OP_SET_RSS_HASHCFG;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1188
adapter->aq_required &= ~IAVF_FLAG_AQ_SET_RSS_HASHCFG;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1189
iavf_send_pf_msg(adapter, VIRTCHNL_OP_SET_RSS_HASHCFG, (u8 *)&vrh,
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1199
void iavf_set_rss_key(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1204
if (adapter->current_op != VIRTCHNL_OP_UNKNOWN) {
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1206
dev_err(&adapter->pdev->dev, "Cannot set RSS key, command %d pending\n",
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1207
adapter->current_op);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1210
len = virtchnl_struct_size(vrk, key, adapter->rss_key_size);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1214
vrk->vsi_id = adapter->vsi.id;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1215
vrk->key_len = adapter->rss_key_size;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1216
memcpy(vrk->key, adapter->rss_key, adapter->rss_key_size);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1218
adapter->current_op = VIRTCHNL_OP_CONFIG_RSS_KEY;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1219
adapter->aq_required &= ~IAVF_FLAG_AQ_SET_RSS_KEY;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1220
iavf_send_pf_msg(adapter, VIRTCHNL_OP_CONFIG_RSS_KEY, (u8 *)vrk, len);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1230
void iavf_set_rss_lut(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1235
if (adapter->current_op != VIRTCHNL_OP_UNKNOWN) {
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1237
dev_err(&adapter->pdev->dev, "Cannot set RSS LUT, command %d pending\n",
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1238
adapter->current_op);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1241
len = virtchnl_struct_size(vrl, lut, adapter->rss_lut_size);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1245
vrl->vsi_id = adapter->vsi.id;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1246
vrl->lut_entries = adapter->rss_lut_size;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1247
memcpy(vrl->lut, adapter->rss_lut, adapter->rss_lut_size);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1248
adapter->current_op = VIRTCHNL_OP_CONFIG_RSS_LUT;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1249
adapter->aq_required &= ~IAVF_FLAG_AQ_SET_RSS_LUT;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1250
iavf_send_pf_msg(adapter, VIRTCHNL_OP_CONFIG_RSS_LUT, (u8 *)vrl, len);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
126
err = iavf_poll_virtchnl_msg(&adapter->hw, &event, VIRTCHNL_OP_VERSION);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1260
void iavf_set_rss_hfunc(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1265
if (adapter->current_op != VIRTCHNL_OP_UNKNOWN) {
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1267
dev_err(&adapter->pdev->dev, "Cannot set RSS Hash function, command %d pending\n",
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1268
adapter->current_op);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1274
vrh->vsi_id = adapter->vsi.id;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1275
vrh->rss_algorithm = adapter->hfunc;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1276
adapter->current_op = VIRTCHNL_OP_CONFIG_RSS_HFUNC;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1277
adapter->aq_required &= ~IAVF_FLAG_AQ_SET_RSS_HFUNC;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1278
iavf_send_pf_msg(adapter, VIRTCHNL_OP_CONFIG_RSS_HFUNC, (u8 *)vrh, len);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1288
void iavf_enable_vlan_stripping(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1290
if (adapter->current_op != VIRTCHNL_OP_UNKNOWN) {
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1292
dev_err(&adapter->pdev->dev, "Cannot enable stripping, command %d pending\n",
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1293
adapter->current_op);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1296
adapter->current_op = VIRTCHNL_OP_ENABLE_VLAN_STRIPPING;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1297
adapter->aq_required &= ~IAVF_FLAG_AQ_ENABLE_VLAN_STRIPPING;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1298
iavf_send_pf_msg(adapter, VIRTCHNL_OP_ENABLE_VLAN_STRIPPING, NULL, 0);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
130
adapter->pf_version = *pf_vvi;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1307
void iavf_disable_vlan_stripping(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1309
if (adapter->current_op != VIRTCHNL_OP_UNKNOWN) {
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1311
dev_err(&adapter->pdev->dev, "Cannot disable stripping, command %d pending\n",
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1312
adapter->current_op);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1315
adapter->current_op = VIRTCHNL_OP_DISABLE_VLAN_STRIPPING;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1316
adapter->aq_required &= ~IAVF_FLAG_AQ_DISABLE_VLAN_STRIPPING;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1317
iavf_send_pf_msg(adapter, VIRTCHNL_OP_DISABLE_VLAN_STRIPPING, NULL, 0);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1344
iavf_set_vc_offload_ethertype(struct iavf_adapter *adapter,
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1356
&adapter->vlan_v2_caps.offloads.stripping_support;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1361
&adapter->vlan_v2_caps.offloads.insertion_support;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1364
dev_err(&adapter->pdev->dev, "Invalid opcode %d for setting virtchnl ethertype to enable/disable VLAN offloads\n",
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1377
dev_dbg(&adapter->pdev->dev, "opcode %d unsupported for VLAN TPID 0x%04x\n",
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1392
iavf_clear_offload_v2_aq_required(struct iavf_adapter *adapter, u16 tpid,
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1398
adapter->aq_required &=
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1401
adapter->aq_required &=
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1406
adapter->aq_required &=
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1409
adapter->aq_required &=
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1414
adapter->aq_required &=
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1417
adapter->aq_required &=
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1422
adapter->aq_required &=
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1425
adapter->aq_required &=
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1429
dev_err(&adapter->pdev->dev, "Unsupported opcode %d specified for clearing aq_required bits for VIRTCHNL_VF_OFFLOAD_VLAN_V2 offload request\n",
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1441
iavf_send_vlan_offload_v2(struct iavf_adapter *adapter, u16 tpid,
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1447
if (adapter->current_op != VIRTCHNL_OP_UNKNOWN) {
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1449
dev_err(&adapter->pdev->dev, "Cannot send %d, command %d pending\n",
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1450
offload_op, adapter->current_op);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1454
adapter->current_op = offload_op;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1460
msg->vport_id = adapter->vsi_res->vsi_id;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1463
iavf_clear_offload_v2_aq_required(adapter, tpid, offload_op);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1466
if (!iavf_set_vc_offload_ethertype(adapter, msg, tpid, offload_op))
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1467
iavf_send_pf_msg(adapter, offload_op, (u8 *)msg, len);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1469
adapter->current_op = VIRTCHNL_OP_UNKNOWN;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1479
void iavf_enable_vlan_stripping_v2(struct iavf_adapter *adapter, u16 tpid)
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1481
iavf_send_vlan_offload_v2(adapter, tpid,
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1490
void iavf_disable_vlan_stripping_v2(struct iavf_adapter *adapter, u16 tpid)
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1492
iavf_send_vlan_offload_v2(adapter, tpid,
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1501
void iavf_enable_vlan_insertion_v2(struct iavf_adapter *adapter, u16 tpid)
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1503
iavf_send_vlan_offload_v2(adapter, tpid,
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
151
int iavf_send_vf_config_msg(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1512
void iavf_disable_vlan_insertion_v2(struct iavf_adapter *adapter, u16 tpid)
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1514
iavf_send_vlan_offload_v2(adapter, tpid,
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1526
void iavf_virtchnl_send_ptp_cmd(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1531
if (!adapter->ptp.clock) {
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1535
pci_err(adapter->pdev, "PTP is not initialized\n");
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1536
adapter->aq_required &= ~IAVF_FLAG_AQ_SEND_PTP_CMD;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1540
mutex_lock(&adapter->ptp.aq_cmd_lock);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1541
cmd = list_first_entry_or_null(&adapter->ptp.aq_cmds,
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1545
adapter->aq_required &= ~IAVF_FLAG_AQ_SEND_PTP_CMD;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1549
if (adapter->current_op != VIRTCHNL_OP_UNKNOWN) {
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1551
pci_err(adapter->pdev,
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1553
cmd->v_opcode, adapter->current_op);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1557
err = iavf_send_pf_msg(adapter, cmd->v_opcode, cmd->msg, cmd->msglen);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1566
pci_err(adapter->pdev, "Failed to send PTP command %d\n",
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1570
if (list_empty(&adapter->ptp.aq_cmds))
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1572
adapter->aq_required &= ~IAVF_FLAG_AQ_SEND_PTP_CMD;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1575
mutex_unlock(&adapter->ptp.aq_cmd_lock);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1585
static void iavf_print_link_message(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1587
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1591
if (!adapter->link_up) {
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1596
if (ADV_LINK_SUPPORT(adapter)) {
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1597
link_speed_mbps = adapter->link_speed_mbps;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1601
switch (adapter->link_speed) {
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1658
iavf_get_vpe_link_status(struct iavf_adapter *adapter,
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1661
if (ADV_LINK_SUPPORT(adapter))
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1675
iavf_set_adapter_link_speed_from_vpe(struct iavf_adapter *adapter,
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1678
if (ADV_LINK_SUPPORT(adapter))
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1679
adapter->link_speed_mbps =
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1682
adapter->link_speed = vpe->event_data.link_event.link_speed;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1691
void iavf_get_qos_caps(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1693
if (adapter->current_op != VIRTCHNL_OP_UNKNOWN) {
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1695
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1697
adapter->current_op);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1701
adapter->current_op = VIRTCHNL_OP_GET_QOS_CAPS;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1702
adapter->aq_required &= ~IAVF_FLAG_AQ_GET_QOS_CAPS;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1703
iavf_send_pf_msg(adapter, VIRTCHNL_OP_GET_QOS_CAPS, NULL, 0);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1717
iavf_set_quanta_size(struct iavf_adapter *adapter, u16 quanta_size,
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1722
if (adapter->current_op != VIRTCHNL_OP_UNKNOWN) {
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1724
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1726
adapter->current_op);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1730
adapter->current_op = VIRTCHNL_OP_CONFIG_QUANTA;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1735
adapter->aq_required &= ~IAVF_FLAG_AQ_CFG_QUEUES_QUANTA_SIZE;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1736
iavf_send_pf_msg(adapter, VIRTCHNL_OP_CONFIG_QUANTA,
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1746
void iavf_cfg_queues_quanta_size(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1751
iavf_set_quanta_size(adapter, quanta_size, 0,
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1752
adapter->num_active_queues);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1761
void iavf_cfg_queues_bw(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1769
if (adapter->current_op != VIRTCHNL_OP_UNKNOWN) {
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
177
adapter->current_op = VIRTCHNL_OP_GET_VF_RESOURCES;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1771
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1773
adapter->current_op);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1777
for (i = 0; i < adapter->num_active_queues; i++) {
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1778
if (adapter->tx_rings[i].q_shaper_update)
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
178
adapter->aq_required &= ~IAVF_FLAG_AQ_GET_CONFIG;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1786
qs_bw_cfg->vsi_id = adapter->vsi.id;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1789
for (i = 0; i < adapter->num_active_queues; i++) {
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
179
if (PF_IS_V11(adapter))
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1790
struct iavf_ring *tx_ring = &adapter->tx_rings[i];
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
180
return iavf_send_pf_msg(adapter, VIRTCHNL_OP_GET_VF_RESOURCES,
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1802
adapter->current_op = VIRTCHNL_OP_CONFIG_QUEUE_BW;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1803
adapter->aq_required &= ~IAVF_FLAG_AQ_CONFIGURE_QUEUES_BW;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1804
iavf_send_pf_msg(adapter, VIRTCHNL_OP_CONFIG_QUEUE_BW,
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1816
void iavf_enable_channels(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1822
if (adapter->current_op != VIRTCHNL_OP_UNKNOWN) {
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1824
dev_err(&adapter->pdev->dev, "Cannot configure mqprio, command %d pending\n",
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1825
adapter->current_op);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1829
len = virtchnl_struct_size(vti, list, adapter->num_tc);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
183
return iavf_send_pf_msg(adapter, VIRTCHNL_OP_GET_VF_RESOURCES,
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1833
vti->num_tc = adapter->num_tc;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1835
vti->list[i].count = adapter->ch_config.ch_info[i].count;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1836
vti->list[i].offset = adapter->ch_config.ch_info[i].offset;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1839
adapter->ch_config.ch_info[i].max_tx_rate;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1842
adapter->ch_config.state = __IAVF_TC_RUNNING;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1843
adapter->flags |= IAVF_FLAG_REINIT_ITR_NEEDED;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1844
adapter->current_op = VIRTCHNL_OP_ENABLE_CHANNELS;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1845
adapter->aq_required &= ~IAVF_FLAG_AQ_ENABLE_CHANNELS;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1846
iavf_send_pf_msg(adapter, VIRTCHNL_OP_ENABLE_CHANNELS, (u8 *)vti, len);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1856
void iavf_disable_channels(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1858
if (adapter->current_op != VIRTCHNL_OP_UNKNOWN) {
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1860
dev_err(&adapter->pdev->dev, "Cannot configure mqprio, command %d pending\n",
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1861
adapter->current_op);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1865
adapter->ch_config.state = __IAVF_TC_INVALID;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1866
adapter->flags |= IAVF_FLAG_REINIT_ITR_NEEDED;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1867
adapter->current_op = VIRTCHNL_OP_DISABLE_CHANNELS;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1868
adapter->aq_required &= ~IAVF_FLAG_AQ_DISABLE_CHANNELS;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1869
iavf_send_pf_msg(adapter, VIRTCHNL_OP_DISABLE_CHANNELS, NULL, 0);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
187
int iavf_send_vf_offload_vlan_v2_msg(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1879
static void iavf_print_cloud_filter(struct iavf_adapter *adapter,
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1884
dev_info(&adapter->pdev->dev, "dst_mac: %pM src_mac: %pM vlan_id: %hu dst_ip: %pI4 src_ip %pI4 dst_port %hu src_port %hu\n",
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
189
adapter->aq_required &= ~IAVF_FLAG_AQ_GET_OFFLOAD_VLAN_V2_CAPS;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1894
dev_info(&adapter->pdev->dev, "dst_mac: %pM src_mac: %pM vlan_id: %hu dst_ip: %pI6 src_ip %pI6 dst_port %hu src_port %hu\n",
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
19
static int iavf_send_pf_msg(struct iavf_adapter *adapter,
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
191
if (!VLAN_V2_ALLOWED(adapter))
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1913
void iavf_add_cloud_filter(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1919
if (adapter->current_op != VIRTCHNL_OP_UNKNOWN) {
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1921
dev_err(&adapter->pdev->dev, "Cannot add cloud filter, command %d pending\n",
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1922
adapter->current_op);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1925
list_for_each_entry(cf, &adapter->cloud_filter_list, list) {
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1932
adapter->aq_required &= ~IAVF_FLAG_AQ_ADD_CLOUD_FILTER;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1935
adapter->current_op = VIRTCHNL_OP_ADD_CLOUD_FILTER;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
194
adapter->current_op = VIRTCHNL_OP_GET_OFFLOAD_VLAN_V2_CAPS;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1942
list_for_each_entry(cf, &adapter->cloud_filter_list, list) {
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1947
iavf_send_pf_msg(adapter, VIRTCHNL_OP_ADD_CLOUD_FILTER,
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
196
return iavf_send_pf_msg(adapter, VIRTCHNL_OP_GET_OFFLOAD_VLAN_V2_CAPS,
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1961
void iavf_del_cloud_filter(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1967
if (adapter->current_op != VIRTCHNL_OP_UNKNOWN) {
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1969
dev_err(&adapter->pdev->dev, "Cannot remove cloud filter, command %d pending\n",
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1970
adapter->current_op);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1973
list_for_each_entry(cf, &adapter->cloud_filter_list, list) {
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1980
adapter->aq_required &= ~IAVF_FLAG_AQ_DEL_CLOUD_FILTER;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1983
adapter->current_op = VIRTCHNL_OP_DEL_CLOUD_FILTER;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1990
list_for_each_entry_safe(cf, cftmp, &adapter->cloud_filter_list, list) {
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
1995
iavf_send_pf_msg(adapter, VIRTCHNL_OP_DEL_CLOUD_FILTER,
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
200
int iavf_send_vf_supported_rxdids_msg(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2009
void iavf_add_fdir_filter(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2016
if (adapter->current_op != VIRTCHNL_OP_UNKNOWN) {
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2018
dev_err(&adapter->pdev->dev, "Cannot add Flow Director filter, command %d pending\n",
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2019
adapter->current_op);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
202
adapter->aq_required &= ~IAVF_FLAG_AQ_GET_SUPPORTED_RXDIDS;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2028
spin_lock_bh(&adapter->fdir_fltr_lock);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2029
list_for_each_entry(fdir, &adapter->fdir_list_head, list) {
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2037
spin_unlock_bh(&adapter->fdir_fltr_lock);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
204
if (!IAVF_RXDID_ALLOWED(adapter))
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2043
adapter->aq_required &= ~IAVF_FLAG_AQ_ADD_FDIR_FILTER;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2047
adapter->current_op = VIRTCHNL_OP_ADD_FDIR_FILTER;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2048
iavf_send_pf_msg(adapter, VIRTCHNL_OP_ADD_FDIR_FILTER, (u8 *)f, len);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2059
void iavf_del_fdir_filter(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2066
if (adapter->current_op != VIRTCHNL_OP_UNKNOWN) {
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2068
dev_err(&adapter->pdev->dev, "Cannot remove Flow Director filter, command %d pending\n",
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2069
adapter->current_op);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
207
adapter->current_op = VIRTCHNL_OP_GET_SUPPORTED_RXDIDS;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2075
spin_lock_bh(&adapter->fdir_fltr_lock);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2076
list_for_each_entry(fdir, &adapter->fdir_list_head, list) {
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
209
return iavf_send_pf_msg(adapter, VIRTCHNL_OP_GET_SUPPORTED_RXDIDS,
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2091
spin_unlock_bh(&adapter->fdir_fltr_lock);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2094
adapter->aq_required &= ~IAVF_FLAG_AQ_DEL_FDIR_FILTER;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2098
adapter->current_op = VIRTCHNL_OP_DEL_FDIR_FILTER;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2099
iavf_send_pf_msg(adapter, VIRTCHNL_OP_DEL_FDIR_FILTER, (u8 *)&f, len);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2109
void iavf_add_adv_rss_cfg(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2116
if (adapter->current_op != VIRTCHNL_OP_UNKNOWN) {
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2118
dev_err(&adapter->pdev->dev, "Cannot add RSS configuration, command %d pending\n",
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2119
adapter->current_op);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2128
spin_lock_bh(&adapter->adv_rss_lock);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2129
list_for_each_entry(rss, &adapter->adv_rss_list_head, list) {
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2134
iavf_print_adv_rss_cfg(adapter, rss,
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2140
spin_unlock_bh(&adapter->adv_rss_lock);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2143
adapter->current_op = VIRTCHNL_OP_ADD_RSS_CFG;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2144
iavf_send_pf_msg(adapter, VIRTCHNL_OP_ADD_RSS_CFG,
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2147
adapter->aq_required &= ~IAVF_FLAG_AQ_ADD_ADV_RSS_CFG;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2160
void iavf_del_adv_rss_cfg(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2167
if (adapter->current_op != VIRTCHNL_OP_UNKNOWN) {
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2169
dev_err(&adapter->pdev->dev, "Cannot remove RSS configuration, command %d pending\n",
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2170
adapter->current_op);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2179
spin_lock_bh(&adapter->adv_rss_lock);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2180
list_for_each_entry(rss, &adapter->adv_rss_list_head, list) {
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2188
spin_unlock_bh(&adapter->adv_rss_lock);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2191
adapter->current_op = VIRTCHNL_OP_DEL_RSS_CFG;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2192
iavf_send_pf_msg(adapter, VIRTCHNL_OP_DEL_RSS_CFG,
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2195
adapter->aq_required &= ~IAVF_FLAG_AQ_DEL_ADV_RSS_CFG;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
22
struct iavf_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2207
int iavf_request_reset(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2211
err = iavf_send_pf_msg(adapter, VIRTCHNL_OP_RESET_VF, NULL, 0);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2212
adapter->current_op = VIRTCHNL_OP_UNKNOWN;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2239
static void iavf_activate_fdir_filters(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2244
spin_lock_bh(&adapter->fdir_fltr_lock);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2245
list_for_each_entry_safe(f, ftmp, &adapter->fdir_list_head, list) {
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2264
iavf_dec_fdir_active_fltr(adapter, f);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2268
spin_unlock_bh(&adapter->fdir_fltr_lock);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2271
adapter->aq_required |= IAVF_FLAG_AQ_ADD_FDIR_FILTER;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2286
static void iavf_virtchnl_ptp_get_time(struct iavf_adapter *adapter,
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2292
dev_err_once(&adapter->pdev->dev,
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2298
adapter->ptp.cached_phc_time = msg->time;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2299
adapter->ptp.cached_phc_updated = jiffies;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
230
int iavf_send_vf_ptp_caps_msg(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2300
adapter->ptp.phc_time_ready = true;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2302
wake_up(&adapter->ptp.phc_time_waitqueue);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2317
void iavf_virtchnl_completion(struct iavf_adapter *adapter,
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2321
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2326
bool link_up = iavf_get_vpe_link_status(adapter, vpe);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2330
iavf_set_adapter_link_speed_from_vpe(adapter, vpe);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2333
if (adapter->link_up == link_up)
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2344
if (adapter->state != __IAVF_RUNNING)
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2351
if (adapter->flags &
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2356
adapter->link_up = link_up;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2364
iavf_print_link_message(adapter);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2367
dev_info(&adapter->pdev->dev, "Reset indication received from the PF\n");
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2368
if (!(adapter->flags & IAVF_FLAG_RESET_PENDING)) {
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2369
dev_info(&adapter->pdev->dev, "Scheduling reset task\n");
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
237
adapter->aq_required &= ~IAVF_FLAG_AQ_GET_PTP_CAPS;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2370
iavf_schedule_reset(adapter, IAVF_FLAG_RESET_PENDING);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2374
dev_err(&adapter->pdev->dev, "Unknown event %d from PF\n",
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2383
dev_err(&adapter->pdev->dev, "Failed to add VLAN filter, error %s\n",
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2384
iavf_stat_str(&adapter->hw, v_retval));
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2387
dev_err(&adapter->pdev->dev, "Failed to add MAC filter, error %s\n",
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2388
iavf_stat_str(&adapter->hw, v_retval));
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2389
iavf_mac_add_reject(adapter);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
239
if (!IAVF_PTP_ALLOWED(adapter))
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2391
ether_addr_copy(adapter->hw.mac.addr, netdev->dev_addr);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2392
wake_up(&adapter->vc_waitqueue);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2395
dev_err(&adapter->pdev->dev, "Failed to delete VLAN filter, error %s\n",
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2396
iavf_stat_str(&adapter->hw, v_retval));
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2399
dev_err(&adapter->pdev->dev, "Failed to delete MAC filter, error %s\n",
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2400
iavf_stat_str(&adapter->hw, v_retval));
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2403
dev_err(&adapter->pdev->dev, "Failed to configure queue channels, error %s\n",
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2404
iavf_stat_str(&adapter->hw, v_retval));
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2405
adapter->flags &= ~IAVF_FLAG_REINIT_ITR_NEEDED;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2406
adapter->ch_config.state = __IAVF_TC_INVALID;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2411
dev_err(&adapter->pdev->dev, "Failed to disable queue channels, error %s\n",
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2412
iavf_stat_str(&adapter->hw, v_retval));
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2413
adapter->flags &= ~IAVF_FLAG_REINIT_ITR_NEEDED;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2414
adapter->ch_config.state = __IAVF_TC_RUNNING;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
242
adapter->current_op = VIRTCHNL_OP_1588_PTP_GET_CAPS;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2421
&adapter->cloud_filter_list,
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2425
dev_info(&adapter->pdev->dev, "Failed to add cloud filter, error %s\n",
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2426
iavf_stat_str(&adapter->hw,
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2428
iavf_print_cloud_filter(adapter,
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2432
adapter->num_cloud_filters--;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
244
return iavf_send_pf_msg(adapter, VIRTCHNL_OP_1588_PTP_GET_CAPS,
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2440
list_for_each_entry(cf, &adapter->cloud_filter_list,
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2444
dev_info(&adapter->pdev->dev, "Failed to del cloud filter, error %s\n",
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2445
iavf_stat_str(&adapter->hw,
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2447
iavf_print_cloud_filter(adapter,
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2456
spin_lock_bh(&adapter->fdir_fltr_lock);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2458
&adapter->fdir_list_head,
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2461
dev_info(&adapter->pdev->dev, "Failed to add Flow Director filter, error %s\n",
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2462
iavf_stat_str(&adapter->hw,
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2464
iavf_print_fdir_fltr(adapter, fdir);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2466
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2469
iavf_dec_fdir_active_fltr(adapter, fdir);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2473
spin_unlock_bh(&adapter->fdir_fltr_lock);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2479
spin_lock_bh(&adapter->fdir_fltr_lock);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2480
list_for_each_entry(fdir, &adapter->fdir_list_head,
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2485
dev_info(&adapter->pdev->dev, "Failed to del Flow Director filter, error %s\n",
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2486
iavf_stat_str(&adapter->hw,
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2488
iavf_print_fdir_fltr(adapter, fdir);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2491
spin_unlock_bh(&adapter->fdir_fltr_lock);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2497
spin_lock_bh(&adapter->adv_rss_lock);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2499
&adapter->adv_rss_list_head,
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
25
if (adapter->flags & IAVF_FLAG_PF_COMMS_FAILED)
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2502
iavf_print_adv_rss_cfg(adapter, rss,
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2509
spin_unlock_bh(&adapter->adv_rss_lock);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2515
spin_lock_bh(&adapter->adv_rss_lock);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2516
list_for_each_entry(rss, &adapter->adv_rss_list_head,
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2520
dev_err(&adapter->pdev->dev, "Failed to delete RSS configuration, error %s\n",
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2521
iavf_stat_str(&adapter->hw,
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2525
spin_unlock_bh(&adapter->adv_rss_lock);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2529
dev_warn(&adapter->pdev->dev, "Changing VLAN Stripping is not allowed when Port VLAN is configured\n");
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2536
dev_warn(&adapter->pdev->dev, "Changing VLAN Stripping is not allowed when Port VLAN is configured\n");
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2543
iavf_vlan_add_reject(adapter);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2544
dev_warn(&adapter->pdev->dev, "Failed to add VLAN filter, error %s\n",
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2545
iavf_stat_str(&adapter->hw, v_retval));
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2548
dev_warn(&adapter->pdev->dev, "Failed to configure hash function, error %s\n",
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2549
iavf_stat_str(&adapter->hw, v_retval));
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
255
static void iavf_validate_num_queues(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2551
if (adapter->hfunc ==
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2553
adapter->hfunc =
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2556
adapter->hfunc =
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2561
dev_warn(&adapter->pdev->dev, "Failed to Get Qos CAPs, error %s\n",
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2562
iavf_stat_str(&adapter->hw, v_retval));
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2565
dev_warn(&adapter->pdev->dev, "Failed to Config Quanta, error %s\n",
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2566
iavf_stat_str(&adapter->hw, v_retval));
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2569
dev_warn(&adapter->pdev->dev, "Failed to Config Queue BW, error %s\n",
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
257
if (adapter->vf_res->num_queue_pairs > IAVF_MAX_REQ_QUEUES) {
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2570
iavf_stat_str(&adapter->hw, v_retval));
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2573
dev_err(&adapter->pdev->dev, "PF returned error %d (%s) to our request %d\n",
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2574
v_retval, iavf_stat_str(&adapter->hw, v_retval),
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2581
iavf_mac_add_ok(adapter);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2582
if (!ether_addr_equal(netdev->dev_addr, adapter->hw.mac.addr))
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2584
adapter->hw.mac.addr)) {
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2586
eth_hw_addr_set(netdev, adapter->hw.mac.addr);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2589
wake_up(&adapter->vc_waitqueue);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2605
adapter->current_stats = *stats;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
261
dev_info(&adapter->pdev->dev, "Received %d queues, but can only have a max of %d\n",
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2611
memcpy(adapter->vf_res, msg, min(msglen, len));
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2612
iavf_validate_num_queues(adapter);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2613
iavf_vf_parse_hw_config(&adapter->hw, adapter->vf_res);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2614
if (is_zero_ether_addr(adapter->hw.mac.addr)) {
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2616
ether_addr_copy(adapter->hw.mac.addr, netdev->dev_addr);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
262
adapter->vf_res->num_queue_pairs,
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2621
adapter->hw.mac.addr);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2624
spin_lock_bh(&adapter->mac_vlan_list_lock);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2625
iavf_add_filter(adapter, adapter->hw.mac.addr);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2627
if (VLAN_ALLOWED(adapter)) {
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2628
if (!list_empty(&adapter->vlan_filter_list)) {
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2633
&adapter->vlan_filter_list,
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2637
adapter->aq_required |=
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
264
dev_info(&adapter->pdev->dev, "Fixing by reducing queues to %d\n",
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2642
spin_unlock_bh(&adapter->mac_vlan_list_lock);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2644
iavf_activate_fdir_filters(adapter);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2646
iavf_parse_vf_resource_msg(adapter);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2652
if (VLAN_V2_ALLOWED(adapter))
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
266
adapter->vf_res->num_queue_pairs = IAVF_MAX_REQ_QUEUES;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2665
memcpy(&adapter->vlan_v2_caps, msg,
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2667
sizeof(adapter->vlan_v2_caps)));
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2669
iavf_process_config(adapter);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
267
for (i = 0; i < adapter->vf_res->num_vsis; i++) {
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2670
adapter->flags |= IAVF_FLAG_SETUP_NETDEV_FEATURES;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2671
iavf_schedule_finish_config(adapter);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2673
iavf_set_queue_vlan_tag_loc(adapter);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2676
adapter->hw.mac.addr);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2678
spin_lock_bh(&adapter->mac_vlan_list_lock);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
268
vsi_res = &adapter->vf_res->vsi_res[i];
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2681
list_for_each_entry(f, &adapter->mac_filter_list, list) {
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2685
adapter->hw.mac.addr);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2694
if (VLAN_FILTERING_ALLOWED(adapter)) {
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2697
if (!list_empty(&adapter->vlan_filter_list)) {
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2699
&adapter->vlan_filter_list,
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2707
spin_unlock_bh(&adapter->mac_vlan_list_lock);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2710
eth_hw_addr_set(netdev, adapter->hw.mac.addr);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2713
adapter->aq_required |= IAVF_FLAG_AQ_ADD_MAC_FILTER |
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2721
adapter->supp_rxdids = *(u64 *)msg;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2725
if (msglen != sizeof(adapter->ptp.hw_caps))
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2728
adapter->ptp.hw_caps = *(struct virtchnl_ptp_caps *)msg;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2731
iavf_ptp_process_caps(adapter);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2734
iavf_virtchnl_ptp_get_time(adapter, msg, msglen);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2738
iavf_irq_enable(adapter, true);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2739
adapter->flags &= ~IAVF_FLAG_QUEUES_DISABLED;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2742
iavf_free_all_tx_resources(adapter);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2743
iavf_free_all_rx_resources(adapter);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2744
if (adapter->state == __IAVF_DOWN_PENDING) {
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2745
iavf_change_state(adapter, __IAVF_DOWN);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2746
wake_up(&adapter->down_waitqueue);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2755
if (v_opcode != adapter->current_op)
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2763
adapter->rss_hashcfg = vrh->hashcfg;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2765
dev_warn(&adapter->pdev->dev,
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2773
if (vfres->num_queue_pairs != adapter->num_req_queues) {
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2774
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2776
adapter->num_req_queues,
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2778
adapter->num_req_queues = 0;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2779
adapter->flags &= ~IAVF_FLAG_REINIT_ITR_NEEDED;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2786
list_for_each_entry(cf, &adapter->cloud_filter_list, list) {
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2795
list_for_each_entry_safe(cf, cftmp, &adapter->cloud_filter_list,
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2801
adapter->num_cloud_filters--;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2810
spin_lock_bh(&adapter->fdir_fltr_lock);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2812
&adapter->fdir_list_head,
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2817
dev_info(&adapter->pdev->dev, "Flow Director filter with location %u is added\n",
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2820
dev_info(&adapter->pdev->dev, "Flow Director filter (raw) for TC handle %x is added\n",
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2825
dev_info(&adapter->pdev->dev, "Failed to add Flow Director filter with status: %d\n",
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2827
iavf_print_fdir_fltr(adapter, fdir);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2829
iavf_dec_fdir_active_fltr(adapter, fdir);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
283
int iavf_get_vf_config(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2834
spin_unlock_bh(&adapter->fdir_fltr_lock);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2841
spin_lock_bh(&adapter->fdir_fltr_lock);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2842
list_for_each_entry_safe(fdir, fdir_tmp, &adapter->fdir_list_head,
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2849
dev_info(&adapter->pdev->dev, "Flow Director filter with location %u is deleted\n",
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
285
struct iavf_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2852
dev_info(&adapter->pdev->dev, "Flow Director filter (raw) for TC handle %x is deleted\n",
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2855
iavf_dec_fdir_active_fltr(adapter, fdir);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2859
dev_info(&adapter->pdev->dev, "Failed to delete Flow Director filter with status: %d\n",
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2861
iavf_print_fdir_fltr(adapter, fdir);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2870
dev_info(&adapter->pdev->dev, "Failed to disable Flow Director filter with status: %d\n",
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2872
iavf_print_fdir_fltr(adapter, fdir);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2876
spin_unlock_bh(&adapter->fdir_fltr_lock);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2882
spin_lock_bh(&adapter->adv_rss_lock);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2883
list_for_each_entry(rss, &adapter->adv_rss_list_head, list) {
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2885
iavf_print_adv_rss_cfg(adapter, rss,
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2891
spin_unlock_bh(&adapter->adv_rss_lock);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2897
spin_lock_bh(&adapter->adv_rss_lock);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2899
&adapter->adv_rss_list_head, list) {
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2905
spin_unlock_bh(&adapter->adv_rss_lock);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2911
spin_lock_bh(&adapter->mac_vlan_list_lock);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2912
list_for_each_entry(f, &adapter->vlan_filter_list, list) {
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2916
spin_unlock_bh(&adapter->mac_vlan_list_lock);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2934
u16 len = struct_size(adapter->qos_caps, cap,
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2937
memcpy(adapter->qos_caps, msg, min(msglen, len));
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2939
adapter->aq_required |= IAVF_FLAG_AQ_CFG_QUEUES_QUANTA_SIZE;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2947
for (i = 0; i < adapter->num_active_queues; i++)
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2948
adapter->tx_rings[i].q_shaper_update = false;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2952
if (adapter->current_op && (v_opcode != adapter->current_op))
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2953
dev_warn(&adapter->pdev->dev, "Expected response %d from PF, received %d\n",
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2954
adapter->current_op, v_opcode);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
2957
adapter->current_op = VIRTCHNL_OP_UNKNOWN;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
297
memcpy(adapter->vf_res, event.msg_buf, min(event.msg_len, len));
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
30
dev_dbg(&adapter->pdev->dev, "Unable to send opcode %d to PF, status %s, aq_err %s\n",
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
303
iavf_validate_num_queues(adapter);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
304
iavf_vf_parse_hw_config(hw, adapter->vf_res);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
311
int iavf_get_vf_vlan_v2_caps(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
323
err = iavf_poll_virtchnl_msg(&adapter->hw, &event,
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
326
memcpy(&adapter->vlan_v2_caps, event.msg_buf,
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
334
int iavf_get_vf_supported_rxdids(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
343
err = iavf_poll_virtchnl_msg(&adapter->hw, &event,
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
346
adapter->supp_rxdids = rxdids;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
351
int iavf_get_vf_ptp_caps(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
360
err = iavf_poll_virtchnl_msg(&adapter->hw, &event,
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
363
adapter->ptp.hw_caps = caps;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
374
void iavf_configure_queues(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
377
int pairs = adapter->num_active_queues;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
383
max_frame = LIBIE_MAX_RX_FRM_LEN(adapter->rx_rings->pp->p.offset);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
384
max_frame = min_not_zero(adapter->vf_res->max_mtu, max_frame);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
386
if (adapter->current_op != VIRTCHNL_OP_UNKNOWN) {
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
388
dev_err(&adapter->pdev->dev, "Cannot configure queues, command %d pending\n",
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
389
adapter->current_op);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
392
adapter->current_op = VIRTCHNL_OP_CONFIG_VSI_QUEUES;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
398
if (iavf_ptp_cap_supported(adapter, VIRTCHNL_1588_PTP_CAP_RX_TSTAMP))
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
401
vqci->vsi_id = adapter->vsi_res->vsi_id;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
410
vqpi->txq.ring_len = adapter->tx_rings[i].count;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
411
vqpi->txq.dma_ring_addr = adapter->tx_rings[i].dma;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
414
vqpi->rxq.ring_len = adapter->rx_rings[i].count;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
415
vqpi->rxq.dma_ring_addr = adapter->rx_rings[i].dma;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
417
vqpi->rxq.databuffer_size = adapter->rx_rings[i].rx_buf_len;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
418
if (IAVF_RXDID_ALLOWED(adapter))
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
419
vqpi->rxq.rxdid = adapter->rxdid;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
420
if (CRC_OFFLOAD_ALLOWED(adapter))
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
421
vqpi->rxq.crc_disable = !!(adapter->netdev->features &
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
427
adapter->aq_required &= ~IAVF_FLAG_AQ_CONFIGURE_QUEUES;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
428
iavf_send_pf_msg(adapter, VIRTCHNL_OP_CONFIG_VSI_QUEUES,
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
439
void iavf_enable_queues(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
44
int iavf_send_api_ver(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
443
if (adapter->current_op != VIRTCHNL_OP_UNKNOWN) {
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
445
dev_err(&adapter->pdev->dev, "Cannot enable queues, command %d pending\n",
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
446
adapter->current_op);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
449
adapter->current_op = VIRTCHNL_OP_ENABLE_QUEUES;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
450
vqs.vsi_id = adapter->vsi_res->vsi_id;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
451
vqs.tx_queues = BIT(adapter->num_active_queues) - 1;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
453
adapter->aq_required &= ~IAVF_FLAG_AQ_ENABLE_QUEUES;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
454
iavf_send_pf_msg(adapter, VIRTCHNL_OP_ENABLE_QUEUES,
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
464
void iavf_disable_queues(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
468
if (adapter->current_op != VIRTCHNL_OP_UNKNOWN) {
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
470
dev_err(&adapter->pdev->dev, "Cannot disable queues, command %d pending\n",
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
471
adapter->current_op);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
474
adapter->current_op = VIRTCHNL_OP_DISABLE_QUEUES;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
475
vqs.vsi_id = adapter->vsi_res->vsi_id;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
476
vqs.tx_queues = BIT(adapter->num_active_queues) - 1;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
478
adapter->aq_required &= ~IAVF_FLAG_AQ_DISABLE_QUEUES;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
479
iavf_send_pf_msg(adapter, VIRTCHNL_OP_DISABLE_QUEUES,
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
490
void iavf_map_queues(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
498
if (adapter->current_op != VIRTCHNL_OP_UNKNOWN) {
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
500
dev_err(&adapter->pdev->dev, "Cannot map queues to vectors, command %d pending\n",
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
501
adapter->current_op);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
504
adapter->current_op = VIRTCHNL_OP_CONFIG_IRQ_MAP;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
506
q_vectors = adapter->num_msix_vectors - NONQ_VECS;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
508
len = virtchnl_struct_size(vimi, vecmap, adapter->num_msix_vectors);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
51
return iavf_send_pf_msg(adapter, VIRTCHNL_OP_VERSION, (u8 *)&vvi,
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
513
vimi->num_vectors = adapter->num_msix_vectors;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
516
q_vector = &adapter->q_vectors[v_idx];
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
519
vecmap->vsi_id = adapter->vsi_res->vsi_id;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
528
vecmap->vsi_id = adapter->vsi_res->vsi_id;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
533
adapter->aq_required &= ~IAVF_FLAG_AQ_MAP_VECTORS;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
534
iavf_send_pf_msg(adapter, VIRTCHNL_OP_CONFIG_IRQ_MAP,
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
559
void iavf_add_ether_addrs(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
567
if (adapter->current_op != VIRTCHNL_OP_UNKNOWN) {
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
569
dev_err(&adapter->pdev->dev, "Cannot add filters, command %d pending\n",
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
570
adapter->current_op);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
574
spin_lock_bh(&adapter->mac_vlan_list_lock);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
576
list_for_each_entry(f, &adapter->mac_filter_list, list) {
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
581
adapter->aq_required &= ~IAVF_FLAG_AQ_ADD_MAC_FILTER;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
582
spin_unlock_bh(&adapter->mac_vlan_list_lock);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
585
adapter->current_op = VIRTCHNL_OP_ADD_ETH_ADDR;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
589
dev_warn(&adapter->pdev->dev, "Too many add MAC changes in one request\n");
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
597
spin_unlock_bh(&adapter->mac_vlan_list_lock);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
601
veal->vsi_id = adapter->vsi_res->vsi_id;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
603
list_for_each_entry(f, &adapter->mac_filter_list, list) {
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
614
adapter->aq_required &= ~IAVF_FLAG_AQ_ADD_MAC_FILTER;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
616
spin_unlock_bh(&adapter->mac_vlan_list_lock);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
618
iavf_send_pf_msg(adapter, VIRTCHNL_OP_ADD_ETH_ADDR, (u8 *)veal, len);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
628
void iavf_del_ether_addrs(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
636
if (adapter->current_op != VIRTCHNL_OP_UNKNOWN) {
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
638
dev_err(&adapter->pdev->dev, "Cannot remove filters, command %d pending\n",
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
639
adapter->current_op);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
643
spin_lock_bh(&adapter->mac_vlan_list_lock);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
645
list_for_each_entry(f, &adapter->mac_filter_list, list) {
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
650
adapter->aq_required &= ~IAVF_FLAG_AQ_DEL_MAC_FILTER;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
651
spin_unlock_bh(&adapter->mac_vlan_list_lock);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
654
adapter->current_op = VIRTCHNL_OP_DEL_ETH_ADDR;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
658
dev_warn(&adapter->pdev->dev, "Too many delete MAC changes in one request\n");
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
665
spin_unlock_bh(&adapter->mac_vlan_list_lock);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
669
veal->vsi_id = adapter->vsi_res->vsi_id;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
671
list_for_each_entry_safe(f, ftmp, &adapter->mac_filter_list, list) {
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
683
adapter->aq_required &= ~IAVF_FLAG_AQ_DEL_MAC_FILTER;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
685
spin_unlock_bh(&adapter->mac_vlan_list_lock);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
687
iavf_send_pf_msg(adapter, VIRTCHNL_OP_DEL_ETH_ADDR, (u8 *)veal, len);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
697
static void iavf_mac_add_ok(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
701
spin_lock_bh(&adapter->mac_vlan_list_lock);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
702
list_for_each_entry_safe(f, ftmp, &adapter->mac_filter_list, list) {
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
707
spin_unlock_bh(&adapter->mac_vlan_list_lock);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
716
static void iavf_mac_add_reject(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
718
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
721
spin_lock_bh(&adapter->mac_vlan_list_lock);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
722
list_for_each_entry_safe(f, ftmp, &adapter->mac_filter_list, list) {
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
734
spin_unlock_bh(&adapter->mac_vlan_list_lock);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
743
static void iavf_vlan_add_reject(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
747
spin_lock_bh(&adapter->mac_vlan_list_lock);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
748
list_for_each_entry_safe(f, ftmp, &adapter->vlan_filter_list, list) {
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
752
adapter->num_vlan_filters--;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
755
spin_unlock_bh(&adapter->mac_vlan_list_lock);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
764
void iavf_add_vlans(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
770
if (adapter->current_op != VIRTCHNL_OP_UNKNOWN) {
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
772
dev_err(&adapter->pdev->dev, "Cannot add VLANs, command %d pending\n",
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
773
adapter->current_op);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
777
spin_lock_bh(&adapter->mac_vlan_list_lock);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
779
list_for_each_entry(f, &adapter->vlan_filter_list, list) {
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
783
if (!count || !VLAN_FILTERING_ALLOWED(adapter)) {
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
784
adapter->aq_required &= ~IAVF_FLAG_AQ_ADD_VLAN_FILTER;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
785
spin_unlock_bh(&adapter->mac_vlan_list_lock);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
789
if (VLAN_ALLOWED(adapter)) {
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
792
adapter->current_op = VIRTCHNL_OP_ADD_VLAN;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
796
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
805
spin_unlock_bh(&adapter->mac_vlan_list_lock);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
809
vvfl->vsi_id = adapter->vsi_res->vsi_id;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
811
list_for_each_entry(f, &adapter->vlan_filter_list, list) {
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
821
adapter->aq_required &= ~IAVF_FLAG_AQ_ADD_VLAN_FILTER;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
823
spin_unlock_bh(&adapter->mac_vlan_list_lock);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
825
iavf_send_pf_msg(adapter, VIRTCHNL_OP_ADD_VLAN, (u8 *)vvfl, len);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
828
u16 max_vlans = adapter->vlan_v2_caps.filtering.max_filters;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
829
u16 current_vlans = iavf_get_num_vlans_added(adapter);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
832
adapter->current_op = VIRTCHNL_OP_ADD_VLAN_V2;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
836
count = max_vlans - iavf_get_num_vlans_added(adapter);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
84
struct iavf_adapter *adapter = hw->back;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
842
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
852
spin_unlock_bh(&adapter->mac_vlan_list_lock);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
856
vvfl_v2->vport_id = adapter->vsi_res->vsi_id;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
858
list_for_each_entry(f, &adapter->vlan_filter_list, list) {
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
861
&adapter->vlan_v2_caps.filtering.filtering_support;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
882
adapter->aq_required &= ~IAVF_FLAG_AQ_ADD_VLAN_FILTER;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
884
spin_unlock_bh(&adapter->mac_vlan_list_lock);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
886
iavf_send_pf_msg(adapter, VIRTCHNL_OP_ADD_VLAN_V2,
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
898
void iavf_del_vlans(struct iavf_adapter *adapter)
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
904
if (adapter->current_op != VIRTCHNL_OP_UNKNOWN) {
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
906
dev_err(&adapter->pdev->dev, "Cannot remove VLANs, command %d pending\n",
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
907
adapter->current_op);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
91
dev_info(&adapter->pdev->dev, "Reset indication received from the PF\n");
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
911
spin_lock_bh(&adapter->mac_vlan_list_lock);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
913
list_for_each_entry_safe(f, ftmp, &adapter->vlan_filter_list, list) {
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
92
if (!(adapter->flags & IAVF_FLAG_RESET_PENDING))
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
921
!VLAN_FILTERING_ALLOWED(adapter)) {
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
924
adapter->num_vlan_filters--;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
926
!VLAN_FILTERING_ALLOWED(adapter)) {
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
93
iavf_schedule_reset(adapter,
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
933
if (!count || !VLAN_FILTERING_ALLOWED(adapter)) {
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
934
adapter->aq_required &= ~IAVF_FLAG_AQ_DEL_VLAN_FILTER;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
935
spin_unlock_bh(&adapter->mac_vlan_list_lock);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
939
if (VLAN_ALLOWED(adapter)) {
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
942
adapter->current_op = VIRTCHNL_OP_DEL_VLAN;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
946
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
955
spin_unlock_bh(&adapter->mac_vlan_list_lock);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
959
vvfl->vsi_id = adapter->vsi_res->vsi_id;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
961
list_for_each_entry_safe(f, ftmp, &adapter->vlan_filter_list, list) {
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
972
adapter->num_vlan_filters--;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
980
adapter->aq_required &= ~IAVF_FLAG_AQ_DEL_VLAN_FILTER;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
982
spin_unlock_bh(&adapter->mac_vlan_list_lock);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
984
iavf_send_pf_msg(adapter, VIRTCHNL_OP_DEL_VLAN, (u8 *)vvfl, len);
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
989
adapter->current_op = VIRTCHNL_OP_DEL_VLAN_V2;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
993
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/intel/ice/ice.h
1153
if (!pf->adapter->ctrl_pf)
drivers/net/ethernet/intel/ice/ice.h
1156
return &pf->adapter->ctrl_pf->hw;
drivers/net/ethernet/intel/ice/ice.h
558
struct ice_adapter *adapter;
drivers/net/ethernet/intel/ice/ice_adapter.c
102
adapter = xa_load(&ice_adapters, index);
drivers/net/ethernet/intel/ice/ice_adapter.c
103
if (adapter) {
drivers/net/ethernet/intel/ice/ice_adapter.c
104
refcount_inc(&adapter->refcount);
drivers/net/ethernet/intel/ice/ice_adapter.c
105
WARN_ON_ONCE(adapter->index != ice_adapter_index(pdev));
drivers/net/ethernet/intel/ice/ice_adapter.c
106
return adapter;
drivers/net/ethernet/intel/ice/ice_adapter.c
112
adapter = ice_adapter_new(pdev);
drivers/net/ethernet/intel/ice/ice_adapter.c
113
if (!adapter) {
drivers/net/ethernet/intel/ice/ice_adapter.c
117
xa_store(&ice_adapters, index, adapter, GFP_KERNEL);
drivers/net/ethernet/intel/ice/ice_adapter.c
119
return adapter;
drivers/net/ethernet/intel/ice/ice_adapter.c
133
struct ice_adapter *adapter;
drivers/net/ethernet/intel/ice/ice_adapter.c
138
adapter = xa_load(&ice_adapters, index);
drivers/net/ethernet/intel/ice/ice_adapter.c
139
if (WARN_ON(!adapter))
drivers/net/ethernet/intel/ice/ice_adapter.c
141
if (!refcount_dec_and_test(&adapter->refcount))
drivers/net/ethernet/intel/ice/ice_adapter.c
144
WARN_ON(xa_erase(&ice_adapters, index) != adapter);
drivers/net/ethernet/intel/ice/ice_adapter.c
146
ice_adapter_free(adapter);
drivers/net/ethernet/intel/ice/ice_adapter.c
56
struct ice_adapter *adapter;
drivers/net/ethernet/intel/ice/ice_adapter.c
58
adapter = kzalloc_obj(*adapter);
drivers/net/ethernet/intel/ice/ice_adapter.c
59
if (!adapter)
drivers/net/ethernet/intel/ice/ice_adapter.c
62
adapter->index = ice_adapter_index(pdev);
drivers/net/ethernet/intel/ice/ice_adapter.c
63
spin_lock_init(&adapter->ptp_gltsyn_time_lock);
drivers/net/ethernet/intel/ice/ice_adapter.c
64
spin_lock_init(&adapter->txq_ctx_lock);
drivers/net/ethernet/intel/ice/ice_adapter.c
65
refcount_set(&adapter->refcount, 1);
drivers/net/ethernet/intel/ice/ice_adapter.c
67
mutex_init(&adapter->ports.lock);
drivers/net/ethernet/intel/ice/ice_adapter.c
68
INIT_LIST_HEAD(&adapter->ports.ports);
drivers/net/ethernet/intel/ice/ice_adapter.c
70
return adapter;
drivers/net/ethernet/intel/ice/ice_adapter.c
73
static void ice_adapter_free(struct ice_adapter *adapter)
drivers/net/ethernet/intel/ice/ice_adapter.c
75
WARN_ON(!list_empty(&adapter->ports.ports));
drivers/net/ethernet/intel/ice/ice_adapter.c
76
mutex_destroy(&adapter->ports.lock);
drivers/net/ethernet/intel/ice/ice_adapter.c
78
kfree(adapter);
drivers/net/ethernet/intel/ice/ice_adapter.c
96
struct ice_adapter *adapter;
drivers/net/ethernet/intel/ice/ice_common.c
1593
spin_lock(&pf->adapter->txq_ctx_lock);
drivers/net/ethernet/intel/ice/ice_common.c
1605
spin_unlock(&pf->adapter->txq_ctx_lock);
drivers/net/ethernet/intel/ice/ice_common.c
1634
spin_lock(&pf->adapter->txq_ctx_lock);
drivers/net/ethernet/intel/ice/ice_common.c
1648
spin_unlock(&pf->adapter->txq_ctx_lock);
drivers/net/ethernet/intel/ice/ice_main.c
5226
struct ice_adapter *adapter;
drivers/net/ethernet/intel/ice/ice_main.c
5315
adapter = ice_adapter_get(pdev);
drivers/net/ethernet/intel/ice/ice_main.c
5316
if (IS_ERR(adapter)) {
drivers/net/ethernet/intel/ice/ice_main.c
5317
err = PTR_ERR(adapter);
drivers/net/ethernet/intel/ice/ice_main.c
5320
pf->adapter = adapter;
drivers/net/ethernet/intel/ice/ice_ptp.c
1430
list_for_each(entry, &pf->adapter->ports.ports) {
drivers/net/ethernet/intel/ice/ice_ptp.c
214
guard(spinlock)(&pf->adapter->ptp_gltsyn_time_lock);
drivers/net/ethernet/intel/ice/ice_ptp.c
2697
scoped_guard(mutex, &pf->adapter->ports.lock) {
drivers/net/ethernet/intel/ice/ice_ptp.c
2698
list_for_each_entry(port, &pf->adapter->ports.ports,
drivers/net/ethernet/intel/ice/ice_ptp.c
2901
list_for_each(entry, &pf->adapter->ports.ports) {
drivers/net/ethernet/intel/ice/ice_ptp.c
3075
pf->adapter->ctrl_pf = pf;
drivers/net/ethernet/intel/ice/ice_ptp.c
3095
mutex_lock(&pf->adapter->ports.lock);
drivers/net/ethernet/intel/ice/ice_ptp.c
3098
&pf->adapter->ports.ports);
drivers/net/ethernet/intel/ice/ice_ptp.c
3099
mutex_unlock(&pf->adapter->ports.lock);
drivers/net/ethernet/intel/ice/ice_ptp.c
3109
mutex_lock(&pf->adapter->ports.lock);
drivers/net/ethernet/intel/ice/ice_ptp.c
3111
mutex_unlock(&pf->adapter->ports.lock);
drivers/net/ethernet/intel/ice/ice_ptp.c
59
return !pf->adapter ? NULL : pf->adapter->ctrl_pf;
drivers/net/ethernet/intel/ice/ice_ptp.c
684
mutex_lock(&pf->adapter->ports.lock);
drivers/net/ethernet/intel/ice/ice_ptp.c
685
list_for_each_entry(port, &pf->adapter->ports.ports, list_node) {
drivers/net/ethernet/intel/ice/ice_ptp.c
693
mutex_unlock(&pf->adapter->ports.lock);
drivers/net/ethernet/intel/ice/ice_ptp.c
815
list_for_each_entry(port, &pf->adapter->ports.ports, list_node)
drivers/net/ethernet/intel/ice/ice_ptp_hw.c
359
guard(spinlock)(&pf->adapter->ptp_gltsyn_time_lock);
drivers/net/ethernet/intel/idpf/idpf.h
1006
static inline u16 idpf_get_max_tx_hdr_size(struct idpf_adapter *adapter)
drivers/net/ethernet/intel/idpf/idpf.h
1008
return le16_to_cpu(adapter->caps.max_tx_hdr_size);
drivers/net/ethernet/intel/idpf/idpf.h
1022
mutex_lock(&np->adapter->vport_ctrl_lock);
drivers/net/ethernet/intel/idpf/idpf.h
1033
mutex_unlock(&np->adapter->vport_ctrl_lock);
drivers/net/ethernet/intel/idpf/idpf.h
1040
return mutex_is_locked(&np->adapter->vport_ctrl_lock);
drivers/net/ethernet/intel/idpf/idpf.h
1048
void idpf_dev_ops_init(struct idpf_adapter *adapter);
drivers/net/ethernet/intel/idpf/idpf.h
1049
void idpf_vf_dev_ops_init(struct idpf_adapter *adapter);
drivers/net/ethernet/intel/idpf/idpf.h
1050
int idpf_intr_req(struct idpf_adapter *adapter);
drivers/net/ethernet/intel/idpf/idpf.h
1051
void idpf_intr_rel(struct idpf_adapter *adapter);
drivers/net/ethernet/intel/idpf/idpf.h
1052
u16 idpf_get_max_tx_hdr_size(struct idpf_adapter *adapter);
drivers/net/ethernet/intel/idpf/idpf.h
1055
void idpf_deinit_task(struct idpf_adapter *adapter);
drivers/net/ethernet/intel/idpf/idpf.h
1056
int idpf_req_rel_vector_indexes(struct idpf_adapter *adapter,
drivers/net/ethernet/intel/idpf/idpf.h
1066
int idpf_idc_init(struct idpf_adapter *adapter);
drivers/net/ethernet/intel/idpf/idpf.h
1067
int idpf_idc_init_aux_core_dev(struct idpf_adapter *adapter,
drivers/net/ethernet/intel/idpf/idpf.h
1069
void idpf_idc_deinit_core_aux_device(struct idpf_adapter *adapter);
drivers/net/ethernet/intel/idpf/idpf.h
1075
int idpf_add_del_fsteer_filters(struct idpf_adapter *adapter,
drivers/net/ethernet/intel/idpf/idpf.h
158
struct idpf_adapter *adapter;
drivers/net/ethernet/intel/idpf/idpf.h
204
void (*ctlq_reg_init)(struct idpf_adapter *adapter,
drivers/net/ethernet/intel/idpf/idpf.h
208
void (*mb_intr_reg_init)(struct idpf_adapter *adapter);
drivers/net/ethernet/intel/idpf/idpf.h
209
void (*reset_reg_init)(struct idpf_adapter *adapter);
drivers/net/ethernet/intel/idpf/idpf.h
210
void (*trigger_reset)(struct idpf_adapter *adapter,
drivers/net/ethernet/intel/idpf/idpf.h
212
void (*ptp_reg_init)(const struct idpf_adapter *adapter);
drivers/net/ethernet/intel/idpf/idpf.h
230
int (*idc_init)(struct idpf_adapter *adapter);
drivers/net/ethernet/intel/idpf/idpf.h
392
struct idpf_adapter *adapter;
drivers/net/ethernet/intel/idpf/idpf.h
610
#define idpf_for_each_vport(adapter, iter) \
drivers/net/ethernet/intel/idpf/idpf.h
611
for (struct idpf_vport **__##iter = &(adapter)->vports[0], \
drivers/net/ethernet/intel/idpf/idpf.h
612
*iter = (adapter)->max_vports ? *__##iter : NULL; \
drivers/net/ethernet/intel/idpf/idpf.h
614
iter = (++__##iter) < &(adapter)->vports[(adapter)->max_vports] ? \
drivers/net/ethernet/intel/idpf/idpf.h
754
return vport->adapter && vport->xdp_prog;
drivers/net/ethernet/intel/idpf/idpf.h
757
#define idpf_is_cap_ena(adapter, field, flag) \
drivers/net/ethernet/intel/idpf/idpf.h
758
idpf_is_capability_ena(adapter, false, field, flag)
drivers/net/ethernet/intel/idpf/idpf.h
759
#define idpf_is_cap_ena_all(adapter, field, flag) \
drivers/net/ethernet/intel/idpf/idpf.h
760
idpf_is_capability_ena(adapter, true, field, flag)
drivers/net/ethernet/intel/idpf/idpf.h
762
bool idpf_is_capability_ena(struct idpf_adapter *adapter, bool all,
drivers/net/ethernet/intel/idpf/idpf.h
771
static inline bool idpf_is_rdma_cap_ena(struct idpf_adapter *adapter)
drivers/net/ethernet/intel/idpf/idpf.h
773
return idpf_is_cap_ena(adapter, IDPF_OTHER_CAPS, VIRTCHNL2_CAP_RDMA);
drivers/net/ethernet/intel/idpf/idpf.h
821
static inline u16 idpf_get_reserved_vecs(struct idpf_adapter *adapter)
drivers/net/ethernet/intel/idpf/idpf.h
823
return le16_to_cpu(adapter->caps.num_allocated_vectors);
drivers/net/ethernet/intel/idpf/idpf.h
832
static inline u16 idpf_get_reserved_rdma_vecs(struct idpf_adapter *adapter)
drivers/net/ethernet/intel/idpf/idpf.h
834
return le16_to_cpu(adapter->caps.num_rdma_allocated_vectors);
drivers/net/ethernet/intel/idpf/idpf.h
841
static inline u16 idpf_get_default_vports(struct idpf_adapter *adapter)
drivers/net/ethernet/intel/idpf/idpf.h
843
return le16_to_cpu(adapter->caps.default_num_vports);
drivers/net/ethernet/intel/idpf/idpf.h
850
static inline u16 idpf_get_max_vports(struct idpf_adapter *adapter)
drivers/net/ethernet/intel/idpf/idpf.h
852
return le16_to_cpu(adapter->caps.max_vports);
drivers/net/ethernet/intel/idpf/idpf.h
859
static inline unsigned int idpf_get_max_tx_bufs(struct idpf_adapter *adapter)
drivers/net/ethernet/intel/idpf/idpf.h
861
return adapter->caps.max_sg_bufs_per_tx_pkt;
drivers/net/ethernet/intel/idpf/idpf.h
868
static inline u8 idpf_get_min_tx_pkt_len(struct idpf_adapter *adapter)
drivers/net/ethernet/intel/idpf/idpf.h
870
u8 pkt_len = adapter->caps.min_sso_packet_len;
drivers/net/ethernet/intel/idpf/idpf.h
882
static inline void __iomem *idpf_get_mbx_reg_addr(struct idpf_adapter *adapter,
drivers/net/ethernet/intel/idpf/idpf.h
885
return adapter->hw.mbx.vaddr + reg_offset;
drivers/net/ethernet/intel/idpf/idpf.h
895
static inline void __iomem *idpf_get_rstat_reg_addr(struct idpf_adapter *adapter,
drivers/net/ethernet/intel/idpf/idpf.h
898
reg_offset -= adapter->dev_ops.static_reg_info[1].start;
drivers/net/ethernet/intel/idpf/idpf.h
900
return adapter->hw.rstat.vaddr + reg_offset;
drivers/net/ethernet/intel/idpf/idpf.h
910
static inline void __iomem *idpf_get_reg_addr(struct idpf_adapter *adapter,
drivers/net/ethernet/intel/idpf/idpf.h
913
struct idpf_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/idpf/idpf.h
945
static inline bool idpf_is_reset_detected(struct idpf_adapter *adapter)
drivers/net/ethernet/intel/idpf/idpf.h
947
if (!adapter->hw.arq)
drivers/net/ethernet/intel/idpf/idpf.h
950
return !(readl(idpf_get_mbx_reg_addr(adapter, adapter->hw.arq->reg.len)) &
drivers/net/ethernet/intel/idpf/idpf.h
951
adapter->hw.arq->reg.len_mask);
drivers/net/ethernet/intel/idpf/idpf.h
960
static inline bool idpf_is_reset_in_prog(struct idpf_adapter *adapter)
drivers/net/ethernet/intel/idpf/idpf.h
962
return (test_bit(IDPF_HR_RESET_IN_PROG, adapter->flags) ||
drivers/net/ethernet/intel/idpf/idpf.h
963
test_bit(IDPF_HR_FUNC_RESET, adapter->flags) ||
drivers/net/ethernet/intel/idpf/idpf.h
964
test_bit(IDPF_HR_DRV_LOAD, adapter->flags));
drivers/net/ethernet/intel/idpf/idpf.h
986
return np->adapter;
drivers/net/ethernet/intel/idpf/idpf_dev.c
102
intr->dyn_ctl = idpf_get_reg_addr(adapter,
drivers/net/ethernet/intel/idpf/idpf_dev.c
121
intr->rx_itr = idpf_get_reg_addr(adapter, rx_itr);
drivers/net/ethernet/intel/idpf/idpf_dev.c
122
intr->tx_itr = idpf_get_reg_addr(adapter, tx_itr);
drivers/net/ethernet/intel/idpf/idpf_dev.c
128
rsrc->noirq_dyn_ctl = idpf_get_reg_addr(adapter, val);
drivers/net/ethernet/intel/idpf/idpf_dev.c
144
static void idpf_reset_reg_init(struct idpf_adapter *adapter)
drivers/net/ethernet/intel/idpf/idpf_dev.c
146
adapter->reset_reg.rstat = idpf_get_rstat_reg_addr(adapter, PFGEN_RSTAT);
drivers/net/ethernet/intel/idpf/idpf_dev.c
147
adapter->reset_reg.rstat_m = PFGEN_RSTAT_PFR_STATE_M;
drivers/net/ethernet/intel/idpf/idpf_dev.c
155
static void idpf_trigger_reset(struct idpf_adapter *adapter,
drivers/net/ethernet/intel/idpf/idpf_dev.c
16
static void idpf_ctlq_reg_init(struct idpf_adapter *adapter,
drivers/net/ethernet/intel/idpf/idpf_dev.c
160
reset_reg = readl(idpf_get_rstat_reg_addr(adapter, PFGEN_CTRL));
drivers/net/ethernet/intel/idpf/idpf_dev.c
162
idpf_get_rstat_reg_addr(adapter, PFGEN_CTRL));
drivers/net/ethernet/intel/idpf/idpf_dev.c
171
static void idpf_ptp_reg_init(const struct idpf_adapter *adapter)
drivers/net/ethernet/intel/idpf/idpf_dev.c
173
adapter->ptp->cmd.shtime_enable_mask = PF_GLTSYN_CMD_SYNC_SHTIME_EN_M;
drivers/net/ethernet/intel/idpf/idpf_dev.c
174
adapter->ptp->cmd.exec_cmd_mask = PF_GLTSYN_CMD_SYNC_EXEC_CMD_M;
drivers/net/ethernet/intel/idpf/idpf_dev.c
183
static int idpf_idc_register(struct idpf_adapter *adapter)
drivers/net/ethernet/intel/idpf/idpf_dev.c
185
return idpf_idc_init_aux_core_dev(adapter, IIDC_FUNCTION_TYPE_PF);
drivers/net/ethernet/intel/idpf/idpf_dev.c
19
resource_size_t mbx_start = adapter->dev_ops.static_reg_info[0].start;
drivers/net/ethernet/intel/idpf/idpf_dev.c
192
static void idpf_reg_ops_init(struct idpf_adapter *adapter)
drivers/net/ethernet/intel/idpf/idpf_dev.c
194
adapter->dev_ops.reg_ops.ctlq_reg_init = idpf_ctlq_reg_init;
drivers/net/ethernet/intel/idpf/idpf_dev.c
195
adapter->dev_ops.reg_ops.intr_reg_init = idpf_intr_reg_init;
drivers/net/ethernet/intel/idpf/idpf_dev.c
196
adapter->dev_ops.reg_ops.mb_intr_reg_init = idpf_mb_intr_reg_init;
drivers/net/ethernet/intel/idpf/idpf_dev.c
197
adapter->dev_ops.reg_ops.reset_reg_init = idpf_reset_reg_init;
drivers/net/ethernet/intel/idpf/idpf_dev.c
198
adapter->dev_ops.reg_ops.trigger_reset = idpf_trigger_reset;
drivers/net/ethernet/intel/idpf/idpf_dev.c
199
adapter->dev_ops.reg_ops.ptp_reg_init = idpf_ptp_reg_init;
drivers/net/ethernet/intel/idpf/idpf_dev.c
206
void idpf_dev_ops_init(struct idpf_adapter *adapter)
drivers/net/ethernet/intel/idpf/idpf_dev.c
208
idpf_reg_ops_init(adapter);
drivers/net/ethernet/intel/idpf/idpf_dev.c
210
adapter->dev_ops.idc_init = idpf_idc_register;
drivers/net/ethernet/intel/idpf/idpf_dev.c
212
resource_set_range(&adapter->dev_ops.static_reg_info[0],
drivers/net/ethernet/intel/idpf/idpf_dev.c
214
resource_set_range(&adapter->dev_ops.static_reg_info[1],
drivers/net/ethernet/intel/idpf/idpf_dev.c
58
static void idpf_mb_intr_reg_init(struct idpf_adapter *adapter)
drivers/net/ethernet/intel/idpf/idpf_dev.c
60
struct idpf_intr_reg *intr = &adapter->mb_vector.intr_reg;
drivers/net/ethernet/intel/idpf/idpf_dev.c
61
u32 dyn_ctl = le32_to_cpu(adapter->caps.mailbox_dyn_ctl);
drivers/net/ethernet/intel/idpf/idpf_dev.c
63
intr->dyn_ctl = idpf_get_reg_addr(adapter, dyn_ctl);
drivers/net/ethernet/intel/idpf/idpf_dev.c
66
intr->icr_ena = idpf_get_reg_addr(adapter, PF_INT_DIR_OICR_ENA);
drivers/net/ethernet/intel/idpf/idpf_dev.c
78
struct idpf_adapter *adapter = vport->adapter;
drivers/net/ethernet/intel/idpf/idpf_dev.c
85
total_vecs = idpf_get_reserved_vecs(vport->adapter);
drivers/net/ethernet/intel/idpf/idpf_dev.c
90
num_regs = idpf_get_reg_intr_vecs(adapter, reg_vals);
drivers/net/ethernet/intel/idpf/idpf_ethtool.c
1246
vport_config = vport->adapter->vport_config[vport->idx];
drivers/net/ethernet/intel/idpf/idpf_ethtool.c
1560
user_config = &np->adapter->vport_config[np->vport_idx]->user_config;
drivers/net/ethernet/intel/idpf/idpf_ethtool.c
1608
user_config = &np->adapter->vport_config[np->vport_idx]->user_config;
drivers/net/ethernet/intel/idpf/idpf_ethtool.c
1633
struct idpf_adapter *adapter = idpf_netdev_to_adapter(netdev);
drivers/net/ethernet/intel/idpf/idpf_ethtool.c
1635
return adapter->msg_enable;
drivers/net/ethernet/intel/idpf/idpf_ethtool.c
1648
struct idpf_adapter *adapter = idpf_netdev_to_adapter(netdev);
drivers/net/ethernet/intel/idpf/idpf_ethtool.c
1650
adapter->msg_enable = data;
drivers/net/ethernet/intel/idpf/idpf_ethtool.c
1696
vport->adapter->ptp->tx_tstamp_access == IDPF_PTP_NONE)
drivers/net/ethernet/intel/idpf/idpf_ethtool.c
1719
if (!mutex_trylock(&np->adapter->vport_ctrl_lock))
drivers/net/ethernet/intel/idpf/idpf_ethtool.c
1724
if (!vport->adapter->ptp) {
drivers/net/ethernet/intel/idpf/idpf_ethtool.c
1729
if (idpf_is_cap_ena(vport->adapter, IDPF_OTHER_CAPS, VIRTCHNL2_CAP_PTP) &&
drivers/net/ethernet/intel/idpf/idpf_ethtool.c
1730
vport->adapter->ptp->clock) {
drivers/net/ethernet/intel/idpf/idpf_ethtool.c
1731
info->phc_index = ptp_clock_index(vport->adapter->ptp->clock);
drivers/net/ethernet/intel/idpf/idpf_ethtool.c
1734
pci_dbg(vport->adapter->pdev, "PTP clock not detected\n");
drivers/net/ethernet/intel/idpf/idpf_ethtool.c
1739
mutex_unlock(&np->adapter->vport_ctrl_lock);
drivers/net/ethernet/intel/idpf/idpf_ethtool.c
184
vport_config = vport->adapter->vport_config[np->vport_idx];
drivers/net/ethernet/intel/idpf/idpf_ethtool.c
258
err = idpf_add_del_fsteer_filters(vport->adapter, rule,
drivers/net/ethernet/intel/idpf/idpf_ethtool.c
307
vport_config = vport->adapter->vport_config[np->vport_idx];
drivers/net/ethernet/intel/idpf/idpf_ethtool.c
319
err = idpf_add_del_fsteer_filters(vport->adapter, rule,
drivers/net/ethernet/intel/idpf/idpf_ethtool.c
379
if (!idpf_is_cap_ena_all(np->adapter, IDPF_RSS_CAPS, IDPF_CAP_RSS))
drivers/net/ethernet/intel/idpf/idpf_ethtool.c
382
user_config = &np->adapter->vport_config[np->vport_idx]->user_config;
drivers/net/ethernet/intel/idpf/idpf_ethtool.c
398
if (!idpf_is_cap_ena_all(np->adapter, IDPF_RSS_CAPS, IDPF_CAP_RSS))
drivers/net/ethernet/intel/idpf/idpf_ethtool.c
401
user_config = &np->adapter->vport_config[np->vport_idx]->user_config;
drivers/net/ethernet/intel/idpf/idpf_ethtool.c
421
struct idpf_adapter *adapter;
drivers/net/ethernet/intel/idpf/idpf_ethtool.c
430
adapter = np->adapter;
drivers/net/ethernet/intel/idpf/idpf_ethtool.c
432
if (!idpf_is_cap_ena_all(adapter, IDPF_RSS_CAPS, IDPF_CAP_RSS)) {
drivers/net/ethernet/intel/idpf/idpf_ethtool.c
437
rss_data = &adapter->vport_config[np->vport_idx]->user_config.rss_data;
drivers/net/ethernet/intel/idpf/idpf_ethtool.c
471
struct idpf_adapter *adapter;
drivers/net/ethernet/intel/idpf/idpf_ethtool.c
479
adapter = vport->adapter;
drivers/net/ethernet/intel/idpf/idpf_ethtool.c
48
vport_config = np->adapter->vport_config[np->vport_idx];
drivers/net/ethernet/intel/idpf/idpf_ethtool.c
481
if (!idpf_is_cap_ena_all(adapter, IDPF_RSS_CAPS, IDPF_CAP_RSS)) {
drivers/net/ethernet/intel/idpf/idpf_ethtool.c
486
rss_data = &adapter->vport_config[vport->idx]->user_config.rss_data;
drivers/net/ethernet/intel/idpf/idpf_ethtool.c
527
vport_config = np->adapter->vport_config[np->vport_idx];
drivers/net/ethernet/intel/idpf/idpf_ethtool.c
577
vport_config = vport->adapter->vport_config[idx];
drivers/net/ethernet/intel/idpf/idpf_ethtool.c
585
dev = &vport->adapter->pdev->dev;
drivers/net/ethernet/intel/idpf/idpf_ethtool.c
719
config_data = &vport->adapter->vport_config[idx]->user_config;
drivers/net/ethernet/intel/idpf/idpf_ethtool.c
893
vport_config = np->adapter->vport_config[np->vport_idx];
drivers/net/ethernet/intel/idpf/idpf_ethtool.c
942
vport_config = np->adapter->vport_config[np->vport_idx];
drivers/net/ethernet/intel/idpf/idpf_idc.c
111
struct idpf_adapter *adapter = vport->adapter;
drivers/net/ethernet/intel/idpf/idpf_idc.c
118
adapter->vport_params_recvd[vport->idx];
drivers/net/ethernet/intel/idpf/idpf_idc.c
127
cdev_info = vport->adapter->cdev_info;
drivers/net/ethernet/intel/idpf/idpf_idc.c
19
int idpf_idc_init(struct idpf_adapter *adapter)
drivers/net/ethernet/intel/idpf/idpf_idc.c
23
if (!idpf_is_rdma_cap_ena(adapter) ||
drivers/net/ethernet/intel/idpf/idpf_idc.c
24
!adapter->dev_ops.idc_init)
drivers/net/ethernet/intel/idpf/idpf_idc.c
27
err = adapter->dev_ops.idc_init(adapter);
drivers/net/ethernet/intel/idpf/idpf_idc.c
29
dev_err(&adapter->pdev->dev, "failed to initialize idc: %d\n",
drivers/net/ethernet/intel/idpf/idpf_idc.c
294
static int idpf_idc_vport_dev_up(struct idpf_adapter *adapter)
drivers/net/ethernet/intel/idpf/idpf_idc.c
298
for (i = 0; i < adapter->num_alloc_vports; i++) {
drivers/net/ethernet/intel/idpf/idpf_idc.c
299
struct idpf_vport *vport = adapter->vports[i];
drivers/net/ethernet/intel/idpf/idpf_idc.c
307
err = idpf_plug_vport_aux_dev(vport->adapter->cdev_info,
drivers/net/ethernet/intel/idpf/idpf_idc.c
318
static void idpf_idc_vport_dev_down(struct idpf_adapter *adapter)
drivers/net/ethernet/intel/idpf/idpf_idc.c
322
for (i = 0; i < adapter->num_alloc_vports; i++) {
drivers/net/ethernet/intel/idpf/idpf_idc.c
323
struct idpf_vport *vport = adapter->vports[i];
drivers/net/ethernet/intel/idpf/idpf_idc.c
346
struct idpf_adapter *adapter = pci_get_drvdata(cdev_info->pdev);
drivers/net/ethernet/intel/idpf/idpf_idc.c
349
return idpf_idc_vport_dev_up(adapter);
drivers/net/ethernet/intel/idpf/idpf_idc.c
351
idpf_idc_vport_dev_down(adapter);
drivers/net/ethernet/intel/idpf/idpf_idc.c
370
struct idpf_adapter *adapter = pci_get_drvdata(cdev_info->pdev);
drivers/net/ethernet/intel/idpf/idpf_idc.c
372
if (!idpf_is_reset_in_prog(adapter)) {
drivers/net/ethernet/intel/idpf/idpf_idc.c
373
set_bit(IDPF_HR_FUNC_RESET, adapter->flags);
drivers/net/ethernet/intel/idpf/idpf_idc.c
374
queue_delayed_work(adapter->vc_event_wq,
drivers/net/ethernet/intel/idpf/idpf_idc.c
375
&adapter->vc_event_task,
drivers/net/ethernet/intel/idpf/idpf_idc.c
388
idpf_idc_init_msix_data(struct idpf_adapter *adapter)
drivers/net/ethernet/intel/idpf/idpf_idc.c
393
if (!adapter->rdma_msix_entries)
drivers/net/ethernet/intel/idpf/idpf_idc.c
396
cdev_info = adapter->cdev_info;
drivers/net/ethernet/intel/idpf/idpf_idc.c
399
privd->msix_entries = adapter->rdma_msix_entries;
drivers/net/ethernet/intel/idpf/idpf_idc.c
400
privd->msix_count = adapter->num_rdma_msix_entries;
drivers/net/ethernet/intel/idpf/idpf_idc.c
410
int idpf_idc_init_aux_core_dev(struct idpf_adapter *adapter,
drivers/net/ethernet/intel/idpf/idpf_idc.c
417
adapter->cdev_info = kzalloc_obj(*cdev_info);
drivers/net/ethernet/intel/idpf/idpf_idc.c
418
if (!adapter->cdev_info)
drivers/net/ethernet/intel/idpf/idpf_idc.c
420
cdev_info = adapter->cdev_info;
drivers/net/ethernet/intel/idpf/idpf_idc.c
429
cdev_info->pdev = adapter->pdev;
drivers/net/ethernet/intel/idpf/idpf_idc.c
435
adapter->hw.num_lan_regs);
drivers/net/ethernet/intel/idpf/idpf_idc.c
441
privd->num_memory_regions = cpu_to_le16(adapter->hw.num_lan_regs);
drivers/net/ethernet/intel/idpf/idpf_idc.c
442
for (i = 0; i < adapter->hw.num_lan_regs; i++) {
drivers/net/ethernet/intel/idpf/idpf_idc.c
444
adapter->hw.lan_regs[i].vaddr;
drivers/net/ethernet/intel/idpf/idpf_idc.c
446
cpu_to_le64(adapter->hw.lan_regs[i].addr_len);
drivers/net/ethernet/intel/idpf/idpf_idc.c
448
cpu_to_le64(adapter->hw.lan_regs[i].addr_start);
drivers/net/ethernet/intel/idpf/idpf_idc.c
451
idpf_idc_init_msix_data(adapter);
drivers/net/ethernet/intel/idpf/idpf_idc.c
466
adapter->cdev_info = NULL;
drivers/net/ethernet/intel/idpf/idpf_idc.c
475
void idpf_idc_deinit_core_aux_device(struct idpf_adapter *adapter)
drivers/net/ethernet/intel/idpf/idpf_idc.c
477
struct iidc_rdma_core_dev_info *cdev_info = adapter->cdev_info;
drivers/net/ethernet/intel/idpf/idpf_idc.c
489
adapter->cdev_info = NULL;
drivers/net/ethernet/intel/idpf/idpf_lib.c
1000
idpf_send_map_unmap_queue_vector_msg(adapter, rsrc, vport_id, false);
drivers/net/ethernet/intel/idpf/idpf_lib.c
1007
idpf_send_delete_queues_msg(adapter, chunks, vport_id);
drivers/net/ethernet/intel/idpf/idpf_lib.c
1037
if (test_bit(IDPF_REMOVE_IN_PROG, np->adapter->flags))
drivers/net/ethernet/intel/idpf/idpf_lib.c
104
struct idpf_adapter *adapter = (struct idpf_adapter *)data;
drivers/net/ethernet/intel/idpf/idpf_lib.c
1056
struct idpf_adapter *adapter = vport->adapter;
drivers/net/ethernet/intel/idpf/idpf_lib.c
106
queue_delayed_work(adapter->mbx_wq, &adapter->mbx_task, 0);
drivers/net/ethernet/intel/idpf/idpf_lib.c
1060
adapter->vport_config[idx]->flags)) {
drivers/net/ethernet/intel/idpf/idpf_lib.c
1066
adapter->netdevs[idx] = NULL;
drivers/net/ethernet/intel/idpf/idpf_lib.c
1076
struct idpf_adapter *adapter = vport->adapter;
drivers/net/ethernet/intel/idpf/idpf_lib.c
1083
vport_config = adapter->vport_config[vport->idx];
drivers/net/ethernet/intel/idpf/idpf_lib.c
1089
idpf_send_destroy_vport_msg(adapter, vport->vport_id);
drivers/net/ethernet/intel/idpf/idpf_lib.c
1096
idpf_vport_dealloc_max_qs(adapter, &max_q);
drivers/net/ethernet/intel/idpf/idpf_lib.c
1103
idpf_req_rel_vector_indexes(adapter, rsrc->q_vector_idxs, &vec_info);
drivers/net/ethernet/intel/idpf/idpf_lib.c
1110
kfree(adapter->vport_params_recvd[idx]);
drivers/net/ethernet/intel/idpf/idpf_lib.c
1111
adapter->vport_params_recvd[idx] = NULL;
drivers/net/ethernet/intel/idpf/idpf_lib.c
1112
kfree(adapter->vport_params_reqd[idx]);
drivers/net/ethernet/intel/idpf/idpf_lib.c
1113
adapter->vport_params_reqd[idx] = NULL;
drivers/net/ethernet/intel/idpf/idpf_lib.c
1116
adapter->num_alloc_vports--;
drivers/net/ethernet/intel/idpf/idpf_lib.c
1127
struct idpf_adapter *adapter = vport->adapter;
drivers/net/ethernet/intel/idpf/idpf_lib.c
1134
if (!test_bit(IDPF_HR_RESET_IN_PROG, adapter->flags)) {
drivers/net/ethernet/intel/idpf/idpf_lib.c
1138
if (test_bit(IDPF_REMOVE_IN_PROG, adapter->flags)) {
drivers/net/ethernet/intel/idpf/idpf_lib.c
1143
if (adapter->netdevs[i]) {
drivers/net/ethernet/intel/idpf/idpf_lib.c
1144
struct idpf_netdev_priv *np = netdev_priv(adapter->netdevs[i]);
drivers/net/ethernet/intel/idpf/idpf_lib.c
115
static void idpf_mb_irq_enable(struct idpf_adapter *adapter)
drivers/net/ethernet/intel/idpf/idpf_lib.c
1151
adapter->vports[i] = NULL;
drivers/net/ethernet/intel/idpf/idpf_lib.c
1152
adapter->next_vport = idpf_get_free_slot(adapter);
drivers/net/ethernet/intel/idpf/idpf_lib.c
1164
idpf_is_cap_ena_all(vport->adapter, IDPF_HSPLIT_CAPS,
drivers/net/ethernet/intel/idpf/idpf_lib.c
117
struct idpf_intr_reg *intr = &adapter->mb_vector.intr_reg;
drivers/net/ethernet/intel/idpf/idpf_lib.c
1183
config = &vport->adapter->vport_config[vport->idx]->user_config;
drivers/net/ethernet/intel/idpf/idpf_lib.c
1204
config = &vport->adapter->vport_config[vport->idx]->user_config;
drivers/net/ethernet/intel/idpf/idpf_lib.c
1227
static struct idpf_vport *idpf_vport_alloc(struct idpf_adapter *adapter,
drivers/net/ethernet/intel/idpf/idpf_lib.c
1231
u16 idx = adapter->next_vport;
drivers/net/ethernet/intel/idpf/idpf_lib.c
1245
if (!adapter->vport_config[idx]) {
drivers/net/ethernet/intel/idpf/idpf_lib.c
1271
adapter->vport_config[idx] = vport_config;
drivers/net/ethernet/intel/idpf/idpf_lib.c
1275
vport->adapter = adapter;
drivers/net/ethernet/intel/idpf/idpf_lib.c
1277
vport->default_vport = adapter->num_alloc_vports <
drivers/net/ethernet/intel/idpf/idpf_lib.c
1278
idpf_get_default_vports(adapter);
drivers/net/ethernet/intel/idpf/idpf_lib.c
1281
rsrc->dev = &adapter->pdev->dev;
drivers/net/ethernet/intel/idpf/idpf_lib.c
129
static int idpf_mb_intr_req_irq(struct idpf_adapter *adapter)
drivers/net/ethernet/intel/idpf/idpf_lib.c
1296
rss_data = &adapter->vport_config[idx]->user_config.rss_data;
drivers/net/ethernet/intel/idpf/idpf_lib.c
1310
adapter->vports[idx] = vport;
drivers/net/ethernet/intel/idpf/idpf_lib.c
1311
adapter->vport_ids[idx] = idpf_get_vport_id(vport);
drivers/net/ethernet/intel/idpf/idpf_lib.c
1313
adapter->num_alloc_vports++;
drivers/net/ethernet/intel/idpf/idpf_lib.c
1315
adapter->next_vport = idpf_get_free_slot(adapter);
drivers/net/ethernet/intel/idpf/idpf_lib.c
1323
idpf_vport_deinit_queue_reg_chunks(adapter->vport_config[idx]);
drivers/net/ethernet/intel/idpf/idpf_lib.c
134
irq_num = adapter->msix_entries[mb_vidx].vector;
drivers/net/ethernet/intel/idpf/idpf_lib.c
1353
struct idpf_adapter *adapter;
drivers/net/ethernet/intel/idpf/idpf_lib.c
1356
adapter = container_of(work, struct idpf_adapter, stats_task.work);
drivers/net/ethernet/intel/idpf/idpf_lib.c
1358
for (i = 0; i < adapter->max_vports; i++) {
drivers/net/ethernet/intel/idpf/idpf_lib.c
1359
struct idpf_vport *vport = adapter->vports[i];
drivers/net/ethernet/intel/idpf/idpf_lib.c
136
dev_driver_string(&adapter->pdev->dev),
drivers/net/ethernet/intel/idpf/idpf_lib.c
1361
if (vport && !test_bit(IDPF_HR_RESET_IN_PROG, adapter->flags))
drivers/net/ethernet/intel/idpf/idpf_lib.c
1366
queue_delayed_work(adapter->stats_wq, &adapter->stats_task,
drivers/net/ethernet/intel/idpf/idpf_lib.c
1376
struct idpf_adapter *adapter;
drivers/net/ethernet/intel/idpf/idpf_lib.c
1378
adapter = container_of(work, struct idpf_adapter, mbx_task.work);
drivers/net/ethernet/intel/idpf/idpf_lib.c
138
err = request_irq(irq_num, adapter->irq_mb_handler, 0, name, adapter);
drivers/net/ethernet/intel/idpf/idpf_lib.c
1380
if (test_bit(IDPF_MB_INTR_MODE, adapter->flags))
drivers/net/ethernet/intel/idpf/idpf_lib.c
1381
idpf_mb_irq_enable(adapter);
drivers/net/ethernet/intel/idpf/idpf_lib.c
1383
queue_delayed_work(adapter->mbx_wq, &adapter->mbx_task,
drivers/net/ethernet/intel/idpf/idpf_lib.c
1386
idpf_recv_mb_msg(adapter, adapter->hw.arq);
drivers/net/ethernet/intel/idpf/idpf_lib.c
1396
struct idpf_adapter *adapter;
drivers/net/ethernet/intel/idpf/idpf_lib.c
1398
adapter = container_of(work, struct idpf_adapter, serv_task.work);
drivers/net/ethernet/intel/idpf/idpf_lib.c
140
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/intel/idpf/idpf_lib.c
1400
if (idpf_is_reset_detected(adapter) &&
drivers/net/ethernet/intel/idpf/idpf_lib.c
1401
!idpf_is_reset_in_prog(adapter) &&
drivers/net/ethernet/intel/idpf/idpf_lib.c
1402
!test_bit(IDPF_REMOVE_IN_PROG, adapter->flags)) {
drivers/net/ethernet/intel/idpf/idpf_lib.c
1403
dev_info(&adapter->pdev->dev, "HW reset detected\n");
drivers/net/ethernet/intel/idpf/idpf_lib.c
1404
set_bit(IDPF_HR_FUNC_RESET, adapter->flags);
drivers/net/ethernet/intel/idpf/idpf_lib.c
1405
queue_delayed_work(adapter->vc_event_wq,
drivers/net/ethernet/intel/idpf/idpf_lib.c
1406
&adapter->vc_event_task,
drivers/net/ethernet/intel/idpf/idpf_lib.c
1410
queue_delayed_work(adapter->serv_wq, &adapter->serv_task,
drivers/net/ethernet/intel/idpf/idpf_lib.c
1420
struct idpf_adapter *adapter = vport->adapter;
drivers/net/ethernet/intel/idpf/idpf_lib.c
1422
if (idpf_is_cap_ena(adapter, IDPF_OTHER_CAPS, VIRTCHNL2_CAP_MACFILTER))
drivers/net/ethernet/intel/idpf/idpf_lib.c
146
set_bit(IDPF_MB_INTR_MODE, adapter->flags);
drivers/net/ethernet/intel/idpf/idpf_lib.c
1496
struct idpf_adapter *adapter = vport->adapter;
drivers/net/ethernet/intel/idpf/idpf_lib.c
1514
dev_err(&adapter->pdev->dev, "Failed to allocate interrupts for vport %u: %d\n",
drivers/net/ethernet/intel/idpf/idpf_lib.c
1523
vport_config = adapter->vport_config[vport->idx];
drivers/net/ethernet/intel/idpf/idpf_lib.c
1528
dev_err(&adapter->pdev->dev, "Failed to initialize queue ids for vport %u: %d\n",
drivers/net/ethernet/intel/idpf/idpf_lib.c
1535
dev_err(&adapter->pdev->dev, "Failed to initialize interrupts for vport %u: %d\n",
drivers/net/ethernet/intel/idpf/idpf_lib.c
1542
dev_err(&adapter->pdev->dev, "Failed to initialize queue registers for vport %u: %d\n",
drivers/net/ethernet/intel/idpf/idpf_lib.c
1549
dev_err(&adapter->pdev->dev, "Failed to initialize RX buffers for vport %u: %d\n",
drivers/net/ethernet/intel/idpf/idpf_lib.c
155
static int idpf_mb_intr_init(struct idpf_adapter *adapter)
drivers/net/ethernet/intel/idpf/idpf_lib.c
1566
err = idpf_send_config_queues_msg(adapter, rsrc, vport_id);
drivers/net/ethernet/intel/idpf/idpf_lib.c
1568
dev_err(&adapter->pdev->dev, "Failed to configure queues for vport %u, %d\n",
drivers/net/ethernet/intel/idpf/idpf_lib.c
157
adapter->dev_ops.reg_ops.mb_intr_reg_init(adapter);
drivers/net/ethernet/intel/idpf/idpf_lib.c
1573
err = idpf_send_map_unmap_queue_vector_msg(adapter, rsrc, vport_id,
drivers/net/ethernet/intel/idpf/idpf_lib.c
1576
dev_err(&adapter->pdev->dev, "Failed to map queue vectors for vport %u: %d\n",
drivers/net/ethernet/intel/idpf/idpf_lib.c
158
adapter->irq_mb_handler = idpf_mb_intr_clean;
drivers/net/ethernet/intel/idpf/idpf_lib.c
1583
dev_err(&adapter->pdev->dev, "Failed to enable queues for vport %u: %d\n",
drivers/net/ethernet/intel/idpf/idpf_lib.c
1588
err = idpf_send_enable_vport_msg(adapter, vport_id);
drivers/net/ethernet/intel/idpf/idpf_lib.c
1590
dev_err(&adapter->pdev->dev, "Failed to enable vport %u: %d\n",
drivers/net/ethernet/intel/idpf/idpf_lib.c
160
return idpf_mb_intr_req_irq(adapter);
drivers/net/ethernet/intel/idpf/idpf_lib.c
1601
dev_err(&adapter->pdev->dev, "Failed to configure RSS for vport %u: %d\n",
drivers/net/ethernet/intel/idpf/idpf_lib.c
1614
idpf_send_disable_vport_msg(adapter, vport_id);
drivers/net/ethernet/intel/idpf/idpf_lib.c
1618
idpf_send_map_unmap_queue_vector_msg(adapter, rsrc, vport_id, false);
drivers/net/ethernet/intel/idpf/idpf_lib.c
1649
struct idpf_adapter *adapter;
drivers/net/ethernet/intel/idpf/idpf_lib.c
1656
adapter = container_of(work, struct idpf_adapter, init_task.work);
drivers/net/ethernet/intel/idpf/idpf_lib.c
1658
num_default_vports = idpf_get_default_vports(adapter);
drivers/net/ethernet/intel/idpf/idpf_lib.c
1659
if (adapter->num_alloc_vports < num_default_vports)
drivers/net/ethernet/intel/idpf/idpf_lib.c
1664
err = idpf_vport_alloc_max_qs(adapter, &max_q);
drivers/net/ethernet/intel/idpf/idpf_lib.c
1668
err = idpf_send_create_vport_msg(adapter, &max_q);
drivers/net/ethernet/intel/idpf/idpf_lib.c
1670
idpf_vport_dealloc_max_qs(adapter, &max_q);
drivers/net/ethernet/intel/idpf/idpf_lib.c
1674
pdev = adapter->pdev;
drivers/net/ethernet/intel/idpf/idpf_lib.c
1675
vport = idpf_vport_alloc(adapter, &max_q);
drivers/net/ethernet/intel/idpf/idpf_lib.c
168
static int idpf_vector_lifo_push(struct idpf_adapter *adapter, u16 vec_idx)
drivers/net/ethernet/intel/idpf/idpf_lib.c
1680
idpf_vport_dealloc_max_qs(adapter, &max_q);
drivers/net/ethernet/intel/idpf/idpf_lib.c
1685
vport_config = adapter->vport_config[index];
drivers/net/ethernet/intel/idpf/idpf_lib.c
170
struct idpf_vector_lifo *stack = &adapter->vector_stack;
drivers/net/ethernet/intel/idpf/idpf_lib.c
1705
if (adapter->num_alloc_vports < num_default_vports) {
drivers/net/ethernet/intel/idpf/idpf_lib.c
1706
queue_delayed_work(adapter->init_wq, &adapter->init_task,
drivers/net/ethernet/intel/idpf/idpf_lib.c
1707
msecs_to_jiffies(5 * (adapter->pdev->devfn & 0x07)));
drivers/net/ethernet/intel/idpf/idpf_lib.c
1712
for (index = 0; index < adapter->max_vports; index++) {
drivers/net/ethernet/intel/idpf/idpf_lib.c
1713
struct net_device *netdev = adapter->netdevs[index];
drivers/net/ethernet/intel/idpf/idpf_lib.c
1716
vport_config = adapter->vport_config[index];
drivers/net/ethernet/intel/idpf/idpf_lib.c
172
lockdep_assert_held(&adapter->vector_lock);
drivers/net/ethernet/intel/idpf/idpf_lib.c
1732
clear_bit(IDPF_HR_RESET_IN_PROG, adapter->flags);
drivers/net/ethernet/intel/idpf/idpf_lib.c
1733
clear_bit(IDPF_HR_DRV_LOAD, adapter->flags);
drivers/net/ethernet/intel/idpf/idpf_lib.c
1735
queue_delayed_work(adapter->stats_wq, &adapter->stats_task,
drivers/net/ethernet/intel/idpf/idpf_lib.c
1742
for (index = 0; index < adapter->max_vports; index++) {
drivers/net/ethernet/intel/idpf/idpf_lib.c
1743
if (adapter->vports[index])
drivers/net/ethernet/intel/idpf/idpf_lib.c
1744
idpf_vport_dealloc(adapter->vports[index]);
drivers/net/ethernet/intel/idpf/idpf_lib.c
175
dev_err(&adapter->pdev->dev, "Exceeded the vector stack limit: %d\n",
drivers/net/ethernet/intel/idpf/idpf_lib.c
1750
if (test_and_clear_bit(IDPF_HR_DRV_LOAD, adapter->flags)) {
drivers/net/ethernet/intel/idpf/idpf_lib.c
1751
cancel_delayed_work_sync(&adapter->serv_task);
drivers/net/ethernet/intel/idpf/idpf_lib.c
1752
cancel_delayed_work_sync(&adapter->mbx_task);
drivers/net/ethernet/intel/idpf/idpf_lib.c
1754
idpf_ptp_release(adapter);
drivers/net/ethernet/intel/idpf/idpf_lib.c
1756
clear_bit(IDPF_HR_RESET_IN_PROG, adapter->flags);
drivers/net/ethernet/intel/idpf/idpf_lib.c
1764
static int idpf_sriov_ena(struct idpf_adapter *adapter, int num_vfs)
drivers/net/ethernet/intel/idpf/idpf_lib.c
1766
struct device *dev = &adapter->pdev->dev;
drivers/net/ethernet/intel/idpf/idpf_lib.c
1769
err = idpf_send_set_sriov_vfs_msg(adapter, num_vfs);
drivers/net/ethernet/intel/idpf/idpf_lib.c
1776
err = pci_enable_sriov(adapter->pdev, num_vfs);
drivers/net/ethernet/intel/idpf/idpf_lib.c
1778
idpf_send_set_sriov_vfs_msg(adapter, 0);
drivers/net/ethernet/intel/idpf/idpf_lib.c
1784
adapter->num_vfs = num_vfs;
drivers/net/ethernet/intel/idpf/idpf_lib.c
1799
struct idpf_adapter *adapter = pci_get_drvdata(pdev);
drivers/net/ethernet/intel/idpf/idpf_lib.c
18
static int idpf_init_vector_stack(struct idpf_adapter *adapter)
drivers/net/ethernet/intel/idpf/idpf_lib.c
1801
if (!idpf_is_cap_ena(adapter, IDPF_OTHER_CAPS, VIRTCHNL2_CAP_SRIOV)) {
drivers/net/ethernet/intel/idpf/idpf_lib.c
1808
return idpf_sriov_ena(adapter, num_vfs);
drivers/net/ethernet/intel/idpf/idpf_lib.c
1816
pci_disable_sriov(adapter->pdev);
drivers/net/ethernet/intel/idpf/idpf_lib.c
1817
idpf_send_set_sriov_vfs_msg(adapter, 0);
drivers/net/ethernet/intel/idpf/idpf_lib.c
1818
adapter->num_vfs = 0;
drivers/net/ethernet/intel/idpf/idpf_lib.c
1830
void idpf_deinit_task(struct idpf_adapter *adapter)
drivers/net/ethernet/intel/idpf/idpf_lib.c
1837
cancel_delayed_work_sync(&adapter->init_task);
drivers/net/ethernet/intel/idpf/idpf_lib.c
1839
if (!adapter->vports)
drivers/net/ethernet/intel/idpf/idpf_lib.c
1842
cancel_delayed_work_sync(&adapter->stats_task);
drivers/net/ethernet/intel/idpf/idpf_lib.c
1844
for (i = 0; i < adapter->max_vports; i++) {
drivers/net/ethernet/intel/idpf/idpf_lib.c
1845
if (adapter->vports[i])
drivers/net/ethernet/intel/idpf/idpf_lib.c
1846
idpf_vport_dealloc(adapter->vports[i]);
drivers/net/ethernet/intel/idpf/idpf_lib.c
1860
struct idpf_adapter *adapter = hw->back;
drivers/net/ethernet/intel/idpf/idpf_lib.c
1876
dev_warn(&adapter->pdev->dev, "Device reset timeout!\n");
drivers/net/ethernet/intel/idpf/idpf_lib.c
1880
clear_bit(IDPF_HR_RESET_IN_PROG, adapter->flags);
drivers/net/ethernet/intel/idpf/idpf_lib.c
189
static int idpf_vector_lifo_pop(struct idpf_adapter *adapter)
drivers/net/ethernet/intel/idpf/idpf_lib.c
1893
static void idpf_init_hard_reset(struct idpf_adapter *adapter)
drivers/net/ethernet/intel/idpf/idpf_lib.c
1895
struct idpf_reg_ops *reg_ops = &adapter->dev_ops.reg_ops;
drivers/net/ethernet/intel/idpf/idpf_lib.c
1896
struct device *dev = &adapter->pdev->dev;
drivers/net/ethernet/intel/idpf/idpf_lib.c
1899
idpf_detach_and_close(adapter);
drivers/net/ethernet/intel/idpf/idpf_lib.c
1900
mutex_lock(&adapter->vport_ctrl_lock);
drivers/net/ethernet/intel/idpf/idpf_lib.c
1905
if (test_bit(IDPF_HR_DRV_LOAD, adapter->flags)) {
drivers/net/ethernet/intel/idpf/idpf_lib.c
1906
reg_ops->trigger_reset(adapter, IDPF_HR_DRV_LOAD);
drivers/net/ethernet/intel/idpf/idpf_lib.c
1907
} else if (test_and_clear_bit(IDPF_HR_FUNC_RESET, adapter->flags)) {
drivers/net/ethernet/intel/idpf/idpf_lib.c
1908
bool is_reset = idpf_is_reset_detected(adapter);
drivers/net/ethernet/intel/idpf/idpf_lib.c
191
struct idpf_vector_lifo *stack = &adapter->vector_stack;
drivers/net/ethernet/intel/idpf/idpf_lib.c
1910
idpf_idc_issue_reset_event(adapter->cdev_info);
drivers/net/ethernet/intel/idpf/idpf_lib.c
1912
idpf_vc_core_deinit(adapter);
drivers/net/ethernet/intel/idpf/idpf_lib.c
1914
reg_ops->trigger_reset(adapter, IDPF_HR_FUNC_RESET);
drivers/net/ethernet/intel/idpf/idpf_lib.c
1915
idpf_deinit_dflt_mbx(adapter);
drivers/net/ethernet/intel/idpf/idpf_lib.c
1923
err = idpf_check_reset_complete(&adapter->hw, &adapter->reset_reg);
drivers/net/ethernet/intel/idpf/idpf_lib.c
1926
adapter->state);
drivers/net/ethernet/intel/idpf/idpf_lib.c
193
lockdep_assert_held(&adapter->vector_lock);
drivers/net/ethernet/intel/idpf/idpf_lib.c
1931
err = idpf_init_dflt_mbx(adapter);
drivers/net/ethernet/intel/idpf/idpf_lib.c
1937
queue_delayed_work(adapter->mbx_wq, &adapter->mbx_task, 0);
drivers/net/ethernet/intel/idpf/idpf_lib.c
1942
err = idpf_vc_core_init(adapter);
drivers/net/ethernet/intel/idpf/idpf_lib.c
1944
cancel_delayed_work_sync(&adapter->mbx_task);
drivers/net/ethernet/intel/idpf/idpf_lib.c
1945
idpf_deinit_dflt_mbx(adapter);
drivers/net/ethernet/intel/idpf/idpf_lib.c
1952
while (test_bit(IDPF_HR_RESET_IN_PROG, adapter->flags))
drivers/net/ethernet/intel/idpf/idpf_lib.c
1956
mutex_unlock(&adapter->vport_ctrl_lock);
drivers/net/ethernet/intel/idpf/idpf_lib.c
196
dev_err(&adapter->pdev->dev, "No interrupt vectors are available to distribute!\n");
drivers/net/ethernet/intel/idpf/idpf_lib.c
1963
idpf_attach_and_open(adapter);
drivers/net/ethernet/intel/idpf/idpf_lib.c
1964
idpf_idc_init(adapter);
drivers/net/ethernet/intel/idpf/idpf_lib.c
1974
struct idpf_adapter *adapter;
drivers/net/ethernet/intel/idpf/idpf_lib.c
1976
adapter = container_of(work, struct idpf_adapter, vc_event_task.work);
drivers/net/ethernet/intel/idpf/idpf_lib.c
1978
if (test_bit(IDPF_REMOVE_IN_PROG, adapter->flags))
drivers/net/ethernet/intel/idpf/idpf_lib.c
1981
if (test_bit(IDPF_HR_FUNC_RESET, adapter->flags))
drivers/net/ethernet/intel/idpf/idpf_lib.c
1984
if (test_bit(IDPF_HR_DRV_LOAD, adapter->flags))
drivers/net/ethernet/intel/idpf/idpf_lib.c
1990
idpf_vc_xn_shutdown(adapter->vcxn_mngr);
drivers/net/ethernet/intel/idpf/idpf_lib.c
1992
set_bit(IDPF_HR_RESET_IN_PROG, adapter->flags);
drivers/net/ethernet/intel/idpf/idpf_lib.c
1993
idpf_init_hard_reset(adapter);
drivers/net/ethernet/intel/idpf/idpf_lib.c
2010
struct idpf_adapter *adapter = vport->adapter;
drivers/net/ethernet/intel/idpf/idpf_lib.c
2060
dev_err(&adapter->pdev->dev, "Unhandled soft reset cause\n");
drivers/net/ethernet/intel/idpf/idpf_lib.c
2065
vport_config = adapter->vport_config[vport->idx];
drivers/net/ethernet/intel/idpf/idpf_lib.c
2068
idpf_send_delete_queues_msg(adapter, &vport_config->qid_reg_info,
drivers/net/ethernet/intel/idpf/idpf_lib.c
2075
err = idpf_send_add_queues_msg(adapter, vport_config, new_rsrc,
drivers/net/ethernet/intel/idpf/idpf_lib.c
2106
tmp_err = idpf_send_add_queues_msg(adapter, vport_config, rsrc,
drivers/net/ethernet/intel/idpf/idpf_lib.c
212
static void idpf_vector_stash(struct idpf_adapter *adapter, u16 *q_vector_idxs,
drivers/net/ethernet/intel/idpf/idpf_lib.c
218
lockdep_assert_held(&adapter->vector_lock);
drivers/net/ethernet/intel/idpf/idpf_lib.c
2184
struct idpf_adapter *adapter;
drivers/net/ethernet/intel/idpf/idpf_lib.c
2189
adapter = np->adapter;
drivers/net/ethernet/intel/idpf/idpf_lib.c
2190
dev = &adapter->pdev->dev;
drivers/net/ethernet/intel/idpf/idpf_lib.c
2192
if (idpf_is_cap_ena(adapter, IDPF_OTHER_CAPS, VIRTCHNL2_CAP_MACFILTER)) {
drivers/net/ethernet/intel/idpf/idpf_lib.c
2197
if (!idpf_is_cap_ena(adapter, IDPF_OTHER_CAPS, VIRTCHNL2_CAP_PROMISC))
drivers/net/ethernet/intel/idpf/idpf_lib.c
2200
config_data = &adapter->vport_config[np->vport_idx]->user_config;
drivers/net/ethernet/intel/idpf/idpf_lib.c
2211
dev_info(&adapter->pdev->dev, "Entering promiscuous mode\n");
drivers/net/ethernet/intel/idpf/idpf_lib.c
2212
if (!test_and_set_bit(__IDPF_PROMISC_MC, adapter->flags))
drivers/net/ethernet/intel/idpf/idpf_lib.c
2237
err = idpf_set_promiscuous(adapter, config_data, np->vport_id);
drivers/net/ethernet/intel/idpf/idpf_lib.c
2251
struct idpf_adapter *adapter;
drivers/net/ethernet/intel/idpf/idpf_lib.c
2258
adapter = vport->adapter;
drivers/net/ethernet/intel/idpf/idpf_lib.c
2260
if (idpf_is_reset_in_prog(adapter)) {
drivers/net/ethernet/intel/idpf/idpf_lib.c
2261
dev_err(&adapter->pdev->dev, "Device is resetting, changing netdev features temporarily unavailable.\n");
drivers/net/ethernet/intel/idpf/idpf_lib.c
2279
vport_config = adapter->vport_config[vport->idx];
drivers/net/ethernet/intel/idpf/idpf_lib.c
2300
err = idpf_send_ena_dis_loopback_msg(adapter, vport->vport_id,
drivers/net/ethernet/intel/idpf/idpf_lib.c
231
idpf_vector_lifo_push(adapter, vec_idx);
drivers/net/ethernet/intel/idpf/idpf_lib.c
232
adapter->num_avail_msix++;
drivers/net/ethernet/intel/idpf/idpf_lib.c
24
mutex_lock(&adapter->vector_lock);
drivers/net/ethernet/intel/idpf/idpf_lib.c
25
min_vec = adapter->num_msix_entries - adapter->num_avail_msix;
drivers/net/ethernet/intel/idpf/idpf_lib.c
2535
if (!idpf_is_cap_ena(vport->adapter, IDPF_OTHER_CAPS,
drivers/net/ethernet/intel/idpf/idpf_lib.c
2537
dev_info(&vport->adapter->pdev->dev, "Setting MAC address is not supported\n");
drivers/net/ethernet/intel/idpf/idpf_lib.c
254
int idpf_req_rel_vector_indexes(struct idpf_adapter *adapter,
drivers/net/ethernet/intel/idpf/idpf_lib.c
2543
dev_info(&vport->adapter->pdev->dev, "Invalid MAC address: %pM\n",
drivers/net/ethernet/intel/idpf/idpf_lib.c
2554
vport_config = vport->adapter->vport_config[vport->idx];
drivers/net/ethernet/intel/idpf/idpf_lib.c
2581
struct idpf_adapter *adapter = hw->back;
drivers/net/ethernet/intel/idpf/idpf_lib.c
2588
mem->va = dma_alloc_attrs(&adapter->pdev->dev, sz, &mem->pa,
drivers/net/ethernet/intel/idpf/idpf_lib.c
26
stack = &adapter->vector_stack;
drivers/net/ethernet/intel/idpf/idpf_lib.c
2602
struct idpf_adapter *adapter = hw->back;
drivers/net/ethernet/intel/idpf/idpf_lib.c
2604
dma_free_attrs(&adapter->pdev->dev, mem->size,
drivers/net/ethernet/intel/idpf/idpf_lib.c
262
mutex_lock(&adapter->vector_lock);
drivers/net/ethernet/intel/idpf/idpf_lib.c
263
stack = &adapter->vector_stack;
drivers/net/ethernet/intel/idpf/idpf_lib.c
267
idpf_vector_stash(adapter, q_vector_idxs, vec_info);
drivers/net/ethernet/intel/idpf/idpf_lib.c
27
stack->size = adapter->num_msix_entries;
drivers/net/ethernet/intel/idpf/idpf_lib.c
284
max_vecs = min(adapter->num_avail_msix, num_req_vecs);
drivers/net/ethernet/intel/idpf/idpf_lib.c
287
vecid = idpf_vector_lifo_pop(adapter);
drivers/net/ethernet/intel/idpf/idpf_lib.c
290
adapter->num_avail_msix -= max_vecs;
drivers/net/ethernet/intel/idpf/idpf_lib.c
293
mutex_unlock(&adapter->vector_lock);
drivers/net/ethernet/intel/idpf/idpf_lib.c
304
int idpf_intr_req(struct idpf_adapter *adapter)
drivers/net/ethernet/intel/idpf/idpf_lib.c
307
u16 default_vports = idpf_get_default_vports(adapter);
drivers/net/ethernet/intel/idpf/idpf_lib.c
314
total_vecs = idpf_get_reserved_vecs(adapter);
drivers/net/ethernet/intel/idpf/idpf_lib.c
316
if (idpf_is_rdma_cap_ena(adapter)) {
drivers/net/ethernet/intel/idpf/idpf_lib.c
317
num_rdma_vecs = idpf_get_reserved_rdma_vecs(adapter);
drivers/net/ethernet/intel/idpf/idpf_lib.c
326
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/intel/idpf/idpf_lib.c
335
err = idpf_send_alloc_vectors_msg(adapter, num_q_vecs);
drivers/net/ethernet/intel/idpf/idpf_lib.c
337
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/intel/idpf/idpf_lib.c
345
actual_vecs = pci_alloc_irq_vectors(adapter->pdev, min_vectors,
drivers/net/ethernet/intel/idpf/idpf_lib.c
348
dev_err(&adapter->pdev->dev, "Failed to allocate minimum MSIX vectors required: %d\n",
drivers/net/ethernet/intel/idpf/idpf_lib.c
354
if (idpf_is_rdma_cap_ena(adapter)) {
drivers/net/ethernet/intel/idpf/idpf_lib.c
356
dev_warn(&adapter->pdev->dev,
drivers/net/ethernet/intel/idpf/idpf_lib.c
36
mutex_unlock(&adapter->vector_lock);
drivers/net/ethernet/intel/idpf/idpf_lib.c
362
adapter->rdma_msix_entries = kzalloc_objs(struct msix_entry,
drivers/net/ethernet/intel/idpf/idpf_lib.c
364
if (!adapter->rdma_msix_entries) {
drivers/net/ethernet/intel/idpf/idpf_lib.c
371
adapter->msix_entries = kzalloc_objs(struct msix_entry, num_lan_vecs);
drivers/net/ethernet/intel/idpf/idpf_lib.c
372
if (!adapter->msix_entries) {
drivers/net/ethernet/intel/idpf/idpf_lib.c
377
adapter->mb_vector.v_idx = le16_to_cpu(adapter->caps.mailbox_vector_id);
drivers/net/ethernet/intel/idpf/idpf_lib.c
385
num_vec_ids = idpf_get_vec_ids(adapter, vecids, actual_vecs,
drivers/net/ethernet/intel/idpf/idpf_lib.c
386
&adapter->req_vec_chunks->vchunks);
drivers/net/ethernet/intel/idpf/idpf_lib.c
393
adapter->msix_entries[vector].entry = vecids[vector];
drivers/net/ethernet/intel/idpf/idpf_lib.c
394
adapter->msix_entries[vector].vector =
drivers/net/ethernet/intel/idpf/idpf_lib.c
395
pci_irq_vector(adapter->pdev, vector);
drivers/net/ethernet/intel/idpf/idpf_lib.c
398
adapter->rdma_msix_entries[i].entry = vecids[vector];
drivers/net/ethernet/intel/idpf/idpf_lib.c
399
adapter->rdma_msix_entries[i].vector =
drivers/net/ethernet/intel/idpf/idpf_lib.c
400
pci_irq_vector(adapter->pdev, vector);
drivers/net/ethernet/intel/idpf/idpf_lib.c
407
adapter->num_avail_msix = num_lan_vecs - min_lan_vecs;
drivers/net/ethernet/intel/idpf/idpf_lib.c
408
adapter->num_msix_entries = num_lan_vecs;
drivers/net/ethernet/intel/idpf/idpf_lib.c
409
if (idpf_is_rdma_cap_ena(adapter))
drivers/net/ethernet/intel/idpf/idpf_lib.c
410
adapter->num_rdma_msix_entries = num_rdma_vecs;
drivers/net/ethernet/intel/idpf/idpf_lib.c
413
err = idpf_init_vector_stack(adapter);
drivers/net/ethernet/intel/idpf/idpf_lib.c
417
err = idpf_mb_intr_init(adapter);
drivers/net/ethernet/intel/idpf/idpf_lib.c
420
idpf_mb_irq_enable(adapter);
drivers/net/ethernet/intel/idpf/idpf_lib.c
426
idpf_deinit_vector_stack(adapter);
drivers/net/ethernet/intel/idpf/idpf_lib.c
430
kfree(adapter->msix_entries);
drivers/net/ethernet/intel/idpf/idpf_lib.c
431
adapter->msix_entries = NULL;
drivers/net/ethernet/intel/idpf/idpf_lib.c
433
kfree(adapter->rdma_msix_entries);
drivers/net/ethernet/intel/idpf/idpf_lib.c
434
adapter->rdma_msix_entries = NULL;
drivers/net/ethernet/intel/idpf/idpf_lib.c
436
pci_free_irq_vectors(adapter->pdev);
drivers/net/ethernet/intel/idpf/idpf_lib.c
438
idpf_send_dealloc_vectors_msg(adapter);
drivers/net/ethernet/intel/idpf/idpf_lib.c
44
mutex_unlock(&adapter->vector_lock);
drivers/net/ethernet/intel/idpf/idpf_lib.c
454
vport_config = vport->adapter->vport_config[vport->idx];
drivers/net/ethernet/intel/idpf/idpf_lib.c
53
static void idpf_deinit_vector_stack(struct idpf_adapter *adapter)
drivers/net/ethernet/intel/idpf/idpf_lib.c
530
vport_config = np->adapter->vport_config[np->vport_idx];
drivers/net/ethernet/intel/idpf/idpf_lib.c
546
err = idpf_add_del_mac_filters(np->adapter, vport_config,
drivers/net/ethernet/intel/idpf/idpf_lib.c
57
mutex_lock(&adapter->vector_lock);
drivers/net/ethernet/intel/idpf/idpf_lib.c
58
stack = &adapter->vector_stack;
drivers/net/ethernet/intel/idpf/idpf_lib.c
61
mutex_unlock(&adapter->vector_lock);
drivers/net/ethernet/intel/idpf/idpf_lib.c
611
vport_config = np->adapter->vport_config[np->vport_idx];
drivers/net/ethernet/intel/idpf/idpf_lib.c
617
err = idpf_add_del_mac_filters(np->adapter, vport_config,
drivers/net/ethernet/intel/idpf/idpf_lib.c
635
vport_config = vport->adapter->vport_config[vport->idx];
drivers/net/ethernet/intel/idpf/idpf_lib.c
659
vport_config = vport->adapter->vport_config[vport->idx];
drivers/net/ethernet/intel/idpf/idpf_lib.c
667
idpf_add_del_mac_filters(vport->adapter, vport_config,
drivers/net/ethernet/intel/idpf/idpf_lib.c
684
vport_config = vport->adapter->vport_config[vport->idx];
drivers/net/ethernet/intel/idpf/idpf_lib.c
692
idpf_add_del_mac_filters(vport->adapter, vport_config,
drivers/net/ethernet/intel/idpf/idpf_lib.c
706
vport_config = vport->adapter->vport_config[vport->idx];
drivers/net/ethernet/intel/idpf/idpf_lib.c
71
static void idpf_mb_intr_rel_irq(struct idpf_adapter *adapter)
drivers/net/ethernet/intel/idpf/idpf_lib.c
728
struct idpf_adapter *adapter = vport->adapter;
drivers/net/ethernet/intel/idpf/idpf_lib.c
73
clear_bit(IDPF_MB_INTR_MODE, adapter->flags);
drivers/net/ethernet/intel/idpf/idpf_lib.c
739
if (!idpf_is_cap_ena(adapter, IDPF_OTHER_CAPS,
drivers/net/ethernet/intel/idpf/idpf_lib.c
74
kfree(free_irq(adapter->msix_entries[0].vector, adapter));
drivers/net/ethernet/intel/idpf/idpf_lib.c
741
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/intel/idpf/idpf_lib.c
75
queue_delayed_work(adapter->mbx_wq, &adapter->mbx_task, 0);
drivers/net/ethernet/intel/idpf/idpf_lib.c
752
dev_info(&adapter->pdev->dev, "Invalid MAC address %pM, using random %pM\n",
drivers/net/ethernet/intel/idpf/idpf_lib.c
759
static void idpf_detach_and_close(struct idpf_adapter *adapter)
drivers/net/ethernet/intel/idpf/idpf_lib.c
761
int max_vports = adapter->max_vports;
drivers/net/ethernet/intel/idpf/idpf_lib.c
764
struct net_device *netdev = adapter->netdevs[i];
drivers/net/ethernet/intel/idpf/idpf_lib.c
778
adapter->vport_config[i]->flags);
drivers/net/ethernet/intel/idpf/idpf_lib.c
785
static void idpf_attach_and_open(struct idpf_adapter *adapter)
drivers/net/ethernet/intel/idpf/idpf_lib.c
787
int max_vports = adapter->max_vports;
drivers/net/ethernet/intel/idpf/idpf_lib.c
790
struct idpf_vport *vport = adapter->vports[i];
drivers/net/ethernet/intel/idpf/idpf_lib.c
806
netdev = adapter->netdevs[i];
drivers/net/ethernet/intel/idpf/idpf_lib.c
808
vport_config = adapter->vport_config[vport->idx];
drivers/net/ethernet/intel/idpf/idpf_lib.c
82
void idpf_intr_rel(struct idpf_adapter *adapter)
drivers/net/ethernet/intel/idpf/idpf_lib.c
826
struct idpf_adapter *adapter = vport->adapter;
drivers/net/ethernet/intel/idpf/idpf_lib.c
837
vport_config = adapter->vport_config[idx];
drivers/net/ethernet/intel/idpf/idpf_lib.c
84
if (!adapter->msix_entries)
drivers/net/ethernet/intel/idpf/idpf_lib.c
843
netdev = adapter->netdevs[idx];
drivers/net/ethernet/intel/idpf/idpf_lib.c
848
np->max_tx_hdr_size = idpf_get_max_tx_hdr_size(adapter);
drivers/net/ethernet/intel/idpf/idpf_lib.c
863
np->adapter = adapter;
drivers/net/ethernet/intel/idpf/idpf_lib.c
866
np->max_tx_hdr_size = idpf_get_max_tx_hdr_size(adapter);
drivers/net/ethernet/intel/idpf/idpf_lib.c
867
np->tx_max_bufs = idpf_get_max_tx_bufs(adapter);
drivers/net/ethernet/intel/idpf/idpf_lib.c
87
idpf_mb_intr_rel_irq(adapter);
drivers/net/ethernet/intel/idpf/idpf_lib.c
88
pci_free_irq_vectors(adapter->pdev);
drivers/net/ethernet/intel/idpf/idpf_lib.c
89
idpf_send_dealloc_vectors_msg(adapter);
drivers/net/ethernet/intel/idpf/idpf_lib.c
894
if (idpf_is_cap_ena_all(adapter, IDPF_RSS_CAPS, IDPF_CAP_RSS))
drivers/net/ethernet/intel/idpf/idpf_lib.c
896
if (idpf_is_cap_ena(adapter, IDPF_OTHER_CAPS,
drivers/net/ethernet/intel/idpf/idpf_lib.c
90
idpf_deinit_vector_stack(adapter);
drivers/net/ethernet/intel/idpf/idpf_lib.c
900
if (idpf_is_cap_ena_all(adapter, IDPF_CSUM_CAPS, IDPF_CAP_TX_CSUM_L4V4))
drivers/net/ethernet/intel/idpf/idpf_lib.c
902
if (idpf_is_cap_ena_all(adapter, IDPF_CSUM_CAPS, IDPF_CAP_TX_CSUM_L4V6))
drivers/net/ethernet/intel/idpf/idpf_lib.c
904
if (idpf_is_cap_ena(adapter, IDPF_CSUM_CAPS, IDPF_CAP_RX_CSUM))
drivers/net/ethernet/intel/idpf/idpf_lib.c
906
if (idpf_is_cap_ena_all(adapter, IDPF_CSUM_CAPS, IDPF_CAP_TX_SCTP_CSUM))
drivers/net/ethernet/intel/idpf/idpf_lib.c
909
if (idpf_is_cap_ena(adapter, IDPF_SEG_CAPS, VIRTCHNL2_CAP_SEG_IPV4_TCP))
drivers/net/ethernet/intel/idpf/idpf_lib.c
91
kfree(adapter->msix_entries);
drivers/net/ethernet/intel/idpf/idpf_lib.c
911
if (idpf_is_cap_ena(adapter, IDPF_SEG_CAPS, VIRTCHNL2_CAP_SEG_IPV6_TCP))
drivers/net/ethernet/intel/idpf/idpf_lib.c
913
if (idpf_is_cap_ena_all(adapter, IDPF_SEG_CAPS,
drivers/net/ethernet/intel/idpf/idpf_lib.c
917
if (idpf_is_cap_ena_all(adapter, IDPF_RSC_CAPS, IDPF_CAP_RSC))
drivers/net/ethernet/intel/idpf/idpf_lib.c
919
if (idpf_is_cap_ena(adapter, IDPF_OTHER_CAPS, VIRTCHNL2_CAP_LOOPBACK))
drivers/net/ethernet/intel/idpf/idpf_lib.c
92
adapter->msix_entries = NULL;
drivers/net/ethernet/intel/idpf/idpf_lib.c
93
kfree(adapter->rdma_msix_entries);
drivers/net/ethernet/intel/idpf/idpf_lib.c
930
SET_NETDEV_DEV(netdev, &adapter->pdev->dev);
drivers/net/ethernet/intel/idpf/idpf_lib.c
94
adapter->rdma_msix_entries = NULL;
drivers/net/ethernet/intel/idpf/idpf_lib.c
941
adapter->netdevs[idx] = netdev;
drivers/net/ethernet/intel/idpf/idpf_lib.c
950
static int idpf_get_free_slot(struct idpf_adapter *adapter)
drivers/net/ethernet/intel/idpf/idpf_lib.c
954
for (i = 0; i < adapter->max_vports; i++) {
drivers/net/ethernet/intel/idpf/idpf_lib.c
955
if (!adapter->vports[i])
drivers/net/ethernet/intel/idpf/idpf_lib.c
968
struct idpf_adapter *adapter = vport->adapter;
drivers/net/ethernet/intel/idpf/idpf_lib.c
970
if (idpf_is_cap_ena(adapter, IDPF_OTHER_CAPS, VIRTCHNL2_CAP_MACFILTER))
drivers/net/ethernet/intel/idpf/idpf_lib.c
983
struct idpf_adapter *adapter = vport->adapter;
drivers/net/ethernet/intel/idpf/idpf_lib.c
996
chunks = &adapter->vport_config[vport->idx]->qid_reg_info;
drivers/net/ethernet/intel/idpf/idpf_lib.c
998
idpf_send_disable_vport_msg(adapter, vport_id);
drivers/net/ethernet/intel/idpf/idpf_main.c
102
set_bit(IDPF_REMOVE_IN_PROG, adapter->flags);
drivers/net/ethernet/intel/idpf/idpf_main.c
109
cancel_delayed_work_sync(&adapter->vc_event_task);
drivers/net/ethernet/intel/idpf/idpf_main.c
110
if (adapter->num_vfs)
drivers/net/ethernet/intel/idpf/idpf_main.c
113
idpf_vc_core_deinit(adapter);
drivers/net/ethernet/intel/idpf/idpf_main.c
116
adapter->dev_ops.reg_ops.trigger_reset(adapter, IDPF_HR_FUNC_RESET);
drivers/net/ethernet/intel/idpf/idpf_main.c
117
idpf_deinit_dflt_mbx(adapter);
drivers/net/ethernet/intel/idpf/idpf_main.c
119
if (!adapter->netdevs)
drivers/net/ethernet/intel/idpf/idpf_main.c
127
for (i = 0; i < adapter->max_vports; i++) {
drivers/net/ethernet/intel/idpf/idpf_main.c
128
if (!adapter->netdevs[i])
drivers/net/ethernet/intel/idpf/idpf_main.c
130
if (adapter->netdevs[i]->reg_state != NETREG_UNINITIALIZED)
drivers/net/ethernet/intel/idpf/idpf_main.c
131
unregister_netdev(adapter->netdevs[i]);
drivers/net/ethernet/intel/idpf/idpf_main.c
132
free_netdev(adapter->netdevs[i]);
drivers/net/ethernet/intel/idpf/idpf_main.c
133
adapter->netdevs[i] = NULL;
drivers/net/ethernet/intel/idpf/idpf_main.c
137
destroy_workqueue(adapter->init_wq);
drivers/net/ethernet/intel/idpf/idpf_main.c
138
destroy_workqueue(adapter->serv_wq);
drivers/net/ethernet/intel/idpf/idpf_main.c
139
destroy_workqueue(adapter->mbx_wq);
drivers/net/ethernet/intel/idpf/idpf_main.c
140
destroy_workqueue(adapter->stats_wq);
drivers/net/ethernet/intel/idpf/idpf_main.c
141
destroy_workqueue(adapter->vc_event_wq);
drivers/net/ethernet/intel/idpf/idpf_main.c
143
for (i = 0; i < adapter->max_vports; i++) {
drivers/net/ethernet/intel/idpf/idpf_main.c
144
if (!adapter->vport_config[i])
drivers/net/ethernet/intel/idpf/idpf_main.c
146
kfree(adapter->vport_config[i]->user_config.q_coalesce);
drivers/net/ethernet/intel/idpf/idpf_main.c
147
kfree(adapter->vport_config[i]);
drivers/net/ethernet/intel/idpf/idpf_main.c
148
adapter->vport_config[i] = NULL;
drivers/net/ethernet/intel/idpf/idpf_main.c
150
kfree(adapter->vport_config);
drivers/net/ethernet/intel/idpf/idpf_main.c
151
adapter->vport_config = NULL;
drivers/net/ethernet/intel/idpf/idpf_main.c
152
kfree(adapter->netdevs);
drivers/net/ethernet/intel/idpf/idpf_main.c
153
adapter->netdevs = NULL;
drivers/net/ethernet/intel/idpf/idpf_main.c
154
kfree(adapter->vcxn_mngr);
drivers/net/ethernet/intel/idpf/idpf_main.c
155
adapter->vcxn_mngr = NULL;
drivers/net/ethernet/intel/idpf/idpf_main.c
157
mutex_destroy(&adapter->vport_ctrl_lock);
drivers/net/ethernet/intel/idpf/idpf_main.c
158
mutex_destroy(&adapter->vector_lock);
drivers/net/ethernet/intel/idpf/idpf_main.c
159
mutex_destroy(&adapter->queue_lock);
drivers/net/ethernet/intel/idpf/idpf_main.c
160
mutex_destroy(&adapter->vc_buf_lock);
drivers/net/ethernet/intel/idpf/idpf_main.c
163
kfree(adapter);
drivers/net/ethernet/intel/idpf/idpf_main.c
172
struct idpf_adapter *adapter = pci_get_drvdata(pdev);
drivers/net/ethernet/intel/idpf/idpf_main.c
174
cancel_delayed_work_sync(&adapter->serv_task);
drivers/net/ethernet/intel/idpf/idpf_main.c
175
cancel_delayed_work_sync(&adapter->vc_event_task);
drivers/net/ethernet/intel/idpf/idpf_main.c
176
idpf_vc_core_deinit(adapter);
drivers/net/ethernet/intel/idpf/idpf_main.c
177
idpf_deinit_dflt_mbx(adapter);
drivers/net/ethernet/intel/idpf/idpf_main.c
189
static int idpf_cfg_hw(struct idpf_adapter *adapter)
drivers/net/ethernet/intel/idpf/idpf_main.c
192
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/intel/idpf/idpf_main.c
193
struct idpf_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/idpf/idpf_main.c
200
mbx_start = res_start + adapter->dev_ops.static_reg_info[0].start;
drivers/net/ethernet/intel/idpf/idpf_main.c
201
len = resource_size(&adapter->dev_ops.static_reg_info[0]);
drivers/net/ethernet/intel/idpf/idpf_main.c
208
hw->mbx.addr_start = adapter->dev_ops.static_reg_info[0].start;
drivers/net/ethernet/intel/idpf/idpf_main.c
212
rstat_start = res_start + adapter->dev_ops.static_reg_info[1].start;
drivers/net/ethernet/intel/idpf/idpf_main.c
213
len = resource_size(&adapter->dev_ops.static_reg_info[1]);
drivers/net/ethernet/intel/idpf/idpf_main.c
220
hw->rstat.addr_start = adapter->dev_ops.static_reg_info[1].start;
drivers/net/ethernet/intel/idpf/idpf_main.c
223
hw->back = adapter;
drivers/net/ethernet/intel/idpf/idpf_main.c
238
struct idpf_adapter *adapter;
drivers/net/ethernet/intel/idpf/idpf_main.c
241
adapter = kzalloc_obj(*adapter);
drivers/net/ethernet/intel/idpf/idpf_main.c
242
if (!adapter)
drivers/net/ethernet/intel/idpf/idpf_main.c
245
adapter->req_tx_splitq = true;
drivers/net/ethernet/intel/idpf/idpf_main.c
246
adapter->req_rx_splitq = true;
drivers/net/ethernet/intel/idpf/idpf_main.c
248
adapter->pdev = pdev;
drivers/net/ethernet/intel/idpf/idpf_main.c
273
pci_set_drvdata(pdev, adapter);
drivers/net/ethernet/intel/idpf/idpf_main.c
275
adapter->init_wq = alloc_workqueue("%s-%s-init",
drivers/net/ethernet/intel/idpf/idpf_main.c
279
if (!adapter->init_wq) {
drivers/net/ethernet/intel/idpf/idpf_main.c
285
adapter->serv_wq = alloc_workqueue("%s-%s-service",
drivers/net/ethernet/intel/idpf/idpf_main.c
289
if (!adapter->serv_wq) {
drivers/net/ethernet/intel/idpf/idpf_main.c
295
adapter->mbx_wq = alloc_workqueue("%s-%s-mbx", WQ_UNBOUND | WQ_HIGHPRI,
drivers/net/ethernet/intel/idpf/idpf_main.c
298
if (!adapter->mbx_wq) {
drivers/net/ethernet/intel/idpf/idpf_main.c
304
adapter->stats_wq = alloc_workqueue("%s-%s-stats",
drivers/net/ethernet/intel/idpf/idpf_main.c
308
if (!adapter->stats_wq) {
drivers/net/ethernet/intel/idpf/idpf_main.c
314
adapter->vc_event_wq = alloc_workqueue("%s-%s-vc_event",
drivers/net/ethernet/intel/idpf/idpf_main.c
318
if (!adapter->vc_event_wq) {
drivers/net/ethernet/intel/idpf/idpf_main.c
325
adapter->msg_enable = netif_msg_init(-1, IDPF_AVAIL_NETIF_M);
drivers/net/ethernet/intel/idpf/idpf_main.c
327
err = idpf_dev_init(adapter, ent);
drivers/net/ethernet/intel/idpf/idpf_main.c
334
err = idpf_cfg_hw(adapter);
drivers/net/ethernet/intel/idpf/idpf_main.c
341
mutex_init(&adapter->vport_ctrl_lock);
drivers/net/ethernet/intel/idpf/idpf_main.c
342
mutex_init(&adapter->vector_lock);
drivers/net/ethernet/intel/idpf/idpf_main.c
343
mutex_init(&adapter->queue_lock);
drivers/net/ethernet/intel/idpf/idpf_main.c
344
mutex_init(&adapter->vc_buf_lock);
drivers/net/ethernet/intel/idpf/idpf_main.c
346
INIT_DELAYED_WORK(&adapter->init_task, idpf_init_task);
drivers/net/ethernet/intel/idpf/idpf_main.c
347
INIT_DELAYED_WORK(&adapter->serv_task, idpf_service_task);
drivers/net/ethernet/intel/idpf/idpf_main.c
348
INIT_DELAYED_WORK(&adapter->mbx_task, idpf_mbx_task);
drivers/net/ethernet/intel/idpf/idpf_main.c
349
INIT_DELAYED_WORK(&adapter->stats_task, idpf_statistics_task);
drivers/net/ethernet/intel/idpf/idpf_main.c
350
INIT_DELAYED_WORK(&adapter->vc_event_task, idpf_vc_event_task);
drivers/net/ethernet/intel/idpf/idpf_main.c
352
adapter->dev_ops.reg_ops.reset_reg_init(adapter);
drivers/net/ethernet/intel/idpf/idpf_main.c
353
set_bit(IDPF_HR_DRV_LOAD, adapter->flags);
drivers/net/ethernet/intel/idpf/idpf_main.c
354
queue_delayed_work(adapter->vc_event_wq, &adapter->vc_event_task,
drivers/net/ethernet/intel/idpf/idpf_main.c
360
destroy_workqueue(adapter->vc_event_wq);
drivers/net/ethernet/intel/idpf/idpf_main.c
362
destroy_workqueue(adapter->stats_wq);
drivers/net/ethernet/intel/idpf/idpf_main.c
364
destroy_workqueue(adapter->mbx_wq);
drivers/net/ethernet/intel/idpf/idpf_main.c
366
destroy_workqueue(adapter->serv_wq);
drivers/net/ethernet/intel/idpf/idpf_main.c
368
destroy_workqueue(adapter->init_wq);
drivers/net/ethernet/intel/idpf/idpf_main.c
370
kfree(adapter);
drivers/net/ethernet/intel/idpf/idpf_main.c
56
static int idpf_dev_init(struct idpf_adapter *adapter,
drivers/net/ethernet/intel/idpf/idpf_main.c
62
ret = idpf_get_device_type(adapter->pdev);
drivers/net/ethernet/intel/idpf/idpf_main.c
65
idpf_vf_dev_ops_init(adapter);
drivers/net/ethernet/intel/idpf/idpf_main.c
66
adapter->crc_enable = true;
drivers/net/ethernet/intel/idpf/idpf_main.c
69
idpf_dev_ops_init(adapter);
drivers/net/ethernet/intel/idpf/idpf_main.c
80
idpf_dev_ops_init(adapter);
drivers/net/ethernet/intel/idpf/idpf_main.c
83
idpf_vf_dev_ops_init(adapter);
drivers/net/ethernet/intel/idpf/idpf_main.c
84
adapter->crc_enable = true;
drivers/net/ethernet/intel/idpf/idpf_main.c
99
struct idpf_adapter *adapter = pci_get_drvdata(pdev);
drivers/net/ethernet/intel/idpf/idpf_ptp.c
1004
void idpf_ptp_release(struct idpf_adapter *adapter)
drivers/net/ethernet/intel/idpf/idpf_ptp.c
1006
struct idpf_ptp *ptp = adapter->ptp;
drivers/net/ethernet/intel/idpf/idpf_ptp.c
1013
idpf_ptp_release_tstamp(adapter);
drivers/net/ethernet/intel/idpf/idpf_ptp.c
1016
if (adapter->ptp->get_dev_clk_time_access != IDPF_PTP_NONE)
drivers/net/ethernet/intel/idpf/idpf_ptp.c
1017
ptp_cancel_worker_sync(adapter->ptp->clock);
drivers/net/ethernet/intel/idpf/idpf_ptp.c
102
struct idpf_ptp *ptp = adapter->ptp;
drivers/net/ethernet/intel/idpf/idpf_ptp.c
1023
adapter->ptp = NULL;
drivers/net/ethernet/intel/idpf/idpf_ptp.c
110
idpf_ptp_enable_shtime(adapter);
drivers/net/ethernet/intel/idpf/idpf_ptp.c
132
static int idpf_ptp_read_src_clk_reg_mailbox(struct idpf_adapter *adapter,
drivers/net/ethernet/intel/idpf/idpf_ptp.c
142
err = idpf_ptp_get_dev_clk_time(adapter, &clk_time);
drivers/net/ethernet/intel/idpf/idpf_ptp.c
16
idpf_ptp_get_access(const struct idpf_adapter *adapter, u32 direct, u32 mailbox)
drivers/net/ethernet/intel/idpf/idpf_ptp.c
163
static int idpf_ptp_read_src_clk_reg(struct idpf_adapter *adapter, u64 *src_clk,
drivers/net/ethernet/intel/idpf/idpf_ptp.c
166
switch (adapter->ptp->get_dev_clk_time_access) {
drivers/net/ethernet/intel/idpf/idpf_ptp.c
170
return idpf_ptp_read_src_clk_reg_mailbox(adapter, sts, src_clk);
drivers/net/ethernet/intel/idpf/idpf_ptp.c
172
*src_clk = idpf_ptp_read_src_clk_reg_direct(adapter, sts);
drivers/net/ethernet/intel/idpf/idpf_ptp.c
18
if (adapter->ptp->caps & direct)
drivers/net/ethernet/intel/idpf/idpf_ptp.c
189
static void idpf_ptp_get_sync_device_time_direct(struct idpf_adapter *adapter,
drivers/net/ethernet/intel/idpf/idpf_ptp.c
193
struct idpf_ptp *ptp = adapter->ptp;
drivers/net/ethernet/intel/idpf/idpf_ptp.c
197
idpf_ptp_enable_shtime(adapter);
drivers/net/ethernet/intel/idpf/idpf_ptp.c
20
else if (adapter->ptp->caps & mailbox)
drivers/net/ethernet/intel/idpf/idpf_ptp.c
220
static int idpf_ptp_get_sync_device_time_mailbox(struct idpf_adapter *adapter,
drivers/net/ethernet/intel/idpf/idpf_ptp.c
226
err = idpf_ptp_get_cross_time(adapter, &cross_time);
drivers/net/ethernet/intel/idpf/idpf_ptp.c
250
struct idpf_adapter *adapter = ctx;
drivers/net/ethernet/intel/idpf/idpf_ptp.c
254
switch (adapter->ptp->get_cross_tstamp_access) {
drivers/net/ethernet/intel/idpf/idpf_ptp.c
258
idpf_ptp_get_sync_device_time_direct(adapter, &ns_time_dev,
drivers/net/ethernet/intel/idpf/idpf_ptp.c
262
err = idpf_ptp_get_sync_device_time_mailbox(adapter,
drivers/net/ethernet/intel/idpf/idpf_ptp.c
295
struct idpf_adapter *adapter = idpf_ptp_info_to_adapter(info);
drivers/net/ethernet/intel/idpf/idpf_ptp.c
298
adapter, NULL, cts);
drivers/net/ethernet/intel/idpf/idpf_ptp.c
316
struct idpf_adapter *adapter = idpf_ptp_info_to_adapter(info);
drivers/net/ethernet/intel/idpf/idpf_ptp.c
320
err = idpf_ptp_read_src_clk_reg(adapter, &time_ns, sts);
drivers/net/ethernet/intel/idpf/idpf_ptp.c
33
void idpf_ptp_get_features_access(const struct idpf_adapter *adapter)
drivers/net/ethernet/intel/idpf/idpf_ptp.c
35
struct idpf_ptp *ptp = adapter->ptp;
drivers/net/ethernet/intel/idpf/idpf_ptp.c
370
static int idpf_ptp_update_cached_phctime(struct idpf_adapter *adapter)
drivers/net/ethernet/intel/idpf/idpf_ptp.c
375
err = idpf_ptp_read_src_clk_reg(adapter, &systime, NULL);
drivers/net/ethernet/intel/idpf/idpf_ptp.c
383
WRITE_ONCE(adapter->ptp->cached_phc_time, systime);
drivers/net/ethernet/intel/idpf/idpf_ptp.c
384
WRITE_ONCE(adapter->ptp->cached_phc_jiffies, jiffies);
drivers/net/ethernet/intel/idpf/idpf_ptp.c
386
idpf_for_each_vport(adapter, vport) {
drivers/net/ethernet/intel/idpf/idpf_ptp.c
41
ptp->get_dev_clk_time_access = idpf_ptp_get_access(adapter,
drivers/net/ethernet/intel/idpf/idpf_ptp.c
419
struct idpf_adapter *adapter = idpf_ptp_info_to_adapter(info);
drivers/net/ethernet/intel/idpf/idpf_ptp.c
424
access = adapter->ptp->set_dev_clk_time_access;
drivers/net/ethernet/intel/idpf/idpf_ptp.c
430
err = idpf_ptp_set_dev_clk_time(adapter, ns);
drivers/net/ethernet/intel/idpf/idpf_ptp.c
432
pci_err(adapter->pdev, "Failed to set the time, err: %pe\n",
drivers/net/ethernet/intel/idpf/idpf_ptp.c
437
err = idpf_ptp_update_cached_phctime(adapter);
drivers/net/ethernet/intel/idpf/idpf_ptp.c
439
pci_warn(adapter->pdev,
drivers/net/ethernet/intel/idpf/idpf_ptp.c
476
struct idpf_adapter *adapter = idpf_ptp_info_to_adapter(info);
drivers/net/ethernet/intel/idpf/idpf_ptp.c
48
ptp->get_cross_tstamp_access = idpf_ptp_get_access(adapter,
drivers/net/ethernet/intel/idpf/idpf_ptp.c
480
access = adapter->ptp->adj_dev_clk_time_access;
drivers/net/ethernet/intel/idpf/idpf_ptp.c
491
err = idpf_ptp_adj_dev_clk_time(adapter, delta);
drivers/net/ethernet/intel/idpf/idpf_ptp.c
493
pci_err(adapter->pdev, "Failed to adjust the clock with delta %lld err: %pe\n",
drivers/net/ethernet/intel/idpf/idpf_ptp.c
498
err = idpf_ptp_update_cached_phctime(adapter);
drivers/net/ethernet/intel/idpf/idpf_ptp.c
500
pci_warn(adapter->pdev,
drivers/net/ethernet/intel/idpf/idpf_ptp.c
518
struct idpf_adapter *adapter = idpf_ptp_info_to_adapter(info);
drivers/net/ethernet/intel/idpf/idpf_ptp.c
523
access = adapter->ptp->adj_dev_clk_time_access;
drivers/net/ethernet/intel/idpf/idpf_ptp.c
527
incval = adapter->ptp->base_incval;
drivers/net/ethernet/intel/idpf/idpf_ptp.c
530
err = idpf_ptp_adj_dev_clk_fine(adapter, diff);
drivers/net/ethernet/intel/idpf/idpf_ptp.c
532
pci_err(adapter->pdev, "Failed to adjust clock increment rate for scaled ppm %ld %pe\n",
drivers/net/ethernet/intel/idpf/idpf_ptp.c
55
ptp->set_dev_clk_time_access = idpf_ptp_get_access(adapter,
drivers/net/ethernet/intel/idpf/idpf_ptp.c
618
struct idpf_ptp *ptp = vport->adapter->ptp;
drivers/net/ethernet/intel/idpf/idpf_ptp.c
62
ptp->adj_dev_clk_time_access = idpf_ptp_get_access(adapter,
drivers/net/ethernet/intel/idpf/idpf_ptp.c
69
ptp->tx_tstamp_access = idpf_ptp_get_access(adapter,
drivers/net/ethernet/intel/idpf/idpf_ptp.c
771
struct idpf_adapter *adapter = idpf_ptp_info_to_adapter(info);
drivers/net/ethernet/intel/idpf/idpf_ptp.c
773
idpf_ptp_update_cached_phctime(adapter);
drivers/net/ethernet/intel/idpf/idpf_ptp.c
78
static void idpf_ptp_enable_shtime(struct idpf_adapter *adapter)
drivers/net/ethernet/intel/idpf/idpf_ptp.c
784
static void idpf_ptp_set_caps(const struct idpf_adapter *adapter)
drivers/net/ethernet/intel/idpf/idpf_ptp.c
786
struct ptp_clock_info *info = &adapter->ptp->info;
drivers/net/ethernet/intel/idpf/idpf_ptp.c
789
KBUILD_MODNAME, pci_name(adapter->pdev));
drivers/net/ethernet/intel/idpf/idpf_ptp.c
792
info->max_adj = adapter->ptp->max_adj;
drivers/net/ethernet/intel/idpf/idpf_ptp.c
803
if (pcie_ptm_enabled(adapter->pdev) &&
drivers/net/ethernet/intel/idpf/idpf_ptp.c
818
static int idpf_ptp_create_clock(const struct idpf_adapter *adapter)
drivers/net/ethernet/intel/idpf/idpf_ptp.c
822
idpf_ptp_set_caps(adapter);
drivers/net/ethernet/intel/idpf/idpf_ptp.c
825
clock = ptp_clock_register(&adapter->ptp->info,
drivers/net/ethernet/intel/idpf/idpf_ptp.c
826
&adapter->pdev->dev);
drivers/net/ethernet/intel/idpf/idpf_ptp.c
828
pci_err(adapter->pdev, "PTP clock creation failed: %pe\n",
drivers/net/ethernet/intel/idpf/idpf_ptp.c
83
shtime_enable = adapter->ptp->cmd.shtime_enable_mask;
drivers/net/ethernet/intel/idpf/idpf_ptp.c
833
adapter->ptp->clock = clock;
drivers/net/ethernet/intel/idpf/idpf_ptp.c
84
exec_cmd = adapter->ptp->cmd.exec_cmd_mask;
drivers/net/ethernet/intel/idpf/idpf_ptp.c
87
writel(shtime_enable, adapter->ptp->dev_clk_regs.cmd_sync);
drivers/net/ethernet/intel/idpf/idpf_ptp.c
88
writel(exec_cmd | shtime_enable, adapter->ptp->dev_clk_regs.cmd_sync);
drivers/net/ethernet/intel/idpf/idpf_ptp.c
888
static void idpf_ptp_release_tstamp(struct idpf_adapter *adapter)
drivers/net/ethernet/intel/idpf/idpf_ptp.c
890
idpf_for_each_vport(adapter, vport) {
drivers/net/ethernet/intel/idpf/idpf_ptp.c
929
int idpf_ptp_init(struct idpf_adapter *adapter)
drivers/net/ethernet/intel/idpf/idpf_ptp.c
934
if (!idpf_is_cap_ena(adapter, IDPF_OTHER_CAPS, VIRTCHNL2_CAP_PTP)) {
drivers/net/ethernet/intel/idpf/idpf_ptp.c
935
pci_dbg(adapter->pdev, "PTP capability is not detected\n");
drivers/net/ethernet/intel/idpf/idpf_ptp.c
939
adapter->ptp = kzalloc_obj(*adapter->ptp);
drivers/net/ethernet/intel/idpf/idpf_ptp.c
940
if (!adapter->ptp)
drivers/net/ethernet/intel/idpf/idpf_ptp.c
944
adapter->ptp->adapter = adapter;
drivers/net/ethernet/intel/idpf/idpf_ptp.c
946
if (adapter->dev_ops.reg_ops.ptp_reg_init)
drivers/net/ethernet/intel/idpf/idpf_ptp.c
947
adapter->dev_ops.reg_ops.ptp_reg_init(adapter);
drivers/net/ethernet/intel/idpf/idpf_ptp.c
949
err = idpf_ptp_get_caps(adapter);
drivers/net/ethernet/intel/idpf/idpf_ptp.c
951
pci_err(adapter->pdev, "Failed to get PTP caps err %d\n", err);
drivers/net/ethernet/intel/idpf/idpf_ptp.c
955
err = idpf_ptp_create_clock(adapter);
drivers/net/ethernet/intel/idpf/idpf_ptp.c
959
if (adapter->ptp->get_dev_clk_time_access != IDPF_PTP_NONE)
drivers/net/ethernet/intel/idpf/idpf_ptp.c
960
ptp_schedule_worker(adapter->ptp->clock, 0);
drivers/net/ethernet/intel/idpf/idpf_ptp.c
965
if (adapter->ptp->adj_dev_clk_time_access != IDPF_PTP_NONE) {
drivers/net/ethernet/intel/idpf/idpf_ptp.c
966
err = idpf_ptp_adj_dev_clk_fine(adapter,
drivers/net/ethernet/intel/idpf/idpf_ptp.c
967
adapter->ptp->base_incval);
drivers/net/ethernet/intel/idpf/idpf_ptp.c
973
if (adapter->ptp->set_dev_clk_time_access != IDPF_PTP_NONE) {
drivers/net/ethernet/intel/idpf/idpf_ptp.c
975
err = idpf_ptp_settime64(&adapter->ptp->info, &ts);
drivers/net/ethernet/intel/idpf/idpf_ptp.c
980
spin_lock_init(&adapter->ptp->read_dev_clk_lock);
drivers/net/ethernet/intel/idpf/idpf_ptp.c
982
pci_dbg(adapter->pdev, "PTP init successful\n");
drivers/net/ethernet/intel/idpf/idpf_ptp.c
987
if (adapter->ptp->get_dev_clk_time_access != IDPF_PTP_NONE)
drivers/net/ethernet/intel/idpf/idpf_ptp.c
988
ptp_cancel_worker_sync(adapter->ptp->clock);
drivers/net/ethernet/intel/idpf/idpf_ptp.c
99
static u64 idpf_ptp_read_src_clk_reg_direct(struct idpf_adapter *adapter,
drivers/net/ethernet/intel/idpf/idpf_ptp.c
990
ptp_clock_unregister(adapter->ptp->clock);
drivers/net/ethernet/intel/idpf/idpf_ptp.c
991
adapter->ptp->clock = NULL;
drivers/net/ethernet/intel/idpf/idpf_ptp.c
994
kfree(adapter->ptp);
drivers/net/ethernet/intel/idpf/idpf_ptp.c
995
adapter->ptp = NULL;
drivers/net/ethernet/intel/idpf/idpf_ptp.h
183
struct idpf_adapter *adapter;
drivers/net/ethernet/intel/idpf/idpf_ptp.h
212
return ptp->adapter;
drivers/net/ethernet/intel/idpf/idpf_ptp.h
260
if (!vport->adapter->ptp ||
drivers/net/ethernet/intel/idpf/idpf_ptp.h
261
vport->adapter->ptp->get_dev_clk_time_access == IDPF_PTP_NONE)
drivers/net/ethernet/intel/idpf/idpf_ptp.h
268
int idpf_ptp_init(struct idpf_adapter *adapter);
drivers/net/ethernet/intel/idpf/idpf_ptp.h
269
void idpf_ptp_release(struct idpf_adapter *adapter);
drivers/net/ethernet/intel/idpf/idpf_ptp.h
270
int idpf_ptp_get_caps(struct idpf_adapter *adapter);
drivers/net/ethernet/intel/idpf/idpf_ptp.h
271
void idpf_ptp_get_features_access(const struct idpf_adapter *adapter);
drivers/net/ethernet/intel/idpf/idpf_ptp.h
273
int idpf_ptp_get_dev_clk_time(struct idpf_adapter *adapter,
drivers/net/ethernet/intel/idpf/idpf_ptp.h
275
int idpf_ptp_get_cross_time(struct idpf_adapter *adapter,
drivers/net/ethernet/intel/idpf/idpf_ptp.h
277
int idpf_ptp_set_dev_clk_time(struct idpf_adapter *adapter, u64 time);
drivers/net/ethernet/intel/idpf/idpf_ptp.h
278
int idpf_ptp_adj_dev_clk_fine(struct idpf_adapter *adapter, u64 incval);
drivers/net/ethernet/intel/idpf/idpf_ptp.h
279
int idpf_ptp_adj_dev_clk_time(struct idpf_adapter *adapter, s64 delta);
drivers/net/ethernet/intel/idpf/idpf_ptp.h
290
static inline int idpf_ptp_init(struct idpf_adapter *adapter)
drivers/net/ethernet/intel/idpf/idpf_ptp.h
295
static inline void idpf_ptp_release(struct idpf_adapter *adapter) { }
drivers/net/ethernet/intel/idpf/idpf_ptp.h
297
static inline int idpf_ptp_get_caps(struct idpf_adapter *adapter)
drivers/net/ethernet/intel/idpf/idpf_ptp.h
303
idpf_ptp_get_features_access(const struct idpf_adapter *adapter) { }
drivers/net/ethernet/intel/idpf/idpf_ptp.h
312
idpf_ptp_get_dev_clk_time(struct idpf_adapter *adapter,
drivers/net/ethernet/intel/idpf/idpf_ptp.h
319
idpf_ptp_get_cross_time(struct idpf_adapter *adapter,
drivers/net/ethernet/intel/idpf/idpf_ptp.h
325
static inline int idpf_ptp_set_dev_clk_time(struct idpf_adapter *adapter,
drivers/net/ethernet/intel/idpf/idpf_ptp.h
331
static inline int idpf_ptp_adj_dev_clk_fine(struct idpf_adapter *adapter,
drivers/net/ethernet/intel/idpf/idpf_ptp.h
337
static inline int idpf_ptp_adj_dev_clk_time(struct idpf_adapter *adapter,
drivers/net/ethernet/intel/idpf/idpf_txrx.c
1128
qs = idpf_alloc_queue_set(vport->adapter, &vport->dflt_qv_rsrc,
drivers/net/ethernet/intel/idpf/idpf_txrx.c
1482
config_data = &vport->adapter->vport_config[idx]->user_config;
drivers/net/ethernet/intel/idpf/idpf_txrx.c
1533
config_data = &vport->adapter->vport_config[idx]->user_config;
drivers/net/ethernet/intel/idpf/idpf_txrx.c
1575
int idpf_vport_calc_total_qs(struct idpf_adapter *adapter, u16 vport_idx,
drivers/net/ethernet/intel/idpf/idpf_txrx.c
1587
vport_config = adapter->vport_config[vport_idx];
drivers/net/ethernet/intel/idpf/idpf_txrx.c
1722
flow_sch_en = !idpf_is_cap_ena(vport->adapter, IDPF_OTHER_CAPS,
drivers/net/ethernet/intel/idpf/idpf_txrx.c
1727
struct idpf_adapter *adapter = vport->adapter;
drivers/net/ethernet/intel/idpf/idpf_txrx.c
1741
q->dev = &adapter->pdev->dev;
drivers/net/ethernet/intel/idpf/idpf_txrx.c
1743
q->tx_max_bufs = idpf_get_max_tx_bufs(adapter);
drivers/net/ethernet/intel/idpf/idpf_txrx.c
1744
q->tx_min_pkt_len = idpf_get_min_tx_pkt_len(adapter);
drivers/net/ethernet/intel/idpf/idpf_txrx.c
1805
struct idpf_adapter *adapter = vport->adapter;
drivers/net/ethernet/intel/idpf/idpf_txrx.c
1893
q->rx_ptype_lkup = adapter->singleq_pt_lkup;
drivers/net/ethernet/intel/idpf/idpf_txrx.c
1905
q->rx_ptype_lkup = adapter->splitq_pt_lkup;
drivers/net/ethernet/intel/idpf/idpf_txrx.c
316
pci_err(vport->adapter->pdev,
drivers/net/ethernet/intel/idpf/idpf_txrx.c
329
pci_err(vport->adapter->pdev,
drivers/net/ethernet/intel/idpf/idpf_txrx.c
3863
struct idpf_adapter *adapter = vport->adapter;
drivers/net/ethernet/intel/idpf/idpf_txrx.c
3874
irq_num = adapter->msix_entries[vidx].vector;
drivers/net/ethernet/intel/idpf/idpf_txrx.c
4044
struct idpf_adapter *adapter = vport->adapter;
drivers/net/ethernet/intel/idpf/idpf_txrx.c
4048
drv_name = dev_driver_string(&adapter->pdev->dev);
drivers/net/ethernet/intel/idpf/idpf_txrx.c
4056
irq_num = adapter->msix_entries[vidx].vector;
drivers/net/ethernet/intel/idpf/idpf_txrx.c
4086
irq_num = adapter->msix_entries[vidx].vector;
drivers/net/ethernet/intel/idpf/idpf_txrx.c
4482
struct idpf_adapter *adapter = vport->adapter;
drivers/net/ethernet/intel/idpf/idpf_txrx.c
4487
ac = adapter->req_vec_chunks;
drivers/net/ethernet/intel/idpf/idpf_txrx.c
4497
total_vecs = idpf_get_reserved_vecs(adapter);
drivers/net/ethernet/intel/idpf/idpf_txrx.c
45
struct idpf_adapter *adapter = idpf_netdev_to_adapter(netdev);
drivers/net/ethernet/intel/idpf/idpf_txrx.c
4502
idpf_get_vec_ids(adapter, vecids, total_vecs, &ac->vchunks);
drivers/net/ethernet/intel/idpf/idpf_txrx.c
4535
irq_num = vport->adapter->msix_entries[qv_idx].vector;
drivers/net/ethernet/intel/idpf/idpf_txrx.c
4562
user_config = &vport->adapter->vport_config[idx]->user_config;
drivers/net/ethernet/intel/idpf/idpf_txrx.c
4647
err = vport->adapter->dev_ops.reg_ops.intr_reg_init(vport, rsrc);
drivers/net/ethernet/intel/idpf/idpf_txrx.c
4678
struct idpf_adapter *adapter = vport->adapter;
drivers/net/ethernet/intel/idpf/idpf_txrx.c
4682
err = idpf_send_get_set_rss_key_msg(adapter, rss_data, vport_id, false);
drivers/net/ethernet/intel/idpf/idpf_txrx.c
4686
return idpf_send_get_set_rss_lut_msg(adapter, rss_data, vport_id, false);
drivers/net/ethernet/intel/idpf/idpf_txrx.c
47
adapter->tx_timeout_count++;
drivers/net/ethernet/intel/idpf/idpf_txrx.c
50
adapter->tx_timeout_count, txqueue);
drivers/net/ethernet/intel/idpf/idpf_txrx.c
51
if (!idpf_is_reset_in_prog(adapter)) {
drivers/net/ethernet/intel/idpf/idpf_txrx.c
52
set_bit(IDPF_HR_FUNC_RESET, adapter->flags);
drivers/net/ethernet/intel/idpf/idpf_txrx.c
53
queue_delayed_work(adapter->vc_event_wq,
drivers/net/ethernet/intel/idpf/idpf_txrx.c
54
&adapter->vc_event_task,
drivers/net/ethernet/intel/idpf/idpf_txrx.c
846
struct device *dev = &vport->adapter->pdev->dev;
drivers/net/ethernet/intel/idpf/idpf_txrx.c
880
struct device *dev = &vport->adapter->pdev->dev;
drivers/net/ethernet/intel/idpf/idpf_txrx.c
930
pci_err(vport->adapter->pdev,
drivers/net/ethernet/intel/idpf/idpf_txrx.c
947
pci_err(vport->adapter->pdev,
drivers/net/ethernet/intel/idpf/idpf_txrx.h
1083
int idpf_vport_calc_total_qs(struct idpf_adapter *adapter, u16 vport_index,
drivers/net/ethernet/intel/idpf/idpf_vf_dev.c
101
intr->dyn_ctl = idpf_get_reg_addr(adapter,
drivers/net/ethernet/intel/idpf/idpf_vf_dev.c
120
intr->rx_itr = idpf_get_reg_addr(adapter, rx_itr);
drivers/net/ethernet/intel/idpf/idpf_vf_dev.c
121
intr->tx_itr = idpf_get_reg_addr(adapter, tx_itr);
drivers/net/ethernet/intel/idpf/idpf_vf_dev.c
127
rsrc->noirq_dyn_ctl = idpf_get_reg_addr(adapter, val);
drivers/net/ethernet/intel/idpf/idpf_vf_dev.c
143
static void idpf_vf_reset_reg_init(struct idpf_adapter *adapter)
drivers/net/ethernet/intel/idpf/idpf_vf_dev.c
145
adapter->reset_reg.rstat = idpf_get_rstat_reg_addr(adapter, VFGEN_RSTAT);
drivers/net/ethernet/intel/idpf/idpf_vf_dev.c
146
adapter->reset_reg.rstat_m = VFGEN_RSTAT_VFR_STATE_M;
drivers/net/ethernet/intel/idpf/idpf_vf_dev.c
15
static void idpf_vf_ctlq_reg_init(struct idpf_adapter *adapter,
drivers/net/ethernet/intel/idpf/idpf_vf_dev.c
154
static void idpf_vf_trigger_reset(struct idpf_adapter *adapter,
drivers/net/ethernet/intel/idpf/idpf_vf_dev.c
159
!test_bit(IDPF_REMOVE_IN_PROG, adapter->flags))
drivers/net/ethernet/intel/idpf/idpf_vf_dev.c
160
idpf_send_mb_msg(adapter, adapter->hw.asq,
drivers/net/ethernet/intel/idpf/idpf_vf_dev.c
170
static int idpf_idc_vf_register(struct idpf_adapter *adapter)
drivers/net/ethernet/intel/idpf/idpf_vf_dev.c
172
return idpf_idc_init_aux_core_dev(adapter, IIDC_FUNCTION_TYPE_VF);
drivers/net/ethernet/intel/idpf/idpf_vf_dev.c
179
static void idpf_vf_reg_ops_init(struct idpf_adapter *adapter)
drivers/net/ethernet/intel/idpf/idpf_vf_dev.c
18
resource_size_t mbx_start = adapter->dev_ops.static_reg_info[0].start;
drivers/net/ethernet/intel/idpf/idpf_vf_dev.c
181
adapter->dev_ops.reg_ops.ctlq_reg_init = idpf_vf_ctlq_reg_init;
drivers/net/ethernet/intel/idpf/idpf_vf_dev.c
182
adapter->dev_ops.reg_ops.intr_reg_init = idpf_vf_intr_reg_init;
drivers/net/ethernet/intel/idpf/idpf_vf_dev.c
183
adapter->dev_ops.reg_ops.mb_intr_reg_init = idpf_vf_mb_intr_reg_init;
drivers/net/ethernet/intel/idpf/idpf_vf_dev.c
184
adapter->dev_ops.reg_ops.reset_reg_init = idpf_vf_reset_reg_init;
drivers/net/ethernet/intel/idpf/idpf_vf_dev.c
185
adapter->dev_ops.reg_ops.trigger_reset = idpf_vf_trigger_reset;
drivers/net/ethernet/intel/idpf/idpf_vf_dev.c
192
void idpf_vf_dev_ops_init(struct idpf_adapter *adapter)
drivers/net/ethernet/intel/idpf/idpf_vf_dev.c
194
idpf_vf_reg_ops_init(adapter);
drivers/net/ethernet/intel/idpf/idpf_vf_dev.c
196
adapter->dev_ops.idc_init = idpf_idc_vf_register;
drivers/net/ethernet/intel/idpf/idpf_vf_dev.c
198
resource_set_range(&adapter->dev_ops.static_reg_info[0],
drivers/net/ethernet/intel/idpf/idpf_vf_dev.c
200
resource_set_range(&adapter->dev_ops.static_reg_info[1],
drivers/net/ethernet/intel/idpf/idpf_vf_dev.c
57
static void idpf_vf_mb_intr_reg_init(struct idpf_adapter *adapter)
drivers/net/ethernet/intel/idpf/idpf_vf_dev.c
59
struct idpf_intr_reg *intr = &adapter->mb_vector.intr_reg;
drivers/net/ethernet/intel/idpf/idpf_vf_dev.c
60
u32 dyn_ctl = le32_to_cpu(adapter->caps.mailbox_dyn_ctl);
drivers/net/ethernet/intel/idpf/idpf_vf_dev.c
62
intr->dyn_ctl = idpf_get_reg_addr(adapter, dyn_ctl);
drivers/net/ethernet/intel/idpf/idpf_vf_dev.c
65
intr->icr_ena = idpf_get_reg_addr(adapter, VF_INT_ICR0_ENA1);
drivers/net/ethernet/intel/idpf/idpf_vf_dev.c
77
struct idpf_adapter *adapter = vport->adapter;
drivers/net/ethernet/intel/idpf/idpf_vf_dev.c
84
total_vecs = idpf_get_reserved_vecs(vport->adapter);
drivers/net/ethernet/intel/idpf/idpf_vf_dev.c
89
num_regs = idpf_get_reg_intr_vecs(adapter, reg_vals);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
1009
xn_params.recv_buf.iov_base = &adapter->caps;
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
1010
xn_params.recv_buf.iov_len = sizeof(adapter->caps);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
1013
reply_sz = idpf_vc_xn_exec(adapter, &xn_params);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
1016
if (reply_sz < sizeof(adapter->caps))
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
1028
static int idpf_send_get_lan_memory_regions(struct idpf_adapter *adapter)
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
1051
reply_sz = idpf_vc_xn_exec(adapter, &xn_params);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
1063
hw = &adapter->hw;
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
1089
static int idpf_calc_remaining_mmio_regs(struct idpf_adapter *adapter)
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
109
idpf_handle_event_link(adapter, v2e);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
1091
struct resource *rstat_reg = &adapter->dev_ops.static_reg_info[1];
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
1092
struct resource *mbx_reg = &adapter->dev_ops.static_reg_info[0];
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
1093
struct idpf_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
1109
hw->lan_regs[2].addr_len = pci_resource_len(adapter->pdev, 0) -
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
112
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
1121
static int idpf_map_lan_mmio_regs(struct idpf_adapter *adapter)
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
1123
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
1124
struct idpf_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
1159
int idpf_add_del_fsteer_filters(struct idpf_adapter *adapter,
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
1179
reply_sz = idpf_vc_xn_exec(adapter, &xn_params);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
1188
int idpf_vport_alloc_max_qs(struct idpf_adapter *adapter,
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
1191
struct idpf_avail_queue_info *avail_queues = &adapter->avail_queues;
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
1192
struct virtchnl2_get_capabilities *caps = &adapter->caps;
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
1193
u16 default_vports = idpf_get_default_vports(adapter);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
1196
mutex_lock(&adapter->queue_lock);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
1204
if (adapter->num_alloc_vports >= default_vports) {
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
1228
mutex_unlock(&adapter->queue_lock);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
1238
mutex_unlock(&adapter->queue_lock);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
1248
void idpf_vport_dealloc_max_qs(struct idpf_adapter *adapter,
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
1253
mutex_lock(&adapter->queue_lock);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
1254
avail_queues = &adapter->avail_queues;
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
1261
mutex_unlock(&adapter->queue_lock);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
1268
static void idpf_init_avail_queues(struct idpf_adapter *adapter)
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
127
static int idpf_mb_clean(struct idpf_adapter *adapter,
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
1270
struct idpf_avail_queue_info *avail_queues = &adapter->avail_queues;
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
1271
struct virtchnl2_get_capabilities *caps = &adapter->caps;
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
1324
int idpf_get_reg_intr_vecs(struct idpf_adapter *adapter,
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
1332
chunks = &adapter->req_vec_chunks->vchunks;
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
1416
struct idpf_adapter *adapter = vport->adapter;
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
1426
idpf_get_reg_addr(adapter, reg_vals[k]);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
1438
q->tail = idpf_get_reg_addr(adapter,
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
1452
q->tail = idpf_get_reg_addr(adapter,
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
148
dma_free_coherent(&adapter->pdev->dev, dma_mem->size,
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
1550
int idpf_send_create_vport_msg(struct idpf_adapter *adapter,
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
1555
u16 idx = adapter->next_vport;
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
1560
if (!adapter->vport_params_reqd[idx]) {
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
1561
adapter->vport_params_reqd[idx] = kzalloc(buf_size,
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
1563
if (!adapter->vport_params_reqd[idx])
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
1567
vport_msg = adapter->vport_params_reqd[idx];
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
1571
if (adapter->req_tx_splitq || !IS_ENABLED(CONFIG_IDPF_SINGLEQ))
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
1576
if (adapter->req_rx_splitq || !IS_ENABLED(CONFIG_IDPF_SINGLEQ))
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
1581
err = idpf_vport_calc_total_qs(adapter, idx, vport_msg, max_q);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
1583
dev_err(&adapter->pdev->dev, "Enough queues are not available");
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
1588
if (!adapter->vport_params_recvd[idx]) {
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
1589
adapter->vport_params_recvd[idx] = kzalloc(IDPF_CTLQ_MAX_BUF_LEN,
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
1591
if (!adapter->vport_params_recvd[idx]) {
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
1600
xn_params.recv_buf.iov_base = adapter->vport_params_recvd[idx];
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
1603
reply_sz = idpf_vc_xn_exec(adapter, &xn_params);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
1612
kfree(adapter->vport_params_recvd[idx]);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
1613
adapter->vport_params_recvd[idx] = NULL;
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
1614
kfree(adapter->vport_params_reqd[idx]);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
1615
adapter->vport_params_reqd[idx] = NULL;
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
1629
struct idpf_adapter *adapter = vport->adapter;
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
1633
vport_msg = adapter->vport_params_recvd[vport->idx];
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
1638
pci_err(adapter->pdev, "singleq mode requested, but not compiled-in\n");
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
1647
dev_info(&adapter->pdev->dev, "Minimum RX descriptor support not provided, using the default\n");
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
1659
dev_info(&adapter->pdev->dev, "Minimum TX descriptor support not provided, using the default\n");
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
1673
int idpf_send_destroy_vport_msg(struct idpf_adapter *adapter, u32 vport_id)
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
1685
reply_sz = idpf_vc_xn_exec(adapter, &xn_params);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
1697
int idpf_send_enable_vport_msg(struct idpf_adapter *adapter, u32 vport_id)
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
1709
reply_sz = idpf_vc_xn_exec(adapter, &xn_params);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
1721
int idpf_send_disable_vport_msg(struct idpf_adapter *adapter, u32 vport_id)
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
1733
reply_sz = idpf_vc_xn_exec(adapter, &xn_params);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
1864
return idpf_send_chunked_msg(qs->adapter, ¶ms);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
1875
static int idpf_send_config_tx_queues_msg(struct idpf_adapter *adapter,
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
1883
qs = idpf_alloc_queue_set(adapter, rsrc, vport_id, totqs);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
190
static void idpf_prepare_ptp_mb_msg(struct idpf_adapter *adapter, u32 op,
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
196
if (!idpf_ptp_is_mb_msg(op) || !adapter->ptp->secondary_mbx.valid)
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
200
ctlq_msg->func_id = adapter->ptp->secondary_mbx.peer_mbx_q_id;
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
201
ctlq_msg->host_id = adapter->ptp->secondary_mbx.peer_id;
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
204
static void idpf_prepare_ptp_mb_msg(struct idpf_adapter *adapter, u32 op,
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
2052
return idpf_send_chunked_msg(qs->adapter, ¶ms);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
2063
static int idpf_send_config_rx_queues_msg(struct idpf_adapter *adapter,
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
2072
qs = idpf_alloc_queue_set(adapter, rsrc, vport_id, totqs);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
2197
return idpf_send_chunked_msg(qs->adapter, ¶ms);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
2210
static int idpf_send_ena_dis_queues_msg(struct idpf_adapter *adapter,
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
222
int idpf_send_mb_msg(struct idpf_adapter *adapter, struct idpf_ctlq_info *asq,
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
2221
qs = idpf_alloc_queue_set(adapter, rsrc, vport_id, num_q);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
234
if (idpf_is_reset_detected(adapter))
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
237
err = idpf_mb_clean(adapter, asq);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
2392
return idpf_send_chunked_msg(qs->adapter, ¶ms);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
2405
int idpf_send_map_unmap_queue_vector_msg(struct idpf_adapter *adapter,
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
2413
qs = idpf_alloc_queue_set(adapter, rsrc, vport_id, num_q);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
2517
return idpf_send_ena_dis_queues_msg(vport->adapter,
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
2533
err = idpf_send_ena_dis_queues_msg(vport->adapter,
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
254
idpf_prepare_ptp_mb_msg(adapter, op, ctlq_msg);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
2570
int idpf_send_delete_queues_msg(struct idpf_adapter *adapter,
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
2597
reply_sz = idpf_vc_xn_exec(adapter, &xn_params);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
260
dma_mem->va = dma_alloc_coherent(&adapter->pdev->dev, dma_mem->size,
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
2610
int idpf_send_config_queues_msg(struct idpf_adapter *adapter,
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
2616
err = idpf_send_config_tx_queues_msg(adapter, rsrc, vport_id);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
2620
return idpf_send_config_rx_queues_msg(adapter, rsrc, vport_id);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
2632
int idpf_send_add_queues_msg(struct idpf_adapter *adapter,
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
2659
reply_sz = idpf_vc_xn_exec(adapter, &xn_params);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
2685
int idpf_send_alloc_vectors_msg(struct idpf_adapter *adapter, u16 num_vectors)
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
2706
reply_sz = idpf_vc_xn_exec(adapter, &xn_params);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
2718
kfree(adapter->req_vec_chunks);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
2719
adapter->req_vec_chunks = kmemdup(rcvd_vec, size, GFP_KERNEL);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
2720
if (!adapter->req_vec_chunks)
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
2723
if (le16_to_cpu(adapter->req_vec_chunks->num_vectors) < num_vectors) {
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
2724
kfree(adapter->req_vec_chunks);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
2725
adapter->req_vec_chunks = NULL;
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
273
err = idpf_ctlq_send(&adapter->hw, asq, 1, ctlq_msg);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
2738
int idpf_send_dealloc_vectors_msg(struct idpf_adapter *adapter)
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
2740
struct virtchnl2_alloc_vectors *ac = adapter->req_vec_chunks;
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
2752
reply_sz = idpf_vc_xn_exec(adapter, &xn_params);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
2756
kfree(adapter->req_vec_chunks);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
2757
adapter->req_vec_chunks = NULL;
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
2768
static int idpf_get_max_vfs(struct idpf_adapter *adapter)
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
2770
return le16_to_cpu(adapter->caps.max_sriov_vfs);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
2780
int idpf_send_set_sriov_vfs_msg(struct idpf_adapter *adapter, u16 num_vfs)
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
2791
reply_sz = idpf_vc_xn_exec(adapter, &xn_params);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
280
dma_free_coherent(&adapter->pdev->dev, dma_mem->size, dma_mem->va,
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
2824
reply_sz = idpf_vc_xn_exec(np->adapter, &xn_params);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
2865
int idpf_send_get_set_rss_lut_msg(struct idpf_adapter *adapter,
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
2878
vport = idpf_vid_to_vport(adapter, vport_id);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
2910
reply_sz = idpf_vc_xn_exec(adapter, &xn_params);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
2950
int idpf_send_get_set_rss_key_msg(struct idpf_adapter *adapter,
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
2986
reply_sz = idpf_vc_xn_exec(adapter, &xn_params);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3189
static int idpf_send_get_rx_ptype_msg(struct idpf_adapter *adapter)
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3234
reply_sz = idpf_vc_xn_exec(adapter, &xn_params);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3283
adapter->splitq_pt_lkup = no_free_ptr(splitq_pt_lkup);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3284
adapter->singleq_pt_lkup = no_free_ptr(singleq_pt_lkup);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3293
static void idpf_rel_rx_pt_lkup(struct idpf_adapter *adapter)
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3295
kfree(adapter->splitq_pt_lkup);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3296
adapter->splitq_pt_lkup = NULL;
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3298
kfree(adapter->singleq_pt_lkup);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3299
adapter->singleq_pt_lkup = NULL;
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
33
struct idpf_vport *idpf_vid_to_vport(struct idpf_adapter *adapter, u32 v_id)
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3311
int idpf_send_ena_dis_loopback_msg(struct idpf_adapter *adapter, u32 vport_id,
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3325
reply_sz = idpf_vc_xn_exec(adapter, &xn_params);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3356
int idpf_init_dflt_mbx(struct idpf_adapter *adapter)
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3372
struct idpf_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3375
adapter->dev_ops.reg_ops.ctlq_reg_init(adapter, ctlq_info);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3392
adapter->state = __IDPF_VER_CHECK;
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3401
void idpf_deinit_dflt_mbx(struct idpf_adapter *adapter)
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3403
if (adapter->hw.arq && adapter->hw.asq) {
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3404
idpf_mb_clean(adapter, adapter->hw.asq);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3405
idpf_ctlq_deinit(&adapter->hw);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3407
adapter->hw.arq = NULL;
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3408
adapter->hw.asq = NULL;
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3417
static void idpf_vport_params_buf_rel(struct idpf_adapter *adapter)
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3419
kfree(adapter->vport_params_recvd);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3420
adapter->vport_params_recvd = NULL;
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3421
kfree(adapter->vport_params_reqd);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3422
adapter->vport_params_reqd = NULL;
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3423
kfree(adapter->vport_ids);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3424
adapter->vport_ids = NULL;
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3433
static int idpf_vport_params_buf_alloc(struct idpf_adapter *adapter)
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3435
u16 num_max_vports = idpf_get_max_vports(adapter);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3437
adapter->vport_params_reqd = kzalloc_objs(*adapter->vport_params_reqd,
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3439
if (!adapter->vport_params_reqd)
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3442
adapter->vport_params_recvd = kzalloc_objs(*adapter->vport_params_recvd,
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3444
if (!adapter->vport_params_recvd)
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3447
adapter->vport_ids = kcalloc(num_max_vports, sizeof(u32), GFP_KERNEL);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3448
if (!adapter->vport_ids)
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3451
if (adapter->vport_config)
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3454
adapter->vport_config = kzalloc_objs(*adapter->vport_config,
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3456
if (!adapter->vport_config)
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3462
idpf_vport_params_buf_rel(adapter);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3480
int idpf_vc_core_init(struct idpf_adapter *adapter)
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3486
if (!adapter->vcxn_mngr) {
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3487
adapter->vcxn_mngr = kzalloc_obj(*adapter->vcxn_mngr);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3488
if (!adapter->vcxn_mngr) {
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3493
idpf_vc_xn_init(adapter->vcxn_mngr);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3495
while (adapter->state != __IDPF_INIT_SW) {
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3496
switch (adapter->state) {
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3498
err = idpf_send_ver_msg(adapter);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
35
u16 num_max_vports = idpf_get_max_vports(adapter);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3502
adapter->state = __IDPF_GET_CAPS;
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3513
err = idpf_send_get_caps_msg(adapter);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3516
adapter->state = __IDPF_INIT_SW;
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3519
dev_err(&adapter->pdev->dev, "Device is in bad state: %d\n",
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3520
adapter->state);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3532
if (idpf_is_cap_ena(adapter, IDPF_OTHER_CAPS, VIRTCHNL2_CAP_LAN_MEMORY_REGIONS)) {
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3533
err = idpf_send_get_lan_memory_regions(adapter);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3535
dev_err(&adapter->pdev->dev, "Failed to get LAN memory regions: %d\n",
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3541
err = idpf_calc_remaining_mmio_regs(adapter);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3543
dev_err(&adapter->pdev->dev, "Failed to allocate BAR0 region(s): %d\n",
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3549
err = idpf_map_lan_mmio_regs(adapter);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3551
dev_err(&adapter->pdev->dev, "Failed to map BAR0 region(s): %d\n",
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3556
pci_sriov_set_totalvfs(adapter->pdev, idpf_get_max_vfs(adapter));
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3557
num_max_vports = idpf_get_max_vports(adapter);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3558
adapter->max_vports = num_max_vports;
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3559
adapter->vports = kzalloc_objs(*adapter->vports, num_max_vports);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3560
if (!adapter->vports)
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3563
if (!adapter->netdevs) {
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3564
adapter->netdevs = kzalloc_objs(struct net_device *,
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3566
if (!adapter->netdevs) {
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3572
err = idpf_vport_params_buf_alloc(adapter);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3574
dev_err(&adapter->pdev->dev, "Failed to alloc vport params buffer: %d\n",
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3582
queue_delayed_work(adapter->mbx_wq, &adapter->mbx_task, 0);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3584
queue_delayed_work(adapter->serv_wq, &adapter->serv_task,
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3585
msecs_to_jiffies(5 * (adapter->pdev->devfn & 0x07)));
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3587
err = idpf_intr_req(adapter);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3589
dev_err(&adapter->pdev->dev, "failed to enable interrupt vectors: %d\n",
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3594
err = idpf_send_get_rx_ptype_msg(adapter);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3596
dev_err(&adapter->pdev->dev, "failed to get RX ptypes: %d\n",
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3601
err = idpf_ptp_init(adapter);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3603
pci_err(adapter->pdev, "PTP init failed, err=%pe\n",
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3606
idpf_init_avail_queues(adapter);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3611
queue_delayed_work(adapter->init_wq, &adapter->init_task,
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3612
msecs_to_jiffies(5 * (adapter->pdev->devfn & 0x07)));
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3614
set_bit(IDPF_VC_CORE_INIT, adapter->flags);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3619
idpf_intr_rel(adapter);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3621
cancel_delayed_work_sync(&adapter->serv_task);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3622
cancel_delayed_work_sync(&adapter->mbx_task);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3623
idpf_vport_params_buf_rel(adapter);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3625
kfree(adapter->vports);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3626
adapter->vports = NULL;
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3631
if (test_bit(IDPF_REMOVE_IN_PROG, adapter->flags))
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3634
if (++adapter->mb_wait_count > IDPF_MB_MAX_ERR) {
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3635
dev_err(&adapter->pdev->dev, "Failed to establish mailbox communications with hardware\n");
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3643
adapter->state = __IDPF_VER_CHECK;
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3644
if (adapter->vcxn_mngr)
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3645
idpf_vc_xn_shutdown(adapter->vcxn_mngr);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3646
set_bit(IDPF_HR_DRV_LOAD, adapter->flags);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3647
queue_delayed_work(adapter->vc_event_wq, &adapter->vc_event_task,
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3658
void idpf_vc_core_deinit(struct idpf_adapter *adapter)
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3660
struct idpf_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3663
if (!test_bit(IDPF_VC_CORE_INIT, adapter->flags))
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3667
remove_in_prog = test_bit(IDPF_REMOVE_IN_PROG, adapter->flags);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3669
idpf_vc_xn_shutdown(adapter->vcxn_mngr);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3671
idpf_ptp_release(adapter);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3672
idpf_deinit_task(adapter);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3673
idpf_idc_deinit_core_aux_device(adapter);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3674
idpf_rel_rx_pt_lkup(adapter);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3675
idpf_intr_rel(adapter);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3678
idpf_vc_xn_shutdown(adapter->vcxn_mngr);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3680
cancel_delayed_work_sync(&adapter->serv_task);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3681
cancel_delayed_work_sync(&adapter->mbx_task);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3683
idpf_vport_params_buf_rel(adapter);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3688
kfree(adapter->vports);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3689
adapter->vports = NULL;
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3691
clear_bit(IDPF_VC_CORE_INIT, adapter->flags);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3724
num_alloc_vecs = idpf_req_rel_vector_indexes(vport->adapter,
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3728
dev_err(&vport->adapter->pdev->dev, "Vector distribution failed: %d\n",
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3750
struct idpf_adapter *adapter = vport->adapter;
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3759
vport_config = adapter->vport_config[idx];
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3761
vport_msg = adapter->vport_params_recvd[idx];
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3796
vport->crc_enable = adapter->crc_enable;
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3805
pci_dbg(vport->adapter->pdev, "Tx timestamping not supported\n");
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3826
int idpf_get_vec_ids(struct idpf_adapter *adapter,
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
3834
vecids[num_vecid_filled] = adapter->mb_vector.v_idx;
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
39
if (adapter->vport_ids[i] == v_id)
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
40
return adapter->vports[i];
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
4077
err = idpf_vport_calc_total_qs(vport->adapter, vport->idx, &vport_msg,
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
4097
bool idpf_is_capability_ena(struct idpf_adapter *adapter, bool all,
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
4100
u8 *caps = (u8 *)&adapter->caps;
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
4128
vport_msg = vport->adapter->vport_params_recvd[vport->idx];
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
4145
vport_msg = vport->adapter->vport_params_recvd[vport->idx];
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
4171
vport_msg = vport->adapter->vport_params_recvd[vport->idx];
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
4186
vport_msg = vport->adapter->vport_params_recvd[vport->idx];
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
4200
vport_msg = vport->adapter->vport_params_recvd[vport->idx];
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
4227
static int idpf_mac_filter_async_handler(struct idpf_adapter *adapter,
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
425
ssize_t idpf_vc_xn_exec(struct idpf_adapter *adapter,
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
4255
vport = idpf_vid_to_vport(adapter, le32_to_cpu(ma_list->vport_id));
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
4259
vport_config = adapter->vport_config[le32_to_cpu(ma_list->vport_id)];
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
4272
dev_err_ratelimited(&adapter->pdev->dev, "Received error sending MAC filter request (op %d)\n",
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
4278
dev_err_ratelimited(&adapter->pdev->dev, "Received invalid MAC filter payload (op %d) (len %zd)\n",
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
4295
int idpf_add_del_mac_filters(struct idpf_adapter *adapter,
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
433
xn = idpf_vc_xn_pop_free(adapter->vcxn_mngr);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
4390
reply_sz = idpf_vc_xn_exec(adapter, &xn_params);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
4411
int idpf_set_promiscuous(struct idpf_adapter *adapter,
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
4434
reply_sz = idpf_vc_xn_exec(adapter, &xn_params);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
4453
struct idpf_adapter *adapter = pci_get_drvdata(cdev_info->pdev);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
4469
reply_sz = idpf_vc_xn_exec(adapter, &xn_params);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
467
retval = idpf_send_mb_msg(adapter, adapter->hw.asq, params->vc_op,
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
493
dev_notice_ratelimited(&adapter->pdev->dev,
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
50
static void idpf_handle_event_link(struct idpf_adapter *adapter,
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
503
dev_notice_ratelimited(&adapter->pdev->dev, "Transaction failed (op %d)\n",
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
515
idpf_vc_xn_push_free(adapter->vcxn_mngr, xn);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
534
idpf_vc_xn_forward_async(struct idpf_adapter *adapter, struct idpf_vc_xn *xn,
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
540
dev_err_ratelimited(&adapter->pdev->dev, "Async message opcode does not match transaction opcode (msg: %d) (xn: %d)\n",
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
548
err = xn->async_handler(adapter, xn, ctlq_msg);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
554
dev_err_ratelimited(&adapter->pdev->dev, "Async message failure (op %d)\n",
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
56
vport = idpf_vid_to_vport(adapter, le32_to_cpu(v2e->vport_id));
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
560
idpf_vc_xn_push_free(adapter->vcxn_mngr, xn);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
571
idpf_vc_xn_forward_reply(struct idpf_adapter *adapter,
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
58
dev_err_ratelimited(&adapter->pdev->dev, "Failed to find vport_id %d for link event\n",
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
584
if (xn_idx >= ARRAY_SIZE(adapter->vcxn_mngr->ring)) {
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
585
dev_err_ratelimited(&adapter->pdev->dev, "Out of bounds cookie received: %02x\n",
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
589
xn = &adapter->vcxn_mngr->ring[xn_idx];
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
593
dev_err_ratelimited(&adapter->pdev->dev, "Transaction salt does not match (exp:%d@%02x(%d) != got:%d@%02x)\n",
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
605
dev_err_ratelimited(&adapter->pdev->dev, "Unexpected or belated VC reply (op %d)\n",
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
622
err = idpf_vc_xn_forward_async(adapter, xn, ctlq_msg);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
626
dev_err_ratelimited(&adapter->pdev->dev, "Overwriting VC reply (op %d)\n",
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
633
dev_err_ratelimited(&adapter->pdev->dev, "Message opcode does not match transaction opcode (msg: %d) (xn: %d)\n",
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
677
int idpf_recv_mb_msg(struct idpf_adapter *adapter, struct idpf_ctlq_info *arq)
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
701
idpf_recv_event_msg(adapter, &ctlq_msg);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
703
err = idpf_vc_xn_forward_reply(adapter, &ctlq_msg);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
705
post_err = idpf_ctlq_post_rx_buffs(&adapter->hw, arq,
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
711
dma_free_coherent(&adapter->pdev->dev,
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
739
struct idpf_queue_set *idpf_alloc_queue_set(struct idpf_adapter *adapter,
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
749
qp->adapter = adapter;
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
767
static int idpf_send_chunked_msg(struct idpf_adapter *adapter,
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
800
reply_sz = idpf_vc_xn_exec(adapter, &xn_params);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
862
qs = idpf_alloc_queue_set(vport->adapter, &vport->dflt_qv_rsrc,
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
881
static int idpf_send_ver_msg(struct idpf_adapter *adapter)
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
889
if (adapter->virt_ver_maj) {
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
890
vvi.major = cpu_to_le32(adapter->virt_ver_maj);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
891
vvi.minor = cpu_to_le32(adapter->virt_ver_min);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
90
static void idpf_recv_event_msg(struct idpf_adapter *adapter,
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
903
reply_sz = idpf_vc_xn_exec(adapter, &xn_params);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
913
dev_warn(&adapter->pdev->dev, "Virtchnl major version greater than supported\n");
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
919
dev_warn(&adapter->pdev->dev, "Virtchnl minor version didn't match\n");
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
924
if (!adapter->virt_ver_maj &&
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
929
adapter->virt_ver_maj = major;
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
930
adapter->virt_ver_min = minor;
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
942
static int idpf_send_get_caps_msg(struct idpf_adapter *adapter)
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
98
dev_err_ratelimited(&adapter->pdev->dev, "Failed to receive valid payload for event msg (op %d len %d)\n",
drivers/net/ethernet/intel/idpf/idpf_virtchnl.h
101
int idpf_init_dflt_mbx(struct idpf_adapter *adapter);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.h
102
void idpf_deinit_dflt_mbx(struct idpf_adapter *adapter);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.h
103
int idpf_vc_core_init(struct idpf_adapter *adapter);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.h
104
void idpf_vc_core_deinit(struct idpf_adapter *adapter);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.h
106
int idpf_get_reg_intr_vecs(struct idpf_adapter *adapter,
drivers/net/ethernet/intel/idpf/idpf_virtchnl.h
127
int idpf_recv_mb_msg(struct idpf_adapter *adapter, struct idpf_ctlq_info *arq);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.h
128
int idpf_send_mb_msg(struct idpf_adapter *adapter, struct idpf_ctlq_info *asq,
drivers/net/ethernet/intel/idpf/idpf_virtchnl.h
142
struct idpf_adapter *adapter;
drivers/net/ethernet/intel/idpf/idpf_virtchnl.h
150
struct idpf_queue_set *idpf_alloc_queue_set(struct idpf_adapter *adapter,
drivers/net/ethernet/intel/idpf/idpf_virtchnl.h
160
int idpf_send_config_queues_msg(struct idpf_adapter *adapter,
drivers/net/ethernet/intel/idpf/idpf_virtchnl.h
166
int idpf_send_create_vport_msg(struct idpf_adapter *adapter,
drivers/net/ethernet/intel/idpf/idpf_virtchnl.h
168
int idpf_send_destroy_vport_msg(struct idpf_adapter *adapter, u32 vport_id);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.h
169
int idpf_send_enable_vport_msg(struct idpf_adapter *adapter, u32 vport_id);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.h
170
int idpf_send_disable_vport_msg(struct idpf_adapter *adapter, u32 vport_id);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.h
174
int idpf_vport_alloc_max_qs(struct idpf_adapter *adapter,
drivers/net/ethernet/intel/idpf/idpf_virtchnl.h
176
void idpf_vport_dealloc_max_qs(struct idpf_adapter *adapter,
drivers/net/ethernet/intel/idpf/idpf_virtchnl.h
178
int idpf_send_add_queues_msg(struct idpf_adapter *adapter,
drivers/net/ethernet/intel/idpf/idpf_virtchnl.h
182
int idpf_send_delete_queues_msg(struct idpf_adapter *adapter,
drivers/net/ethernet/intel/idpf/idpf_virtchnl.h
188
int idpf_get_vec_ids(struct idpf_adapter *adapter,
drivers/net/ethernet/intel/idpf/idpf_virtchnl.h
191
int idpf_send_alloc_vectors_msg(struct idpf_adapter *adapter, u16 num_vectors);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.h
192
int idpf_send_dealloc_vectors_msg(struct idpf_adapter *adapter);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.h
193
int idpf_send_map_unmap_queue_vector_msg(struct idpf_adapter *adapter,
drivers/net/ethernet/intel/idpf/idpf_virtchnl.h
198
int idpf_add_del_mac_filters(struct idpf_adapter *adapter,
drivers/net/ethernet/intel/idpf/idpf_virtchnl.h
202
int idpf_set_promiscuous(struct idpf_adapter *adapter,
drivers/net/ethernet/intel/idpf/idpf_virtchnl.h
206
int idpf_send_ena_dis_loopback_msg(struct idpf_adapter *adapter, u32 vport_id,
drivers/net/ethernet/intel/idpf/idpf_virtchnl.h
210
int idpf_send_set_sriov_vfs_msg(struct idpf_adapter *adapter, u16 num_vfs);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.h
211
int idpf_send_get_set_rss_key_msg(struct idpf_adapter *adapter,
drivers/net/ethernet/intel/idpf/idpf_virtchnl.h
214
int idpf_send_get_set_rss_lut_msg(struct idpf_adapter *adapter,
drivers/net/ethernet/intel/idpf/idpf_virtchnl.h
99
ssize_t idpf_vc_xn_exec(struct idpf_adapter *adapter,
drivers/net/ethernet/intel/idpf/idpf_virtchnl_ptp.c
101
ptp->dev_clk_regs.sys_time_ns_l = idpf_get_reg_addr(adapter,
drivers/net/ethernet/intel/idpf/idpf_virtchnl_ptp.c
104
ptp->dev_clk_regs.sys_time_ns_h = idpf_get_reg_addr(adapter,
drivers/net/ethernet/intel/idpf/idpf_virtchnl_ptp.c
107
ptp->dev_clk_regs.cmd_sync = idpf_get_reg_addr(adapter, temp_offset);
drivers/net/ethernet/intel/idpf/idpf_virtchnl_ptp.c
118
ptp->dev_clk_regs.cmd = idpf_get_reg_addr(adapter, temp_offset);
drivers/net/ethernet/intel/idpf/idpf_virtchnl_ptp.c
120
ptp->dev_clk_regs.incval_l = idpf_get_reg_addr(adapter, temp_offset);
drivers/net/ethernet/intel/idpf/idpf_virtchnl_ptp.c
122
ptp->dev_clk_regs.incval_h = idpf_get_reg_addr(adapter, temp_offset);
drivers/net/ethernet/intel/idpf/idpf_virtchnl_ptp.c
124
ptp->dev_clk_regs.shadj_l = idpf_get_reg_addr(adapter, temp_offset);
drivers/net/ethernet/intel/idpf/idpf_virtchnl_ptp.c
126
ptp->dev_clk_regs.shadj_h = idpf_get_reg_addr(adapter, temp_offset);
drivers/net/ethernet/intel/idpf/idpf_virtchnl_ptp.c
130
ptp->dev_clk_regs.phy_cmd = idpf_get_reg_addr(adapter, temp_offset);
drivers/net/ethernet/intel/idpf/idpf_virtchnl_ptp.c
132
ptp->dev_clk_regs.phy_incval_l = idpf_get_reg_addr(adapter,
drivers/net/ethernet/intel/idpf/idpf_virtchnl_ptp.c
135
ptp->dev_clk_regs.phy_incval_h = idpf_get_reg_addr(adapter,
drivers/net/ethernet/intel/idpf/idpf_virtchnl_ptp.c
138
ptp->dev_clk_regs.phy_shadj_l = idpf_get_reg_addr(adapter, temp_offset);
drivers/net/ethernet/intel/idpf/idpf_virtchnl_ptp.c
140
ptp->dev_clk_regs.phy_shadj_h = idpf_get_reg_addr(adapter, temp_offset);
drivers/net/ethernet/intel/idpf/idpf_virtchnl_ptp.c
154
int idpf_ptp_get_dev_clk_time(struct idpf_adapter *adapter,
drivers/net/ethernet/intel/idpf/idpf_virtchnl_ptp.c
16
int idpf_ptp_get_caps(struct idpf_adapter *adapter)
drivers/net/ethernet/intel/idpf/idpf_virtchnl_ptp.c
169
reply_sz = idpf_vc_xn_exec(adapter, &xn_params);
drivers/net/ethernet/intel/idpf/idpf_virtchnl_ptp.c
191
int idpf_ptp_get_cross_time(struct idpf_adapter *adapter,
drivers/net/ethernet/intel/idpf/idpf_virtchnl_ptp.c
205
reply_sz = idpf_vc_xn_exec(adapter, &xn_params);
drivers/net/ethernet/intel/idpf/idpf_virtchnl_ptp.c
226
int idpf_ptp_set_dev_clk_time(struct idpf_adapter *adapter, u64 time)
drivers/net/ethernet/intel/idpf/idpf_virtchnl_ptp.c
241
reply_sz = idpf_vc_xn_exec(adapter, &xn_params);
drivers/net/ethernet/intel/idpf/idpf_virtchnl_ptp.c
259
int idpf_ptp_adj_dev_clk_time(struct idpf_adapter *adapter, s64 delta)
drivers/net/ethernet/intel/idpf/idpf_virtchnl_ptp.c
274
reply_sz = idpf_vc_xn_exec(adapter, &xn_params);
drivers/net/ethernet/intel/idpf/idpf_virtchnl_ptp.c
293
int idpf_ptp_adj_dev_clk_fine(struct idpf_adapter *adapter, u64 incval)
drivers/net/ethernet/intel/idpf/idpf_virtchnl_ptp.c
308
reply_sz = idpf_vc_xn_exec(adapter, &xn_params);
drivers/net/ethernet/intel/idpf/idpf_virtchnl_ptp.c
341
struct idpf_ptp *ptp = vport->adapter->ptp;
drivers/net/ethernet/intel/idpf/idpf_virtchnl_ptp.c
363
reply_sz = idpf_vc_xn_exec(vport->adapter, &xn_params);
drivers/net/ethernet/intel/idpf/idpf_virtchnl_ptp.c
37
struct idpf_ptp *ptp = adapter->ptp;
drivers/net/ethernet/intel/idpf/idpf_virtchnl_ptp.c
49
reply_sz = idpf_vc_xn_exec(adapter, &xn_params);
drivers/net/ethernet/intel/idpf/idpf_virtchnl_ptp.c
544
idpf_ptp_get_tx_tstamp_async_handler(struct idpf_adapter *adapter,
drivers/net/ethernet/intel/idpf/idpf_virtchnl_ptp.c
561
idpf_for_each_vport(adapter, vport) {
drivers/net/ethernet/intel/idpf/idpf_virtchnl_ptp.c
668
reply_sz = idpf_vc_xn_exec(vport->adapter, &xn_params);
drivers/net/ethernet/intel/idpf/idpf_virtchnl_ptp.c
70
idpf_ptp_get_features_access(adapter);
drivers/net/ethernet/intel/idpf/idpf_virtchnl_ptp.c
79
ptp->dev_clk_regs.dev_clk_ns_l = idpf_get_reg_addr(adapter,
drivers/net/ethernet/intel/idpf/idpf_virtchnl_ptp.c
82
ptp->dev_clk_regs.dev_clk_ns_h = idpf_get_reg_addr(adapter,
drivers/net/ethernet/intel/idpf/idpf_virtchnl_ptp.c
85
ptp->dev_clk_regs.phy_clk_ns_l = idpf_get_reg_addr(adapter,
drivers/net/ethernet/intel/idpf/idpf_virtchnl_ptp.c
88
ptp->dev_clk_regs.phy_clk_ns_h = idpf_get_reg_addr(adapter,
drivers/net/ethernet/intel/idpf/idpf_virtchnl_ptp.c
91
ptp->dev_clk_regs.cmd_sync = idpf_get_reg_addr(adapter, temp_offset);
drivers/net/ethernet/intel/idpf/xdp.c
446
idpf_get_max_tx_bufs(vport->adapter),
drivers/net/ethernet/intel/idpf/xdp.c
459
cfg = vport->adapter->vport_config[vport->idx];
drivers/net/ethernet/intel/idpf/xdp.c
461
if (test_bit(IDPF_REMOVE_IN_PROG, vport->adapter->flags) ||
drivers/net/ethernet/intel/igb/e1000_82575.c
71
struct igb_adapter *adapter = hw->back;
drivers/net/ethernet/intel/igb/e1000_82575.c
78
adapter->shadow_vfta[offset] = value;
drivers/net/ethernet/intel/igb/e1000_mac.c
177
struct igb_adapter *adapter = hw->back;
drivers/net/ethernet/intel/igb/e1000_mac.c
197
vfta = adapter->shadow_vfta[regidx];
drivers/net/ethernet/intel/igb/e1000_mac.c
214
if (!adapter->vfs_allocated_count)
drivers/net/ethernet/intel/igb/e1000_mac.c
90
struct igb_adapter *adapter = hw->back;
drivers/net/ethernet/intel/igb/e1000_mac.c
95
adapter->shadow_vfta[offset] = value;
drivers/net/ethernet/intel/igb/igb.h
137
(adapter->flags & IGB_FLAG_HAS_MSIX)) ? 1 : 4)
drivers/net/ethernet/intel/igb/igb.h
139
(adapter->flags & IGB_FLAG_HAS_MSIX)) ? 1 : 16)
drivers/net/ethernet/intel/igb/igb.h
369
struct igb_adapter *adapter; /* backlink */
drivers/net/ethernet/intel/igb/igb.h
726
void igb_set_queue_napi(struct igb_adapter *adapter, int q_idx,
drivers/net/ethernet/intel/igb/igb.h
728
int igb_xmit_xdp_ring(struct igb_adapter *adapter,
drivers/net/ethernet/intel/igb/igb.h
748
void igb_finalize_xdp(struct igb_adapter *adapter, unsigned int status);
drivers/net/ethernet/intel/igb/igb.h
755
int igb_xdp_xmit_back(struct igb_adapter *adapter, struct xdp_buff *xdp);
drivers/net/ethernet/intel/igb/igb.h
761
bool igb_has_link(struct igb_adapter *adapter);
drivers/net/ethernet/intel/igb/igb.h
765
void igb_ptp_init(struct igb_adapter *adapter);
drivers/net/ethernet/intel/igb/igb.h
766
void igb_ptp_stop(struct igb_adapter *adapter);
drivers/net/ethernet/intel/igb/igb.h
767
void igb_ptp_reset(struct igb_adapter *adapter);
drivers/net/ethernet/intel/igb/igb.h
768
void igb_ptp_suspend(struct igb_adapter *adapter);
drivers/net/ethernet/intel/igb/igb.h
769
void igb_ptp_rx_hang(struct igb_adapter *adapter);
drivers/net/ethernet/intel/igb/igb.h
770
void igb_ptp_tx_hang(struct igb_adapter *adapter);
drivers/net/ethernet/intel/igb/igb.h
782
void igb_sysfs_exit(struct igb_adapter *adapter);
drivers/net/ethernet/intel/igb/igb.h
783
int igb_sysfs_init(struct igb_adapter *adapter);
drivers/net/ethernet/intel/igb/igb.h
834
static inline struct igb_ring *igb_xdp_tx_queue_mapping(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb.h
838
if (r_idx >= adapter->num_tx_queues)
drivers/net/ethernet/intel/igb/igb.h
839
r_idx = r_idx % adapter->num_tx_queues;
drivers/net/ethernet/intel/igb/igb.h
841
return adapter->tx_ring[r_idx];
drivers/net/ethernet/intel/igb/igb.h
844
static inline bool igb_xdp_is_enabled(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb.h
846
return !!READ_ONCE(adapter->xdp_prog);
drivers/net/ethernet/intel/igb/igb.h
849
int igb_add_filter(struct igb_adapter *adapter,
drivers/net/ethernet/intel/igb/igb.h
851
int igb_erase_filter(struct igb_adapter *adapter,
drivers/net/ethernet/intel/igb/igb.h
854
int igb_add_mac_steering_filter(struct igb_adapter *adapter,
drivers/net/ethernet/intel/igb/igb.h
856
int igb_del_mac_steering_filter(struct igb_adapter *adapter,
drivers/net/ethernet/intel/igb/igb.h
859
struct xsk_buff_pool *igb_xsk_pool(struct igb_adapter *adapter,
drivers/net/ethernet/intel/igb/igb.h
861
int igb_xsk_pool_setup(struct igb_adapter *adapter,
drivers/net/ethernet/intel/igb/igb_ethtool.c
1218
static bool reg_pattern_test(struct igb_adapter *adapter, u64 *data,
drivers/net/ethernet/intel/igb/igb_ethtool.c
1221
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_ethtool.c
1229
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/intel/igb/igb_ethtool.c
1240
static bool reg_set_and_check(struct igb_adapter *adapter, u64 *data,
drivers/net/ethernet/intel/igb/igb_ethtool.c
1243
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_ethtool.c
1249
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/intel/igb/igb_ethtool.c
1261
if (reg_pattern_test(adapter, data, reg, mask, write)) \
drivers/net/ethernet/intel/igb/igb_ethtool.c
1267
if (reg_set_and_check(adapter, data, reg, mask, write)) \
drivers/net/ethernet/intel/igb/igb_ethtool.c
1271
static int igb_reg_test(struct igb_adapter *adapter, u64 *data)
drivers/net/ethernet/intel/igb/igb_ethtool.c
1273
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_ethtool.c
1278
switch (adapter->hw.mac.type) {
drivers/net/ethernet/intel/igb/igb_ethtool.c
1313
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/intel/igb/igb_ethtool.c
1342
(adapter->hw.hw_addr + test->reg)
drivers/net/ethernet/intel/igb/igb_ethtool.c
1369
static int igb_eeprom_test(struct igb_adapter *adapter, u64 *data)
drivers/net/ethernet/intel/igb/igb_ethtool.c
1371
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_ethtool.c
138
struct igb_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igb/igb_ethtool.c
1380
if (adapter->hw.nvm.ops.validate(&adapter->hw) < 0)
drivers/net/ethernet/intel/igb/igb_ethtool.c
1385
if (adapter->hw.nvm.ops.validate(&adapter->hw) < 0)
drivers/net/ethernet/intel/igb/igb_ethtool.c
139
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_ethtool.c
1395
struct igb_adapter *adapter = (struct igb_adapter *) data;
drivers/net/ethernet/intel/igb/igb_ethtool.c
1396
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_ethtool.c
1398
adapter->test_icr |= rd32(E1000_ICR);
drivers/net/ethernet/intel/igb/igb_ethtool.c
1403
static int igb_intr_test(struct igb_adapter *adapter, u64 *data)
drivers/net/ethernet/intel/igb/igb_ethtool.c
1405
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_ethtool.c
1406
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/igb/igb_ethtool.c
1408
u32 irq = adapter->pdev->irq;
drivers/net/ethernet/intel/igb/igb_ethtool.c
1413
if (adapter->flags & IGB_FLAG_HAS_MSIX) {
drivers/net/ethernet/intel/igb/igb_ethtool.c
1414
if (request_irq(adapter->msix_entries[0].vector,
drivers/net/ethernet/intel/igb/igb_ethtool.c
1415
igb_test_intr, 0, netdev->name, adapter)) {
drivers/net/ethernet/intel/igb/igb_ethtool.c
1421
} else if (adapter->flags & IGB_FLAG_HAS_MSI) {
drivers/net/ethernet/intel/igb/igb_ethtool.c
1424
igb_test_intr, 0, netdev->name, adapter)) {
drivers/net/ethernet/intel/igb/igb_ethtool.c
1429
netdev->name, adapter)) {
drivers/net/ethernet/intel/igb/igb_ethtool.c
1432
netdev->name, adapter)) {
drivers/net/ethernet/intel/igb/igb_ethtool.c
1436
dev_info(&adapter->pdev->dev, "testing %s interrupt\n",
drivers/net/ethernet/intel/igb/igb_ethtool.c
146
status = pm_runtime_suspended(&adapter->pdev->dev) ?
drivers/net/ethernet/intel/igb/igb_ethtool.c
1481
adapter->test_icr = 0;
drivers/net/ethernet/intel/igb/igb_ethtool.c
1491
if (adapter->test_icr & mask) {
drivers/net/ethernet/intel/igb/igb_ethtool.c
1503
adapter->test_icr = 0;
drivers/net/ethernet/intel/igb/igb_ethtool.c
1513
if (!(adapter->test_icr & mask)) {
drivers/net/ethernet/intel/igb/igb_ethtool.c
1525
adapter->test_icr = 0;
drivers/net/ethernet/intel/igb/igb_ethtool.c
1535
if (adapter->test_icr & mask) {
drivers/net/ethernet/intel/igb/igb_ethtool.c
1548
if (adapter->flags & IGB_FLAG_HAS_MSIX)
drivers/net/ethernet/intel/igb/igb_ethtool.c
1549
free_irq(adapter->msix_entries[0].vector, adapter);
drivers/net/ethernet/intel/igb/igb_ethtool.c
1551
free_irq(irq, adapter);
drivers/net/ethernet/intel/igb/igb_ethtool.c
1556
static void igb_free_desc_rings(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb_ethtool.c
1558
igb_free_tx_resources(&adapter->test_tx_ring);
drivers/net/ethernet/intel/igb/igb_ethtool.c
1559
igb_free_rx_resources(&adapter->test_rx_ring);
drivers/net/ethernet/intel/igb/igb_ethtool.c
1562
static int igb_setup_desc_rings(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb_ethtool.c
1564
struct igb_ring *tx_ring = &adapter->test_tx_ring;
drivers/net/ethernet/intel/igb/igb_ethtool.c
1565
struct igb_ring *rx_ring = &adapter->test_rx_ring;
drivers/net/ethernet/intel/igb/igb_ethtool.c
1566
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_ethtool.c
1571
tx_ring->dev = &adapter->pdev->dev;
drivers/net/ethernet/intel/igb/igb_ethtool.c
1572
tx_ring->netdev = adapter->netdev;
drivers/net/ethernet/intel/igb/igb_ethtool.c
1573
tx_ring->reg_idx = adapter->vfs_allocated_count;
drivers/net/ethernet/intel/igb/igb_ethtool.c
1580
igb_setup_tctl(adapter);
drivers/net/ethernet/intel/igb/igb_ethtool.c
1581
igb_configure_tx_ring(adapter, tx_ring);
drivers/net/ethernet/intel/igb/igb_ethtool.c
1585
rx_ring->dev = &adapter->pdev->dev;
drivers/net/ethernet/intel/igb/igb_ethtool.c
1586
rx_ring->netdev = adapter->netdev;
drivers/net/ethernet/intel/igb/igb_ethtool.c
1587
rx_ring->reg_idx = adapter->vfs_allocated_count;
drivers/net/ethernet/intel/igb/igb_ethtool.c
1595
wr32(E1000_MRQC, adapter->vfs_allocated_count << 3);
drivers/net/ethernet/intel/igb/igb_ethtool.c
1598
igb_setup_rctl(adapter);
drivers/net/ethernet/intel/igb/igb_ethtool.c
1599
igb_configure_rx_ring(adapter, rx_ring);
drivers/net/ethernet/intel/igb/igb_ethtool.c
1606
igb_free_desc_rings(adapter);
drivers/net/ethernet/intel/igb/igb_ethtool.c
1610
static void igb_phy_disable_receiver(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb_ethtool.c
1612
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_ethtool.c
1621
static int igb_integrated_phy_loopback(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb_ethtool.c
1623
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_ethtool.c
1670
igb_phy_disable_receiver(adapter);
drivers/net/ethernet/intel/igb/igb_ethtool.c
1676
static int igb_set_phy_loopback(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb_ethtool.c
1678
return igb_integrated_phy_loopback(adapter);
drivers/net/ethernet/intel/igb/igb_ethtool.c
1681
static int igb_setup_loopback_test(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb_ethtool.c
1683
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_ethtool.c
1748
return igb_set_phy_loopback(adapter);
drivers/net/ethernet/intel/igb/igb_ethtool.c
1751
static void igb_loopback_cleanup(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb_ethtool.c
1753
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_ethtool.c
1887
static int igb_run_loopback_test(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb_ethtool.c
1889
struct igb_ring *tx_ring = &adapter->test_tx_ring;
drivers/net/ethernet/intel/igb/igb_ethtool.c
1890
struct igb_ring *rx_ring = &adapter->test_rx_ring;
drivers/net/ethernet/intel/igb/igb_ethtool.c
1949
static int igb_loopback_test(struct igb_adapter *adapter, u64 *data)
drivers/net/ethernet/intel/igb/igb_ethtool.c
1954
if (igb_check_reset_block(&adapter->hw)) {
drivers/net/ethernet/intel/igb/igb_ethtool.c
1955
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/intel/igb/igb_ethtool.c
1961
if (adapter->hw.mac.type == e1000_i354) {
drivers/net/ethernet/intel/igb/igb_ethtool.c
1962
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/intel/igb/igb_ethtool.c
1967
*data = igb_setup_desc_rings(adapter);
drivers/net/ethernet/intel/igb/igb_ethtool.c
1970
*data = igb_setup_loopback_test(adapter);
drivers/net/ethernet/intel/igb/igb_ethtool.c
1973
*data = igb_run_loopback_test(adapter);
drivers/net/ethernet/intel/igb/igb_ethtool.c
1974
igb_loopback_cleanup(adapter);
drivers/net/ethernet/intel/igb/igb_ethtool.c
1977
igb_free_desc_rings(adapter);
drivers/net/ethernet/intel/igb/igb_ethtool.c
1982
static int igb_link_test(struct igb_adapter *adapter, u64 *data)
drivers/net/ethernet/intel/igb/igb_ethtool.c
1984
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_ethtool.c
1995
hw->mac.ops.check_for_link(&adapter->hw);
drivers/net/ethernet/intel/igb/igb_ethtool.c
2003
hw->mac.ops.check_for_link(&adapter->hw);
drivers/net/ethernet/intel/igb/igb_ethtool.c
2016
struct igb_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igb/igb_ethtool.c
2021
set_bit(__IGB_TESTING, &adapter->state);
drivers/net/ethernet/intel/igb/igb_ethtool.c
2024
if (adapter->hw.dev_spec._82575.mas_capable)
drivers/net/ethernet/intel/igb/igb_ethtool.c
2030
autoneg_advertised = adapter->hw.phy.autoneg_advertised;
drivers/net/ethernet/intel/igb/igb_ethtool.c
2031
forced_speed_duplex = adapter->hw.mac.forced_speed_duplex;
drivers/net/ethernet/intel/igb/igb_ethtool.c
2032
autoneg = adapter->hw.mac.autoneg;
drivers/net/ethernet/intel/igb/igb_ethtool.c
2034
dev_info(&adapter->pdev->dev, "offline testing starting\n");
drivers/net/ethernet/intel/igb/igb_ethtool.c
2037
igb_power_up_link(adapter);
drivers/net/ethernet/intel/igb/igb_ethtool.c
2042
if (igb_link_test(adapter, &data[TEST_LINK]))
drivers/net/ethernet/intel/igb/igb_ethtool.c
2049
igb_reset(adapter);
drivers/net/ethernet/intel/igb/igb_ethtool.c
2051
if (igb_reg_test(adapter, &data[TEST_REG]))
drivers/net/ethernet/intel/igb/igb_ethtool.c
2054
igb_reset(adapter);
drivers/net/ethernet/intel/igb/igb_ethtool.c
2055
if (igb_eeprom_test(adapter, &data[TEST_EEP]))
drivers/net/ethernet/intel/igb/igb_ethtool.c
2058
igb_reset(adapter);
drivers/net/ethernet/intel/igb/igb_ethtool.c
2059
if (igb_intr_test(adapter, &data[TEST_IRQ]))
drivers/net/ethernet/intel/igb/igb_ethtool.c
2062
igb_reset(adapter);
drivers/net/ethernet/intel/igb/igb_ethtool.c
2064
igb_power_up_link(adapter);
drivers/net/ethernet/intel/igb/igb_ethtool.c
2065
if (igb_loopback_test(adapter, &data[TEST_LOOP]))
drivers/net/ethernet/intel/igb/igb_ethtool.c
2069
adapter->hw.phy.autoneg_advertised = autoneg_advertised;
drivers/net/ethernet/intel/igb/igb_ethtool.c
2070
adapter->hw.mac.forced_speed_duplex = forced_speed_duplex;
drivers/net/ethernet/intel/igb/igb_ethtool.c
2071
adapter->hw.mac.autoneg = autoneg;
drivers/net/ethernet/intel/igb/igb_ethtool.c
2074
adapter->hw.phy.autoneg_wait_to_complete = true;
drivers/net/ethernet/intel/igb/igb_ethtool.c
2075
igb_reset(adapter);
drivers/net/ethernet/intel/igb/igb_ethtool.c
2076
adapter->hw.phy.autoneg_wait_to_complete = false;
drivers/net/ethernet/intel/igb/igb_ethtool.c
2078
clear_bit(__IGB_TESTING, &adapter->state);
drivers/net/ethernet/intel/igb/igb_ethtool.c
2082
dev_info(&adapter->pdev->dev, "online testing starting\n");
drivers/net/ethernet/intel/igb/igb_ethtool.c
2084
if (igb_link_test(adapter, &data[TEST_LINK]))
drivers/net/ethernet/intel/igb/igb_ethtool.c
2093
clear_bit(__IGB_TESTING, &adapter->state);
drivers/net/ethernet/intel/igb/igb_ethtool.c
2100
struct igb_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igb/igb_ethtool.c
2104
if (!(adapter->flags & IGB_FLAG_WOL_SUPPORTED))
drivers/net/ethernet/intel/igb/igb_ethtool.c
2112
switch (adapter->hw.device_id) {
drivers/net/ethernet/intel/igb/igb_ethtool.c
2117
if (adapter->wol & E1000_WUFC_EX)
drivers/net/ethernet/intel/igb/igb_ethtool.c
2119
if (adapter->wol & E1000_WUFC_MC)
drivers/net/ethernet/intel/igb/igb_ethtool.c
2121
if (adapter->wol & E1000_WUFC_BC)
drivers/net/ethernet/intel/igb/igb_ethtool.c
2123
if (adapter->wol & E1000_WUFC_MAG)
drivers/net/ethernet/intel/igb/igb_ethtool.c
2125
if (adapter->wol & E1000_WUFC_LNKC)
drivers/net/ethernet/intel/igb/igb_ethtool.c
2131
struct igb_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igb/igb_ethtool.c
2136
if (!(adapter->flags & IGB_FLAG_WOL_SUPPORTED))
drivers/net/ethernet/intel/igb/igb_ethtool.c
2140
adapter->wol = 0;
drivers/net/ethernet/intel/igb/igb_ethtool.c
2143
adapter->wol |= E1000_WUFC_EX;
drivers/net/ethernet/intel/igb/igb_ethtool.c
2145
adapter->wol |= E1000_WUFC_MC;
drivers/net/ethernet/intel/igb/igb_ethtool.c
2147
adapter->wol |= E1000_WUFC_BC;
drivers/net/ethernet/intel/igb/igb_ethtool.c
2149
adapter->wol |= E1000_WUFC_MAG;
drivers/net/ethernet/intel/igb/igb_ethtool.c
2151
adapter->wol |= E1000_WUFC_LNKC;
drivers/net/ethernet/intel/igb/igb_ethtool.c
2152
device_set_wakeup_enable(&adapter->pdev->dev, adapter->wol);
drivers/net/ethernet/intel/igb/igb_ethtool.c
2163
struct igb_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igb/igb_ethtool.c
2164
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_ethtool.c
2178
clear_bit(IGB_LED_ON, &adapter->led_status);
drivers/net/ethernet/intel/igb/igb_ethtool.c
2191
struct igb_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igb/igb_ethtool.c
2206
if ((adapter->flags & IGB_FLAG_QUEUE_PAIRS) && ec->tx_coalesce_usecs)
drivers/net/ethernet/intel/igb/igb_ethtool.c
2211
if (adapter->flags & IGB_FLAG_DMAC)
drivers/net/ethernet/intel/igb/igb_ethtool.c
2212
adapter->flags &= ~IGB_FLAG_DMAC;
drivers/net/ethernet/intel/igb/igb_ethtool.c
2217
adapter->rx_itr_setting = ec->rx_coalesce_usecs;
drivers/net/ethernet/intel/igb/igb_ethtool.c
2219
adapter->rx_itr_setting = ec->rx_coalesce_usecs << 2;
drivers/net/ethernet/intel/igb/igb_ethtool.c
2222
if (adapter->flags & IGB_FLAG_QUEUE_PAIRS)
drivers/net/ethernet/intel/igb/igb_ethtool.c
2223
adapter->tx_itr_setting = adapter->rx_itr_setting;
drivers/net/ethernet/intel/igb/igb_ethtool.c
2225
adapter->tx_itr_setting = ec->tx_coalesce_usecs;
drivers/net/ethernet/intel/igb/igb_ethtool.c
2227
adapter->tx_itr_setting = ec->tx_coalesce_usecs << 2;
drivers/net/ethernet/intel/igb/igb_ethtool.c
2229
for (i = 0; i < adapter->num_q_vectors; i++) {
drivers/net/ethernet/intel/igb/igb_ethtool.c
2230
struct igb_q_vector *q_vector = adapter->q_vector[i];
drivers/net/ethernet/intel/igb/igb_ethtool.c
2231
q_vector->tx.work_limit = adapter->tx_work_limit;
drivers/net/ethernet/intel/igb/igb_ethtool.c
2233
q_vector->itr_val = adapter->rx_itr_setting;
drivers/net/ethernet/intel/igb/igb_ethtool.c
2235
q_vector->itr_val = adapter->tx_itr_setting;
drivers/net/ethernet/intel/igb/igb_ethtool.c
2249
struct igb_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igb/igb_ethtool.c
2251
if (adapter->rx_itr_setting <= 3)
drivers/net/ethernet/intel/igb/igb_ethtool.c
2252
ec->rx_coalesce_usecs = adapter->rx_itr_setting;
drivers/net/ethernet/intel/igb/igb_ethtool.c
2254
ec->rx_coalesce_usecs = adapter->rx_itr_setting >> 2;
drivers/net/ethernet/intel/igb/igb_ethtool.c
2256
if (!(adapter->flags & IGB_FLAG_QUEUE_PAIRS)) {
drivers/net/ethernet/intel/igb/igb_ethtool.c
2257
if (adapter->tx_itr_setting <= 3)
drivers/net/ethernet/intel/igb/igb_ethtool.c
2258
ec->tx_coalesce_usecs = adapter->tx_itr_setting;
drivers/net/ethernet/intel/igb/igb_ethtool.c
2260
ec->tx_coalesce_usecs = adapter->tx_itr_setting >> 2;
drivers/net/ethernet/intel/igb/igb_ethtool.c
2268
struct igb_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igb/igb_ethtool.c
2270
igb_reinit_locked(adapter);
drivers/net/ethernet/intel/igb/igb_ethtool.c
2291
struct igb_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igb/igb_ethtool.c
2292
struct rtnl_link_stats64 *net_stats = &adapter->stats64;
drivers/net/ethernet/intel/igb/igb_ethtool.c
2298
spin_lock(&adapter->stats64_lock);
drivers/net/ethernet/intel/igb/igb_ethtool.c
2299
igb_update_stats(adapter);
drivers/net/ethernet/intel/igb/igb_ethtool.c
2302
p = (char *)adapter + igb_gstrings_stats[i].stat_offset;
drivers/net/ethernet/intel/igb/igb_ethtool.c
2311
for (j = 0; j < adapter->num_tx_queues; j++) {
drivers/net/ethernet/intel/igb/igb_ethtool.c
2314
ring = adapter->tx_ring[j];
drivers/net/ethernet/intel/igb/igb_ethtool.c
2329
for (j = 0; j < adapter->num_rx_queues; j++) {
drivers/net/ethernet/intel/igb/igb_ethtool.c
2330
ring = adapter->rx_ring[j];
drivers/net/ethernet/intel/igb/igb_ethtool.c
2341
spin_unlock(&adapter->stats64_lock);
drivers/net/ethernet/intel/igb/igb_ethtool.c
2346
struct igb_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igb/igb_ethtool.c
2359
for (i = 0; i < adapter->num_tx_queues; i++) {
drivers/net/ethernet/intel/igb/igb_ethtool.c
2364
for (i = 0; i < adapter->num_rx_queues; i++) {
drivers/net/ethernet/intel/igb/igb_ethtool.c
2383
struct igb_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/intel/igb/igb_ethtool.c
2385
if (adapter->ptp_clock)
drivers/net/ethernet/intel/igb/igb_ethtool.c
2386
info->phc_index = ptp_clock_index(adapter->ptp_clock);
drivers/net/ethernet/intel/igb/igb_ethtool.c
2388
switch (adapter->hw.mac.type) {
drivers/net/ethernet/intel/igb/igb_ethtool.c
2412
if (adapter->hw.mac.type >= e1000_82580)
drivers/net/ethernet/intel/igb/igb_ethtool.c
2427
static int igb_get_ethtool_nfc_entry(struct igb_adapter *adapter,
drivers/net/ethernet/intel/igb/igb_ethtool.c
2436
hlist_for_each_entry(rule, &adapter->nfc_filter_list, nfc_node) {
drivers/net/ethernet/intel/igb/igb_ethtool.c
2478
static int igb_get_ethtool_nfc_all(struct igb_adapter *adapter,
drivers/net/ethernet/intel/igb/igb_ethtool.c
2488
hlist_for_each_entry(rule, &adapter->nfc_filter_list, nfc_node) {
drivers/net/ethernet/intel/igb/igb_ethtool.c
2503
struct igb_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/intel/igb/igb_ethtool.c
2513
if (adapter->flags & IGB_FLAG_RSS_FIELD_IPV4_UDP)
drivers/net/ethernet/intel/igb/igb_ethtool.c
2527
if (adapter->flags & IGB_FLAG_RSS_FIELD_IPV6_UDP)
drivers/net/ethernet/intel/igb/igb_ethtool.c
2546
struct igb_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/intel/igb/igb_ethtool.c
2548
return adapter->num_rx_queues;
drivers/net/ethernet/intel/igb/igb_ethtool.c
2554
struct igb_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/intel/igb/igb_ethtool.c
2559
cmd->rule_cnt = adapter->nfc_filter_count;
drivers/net/ethernet/intel/igb/igb_ethtool.c
2563
ret = igb_get_ethtool_nfc_entry(adapter, cmd);
drivers/net/ethernet/intel/igb/igb_ethtool.c
2566
ret = igb_get_ethtool_nfc_all(adapter, cmd, rule_locs);
drivers/net/ethernet/intel/igb/igb_ethtool.c
2581
struct igb_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/intel/igb/igb_ethtool.c
2582
u32 flags = adapter->flags;
drivers/net/ethernet/intel/igb/igb_ethtool.c
263
struct igb_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igb/igb_ethtool.c
264
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_ethtool.c
2649
if (flags != adapter->flags) {
drivers/net/ethernet/intel/igb/igb_ethtool.c
2650
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_ethtool.c
2654
!(adapter->flags & UDP_RSS_FLAGS))
drivers/net/ethernet/intel/igb/igb_ethtool.c
2655
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/intel/igb/igb_ethtool.c
2658
adapter->flags = flags;
drivers/net/ethernet/intel/igb/igb_ethtool.c
2681
static int igb_rxnfc_write_etype_filter(struct igb_adapter *adapter,
drivers/net/ethernet/intel/igb/igb_ethtool.c
2684
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_ethtool.c
2691
if (!adapter->etype_bitmap[i])
drivers/net/ethernet/intel/igb/igb_ethtool.c
2695
dev_err(&adapter->pdev->dev, "ethtool -N: etype filters are all used.\n");
drivers/net/ethernet/intel/igb/igb_ethtool.c
2699
adapter->etype_bitmap[i] = true;
drivers/net/ethernet/intel/igb/igb_ethtool.c
271
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/intel/igb/igb_ethtool.c
2719
static int igb_rxnfc_write_vlan_prio_filter(struct igb_adapter *adapter,
drivers/net/ethernet/intel/igb/igb_ethtool.c
2722
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_ethtool.c
2735
dev_err(&adapter->pdev->dev, "ethtool rxnfc set vlan prio filter failed.\n");
drivers/net/ethernet/intel/igb/igb_ethtool.c
2747
int igb_add_filter(struct igb_adapter *adapter, struct igb_nfc_filter *input)
drivers/net/ethernet/intel/igb/igb_ethtool.c
2749
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_ethtool.c
2754
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/intel/igb/igb_ethtool.c
2760
err = igb_rxnfc_write_etype_filter(adapter, input);
drivers/net/ethernet/intel/igb/igb_ethtool.c
2766
err = igb_add_mac_steering_filter(adapter,
drivers/net/ethernet/intel/igb/igb_ethtool.c
2775
err = igb_add_mac_steering_filter(adapter,
drivers/net/ethernet/intel/igb/igb_ethtool.c
2785
err = igb_rxnfc_write_vlan_prio_filter(adapter, input);
drivers/net/ethernet/intel/igb/igb_ethtool.c
2790
static void igb_clear_etype_filter_regs(struct igb_adapter *adapter,
drivers/net/ethernet/intel/igb/igb_ethtool.c
2793
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_ethtool.c
2802
adapter->etype_bitmap[reg_index] = false;
drivers/net/ethernet/intel/igb/igb_ethtool.c
2805
static void igb_clear_vlan_prio_filter(struct igb_adapter *adapter,
drivers/net/ethernet/intel/igb/igb_ethtool.c
2808
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_ethtool.c
2822
int igb_erase_filter(struct igb_adapter *adapter, struct igb_nfc_filter *input)
drivers/net/ethernet/intel/igb/igb_ethtool.c
2825
igb_clear_etype_filter_regs(adapter,
drivers/net/ethernet/intel/igb/igb_ethtool.c
2829
igb_clear_vlan_prio_filter(adapter,
drivers/net/ethernet/intel/igb/igb_ethtool.c
2833
igb_del_mac_steering_filter(adapter, input->filter.src_addr,
drivers/net/ethernet/intel/igb/igb_ethtool.c
2838
igb_del_mac_steering_filter(adapter, input->filter.dst_addr,
drivers/net/ethernet/intel/igb/igb_ethtool.c
2844
static int igb_update_ethtool_nfc_entry(struct igb_adapter *adapter,
drivers/net/ethernet/intel/igb/igb_ethtool.c
2854
hlist_for_each_entry(rule, &adapter->nfc_filter_list, nfc_node) {
drivers/net/ethernet/intel/igb/igb_ethtool.c
286
dev_err(&adapter->pdev->dev, "forcing MDI/MDI-X state is not supported when link speed and/or duplex are forced\n");
drivers/net/ethernet/intel/igb/igb_ethtool.c
2864
err = igb_erase_filter(adapter, rule);
drivers/net/ethernet/intel/igb/igb_ethtool.c
2868
adapter->nfc_filter_count--;
drivers/net/ethernet/intel/igb/igb_ethtool.c
2884
hlist_add_head(&input->nfc_node, &adapter->nfc_filter_list);
drivers/net/ethernet/intel/igb/igb_ethtool.c
2887
adapter->nfc_filter_count++;
drivers/net/ethernet/intel/igb/igb_ethtool.c
2892
static int igb_add_ethtool_nfc_entry(struct igb_adapter *adapter,
drivers/net/ethernet/intel/igb/igb_ethtool.c
2895
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/igb/igb_ethtool.c
2908
(fsp->ring_cookie >= adapter->num_rx_queues)) {
drivers/net/ethernet/intel/igb/igb_ethtool.c
2909
dev_err(&adapter->pdev->dev, "ethtool -N: The specified action is invalid\n");
drivers/net/ethernet/intel/igb/igb_ethtool.c
291
while (test_and_set_bit(__IGB_RESETTING, &adapter->state))
drivers/net/ethernet/intel/igb/igb_ethtool.c
2915
dev_err(&adapter->pdev->dev, "Location out of range\n");
drivers/net/ethernet/intel/igb/igb_ethtool.c
2957
spin_lock(&adapter->nfc_lock);
drivers/net/ethernet/intel/igb/igb_ethtool.c
2959
hlist_for_each_entry(rule, &adapter->nfc_filter_list, nfc_node) {
drivers/net/ethernet/intel/igb/igb_ethtool.c
2963
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/intel/igb/igb_ethtool.c
2969
err = igb_add_filter(adapter, input);
drivers/net/ethernet/intel/igb/igb_ethtool.c
2973
err = igb_update_ethtool_nfc_entry(adapter, input, input->sw_idx);
drivers/net/ethernet/intel/igb/igb_ethtool.c
2977
spin_unlock(&adapter->nfc_lock);
drivers/net/ethernet/intel/igb/igb_ethtool.c
2981
igb_erase_filter(adapter, input);
drivers/net/ethernet/intel/igb/igb_ethtool.c
2983
spin_unlock(&adapter->nfc_lock);
drivers/net/ethernet/intel/igb/igb_ethtool.c
2989
static int igb_del_ethtool_nfc_entry(struct igb_adapter *adapter,
drivers/net/ethernet/intel/igb/igb_ethtool.c
2996
spin_lock(&adapter->nfc_lock);
drivers/net/ethernet/intel/igb/igb_ethtool.c
2997
err = igb_update_ethtool_nfc_entry(adapter, NULL, fsp->location);
drivers/net/ethernet/intel/igb/igb_ethtool.c
2998
spin_unlock(&adapter->nfc_lock);
drivers/net/ethernet/intel/igb/igb_ethtool.c
3005
struct igb_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/intel/igb/igb_ethtool.c
3010
ret = igb_add_ethtool_nfc_entry(adapter, cmd);
drivers/net/ethernet/intel/igb/igb_ethtool.c
3013
ret = igb_del_ethtool_nfc_entry(adapter, cmd);
drivers/net/ethernet/intel/igb/igb_ethtool.c
3024
struct igb_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igb/igb_ethtool.c
3025
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_ethtool.c
303
switch (adapter->link_speed) {
drivers/net/ethernet/intel/igb/igb_ethtool.c
3039
adapter->eee_advert);
drivers/net/ethernet/intel/igb/igb_ethtool.c
3092
if (adapter->link_duplex == HALF_DUPLEX) {
drivers/net/ethernet/intel/igb/igb_ethtool.c
3105
struct igb_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igb/igb_ethtool.c
3108
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_ethtool.c
3125
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/intel/igb/igb_ethtool.c
3132
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/intel/igb/igb_ethtool.c
3142
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/intel/igb/igb_ethtool.c
3154
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/intel/igb/igb_ethtool.c
3159
adapter->eee_advert = linkmode_to_mii_eee_cap1_t(edata->advertised);
drivers/net/ethernet/intel/igb/igb_ethtool.c
3162
adapter->flags |= IGB_FLAG_EEE;
drivers/net/ethernet/intel/igb/igb_ethtool.c
3166
igb_reinit_locked(adapter);
drivers/net/ethernet/intel/igb/igb_ethtool.c
3168
igb_reset(adapter);
drivers/net/ethernet/intel/igb/igb_ethtool.c
3177
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/intel/igb/igb_ethtool.c
3188
struct igb_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igb/igb_ethtool.c
3189
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_ethtool.c
3230
struct igb_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igb/igb_ethtool.c
3231
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_ethtool.c
325
if (adapter->fc_autoneg)
drivers/net/ethernet/intel/igb/igb_ethtool.c
3275
struct igb_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igb/igb_ethtool.c
3282
rxfh->indir[i] = adapter->rss_indir_tbl[i];
drivers/net/ethernet/intel/igb/igb_ethtool.c
3287
void igb_write_rss_indir_tbl(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb_ethtool.c
3289
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_ethtool.c
330
if (igb_set_spd_dplx(adapter, speed, cmd->base.duplex)) {
drivers/net/ethernet/intel/igb/igb_ethtool.c
3300
if (adapter->vfs_allocated_count)
drivers/net/ethernet/intel/igb/igb_ethtool.c
331
clear_bit(__IGB_RESETTING, &adapter->state);
drivers/net/ethernet/intel/igb/igb_ethtool.c
3313
val |= adapter->rss_indir_tbl[i + j];
drivers/net/ethernet/intel/igb/igb_ethtool.c
3326
struct igb_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igb/igb_ethtool.c
3327
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_ethtool.c
3339
num_queues = adapter->rss_queues;
drivers/net/ethernet/intel/igb/igb_ethtool.c
3344
if (adapter->vfs_allocated_count)
drivers/net/ethernet/intel/igb/igb_ethtool.c
3358
adapter->rss_indir_tbl[i] = rxfh->indir[i];
drivers/net/ethernet/intel/igb/igb_ethtool.c
3360
igb_write_rss_indir_tbl(adapter);
drivers/net/ethernet/intel/igb/igb_ethtool.c
3365
static unsigned int igb_max_channels(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb_ethtool.c
3367
return igb_get_max_rss_queues(adapter);
drivers/net/ethernet/intel/igb/igb_ethtool.c
3373
struct igb_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igb/igb_ethtool.c
3376
ch->max_combined = igb_max_channels(adapter);
drivers/net/ethernet/intel/igb/igb_ethtool.c
3379
if (adapter->flags & IGB_FLAG_HAS_MSIX) {
drivers/net/ethernet/intel/igb/igb_ethtool.c
3384
ch->combined_count = adapter->rss_queues;
drivers/net/ethernet/intel/igb/igb_ethtool.c
3390
struct igb_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igb/igb_ethtool.c
3403
max_combined = igb_max_channels(adapter);
drivers/net/ethernet/intel/igb/igb_ethtool.c
3407
if (count != adapter->rss_queues) {
drivers/net/ethernet/intel/igb/igb_ethtool.c
3408
adapter->rss_queues = count;
drivers/net/ethernet/intel/igb/igb_ethtool.c
3409
igb_set_flag_queue_pairs(adapter, max_combined);
drivers/net/ethernet/intel/igb/igb_ethtool.c
3414
return igb_reinit_queues(adapter);
drivers/net/ethernet/intel/igb/igb_ethtool.c
3422
struct igb_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igb/igb_ethtool.c
3425
if (adapter->flags & IGB_FLAG_RX_LEGACY)
drivers/net/ethernet/intel/igb/igb_ethtool.c
3433
struct igb_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igb/igb_ethtool.c
3434
unsigned int flags = adapter->flags;
drivers/net/ethernet/intel/igb/igb_ethtool.c
3440
if (flags != adapter->flags) {
drivers/net/ethernet/intel/igb/igb_ethtool.c
3441
adapter->flags = flags;
drivers/net/ethernet/intel/igb/igb_ethtool.c
3445
igb_reinit_locked(adapter);
drivers/net/ethernet/intel/igb/igb_ethtool.c
348
if (netif_running(adapter->netdev)) {
drivers/net/ethernet/intel/igb/igb_ethtool.c
349
igb_down(adapter);
drivers/net/ethernet/intel/igb/igb_ethtool.c
350
igb_up(adapter);
drivers/net/ethernet/intel/igb/igb_ethtool.c
352
igb_reset(adapter);
drivers/net/ethernet/intel/igb/igb_ethtool.c
354
clear_bit(__IGB_RESETTING, &adapter->state);
drivers/net/ethernet/intel/igb/igb_ethtool.c
360
struct igb_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igb/igb_ethtool.c
361
struct e1000_mac_info *mac = &adapter->hw.mac;
drivers/net/ethernet/intel/igb/igb_ethtool.c
372
return igb_has_link(adapter);
drivers/net/ethernet/intel/igb/igb_ethtool.c
378
struct igb_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igb/igb_ethtool.c
379
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_ethtool.c
382
(adapter->fc_autoneg ? AUTONEG_ENABLE : AUTONEG_DISABLE);
drivers/net/ethernet/intel/igb/igb_ethtool.c
397
struct igb_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igb/igb_ethtool.c
398
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_ethtool.c
406
adapter->fc_autoneg = pause->autoneg;
drivers/net/ethernet/intel/igb/igb_ethtool.c
408
while (test_and_set_bit(__IGB_RESETTING, &adapter->state))
drivers/net/ethernet/intel/igb/igb_ethtool.c
411
if (adapter->fc_autoneg == AUTONEG_ENABLE) {
drivers/net/ethernet/intel/igb/igb_ethtool.c
413
if (netif_running(adapter->netdev)) {
drivers/net/ethernet/intel/igb/igb_ethtool.c
414
igb_down(adapter);
drivers/net/ethernet/intel/igb/igb_ethtool.c
415
igb_up(adapter);
drivers/net/ethernet/intel/igb/igb_ethtool.c
417
igb_reset(adapter);
drivers/net/ethernet/intel/igb/igb_ethtool.c
435
for (i = 0; i < adapter->num_rx_queues; i++) {
drivers/net/ethernet/intel/igb/igb_ethtool.c
436
struct igb_ring *ring = adapter->rx_ring[i];
drivers/net/ethernet/intel/igb/igb_ethtool.c
438
igb_setup_srrctl(adapter, ring);
drivers/net/ethernet/intel/igb/igb_ethtool.c
442
clear_bit(__IGB_RESETTING, &adapter->state);
drivers/net/ethernet/intel/igb/igb_ethtool.c
448
struct igb_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igb/igb_ethtool.c
449
return adapter->msg_enable;
drivers/net/ethernet/intel/igb/igb_ethtool.c
454
struct igb_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igb/igb_ethtool.c
455
adapter->msg_enable = data;
drivers/net/ethernet/intel/igb/igb_ethtool.c
467
struct igb_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igb/igb_ethtool.c
468
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_ethtool.c
553
regs_buff[54] = adapter->stats.crcerrs;
drivers/net/ethernet/intel/igb/igb_ethtool.c
554
regs_buff[55] = adapter->stats.algnerrc;
drivers/net/ethernet/intel/igb/igb_ethtool.c
555
regs_buff[56] = adapter->stats.symerrs;
drivers/net/ethernet/intel/igb/igb_ethtool.c
556
regs_buff[57] = adapter->stats.rxerrc;
drivers/net/ethernet/intel/igb/igb_ethtool.c
557
regs_buff[58] = adapter->stats.mpc;
drivers/net/ethernet/intel/igb/igb_ethtool.c
558
regs_buff[59] = adapter->stats.scc;
drivers/net/ethernet/intel/igb/igb_ethtool.c
559
regs_buff[60] = adapter->stats.ecol;
drivers/net/ethernet/intel/igb/igb_ethtool.c
560
regs_buff[61] = adapter->stats.mcc;
drivers/net/ethernet/intel/igb/igb_ethtool.c
561
regs_buff[62] = adapter->stats.latecol;
drivers/net/ethernet/intel/igb/igb_ethtool.c
562
regs_buff[63] = adapter->stats.colc;
drivers/net/ethernet/intel/igb/igb_ethtool.c
563
regs_buff[64] = adapter->stats.dc;
drivers/net/ethernet/intel/igb/igb_ethtool.c
564
regs_buff[65] = adapter->stats.tncrs;
drivers/net/ethernet/intel/igb/igb_ethtool.c
565
regs_buff[66] = adapter->stats.sec;
drivers/net/ethernet/intel/igb/igb_ethtool.c
566
regs_buff[67] = adapter->stats.htdpmc;
drivers/net/ethernet/intel/igb/igb_ethtool.c
567
regs_buff[68] = adapter->stats.rlec;
drivers/net/ethernet/intel/igb/igb_ethtool.c
568
regs_buff[69] = adapter->stats.xonrxc;
drivers/net/ethernet/intel/igb/igb_ethtool.c
569
regs_buff[70] = adapter->stats.xontxc;
drivers/net/ethernet/intel/igb/igb_ethtool.c
570
regs_buff[71] = adapter->stats.xoffrxc;
drivers/net/ethernet/intel/igb/igb_ethtool.c
571
regs_buff[72] = adapter->stats.xofftxc;
drivers/net/ethernet/intel/igb/igb_ethtool.c
572
regs_buff[73] = adapter->stats.fcruc;
drivers/net/ethernet/intel/igb/igb_ethtool.c
573
regs_buff[74] = adapter->stats.prc64;
drivers/net/ethernet/intel/igb/igb_ethtool.c
574
regs_buff[75] = adapter->stats.prc127;
drivers/net/ethernet/intel/igb/igb_ethtool.c
575
regs_buff[76] = adapter->stats.prc255;
drivers/net/ethernet/intel/igb/igb_ethtool.c
576
regs_buff[77] = adapter->stats.prc511;
drivers/net/ethernet/intel/igb/igb_ethtool.c
577
regs_buff[78] = adapter->stats.prc1023;
drivers/net/ethernet/intel/igb/igb_ethtool.c
578
regs_buff[79] = adapter->stats.prc1522;
drivers/net/ethernet/intel/igb/igb_ethtool.c
579
regs_buff[80] = adapter->stats.gprc;
drivers/net/ethernet/intel/igb/igb_ethtool.c
580
regs_buff[81] = adapter->stats.bprc;
drivers/net/ethernet/intel/igb/igb_ethtool.c
581
regs_buff[82] = adapter->stats.mprc;
drivers/net/ethernet/intel/igb/igb_ethtool.c
582
regs_buff[83] = adapter->stats.gptc;
drivers/net/ethernet/intel/igb/igb_ethtool.c
583
regs_buff[84] = adapter->stats.gorc;
drivers/net/ethernet/intel/igb/igb_ethtool.c
584
regs_buff[86] = adapter->stats.gotc;
drivers/net/ethernet/intel/igb/igb_ethtool.c
585
regs_buff[88] = adapter->stats.rnbc;
drivers/net/ethernet/intel/igb/igb_ethtool.c
586
regs_buff[89] = adapter->stats.ruc;
drivers/net/ethernet/intel/igb/igb_ethtool.c
587
regs_buff[90] = adapter->stats.rfc;
drivers/net/ethernet/intel/igb/igb_ethtool.c
588
regs_buff[91] = adapter->stats.roc;
drivers/net/ethernet/intel/igb/igb_ethtool.c
589
regs_buff[92] = adapter->stats.rjc;
drivers/net/ethernet/intel/igb/igb_ethtool.c
590
regs_buff[93] = adapter->stats.mgprc;
drivers/net/ethernet/intel/igb/igb_ethtool.c
591
regs_buff[94] = adapter->stats.mgpdc;
drivers/net/ethernet/intel/igb/igb_ethtool.c
592
regs_buff[95] = adapter->stats.mgptc;
drivers/net/ethernet/intel/igb/igb_ethtool.c
593
regs_buff[96] = adapter->stats.tor;
drivers/net/ethernet/intel/igb/igb_ethtool.c
594
regs_buff[98] = adapter->stats.tot;
drivers/net/ethernet/intel/igb/igb_ethtool.c
595
regs_buff[100] = adapter->stats.tpr;
drivers/net/ethernet/intel/igb/igb_ethtool.c
596
regs_buff[101] = adapter->stats.tpt;
drivers/net/ethernet/intel/igb/igb_ethtool.c
597
regs_buff[102] = adapter->stats.ptc64;
drivers/net/ethernet/intel/igb/igb_ethtool.c
598
regs_buff[103] = adapter->stats.ptc127;
drivers/net/ethernet/intel/igb/igb_ethtool.c
599
regs_buff[104] = adapter->stats.ptc255;
drivers/net/ethernet/intel/igb/igb_ethtool.c
600
regs_buff[105] = adapter->stats.ptc511;
drivers/net/ethernet/intel/igb/igb_ethtool.c
601
regs_buff[106] = adapter->stats.ptc1023;
drivers/net/ethernet/intel/igb/igb_ethtool.c
602
regs_buff[107] = adapter->stats.ptc1522;
drivers/net/ethernet/intel/igb/igb_ethtool.c
603
regs_buff[108] = adapter->stats.mptc;
drivers/net/ethernet/intel/igb/igb_ethtool.c
604
regs_buff[109] = adapter->stats.bptc;
drivers/net/ethernet/intel/igb/igb_ethtool.c
605
regs_buff[110] = adapter->stats.tsctc;
drivers/net/ethernet/intel/igb/igb_ethtool.c
606
regs_buff[111] = adapter->stats.iac;
drivers/net/ethernet/intel/igb/igb_ethtool.c
607
regs_buff[112] = adapter->stats.rpthc;
drivers/net/ethernet/intel/igb/igb_ethtool.c
608
regs_buff[113] = adapter->stats.hgptc;
drivers/net/ethernet/intel/igb/igb_ethtool.c
609
regs_buff[114] = adapter->stats.hgorc;
drivers/net/ethernet/intel/igb/igb_ethtool.c
610
regs_buff[116] = adapter->stats.hgotc;
drivers/net/ethernet/intel/igb/igb_ethtool.c
611
regs_buff[118] = adapter->stats.lenerrs;
drivers/net/ethernet/intel/igb/igb_ethtool.c
612
regs_buff[119] = adapter->stats.scvpc;
drivers/net/ethernet/intel/igb/igb_ethtool.c
613
regs_buff[120] = adapter->stats.hrmpc;
drivers/net/ethernet/intel/igb/igb_ethtool.c
681
regs_buff[551] = adapter->stats.o2bgptc;
drivers/net/ethernet/intel/igb/igb_ethtool.c
682
regs_buff[552] = adapter->stats.b2ospc;
drivers/net/ethernet/intel/igb/igb_ethtool.c
683
regs_buff[553] = adapter->stats.o2bspc;
drivers/net/ethernet/intel/igb/igb_ethtool.c
684
regs_buff[554] = adapter->stats.b2ogprc;
drivers/net/ethernet/intel/igb/igb_ethtool.c
729
struct igb_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igb/igb_ethtool.c
730
return adapter->hw.nvm.word_size * 2;
drivers/net/ethernet/intel/igb/igb_ethtool.c
736
struct igb_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igb/igb_ethtool.c
737
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_ethtool.c
783
struct igb_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igb/igb_ethtool.c
784
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_ethtool.c
845
igb_set_fw_version(adapter);
drivers/net/ethernet/intel/igb/igb_ethtool.c
854
struct igb_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igb/igb_ethtool.c
861
strscpy(drvinfo->fw_version, adapter->fw_version,
drivers/net/ethernet/intel/igb/igb_ethtool.c
863
strscpy(drvinfo->bus_info, pci_name(adapter->pdev),
drivers/net/ethernet/intel/igb/igb_ethtool.c
874
struct igb_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igb/igb_ethtool.c
878
ring->rx_pending = adapter->rx_ring_count;
drivers/net/ethernet/intel/igb/igb_ethtool.c
879
ring->tx_pending = adapter->tx_ring_count;
drivers/net/ethernet/intel/igb/igb_ethtool.c
887
struct igb_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igb/igb_ethtool.c
903
if ((new_tx_count == adapter->tx_ring_count) &&
drivers/net/ethernet/intel/igb/igb_ethtool.c
904
(new_rx_count == adapter->rx_ring_count)) {
drivers/net/ethernet/intel/igb/igb_ethtool.c
909
while (test_and_set_bit(__IGB_RESETTING, &adapter->state))
drivers/net/ethernet/intel/igb/igb_ethtool.c
912
if (!netif_running(adapter->netdev)) {
drivers/net/ethernet/intel/igb/igb_ethtool.c
913
for (i = 0; i < adapter->num_tx_queues; i++)
drivers/net/ethernet/intel/igb/igb_ethtool.c
914
adapter->tx_ring[i]->count = new_tx_count;
drivers/net/ethernet/intel/igb/igb_ethtool.c
915
for (i = 0; i < adapter->num_rx_queues; i++)
drivers/net/ethernet/intel/igb/igb_ethtool.c
916
adapter->rx_ring[i]->count = new_rx_count;
drivers/net/ethernet/intel/igb/igb_ethtool.c
917
adapter->tx_ring_count = new_tx_count;
drivers/net/ethernet/intel/igb/igb_ethtool.c
918
adapter->rx_ring_count = new_rx_count;
drivers/net/ethernet/intel/igb/igb_ethtool.c
922
if (adapter->num_tx_queues > adapter->num_rx_queues)
drivers/net/ethernet/intel/igb/igb_ethtool.c
923
temp_ring = vmalloc_array(adapter->num_tx_queues,
drivers/net/ethernet/intel/igb/igb_ethtool.c
926
temp_ring = vmalloc_array(adapter->num_rx_queues,
drivers/net/ethernet/intel/igb/igb_ethtool.c
934
igb_down(adapter);
drivers/net/ethernet/intel/igb/igb_ethtool.c
940
if (new_tx_count != adapter->tx_ring_count) {
drivers/net/ethernet/intel/igb/igb_ethtool.c
941
for (i = 0; i < adapter->num_tx_queues; i++) {
drivers/net/ethernet/intel/igb/igb_ethtool.c
942
memcpy(&temp_ring[i], adapter->tx_ring[i],
drivers/net/ethernet/intel/igb/igb_ethtool.c
956
for (i = 0; i < adapter->num_tx_queues; i++) {
drivers/net/ethernet/intel/igb/igb_ethtool.c
957
igb_free_tx_resources(adapter->tx_ring[i]);
drivers/net/ethernet/intel/igb/igb_ethtool.c
959
memcpy(adapter->tx_ring[i], &temp_ring[i],
drivers/net/ethernet/intel/igb/igb_ethtool.c
963
adapter->tx_ring_count = new_tx_count;
drivers/net/ethernet/intel/igb/igb_ethtool.c
966
if (new_rx_count != adapter->rx_ring_count) {
drivers/net/ethernet/intel/igb/igb_ethtool.c
967
for (i = 0; i < adapter->num_rx_queues; i++) {
drivers/net/ethernet/intel/igb/igb_ethtool.c
968
memcpy(&temp_ring[i], adapter->rx_ring[i],
drivers/net/ethernet/intel/igb/igb_ethtool.c
983
for (i = 0; i < adapter->num_rx_queues; i++) {
drivers/net/ethernet/intel/igb/igb_ethtool.c
984
igb_free_rx_resources(adapter->rx_ring[i]);
drivers/net/ethernet/intel/igb/igb_ethtool.c
986
memcpy(adapter->rx_ring[i], &temp_ring[i],
drivers/net/ethernet/intel/igb/igb_ethtool.c
990
adapter->rx_ring_count = new_rx_count;
drivers/net/ethernet/intel/igb/igb_ethtool.c
993
igb_up(adapter);
drivers/net/ethernet/intel/igb/igb_ethtool.c
996
clear_bit(__IGB_RESETTING, &adapter->state);
drivers/net/ethernet/intel/igb/igb_hwmon.c
127
&adapter->hw.mac.thermal_sensor_data.sensor[offset];
drivers/net/ethernet/intel/igb/igb_hwmon.c
128
igb_attr->hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_hwmon.c
134
adapter->igb_hwmon_buff->attrs[n_attr] = &igb_attr->dev_attr.attr;
drivers/net/ethernet/intel/igb/igb_hwmon.c
136
++adapter->igb_hwmon_buff->n_hwmon;
drivers/net/ethernet/intel/igb/igb_hwmon.c
141
static void igb_sysfs_del_adapter(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb_hwmon.c
146
void igb_sysfs_exit(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb_hwmon.c
148
igb_sysfs_del_adapter(adapter);
drivers/net/ethernet/intel/igb/igb_hwmon.c
152
int igb_sysfs_init(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb_hwmon.c
161
if (adapter->hw.mac.ops.init_thermal_sensor_thresh == NULL)
drivers/net/ethernet/intel/igb/igb_hwmon.c
165
rc = (adapter->hw.mac.ops.init_thermal_sensor_thresh(&adapter->hw));
drivers/net/ethernet/intel/igb/igb_hwmon.c
169
igb_hwmon = devm_kzalloc(&adapter->pdev->dev, sizeof(*igb_hwmon),
drivers/net/ethernet/intel/igb/igb_hwmon.c
175
adapter->igb_hwmon_buff = igb_hwmon;
drivers/net/ethernet/intel/igb/igb_hwmon.c
182
if (adapter->hw.mac.thermal_sensor_data.sensor[i].location == 0)
drivers/net/ethernet/intel/igb/igb_hwmon.c
186
rc = igb_add_hwmon_attr(adapter, i, IGB_HWMON_TYPE_CAUTION);
drivers/net/ethernet/intel/igb/igb_hwmon.c
189
rc = igb_add_hwmon_attr(adapter, i, IGB_HWMON_TYPE_LOC);
drivers/net/ethernet/intel/igb/igb_hwmon.c
192
rc = igb_add_hwmon_attr(adapter, i, IGB_HWMON_TYPE_TEMP);
drivers/net/ethernet/intel/igb/igb_hwmon.c
195
rc = igb_add_hwmon_attr(adapter, i, IGB_HWMON_TYPE_MAX);
drivers/net/ethernet/intel/igb/igb_hwmon.c
201
client = i2c_new_client_device(&adapter->i2c_adap, &i350_sensor_info);
drivers/net/ethernet/intel/igb/igb_hwmon.c
203
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/intel/igb/igb_hwmon.c
208
adapter->i2c_client = client;
drivers/net/ethernet/intel/igb/igb_hwmon.c
213
hwmon_dev = devm_hwmon_device_register_with_groups(&adapter->pdev->dev,
drivers/net/ethernet/intel/igb/igb_hwmon.c
225
igb_sysfs_del_adapter(adapter);
drivers/net/ethernet/intel/igb/igb_hwmon.c
89
static int igb_add_hwmon_attr(struct igb_adapter *adapter,
drivers/net/ethernet/intel/igb/igb_hwmon.c
96
n_attr = adapter->igb_hwmon_buff->n_hwmon;
drivers/net/ethernet/intel/igb/igb_hwmon.c
97
igb_attr = &adapter->igb_hwmon_buff->hwmon_list[n_attr];
drivers/net/ethernet/intel/igb/igb_main.c
10001
adapter->vf_rate_link_speed = actual_link_speed;
drivers/net/ethernet/intel/igb/igb_main.c
10002
adapter->vf_data[vf].tx_rate = (u16)max_tx_rate;
drivers/net/ethernet/intel/igb/igb_main.c
1001
struct igb_q_vector *q_vector = adapter->q_vector[v_idx];
drivers/net/ethernet/intel/igb/igb_main.c
10011
struct igb_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igb/igb_main.c
10012
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
10015
if (!adapter->vfs_allocated_count)
drivers/net/ethernet/intel/igb/igb_main.c
10018
if (vf >= adapter->vfs_allocated_count)
drivers/net/ethernet/intel/igb/igb_main.c
10031
adapter->vf_data[vf].spoofchk_enabled = setting;
drivers/net/ethernet/intel/igb/igb_main.c
10037
struct igb_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igb/igb_main.c
10039
if (vf >= adapter->vfs_allocated_count)
drivers/net/ethernet/intel/igb/igb_main.c
10041
if (adapter->vf_data[vf].trusted == setting)
drivers/net/ethernet/intel/igb/igb_main.c
10044
adapter->vf_data[vf].trusted = setting;
drivers/net/ethernet/intel/igb/igb_main.c
10046
dev_info(&adapter->pdev->dev, "VF %u is %strusted\n",
drivers/net/ethernet/intel/igb/igb_main.c
10054
struct igb_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igb/igb_main.c
10055
if (vf >= adapter->vfs_allocated_count)
drivers/net/ethernet/intel/igb/igb_main.c
10058
memcpy(&ivi->mac, adapter->vf_data[vf].vf_mac_addresses, ETH_ALEN);
drivers/net/ethernet/intel/igb/igb_main.c
10059
ivi->max_tx_rate = adapter->vf_data[vf].tx_rate;
drivers/net/ethernet/intel/igb/igb_main.c
10061
ivi->vlan = adapter->vf_data[vf].pf_vlan;
drivers/net/ethernet/intel/igb/igb_main.c
10062
ivi->qos = adapter->vf_data[vf].pf_qos;
drivers/net/ethernet/intel/igb/igb_main.c
10063
ivi->spoofchk = adapter->vf_data[vf].spoofchk_enabled;
drivers/net/ethernet/intel/igb/igb_main.c
10064
ivi->trusted = adapter->vf_data[vf].trusted;
drivers/net/ethernet/intel/igb/igb_main.c
10068
static void igb_vmm_control(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb_main.c
10070
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
10098
if (adapter->vfs_allocated_count) {
drivers/net/ethernet/intel/igb/igb_main.c
1010
adapter->tx_ring[q_vector->tx.ring->queue_index] = NULL;
drivers/net/ethernet/intel/igb/igb_main.c
10102
adapter->vfs_allocated_count);
drivers/net/ethernet/intel/igb/igb_main.c
10109
static void igb_init_dmac(struct igb_adapter *adapter, u32 pba)
drivers/net/ethernet/intel/igb/igb_main.c
10111
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
10117
if (adapter->flags & IGB_FLAG_DMAC) {
drivers/net/ethernet/intel/igb/igb_main.c
1013
adapter->rx_ring[q_vector->rx.ring->queue_index] = NULL;
drivers/net/ethernet/intel/igb/igb_main.c
10163
(IGB_TX_BUF_4096 + adapter->max_frame_size)) >> 6);
drivers/net/ethernet/intel/igb/igb_main.c
10167
(adapter->flags & IGB_FLAG_DMAC)) {
drivers/net/ethernet/intel/igb/igb_main.c
1019
static void igb_reset_interrupt_capability(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb_main.c
10193
struct igb_adapter *adapter = container_of(hw, struct igb_adapter, hw);
drivers/net/ethernet/intel/igb/igb_main.c
10194
struct i2c_client *this_client = adapter->i2c_client;
drivers/net/ethernet/intel/igb/igb_main.c
1021
int v_idx = adapter->num_q_vectors;
drivers/net/ethernet/intel/igb/igb_main.c
1023
if (adapter->flags & IGB_FLAG_HAS_MSIX)
drivers/net/ethernet/intel/igb/igb_main.c
10230
struct igb_adapter *adapter = container_of(hw, struct igb_adapter, hw);
drivers/net/ethernet/intel/igb/igb_main.c
10231
struct i2c_client *this_client = adapter->i2c_client;
drivers/net/ethernet/intel/igb/igb_main.c
1024
pci_disable_msix(adapter->pdev);
drivers/net/ethernet/intel/igb/igb_main.c
1025
else if (adapter->flags & IGB_FLAG_HAS_MSI)
drivers/net/ethernet/intel/igb/igb_main.c
10250
int igb_reinit_queues(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb_main.c
10252
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/igb/igb_main.c
10253
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/intel/igb/igb_main.c
10259
igb_reset_interrupt_capability(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
1026
pci_disable_msi(adapter->pdev);
drivers/net/ethernet/intel/igb/igb_main.c
10261
if (igb_init_interrupt_scheme(adapter, true)) {
drivers/net/ethernet/intel/igb/igb_main.c
10272
static void igb_nfc_filter_exit(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb_main.c
10276
spin_lock(&adapter->nfc_lock);
drivers/net/ethernet/intel/igb/igb_main.c
10278
hlist_for_each_entry(rule, &adapter->nfc_filter_list, nfc_node)
drivers/net/ethernet/intel/igb/igb_main.c
10279
igb_erase_filter(adapter, rule);
drivers/net/ethernet/intel/igb/igb_main.c
10281
hlist_for_each_entry(rule, &adapter->cls_flower_list, nfc_node)
drivers/net/ethernet/intel/igb/igb_main.c
10282
igb_erase_filter(adapter, rule);
drivers/net/ethernet/intel/igb/igb_main.c
10284
spin_unlock(&adapter->nfc_lock);
drivers/net/ethernet/intel/igb/igb_main.c
10287
static void igb_nfc_filter_restore(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb_main.c
1029
igb_reset_q_vector(adapter, v_idx);
drivers/net/ethernet/intel/igb/igb_main.c
10291
spin_lock(&adapter->nfc_lock);
drivers/net/ethernet/intel/igb/igb_main.c
10293
hlist_for_each_entry(rule, &adapter->nfc_filter_list, nfc_node)
drivers/net/ethernet/intel/igb/igb_main.c
10294
igb_add_filter(adapter, rule);
drivers/net/ethernet/intel/igb/igb_main.c
10296
spin_unlock(&adapter->nfc_lock);
drivers/net/ethernet/intel/igb/igb_main.c
1040
static void igb_free_q_vectors(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb_main.c
1042
int v_idx = adapter->num_q_vectors;
drivers/net/ethernet/intel/igb/igb_main.c
1044
adapter->num_tx_queues = 0;
drivers/net/ethernet/intel/igb/igb_main.c
1045
adapter->num_rx_queues = 0;
drivers/net/ethernet/intel/igb/igb_main.c
1046
adapter->num_q_vectors = 0;
drivers/net/ethernet/intel/igb/igb_main.c
1049
igb_reset_q_vector(adapter, v_idx);
drivers/net/ethernet/intel/igb/igb_main.c
1050
igb_free_q_vector(adapter, v_idx);
drivers/net/ethernet/intel/igb/igb_main.c
1061
static void igb_clear_interrupt_scheme(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb_main.c
1063
igb_free_q_vectors(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
1064
igb_reset_interrupt_capability(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
1075
static void igb_set_interrupt_capability(struct igb_adapter *adapter, bool msix)
drivers/net/ethernet/intel/igb/igb_main.c
1082
adapter->flags |= IGB_FLAG_HAS_MSIX;
drivers/net/ethernet/intel/igb/igb_main.c
1085
adapter->num_rx_queues = adapter->rss_queues;
drivers/net/ethernet/intel/igb/igb_main.c
1086
if (adapter->vfs_allocated_count)
drivers/net/ethernet/intel/igb/igb_main.c
1087
adapter->num_tx_queues = 1;
drivers/net/ethernet/intel/igb/igb_main.c
1089
adapter->num_tx_queues = adapter->rss_queues;
drivers/net/ethernet/intel/igb/igb_main.c
109
static void igb_init_queue_configuration(struct igb_adapter *adapter);
drivers/net/ethernet/intel/igb/igb_main.c
1092
numvecs = adapter->num_rx_queues;
drivers/net/ethernet/intel/igb/igb_main.c
1095
if (!(adapter->flags & IGB_FLAG_QUEUE_PAIRS))
drivers/net/ethernet/intel/igb/igb_main.c
1096
numvecs += adapter->num_tx_queues;
drivers/net/ethernet/intel/igb/igb_main.c
1099
adapter->num_q_vectors = numvecs;
drivers/net/ethernet/intel/igb/igb_main.c
1104
adapter->msix_entries[i].entry = i;
drivers/net/ethernet/intel/igb/igb_main.c
1106
err = pci_enable_msix_range(adapter->pdev,
drivers/net/ethernet/intel/igb/igb_main.c
1107
adapter->msix_entries,
drivers/net/ethernet/intel/igb/igb_main.c
1113
igb_reset_interrupt_capability(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
1117
adapter->flags &= ~IGB_FLAG_HAS_MSIX;
drivers/net/ethernet/intel/igb/igb_main.c
1120
if (adapter->vf_data) {
drivers/net/ethernet/intel/igb/igb_main.c
1121
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
1123
pci_disable_sriov(adapter->pdev);
drivers/net/ethernet/intel/igb/igb_main.c
1126
kfree(adapter->vf_mac_list);
drivers/net/ethernet/intel/igb/igb_main.c
1127
adapter->vf_mac_list = NULL;
drivers/net/ethernet/intel/igb/igb_main.c
1128
kfree(adapter->vf_data);
drivers/net/ethernet/intel/igb/igb_main.c
1129
adapter->vf_data = NULL;
drivers/net/ethernet/intel/igb/igb_main.c
1133
dev_info(&adapter->pdev->dev, "IOV Disabled\n");
drivers/net/ethernet/intel/igb/igb_main.c
1136
adapter->vfs_allocated_count = 0;
drivers/net/ethernet/intel/igb/igb_main.c
1137
adapter->rss_queues = 1;
drivers/net/ethernet/intel/igb/igb_main.c
1138
adapter->flags |= IGB_FLAG_QUEUE_PAIRS;
drivers/net/ethernet/intel/igb/igb_main.c
1139
adapter->num_rx_queues = 1;
drivers/net/ethernet/intel/igb/igb_main.c
1140
adapter->num_tx_queues = 1;
drivers/net/ethernet/intel/igb/igb_main.c
1141
adapter->num_q_vectors = 1;
drivers/net/ethernet/intel/igb/igb_main.c
1142
if (!pci_enable_msi(adapter->pdev))
drivers/net/ethernet/intel/igb/igb_main.c
1143
adapter->flags |= IGB_FLAG_HAS_MSI;
drivers/net/ethernet/intel/igb/igb_main.c
1165
static int igb_alloc_q_vector(struct igb_adapter *adapter,
drivers/net/ethernet/intel/igb/igb_main.c
1183
q_vector = adapter->q_vector[v_idx];
drivers/net/ethernet/intel/igb/igb_main.c
1200
netif_napi_add_config(adapter->netdev, &q_vector->napi, igb_poll,
drivers/net/ethernet/intel/igb/igb_main.c
1204
adapter->q_vector[v_idx] = q_vector;
drivers/net/ethernet/intel/igb/igb_main.c
1205
q_vector->adapter = adapter;
drivers/net/ethernet/intel/igb/igb_main.c
1208
q_vector->tx.work_limit = adapter->tx_work_limit;
drivers/net/ethernet/intel/igb/igb_main.c
1211
q_vector->itr_register = adapter->io_addr + E1000_EITR(0);
drivers/net/ethernet/intel/igb/igb_main.c
1220
if (!adapter->rx_itr_setting || adapter->rx_itr_setting > 3)
drivers/net/ethernet/intel/igb/igb_main.c
1221
q_vector->itr_val = adapter->rx_itr_setting;
drivers/net/ethernet/intel/igb/igb_main.c
1224
if (!adapter->tx_itr_setting || adapter->tx_itr_setting > 3)
drivers/net/ethernet/intel/igb/igb_main.c
1225
q_vector->itr_val = adapter->tx_itr_setting;
drivers/net/ethernet/intel/igb/igb_main.c
1230
ring->dev = &adapter->pdev->dev;
drivers/net/ethernet/intel/igb/igb_main.c
1231
ring->netdev = adapter->netdev;
drivers/net/ethernet/intel/igb/igb_main.c
1240
if (adapter->hw.mac.type == e1000_82575)
drivers/net/ethernet/intel/igb/igb_main.c
1244
ring->count = adapter->tx_ring_count;
drivers/net/ethernet/intel/igb/igb_main.c
1257
adapter->tx_ring[txr_idx] = ring;
drivers/net/ethernet/intel/igb/igb_main.c
1265
ring->dev = &adapter->pdev->dev;
drivers/net/ethernet/intel/igb/igb_main.c
1266
ring->netdev = adapter->netdev;
drivers/net/ethernet/intel/igb/igb_main.c
127
static void igb_set_uta(struct igb_adapter *adapter, bool set);
drivers/net/ethernet/intel/igb/igb_main.c
1275
if (adapter->hw.mac.type >= e1000_82576)
drivers/net/ethernet/intel/igb/igb_main.c
1281
if (adapter->hw.mac.type >= e1000_i350)
drivers/net/ethernet/intel/igb/igb_main.c
1285
ring->count = adapter->rx_ring_count;
drivers/net/ethernet/intel/igb/igb_main.c
1291
adapter->rx_ring[rxr_idx] = ring;
drivers/net/ethernet/intel/igb/igb_main.c
1305
static int igb_alloc_q_vectors(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb_main.c
1307
int q_vectors = adapter->num_q_vectors;
drivers/net/ethernet/intel/igb/igb_main.c
1308
int rxr_remaining = adapter->num_rx_queues;
drivers/net/ethernet/intel/igb/igb_main.c
1309
int txr_remaining = adapter->num_tx_queues;
drivers/net/ethernet/intel/igb/igb_main.c
1315
err = igb_alloc_q_vector(adapter, q_vectors, v_idx,
drivers/net/ethernet/intel/igb/igb_main.c
1331
err = igb_alloc_q_vector(adapter, q_vectors, v_idx,
drivers/net/ethernet/intel/igb/igb_main.c
1347
adapter->num_tx_queues = 0;
drivers/net/ethernet/intel/igb/igb_main.c
1348
adapter->num_rx_queues = 0;
drivers/net/ethernet/intel/igb/igb_main.c
1349
adapter->num_q_vectors = 0;
drivers/net/ethernet/intel/igb/igb_main.c
1352
igb_free_q_vector(adapter, v_idx);
drivers/net/ethernet/intel/igb/igb_main.c
1364
static int igb_init_interrupt_scheme(struct igb_adapter *adapter, bool msix)
drivers/net/ethernet/intel/igb/igb_main.c
1366
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/intel/igb/igb_main.c
1369
igb_set_interrupt_capability(adapter, msix);
drivers/net/ethernet/intel/igb/igb_main.c
1371
err = igb_alloc_q_vectors(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
1377
igb_cache_ring_register(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
1382
igb_reset_interrupt_capability(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
1393
static int igb_request_irq(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb_main.c
1395
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/igb/igb_main.c
1396
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/intel/igb/igb_main.c
1399
if (adapter->flags & IGB_FLAG_HAS_MSIX) {
drivers/net/ethernet/intel/igb/igb_main.c
1400
err = igb_request_msix(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
1404
igb_free_all_tx_resources(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
1405
igb_free_all_rx_resources(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
1407
igb_clear_interrupt_scheme(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
1408
err = igb_init_interrupt_scheme(adapter, false);
drivers/net/ethernet/intel/igb/igb_main.c
1412
igb_setup_all_tx_resources(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
1413
igb_setup_all_rx_resources(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
1414
igb_configure(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
1417
igb_assign_vector(adapter->q_vector[0], 0);
drivers/net/ethernet/intel/igb/igb_main.c
1419
if (adapter->flags & IGB_FLAG_HAS_MSI) {
drivers/net/ethernet/intel/igb/igb_main.c
1421
netdev->name, adapter);
drivers/net/ethernet/intel/igb/igb_main.c
1426
igb_reset_interrupt_capability(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
1427
adapter->flags &= ~IGB_FLAG_HAS_MSI;
drivers/net/ethernet/intel/igb/igb_main.c
1431
netdev->name, adapter);
drivers/net/ethernet/intel/igb/igb_main.c
1441
static void igb_free_irq(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb_main.c
1443
if (adapter->flags & IGB_FLAG_HAS_MSIX) {
drivers/net/ethernet/intel/igb/igb_main.c
1446
free_irq(adapter->msix_entries[vector++].vector, adapter);
drivers/net/ethernet/intel/igb/igb_main.c
1448
for (i = 0; i < adapter->num_q_vectors; i++)
drivers/net/ethernet/intel/igb/igb_main.c
1449
free_irq(adapter->msix_entries[vector++].vector,
drivers/net/ethernet/intel/igb/igb_main.c
1450
adapter->q_vector[i]);
drivers/net/ethernet/intel/igb/igb_main.c
1452
free_irq(adapter->pdev->irq, adapter);
drivers/net/ethernet/intel/igb/igb_main.c
1460
static void igb_irq_disable(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb_main.c
1462
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
1468
if (adapter->flags & IGB_FLAG_HAS_MSIX) {
drivers/net/ethernet/intel/igb/igb_main.c
1471
wr32(E1000_EIAM, regval & ~adapter->eims_enable_mask);
drivers/net/ethernet/intel/igb/igb_main.c
1472
wr32(E1000_EIMC, adapter->eims_enable_mask);
drivers/net/ethernet/intel/igb/igb_main.c
1474
wr32(E1000_EIAC, regval & ~adapter->eims_enable_mask);
drivers/net/ethernet/intel/igb/igb_main.c
1480
if (adapter->flags & IGB_FLAG_HAS_MSIX) {
drivers/net/ethernet/intel/igb/igb_main.c
1483
for (i = 0; i < adapter->num_q_vectors; i++)
drivers/net/ethernet/intel/igb/igb_main.c
1484
synchronize_irq(adapter->msix_entries[i].vector);
drivers/net/ethernet/intel/igb/igb_main.c
1486
synchronize_irq(adapter->pdev->irq);
drivers/net/ethernet/intel/igb/igb_main.c
1494
static void igb_irq_enable(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb_main.c
1496
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
1498
if (adapter->flags & IGB_FLAG_HAS_MSIX) {
drivers/net/ethernet/intel/igb/igb_main.c
1502
wr32(E1000_EIAC, regval | adapter->eims_enable_mask);
drivers/net/ethernet/intel/igb/igb_main.c
1504
wr32(E1000_EIAM, regval | adapter->eims_enable_mask);
drivers/net/ethernet/intel/igb/igb_main.c
1505
wr32(E1000_EIMS, adapter->eims_enable_mask);
drivers/net/ethernet/intel/igb/igb_main.c
1506
if (adapter->vfs_allocated_count) {
drivers/net/ethernet/intel/igb/igb_main.c
1519
static void igb_update_mng_vlan(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb_main.c
1521
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
1522
u16 pf_id = adapter->vfs_allocated_count;
drivers/net/ethernet/intel/igb/igb_main.c
1523
u16 vid = adapter->hw.mng_cookie.vlan_id;
drivers/net/ethernet/intel/igb/igb_main.c
1524
u16 old_vid = adapter->mng_vlan_id;
drivers/net/ethernet/intel/igb/igb_main.c
1529
adapter->mng_vlan_id = vid;
drivers/net/ethernet/intel/igb/igb_main.c
1531
adapter->mng_vlan_id = IGB_MNG_VLAN_NONE;
drivers/net/ethernet/intel/igb/igb_main.c
1535
!test_bit(old_vid, adapter->active_vlans)) {
drivers/net/ethernet/intel/igb/igb_main.c
1549
static void igb_release_hw_control(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb_main.c
1551
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
1568
static void igb_get_hw_control(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb_main.c
157
static void igb_restore_vf_multicasts(struct igb_adapter *adapter);
drivers/net/ethernet/intel/igb/igb_main.c
1570
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
1579
static void enable_fqtss(struct igb_adapter *adapter, bool enable)
drivers/net/ethernet/intel/igb/igb_main.c
1581
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/igb/igb_main.c
1582
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
1587
adapter->flags |= IGB_FLAG_FQTSS;
drivers/net/ethernet/intel/igb/igb_main.c
1589
adapter->flags &= ~IGB_FLAG_FQTSS;
drivers/net/ethernet/intel/igb/igb_main.c
1592
schedule_work(&adapter->reset_task);
drivers/net/ethernet/intel/igb/igb_main.c
1595
static bool is_fqtss_enabled(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb_main.c
1597
return (adapter->flags & IGB_FLAG_FQTSS) ? true : false;
drivers/net/ethernet/intel/igb/igb_main.c
1635
static bool is_any_cbs_enabled(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb_main.c
1639
for (i = 0; i < adapter->num_tx_queues; i++) {
drivers/net/ethernet/intel/igb/igb_main.c
1640
if (adapter->tx_ring[i]->cbs_enable)
drivers/net/ethernet/intel/igb/igb_main.c
1647
static bool is_any_txtime_enabled(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb_main.c
1651
for (i = 0; i < adapter->num_tx_queues; i++) {
drivers/net/ethernet/intel/igb/igb_main.c
1652
if (adapter->tx_ring[i]->launchtime_enable)
drivers/net/ethernet/intel/igb/igb_main.c
1669
static void igb_config_tx_modes(struct igb_adapter *adapter, int queue)
drivers/net/ethernet/intel/igb/igb_main.c
1671
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/igb/igb_main.c
1672
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
1679
ring = adapter->tx_ring[queue];
drivers/net/ethernet/intel/igb/igb_main.c
169
static void igb_nfc_filter_exit(struct igb_adapter *adapter);
drivers/net/ethernet/intel/igb/igb_main.c
170
static void igb_nfc_filter_restore(struct igb_adapter *adapter);
drivers/net/ethernet/intel/igb/igb_main.c
173
static int igb_vf_configure(struct igb_adapter *adapter, int vf);
drivers/net/ethernet/intel/igb/igb_main.c
1798
if (!is_any_cbs_enabled(adapter)) {
drivers/net/ethernet/intel/igb/igb_main.c
1824
if (!is_any_txtime_enabled(adapter)) {
drivers/net/ethernet/intel/igb/igb_main.c
1845
static int igb_save_txtime_params(struct igb_adapter *adapter, int queue,
drivers/net/ethernet/intel/igb/igb_main.c
1850
if (queue < 0 || queue > adapter->num_tx_queues)
drivers/net/ethernet/intel/igb/igb_main.c
1853
ring = adapter->tx_ring[queue];
drivers/net/ethernet/intel/igb/igb_main.c
1859
static int igb_save_cbs_params(struct igb_adapter *adapter, int queue,
drivers/net/ethernet/intel/igb/igb_main.c
1865
if (queue < 0 || queue > adapter->num_tx_queues)
drivers/net/ethernet/intel/igb/igb_main.c
1868
ring = adapter->tx_ring[queue];
drivers/net/ethernet/intel/igb/igb_main.c
1888
static void igb_setup_tx_mode(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb_main.c
1890
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/igb/igb_main.c
1891
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
1898
if (is_fqtss_enabled(adapter)) {
drivers/net/ethernet/intel/igb/igb_main.c
1943
max_queue = (adapter->num_tx_queues < I210_SR_QUEUES_NUM) ?
drivers/net/ethernet/intel/igb/igb_main.c
1944
adapter->num_tx_queues : I210_SR_QUEUES_NUM;
drivers/net/ethernet/intel/igb/igb_main.c
1947
igb_config_tx_modes(adapter, i);
drivers/net/ethernet/intel/igb/igb_main.c
1963
netdev_dbg(netdev, "FQTSS %s\n", (is_fqtss_enabled(adapter)) ?
drivers/net/ethernet/intel/igb/igb_main.c
1971
static void igb_configure(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb_main.c
1973
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/igb/igb_main.c
1976
igb_get_hw_control(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
1978
igb_setup_tx_mode(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
1980
igb_restore_vlan(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
1982
igb_setup_tctl(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
1983
igb_setup_mrqc(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
1984
igb_setup_rctl(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
1986
igb_nfc_filter_restore(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
1987
igb_configure_tx(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
1988
igb_configure_rx(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
1990
igb_rx_fifo_flush_82575(&adapter->hw);
drivers/net/ethernet/intel/igb/igb_main.c
1996
for (i = 0; i < adapter->num_rx_queues; i++) {
drivers/net/ethernet/intel/igb/igb_main.c
1997
struct igb_ring *ring = adapter->rx_ring[i];
drivers/net/ethernet/intel/igb/igb_main.c
2010
void igb_power_up_link(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb_main.c
2012
igb_reset_phy(&adapter->hw);
drivers/net/ethernet/intel/igb/igb_main.c
2014
if (adapter->hw.phy.media_type == e1000_media_type_copper)
drivers/net/ethernet/intel/igb/igb_main.c
2015
igb_power_up_phy_copper(&adapter->hw);
drivers/net/ethernet/intel/igb/igb_main.c
2017
igb_power_up_serdes_link_82575(&adapter->hw);
drivers/net/ethernet/intel/igb/igb_main.c
2019
igb_setup_link(&adapter->hw);
drivers/net/ethernet/intel/igb/igb_main.c
202
static void igb_init_dmac(struct igb_adapter *adapter, u32 pba);
drivers/net/ethernet/intel/igb/igb_main.c
2026
static void igb_power_down_link(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb_main.c
2028
if (adapter->hw.phy.media_type == e1000_media_type_copper)
drivers/net/ethernet/intel/igb/igb_main.c
2029
igb_power_down_phy_copper_82575(&adapter->hw);
drivers/net/ethernet/intel/igb/igb_main.c
2031
igb_shutdown_serdes_link_82575(&adapter->hw);
drivers/net/ethernet/intel/igb/igb_main.c
2038
static void igb_check_swap_media(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb_main.c
2040
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
2057
if (adapter->copper_tries < 4) {
drivers/net/ethernet/intel/igb/igb_main.c
2058
adapter->copper_tries++;
drivers/net/ethernet/intel/igb/igb_main.c
2063
adapter->copper_tries = 0;
drivers/net/ethernet/intel/igb/igb_main.c
2078
netdev_info(adapter->netdev,
drivers/net/ethernet/intel/igb/igb_main.c
2082
adapter->flags |= IGB_FLAG_MEDIA_RESET;
drivers/net/ethernet/intel/igb/igb_main.c
2083
adapter->copper_tries = 0;
drivers/net/ethernet/intel/igb/igb_main.c
2087
netdev_info(adapter->netdev,
drivers/net/ethernet/intel/igb/igb_main.c
2091
adapter->flags |= IGB_FLAG_MEDIA_RESET;
drivers/net/ethernet/intel/igb/igb_main.c
2095
netdev_err(adapter->netdev,
drivers/net/ethernet/intel/igb/igb_main.c
2102
void igb_set_queue_napi(struct igb_adapter *adapter, int vector,
drivers/net/ethernet/intel/igb/igb_main.c
2105
struct igb_q_vector *q_vector = adapter->q_vector[vector];
drivers/net/ethernet/intel/igb/igb_main.c
2108
netif_queue_set_napi(adapter->netdev,
drivers/net/ethernet/intel/igb/igb_main.c
2113
netif_queue_set_napi(adapter->netdev,
drivers/net/ethernet/intel/igb/igb_main.c
2122
int igb_up(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb_main.c
2124
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
2129
igb_configure(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
2131
clear_bit(__IGB_DOWN, &adapter->state);
drivers/net/ethernet/intel/igb/igb_main.c
2133
for (i = 0; i < adapter->num_q_vectors; i++) {
drivers/net/ethernet/intel/igb/igb_main.c
2134
napi = &adapter->q_vector[i]->napi;
drivers/net/ethernet/intel/igb/igb_main.c
2136
igb_set_queue_napi(adapter, i, napi);
drivers/net/ethernet/intel/igb/igb_main.c
2139
if (adapter->flags & IGB_FLAG_HAS_MSIX)
drivers/net/ethernet/intel/igb/igb_main.c
2140
igb_configure_msix(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
2142
igb_assign_vector(adapter->q_vector[0], 0);
drivers/net/ethernet/intel/igb/igb_main.c
2147
igb_irq_enable(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
2150
if (adapter->vfs_allocated_count) {
drivers/net/ethernet/intel/igb/igb_main.c
2157
netif_tx_start_all_queues(adapter->netdev);
drivers/net/ethernet/intel/igb/igb_main.c
2161
schedule_work(&adapter->watchdog_task);
drivers/net/ethernet/intel/igb/igb_main.c
2163
if ((adapter->flags & IGB_FLAG_EEE) &&
drivers/net/ethernet/intel/igb/igb_main.c
2165
adapter->eee_advert = MDIO_EEE_100TX | MDIO_EEE_1000T;
drivers/net/ethernet/intel/igb/igb_main.c
2170
void igb_down(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb_main.c
2172
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/igb/igb_main.c
2173
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
2180
set_bit(__IGB_DOWN, &adapter->state);
drivers/net/ethernet/intel/igb/igb_main.c
2187
igb_nfc_filter_exit(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
2200
igb_irq_disable(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
2202
adapter->flags &= ~IGB_FLAG_NEED_LINK_UPDATE;
drivers/net/ethernet/intel/igb/igb_main.c
2204
for (i = 0; i < adapter->num_q_vectors; i++) {
drivers/net/ethernet/intel/igb/igb_main.c
2205
if (adapter->q_vector[i]) {
drivers/net/ethernet/intel/igb/igb_main.c
2206
napi_disable(&adapter->q_vector[i]->napi);
drivers/net/ethernet/intel/igb/igb_main.c
2207
igb_set_queue_napi(adapter, i, NULL);
drivers/net/ethernet/intel/igb/igb_main.c
2211
timer_delete_sync(&adapter->watchdog_timer);
drivers/net/ethernet/intel/igb/igb_main.c
2212
timer_delete_sync(&adapter->phy_info_timer);
drivers/net/ethernet/intel/igb/igb_main.c
2215
spin_lock(&adapter->stats64_lock);
drivers/net/ethernet/intel/igb/igb_main.c
2216
igb_update_stats(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
2217
spin_unlock(&adapter->stats64_lock);
drivers/net/ethernet/intel/igb/igb_main.c
2219
adapter->link_speed = 0;
drivers/net/ethernet/intel/igb/igb_main.c
2220
adapter->link_duplex = 0;
drivers/net/ethernet/intel/igb/igb_main.c
2222
if (!pci_channel_offline(adapter->pdev))
drivers/net/ethernet/intel/igb/igb_main.c
2223
igb_reset(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
2226
adapter->flags &= ~IGB_FLAG_VLAN_PROMISC;
drivers/net/ethernet/intel/igb/igb_main.c
2228
igb_clean_all_tx_rings(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
2229
igb_clean_all_rx_rings(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
2233
igb_setup_dca(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
2237
void igb_reinit_locked(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb_main.c
2239
while (test_and_set_bit(__IGB_RESETTING, &adapter->state))
drivers/net/ethernet/intel/igb/igb_main.c
2241
igb_down(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
2242
igb_up(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
2243
clear_bit(__IGB_RESETTING, &adapter->state);
drivers/net/ethernet/intel/igb/igb_main.c
2250
static void igb_enable_mas(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb_main.c
2252
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
2289
void igb_reset(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb_main.c
2291
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/intel/igb/igb_main.c
2292
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
2339
min_tx_space = adapter->max_frame_size;
drivers/net/ethernet/intel/igb/igb_main.c
2372
hwm = (pba << 10) - (adapter->max_frame_size + MAX_JUMBO_FRAME_SIZE);
drivers/net/ethernet/intel/igb/igb_main.c
2381
if (adapter->vfs_allocated_count) {
drivers/net/ethernet/intel/igb/igb_main.c
2384
for (i = 0 ; i < adapter->vfs_allocated_count; i++)
drivers/net/ethernet/intel/igb/igb_main.c
2385
adapter->vf_data[i].flags &= IGB_VF_FLAG_PF_SET_MAC;
drivers/net/ethernet/intel/igb/igb_main.c
2388
igb_ping_all_vfs(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
2399
if (adapter->flags & IGB_FLAG_MEDIA_RESET) {
drivers/net/ethernet/intel/igb/igb_main.c
2401
adapter->ei.get_invariants(hw);
drivers/net/ethernet/intel/igb/igb_main.c
2402
adapter->flags &= ~IGB_FLAG_MEDIA_RESET;
drivers/net/ethernet/intel/igb/igb_main.c
2405
(adapter->flags & IGB_FLAG_MAS_ENABLE)) {
drivers/net/ethernet/intel/igb/igb_main.c
2406
igb_enable_mas(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
2412
igb_flush_mac_table(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
2413
__dev_uc_unsync(adapter->netdev, NULL);
drivers/net/ethernet/intel/igb/igb_main.c
2416
igb_set_default_mac_filter(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
2424
igb_init_dmac(adapter, pba);
drivers/net/ethernet/intel/igb/igb_main.c
2427
if (!test_bit(__IGB_DOWN, &adapter->state)) {
drivers/net/ethernet/intel/igb/igb_main.c
2432
if (adapter->ets)
drivers/net/ethernet/intel/igb/igb_main.c
2453
if (!netif_running(adapter->netdev))
drivers/net/ethernet/intel/igb/igb_main.c
2454
igb_power_down_link(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
2456
igb_update_mng_vlan(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
2462
if (adapter->ptp_flags & IGB_PTP_ENABLED)
drivers/net/ethernet/intel/igb/igb_main.c
2463
igb_ptp_reset(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
2486
struct igb_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igb/igb_main.c
2498
spin_lock(&adapter->nfc_lock);
drivers/net/ethernet/intel/igb/igb_main.c
2500
&adapter->nfc_filter_list, nfc_node) {
drivers/net/ethernet/intel/igb/igb_main.c
2501
igb_erase_filter(adapter, rule);
drivers/net/ethernet/intel/igb/igb_main.c
2505
spin_unlock(&adapter->nfc_lock);
drivers/net/ethernet/intel/igb/igb_main.c
2506
adapter->nfc_filter_count = 0;
drivers/net/ethernet/intel/igb/igb_main.c
2512
igb_reinit_locked(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
2514
igb_reset(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
2527
struct igb_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/intel/igb/igb_main.c
2528
int vfn = adapter->vfs_allocated_count;
drivers/net/ethernet/intel/igb/igb_main.c
2530
if (netdev_uc_count(dev) >= igb_available_rars(adapter, vfn))
drivers/net/ethernet/intel/igb/igb_main.c
2573
static void igb_offload_apply(struct igb_adapter *adapter, s32 queue)
drivers/net/ethernet/intel/igb/igb_main.c
2575
if (!is_fqtss_enabled(adapter)) {
drivers/net/ethernet/intel/igb/igb_main.c
2576
enable_fqtss(adapter, true);
drivers/net/ethernet/intel/igb/igb_main.c
2580
igb_config_tx_modes(adapter, queue);
drivers/net/ethernet/intel/igb/igb_main.c
2582
if (!is_any_cbs_enabled(adapter) && !is_any_txtime_enabled(adapter))
drivers/net/ethernet/intel/igb/igb_main.c
2583
enable_fqtss(adapter, false);
drivers/net/ethernet/intel/igb/igb_main.c
2586
static int igb_offload_cbs(struct igb_adapter *adapter,
drivers/net/ethernet/intel/igb/igb_main.c
2589
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
2600
err = igb_save_cbs_params(adapter, qopt->queue, qopt->enable,
drivers/net/ethernet/intel/igb/igb_main.c
2606
igb_offload_apply(adapter, qopt->queue);
drivers/net/ethernet/intel/igb/igb_main.c
2614
static int igb_parse_cls_flower(struct igb_adapter *adapter,
drivers/net/ethernet/intel/igb/igb_main.c
2700
static int igb_configure_clsflower(struct igb_adapter *adapter,
drivers/net/ethernet/intel/igb/igb_main.c
2707
tc = tc_classid_to_hwtc(adapter->netdev, cls_flower->classid);
drivers/net/ethernet/intel/igb/igb_main.c
2717
err = igb_parse_cls_flower(adapter, cls_flower, tc, filter);
drivers/net/ethernet/intel/igb/igb_main.c
2721
spin_lock(&adapter->nfc_lock);
drivers/net/ethernet/intel/igb/igb_main.c
2723
hlist_for_each_entry(f, &adapter->nfc_filter_list, nfc_node) {
drivers/net/ethernet/intel/igb/igb_main.c
2732
hlist_for_each_entry(f, &adapter->cls_flower_list, nfc_node) {
drivers/net/ethernet/intel/igb/igb_main.c
2741
err = igb_add_filter(adapter, filter);
drivers/net/ethernet/intel/igb/igb_main.c
2747
hlist_add_head(&filter->nfc_node, &adapter->cls_flower_list);
drivers/net/ethernet/intel/igb/igb_main.c
2749
spin_unlock(&adapter->nfc_lock);
drivers/net/ethernet/intel/igb/igb_main.c
2754
spin_unlock(&adapter->nfc_lock);
drivers/net/ethernet/intel/igb/igb_main.c
2762
static int igb_delete_clsflower(struct igb_adapter *adapter,
drivers/net/ethernet/intel/igb/igb_main.c
2768
spin_lock(&adapter->nfc_lock);
drivers/net/ethernet/intel/igb/igb_main.c
2770
hlist_for_each_entry(filter, &adapter->cls_flower_list, nfc_node)
drivers/net/ethernet/intel/igb/igb_main.c
2779
err = igb_erase_filter(adapter, filter);
drivers/net/ethernet/intel/igb/igb_main.c
2787
spin_unlock(&adapter->nfc_lock);
drivers/net/ethernet/intel/igb/igb_main.c
2792
static int igb_setup_tc_cls_flower(struct igb_adapter *adapter,
drivers/net/ethernet/intel/igb/igb_main.c
2797
return igb_configure_clsflower(adapter, cls_flower);
drivers/net/ethernet/intel/igb/igb_main.c
2799
return igb_delete_clsflower(adapter, cls_flower);
drivers/net/ethernet/intel/igb/igb_main.c
2810
struct igb_adapter *adapter = cb_priv;
drivers/net/ethernet/intel/igb/igb_main.c
2812
if (!tc_cls_can_offload_and_chain0(adapter->netdev, type_data))
drivers/net/ethernet/intel/igb/igb_main.c
2817
return igb_setup_tc_cls_flower(adapter, type_data);
drivers/net/ethernet/intel/igb/igb_main.c
2824
static int igb_offload_txtime(struct igb_adapter *adapter,
drivers/net/ethernet/intel/igb/igb_main.c
2827
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
2838
err = igb_save_txtime_params(adapter, qopt->queue, qopt->enable);
drivers/net/ethernet/intel/igb/igb_main.c
2842
igb_offload_apply(adapter, qopt->queue);
drivers/net/ethernet/intel/igb/igb_main.c
2847
static int igb_tc_query_caps(struct igb_adapter *adapter,
drivers/net/ethernet/intel/igb/igb_main.c
2868
struct igb_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/intel/igb/igb_main.c
2872
return igb_tc_query_caps(adapter, type_data);
drivers/net/ethernet/intel/igb/igb_main.c
2874
return igb_offload_cbs(adapter, type_data);
drivers/net/ethernet/intel/igb/igb_main.c
2879
adapter, adapter, true);
drivers/net/ethernet/intel/igb/igb_main.c
2882
return igb_offload_txtime(adapter, type_data);
drivers/net/ethernet/intel/igb/igb_main.c
2892
struct igb_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/intel/igb/igb_main.c
2898
for (i = 0; i < adapter->num_rx_queues; i++) {
drivers/net/ethernet/intel/igb/igb_main.c
2899
struct igb_ring *ring = adapter->rx_ring[i];
drivers/net/ethernet/intel/igb/igb_main.c
2910
old_prog = xchg(&adapter->xdp_prog, prog);
drivers/net/ethernet/intel/igb/igb_main.c
2917
for (i = 0; i < adapter->num_rx_queues; i++)
drivers/net/ethernet/intel/igb/igb_main.c
2918
(void)xchg(&adapter->rx_ring[i]->xdp_prog,
drivers/net/ethernet/intel/igb/igb_main.c
2919
adapter->xdp_prog);
drivers/net/ethernet/intel/igb/igb_main.c
2943
struct igb_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/intel/igb/igb_main.c
2949
return igb_xsk_pool_setup(adapter, xdp->xsk.pool,
drivers/net/ethernet/intel/igb/igb_main.c
2956
int igb_xdp_xmit_back(struct igb_adapter *adapter, struct xdp_buff *xdp)
drivers/net/ethernet/intel/igb/igb_main.c
2970
tx_ring = igb_xdp_is_enabled(adapter) ?
drivers/net/ethernet/intel/igb/igb_main.c
2971
igb_xdp_tx_queue_mapping(adapter) : NULL;
drivers/net/ethernet/intel/igb/igb_main.c
2979
ret = igb_xmit_xdp_ring(adapter, tx_ring, xdpf);
drivers/net/ethernet/intel/igb/igb_main.c
2988
struct igb_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/intel/igb/igb_main.c
2995
if (unlikely(test_bit(__IGB_DOWN, &adapter->state)))
drivers/net/ethernet/intel/igb/igb_main.c
3004
tx_ring = igb_xdp_is_enabled(adapter) ?
drivers/net/ethernet/intel/igb/igb_main.c
3005
igb_xdp_tx_queue_mapping(adapter) : NULL;
drivers/net/ethernet/intel/igb/igb_main.c
3022
err = igb_xmit_xdp_ring(adapter, tx_ring, xdpf);
drivers/net/ethernet/intel/igb/igb_main.c
3071
void igb_set_fw_version(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb_main.c
3073
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
3082
snprintf(adapter->fw_version,
drivers/net/ethernet/intel/igb/igb_main.c
3083
sizeof(adapter->fw_version),
drivers/net/ethernet/intel/igb/igb_main.c
3093
snprintf(adapter->fw_version,
drivers/net/ethernet/intel/igb/igb_main.c
3094
sizeof(adapter->fw_version),
drivers/net/ethernet/intel/igb/igb_main.c
3100
snprintf(adapter->fw_version,
drivers/net/ethernet/intel/igb/igb_main.c
3101
sizeof(adapter->fw_version),
drivers/net/ethernet/intel/igb/igb_main.c
3105
snprintf(adapter->fw_version,
drivers/net/ethernet/intel/igb/igb_main.c
3106
sizeof(adapter->fw_version),
drivers/net/ethernet/intel/igb/igb_main.c
3119
static void igb_init_mas(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb_main.c
3121
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
3128
adapter->flags |= IGB_FLAG_MAS_ENABLE;
drivers/net/ethernet/intel/igb/igb_main.c
3129
netdev_info(adapter->netdev,
drivers/net/ethernet/intel/igb/igb_main.c
3136
adapter->flags |= IGB_FLAG_MAS_ENABLE;
drivers/net/ethernet/intel/igb/igb_main.c
3137
netdev_info(adapter->netdev,
drivers/net/ethernet/intel/igb/igb_main.c
3144
adapter->flags |= IGB_FLAG_MAS_ENABLE;
drivers/net/ethernet/intel/igb/igb_main.c
3145
netdev_info(adapter->netdev,
drivers/net/ethernet/intel/igb/igb_main.c
3152
adapter->flags |= IGB_FLAG_MAS_ENABLE;
drivers/net/ethernet/intel/igb/igb_main.c
3153
netdev_info(adapter->netdev,
drivers/net/ethernet/intel/igb/igb_main.c
3160
netdev_err(adapter->netdev,
drivers/net/ethernet/intel/igb/igb_main.c
3170
static s32 igb_init_i2c(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb_main.c
3175
if (adapter->hw.mac.type != e1000_i350)
drivers/net/ethernet/intel/igb/igb_main.c
3182
adapter->i2c_adap.owner = THIS_MODULE;
drivers/net/ethernet/intel/igb/igb_main.c
3183
adapter->i2c_algo = igb_i2c_algo;
drivers/net/ethernet/intel/igb/igb_main.c
3184
adapter->i2c_algo.data = adapter;
drivers/net/ethernet/intel/igb/igb_main.c
3185
adapter->i2c_adap.algo_data = &adapter->i2c_algo;
drivers/net/ethernet/intel/igb/igb_main.c
3186
adapter->i2c_adap.dev.parent = &adapter->pdev->dev;
drivers/net/ethernet/intel/igb/igb_main.c
3187
strscpy(adapter->i2c_adap.name, "igb BB",
drivers/net/ethernet/intel/igb/igb_main.c
3188
sizeof(adapter->i2c_adap.name));
drivers/net/ethernet/intel/igb/igb_main.c
3189
status = i2c_bit_add_bus(&adapter->i2c_adap);
drivers/net/ethernet/intel/igb/igb_main.c
320
static void igb_dump(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb_main.c
3207
struct igb_adapter *adapter;
drivers/net/ethernet/intel/igb/igb_main.c
322
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/igb/igb_main.c
323
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
3252
adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igb/igb_main.c
3253
adapter->netdev = netdev;
drivers/net/ethernet/intel/igb/igb_main.c
3254
adapter->pdev = pdev;
drivers/net/ethernet/intel/igb/igb_main.c
3255
hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
3256
hw->back = adapter;
drivers/net/ethernet/intel/igb/igb_main.c
3257
adapter->msg_enable = netif_msg_init(debug, DEFAULT_MSG_ENABLE);
drivers/net/ethernet/intel/igb/igb_main.c
3260
adapter->io_addr = pci_iomap(pdev, 0, 0);
drivers/net/ethernet/intel/igb/igb_main.c
3261
if (!adapter->io_addr)
drivers/net/ethernet/intel/igb/igb_main.c
3264
hw->hw_addr = adapter->io_addr;
drivers/net/ethernet/intel/igb/igb_main.c
3292
err = igb_sw_init(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
333
if (!netif_msg_hw(adapter))
drivers/net/ethernet/intel/igb/igb_main.c
3368
adapter->en_mng_pt = igb_enable_mng_pass_thru(hw);
drivers/net/ethernet/intel/igb/igb_main.c
338
dev_info(&adapter->pdev->dev, "Net device Info\n");
drivers/net/ethernet/intel/igb/igb_main.c
3413
igb_set_default_mac_filter(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
3416
igb_set_fw_version(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
3424
timer_setup(&adapter->watchdog_timer, igb_watchdog, 0);
drivers/net/ethernet/intel/igb/igb_main.c
3425
timer_setup(&adapter->phy_info_timer, igb_update_phy_info, 0);
drivers/net/ethernet/intel/igb/igb_main.c
3427
INIT_WORK(&adapter->reset_task, igb_reset_task);
drivers/net/ethernet/intel/igb/igb_main.c
3428
INIT_WORK(&adapter->watchdog_task, igb_watchdog_task);
drivers/net/ethernet/intel/igb/igb_main.c
3431
adapter->fc_autoneg = true;
drivers/net/ethernet/intel/igb/igb_main.c
3442
adapter->flags |= IGB_FLAG_WOL_SUPPORTED;
drivers/net/ethernet/intel/igb/igb_main.c
345
dev_info(&adapter->pdev->dev, "Register Dump\n");
drivers/net/ethernet/intel/igb/igb_main.c
3453
adapter->flags |= IGB_FLAG_WOL_SUPPORTED;
drivers/net/ethernet/intel/igb/igb_main.c
3461
adapter->flags &= ~IGB_FLAG_WOL_SUPPORTED;
drivers/net/ethernet/intel/igb/igb_main.c
3470
adapter->flags &= ~IGB_FLAG_WOL_SUPPORTED;
drivers/net/ethernet/intel/igb/igb_main.c
3476
adapter->flags &= ~IGB_FLAG_WOL_SUPPORTED;
drivers/net/ethernet/intel/igb/igb_main.c
3478
adapter->flags |= IGB_FLAG_QUAD_PORT_A;
drivers/net/ethernet/intel/igb/igb_main.c
3485
if (!device_can_wakeup(&adapter->pdev->dev))
drivers/net/ethernet/intel/igb/igb_main.c
3486
adapter->flags &= ~IGB_FLAG_WOL_SUPPORTED;
drivers/net/ethernet/intel/igb/igb_main.c
3490
if (adapter->flags & IGB_FLAG_WOL_SUPPORTED)
drivers/net/ethernet/intel/igb/igb_main.c
3491
adapter->wol |= E1000_WUFC_MAG;
drivers/net/ethernet/intel/igb/igb_main.c
3496
adapter->flags |= IGB_FLAG_WOL_SUPPORTED;
drivers/net/ethernet/intel/igb/igb_main.c
3497
adapter->wol = 0;
drivers/net/ethernet/intel/igb/igb_main.c
3506
adapter->flags |= IGB_FLAG_WOL_SUPPORTED;
drivers/net/ethernet/intel/igb/igb_main.c
3507
adapter->wol = 0;
drivers/net/ethernet/intel/igb/igb_main.c
3513
adapter->flags |= IGB_FLAG_WOL_SUPPORTED;
drivers/net/ethernet/intel/igb/igb_main.c
3514
adapter->wol = 0;
drivers/net/ethernet/intel/igb/igb_main.c
3517
adapter->flags |= IGB_FLAG_WOL_SUPPORTED;
drivers/net/ethernet/intel/igb/igb_main.c
3520
device_set_wakeup_enable(&adapter->pdev->dev,
drivers/net/ethernet/intel/igb/igb_main.c
3521
adapter->flags & IGB_FLAG_WOL_SUPPORTED);
drivers/net/ethernet/intel/igb/igb_main.c
3524
igb_reset(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
3527
err = igb_init_i2c(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
3536
igb_get_hw_control(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
3548
adapter->flags |= IGB_FLAG_DCA_ENABLED;
drivers/net/ethernet/intel/igb/igb_main.c
3550
igb_setup_dca(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
356
dev_info(&adapter->pdev->dev, "TX Rings Summary\n");
drivers/net/ethernet/intel/igb/igb_main.c
3564
adapter->ets = true;
drivers/net/ethernet/intel/igb/igb_main.c
3566
adapter->ets = false;
drivers/net/ethernet/intel/igb/igb_main.c
3570
if (adapter->ets)
drivers/net/ethernet/intel/igb/igb_main.c
3573
if (igb_sysfs_init(adapter))
drivers/net/ethernet/intel/igb/igb_main.c
3577
adapter->ets = false;
drivers/net/ethernet/intel/igb/igb_main.c
358
for (n = 0; n < adapter->num_tx_queues; n++) {
drivers/net/ethernet/intel/igb/igb_main.c
3581
adapter->ei = *ei;
drivers/net/ethernet/intel/igb/igb_main.c
3583
igb_init_mas(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
3586
igb_ptp_init(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
360
tx_ring = adapter->tx_ring[n];
drivers/net/ethernet/intel/igb/igb_main.c
3619
(adapter->flags & IGB_FLAG_HAS_MSIX) ? "MSI-X" :
drivers/net/ethernet/intel/igb/igb_main.c
3620
(adapter->flags & IGB_FLAG_HAS_MSI) ? "MSI" : "legacy",
drivers/net/ethernet/intel/igb/igb_main.c
3621
adapter->num_rx_queues, adapter->num_tx_queues);
drivers/net/ethernet/intel/igb/igb_main.c
3631
adapter->eee_advert =
drivers/net/ethernet/intel/igb/igb_main.c
3633
adapter->flags |= IGB_FLAG_EEE;
drivers/net/ethernet/intel/igb/igb_main.c
3642
adapter->eee_advert =
drivers/net/ethernet/intel/igb/igb_main.c
3644
adapter->flags |= IGB_FLAG_EEE;
drivers/net/ethernet/intel/igb/igb_main.c
3659
igb_release_hw_control(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
3660
memset(&adapter->i2c_adap, 0, sizeof(adapter->i2c_adap));
drivers/net/ethernet/intel/igb/igb_main.c
3668
kfree(adapter->mac_table);
drivers/net/ethernet/intel/igb/igb_main.c
3669
kfree(adapter->shadow_vfta);
drivers/net/ethernet/intel/igb/igb_main.c
3670
igb_clear_interrupt_scheme(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
3674
pci_iounmap(pdev, adapter->io_addr);
drivers/net/ethernet/intel/igb/igb_main.c
3689
struct igb_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igb/igb_main.c
3690
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/intel/igb/igb_main.c
3697
igb_reset(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
3699
igb_clear_interrupt_scheme(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
3701
igb_init_queue_configuration(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
3703
if (igb_init_interrupt_scheme(adapter, true)) {
drivers/net/ethernet/intel/igb/igb_main.c
371
if (!netif_msg_tx_done(adapter))
drivers/net/ethernet/intel/igb/igb_main.c
3720
struct igb_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igb/igb_main.c
3721
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
3725
if (adapter->vf_data) {
drivers/net/ethernet/intel/igb/igb_main.c
3735
spin_lock_irqsave(&adapter->vfs_lock, flags);
drivers/net/ethernet/intel/igb/igb_main.c
3736
kfree(adapter->vf_mac_list);
drivers/net/ethernet/intel/igb/igb_main.c
3737
adapter->vf_mac_list = NULL;
drivers/net/ethernet/intel/igb/igb_main.c
3738
kfree(adapter->vf_data);
drivers/net/ethernet/intel/igb/igb_main.c
3739
adapter->vf_data = NULL;
drivers/net/ethernet/intel/igb/igb_main.c
374
dev_info(&adapter->pdev->dev, "TX Rings Dump\n");
drivers/net/ethernet/intel/igb/igb_main.c
3740
adapter->vfs_allocated_count = 0;
drivers/net/ethernet/intel/igb/igb_main.c
3741
spin_unlock_irqrestore(&adapter->vfs_lock, flags);
drivers/net/ethernet/intel/igb/igb_main.c
3748
adapter->flags |= IGB_FLAG_DMAC;
drivers/net/ethernet/intel/igb/igb_main.c
3757
struct igb_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igb/igb_main.c
3763
if (!(adapter->flags & IGB_FLAG_HAS_MSIX) || num_vfs > 7) {
drivers/net/ethernet/intel/igb/igb_main.c
3773
adapter->vfs_allocated_count = old_vfs;
drivers/net/ethernet/intel/igb/igb_main.c
3775
adapter->vfs_allocated_count = num_vfs;
drivers/net/ethernet/intel/igb/igb_main.c
3777
adapter->vf_data = kzalloc_objs(struct vf_data_storage,
drivers/net/ethernet/intel/igb/igb_main.c
3778
adapter->vfs_allocated_count);
drivers/net/ethernet/intel/igb/igb_main.c
3781
if (!adapter->vf_data) {
drivers/net/ethernet/intel/igb/igb_main.c
3782
adapter->vfs_allocated_count = 0;
drivers/net/ethernet/intel/igb/igb_main.c
3792
num_vf_mac_filters = adapter->hw.mac.rar_entry_count -
drivers/net/ethernet/intel/igb/igb_main.c
3794
adapter->vfs_allocated_count);
drivers/net/ethernet/intel/igb/igb_main.c
3796
adapter->vf_mac_list = kzalloc_objs(struct vf_mac_filter,
drivers/net/ethernet/intel/igb/igb_main.c
3799
mac_list = adapter->vf_mac_list;
drivers/net/ethernet/intel/igb/igb_main.c
3800
INIT_LIST_HEAD(&adapter->vf_macs.l);
drivers/net/ethernet/intel/igb/igb_main.c
3802
if (adapter->vf_mac_list) {
drivers/net/ethernet/intel/igb/igb_main.c
3807
list_add(&mac_list->l, &adapter->vf_macs.l);
drivers/net/ethernet/intel/igb/igb_main.c
3819
adapter->vfs_allocated_count);
drivers/net/ethernet/intel/igb/igb_main.c
3820
for (i = 0; i < adapter->vfs_allocated_count; i++)
drivers/net/ethernet/intel/igb/igb_main.c
3821
igb_vf_configure(adapter, i);
drivers/net/ethernet/intel/igb/igb_main.c
3824
adapter->flags &= ~IGB_FLAG_DMAC;
drivers/net/ethernet/intel/igb/igb_main.c
3834
err = pci_enable_sriov(pdev, adapter->vfs_allocated_count);
drivers/net/ethernet/intel/igb/igb_main.c
3842
kfree(adapter->vf_mac_list);
drivers/net/ethernet/intel/igb/igb_main.c
3843
adapter->vf_mac_list = NULL;
drivers/net/ethernet/intel/igb/igb_main.c
3844
kfree(adapter->vf_data);
drivers/net/ethernet/intel/igb/igb_main.c
3845
adapter->vf_data = NULL;
drivers/net/ethernet/intel/igb/igb_main.c
3846
adapter->vfs_allocated_count = 0;
drivers/net/ethernet/intel/igb/igb_main.c
3856
static void igb_remove_i2c(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb_main.c
3859
i2c_del_adapter(&adapter->i2c_adap);
drivers/net/ethernet/intel/igb/igb_main.c
387
for (n = 0; n < adapter->num_tx_queues; n++) {
drivers/net/ethernet/intel/igb/igb_main.c
3874
struct igb_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igb/igb_main.c
3875
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
3879
igb_sysfs_exit(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
388
tx_ring = adapter->tx_ring[n];
drivers/net/ethernet/intel/igb/igb_main.c
3881
igb_remove_i2c(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
3882
igb_ptp_stop(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
3886
set_bit(__IGB_DOWN, &adapter->state);
drivers/net/ethernet/intel/igb/igb_main.c
3887
timer_delete_sync(&adapter->watchdog_timer);
drivers/net/ethernet/intel/igb/igb_main.c
3888
timer_delete_sync(&adapter->phy_info_timer);
drivers/net/ethernet/intel/igb/igb_main.c
3890
cancel_work_sync(&adapter->reset_task);
drivers/net/ethernet/intel/igb/igb_main.c
3891
cancel_work_sync(&adapter->watchdog_task);
drivers/net/ethernet/intel/igb/igb_main.c
3894
if (adapter->flags & IGB_FLAG_DCA_ENABLED) {
drivers/net/ethernet/intel/igb/igb_main.c
3897
adapter->flags &= ~IGB_FLAG_DCA_ENABLED;
drivers/net/ethernet/intel/igb/igb_main.c
3905
igb_release_hw_control(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
3913
igb_clear_interrupt_scheme(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
3915
pci_iounmap(pdev, adapter->io_addr);
drivers/net/ethernet/intel/igb/igb_main.c
3920
kfree(adapter->mac_table);
drivers/net/ethernet/intel/igb/igb_main.c
3921
kfree(adapter->shadow_vfta);
drivers/net/ethernet/intel/igb/igb_main.c
3936
static void igb_probe_vfs(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb_main.c
3939
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/intel/igb/igb_main.c
3940
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
3951
igb_set_interrupt_capability(adapter, true);
drivers/net/ethernet/intel/igb/igb_main.c
3952
igb_reset_interrupt_capability(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
3960
unsigned int igb_get_max_rss_queues(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb_main.c
3962
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
3976
if (!!adapter->vfs_allocated_count) {
drivers/net/ethernet/intel/igb/igb_main.c
3982
if (!!adapter->vfs_allocated_count) {
drivers/net/ethernet/intel/igb/igb_main.c
3997
static void igb_init_queue_configuration(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb_main.c
4001
max_rss_queues = igb_get_max_rss_queues(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
4002
adapter->rss_queues = min_t(u32, max_rss_queues, num_online_cpus());
drivers/net/ethernet/intel/igb/igb_main.c
4004
igb_set_flag_queue_pairs(adapter, max_rss_queues);
drivers/net/ethernet/intel/igb/igb_main.c
4007
void igb_set_flag_queue_pairs(struct igb_adapter *adapter,
drivers/net/ethernet/intel/igb/igb_main.c
4010
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
4027
if (adapter->rss_queues > (max_rss_queues / 2))
drivers/net/ethernet/intel/igb/igb_main.c
4028
adapter->flags |= IGB_FLAG_QUEUE_PAIRS;
drivers/net/ethernet/intel/igb/igb_main.c
4030
adapter->flags &= ~IGB_FLAG_QUEUE_PAIRS;
drivers/net/ethernet/intel/igb/igb_main.c
4043
static int igb_sw_init(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb_main.c
4045
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
4046
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/igb/igb_main.c
4047
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/intel/igb/igb_main.c
4052
adapter->tx_ring_count = IGB_DEFAULT_TXD;
drivers/net/ethernet/intel/igb/igb_main.c
4053
adapter->rx_ring_count = IGB_DEFAULT_RXD;
drivers/net/ethernet/intel/igb/igb_main.c
4056
adapter->rx_itr_setting = IGB_DEFAULT_ITR;
drivers/net/ethernet/intel/igb/igb_main.c
4057
adapter->tx_itr_setting = IGB_DEFAULT_ITR;
drivers/net/ethernet/intel/igb/igb_main.c
4060
adapter->tx_work_limit = IGB_DEFAULT_TX_WORK;
drivers/net/ethernet/intel/igb/igb_main.c
4062
adapter->max_frame_size = netdev->mtu + IGB_ETH_PKT_HDR_PAD;
drivers/net/ethernet/intel/igb/igb_main.c
4063
adapter->min_frame_size = ETH_ZLEN + ETH_FCS_LEN;
drivers/net/ethernet/intel/igb/igb_main.c
4065
spin_lock_init(&adapter->nfc_lock);
drivers/net/ethernet/intel/igb/igb_main.c
4066
spin_lock_init(&adapter->stats64_lock);
drivers/net/ethernet/intel/igb/igb_main.c
4069
spin_lock_init(&adapter->vfs_lock);
drivers/net/ethernet/intel/igb/igb_main.c
4077
max_vfs = adapter->vfs_allocated_count = 7;
drivers/net/ethernet/intel/igb/igb_main.c
4079
adapter->vfs_allocated_count = max_vfs;
drivers/net/ethernet/intel/igb/igb_main.c
4080
if (adapter->vfs_allocated_count)
drivers/net/ethernet/intel/igb/igb_main.c
4090
adapter->flags |= IGB_FLAG_HAS_MSIX;
drivers/net/ethernet/intel/igb/igb_main.c
4092
adapter->mac_table = kzalloc_objs(struct igb_mac_addr,
drivers/net/ethernet/intel/igb/igb_main.c
4094
if (!adapter->mac_table)
drivers/net/ethernet/intel/igb/igb_main.c
4097
igb_probe_vfs(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
4099
igb_init_queue_configuration(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
4102
adapter->shadow_vfta = kcalloc(E1000_VLAN_FILTER_TBL_SIZE, sizeof(u32),
drivers/net/ethernet/intel/igb/igb_main.c
4104
if (!adapter->shadow_vfta)
drivers/net/ethernet/intel/igb/igb_main.c
4108
if (igb_init_interrupt_scheme(adapter, true)) {
drivers/net/ethernet/intel/igb/igb_main.c
4114
igb_irq_disable(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
4117
adapter->flags &= ~IGB_FLAG_DMAC;
drivers/net/ethernet/intel/igb/igb_main.c
4119
set_bit(__IGB_DOWN, &adapter->state);
drivers/net/ethernet/intel/igb/igb_main.c
4138
struct igb_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igb/igb_main.c
4139
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/intel/igb/igb_main.c
4140
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
4146
if (test_bit(__IGB_TESTING, &adapter->state)) {
drivers/net/ethernet/intel/igb/igb_main.c
4157
err = igb_setup_all_tx_resources(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
4162
err = igb_setup_all_rx_resources(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
4166
igb_power_up_link(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
4173
igb_configure(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
4175
err = igb_request_irq(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
4180
err = netif_set_real_num_tx_queues(adapter->netdev,
drivers/net/ethernet/intel/igb/igb_main.c
4181
adapter->num_tx_queues);
drivers/net/ethernet/intel/igb/igb_main.c
4185
err = netif_set_real_num_rx_queues(adapter->netdev,
drivers/net/ethernet/intel/igb/igb_main.c
4186
adapter->num_rx_queues);
drivers/net/ethernet/intel/igb/igb_main.c
419
if (netif_msg_pktdata(adapter) && buffer_info->skb)
drivers/net/ethernet/intel/igb/igb_main.c
4191
clear_bit(__IGB_DOWN, &adapter->state);
drivers/net/ethernet/intel/igb/igb_main.c
4193
for (i = 0; i < adapter->num_q_vectors; i++) {
drivers/net/ethernet/intel/igb/igb_main.c
4194
napi = &adapter->q_vector[i]->napi;
drivers/net/ethernet/intel/igb/igb_main.c
4196
igb_set_queue_napi(adapter, i, napi);
drivers/net/ethernet/intel/igb/igb_main.c
4203
igb_irq_enable(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
4206
if (adapter->vfs_allocated_count) {
drivers/net/ethernet/intel/igb/igb_main.c
4220
schedule_work(&adapter->watchdog_task);
drivers/net/ethernet/intel/igb/igb_main.c
4225
igb_free_irq(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
4227
igb_release_hw_control(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
4228
igb_power_down_link(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
4229
igb_free_all_rx_resources(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
4231
igb_free_all_tx_resources(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
4233
igb_reset(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
4259
struct igb_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igb/igb_main.c
4260
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/intel/igb/igb_main.c
4262
WARN_ON(test_bit(__IGB_RESETTING, &adapter->state));
drivers/net/ethernet/intel/igb/igb_main.c
4267
igb_down(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
4268
igb_free_irq(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
4270
igb_free_all_tx_resources(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
4271
igb_free_all_rx_resources(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
430
dev_info(&adapter->pdev->dev, "RX Rings Summary\n");
drivers/net/ethernet/intel/igb/igb_main.c
432
for (n = 0; n < adapter->num_rx_queues; n++) {
drivers/net/ethernet/intel/igb/igb_main.c
433
rx_ring = adapter->rx_ring[n];
drivers/net/ethernet/intel/igb/igb_main.c
4330
static int igb_setup_all_tx_resources(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb_main.c
4332
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/intel/igb/igb_main.c
4335
for (i = 0; i < adapter->num_tx_queues; i++) {
drivers/net/ethernet/intel/igb/igb_main.c
4336
err = igb_setup_tx_resources(adapter->tx_ring[i]);
drivers/net/ethernet/intel/igb/igb_main.c
4341
igb_free_tx_resources(adapter->tx_ring[i]);
drivers/net/ethernet/intel/igb/igb_main.c
4353
void igb_setup_tctl(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb_main.c
4355
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
4382
void igb_configure_tx_ring(struct igb_adapter *adapter,
drivers/net/ethernet/intel/igb/igb_main.c
4385
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
439
if (!netif_msg_rx_status(adapter))
drivers/net/ethernet/intel/igb/igb_main.c
4390
WRITE_ONCE(ring->xsk_pool, igb_xsk_pool(adapter, ring));
drivers/net/ethernet/intel/igb/igb_main.c
4398
ring->tail = adapter->io_addr + E1000_TDT(reg_idx);
drivers/net/ethernet/intel/igb/igb_main.c
442
dev_info(&adapter->pdev->dev, "RX Rings Dump\n");
drivers/net/ethernet/intel/igb/igb_main.c
4420
static void igb_configure_tx(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb_main.c
4422
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
4426
for (i = 0; i < adapter->num_tx_queues; i++)
drivers/net/ethernet/intel/igb/igb_main.c
4427
wr32(E1000_TXDCTL(adapter->tx_ring[i]->reg_idx), 0);
drivers/net/ethernet/intel/igb/igb_main.c
4432
for (i = 0; i < adapter->num_tx_queues; i++)
drivers/net/ethernet/intel/igb/igb_main.c
4433
igb_configure_tx_ring(adapter, adapter->tx_ring[i]);
drivers/net/ethernet/intel/igb/igb_main.c
4444
struct igb_adapter *adapter = netdev_priv(rx_ring->netdev);
drivers/net/ethernet/intel/igb/igb_main.c
4478
rx_ring->xdp_prog = adapter->xdp_prog;
drivers/net/ethernet/intel/igb/igb_main.c
4497
static int igb_setup_all_rx_resources(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb_main.c
4499
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/intel/igb/igb_main.c
4502
for (i = 0; i < adapter->num_rx_queues; i++) {
drivers/net/ethernet/intel/igb/igb_main.c
4503
err = igb_setup_rx_resources(adapter->rx_ring[i]);
drivers/net/ethernet/intel/igb/igb_main.c
4508
igb_free_rx_resources(adapter->rx_ring[i]);
drivers/net/ethernet/intel/igb/igb_main.c
4520
static void igb_setup_mrqc(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb_main.c
4522
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
4531
num_rx_queues = adapter->rss_queues;
drivers/net/ethernet/intel/igb/igb_main.c
4536
if (adapter->vfs_allocated_count)
drivers/net/ethernet/intel/igb/igb_main.c
4543
if (adapter->rss_indir_tbl_init != num_rx_queues) {
drivers/net/ethernet/intel/igb/igb_main.c
4545
adapter->rss_indir_tbl[j] =
drivers/net/ethernet/intel/igb/igb_main.c
4547
adapter->rss_indir_tbl_init = num_rx_queues;
drivers/net/ethernet/intel/igb/igb_main.c
4549
igb_write_rss_indir_tbl(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
4558
if (adapter->hw.mac.type >= e1000_82576)
drivers/net/ethernet/intel/igb/igb_main.c
4574
if (adapter->flags & IGB_FLAG_RSS_FIELD_IPV4_UDP)
drivers/net/ethernet/intel/igb/igb_main.c
4576
if (adapter->flags & IGB_FLAG_RSS_FIELD_IPV6_UDP)
drivers/net/ethernet/intel/igb/igb_main.c
4583
if (adapter->vfs_allocated_count) {
drivers/net/ethernet/intel/igb/igb_main.c
4590
vtctl |= adapter->vfs_allocated_count <<
drivers/net/ethernet/intel/igb/igb_main.c
4594
if (adapter->rss_queues > 1)
drivers/net/ethernet/intel/igb/igb_main.c
4601
igb_vmm_control(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
4610
void igb_setup_rctl(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb_main.c
4612
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
4642
if (adapter->vfs_allocated_count) {
drivers/net/ethernet/intel/igb/igb_main.c
4648
if (adapter->netdev->features & NETIF_F_RXALL) {
drivers/net/ethernet/intel/igb/igb_main.c
465
for (n = 0; n < adapter->num_rx_queues; n++) {
drivers/net/ethernet/intel/igb/igb_main.c
466
rx_ring = adapter->rx_ring[n];
drivers/net/ethernet/intel/igb/igb_main.c
4666
static inline int igb_set_vf_rlpml(struct igb_adapter *adapter, int size,
drivers/net/ethernet/intel/igb/igb_main.c
4669
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
4683
static inline void igb_set_vf_vlan_strip(struct igb_adapter *adapter,
drivers/net/ethernet/intel/igb/igb_main.c
4686
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
4705
static inline void igb_set_vmolr(struct igb_adapter *adapter,
drivers/net/ethernet/intel/igb/igb_main.c
4708
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
4726
if (adapter->rss_queues > 1 && vfn == adapter->vfs_allocated_count)
drivers/net/ethernet/intel/igb/igb_main.c
4731
if (vfn <= adapter->vfs_allocated_count)
drivers/net/ethernet/intel/igb/igb_main.c
4743
void igb_setup_srrctl(struct igb_adapter *adapter, struct igb_ring *ring)
drivers/net/ethernet/intel/igb/igb_main.c
4745
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
4765
if (adapter->vfs_allocated_count ||
drivers/net/ethernet/intel/igb/igb_main.c
4767
adapter->num_rx_queues > 1))
drivers/net/ethernet/intel/igb/igb_main.c
4780
void igb_configure_rx_ring(struct igb_adapter *adapter,
drivers/net/ethernet/intel/igb/igb_main.c
4783
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
4790
WRITE_ONCE(ring->xsk_pool, igb_xsk_pool(adapter, ring));
drivers/net/ethernet/intel/igb/igb_main.c
4813
ring->tail = adapter->io_addr + E1000_RDT(reg_idx);
drivers/net/ethernet/intel/igb/igb_main.c
4818
igb_setup_srrctl(adapter, ring);
drivers/net/ethernet/intel/igb/igb_main.c
4821
igb_set_vmolr(adapter, reg_idx & 0x7, true);
drivers/net/ethernet/intel/igb/igb_main.c
4843
static void igb_set_rx_buffer_len(struct igb_adapter *adapter,
drivers/net/ethernet/intel/igb/igb_main.c
4847
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
4854
if (adapter->flags & IGB_FLAG_RX_LEGACY)
drivers/net/ethernet/intel/igb/igb_main.c
4860
if (adapter->max_frame_size > IGB_MAX_FRAME_BUILD_SKB ||
drivers/net/ethernet/intel/igb/igb_main.c
4873
static void igb_configure_rx(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb_main.c
4878
igb_set_default_mac_filter(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
4883
for (i = 0; i < adapter->num_rx_queues; i++) {
drivers/net/ethernet/intel/igb/igb_main.c
4884
struct igb_ring *rx_ring = adapter->rx_ring[i];
drivers/net/ethernet/intel/igb/igb_main.c
4886
igb_set_rx_buffer_len(adapter, rx_ring);
drivers/net/ethernet/intel/igb/igb_main.c
4887
igb_configure_rx_ring(adapter, rx_ring);
drivers/net/ethernet/intel/igb/igb_main.c
4920
static void igb_free_all_tx_resources(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb_main.c
4924
for (i = 0; i < adapter->num_tx_queues; i++)
drivers/net/ethernet/intel/igb/igb_main.c
4925
if (adapter->tx_ring[i])
drivers/net/ethernet/intel/igb/igb_main.c
4926
igb_free_tx_resources(adapter->tx_ring[i]);
drivers/net/ethernet/intel/igb/igb_main.c
5008
static void igb_clean_all_tx_rings(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb_main.c
5012
for (i = 0; i < adapter->num_tx_queues; i++)
drivers/net/ethernet/intel/igb/igb_main.c
5013
if (adapter->tx_ring[i])
drivers/net/ethernet/intel/igb/igb_main.c
5014
igb_clean_tx_ring(adapter->tx_ring[i]);
drivers/net/ethernet/intel/igb/igb_main.c
5053
static void igb_free_all_rx_resources(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb_main.c
5057
for (i = 0; i < adapter->num_rx_queues; i++)
drivers/net/ethernet/intel/igb/igb_main.c
5058
if (adapter->rx_ring[i])
drivers/net/ethernet/intel/igb/igb_main.c
5059
igb_free_rx_resources(adapter->rx_ring[i]);
drivers/net/ethernet/intel/igb/igb_main.c
508
if (netif_msg_pktdata(adapter) &&
drivers/net/ethernet/intel/igb/igb_main.c
5115
static void igb_clean_all_rx_rings(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb_main.c
5119
for (i = 0; i < adapter->num_rx_queues; i++)
drivers/net/ethernet/intel/igb/igb_main.c
5120
if (adapter->rx_ring[i])
drivers/net/ethernet/intel/igb/igb_main.c
5121
igb_clean_rx_ring(adapter->rx_ring[i]);
drivers/net/ethernet/intel/igb/igb_main.c
5133
struct igb_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igb/igb_main.c
5134
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
5144
igb_set_default_mac_filter(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
5160
struct igb_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igb/igb_main.c
5161
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
5169
igb_restore_vf_multicasts(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
5188
static int igb_vlan_promisc_enable(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb_main.c
5190
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
5198
if (adapter->netdev->features & NETIF_F_NTUPLE)
drivers/net/ethernet/intel/igb/igb_main.c
5205
if (adapter->vfs_allocated_count)
drivers/net/ethernet/intel/igb/igb_main.c
5213
if (adapter->flags & IGB_FLAG_VLAN_PROMISC)
drivers/net/ethernet/intel/igb/igb_main.c
5216
if (!adapter->vfs_allocated_count)
drivers/net/ethernet/intel/igb/igb_main.c
5220
pf_id = adapter->vfs_allocated_count + E1000_VLVF_POOLSEL_SHIFT;
drivers/net/ethernet/intel/igb/igb_main.c
5235
adapter->flags |= IGB_FLAG_VLAN_PROMISC;
drivers/net/ethernet/intel/igb/igb_main.c
5241
static void igb_scrub_vfta(struct igb_adapter *adapter, u32 vfta_offset)
drivers/net/ethernet/intel/igb/igb_main.c
5243
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
5250
vid = adapter->mng_vlan_id;
drivers/net/ethernet/intel/igb/igb_main.c
5254
if (!adapter->vfs_allocated_count)
drivers/net/ethernet/intel/igb/igb_main.c
5257
pf_id = adapter->vfs_allocated_count + E1000_VLVF_POOLSEL_SHIFT;
drivers/net/ethernet/intel/igb/igb_main.c
5274
if (test_bit(vid, adapter->active_vlans))
drivers/net/ethernet/intel/igb/igb_main.c
5291
vfta[i] |= adapter->active_vlans[word] >> bits;
drivers/net/ethernet/intel/igb/igb_main.c
5297
static void igb_vlan_promisc_disable(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb_main.c
5302
if (!(adapter->flags & IGB_FLAG_VLAN_PROMISC))
drivers/net/ethernet/intel/igb/igb_main.c
5306
adapter->flags &= ~IGB_FLAG_VLAN_PROMISC;
drivers/net/ethernet/intel/igb/igb_main.c
5309
igb_scrub_vfta(adapter, i);
drivers/net/ethernet/intel/igb/igb_main.c
5323
struct igb_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igb/igb_main.c
5324
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
5325
unsigned int vfn = adapter->vfs_allocated_count;
drivers/net/ethernet/intel/igb/igb_main.c
533
struct igb_adapter *adapter = (struct igb_adapter *)data;
drivers/net/ethernet/intel/igb/igb_main.c
534
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
5372
if (igb_vlan_promisc_enable(adapter))
drivers/net/ethernet/intel/igb/igb_main.c
5375
igb_vlan_promisc_disable(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
5384
if (!adapter->vfs_allocated_count) {
drivers/net/ethernet/intel/igb/igb_main.c
5385
if (adapter->max_frame_size <= IGB_MAX_FRAME_BUILD_SKB)
drivers/net/ethernet/intel/igb/igb_main.c
5400
igb_set_uta(adapter, !!(vmolr & E1000_VMOLR_ROPE));
drivers/net/ethernet/intel/igb/igb_main.c
5408
if (adapter->max_frame_size <= IGB_MAX_FRAME_BUILD_SKB)
drivers/net/ethernet/intel/igb/igb_main.c
5417
igb_restore_vf_multicasts(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
5420
static void igb_check_wvbr(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb_main.c
5422
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
5436
adapter->wvbr |= wvbr;
drivers/net/ethernet/intel/igb/igb_main.c
5441
static void igb_spoof_check(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb_main.c
5445
if (!adapter->wvbr)
drivers/net/ethernet/intel/igb/igb_main.c
5448
for (j = 0; j < adapter->vfs_allocated_count; j++) {
drivers/net/ethernet/intel/igb/igb_main.c
5449
if (adapter->wvbr & BIT(j) ||
drivers/net/ethernet/intel/igb/igb_main.c
5450
adapter->wvbr & BIT(j + IGB_STAGGERED_QUEUE_OFFSET)) {
drivers/net/ethernet/intel/igb/igb_main.c
5451
dev_warn(&adapter->pdev->dev,
drivers/net/ethernet/intel/igb/igb_main.c
5453
adapter->wvbr &=
drivers/net/ethernet/intel/igb/igb_main.c
5465
struct igb_adapter *adapter = timer_container_of(adapter, t,
drivers/net/ethernet/intel/igb/igb_main.c
5467
igb_get_phy_info(&adapter->hw);
drivers/net/ethernet/intel/igb/igb_main.c
5474
bool igb_has_link(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb_main.c
5476
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
549
struct igb_adapter *adapter = (struct igb_adapter *)data;
drivers/net/ethernet/intel/igb/igb_main.c
550
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
5501
if (!netif_carrier_ok(adapter->netdev)) {
drivers/net/ethernet/intel/igb/igb_main.c
5502
adapter->flags &= ~IGB_FLAG_NEED_LINK_UPDATE;
drivers/net/ethernet/intel/igb/igb_main.c
5503
} else if (!(adapter->flags & IGB_FLAG_NEED_LINK_UPDATE)) {
drivers/net/ethernet/intel/igb/igb_main.c
5504
adapter->flags |= IGB_FLAG_NEED_LINK_UPDATE;
drivers/net/ethernet/intel/igb/igb_main.c
5505
adapter->link_check_timeout = jiffies;
drivers/net/ethernet/intel/igb/igb_main.c
5535
static void igb_check_lvmmc(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb_main.c
5537
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
5543
netdev_warn(adapter->netdev,
drivers/net/ethernet/intel/igb/igb_main.c
5556
struct igb_adapter *adapter = timer_container_of(adapter, t,
drivers/net/ethernet/intel/igb/igb_main.c
5559
schedule_work(&adapter->watchdog_task);
drivers/net/ethernet/intel/igb/igb_main.c
5564
struct igb_adapter *adapter = container_of(work,
drivers/net/ethernet/intel/igb/igb_main.c
5567
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
5569
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/igb/igb_main.c
5575
link = igb_has_link(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
5577
if (adapter->flags & IGB_FLAG_NEED_LINK_UPDATE) {
drivers/net/ethernet/intel/igb/igb_main.c
5578
if (time_after(jiffies, (adapter->link_check_timeout + HZ)))
drivers/net/ethernet/intel/igb/igb_main.c
5579
adapter->flags &= ~IGB_FLAG_NEED_LINK_UPDATE;
drivers/net/ethernet/intel/igb/igb_main.c
5585
if (adapter->flags & IGB_FLAG_MAS_ENABLE) {
drivers/net/ethernet/intel/igb/igb_main.c
5596
adapter->flags |= IGB_FLAG_MEDIA_RESET;
drivers/net/ethernet/intel/igb/igb_main.c
5597
igb_reset(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
5606
&adapter->link_speed,
drivers/net/ethernet/intel/igb/igb_main.c
5607
&adapter->link_duplex);
drivers/net/ethernet/intel/igb/igb_main.c
5614
adapter->link_speed,
drivers/net/ethernet/intel/igb/igb_main.c
5615
adapter->link_duplex == FULL_DUPLEX ?
drivers/net/ethernet/intel/igb/igb_main.c
5623
if ((adapter->flags & IGB_FLAG_EEE) &&
drivers/net/ethernet/intel/igb/igb_main.c
5624
(adapter->link_duplex == HALF_DUPLEX)) {
drivers/net/ethernet/intel/igb/igb_main.c
5625
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/intel/igb/igb_main.c
5627
adapter->hw.dev_spec._82575.eee_disable = true;
drivers/net/ethernet/intel/igb/igb_main.c
5628
adapter->flags &= ~IGB_FLAG_EEE;
drivers/net/ethernet/intel/igb/igb_main.c
5642
adapter->tx_timeout_factor = 1;
drivers/net/ethernet/intel/igb/igb_main.c
5643
switch (adapter->link_speed) {
drivers/net/ethernet/intel/igb/igb_main.c
5645
adapter->tx_timeout_factor = 14;
drivers/net/ethernet/intel/igb/igb_main.c
5652
if (adapter->link_speed != SPEED_1000 ||
drivers/net/ethernet/intel/igb/igb_main.c
5666
dev_err(&adapter->pdev->dev, "exceed max 2 second\n");
drivers/net/ethernet/intel/igb/igb_main.c
5669
dev_err(&adapter->pdev->dev, "read 1000Base-T Status Reg\n");
drivers/net/ethernet/intel/igb/igb_main.c
5674
igb_ping_all_vfs(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
5675
igb_check_vf_rate_limit(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
5678
if (!test_bit(__IGB_DOWN, &adapter->state))
drivers/net/ethernet/intel/igb/igb_main.c
5679
mod_timer(&adapter->phy_info_timer,
drivers/net/ethernet/intel/igb/igb_main.c
5684
adapter->link_speed = 0;
drivers/net/ethernet/intel/igb/igb_main.c
5685
adapter->link_duplex = 0;
drivers/net/ethernet/intel/igb/igb_main.c
5698
igb_ping_all_vfs(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
5701
if (!test_bit(__IGB_DOWN, &adapter->state))
drivers/net/ethernet/intel/igb/igb_main.c
5702
mod_timer(&adapter->phy_info_timer,
drivers/net/ethernet/intel/igb/igb_main.c
5706
if (adapter->flags & IGB_FLAG_MAS_ENABLE) {
drivers/net/ethernet/intel/igb/igb_main.c
5707
igb_check_swap_media(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
5708
if (adapter->flags & IGB_FLAG_MEDIA_RESET) {
drivers/net/ethernet/intel/igb/igb_main.c
5709
schedule_work(&adapter->reset_task);
drivers/net/ethernet/intel/igb/igb_main.c
5719
(adapter->flags & IGB_FLAG_MAS_ENABLE)) {
drivers/net/ethernet/intel/igb/igb_main.c
5720
igb_check_swap_media(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
5721
if (adapter->flags & IGB_FLAG_MEDIA_RESET) {
drivers/net/ethernet/intel/igb/igb_main.c
5722
schedule_work(&adapter->reset_task);
drivers/net/ethernet/intel/igb/igb_main.c
5729
spin_lock(&adapter->stats64_lock);
drivers/net/ethernet/intel/igb/igb_main.c
573
struct igb_adapter *adapter = (struct igb_adapter *)data;
drivers/net/ethernet/intel/igb/igb_main.c
5730
igb_update_stats(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
5731
spin_unlock(&adapter->stats64_lock);
drivers/net/ethernet/intel/igb/igb_main.c
5733
for (i = 0; i < adapter->num_tx_queues; i++) {
drivers/net/ethernet/intel/igb/igb_main.c
5734
struct igb_ring *tx_ring = adapter->tx_ring[i];
drivers/net/ethernet/intel/igb/igb_main.c
574
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
5742
adapter->tx_timeout_count++;
drivers/net/ethernet/intel/igb/igb_main.c
5743
schedule_work(&adapter->reset_task);
drivers/net/ethernet/intel/igb/igb_main.c
5754
if (adapter->flags & IGB_FLAG_HAS_MSIX) {
drivers/net/ethernet/intel/igb/igb_main.c
5757
for (i = 0; i < adapter->num_q_vectors; i++) {
drivers/net/ethernet/intel/igb/igb_main.c
5758
struct igb_q_vector *q_vector = adapter->q_vector[i];
drivers/net/ethernet/intel/igb/igb_main.c
5764
rx_ring = adapter->rx_ring[q_vector->rx.ring->queue_index];
drivers/net/ethernet/intel/igb/igb_main.c
5774
struct igb_ring *rx_ring = adapter->rx_ring[0];
drivers/net/ethernet/intel/igb/igb_main.c
5782
igb_spoof_check(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
5783
igb_ptp_rx_hang(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
5784
igb_ptp_tx_hang(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
5787
if ((adapter->hw.mac.type == e1000_i350) ||
drivers/net/ethernet/intel/igb/igb_main.c
5788
(adapter->hw.mac.type == e1000_i354))
drivers/net/ethernet/intel/igb/igb_main.c
5789
igb_check_lvmmc(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
5792
if (!test_bit(__IGB_DOWN, &adapter->state)) {
drivers/net/ethernet/intel/igb/igb_main.c
5793
if (adapter->flags & IGB_FLAG_NEED_LINK_UPDATE)
drivers/net/ethernet/intel/igb/igb_main.c
5794
mod_timer(&adapter->watchdog_timer,
drivers/net/ethernet/intel/igb/igb_main.c
5797
mod_timer(&adapter->watchdog_timer,
drivers/net/ethernet/intel/igb/igb_main.c
5828
struct igb_adapter *adapter = q_vector->adapter;
drivers/net/ethernet/intel/igb/igb_main.c
5834
if (adapter->link_speed != SPEED_1000) {
drivers/net/ethernet/intel/igb/igb_main.c
5866
((q_vector->rx.ring && adapter->rx_itr_setting == 3) ||
drivers/net/ethernet/intel/igb/igb_main.c
5867
(!q_vector->rx.ring && adapter->tx_itr_setting == 3)))
drivers/net/ethernet/intel/igb/igb_main.c
595
struct igb_adapter *adapter = (struct igb_adapter *)data;
drivers/net/ethernet/intel/igb/igb_main.c
5952
struct igb_adapter *adapter = q_vector->adapter;
drivers/net/ethernet/intel/igb/igb_main.c
5957
if (adapter->link_speed != SPEED_1000) {
drivers/net/ethernet/intel/igb/igb_main.c
596
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
5970
((q_vector->rx.ring && adapter->rx_itr_setting == 3) ||
drivers/net/ethernet/intel/igb/igb_main.c
5971
(!q_vector->rx.ring && adapter->tx_itr_setting == 3)))
drivers/net/ethernet/intel/igb/igb_main.c
619
struct igb_adapter *adapter = hw->back;
drivers/net/ethernet/intel/igb/igb_main.c
620
return adapter->netdev;
drivers/net/ethernet/intel/igb/igb_main.c
6418
int igb_xmit_xdp_ring(struct igb_adapter *adapter,
drivers/net/ethernet/intel/igb/igb_main.c
6563
struct igb_adapter *adapter = netdev_priv(tx_ring->netdev);
drivers/net/ethernet/intel/igb/igb_main.c
6565
if (adapter->tstamp_config.tx_type == HWTSTAMP_TX_ON &&
drivers/net/ethernet/intel/igb/igb_main.c
6567
&adapter->state)) {
drivers/net/ethernet/intel/igb/igb_main.c
6571
adapter->ptp_tx_skb = skb_get(skb);
drivers/net/ethernet/intel/igb/igb_main.c
6572
adapter->ptp_tx_start = jiffies;
drivers/net/ethernet/intel/igb/igb_main.c
6573
if (adapter->hw.mac.type == e1000_82576)
drivers/net/ethernet/intel/igb/igb_main.c
6574
schedule_work(&adapter->ptp_tx_work);
drivers/net/ethernet/intel/igb/igb_main.c
6576
adapter->tx_hwtstamp_skipped++;
drivers/net/ethernet/intel/igb/igb_main.c
6605
struct igb_adapter *adapter = netdev_priv(tx_ring->netdev);
drivers/net/ethernet/intel/igb/igb_main.c
6607
dev_kfree_skb_any(adapter->ptp_tx_skb);
drivers/net/ethernet/intel/igb/igb_main.c
6608
adapter->ptp_tx_skb = NULL;
drivers/net/ethernet/intel/igb/igb_main.c
6609
if (adapter->hw.mac.type == e1000_82576)
drivers/net/ethernet/intel/igb/igb_main.c
6610
cancel_work_sync(&adapter->ptp_tx_work);
drivers/net/ethernet/intel/igb/igb_main.c
6611
clear_bit_unlock(__IGB_PTP_TX_IN_PROGRESS, &adapter->state);
drivers/net/ethernet/intel/igb/igb_main.c
6617
static inline struct igb_ring *igb_tx_queue_mapping(struct igb_adapter *adapter,
drivers/net/ethernet/intel/igb/igb_main.c
6622
if (r_idx >= adapter->num_tx_queues)
drivers/net/ethernet/intel/igb/igb_main.c
6623
r_idx = r_idx % adapter->num_tx_queues;
drivers/net/ethernet/intel/igb/igb_main.c
6625
return adapter->tx_ring[r_idx];
drivers/net/ethernet/intel/igb/igb_main.c
6631
struct igb_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igb/igb_main.c
6639
return igb_xmit_frame_ring(skb, igb_tx_queue_mapping(adapter, skb));
drivers/net/ethernet/intel/igb/igb_main.c
6649
struct igb_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igb/igb_main.c
6650
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
6653
adapter->tx_timeout_count++;
drivers/net/ethernet/intel/igb/igb_main.c
6658
schedule_work(&adapter->reset_task);
drivers/net/ethernet/intel/igb/igb_main.c
6660
(adapter->eims_enable_mask & ~adapter->eims_other));
drivers/net/ethernet/intel/igb/igb_main.c
6665
struct igb_adapter *adapter;
drivers/net/ethernet/intel/igb/igb_main.c
6666
adapter = container_of(work, struct igb_adapter, reset_task);
drivers/net/ethernet/intel/igb/igb_main.c
6670
if (test_bit(__IGB_DOWN, &adapter->state) ||
drivers/net/ethernet/intel/igb/igb_main.c
6671
test_bit(__IGB_RESETTING, &adapter->state)) {
drivers/net/ethernet/intel/igb/igb_main.c
6676
igb_dump(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
6677
netdev_err(adapter->netdev, "Reset adapter\n");
drivers/net/ethernet/intel/igb/igb_main.c
6678
igb_reinit_locked(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
6690
struct igb_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igb/igb_main.c
6692
spin_lock(&adapter->stats64_lock);
drivers/net/ethernet/intel/igb/igb_main.c
6693
igb_update_stats(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
6694
memcpy(stats, &adapter->stats64, sizeof(*stats));
drivers/net/ethernet/intel/igb/igb_main.c
6695
spin_unlock(&adapter->stats64_lock);
drivers/net/ethernet/intel/igb/igb_main.c
6707
struct igb_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igb/igb_main.c
6710
if (igb_xdp_is_enabled(adapter)) {
drivers/net/ethernet/intel/igb/igb_main.c
6713
for (i = 0; i < adapter->num_rx_queues; i++) {
drivers/net/ethernet/intel/igb/igb_main.c
6714
struct igb_ring *ring = adapter->rx_ring[i];
drivers/net/ethernet/intel/igb/igb_main.c
6717
netdev_warn(adapter->netdev,
drivers/net/ethernet/intel/igb/igb_main.c
6729
while (test_and_set_bit(__IGB_RESETTING, &adapter->state))
drivers/net/ethernet/intel/igb/igb_main.c
6733
adapter->max_frame_size = max_frame;
drivers/net/ethernet/intel/igb/igb_main.c
6736
igb_down(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
6743
igb_up(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
6745
igb_reset(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
6747
clear_bit(__IGB_RESETTING, &adapter->state);
drivers/net/ethernet/intel/igb/igb_main.c
675
static void igb_cache_ring_register(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb_main.c
6756
void igb_update_stats(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb_main.c
6758
struct rtnl_link_stats64 *net_stats = &adapter->stats64;
drivers/net/ethernet/intel/igb/igb_main.c
6759
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
6760
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/intel/igb/igb_main.c
6770
if (adapter->link_speed == 0)
drivers/net/ethernet/intel/igb/igb_main.c
6779
for (i = 0; i < adapter->num_rx_queues; i++) {
drivers/net/ethernet/intel/igb/igb_main.c
678
u32 rbase_offset = adapter->vfs_allocated_count;
drivers/net/ethernet/intel/igb/igb_main.c
6780
struct igb_ring *ring = adapter->rx_ring[i];
drivers/net/ethernet/intel/igb/igb_main.c
680
switch (adapter->hw.mac.type) {
drivers/net/ethernet/intel/igb/igb_main.c
6804
for (i = 0; i < adapter->num_tx_queues; i++) {
drivers/net/ethernet/intel/igb/igb_main.c
6805
struct igb_ring *ring = adapter->tx_ring[i];
drivers/net/ethernet/intel/igb/igb_main.c
6819
adapter->stats.crcerrs += rd32(E1000_CRCERRS);
drivers/net/ethernet/intel/igb/igb_main.c
6820
adapter->stats.gprc += rd32(E1000_GPRC);
drivers/net/ethernet/intel/igb/igb_main.c
6821
adapter->stats.gorc += rd32(E1000_GORCL);
drivers/net/ethernet/intel/igb/igb_main.c
6823
adapter->stats.bprc += rd32(E1000_BPRC);
drivers/net/ethernet/intel/igb/igb_main.c
6824
adapter->stats.mprc += rd32(E1000_MPRC);
drivers/net/ethernet/intel/igb/igb_main.c
6825
adapter->stats.roc += rd32(E1000_ROC);
drivers/net/ethernet/intel/igb/igb_main.c
6827
adapter->stats.prc64 += rd32(E1000_PRC64);
drivers/net/ethernet/intel/igb/igb_main.c
6828
adapter->stats.prc127 += rd32(E1000_PRC127);
drivers/net/ethernet/intel/igb/igb_main.c
6829
adapter->stats.prc255 += rd32(E1000_PRC255);
drivers/net/ethernet/intel/igb/igb_main.c
6830
adapter->stats.prc511 += rd32(E1000_PRC511);
drivers/net/ethernet/intel/igb/igb_main.c
6831
adapter->stats.prc1023 += rd32(E1000_PRC1023);
drivers/net/ethernet/intel/igb/igb_main.c
6832
adapter->stats.prc1522 += rd32(E1000_PRC1522);
drivers/net/ethernet/intel/igb/igb_main.c
6833
adapter->stats.symerrs += rd32(E1000_SYMERRS);
drivers/net/ethernet/intel/igb/igb_main.c
6834
adapter->stats.sec += rd32(E1000_SEC);
drivers/net/ethernet/intel/igb/igb_main.c
6837
adapter->stats.mpc += mpc;
drivers/net/ethernet/intel/igb/igb_main.c
6839
adapter->stats.scc += rd32(E1000_SCC);
drivers/net/ethernet/intel/igb/igb_main.c
6840
adapter->stats.ecol += rd32(E1000_ECOL);
drivers/net/ethernet/intel/igb/igb_main.c
6841
adapter->stats.mcc += rd32(E1000_MCC);
drivers/net/ethernet/intel/igb/igb_main.c
6842
adapter->stats.latecol += rd32(E1000_LATECOL);
drivers/net/ethernet/intel/igb/igb_main.c
6843
adapter->stats.dc += rd32(E1000_DC);
drivers/net/ethernet/intel/igb/igb_main.c
6844
adapter->stats.rlec += rd32(E1000_RLEC);
drivers/net/ethernet/intel/igb/igb_main.c
6845
adapter->stats.xonrxc += rd32(E1000_XONRXC);
drivers/net/ethernet/intel/igb/igb_main.c
6846
adapter->stats.xontxc += rd32(E1000_XONTXC);
drivers/net/ethernet/intel/igb/igb_main.c
6847
adapter->stats.xoffrxc += rd32(E1000_XOFFRXC);
drivers/net/ethernet/intel/igb/igb_main.c
6848
adapter->stats.xofftxc += rd32(E1000_XOFFTXC);
drivers/net/ethernet/intel/igb/igb_main.c
6849
adapter->stats.fcruc += rd32(E1000_FCRUC);
drivers/net/ethernet/intel/igb/igb_main.c
6850
adapter->stats.gptc += rd32(E1000_GPTC);
drivers/net/ethernet/intel/igb/igb_main.c
6851
adapter->stats.gotc += rd32(E1000_GOTCL);
drivers/net/ethernet/intel/igb/igb_main.c
6853
adapter->stats.rnbc += rd32(E1000_RNBC);
drivers/net/ethernet/intel/igb/igb_main.c
6854
adapter->stats.ruc += rd32(E1000_RUC);
drivers/net/ethernet/intel/igb/igb_main.c
6855
adapter->stats.rfc += rd32(E1000_RFC);
drivers/net/ethernet/intel/igb/igb_main.c
6856
adapter->stats.rjc += rd32(E1000_RJC);
drivers/net/ethernet/intel/igb/igb_main.c
6857
adapter->stats.tor += rd32(E1000_TORH);
drivers/net/ethernet/intel/igb/igb_main.c
6858
adapter->stats.tot += rd32(E1000_TOTH);
drivers/net/ethernet/intel/igb/igb_main.c
6859
adapter->stats.tpr += rd32(E1000_TPR);
drivers/net/ethernet/intel/igb/igb_main.c
6861
adapter->stats.ptc64 += rd32(E1000_PTC64);
drivers/net/ethernet/intel/igb/igb_main.c
6862
adapter->stats.ptc127 += rd32(E1000_PTC127);
drivers/net/ethernet/intel/igb/igb_main.c
6863
adapter->stats.ptc255 += rd32(E1000_PTC255);
drivers/net/ethernet/intel/igb/igb_main.c
6864
adapter->stats.ptc511 += rd32(E1000_PTC511);
drivers/net/ethernet/intel/igb/igb_main.c
6865
adapter->stats.ptc1023 += rd32(E1000_PTC1023);
drivers/net/ethernet/intel/igb/igb_main.c
6866
adapter->stats.ptc1522 += rd32(E1000_PTC1522);
drivers/net/ethernet/intel/igb/igb_main.c
6868
adapter->stats.mptc += rd32(E1000_MPTC);
drivers/net/ethernet/intel/igb/igb_main.c
6869
adapter->stats.bptc += rd32(E1000_BPTC);
drivers/net/ethernet/intel/igb/igb_main.c
687
if (adapter->vfs_allocated_count) {
drivers/net/ethernet/intel/igb/igb_main.c
6871
adapter->stats.tpt += rd32(E1000_TPT);
drivers/net/ethernet/intel/igb/igb_main.c
6872
adapter->stats.colc += rd32(E1000_COLC);
drivers/net/ethernet/intel/igb/igb_main.c
6874
adapter->stats.algnerrc += rd32(E1000_ALGNERRC);
drivers/net/ethernet/intel/igb/igb_main.c
6878
adapter->stats.rxerrc += rd32(E1000_RXERRC);
drivers/net/ethernet/intel/igb/igb_main.c
688
for (; i < adapter->rss_queues; i++)
drivers/net/ethernet/intel/igb/igb_main.c
6883
adapter->stats.tncrs += rd32(E1000_TNCRS);
drivers/net/ethernet/intel/igb/igb_main.c
6886
adapter->stats.tsctc += rd32(E1000_TSCTC);
drivers/net/ethernet/intel/igb/igb_main.c
6887
adapter->stats.tsctfc += rd32(E1000_TSCTFC);
drivers/net/ethernet/intel/igb/igb_main.c
6889
adapter->stats.iac += rd32(E1000_IAC);
drivers/net/ethernet/intel/igb/igb_main.c
689
adapter->rx_ring[i]->reg_idx = rbase_offset +
drivers/net/ethernet/intel/igb/igb_main.c
6890
adapter->stats.icrxoc += rd32(E1000_ICRXOC);
drivers/net/ethernet/intel/igb/igb_main.c
6891
adapter->stats.icrxptc += rd32(E1000_ICRXPTC);
drivers/net/ethernet/intel/igb/igb_main.c
6892
adapter->stats.icrxatc += rd32(E1000_ICRXATC);
drivers/net/ethernet/intel/igb/igb_main.c
6893
adapter->stats.ictxptc += rd32(E1000_ICTXPTC);
drivers/net/ethernet/intel/igb/igb_main.c
6894
adapter->stats.ictxatc += rd32(E1000_ICTXATC);
drivers/net/ethernet/intel/igb/igb_main.c
6895
adapter->stats.ictxqec += rd32(E1000_ICTXQEC);
drivers/net/ethernet/intel/igb/igb_main.c
6896
adapter->stats.ictxqmtc += rd32(E1000_ICTXQMTC);
drivers/net/ethernet/intel/igb/igb_main.c
6897
adapter->stats.icrxdmtc += rd32(E1000_ICRXDMTC);
drivers/net/ethernet/intel/igb/igb_main.c
6900
net_stats->multicast = adapter->stats.mprc;
drivers/net/ethernet/intel/igb/igb_main.c
6901
net_stats->collisions = adapter->stats.colc;
drivers/net/ethernet/intel/igb/igb_main.c
6908
net_stats->rx_errors = adapter->stats.rxerrc +
drivers/net/ethernet/intel/igb/igb_main.c
6909
adapter->stats.crcerrs + adapter->stats.algnerrc +
drivers/net/ethernet/intel/igb/igb_main.c
6910
adapter->stats.ruc + adapter->stats.roc +
drivers/net/ethernet/intel/igb/igb_main.c
6911
adapter->stats.cexterr;
drivers/net/ethernet/intel/igb/igb_main.c
6912
net_stats->rx_length_errors = adapter->stats.ruc +
drivers/net/ethernet/intel/igb/igb_main.c
6913
adapter->stats.roc;
drivers/net/ethernet/intel/igb/igb_main.c
6914
net_stats->rx_crc_errors = adapter->stats.crcerrs;
drivers/net/ethernet/intel/igb/igb_main.c
6915
net_stats->rx_frame_errors = adapter->stats.algnerrc;
drivers/net/ethernet/intel/igb/igb_main.c
6916
net_stats->rx_missed_errors = adapter->stats.mpc;
drivers/net/ethernet/intel/igb/igb_main.c
6919
net_stats->tx_errors = adapter->stats.ecol +
drivers/net/ethernet/intel/igb/igb_main.c
6920
adapter->stats.latecol;
drivers/net/ethernet/intel/igb/igb_main.c
6921
net_stats->tx_aborted_errors = adapter->stats.ecol;
drivers/net/ethernet/intel/igb/igb_main.c
6922
net_stats->tx_window_errors = adapter->stats.latecol;
drivers/net/ethernet/intel/igb/igb_main.c
6923
net_stats->tx_carrier_errors = adapter->stats.tncrs;
drivers/net/ethernet/intel/igb/igb_main.c
6928
adapter->stats.mgptc += rd32(E1000_MGTPTC);
drivers/net/ethernet/intel/igb/igb_main.c
6929
adapter->stats.mgprc += rd32(E1000_MGTPRC);
drivers/net/ethernet/intel/igb/igb_main.c
6930
adapter->stats.mgpdc += rd32(E1000_MGTPDC);
drivers/net/ethernet/intel/igb/igb_main.c
6935
adapter->stats.o2bgptc += rd32(E1000_O2BGPTC);
drivers/net/ethernet/intel/igb/igb_main.c
6936
adapter->stats.o2bspc += rd32(E1000_O2BSPC);
drivers/net/ethernet/intel/igb/igb_main.c
6937
adapter->stats.b2ospc += rd32(E1000_B2OSPC);
drivers/net/ethernet/intel/igb/igb_main.c
6938
adapter->stats.b2ogprc += rd32(E1000_B2OGPRC);
drivers/net/ethernet/intel/igb/igb_main.c
6942
static void igb_perout(struct igb_adapter *adapter, int tsintr_tt)
drivers/net/ethernet/intel/igb/igb_main.c
6944
int pin = ptp_find_pin(adapter->ptp_clock, PTP_PF_PEROUT, tsintr_tt);
drivers/net/ethernet/intel/igb/igb_main.c
6945
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
6952
spin_lock(&adapter->tmreg_lock);
drivers/net/ethernet/intel/igb/igb_main.c
6957
s64 ns = timespec64_to_ns(&adapter->perout[tsintr_tt].period);
drivers/net/ethernet/intel/igb/igb_main.c
6966
now = timecounter_cyc2time(&adapter->tc, systim);
drivers/net/ethernet/intel/igb/igb_main.c
6987
adapter->sdp_config[pin].name);
drivers/net/ethernet/intel/igb/igb_main.c
6995
adapter->sdp_config[pin].name);
drivers/net/ethernet/intel/igb/igb_main.c
700
for (; i < adapter->num_rx_queues; i++)
drivers/net/ethernet/intel/igb/igb_main.c
7005
ts = timespec64_add(adapter->perout[tsintr_tt].start,
drivers/net/ethernet/intel/igb/igb_main.c
7006
adapter->perout[tsintr_tt].period);
drivers/net/ethernet/intel/igb/igb_main.c
701
adapter->rx_ring[i]->reg_idx = rbase_offset + i;
drivers/net/ethernet/intel/igb/igb_main.c
7015
adapter->perout[tsintr_tt].start = ts;
drivers/net/ethernet/intel/igb/igb_main.c
7017
spin_unlock(&adapter->tmreg_lock);
drivers/net/ethernet/intel/igb/igb_main.c
702
for (; j < adapter->num_tx_queues; j++)
drivers/net/ethernet/intel/igb/igb_main.c
7020
static void igb_extts(struct igb_adapter *adapter, int tsintr_tt)
drivers/net/ethernet/intel/igb/igb_main.c
7022
int pin = ptp_find_pin(adapter->ptp_clock, PTP_PF_EXTTS, tsintr_tt);
drivers/net/ethernet/intel/igb/igb_main.c
7025
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
703
adapter->tx_ring[j]->reg_idx = rbase_offset + j;
drivers/net/ethernet/intel/igb/igb_main.c
7039
spin_lock_irqsave(&adapter->tmreg_lock, flags);
drivers/net/ethernet/intel/igb/igb_main.c
7040
ns = timecounter_cyc2time(&adapter->tc, ns);
drivers/net/ethernet/intel/igb/igb_main.c
7041
spin_unlock_irqrestore(&adapter->tmreg_lock, flags);
drivers/net/ethernet/intel/igb/igb_main.c
7051
ptp_clock_event(adapter->ptp_clock, &event);
drivers/net/ethernet/intel/igb/igb_main.c
7054
static void igb_tsync_interrupt(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb_main.c
7059
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
7072
if (adapter->ptp_caps.pps)
drivers/net/ethernet/intel/igb/igb_main.c
7073
ptp_clock_event(adapter->ptp_clock, &event);
drivers/net/ethernet/intel/igb/igb_main.c
7078
schedule_work(&adapter->ptp_tx_work);
drivers/net/ethernet/intel/igb/igb_main.c
7082
igb_perout(adapter, 0);
drivers/net/ethernet/intel/igb/igb_main.c
7085
igb_perout(adapter, 1);
drivers/net/ethernet/intel/igb/igb_main.c
7088
igb_extts(adapter, 0);
drivers/net/ethernet/intel/igb/igb_main.c
7091
igb_extts(adapter, 1);
drivers/net/ethernet/intel/igb/igb_main.c
7096
struct igb_adapter *adapter = data;
drivers/net/ethernet/intel/igb/igb_main.c
7097
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
7102
schedule_work(&adapter->reset_task);
drivers/net/ethernet/intel/igb/igb_main.c
7106
adapter->stats.doosync++;
drivers/net/ethernet/intel/igb/igb_main.c
7111
igb_check_wvbr(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
7116
igb_msg_task(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
7121
if (!test_bit(__IGB_DOWN, &adapter->state))
drivers/net/ethernet/intel/igb/igb_main.c
7122
mod_timer(&adapter->watchdog_timer, jiffies + 1);
drivers/net/ethernet/intel/igb/igb_main.c
7126
igb_tsync_interrupt(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
7128
wr32(E1000_EIMS, adapter->eims_other);
drivers/net/ethernet/intel/igb/igb_main.c
7135
struct igb_adapter *adapter = q_vector->adapter;
drivers/net/ethernet/intel/igb/igb_main.c
7144
if (adapter->hw.mac.type == e1000_82575)
drivers/net/ethernet/intel/igb/igb_main.c
7166
static void igb_update_tx_dca(struct igb_adapter *adapter,
drivers/net/ethernet/intel/igb/igb_main.c
7170
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
7187
static void igb_update_rx_dca(struct igb_adapter *adapter,
drivers/net/ethernet/intel/igb/igb_main.c
7191
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
7192
u32 rxctrl = dca3_get_tag(&adapter->pdev->dev, cpu);
drivers/net/ethernet/intel/igb/igb_main.c
7209
struct igb_adapter *adapter = q_vector->adapter;
drivers/net/ethernet/intel/igb/igb_main.c
7216
igb_update_tx_dca(adapter, q_vector->tx.ring, cpu);
drivers/net/ethernet/intel/igb/igb_main.c
7219
igb_update_rx_dca(adapter, q_vector->rx.ring, cpu);
drivers/net/ethernet/intel/igb/igb_main.c
7226
static void igb_setup_dca(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb_main.c
7228
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
7231
if (!(adapter->flags & IGB_FLAG_DCA_ENABLED))
drivers/net/ethernet/intel/igb/igb_main.c
7237
for (i = 0; i < adapter->num_q_vectors; i++) {
drivers/net/ethernet/intel/igb/igb_main.c
7238
adapter->q_vector[i]->cpu = -1;
drivers/net/ethernet/intel/igb/igb_main.c
7239
igb_update_dca(adapter->q_vector[i]);
drivers/net/ethernet/intel/igb/igb_main.c
7246
struct igb_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igb/igb_main.c
7247
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/intel/igb/igb_main.c
7248
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
7254
if (adapter->flags & IGB_FLAG_DCA_ENABLED)
drivers/net/ethernet/intel/igb/igb_main.c
7257
adapter->flags |= IGB_FLAG_DCA_ENABLED;
drivers/net/ethernet/intel/igb/igb_main.c
7259
igb_setup_dca(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
7264
if (adapter->flags & IGB_FLAG_DCA_ENABLED) {
drivers/net/ethernet/intel/igb/igb_main.c
7270
adapter->flags &= ~IGB_FLAG_DCA_ENABLED;
drivers/net/ethernet/intel/igb/igb_main.c
7292
static int igb_vf_configure(struct igb_adapter *adapter, int vf)
drivers/net/ethernet/intel/igb/igb_main.c
7297
igb_set_vf_mac(adapter, vf, mac_addr);
drivers/net/ethernet/intel/igb/igb_main.c
7300
adapter->vf_data[vf].spoofchk_enabled = true;
drivers/net/ethernet/intel/igb/igb_main.c
7303
adapter->vf_data[vf].trusted = false;
drivers/net/ethernet/intel/igb/igb_main.c
7309
static void igb_ping_all_vfs(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb_main.c
7311
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
7315
for (i = 0 ; i < adapter->vfs_allocated_count; i++) {
drivers/net/ethernet/intel/igb/igb_main.c
7317
if (adapter->vf_data[i].flags & IGB_VF_FLAG_CTS)
drivers/net/ethernet/intel/igb/igb_main.c
7323
static int igb_set_vf_promisc(struct igb_adapter *adapter, u32 *msgbuf, u32 vf)
drivers/net/ethernet/intel/igb/igb_main.c
7325
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
7327
struct vf_data_storage *vf_data = &adapter->vf_data[vf];
drivers/net/ethernet/intel/igb/igb_main.c
7362
static int igb_set_vf_multicasts(struct igb_adapter *adapter,
drivers/net/ethernet/intel/igb/igb_main.c
7367
struct vf_data_storage *vf_data = &adapter->vf_data[vf];
drivers/net/ethernet/intel/igb/igb_main.c
7385
igb_set_rx_mode(adapter->netdev);
drivers/net/ethernet/intel/igb/igb_main.c
7390
static void igb_restore_vf_multicasts(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb_main.c
7392
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
7396
for (i = 0; i < adapter->vfs_allocated_count; i++) {
drivers/net/ethernet/intel/igb/igb_main.c
7401
vf_data = &adapter->vf_data[i];
drivers/net/ethernet/intel/igb/igb_main.c
7415
static void igb_clear_vf_vfta(struct igb_adapter *adapter, u32 vf)
drivers/net/ethernet/intel/igb/igb_main.c
7417
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
7426
adapter->vfs_allocated_count);
drivers/net/ethernet/intel/igb/igb_main.c
7452
vfta = adapter->shadow_vfta[vid / 32];
drivers/net/ethernet/intel/igb/igb_main.c
7457
if (adapter->flags & IGB_FLAG_VLAN_PROMISC)
drivers/net/ethernet/intel/igb/igb_main.c
7486
static void igb_update_pf_vlvf(struct igb_adapter *adapter, u32 vid)
drivers/net/ethernet/intel/igb/igb_main.c
7488
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
7499
pf_id = adapter->vfs_allocated_count + E1000_VLVF_POOLSEL_SHIFT;
drivers/net/ethernet/intel/igb/igb_main.c
7505
if (adapter->flags & IGB_FLAG_VLAN_PROMISC)
drivers/net/ethernet/intel/igb/igb_main.c
7512
static s32 igb_set_vf_vlan(struct igb_adapter *adapter, u32 vid,
drivers/net/ethernet/intel/igb/igb_main.c
7515
int pf_id = adapter->vfs_allocated_count;
drivers/net/ethernet/intel/igb/igb_main.c
7516
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
7524
if (add && test_bit(vid, adapter->active_vlans)) {
drivers/net/ethernet/intel/igb/igb_main.c
7539
if (test_bit(vid, adapter->active_vlans) ||
drivers/net/ethernet/intel/igb/igb_main.c
7540
(adapter->flags & IGB_FLAG_VLAN_PROMISC))
drivers/net/ethernet/intel/igb/igb_main.c
7541
igb_update_pf_vlvf(adapter, vid);
drivers/net/ethernet/intel/igb/igb_main.c
7546
static void igb_set_vmvir(struct igb_adapter *adapter, u32 vid, u32 vf)
drivers/net/ethernet/intel/igb/igb_main.c
7548
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
7556
static int igb_enable_port_vlan(struct igb_adapter *adapter, int vf,
drivers/net/ethernet/intel/igb/igb_main.c
7561
err = igb_set_vf_vlan(adapter, vlan, true, vf);
drivers/net/ethernet/intel/igb/igb_main.c
7565
igb_set_vmvir(adapter, vlan | (qos << VLAN_PRIO_SHIFT), vf);
drivers/net/ethernet/intel/igb/igb_main.c
7566
igb_set_vmolr(adapter, vf, !vlan);
drivers/net/ethernet/intel/igb/igb_main.c
7569
if (vlan != adapter->vf_data[vf].pf_vlan)
drivers/net/ethernet/intel/igb/igb_main.c
7570
igb_set_vf_vlan(adapter, adapter->vf_data[vf].pf_vlan,
drivers/net/ethernet/intel/igb/igb_main.c
7573
adapter->vf_data[vf].pf_vlan = vlan;
drivers/net/ethernet/intel/igb/igb_main.c
7574
adapter->vf_data[vf].pf_qos = qos;
drivers/net/ethernet/intel/igb/igb_main.c
7575
igb_set_vf_vlan_strip(adapter, vf, true);
drivers/net/ethernet/intel/igb/igb_main.c
7576
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/intel/igb/igb_main.c
7578
if (test_bit(__IGB_DOWN, &adapter->state)) {
drivers/net/ethernet/intel/igb/igb_main.c
7579
dev_warn(&adapter->pdev->dev,
drivers/net/ethernet/intel/igb/igb_main.c
7581
dev_warn(&adapter->pdev->dev,
drivers/net/ethernet/intel/igb/igb_main.c
7588
static int igb_disable_port_vlan(struct igb_adapter *adapter, int vf)
drivers/net/ethernet/intel/igb/igb_main.c
7591
igb_set_vf_vlan(adapter, 0, true, vf);
drivers/net/ethernet/intel/igb/igb_main.c
7593
igb_set_vmvir(adapter, 0, vf);
drivers/net/ethernet/intel/igb/igb_main.c
7594
igb_set_vmolr(adapter, vf, true);
drivers/net/ethernet/intel/igb/igb_main.c
7597
if (adapter->vf_data[vf].pf_vlan)
drivers/net/ethernet/intel/igb/igb_main.c
7598
igb_set_vf_vlan(adapter, adapter->vf_data[vf].pf_vlan,
drivers/net/ethernet/intel/igb/igb_main.c
760
struct igb_adapter *adapter = q_vector->adapter;
drivers/net/ethernet/intel/igb/igb_main.c
7601
adapter->vf_data[vf].pf_vlan = 0;
drivers/net/ethernet/intel/igb/igb_main.c
7602
adapter->vf_data[vf].pf_qos = 0;
drivers/net/ethernet/intel/igb/igb_main.c
7603
igb_set_vf_vlan_strip(adapter, vf, false);
drivers/net/ethernet/intel/igb/igb_main.c
761
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
7611
struct igb_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igb/igb_main.c
7613
if ((vf >= adapter->vfs_allocated_count) || (vlan > 4095) || (qos > 7))
drivers/net/ethernet/intel/igb/igb_main.c
7619
return (vlan || qos) ? igb_enable_port_vlan(adapter, vf, vlan, qos) :
drivers/net/ethernet/intel/igb/igb_main.c
7620
igb_disable_port_vlan(adapter, vf);
drivers/net/ethernet/intel/igb/igb_main.c
7623
static int igb_set_vf_vlan_msg(struct igb_adapter *adapter, u32 *msgbuf, u32 vf)
drivers/net/ethernet/intel/igb/igb_main.c
7629
if (adapter->vf_data[vf].pf_vlan)
drivers/net/ethernet/intel/igb/igb_main.c
7636
ret = igb_set_vf_vlan(adapter, vid, !!add, vf);
drivers/net/ethernet/intel/igb/igb_main.c
7638
igb_set_vf_vlan_strip(adapter, vf, !!vid);
drivers/net/ethernet/intel/igb/igb_main.c
7642
static inline void igb_vf_reset(struct igb_adapter *adapter, u32 vf)
drivers/net/ethernet/intel/igb/igb_main.c
7644
struct vf_data_storage *vf_data = &adapter->vf_data[vf];
drivers/net/ethernet/intel/igb/igb_main.c
7651
igb_clear_vf_vfta(adapter, vf);
drivers/net/ethernet/intel/igb/igb_main.c
7652
igb_set_vf_vlan(adapter, vf_data->pf_vlan, true, vf);
drivers/net/ethernet/intel/igb/igb_main.c
7653
igb_set_vmvir(adapter, vf_data->pf_vlan |
drivers/net/ethernet/intel/igb/igb_main.c
7655
igb_set_vmolr(adapter, vf, !vf_data->pf_vlan);
drivers/net/ethernet/intel/igb/igb_main.c
7656
igb_set_vf_vlan_strip(adapter, vf, !!(vf_data->pf_vlan));
drivers/net/ethernet/intel/igb/igb_main.c
7659
adapter->vf_data[vf].num_vf_mc_hashes = 0;
drivers/net/ethernet/intel/igb/igb_main.c
7662
igb_set_rx_mode(adapter->netdev);
drivers/net/ethernet/intel/igb/igb_main.c
7665
static void igb_vf_reset_event(struct igb_adapter *adapter, u32 vf)
drivers/net/ethernet/intel/igb/igb_main.c
7667
unsigned char *vf_mac = adapter->vf_data[vf].vf_mac_addresses;
drivers/net/ethernet/intel/igb/igb_main.c
7670
if (!(adapter->vf_data[vf].flags & IGB_VF_FLAG_PF_SET_MAC))
drivers/net/ethernet/intel/igb/igb_main.c
7674
igb_vf_reset(adapter, vf);
drivers/net/ethernet/intel/igb/igb_main.c
7677
static void igb_vf_reset_msg(struct igb_adapter *adapter, u32 vf)
drivers/net/ethernet/intel/igb/igb_main.c
7679
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
7680
unsigned char *vf_mac = adapter->vf_data[vf].vf_mac_addresses;
drivers/net/ethernet/intel/igb/igb_main.c
7685
igb_vf_reset(adapter, vf);
drivers/net/ethernet/intel/igb/igb_main.c
7688
igb_set_vf_mac(adapter, vf, vf_mac);
drivers/net/ethernet/intel/igb/igb_main.c
7696
adapter->vf_data[vf].flags |= IGB_VF_FLAG_CTS;
drivers/net/ethernet/intel/igb/igb_main.c
7708
static void igb_flush_mac_table(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb_main.c
7710
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
7714
adapter->mac_table[i].state &= ~IGB_MAC_STATE_IN_USE;
drivers/net/ethernet/intel/igb/igb_main.c
7715
eth_zero_addr(adapter->mac_table[i].addr);
drivers/net/ethernet/intel/igb/igb_main.c
7716
adapter->mac_table[i].queue = 0;
drivers/net/ethernet/intel/igb/igb_main.c
7717
igb_rar_set_index(adapter, i);
drivers/net/ethernet/intel/igb/igb_main.c
7721
static int igb_available_rars(struct igb_adapter *adapter, u8 queue)
drivers/net/ethernet/intel/igb/igb_main.c
7723
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
7726
adapter->vfs_allocated_count;
drivers/net/ethernet/intel/igb/igb_main.c
7731
if (adapter->mac_table[i].state & IGB_MAC_STATE_DEFAULT)
drivers/net/ethernet/intel/igb/igb_main.c
7735
if ((adapter->mac_table[i].state & IGB_MAC_STATE_IN_USE) &&
drivers/net/ethernet/intel/igb/igb_main.c
7736
(adapter->mac_table[i].queue != queue))
drivers/net/ethernet/intel/igb/igb_main.c
7746
static void igb_set_default_mac_filter(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb_main.c
7748
struct igb_mac_addr *mac_table = &adapter->mac_table[0];
drivers/net/ethernet/intel/igb/igb_main.c
7750
ether_addr_copy(mac_table->addr, adapter->hw.mac.addr);
drivers/net/ethernet/intel/igb/igb_main.c
7751
mac_table->queue = adapter->vfs_allocated_count;
drivers/net/ethernet/intel/igb/igb_main.c
7754
igb_rar_set_index(adapter, 0);
drivers/net/ethernet/intel/igb/igb_main.c
7783
static int igb_add_mac_filter_flags(struct igb_adapter *adapter,
drivers/net/ethernet/intel/igb/igb_main.c
7787
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
7789
adapter->vfs_allocated_count;
drivers/net/ethernet/intel/igb/igb_main.c
7800
if (!igb_mac_entry_can_be_used(&adapter->mac_table[i],
drivers/net/ethernet/intel/igb/igb_main.c
7804
ether_addr_copy(adapter->mac_table[i].addr, addr);
drivers/net/ethernet/intel/igb/igb_main.c
7805
adapter->mac_table[i].queue = queue;
drivers/net/ethernet/intel/igb/igb_main.c
7806
adapter->mac_table[i].state |= IGB_MAC_STATE_IN_USE | flags;
drivers/net/ethernet/intel/igb/igb_main.c
7808
igb_rar_set_index(adapter, i);
drivers/net/ethernet/intel/igb/igb_main.c
7815
static int igb_add_mac_filter(struct igb_adapter *adapter, const u8 *addr,
drivers/net/ethernet/intel/igb/igb_main.c
7818
return igb_add_mac_filter_flags(adapter, addr, queue, 0);
drivers/net/ethernet/intel/igb/igb_main.c
782
if (!(adapter->flags & IGB_FLAG_HAS_MSIX) && msix_vector == 0)
drivers/net/ethernet/intel/igb/igb_main.c
7827
static int igb_del_mac_filter_flags(struct igb_adapter *adapter,
drivers/net/ethernet/intel/igb/igb_main.c
7831
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
7833
adapter->vfs_allocated_count;
drivers/net/ethernet/intel/igb/igb_main.c
7844
if (!(adapter->mac_table[i].state & IGB_MAC_STATE_IN_USE))
drivers/net/ethernet/intel/igb/igb_main.c
7846
if ((adapter->mac_table[i].state & flags) != flags)
drivers/net/ethernet/intel/igb/igb_main.c
7848
if (adapter->mac_table[i].queue != queue)
drivers/net/ethernet/intel/igb/igb_main.c
7850
if (!ether_addr_equal(adapter->mac_table[i].addr, addr))
drivers/net/ethernet/intel/igb/igb_main.c
7856
if (adapter->mac_table[i].state & IGB_MAC_STATE_DEFAULT) {
drivers/net/ethernet/intel/igb/igb_main.c
7857
adapter->mac_table[i].state =
drivers/net/ethernet/intel/igb/igb_main.c
7859
adapter->mac_table[i].queue =
drivers/net/ethernet/intel/igb/igb_main.c
7860
adapter->vfs_allocated_count;
drivers/net/ethernet/intel/igb/igb_main.c
7862
adapter->mac_table[i].state = 0;
drivers/net/ethernet/intel/igb/igb_main.c
7863
adapter->mac_table[i].queue = 0;
drivers/net/ethernet/intel/igb/igb_main.c
7864
eth_zero_addr(adapter->mac_table[i].addr);
drivers/net/ethernet/intel/igb/igb_main.c
7867
igb_rar_set_index(adapter, i);
drivers/net/ethernet/intel/igb/igb_main.c
7874
static int igb_del_mac_filter(struct igb_adapter *adapter, const u8 *addr,
drivers/net/ethernet/intel/igb/igb_main.c
7877
return igb_del_mac_filter_flags(adapter, addr, queue, 0);
drivers/net/ethernet/intel/igb/igb_main.c
7880
int igb_add_mac_steering_filter(struct igb_adapter *adapter,
drivers/net/ethernet/intel/igb/igb_main.c
7883
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
7891
return igb_add_mac_filter_flags(adapter, addr, queue,
drivers/net/ethernet/intel/igb/igb_main.c
7895
int igb_del_mac_steering_filter(struct igb_adapter *adapter,
drivers/net/ethernet/intel/igb/igb_main.c
7898
return igb_del_mac_filter_flags(adapter, addr, queue,
drivers/net/ethernet/intel/igb/igb_main.c
7904
struct igb_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igb/igb_main.c
7907
ret = igb_add_mac_filter(adapter, addr, adapter->vfs_allocated_count);
drivers/net/ethernet/intel/igb/igb_main.c
7914
struct igb_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igb/igb_main.c
7916
igb_del_mac_filter(adapter, addr, adapter->vfs_allocated_count);
drivers/net/ethernet/intel/igb/igb_main.c
7921
static int igb_set_vf_mac_filter(struct igb_adapter *adapter, const int vf,
drivers/net/ethernet/intel/igb/igb_main.c
7924
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/intel/igb/igb_main.c
7925
struct vf_data_storage *vf_data = &adapter->vf_data[vf];
drivers/net/ethernet/intel/igb/igb_main.c
7947
list_for_each_entry(entry, &adapter->vf_macs.l, l) {
drivers/net/ethernet/intel/igb/igb_main.c
7951
igb_del_mac_filter(adapter, entry->vf_mac, vf);
drivers/net/ethernet/intel/igb/igb_main.c
7957
list_for_each_entry(entry, &adapter->vf_macs.l, l) {
drivers/net/ethernet/intel/igb/igb_main.c
7969
ret = igb_add_mac_filter(adapter, addr, vf);
drivers/net/ethernet/intel/igb/igb_main.c
7988
static int igb_set_vf_mac_addr(struct igb_adapter *adapter, u32 *msg, int vf)
drivers/net/ethernet/intel/igb/igb_main.c
7990
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/intel/igb/igb_main.c
7991
struct vf_data_storage *vf_data = &adapter->vf_data[vf];
drivers/net/ethernet/intel/igb/igb_main.c
8016
ret = igb_set_vf_mac(adapter, vf, addr);
drivers/net/ethernet/intel/igb/igb_main.c
8018
ret = igb_set_vf_mac_filter(adapter, vf, info, addr);
drivers/net/ethernet/intel/igb/igb_main.c
8024
static void igb_rcv_ack_from_vf(struct igb_adapter *adapter, u32 vf)
drivers/net/ethernet/intel/igb/igb_main.c
8026
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
8027
struct vf_data_storage *vf_data = &adapter->vf_data[vf];
drivers/net/ethernet/intel/igb/igb_main.c
8038
static void igb_rcv_msg_from_vf(struct igb_adapter *adapter, u32 vf)
drivers/net/ethernet/intel/igb/igb_main.c
8040
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/intel/igb/igb_main.c
8042
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
8043
struct vf_data_storage *vf_data = &adapter->vf_data[vf];
drivers/net/ethernet/intel/igb/igb_main.c
8066
igb_vf_reset_msg(adapter, vf);
drivers/net/ethernet/intel/igb/igb_main.c
8079
retval = igb_set_vf_mac_addr(adapter, msgbuf, vf);
drivers/net/ethernet/intel/igb/igb_main.c
8082
retval = igb_set_vf_promisc(adapter, msgbuf, vf);
drivers/net/ethernet/intel/igb/igb_main.c
8085
retval = igb_set_vf_multicasts(adapter, msgbuf, vf);
drivers/net/ethernet/intel/igb/igb_main.c
8088
retval = igb_set_vf_rlpml(adapter, msgbuf[1], vf);
drivers/net/ethernet/intel/igb/igb_main.c
8097
retval = igb_set_vf_vlan_msg(adapter, msgbuf, vf);
drivers/net/ethernet/intel/igb/igb_main.c
8121
static void igb_msg_task(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb_main.c
8123
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
8127
spin_lock_irqsave(&adapter->vfs_lock, flags);
drivers/net/ethernet/intel/igb/igb_main.c
8128
for (vf = 0; vf < adapter->vfs_allocated_count; vf++) {
drivers/net/ethernet/intel/igb/igb_main.c
8131
igb_vf_reset_event(adapter, vf);
drivers/net/ethernet/intel/igb/igb_main.c
8135
igb_rcv_msg_from_vf(adapter, vf);
drivers/net/ethernet/intel/igb/igb_main.c
8139
igb_rcv_ack_from_vf(adapter, vf);
drivers/net/ethernet/intel/igb/igb_main.c
8141
spin_unlock_irqrestore(&adapter->vfs_lock, flags);
drivers/net/ethernet/intel/igb/igb_main.c
8155
static void igb_set_uta(struct igb_adapter *adapter, bool set)
drivers/net/ethernet/intel/igb/igb_main.c
8157
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
8162
if (!adapter->vfs_allocated_count)
drivers/net/ethernet/intel/igb/igb_main.c
8176
struct igb_adapter *adapter = data;
drivers/net/ethernet/intel/igb/igb_main.c
8177
struct igb_q_vector *q_vector = adapter->q_vector[0];
drivers/net/ethernet/intel/igb/igb_main.c
8178
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
8185
schedule_work(&adapter->reset_task);
drivers/net/ethernet/intel/igb/igb_main.c
8189
adapter->stats.doosync++;
drivers/net/ethernet/intel/igb/igb_main.c
8194
if (!test_bit(__IGB_DOWN, &adapter->state))
drivers/net/ethernet/intel/igb/igb_main.c
8195
mod_timer(&adapter->watchdog_timer, jiffies + 1);
drivers/net/ethernet/intel/igb/igb_main.c
8199
igb_tsync_interrupt(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
8213
struct igb_adapter *adapter = data;
drivers/net/ethernet/intel/igb/igb_main.c
8214
struct igb_q_vector *q_vector = adapter->q_vector[0];
drivers/net/ethernet/intel/igb/igb_main.c
8215
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
8230
schedule_work(&adapter->reset_task);
drivers/net/ethernet/intel/igb/igb_main.c
8234
adapter->stats.doosync++;
drivers/net/ethernet/intel/igb/igb_main.c
8240
if (!test_bit(__IGB_DOWN, &adapter->state))
drivers/net/ethernet/intel/igb/igb_main.c
8241
mod_timer(&adapter->watchdog_timer, jiffies + 1);
drivers/net/ethernet/intel/igb/igb_main.c
8245
igb_tsync_interrupt(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
8254
struct igb_adapter *adapter = q_vector->adapter;
drivers/net/ethernet/intel/igb/igb_main.c
8255
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
8257
if ((q_vector->rx.ring && (adapter->rx_itr_setting & 3)) ||
drivers/net/ethernet/intel/igb/igb_main.c
8258
(!q_vector->rx.ring && (adapter->tx_itr_setting & 3))) {
drivers/net/ethernet/intel/igb/igb_main.c
8259
if ((adapter->num_q_vectors == 1) && !adapter->vf_data)
drivers/net/ethernet/intel/igb/igb_main.c
8265
if (!test_bit(__IGB_DOWN, &adapter->state)) {
drivers/net/ethernet/intel/igb/igb_main.c
8266
if (adapter->flags & IGB_FLAG_HAS_MSIX)
drivers/net/ethernet/intel/igb/igb_main.c
8269
igb_irq_enable(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
8288
if (q_vector->adapter->flags & IGB_FLAG_DCA_ENABLED)
drivers/net/ethernet/intel/igb/igb_main.c
830
adapter->eims_enable_mask |= q_vector->eims_value;
drivers/net/ethernet/intel/igb/igb_main.c
8330
struct igb_adapter *adapter = q_vector->adapter;
drivers/net/ethernet/intel/igb/igb_main.c
8342
if (test_bit(__IGB_DOWN, &adapter->state))
drivers/net/ethernet/intel/igb/igb_main.c
843
static void igb_configure_msix(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb_main.c
8455
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
8463
(adapter->tx_timeout_factor * HZ)) &&
drivers/net/ethernet/intel/igb/igb_main.c
847
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
849
adapter->eims_enable_mask = 0;
drivers/net/ethernet/intel/igb/igb_main.c
8506
!(test_bit(__IGB_DOWN, &adapter->state))) {
drivers/net/ethernet/intel/igb/igb_main.c
866
adapter->eims_other = E1000_EIMS_OTHER;
drivers/net/ethernet/intel/igb/igb_main.c
8707
static int igb_run_xdp(struct igb_adapter *adapter, struct igb_ring *rx_ring,
drivers/net/ethernet/intel/igb/igb_main.c
8726
result = igb_xdp_xmit_back(adapter, xdp);
drivers/net/ethernet/intel/igb/igb_main.c
8731
err = xdp_do_redirect(adapter->netdev, xdp, xdp_prog);
drivers/net/ethernet/intel/igb/igb_main.c
8737
bpf_warn_invalid_xdp_action(adapter->netdev, xdp_prog, act);
drivers/net/ethernet/intel/igb/igb_main.c
884
adapter->eims_other = BIT(vector);
drivers/net/ethernet/intel/igb/igb_main.c
894
adapter->eims_enable_mask |= adapter->eims_other;
drivers/net/ethernet/intel/igb/igb_main.c
896
for (i = 0; i < adapter->num_q_vectors; i++)
drivers/net/ethernet/intel/igb/igb_main.c
897
igb_assign_vector(adapter->q_vector[i], vector++);
drivers/net/ethernet/intel/igb/igb_main.c
8984
void igb_finalize_xdp(struct igb_adapter *adapter, unsigned int status)
drivers/net/ethernet/intel/igb/igb_main.c
8993
struct igb_ring *tx_ring = igb_xdp_tx_queue_mapping(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
9019
struct igb_adapter *adapter = q_vector->adapter;
drivers/net/ethernet/intel/igb/igb_main.c
9085
xdp_res = igb_run_xdp(adapter, rx_ring, &xdp);
drivers/net/ethernet/intel/igb/igb_main.c
909
static int igb_request_msix(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb_main.c
911
unsigned int num_q_vectors = adapter->num_q_vectors;
drivers/net/ethernet/intel/igb/igb_main.c
912
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/igb/igb_main.c
9146
igb_finalize_xdp(adapter, xdp_xmit);
drivers/net/ethernet/intel/igb/igb_main.c
915
err = request_irq(adapter->msix_entries[vector].vector,
drivers/net/ethernet/intel/igb/igb_main.c
916
igb_msix_other, 0, netdev->name, adapter);
drivers/net/ethernet/intel/igb/igb_main.c
922
dev_warn(&adapter->pdev->dev,
drivers/net/ethernet/intel/igb/igb_main.c
924
adapter->num_q_vectors, MAX_Q_VECTORS);
drivers/net/ethernet/intel/igb/igb_main.c
927
struct igb_q_vector *q_vector = adapter->q_vector[i];
drivers/net/ethernet/intel/igb/igb_main.c
9278
struct igb_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igb/igb_main.c
9281
if (adapter->hw.phy.media_type != e1000_media_type_copper)
drivers/net/ethernet/intel/igb/igb_main.c
9286
data->phy_id = adapter->hw.phy.addr;
drivers/net/ethernet/intel/igb/igb_main.c
9289
if (igb_read_phy_reg(&adapter->hw, data->reg_num & 0x1F,
drivers/net/ethernet/intel/igb/igb_main.c
9294
if (igb_write_phy_reg(&adapter->hw, data->reg_num & 0x1F,
drivers/net/ethernet/intel/igb/igb_main.c
931
q_vector->itr_register = adapter->io_addr + E1000_EITR(vector);
drivers/net/ethernet/intel/igb/igb_main.c
9324
struct igb_adapter *adapter = hw->back;
drivers/net/ethernet/intel/igb/igb_main.c
9326
pci_read_config_word(adapter->pdev, reg, value);
drivers/net/ethernet/intel/igb/igb_main.c
9331
struct igb_adapter *adapter = hw->back;
drivers/net/ethernet/intel/igb/igb_main.c
9333
pci_write_config_word(adapter->pdev, reg, *value);
drivers/net/ethernet/intel/igb/igb_main.c
9338
struct igb_adapter *adapter = hw->back;
drivers/net/ethernet/intel/igb/igb_main.c
9340
if (pcie_capability_read_word(adapter->pdev, reg, value))
drivers/net/ethernet/intel/igb/igb_main.c
9348
struct igb_adapter *adapter = hw->back;
drivers/net/ethernet/intel/igb/igb_main.c
9350
if (pcie_capability_write_word(adapter->pdev, reg, *value))
drivers/net/ethernet/intel/igb/igb_main.c
9358
struct igb_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igb/igb_main.c
9359
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
9380
igb_set_vf_vlan_strip(adapter, adapter->vfs_allocated_count, enable);
drivers/net/ethernet/intel/igb/igb_main.c
9386
struct igb_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igb/igb_main.c
9387
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
9388
int pf_id = adapter->vfs_allocated_count;
drivers/net/ethernet/intel/igb/igb_main.c
9391
if (!vid || !(adapter->flags & IGB_FLAG_VLAN_PROMISC))
drivers/net/ethernet/intel/igb/igb_main.c
9394
set_bit(vid, adapter->active_vlans);
drivers/net/ethernet/intel/igb/igb_main.c
9402
struct igb_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igb/igb_main.c
9403
int pf_id = adapter->vfs_allocated_count;
drivers/net/ethernet/intel/igb/igb_main.c
9404
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
9407
if (vid && !(adapter->flags & IGB_FLAG_VLAN_PROMISC))
drivers/net/ethernet/intel/igb/igb_main.c
9410
clear_bit(vid, adapter->active_vlans);
drivers/net/ethernet/intel/igb/igb_main.c
9415
static void igb_restore_vlan(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb_main.c
9419
igb_vlan_mode(adapter->netdev, adapter->netdev->features);
drivers/net/ethernet/intel/igb/igb_main.c
9420
igb_vlan_rx_add_vid(adapter->netdev, htons(ETH_P_8021Q), 0);
drivers/net/ethernet/intel/igb/igb_main.c
9422
for_each_set_bit_from(vid, adapter->active_vlans, VLAN_N_VID)
drivers/net/ethernet/intel/igb/igb_main.c
9423
igb_vlan_rx_add_vid(adapter->netdev, htons(ETH_P_8021Q), vid);
drivers/net/ethernet/intel/igb/igb_main.c
9426
int igb_set_spd_dplx(struct igb_adapter *adapter, u32 spd, u8 dplx)
drivers/net/ethernet/intel/igb/igb_main.c
9428
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/intel/igb/igb_main.c
9429
struct e1000_mac_info *mac = &adapter->hw.mac;
drivers/net/ethernet/intel/igb/igb_main.c
9442
if (adapter->hw.phy.media_type == e1000_media_type_internal_serdes) {
drivers/net/ethernet/intel/igb/igb_main.c
945
err = request_irq(adapter->msix_entries[vector].vector,
drivers/net/ethernet/intel/igb/igb_main.c
9468
adapter->hw.phy.autoneg_advertised = ADVERTISE_1000_FULL;
drivers/net/ethernet/intel/igb/igb_main.c
9476
adapter->hw.phy.mdix = AUTO_ALL_MODES;
drivers/net/ethernet/intel/igb/igb_main.c
9489
struct igb_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igb/igb_main.c
9490
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
9492
u32 wufc = runtime ? E1000_WUFC_LNKC : adapter->wol;
drivers/net/ethernet/intel/igb/igb_main.c
9501
igb_ptp_suspend(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
9503
igb_clear_interrupt_scheme(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
9511
igb_setup_rctl(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
952
adapter->msix_entries[vector].vector);
drivers/net/ethernet/intel/igb/igb_main.c
9535
wake = wufc || adapter->en_mng_pt;
drivers/net/ethernet/intel/igb/igb_main.c
9537
igb_power_down_link(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
9539
igb_power_up_link(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
9547
igb_release_hw_control(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
955
igb_configure_msix(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
9556
struct igb_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igb/igb_main.c
9557
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
9593
struct igb_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igb/igb_main.c
9594
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
960
free_irq(adapter->msix_entries[free_vector++].vector, adapter);
drivers/net/ethernet/intel/igb/igb_main.c
9613
if (igb_init_interrupt_scheme(adapter, true)) {
drivers/net/ethernet/intel/igb/igb_main.c
9618
igb_reset(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
9623
igb_get_hw_control(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
964
free_irq(adapter->msix_entries[free_vector++].vector,
drivers/net/ethernet/intel/igb/igb_main.c
965
adapter->q_vector[i]);
drivers/net/ethernet/intel/igb/igb_main.c
9652
struct igb_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igb/igb_main.c
9654
if (!igb_has_link(adapter))
drivers/net/ethernet/intel/igb/igb_main.c
9709
struct igb_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igb/igb_main.c
9723
igb_down(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
9742
struct igb_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igb/igb_main.c
9743
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
9760
hw->hw_addr = adapter->io_addr;
drivers/net/ethernet/intel/igb/igb_main.c
9762
igb_reset(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
978
static void igb_free_q_vector(struct igb_adapter *adapter, int v_idx)
drivers/net/ethernet/intel/igb/igb_main.c
9781
struct igb_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igb/igb_main.c
9785
if (!test_bit(__IGB_DOWN, &adapter->state)) {
drivers/net/ethernet/intel/igb/igb_main.c
9791
if (igb_up(adapter)) {
drivers/net/ethernet/intel/igb/igb_main.c
980
struct igb_q_vector *q_vector = adapter->q_vector[v_idx];
drivers/net/ethernet/intel/igb/igb_main.c
9804
igb_get_hw_control(adapter);
drivers/net/ethernet/intel/igb/igb_main.c
9812
static void igb_rar_set_index(struct igb_adapter *adapter, u32 index)
drivers/net/ethernet/intel/igb/igb_main.c
9814
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
9816
u8 *addr = adapter->mac_table[index].addr;
drivers/net/ethernet/intel/igb/igb_main.c
982
adapter->q_vector[v_idx] = NULL;
drivers/net/ethernet/intel/igb/igb_main.c
9827
if (adapter->mac_table[index].state & IGB_MAC_STATE_IN_USE) {
drivers/net/ethernet/intel/igb/igb_main.c
9831
if (adapter->mac_table[index].state & IGB_MAC_STATE_SRC_ADDR)
drivers/net/ethernet/intel/igb/igb_main.c
9837
if (adapter->mac_table[index].state &
drivers/net/ethernet/intel/igb/igb_main.c
9842
adapter->mac_table[index].queue;
drivers/net/ethernet/intel/igb/igb_main.c
9846
adapter->mac_table[index].queue;
drivers/net/ethernet/intel/igb/igb_main.c
9857
static int igb_set_vf_mac(struct igb_adapter *adapter,
drivers/net/ethernet/intel/igb/igb_main.c
9860
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
9865
unsigned char *vf_mac_addr = adapter->vf_data[vf].vf_mac_addresses;
drivers/net/ethernet/intel/igb/igb_main.c
9868
ether_addr_copy(adapter->mac_table[rar_entry].addr, mac_addr);
drivers/net/ethernet/intel/igb/igb_main.c
9869
adapter->mac_table[rar_entry].queue = vf;
drivers/net/ethernet/intel/igb/igb_main.c
9870
adapter->mac_table[rar_entry].state |= IGB_MAC_STATE_IN_USE;
drivers/net/ethernet/intel/igb/igb_main.c
9871
igb_rar_set_index(adapter, rar_entry);
drivers/net/ethernet/intel/igb/igb_main.c
9878
struct igb_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igb/igb_main.c
9880
if (vf >= adapter->vfs_allocated_count)
drivers/net/ethernet/intel/igb/igb_main.c
9890
adapter->vf_data[vf].flags &= ~IGB_VF_FLAG_PF_SET_MAC;
drivers/net/ethernet/intel/igb/igb_main.c
9891
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/intel/igb/igb_main.c
9895
adapter->vf_data[vf].flags |= IGB_VF_FLAG_PF_SET_MAC;
drivers/net/ethernet/intel/igb/igb_main.c
9896
dev_info(&adapter->pdev->dev, "setting MAC %pM on VF %d\n",
drivers/net/ethernet/intel/igb/igb_main.c
9898
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/intel/igb/igb_main.c
9901
if (test_bit(__IGB_DOWN, &adapter->state)) {
drivers/net/ethernet/intel/igb/igb_main.c
9902
dev_warn(&adapter->pdev->dev,
drivers/net/ethernet/intel/igb/igb_main.c
9904
dev_warn(&adapter->pdev->dev,
drivers/net/ethernet/intel/igb/igb_main.c
9910
return igb_set_vf_mac(adapter, vf, mac);
drivers/net/ethernet/intel/igb/igb_main.c
9953
static void igb_check_vf_rate_limit(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb_main.c
9959
if ((adapter->vf_rate_link_speed == 0) ||
drivers/net/ethernet/intel/igb/igb_main.c
9960
(adapter->hw.mac.type != e1000_82576))
drivers/net/ethernet/intel/igb/igb_main.c
9963
actual_link_speed = igb_link_mbps(adapter->link_speed);
drivers/net/ethernet/intel/igb/igb_main.c
9964
if (actual_link_speed != adapter->vf_rate_link_speed) {
drivers/net/ethernet/intel/igb/igb_main.c
9966
adapter->vf_rate_link_speed = 0;
drivers/net/ethernet/intel/igb/igb_main.c
9967
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/intel/igb/igb_main.c
9971
for (i = 0; i < adapter->vfs_allocated_count; i++) {
drivers/net/ethernet/intel/igb/igb_main.c
9973
adapter->vf_data[i].tx_rate = 0;
drivers/net/ethernet/intel/igb/igb_main.c
9975
igb_set_vf_rate_limit(&adapter->hw, i,
drivers/net/ethernet/intel/igb/igb_main.c
9976
adapter->vf_data[i].tx_rate,
drivers/net/ethernet/intel/igb/igb_main.c
9984
struct igb_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igb/igb_main.c
9985
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_main.c
999
static void igb_reset_q_vector(struct igb_adapter *adapter, int v_idx)
drivers/net/ethernet/intel/igb/igb_main.c
9994
actual_link_speed = igb_link_mbps(adapter->link_speed);
drivers/net/ethernet/intel/igb/igb_main.c
9995
if ((vf >= adapter->vfs_allocated_count) ||
drivers/net/ethernet/intel/igb/igb_ptp.c
1000
if (!(adapter->ptp_flags & IGB_PTP_ENABLED))
drivers/net/ethernet/intel/igb/igb_ptp.c
1012
igb_ptp_systim_to_hwtstamp(adapter, &ts, le64_to_cpu(regval[1]));
drivers/net/ethernet/intel/igb/igb_ptp.c
1016
switch (adapter->link_speed) {
drivers/net/ethernet/intel/igb/igb_ptp.c
1044
struct igb_adapter *adapter = q_vector->adapter;
drivers/net/ethernet/intel/igb/igb_ptp.c
1045
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_ptp.c
1049
if (!(adapter->ptp_flags & IGB_PTP_ENABLED))
drivers/net/ethernet/intel/igb/igb_ptp.c
1068
igb_ptp_systim_to_hwtstamp(adapter, skb_hwtstamps(skb), regval);
drivers/net/ethernet/intel/igb/igb_ptp.c
1071
if (adapter->hw.mac.type == e1000_i210) {
drivers/net/ethernet/intel/igb/igb_ptp.c
1072
switch (adapter->link_speed) {
drivers/net/ethernet/intel/igb/igb_ptp.c
1090
adapter->last_rx_timestamp = jiffies;
drivers/net/ethernet/intel/igb/igb_ptp.c
1105
struct igb_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igb/igb_ptp.c
1107
*config = adapter->tstamp_config;
drivers/net/ethernet/intel/igb/igb_ptp.c
1129
static int igb_ptp_set_timestamp_mode(struct igb_adapter *adapter,
drivers/net/ethernet/intel/igb/igb_ptp.c
1132
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_ptp.c
115
static void igb_ptp_read_i210(struct igb_adapter *adapter,
drivers/net/ethernet/intel/igb/igb_ptp.c
118
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_ptp.c
1285
struct igb_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igb/igb_ptp.c
1288
err = igb_ptp_set_timestamp_mode(adapter, config);
drivers/net/ethernet/intel/igb/igb_ptp.c
1293
adapter->tstamp_config = *config;
drivers/net/ethernet/intel/igb/igb_ptp.c
1305
void igb_ptp_init(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb_ptp.c
1307
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_ptp.c
1308
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/igb/igb_ptp.c
1312
snprintf(adapter->ptp_caps.name, 16, "%pm", netdev->dev_addr);
drivers/net/ethernet/intel/igb/igb_ptp.c
1313
adapter->ptp_caps.owner = THIS_MODULE;
drivers/net/ethernet/intel/igb/igb_ptp.c
1314
adapter->ptp_caps.max_adj = 999999881;
drivers/net/ethernet/intel/igb/igb_ptp.c
1315
adapter->ptp_caps.n_ext_ts = 0;
drivers/net/ethernet/intel/igb/igb_ptp.c
1316
adapter->ptp_caps.pps = 0;
drivers/net/ethernet/intel/igb/igb_ptp.c
1317
adapter->ptp_caps.adjfine = igb_ptp_adjfine_82576;
drivers/net/ethernet/intel/igb/igb_ptp.c
1318
adapter->ptp_caps.adjtime = igb_ptp_adjtime_82576;
drivers/net/ethernet/intel/igb/igb_ptp.c
1319
adapter->ptp_caps.gettimex64 = igb_ptp_gettimex_82576;
drivers/net/ethernet/intel/igb/igb_ptp.c
1320
adapter->ptp_caps.settime64 = igb_ptp_settime_82576;
drivers/net/ethernet/intel/igb/igb_ptp.c
1321
adapter->ptp_caps.enable = igb_ptp_feature_enable;
drivers/net/ethernet/intel/igb/igb_ptp.c
1322
adapter->cc.read = igb_ptp_read_82576;
drivers/net/ethernet/intel/igb/igb_ptp.c
1323
adapter->cc.mask = CYCLECOUNTER_MASK(64);
drivers/net/ethernet/intel/igb/igb_ptp.c
1324
adapter->cc.mult = 1;
drivers/net/ethernet/intel/igb/igb_ptp.c
1325
adapter->cc.shift = IGB_82576_TSYNC_SHIFT;
drivers/net/ethernet/intel/igb/igb_ptp.c
1326
adapter->ptp_flags |= IGB_PTP_OVERFLOW_CHECK;
drivers/net/ethernet/intel/igb/igb_ptp.c
133
static void igb_ptp_write_i210(struct igb_adapter *adapter,
drivers/net/ethernet/intel/igb/igb_ptp.c
1331
igb_ptp_sdp_init(adapter);
drivers/net/ethernet/intel/igb/igb_ptp.c
1332
snprintf(adapter->ptp_caps.name, 16, "%pm", netdev->dev_addr);
drivers/net/ethernet/intel/igb/igb_ptp.c
1333
adapter->ptp_caps.owner = THIS_MODULE;
drivers/net/ethernet/intel/igb/igb_ptp.c
1334
adapter->ptp_caps.max_adj = 62499999;
drivers/net/ethernet/intel/igb/igb_ptp.c
1335
adapter->ptp_caps.n_ext_ts = IGB_N_EXTTS;
drivers/net/ethernet/intel/igb/igb_ptp.c
1336
adapter->ptp_caps.n_per_out = IGB_N_PEROUT;
drivers/net/ethernet/intel/igb/igb_ptp.c
1337
adapter->ptp_caps.n_pins = IGB_N_SDP;
drivers/net/ethernet/intel/igb/igb_ptp.c
1338
adapter->ptp_caps.pps = 0;
drivers/net/ethernet/intel/igb/igb_ptp.c
1339
adapter->ptp_caps.supported_extts_flags = PTP_RISING_EDGE |
drivers/net/ethernet/intel/igb/igb_ptp.c
1342
adapter->ptp_caps.pin_config = adapter->sdp_config;
drivers/net/ethernet/intel/igb/igb_ptp.c
1343
adapter->ptp_caps.adjfine = igb_ptp_adjfine_82580;
drivers/net/ethernet/intel/igb/igb_ptp.c
1344
adapter->ptp_caps.adjtime = igb_ptp_adjtime_82576;
drivers/net/ethernet/intel/igb/igb_ptp.c
1345
adapter->ptp_caps.gettimex64 = igb_ptp_gettimex_82580;
drivers/net/ethernet/intel/igb/igb_ptp.c
1346
adapter->ptp_caps.settime64 = igb_ptp_settime_82576;
drivers/net/ethernet/intel/igb/igb_ptp.c
1347
adapter->ptp_caps.enable = igb_ptp_feature_enable_82580;
drivers/net/ethernet/intel/igb/igb_ptp.c
1348
adapter->ptp_caps.verify = igb_ptp_verify_pin;
drivers/net/ethernet/intel/igb/igb_ptp.c
1349
adapter->cc.read = igb_ptp_read_82580;
drivers/net/ethernet/intel/igb/igb_ptp.c
1350
adapter->cc.mask = CYCLECOUNTER_MASK(IGB_NBITS_82580);
drivers/net/ethernet/intel/igb/igb_ptp.c
1351
adapter->cc.mult = 1;
drivers/net/ethernet/intel/igb/igb_ptp.c
1352
adapter->cc.shift = 0;
drivers/net/ethernet/intel/igb/igb_ptp.c
1353
adapter->ptp_flags |= IGB_PTP_OVERFLOW_CHECK;
drivers/net/ethernet/intel/igb/igb_ptp.c
1357
igb_ptp_sdp_init(adapter);
drivers/net/ethernet/intel/igb/igb_ptp.c
1358
snprintf(adapter->ptp_caps.name, 16, "%pm", netdev->dev_addr);
drivers/net/ethernet/intel/igb/igb_ptp.c
1359
adapter->ptp_caps.owner = THIS_MODULE;
drivers/net/ethernet/intel/igb/igb_ptp.c
136
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_ptp.c
1360
adapter->ptp_caps.max_adj = 62499999;
drivers/net/ethernet/intel/igb/igb_ptp.c
1361
adapter->ptp_caps.n_ext_ts = IGB_N_EXTTS;
drivers/net/ethernet/intel/igb/igb_ptp.c
1362
adapter->ptp_caps.n_per_out = IGB_N_PEROUT;
drivers/net/ethernet/intel/igb/igb_ptp.c
1363
adapter->ptp_caps.n_pins = IGB_N_SDP;
drivers/net/ethernet/intel/igb/igb_ptp.c
1364
adapter->ptp_caps.supported_extts_flags = PTP_RISING_EDGE |
drivers/net/ethernet/intel/igb/igb_ptp.c
1367
adapter->ptp_caps.pps = 1;
drivers/net/ethernet/intel/igb/igb_ptp.c
1368
adapter->ptp_caps.pin_config = adapter->sdp_config;
drivers/net/ethernet/intel/igb/igb_ptp.c
1369
adapter->ptp_caps.adjfine = igb_ptp_adjfine_82580;
drivers/net/ethernet/intel/igb/igb_ptp.c
1370
adapter->ptp_caps.adjtime = igb_ptp_adjtime_i210;
drivers/net/ethernet/intel/igb/igb_ptp.c
1371
adapter->ptp_caps.gettimex64 = igb_ptp_gettimex_i210;
drivers/net/ethernet/intel/igb/igb_ptp.c
1372
adapter->ptp_caps.settime64 = igb_ptp_settime_i210;
drivers/net/ethernet/intel/igb/igb_ptp.c
1373
adapter->ptp_caps.enable = igb_ptp_feature_enable_i210;
drivers/net/ethernet/intel/igb/igb_ptp.c
1374
adapter->ptp_caps.verify = igb_ptp_verify_pin;
drivers/net/ethernet/intel/igb/igb_ptp.c
1377
adapter->ptp_clock = NULL;
drivers/net/ethernet/intel/igb/igb_ptp.c
1381
adapter->ptp_clock = ptp_clock_register(&adapter->ptp_caps,
drivers/net/ethernet/intel/igb/igb_ptp.c
1382
&adapter->pdev->dev);
drivers/net/ethernet/intel/igb/igb_ptp.c
1383
if (IS_ERR(adapter->ptp_clock)) {
drivers/net/ethernet/intel/igb/igb_ptp.c
1384
adapter->ptp_clock = NULL;
drivers/net/ethernet/intel/igb/igb_ptp.c
1385
dev_err(&adapter->pdev->dev, "ptp_clock_register failed\n");
drivers/net/ethernet/intel/igb/igb_ptp.c
1386
} else if (adapter->ptp_clock) {
drivers/net/ethernet/intel/igb/igb_ptp.c
1387
dev_info(&adapter->pdev->dev, "added PHC on %s\n",
drivers/net/ethernet/intel/igb/igb_ptp.c
1388
adapter->netdev->name);
drivers/net/ethernet/intel/igb/igb_ptp.c
1389
adapter->ptp_flags |= IGB_PTP_ENABLED;
drivers/net/ethernet/intel/igb/igb_ptp.c
1391
spin_lock_init(&adapter->tmreg_lock);
drivers/net/ethernet/intel/igb/igb_ptp.c
1392
INIT_WORK(&adapter->ptp_tx_work, igb_ptp_tx_work);
drivers/net/ethernet/intel/igb/igb_ptp.c
1394
if (adapter->ptp_flags & IGB_PTP_OVERFLOW_CHECK)
drivers/net/ethernet/intel/igb/igb_ptp.c
1395
INIT_DELAYED_WORK(&adapter->ptp_overflow_work,
drivers/net/ethernet/intel/igb/igb_ptp.c
1398
adapter->tstamp_config.rx_filter = HWTSTAMP_FILTER_NONE;
drivers/net/ethernet/intel/igb/igb_ptp.c
1399
adapter->tstamp_config.tx_type = HWTSTAMP_TX_OFF;
drivers/net/ethernet/intel/igb/igb_ptp.c
1401
igb_ptp_reset(adapter);
drivers/net/ethernet/intel/igb/igb_ptp.c
1409
void igb_ptp_sdp_init(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb_ptp.c
1414
struct ptp_pin_desc *ppd = &adapter->sdp_config[i];
drivers/net/ethernet/intel/igb/igb_ptp.c
1429
void igb_ptp_suspend(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb_ptp.c
1431
if (!(adapter->ptp_flags & IGB_PTP_ENABLED))
drivers/net/ethernet/intel/igb/igb_ptp.c
1434
if (adapter->ptp_flags & IGB_PTP_OVERFLOW_CHECK)
drivers/net/ethernet/intel/igb/igb_ptp.c
1435
cancel_delayed_work_sync(&adapter->ptp_overflow_work);
drivers/net/ethernet/intel/igb/igb_ptp.c
1437
cancel_work_sync(&adapter->ptp_tx_work);
drivers/net/ethernet/intel/igb/igb_ptp.c
1438
if (adapter->ptp_tx_skb) {
drivers/net/ethernet/intel/igb/igb_ptp.c
1439
dev_kfree_skb_any(adapter->ptp_tx_skb);
drivers/net/ethernet/intel/igb/igb_ptp.c
1440
adapter->ptp_tx_skb = NULL;
drivers/net/ethernet/intel/igb/igb_ptp.c
1441
clear_bit_unlock(__IGB_PTP_TX_IN_PROGRESS, &adapter->state);
drivers/net/ethernet/intel/igb/igb_ptp.c
1451
void igb_ptp_stop(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb_ptp.c
1453
igb_ptp_suspend(adapter);
drivers/net/ethernet/intel/igb/igb_ptp.c
1455
if (adapter->ptp_clock) {
drivers/net/ethernet/intel/igb/igb_ptp.c
1456
ptp_clock_unregister(adapter->ptp_clock);
drivers/net/ethernet/intel/igb/igb_ptp.c
1457
dev_info(&adapter->pdev->dev, "removed PHC on %s\n",
drivers/net/ethernet/intel/igb/igb_ptp.c
1458
adapter->netdev->name);
drivers/net/ethernet/intel/igb/igb_ptp.c
1459
adapter->ptp_flags &= ~IGB_PTP_ENABLED;
drivers/net/ethernet/intel/igb/igb_ptp.c
1469
void igb_ptp_reset(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb_ptp.c
1471
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_ptp.c
1475
igb_ptp_set_timestamp_mode(adapter, &adapter->tstamp_config);
drivers/net/ethernet/intel/igb/igb_ptp.c
1477
spin_lock_irqsave(&adapter->tmreg_lock, flags);
drivers/net/ethernet/intel/igb/igb_ptp.c
1479
switch (adapter->hw.mac.type) {
drivers/net/ethernet/intel/igb/igb_ptp.c
1493
(adapter->pps_sys_wrap_on ? TSINTR_SYS_WRAP : 0));
drivers/net/ethernet/intel/igb/igb_ptp.c
1505
igb_ptp_write_i210(adapter, &ts);
drivers/net/ethernet/intel/igb/igb_ptp.c
1507
timecounter_init(&adapter->tc, &adapter->cc,
drivers/net/ethernet/intel/igb/igb_ptp.c
1511
spin_unlock_irqrestore(&adapter->tmreg_lock, flags);
drivers/net/ethernet/intel/igb/igb_ptp.c
1515
if (adapter->ptp_flags & IGB_PTP_OVERFLOW_CHECK)
drivers/net/ethernet/intel/igb/igb_ptp.c
1516
schedule_delayed_work(&adapter->ptp_overflow_work,
drivers/net/ethernet/intel/igb/igb_ptp.c
162
static void igb_ptp_systim_to_hwtstamp(struct igb_adapter *adapter,
drivers/net/ethernet/intel/igb/igb_ptp.c
171
switch (adapter->hw.mac.type) {
drivers/net/ethernet/intel/igb/igb_ptp.c
176
spin_lock_irqsave(&adapter->tmreg_lock, flags);
drivers/net/ethernet/intel/igb/igb_ptp.c
177
ns = timecounter_cyc2time(&adapter->tc, systim);
drivers/net/ethernet/intel/igb/igb_ptp.c
178
spin_unlock_irqrestore(&adapter->tmreg_lock, flags);
drivers/net/ethernet/intel/igb/igb_ptp.c
72
static void igb_ptp_tx_hwtstamp(struct igb_adapter *adapter);
drivers/net/ethernet/intel/igb/igb_ptp.c
73
static void igb_ptp_sdp_init(struct igb_adapter *adapter);
drivers/net/ethernet/intel/igb/igb_ptp.c
808
struct igb_adapter *adapter = container_of(work, struct igb_adapter,
drivers/net/ethernet/intel/igb/igb_ptp.c
810
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_ptp.c
813
if (!adapter->ptp_tx_skb)
drivers/net/ethernet/intel/igb/igb_ptp.c
816
if (time_is_before_jiffies(adapter->ptp_tx_start +
drivers/net/ethernet/intel/igb/igb_ptp.c
818
dev_kfree_skb_any(adapter->ptp_tx_skb);
drivers/net/ethernet/intel/igb/igb_ptp.c
819
adapter->ptp_tx_skb = NULL;
drivers/net/ethernet/intel/igb/igb_ptp.c
820
clear_bit_unlock(__IGB_PTP_TX_IN_PROGRESS, &adapter->state);
drivers/net/ethernet/intel/igb/igb_ptp.c
821
adapter->tx_hwtstamp_timeouts++;
drivers/net/ethernet/intel/igb/igb_ptp.c
826
dev_warn(&adapter->pdev->dev, "clearing Tx timestamp hang\n");
drivers/net/ethernet/intel/igb/igb_ptp.c
832
igb_ptp_tx_hwtstamp(adapter);
drivers/net/ethernet/intel/igb/igb_ptp.c
835
schedule_work(&adapter->ptp_tx_work);
drivers/net/ethernet/intel/igb/igb_ptp.c
862
void igb_ptp_rx_hang(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb_ptp.c
864
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_ptp.c
876
adapter->last_rx_ptp_check = jiffies;
drivers/net/ethernet/intel/igb/igb_ptp.c
881
rx_event = adapter->last_rx_ptp_check;
drivers/net/ethernet/intel/igb/igb_ptp.c
882
if (time_after(adapter->last_rx_timestamp, rx_event))
drivers/net/ethernet/intel/igb/igb_ptp.c
883
rx_event = adapter->last_rx_timestamp;
drivers/net/ethernet/intel/igb/igb_ptp.c
888
adapter->last_rx_ptp_check = jiffies;
drivers/net/ethernet/intel/igb/igb_ptp.c
889
adapter->rx_hwtstamp_cleared++;
drivers/net/ethernet/intel/igb/igb_ptp.c
890
dev_warn(&adapter->pdev->dev, "clearing Rx timestamp hang\n");
drivers/net/ethernet/intel/igb/igb_ptp.c
898
void igb_ptp_tx_hang(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb_ptp.c
900
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_ptp.c
901
bool timeout = time_is_before_jiffies(adapter->ptp_tx_start +
drivers/net/ethernet/intel/igb/igb_ptp.c
904
if (!adapter->ptp_tx_skb)
drivers/net/ethernet/intel/igb/igb_ptp.c
907
if (!test_bit(__IGB_PTP_TX_IN_PROGRESS, &adapter->state))
drivers/net/ethernet/intel/igb/igb_ptp.c
915
cancel_work_sync(&adapter->ptp_tx_work);
drivers/net/ethernet/intel/igb/igb_ptp.c
916
dev_kfree_skb_any(adapter->ptp_tx_skb);
drivers/net/ethernet/intel/igb/igb_ptp.c
917
adapter->ptp_tx_skb = NULL;
drivers/net/ethernet/intel/igb/igb_ptp.c
918
clear_bit_unlock(__IGB_PTP_TX_IN_PROGRESS, &adapter->state);
drivers/net/ethernet/intel/igb/igb_ptp.c
919
adapter->tx_hwtstamp_timeouts++;
drivers/net/ethernet/intel/igb/igb_ptp.c
924
dev_warn(&adapter->pdev->dev, "clearing Tx timestamp hang\n");
drivers/net/ethernet/intel/igb/igb_ptp.c
936
static void igb_ptp_tx_hwtstamp(struct igb_adapter *adapter)
drivers/net/ethernet/intel/igb/igb_ptp.c
938
struct sk_buff *skb = adapter->ptp_tx_skb;
drivers/net/ethernet/intel/igb/igb_ptp.c
939
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_ptp.c
947
igb_ptp_systim_to_hwtstamp(adapter, &shhwtstamps, regval);
drivers/net/ethernet/intel/igb/igb_ptp.c
950
switch (adapter->link_speed) {
drivers/net/ethernet/intel/igb/igb_ptp.c
971
adapter->ptp_tx_skb = NULL;
drivers/net/ethernet/intel/igb/igb_ptp.c
972
clear_bit_unlock(__IGB_PTP_TX_IN_PROGRESS, &adapter->state);
drivers/net/ethernet/intel/igb/igb_ptp.c
994
struct igb_adapter *adapter = q_vector->adapter;
drivers/net/ethernet/intel/igb/igb_ptp.c
995
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_xsk.c
101
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/igb/igb_xsk.c
106
if (qid >= adapter->num_rx_queues)
drivers/net/ethernet/intel/igb/igb_xsk.c
113
err = xsk_pool_dma_map(pool, &adapter->pdev->dev, IGB_RX_DMA_ATTR);
drivers/net/ethernet/intel/igb/igb_xsk.c
117
rx_ring = adapter->rx_ring[qid];
drivers/net/ethernet/intel/igb/igb_xsk.c
118
if_running = netif_running(adapter->netdev) && igb_xdp_is_enabled(adapter);
drivers/net/ethernet/intel/igb/igb_xsk.c
120
igb_txrx_ring_disable(adapter, qid);
drivers/net/ethernet/intel/igb/igb_xsk.c
125
igb_txrx_ring_enable(adapter, qid);
drivers/net/ethernet/intel/igb/igb_xsk.c
127
err = igb_xsk_wakeup(adapter->netdev, qid, XDP_WAKEUP_RX);
drivers/net/ethernet/intel/igb/igb_xsk.c
139
static int igb_xsk_pool_disable(struct igb_adapter *adapter, u16 qid)
drivers/net/ethernet/intel/igb/igb_xsk.c
146
pool = xsk_get_pool_from_qid(adapter->netdev, qid);
drivers/net/ethernet/intel/igb/igb_xsk.c
150
rx_ring = adapter->rx_ring[qid];
drivers/net/ethernet/intel/igb/igb_xsk.c
151
if_running = netif_running(adapter->netdev) && igb_xdp_is_enabled(adapter);
drivers/net/ethernet/intel/igb/igb_xsk.c
153
igb_txrx_ring_disable(adapter, qid);
drivers/net/ethernet/intel/igb/igb_xsk.c
162
igb_txrx_ring_enable(adapter, qid);
drivers/net/ethernet/intel/igb/igb_xsk.c
168
int igb_xsk_pool_setup(struct igb_adapter *adapter,
drivers/net/ethernet/intel/igb/igb_xsk.c
172
return pool ? igb_xsk_pool_enable(adapter, pool, qid) :
drivers/net/ethernet/intel/igb/igb_xsk.c
173
igb_xsk_pool_disable(adapter, qid);
drivers/net/ethernet/intel/igb/igb_xsk.c
294
static int igb_run_xdp_zc(struct igb_adapter *adapter, struct igb_ring *rx_ring,
drivers/net/ethernet/intel/igb/igb_xsk.c
306
err = xdp_do_redirect(adapter->netdev, xdp, xdp_prog);
drivers/net/ethernet/intel/igb/igb_xsk.c
322
result = igb_xdp_xmit_back(adapter, xdp);
drivers/net/ethernet/intel/igb/igb_xsk.c
327
bpf_warn_invalid_xdp_action(adapter->netdev, xdp_prog, act);
drivers/net/ethernet/intel/igb/igb_xsk.c
34
static void igb_txrx_ring_disable(struct igb_adapter *adapter, u16 qid)
drivers/net/ethernet/intel/igb/igb_xsk.c
344
struct igb_adapter *adapter = q_vector->adapter;
drivers/net/ethernet/intel/igb/igb_xsk.c
36
struct igb_ring *tx_ring = adapter->tx_ring[qid];
drivers/net/ethernet/intel/igb/igb_xsk.c
37
struct igb_ring *rx_ring = adapter->rx_ring[qid];
drivers/net/ethernet/intel/igb/igb_xsk.c
38
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_xsk.c
392
xdp_res = igb_run_xdp_zc(adapter, rx_ring, xdp, xsk_pool,
drivers/net/ethernet/intel/igb/igb_xsk.c
445
igb_finalize_xdp(adapter, xdp_xmit);
drivers/net/ethernet/intel/igb/igb_xsk.c
539
struct igb_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/intel/igb/igb_xsk.c
540
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igb/igb_xsk.c
544
if (test_bit(__IGB_DOWN, &adapter->state))
drivers/net/ethernet/intel/igb/igb_xsk.c
547
if (!igb_xdp_is_enabled(adapter))
drivers/net/ethernet/intel/igb/igb_xsk.c
550
if (qid >= adapter->num_tx_queues)
drivers/net/ethernet/intel/igb/igb_xsk.c
553
ring = adapter->tx_ring[qid];
drivers/net/ethernet/intel/igb/igb_xsk.c
57
static void igb_txrx_ring_enable(struct igb_adapter *adapter, u16 qid)
drivers/net/ethernet/intel/igb/igb_xsk.c
571
ring = adapter->rx_ring[qid];
drivers/net/ethernet/intel/igb/igb_xsk.c
577
if (adapter->flags & IGB_FLAG_HAS_MSIX)
drivers/net/ethernet/intel/igb/igb_xsk.c
59
struct igb_ring *tx_ring = adapter->tx_ring[qid];
drivers/net/ethernet/intel/igb/igb_xsk.c
60
struct igb_ring *rx_ring = adapter->rx_ring[qid];
drivers/net/ethernet/intel/igb/igb_xsk.c
62
igb_configure_tx_ring(adapter, tx_ring);
drivers/net/ethernet/intel/igb/igb_xsk.c
63
igb_configure_rx_ring(adapter, rx_ring);
drivers/net/ethernet/intel/igb/igb_xsk.c
83
struct xsk_buff_pool *igb_xsk_pool(struct igb_adapter *adapter,
drivers/net/ethernet/intel/igb/igb_xsk.c
89
pool = xsk_get_pool_from_qid(adapter->netdev, qid);
drivers/net/ethernet/intel/igb/igb_xsk.c
91
if (!igb_xdp_is_enabled(adapter))
drivers/net/ethernet/intel/igb/igb_xsk.c
97
static int igb_xsk_pool_enable(struct igb_adapter *adapter,
drivers/net/ethernet/intel/igbvf/ethtool.c
109
struct igbvf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igbvf/ethtool.c
111
return adapter->msg_enable;
drivers/net/ethernet/intel/igbvf/ethtool.c
116
struct igbvf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igbvf/ethtool.c
118
adapter->msg_enable = data;
drivers/net/ethernet/intel/igbvf/ethtool.c
130
struct igbvf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igbvf/ethtool.c
131
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igbvf/ethtool.c
137
(adapter->pdev->revision << 16) |
drivers/net/ethernet/intel/igbvf/ethtool.c
138
adapter->pdev->device;
drivers/net/ethernet/intel/igbvf/ethtool.c
172
struct igbvf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igbvf/ethtool.c
175
strscpy(drvinfo->bus_info, pci_name(adapter->pdev),
drivers/net/ethernet/intel/igbvf/ethtool.c
184
struct igbvf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igbvf/ethtool.c
185
struct igbvf_ring *tx_ring = adapter->tx_ring;
drivers/net/ethernet/intel/igbvf/ethtool.c
186
struct igbvf_ring *rx_ring = adapter->rx_ring;
drivers/net/ethernet/intel/igbvf/ethtool.c
199
struct igbvf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igbvf/ethtool.c
215
if ((new_tx_count == adapter->tx_ring->count) &&
drivers/net/ethernet/intel/igbvf/ethtool.c
216
(new_rx_count == adapter->rx_ring->count)) {
drivers/net/ethernet/intel/igbvf/ethtool.c
221
while (test_and_set_bit(__IGBVF_RESETTING, &adapter->state))
drivers/net/ethernet/intel/igbvf/ethtool.c
224
if (!netif_running(adapter->netdev)) {
drivers/net/ethernet/intel/igbvf/ethtool.c
225
adapter->tx_ring->count = new_tx_count;
drivers/net/ethernet/intel/igbvf/ethtool.c
226
adapter->rx_ring->count = new_rx_count;
drivers/net/ethernet/intel/igbvf/ethtool.c
236
igbvf_down(adapter);
drivers/net/ethernet/intel/igbvf/ethtool.c
242
if (new_tx_count != adapter->tx_ring->count) {
drivers/net/ethernet/intel/igbvf/ethtool.c
243
memcpy(temp_ring, adapter->tx_ring, sizeof(struct igbvf_ring));
drivers/net/ethernet/intel/igbvf/ethtool.c
246
err = igbvf_setup_tx_resources(adapter, temp_ring);
drivers/net/ethernet/intel/igbvf/ethtool.c
250
igbvf_free_tx_resources(adapter->tx_ring);
drivers/net/ethernet/intel/igbvf/ethtool.c
252
memcpy(adapter->tx_ring, temp_ring, sizeof(struct igbvf_ring));
drivers/net/ethernet/intel/igbvf/ethtool.c
255
if (new_rx_count != adapter->rx_ring->count) {
drivers/net/ethernet/intel/igbvf/ethtool.c
256
memcpy(temp_ring, adapter->rx_ring, sizeof(struct igbvf_ring));
drivers/net/ethernet/intel/igbvf/ethtool.c
259
err = igbvf_setup_rx_resources(adapter, temp_ring);
drivers/net/ethernet/intel/igbvf/ethtool.c
263
igbvf_free_rx_resources(adapter->rx_ring);
drivers/net/ethernet/intel/igbvf/ethtool.c
265
memcpy(adapter->rx_ring, temp_ring, sizeof(struct igbvf_ring));
drivers/net/ethernet/intel/igbvf/ethtool.c
268
igbvf_up(adapter);
drivers/net/ethernet/intel/igbvf/ethtool.c
271
clear_bit(__IGBVF_RESETTING, &adapter->state);
drivers/net/ethernet/intel/igbvf/ethtool.c
275
static int igbvf_link_test(struct igbvf_adapter *adapter, u64 *data)
drivers/net/ethernet/intel/igbvf/ethtool.c
277
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igbvf/ethtool.c
295
struct igbvf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igbvf/ethtool.c
297
set_bit(__IGBVF_TESTING, &adapter->state);
drivers/net/ethernet/intel/igbvf/ethtool.c
302
if (igbvf_link_test(adapter, &data[0]))
drivers/net/ethernet/intel/igbvf/ethtool.c
305
clear_bit(__IGBVF_TESTING, &adapter->state);
drivers/net/ethernet/intel/igbvf/ethtool.c
327
struct igbvf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igbvf/ethtool.c
329
if (adapter->requested_itr <= 3)
drivers/net/ethernet/intel/igbvf/ethtool.c
330
ec->rx_coalesce_usecs = adapter->requested_itr;
drivers/net/ethernet/intel/igbvf/ethtool.c
332
ec->rx_coalesce_usecs = adapter->current_itr >> 2;
drivers/net/ethernet/intel/igbvf/ethtool.c
342
struct igbvf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igbvf/ethtool.c
343
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igbvf/ethtool.c
347
adapter->current_itr = ec->rx_coalesce_usecs << 2;
drivers/net/ethernet/intel/igbvf/ethtool.c
348
adapter->requested_itr = 1000000000 /
drivers/net/ethernet/intel/igbvf/ethtool.c
349
(adapter->current_itr * 256);
drivers/net/ethernet/intel/igbvf/ethtool.c
352
adapter->current_itr = IGBVF_START_ITR;
drivers/net/ethernet/intel/igbvf/ethtool.c
353
adapter->requested_itr = ec->rx_coalesce_usecs;
drivers/net/ethernet/intel/igbvf/ethtool.c
361
adapter->current_itr = 4;
drivers/net/ethernet/intel/igbvf/ethtool.c
362
adapter->requested_itr = 1000000000 /
drivers/net/ethernet/intel/igbvf/ethtool.c
363
(adapter->current_itr * 256);
drivers/net/ethernet/intel/igbvf/ethtool.c
368
writel(adapter->current_itr,
drivers/net/ethernet/intel/igbvf/ethtool.c
369
hw->hw_addr + adapter->rx_ring->itr_register);
drivers/net/ethernet/intel/igbvf/ethtool.c
376
struct igbvf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igbvf/ethtool.c
379
igbvf_reinit_locked(adapter);
drivers/net/ethernet/intel/igbvf/ethtool.c
387
struct igbvf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igbvf/ethtool.c
390
igbvf_update_stats(adapter);
drivers/net/ethernet/intel/igbvf/ethtool.c
392
char *p = (char *)adapter +
drivers/net/ethernet/intel/igbvf/ethtool.c
394
char *b = (char *)adapter +
drivers/net/ethernet/intel/igbvf/ethtool.c
56
struct igbvf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igbvf/ethtool.c
57
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igbvf/igbvf.h
126
struct igbvf_adapter *adapter; /* backlink */
drivers/net/ethernet/intel/igbvf/netdev.c
100
napi_gro_receive(&adapter->rx_ring->napi, skb);
drivers/net/ethernet/intel/igbvf/netdev.c
1000
if (adapter->msix_entries) {
drivers/net/ethernet/intel/igbvf/netdev.c
1001
pci_disable_msix(adapter->pdev);
drivers/net/ethernet/intel/igbvf/netdev.c
1002
kfree(adapter->msix_entries);
drivers/net/ethernet/intel/igbvf/netdev.c
1003
adapter->msix_entries = NULL;
drivers/net/ethernet/intel/igbvf/netdev.c
1014
static void igbvf_set_interrupt_capability(struct igbvf_adapter *adapter)
drivers/net/ethernet/intel/igbvf/netdev.c
1020
adapter->msix_entries = kzalloc_objs(struct msix_entry, 3);
drivers/net/ethernet/intel/igbvf/netdev.c
1021
if (adapter->msix_entries) {
drivers/net/ethernet/intel/igbvf/netdev.c
1023
adapter->msix_entries[i].entry = i;
drivers/net/ethernet/intel/igbvf/netdev.c
1025
err = pci_enable_msix_range(adapter->pdev,
drivers/net/ethernet/intel/igbvf/netdev.c
1026
adapter->msix_entries, 3, 3);
drivers/net/ethernet/intel/igbvf/netdev.c
103
static inline void igbvf_rx_checksum_adv(struct igbvf_adapter *adapter,
drivers/net/ethernet/intel/igbvf/netdev.c
1031
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/intel/igbvf/netdev.c
1033
igbvf_reset_interrupt_capability(adapter);
drivers/net/ethernet/intel/igbvf/netdev.c
1044
static int igbvf_request_msix(struct igbvf_adapter *adapter)
drivers/net/ethernet/intel/igbvf/netdev.c
1046
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/igbvf/netdev.c
1050
sprintf(adapter->tx_ring->name, "%s-tx-0", netdev->name);
drivers/net/ethernet/intel/igbvf/netdev.c
1051
sprintf(adapter->rx_ring->name, "%s-rx-0", netdev->name);
drivers/net/ethernet/intel/igbvf/netdev.c
1053
memcpy(adapter->tx_ring->name, netdev->name, IFNAMSIZ);
drivers/net/ethernet/intel/igbvf/netdev.c
1054
memcpy(adapter->rx_ring->name, netdev->name, IFNAMSIZ);
drivers/net/ethernet/intel/igbvf/netdev.c
1057
err = request_irq(adapter->msix_entries[vector].vector,
drivers/net/ethernet/intel/igbvf/netdev.c
1058
igbvf_intr_msix_tx, 0, adapter->tx_ring->name,
drivers/net/ethernet/intel/igbvf/netdev.c
1063
adapter->tx_ring->itr_register = E1000_EITR(vector);
drivers/net/ethernet/intel/igbvf/netdev.c
1064
adapter->tx_ring->itr_val = adapter->current_itr;
drivers/net/ethernet/intel/igbvf/netdev.c
1067
err = request_irq(adapter->msix_entries[vector].vector,
drivers/net/ethernet/intel/igbvf/netdev.c
1068
igbvf_intr_msix_rx, 0, adapter->rx_ring->name,
drivers/net/ethernet/intel/igbvf/netdev.c
1073
adapter->rx_ring->itr_register = E1000_EITR(vector);
drivers/net/ethernet/intel/igbvf/netdev.c
1074
adapter->rx_ring->itr_val = adapter->current_itr;
drivers/net/ethernet/intel/igbvf/netdev.c
1077
err = request_irq(adapter->msix_entries[vector].vector,
drivers/net/ethernet/intel/igbvf/netdev.c
1082
igbvf_configure_msix(adapter);
drivers/net/ethernet/intel/igbvf/netdev.c
1085
free_irq(adapter->msix_entries[--vector].vector, netdev);
drivers/net/ethernet/intel/igbvf/netdev.c
1087
free_irq(adapter->msix_entries[--vector].vector, netdev);
drivers/net/ethernet/intel/igbvf/netdev.c
1096
static int igbvf_alloc_queues(struct igbvf_adapter *adapter)
drivers/net/ethernet/intel/igbvf/netdev.c
1098
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/igbvf/netdev.c
110
(adapter->flags & IGBVF_FLAG_RX_CSUM_DISABLED))
drivers/net/ethernet/intel/igbvf/netdev.c
1100
adapter->tx_ring = kzalloc_obj(struct igbvf_ring);
drivers/net/ethernet/intel/igbvf/netdev.c
1101
if (!adapter->tx_ring)
drivers/net/ethernet/intel/igbvf/netdev.c
1104
adapter->rx_ring = kzalloc_obj(struct igbvf_ring);
drivers/net/ethernet/intel/igbvf/netdev.c
1105
if (!adapter->rx_ring) {
drivers/net/ethernet/intel/igbvf/netdev.c
1106
kfree(adapter->tx_ring);
drivers/net/ethernet/intel/igbvf/netdev.c
1110
netif_napi_add(netdev, &adapter->rx_ring->napi, igbvf_poll);
drivers/net/ethernet/intel/igbvf/netdev.c
1122
static int igbvf_request_irq(struct igbvf_adapter *adapter)
drivers/net/ethernet/intel/igbvf/netdev.c
1127
if (adapter->msix_entries)
drivers/net/ethernet/intel/igbvf/netdev.c
1128
err = igbvf_request_msix(adapter);
drivers/net/ethernet/intel/igbvf/netdev.c
1133
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/intel/igbvf/netdev.c
1139
static void igbvf_free_irq(struct igbvf_adapter *adapter)
drivers/net/ethernet/intel/igbvf/netdev.c
1141
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/igbvf/netdev.c
1144
if (adapter->msix_entries) {
drivers/net/ethernet/intel/igbvf/netdev.c
1146
free_irq(adapter->msix_entries[vector].vector, netdev);
drivers/net/ethernet/intel/igbvf/netdev.c
1154
static void igbvf_irq_disable(struct igbvf_adapter *adapter)
drivers/net/ethernet/intel/igbvf/netdev.c
1156
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igbvf/netdev.c
1160
if (adapter->msix_entries)
drivers/net/ethernet/intel/igbvf/netdev.c
1168
static void igbvf_irq_enable(struct igbvf_adapter *adapter)
drivers/net/ethernet/intel/igbvf/netdev.c
117
adapter->hw_csum_err++;
drivers/net/ethernet/intel/igbvf/netdev.c
1170
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igbvf/netdev.c
1172
ew32(EIAC, adapter->eims_enable_mask);
drivers/net/ethernet/intel/igbvf/netdev.c
1173
ew32(EIAM, adapter->eims_enable_mask);
drivers/net/ethernet/intel/igbvf/netdev.c
1174
ew32(EIMS, adapter->eims_enable_mask);
drivers/net/ethernet/intel/igbvf/netdev.c
1185
struct igbvf_adapter *adapter = rx_ring->adapter;
drivers/net/ethernet/intel/igbvf/netdev.c
1186
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igbvf/netdev.c
1189
igbvf_clean_rx_irq(adapter, &work_done, budget);
drivers/net/ethernet/intel/igbvf/netdev.c
1198
if (adapter->requested_itr & 3)
drivers/net/ethernet/intel/igbvf/netdev.c
1199
igbvf_set_itr(adapter);
drivers/net/ethernet/intel/igbvf/netdev.c
1201
if (!test_bit(__IGBVF_DOWN, &adapter->state))
drivers/net/ethernet/intel/igbvf/netdev.c
1202
ew32(EIMS, adapter->rx_ring->eims_value);
drivers/net/ethernet/intel/igbvf/netdev.c
1214
static void igbvf_set_rlpml(struct igbvf_adapter *adapter)
drivers/net/ethernet/intel/igbvf/netdev.c
1217
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igbvf/netdev.c
1219
max_frame_size = adapter->max_frame_size + VLAN_TAG_SIZE;
drivers/net/ethernet/intel/igbvf/netdev.c
1231
struct igbvf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igbvf/netdev.c
1232
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igbvf/netdev.c
1237
dev_warn(&adapter->pdev->dev, "Vlan id %d is not added\n", vid);
drivers/net/ethernet/intel/igbvf/netdev.c
1244
set_bit(vid, adapter->active_vlans);
drivers/net/ethernet/intel/igbvf/netdev.c
125
adapter->hw_csum_good++;
drivers/net/ethernet/intel/igbvf/netdev.c
1251
struct igbvf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igbvf/netdev.c
1252
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igbvf/netdev.c
1257
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/intel/igbvf/netdev.c
1265
clear_bit(vid, adapter->active_vlans);
drivers/net/ethernet/intel/igbvf/netdev.c
1269
static void igbvf_restore_vlan(struct igbvf_adapter *adapter)
drivers/net/ethernet/intel/igbvf/netdev.c
1273
for_each_set_bit(vid, adapter->active_vlans, VLAN_N_VID)
drivers/net/ethernet/intel/igbvf/netdev.c
1274
igbvf_vlan_rx_add_vid(adapter->netdev, htons(ETH_P_8021Q), vid);
drivers/net/ethernet/intel/igbvf/netdev.c
1283
static void igbvf_configure_tx(struct igbvf_adapter *adapter)
drivers/net/ethernet/intel/igbvf/netdev.c
1285
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igbvf/netdev.c
1286
struct igbvf_ring *tx_ring = adapter->tx_ring;
drivers/net/ethernet/intel/igbvf/netdev.c
1319
adapter->txd_cmd = E1000_ADVTXD_DCMD_EOP | E1000_ADVTXD_DCMD_IFCS;
drivers/net/ethernet/intel/igbvf/netdev.c
1322
adapter->txd_cmd |= E1000_ADVTXD_DCMD_RS;
drivers/net/ethernet/intel/igbvf/netdev.c
1329
static void igbvf_setup_srrctl(struct igbvf_adapter *adapter)
drivers/net/ethernet/intel/igbvf/netdev.c
1331
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igbvf/netdev.c
1342
srrctl |= ALIGN(adapter->rx_buffer_len, 1024) >>
drivers/net/ethernet/intel/igbvf/netdev.c
1345
if (adapter->rx_buffer_len < 2048) {
drivers/net/ethernet/intel/igbvf/netdev.c
1346
adapter->rx_ps_hdr_size = 0;
drivers/net/ethernet/intel/igbvf/netdev.c
1349
adapter->rx_ps_hdr_size = 128;
drivers/net/ethernet/intel/igbvf/netdev.c
1350
srrctl |= adapter->rx_ps_hdr_size <<
drivers/net/ethernet/intel/igbvf/netdev.c
136
struct igbvf_adapter *adapter = rx_ring->adapter;
drivers/net/ethernet/intel/igbvf/netdev.c
1364
static void igbvf_configure_rx(struct igbvf_adapter *adapter)
drivers/net/ethernet/intel/igbvf/netdev.c
1366
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igbvf/netdev.c
1367
struct igbvf_ring *rx_ring = adapter->rx_ring;
drivers/net/ethernet/intel/igbvf/netdev.c
137
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/igbvf/netdev.c
138
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/intel/igbvf/netdev.c
1395
igbvf_set_rlpml(adapter);
drivers/net/ethernet/intel/igbvf/netdev.c
1412
struct igbvf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igbvf/netdev.c
1413
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igbvf/netdev.c
1447
struct igbvf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igbvf/netdev.c
1448
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igbvf/netdev.c
148
if (adapter->rx_ps_hdr_size)
drivers/net/ethernet/intel/igbvf/netdev.c
149
bufsz = adapter->rx_ps_hdr_size;
drivers/net/ethernet/intel/igbvf/netdev.c
1490
static void igbvf_configure(struct igbvf_adapter *adapter)
drivers/net/ethernet/intel/igbvf/netdev.c
1492
igbvf_set_rx_mode(adapter->netdev);
drivers/net/ethernet/intel/igbvf/netdev.c
1494
igbvf_restore_vlan(adapter);
drivers/net/ethernet/intel/igbvf/netdev.c
1496
igbvf_configure_tx(adapter);
drivers/net/ethernet/intel/igbvf/netdev.c
1497
igbvf_setup_srrctl(adapter);
drivers/net/ethernet/intel/igbvf/netdev.c
1498
igbvf_configure_rx(adapter);
drivers/net/ethernet/intel/igbvf/netdev.c
1499
igbvf_alloc_rx_buffers(adapter->rx_ring,
drivers/net/ethernet/intel/igbvf/netdev.c
1500
igbvf_desc_unused(adapter->rx_ring));
drivers/net/ethernet/intel/igbvf/netdev.c
151
bufsz = adapter->rx_buffer_len;
drivers/net/ethernet/intel/igbvf/netdev.c
1511
static void igbvf_reset(struct igbvf_adapter *adapter)
drivers/net/ethernet/intel/igbvf/netdev.c
1513
struct e1000_mac_info *mac = &adapter->hw.mac;
drivers/net/ethernet/intel/igbvf/netdev.c
1514
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/igbvf/netdev.c
1515
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igbvf/netdev.c
1521
dev_info(&adapter->pdev->dev, "PF still resetting\n");
drivers/net/ethernet/intel/igbvf/netdev.c
1527
if (is_valid_ether_addr(adapter->hw.mac.addr)) {
drivers/net/ethernet/intel/igbvf/netdev.c
1528
eth_hw_addr_set(netdev, adapter->hw.mac.addr);
drivers/net/ethernet/intel/igbvf/netdev.c
1529
memcpy(netdev->perm_addr, adapter->hw.mac.addr,
drivers/net/ethernet/intel/igbvf/netdev.c
1533
adapter->last_reset = jiffies;
drivers/net/ethernet/intel/igbvf/netdev.c
1536
int igbvf_up(struct igbvf_adapter *adapter)
drivers/net/ethernet/intel/igbvf/netdev.c
1538
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igbvf/netdev.c
1541
igbvf_configure(adapter);
drivers/net/ethernet/intel/igbvf/netdev.c
1543
clear_bit(__IGBVF_DOWN, &adapter->state);
drivers/net/ethernet/intel/igbvf/netdev.c
1545
napi_enable(&adapter->rx_ring->napi);
drivers/net/ethernet/intel/igbvf/netdev.c
1546
if (adapter->msix_entries)
drivers/net/ethernet/intel/igbvf/netdev.c
1547
igbvf_configure_msix(adapter);
drivers/net/ethernet/intel/igbvf/netdev.c
1551
igbvf_irq_enable(adapter);
drivers/net/ethernet/intel/igbvf/netdev.c
1555
mod_timer(&adapter->watchdog_timer, jiffies + 1);
drivers/net/ethernet/intel/igbvf/netdev.c
156
if (adapter->rx_ps_hdr_size && !buffer_info->page_dma) {
drivers/net/ethernet/intel/igbvf/netdev.c
1560
void igbvf_down(struct igbvf_adapter *adapter)
drivers/net/ethernet/intel/igbvf/netdev.c
1562
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/igbvf/netdev.c
1563
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igbvf/netdev.c
1569
set_bit(__IGBVF_DOWN, &adapter->state);
drivers/net/ethernet/intel/igbvf/netdev.c
1586
napi_disable(&adapter->rx_ring->napi);
drivers/net/ethernet/intel/igbvf/netdev.c
1588
igbvf_irq_disable(adapter);
drivers/net/ethernet/intel/igbvf/netdev.c
1590
timer_delete_sync(&adapter->watchdog_timer);
drivers/net/ethernet/intel/igbvf/netdev.c
1593
igbvf_update_stats(adapter);
drivers/net/ethernet/intel/igbvf/netdev.c
1595
adapter->link_speed = 0;
drivers/net/ethernet/intel/igbvf/netdev.c
1596
adapter->link_duplex = 0;
drivers/net/ethernet/intel/igbvf/netdev.c
1598
igbvf_reset(adapter);
drivers/net/ethernet/intel/igbvf/netdev.c
1599
igbvf_clean_tx_ring(adapter->tx_ring);
drivers/net/ethernet/intel/igbvf/netdev.c
160
adapter->alloc_rx_buff_failed++;
drivers/net/ethernet/intel/igbvf/netdev.c
1600
igbvf_clean_rx_ring(adapter->rx_ring);
drivers/net/ethernet/intel/igbvf/netdev.c
1603
void igbvf_reinit_locked(struct igbvf_adapter *adapter)
drivers/net/ethernet/intel/igbvf/netdev.c
1606
while (test_and_set_bit(__IGBVF_RESETTING, &adapter->state))
drivers/net/ethernet/intel/igbvf/netdev.c
1608
igbvf_down(adapter);
drivers/net/ethernet/intel/igbvf/netdev.c
1609
igbvf_up(adapter);
drivers/net/ethernet/intel/igbvf/netdev.c
1610
clear_bit(__IGBVF_RESETTING, &adapter->state);
drivers/net/ethernet/intel/igbvf/netdev.c
1621
static int igbvf_sw_init(struct igbvf_adapter *adapter)
drivers/net/ethernet/intel/igbvf/netdev.c
1623
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/igbvf/netdev.c
1626
adapter->rx_buffer_len = ETH_FRAME_LEN + VLAN_HLEN + ETH_FCS_LEN;
drivers/net/ethernet/intel/igbvf/netdev.c
1627
adapter->rx_ps_hdr_size = 0;
drivers/net/ethernet/intel/igbvf/netdev.c
1628
adapter->max_frame_size = netdev->mtu + ETH_HLEN + ETH_FCS_LEN;
drivers/net/ethernet/intel/igbvf/netdev.c
1629
adapter->min_frame_size = ETH_ZLEN + ETH_FCS_LEN;
drivers/net/ethernet/intel/igbvf/netdev.c
1631
adapter->requested_itr = 3;
drivers/net/ethernet/intel/igbvf/netdev.c
1632
adapter->current_itr = IGBVF_START_ITR;
drivers/net/ethernet/intel/igbvf/netdev.c
1635
adapter->ei->init_ops(&adapter->hw);
drivers/net/ethernet/intel/igbvf/netdev.c
1637
rc = adapter->hw.mac.ops.init_params(&adapter->hw);
drivers/net/ethernet/intel/igbvf/netdev.c
1641
rc = adapter->hw.mbx.ops.init_params(&adapter->hw);
drivers/net/ethernet/intel/igbvf/netdev.c
1645
igbvf_set_interrupt_capability(adapter);
drivers/net/ethernet/intel/igbvf/netdev.c
1647
if (igbvf_alloc_queues(adapter))
drivers/net/ethernet/intel/igbvf/netdev.c
1651
igbvf_irq_disable(adapter);
drivers/net/ethernet/intel/igbvf/netdev.c
1653
spin_lock_init(&adapter->hw.mbx_lock);
drivers/net/ethernet/intel/igbvf/netdev.c
1655
set_bit(__IGBVF_DOWN, &adapter->state);
drivers/net/ethernet/intel/igbvf/netdev.c
1659
static void igbvf_initialize_last_counter_stats(struct igbvf_adapter *adapter)
drivers/net/ethernet/intel/igbvf/netdev.c
1661
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igbvf/netdev.c
1663
adapter->stats.last_gprc = er32(VFGPRC);
drivers/net/ethernet/intel/igbvf/netdev.c
1664
adapter->stats.last_gorc = er32(VFGORC);
drivers/net/ethernet/intel/igbvf/netdev.c
1665
adapter->stats.last_gptc = er32(VFGPTC);
drivers/net/ethernet/intel/igbvf/netdev.c
1666
adapter->stats.last_gotc = er32(VFGOTC);
drivers/net/ethernet/intel/igbvf/netdev.c
1667
adapter->stats.last_mprc = er32(VFMPRC);
drivers/net/ethernet/intel/igbvf/netdev.c
1668
adapter->stats.last_gotlbc = er32(VFGOTLBC);
drivers/net/ethernet/intel/igbvf/netdev.c
1669
adapter->stats.last_gptlbc = er32(VFGPTLBC);
drivers/net/ethernet/intel/igbvf/netdev.c
1670
adapter->stats.last_gorlbc = er32(VFGORLBC);
drivers/net/ethernet/intel/igbvf/netdev.c
1671
adapter->stats.last_gprlbc = er32(VFGPRLBC);
drivers/net/ethernet/intel/igbvf/netdev.c
1673
adapter->stats.base_gprc = er32(VFGPRC);
drivers/net/ethernet/intel/igbvf/netdev.c
1674
adapter->stats.base_gorc = er32(VFGORC);
drivers/net/ethernet/intel/igbvf/netdev.c
1675
adapter->stats.base_gptc = er32(VFGPTC);
drivers/net/ethernet/intel/igbvf/netdev.c
1676
adapter->stats.base_gotc = er32(VFGOTC);
drivers/net/ethernet/intel/igbvf/netdev.c
1677
adapter->stats.base_mprc = er32(VFMPRC);
drivers/net/ethernet/intel/igbvf/netdev.c
1678
adapter->stats.base_gotlbc = er32(VFGOTLBC);
drivers/net/ethernet/intel/igbvf/netdev.c
1679
adapter->stats.base_gptlbc = er32(VFGPTLBC);
drivers/net/ethernet/intel/igbvf/netdev.c
1680
adapter->stats.base_gorlbc = er32(VFGORLBC);
drivers/net/ethernet/intel/igbvf/netdev.c
1681
adapter->stats.base_gprlbc = er32(VFGPRLBC);
drivers/net/ethernet/intel/igbvf/netdev.c
1698
struct igbvf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igbvf/netdev.c
1699
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igbvf/netdev.c
1703
if (test_bit(__IGBVF_TESTING, &adapter->state))
drivers/net/ethernet/intel/igbvf/netdev.c
1707
err = igbvf_setup_tx_resources(adapter, adapter->tx_ring);
drivers/net/ethernet/intel/igbvf/netdev.c
1712
err = igbvf_setup_rx_resources(adapter, adapter->rx_ring);
drivers/net/ethernet/intel/igbvf/netdev.c
1721
igbvf_configure(adapter);
drivers/net/ethernet/intel/igbvf/netdev.c
1723
err = igbvf_request_irq(adapter);
drivers/net/ethernet/intel/igbvf/netdev.c
1728
clear_bit(__IGBVF_DOWN, &adapter->state);
drivers/net/ethernet/intel/igbvf/netdev.c
1730
napi_enable(&adapter->rx_ring->napi);
drivers/net/ethernet/intel/igbvf/netdev.c
1735
igbvf_irq_enable(adapter);
drivers/net/ethernet/intel/igbvf/netdev.c
1739
mod_timer(&adapter->watchdog_timer, jiffies + 1);
drivers/net/ethernet/intel/igbvf/netdev.c
1744
igbvf_free_rx_resources(adapter->rx_ring);
drivers/net/ethernet/intel/igbvf/netdev.c
1746
igbvf_free_tx_resources(adapter->tx_ring);
drivers/net/ethernet/intel/igbvf/netdev.c
1748
igbvf_reset(adapter);
drivers/net/ethernet/intel/igbvf/netdev.c
1766
struct igbvf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igbvf/netdev.c
1768
WARN_ON(test_bit(__IGBVF_RESETTING, &adapter->state));
drivers/net/ethernet/intel/igbvf/netdev.c
1769
igbvf_down(adapter);
drivers/net/ethernet/intel/igbvf/netdev.c
1771
igbvf_free_irq(adapter);
drivers/net/ethernet/intel/igbvf/netdev.c
1773
igbvf_free_tx_resources(adapter->tx_ring);
drivers/net/ethernet/intel/igbvf/netdev.c
1774
igbvf_free_rx_resources(adapter->rx_ring);
drivers/net/ethernet/intel/igbvf/netdev.c
1788
struct igbvf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igbvf/netdev.c
1789
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igbvf/netdev.c
1814
if (current_counter < adapter->stats.last_##name) \
drivers/net/ethernet/intel/igbvf/netdev.c
1815
adapter->stats.name += 0x100000000LL; \
drivers/net/ethernet/intel/igbvf/netdev.c
1816
adapter->stats.last_##name = current_counter; \
drivers/net/ethernet/intel/igbvf/netdev.c
1817
adapter->stats.name &= 0xFFFFFFFF00000000LL; \
drivers/net/ethernet/intel/igbvf/netdev.c
1818
adapter->stats.name |= current_counter; \
drivers/net/ethernet/intel/igbvf/netdev.c
1825
void igbvf_update_stats(struct igbvf_adapter *adapter)
drivers/net/ethernet/intel/igbvf/netdev.c
1827
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igbvf/netdev.c
1828
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/intel/igbvf/netdev.c
1833
if (adapter->link_speed == 0)
drivers/net/ethernet/intel/igbvf/netdev.c
1836
if (test_bit(__IGBVF_RESETTING, &adapter->state))
drivers/net/ethernet/intel/igbvf/netdev.c
184
adapter->alloc_rx_buff_failed++;
drivers/net/ethernet/intel/igbvf/netdev.c
1853
adapter->netdev->stats.multicast = adapter->stats.mprc;
drivers/net/ethernet/intel/igbvf/netdev.c
1856
static void igbvf_print_link_info(struct igbvf_adapter *adapter)
drivers/net/ethernet/intel/igbvf/netdev.c
1858
dev_info(&adapter->pdev->dev, "Link is Up %d Mbps %s Duplex\n",
drivers/net/ethernet/intel/igbvf/netdev.c
1859
adapter->link_speed,
drivers/net/ethernet/intel/igbvf/netdev.c
1860
adapter->link_duplex == FULL_DUPLEX ? "Full" : "Half");
drivers/net/ethernet/intel/igbvf/netdev.c
1863
static bool igbvf_has_link(struct igbvf_adapter *adapter)
drivers/net/ethernet/intel/igbvf/netdev.c
1865
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igbvf/netdev.c
1870
if (test_bit(__IGBVF_DOWN, &adapter->state))
drivers/net/ethernet/intel/igbvf/netdev.c
1882
if (ret_val && time_after(jiffies, adapter->last_reset + (10 * HZ)))
drivers/net/ethernet/intel/igbvf/netdev.c
1883
schedule_work(&adapter->reset_task);
drivers/net/ethernet/intel/igbvf/netdev.c
1894
struct igbvf_adapter *adapter = timer_container_of(adapter, t,
drivers/net/ethernet/intel/igbvf/netdev.c
1898
schedule_work(&adapter->watchdog_task);
drivers/net/ethernet/intel/igbvf/netdev.c
1903
struct igbvf_adapter *adapter = container_of(work,
drivers/net/ethernet/intel/igbvf/netdev.c
1906
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/igbvf/netdev.c
1907
struct e1000_mac_info *mac = &adapter->hw.mac;
drivers/net/ethernet/intel/igbvf/netdev.c
1908
struct igbvf_ring *tx_ring = adapter->tx_ring;
drivers/net/ethernet/intel/igbvf/netdev.c
1909
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igbvf/netdev.c
1913
link = igbvf_has_link(adapter);
drivers/net/ethernet/intel/igbvf/netdev.c
1917
mac->ops.get_link_up_info(&adapter->hw,
drivers/net/ethernet/intel/igbvf/netdev.c
1918
&adapter->link_speed,
drivers/net/ethernet/intel/igbvf/netdev.c
1919
&adapter->link_duplex);
drivers/net/ethernet/intel/igbvf/netdev.c
1920
igbvf_print_link_info(adapter);
drivers/net/ethernet/intel/igbvf/netdev.c
1927
adapter->link_speed = 0;
drivers/net/ethernet/intel/igbvf/netdev.c
1928
adapter->link_duplex = 0;
drivers/net/ethernet/intel/igbvf/netdev.c
1929
dev_info(&adapter->pdev->dev, "Link is Down\n");
drivers/net/ethernet/intel/igbvf/netdev.c
1936
igbvf_update_stats(adapter);
drivers/net/ethernet/intel/igbvf/netdev.c
1946
adapter->tx_timeout_count++;
drivers/net/ethernet/intel/igbvf/netdev.c
1947
schedule_work(&adapter->reset_task);
drivers/net/ethernet/intel/igbvf/netdev.c
1952
ew32(EICS, adapter->rx_ring->eims_value);
drivers/net/ethernet/intel/igbvf/netdev.c
1955
if (!test_bit(__IGBVF_DOWN, &adapter->state))
drivers/net/ethernet/intel/igbvf/netdev.c
1956
mod_timer(&adapter->watchdog_timer,
drivers/net/ethernet/intel/igbvf/netdev.c
202
if (adapter->rx_ps_hdr_size) {
drivers/net/ethernet/intel/igbvf/netdev.c
2109
struct igbvf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igbvf/netdev.c
2112
if (igbvf_desc_unused(adapter->tx_ring) >= size)
drivers/net/ethernet/intel/igbvf/netdev.c
2124
if (igbvf_desc_unused(adapter->tx_ring) < size)
drivers/net/ethernet/intel/igbvf/netdev.c
2129
++adapter->restart_queue;
drivers/net/ethernet/intel/igbvf/netdev.c
2136
static inline int igbvf_tx_map_adv(struct igbvf_adapter *adapter,
drivers/net/ethernet/intel/igbvf/netdev.c
2141
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/intel/igbvf/netdev.c
2202
igbvf_put_txbuf(adapter, buffer_info);
drivers/net/ethernet/intel/igbvf/netdev.c
2208
static inline void igbvf_tx_queue_adv(struct igbvf_adapter *adapter,
drivers/net/ethernet/intel/igbvf/netdev.c
2254
tx_desc->read.cmd_type_len |= cpu_to_le32(adapter->txd_cmd);
drivers/net/ethernet/intel/igbvf/netdev.c
2264
writel(i, adapter->hw.hw_addr + tx_ring->tail);
drivers/net/ethernet/intel/igbvf/netdev.c
2271
struct igbvf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igbvf/netdev.c
2278
if (test_bit(__IGBVF_DOWN, &adapter->state)) {
drivers/net/ethernet/intel/igbvf/netdev.c
231
writel(i, adapter->hw.hw_addr + rx_ring->tail);
drivers/net/ethernet/intel/igbvf/netdev.c
2325
count = igbvf_tx_map_adv(adapter, tx_ring, skb);
drivers/net/ethernet/intel/igbvf/netdev.c
2328
igbvf_tx_queue_adv(adapter, tx_ring, tx_flags, count,
drivers/net/ethernet/intel/igbvf/netdev.c
2344
struct igbvf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igbvf/netdev.c
2347
if (test_bit(__IGBVF_DOWN, &adapter->state)) {
drivers/net/ethernet/intel/igbvf/netdev.c
2352
tx_ring = &adapter->tx_ring[0];
drivers/net/ethernet/intel/igbvf/netdev.c
2364
struct igbvf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igbvf/netdev.c
2367
adapter->tx_timeout_count++;
drivers/net/ethernet/intel/igbvf/netdev.c
2368
schedule_work(&adapter->reset_task);
drivers/net/ethernet/intel/igbvf/netdev.c
2373
struct igbvf_adapter *adapter;
drivers/net/ethernet/intel/igbvf/netdev.c
2375
adapter = container_of(work, struct igbvf_adapter, reset_task);
drivers/net/ethernet/intel/igbvf/netdev.c
2377
igbvf_reinit_locked(adapter);
drivers/net/ethernet/intel/igbvf/netdev.c
2389
struct igbvf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igbvf/netdev.c
2392
while (test_and_set_bit(__IGBVF_RESETTING, &adapter->state))
drivers/net/ethernet/intel/igbvf/netdev.c
2395
adapter->max_frame_size = max_frame;
drivers/net/ethernet/intel/igbvf/netdev.c
2397
igbvf_down(adapter);
drivers/net/ethernet/intel/igbvf/netdev.c
2408
adapter->rx_buffer_len = 1024;
drivers/net/ethernet/intel/igbvf/netdev.c
2410
adapter->rx_buffer_len = 2048;
drivers/net/ethernet/intel/igbvf/netdev.c
2413
adapter->rx_buffer_len = 16384;
drivers/net/ethernet/intel/igbvf/netdev.c
2415
adapter->rx_buffer_len = PAGE_SIZE / 2;
drivers/net/ethernet/intel/igbvf/netdev.c
2421
adapter->rx_buffer_len = ETH_FRAME_LEN + VLAN_HLEN +
drivers/net/ethernet/intel/igbvf/netdev.c
2429
igbvf_up(adapter);
drivers/net/ethernet/intel/igbvf/netdev.c
2431
igbvf_reset(adapter);
drivers/net/ethernet/intel/igbvf/netdev.c
2433
clear_bit(__IGBVF_RESETTING, &adapter->state);
drivers/net/ethernet/intel/igbvf/netdev.c
244
static bool igbvf_clean_rx_irq(struct igbvf_adapter *adapter,
drivers/net/ethernet/intel/igbvf/netdev.c
2449
struct igbvf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igbvf/netdev.c
2454
WARN_ON(test_bit(__IGBVF_RESETTING, &adapter->state));
drivers/net/ethernet/intel/igbvf/netdev.c
2455
igbvf_down(adapter);
drivers/net/ethernet/intel/igbvf/netdev.c
2456
igbvf_free_irq(adapter);
drivers/net/ethernet/intel/igbvf/netdev.c
2466
struct igbvf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igbvf/netdev.c
247
struct igbvf_ring *rx_ring = adapter->rx_ring;
drivers/net/ethernet/intel/igbvf/netdev.c
2472
err = igbvf_request_irq(adapter);
drivers/net/ethernet/intel/igbvf/netdev.c
2477
igbvf_reset(adapter);
drivers/net/ethernet/intel/igbvf/netdev.c
248
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/igbvf/netdev.c
2480
igbvf_up(adapter);
drivers/net/ethernet/intel/igbvf/netdev.c
249
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/intel/igbvf/netdev.c
2499
struct igbvf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igbvf/netdev.c
2501
disable_irq(adapter->pdev->irq);
drivers/net/ethernet/intel/igbvf/netdev.c
2503
igbvf_clean_tx_irq(adapter->tx_ring);
drivers/net/ethernet/intel/igbvf/netdev.c
2505
enable_irq(adapter->pdev->irq);
drivers/net/ethernet/intel/igbvf/netdev.c
2521
struct igbvf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igbvf/netdev.c
2529
igbvf_down(adapter);
drivers/net/ethernet/intel/igbvf/netdev.c
2546
struct igbvf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igbvf/netdev.c
2555
igbvf_reset(adapter);
drivers/net/ethernet/intel/igbvf/netdev.c
2571
struct igbvf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igbvf/netdev.c
2574
if (igbvf_up(adapter)) {
drivers/net/ethernet/intel/igbvf/netdev.c
2591
struct igbvf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igbvf/netdev.c
2593
while (test_and_set_bit(__IGBVF_RESETTING, &adapter->state))
drivers/net/ethernet/intel/igbvf/netdev.c
2595
igbvf_down(adapter);
drivers/net/ethernet/intel/igbvf/netdev.c
2605
struct igbvf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igbvf/netdev.c
2607
igbvf_up(adapter);
drivers/net/ethernet/intel/igbvf/netdev.c
2608
clear_bit(__IGBVF_RESETTING, &adapter->state);
drivers/net/ethernet/intel/igbvf/netdev.c
2611
static void igbvf_print_device_info(struct igbvf_adapter *adapter)
drivers/net/ethernet/intel/igbvf/netdev.c
2613
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igbvf/netdev.c
2614
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/igbvf/netdev.c
2615
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/intel/igbvf/netdev.c
2627
struct igbvf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igbvf/netdev.c
2630
adapter->flags &= ~IGBVF_FLAG_RX_CSUM_DISABLED;
drivers/net/ethernet/intel/igbvf/netdev.c
2632
adapter->flags |= IGBVF_FLAG_RX_CSUM_DISABLED;
drivers/net/ethernet/intel/igbvf/netdev.c
2703
struct igbvf_adapter *adapter;
drivers/net/ethernet/intel/igbvf/netdev.c
2733
adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igbvf/netdev.c
2734
hw = &adapter->hw;
drivers/net/ethernet/intel/igbvf/netdev.c
2735
adapter->netdev = netdev;
drivers/net/ethernet/intel/igbvf/netdev.c
2736
adapter->pdev = pdev;
drivers/net/ethernet/intel/igbvf/netdev.c
2737
adapter->ei = ei;
drivers/net/ethernet/intel/igbvf/netdev.c
2738
adapter->pba = ei->pba;
drivers/net/ethernet/intel/igbvf/netdev.c
2739
adapter->flags = ei->flags;
drivers/net/ethernet/intel/igbvf/netdev.c
2740
adapter->hw.back = adapter;
drivers/net/ethernet/intel/igbvf/netdev.c
2741
adapter->hw.mac.type = ei->mac;
drivers/net/ethernet/intel/igbvf/netdev.c
2742
adapter->msg_enable = netif_msg_init(debug, DEFAULT_MSG_ENABLE);
drivers/net/ethernet/intel/igbvf/netdev.c
2753
adapter->hw.hw_addr = ioremap(pci_resource_start(pdev, 0),
drivers/net/ethernet/intel/igbvf/netdev.c
2756
if (!adapter->hw.hw_addr)
drivers/net/ethernet/intel/igbvf/netdev.c
2760
err = ei->get_variants(adapter);
drivers/net/ethernet/intel/igbvf/netdev.c
2766
err = igbvf_sw_init(adapter);
drivers/net/ethernet/intel/igbvf/netdev.c
278
if (hlen > adapter->rx_ps_hdr_size)
drivers/net/ethernet/intel/igbvf/netdev.c
279
hlen = adapter->rx_ps_hdr_size;
drivers/net/ethernet/intel/igbvf/netdev.c
2821
else if (is_zero_ether_addr(adapter->hw.mac.addr))
drivers/net/ethernet/intel/igbvf/netdev.c
2824
eth_hw_addr_set(netdev, adapter->hw.mac.addr);
drivers/net/ethernet/intel/igbvf/netdev.c
2832
memcpy(adapter->hw.mac.addr, netdev->dev_addr,
drivers/net/ethernet/intel/igbvf/netdev.c
2836
timer_setup(&adapter->watchdog_timer, igbvf_watchdog, 0);
drivers/net/ethernet/intel/igbvf/netdev.c
2838
INIT_WORK(&adapter->reset_task, igbvf_reset_task);
drivers/net/ethernet/intel/igbvf/netdev.c
2839
INIT_WORK(&adapter->watchdog_task, igbvf_watchdog_task);
drivers/net/ethernet/intel/igbvf/netdev.c
2842
adapter->rx_ring->count = 1024;
drivers/net/ethernet/intel/igbvf/netdev.c
2843
adapter->tx_ring->count = 1024;
drivers/net/ethernet/intel/igbvf/netdev.c
2846
igbvf_reset(adapter);
drivers/net/ethernet/intel/igbvf/netdev.c
2849
if (adapter->hw.mac.type == e1000_vfadapt_i350)
drivers/net/ethernet/intel/igbvf/netdev.c
2850
adapter->flags |= IGBVF_FLAG_RX_LB_VLAN_BSWAP;
drivers/net/ethernet/intel/igbvf/netdev.c
2861
igbvf_print_device_info(adapter);
drivers/net/ethernet/intel/igbvf/netdev.c
2863
igbvf_initialize_last_counter_stats(adapter);
drivers/net/ethernet/intel/igbvf/netdev.c
2868
netif_napi_del(&adapter->rx_ring->napi);
drivers/net/ethernet/intel/igbvf/netdev.c
2869
kfree(adapter->tx_ring);
drivers/net/ethernet/intel/igbvf/netdev.c
2870
kfree(adapter->rx_ring);
drivers/net/ethernet/intel/igbvf/netdev.c
2872
igbvf_reset_interrupt_capability(adapter);
drivers/net/ethernet/intel/igbvf/netdev.c
2874
iounmap(adapter->hw.hw_addr);
drivers/net/ethernet/intel/igbvf/netdev.c
288
if (!adapter->rx_ps_hdr_size) {
drivers/net/ethernet/intel/igbvf/netdev.c
2897
struct igbvf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igbvf/netdev.c
2898
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igbvf/netdev.c
290
adapter->rx_buffer_len,
drivers/net/ethernet/intel/igbvf/netdev.c
2903
set_bit(__IGBVF_DOWN, &adapter->state);
drivers/net/ethernet/intel/igbvf/netdev.c
2904
timer_delete_sync(&adapter->watchdog_timer);
drivers/net/ethernet/intel/igbvf/netdev.c
2906
cancel_work_sync(&adapter->reset_task);
drivers/net/ethernet/intel/igbvf/netdev.c
2907
cancel_work_sync(&adapter->watchdog_task);
drivers/net/ethernet/intel/igbvf/netdev.c
2911
igbvf_reset_interrupt_capability(adapter);
drivers/net/ethernet/intel/igbvf/netdev.c
2916
netif_napi_del(&adapter->rx_ring->napi);
drivers/net/ethernet/intel/igbvf/netdev.c
2917
kfree(adapter->tx_ring);
drivers/net/ethernet/intel/igbvf/netdev.c
2918
kfree(adapter->rx_ring);
drivers/net/ethernet/intel/igbvf/netdev.c
299
adapter->rx_ps_hdr_size,
drivers/net/ethernet/intel/igbvf/netdev.c
316
if ((adapter->rx_buffer_len > (PAGE_SIZE / 2)) ||
drivers/net/ethernet/intel/igbvf/netdev.c
350
igbvf_rx_checksum_adv(adapter, staterr, skb);
drivers/net/ethernet/intel/igbvf/netdev.c
354
igbvf_receive_skb(adapter, netdev, skb, staterr,
drivers/net/ethernet/intel/igbvf/netdev.c
379
adapter->total_rx_packets += total_packets;
drivers/net/ethernet/intel/igbvf/netdev.c
380
adapter->total_rx_bytes += total_bytes;
drivers/net/ethernet/intel/igbvf/netdev.c
386
static void igbvf_put_txbuf(struct igbvf_adapter *adapter,
drivers/net/ethernet/intel/igbvf/netdev.c
391
dma_unmap_page(&adapter->pdev->dev,
drivers/net/ethernet/intel/igbvf/netdev.c
396
dma_unmap_single(&adapter->pdev->dev,
drivers/net/ethernet/intel/igbvf/netdev.c
416
int igbvf_setup_tx_resources(struct igbvf_adapter *adapter,
drivers/net/ethernet/intel/igbvf/netdev.c
419
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/intel/igbvf/netdev.c
436
tx_ring->adapter = adapter;
drivers/net/ethernet/intel/igbvf/netdev.c
443
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/intel/igbvf/netdev.c
455
int igbvf_setup_rx_resources(struct igbvf_adapter *adapter,
drivers/net/ethernet/intel/igbvf/netdev.c
458
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/intel/igbvf/netdev.c
480
rx_ring->adapter = adapter;
drivers/net/ethernet/intel/igbvf/netdev.c
487
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/intel/igbvf/netdev.c
498
struct igbvf_adapter *adapter = tx_ring->adapter;
drivers/net/ethernet/intel/igbvf/netdev.c
509
igbvf_put_txbuf(adapter, buffer_info);
drivers/net/ethernet/intel/igbvf/netdev.c
521
writel(0, adapter->hw.hw_addr + tx_ring->head);
drivers/net/ethernet/intel/igbvf/netdev.c
522
writel(0, adapter->hw.hw_addr + tx_ring->tail);
drivers/net/ethernet/intel/igbvf/netdev.c
533
struct pci_dev *pdev = tx_ring->adapter->pdev;
drivers/net/ethernet/intel/igbvf/netdev.c
552
struct igbvf_adapter *adapter = rx_ring->adapter;
drivers/net/ethernet/intel/igbvf/netdev.c
554
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/intel/igbvf/netdev.c
565
if (adapter->rx_ps_hdr_size) {
drivers/net/ethernet/intel/igbvf/netdev.c
567
adapter->rx_ps_hdr_size,
drivers/net/ethernet/intel/igbvf/netdev.c
571
adapter->rx_buffer_len,
drivers/net/ethernet/intel/igbvf/netdev.c
604
writel(0, adapter->hw.hw_addr + rx_ring->head);
drivers/net/ethernet/intel/igbvf/netdev.c
605
writel(0, adapter->hw.hw_addr + rx_ring->tail);
drivers/net/ethernet/intel/igbvf/netdev.c
617
struct pci_dev *pdev = rx_ring->adapter->pdev;
drivers/net/ethernet/intel/igbvf/netdev.c
643
static enum latency_range igbvf_update_itr(struct igbvf_adapter *adapter,
drivers/net/ethernet/intel/igbvf/netdev.c
713
static void igbvf_set_itr(struct igbvf_adapter *adapter)
drivers/net/ethernet/intel/igbvf/netdev.c
717
adapter->tx_ring->itr_range =
drivers/net/ethernet/intel/igbvf/netdev.c
718
igbvf_update_itr(adapter,
drivers/net/ethernet/intel/igbvf/netdev.c
719
adapter->tx_ring->itr_val,
drivers/net/ethernet/intel/igbvf/netdev.c
720
adapter->total_tx_packets,
drivers/net/ethernet/intel/igbvf/netdev.c
721
adapter->total_tx_bytes);
drivers/net/ethernet/intel/igbvf/netdev.c
724
if (adapter->requested_itr == 3 &&
drivers/net/ethernet/intel/igbvf/netdev.c
725
adapter->tx_ring->itr_range == lowest_latency)
drivers/net/ethernet/intel/igbvf/netdev.c
726
adapter->tx_ring->itr_range = low_latency;
drivers/net/ethernet/intel/igbvf/netdev.c
728
new_itr = igbvf_range_to_itr(adapter->tx_ring->itr_range);
drivers/net/ethernet/intel/igbvf/netdev.c
730
if (new_itr != adapter->tx_ring->itr_val) {
drivers/net/ethernet/intel/igbvf/netdev.c
731
u32 current_itr = adapter->tx_ring->itr_val;
drivers/net/ethernet/intel/igbvf/netdev.c
739
adapter->tx_ring->itr_val = new_itr;
drivers/net/ethernet/intel/igbvf/netdev.c
741
adapter->tx_ring->set_itr = 1;
drivers/net/ethernet/intel/igbvf/netdev.c
744
adapter->rx_ring->itr_range =
drivers/net/ethernet/intel/igbvf/netdev.c
745
igbvf_update_itr(adapter, adapter->rx_ring->itr_val,
drivers/net/ethernet/intel/igbvf/netdev.c
746
adapter->total_rx_packets,
drivers/net/ethernet/intel/igbvf/netdev.c
747
adapter->total_rx_bytes);
drivers/net/ethernet/intel/igbvf/netdev.c
748
if (adapter->requested_itr == 3 &&
drivers/net/ethernet/intel/igbvf/netdev.c
749
adapter->rx_ring->itr_range == lowest_latency)
drivers/net/ethernet/intel/igbvf/netdev.c
750
adapter->rx_ring->itr_range = low_latency;
drivers/net/ethernet/intel/igbvf/netdev.c
752
new_itr = igbvf_range_to_itr(adapter->rx_ring->itr_range);
drivers/net/ethernet/intel/igbvf/netdev.c
754
if (new_itr != adapter->rx_ring->itr_val) {
drivers/net/ethernet/intel/igbvf/netdev.c
755
u32 current_itr = adapter->rx_ring->itr_val;
drivers/net/ethernet/intel/igbvf/netdev.c
760
adapter->rx_ring->itr_val = new_itr;
drivers/net/ethernet/intel/igbvf/netdev.c
762
adapter->rx_ring->set_itr = 1;
drivers/net/ethernet/intel/igbvf/netdev.c
774
struct igbvf_adapter *adapter = tx_ring->adapter;
drivers/net/ethernet/intel/igbvf/netdev.c
775
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/igbvf/netdev.c
819
igbvf_put_txbuf(adapter, buffer_info);
drivers/net/ethernet/intel/igbvf/netdev.c
83
static void igbvf_receive_skb(struct igbvf_adapter *adapter,
drivers/net/ethernet/intel/igbvf/netdev.c
841
!(test_bit(__IGBVF_DOWN, &adapter->state))) {
drivers/net/ethernet/intel/igbvf/netdev.c
843
++adapter->restart_queue;
drivers/net/ethernet/intel/igbvf/netdev.c
855
struct igbvf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igbvf/netdev.c
856
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igbvf/netdev.c
859
if (!test_bit(__IGBVF_DOWN, &adapter->state))
drivers/net/ethernet/intel/igbvf/netdev.c
860
mod_timer(&adapter->watchdog_timer, jiffies + 1);
drivers/net/ethernet/intel/igbvf/netdev.c
862
ew32(EIMS, adapter->eims_other);
drivers/net/ethernet/intel/igbvf/netdev.c
870
struct igbvf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igbvf/netdev.c
871
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igbvf/netdev.c
872
struct igbvf_ring *tx_ring = adapter->tx_ring;
drivers/net/ethernet/intel/igbvf/netdev.c
876
adapter->hw.hw_addr + tx_ring->itr_register);
drivers/net/ethernet/intel/igbvf/netdev.c
877
adapter->tx_ring->set_itr = 0;
drivers/net/ethernet/intel/igbvf/netdev.c
880
adapter->total_tx_bytes = 0;
drivers/net/ethernet/intel/igbvf/netdev.c
881
adapter->total_tx_packets = 0;
drivers/net/ethernet/intel/igbvf/netdev.c
898
struct igbvf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igbvf/netdev.c
903
if (adapter->rx_ring->set_itr) {
drivers/net/ethernet/intel/igbvf/netdev.c
904
writel(adapter->rx_ring->itr_val,
drivers/net/ethernet/intel/igbvf/netdev.c
905
adapter->hw.hw_addr + adapter->rx_ring->itr_register);
drivers/net/ethernet/intel/igbvf/netdev.c
906
adapter->rx_ring->set_itr = 0;
drivers/net/ethernet/intel/igbvf/netdev.c
909
if (napi_schedule_prep(&adapter->rx_ring->napi)) {
drivers/net/ethernet/intel/igbvf/netdev.c
91
if ((adapter->flags & IGBVF_FLAG_RX_LB_VLAN_BSWAP) &&
drivers/net/ethernet/intel/igbvf/netdev.c
910
adapter->total_rx_bytes = 0;
drivers/net/ethernet/intel/igbvf/netdev.c
911
adapter->total_rx_packets = 0;
drivers/net/ethernet/intel/igbvf/netdev.c
912
__napi_schedule(&adapter->rx_ring->napi);
drivers/net/ethernet/intel/igbvf/netdev.c
920
static void igbvf_assign_vector(struct igbvf_adapter *adapter, int rx_queue,
drivers/net/ethernet/intel/igbvf/netdev.c
923
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igbvf/netdev.c
943
adapter->rx_ring[rx_queue].eims_value = BIT(msix_vector);
drivers/net/ethernet/intel/igbvf/netdev.c
958
adapter->tx_ring[tx_queue].eims_value = BIT(msix_vector);
drivers/net/ethernet/intel/igbvf/netdev.c
96
if (test_bit(vid, adapter->active_vlans))
drivers/net/ethernet/intel/igbvf/netdev.c
970
static void igbvf_configure_msix(struct igbvf_adapter *adapter)
drivers/net/ethernet/intel/igbvf/netdev.c
973
struct e1000_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igbvf/netdev.c
974
struct igbvf_ring *tx_ring = adapter->tx_ring;
drivers/net/ethernet/intel/igbvf/netdev.c
975
struct igbvf_ring *rx_ring = adapter->rx_ring;
drivers/net/ethernet/intel/igbvf/netdev.c
978
adapter->eims_enable_mask = 0;
drivers/net/ethernet/intel/igbvf/netdev.c
980
igbvf_assign_vector(adapter, IGBVF_NO_QUEUE, 0, vector++);
drivers/net/ethernet/intel/igbvf/netdev.c
981
adapter->eims_enable_mask |= tx_ring->eims_value;
drivers/net/ethernet/intel/igbvf/netdev.c
983
igbvf_assign_vector(adapter, 0, IGBVF_NO_QUEUE, vector++);
drivers/net/ethernet/intel/igbvf/netdev.c
984
adapter->eims_enable_mask |= rx_ring->eims_value;
drivers/net/ethernet/intel/igbvf/netdev.c
993
adapter->eims_enable_mask = GENMASK(vector - 1, 0);
drivers/net/ethernet/intel/igbvf/netdev.c
994
adapter->eims_other = BIT(vector - 1);
drivers/net/ethernet/intel/igbvf/netdev.c
998
static void igbvf_reset_interrupt_capability(struct igbvf_adapter *adapter)
drivers/net/ethernet/intel/igc/igc.h
351
void igc_up(struct igc_adapter *adapter);
drivers/net/ethernet/intel/igc/igc.h
352
void igc_down(struct igc_adapter *adapter);
drivers/net/ethernet/intel/igc/igc.h
359
unsigned int igc_get_max_rss_queues(struct igc_adapter *adapter);
drivers/net/ethernet/intel/igc/igc.h
360
void igc_set_flag_queue_pairs(struct igc_adapter *adapter,
drivers/net/ethernet/intel/igc/igc.h
362
int igc_reinit_queues(struct igc_adapter *adapter);
drivers/net/ethernet/intel/igc/igc.h
363
void igc_write_rss_indir_tbl(struct igc_adapter *adapter);
drivers/net/ethernet/intel/igc/igc.h
364
bool igc_has_link(struct igc_adapter *adapter);
drivers/net/ethernet/intel/igc/igc.h
365
void igc_reset(struct igc_adapter *adapter);
drivers/net/ethernet/intel/igc/igc.h
366
void igc_update_stats(struct igc_adapter *adapter);
drivers/net/ethernet/intel/igc/igc.h
377
void igc_rings_dump(struct igc_adapter *adapter);
drivers/net/ethernet/intel/igc/igc.h
378
void igc_regs_dump(struct igc_adapter *adapter);
drivers/net/ethernet/intel/igc/igc.h
610
struct igc_adapter *adapter; /* backlink */
drivers/net/ethernet/intel/igc/igc.h
765
struct igc_nfc_rule *igc_get_nfc_rule(struct igc_adapter *adapter,
drivers/net/ethernet/intel/igc/igc.h
767
int igc_add_nfc_rule(struct igc_adapter *adapter, struct igc_nfc_rule *rule);
drivers/net/ethernet/intel/igc/igc.h
768
void igc_del_nfc_rule(struct igc_adapter *adapter, struct igc_nfc_rule *rule);
drivers/net/ethernet/intel/igc/igc.h
769
void igc_disable_empty_addr_recv(struct igc_adapter *adapter);
drivers/net/ethernet/intel/igc/igc.h
770
int igc_enable_empty_addr_recv(struct igc_adapter *adapter);
drivers/net/ethernet/intel/igc/igc.h
771
struct igc_ring *igc_get_tx_ring(struct igc_adapter *adapter, int cpu);
drivers/net/ethernet/intel/igc/igc.h
773
void igc_ptp_init(struct igc_adapter *adapter);
drivers/net/ethernet/intel/igc/igc.h
774
void igc_ptp_reset(struct igc_adapter *adapter);
drivers/net/ethernet/intel/igc/igc.h
775
void igc_ptp_suspend(struct igc_adapter *adapter);
drivers/net/ethernet/intel/igc/igc.h
776
void igc_ptp_stop(struct igc_adapter *adapter);
drivers/net/ethernet/intel/igc/igc.h
777
ktime_t igc_ptp_rx_pktstamp(struct igc_adapter *adapter, __le32 *buf);
drivers/net/ethernet/intel/igc/igc.h
783
void igc_ptp_tx_hang(struct igc_adapter *adapter);
drivers/net/ethernet/intel/igc/igc.h
784
void igc_ptp_clear_xsk_tx_tstamp_queue(struct igc_adapter *adapter,
drivers/net/ethernet/intel/igc/igc.h
786
void igc_ptp_read(struct igc_adapter *adapter, struct timespec64 *ts);
drivers/net/ethernet/intel/igc/igc.h
787
void igc_ptp_tx_tstamp_event(struct igc_adapter *adapter);
drivers/net/ethernet/intel/igc/igc.h
789
int igc_led_setup(struct igc_adapter *adapter);
drivers/net/ethernet/intel/igc/igc.h
790
void igc_led_free(struct igc_adapter *adapter);
drivers/net/ethernet/intel/igc/igc_diag.c
100
netdev_err(adapter->netdev,
drivers/net/ethernet/intel/igc/igc_diag.c
116
b = reg_pattern_test(adapter, data,
drivers/net/ethernet/intel/igc/igc_diag.c
122
b = reg_set_and_check(adapter, data,
drivers/net/ethernet/intel/igc/igc_diag.c
128
b = reg_pattern_test(adapter, data,
drivers/net/ethernet/intel/igc/igc_diag.c
134
b = reg_pattern_test(adapter, data,
drivers/net/ethernet/intel/igc/igc_diag.c
140
b = reg_pattern_test(adapter, data,
drivers/net/ethernet/intel/igc/igc_diag.c
155
bool igc_eeprom_test(struct igc_adapter *adapter, u64 *data)
drivers/net/ethernet/intel/igc/igc_diag.c
157
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_diag.c
169
bool igc_link_test(struct igc_adapter *adapter, u64 *data)
drivers/net/ethernet/intel/igc/igc_diag.c
178
link_up = igc_has_link(adapter);
drivers/net/ethernet/intel/igc/igc_diag.c
35
static bool reg_pattern_test(struct igc_adapter *adapter, u64 *data, int reg,
drivers/net/ethernet/intel/igc/igc_diag.c
38
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_diag.c
49
netdev_err(adapter->netdev,
drivers/net/ethernet/intel/igc/igc_diag.c
61
static bool reg_set_and_check(struct igc_adapter *adapter, u64 *data, int reg,
drivers/net/ethernet/intel/igc/igc_diag.c
64
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_diag.c
71
netdev_err(adapter->netdev,
drivers/net/ethernet/intel/igc/igc_diag.c
82
bool igc_reg_test(struct igc_adapter *adapter, u64 *data)
drivers/net/ethernet/intel/igc/igc_diag.c
85
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_diag.h
4
bool igc_reg_test(struct igc_adapter *adapter, u64 *data);
drivers/net/ethernet/intel/igc/igc_diag.h
5
bool igc_eeprom_test(struct igc_adapter *adapter, u64 *data);
drivers/net/ethernet/intel/igc/igc_diag.h
6
bool igc_link_test(struct igc_adapter *adapter, u64 *data);
drivers/net/ethernet/intel/igc/igc_dump.c
112
void igc_rings_dump(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_dump.c
114
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/igc/igc_dump.c
123
if (!netif_msg_hw(adapter))
drivers/net/ethernet/intel/igc/igc_dump.c
135
for (n = 0; n < adapter->num_tx_queues; n++) {
drivers/net/ethernet/intel/igc/igc_dump.c
138
tx_ring = adapter->tx_ring[n];
drivers/net/ethernet/intel/igc/igc_dump.c
150
if (!netif_msg_tx_done(adapter))
drivers/net/ethernet/intel/igc/igc_dump.c
166
for (n = 0; n < adapter->num_tx_queues; n++) {
drivers/net/ethernet/intel/igc/igc_dump.c
167
tx_ring = adapter->tx_ring[n];
drivers/net/ethernet/intel/igc/igc_dump.c
200
if (netif_msg_pktdata(adapter) && buffer_info->skb)
drivers/net/ethernet/intel/igc/igc_dump.c
213
for (n = 0; n < adapter->num_rx_queues; n++) {
drivers/net/ethernet/intel/igc/igc_dump.c
214
rx_ring = adapter->rx_ring[n];
drivers/net/ethernet/intel/igc/igc_dump.c
220
if (!netif_msg_rx_status(adapter))
drivers/net/ethernet/intel/igc/igc_dump.c
246
for (n = 0; n < adapter->num_rx_queues; n++) {
drivers/net/ethernet/intel/igc/igc_dump.c
247
rx_ring = adapter->rx_ring[n];
drivers/net/ethernet/intel/igc/igc_dump.c
286
if (netif_msg_pktdata(adapter) &&
drivers/net/ethernet/intel/igc/igc_dump.c
306
void igc_regs_dump(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_dump.c
308
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_dump.c
312
netdev_info(adapter->netdev, "Register Dump\n");
drivers/net/ethernet/intel/igc/igc_dump.c
313
netdev_info(adapter->netdev, "Register Name Value\n");
drivers/net/ethernet/intel/igc/igc_ethtool.c
1015
mutex_unlock(&adapter->nfc_rule_lock);
drivers/net/ethernet/intel/igc/igc_ethtool.c
1019
mutex_unlock(&adapter->nfc_rule_lock);
drivers/net/ethernet/intel/igc/igc_ethtool.c
1023
static int igc_ethtool_get_nfc_rules(struct igc_adapter *adapter,
drivers/net/ethernet/intel/igc/igc_ethtool.c
1032
mutex_lock(&adapter->nfc_rule_lock);
drivers/net/ethernet/intel/igc/igc_ethtool.c
1034
list_for_each_entry(rule, &adapter->nfc_rule_list, list) {
drivers/net/ethernet/intel/igc/igc_ethtool.c
1036
mutex_unlock(&adapter->nfc_rule_lock);
drivers/net/ethernet/intel/igc/igc_ethtool.c
1043
mutex_unlock(&adapter->nfc_rule_lock);
drivers/net/ethernet/intel/igc/igc_ethtool.c
1053
struct igc_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/intel/igc/igc_ethtool.c
1063
if (adapter->flags & IGC_FLAG_RSS_FIELD_IPV4_UDP)
drivers/net/ethernet/intel/igc/igc_ethtool.c
1077
if (adapter->flags & IGC_FLAG_RSS_FIELD_IPV6_UDP)
drivers/net/ethernet/intel/igc/igc_ethtool.c
1096
struct igc_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/intel/igc/igc_ethtool.c
1098
return adapter->num_rx_queues;
drivers/net/ethernet/intel/igc/igc_ethtool.c
1104
struct igc_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/intel/igc/igc_ethtool.c
1108
cmd->rule_cnt = adapter->nfc_rule_count;
drivers/net/ethernet/intel/igc/igc_ethtool.c
1111
return igc_ethtool_get_nfc_rule(adapter, cmd);
drivers/net/ethernet/intel/igc/igc_ethtool.c
1113
return igc_ethtool_get_nfc_rules(adapter, cmd, rule_locs);
drivers/net/ethernet/intel/igc/igc_ethtool.c
1125
struct igc_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/intel/igc/igc_ethtool.c
1126
u32 flags = adapter->flags;
drivers/net/ethernet/intel/igc/igc_ethtool.c
1193
if (flags != adapter->flags) {
drivers/net/ethernet/intel/igc/igc_ethtool.c
1194
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_ethtool.c
1198
!(adapter->flags & UDP_RSS_FLAGS))
drivers/net/ethernet/intel/igc/igc_ethtool.c
1199
netdev_err(adapter->netdev,
drivers/net/ethernet/intel/igc/igc_ethtool.c
1202
adapter->flags = flags;
drivers/net/ethernet/intel/igc/igc_ethtool.c
1325
static int igc_ethtool_check_nfc_rule(struct igc_adapter *adapter,
drivers/net/ethernet/intel/igc/igc_ethtool.c
1328
struct net_device *dev = adapter->netdev;
drivers/net/ethernet/intel/igc/igc_ethtool.c
1337
list_for_each_entry(tmp, &adapter->nfc_rule_list, list) {
drivers/net/ethernet/intel/igc/igc_ethtool.c
1349
static int igc_ethtool_add_nfc_rule(struct igc_adapter *adapter,
drivers/net/ethernet/intel/igc/igc_ethtool.c
1352
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/igc/igc_ethtool.c
1368
if (fsp->ring_cookie >= adapter->num_rx_queues) {
drivers/net/ethernet/intel/igc/igc_ethtool.c
137
struct igc_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igc/igc_ethtool.c
138
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_ethtool.c
1404
mutex_lock(&adapter->nfc_rule_lock);
drivers/net/ethernet/intel/igc/igc_ethtool.c
1406
err = igc_ethtool_check_nfc_rule(adapter, rule);
drivers/net/ethernet/intel/igc/igc_ethtool.c
1410
old_rule = igc_get_nfc_rule(adapter, fsp->location);
drivers/net/ethernet/intel/igc/igc_ethtool.c
1412
igc_del_nfc_rule(adapter, old_rule);
drivers/net/ethernet/intel/igc/igc_ethtool.c
1414
err = igc_add_nfc_rule(adapter, rule);
drivers/net/ethernet/intel/igc/igc_ethtool.c
1418
mutex_unlock(&adapter->nfc_rule_lock);
drivers/net/ethernet/intel/igc/igc_ethtool.c
1422
mutex_unlock(&adapter->nfc_rule_lock);
drivers/net/ethernet/intel/igc/igc_ethtool.c
1427
static int igc_ethtool_del_nfc_rule(struct igc_adapter *adapter,
drivers/net/ethernet/intel/igc/igc_ethtool.c
1434
mutex_lock(&adapter->nfc_rule_lock);
drivers/net/ethernet/intel/igc/igc_ethtool.c
1436
rule = igc_get_nfc_rule(adapter, fsp->location);
drivers/net/ethernet/intel/igc/igc_ethtool.c
1438
mutex_unlock(&adapter->nfc_rule_lock);
drivers/net/ethernet/intel/igc/igc_ethtool.c
1442
igc_del_nfc_rule(adapter, rule);
drivers/net/ethernet/intel/igc/igc_ethtool.c
1444
mutex_unlock(&adapter->nfc_rule_lock);
drivers/net/ethernet/intel/igc/igc_ethtool.c
1451
struct igc_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/intel/igc/igc_ethtool.c
1455
return igc_ethtool_add_nfc_rule(adapter, cmd);
drivers/net/ethernet/intel/igc/igc_ethtool.c
1457
return igc_ethtool_del_nfc_rule(adapter, cmd);
drivers/net/ethernet/intel/igc/igc_ethtool.c
1463
void igc_write_rss_indir_tbl(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_ethtool.c
1465
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_ethtool.c
1476
val |= adapter->rss_indir_tbl[i + j];
drivers/net/ethernet/intel/igc/igc_ethtool.c
1493
struct igc_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igc/igc_ethtool.c
150
scnprintf(adapter->fw_version,
drivers/net/ethernet/intel/igc/igc_ethtool.c
1500
rxfh->indir[i] = adapter->rss_indir_tbl[i];
drivers/net/ethernet/intel/igc/igc_ethtool.c
1509
struct igc_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igc/igc_ethtool.c
151
sizeof(adapter->fw_version),
drivers/net/ethernet/intel/igc/igc_ethtool.c
1521
num_queues = adapter->rss_queues;
drivers/net/ethernet/intel/igc/igc_ethtool.c
1529
adapter->rss_indir_tbl[i] = rxfh->indir[i];
drivers/net/ethernet/intel/igc/igc_ethtool.c
1531
igc_write_rss_indir_tbl(adapter);
drivers/net/ethernet/intel/igc/igc_ethtool.c
1539
struct igc_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igc/igc_ethtool.c
1542
ch->max_combined = igc_get_max_rss_queues(adapter);
drivers/net/ethernet/intel/igc/igc_ethtool.c
1545
if (adapter->flags & IGC_FLAG_HAS_MSIX) {
drivers/net/ethernet/intel/igc/igc_ethtool.c
1550
ch->combined_count = adapter->rss_queues;
drivers/net/ethernet/intel/igc/igc_ethtool.c
1556
struct igc_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igc/igc_ethtool.c
156
strscpy(drvinfo->fw_version, adapter->fw_version,
drivers/net/ethernet/intel/igc/igc_ethtool.c
1569
if (adapter->flags & IGC_FLAG_TSN_ANY_ENABLED)
drivers/net/ethernet/intel/igc/igc_ethtool.c
1573
max_combined = igc_get_max_rss_queues(adapter);
drivers/net/ethernet/intel/igc/igc_ethtool.c
1577
if (count != adapter->rss_queues) {
drivers/net/ethernet/intel/igc/igc_ethtool.c
1578
adapter->rss_queues = count;
drivers/net/ethernet/intel/igc/igc_ethtool.c
1579
igc_set_flag_queue_pairs(adapter, max_combined);
drivers/net/ethernet/intel/igc/igc_ethtool.c
1584
return igc_reinit_queues(adapter);
drivers/net/ethernet/intel/igc/igc_ethtool.c
159
strscpy(drvinfo->bus_info, pci_name(adapter->pdev),
drivers/net/ethernet/intel/igc/igc_ethtool.c
1593
struct igc_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/intel/igc/igc_ethtool.c
1595
if (adapter->ptp_clock)
drivers/net/ethernet/intel/igc/igc_ethtool.c
1596
info->phc_index = ptp_clock_index(adapter->ptp_clock);
drivers/net/ethernet/intel/igc/igc_ethtool.c
1598
switch (adapter->hw.mac.type) {
drivers/net/ethernet/intel/igc/igc_ethtool.c
1621
struct igc_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igc/igc_ethtool.c
1624
if (adapter->flags & IGC_FLAG_RX_LEGACY)
drivers/net/ethernet/intel/igc/igc_ethtool.c
1627
if (adapter->flags & IGC_FLAG_TSN_REVERSE_TXQ_PRIO)
drivers/net/ethernet/intel/igc/igc_ethtool.c
1635
struct igc_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igc/igc_ethtool.c
1636
unsigned int flags = adapter->flags;
drivers/net/ethernet/intel/igc/igc_ethtool.c
1645
if (flags != adapter->flags) {
drivers/net/ethernet/intel/igc/igc_ethtool.c
1646
adapter->flags = flags;
drivers/net/ethernet/intel/igc/igc_ethtool.c
1650
igc_reinit_locked(adapter);
drivers/net/ethernet/intel/igc/igc_ethtool.c
1659
struct igc_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igc/igc_ethtool.c
1660
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_ethtool.c
1679
netdev_err(adapter->netdev,
drivers/net/ethernet/intel/igc/igc_ethtool.c
1698
netdev_err(adapter->netdev,
drivers/net/ethernet/intel/igc/igc_ethtool.c
1713
netdev_err(adapter->netdev,
drivers/net/ethernet/intel/igc/igc_ethtool.c
173
struct igc_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igc/igc_ethtool.c
1732
netdev_err(adapter->netdev,
drivers/net/ethernet/intel/igc/igc_ethtool.c
174
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_ethtool.c
1755
if (adapter->link_duplex == HALF_DUPLEX) {
drivers/net/ethernet/intel/igc/igc_ethtool.c
1768
struct igc_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igc/igc_ethtool.c
1769
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_ethtool.c
1803
adapter->flags |= IGC_FLAG_EEE;
drivers/net/ethernet/intel/igc/igc_ethtool.c
1807
igc_reinit_locked(adapter);
drivers/net/ethernet/intel/igc/igc_ethtool.c
1809
igc_reset(adapter);
drivers/net/ethernet/intel/igc/igc_ethtool.c
1818
struct igc_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igc/igc_ethtool.c
1819
struct igc_fpe_t *fpe = &adapter->fpe;
drivers/net/ethernet/intel/igc/igc_ethtool.c
1832
struct igc_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igc/igc_ethtool.c
1833
struct igc_fpe_t *fpe = &adapter->fpe;
drivers/net/ethernet/intel/igc/igc_ethtool.c
1849
return igc_tsn_offload_apply(adapter);
drivers/net/ethernet/intel/igc/igc_ethtool.c
1879
struct igc_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/intel/igc/igc_ethtool.c
1880
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_ethtool.c
1895
struct igc_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igc/igc_ethtool.c
1896
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_ethtool.c
1955
status = pm_runtime_suspended(&adapter->pdev->dev) ?
drivers/net/ethernet/intel/igc/igc_ethtool.c
2007
struct igc_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igc/igc_ethtool.c
2008
struct net_device *dev = adapter->netdev;
drivers/net/ethernet/intel/igc/igc_ethtool.c
2009
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_ethtool.c
2032
while (test_and_set_bit(__IGC_RESETTING, &adapter->state))
drivers/net/ethernet/intel/igc/igc_ethtool.c
2061
if (adapter->fc_autoneg)
drivers/net/ethernet/intel/igc/igc_ethtool.c
2079
if (netif_running(adapter->netdev)) {
drivers/net/ethernet/intel/igc/igc_ethtool.c
2080
igc_down(adapter);
drivers/net/ethernet/intel/igc/igc_ethtool.c
2081
igc_up(adapter);
drivers/net/ethernet/intel/igc/igc_ethtool.c
2083
igc_reset(adapter);
drivers/net/ethernet/intel/igc/igc_ethtool.c
2086
clear_bit(__IGC_RESETTING, &adapter->state);
drivers/net/ethernet/intel/igc/igc_ethtool.c
2094
struct igc_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igc/igc_ethtool.c
2098
netdev_info(adapter->netdev, "Offline testing starting");
drivers/net/ethernet/intel/igc/igc_ethtool.c
2099
set_bit(__IGC_TESTING, &adapter->state);
drivers/net/ethernet/intel/igc/igc_ethtool.c
2102
igc_power_up_phy_copper(&adapter->hw);
drivers/net/ethernet/intel/igc/igc_ethtool.c
2107
if (!igc_link_test(adapter, &data[TEST_LINK]))
drivers/net/ethernet/intel/igc/igc_ethtool.c
2113
igc_reset(adapter);
drivers/net/ethernet/intel/igc/igc_ethtool.c
2115
netdev_info(adapter->netdev, "Register testing starting");
drivers/net/ethernet/intel/igc/igc_ethtool.c
2116
if (!igc_reg_test(adapter, &data[TEST_REG]))
drivers/net/ethernet/intel/igc/igc_ethtool.c
2119
igc_reset(adapter);
drivers/net/ethernet/intel/igc/igc_ethtool.c
2121
netdev_info(adapter->netdev, "EEPROM testing starting");
drivers/net/ethernet/intel/igc/igc_ethtool.c
2122
if (!igc_eeprom_test(adapter, &data[TEST_EEP]))
drivers/net/ethernet/intel/igc/igc_ethtool.c
2125
igc_reset(adapter);
drivers/net/ethernet/intel/igc/igc_ethtool.c
2133
clear_bit(__IGC_TESTING, &adapter->state);
drivers/net/ethernet/intel/igc/igc_ethtool.c
2137
netdev_info(adapter->netdev, "Online testing starting");
drivers/net/ethernet/intel/igc/igc_ethtool.c
2145
if (!igc_link_test(adapter, &data[TEST_LINK]))
drivers/net/ethernet/intel/igc/igc_ethtool.c
235
regs_buff[30] = adapter->stats.crcerrs;
drivers/net/ethernet/intel/igc/igc_ethtool.c
236
regs_buff[31] = adapter->stats.algnerrc;
drivers/net/ethernet/intel/igc/igc_ethtool.c
237
regs_buff[32] = adapter->stats.symerrs;
drivers/net/ethernet/intel/igc/igc_ethtool.c
238
regs_buff[33] = adapter->stats.rxerrc;
drivers/net/ethernet/intel/igc/igc_ethtool.c
239
regs_buff[34] = adapter->stats.mpc;
drivers/net/ethernet/intel/igc/igc_ethtool.c
240
regs_buff[35] = adapter->stats.scc;
drivers/net/ethernet/intel/igc/igc_ethtool.c
241
regs_buff[36] = adapter->stats.ecol;
drivers/net/ethernet/intel/igc/igc_ethtool.c
242
regs_buff[37] = adapter->stats.mcc;
drivers/net/ethernet/intel/igc/igc_ethtool.c
243
regs_buff[38] = adapter->stats.latecol;
drivers/net/ethernet/intel/igc/igc_ethtool.c
244
regs_buff[39] = adapter->stats.colc;
drivers/net/ethernet/intel/igc/igc_ethtool.c
245
regs_buff[40] = adapter->stats.dc;
drivers/net/ethernet/intel/igc/igc_ethtool.c
246
regs_buff[41] = adapter->stats.tncrs;
drivers/net/ethernet/intel/igc/igc_ethtool.c
247
regs_buff[42] = adapter->stats.sec;
drivers/net/ethernet/intel/igc/igc_ethtool.c
248
regs_buff[43] = adapter->stats.htdpmc;
drivers/net/ethernet/intel/igc/igc_ethtool.c
249
regs_buff[44] = adapter->stats.rlec;
drivers/net/ethernet/intel/igc/igc_ethtool.c
250
regs_buff[45] = adapter->stats.xonrxc;
drivers/net/ethernet/intel/igc/igc_ethtool.c
251
regs_buff[46] = adapter->stats.xontxc;
drivers/net/ethernet/intel/igc/igc_ethtool.c
252
regs_buff[47] = adapter->stats.xoffrxc;
drivers/net/ethernet/intel/igc/igc_ethtool.c
253
regs_buff[48] = adapter->stats.xofftxc;
drivers/net/ethernet/intel/igc/igc_ethtool.c
254
regs_buff[49] = adapter->stats.fcruc;
drivers/net/ethernet/intel/igc/igc_ethtool.c
255
regs_buff[50] = adapter->stats.prc64;
drivers/net/ethernet/intel/igc/igc_ethtool.c
256
regs_buff[51] = adapter->stats.prc127;
drivers/net/ethernet/intel/igc/igc_ethtool.c
257
regs_buff[52] = adapter->stats.prc255;
drivers/net/ethernet/intel/igc/igc_ethtool.c
258
regs_buff[53] = adapter->stats.prc511;
drivers/net/ethernet/intel/igc/igc_ethtool.c
259
regs_buff[54] = adapter->stats.prc1023;
drivers/net/ethernet/intel/igc/igc_ethtool.c
260
regs_buff[55] = adapter->stats.prc1522;
drivers/net/ethernet/intel/igc/igc_ethtool.c
261
regs_buff[56] = adapter->stats.gprc;
drivers/net/ethernet/intel/igc/igc_ethtool.c
262
regs_buff[57] = adapter->stats.bprc;
drivers/net/ethernet/intel/igc/igc_ethtool.c
263
regs_buff[58] = adapter->stats.mprc;
drivers/net/ethernet/intel/igc/igc_ethtool.c
264
regs_buff[59] = adapter->stats.gptc;
drivers/net/ethernet/intel/igc/igc_ethtool.c
265
regs_buff[60] = adapter->stats.gorc;
drivers/net/ethernet/intel/igc/igc_ethtool.c
266
regs_buff[61] = adapter->stats.gotc;
drivers/net/ethernet/intel/igc/igc_ethtool.c
267
regs_buff[62] = adapter->stats.rnbc;
drivers/net/ethernet/intel/igc/igc_ethtool.c
268
regs_buff[63] = adapter->stats.ruc;
drivers/net/ethernet/intel/igc/igc_ethtool.c
269
regs_buff[64] = adapter->stats.rfc;
drivers/net/ethernet/intel/igc/igc_ethtool.c
270
regs_buff[65] = adapter->stats.roc;
drivers/net/ethernet/intel/igc/igc_ethtool.c
271
regs_buff[66] = adapter->stats.rjc;
drivers/net/ethernet/intel/igc/igc_ethtool.c
272
regs_buff[67] = adapter->stats.mgprc;
drivers/net/ethernet/intel/igc/igc_ethtool.c
273
regs_buff[68] = adapter->stats.mgpdc;
drivers/net/ethernet/intel/igc/igc_ethtool.c
274
regs_buff[69] = adapter->stats.mgptc;
drivers/net/ethernet/intel/igc/igc_ethtool.c
275
regs_buff[70] = adapter->stats.tor;
drivers/net/ethernet/intel/igc/igc_ethtool.c
276
regs_buff[71] = adapter->stats.tot;
drivers/net/ethernet/intel/igc/igc_ethtool.c
277
regs_buff[72] = adapter->stats.tpr;
drivers/net/ethernet/intel/igc/igc_ethtool.c
278
regs_buff[73] = adapter->stats.tpt;
drivers/net/ethernet/intel/igc/igc_ethtool.c
279
regs_buff[74] = adapter->stats.ptc64;
drivers/net/ethernet/intel/igc/igc_ethtool.c
280
regs_buff[75] = adapter->stats.ptc127;
drivers/net/ethernet/intel/igc/igc_ethtool.c
281
regs_buff[76] = adapter->stats.ptc255;
drivers/net/ethernet/intel/igc/igc_ethtool.c
282
regs_buff[77] = adapter->stats.ptc511;
drivers/net/ethernet/intel/igc/igc_ethtool.c
283
regs_buff[78] = adapter->stats.ptc1023;
drivers/net/ethernet/intel/igc/igc_ethtool.c
284
regs_buff[79] = adapter->stats.ptc1522;
drivers/net/ethernet/intel/igc/igc_ethtool.c
285
regs_buff[80] = adapter->stats.mptc;
drivers/net/ethernet/intel/igc/igc_ethtool.c
286
regs_buff[81] = adapter->stats.bptc;
drivers/net/ethernet/intel/igc/igc_ethtool.c
287
regs_buff[82] = adapter->stats.tsctc;
drivers/net/ethernet/intel/igc/igc_ethtool.c
288
regs_buff[83] = adapter->stats.iac;
drivers/net/ethernet/intel/igc/igc_ethtool.c
289
regs_buff[84] = adapter->stats.rpthc;
drivers/net/ethernet/intel/igc/igc_ethtool.c
290
regs_buff[85] = adapter->stats.hgptc;
drivers/net/ethernet/intel/igc/igc_ethtool.c
291
regs_buff[86] = adapter->stats.hgorc;
drivers/net/ethernet/intel/igc/igc_ethtool.c
292
regs_buff[87] = adapter->stats.hgotc;
drivers/net/ethernet/intel/igc/igc_ethtool.c
293
regs_buff[88] = adapter->stats.lenerrs;
drivers/net/ethernet/intel/igc/igc_ethtool.c
294
regs_buff[89] = adapter->stats.scvpc;
drivers/net/ethernet/intel/igc/igc_ethtool.c
295
regs_buff[90] = adapter->stats.hrmpc;
drivers/net/ethernet/intel/igc/igc_ethtool.c
348
regs_buff[213] = adapter->stats.tlpic;
drivers/net/ethernet/intel/igc/igc_ethtool.c
349
regs_buff[214] = adapter->stats.rlpic;
drivers/net/ethernet/intel/igc/igc_ethtool.c
355
struct igc_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igc/igc_ethtool.c
359
if (!(adapter->flags & IGC_FLAG_WOL_SUPPORTED))
drivers/net/ethernet/intel/igc/igc_ethtool.c
367
switch (adapter->hw.device_id) {
drivers/net/ethernet/intel/igc/igc_ethtool.c
372
if (adapter->wol & IGC_WUFC_EX)
drivers/net/ethernet/intel/igc/igc_ethtool.c
374
if (adapter->wol & IGC_WUFC_MC)
drivers/net/ethernet/intel/igc/igc_ethtool.c
376
if (adapter->wol & IGC_WUFC_BC)
drivers/net/ethernet/intel/igc/igc_ethtool.c
378
if (adapter->wol & IGC_WUFC_MAG)
drivers/net/ethernet/intel/igc/igc_ethtool.c
380
if (adapter->wol & IGC_WUFC_LNKC)
drivers/net/ethernet/intel/igc/igc_ethtool.c
387
struct igc_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igc/igc_ethtool.c
392
if (!(adapter->flags & IGC_FLAG_WOL_SUPPORTED))
drivers/net/ethernet/intel/igc/igc_ethtool.c
396
adapter->wol = 0;
drivers/net/ethernet/intel/igc/igc_ethtool.c
399
adapter->wol |= IGC_WUFC_EX;
drivers/net/ethernet/intel/igc/igc_ethtool.c
401
adapter->wol |= IGC_WUFC_MC;
drivers/net/ethernet/intel/igc/igc_ethtool.c
403
adapter->wol |= IGC_WUFC_BC;
drivers/net/ethernet/intel/igc/igc_ethtool.c
405
adapter->wol |= IGC_WUFC_MAG;
drivers/net/ethernet/intel/igc/igc_ethtool.c
407
adapter->wol |= IGC_WUFC_LNKC;
drivers/net/ethernet/intel/igc/igc_ethtool.c
408
device_set_wakeup_enable(&adapter->pdev->dev, adapter->wol);
drivers/net/ethernet/intel/igc/igc_ethtool.c
415
struct igc_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igc/igc_ethtool.c
417
return adapter->msg_enable;
drivers/net/ethernet/intel/igc/igc_ethtool.c
422
struct igc_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igc/igc_ethtool.c
424
adapter->msg_enable = data;
drivers/net/ethernet/intel/igc/igc_ethtool.c
429
struct igc_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igc/igc_ethtool.c
432
igc_reinit_locked(adapter);
drivers/net/ethernet/intel/igc/igc_ethtool.c
438
struct igc_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igc/igc_ethtool.c
439
struct igc_mac_info *mac = &adapter->hw.mac;
drivers/net/ethernet/intel/igc/igc_ethtool.c
450
return igc_has_link(adapter);
drivers/net/ethernet/intel/igc/igc_ethtool.c
455
struct igc_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igc/igc_ethtool.c
457
return adapter->hw.nvm.word_size * 2;
drivers/net/ethernet/intel/igc/igc_ethtool.c
463
struct igc_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igc/igc_ethtool.c
464
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_ethtool.c
510
struct igc_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igc/igc_ethtool.c
511
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_ethtool.c
580
struct igc_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igc/igc_ethtool.c
584
ring->rx_pending = adapter->rx_ring_count;
drivers/net/ethernet/intel/igc/igc_ethtool.c
585
ring->tx_pending = adapter->tx_ring_count;
drivers/net/ethernet/intel/igc/igc_ethtool.c
594
struct igc_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igc/igc_ethtool.c
610
if (new_tx_count == adapter->tx_ring_count &&
drivers/net/ethernet/intel/igc/igc_ethtool.c
611
new_rx_count == adapter->rx_ring_count) {
drivers/net/ethernet/intel/igc/igc_ethtool.c
616
while (test_and_set_bit(__IGC_RESETTING, &adapter->state))
drivers/net/ethernet/intel/igc/igc_ethtool.c
619
if (!netif_running(adapter->netdev)) {
drivers/net/ethernet/intel/igc/igc_ethtool.c
620
for (i = 0; i < adapter->num_tx_queues; i++)
drivers/net/ethernet/intel/igc/igc_ethtool.c
621
adapter->tx_ring[i]->count = new_tx_count;
drivers/net/ethernet/intel/igc/igc_ethtool.c
622
for (i = 0; i < adapter->num_rx_queues; i++)
drivers/net/ethernet/intel/igc/igc_ethtool.c
623
adapter->rx_ring[i]->count = new_rx_count;
drivers/net/ethernet/intel/igc/igc_ethtool.c
624
adapter->tx_ring_count = new_tx_count;
drivers/net/ethernet/intel/igc/igc_ethtool.c
625
adapter->rx_ring_count = new_rx_count;
drivers/net/ethernet/intel/igc/igc_ethtool.c
629
if (adapter->num_tx_queues > adapter->num_rx_queues)
drivers/net/ethernet/intel/igc/igc_ethtool.c
630
temp_ring = vmalloc_array(adapter->num_tx_queues,
drivers/net/ethernet/intel/igc/igc_ethtool.c
633
temp_ring = vmalloc_array(adapter->num_rx_queues,
drivers/net/ethernet/intel/igc/igc_ethtool.c
641
igc_down(adapter);
drivers/net/ethernet/intel/igc/igc_ethtool.c
647
if (new_tx_count != adapter->tx_ring_count) {
drivers/net/ethernet/intel/igc/igc_ethtool.c
648
for (i = 0; i < adapter->num_tx_queues; i++) {
drivers/net/ethernet/intel/igc/igc_ethtool.c
649
memcpy(&temp_ring[i], adapter->tx_ring[i],
drivers/net/ethernet/intel/igc/igc_ethtool.c
663
for (i = 0; i < adapter->num_tx_queues; i++) {
drivers/net/ethernet/intel/igc/igc_ethtool.c
664
igc_free_tx_resources(adapter->tx_ring[i]);
drivers/net/ethernet/intel/igc/igc_ethtool.c
666
memcpy(adapter->tx_ring[i], &temp_ring[i],
drivers/net/ethernet/intel/igc/igc_ethtool.c
670
adapter->tx_ring_count = new_tx_count;
drivers/net/ethernet/intel/igc/igc_ethtool.c
673
if (new_rx_count != adapter->rx_ring_count) {
drivers/net/ethernet/intel/igc/igc_ethtool.c
674
for (i = 0; i < adapter->num_rx_queues; i++) {
drivers/net/ethernet/intel/igc/igc_ethtool.c
675
memcpy(&temp_ring[i], adapter->rx_ring[i],
drivers/net/ethernet/intel/igc/igc_ethtool.c
689
for (i = 0; i < adapter->num_rx_queues; i++) {
drivers/net/ethernet/intel/igc/igc_ethtool.c
690
igc_free_rx_resources(adapter->rx_ring[i]);
drivers/net/ethernet/intel/igc/igc_ethtool.c
692
memcpy(adapter->rx_ring[i], &temp_ring[i],
drivers/net/ethernet/intel/igc/igc_ethtool.c
696
adapter->rx_ring_count = new_rx_count;
drivers/net/ethernet/intel/igc/igc_ethtool.c
699
igc_up(adapter);
drivers/net/ethernet/intel/igc/igc_ethtool.c
702
clear_bit(__IGC_RESETTING, &adapter->state);
drivers/net/ethernet/intel/igc/igc_ethtool.c
709
struct igc_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igc/igc_ethtool.c
710
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_ethtool.c
713
(adapter->fc_autoneg ? AUTONEG_ENABLE : AUTONEG_DISABLE);
drivers/net/ethernet/intel/igc/igc_ethtool.c
728
struct igc_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igc/igc_ethtool.c
729
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_ethtool.c
732
adapter->fc_autoneg = pause->autoneg;
drivers/net/ethernet/intel/igc/igc_ethtool.c
734
while (test_and_set_bit(__IGC_RESETTING, &adapter->state))
drivers/net/ethernet/intel/igc/igc_ethtool.c
737
if (adapter->fc_autoneg == AUTONEG_ENABLE) {
drivers/net/ethernet/intel/igc/igc_ethtool.c
739
if (netif_running(adapter->netdev)) {
drivers/net/ethernet/intel/igc/igc_ethtool.c
740
igc_down(adapter);
drivers/net/ethernet/intel/igc/igc_ethtool.c
741
igc_up(adapter);
drivers/net/ethernet/intel/igc/igc_ethtool.c
743
igc_reset(adapter);
drivers/net/ethernet/intel/igc/igc_ethtool.c
761
clear_bit(__IGC_RESETTING, &adapter->state);
drivers/net/ethernet/intel/igc/igc_ethtool.c
768
struct igc_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igc/igc_ethtool.c
782
for (i = 0; i < adapter->num_tx_queues; i++) {
drivers/net/ethernet/intel/igc/igc_ethtool.c
787
for (i = 0; i < adapter->num_rx_queues; i++) {
drivers/net/ethernet/intel/igc/igc_ethtool.c
820
struct igc_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igc/igc_ethtool.c
821
struct rtnl_link_stats64 *net_stats = &adapter->stats64;
drivers/net/ethernet/intel/igc/igc_ethtool.c
827
spin_lock(&adapter->stats64_lock);
drivers/net/ethernet/intel/igc/igc_ethtool.c
828
igc_update_stats(adapter);
drivers/net/ethernet/intel/igc/igc_ethtool.c
831
p = (char *)adapter + igc_gstrings_stats[i].stat_offset;
drivers/net/ethernet/intel/igc/igc_ethtool.c
840
for (j = 0; j < adapter->num_tx_queues; j++) {
drivers/net/ethernet/intel/igc/igc_ethtool.c
843
ring = adapter->tx_ring[j];
drivers/net/ethernet/intel/igc/igc_ethtool.c
858
for (j = 0; j < adapter->num_rx_queues; j++) {
drivers/net/ethernet/intel/igc/igc_ethtool.c
859
ring = adapter->rx_ring[j];
drivers/net/ethernet/intel/igc/igc_ethtool.c
870
spin_unlock(&adapter->stats64_lock);
drivers/net/ethernet/intel/igc/igc_ethtool.c
873
static int igc_ethtool_get_previous_rx_coalesce(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_ethtool.c
875
return (adapter->rx_itr_setting <= 3) ?
drivers/net/ethernet/intel/igc/igc_ethtool.c
876
adapter->rx_itr_setting : adapter->rx_itr_setting >> 2;
drivers/net/ethernet/intel/igc/igc_ethtool.c
879
static int igc_ethtool_get_previous_tx_coalesce(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_ethtool.c
881
return (adapter->tx_itr_setting <= 3) ?
drivers/net/ethernet/intel/igc/igc_ethtool.c
882
adapter->tx_itr_setting : adapter->tx_itr_setting >> 2;
drivers/net/ethernet/intel/igc/igc_ethtool.c
890
struct igc_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igc/igc_ethtool.c
892
ec->rx_coalesce_usecs = igc_ethtool_get_previous_rx_coalesce(adapter);
drivers/net/ethernet/intel/igc/igc_ethtool.c
893
ec->tx_coalesce_usecs = igc_ethtool_get_previous_tx_coalesce(adapter);
drivers/net/ethernet/intel/igc/igc_ethtool.c
903
struct igc_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igc/igc_ethtool.c
918
if ((adapter->flags & IGC_FLAG_QUEUE_PAIRS) &&
drivers/net/ethernet/intel/igc/igc_ethtool.c
919
ec->tx_coalesce_usecs != igc_ethtool_get_previous_tx_coalesce(adapter)) {
drivers/net/ethernet/intel/igc/igc_ethtool.c
927
if (adapter->flags & IGC_FLAG_DMAC)
drivers/net/ethernet/intel/igc/igc_ethtool.c
928
adapter->flags &= ~IGC_FLAG_DMAC;
drivers/net/ethernet/intel/igc/igc_ethtool.c
933
adapter->rx_itr_setting = ec->rx_coalesce_usecs;
drivers/net/ethernet/intel/igc/igc_ethtool.c
935
adapter->rx_itr_setting = ec->rx_coalesce_usecs << 2;
drivers/net/ethernet/intel/igc/igc_ethtool.c
938
if (adapter->flags & IGC_FLAG_QUEUE_PAIRS)
drivers/net/ethernet/intel/igc/igc_ethtool.c
939
adapter->tx_itr_setting = adapter->rx_itr_setting;
drivers/net/ethernet/intel/igc/igc_ethtool.c
941
adapter->tx_itr_setting = ec->tx_coalesce_usecs;
drivers/net/ethernet/intel/igc/igc_ethtool.c
943
adapter->tx_itr_setting = ec->tx_coalesce_usecs << 2;
drivers/net/ethernet/intel/igc/igc_ethtool.c
945
for (i = 0; i < adapter->num_q_vectors; i++) {
drivers/net/ethernet/intel/igc/igc_ethtool.c
946
struct igc_q_vector *q_vector = adapter->q_vector[i];
drivers/net/ethernet/intel/igc/igc_ethtool.c
948
q_vector->tx.work_limit = adapter->tx_work_limit;
drivers/net/ethernet/intel/igc/igc_ethtool.c
950
q_vector->itr_val = adapter->rx_itr_setting;
drivers/net/ethernet/intel/igc/igc_ethtool.c
952
q_vector->itr_val = adapter->tx_itr_setting;
drivers/net/ethernet/intel/igc/igc_ethtool.c
963
static int igc_ethtool_get_nfc_rule(struct igc_adapter *adapter,
drivers/net/ethernet/intel/igc/igc_ethtool.c
971
mutex_lock(&adapter->nfc_rule_lock);
drivers/net/ethernet/intel/igc/igc_ethtool.c
973
rule = igc_get_nfc_rule(adapter, fsp->location);
drivers/net/ethernet/intel/igc/igc_leds.c
101
static u32 igc_led_get(struct igc_adapter *adapter, int led)
drivers/net/ethernet/intel/igc/igc_leds.c
104
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_leds.c
106
igc_led_select(adapter, led, &mask, &shift, &blink_bit);
drivers/net/ethernet/intel/igc/igc_leds.c
108
pm_runtime_get_sync(&adapter->pdev->dev);
drivers/net/ethernet/intel/igc/igc_leds.c
109
mutex_lock(&adapter->led_mutex);
drivers/net/ethernet/intel/igc/igc_leds.c
111
mutex_unlock(&adapter->led_mutex);
drivers/net/ethernet/intel/igc/igc_leds.c
112
pm_runtime_put(&adapter->pdev->dev);
drivers/net/ethernet/intel/igc/igc_leds.c
121
struct igc_adapter *adapter = netdev_priv(ldev->netdev);
drivers/net/ethernet/intel/igc/igc_leds.c
129
netdev_dbg(adapter->netdev, "Set brightness for LED %d to mode %u!\n",
drivers/net/ethernet/intel/igc/igc_leds.c
132
igc_led_set(adapter, ldev->index, mode, false);
drivers/net/ethernet/intel/igc/igc_leds.c
166
struct igc_adapter *adapter = netdev_priv(ldev->netdev);
drivers/net/ethernet/intel/igc/igc_leds.c
182
netdev_dbg(adapter->netdev, "Set HW control for LED %d to mode %u!\n",
drivers/net/ethernet/intel/igc/igc_leds.c
189
igc_led_set(adapter, ldev->index, mode, blink);
drivers/net/ethernet/intel/igc/igc_leds.c
198
struct igc_adapter *adapter = netdev_priv(ldev->netdev);
drivers/net/ethernet/intel/igc/igc_leds.c
201
mode = igc_led_get(adapter, ldev->index);
drivers/net/ethernet/intel/igc/igc_leds.c
231
static void igc_led_get_name(struct igc_adapter *adapter, int index, char *buf,
drivers/net/ethernet/intel/igc/igc_leds.c
235
pci_domain_nr(adapter->pdev->bus),
drivers/net/ethernet/intel/igc/igc_leds.c
236
pci_dev_id(adapter->pdev), index);
drivers/net/ethernet/intel/igc/igc_leds.c
242
struct igc_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igc/igc_leds.c
249
igc_led_get_name(adapter, index, led_name, LED_MAX_NAME_SIZE);
drivers/net/ethernet/intel/igc/igc_leds.c
263
int igc_led_setup(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_leds.c
265
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/igc/igc_leds.c
269
mutex_init(&adapter->led_mutex);
drivers/net/ethernet/intel/igc/igc_leds.c
281
adapter->leds = leds;
drivers/net/ethernet/intel/igc/igc_leds.c
293
void igc_led_free(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_leds.c
295
struct igc_led_classdev *leds = adapter->leds;
drivers/net/ethernet/intel/igc/igc_leds.c
49
static void igc_led_select(struct igc_adapter *adapter, int led,
drivers/net/ethernet/intel/igc/igc_leds.c
70
netdev_err(adapter->netdev, "Unknown LED %d selected!\n", led);
drivers/net/ethernet/intel/igc/igc_leds.c
74
static void igc_led_set(struct igc_adapter *adapter, int led, u32 mode,
drivers/net/ethernet/intel/igc/igc_leds.c
78
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_leds.c
80
igc_led_select(adapter, led, &mask, &shift, &blink_bit);
drivers/net/ethernet/intel/igc/igc_leds.c
82
pm_runtime_get_sync(&adapter->pdev->dev);
drivers/net/ethernet/intel/igc/igc_leds.c
83
mutex_lock(&adapter->led_mutex);
drivers/net/ethernet/intel/igc/igc_leds.c
97
mutex_unlock(&adapter->led_mutex);
drivers/net/ethernet/intel/igc/igc_leds.c
98
pm_runtime_put(&adapter->pdev->dev);
drivers/net/ethernet/intel/igc/igc_main.c
1000
igc_set_default_mac_filter(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
1016
struct igc_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igc/igc_main.c
1017
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_main.c
1046
struct igc_adapter *adapter = netdev_priv(ring->netdev);
drivers/net/ethernet/intel/igc/igc_main.c
1047
ktime_t cycle_time = adapter->cycle_time;
drivers/net/ethernet/intel/igc/igc_main.c
1048
ktime_t base_time = adapter->base_time;
drivers/net/ethernet/intel/igc/igc_main.c
113
if (!netif_running(adapter->netdev))
drivers/net/ethernet/intel/igc/igc_main.c
114
igc_power_down_phy_copper_base(&adapter->hw);
drivers/net/ethernet/intel/igc/igc_main.c
120
igc_ptp_reset(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
123
igc_tsn_reset(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
132
static void igc_power_up_link(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_main.c
134
igc_reset_phy(&adapter->hw);
drivers/net/ethernet/intel/igc/igc_main.c
136
igc_power_up_phy_copper(&adapter->hw);
drivers/net/ethernet/intel/igc/igc_main.c
138
igc_setup_link(&adapter->hw);
drivers/net/ethernet/intel/igc/igc_main.c
149
static void igc_release_hw_control(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_main.c
151
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_main.c
154
if (!pci_device_is_present(adapter->pdev))
drivers/net/ethernet/intel/igc/igc_main.c
1546
static bool igc_request_tx_tstamp(struct igc_adapter *adapter, struct sk_buff *skb, u32 *flags)
drivers/net/ethernet/intel/igc/igc_main.c
1551
struct igc_tx_timestamp_request *tstamp = &adapter->tx_tstamp[i];
drivers/net/ethernet/intel/igc/igc_main.c
1603
struct igc_adapter *adapter = netdev_priv(tx_ring->netdev);
drivers/net/ethernet/intel/igc/igc_main.c
1659
if (adapter->qbv_transition || tx_ring->oper_gate_closed)
drivers/net/ethernet/intel/igc/igc_main.c
1663
adapter->stats.txdrop++;
drivers/net/ethernet/intel/igc/igc_main.c
1672
spin_lock_irqsave(&adapter->ptp_tx_lock, flags);
drivers/net/ethernet/intel/igc/igc_main.c
1673
if (igc_request_tx_tstamp(adapter, skb, &tstamp_flags)) {
drivers/net/ethernet/intel/igc/igc_main.c
1680
adapter->tx_hwtstamp_skipped++;
drivers/net/ethernet/intel/igc/igc_main.c
1683
spin_unlock_irqrestore(&adapter->ptp_tx_lock, flags);
drivers/net/ethernet/intel/igc/igc_main.c
171
static void igc_get_hw_control(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_main.c
1721
static inline struct igc_ring *igc_tx_queue_mapping(struct igc_adapter *adapter,
drivers/net/ethernet/intel/igc/igc_main.c
1726
if (r_idx >= adapter->num_tx_queues)
drivers/net/ethernet/intel/igc/igc_main.c
1727
r_idx = r_idx % adapter->num_tx_queues;
drivers/net/ethernet/intel/igc/igc_main.c
1729
return adapter->tx_ring[r_idx];
drivers/net/ethernet/intel/igc/igc_main.c
173
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_main.c
1735
struct igc_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igc/igc_main.c
1743
return igc_xmit_frame_ring(skb, igc_tx_queue_mapping(adapter, skb));
drivers/net/ethernet/intel/igc/igc_main.c
1865
struct igc_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igc/igc_main.c
1866
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_main.c
1881
static void igc_restore_vlan(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_main.c
1883
igc_vlan_mode(adapter->netdev, adapter->netdev->features);
drivers/net/ethernet/intel/igc/igc_main.c
2197
struct igc_adapter *adapter = rx_ring->q_vector->adapter;
drivers/net/ethernet/intel/igc/igc_main.c
2201
if (igc_xdp_is_enabled(adapter))
drivers/net/ethernet/intel/igc/igc_main.c
2478
struct igc_ring *igc_get_tx_ring(struct igc_adapter *adapter, int cpu)
drivers/net/ethernet/intel/igc/igc_main.c
2485
while (index >= adapter->num_tx_queues)
drivers/net/ethernet/intel/igc/igc_main.c
2486
index -= adapter->num_tx_queues;
drivers/net/ethernet/intel/igc/igc_main.c
2488
return adapter->tx_ring[index];
drivers/net/ethernet/intel/igc/igc_main.c
2491
static int igc_xdp_xmit_back(struct igc_adapter *adapter, struct xdp_buff *xdp)
drivers/net/ethernet/intel/igc/igc_main.c
2502
ring = igc_get_tx_ring(adapter, cpu);
drivers/net/ethernet/intel/igc/igc_main.c
2514
static int __igc_xdp_run_prog(struct igc_adapter *adapter,
drivers/net/ethernet/intel/igc/igc_main.c
2524
if (igc_xdp_xmit_back(adapter, xdp) < 0)
drivers/net/ethernet/intel/igc/igc_main.c
2528
if (xdp_do_redirect(adapter->netdev, xdp, prog) < 0)
drivers/net/ethernet/intel/igc/igc_main.c
2533
bpf_warn_invalid_xdp_action(adapter->netdev, prog, act);
drivers/net/ethernet/intel/igc/igc_main.c
2537
trace_xdp_exception(adapter->netdev, prog, act);
drivers/net/ethernet/intel/igc/igc_main.c
2544
static int igc_xdp_run_prog(struct igc_adapter *adapter, struct xdp_buff *xdp)
drivers/net/ethernet/intel/igc/igc_main.c
2549
prog = READ_ONCE(adapter->xdp_prog);
drivers/net/ethernet/intel/igc/igc_main.c
2555
res = __igc_xdp_run_prog(adapter, prog, xdp);
drivers/net/ethernet/intel/igc/igc_main.c
2572
static void igc_finalize_xdp(struct igc_adapter *adapter, int status)
drivers/net/ethernet/intel/igc/igc_main.c
2579
ring = igc_get_tx_ring(adapter, cpu);
drivers/net/ethernet/intel/igc/igc_main.c
2608
struct igc_adapter *adapter = q_vector->adapter;
drivers/net/ethernet/intel/igc/igc_main.c
2651
if (igc_fpe_is_pmac_enabled(adapter) &&
drivers/net/ethernet/intel/igc/igc_main.c
2652
igc_fpe_handle_mpacket(adapter, rx_desc, size, pktbuf)) {
drivers/net/ethernet/intel/igc/igc_main.c
2667
xdp_res = igc_xdp_run_prog(adapter, &ctx.xdp);
drivers/net/ethernet/intel/igc/igc_main.c
270
struct igc_adapter *adapter = netdev_priv(tx_ring->netdev);
drivers/net/ethernet/intel/igc/igc_main.c
272
igc_ptp_clear_xsk_tx_tstamp_queue(adapter, tx_ring->queue_index);
drivers/net/ethernet/intel/igc/igc_main.c
2728
igc_finalize_xdp(adapter, xdp_status);
drivers/net/ethernet/intel/igc/igc_main.c
2803
struct igc_adapter *adapter = q_vector->adapter;
drivers/net/ethernet/intel/igc/igc_main.c
2814
prog = READ_ONCE(adapter->xdp_prog);
drivers/net/ethernet/intel/igc/igc_main.c
2856
res = __igc_xdp_run_prog(adapter, prog, bi->xdp);
drivers/net/ethernet/intel/igc/igc_main.c
2886
igc_finalize_xdp(adapter, xdp_status);
drivers/net/ethernet/intel/igc/igc_main.c
2921
struct igc_adapter *adapter;
drivers/net/ethernet/intel/igc/igc_main.c
2927
adapter = netdev_priv(tx_ring->netdev);
drivers/net/ethernet/intel/igc/igc_main.c
2929
spin_lock_irqsave(&adapter->ptp_tx_lock, lock_flags);
drivers/net/ethernet/intel/igc/igc_main.c
2933
tstamp = &adapter->tx_tstamp[i];
drivers/net/ethernet/intel/igc/igc_main.c
2949
adapter->tx_hwtstamp_skipped++;
drivers/net/ethernet/intel/igc/igc_main.c
2950
spin_unlock_irqrestore(&adapter->ptp_tx_lock,
drivers/net/ethernet/intel/igc/igc_main.c
2984
spin_unlock_irqrestore(&adapter->ptp_tx_lock, lock_flags);
drivers/net/ethernet/intel/igc/igc_main.c
305
static void igc_free_all_tx_resources(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_main.c
309
for (i = 0; i < adapter->num_tx_queues; i++)
drivers/net/ethernet/intel/igc/igc_main.c
310
igc_free_tx_resources(adapter->tx_ring[i]);
drivers/net/ethernet/intel/igc/igc_main.c
3136
struct igc_adapter *adapter = q_vector->adapter;
drivers/net/ethernet/intel/igc/igc_main.c
3145
if (test_bit(__IGC_DOWN, &adapter->state))
drivers/net/ethernet/intel/igc/igc_main.c
3166
if (igc_fpe_is_pmac_enabled(adapter) &&
drivers/net/ethernet/intel/igc/igc_main.c
3168
ethtool_mmsv_event_handle(&adapter->fpe.mmsv,
drivers/net/ethernet/intel/igc/igc_main.c
317
static void igc_clean_all_tx_rings(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_main.c
321
for (i = 0; i < adapter->num_tx_queues; i++)
drivers/net/ethernet/intel/igc/igc_main.c
322
if (adapter->tx_ring[i])
drivers/net/ethernet/intel/igc/igc_main.c
323
igc_clean_tx_ring(adapter->tx_ring[i]);
drivers/net/ethernet/intel/igc/igc_main.c
3252
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_main.c
3260
(adapter->tx_timeout_factor * HZ)) &&
drivers/net/ethernet/intel/igc/igc_main.c
328
struct igc_hw *hw = &ring->q_vector->adapter->hw;
drivers/net/ethernet/intel/igc/igc_main.c
3304
!(test_bit(__IGC_DOWN, &adapter->state))) {
drivers/net/ethernet/intel/igc/igc_main.c
3317
static int igc_find_mac_filter(struct igc_adapter *adapter,
drivers/net/ethernet/intel/igc/igc_main.c
3320
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_main.c
3345
static int igc_get_avail_mac_filter_slot(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_main.c
3347
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_main.c
3373
static int igc_add_mac_filter(struct igc_adapter *adapter,
drivers/net/ethernet/intel/igc/igc_main.c
3377
struct net_device *dev = adapter->netdev;
drivers/net/ethernet/intel/igc/igc_main.c
3380
index = igc_find_mac_filter(adapter, type, addr);
drivers/net/ethernet/intel/igc/igc_main.c
3384
index = igc_get_avail_mac_filter_slot(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
3393
igc_set_mac_filter_hw(adapter, index, type, addr, queue);
drivers/net/ethernet/intel/igc/igc_main.c
3403
static void igc_del_mac_filter(struct igc_adapter *adapter,
drivers/net/ethernet/intel/igc/igc_main.c
3406
struct net_device *dev = adapter->netdev;
drivers/net/ethernet/intel/igc/igc_main.c
3409
index = igc_find_mac_filter(adapter, type, addr);
drivers/net/ethernet/intel/igc/igc_main.c
342
static void igc_disable_all_tx_rings_hw(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_main.c
3420
igc_set_mac_filter_hw(adapter, 0, type, addr, -1);
drivers/net/ethernet/intel/igc/igc_main.c
3427
igc_clear_mac_filter_hw(adapter, index);
drivers/net/ethernet/intel/igc/igc_main.c
3439
static int igc_add_vlan_prio_filter(struct igc_adapter *adapter, int prio,
drivers/net/ethernet/intel/igc/igc_main.c
3442
struct net_device *dev = adapter->netdev;
drivers/net/ethernet/intel/igc/igc_main.c
3443
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_main.c
346
for (i = 0; i < adapter->num_tx_queues; i++) {
drivers/net/ethernet/intel/igc/igc_main.c
3468
static void igc_del_vlan_prio_filter(struct igc_adapter *adapter, int prio)
drivers/net/ethernet/intel/igc/igc_main.c
347
struct igc_ring *tx_ring = adapter->tx_ring[i];
drivers/net/ethernet/intel/igc/igc_main.c
3470
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_main.c
3480
netdev_dbg(adapter->netdev, "Delete VLAN priority filter: prio %d\n",
drivers/net/ethernet/intel/igc/igc_main.c
3484
static int igc_get_avail_etype_filter_slot(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_main.c
3486
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_main.c
3509
static int igc_add_etype_filter(struct igc_adapter *adapter, u16 etype,
drivers/net/ethernet/intel/igc/igc_main.c
3512
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_main.c
3516
index = igc_get_avail_etype_filter_slot(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
3535
netdev_dbg(adapter->netdev, "Add ethertype filter: etype %04x queue %d\n",
drivers/net/ethernet/intel/igc/igc_main.c
3540
static int igc_find_etype_filter(struct igc_adapter *adapter, u16 etype)
drivers/net/ethernet/intel/igc/igc_main.c
3542
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_main.c
3560
static void igc_del_etype_filter(struct igc_adapter *adapter, u16 etype)
drivers/net/ethernet/intel/igc/igc_main.c
3562
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_main.c
3565
index = igc_find_etype_filter(adapter, etype);
drivers/net/ethernet/intel/igc/igc_main.c
3571
netdev_dbg(adapter->netdev, "Delete ethertype filter: etype %04x\n",
drivers/net/ethernet/intel/igc/igc_main.c
3575
static int igc_flex_filter_select(struct igc_adapter *adapter,
drivers/net/ethernet/intel/igc/igc_main.c
3579
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_main.c
3584
netdev_err(adapter->netdev, "Wrong Flex Filter index selected!\n");
drivers/net/ethernet/intel/igc/igc_main.c
3616
static int igc_write_flex_filter_ll(struct igc_adapter *adapter,
drivers/net/ethernet/intel/igc/igc_main.c
3619
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_main.c
3632
netdev_err(adapter->netdev, "The length of a flex filter has to be 8 byte aligned!\n");
drivers/net/ethernet/intel/igc/igc_main.c
3637
ret = igc_flex_filter_select(adapter, input, &fhft);
drivers/net/ethernet/intel/igc/igc_main.c
3702
netdev_dbg(adapter->netdev, "Added flex filter %u to HW.\n",
drivers/net/ethernet/intel/igc/igc_main.c
3733
static int igc_find_avail_flex_filter_slot(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_main.c
3735
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_main.c
3755
static bool igc_flex_filter_in_use(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_main.c
3757
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_main.c
3772
static int igc_add_flex_filter(struct igc_adapter *adapter,
drivers/net/ethernet/intel/igc/igc_main.c
3781
index = igc_find_avail_flex_filter_slot(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
3841
ret = igc_write_flex_filter_ll(adapter, &flex);
drivers/net/ethernet/intel/igc/igc_main.c
3850
static void igc_del_flex_filter(struct igc_adapter *adapter,
drivers/net/ethernet/intel/igc/igc_main.c
3853
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_main.c
3872
if (igc_flex_filter_in_use(adapter))
drivers/net/ethernet/intel/igc/igc_main.c
3881
static void igc_set_default_queue_filter(struct igc_adapter *adapter, u32 queue)
drivers/net/ethernet/intel/igc/igc_main.c
3883
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_main.c
3891
static void igc_reset_default_queue_filter(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_main.c
3894
igc_set_default_queue_filter(adapter, 0);
drivers/net/ethernet/intel/igc/igc_main.c
3897
static int igc_enable_nfc_rule(struct igc_adapter *adapter,
drivers/net/ethernet/intel/igc/igc_main.c
3903
return igc_add_flex_filter(adapter, rule);
drivers/net/ethernet/intel/igc/igc_main.c
3907
err = igc_add_etype_filter(adapter, rule->filter.etype,
drivers/net/ethernet/intel/igc/igc_main.c
3914
err = igc_add_mac_filter(adapter, IGC_MAC_FILTER_TYPE_SRC,
drivers/net/ethernet/intel/igc/igc_main.c
3921
err = igc_add_mac_filter(adapter, IGC_MAC_FILTER_TYPE_DST,
drivers/net/ethernet/intel/igc/igc_main.c
3930
err = igc_add_vlan_prio_filter(adapter, prio, rule->action);
drivers/net/ethernet/intel/igc/igc_main.c
3936
igc_set_default_queue_filter(adapter, rule->action);
drivers/net/ethernet/intel/igc/igc_main.c
3941
static void igc_disable_nfc_rule(struct igc_adapter *adapter,
drivers/net/ethernet/intel/igc/igc_main.c
3945
igc_del_flex_filter(adapter, rule->filter.flex_index);
drivers/net/ethernet/intel/igc/igc_main.c
3950
igc_del_etype_filter(adapter, rule->filter.etype);
drivers/net/ethernet/intel/igc/igc_main.c
3955
igc_del_vlan_prio_filter(adapter, prio);
drivers/net/ethernet/intel/igc/igc_main.c
3959
igc_del_mac_filter(adapter, IGC_MAC_FILTER_TYPE_SRC,
drivers/net/ethernet/intel/igc/igc_main.c
3963
igc_del_mac_filter(adapter, IGC_MAC_FILTER_TYPE_DST,
drivers/net/ethernet/intel/igc/igc_main.c
3967
igc_reset_default_queue_filter(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
397
static int igc_setup_all_tx_resources(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_main.c
3979
struct igc_nfc_rule *igc_get_nfc_rule(struct igc_adapter *adapter,
drivers/net/ethernet/intel/igc/igc_main.c
3984
list_for_each_entry(rule, &adapter->nfc_rule_list, list) {
drivers/net/ethernet/intel/igc/igc_main.c
399
struct net_device *dev = adapter->netdev;
drivers/net/ethernet/intel/igc/igc_main.c
4003
void igc_del_nfc_rule(struct igc_adapter *adapter, struct igc_nfc_rule *rule)
drivers/net/ethernet/intel/igc/igc_main.c
4005
igc_disable_nfc_rule(adapter, rule);
drivers/net/ethernet/intel/igc/igc_main.c
4008
adapter->nfc_rule_count--;
drivers/net/ethernet/intel/igc/igc_main.c
4013
static void igc_flush_nfc_rules(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_main.c
4017
mutex_lock(&adapter->nfc_rule_lock);
drivers/net/ethernet/intel/igc/igc_main.c
4019
list_for_each_entry_safe(rule, tmp, &adapter->nfc_rule_list, list)
drivers/net/ethernet/intel/igc/igc_main.c
402
for (i = 0; i < adapter->num_tx_queues; i++) {
drivers/net/ethernet/intel/igc/igc_main.c
4020
igc_del_nfc_rule(adapter, rule);
drivers/net/ethernet/intel/igc/igc_main.c
4022
mutex_unlock(&adapter->nfc_rule_lock);
drivers/net/ethernet/intel/igc/igc_main.c
403
err = igc_setup_tx_resources(adapter->tx_ring[i]);
drivers/net/ethernet/intel/igc/igc_main.c
4036
int igc_add_nfc_rule(struct igc_adapter *adapter, struct igc_nfc_rule *rule)
drivers/net/ethernet/intel/igc/igc_main.c
4041
err = igc_enable_nfc_rule(adapter, rule);
drivers/net/ethernet/intel/igc/igc_main.c
4046
list_for_each_entry(cur, &adapter->nfc_rule_list, list) {
drivers/net/ethernet/intel/igc/igc_main.c
4052
list_add(&rule->list, pred ? &pred->list : &adapter->nfc_rule_list);
drivers/net/ethernet/intel/igc/igc_main.c
4053
adapter->nfc_rule_count++;
drivers/net/ethernet/intel/igc/igc_main.c
4057
static void igc_restore_nfc_rules(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_main.c
4061
mutex_lock(&adapter->nfc_rule_lock);
drivers/net/ethernet/intel/igc/igc_main.c
4063
list_for_each_entry_reverse(rule, &adapter->nfc_rule_list, list)
drivers/net/ethernet/intel/igc/igc_main.c
4064
igc_enable_nfc_rule(adapter, rule);
drivers/net/ethernet/intel/igc/igc_main.c
4066
mutex_unlock(&adapter->nfc_rule_lock);
drivers/net/ethernet/intel/igc/igc_main.c
407
igc_free_tx_resources(adapter->tx_ring[i]);
drivers/net/ethernet/intel/igc/igc_main.c
4071
struct igc_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igc/igc_main.c
4073
return igc_add_mac_filter(adapter, IGC_MAC_FILTER_TYPE_DST, addr, -1);
drivers/net/ethernet/intel/igc/igc_main.c
4078
struct igc_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igc/igc_main.c
4080
igc_del_mac_filter(adapter, IGC_MAC_FILTER_TYPE_DST, addr);
drivers/net/ethernet/intel/igc/igc_main.c
4094
int igc_enable_empty_addr_recv(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_main.c
4098
return igc_add_mac_filter(adapter, IGC_MAC_FILTER_TYPE_DST, empty, -1);
drivers/net/ethernet/intel/igc/igc_main.c
4101
void igc_disable_empty_addr_recv(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_main.c
4105
igc_del_mac_filter(adapter, IGC_MAC_FILTER_TYPE_DST, empty);
drivers/net/ethernet/intel/igc/igc_main.c
4119
struct igc_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igc/igc_main.c
4120
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_main.c
4153
if (adapter->max_frame_size <= IGC_MAX_FRAME_BUILD_SKB)
drivers/net/ethernet/intel/igc/igc_main.c
4163
static void igc_configure(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_main.c
4165
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/igc/igc_main.c
4168
igc_get_hw_control(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
4171
igc_restore_vlan(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
4173
igc_setup_tctl(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
4174
igc_setup_mrqc(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
4175
igc_setup_rctl(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
4177
igc_set_default_mac_filter(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
4178
igc_restore_nfc_rules(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
4180
igc_configure_tx(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
4181
igc_configure_rx(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
4183
igc_rx_fifo_flush_base(&adapter->hw);
drivers/net/ethernet/intel/igc/igc_main.c
4189
for (i = 0; i < adapter->num_rx_queues; i++) {
drivers/net/ethernet/intel/igc/igc_main.c
4190
struct igc_ring *ring = adapter->rx_ring[i];
drivers/net/ethernet/intel/igc/igc_main.c
4226
struct igc_adapter *adapter = q_vector->adapter;
drivers/net/ethernet/intel/igc/igc_main.c
4227
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_main.c
4254
adapter->eims_enable_mask |= q_vector->eims_value;
drivers/net/ethernet/intel/igc/igc_main.c
4267
static void igc_configure_msix(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_main.c
4269
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_main.c
4273
adapter->eims_enable_mask = 0;
drivers/net/ethernet/intel/igc/igc_main.c
4286
adapter->eims_other = BIT(vector);
drivers/net/ethernet/intel/igc/igc_main.c
4296
adapter->eims_enable_mask |= adapter->eims_other;
drivers/net/ethernet/intel/igc/igc_main.c
4298
for (i = 0; i < adapter->num_q_vectors; i++)
drivers/net/ethernet/intel/igc/igc_main.c
4299
igc_assign_vector(adapter->q_vector[i], vector++);
drivers/net/ethernet/intel/igc/igc_main.c
4308
static void igc_irq_enable(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_main.c
4310
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_main.c
4312
if (adapter->msix_entries) {
drivers/net/ethernet/intel/igc/igc_main.c
4316
wr32(IGC_EIAC, regval | adapter->eims_enable_mask);
drivers/net/ethernet/intel/igc/igc_main.c
4318
wr32(IGC_EIAM, regval | adapter->eims_enable_mask);
drivers/net/ethernet/intel/igc/igc_main.c
4319
wr32(IGC_EIMS, adapter->eims_enable_mask);
drivers/net/ethernet/intel/igc/igc_main.c
4331
static void igc_irq_disable(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_main.c
4333
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_main.c
4335
if (adapter->msix_entries) {
drivers/net/ethernet/intel/igc/igc_main.c
4338
wr32(IGC_EIAM, regval & ~adapter->eims_enable_mask);
drivers/net/ethernet/intel/igc/igc_main.c
4339
wr32(IGC_EIMC, adapter->eims_enable_mask);
drivers/net/ethernet/intel/igc/igc_main.c
4341
wr32(IGC_EIAC, regval & ~adapter->eims_enable_mask);
drivers/net/ethernet/intel/igc/igc_main.c
4348
if (adapter->msix_entries) {
drivers/net/ethernet/intel/igc/igc_main.c
4351
synchronize_irq(adapter->msix_entries[vector++].vector);
drivers/net/ethernet/intel/igc/igc_main.c
4353
for (i = 0; i < adapter->num_q_vectors; i++)
drivers/net/ethernet/intel/igc/igc_main.c
4354
synchronize_irq(adapter->msix_entries[vector++].vector);
drivers/net/ethernet/intel/igc/igc_main.c
4356
synchronize_irq(adapter->pdev->irq);
drivers/net/ethernet/intel/igc/igc_main.c
4360
void igc_set_flag_queue_pairs(struct igc_adapter *adapter,
drivers/net/ethernet/intel/igc/igc_main.c
4367
if (adapter->rss_queues > (max_rss_queues / 2))
drivers/net/ethernet/intel/igc/igc_main.c
4368
adapter->flags |= IGC_FLAG_QUEUE_PAIRS;
drivers/net/ethernet/intel/igc/igc_main.c
4370
adapter->flags &= ~IGC_FLAG_QUEUE_PAIRS;
drivers/net/ethernet/intel/igc/igc_main.c
4373
unsigned int igc_get_max_rss_queues(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_main.c
4378
static void igc_init_queue_configuration(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_main.c
4382
max_rss_queues = igc_get_max_rss_queues(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
4383
adapter->rss_queues = min_t(u32, max_rss_queues, num_online_cpus());
drivers/net/ethernet/intel/igc/igc_main.c
4385
igc_set_flag_queue_pairs(adapter, max_rss_queues);
drivers/net/ethernet/intel/igc/igc_main.c
4396
static void igc_reset_q_vector(struct igc_adapter *adapter, int v_idx)
drivers/net/ethernet/intel/igc/igc_main.c
4398
struct igc_q_vector *q_vector = adapter->q_vector[v_idx];
drivers/net/ethernet/intel/igc/igc_main.c
4407
adapter->tx_ring[q_vector->tx.ring->queue_index] = NULL;
drivers/net/ethernet/intel/igc/igc_main.c
4410
adapter->rx_ring[q_vector->rx.ring->queue_index] = NULL;
drivers/net/ethernet/intel/igc/igc_main.c
4422
static void igc_free_q_vector(struct igc_adapter *adapter, int v_idx)
drivers/net/ethernet/intel/igc/igc_main.c
4424
struct igc_q_vector *q_vector = adapter->q_vector[v_idx];
drivers/net/ethernet/intel/igc/igc_main.c
4426
adapter->q_vector[v_idx] = NULL;
drivers/net/ethernet/intel/igc/igc_main.c
4443
static void igc_free_q_vectors(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_main.c
4445
int v_idx = adapter->num_q_vectors;
drivers/net/ethernet/intel/igc/igc_main.c
4447
adapter->num_tx_queues = 0;
drivers/net/ethernet/intel/igc/igc_main.c
4448
adapter->num_rx_queues = 0;
drivers/net/ethernet/intel/igc/igc_main.c
4449
adapter->num_q_vectors = 0;
drivers/net/ethernet/intel/igc/igc_main.c
4452
igc_reset_q_vector(adapter, v_idx);
drivers/net/ethernet/intel/igc/igc_main.c
4453
igc_free_q_vector(adapter, v_idx);
drivers/net/ethernet/intel/igc/igc_main.c
4526
struct igc_adapter *adapter = q_vector->adapter;
drivers/net/ethernet/intel/igc/igc_main.c
4531
switch (adapter->link_speed) {
drivers/net/ethernet/intel/igc/igc_main.c
4548
((q_vector->rx.ring && adapter->rx_itr_setting == 3) ||
drivers/net/ethernet/intel/igc/igc_main.c
4549
(!q_vector->rx.ring && adapter->tx_itr_setting == 3)))
drivers/net/ethernet/intel/igc/igc_main.c
4588
static void igc_reset_interrupt_capability(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_main.c
4590
int v_idx = adapter->num_q_vectors;
drivers/net/ethernet/intel/igc/igc_main.c
4592
if (adapter->msix_entries) {
drivers/net/ethernet/intel/igc/igc_main.c
4593
pci_disable_msix(adapter->pdev);
drivers/net/ethernet/intel/igc/igc_main.c
4594
kfree(adapter->msix_entries);
drivers/net/ethernet/intel/igc/igc_main.c
4595
adapter->msix_entries = NULL;
drivers/net/ethernet/intel/igc/igc_main.c
4596
} else if (adapter->flags & IGC_FLAG_HAS_MSI) {
drivers/net/ethernet/intel/igc/igc_main.c
4597
pci_disable_msi(adapter->pdev);
drivers/net/ethernet/intel/igc/igc_main.c
4601
igc_reset_q_vector(adapter, v_idx);
drivers/net/ethernet/intel/igc/igc_main.c
4612
static void igc_set_interrupt_capability(struct igc_adapter *adapter,
drivers/net/ethernet/intel/igc/igc_main.c
4620
adapter->flags |= IGC_FLAG_HAS_MSIX;
drivers/net/ethernet/intel/igc/igc_main.c
4623
adapter->num_rx_queues = adapter->rss_queues;
drivers/net/ethernet/intel/igc/igc_main.c
4625
adapter->num_tx_queues = adapter->rss_queues;
drivers/net/ethernet/intel/igc/igc_main.c
4628
numvecs = adapter->num_rx_queues;
drivers/net/ethernet/intel/igc/igc_main.c
4631
if (!(adapter->flags & IGC_FLAG_QUEUE_PAIRS))
drivers/net/ethernet/intel/igc/igc_main.c
4632
numvecs += adapter->num_tx_queues;
drivers/net/ethernet/intel/igc/igc_main.c
4635
adapter->num_q_vectors = numvecs;
drivers/net/ethernet/intel/igc/igc_main.c
4640
adapter->msix_entries = kzalloc_objs(struct msix_entry, numvecs);
drivers/net/ethernet/intel/igc/igc_main.c
4642
if (!adapter->msix_entries)
drivers/net/ethernet/intel/igc/igc_main.c
4647
adapter->msix_entries[i].entry = i;
drivers/net/ethernet/intel/igc/igc_main.c
4649
err = pci_enable_msix_range(adapter->pdev,
drivers/net/ethernet/intel/igc/igc_main.c
4650
adapter->msix_entries,
drivers/net/ethernet/intel/igc/igc_main.c
4656
kfree(adapter->msix_entries);
drivers/net/ethernet/intel/igc/igc_main.c
4657
adapter->msix_entries = NULL;
drivers/net/ethernet/intel/igc/igc_main.c
4659
igc_reset_interrupt_capability(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
4662
adapter->flags &= ~IGC_FLAG_HAS_MSIX;
drivers/net/ethernet/intel/igc/igc_main.c
4664
adapter->rss_queues = 1;
drivers/net/ethernet/intel/igc/igc_main.c
4665
adapter->flags |= IGC_FLAG_QUEUE_PAIRS;
drivers/net/ethernet/intel/igc/igc_main.c
4666
adapter->num_rx_queues = 1;
drivers/net/ethernet/intel/igc/igc_main.c
4667
adapter->num_tx_queues = 1;
drivers/net/ethernet/intel/igc/igc_main.c
4668
adapter->num_q_vectors = 1;
drivers/net/ethernet/intel/igc/igc_main.c
4669
if (!pci_enable_msi(adapter->pdev))
drivers/net/ethernet/intel/igc/igc_main.c
4670
adapter->flags |= IGC_FLAG_HAS_MSI;
drivers/net/ethernet/intel/igc/igc_main.c
4689
struct igc_adapter *adapter = q_vector->adapter;
drivers/net/ethernet/intel/igc/igc_main.c
4697
switch (adapter->link_speed) {
drivers/net/ethernet/intel/igc/igc_main.c
4733
((q_vector->rx.ring && adapter->rx_itr_setting == 3) ||
drivers/net/ethernet/intel/igc/igc_main.c
4734
(!q_vector->rx.ring && adapter->tx_itr_setting == 3)))
drivers/net/ethernet/intel/igc/igc_main.c
4751
struct igc_adapter *adapter = q_vector->adapter;
drivers/net/ethernet/intel/igc/igc_main.c
4752
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_main.c
4754
if ((q_vector->rx.ring && (adapter->rx_itr_setting & 3)) ||
drivers/net/ethernet/intel/igc/igc_main.c
4755
(!q_vector->rx.ring && (adapter->tx_itr_setting & 3))) {
drivers/net/ethernet/intel/igc/igc_main.c
4756
if (adapter->num_q_vectors == 1)
drivers/net/ethernet/intel/igc/igc_main.c
4762
if (!test_bit(__IGC_DOWN, &adapter->state)) {
drivers/net/ethernet/intel/igc/igc_main.c
4763
if (adapter->msix_entries)
drivers/net/ethernet/intel/igc/igc_main.c
4766
igc_irq_enable(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
4784
static void igc_cache_ring_register(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_main.c
4788
switch (adapter->hw.mac.type) {
drivers/net/ethernet/intel/igc/igc_main.c
4791
for (; i < adapter->num_rx_queues; i++)
drivers/net/ethernet/intel/igc/igc_main.c
4792
adapter->rx_ring[i]->reg_idx = i;
drivers/net/ethernet/intel/igc/igc_main.c
4793
for (; j < adapter->num_tx_queues; j++)
drivers/net/ethernet/intel/igc/igc_main.c
4794
adapter->tx_ring[j]->reg_idx = j;
drivers/net/ethernet/intel/igc/igc_main.c
4851
static int igc_alloc_q_vector(struct igc_adapter *adapter,
drivers/net/ethernet/intel/igc/igc_main.c
4867
q_vector = adapter->q_vector[v_idx];
drivers/net/ethernet/intel/igc/igc_main.c
487
static void igc_clean_all_rx_rings(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_main.c
4876
netif_napi_add(adapter->netdev, &q_vector->napi, igc_poll);
drivers/net/ethernet/intel/igc/igc_main.c
4879
adapter->q_vector[v_idx] = q_vector;
drivers/net/ethernet/intel/igc/igc_main.c
4880
q_vector->adapter = adapter;
drivers/net/ethernet/intel/igc/igc_main.c
4883
q_vector->tx.work_limit = adapter->tx_work_limit;
drivers/net/ethernet/intel/igc/igc_main.c
4886
q_vector->itr_register = adapter->io_addr + IGC_EITR(0);
drivers/net/ethernet/intel/igc/igc_main.c
4895
if (!adapter->rx_itr_setting || adapter->rx_itr_setting > 3)
drivers/net/ethernet/intel/igc/igc_main.c
4896
q_vector->itr_val = adapter->rx_itr_setting;
drivers/net/ethernet/intel/igc/igc_main.c
4899
if (!adapter->tx_itr_setting || adapter->tx_itr_setting > 3)
drivers/net/ethernet/intel/igc/igc_main.c
4900
q_vector->itr_val = adapter->tx_itr_setting;
drivers/net/ethernet/intel/igc/igc_main.c
4905
ring->dev = &adapter->pdev->dev;
drivers/net/ethernet/intel/igc/igc_main.c
4906
ring->netdev = adapter->netdev;
drivers/net/ethernet/intel/igc/igc_main.c
491
for (i = 0; i < adapter->num_rx_queues; i++)
drivers/net/ethernet/intel/igc/igc_main.c
4915
ring->count = adapter->tx_ring_count;
drivers/net/ethernet/intel/igc/igc_main.c
4919
adapter->tx_ring[txr_idx] = ring;
drivers/net/ethernet/intel/igc/igc_main.c
492
if (adapter->rx_ring[i])
drivers/net/ethernet/intel/igc/igc_main.c
4927
ring->dev = &adapter->pdev->dev;
drivers/net/ethernet/intel/igc/igc_main.c
4928
ring->netdev = adapter->netdev;
drivers/net/ethernet/intel/igc/igc_main.c
493
igc_clean_rx_ring(adapter->rx_ring[i]);
drivers/net/ethernet/intel/igc/igc_main.c
4937
ring->count = adapter->rx_ring_count;
drivers/net/ethernet/intel/igc/igc_main.c
4941
adapter->rx_ring[rxr_idx] = ring;
drivers/net/ethernet/intel/igc/igc_main.c
4954
static int igc_alloc_q_vectors(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_main.c
4956
int rxr_remaining = adapter->num_rx_queues;
drivers/net/ethernet/intel/igc/igc_main.c
4957
int txr_remaining = adapter->num_tx_queues;
drivers/net/ethernet/intel/igc/igc_main.c
4959
int q_vectors = adapter->num_q_vectors;
drivers/net/ethernet/intel/igc/igc_main.c
4964
err = igc_alloc_q_vector(adapter, q_vectors, v_idx,
drivers/net/ethernet/intel/igc/igc_main.c
4980
err = igc_alloc_q_vector(adapter, q_vectors, v_idx,
drivers/net/ethernet/intel/igc/igc_main.c
4996
adapter->num_tx_queues = 0;
drivers/net/ethernet/intel/igc/igc_main.c
4997
adapter->num_rx_queues = 0;
drivers/net/ethernet/intel/igc/igc_main.c
4998
adapter->num_q_vectors = 0;
drivers/net/ethernet/intel/igc/igc_main.c
5001
igc_free_q_vector(adapter, v_idx);
drivers/net/ethernet/intel/igc/igc_main.c
5013
static int igc_init_interrupt_scheme(struct igc_adapter *adapter, bool msix)
drivers/net/ethernet/intel/igc/igc_main.c
5015
struct net_device *dev = adapter->netdev;
drivers/net/ethernet/intel/igc/igc_main.c
5018
igc_set_interrupt_capability(adapter, msix);
drivers/net/ethernet/intel/igc/igc_main.c
5020
err = igc_alloc_q_vectors(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
5026
igc_cache_ring_register(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
5031
igc_reset_interrupt_capability(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
5043
static int igc_sw_init(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_main.c
5045
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/igc/igc_main.c
5046
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/intel/igc/igc_main.c
5047
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_main.c
5052
adapter->tx_ring_count = IGC_DEFAULT_TXD;
drivers/net/ethernet/intel/igc/igc_main.c
5053
adapter->rx_ring_count = IGC_DEFAULT_RXD;
drivers/net/ethernet/intel/igc/igc_main.c
5056
adapter->rx_itr_setting = IGC_DEFAULT_ITR;
drivers/net/ethernet/intel/igc/igc_main.c
5057
adapter->tx_itr_setting = IGC_DEFAULT_ITR;
drivers/net/ethernet/intel/igc/igc_main.c
5060
adapter->tx_work_limit = IGC_DEFAULT_TX_WORK;
drivers/net/ethernet/intel/igc/igc_main.c
5063
adapter->max_frame_size = netdev->mtu + ETH_HLEN + ETH_FCS_LEN +
drivers/net/ethernet/intel/igc/igc_main.c
5065
adapter->min_frame_size = ETH_ZLEN + ETH_FCS_LEN;
drivers/net/ethernet/intel/igc/igc_main.c
5067
mutex_init(&adapter->nfc_rule_lock);
drivers/net/ethernet/intel/igc/igc_main.c
5068
INIT_LIST_HEAD(&adapter->nfc_rule_list);
drivers/net/ethernet/intel/igc/igc_main.c
5069
adapter->nfc_rule_count = 0;
drivers/net/ethernet/intel/igc/igc_main.c
5071
spin_lock_init(&adapter->stats64_lock);
drivers/net/ethernet/intel/igc/igc_main.c
5072
spin_lock_init(&adapter->qbv_tx_lock);
drivers/net/ethernet/intel/igc/igc_main.c
5074
adapter->flags |= IGC_FLAG_HAS_MSIX;
drivers/net/ethernet/intel/igc/igc_main.c
5076
igc_init_queue_configuration(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
5079
if (igc_init_interrupt_scheme(adapter, true)) {
drivers/net/ethernet/intel/igc/igc_main.c
5085
igc_irq_disable(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
5087
set_bit(__IGC_DOWN, &adapter->state);
drivers/net/ethernet/intel/igc/igc_main.c
5092
static void igc_set_queue_napi(struct igc_adapter *adapter, int vector,
drivers/net/ethernet/intel/igc/igc_main.c
5095
struct igc_q_vector *q_vector = adapter->q_vector[vector];
drivers/net/ethernet/intel/igc/igc_main.c
5098
netif_queue_set_napi(adapter->netdev,
drivers/net/ethernet/intel/igc/igc_main.c
5103
netif_queue_set_napi(adapter->netdev,
drivers/net/ethernet/intel/igc/igc_main.c
5112
void igc_up(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_main.c
5114
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_main.c
5119
igc_configure(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
5121
clear_bit(__IGC_DOWN, &adapter->state);
drivers/net/ethernet/intel/igc/igc_main.c
5123
for (i = 0; i < adapter->num_q_vectors; i++) {
drivers/net/ethernet/intel/igc/igc_main.c
5124
napi = &adapter->q_vector[i]->napi;
drivers/net/ethernet/intel/igc/igc_main.c
5126
igc_set_queue_napi(adapter, i, napi);
drivers/net/ethernet/intel/igc/igc_main.c
5129
if (adapter->msix_entries)
drivers/net/ethernet/intel/igc/igc_main.c
5130
igc_configure_msix(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
5132
igc_assign_vector(adapter->q_vector[0], 0);
drivers/net/ethernet/intel/igc/igc_main.c
5136
igc_irq_enable(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
5138
netif_tx_start_all_queues(adapter->netdev);
drivers/net/ethernet/intel/igc/igc_main.c
5142
schedule_work(&adapter->watchdog_task);
drivers/net/ethernet/intel/igc/igc_main.c
5149
void igc_update_stats(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_main.c
5151
struct rtnl_link_stats64 *net_stats = &adapter->stats64;
drivers/net/ethernet/intel/igc/igc_main.c
5152
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/intel/igc/igc_main.c
5153
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_main.c
5163
if (adapter->link_speed == 0)
drivers/net/ethernet/intel/igc/igc_main.c
5172
for (i = 0; i < adapter->num_rx_queues; i++) {
drivers/net/ethernet/intel/igc/igc_main.c
5173
struct igc_ring *ring = adapter->rx_ring[i];
drivers/net/ethernet/intel/igc/igc_main.c
5198
for (i = 0; i < adapter->num_tx_queues; i++) {
drivers/net/ethernet/intel/igc/igc_main.c
5199
struct igc_ring *ring = adapter->tx_ring[i];
drivers/net/ethernet/intel/igc/igc_main.c
5214
adapter->stats.crcerrs += rd32(IGC_CRCERRS);
drivers/net/ethernet/intel/igc/igc_main.c
5215
adapter->stats.gprc += rd32(IGC_GPRC);
drivers/net/ethernet/intel/igc/igc_main.c
5216
adapter->stats.gorc += rd32(IGC_GORCL);
drivers/net/ethernet/intel/igc/igc_main.c
5218
adapter->stats.bprc += rd32(IGC_BPRC);
drivers/net/ethernet/intel/igc/igc_main.c
5219
adapter->stats.mprc += rd32(IGC_MPRC);
drivers/net/ethernet/intel/igc/igc_main.c
5220
adapter->stats.roc += rd32(IGC_ROC);
drivers/net/ethernet/intel/igc/igc_main.c
5222
adapter->stats.prc64 += rd32(IGC_PRC64);
drivers/net/ethernet/intel/igc/igc_main.c
5223
adapter->stats.prc127 += rd32(IGC_PRC127);
drivers/net/ethernet/intel/igc/igc_main.c
5224
adapter->stats.prc255 += rd32(IGC_PRC255);
drivers/net/ethernet/intel/igc/igc_main.c
5225
adapter->stats.prc511 += rd32(IGC_PRC511);
drivers/net/ethernet/intel/igc/igc_main.c
5226
adapter->stats.prc1023 += rd32(IGC_PRC1023);
drivers/net/ethernet/intel/igc/igc_main.c
5227
adapter->stats.prc1522 += rd32(IGC_PRC1522);
drivers/net/ethernet/intel/igc/igc_main.c
5228
adapter->stats.tlpic += rd32(IGC_TLPIC);
drivers/net/ethernet/intel/igc/igc_main.c
5229
adapter->stats.rlpic += rd32(IGC_RLPIC);
drivers/net/ethernet/intel/igc/igc_main.c
5230
adapter->stats.hgptc += rd32(IGC_HGPTC);
drivers/net/ethernet/intel/igc/igc_main.c
5233
adapter->stats.mpc += mpc;
drivers/net/ethernet/intel/igc/igc_main.c
5235
adapter->stats.scc += rd32(IGC_SCC);
drivers/net/ethernet/intel/igc/igc_main.c
5236
adapter->stats.ecol += rd32(IGC_ECOL);
drivers/net/ethernet/intel/igc/igc_main.c
5237
adapter->stats.mcc += rd32(IGC_MCC);
drivers/net/ethernet/intel/igc/igc_main.c
5238
adapter->stats.latecol += rd32(IGC_LATECOL);
drivers/net/ethernet/intel/igc/igc_main.c
5239
adapter->stats.dc += rd32(IGC_DC);
drivers/net/ethernet/intel/igc/igc_main.c
5240
adapter->stats.rlec += rd32(IGC_RLEC);
drivers/net/ethernet/intel/igc/igc_main.c
5241
adapter->stats.xonrxc += rd32(IGC_XONRXC);
drivers/net/ethernet/intel/igc/igc_main.c
5242
adapter->stats.xontxc += rd32(IGC_XONTXC);
drivers/net/ethernet/intel/igc/igc_main.c
5243
adapter->stats.xoffrxc += rd32(IGC_XOFFRXC);
drivers/net/ethernet/intel/igc/igc_main.c
5244
adapter->stats.xofftxc += rd32(IGC_XOFFTXC);
drivers/net/ethernet/intel/igc/igc_main.c
5245
adapter->stats.fcruc += rd32(IGC_FCRUC);
drivers/net/ethernet/intel/igc/igc_main.c
5246
adapter->stats.gptc += rd32(IGC_GPTC);
drivers/net/ethernet/intel/igc/igc_main.c
5247
adapter->stats.gotc += rd32(IGC_GOTCL);
drivers/net/ethernet/intel/igc/igc_main.c
5249
adapter->stats.rnbc += rd32(IGC_RNBC);
drivers/net/ethernet/intel/igc/igc_main.c
5250
adapter->stats.ruc += rd32(IGC_RUC);
drivers/net/ethernet/intel/igc/igc_main.c
5251
adapter->stats.rfc += rd32(IGC_RFC);
drivers/net/ethernet/intel/igc/igc_main.c
5252
adapter->stats.rjc += rd32(IGC_RJC);
drivers/net/ethernet/intel/igc/igc_main.c
5253
adapter->stats.tor += rd32(IGC_TORH);
drivers/net/ethernet/intel/igc/igc_main.c
5254
adapter->stats.tot += rd32(IGC_TOTH);
drivers/net/ethernet/intel/igc/igc_main.c
5255
adapter->stats.tpr += rd32(IGC_TPR);
drivers/net/ethernet/intel/igc/igc_main.c
5257
adapter->stats.ptc64 += rd32(IGC_PTC64);
drivers/net/ethernet/intel/igc/igc_main.c
5258
adapter->stats.ptc127 += rd32(IGC_PTC127);
drivers/net/ethernet/intel/igc/igc_main.c
5259
adapter->stats.ptc255 += rd32(IGC_PTC255);
drivers/net/ethernet/intel/igc/igc_main.c
5260
adapter->stats.ptc511 += rd32(IGC_PTC511);
drivers/net/ethernet/intel/igc/igc_main.c
5261
adapter->stats.ptc1023 += rd32(IGC_PTC1023);
drivers/net/ethernet/intel/igc/igc_main.c
5262
adapter->stats.ptc1522 += rd32(IGC_PTC1522);
drivers/net/ethernet/intel/igc/igc_main.c
5264
adapter->stats.mptc += rd32(IGC_MPTC);
drivers/net/ethernet/intel/igc/igc_main.c
5265
adapter->stats.bptc += rd32(IGC_BPTC);
drivers/net/ethernet/intel/igc/igc_main.c
5267
adapter->stats.tpt += rd32(IGC_TPT);
drivers/net/ethernet/intel/igc/igc_main.c
5268
adapter->stats.colc += rd32(IGC_COLC);
drivers/net/ethernet/intel/igc/igc_main.c
5269
adapter->stats.colc += rd32(IGC_RERC);
drivers/net/ethernet/intel/igc/igc_main.c
527
static void igc_free_all_rx_resources(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_main.c
5271
adapter->stats.algnerrc += rd32(IGC_ALGNERRC);
drivers/net/ethernet/intel/igc/igc_main.c
5273
adapter->stats.tsctc += rd32(IGC_TSCTC);
drivers/net/ethernet/intel/igc/igc_main.c
5275
adapter->stats.iac += rd32(IGC_IAC);
drivers/net/ethernet/intel/igc/igc_main.c
5278
net_stats->multicast = adapter->stats.mprc;
drivers/net/ethernet/intel/igc/igc_main.c
5279
net_stats->collisions = adapter->stats.colc;
drivers/net/ethernet/intel/igc/igc_main.c
5286
net_stats->rx_errors = adapter->stats.rxerrc +
drivers/net/ethernet/intel/igc/igc_main.c
5287
adapter->stats.crcerrs + adapter->stats.algnerrc +
drivers/net/ethernet/intel/igc/igc_main.c
5288
adapter->stats.ruc + adapter->stats.roc +
drivers/net/ethernet/intel/igc/igc_main.c
5289
adapter->stats.cexterr;
drivers/net/ethernet/intel/igc/igc_main.c
5290
net_stats->rx_length_errors = adapter->stats.ruc +
drivers/net/ethernet/intel/igc/igc_main.c
5291
adapter->stats.roc;
drivers/net/ethernet/intel/igc/igc_main.c
5292
net_stats->rx_crc_errors = adapter->stats.crcerrs;
drivers/net/ethernet/intel/igc/igc_main.c
5293
net_stats->rx_frame_errors = adapter->stats.algnerrc;
drivers/net/ethernet/intel/igc/igc_main.c
5294
net_stats->rx_missed_errors = adapter->stats.mpc;
drivers/net/ethernet/intel/igc/igc_main.c
5297
net_stats->tx_errors = adapter->stats.ecol +
drivers/net/ethernet/intel/igc/igc_main.c
5298
adapter->stats.latecol;
drivers/net/ethernet/intel/igc/igc_main.c
5299
net_stats->tx_aborted_errors = adapter->stats.ecol;
drivers/net/ethernet/intel/igc/igc_main.c
5300
net_stats->tx_window_errors = adapter->stats.latecol;
drivers/net/ethernet/intel/igc/igc_main.c
5301
net_stats->tx_carrier_errors = adapter->stats.tncrs;
drivers/net/ethernet/intel/igc/igc_main.c
5304
net_stats->tx_dropped = adapter->stats.txdrop;
drivers/net/ethernet/intel/igc/igc_main.c
5307
adapter->stats.mgptc += rd32(IGC_MGTPTC);
drivers/net/ethernet/intel/igc/igc_main.c
5308
adapter->stats.mgprc += rd32(IGC_MGTPRC);
drivers/net/ethernet/intel/igc/igc_main.c
5309
adapter->stats.mgpdc += rd32(IGC_MGTPDC);
drivers/net/ethernet/intel/igc/igc_main.c
531
for (i = 0; i < adapter->num_rx_queues; i++)
drivers/net/ethernet/intel/igc/igc_main.c
5316
void igc_down(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_main.c
5318
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/igc/igc_main.c
5319
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_main.c
532
igc_free_rx_resources(adapter->rx_ring[i]);
drivers/net/ethernet/intel/igc/igc_main.c
5323
set_bit(__IGC_DOWN, &adapter->state);
drivers/net/ethernet/intel/igc/igc_main.c
5325
igc_ptp_suspend(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
5327
if (pci_device_is_present(adapter->pdev)) {
drivers/net/ethernet/intel/igc/igc_main.c
5339
if (pci_device_is_present(adapter->pdev)) {
drivers/net/ethernet/intel/igc/igc_main.c
5348
igc_irq_disable(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
5351
adapter->flags &= ~IGC_FLAG_NEED_LINK_UPDATE;
drivers/net/ethernet/intel/igc/igc_main.c
5353
for (i = 0; i < adapter->num_q_vectors; i++) {
drivers/net/ethernet/intel/igc/igc_main.c
5354
if (adapter->q_vector[i]) {
drivers/net/ethernet/intel/igc/igc_main.c
5355
napi_synchronize(&adapter->q_vector[i]->napi);
drivers/net/ethernet/intel/igc/igc_main.c
5356
igc_set_queue_napi(adapter, i, NULL);
drivers/net/ethernet/intel/igc/igc_main.c
5357
napi_disable(&adapter->q_vector[i]->napi);
drivers/net/ethernet/intel/igc/igc_main.c
5361
timer_delete_sync(&adapter->watchdog_timer);
drivers/net/ethernet/intel/igc/igc_main.c
5362
timer_delete_sync(&adapter->phy_info_timer);
drivers/net/ethernet/intel/igc/igc_main.c
5365
spin_lock(&adapter->stats64_lock);
drivers/net/ethernet/intel/igc/igc_main.c
5366
igc_update_stats(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
5367
spin_unlock(&adapter->stats64_lock);
drivers/net/ethernet/intel/igc/igc_main.c
5369
adapter->link_speed = 0;
drivers/net/ethernet/intel/igc/igc_main.c
5370
adapter->link_duplex = 0;
drivers/net/ethernet/intel/igc/igc_main.c
5372
if (!pci_channel_offline(adapter->pdev))
drivers/net/ethernet/intel/igc/igc_main.c
5373
igc_reset(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
5376
adapter->flags &= ~IGC_FLAG_VLAN_PROMISC;
drivers/net/ethernet/intel/igc/igc_main.c
5378
igc_disable_all_tx_rings_hw(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
5379
igc_clean_all_tx_rings(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
5380
igc_clean_all_rx_rings(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
5382
if (adapter->fpe.mmsv.pmac_enabled)
drivers/net/ethernet/intel/igc/igc_main.c
5383
ethtool_mmsv_stop(&adapter->fpe.mmsv);
drivers/net/ethernet/intel/igc/igc_main.c
5386
void igc_reinit_locked(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_main.c
5388
while (test_and_set_bit(__IGC_RESETTING, &adapter->state))
drivers/net/ethernet/intel/igc/igc_main.c
5390
igc_down(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
5391
igc_up(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
5392
clear_bit(__IGC_RESETTING, &adapter->state);
drivers/net/ethernet/intel/igc/igc_main.c
5397
struct igc_adapter *adapter;
drivers/net/ethernet/intel/igc/igc_main.c
5399
adapter = container_of(work, struct igc_adapter, reset_task);
drivers/net/ethernet/intel/igc/igc_main.c
5403
if (test_bit(__IGC_DOWN, &adapter->state) ||
drivers/net/ethernet/intel/igc/igc_main.c
5404
test_bit(__IGC_RESETTING, &adapter->state)) {
drivers/net/ethernet/intel/igc/igc_main.c
5409
igc_rings_dump(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
5410
igc_regs_dump(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
5411
netdev_err(adapter->netdev, "Reset adapter\n");
drivers/net/ethernet/intel/igc/igc_main.c
5412
igc_reinit_locked(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
5426
struct igc_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igc/igc_main.c
5428
if (igc_xdp_is_enabled(adapter) && new_mtu > ETH_DATA_LEN) {
drivers/net/ethernet/intel/igc/igc_main.c
5437
while (test_and_set_bit(__IGC_RESETTING, &adapter->state))
drivers/net/ethernet/intel/igc/igc_main.c
5441
adapter->max_frame_size = max_frame;
drivers/net/ethernet/intel/igc/igc_main.c
5444
igc_down(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
5450
igc_up(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
5452
igc_reset(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
5454
clear_bit(__IGC_RESETTING, &adapter->state);
drivers/net/ethernet/intel/igc/igc_main.c
5467
struct igc_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igc/igc_main.c
5468
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_main.c
5471
adapter->tx_timeout_count++;
drivers/net/ethernet/intel/igc/igc_main.c
5472
schedule_work(&adapter->reset_task);
drivers/net/ethernet/intel/igc/igc_main.c
5474
(adapter->eims_enable_mask & ~adapter->eims_other));
drivers/net/ethernet/intel/igc/igc_main.c
5488
struct igc_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igc/igc_main.c
5490
spin_lock(&adapter->stats64_lock);
drivers/net/ethernet/intel/igc/igc_main.c
5491
if (!test_bit(__IGC_RESETTING, &adapter->state))
drivers/net/ethernet/intel/igc/igc_main.c
5492
igc_update_stats(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
5493
memcpy(stats, &adapter->stats64, sizeof(*stats));
drivers/net/ethernet/intel/igc/igc_main.c
5494
spin_unlock(&adapter->stats64_lock);
drivers/net/ethernet/intel/igc/igc_main.c
5515
struct igc_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igc/igc_main.c
5525
igc_flush_nfc_rules(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
5530
igc_reinit_locked(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
5532
igc_reset(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
5568
static void igc_tsync_interrupt(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_main.c
5570
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_main.c
5579
if (adapter->ptp_caps.pps)
drivers/net/ethernet/intel/igc/igc_main.c
5580
ptp_clock_event(adapter->ptp_clock, &event);
drivers/net/ethernet/intel/igc/igc_main.c
5585
igc_ptp_tx_tstamp_event(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
5589
spin_lock(&adapter->tmreg_lock);
drivers/net/ethernet/intel/igc/igc_main.c
5590
ts = timespec64_add(adapter->perout[0].start,
drivers/net/ethernet/intel/igc/igc_main.c
5591
adapter->perout[0].period);
drivers/net/ethernet/intel/igc/igc_main.c
5597
adapter->perout[0].start = ts;
drivers/net/ethernet/intel/igc/igc_main.c
5598
spin_unlock(&adapter->tmreg_lock);
drivers/net/ethernet/intel/igc/igc_main.c
5602
spin_lock(&adapter->tmreg_lock);
drivers/net/ethernet/intel/igc/igc_main.c
5603
ts = timespec64_add(adapter->perout[1].start,
drivers/net/ethernet/intel/igc/igc_main.c
5604
adapter->perout[1].period);
drivers/net/ethernet/intel/igc/igc_main.c
5610
adapter->perout[1].start = ts;
drivers/net/ethernet/intel/igc/igc_main.c
5611
spin_unlock(&adapter->tmreg_lock);
drivers/net/ethernet/intel/igc/igc_main.c
5620
ptp_clock_event(adapter->ptp_clock, &event);
drivers/net/ethernet/intel/igc/igc_main.c
5629
ptp_clock_event(adapter->ptp_clock, &event);
drivers/net/ethernet/intel/igc/igc_main.c
5640
struct igc_adapter *adapter = data;
drivers/net/ethernet/intel/igc/igc_main.c
5641
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_main.c
5646
schedule_work(&adapter->reset_task);
drivers/net/ethernet/intel/igc/igc_main.c
5650
adapter->stats.doosync++;
drivers/net/ethernet/intel/igc/igc_main.c
5656
if (!test_bit(__IGC_DOWN, &adapter->state))
drivers/net/ethernet/intel/igc/igc_main.c
5657
mod_timer(&adapter->watchdog_timer, jiffies + 1);
drivers/net/ethernet/intel/igc/igc_main.c
5661
igc_tsync_interrupt(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
5663
wr32(IGC_EIMS, adapter->eims_other);
drivers/net/ethernet/intel/igc/igc_main.c
5703
static int igc_request_msix(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_main.c
5705
unsigned int num_q_vectors = adapter->num_q_vectors;
drivers/net/ethernet/intel/igc/igc_main.c
5707
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/igc/igc_main.c
5709
err = request_irq(adapter->msix_entries[vector].vector,
drivers/net/ethernet/intel/igc/igc_main.c
5710
&igc_msix_other, 0, netdev->name, adapter);
drivers/net/ethernet/intel/igc/igc_main.c
5716
dev_warn(&adapter->pdev->dev,
drivers/net/ethernet/intel/igc/igc_main.c
5718
adapter->num_q_vectors, MAX_Q_VECTORS);
drivers/net/ethernet/intel/igc/igc_main.c
5721
struct igc_q_vector *q_vector = adapter->q_vector[i];
drivers/net/ethernet/intel/igc/igc_main.c
5725
q_vector->itr_register = adapter->io_addr + IGC_EITR(vector);
drivers/net/ethernet/intel/igc/igc_main.c
5739
err = request_irq(adapter->msix_entries[vector].vector,
drivers/net/ethernet/intel/igc/igc_main.c
5746
adapter->msix_entries[vector].vector);
drivers/net/ethernet/intel/igc/igc_main.c
5749
igc_configure_msix(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
5754
free_irq(adapter->msix_entries[free_vector++].vector, adapter);
drivers/net/ethernet/intel/igc/igc_main.c
5758
free_irq(adapter->msix_entries[free_vector++].vector,
drivers/net/ethernet/intel/igc/igc_main.c
5759
adapter->q_vector[i]);
drivers/net/ethernet/intel/igc/igc_main.c
5772
static void igc_clear_interrupt_scheme(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_main.c
5774
igc_free_q_vectors(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
5775
igc_reset_interrupt_capability(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
5783
struct igc_adapter *adapter = timer_container_of(adapter, t,
drivers/net/ethernet/intel/igc/igc_main.c
5786
igc_get_phy_info(&adapter->hw);
drivers/net/ethernet/intel/igc/igc_main.c
5793
bool igc_has_link(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_main.c
5795
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_main.c
5809
if (!netif_carrier_ok(adapter->netdev)) {
drivers/net/ethernet/intel/igc/igc_main.c
5810
adapter->flags &= ~IGC_FLAG_NEED_LINK_UPDATE;
drivers/net/ethernet/intel/igc/igc_main.c
5811
} else if (!(adapter->flags & IGC_FLAG_NEED_LINK_UPDATE)) {
drivers/net/ethernet/intel/igc/igc_main.c
5812
adapter->flags |= IGC_FLAG_NEED_LINK_UPDATE;
drivers/net/ethernet/intel/igc/igc_main.c
5813
adapter->link_check_timeout = jiffies;
drivers/net/ethernet/intel/igc/igc_main.c
5826
struct igc_adapter *adapter = timer_container_of(adapter, t,
drivers/net/ethernet/intel/igc/igc_main.c
5829
schedule_work(&adapter->watchdog_task);
drivers/net/ethernet/intel/igc/igc_main.c
5834
struct igc_adapter *adapter = container_of(work,
drivers/net/ethernet/intel/igc/igc_main.c
5837
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/igc/igc_main.c
5838
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_main.c
5844
link = igc_has_link(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
5846
if (adapter->flags & IGC_FLAG_NEED_LINK_UPDATE) {
drivers/net/ethernet/intel/igc/igc_main.c
5847
if (time_after(jiffies, (adapter->link_check_timeout + HZ)))
drivers/net/ethernet/intel/igc/igc_main.c
5848
adapter->flags &= ~IGC_FLAG_NEED_LINK_UPDATE;
drivers/net/ethernet/intel/igc/igc_main.c
5861
&adapter->link_speed,
drivers/net/ethernet/intel/igc/igc_main.c
5862
&adapter->link_duplex);
drivers/net/ethernet/intel/igc/igc_main.c
5868
adapter->link_speed,
drivers/net/ethernet/intel/igc/igc_main.c
5869
adapter->link_duplex == FULL_DUPLEX ?
drivers/net/ethernet/intel/igc/igc_main.c
5877
if ((adapter->flags & IGC_FLAG_EEE) &&
drivers/net/ethernet/intel/igc/igc_main.c
5878
adapter->link_duplex == HALF_DUPLEX) {
drivers/net/ethernet/intel/igc/igc_main.c
5881
adapter->hw.dev_spec._base.eee_enable = false;
drivers/net/ethernet/intel/igc/igc_main.c
5882
adapter->flags &= ~IGC_FLAG_EEE;
drivers/net/ethernet/intel/igc/igc_main.c
5891
adapter->tx_timeout_factor = 1;
drivers/net/ethernet/intel/igc/igc_main.c
5892
switch (adapter->link_speed) {
drivers/net/ethernet/intel/igc/igc_main.c
5894
adapter->tx_timeout_factor = 14;
drivers/net/ethernet/intel/igc/igc_main.c
5899
adapter->tx_timeout_factor = 1;
drivers/net/ethernet/intel/igc/igc_main.c
5908
igc_tsn_adjust_txtime_offset(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
5910
if (adapter->fpe.mmsv.pmac_enabled)
drivers/net/ethernet/intel/igc/igc_main.c
5911
ethtool_mmsv_link_state_handle(&adapter->fpe.mmsv,
drivers/net/ethernet/intel/igc/igc_main.c
5914
if (adapter->link_speed != SPEED_1000)
drivers/net/ethernet/intel/igc/igc_main.c
5936
if (!test_bit(__IGC_DOWN, &adapter->state))
drivers/net/ethernet/intel/igc/igc_main.c
5937
mod_timer(&adapter->phy_info_timer,
drivers/net/ethernet/intel/igc/igc_main.c
5942
adapter->link_speed = 0;
drivers/net/ethernet/intel/igc/igc_main.c
5943
adapter->link_duplex = 0;
drivers/net/ethernet/intel/igc/igc_main.c
5949
if (adapter->fpe.mmsv.pmac_enabled)
drivers/net/ethernet/intel/igc/igc_main.c
5950
ethtool_mmsv_link_state_handle(&adapter->fpe.mmsv,
drivers/net/ethernet/intel/igc/igc_main.c
5954
if (!test_bit(__IGC_DOWN, &adapter->state))
drivers/net/ethernet/intel/igc/igc_main.c
5955
mod_timer(&adapter->phy_info_timer,
drivers/net/ethernet/intel/igc/igc_main.c
5963
spin_lock(&adapter->stats64_lock);
drivers/net/ethernet/intel/igc/igc_main.c
5964
igc_update_stats(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
5965
spin_unlock(&adapter->stats64_lock);
drivers/net/ethernet/intel/igc/igc_main.c
5967
for (i = 0; i < adapter->num_tx_queues; i++) {
drivers/net/ethernet/intel/igc/igc_main.c
5968
struct igc_ring *tx_ring = adapter->tx_ring[i];
drivers/net/ethernet/intel/igc/igc_main.c
597
static int igc_setup_all_rx_resources(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_main.c
5977
adapter->tx_timeout_count++;
drivers/net/ethernet/intel/igc/igc_main.c
5978
schedule_work(&adapter->reset_task);
drivers/net/ethernet/intel/igc/igc_main.c
5989
if (adapter->flags & IGC_FLAG_HAS_MSIX) {
drivers/net/ethernet/intel/igc/igc_main.c
599
struct net_device *dev = adapter->netdev;
drivers/net/ethernet/intel/igc/igc_main.c
5992
for (i = 0; i < adapter->num_q_vectors; i++) {
drivers/net/ethernet/intel/igc/igc_main.c
5993
struct igc_q_vector *q_vector = adapter->q_vector[i];
drivers/net/ethernet/intel/igc/igc_main.c
5999
rx_ring = adapter->rx_ring[q_vector->rx.ring->queue_index];
drivers/net/ethernet/intel/igc/igc_main.c
6009
struct igc_ring *rx_ring = adapter->rx_ring[0];
drivers/net/ethernet/intel/igc/igc_main.c
6017
igc_ptp_tx_hang(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
602
for (i = 0; i < adapter->num_rx_queues; i++) {
drivers/net/ethernet/intel/igc/igc_main.c
6020
if (!test_bit(__IGC_DOWN, &adapter->state)) {
drivers/net/ethernet/intel/igc/igc_main.c
6021
if (adapter->flags & IGC_FLAG_NEED_LINK_UPDATE)
drivers/net/ethernet/intel/igc/igc_main.c
6022
mod_timer(&adapter->watchdog_timer,
drivers/net/ethernet/intel/igc/igc_main.c
6025
mod_timer(&adapter->watchdog_timer,
drivers/net/ethernet/intel/igc/igc_main.c
603
err = igc_setup_rx_resources(adapter->rx_ring[i]);
drivers/net/ethernet/intel/igc/igc_main.c
6037
struct igc_adapter *adapter = data;
drivers/net/ethernet/intel/igc/igc_main.c
6038
struct igc_q_vector *q_vector = adapter->q_vector[0];
drivers/net/ethernet/intel/igc/igc_main.c
6039
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_main.c
6046
schedule_work(&adapter->reset_task);
drivers/net/ethernet/intel/igc/igc_main.c
6050
adapter->stats.doosync++;
drivers/net/ethernet/intel/igc/igc_main.c
6055
if (!test_bit(__IGC_DOWN, &adapter->state))
drivers/net/ethernet/intel/igc/igc_main.c
6056
mod_timer(&adapter->watchdog_timer, jiffies + 1);
drivers/net/ethernet/intel/igc/igc_main.c
6060
igc_tsync_interrupt(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
607
igc_free_rx_resources(adapter->rx_ring[i]);
drivers/net/ethernet/intel/igc/igc_main.c
6074
struct igc_adapter *adapter = data;
drivers/net/ethernet/intel/igc/igc_main.c
6075
struct igc_q_vector *q_vector = adapter->q_vector[0];
drivers/net/ethernet/intel/igc/igc_main.c
6076
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_main.c
6091
schedule_work(&adapter->reset_task);
drivers/net/ethernet/intel/igc/igc_main.c
6095
adapter->stats.doosync++;
drivers/net/ethernet/intel/igc/igc_main.c
6101
if (!test_bit(__IGC_DOWN, &adapter->state))
drivers/net/ethernet/intel/igc/igc_main.c
6102
mod_timer(&adapter->watchdog_timer, jiffies + 1);
drivers/net/ethernet/intel/igc/igc_main.c
6106
igc_tsync_interrupt(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
6113
static void igc_free_irq(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_main.c
6115
if (adapter->msix_entries) {
drivers/net/ethernet/intel/igc/igc_main.c
6118
free_irq(adapter->msix_entries[vector++].vector, adapter);
drivers/net/ethernet/intel/igc/igc_main.c
6120
for (i = 0; i < adapter->num_q_vectors; i++)
drivers/net/ethernet/intel/igc/igc_main.c
6121
free_irq(adapter->msix_entries[vector++].vector,
drivers/net/ethernet/intel/igc/igc_main.c
6122
adapter->q_vector[i]);
drivers/net/ethernet/intel/igc/igc_main.c
6124
free_irq(adapter->pdev->irq, adapter);
drivers/net/ethernet/intel/igc/igc_main.c
6135
static int igc_request_irq(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_main.c
6137
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/igc/igc_main.c
6138
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/intel/igc/igc_main.c
6141
if (adapter->flags & IGC_FLAG_HAS_MSIX) {
drivers/net/ethernet/intel/igc/igc_main.c
6142
err = igc_request_msix(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
6146
igc_free_all_tx_resources(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
6147
igc_free_all_rx_resources(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
6149
igc_clear_interrupt_scheme(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
615
static struct xsk_buff_pool *igc_get_xsk_pool(struct igc_adapter *adapter,
drivers/net/ethernet/intel/igc/igc_main.c
6150
err = igc_init_interrupt_scheme(adapter, false);
drivers/net/ethernet/intel/igc/igc_main.c
6153
igc_setup_all_tx_resources(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
6154
igc_setup_all_rx_resources(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
6155
igc_configure(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
6158
igc_assign_vector(adapter->q_vector[0], 0);
drivers/net/ethernet/intel/igc/igc_main.c
6160
if (adapter->flags & IGC_FLAG_HAS_MSI) {
drivers/net/ethernet/intel/igc/igc_main.c
6162
netdev->name, adapter);
drivers/net/ethernet/intel/igc/igc_main.c
6167
igc_reset_interrupt_capability(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
6168
adapter->flags &= ~IGC_FLAG_HAS_MSI;
drivers/net/ethernet/intel/igc/igc_main.c
6172
netdev->name, adapter);
drivers/net/ethernet/intel/igc/igc_main.c
618
if (!igc_xdp_is_enabled(adapter) ||
drivers/net/ethernet/intel/igc/igc_main.c
6196
struct igc_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igc/igc_main.c
6197
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/intel/igc/igc_main.c
6198
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_main.c
6205
if (test_bit(__IGC_TESTING, &adapter->state)) {
drivers/net/ethernet/intel/igc/igc_main.c
6216
err = igc_setup_all_tx_resources(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
6221
err = igc_setup_all_rx_resources(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
6225
igc_power_up_link(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
6227
igc_configure(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
6229
err = igc_request_irq(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
6233
clear_bit(__IGC_DOWN, &adapter->state);
drivers/net/ethernet/intel/igc/igc_main.c
6235
for (i = 0; i < adapter->num_q_vectors; i++) {
drivers/net/ethernet/intel/igc/igc_main.c
6236
napi = &adapter->q_vector[i]->napi;
drivers/net/ethernet/intel/igc/igc_main.c
6238
igc_set_queue_napi(adapter, i, napi);
drivers/net/ethernet/intel/igc/igc_main.c
6243
igc_irq_enable(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
6252
schedule_work(&adapter->watchdog_task);
drivers/net/ethernet/intel/igc/igc_main.c
6257
igc_release_hw_control(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
6258
igc_power_down_phy_copper_base(&adapter->hw);
drivers/net/ethernet/intel/igc/igc_main.c
6259
igc_free_all_rx_resources(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
6261
igc_free_all_tx_resources(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
6263
igc_reset(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
6272
struct igc_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igc/igc_main.c
6276
err = netif_set_real_num_queues(netdev, adapter->num_tx_queues,
drivers/net/ethernet/intel/igc/igc_main.c
6277
adapter->num_rx_queues);
drivers/net/ethernet/intel/igc/igc_main.c
6300
struct igc_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igc/igc_main.c
6301
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/intel/igc/igc_main.c
6303
WARN_ON(test_bit(__IGC_RESETTING, &adapter->state));
drivers/net/ethernet/intel/igc/igc_main.c
6308
igc_down(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
6310
igc_release_hw_control(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
6312
igc_free_irq(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
6314
igc_free_all_tx_resources(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
6315
igc_free_all_rx_resources(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
632
static void igc_configure_rx_ring(struct igc_adapter *adapter,
drivers/net/ethernet/intel/igc/igc_main.c
6330
static int igc_save_launchtime_params(struct igc_adapter *adapter, int queue,
drivers/net/ethernet/intel/igc/igc_main.c
6335
if (queue < 0 || queue >= adapter->num_tx_queues)
drivers/net/ethernet/intel/igc/igc_main.c
6338
ring = adapter->tx_ring[queue];
drivers/net/ethernet/intel/igc/igc_main.c
635
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_main.c
6353
static bool validate_schedule(struct igc_adapter *adapter,
drivers/net/ethernet/intel/igc/igc_main.c
6357
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_main.c
6364
igc_ptp_read(adapter, &now);
drivers/net/ethernet/intel/igc/igc_main.c
6389
for (i = 0; i < adapter->num_tx_queues; i++)
drivers/net/ethernet/intel/igc/igc_main.c
6406
static int igc_tsn_enable_launchtime(struct igc_adapter *adapter,
drivers/net/ethernet/intel/igc/igc_main.c
6409
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_main.c
6415
err = igc_save_launchtime_params(adapter, qopt->queue, qopt->enable);
drivers/net/ethernet/intel/igc/igc_main.c
6419
return igc_tsn_offload_apply(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
6422
static int igc_qbv_clear_schedule(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_main.c
6427
adapter->base_time = 0;
drivers/net/ethernet/intel/igc/igc_main.c
6428
adapter->cycle_time = NSEC_PER_SEC;
drivers/net/ethernet/intel/igc/igc_main.c
6429
adapter->taprio_offload_enable = false;
drivers/net/ethernet/intel/igc/igc_main.c
643
ring->xsk_pool = igc_get_xsk_pool(adapter, ring);
drivers/net/ethernet/intel/igc/igc_main.c
6430
adapter->qbv_config_change_errors = 0;
drivers/net/ethernet/intel/igc/igc_main.c
6431
adapter->qbv_count = 0;
drivers/net/ethernet/intel/igc/igc_main.c
6433
for (i = 0; i < adapter->num_tx_queues; i++) {
drivers/net/ethernet/intel/igc/igc_main.c
6434
struct igc_ring *ring = adapter->tx_ring[i];
drivers/net/ethernet/intel/igc/igc_main.c
6442
spin_lock_irqsave(&adapter->qbv_tx_lock, flags);
drivers/net/ethernet/intel/igc/igc_main.c
6444
adapter->qbv_transition = false;
drivers/net/ethernet/intel/igc/igc_main.c
6446
for (i = 0; i < adapter->num_tx_queues; i++) {
drivers/net/ethernet/intel/igc/igc_main.c
6447
struct igc_ring *ring = adapter->tx_ring[i];
drivers/net/ethernet/intel/igc/igc_main.c
6453
spin_unlock_irqrestore(&adapter->qbv_tx_lock, flags);
drivers/net/ethernet/intel/igc/igc_main.c
6458
static int igc_tsn_clear_schedule(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_main.c
6460
igc_qbv_clear_schedule(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
6485
static int igc_save_qbv_schedule(struct igc_adapter *adapter,
drivers/net/ethernet/intel/igc/igc_main.c
6489
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_main.c
6499
if (igc_is_device_id_i225(hw) && adapter->taprio_offload_enable)
drivers/net/ethernet/intel/igc/igc_main.c
6502
if (!validate_schedule(adapter, qopt))
drivers/net/ethernet/intel/igc/igc_main.c
6506
!(adapter->flags & IGC_FLAG_TSN_REVERSE_TXQ_PRIO)) {
drivers/net/ethernet/intel/igc/igc_main.c
6512
igc_ptp_read(adapter, &now);
drivers/net/ethernet/intel/igc/igc_main.c
6514
if (igc_tsn_is_taprio_activated_by_user(adapter) &&
drivers/net/ethernet/intel/igc/igc_main.c
6516
adapter->qbv_config_change_errors++;
drivers/net/ethernet/intel/igc/igc_main.c
6518
adapter->cycle_time = qopt->cycle_time;
drivers/net/ethernet/intel/igc/igc_main.c
6519
adapter->base_time = qopt->base_time;
drivers/net/ethernet/intel/igc/igc_main.c
6520
adapter->taprio_offload_enable = true;
drivers/net/ethernet/intel/igc/igc_main.c
6538
if (end_time > adapter->cycle_time ||
drivers/net/ethernet/intel/igc/igc_main.c
6540
end_time = adapter->cycle_time;
drivers/net/ethernet/intel/igc/igc_main.c
6542
for (i = 0; i < adapter->num_tx_queues; i++) {
drivers/net/ethernet/intel/igc/igc_main.c
6543
struct igc_ring *ring = adapter->tx_ring[i];
drivers/net/ethernet/intel/igc/igc_main.c
655
if (igc_xdp_is_enabled(adapter))
drivers/net/ethernet/intel/igc/igc_main.c
6556
if (ring->start_time >= adapter->cycle_time)
drivers/net/ethernet/intel/igc/igc_main.c
6565
spin_lock_irqsave(&adapter->qbv_tx_lock, flags);
drivers/net/ethernet/intel/igc/igc_main.c
6570
for (i = 0; i < adapter->num_tx_queues; i++) {
drivers/net/ethernet/intel/igc/igc_main.c
6571
struct igc_ring *ring = adapter->tx_ring[i];
drivers/net/ethernet/intel/igc/igc_main.c
6591
spin_unlock_irqrestore(&adapter->qbv_tx_lock, flags);
drivers/net/ethernet/intel/igc/igc_main.c
6593
for (i = 0; i < adapter->num_tx_queues; i++) {
drivers/net/ethernet/intel/igc/igc_main.c
6594
struct igc_ring *ring = adapter->tx_ring[i];
drivers/net/ethernet/intel/igc/igc_main.c
6595
struct net_device *dev = adapter->netdev;
drivers/net/ethernet/intel/igc/igc_main.c
6603
igc_fpe_save_preempt_queue(adapter, &qopt->mqprio);
drivers/net/ethernet/intel/igc/igc_main.c
6608
static int igc_tsn_enable_qbv_scheduling(struct igc_adapter *adapter,
drivers/net/ethernet/intel/igc/igc_main.c
6611
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_main.c
6619
err = igc_save_qbv_schedule(adapter, qopt);
drivers/net/ethernet/intel/igc/igc_main.c
6622
err = igc_tsn_clear_schedule(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
6625
igc_taprio_stats(adapter->netdev, &qopt->stats);
drivers/net/ethernet/intel/igc/igc_main.c
6628
igc_taprio_queue_stats(adapter->netdev, &qopt->queue_stats);
drivers/net/ethernet/intel/igc/igc_main.c
6637
return igc_tsn_offload_apply(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
6640
static int igc_save_cbs_params(struct igc_adapter *adapter, int queue,
drivers/net/ethernet/intel/igc/igc_main.c
6645
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/igc/igc_main.c
6655
ring = adapter->tx_ring[queue];
drivers/net/ethernet/intel/igc/igc_main.c
6658
if (adapter->tx_ring[i])
drivers/net/ethernet/intel/igc/igc_main.c
6659
cbs_status[i] = adapter->tx_ring[i]->cbs_enable;
drivers/net/ethernet/intel/igc/igc_main.c
6687
static int igc_tsn_enable_cbs(struct igc_adapter *adapter,
drivers/net/ethernet/intel/igc/igc_main.c
669
ring->tail = adapter->io_addr + IGC_RDT(reg_idx);
drivers/net/ethernet/intel/igc/igc_main.c
6690
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_main.c
6699
err = igc_save_cbs_params(adapter, qopt->queue, qopt->enable,
drivers/net/ethernet/intel/igc/igc_main.c
6705
return igc_tsn_offload_apply(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
6708
static int igc_tc_query_caps(struct igc_adapter *adapter,
drivers/net/ethernet/intel/igc/igc_main.c
6711
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_main.c
6724
if (!(adapter->flags & IGC_FLAG_TSN_REVERSE_TXQ_PRIO))
drivers/net/ethernet/intel/igc/igc_main.c
6739
static void igc_save_mqprio_params(struct igc_adapter *adapter, u8 num_tc,
drivers/net/ethernet/intel/igc/igc_main.c
6744
adapter->strict_priority_enable = true;
drivers/net/ethernet/intel/igc/igc_main.c
6745
adapter->num_tc = num_tc;
drivers/net/ethernet/intel/igc/igc_main.c
6748
adapter->queue_per_tc[i] = offset[i];
drivers/net/ethernet/intel/igc/igc_main.c
6765
static int igc_tsn_enable_mqprio(struct igc_adapter *adapter,
drivers/net/ethernet/intel/igc/igc_main.c
6768
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_main.c
6775
adapter->strict_priority_enable = false;
drivers/net/ethernet/intel/igc/igc_main.c
6776
igc_fpe_clear_preempt_queue(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
6777
netdev_reset_tc(adapter->netdev);
drivers/net/ethernet/intel/igc/igc_main.c
6782
if (mqprio->qopt.num_tc != adapter->num_tx_queues) {
drivers/net/ethernet/intel/igc/igc_main.c
6785
adapter->num_tx_queues);
drivers/net/ethernet/intel/igc/igc_main.c
6804
igc_save_mqprio_params(adapter, mqprio->qopt.num_tc,
drivers/net/ethernet/intel/igc/igc_main.c
6807
err = netdev_set_num_tc(adapter->netdev, adapter->num_tc);
drivers/net/ethernet/intel/igc/igc_main.c
6811
for (i = 0; i < adapter->num_tc; i++) {
drivers/net/ethernet/intel/igc/igc_main.c
6812
err = netdev_set_tc_queue(adapter->netdev, i, 1,
drivers/net/ethernet/intel/igc/igc_main.c
6813
adapter->queue_per_tc[i]);
drivers/net/ethernet/intel/igc/igc_main.c
6820
adapter->queue_per_tc[i] = i;
drivers/net/ethernet/intel/igc/igc_main.c
6823
igc_fpe_save_preempt_queue(adapter, mqprio);
drivers/net/ethernet/intel/igc/igc_main.c
6826
return igc_tsn_offload_apply(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
6832
struct igc_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/intel/igc/igc_main.c
6834
adapter->tc_setup_type = type;
drivers/net/ethernet/intel/igc/igc_main.c
6838
return igc_tc_query_caps(adapter, type_data);
drivers/net/ethernet/intel/igc/igc_main.c
6840
return igc_tsn_enable_qbv_scheduling(adapter, type_data);
drivers/net/ethernet/intel/igc/igc_main.c
6843
return igc_tsn_enable_launchtime(adapter, type_data);
drivers/net/ethernet/intel/igc/igc_main.c
6846
return igc_tsn_enable_cbs(adapter, type_data);
drivers/net/ethernet/intel/igc/igc_main.c
6849
return igc_tsn_enable_mqprio(adapter, type_data);
drivers/net/ethernet/intel/igc/igc_main.c
6858
struct igc_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/intel/igc/igc_main.c
6862
return igc_xdp_set_prog(adapter, bpf->prog, bpf->extack);
drivers/net/ethernet/intel/igc/igc_main.c
6864
return igc_xdp_setup_pool(adapter, bpf->xsk.pool,
drivers/net/ethernet/intel/igc/igc_main.c
6874
struct igc_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/intel/igc/igc_main.c
6886
ring = igc_get_tx_ring(adapter, cpu);
drivers/net/ethernet/intel/igc/igc_main.c
6925
struct igc_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/intel/igc/igc_main.c
6926
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_main.c
6930
if (test_bit(__IGC_DOWN, &adapter->state))
drivers/net/ethernet/intel/igc/igc_main.c
6933
if (!igc_xdp_is_enabled(adapter))
drivers/net/ethernet/intel/igc/igc_main.c
6936
if (queue_id >= adapter->num_rx_queues)
drivers/net/ethernet/intel/igc/igc_main.c
6939
ring = adapter->rx_ring[queue_id];
drivers/net/ethernet/intel/igc/igc_main.c
6953
ring = adapter->tx_ring[queue_id];
drivers/net/ethernet/intel/igc/igc_main.c
6968
struct igc_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/intel/igc/igc_main.c
6975
timestamp = igc_ptp_rx_pktstamp(adapter, tstamp->timer1);
drivers/net/ethernet/intel/igc/igc_main.c
6977
timestamp = igc_ptp_rx_pktstamp(adapter, tstamp->timer0);
drivers/net/ethernet/intel/igc/igc_main.c
7065
struct igc_adapter *adapter = netdev_priv(ctx->xdp.rxq->dev);
drivers/net/ethernet/intel/igc/igc_main.c
7069
*timestamp = igc_ptp_rx_pktstamp(adapter, tstamp->timer0);
drivers/net/ethernet/intel/igc/igc_main.c
7084
struct igc_adapter *adapter = container_of(timer, struct igc_adapter,
drivers/net/ethernet/intel/igc/igc_main.c
7089
spin_lock_irqsave(&adapter->qbv_tx_lock, flags);
drivers/net/ethernet/intel/igc/igc_main.c
7091
adapter->qbv_transition = true;
drivers/net/ethernet/intel/igc/igc_main.c
7092
for (i = 0; i < adapter->num_tx_queues; i++) {
drivers/net/ethernet/intel/igc/igc_main.c
7093
struct igc_ring *tx_ring = adapter->tx_ring[i];
drivers/net/ethernet/intel/igc/igc_main.c
7102
adapter->qbv_transition = false;
drivers/net/ethernet/intel/igc/igc_main.c
7104
spin_unlock_irqrestore(&adapter->qbv_tx_lock, flags);
drivers/net/ethernet/intel/igc/igc_main.c
7123
struct igc_adapter *adapter;
drivers/net/ethernet/intel/igc/igc_main.c
7160
adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igc/igc_main.c
7161
adapter->netdev = netdev;
drivers/net/ethernet/intel/igc/igc_main.c
7162
adapter->pdev = pdev;
drivers/net/ethernet/intel/igc/igc_main.c
7163
hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_main.c
7164
hw->back = adapter;
drivers/net/ethernet/intel/igc/igc_main.c
7165
adapter->port_num = hw->bus.func;
drivers/net/ethernet/intel/igc/igc_main.c
7166
adapter->msg_enable = netif_msg_init(debug, DEFAULT_MSG_ENABLE);
drivers/net/ethernet/intel/igc/igc_main.c
717
static void igc_configure_rx(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_main.c
7184
adapter->io_addr = ioremap(pci_resource_start(pdev, 0),
drivers/net/ethernet/intel/igc/igc_main.c
7186
if (!adapter->io_addr)
drivers/net/ethernet/intel/igc/igc_main.c
7190
hw->hw_addr = adapter->io_addr;
drivers/net/ethernet/intel/igc/igc_main.c
7232
err = igc_sw_init(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
724
for (i = 0; i < adapter->num_rx_queues; i++)
drivers/net/ethernet/intel/igc/igc_main.c
725
igc_configure_rx_ring(adapter, adapter->rx_ring[i]);
drivers/net/ethernet/intel/igc/igc_main.c
7289
timer_setup(&adapter->watchdog_timer, igc_watchdog, 0);
drivers/net/ethernet/intel/igc/igc_main.c
7290
timer_setup(&adapter->phy_info_timer, igc_update_phy_info, 0);
drivers/net/ethernet/intel/igc/igc_main.c
7292
INIT_WORK(&adapter->reset_task, igc_reset_task);
drivers/net/ethernet/intel/igc/igc_main.c
7293
INIT_WORK(&adapter->watchdog_task, igc_watchdog_task);
drivers/net/ethernet/intel/igc/igc_main.c
7295
hrtimer_setup(&adapter->hrtimer, &igc_qbv_scheduling_timer, CLOCK_MONOTONIC,
drivers/net/ethernet/intel/igc/igc_main.c
7299
adapter->fc_autoneg = true;
drivers/net/ethernet/intel/igc/igc_main.c
7306
adapter->flags |= IGC_FLAG_WOL_SUPPORTED;
drivers/net/ethernet/intel/igc/igc_main.c
7309
if (adapter->flags & IGC_FLAG_WOL_SUPPORTED)
drivers/net/ethernet/intel/igc/igc_main.c
7310
adapter->wol |= IGC_WUFC_MAG;
drivers/net/ethernet/intel/igc/igc_main.c
7312
device_set_wakeup_enable(&adapter->pdev->dev,
drivers/net/ethernet/intel/igc/igc_main.c
7313
adapter->flags & IGC_FLAG_WOL_SUPPORTED);
drivers/net/ethernet/intel/igc/igc_main.c
7315
igc_ptp_init(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
7317
igc_tsn_clear_schedule(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
7319
igc_fpe_init(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
7322
igc_reset(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
7327
igc_get_hw_control(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
7338
adapter->ei = *ei;
drivers/net/ethernet/intel/igc/igc_main.c
7347
adapter->flags &= ~IGC_FLAG_EEE;
drivers/net/ethernet/intel/igc/igc_main.c
735
static void igc_configure_tx_ring(struct igc_adapter *adapter,
drivers/net/ethernet/intel/igc/igc_main.c
7353
err = igc_led_setup(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
7358
adapter->leds_available = false;
drivers/net/ethernet/intel/igc/igc_main.c
7360
adapter->leds_available = true;
drivers/net/ethernet/intel/igc/igc_main.c
7367
igc_release_hw_control(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
7368
igc_ptp_stop(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
7373
igc_clear_interrupt_scheme(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
7374
iounmap(adapter->io_addr);
drivers/net/ethernet/intel/igc/igc_main.c
738
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_main.c
7397
struct igc_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igc/igc_main.c
7401
igc_flush_nfc_rules(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
7403
igc_ptp_stop(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
7408
set_bit(__IGC_DOWN, &adapter->state);
drivers/net/ethernet/intel/igc/igc_main.c
7410
timer_delete_sync(&adapter->watchdog_timer);
drivers/net/ethernet/intel/igc/igc_main.c
7411
timer_delete_sync(&adapter->phy_info_timer);
drivers/net/ethernet/intel/igc/igc_main.c
7413
cancel_work_sync(&adapter->reset_task);
drivers/net/ethernet/intel/igc/igc_main.c
7414
cancel_work_sync(&adapter->watchdog_task);
drivers/net/ethernet/intel/igc/igc_main.c
7415
hrtimer_cancel(&adapter->hrtimer);
drivers/net/ethernet/intel/igc/igc_main.c
7417
if (IS_ENABLED(CONFIG_IGC_LEDS) && adapter->leds_available)
drivers/net/ethernet/intel/igc/igc_main.c
7418
igc_led_free(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
7423
igc_release_hw_control(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
7426
igc_clear_interrupt_scheme(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
7427
pci_iounmap(pdev, adapter->io_addr);
drivers/net/ethernet/intel/igc/igc_main.c
743
ring->xsk_pool = igc_get_xsk_pool(adapter, ring);
drivers/net/ethernet/intel/igc/igc_main.c
7439
struct igc_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igc/igc_main.c
7440
u32 wufc = runtime ? IGC_WUFC_LNKC : adapter->wol;
drivers/net/ethernet/intel/igc/igc_main.c
7441
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_main.c
7451
igc_ptp_suspend(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
7453
igc_clear_interrupt_scheme(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
7461
igc_setup_rctl(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
7485
wake = wufc || adapter->en_mng_pt;
drivers/net/ethernet/intel/igc/igc_main.c
7487
igc_power_down_phy_copper_base(&adapter->hw);
drivers/net/ethernet/intel/igc/igc_main.c
7489
igc_power_up_link(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
7497
igc_release_hw_control(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
7511
struct igc_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igc/igc_main.c
7512
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_main.c
7543
struct igc_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igc/igc_main.c
7544
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_main.c
755
ring->tail = adapter->io_addr + IGC_TDT(reg_idx);
drivers/net/ethernet/intel/igc/igc_main.c
7565
if (igc_init_interrupt_scheme(adapter, true)) {
drivers/net/ethernet/intel/igc/igc_main.c
7570
igc_reset(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
7575
igc_get_hw_control(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
7614
struct igc_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igc/igc_main.c
7616
if (!igc_has_link(adapter))
drivers/net/ethernet/intel/igc/igc_main.c
7646
struct igc_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igc/igc_main.c
7657
igc_down(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
7675
struct igc_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igc/igc_main.c
7676
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_main.c
7695
hw->hw_addr = adapter->io_addr;
drivers/net/ethernet/intel/igc/igc_main.c
7697
igc_reset(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
771
static void igc_configure_tx(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_main.c
7716
struct igc_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igc/igc_main.c
7732
igc_get_hw_control(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
775
for (i = 0; i < adapter->num_tx_queues; i++)
drivers/net/ethernet/intel/igc/igc_main.c
776
igc_configure_tx_ring(adapter, adapter->tx_ring[i]);
drivers/net/ethernet/intel/igc/igc_main.c
7760
int igc_reinit_queues(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_main.c
7762
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/igc/igc_main.c
7768
igc_reset_interrupt_capability(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
7770
if (igc_init_interrupt_scheme(adapter, true)) {
drivers/net/ethernet/intel/igc/igc_main.c
7780
igc_tsn_clear_schedule(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
7794
struct igc_adapter *adapter = hw->back;
drivers/net/ethernet/intel/igc/igc_main.c
7796
return adapter->netdev;
drivers/net/ethernet/intel/igc/igc_main.c
7801
struct igc_hw *hw = &ring->q_vector->adapter->hw;
drivers/net/ethernet/intel/igc/igc_main.c
7819
struct igc_adapter *adapter = ring->q_vector->adapter;
drivers/net/ethernet/intel/igc/igc_main.c
7821
igc_configure_rx_ring(adapter, ring);
drivers/net/ethernet/intel/igc/igc_main.c
783
static void igc_setup_mrqc(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_main.c
7837
struct igc_adapter *adapter = ring->q_vector->adapter;
drivers/net/ethernet/intel/igc/igc_main.c
7839
igc_configure_tx_ring(adapter, ring);
drivers/net/ethernet/intel/igc/igc_main.c
785
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_main.c
79
void igc_reset(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_main.c
794
num_rx_queues = adapter->rss_queues;
drivers/net/ethernet/intel/igc/igc_main.c
796
if (adapter->rss_indir_tbl_init != num_rx_queues) {
drivers/net/ethernet/intel/igc/igc_main.c
798
adapter->rss_indir_tbl[j] =
drivers/net/ethernet/intel/igc/igc_main.c
800
adapter->rss_indir_tbl_init = num_rx_queues;
drivers/net/ethernet/intel/igc/igc_main.c
802
igc_write_rss_indir_tbl(adapter);
drivers/net/ethernet/intel/igc/igc_main.c
81
struct net_device *dev = adapter->netdev;
drivers/net/ethernet/intel/igc/igc_main.c
82
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_main.c
826
if (adapter->flags & IGC_FLAG_RSS_FIELD_IPV4_UDP)
drivers/net/ethernet/intel/igc/igc_main.c
828
if (adapter->flags & IGC_FLAG_RSS_FIELD_IPV6_UDP)
drivers/net/ethernet/intel/igc/igc_main.c
840
static void igc_setup_rctl(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_main.c
842
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_main.c
868
if (adapter->netdev->features & NETIF_F_RXALL) {
drivers/net/ethernet/intel/igc/igc_main.c
887
static void igc_setup_tctl(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_main.c
889
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_main.c
917
static void igc_set_mac_filter_hw(struct igc_adapter *adapter, int index,
drivers/net/ethernet/intel/igc/igc_main.c
921
struct net_device *dev = adapter->netdev;
drivers/net/ethernet/intel/igc/igc_main.c
922
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_main.c
955
static void igc_clear_mac_filter_hw(struct igc_adapter *adapter, int index)
drivers/net/ethernet/intel/igc/igc_main.c
957
struct net_device *dev = adapter->netdev;
drivers/net/ethernet/intel/igc/igc_main.c
958
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_main.c
97
hwm = (pba << 10) - (adapter->max_frame_size + MAX_JUMBO_FRAME_SIZE);
drivers/net/ethernet/intel/igc/igc_main.c
970
static void igc_set_default_mac_filter(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_main.c
972
struct net_device *dev = adapter->netdev;
drivers/net/ethernet/intel/igc/igc_main.c
973
u8 *addr = adapter->hw.mac.addr;
drivers/net/ethernet/intel/igc/igc_main.c
977
igc_set_mac_filter_hw(adapter, 0, IGC_MAC_FILTER_TYPE_DST, addr, -1);
drivers/net/ethernet/intel/igc/igc_main.c
989
struct igc_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igc/igc_main.c
990
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_ptp.c
1038
struct igc_adapter *adapter = ctx;
drivers/net/ethernet/intel/igc/igc_ptp.c
1039
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_ptp.c
1052
ktime_get_snapshot(&adapter->snapshot);
drivers/net/ethernet/intel/igc/igc_ptp.c
1062
netdev_err(adapter->netdev, "Timeout reading IGC_PTM_STAT register\n");
drivers/net/ethernet/intel/igc/igc_ptp.c
1069
igc_ptm_log_error(adapter, stat);
drivers/net/ethernet/intel/igc/igc_ptp.c
1073
netdev_err(adapter->netdev, "Exceeded number of tries for PTM cycle\n");
drivers/net/ethernet/intel/igc/igc_ptp.c
1099
struct igc_adapter *adapter = container_of(ptp, struct igc_adapter,
drivers/net/ethernet/intel/igc/igc_ptp.c
1104
mutex_lock(&adapter->ptm_lock);
drivers/net/ethernet/intel/igc/igc_ptp.c
1107
adapter, &adapter->snapshot, cts);
drivers/net/ethernet/intel/igc/igc_ptp.c
1108
mutex_unlock(&adapter->ptm_lock);
drivers/net/ethernet/intel/igc/igc_ptp.c
1140
void igc_ptp_init(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_ptp.c
1142
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/igc/igc_ptp.c
1144
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_ptp.c
1147
tstamp = &adapter->tx_tstamp[0];
drivers/net/ethernet/intel/igc/igc_ptp.c
1153
tstamp = &adapter->tx_tstamp[1];
drivers/net/ethernet/intel/igc/igc_ptp.c
1159
tstamp = &adapter->tx_tstamp[2];
drivers/net/ethernet/intel/igc/igc_ptp.c
1165
tstamp = &adapter->tx_tstamp[3];
drivers/net/ethernet/intel/igc/igc_ptp.c
1174
struct ptp_pin_desc *ppd = &adapter->sdp_config[i];
drivers/net/ethernet/intel/igc/igc_ptp.c
1180
snprintf(adapter->ptp_caps.name, 16, "%pm", netdev->dev_addr);
drivers/net/ethernet/intel/igc/igc_ptp.c
1181
adapter->ptp_caps.owner = THIS_MODULE;
drivers/net/ethernet/intel/igc/igc_ptp.c
1182
adapter->ptp_caps.max_adj = 62499999;
drivers/net/ethernet/intel/igc/igc_ptp.c
1183
adapter->ptp_caps.adjfine = igc_ptp_adjfine_i225;
drivers/net/ethernet/intel/igc/igc_ptp.c
1184
adapter->ptp_caps.adjtime = igc_ptp_adjtime_i225;
drivers/net/ethernet/intel/igc/igc_ptp.c
1185
adapter->ptp_caps.gettimex64 = igc_ptp_gettimex64_i225;
drivers/net/ethernet/intel/igc/igc_ptp.c
1186
adapter->ptp_caps.getcyclesx64 = igc_ptp_getcyclesx64;
drivers/net/ethernet/intel/igc/igc_ptp.c
1187
adapter->ptp_caps.settime64 = igc_ptp_settime_i225;
drivers/net/ethernet/intel/igc/igc_ptp.c
1188
adapter->ptp_caps.enable = igc_ptp_feature_enable_i225;
drivers/net/ethernet/intel/igc/igc_ptp.c
1189
adapter->ptp_caps.pps = 1;
drivers/net/ethernet/intel/igc/igc_ptp.c
1190
adapter->ptp_caps.pin_config = adapter->sdp_config;
drivers/net/ethernet/intel/igc/igc_ptp.c
1191
adapter->ptp_caps.n_ext_ts = IGC_N_EXTTS;
drivers/net/ethernet/intel/igc/igc_ptp.c
1192
adapter->ptp_caps.n_per_out = IGC_N_PEROUT;
drivers/net/ethernet/intel/igc/igc_ptp.c
1193
adapter->ptp_caps.supported_extts_flags = PTP_RISING_EDGE |
drivers/net/ethernet/intel/igc/igc_ptp.c
1196
adapter->ptp_caps.n_pins = IGC_N_SDP;
drivers/net/ethernet/intel/igc/igc_ptp.c
1197
adapter->ptp_caps.verify = igc_ptp_verify_pin;
drivers/net/ethernet/intel/igc/igc_ptp.c
1199
if (!igc_is_crosststamp_supported(adapter))
drivers/net/ethernet/intel/igc/igc_ptp.c
1202
adapter->ptp_caps.getcrosststamp = igc_ptp_getcrosststamp;
drivers/net/ethernet/intel/igc/igc_ptp.c
1205
adapter->ptp_clock = NULL;
drivers/net/ethernet/intel/igc/igc_ptp.c
1209
spin_lock_init(&adapter->ptp_tx_lock);
drivers/net/ethernet/intel/igc/igc_ptp.c
1210
spin_lock_init(&adapter->free_timer_lock);
drivers/net/ethernet/intel/igc/igc_ptp.c
1211
spin_lock_init(&adapter->tmreg_lock);
drivers/net/ethernet/intel/igc/igc_ptp.c
1212
mutex_init(&adapter->ptm_lock);
drivers/net/ethernet/intel/igc/igc_ptp.c
1214
adapter->tstamp_config.rx_filter = HWTSTAMP_FILTER_NONE;
drivers/net/ethernet/intel/igc/igc_ptp.c
1215
adapter->tstamp_config.tx_type = HWTSTAMP_TX_OFF;
drivers/net/ethernet/intel/igc/igc_ptp.c
1217
adapter->prev_ptp_time = ktime_to_timespec64(ktime_get_real());
drivers/net/ethernet/intel/igc/igc_ptp.c
1218
adapter->ptp_reset_start = ktime_get();
drivers/net/ethernet/intel/igc/igc_ptp.c
1220
adapter->ptp_clock = ptp_clock_register(&adapter->ptp_caps,
drivers/net/ethernet/intel/igc/igc_ptp.c
1221
&adapter->pdev->dev);
drivers/net/ethernet/intel/igc/igc_ptp.c
1222
if (IS_ERR(adapter->ptp_clock)) {
drivers/net/ethernet/intel/igc/igc_ptp.c
1223
adapter->ptp_clock = NULL;
drivers/net/ethernet/intel/igc/igc_ptp.c
1225
mutex_destroy(&adapter->ptm_lock);
drivers/net/ethernet/intel/igc/igc_ptp.c
1226
} else if (adapter->ptp_clock) {
drivers/net/ethernet/intel/igc/igc_ptp.c
1228
adapter->ptp_flags |= IGC_PTP_ENABLED;
drivers/net/ethernet/intel/igc/igc_ptp.c
1232
static void igc_ptp_time_save(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_ptp.c
1234
igc_ptp_read(adapter, &adapter->prev_ptp_time);
drivers/net/ethernet/intel/igc/igc_ptp.c
1235
adapter->ptp_reset_start = ktime_get();
drivers/net/ethernet/intel/igc/igc_ptp.c
1238
static void igc_ptp_time_restore(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_ptp.c
1240
struct timespec64 ts = adapter->prev_ptp_time;
drivers/net/ethernet/intel/igc/igc_ptp.c
1243
delta = ktime_sub(ktime_get(), adapter->ptp_reset_start);
drivers/net/ethernet/intel/igc/igc_ptp.c
1247
igc_ptp_write_i225(adapter, &ts);
drivers/net/ethernet/intel/igc/igc_ptp.c
1250
static void igc_ptm_stop(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_ptp.c
1252
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_ptp.c
1255
mutex_lock(&adapter->ptm_lock);
drivers/net/ethernet/intel/igc/igc_ptp.c
1260
mutex_unlock(&adapter->ptm_lock);
drivers/net/ethernet/intel/igc/igc_ptp.c
1270
void igc_ptp_suspend(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_ptp.c
1272
if (!(adapter->ptp_flags & IGC_PTP_ENABLED))
drivers/net/ethernet/intel/igc/igc_ptp.c
1275
igc_ptp_clear_tx_tstamp(adapter);
drivers/net/ethernet/intel/igc/igc_ptp.c
1277
if (pci_device_is_present(adapter->pdev)) {
drivers/net/ethernet/intel/igc/igc_ptp.c
1278
igc_ptp_time_save(adapter);
drivers/net/ethernet/intel/igc/igc_ptp.c
1279
igc_ptm_stop(adapter);
drivers/net/ethernet/intel/igc/igc_ptp.c
1289
void igc_ptp_stop(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_ptp.c
1291
if (!(adapter->ptp_flags & IGC_PTP_ENABLED))
drivers/net/ethernet/intel/igc/igc_ptp.c
1294
igc_ptp_suspend(adapter);
drivers/net/ethernet/intel/igc/igc_ptp.c
1296
adapter->ptp_flags &= ~IGC_PTP_ENABLED;
drivers/net/ethernet/intel/igc/igc_ptp.c
1297
if (adapter->ptp_clock) {
drivers/net/ethernet/intel/igc/igc_ptp.c
1298
ptp_clock_unregister(adapter->ptp_clock);
drivers/net/ethernet/intel/igc/igc_ptp.c
1299
netdev_info(adapter->netdev, "PHC removed\n");
drivers/net/ethernet/intel/igc/igc_ptp.c
1300
adapter->ptp_flags &= ~IGC_PTP_ENABLED;
drivers/net/ethernet/intel/igc/igc_ptp.c
1302
mutex_destroy(&adapter->ptm_lock);
drivers/net/ethernet/intel/igc/igc_ptp.c
1311
void igc_ptp_reset(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_ptp.c
1313
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_ptp.c
1318
if (!(adapter->ptp_flags & IGC_PTP_ENABLED))
drivers/net/ethernet/intel/igc/igc_ptp.c
1322
igc_ptp_set_timestamp_mode(adapter, &adapter->tstamp_config);
drivers/net/ethernet/intel/igc/igc_ptp.c
1324
mutex_lock(&adapter->ptm_lock);
drivers/net/ethernet/intel/igc/igc_ptp.c
1326
spin_lock_irqsave(&adapter->tmreg_lock, flags);
drivers/net/ethernet/intel/igc/igc_ptp.c
1328
switch (adapter->hw.mac.type) {
drivers/net/ethernet/intel/igc/igc_ptp.c
1338
(adapter->pps_sys_wrap_on ? IGC_TSICR_SYS_WRAP : 0));
drivers/net/ethernet/intel/igc/igc_ptp.c
1341
if (!igc_is_crosststamp_supported(adapter))
drivers/net/ethernet/intel/igc/igc_ptp.c
1364
netdev_err(adapter->netdev, "Timeout reading IGC_PTM_STAT register\n");
drivers/net/ethernet/intel/igc/igc_ptp.c
1375
igc_ptp_time_restore(adapter);
drivers/net/ethernet/intel/igc/igc_ptp.c
1377
timecounter_init(&adapter->tc, &adapter->cc,
drivers/net/ethernet/intel/igc/igc_ptp.c
1381
spin_unlock_irqrestore(&adapter->tmreg_lock, flags);
drivers/net/ethernet/intel/igc/igc_ptp.c
1383
mutex_unlock(&adapter->ptm_lock);
drivers/net/ethernet/intel/igc/igc_ptp.c
25
void igc_ptp_read(struct igc_adapter *adapter, struct timespec64 *ts)
drivers/net/ethernet/intel/igc/igc_ptp.c
27
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_ptp.c
38
static void igc_ptp_write_i225(struct igc_adapter *adapter,
drivers/net/ethernet/intel/igc/igc_ptp.c
41
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_ptp.c
432
static int igc_ptp_systim_to_hwtstamp(struct igc_adapter *adapter,
drivers/net/ethernet/intel/igc/igc_ptp.c
436
switch (adapter->hw.mac.type) {
drivers/net/ethernet/intel/igc/igc_ptp.c
459
ktime_t igc_ptp_rx_pktstamp(struct igc_adapter *adapter, __le32 *buf)
drivers/net/ethernet/intel/igc/igc_ptp.c
471
switch (adapter->link_speed) {
drivers/net/ethernet/intel/igc/igc_ptp.c
486
netdev_warn_once(adapter->netdev, "Imprecise timestamp\n");
drivers/net/ethernet/intel/igc/igc_ptp.c
493
static void igc_ptp_disable_rx_timestamp(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_ptp.c
495
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_ptp.c
501
for (i = 0; i < adapter->num_rx_queues; i++) {
drivers/net/ethernet/intel/igc/igc_ptp.c
512
static void igc_ptp_enable_rx_timestamp(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_ptp.c
514
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_ptp.c
522
for (i = 0; i < adapter->num_rx_queues; i++) {
drivers/net/ethernet/intel/igc/igc_ptp.c
538
static void igc_ptp_free_tx_buffer(struct igc_adapter *adapter,
drivers/net/ethernet/intel/igc/igc_ptp.c
553
igc_xsk_wakeup(adapter->netdev, tstamp->xsk_queue_index,
drivers/net/ethernet/intel/igc/igc_ptp.c
563
static void igc_ptp_clear_tx_tstamp(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_ptp.c
568
spin_lock_irqsave(&adapter->ptp_tx_lock, flags);
drivers/net/ethernet/intel/igc/igc_ptp.c
571
struct igc_tx_timestamp_request *tstamp = &adapter->tx_tstamp[i];
drivers/net/ethernet/intel/igc/igc_ptp.c
574
igc_ptp_free_tx_buffer(adapter, tstamp);
drivers/net/ethernet/intel/igc/igc_ptp.c
577
spin_unlock_irqrestore(&adapter->ptp_tx_lock, flags);
drivers/net/ethernet/intel/igc/igc_ptp.c
590
void igc_ptp_clear_xsk_tx_tstamp_queue(struct igc_adapter *adapter, u16 queue_id)
drivers/net/ethernet/intel/igc/igc_ptp.c
595
spin_lock_irqsave(&adapter->ptp_tx_lock, flags);
drivers/net/ethernet/intel/igc/igc_ptp.c
598
struct igc_tx_timestamp_request *tstamp = &adapter->tx_tstamp[i];
drivers/net/ethernet/intel/igc/igc_ptp.c
607
igc_ptp_free_tx_buffer(adapter, tstamp);
drivers/net/ethernet/intel/igc/igc_ptp.c
610
spin_unlock_irqrestore(&adapter->ptp_tx_lock, flags);
drivers/net/ethernet/intel/igc/igc_ptp.c
613
static void igc_ptp_disable_tx_timestamp(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_ptp.c
615
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_ptp.c
621
for (i = 0; i < adapter->num_tx_queues; i++) {
drivers/net/ethernet/intel/igc/igc_ptp.c
622
struct igc_ring *tx_ring = adapter->tx_ring[i];
drivers/net/ethernet/intel/igc/igc_ptp.c
628
igc_ptp_clear_tx_tstamp(adapter);
drivers/net/ethernet/intel/igc/igc_ptp.c
633
static void igc_ptp_enable_tx_timestamp(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_ptp.c
635
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_ptp.c
647
for (i = 0; i < adapter->num_tx_queues; i++) {
drivers/net/ethernet/intel/igc/igc_ptp.c
648
struct igc_ring *tx_ring = adapter->tx_ring[i];
drivers/net/ethernet/intel/igc/igc_ptp.c
662
static int igc_ptp_set_timestamp_mode(struct igc_adapter *adapter,
drivers/net/ethernet/intel/igc/igc_ptp.c
667
igc_ptp_disable_tx_timestamp(adapter);
drivers/net/ethernet/intel/igc/igc_ptp.c
670
igc_ptp_enable_tx_timestamp(adapter);
drivers/net/ethernet/intel/igc/igc_ptp.c
678
igc_ptp_disable_rx_timestamp(adapter);
drivers/net/ethernet/intel/igc/igc_ptp.c
694
igc_ptp_enable_rx_timestamp(adapter);
drivers/net/ethernet/intel/igc/igc_ptp.c
705
static void igc_ptp_tx_timeout(struct igc_adapter *adapter,
drivers/net/ethernet/intel/igc/igc_ptp.c
709
igc_ptp_free_tx_buffer(adapter, tstamp);
drivers/net/ethernet/intel/igc/igc_ptp.c
711
adapter->tx_hwtstamp_timeouts++;
drivers/net/ethernet/intel/igc/igc_ptp.c
713
netdev_warn(adapter->netdev, "Tx timestamp timeout\n");
drivers/net/ethernet/intel/igc/igc_ptp.c
716
void igc_ptp_tx_hang(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_ptp.c
719
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_ptp.c
724
spin_lock_irqsave(&adapter->ptp_tx_lock, flags);
drivers/net/ethernet/intel/igc/igc_ptp.c
727
tstamp = &adapter->tx_tstamp[i];
drivers/net/ethernet/intel/igc/igc_ptp.c
735
igc_ptp_tx_timeout(adapter, tstamp);
drivers/net/ethernet/intel/igc/igc_ptp.c
746
spin_unlock_irqrestore(&adapter->ptp_tx_lock, flags);
drivers/net/ethernet/intel/igc/igc_ptp.c
749
static void igc_ptp_tx_reg_to_stamp(struct igc_adapter *adapter,
drivers/net/ethernet/intel/igc/igc_ptp.c
760
if (igc_ptp_systim_to_hwtstamp(adapter, &shhwtstamps, regval))
drivers/net/ethernet/intel/igc/igc_ptp.c
763
switch (adapter->link_speed) {
drivers/net/ethernet/intel/igc/igc_ptp.c
785
xsk_pool = adapter->tx_ring[tstamp->xsk_queue_index]->xsk_pool;
drivers/net/ethernet/intel/igc/igc_ptp.c
795
igc_ptp_free_tx_buffer(adapter, tstamp);
drivers/net/ethernet/intel/igc/igc_ptp.c
808
static void igc_ptp_tx_hwtstamp(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_ptp.c
810
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_ptp.c
858
igc_ptp_tx_reg_to_stamp(adapter, &adapter->tx_tstamp[0], regval);
drivers/net/ethernet/intel/igc/igc_ptp.c
866
struct igc_tx_timestamp_request *tstamp = &adapter->tx_tstamp[i];
drivers/net/ethernet/intel/igc/igc_ptp.c
874
igc_ptp_tx_reg_to_stamp(adapter, tstamp, regval);
drivers/net/ethernet/intel/igc/igc_ptp.c
885
void igc_ptp_tx_tstamp_event(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_ptp.c
889
spin_lock_irqsave(&adapter->ptp_tx_lock, flags);
drivers/net/ethernet/intel/igc/igc_ptp.c
891
igc_ptp_tx_hwtstamp(adapter);
drivers/net/ethernet/intel/igc/igc_ptp.c
893
spin_unlock_irqrestore(&adapter->ptp_tx_lock, flags);
drivers/net/ethernet/intel/igc/igc_ptp.c
907
struct igc_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igc/igc_ptp.c
910
err = igc_ptp_set_timestamp_mode(adapter, config);
drivers/net/ethernet/intel/igc/igc_ptp.c
915
adapter->tstamp_config = *config;
drivers/net/ethernet/intel/igc/igc_ptp.c
932
struct igc_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/igc/igc_ptp.c
934
*config = adapter->tstamp_config;
drivers/net/ethernet/intel/igc/igc_ptp.c
948
static bool igc_is_crosststamp_supported(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_ptp.c
960
if (adapter->pdev->device == IGC_DEV_ID_I225_V)
drivers/net/ethernet/intel/igc/igc_ptp.c
963
return pcie_ptm_enabled(adapter->pdev);
drivers/net/ethernet/intel/igc/igc_ptp.c
979
static void igc_ptm_log_error(struct igc_adapter *adapter, u32 ptm_stat)
drivers/net/ethernet/intel/igc/igc_ptp.c
981
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/igc/igc_tsn.c
100
ring = igc_get_tx_ring(adapter, cpu);
drivers/net/ethernet/intel/igc/igc_tsn.c
122
struct igc_adapter *adapter;
drivers/net/ethernet/intel/igc/igc_tsn.c
124
adapter = container_of(fpe, struct igc_adapter, fpe);
drivers/net/ethernet/intel/igc/igc_tsn.c
125
adapter->fpe.tx_enabled = tx_enable;
drivers/net/ethernet/intel/igc/igc_tsn.c
128
igc_tsn_offload_apply(adapter);
drivers/net/ethernet/intel/igc/igc_tsn.c
135
struct igc_adapter *adapter;
drivers/net/ethernet/intel/igc/igc_tsn.c
138
adapter = container_of(fpe, struct igc_adapter, fpe);
drivers/net/ethernet/intel/igc/igc_tsn.c
141
err = igc_fpe_xmit_smd_frame(adapter, SMD_V);
drivers/net/ethernet/intel/igc/igc_tsn.c
143
netdev_err(adapter->netdev, "Error sending SMD-V\n");
drivers/net/ethernet/intel/igc/igc_tsn.c
145
err = igc_fpe_xmit_smd_frame(adapter, SMD_R);
drivers/net/ethernet/intel/igc/igc_tsn.c
147
netdev_err(adapter->netdev, "Error sending SMD-R frame\n");
drivers/net/ethernet/intel/igc/igc_tsn.c
156
void igc_fpe_init(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_tsn.c
158
adapter->fpe.tx_min_frag_size = TX_MIN_FRAG_SIZE;
drivers/net/ethernet/intel/igc/igc_tsn.c
159
adapter->fpe.tx_enabled = false;
drivers/net/ethernet/intel/igc/igc_tsn.c
160
ethtool_mmsv_init(&adapter->fpe.mmsv, adapter->netdev, &igc_mmsv_ops);
drivers/net/ethernet/intel/igc/igc_tsn.c
163
void igc_fpe_clear_preempt_queue(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_tsn.c
165
for (int i = 0; i < adapter->num_tx_queues; i++) {
drivers/net/ethernet/intel/igc/igc_tsn.c
166
struct igc_ring *tx_ring = adapter->tx_ring[i];
drivers/net/ethernet/intel/igc/igc_tsn.c
172
static u32 igc_fpe_map_preempt_tc_to_queue(const struct igc_adapter *adapter,
drivers/net/ethernet/intel/igc/igc_tsn.c
175
struct net_device *dev = adapter->netdev;
drivers/net/ethernet/intel/igc/igc_tsn.c
192
void igc_fpe_save_preempt_queue(struct igc_adapter *adapter,
drivers/net/ethernet/intel/igc/igc_tsn.c
195
u32 preemptible_queue = igc_fpe_map_preempt_tc_to_queue(adapter,
drivers/net/ethernet/intel/igc/igc_tsn.c
198
for (int i = 0; i < adapter->num_tx_queues; i++) {
drivers/net/ethernet/intel/igc/igc_tsn.c
199
struct igc_ring *tx_ring = adapter->tx_ring[i];
drivers/net/ethernet/intel/igc/igc_tsn.c
205
static bool is_any_launchtime(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_tsn.c
209
for (i = 0; i < adapter->num_tx_queues; i++) {
drivers/net/ethernet/intel/igc/igc_tsn.c
210
struct igc_ring *ring = adapter->tx_ring[i];
drivers/net/ethernet/intel/igc/igc_tsn.c
219
static bool is_cbs_enabled(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_tsn.c
223
for (i = 0; i < adapter->num_tx_queues; i++) {
drivers/net/ethernet/intel/igc/igc_tsn.c
224
struct igc_ring *ring = adapter->tx_ring[i];
drivers/net/ethernet/intel/igc/igc_tsn.c
233
static unsigned int igc_tsn_new_flags(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_tsn.c
235
unsigned int new_flags = adapter->flags & ~IGC_FLAG_TSN_ANY_ENABLED;
drivers/net/ethernet/intel/igc/igc_tsn.c
238
if (adapter->taprio_offload_enable || is_any_launchtime(adapter) ||
drivers/net/ethernet/intel/igc/igc_tsn.c
239
adapter->strict_priority_enable)
drivers/net/ethernet/intel/igc/igc_tsn.c
242
if (is_cbs_enabled(adapter))
drivers/net/ethernet/intel/igc/igc_tsn.c
245
if (adapter->fpe.mmsv.pmac_enabled)
drivers/net/ethernet/intel/igc/igc_tsn.c
251
static bool igc_tsn_is_tx_mode_in_tsn(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_tsn.c
253
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_tsn.c
258
void igc_tsn_adjust_txtime_offset(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_tsn.c
260
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_tsn.c
263
if (!igc_tsn_is_tx_mode_in_tsn(adapter))
drivers/net/ethernet/intel/igc/igc_tsn.c
266
switch (adapter->link_speed) {
drivers/net/ethernet/intel/igc/igc_tsn.c
287
static void igc_tsn_restore_retx_default(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_tsn.c
289
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_tsn.c
296
bool igc_tsn_is_taprio_activated_by_user(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_tsn.c
298
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_tsn.c
301
adapter->taprio_offload_enable;
drivers/net/ethernet/intel/igc/igc_tsn.c
304
static void igc_tsn_tx_arb(struct igc_adapter *adapter, bool reverse_prio)
drivers/net/ethernet/intel/igc/igc_tsn.c
306
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_tsn.c
341
static void igc_tsn_set_rxpbsize(struct igc_adapter *adapter,
drivers/net/ethernet/intel/igc/igc_tsn.c
344
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_tsn.c
357
static int igc_tsn_disable_offload(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_tsn.c
359
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_tsn.c
367
igc_tsn_set_rxpbsize(adapter, IGC_RXPBSIZE_EXP_BMC_DEFAULT);
drivers/net/ethernet/intel/igc/igc_tsn.c
370
igc_tsn_restore_retx_default(adapter);
drivers/net/ethernet/intel/igc/igc_tsn.c
379
for (i = 0; i < adapter->num_tx_queues; i++) {
drivers/net/ethernet/intel/igc/igc_tsn.c
380
int reg_idx = adapter->tx_ring[i]->reg_idx;
drivers/net/ethernet/intel/igc/igc_tsn.c
398
igc_tsn_tx_arb(adapter, false);
drivers/net/ethernet/intel/igc/igc_tsn.c
400
adapter->flags &= ~IGC_FLAG_TSN_QBV_ENABLED;
drivers/net/ethernet/intel/igc/igc_tsn.c
411
static void igc_tsn_set_retx_qbvfullthreshold(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_tsn.c
413
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_tsn.c
446
static int igc_tsn_enable_offload(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_tsn.c
448
struct igc_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/igc/igc_tsn.c
459
igc_tsn_set_rxpbsize(adapter, IGC_RXPBSIZE_EXP_BMC_BE_TSN);
drivers/net/ethernet/intel/igc/igc_tsn.c
462
igc_tsn_set_retx_qbvfullthreshold(adapter);
drivers/net/ethernet/intel/igc/igc_tsn.c
464
if (adapter->strict_priority_enable ||
drivers/net/ethernet/intel/igc/igc_tsn.c
465
adapter->flags & IGC_FLAG_TSN_REVERSE_TXQ_PRIO)
drivers/net/ethernet/intel/igc/igc_tsn.c
466
igc_tsn_tx_arb(adapter, true);
drivers/net/ethernet/intel/igc/igc_tsn.c
468
for (i = 0; i < adapter->num_tx_queues; i++) {
drivers/net/ethernet/intel/igc/igc_tsn.c
469
struct igc_ring *ring = adapter->tx_ring[i];
drivers/net/ethernet/intel/igc/igc_tsn.c
478
if (adapter->taprio_offload_enable) {
drivers/net/ethernet/intel/igc/igc_tsn.c
504
if (!adapter->fpe.tx_enabled) {
drivers/net/ethernet/intel/igc/igc_tsn.c
611
if (adapter->fpe.mmsv.pmac_enabled)
drivers/net/ethernet/intel/igc/igc_tsn.c
614
frag_size_mult = igc_fpe_get_frag_size_mult(&adapter->fpe);
drivers/net/ethernet/intel/igc/igc_tsn.c
617
adapter->qbv_count++;
drivers/net/ethernet/intel/igc/igc_tsn.c
619
cycle = adapter->cycle_time;
drivers/net/ethernet/intel/igc/igc_tsn.c
620
base_time = adapter->base_time;
drivers/net/ethernet/intel/igc/igc_tsn.c
646
adjust_time = adapter->base_time;
drivers/net/ethernet/intel/igc/igc_tsn.c
648
hrtimer_start(&adapter->hrtimer, expires_time, HRTIMER_MODE_REL);
drivers/net/ethernet/intel/igc/igc_tsn.c
672
int igc_tsn_reset(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_tsn.c
677
if (adapter->fpe.mmsv.pmac_enabled) {
drivers/net/ethernet/intel/igc/igc_tsn.c
678
err = igc_enable_empty_addr_recv(adapter);
drivers/net/ethernet/intel/igc/igc_tsn.c
680
netdev_err(adapter->netdev, "Error adding empty address to MAC filter\n");
drivers/net/ethernet/intel/igc/igc_tsn.c
682
igc_disable_empty_addr_recv(adapter);
drivers/net/ethernet/intel/igc/igc_tsn.c
685
new_flags = igc_tsn_new_flags(adapter);
drivers/net/ethernet/intel/igc/igc_tsn.c
688
return igc_tsn_disable_offload(adapter);
drivers/net/ethernet/intel/igc/igc_tsn.c
690
err = igc_tsn_enable_offload(adapter);
drivers/net/ethernet/intel/igc/igc_tsn.c
694
adapter->flags = new_flags;
drivers/net/ethernet/intel/igc/igc_tsn.c
699
static bool igc_tsn_will_tx_mode_change(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_tsn.c
701
bool any_tsn_enabled = !!(igc_tsn_new_flags(adapter) &
drivers/net/ethernet/intel/igc/igc_tsn.c
704
return (any_tsn_enabled && !igc_tsn_is_tx_mode_in_tsn(adapter)) ||
drivers/net/ethernet/intel/igc/igc_tsn.c
705
(!any_tsn_enabled && igc_tsn_is_tx_mode_in_tsn(adapter));
drivers/net/ethernet/intel/igc/igc_tsn.c
708
int igc_tsn_offload_apply(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_tsn.c
713
if (netif_running(adapter->netdev) &&
drivers/net/ethernet/intel/igc/igc_tsn.c
714
igc_tsn_will_tx_mode_change(adapter)) {
drivers/net/ethernet/intel/igc/igc_tsn.c
715
schedule_work(&adapter->reset_task);
drivers/net/ethernet/intel/igc/igc_tsn.c
719
igc_tsn_reset(adapter);
drivers/net/ethernet/intel/igc/igc_tsn.c
91
static int igc_fpe_xmit_smd_frame(struct igc_adapter *adapter,
drivers/net/ethernet/intel/igc/igc_tsn.h
19
void igc_fpe_init(struct igc_adapter *adapter);
drivers/net/ethernet/intel/igc/igc_tsn.h
20
void igc_fpe_clear_preempt_queue(struct igc_adapter *adapter);
drivers/net/ethernet/intel/igc/igc_tsn.h
21
void igc_fpe_save_preempt_queue(struct igc_adapter *adapter,
drivers/net/ethernet/intel/igc/igc_tsn.h
24
int igc_tsn_offload_apply(struct igc_adapter *adapter);
drivers/net/ethernet/intel/igc/igc_tsn.h
25
int igc_tsn_reset(struct igc_adapter *adapter);
drivers/net/ethernet/intel/igc/igc_tsn.h
26
void igc_tsn_adjust_txtime_offset(struct igc_adapter *adapter);
drivers/net/ethernet/intel/igc/igc_tsn.h
27
bool igc_tsn_is_taprio_activated_by_user(struct igc_adapter *adapter);
drivers/net/ethernet/intel/igc/igc_tsn.h
29
static inline bool igc_fpe_is_pmac_enabled(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_tsn.h
32
adapter->fpe.mmsv.pmac_enabled;
drivers/net/ethernet/intel/igc/igc_tsn.h
35
static inline bool igc_fpe_handle_mpacket(struct igc_adapter *adapter,
drivers/net/ethernet/intel/igc/igc_tsn.h
47
struct ethtool_mmsv *mmsv = &adapter->fpe.mmsv;
drivers/net/ethernet/intel/igc/igc_xdp.c
10
int igc_xdp_set_prog(struct igc_adapter *adapter, struct bpf_prog *prog,
drivers/net/ethernet/intel/igc/igc_xdp.c
118
static int igc_xdp_disable_pool(struct igc_adapter *adapter, u16 queue_id)
drivers/net/ethernet/intel/igc/igc_xdp.c
125
if (queue_id >= adapter->num_rx_queues ||
drivers/net/ethernet/intel/igc/igc_xdp.c
126
queue_id >= adapter->num_tx_queues)
drivers/net/ethernet/intel/igc/igc_xdp.c
129
pool = xsk_get_pool_from_qid(adapter->netdev, queue_id);
drivers/net/ethernet/intel/igc/igc_xdp.c
13
struct net_device *dev = adapter->netdev;
drivers/net/ethernet/intel/igc/igc_xdp.c
133
needs_reset = netif_running(adapter->netdev) && igc_xdp_is_enabled(adapter);
drivers/net/ethernet/intel/igc/igc_xdp.c
135
rx_ring = adapter->rx_ring[queue_id];
drivers/net/ethernet/intel/igc/igc_xdp.c
136
tx_ring = adapter->tx_ring[queue_id];
drivers/net/ethernet/intel/igc/igc_xdp.c
159
int igc_xdp_setup_pool(struct igc_adapter *adapter, struct xsk_buff_pool *pool,
drivers/net/ethernet/intel/igc/igc_xdp.c
162
return pool ? igc_xdp_enable_pool(adapter, pool, queue_id) :
drivers/net/ethernet/intel/igc/igc_xdp.c
163
igc_xdp_disable_pool(adapter, queue_id);
drivers/net/ethernet/intel/igc/igc_xdp.c
27
need_update = !!adapter->xdp_prog != !!prog;
drivers/net/ethernet/intel/igc/igc_xdp.c
29
for (i = 0; i < adapter->num_rx_queues; i++) {
drivers/net/ethernet/intel/igc/igc_xdp.c
30
igc_disable_rx_ring(adapter->rx_ring[i]);
drivers/net/ethernet/intel/igc/igc_xdp.c
31
igc_disable_tx_ring(adapter->tx_ring[i]);
drivers/net/ethernet/intel/igc/igc_xdp.c
32
napi_disable(&adapter->rx_ring[i]->q_vector->napi);
drivers/net/ethernet/intel/igc/igc_xdp.c
36
old_prog = xchg(&adapter->xdp_prog, prog);
drivers/net/ethernet/intel/igc/igc_xdp.c
46
for (i = 0; i < adapter->num_rx_queues; i++) {
drivers/net/ethernet/intel/igc/igc_xdp.c
47
napi_enable(&adapter->rx_ring[i]->q_vector->napi);
drivers/net/ethernet/intel/igc/igc_xdp.c
48
igc_enable_tx_ring(adapter->tx_ring[i]);
drivers/net/ethernet/intel/igc/igc_xdp.c
49
igc_enable_rx_ring(adapter->rx_ring[i]);
drivers/net/ethernet/intel/igc/igc_xdp.c
56
static int igc_xdp_enable_pool(struct igc_adapter *adapter,
drivers/net/ethernet/intel/igc/igc_xdp.c
59
struct net_device *ndev = adapter->netdev;
drivers/net/ethernet/intel/igc/igc_xdp.c
60
struct device *dev = &adapter->pdev->dev;
drivers/net/ethernet/intel/igc/igc_xdp.c
67
if (queue_id >= adapter->num_rx_queues ||
drivers/net/ethernet/intel/igc/igc_xdp.c
68
queue_id >= adapter->num_tx_queues)
drivers/net/ethernet/intel/igc/igc_xdp.c
87
needs_reset = netif_running(adapter->netdev) && igc_xdp_is_enabled(adapter);
drivers/net/ethernet/intel/igc/igc_xdp.c
89
rx_ring = adapter->rx_ring[queue_id];
drivers/net/ethernet/intel/igc/igc_xdp.c
90
tx_ring = adapter->tx_ring[queue_id];
drivers/net/ethernet/intel/igc/igc_xdp.h
12
static inline bool igc_xdp_is_enabled(struct igc_adapter *adapter)
drivers/net/ethernet/intel/igc/igc_xdp.h
14
return !!adapter->xdp_prog;
drivers/net/ethernet/intel/igc/igc_xdp.h
7
int igc_xdp_set_prog(struct igc_adapter *adapter, struct bpf_prog *prog,
drivers/net/ethernet/intel/igc/igc_xdp.h
9
int igc_xdp_setup_pool(struct igc_adapter *adapter, struct xsk_buff_pool *pool,
drivers/net/ethernet/intel/ixgbe/devlink/devlink.c
101
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/devlink/devlink.c
107
static void ixgbe_info_fw_build(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/devlink/devlink.c
110
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/devlink/devlink.c
115
static void ixgbe_info_fw_srev(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/devlink/devlink.c
119
struct ixgbe_nvm_info *nvm = &adapter->hw.flash.nvm;
drivers/net/ethernet/intel/ixgbe/devlink/devlink.c
128
static void ixgbe_info_orom_srev(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/devlink/devlink.c
132
struct ixgbe_orom_info *orom = &adapter->hw.flash.orom;
drivers/net/ethernet/intel/ixgbe/devlink/devlink.c
141
static void ixgbe_info_nvm_ver(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/devlink/devlink.c
145
struct ixgbe_nvm_info *nvm = &adapter->hw.flash.nvm;
drivers/net/ethernet/intel/ixgbe/devlink/devlink.c
154
static void ixgbe_info_netlist_ver(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/devlink/devlink.c
158
struct ixgbe_netlist_info *netlist = &adapter->hw.flash.netlist;
drivers/net/ethernet/intel/ixgbe/devlink/devlink.c
171
static void ixgbe_info_netlist_build(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/devlink/devlink.c
175
struct ixgbe_netlist_info *netlist = &adapter->hw.flash.netlist;
drivers/net/ethernet/intel/ixgbe/devlink/devlink.c
21
static void ixgbe_info_get_dsn(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/devlink/devlink.c
223
static int ixgbe_devlink_info_get_e610(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/devlink/devlink.c
229
ixgbe_info_fw_api(adapter, ctx);
drivers/net/ethernet/intel/ixgbe/devlink/devlink.c
236
ixgbe_info_fw_build(adapter, ctx);
drivers/net/ethernet/intel/ixgbe/devlink/devlink.c
241
ixgbe_info_fw_srev(adapter, ctx, IXGBE_DL_VERSION_RUNNING);
drivers/net/ethernet/intel/ixgbe/devlink/devlink.c
246
ixgbe_info_orom_srev(adapter, ctx, IXGBE_DL_VERSION_RUNNING);
drivers/net/ethernet/intel/ixgbe/devlink/devlink.c
251
ixgbe_info_nvm_ver(adapter, ctx, IXGBE_DL_VERSION_RUNNING);
drivers/net/ethernet/intel/ixgbe/devlink/devlink.c
256
ixgbe_info_netlist_ver(adapter, ctx, IXGBE_DL_VERSION_RUNNING);
drivers/net/ethernet/intel/ixgbe/devlink/devlink.c
261
ixgbe_info_netlist_build(adapter, ctx, IXGBE_DL_VERSION_RUNNING);
drivers/net/ethernet/intel/ixgbe/devlink/devlink.c
267
ixgbe_devlink_pending_info_get_e610(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/devlink/devlink.c
27
put_unaligned_be64(pci_get_dsn(adapter->pdev), dsn);
drivers/net/ethernet/intel/ixgbe/devlink/devlink.c
273
ixgbe_info_orom_ver(adapter, ctx, IXGBE_DL_VERSION_STORED);
drivers/net/ethernet/intel/ixgbe/devlink/devlink.c
280
ixgbe_info_eetrack(adapter, ctx, IXGBE_DL_VERSION_STORED);
drivers/net/ethernet/intel/ixgbe/devlink/devlink.c
287
ixgbe_info_fw_srev(adapter, ctx, IXGBE_DL_VERSION_STORED);
drivers/net/ethernet/intel/ixgbe/devlink/devlink.c
292
ixgbe_info_orom_srev(adapter, ctx, IXGBE_DL_VERSION_STORED);
drivers/net/ethernet/intel/ixgbe/devlink/devlink.c
297
ixgbe_info_nvm_ver(adapter, ctx, IXGBE_DL_VERSION_STORED);
drivers/net/ethernet/intel/ixgbe/devlink/devlink.c
302
ixgbe_info_netlist_ver(adapter, ctx, IXGBE_DL_VERSION_STORED);
drivers/net/ethernet/intel/ixgbe/devlink/devlink.c
307
ixgbe_info_netlist_build(adapter, ctx, IXGBE_DL_VERSION_STORED);
drivers/net/ethernet/intel/ixgbe/devlink/devlink.c
316
struct ixgbe_adapter *adapter = devlink_priv(devlink);
drivers/net/ethernet/intel/ixgbe/devlink/devlink.c
317
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/devlink/devlink.c
32
static void ixgbe_info_orom_ver(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/devlink/devlink.c
326
ixgbe_refresh_fw_version(adapter);
drivers/net/ethernet/intel/ixgbe/devlink/devlink.c
328
ixgbe_info_get_dsn(adapter, ctx);
drivers/net/ethernet/intel/ixgbe/devlink/devlink.c
343
ixgbe_info_orom_ver(adapter, ctx, IXGBE_DL_VERSION_RUNNING);
drivers/net/ethernet/intel/ixgbe/devlink/devlink.c
350
ixgbe_info_eetrack(adapter, ctx, IXGBE_DL_VERSION_RUNNING);
drivers/net/ethernet/intel/ixgbe/devlink/devlink.c
36
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/devlink/devlink.c
361
err = ixgbe_devlink_info_get_e610(adapter, req, ctx);
drivers/net/ethernet/intel/ixgbe/devlink/devlink.c
365
err = ixgbe_devlink_pending_info_get_e610(adapter, req, ctx);
drivers/net/ethernet/intel/ixgbe/devlink/devlink.c
396
struct ixgbe_adapter *adapter = devlink_priv(devlink);
drivers/net/ethernet/intel/ixgbe/devlink/devlink.c
397
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/devlink/devlink.c
404
err = ixgbe_get_pending_updates(adapter, &pending, extack);
drivers/net/ethernet/intel/ixgbe/devlink/devlink.c
418
if (adapter->fw_emp_reset_disabled) {
drivers/net/ethernet/intel/ixgbe/devlink/devlink.c
42
struct ixgbe_orom_info *orom = &adapter->hw.flash.orom;
drivers/net/ethernet/intel/ixgbe/devlink/devlink.c
453
struct ixgbe_adapter *adapter = devlink_priv(devlink);
drivers/net/ethernet/intel/ixgbe/devlink/devlink.c
454
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/devlink/devlink.c
474
adapter->flags2 &= ~(IXGBE_FLAG2_API_MISMATCH |
drivers/net/ethernet/intel/ixgbe/devlink/devlink.c
477
return ixgbe_refresh_fw_version(adapter);
drivers/net/ethernet/intel/ixgbe/devlink/devlink.c
501
struct ixgbe_adapter *adapter;
drivers/net/ethernet/intel/ixgbe/devlink/devlink.c
504
devlink = devlink_alloc(&ixgbe_devlink_ops, sizeof(*adapter), dev);
drivers/net/ethernet/intel/ixgbe/devlink/devlink.c
508
adapter = devlink_priv(devlink);
drivers/net/ethernet/intel/ixgbe/devlink/devlink.c
509
adapter->devlink = devlink;
drivers/net/ethernet/intel/ixgbe/devlink/devlink.c
511
return adapter;
drivers/net/ethernet/intel/ixgbe/devlink/devlink.c
519
static void ixgbe_devlink_set_switch_id(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/devlink/devlink.c
522
u64 id = pci_get_dsn(adapter->pdev);
drivers/net/ethernet/intel/ixgbe/devlink/devlink.c
536
int ixgbe_devlink_register_port(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/devlink/devlink.c
538
struct devlink_port *devlink_port = &adapter->devlink_port;
drivers/net/ethernet/intel/ixgbe/devlink/devlink.c
539
struct devlink *devlink = adapter->devlink;
drivers/net/ethernet/intel/ixgbe/devlink/devlink.c
540
struct device *dev = &adapter->pdev->dev;
drivers/net/ethernet/intel/ixgbe/devlink/devlink.c
545
attrs.phys.port_number = adapter->hw.bus.func;
drivers/net/ethernet/intel/ixgbe/devlink/devlink.c
547
ixgbe_devlink_set_switch_id(adapter, &attrs.switch_id);
drivers/net/ethernet/intel/ixgbe/devlink/devlink.c
68
static void ixgbe_info_eetrack(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/devlink/devlink.c
72
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/devlink/devlink.c
98
static void ixgbe_info_fw_api(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/devlink/devlink.h
10
void ixgbe_devlink_destroy_regions(struct ixgbe_adapter *adapter);
drivers/net/ethernet/intel/ixgbe/devlink/devlink.h
8
int ixgbe_devlink_register_port(struct ixgbe_adapter *adapter);
drivers/net/ethernet/intel/ixgbe/devlink/devlink.h
9
void ixgbe_devlink_init_regions(struct ixgbe_adapter *adapter);
drivers/net/ethernet/intel/ixgbe/devlink/region.c
127
struct ixgbe_adapter *adapter = devlink_priv(devlink);
drivers/net/ethernet/intel/ixgbe/devlink/region.c
129
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/devlink/region.c
172
struct ixgbe_adapter *adapter = devlink_priv(devlink);
drivers/net/ethernet/intel/ixgbe/devlink/region.c
173
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/devlink/region.c
231
void ixgbe_devlink_init_regions(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/devlink/region.c
233
struct devlink *devlink = adapter->devlink;
drivers/net/ethernet/intel/ixgbe/devlink/region.c
234
struct device *dev = &adapter->pdev->dev;
drivers/net/ethernet/intel/ixgbe/devlink/region.c
237
if (adapter->hw.mac.type != ixgbe_mac_e610)
drivers/net/ethernet/intel/ixgbe/devlink/region.c
240
nvm_size = adapter->hw.flash.flash_size;
drivers/net/ethernet/intel/ixgbe/devlink/region.c
241
adapter->nvm_region = devl_region_create(devlink, &ixgbe_nvm_region_ops,
drivers/net/ethernet/intel/ixgbe/devlink/region.c
243
if (IS_ERR(adapter->nvm_region)) {
drivers/net/ethernet/intel/ixgbe/devlink/region.c
246
PTR_ERR(adapter->nvm_region));
drivers/net/ethernet/intel/ixgbe/devlink/region.c
247
adapter->nvm_region = NULL;
drivers/net/ethernet/intel/ixgbe/devlink/region.c
250
sram_size = adapter->hw.flash.sr_words * 2u;
drivers/net/ethernet/intel/ixgbe/devlink/region.c
251
adapter->sram_region = devl_region_create(devlink, &ixgbe_sram_region_ops,
drivers/net/ethernet/intel/ixgbe/devlink/region.c
253
if (IS_ERR(adapter->sram_region)) {
drivers/net/ethernet/intel/ixgbe/devlink/region.c
256
PTR_ERR(adapter->sram_region));
drivers/net/ethernet/intel/ixgbe/devlink/region.c
257
adapter->sram_region = NULL;
drivers/net/ethernet/intel/ixgbe/devlink/region.c
260
adapter->devcaps_region = devl_region_create(devlink,
drivers/net/ethernet/intel/ixgbe/devlink/region.c
263
if (IS_ERR(adapter->devcaps_region)) {
drivers/net/ethernet/intel/ixgbe/devlink/region.c
266
PTR_ERR(adapter->devcaps_region));
drivers/net/ethernet/intel/ixgbe/devlink/region.c
267
adapter->devcaps_region = NULL;
drivers/net/ethernet/intel/ixgbe/devlink/region.c
277
void ixgbe_devlink_destroy_regions(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/devlink/region.c
279
if (adapter->hw.mac.type != ixgbe_mac_e610)
drivers/net/ethernet/intel/ixgbe/devlink/region.c
282
if (adapter->nvm_region)
drivers/net/ethernet/intel/ixgbe/devlink/region.c
283
devl_region_destroy(adapter->nvm_region);
drivers/net/ethernet/intel/ixgbe/devlink/region.c
285
if (adapter->sram_region)
drivers/net/ethernet/intel/ixgbe/devlink/region.c
286
devl_region_destroy(adapter->sram_region);
drivers/net/ethernet/intel/ixgbe/devlink/region.c
288
if (adapter->devcaps_region)
drivers/net/ethernet/intel/ixgbe/devlink/region.c
289
devl_region_destroy(adapter->devcaps_region);
drivers/net/ethernet/intel/ixgbe/devlink/region.c
50
struct ixgbe_adapter *adapter = devlink_priv(devlink);
drivers/net/ethernet/intel/ixgbe/devlink/region.c
51
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe.h
1009
int ixgbe_update_ethtool_fdir_entry(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe.h
1014
void ixgbe_set_rx_drop_en(struct ixgbe_adapter *adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe.h
1020
void ixgbe_sysfs_exit(struct ixgbe_adapter *adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe.h
1021
int ixgbe_sysfs_init(struct ixgbe_adapter *adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe.h
1024
void ixgbe_configure_fcoe(struct ixgbe_adapter *adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe.h
1027
int ixgbe_fcoe_ddp(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe.h
1034
int ixgbe_setup_fcoe_ddp_resources(struct ixgbe_adapter *adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe.h
1035
void ixgbe_free_fcoe_ddp_resources(struct ixgbe_adapter *adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe.h
1041
u8 ixgbe_fcoe_get_tc(struct ixgbe_adapter *adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe.h
1044
void ixgbe_dbg_adapter_init(struct ixgbe_adapter *adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe.h
1045
void ixgbe_dbg_adapter_exit(struct ixgbe_adapter *adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe.h
1049
static inline void ixgbe_dbg_adapter_init(struct ixgbe_adapter *adapter) {}
drivers/net/ethernet/intel/ixgbe/ixgbe.h
1050
static inline void ixgbe_dbg_adapter_exit(struct ixgbe_adapter *adapter) {}
drivers/net/ethernet/intel/ixgbe/ixgbe.h
1059
void ixgbe_ptp_init(struct ixgbe_adapter *adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe.h
1060
void ixgbe_ptp_suspend(struct ixgbe_adapter *adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe.h
1061
void ixgbe_ptp_stop(struct ixgbe_adapter *adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe.h
1062
void ixgbe_ptp_overflow_check(struct ixgbe_adapter *adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe.h
1063
void ixgbe_ptp_rx_hang(struct ixgbe_adapter *adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe.h
1064
void ixgbe_ptp_tx_hang(struct ixgbe_adapter *adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe.h
1092
void ixgbe_ptp_start_cyclecounter(struct ixgbe_adapter *adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe.h
1093
void ixgbe_ptp_reset(struct ixgbe_adapter *adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe.h
1094
void ixgbe_ptp_check_pps_event(struct ixgbe_adapter *adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe.h
1096
void ixgbe_sriov_reinit(struct ixgbe_adapter *adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe.h
1100
struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe.h
1102
u32 ixgbe_rss_indir_tbl_entries(struct ixgbe_adapter *adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe.h
1103
void ixgbe_store_key(struct ixgbe_adapter *adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe.h
1104
void ixgbe_store_reta(struct ixgbe_adapter *adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe.h
1108
void ixgbe_init_ipsec_offload(struct ixgbe_adapter *adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe.h
1109
void ixgbe_stop_ipsec_offload(struct ixgbe_adapter *adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe.h
1110
void ixgbe_ipsec_restore(struct ixgbe_adapter *adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe.h
1116
void ixgbe_ipsec_vf_clear(struct ixgbe_adapter *adapter, u32 vf);
drivers/net/ethernet/intel/ixgbe/ixgbe.h
1117
int ixgbe_ipsec_vf_add_sa(struct ixgbe_adapter *adapter, u32 *mbuf, u32 vf);
drivers/net/ethernet/intel/ixgbe/ixgbe.h
1118
int ixgbe_ipsec_vf_del_sa(struct ixgbe_adapter *adapter, u32 *mbuf, u32 vf);
drivers/net/ethernet/intel/ixgbe/ixgbe.h
1120
static inline void ixgbe_init_ipsec_offload(struct ixgbe_adapter *adapter) { }
drivers/net/ethernet/intel/ixgbe/ixgbe.h
1121
static inline void ixgbe_stop_ipsec_offload(struct ixgbe_adapter *adapter) { }
drivers/net/ethernet/intel/ixgbe/ixgbe.h
1122
static inline void ixgbe_ipsec_restore(struct ixgbe_adapter *adapter) { }
drivers/net/ethernet/intel/ixgbe/ixgbe.h
1129
static inline void ixgbe_ipsec_vf_clear(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe.h
1131
static inline int ixgbe_ipsec_vf_add_sa(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe.h
1133
static inline int ixgbe_ipsec_vf_del_sa(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe.h
1137
static inline bool ixgbe_enabled_xdp_adapter(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe.h
1139
return !!adapter->xdp_prog;
drivers/net/ethernet/intel/ixgbe/ixgbe.h
176
#define VMDQ_P(p) ((p) + adapter->ring_feature[RING_F_VMDQ].offset)
drivers/net/ethernet/intel/ixgbe/ixgbe.h
495
#define MAX_RX_PACKET_BUFFERS ((adapter->flags & IXGBE_FLAG_DCB_ENABLED) \
drivers/net/ethernet/intel/ixgbe/ixgbe.h
503
struct ixgbe_adapter *adapter;
drivers/net/ethernet/intel/ixgbe/ixgbe.h
850
struct ixgbe_adapter *adapter;
drivers/net/ethernet/intel/ixgbe/ixgbe.h
857
return priv->adapter;
drivers/net/ethernet/intel/ixgbe/ixgbe.h
869
struct ixgbe_ring *ixgbe_determine_xdp_ring(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe.h
873
return adapter->xdp_ring[index];
drivers/net/ethernet/intel/ixgbe/ixgbe.h
876
static inline u8 ixgbe_max_rss_indices(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe.h
878
switch (adapter->hw.mac.type) {
drivers/net/ethernet/intel/ixgbe/ixgbe.h
958
void ixgbe_up(struct ixgbe_adapter *adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe.h
959
void ixgbe_down(struct ixgbe_adapter *adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe.h
960
void ixgbe_reinit_locked(struct ixgbe_adapter *adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe.h
961
void ixgbe_reset(struct ixgbe_adapter *adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe.h
969
void ixgbe_disable_rx(struct ixgbe_adapter *adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe.h
970
void ixgbe_disable_tx(struct ixgbe_adapter *adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe.h
971
void ixgbe_update_stats(struct ixgbe_adapter *adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe.h
972
int ixgbe_init_interrupt_scheme(struct ixgbe_adapter *adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe.h
973
bool ixgbe_wol_supported(struct ixgbe_adapter *adapter, u16 device_id,
drivers/net/ethernet/intel/ixgbe/ixgbe.h
975
void ixgbe_set_fw_version_e610(struct ixgbe_adapter *adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe.h
976
int ixgbe_refresh_fw_version(struct ixgbe_adapter *adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe.h
978
void ixgbe_full_sync_mac_table(struct ixgbe_adapter *adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe.h
980
int ixgbe_add_mac_filter(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe.h
982
int ixgbe_del_mac_filter(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe.h
984
void ixgbe_update_pf_promisc_vlvf(struct ixgbe_adapter *adapter, u32 vid);
drivers/net/ethernet/intel/ixgbe/ixgbe.h
985
void ixgbe_clear_interrupt_scheme(struct ixgbe_adapter *adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_common.h
190
dev_info(&adapter->pdev->dev, format, ## arg)
drivers/net/ethernet/intel/ixgbe/ixgbe_common.h
192
dev_warn(&adapter->pdev->dev, format, ## arg)
drivers/net/ethernet/intel/ixgbe/ixgbe_common.h
194
dev_err(&adapter->pdev->dev, format, ## arg)
drivers/net/ethernet/intel/ixgbe/ixgbe_common.h
196
dev_notice(&adapter->pdev->dev, format, ## arg)
drivers/net/ethernet/intel/ixgbe/ixgbe_common.h
198
netif_dbg(adapter, msglvl, adapter->netdev, format, ## arg)
drivers/net/ethernet/intel/ixgbe/ixgbe_common.h
200
netif_info(adapter, msglvl, adapter->netdev, format, ## arg)
drivers/net/ethernet/intel/ixgbe/ixgbe_common.h
202
netif_err(adapter, msglvl, adapter->netdev, format, ## arg)
drivers/net/ethernet/intel/ixgbe/ixgbe_common.h
204
netif_warn(adapter, msglvl, adapter->netdev, format, ## arg)
drivers/net/ethernet/intel/ixgbe/ixgbe_common.h
206
netif_crit(adapter, msglvl, adapter->netdev, format, ## arg)
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
121
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
123
return !!(adapter->flags & IXGBE_FLAG_DCB_ENABLED);
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
128
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
131
if (!(adapter->dcbx_cap & DCB_CAP_DCBX_VER_CEE))
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
135
if (!state == !(adapter->flags & IXGBE_FLAG_DCB_ENABLED))
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
139
state ? adapter->dcb_cfg.num_tcs.pg_tcs : 0);
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
145
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
151
perm_addr[i] = adapter->hw.mac.perm_addr[i];
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
153
switch (adapter->hw.mac.type) {
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
159
perm_addr[i] = adapter->hw.mac.san_addr[j];
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
170
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
173
adapter->temp_dcb_cfg.tc_config[tc].path[0].prio_type = prio;
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
175
adapter->temp_dcb_cfg.tc_config[tc].path[0].bwg_id = bwg_id;
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
177
adapter->temp_dcb_cfg.tc_config[tc].path[0].bwg_percent =
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
180
adapter->temp_dcb_cfg.tc_config[tc].path[0].up_to_tc_bitmap =
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
187
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
189
adapter->temp_dcb_cfg.bw_percentage[0][bwg_id] = bw_pct;
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
196
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
199
adapter->temp_dcb_cfg.tc_config[tc].path[1].prio_type = prio;
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
201
adapter->temp_dcb_cfg.tc_config[tc].path[1].bwg_id = bwg_id;
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
203
adapter->temp_dcb_cfg.tc_config[tc].path[1].bwg_percent =
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
206
adapter->temp_dcb_cfg.tc_config[tc].path[1].up_to_tc_bitmap =
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
21
static int ixgbe_copy_dcb_cfg(struct ixgbe_adapter *adapter, int tc_max)
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
213
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
215
adapter->temp_dcb_cfg.bw_percentage[1][bwg_id] = bw_pct;
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
222
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
224
*prio = adapter->dcb_cfg.tc_config[tc].path[0].prio_type;
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
225
*bwg_id = adapter->dcb_cfg.tc_config[tc].path[0].bwg_id;
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
226
*bw_pct = adapter->dcb_cfg.tc_config[tc].path[0].bwg_percent;
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
227
*up_map = adapter->dcb_cfg.tc_config[tc].path[0].up_to_tc_bitmap;
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
23
struct ixgbe_dcb_config *scfg = &adapter->temp_dcb_cfg;
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
233
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
235
*bw_pct = adapter->dcb_cfg.bw_percentage[0][bwg_id];
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
24
struct ixgbe_dcb_config *dcfg = &adapter->dcb_cfg;
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
242
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
244
*prio = adapter->dcb_cfg.tc_config[tc].path[1].prio_type;
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
245
*bwg_id = adapter->dcb_cfg.tc_config[tc].path[1].bwg_id;
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
246
*bw_pct = adapter->dcb_cfg.tc_config[tc].path[1].bwg_percent;
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
247
*up_map = adapter->dcb_cfg.tc_config[tc].path[1].up_to_tc_bitmap;
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
253
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
255
*bw_pct = adapter->dcb_cfg.bw_percentage[1][bwg_id];
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
261
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
263
adapter->temp_dcb_cfg.tc_config[priority].dcb_pfc = setting;
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
264
if (adapter->temp_dcb_cfg.tc_config[priority].dcb_pfc !=
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
265
adapter->dcb_cfg.tc_config[priority].dcb_pfc)
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
266
adapter->temp_dcb_cfg.pfc_mode_enable = true;
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
272
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
274
*setting = adapter->dcb_cfg.tc_config[priority].dcb_pfc;
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
279
struct ixgbe_adapter *adapter = ixgbe_from_netdev(dev);
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
281
while (test_and_set_bit(__IXGBE_RESETTING, &adapter->state))
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
287
ixgbe_clear_interrupt_scheme(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
288
ixgbe_init_interrupt_scheme(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
293
clear_bit(__IXGBE_RESETTING, &adapter->state);
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
298
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
299
struct ixgbe_dcb_config *dcb_cfg = &adapter->dcb_cfg;
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
300
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
305
if (!(adapter->dcbx_cap & DCB_CAP_DCBX_VER_CEE))
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
308
adapter->dcb_set_bitmap |= ixgbe_copy_dcb_cfg(adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
310
if (!adapter->dcb_set_bitmap)
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
313
if (adapter->dcb_set_bitmap & (BIT_PG_TX|BIT_PG_RX)) {
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
318
int max_frame = adapter->netdev->mtu + ETH_HLEN + ETH_FCS_LEN;
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
321
if (adapter->netdev->fcoe_mtu)
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
345
if (adapter->dcb_set_bitmap & BIT_PFC) {
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
357
ixgbe_set_rx_drop_en(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
36
u8 up = dcb_getapp(adapter->netdev, &app);
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
367
if (adapter->dcb_set_bitmap & BIT_APP_UPCHG) {
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
374
adapter->fcoe.up = ffs(up) - 1;
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
38
if (up && !(up & BIT(adapter->fcoe.up)))
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
380
adapter->dcb_set_bitmap = 0x00;
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
386
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
411
*cap = adapter->dcbx_cap;
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
423
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
425
if (adapter->flags & IXGBE_FLAG_DCB_ENABLED) {
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
428
*num = adapter->dcb_cfg.num_tcs.pg_tcs;
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
431
*num = adapter->dcb_cfg.num_tcs.pfc_tcs;
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
450
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
452
return adapter->dcb_cfg.pfc_mode_enable;
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
457
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
459
adapter->temp_dcb_cfg.pfc_mode_enable = state;
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
474
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
480
if (!(adapter->dcbx_cap & DCB_CAP_DCBX_VER_CEE))
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
489
struct ixgbe_adapter *adapter = ixgbe_from_netdev(dev);
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
490
struct ieee_ets *my_ets = adapter->ixgbe_ieee_ets;
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
492
ets->ets_cap = adapter->dcb_cfg.num_tcs.pg_tcs;
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
509
struct ixgbe_adapter *adapter = ixgbe_from_netdev(dev);
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
515
if (!(adapter->dcbx_cap & DCB_CAP_DCBX_VER_IEEE))
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
518
if (!adapter->ixgbe_ieee_ets) {
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
519
adapter->ixgbe_ieee_ets = kmalloc_obj(struct ieee_ets);
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
520
if (!adapter->ixgbe_ieee_ets)
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
525
adapter->ixgbe_ieee_ets->prio_tc[i] =
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
528
ixgbe_dcb_read_rtrup2tc(&adapter->hw,
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
529
adapter->ixgbe_ieee_ets->prio_tc);
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
535
if (ets->prio_tc[i] != adapter->ixgbe_ieee_ets->prio_tc[i])
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
539
memcpy(adapter->ixgbe_ieee_ets, ets, sizeof(*adapter->ixgbe_ieee_ets));
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
544
if (max_tc > adapter->dcb_cfg.num_tcs.pg_tcs)
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
547
if (max_tc != adapter->hw_tcs) {
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
555
return ixgbe_dcb_hw_ets(&adapter->hw, ets, max_frame);
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
561
struct ixgbe_adapter *adapter = ixgbe_from_netdev(dev);
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
562
struct ieee_pfc *my_pfc = adapter->ixgbe_ieee_pfc;
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
565
pfc->pfc_cap = adapter->dcb_cfg.num_tcs.pfc_tcs;
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
576
pfc->requests[i] = adapter->stats.pxoffrxc[i];
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
577
pfc->indications[i] = adapter->stats.pxofftxc[i];
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
586
struct ixgbe_adapter *adapter = ixgbe_from_netdev(dev);
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
587
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
591
if (!(adapter->dcbx_cap & DCB_CAP_DCBX_VER_IEEE))
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
594
if (!adapter->ixgbe_ieee_pfc) {
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
595
adapter->ixgbe_ieee_pfc = kmalloc_obj(struct ieee_pfc);
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
596
if (!adapter->ixgbe_ieee_pfc)
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
600
prio_tc = adapter->ixgbe_ieee_ets->prio_tc;
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
601
memcpy(adapter->ixgbe_ieee_pfc, pfc, sizeof(*adapter->ixgbe_ieee_pfc));
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
609
ixgbe_set_rx_drop_en(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
617
struct ixgbe_adapter *adapter = ixgbe_from_netdev(dev);
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
620
if (!(adapter->dcbx_cap & DCB_CAP_DCBX_VER_IEEE))
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
632
if (app_mask & BIT(adapter->fcoe.up))
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
635
adapter->fcoe.up = app->priority;
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
645
adapter->default_up = app->priority;
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
647
for (vf = 0; vf < adapter->num_vfs; vf++) {
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
648
struct vf_data_storage *vfinfo = &adapter->vfinfo[vf];
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
651
ixgbe_set_vmvir(adapter, vfinfo->pf_vlan,
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
662
struct ixgbe_adapter *adapter = ixgbe_from_netdev(dev);
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
665
if (!(adapter->dcbx_cap & DCB_CAP_DCBX_VER_IEEE))
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
675
if (app_mask & BIT(adapter->fcoe.up))
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
678
adapter->fcoe.up = app_mask ?
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
685
app->protocol == 0 && adapter->default_up == app->priority) {
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
690
adapter->default_up = qos;
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
692
for (vf = 0; vf < adapter->num_vfs; vf++) {
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
693
struct vf_data_storage *vfinfo = &adapter->vfinfo[vf];
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
696
ixgbe_set_vmvir(adapter, vfinfo->pf_vlan,
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
706
struct ixgbe_adapter *adapter = ixgbe_from_netdev(dev);
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
707
return adapter->dcbx_cap;
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
712
struct ixgbe_adapter *adapter = ixgbe_from_netdev(dev);
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
723
if (mode == adapter->dcbx_cap)
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
726
adapter->dcbx_cap = mode;
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
738
adapter->dcb_set_bitmap |= mask;
drivers/net/ethernet/intel/ixgbe/ixgbe_debugfs.c
101
value = IXGBE_READ_REG(&adapter->hw, reg);
drivers/net/ethernet/intel/ixgbe/ixgbe_debugfs.c
149
struct ixgbe_adapter *adapter = filp->private_data;
drivers/net/ethernet/intel/ixgbe/ixgbe_debugfs.c
17
struct ixgbe_adapter *adapter = filp->private_data;
drivers/net/ethernet/intel/ixgbe/ixgbe_debugfs.c
170
adapter->netdev->netdev_ops->ndo_tx_timeout(adapter->netdev,
drivers/net/ethernet/intel/ixgbe/ixgbe_debugfs.c
192
void ixgbe_dbg_adapter_init(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_debugfs.c
194
const char *name = pci_name(adapter->pdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_debugfs.c
196
adapter->ixgbe_dbg_adapter = debugfs_create_dir(name, ixgbe_dbg_root);
drivers/net/ethernet/intel/ixgbe/ixgbe_debugfs.c
197
debugfs_create_file("reg_ops", 0600, adapter->ixgbe_dbg_adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_debugfs.c
198
adapter, &ixgbe_dbg_reg_ops_fops);
drivers/net/ethernet/intel/ixgbe/ixgbe_debugfs.c
199
debugfs_create_file("netdev_ops", 0600, adapter->ixgbe_dbg_adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_debugfs.c
200
adapter, &ixgbe_dbg_netdev_ops_fops);
drivers/net/ethernet/intel/ixgbe/ixgbe_debugfs.c
207
void ixgbe_dbg_adapter_exit(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_debugfs.c
209
debugfs_remove_recursive(adapter->ixgbe_dbg_adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_debugfs.c
210
adapter->ixgbe_dbg_adapter = NULL;
drivers/net/ethernet/intel/ixgbe/ixgbe_debugfs.c
26
adapter->netdev->name, dbg_buf);
drivers/net/ethernet/intel/ixgbe/ixgbe_debugfs.c
66
struct ixgbe_adapter *adapter = filp->private_data;
drivers/net/ethernet/intel/ixgbe/ixgbe_debugfs.c
90
IXGBE_WRITE_REG(&adapter->hw, reg, value);
drivers/net/ethernet/intel/ixgbe/ixgbe_debugfs.c
91
value = IXGBE_READ_REG(&adapter->hw, reg);
drivers/net/ethernet/intel/ixgbe/ixgbe_e610.c
2510
struct ixgbe_adapter *adapter = container_of(hw, struct ixgbe_adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_e610.c
2514
netdev_err(adapter->netdev, "Invalid Shadow Ram checksum");
drivers/net/ethernet/intel/ixgbe/ixgbe_e610.c
3763
struct ixgbe_adapter *adapter = container_of(hw, struct ixgbe_adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_e610.c
3767
netdev_err(adapter->netdev, "Reset polling failed to complete.");
drivers/net/ethernet/intel/ixgbe/ixgbe_e610.c
3934
struct ixgbe_adapter *adapter = hw->back;
drivers/net/ethernet/intel/ixgbe/ixgbe_e610.c
3936
.pdev = adapter->pdev,
drivers/net/ethernet/intel/ixgbe/ixgbe_e610.c
3938
.debugfs_root = adapter->ixgbe_dbg_adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1041
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1043
stats->link_down_events = adapter->link_down_events;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1048
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1049
return adapter->hw.eeprom.word_size * 2;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1055
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1056
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1091
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1092
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1158
int ixgbe_refresh_fw_version(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1160
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1167
ixgbe_set_fw_version_e610(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1174
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1178
strscpy(drvinfo->fw_version, adapter->eeprom_id,
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1181
strscpy(drvinfo->bus_info, pci_name(adapter->pdev),
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1187
static u32 ixgbe_get_max_rxd(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1189
switch (adapter->hw.mac.type) {
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1205
static u32 ixgbe_get_max_txd(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1207
switch (adapter->hw.mac.type) {
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1228
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1229
struct ixgbe_ring *tx_ring = adapter->tx_ring[0];
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1230
struct ixgbe_ring *rx_ring = adapter->rx_ring[0];
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1232
ring->rx_max_pending = ixgbe_get_max_rxd(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1233
ring->tx_max_pending = ixgbe_get_max_txd(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1243
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1252
IXGBE_MIN_TXD, ixgbe_get_max_txd(adapter));
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1256
IXGBE_MIN_RXD, ixgbe_get_max_rxd(adapter));
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1259
if ((new_tx_count == adapter->tx_ring_count) &&
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1260
(new_rx_count == adapter->rx_ring_count)) {
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1265
while (test_and_set_bit(__IXGBE_RESETTING, &adapter->state))
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1268
if (!netif_running(adapter->netdev)) {
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1269
for (i = 0; i < adapter->num_tx_queues; i++)
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1270
adapter->tx_ring[i]->count = new_tx_count;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1271
for (i = 0; i < adapter->num_xdp_queues; i++)
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1272
adapter->xdp_ring[i]->count = new_tx_count;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1273
for (i = 0; i < adapter->num_rx_queues; i++)
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1274
adapter->rx_ring[i]->count = new_rx_count;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1275
adapter->tx_ring_count = new_tx_count;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1276
adapter->xdp_ring_count = new_tx_count;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1277
adapter->rx_ring_count = new_rx_count;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1282
i = max_t(int, adapter->num_tx_queues + adapter->num_xdp_queues,
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1283
adapter->num_rx_queues);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1291
ixgbe_down(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1299
if (new_tx_count != adapter->tx_ring_count) {
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1300
for (i = 0; i < adapter->num_tx_queues; i++) {
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1301
memcpy(&temp_ring[i], adapter->tx_ring[i],
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1315
for (j = 0; j < adapter->num_xdp_queues; j++, i++) {
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1316
memcpy(&temp_ring[i], adapter->xdp_ring[j],
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1330
for (i = 0; i < adapter->num_tx_queues; i++) {
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1331
ixgbe_free_tx_resources(adapter->tx_ring[i]);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1333
memcpy(adapter->tx_ring[i], &temp_ring[i],
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1336
for (j = 0; j < adapter->num_xdp_queues; j++, i++) {
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1337
ixgbe_free_tx_resources(adapter->xdp_ring[j]);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1339
memcpy(adapter->xdp_ring[j], &temp_ring[i],
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1343
adapter->tx_ring_count = new_tx_count;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1347
if (new_rx_count != adapter->rx_ring_count) {
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1348
for (i = 0; i < adapter->num_rx_queues; i++) {
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1349
memcpy(&temp_ring[i], adapter->rx_ring[i],
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1357
err = ixgbe_setup_rx_resources(adapter, &temp_ring[i]);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1368
for (i = 0; i < adapter->num_rx_queues; i++) {
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1369
ixgbe_free_rx_resources(adapter->rx_ring[i]);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1371
memcpy(adapter->rx_ring[i], &temp_ring[i],
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1375
adapter->rx_ring_count = new_rx_count;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1379
ixgbe_up(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1382
clear_bit(__IXGBE_RESETTING, &adapter->state);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1403
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1411
ixgbe_update_stats(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1420
p = (char *) adapter +
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1432
ring = adapter->tx_ring[j];
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1448
ring = adapter->rx_ring[j];
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1465
data[i++] = adapter->stats.pxontxc[j];
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1466
data[i++] = adapter->stats.pxofftxc[j];
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1469
data[i++] = adapter->stats.pxonrxc[j];
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1470
data[i++] = adapter->stats.pxoffrxc[j];
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1512
static int ixgbe_link_test(struct ixgbe_adapter *adapter, u64 *data)
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1514
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1610
static bool reg_pattern_test(struct ixgbe_adapter *adapter, u64 *data, int reg,
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1617
if (ixgbe_removed(adapter->hw.hw_addr)) {
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1622
before = ixgbe_read_reg(&adapter->hw, reg);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1623
ixgbe_write_reg(&adapter->hw, reg, test_pattern[pat] & write);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1624
val = ixgbe_read_reg(&adapter->hw, reg);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1629
ixgbe_write_reg(&adapter->hw, reg, before);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1632
ixgbe_write_reg(&adapter->hw, reg, before);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1637
static bool reg_set_and_check(struct ixgbe_adapter *adapter, u64 *data, int reg,
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1642
if (ixgbe_removed(adapter->hw.hw_addr)) {
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1646
before = ixgbe_read_reg(&adapter->hw, reg);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1647
ixgbe_write_reg(&adapter->hw, reg, write & mask);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1648
val = ixgbe_read_reg(&adapter->hw, reg);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1653
ixgbe_write_reg(&adapter->hw, reg, before);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1656
ixgbe_write_reg(&adapter->hw, reg, before);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1660
static int ixgbe_reg_test(struct ixgbe_adapter *adapter, u64 *data)
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1666
if (ixgbe_removed(adapter->hw.hw_addr)) {
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1671
switch (adapter->hw.mac.type) {
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1696
before = ixgbe_read_reg(&adapter->hw, IXGBE_STATUS);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1697
value = (ixgbe_read_reg(&adapter->hw, IXGBE_STATUS) & toggle);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1698
ixgbe_write_reg(&adapter->hw, IXGBE_STATUS, toggle);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1699
after = ixgbe_read_reg(&adapter->hw, IXGBE_STATUS) & toggle;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1707
ixgbe_write_reg(&adapter->hw, IXGBE_STATUS, before);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1719
b = reg_pattern_test(adapter, data,
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1725
b = reg_set_and_check(adapter, data,
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1731
ixgbe_write_reg(&adapter->hw,
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1736
b = reg_pattern_test(adapter, data,
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1742
b = reg_pattern_test(adapter, data,
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1748
b = reg_pattern_test(adapter, data,
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1764
static int ixgbe_eeprom_test(struct ixgbe_adapter *adapter, u64 *data)
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1766
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1777
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1779
adapter->test_icr |= IXGBE_READ_REG(&adapter->hw, IXGBE_EICR);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1784
static int ixgbe_intr_test(struct ixgbe_adapter *adapter, u64 *data)
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1786
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1788
u32 irq = adapter->pdev->irq;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1793
if (adapter->msix_entries) {
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1796
} else if (adapter->flags & IXGBE_FLAG_MSI_ENABLED) {
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1815
IXGBE_WRITE_REG(&adapter->hw, IXGBE_EIMC, 0xFFFFFFFF);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1816
IXGBE_WRITE_FLUSH(&adapter->hw);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1832
adapter->test_icr = 0;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1833
IXGBE_WRITE_REG(&adapter->hw, IXGBE_EIMC,
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1835
IXGBE_WRITE_REG(&adapter->hw, IXGBE_EICS,
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1837
IXGBE_WRITE_FLUSH(&adapter->hw);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1840
if (adapter->test_icr & mask) {
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1852
adapter->test_icr = 0;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1853
IXGBE_WRITE_REG(&adapter->hw, IXGBE_EIMS, mask);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1854
IXGBE_WRITE_REG(&adapter->hw, IXGBE_EICS, mask);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1855
IXGBE_WRITE_FLUSH(&adapter->hw);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1858
if (!(adapter->test_icr & mask)) {
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1871
adapter->test_icr = 0;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1872
IXGBE_WRITE_REG(&adapter->hw, IXGBE_EIMC,
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1874
IXGBE_WRITE_REG(&adapter->hw, IXGBE_EICS,
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1876
IXGBE_WRITE_FLUSH(&adapter->hw);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1879
if (adapter->test_icr) {
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1887
IXGBE_WRITE_REG(&adapter->hw, IXGBE_EIMC, 0xFFFFFFFF);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1888
IXGBE_WRITE_FLUSH(&adapter->hw);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1897
static void ixgbe_free_desc_rings(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1906
ixgbe_disable_rx(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1909
ixgbe_disable_tx(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1911
ixgbe_reset(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1913
ixgbe_free_tx_resources(&adapter->test_tx_ring);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1914
ixgbe_free_rx_resources(&adapter->test_rx_ring);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1917
static int ixgbe_setup_desc_rings(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1919
struct ixgbe_ring *tx_ring = &adapter->test_tx_ring;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1920
struct ixgbe_ring *rx_ring = &adapter->test_rx_ring;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1921
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1929
tx_ring->dev = &adapter->pdev->dev;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1930
tx_ring->netdev = adapter->netdev;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1931
tx_ring->reg_idx = adapter->tx_ring[0]->reg_idx;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1937
switch (adapter->hw.mac.type) {
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1944
reg_data = IXGBE_READ_REG(&adapter->hw, IXGBE_DMATXCTL);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1946
IXGBE_WRITE_REG(&adapter->hw, IXGBE_DMATXCTL, reg_data);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1952
ixgbe_configure_tx_ring(adapter, tx_ring);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1957
rx_ring->dev = &adapter->pdev->dev;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1958
rx_ring->netdev = adapter->netdev;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1959
rx_ring->reg_idx = adapter->rx_ring[0]->reg_idx;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1961
err = ixgbe_setup_rx_resources(adapter, rx_ring);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1969
ixgbe_configure_rx_ring(adapter, rx_ring);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1971
rctl = IXGBE_READ_REG(&adapter->hw, IXGBE_RXCTRL);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1973
IXGBE_WRITE_REG(&adapter->hw, IXGBE_RXCTRL, rctl);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1980
ixgbe_free_desc_rings(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1984
static int ixgbe_setup_loopback_test(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1986
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2000
switch (adapter->hw.mac.type) {
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2045
static void ixgbe_loopback_cleanup(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2049
reg_data = IXGBE_READ_REG(&adapter->hw, IXGBE_HLREG0);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2051
IXGBE_WRITE_REG(&adapter->hw, IXGBE_HLREG0, reg_data);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
216
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2161
static int ixgbe_run_loopback_test(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2163
struct ixgbe_ring *tx_ring = &adapter->test_tx_ring;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2164
struct ixgbe_ring *rx_ring = &adapter->test_rx_ring;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2169
u32 flags_orig = adapter->flags;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
217
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2172
adapter->flags &= ~IXGBE_FLAG_DCB_ENABLED;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2202
adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2225
adapter->flags = flags_orig;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2230
static int ixgbe_loopback_test(struct ixgbe_adapter *adapter, u64 *data)
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2232
*data = ixgbe_setup_desc_rings(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2235
*data = ixgbe_setup_loopback_test(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2238
*data = ixgbe_run_loopback_test(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2239
ixgbe_loopback_cleanup(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2242
ixgbe_free_desc_rings(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2250
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2253
if (ixgbe_removed(adapter->hw.hw_addr)) {
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2263
set_bit(__IXGBE_TESTING, &adapter->state);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2265
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2267
if (adapter->flags & IXGBE_FLAG_SRIOV_ENABLED) {
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2269
for (i = 0; i < adapter->num_vfs; i++) {
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2270
if (adapter->vfinfo[i].clear_to_send) {
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2279
&adapter->state);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2291
if (ixgbe_link_test(adapter, &data[4]))
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2298
ixgbe_reset(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2301
if (ixgbe_reg_test(adapter, &data[0]))
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2304
ixgbe_reset(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2306
if (ixgbe_eeprom_test(adapter, &data[1]))
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2309
ixgbe_reset(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2311
if (ixgbe_intr_test(adapter, &data[2]))
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2316
if (adapter->flags & (IXGBE_FLAG_SRIOV_ENABLED |
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2323
ixgbe_reset(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2325
if (ixgbe_loopback_test(adapter, &data[3]))
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2329
ixgbe_reset(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2332
clear_bit(__IXGBE_TESTING, &adapter->state);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2341
if (ixgbe_link_test(adapter, &data[4]))
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2350
clear_bit(__IXGBE_TESTING, &adapter->state);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2354
static int ixgbe_wol_exclusion(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2357
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2361
if (!ixgbe_wol_supported(adapter, hw->device_id,
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2373
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2379
if (ixgbe_wol_exclusion(adapter, wol) ||
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2380
!device_can_wakeup(&adapter->pdev->dev))
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2383
if (adapter->wol & IXGBE_WUFC_EX)
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2385
if (adapter->wol & IXGBE_WUFC_MC)
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2387
if (adapter->wol & IXGBE_WUFC_BC)
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2389
if (adapter->wol & IXGBE_WUFC_MAG)
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2395
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2401
if (ixgbe_wol_exclusion(adapter, wol))
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2404
adapter->wol = 0;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2407
adapter->wol |= IXGBE_WUFC_EX;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2409
adapter->wol |= IXGBE_WUFC_MC;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2411
adapter->wol |= IXGBE_WUFC_BC;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2413
adapter->wol |= IXGBE_WUFC_MAG;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2415
device_set_wakeup_enable(&adapter->pdev->dev, adapter->wol);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2423
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2424
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2427
if (ixgbe_wol_exclusion(adapter, wol))
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2437
adapter->wol = 0;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2440
adapter->wol |= IXGBE_WUFC_EX;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2442
adapter->wol |= IXGBE_WUFC_MC;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2444
adapter->wol |= IXGBE_WUFC_BC;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2447
IXGBE_WRITE_REG(hw, IXGBE_WUFC, adapter->wol);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2449
hw->wol_enabled = adapter->wol;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2450
device_set_wakeup_enable(&adapter->pdev->dev, adapter->wol);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2466
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2469
ixgbe_reinit_locked(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2477
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2478
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2485
adapter->led_reg = IXGBE_READ_REG(hw, IXGBE_LEDCTL);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2498
IXGBE_WRITE_REG(&adapter->hw, IXGBE_LEDCTL, adapter->led_reg);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2508
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2522
return ixgbe_aci_set_port_id_led(&adapter->hw, !led_active);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2530
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2533
if (adapter->rx_itr_setting <= 1)
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2534
ec->rx_coalesce_usecs = adapter->rx_itr_setting;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2536
ec->rx_coalesce_usecs = adapter->rx_itr_setting >> 2;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2539
if (adapter->q_vector[0]->tx.count && adapter->q_vector[0]->rx.count)
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2543
if (adapter->tx_itr_setting <= 1)
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2544
ec->tx_coalesce_usecs = adapter->tx_itr_setting;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2546
ec->tx_coalesce_usecs = adapter->tx_itr_setting >> 2;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2555
static bool ixgbe_update_rsc(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2557
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2560
if (!(adapter->flags2 & IXGBE_FLAG2_RSC_CAPABLE) ||
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2565
if (adapter->rx_itr_setting == 1 ||
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2566
adapter->rx_itr_setting > IXGBE_MIN_RSC_ITR) {
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2567
if (!(adapter->flags2 & IXGBE_FLAG2_RSC_ENABLED)) {
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2568
adapter->flags2 |= IXGBE_FLAG2_RSC_ENABLED;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2573
} else if (adapter->flags2 & IXGBE_FLAG2_RSC_ENABLED) {
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2574
adapter->flags2 &= ~IXGBE_FLAG2_RSC_ENABLED;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2586
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2592
if (adapter->q_vector[0]->tx.count && adapter->q_vector[0]->rx.count) {
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2596
tx_itr_prev = adapter->rx_itr_setting;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2598
tx_itr_prev = adapter->tx_itr_setting;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2606
adapter->rx_itr_setting = ec->rx_coalesce_usecs << 2;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2608
adapter->rx_itr_setting = ec->rx_coalesce_usecs;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2610
if (adapter->rx_itr_setting == 1)
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2613
rx_itr_param = adapter->rx_itr_setting;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2616
adapter->tx_itr_setting = ec->tx_coalesce_usecs << 2;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2618
adapter->tx_itr_setting = ec->tx_coalesce_usecs;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2620
if (adapter->tx_itr_setting == 1)
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2623
tx_itr_param = adapter->tx_itr_setting;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2626
if (adapter->q_vector[0]->tx.count && adapter->q_vector[0]->rx.count)
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2627
adapter->tx_itr_setting = adapter->rx_itr_setting;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2630
if ((adapter->tx_itr_setting != 1) &&
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2631
(adapter->tx_itr_setting < IXGBE_100K_ITR)) {
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2642
need_reset |= ixgbe_update_rsc(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2644
for (i = 0; i < adapter->num_q_vectors; i++) {
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2645
q_vector = adapter->q_vector[i];
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2666
static int ixgbe_get_ethtool_fdir_entry(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2669
union ixgbe_atr_input *mask = &adapter->fdir_mask;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2676
cmd->data = (1024 << adapter->fdir_pballoc) - 2;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2679
&adapter->fdir_filter_list, fdir_node) {
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2735
static int ixgbe_get_ethtool_fdir_all(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2744
cmd->data = (1024 << adapter->fdir_pballoc) - 2;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2747
&adapter->fdir_filter_list, fdir_node) {
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2762
struct ixgbe_adapter *adapter = ixgbe_from_netdev(dev);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2772
if (adapter->flags2 & IXGBE_FLAG2_RSS_FIELD_IPV4_UDP)
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2786
if (adapter->flags2 & IXGBE_FLAG2_RSS_FIELD_IPV6_UDP)
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2803
static int ixgbe_rss_indir_tbl_max(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2805
if (adapter->hw.mac.type < ixgbe_mac_X550)
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2813
struct ixgbe_adapter *adapter = ixgbe_from_netdev(dev);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2815
return min_t(u32, adapter->num_rx_queues,
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2816
ixgbe_rss_indir_tbl_max(adapter));
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2822
struct ixgbe_adapter *adapter = ixgbe_from_netdev(dev);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2827
cmd->rule_cnt = adapter->fdir_filter_count;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2831
ret = ixgbe_get_ethtool_fdir_entry(adapter, cmd);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2834
ret = ixgbe_get_ethtool_fdir_all(adapter, cmd, rule_locs);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2843
int ixgbe_update_ethtool_fdir_entry(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2847
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2856
&adapter->fdir_filter_list, fdir_node) {
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2874
adapter->fdir_filter_count--;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2892
&adapter->fdir_filter_list);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2895
adapter->fdir_filter_count++;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2941
static int ixgbe_add_ethtool_fdir_entry(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2946
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2952
if (!(adapter->flags & IXGBE_FLAG_FDIR_PERFECT_CAPABLE))
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2964
if (!vf && (ring >= adapter->num_rx_queues))
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2967
((vf > adapter->num_vfs) ||
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2968
ring >= adapter->num_rx_queues_per_pool))
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2973
queue = adapter->rx_ring[ring]->reg_idx;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2976
adapter->num_rx_queues_per_pool) + ring;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2980
if (fsp->location >= ((1024 << adapter->fdir_pballoc) - 2)) {
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3035
spin_lock(&adapter->fdir_perfect_lock);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3037
if (hlist_empty(&adapter->fdir_filter_list)) {
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3039
memcpy(&adapter->fdir_mask, &mask, sizeof(mask));
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3045
} else if (memcmp(&adapter->fdir_mask, &mask, sizeof(mask))) {
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3059
ixgbe_update_ethtool_fdir_entry(adapter, input, input->sw_idx);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3061
spin_unlock(&adapter->fdir_perfect_lock);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3065
spin_unlock(&adapter->fdir_perfect_lock);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
307
switch (adapter->hw.phy.type) {
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3071
static int ixgbe_del_ethtool_fdir_entry(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3078
spin_lock(&adapter->fdir_perfect_lock);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3079
err = ixgbe_update_ethtool_fdir_entry(adapter, NULL, fsp->location);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3080
spin_unlock(&adapter->fdir_perfect_lock);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3091
struct ixgbe_adapter *adapter = ixgbe_from_netdev(dev);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3092
u32 flags2 = adapter->flags2;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3160
if (flags2 != adapter->flags2) {
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3161
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3163
unsigned int pf_pool = adapter->num_vfs;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3166
(adapter->flags & IXGBE_FLAG_SRIOV_ENABLED))
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3172
!(adapter->flags2 & UDP_RSS_FLAGS))
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3175
adapter->flags2 = flags2;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3193
(adapter->flags & IXGBE_FLAG_SRIOV_ENABLED))
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3204
struct ixgbe_adapter *adapter = ixgbe_from_netdev(dev);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3209
ret = ixgbe_add_ethtool_fdir_entry(adapter, cmd);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3212
ret = ixgbe_del_ethtool_fdir_entry(adapter, cmd);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3228
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3230
return ixgbe_rss_indir_tbl_entries(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3233
static void ixgbe_get_reta(struct ixgbe_adapter *adapter, u32 *indir)
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3235
int i, reta_size = ixgbe_rss_indir_tbl_entries(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3236
u16 rss_m = adapter->ring_feature[RING_F_RSS].mask;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3238
if (adapter->flags & IXGBE_FLAG_SRIOV_ENABLED)
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3239
rss_m = adapter->ring_feature[RING_F_RSS].indices - 1;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3242
indir[i] = adapter->rss_indir_tbl[i] & rss_m;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3248
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3253
ixgbe_get_reta(adapter, rxfh->indir);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3256
memcpy(rxfh->key, adapter->rss_key,
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3266
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3268
u32 reta_entries = ixgbe_rss_indir_tbl_entries(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3276
int max_queues = min_t(int, adapter->num_rx_queues,
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3277
ixgbe_rss_indir_tbl_max(adapter));
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3280
if ((adapter->flags & IXGBE_FLAG_SRIOV_ENABLED) &&
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3290
adapter->rss_indir_tbl[i] = rxfh->indir[i];
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3292
ixgbe_store_reta(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3297
memcpy(adapter->rss_key, rxfh->key,
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3299
ixgbe_store_key(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3308
struct ixgbe_adapter *adapter = ixgbe_from_netdev(dev);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3313
switch (adapter->hw.mac.type) {
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3337
if (adapter->ptp_clock)
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3338
info->phc_index = ptp_clock_index(adapter->ptp_clock);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
334
switch (adapter->hw.phy.sfp_type) {
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3347
static unsigned int ixgbe_max_channels(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3350
u8 tcs = adapter->hw_tcs;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3352
if (!(adapter->flags & IXGBE_FLAG_MSIX_ENABLED)) {
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3355
} else if (adapter->flags & IXGBE_FLAG_SRIOV_ENABLED) {
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3357
max_combined = adapter->ring_feature[RING_F_RSS].mask + 1;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3360
if (adapter->hw.mac.type == ixgbe_mac_82598EB) {
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3370
} else if (adapter->atr_sample_rate) {
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3375
max_combined = ixgbe_max_rss_indices(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3384
struct ixgbe_adapter *adapter = ixgbe_from_netdev(dev);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3387
ch->max_combined = ixgbe_max_channels(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3390
if (adapter->flags & IXGBE_FLAG_MSIX_ENABLED) {
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3396
ch->combined_count = adapter->ring_feature[RING_F_RSS].indices;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3403
if (adapter->flags & IXGBE_FLAG_SRIOV_ENABLED)
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3407
if (adapter->hw_tcs > 1)
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3411
if (!adapter->atr_sample_rate)
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3415
ch->combined_count = adapter->ring_feature[RING_F_FDIR].indices;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3421
struct ixgbe_adapter *adapter = ixgbe_from_netdev(dev);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3423
u8 max_rss_indices = ixgbe_max_rss_indices(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3434
if (count > ixgbe_max_channels(adapter))
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3438
adapter->ring_feature[RING_F_FDIR].limit = count;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3443
adapter->ring_feature[RING_F_RSS].limit = count;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3449
adapter->ring_feature[RING_F_FCOE].limit = count;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3453
return ixgbe_setup_tc(dev, adapter->hw_tcs);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3459
struct ixgbe_adapter *adapter = ixgbe_from_netdev(dev);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3460
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3505
struct ixgbe_adapter *adapter = ixgbe_from_netdev(dev);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3506
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3519
if (test_bit(__IXGBE_IN_SFP_INIT, &adapter->state))
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3560
ixgbe_get_eee_fw(struct ixgbe_adapter *adapter, struct ethtool_keee *edata)
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3564
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3601
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3602
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3604
if (!(adapter->flags2 & IXGBE_FLAG2_EEE_CAPABLE))
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3608
return ixgbe_get_eee_fw(adapter, edata);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3615
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3616
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3620
if (!(adapter->flags2 & IXGBE_FLAG2_EEE_CAPABLE))
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3650
adapter->flags2 |= IXGBE_FLAG2_EEE_ENABLED;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3654
adapter->flags2 &= ~IXGBE_FLAG2_EEE_ENABLED;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3660
ixgbe_reinit_locked(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3662
ixgbe_reset(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3670
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3673
if (adapter->flags2 & IXGBE_FLAG2_RX_LEGACY)
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3676
if (adapter->flags2 & IXGBE_FLAG2_VF_IPSEC_ENABLED)
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3679
if (adapter->flags2 & IXGBE_FLAG2_AUTO_DISABLE_VF)
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3687
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3688
unsigned int flags2 = adapter->flags2;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3701
if (adapter->hw.mac.type == ixgbe_mac_82599EB) {
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3703
for (i = 0; i < adapter->num_vfs; i++)
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3704
adapter->vfinfo[i].primary_abort_count = 0;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3714
if (flags2 != adapter->flags2) {
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3715
adapter->flags2 = flags2;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3719
ixgbe_reinit_locked(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3825
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3827
if (adapter->hw.mac.type == ixgbe_mac_e610)
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
429
switch (adapter->link_speed) {
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
463
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
464
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
513
while (test_and_set_bit(__IXGBE_IN_SFP_INIT, &adapter->state))
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
522
clear_bit(__IXGBE_IN_SFP_INIT, &adapter->state);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
540
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
541
struct ixgbe_hw_stats *hwstats = &adapter->stats;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
550
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
551
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
572
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
573
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
579
ixgbe_reinit_locked(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
581
ixgbe_reset(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
588
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
589
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
594
(adapter->flags & IXGBE_FLAG_DCB_ENABLED))
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
621
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
622
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
652
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
653
return adapter->msg_enable;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
658
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
659
adapter->msg_enable = data;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
673
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
674
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
878
regs_buff[881] = IXGBE_GET_STAT(adapter, crcerrs);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
879
regs_buff[882] = IXGBE_GET_STAT(adapter, illerrc);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
880
regs_buff[883] = IXGBE_GET_STAT(adapter, errbc);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
881
regs_buff[884] = IXGBE_GET_STAT(adapter, mspdc);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
883
regs_buff[885 + i] = IXGBE_GET_STAT(adapter, mpc[i]);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
884
regs_buff[893] = IXGBE_GET_STAT(adapter, mlfc);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
885
regs_buff[894] = IXGBE_GET_STAT(adapter, mrfc);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
886
regs_buff[895] = IXGBE_GET_STAT(adapter, rlec);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
887
regs_buff[896] = IXGBE_GET_STAT(adapter, lxontxc);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
888
regs_buff[897] = IXGBE_GET_STAT(adapter, lxonrxc);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
889
regs_buff[898] = IXGBE_GET_STAT(adapter, lxofftxc);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
890
regs_buff[899] = IXGBE_GET_STAT(adapter, lxoffrxc);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
892
regs_buff[900 + i] = IXGBE_GET_STAT(adapter, pxontxc[i]);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
894
regs_buff[908 + i] = IXGBE_GET_STAT(adapter, pxonrxc[i]);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
896
regs_buff[916 + i] = IXGBE_GET_STAT(adapter, pxofftxc[i]);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
898
regs_buff[924 + i] = IXGBE_GET_STAT(adapter, pxoffrxc[i]);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
899
regs_buff[932] = IXGBE_GET_STAT(adapter, prc64);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
900
regs_buff[933] = IXGBE_GET_STAT(adapter, prc127);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
901
regs_buff[934] = IXGBE_GET_STAT(adapter, prc255);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
902
regs_buff[935] = IXGBE_GET_STAT(adapter, prc511);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
903
regs_buff[936] = IXGBE_GET_STAT(adapter, prc1023);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
904
regs_buff[937] = IXGBE_GET_STAT(adapter, prc1522);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
905
regs_buff[938] = IXGBE_GET_STAT(adapter, gprc);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
906
regs_buff[939] = IXGBE_GET_STAT(adapter, bprc);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
907
regs_buff[940] = IXGBE_GET_STAT(adapter, mprc);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
908
regs_buff[941] = IXGBE_GET_STAT(adapter, gptc);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
909
regs_buff[942] = (u32)IXGBE_GET_STAT(adapter, gorc);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
910
regs_buff[943] = (u32)(IXGBE_GET_STAT(adapter, gorc) >> 32);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
911
regs_buff[944] = (u32)IXGBE_GET_STAT(adapter, gotc);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
912
regs_buff[945] = (u32)(IXGBE_GET_STAT(adapter, gotc) >> 32);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
914
regs_buff[946 + i] = IXGBE_GET_STAT(adapter, rnbc[i]);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
915
regs_buff[954] = IXGBE_GET_STAT(adapter, ruc);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
916
regs_buff[955] = IXGBE_GET_STAT(adapter, rfc);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
917
regs_buff[956] = IXGBE_GET_STAT(adapter, roc);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
918
regs_buff[957] = IXGBE_GET_STAT(adapter, rjc);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
919
regs_buff[958] = IXGBE_GET_STAT(adapter, mngprc);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
920
regs_buff[959] = IXGBE_GET_STAT(adapter, mngpdc);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
921
regs_buff[960] = IXGBE_GET_STAT(adapter, mngptc);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
922
regs_buff[961] = (u32)IXGBE_GET_STAT(adapter, tor);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
923
regs_buff[962] = (u32)(IXGBE_GET_STAT(adapter, tor) >> 32);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
924
regs_buff[963] = IXGBE_GET_STAT(adapter, tpr);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
925
regs_buff[964] = IXGBE_GET_STAT(adapter, tpt);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
926
regs_buff[965] = IXGBE_GET_STAT(adapter, ptc64);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
927
regs_buff[966] = IXGBE_GET_STAT(adapter, ptc127);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
928
regs_buff[967] = IXGBE_GET_STAT(adapter, ptc255);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
929
regs_buff[968] = IXGBE_GET_STAT(adapter, ptc511);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
930
regs_buff[969] = IXGBE_GET_STAT(adapter, ptc1023);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
931
regs_buff[970] = IXGBE_GET_STAT(adapter, ptc1522);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
932
regs_buff[971] = IXGBE_GET_STAT(adapter, mptc);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
933
regs_buff[972] = IXGBE_GET_STAT(adapter, bptc);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
934
regs_buff[973] = IXGBE_GET_STAT(adapter, xec);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
936
regs_buff[974 + i] = IXGBE_GET_STAT(adapter, qprc[i]);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
938
regs_buff[990 + i] = IXGBE_GET_STAT(adapter, qptc[i]);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
940
regs_buff[1006 + i] = IXGBE_GET_STAT(adapter, qbrc[i]);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
942
regs_buff[1022 + i] = IXGBE_GET_STAT(adapter, qbtc[i]);
drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c
1007
strscpy(info->firmware_version, adapter->eeprom_id,
drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c
1040
u8 ixgbe_fcoe_get_tc(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c
1043
return netdev_get_prio_tc_map(adapter->netdev, adapter->fcoe.up);
drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c
111
dma_unmap_sg(&adapter->pdev->dev, ddp->sgl, ddp->sgc,
drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c
137
struct ixgbe_adapter *adapter;
drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c
156
adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c
163
if (test_bit(__IXGBE_DOWN, &adapter->state) ||
drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c
164
test_bit(__IXGBE_RESETTING, &adapter->state))
drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c
167
fcoe = &adapter->fcoe;
drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c
189
dmacount = dma_map_sg(&adapter->pdev->dev, sgl, sgc, DMA_FROM_DEVICE);
drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c
278
hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c
324
dma_unmap_sg(&adapter->pdev->dev, sgl, sgc, DMA_FROM_DEVICE);
drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c
383
int ixgbe_fcoe_ddp(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c
418
if (adapter->hw.mac.type == ixgbe_mac_X550)
drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c
423
fcoe = &adapter->fcoe;
drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c
442
dma_unmap_sg(&adapter->pdev->dev, ddp->sgl,
drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c
48
struct ixgbe_adapter *adapter;
drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c
59
adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c
60
fcoe = &adapter->fcoe;
drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c
638
void ixgbe_configure_fcoe(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c
640
struct ixgbe_ring_feature *fcoe = &adapter->ring_feature[RING_F_FCOE];
drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c
641
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c
647
if (!(adapter->netdev->features & NETIF_F_FCOE_CRC))
drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c
65
hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c
652
if (adapter->flags & IXGBE_FLAG_SRIOV_ENABLED) {
drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c
660
if (!(adapter->flags & IXGBE_FLAG_FCOE_ENABLED))
drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c
665
if (adapter->hw.mac.type == ixgbe_mac_X550)
drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c
669
if (adapter->hw.mac.type == ixgbe_mac_X550) {
drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c
672
fcoe_q_h = adapter->rx_ring[fcoe_i_h]->reg_idx;
drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c
679
fcoe_q = adapter->rx_ring[fcoe_i]->reg_idx;
drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c
687
if (adapter->flags & IXGBE_FLAG_SRIOV_ENABLED) {
drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c
694
fcoe_q = adapter->rx_ring[fcoe->offset]->reg_idx;
drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c
713
void ixgbe_free_fcoe_ddp_resources(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c
715
struct ixgbe_fcoe *fcoe = &adapter->fcoe;
drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c
724
if (adapter->hw.mac.type == ixgbe_mac_X550)
drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c
728
ixgbe_fcoe_ddp_put(adapter->netdev, i);
drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c
733
dma_unmap_single(&adapter->pdev->dev,
drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c
751
int ixgbe_setup_fcoe_ddp_resources(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c
753
struct ixgbe_fcoe *fcoe = &adapter->fcoe;
drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c
754
struct device *dev = &adapter->pdev->dev;
drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c
785
ixgbe_free_fcoe_ddp_resources(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c
792
static int ixgbe_fcoe_ddp_enable(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c
794
struct ixgbe_fcoe *fcoe = &adapter->fcoe;
drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c
796
if (!(adapter->flags & IXGBE_FLAG_FCOE_CAPABLE))
drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c
806
adapter->netdev->fcoe_ddp_xid = IXGBE_FCOE_DDP_MAX - 1;
drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c
808
if (adapter->hw.mac.type == ixgbe_mac_X550)
drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c
809
adapter->netdev->fcoe_ddp_xid = IXGBE_FCOE_DDP_MAX_X550 - 1;
drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c
814
static void ixgbe_fcoe_ddp_disable(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c
816
struct ixgbe_fcoe *fcoe = &adapter->fcoe;
drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c
818
adapter->netdev->fcoe_ddp_xid = 0;
drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c
837
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c
838
struct ixgbe_fcoe *fcoe = &adapter->fcoe;
drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c
842
if (!(adapter->flags & IXGBE_FLAG_FCOE_CAPABLE))
drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c
845
if (adapter->flags & IXGBE_FLAG_FCOE_ENABLED)
drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c
850
if (adapter->flags & IXGBE_FLAG_SRIOV_ENABLED)
drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c
857
ixgbe_fcoe_ddp_enable(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c
860
adapter->flags |= IXGBE_FLAG_FCOE_ENABLED;
drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c
865
ixgbe_clear_interrupt_scheme(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c
866
ixgbe_init_interrupt_scheme(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c
884
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c
886
if (!atomic_dec_and_test(&adapter->fcoe.refcnt))
drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c
889
if (!(adapter->flags & IXGBE_FLAG_FCOE_ENABLED))
drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c
897
ixgbe_fcoe_ddp_disable(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c
900
adapter->flags &= ~IXGBE_FLAG_FCOE_ENABLED;
drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c
906
ixgbe_clear_interrupt_scheme(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c
907
ixgbe_init_interrupt_scheme(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c
930
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c
931
struct ixgbe_mac_info *mac = &adapter->hw.mac;
drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c
970
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c
971
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c
978
if (!(adapter->flags & IXGBE_FLAG_FCOE_ENABLED))
drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c
988
dsn = pci_get_dsn(adapter->pdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_fw_update.c
14
struct ixgbe_adapter *adapter;
drivers/net/ethernet/intel/ixgbe/ixgbe_fw_update.c
164
struct ixgbe_adapter *adapter = priv->adapter;
drivers/net/ethernet/intel/ixgbe/ixgbe_fw_update.c
168
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_fw_update.c
210
return ixgbe_check_component_response(adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_fw_update.c
239
static int ixgbe_write_one_nvm_block(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_fw_update.c
244
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_fw_update.c
267
static int ixgbe_write_nvm_module(struct ixgbe_adapter *adapter, u16 module,
drivers/net/ethernet/intel/ixgbe/ixgbe_fw_update.c
272
struct devlink *devlink = adapter->devlink;
drivers/net/ethernet/intel/ixgbe/ixgbe_fw_update.c
294
err = ixgbe_write_one_nvm_block(adapter, module, offset,
drivers/net/ethernet/intel/ixgbe/ixgbe_fw_update.c
337
static int ixgbe_erase_nvm_module(struct ixgbe_adapter *adapter, u16 module,
drivers/net/ethernet/intel/ixgbe/ixgbe_fw_update.c
341
struct devlink *devlink = adapter->devlink;
drivers/net/ethernet/intel/ixgbe/ixgbe_fw_update.c
342
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_fw_update.c
371
static int ixgbe_switch_flash_banks(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_fw_update.c
376
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_fw_update.c
418
struct ixgbe_adapter *adapter = priv->adapter;
drivers/net/ethernet/intel/ixgbe/ixgbe_fw_update.c
42
struct ixgbe_adapter *adapter = priv->adapter;
drivers/net/ethernet/intel/ixgbe/ixgbe_fw_update.c
43
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_fw_update.c
448
err = ixgbe_erase_nvm_module(adapter, module, name, extack);
drivers/net/ethernet/intel/ixgbe/ixgbe_fw_update.c
452
return ixgbe_write_nvm_module(adapter, module, name,
drivers/net/ethernet/intel/ixgbe/ixgbe_fw_update.c
472
struct ixgbe_adapter *adapter = priv->adapter;
drivers/net/ethernet/intel/ixgbe/ixgbe_fw_update.c
474
struct devlink *devlink = adapter->devlink;
drivers/net/ethernet/intel/ixgbe/ixgbe_fw_update.c
478
err = ixgbe_switch_flash_banks(adapter, priv->activate_flags,
drivers/net/ethernet/intel/ixgbe/ixgbe_fw_update.c
483
adapter->fw_emp_reset_disabled = !priv->emp_reset_available;
drivers/net/ethernet/intel/ixgbe/ixgbe_fw_update.c
485
if (!adapter->fw_emp_reset_disabled)
drivers/net/ethernet/intel/ixgbe/ixgbe_fw_update.c
512
int ixgbe_get_pending_updates(struct ixgbe_adapter *adapter, u8 *pending,
drivers/net/ethernet/intel/ixgbe/ixgbe_fw_update.c
516
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_fw_update.c
558
static int ixgbe_cancel_pending_update(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_fw_update.c
562
struct devlink *devlink = adapter->devlink;
drivers/net/ethernet/intel/ixgbe/ixgbe_fw_update.c
563
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_fw_update.c
567
err = ixgbe_get_pending_updates(adapter, &pending, extack);
drivers/net/ethernet/intel/ixgbe/ixgbe_fw_update.c
604
err = ixgbe_switch_flash_banks(adapter, pending, NULL, extack);
drivers/net/ethernet/intel/ixgbe/ixgbe_fw_update.c
631
struct ixgbe_adapter *adapter = devlink_priv(devlink);
drivers/net/ethernet/intel/ixgbe/ixgbe_fw_update.c
632
struct device *dev = &adapter->pdev->dev;
drivers/net/ethernet/intel/ixgbe/ixgbe_fw_update.c
633
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_fw_update.c
679
priv.adapter = adapter;
drivers/net/ethernet/intel/ixgbe/ixgbe_fw_update.c
685
err = ixgbe_cancel_pending_update(adapter, NULL, extack);
drivers/net/ethernet/intel/ixgbe/ixgbe_fw_update.c
72
static int ixgbe_check_component_response(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_fw_update.c
76
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_fw_update.h
10
int ixgbe_get_pending_updates(struct ixgbe_adapter *adapter, u8 *pending,
drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c
1042
ixgbe_ipsec_del_sa(adapter->netdev, xs);
drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c
1060
struct ixgbe_adapter *adapter = ixgbe_from_netdev(tx_ring->netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c
1061
struct ixgbe_ipsec *ipsec = adapter->ipsec;
drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c
1150
struct ixgbe_adapter *adapter = ixgbe_from_netdev(rx_ring->netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c
1154
struct ixgbe_ipsec *ipsec = adapter->ipsec;
drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c
120
static void ixgbe_ipsec_clear_hw_tables(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c
1209
adapter->rx_ipsec++;
drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c
1216
void ixgbe_init_ipsec_offload(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c
1218
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c
122
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c
1259
adapter->ipsec = ipsec;
drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c
1260
ixgbe_ipsec_stop_engine(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c
1261
ixgbe_ipsec_clear_hw_tables(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c
1263
adapter->netdev->xfrmdev_ops = &ixgbe_xfrmdev_ops;
drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c
1273
netdev_err(adapter->netdev, "Unable to allocate memory for SA tables");
drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c
1280
void ixgbe_stop_ipsec_offload(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c
1282
struct ixgbe_ipsec *ipsec = adapter->ipsec;
drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c
1284
adapter->ipsec = NULL;
drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c
146
static void ixgbe_ipsec_stop_data(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c
148
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c
149
bool link = adapter->link_up;
drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c
219
static void ixgbe_ipsec_stop_engine(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c
221
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c
224
ixgbe_ipsec_stop_data(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c
261
static void ixgbe_ipsec_start_engine(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c
263
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c
266
ixgbe_ipsec_stop_data(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c
303
void ixgbe_ipsec_restore(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c
305
struct ixgbe_ipsec *ipsec = adapter->ipsec;
drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c
306
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c
309
if (!(adapter->flags2 & IXGBE_FLAG2_IPSEC_ENABLED))
drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c
313
ixgbe_ipsec_stop_engine(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c
314
ixgbe_ipsec_clear_hw_tables(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c
315
ixgbe_ipsec_start_engine(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c
324
ixgbe_ipsec_del_sa(adapter->netdev, r->xs);
drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c
333
ixgbe_ipsec_del_sa(adapter->netdev, t->xs);
drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c
483
struct ixgbe_adapter *adapter = ixgbe_from_netdev(dev);
drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c
484
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c
569
struct ixgbe_adapter *adapter = ixgbe_from_netdev(dev);
drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c
570
struct ixgbe_ipsec *ipsec = adapter->ipsec;
drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c
571
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c
711
if (adapter->num_vfs &&
drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c
712
adapter->bridge_mode != BRIDGE_MODE_VEPA)
drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c
748
if (!(adapter->flags2 & IXGBE_FLAG2_IPSEC_ENABLED)) {
drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c
749
ixgbe_ipsec_start_engine(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c
750
adapter->flags2 |= IXGBE_FLAG2_IPSEC_ENABLED;
drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c
763
struct ixgbe_adapter *adapter = ixgbe_from_netdev(dev);
drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c
764
struct ixgbe_ipsec *ipsec = adapter->ipsec;
drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c
765
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c
818
adapter->flags2 &= ~IXGBE_FLAG2_IPSEC_ENABLED;
drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c
819
ixgbe_ipsec_stop_engine(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c
833
void ixgbe_ipsec_vf_clear(struct ixgbe_adapter *adapter, u32 vf)
drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c
835
struct ixgbe_ipsec *ipsec = adapter->ipsec;
drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c
847
ixgbe_ipsec_del_sa(adapter->netdev,
drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c
857
ixgbe_ipsec_del_sa(adapter->netdev,
drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c
874
int ixgbe_ipsec_vf_add_sa(struct ixgbe_adapter *adapter, u32 *msgbuf, u32 vf)
drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c
876
struct ixgbe_ipsec *ipsec = adapter->ipsec;
drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c
886
if (!adapter->vfinfo[vf].trusted ||
drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c
887
!(adapter->flags2 & IXGBE_FLAG2_VF_IPSEC_ENABLED)) {
drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c
921
xs->xso.dev = adapter->netdev;
drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c
938
err = ixgbe_ipsec_add_sa(adapter->netdev, xs, NULL);
drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c
984
int ixgbe_ipsec_vf_del_sa(struct ixgbe_adapter *adapter, u32 *msgbuf, u32 vf)
drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c
986
struct ixgbe_ipsec *ipsec = adapter->ipsec;
drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c
991
if (!adapter->vfinfo[vf].trusted) {
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
1018
static void ixgbe_free_q_vector(struct ixgbe_adapter *adapter, int v_idx)
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
1020
struct ixgbe_q_vector *q_vector = adapter->q_vector[v_idx];
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
1025
WRITE_ONCE(adapter->xdp_ring[ring->queue_index], NULL);
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
1027
WRITE_ONCE(adapter->tx_ring[ring->queue_index], NULL);
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
1031
WRITE_ONCE(adapter->rx_ring[ring->queue_index], NULL);
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
1033
adapter->q_vector[v_idx] = NULL;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
1051
static int ixgbe_alloc_q_vectors(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
1053
int q_vectors = adapter->num_q_vectors;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
1054
int rxr_remaining = adapter->num_rx_queues;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
1055
int txr_remaining = adapter->num_tx_queues;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
1056
int xdp_remaining = adapter->num_xdp_queues;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
1061
if (!(adapter->flags & IXGBE_FLAG_MSIX_ENABLED))
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
1066
err = ixgbe_alloc_q_vector(adapter, q_vectors, v_idx,
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
1083
err = ixgbe_alloc_q_vector(adapter, q_vectors, v_idx,
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
1100
for (i = 0; i < adapter->num_rx_queues; i++) {
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
1101
if (adapter->rx_ring[i])
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
1102
adapter->rx_ring[i]->ring_idx = i;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
1105
for (i = 0; i < adapter->num_tx_queues; i++) {
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
1106
if (adapter->tx_ring[i])
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
1107
adapter->tx_ring[i]->ring_idx = i;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
1110
for (i = 0; i < adapter->num_xdp_queues; i++) {
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
1111
if (adapter->xdp_ring[i])
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
1112
adapter->xdp_ring[i]->ring_idx = i;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
1118
adapter->num_tx_queues = 0;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
1119
adapter->num_xdp_queues = 0;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
1120
adapter->num_rx_queues = 0;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
1121
adapter->num_q_vectors = 0;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
1124
ixgbe_free_q_vector(adapter, v_idx);
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
1137
static void ixgbe_free_q_vectors(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
1139
int v_idx = adapter->num_q_vectors;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
1141
adapter->num_tx_queues = 0;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
1142
adapter->num_xdp_queues = 0;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
1143
adapter->num_rx_queues = 0;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
1144
adapter->num_q_vectors = 0;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
1147
ixgbe_free_q_vector(adapter, v_idx);
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
1150
static void ixgbe_reset_interrupt_capability(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
1152
if (adapter->flags & IXGBE_FLAG_MSIX_ENABLED) {
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
1153
adapter->flags &= ~IXGBE_FLAG_MSIX_ENABLED;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
1154
pci_disable_msix(adapter->pdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
1155
kfree(adapter->msix_entries);
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
1156
adapter->msix_entries = NULL;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
1157
} else if (adapter->flags & IXGBE_FLAG_MSI_ENABLED) {
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
1158
adapter->flags &= ~IXGBE_FLAG_MSI_ENABLED;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
1159
pci_disable_msi(adapter->pdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
1170
static void ixgbe_set_interrupt_capability(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
1175
if (!ixgbe_acquire_msix_vectors(adapter))
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
1184
if (adapter->hw_tcs > 1) {
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
1186
netdev_reset_tc(adapter->netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
1188
if (adapter->hw.mac.type == ixgbe_mac_82598EB)
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
1189
adapter->hw.fc.requested_mode = adapter->last_lfc_mode;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
1191
adapter->flags &= ~IXGBE_FLAG_DCB_ENABLED;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
1192
adapter->temp_dcb_cfg.pfc_mode_enable = false;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
1193
adapter->dcb_cfg.pfc_mode_enable = false;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
1196
adapter->hw_tcs = 0;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
1197
adapter->dcb_cfg.num_tcs.pg_tcs = 1;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
1198
adapter->dcb_cfg.num_tcs.pfc_tcs = 1;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
1202
ixgbe_disable_sriov(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
1206
adapter->ring_feature[RING_F_RSS].limit = 1;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
1211
ixgbe_set_num_queues(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
1212
adapter->num_q_vectors = 1;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
1214
err = pci_enable_msi(adapter->pdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
1219
adapter->flags |= IXGBE_FLAG_MSI_ENABLED;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
1232
int ixgbe_init_interrupt_scheme(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
1237
ixgbe_set_num_queues(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
1240
ixgbe_set_interrupt_capability(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
1242
err = ixgbe_alloc_q_vectors(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
1248
ixgbe_cache_ring_register(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
1251
(adapter->num_rx_queues > 1) ? "Enabled" : "Disabled",
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
1252
adapter->num_rx_queues, adapter->num_tx_queues,
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
1253
adapter->num_xdp_queues);
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
1255
set_bit(__IXGBE_DOWN, &adapter->state);
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
1260
ixgbe_reset_interrupt_capability(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
1271
void ixgbe_clear_interrupt_scheme(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
1273
adapter->num_tx_queues = 0;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
1274
adapter->num_xdp_queues = 0;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
1275
adapter->num_rx_queues = 0;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
1277
ixgbe_free_q_vectors(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
1278
ixgbe_reset_interrupt_capability(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
149
static bool ixgbe_cache_ring_dcb(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
151
u8 num_tcs = adapter->hw_tcs;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
159
rss_i = adapter->ring_feature[RING_F_RSS].indices;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
162
ixgbe_get_first_reg_idx(adapter, tc, &tx_idx, &rx_idx);
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
164
adapter->tx_ring[offset + i]->reg_idx = tx_idx;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
165
adapter->rx_ring[offset + i]->reg_idx = rx_idx;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
166
adapter->rx_ring[offset + i]->netdev = adapter->netdev;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
167
adapter->tx_ring[offset + i]->dcb_tc = tc;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
168
adapter->rx_ring[offset + i]->dcb_tc = tc;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
17
static bool ixgbe_cache_ring_dcb_sriov(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
184
static bool ixgbe_cache_ring_sriov(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
187
struct ixgbe_ring_feature *fcoe = &adapter->ring_feature[RING_F_FCOE];
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
189
struct ixgbe_ring_feature *vmdq = &adapter->ring_feature[RING_F_VMDQ];
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
190
struct ixgbe_ring_feature *rss = &adapter->ring_feature[RING_F_RSS];
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
195
if (!(adapter->flags & IXGBE_FLAG_VMDQ_ENABLED))
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
20
struct ixgbe_ring_feature *fcoe = &adapter->ring_feature[RING_F_FCOE];
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
201
for (i = 0; i < adapter->num_rx_queues; i++, reg_idx++) {
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
212
adapter->rx_ring[i]->reg_idx = reg_idx;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
213
adapter->rx_ring[i]->netdev = pool ? NULL : adapter->netdev;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
218
for (; i < adapter->num_rx_queues; i++, reg_idx++) {
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
219
adapter->rx_ring[i]->reg_idx = reg_idx;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
22
struct ixgbe_ring_feature *vmdq = &adapter->ring_feature[RING_F_VMDQ];
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
220
adapter->rx_ring[i]->netdev = adapter->netdev;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
225
for (i = 0; i < adapter->num_tx_queues; i++, reg_idx++) {
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
234
adapter->tx_ring[i]->reg_idx = reg_idx;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
239
for (; i < adapter->num_tx_queues; i++, reg_idx++)
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
240
adapter->tx_ring[i]->reg_idx = reg_idx;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
25
u8 tcs = adapter->hw_tcs;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
254
static bool ixgbe_cache_ring_rss(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
258
for (i = 0; i < adapter->num_rx_queues; i++) {
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
259
adapter->rx_ring[i]->reg_idx = i;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
260
adapter->rx_ring[i]->netdev = adapter->netdev;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
262
for (i = 0, reg_idx = 0; i < adapter->num_tx_queues; i++, reg_idx++)
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
263
adapter->tx_ring[i]->reg_idx = reg_idx;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
264
for (i = 0; i < adapter->num_xdp_queues; i++, reg_idx++)
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
265
adapter->xdp_ring[i]->reg_idx = reg_idx;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
281
static void ixgbe_cache_ring_register(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
284
adapter->rx_ring[0]->reg_idx = 0;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
285
adapter->tx_ring[0]->reg_idx = 0;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
288
if (ixgbe_cache_ring_dcb_sriov(adapter))
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
291
if (ixgbe_cache_ring_dcb(adapter))
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
295
if (ixgbe_cache_ring_sriov(adapter))
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
298
ixgbe_cache_ring_rss(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
301
static int ixgbe_xdp_queues(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
306
return adapter->xdp_prog ? queues : 0;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
32
if (!(adapter->flags & IXGBE_FLAG_SRIOV_ENABLED))
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
326
static bool ixgbe_set_dcb_sriov_queues(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
329
u16 vmdq_i = adapter->ring_feature[RING_F_VMDQ].limit;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
334
u8 tcs = adapter->hw_tcs;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
341
if (!(adapter->flags & IXGBE_FLAG_SRIOV_ENABLED))
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
348
vmdq_i += adapter->ring_feature[RING_F_VMDQ].offset;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
366
vmdq_i -= adapter->ring_feature[RING_F_VMDQ].offset;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
369
adapter->ring_feature[RING_F_VMDQ].indices = vmdq_i;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
37
for (i = 0, pool = 0; i < adapter->num_rx_queues; i++, reg_idx++) {
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
370
adapter->ring_feature[RING_F_VMDQ].mask = vmdq_m;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
376
adapter->ring_feature[RING_F_RSS].indices = 1;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
377
adapter->ring_feature[RING_F_RSS].mask = IXGBE_RSS_DISABLED_MASK;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
380
adapter->flags &= ~IXGBE_FLAG_FDIR_HASH_CAPABLE;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
382
adapter->num_rx_pools = vmdq_i;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
383
adapter->num_rx_queues_per_pool = tcs;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
385
adapter->num_tx_queues = vmdq_i * tcs;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
386
adapter->num_xdp_queues = 0;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
387
adapter->num_rx_queues = vmdq_i * tcs;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
390
if (adapter->flags & IXGBE_FLAG_FCOE_ENABLED) {
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
393
fcoe = &adapter->ring_feature[RING_F_FCOE];
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
404
adapter->num_tx_queues += fcoe_i;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
405
adapter->num_rx_queues += fcoe_i;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
409
fcoe->offset = ixgbe_fcoe_get_tc(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
411
adapter->flags &= ~IXGBE_FLAG_FCOE_ENABLED;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
421
netdev_set_tc_queue(adapter->netdev, i, 1, i);
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
426
static bool ixgbe_set_dcb_queues(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
428
struct net_device *dev = adapter->netdev;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
43
adapter->rx_ring[i]->reg_idx = reg_idx;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
434
tcs = adapter->hw_tcs;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
44
adapter->rx_ring[i]->netdev = pool ? NULL : adapter->netdev;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
442
if (adapter->hw.mac.type == ixgbe_mac_82598EB) {
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
457
f = &adapter->ring_feature[RING_F_RSS];
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
463
adapter->flags &= ~IXGBE_FLAG_FDIR_HASH_CAPABLE;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
471
if (adapter->flags & IXGBE_FLAG_FCOE_ENABLED) {
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
472
u8 tc = ixgbe_fcoe_get_tc(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
474
f = &adapter->ring_feature[RING_F_FCOE];
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
48
for (i = 0; i < adapter->num_tx_queues; i++, reg_idx++) {
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
483
adapter->num_tx_queues = rss_i * tcs;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
484
adapter->num_xdp_queues = 0;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
485
adapter->num_rx_queues = rss_i * tcs;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
500
static bool ixgbe_set_sriov_queues(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
502
u16 vmdq_i = adapter->ring_feature[RING_F_VMDQ].limit;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
504
u16 rss_i = adapter->ring_feature[RING_F_RSS].limit;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
511
if (!(adapter->flags & IXGBE_FLAG_SRIOV_ENABLED))
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
518
vmdq_i += adapter->ring_feature[RING_F_VMDQ].offset;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
52
adapter->tx_ring[i]->reg_idx = reg_idx;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
542
vmdq_i -= adapter->ring_feature[RING_F_VMDQ].offset;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
545
adapter->ring_feature[RING_F_VMDQ].indices = vmdq_i;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
546
adapter->ring_feature[RING_F_VMDQ].mask = vmdq_m;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
549
adapter->ring_feature[RING_F_RSS].indices = rss_i;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
550
adapter->ring_feature[RING_F_RSS].mask = rss_m;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
552
adapter->num_rx_pools = vmdq_i;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
553
adapter->num_rx_queues_per_pool = rss_i;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
555
adapter->num_rx_queues = vmdq_i * rss_i;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
556
adapter->num_tx_queues = vmdq_i * rss_i;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
557
adapter->num_xdp_queues = 0;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
560
adapter->flags &= ~IXGBE_FLAG_FDIR_HASH_CAPABLE;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
568
if (adapter->flags & IXGBE_FLAG_FCOE_ENABLED) {
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
57
if (!(adapter->flags & IXGBE_FLAG_FCOE_ENABLED))
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
571
fcoe = &adapter->ring_feature[RING_F_FCOE];
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
585
if (!(adapter->flags & IXGBE_FLAG_MSIX_ENABLED))
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
596
adapter->num_tx_queues += fcoe_i;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
597
adapter->num_rx_queues += fcoe_i;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
607
netdev_set_num_tc(adapter->netdev, 1);
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
610
netdev_set_tc_queue(adapter->netdev, 0,
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
611
adapter->num_rx_queues_per_pool, 0);
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
624
static bool ixgbe_set_rss_queues(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
626
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
631
f = &adapter->ring_feature[RING_F_RSS];
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
642
adapter->flags &= ~IXGBE_FLAG_FDIR_HASH_CAPABLE;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
649
if (rss_i > 1 && adapter->atr_sample_rate) {
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
650
f = &adapter->ring_feature[RING_F_FDIR];
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
654
if (!(adapter->flags & IXGBE_FLAG_FDIR_PERFECT_CAPABLE))
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
655
adapter->flags |= IXGBE_FLAG_FDIR_HASH_CAPABLE;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
667
if (adapter->flags & IXGBE_FLAG_FCOE_ENABLED) {
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
668
struct net_device *dev = adapter->netdev;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
67
u8 fcoe_tc = ixgbe_fcoe_get_tc(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
671
f = &adapter->ring_feature[RING_F_FCOE];
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
678
if (!(adapter->flags & IXGBE_FLAG_MSIX_ENABLED))
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
688
adapter->num_rx_queues = rss_i;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
689
adapter->num_tx_queues = rss_i;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
690
adapter->num_xdp_queues = ixgbe_xdp_queues(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
70
for (i = fcoe->offset; i < adapter->num_rx_queues; i++) {
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
706
static void ixgbe_set_num_queues(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
709
adapter->num_rx_queues = 1;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
710
adapter->num_tx_queues = 1;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
711
adapter->num_xdp_queues = 0;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
712
adapter->num_rx_pools = 1;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
713
adapter->num_rx_queues_per_pool = 1;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
716
if (ixgbe_set_dcb_sriov_queues(adapter))
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
719
if (ixgbe_set_dcb_queues(adapter))
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
72
adapter->rx_ring[i]->reg_idx = reg_idx;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
723
if (ixgbe_set_sriov_queues(adapter))
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
726
ixgbe_set_rss_queues(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
73
adapter->rx_ring[i]->netdev = adapter->netdev;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
737
static int ixgbe_acquire_msix_vectors(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
739
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
745
vectors = max(adapter->num_rx_queues, adapter->num_tx_queues);
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
746
vectors = max(vectors, adapter->num_xdp_queues);
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
771
adapter->msix_entries = kzalloc_objs(struct msix_entry, vectors);
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
772
if (!adapter->msix_entries)
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
776
adapter->msix_entries[i].entry = i;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
778
vectors = pci_enable_msix_range(adapter->pdev, adapter->msix_entries,
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
78
for (i = fcoe->offset; i < adapter->num_tx_queues; i++) {
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
788
adapter->flags &= ~IXGBE_FLAG_MSIX_ENABLED;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
789
kfree(adapter->msix_entries);
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
790
adapter->msix_entries = NULL;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
798
adapter->flags |= IXGBE_FLAG_MSIX_ENABLED;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
80
adapter->tx_ring[i]->reg_idx = reg_idx;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
804
adapter->num_q_vectors = min_t(int, vectors, adapter->max_q_vectors);
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
832
static int ixgbe_alloc_q_vector(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
838
int node = dev_to_node(&adapter->pdev->dev);
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
843
u8 tcs = adapter->hw_tcs;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
848
if ((tcs <= 1) && !(adapter->flags & IXGBE_FLAG_SRIOV_ENABLED)) {
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
849
u16 rss_i = adapter->ring_feature[RING_F_RSS].indices;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
850
if (rss_i > 1 && adapter->atr_sample_rate) {
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
875
netif_napi_add(adapter->netdev, &q_vector->napi, ixgbe_poll);
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
878
adapter->q_vector[v_idx] = q_vector;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
879
q_vector->adapter = adapter;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
883
q_vector->tx.work_limit = adapter->tx_work_limit;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
894
if (adapter->tx_itr_setting == 1)
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
897
q_vector->itr = adapter->tx_itr_setting;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
90
static void ixgbe_get_first_reg_idx(struct ixgbe_adapter *adapter, u8 tc,
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
900
if (adapter->rx_itr_setting == 1)
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
903
q_vector->itr = adapter->rx_itr_setting;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
911
ring->dev = &adapter->pdev->dev;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
912
ring->netdev = adapter->netdev;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
921
ring->count = adapter->tx_ring_count;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
925
WRITE_ONCE(adapter->tx_ring[txr_idx], ring);
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
93
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
937
ring->dev = &adapter->pdev->dev;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
938
ring->netdev = adapter->netdev;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
94
u8 num_tcs = adapter->hw_tcs;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
947
ring->count = adapter->tx_ring_count;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
953
WRITE_ONCE(adapter->xdp_ring[xdp_idx], ring);
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
965
ring->dev = &adapter->pdev->dev;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
966
ring->netdev = adapter->netdev;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
978
if (adapter->hw.mac.type == ixgbe_mac_82599EB)
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
982
if (adapter->netdev->fcoe_mtu) {
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
984
f = &adapter->ring_feature[RING_F_FCOE];
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
992
ring->count = adapter->rx_ring_count;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
996
WRITE_ONCE(adapter->rx_ring[rxr_idx], ring);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10003
spin_lock(&adapter->fdir_perfect_lock);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10004
err = ixgbe_update_ethtool_fdir_entry(adapter, NULL, loc);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10005
spin_unlock(&adapter->fdir_perfect_lock);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10009
static int ixgbe_configure_clsu32_add_hnode(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10023
set_bit(uhtid - 1, &adapter->tables);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10027
static int ixgbe_configure_clsu32_del_hnode(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10035
clear_bit(uhtid - 1, &adapter->tables);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1004
tc = netdev_get_prio_tc_map(adapter->netdev, i);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10041
struct ixgbe_adapter *adapter;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10052
struct ixgbe_adapter *adapter;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10058
adapter = data->adapter;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10060
data->queue = adapter->rx_ring[vadapter->rx_base_queue]->reg_idx;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10069
static int handle_redirect_action(struct ixgbe_adapter *adapter, int ifindex,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10072
struct ixgbe_ring_feature *vmdq = &adapter->ring_feature[RING_F_VMDQ];
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10073
unsigned int num_vfs = adapter->num_vfs, vf;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10080
upper = pci_get_drvdata(adapter->vfinfo[vf].vfdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1009
for (i = 0; i < adapter->num_tx_queues; i++) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10090
data.adapter = adapter;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10095
if (netdev_walk_all_upper_dev_rcu(adapter->netdev,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1010
struct ixgbe_ring *tx_ring = adapter->tx_ring[i];
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10106
static int parse_tc_actions(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10129
return handle_redirect_action(adapter, dev->ifindex,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10139
static int parse_tc_actions(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1017
for (i = 0; i < adapter->num_xdp_queues; i++) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1018
struct ixgbe_ring *xdp_ring = adapter->xdp_ring[i];
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10198
static int ixgbe_configure_clsu32(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10203
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10225
if (loc >= ((1024 << adapter->fdir_pballoc) - 2)) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10238
field_ptr = (adapter->jump_tables[0])->mat;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10242
if (!adapter->jump_tables[uhtid])
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10244
field_ptr = (adapter->jump_tables[uhtid])->mat;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10262
if (!test_bit(link_uhtid - 1, &adapter->tables))
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10270
if (adapter->jump_tables[link_uhtid] &&
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10271
(adapter->jump_tables[link_uhtid])->link_hdl) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10305
adapter->jump_tables[link_uhtid] = jump;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10325
if ((uhtid != 0x800) && (adapter->jump_tables[uhtid])) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10326
if ((adapter->jump_tables[uhtid])->input)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10327
memcpy(input, (adapter->jump_tables[uhtid])->input,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10329
if ((adapter->jump_tables[uhtid])->mask)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10330
memcpy(mask, (adapter->jump_tables[uhtid])->mask,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10337
struct ixgbe_jump_table *link = adapter->jump_tables[i];
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10351
err = parse_tc_actions(adapter, cls->knode.exts, &input->action,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10358
spin_lock(&adapter->fdir_perfect_lock);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10360
if (hlist_empty(&adapter->fdir_filter_list)) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10361
memcpy(&adapter->fdir_mask, mask, sizeof(*mask));
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10365
} else if (memcmp(&adapter->fdir_mask, mask, sizeof(*mask))) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10376
ixgbe_update_ethtool_fdir_entry(adapter, input, input->sw_idx);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10377
spin_unlock(&adapter->fdir_perfect_lock);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10379
if ((uhtid != 0x800) && (adapter->jump_tables[uhtid]))
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10380
set_bit(loc - 1, (adapter->jump_tables[uhtid])->child_loc_map);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10385
spin_unlock(&adapter->fdir_perfect_lock);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10395
static int ixgbe_setup_tc_cls_u32(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10401
return ixgbe_configure_clsu32(adapter, cls_u32);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10403
return ixgbe_delete_clsu32(adapter, cls_u32);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10406
return ixgbe_configure_clsu32_add_hnode(adapter, cls_u32);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10408
return ixgbe_configure_clsu32_del_hnode(adapter, cls_u32);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10417
struct ixgbe_adapter *adapter = cb_priv;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10419
if (!tc_cls_can_offload_and_chain0(adapter->netdev, type_data))
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10424
return ixgbe_setup_tc_cls_u32(adapter, type_data);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10442
struct ixgbe_adapter *adapter = ixgbe_from_netdev(dev);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10449
adapter, adapter, true);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10458
void ixgbe_sriov_reinit(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10460
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10463
ixgbe_setup_tc(netdev, adapter->hw_tcs);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10470
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10473
ixgbe_reinit_locked(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10475
ixgbe_reset(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10481
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10488
if (!(adapter->flags2 & IXGBE_FLAG2_RSC_CAPABLE))
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10491
if (adapter->xdp_prog && (features & NETIF_F_LRO)) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10499
static void ixgbe_reset_l2fw_offload(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10501
int rss = min_t(int, ixgbe_max_rss_indices(adapter),
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10505
if (!adapter->ring_feature[RING_F_VMDQ].offset)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10506
adapter->flags &= ~(IXGBE_FLAG_VMDQ_ENABLED |
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10509
adapter->ring_feature[RING_F_RSS].limit = rss;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1051
static int ixgbe_get_vf_idx(struct ixgbe_adapter *adapter, u16 queue, u16 *vf)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10510
adapter->ring_feature[RING_F_VMDQ].limit = 1;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10512
ixgbe_setup_tc(adapter->netdev, adapter->hw_tcs);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10518
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10524
if (adapter->flags2 & IXGBE_FLAG2_RSC_ENABLED)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10526
adapter->flags2 &= ~IXGBE_FLAG2_RSC_ENABLED;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10527
} else if ((adapter->flags2 & IXGBE_FLAG2_RSC_CAPABLE) &&
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10528
!(adapter->flags2 & IXGBE_FLAG2_RSC_ENABLED)) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10529
if (adapter->rx_itr_setting == 1 ||
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1053
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10530
adapter->rx_itr_setting > IXGBE_MIN_RSC_ITR) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10531
adapter->flags2 |= IXGBE_FLAG2_RSC_ENABLED;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10545
if (!(adapter->flags & IXGBE_FLAG_FDIR_PERFECT_CAPABLE))
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10548
adapter->flags &= ~IXGBE_FLAG_FDIR_HASH_CAPABLE;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10549
adapter->flags |= IXGBE_FLAG_FDIR_PERFECT_CAPABLE;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10552
if (adapter->flags & IXGBE_FLAG_FDIR_PERFECT_CAPABLE)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10555
adapter->flags &= ~IXGBE_FLAG_FDIR_PERFECT_CAPABLE;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10558
if (adapter->flags & IXGBE_FLAG_SRIOV_ENABLED ||
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10560
(adapter->hw_tcs > 1) ||
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10562
(adapter->ring_feature[RING_F_RSS].limit <= 1) ||
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10564
(!adapter->atr_sample_rate))
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10567
adapter->flags |= IXGBE_FLAG_FDIR_HASH_CAPABLE;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1057
if (queue >= adapter->num_tx_queues)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10575
if ((changed & NETIF_F_HW_L2FW_DOFFLOAD) && adapter->num_rx_pools > 1)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10576
ixgbe_reset_l2fw_offload(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10594
struct ixgbe_adapter *adapter = ixgbe_from_netdev(dev);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10597
if (netdev_uc_count(dev) >= ixgbe_available_rars(adapter, pool))
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10611
static int ixgbe_configure_bridge_mode(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10614
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10621
IXGBE_WRITE_REG(&adapter->hw, IXGBE_PFDTXGSWC, 0);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10634
num_pools = adapter->num_vfs + adapter->num_rx_pools;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10644
IXGBE_WRITE_REG(&adapter->hw, IXGBE_PFDTXGSWC,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10651
if (!adapter->num_vfs)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10658
num_pools = adapter->num_vfs + adapter->num_rx_pools;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10670
adapter->bridge_mode = mode;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10682
struct ixgbe_adapter *adapter = ixgbe_from_netdev(dev);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10686
if (!(adapter->flags & IXGBE_FLAG_SRIOV_ENABLED))
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10695
int status = ixgbe_configure_bridge_mode(adapter, mode);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10710
struct ixgbe_adapter *adapter = ixgbe_from_netdev(dev);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10712
if (!(adapter->flags & IXGBE_FLAG_SRIOV_ENABLED))
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10716
adapter->bridge_mode, 0, 0, nlflags,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10722
struct ixgbe_adapter *adapter = ixgbe_from_netdev(pdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10724
int tcs = adapter->hw_tcs ? : 1;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10727
if (adapter->xdp_prog) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10746
pool = find_first_zero_bit(adapter->fwd_bitmask, adapter->num_rx_pools);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10747
if (pool == adapter->num_rx_pools) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10748
u16 used_pools = adapter->num_vfs + adapter->num_rx_pools;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10751
if (((adapter->flags & IXGBE_FLAG_DCB_ENABLED) &&
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10752
adapter->num_rx_pools >= (MAX_TX_QUEUES / tcs)) ||
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10753
adapter->num_rx_pools > IXGBE_MAX_MACVLANS)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10764
adapter->flags |= IXGBE_FLAG_VMDQ_ENABLED |
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10771
if (used_pools < 32 && adapter->num_rx_pools < 16)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10774
16 - adapter->num_rx_pools);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10775
else if (adapter->num_rx_pools < 32)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10778
32 - adapter->num_rx_pools);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10786
adapter->ring_feature[RING_F_VMDQ].limit += reserved_pools;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10789
err = ixgbe_setup_tc(pdev, adapter->hw_tcs);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10793
if (pool >= adapter->num_rx_pools)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10801
set_bit(pool, adapter->fwd_bitmask);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10809
err = ixgbe_fwd_ring_up(adapter, accel);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10819
struct ixgbe_adapter *adapter = ixgbe_from_netdev(pdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10824
ixgbe_del_mac_filter(adapter, accel->netdev->dev_addr,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10832
for (i = 0; i < adapter->num_rx_queues_per_pool; i++) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10833
struct ixgbe_ring *ring = adapter->rx_ring[rxbase + i];
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10839
if (netif_running(adapter->netdev))
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10848
clear_bit(accel->pool, adapter->fwd_bitmask);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10897
struct ixgbe_adapter *adapter = ixgbe_from_netdev(dev);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10902
if (adapter->flags & IXGBE_FLAG_SRIOV_ENABLED)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10905
if (adapter->flags & IXGBE_FLAG_DCB_ENABLED)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10909
for (i = 0; i < adapter->num_rx_queues; i++) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10910
struct ixgbe_ring *ring = adapter->rx_ring[i];
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10925
old_prog = xchg(&adapter->xdp_prog, prog);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10935
err = ixgbe_setup_tc(dev, adapter->hw_tcs);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10942
for (i = 0; i < adapter->num_rx_queues; i++) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10943
WRITE_ONCE(adapter->rx_ring[i]->xdp_prog,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10944
adapter->xdp_prog);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10955
num_queues = min_t(int, adapter->num_rx_queues,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10956
adapter->num_xdp_queues);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10958
if (adapter->xdp_ring[i]->xsk_pool)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10959
(void)ixgbe_xsk_wakeup(adapter->netdev, i,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10969
struct ixgbe_adapter *adapter = ixgbe_from_netdev(dev);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10975
return ixgbe_xsk_pool_setup(adapter, xdp->xsk.pool,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11004
struct ixgbe_adapter *adapter = ixgbe_from_netdev(dev);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11009
if (unlikely(test_bit(__IXGBE_DOWN, &adapter->state)))
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11012
if (!netif_carrier_ok(adapter->netdev) ||
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11013
!netif_running(adapter->netdev))
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11022
ring = adapter->xdp_prog ? ixgbe_determine_xdp_ring(adapter) : NULL;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11100
static void ixgbe_disable_txr_hw(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11104
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11112
delay_interval = ixgbe_get_completion_timeout(adapter) / 100;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11129
static void ixgbe_disable_txr(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11133
ixgbe_disable_txr_hw(adapter, tx_ring);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11136
static void ixgbe_disable_rxr_hw(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11140
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11158
delay_interval = ixgbe_get_completion_timeout(adapter) / 100;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1119
static void ixgbe_tx_timeout_reset(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11192
static void ixgbe_irq_disable_single(struct ixgbe_adapter *adapter, u32 ring)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11194
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11198
switch (adapter->hw.mac.type) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11201
IXGBE_WRITE_REG(&adapter->hw, IXGBE_EIMC, mask);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11218
IXGBE_WRITE_FLUSH(&adapter->hw);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11219
if (adapter->flags & IXGBE_FLAG_MSIX_ENABLED)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11220
synchronize_irq(adapter->msix_entries[ring].vector);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11222
synchronize_irq(adapter->pdev->irq);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1123
if (!test_bit(__IXGBE_DOWN, &adapter->state)) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11233
void ixgbe_txrx_ring_disable(struct ixgbe_adapter *adapter, int ring)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11237
rx_ring = adapter->rx_ring[ring];
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11238
tx_ring = adapter->tx_ring[ring];
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11239
xdp_ring = adapter->xdp_ring[ring];
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1124
set_bit(__IXGBE_RESET_REQUESTED, &adapter->state);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11241
ixgbe_irq_disable_single(adapter, ring);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11246
ixgbe_disable_txr(adapter, tx_ring);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11248
ixgbe_disable_txr(adapter, xdp_ring);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11249
ixgbe_disable_rxr_hw(adapter, rx_ring);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1126
ixgbe_service_event_schedule(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11273
void ixgbe_txrx_ring_enable(struct ixgbe_adapter *adapter, int ring)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11277
rx_ring = adapter->rx_ring[ring];
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11278
tx_ring = adapter->tx_ring[ring];
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11279
xdp_ring = adapter->xdp_ring[ring];
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11281
ixgbe_configure_tx_ring(adapter, tx_ring);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11283
ixgbe_configure_tx_ring(adapter, xdp_ring);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11284
ixgbe_configure_rx_ring(adapter, rx_ring);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11292
ixgbe_irq_enable_queues(adapter, BIT_ULL(ring));
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11293
IXGBE_WRITE_FLUSH(&adapter->hw);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11305
static inline int ixgbe_enumerate_functions(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11307
struct pci_dev *entry, *pdev = adapter->pdev;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11314
if (ixgbe_pcie_from_parent(&adapter->hw))
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11317
list_for_each_entry(entry, &adapter->pdev->bus->devices, bus_list) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11348
bool ixgbe_wol_supported(struct ixgbe_adapter *adapter, u16 device_id,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11351
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11352
u16 wol_cap = adapter->eeprom_cap & IXGBE_DEVICE_CAPS_WOL_MASK;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1139
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1140
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1141
u32 bcnrc_val = ixgbe_link_mbps(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11418
void ixgbe_set_fw_version_e610(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11420
struct ixgbe_orom_info *orom = &adapter->hw.flash.orom;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11421
struct ixgbe_nvm_info *nvm = &adapter->hw.flash.nvm;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11423
snprintf(adapter->eeprom_id, sizeof(adapter->eeprom_id),
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11435
static void ixgbe_set_fw_version(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11437
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11440
if (adapter->hw.mac.type == ixgbe_mac_e610) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11441
ixgbe_set_fw_version_e610(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11447
snprintf(adapter->eeprom_id, sizeof(adapter->eeprom_id),
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11457
snprintf(adapter->eeprom_id, sizeof(adapter->eeprom_id),
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11464
snprintf(adapter->eeprom_id, sizeof(adapter->eeprom_id),
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11477
static int ixgbe_recovery_probe(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11479
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11480
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11486
ixgbe_get_hw_control(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11487
err = ixgbe_get_flash_data(&adapter->hw);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11491
timer_setup(&adapter->service_timer, ixgbe_service_timer, 0);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11492
INIT_WORK(&adapter->service_task, ixgbe_recovery_service_task);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11493
set_bit(__IXGBE_SERVICE_INITED, &adapter->state);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11494
clear_bit(__IXGBE_SERVICE_SCHED, &adapter->state);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11499
pci_set_drvdata(pdev, adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11503
devl_lock(adapter->devlink);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11504
ixgbe_devlink_register_port(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11505
SET_NETDEV_DEVLINK_PORT(adapter->netdev,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11506
&adapter->devlink_port);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11507
ixgbe_devlink_init_regions(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11508
devl_register(adapter->devlink);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11509
devl_unlock(adapter->devlink);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11513
ixgbe_release_hw_control(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11532
struct ixgbe_adapter *adapter = NULL;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11585
adapter = ixgbe_allocate_devlink(&pdev->dev);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11586
if (IS_ERR(adapter)) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11587
err = PTR_ERR(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11600
netdev_priv_wrapper->adapter = adapter;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11602
adapter->netdev = netdev;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11603
adapter->pdev = pdev;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11604
hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11605
hw->back = adapter;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11606
adapter->msg_enable = netif_msg_init(debug, DEFAULT_MSG_ENABLE);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11610
adapter->io_addr = hw->hw_addr;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11651
err = ixgbe_sw_init(adapter, ii);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11655
if (ixgbe_check_fw_error(adapter)) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11656
err = ixgbe_recovery_probe(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11663
if (adapter->hw.mac.type == ixgbe_mac_e610) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11664
err = ixgbe_get_caps(&adapter->hw);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11668
err = ixgbe_get_flash_data(&adapter->hw);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11673
if (adapter->hw.mac.type == ixgbe_mac_82599EB)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11674
adapter->flags2 |= IXGBE_FLAG2_AUTO_DISABLE_VF;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11676
switch (adapter->hw.mac.type) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11690
switch (adapter->hw.mac.type) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11697
IXGBE_WRITE_REG(&adapter->hw, IXGBE_WUS, ~0);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11707
if (adapter->flags & IXGBE_FLAG_FAN_FAIL_CAPABLE) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11720
ixgbe_set_eee_capable(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11734
if (adapter->hw.mac.type == ixgbe_mac_82598EB)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11740
ixgbe_enable_sriov(adapter, max_vfs);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11770
if (adapter->ipsec)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11811
if (adapter->flags & IXGBE_FLAG_DCB_CAPABLE)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11816
if (adapter->flags & IXGBE_FLAG_FCOE_CAPABLE) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11822
adapter->flags &= ~IXGBE_FLAG_FCOE_CAPABLE;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11827
adapter->ring_feature[RING_F_FCOE].limit = fcoe_l;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11836
if (adapter->flags2 & IXGBE_FLAG2_RSC_CAPABLE)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11838
if (adapter->flags2 & IXGBE_FLAG2_RSC_ENABLED)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11848
eth_platform_get_mac_address(&adapter->pdev->dev,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11849
adapter->hw.mac.perm_addr);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11861
ixgbe_mac_set_default_filter(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11863
timer_setup(&adapter->service_timer, ixgbe_service_timer, 0);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11869
INIT_WORK(&adapter->service_task, ixgbe_service_task);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11870
set_bit(__IXGBE_SERVICE_INITED, &adapter->state);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11871
clear_bit(__IXGBE_SERVICE_SCHED, &adapter->state);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11873
err = ixgbe_init_interrupt_scheme(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11877
for (i = 0; i < adapter->num_rx_queues; i++)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11878
u64_stats_init(&adapter->rx_ring[i]->syncp);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11879
for (i = 0; i < adapter->num_tx_queues; i++)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11880
u64_stats_init(&adapter->tx_ring[i]->syncp);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11881
for (i = 0; i < adapter->num_xdp_queues; i++)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11882
u64_stats_init(&adapter->xdp_ring[i]->syncp);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11885
adapter->wol = 0;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11886
hw->eeprom.ops.read(hw, 0x2c, &adapter->eeprom_cap);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11887
hw->wol_enabled = ixgbe_wol_supported(adapter, pdev->device,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11890
adapter->wol = IXGBE_WUFC_MAG;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11892
device_set_wakeup_enable(&adapter->pdev->dev, adapter->wol);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11895
ixgbe_set_fw_version(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11899
ixgbe_get_parent_bus_info(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11910
expected_gts = min(ixgbe_enumerate_functions(adapter) * 10, 16);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11913
expected_gts = ixgbe_enumerate_functions(adapter) * 10;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11919
ixgbe_check_minimum_link(adapter, expected_gts);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11946
pci_set_drvdata(pdev, adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11948
devl_lock(adapter->devlink);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11949
ixgbe_devlink_register_port(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11950
SET_NETDEV_DEVLINK_PORT(adapter->netdev, &adapter->devlink_port);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11966
adapter->flags |= IXGBE_FLAG_DCA_ENABLED;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11967
ixgbe_setup_dca(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11970
if (adapter->flags & IXGBE_FLAG_SRIOV_ENABLED) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11971
e_info(probe, "IOV is enabled with %d VFs\n", adapter->num_vfs);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11972
for (i = 0; i < adapter->num_vfs; i++)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11990
if (ixgbe_sysfs_init(adapter))
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11994
ixgbe_dbg_adapter_init(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
12006
ixgbe_devlink_init_regions(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
12007
devl_register(adapter->devlink);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
12008
devl_unlock(adapter->devlink);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
12018
devl_port_unregister(&adapter->devlink_port);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
12019
devl_unlock(adapter->devlink);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
12020
ixgbe_release_hw_control(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
12021
ixgbe_clear_interrupt_scheme(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
12024
mutex_destroy(&adapter->hw.aci.lock);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
12025
ixgbe_disable_sriov(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
12026
adapter->flags2 &= ~IXGBE_FLAG2_SEARCH_FOR_SFP;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
12027
iounmap(adapter->io_addr);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
12028
kfree(adapter->jump_tables[0]);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
12029
kfree(adapter->mac_table);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
12030
kfree(adapter->rss_key);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
12031
bitmap_free(adapter->af_xdp_zc_qps);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
12033
disable_dev = !test_and_set_bit(__IXGBE_DISABLED, &adapter->state);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
12036
devlink_free(adapter->devlink);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
12041
if (!adapter || disable_dev)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
12057
struct ixgbe_adapter *adapter = pci_get_drvdata(pdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
12063
if (!adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
12066
netdev = adapter->netdev;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
12067
devl_lock(adapter->devlink);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
12068
devl_unregister(adapter->devlink);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
12069
ixgbe_devlink_destroy_regions(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
12070
ixgbe_fwlog_deinit(&adapter->hw);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
12071
ixgbe_dbg_adapter_exit(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
12073
set_bit(__IXGBE_REMOVING, &adapter->state);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
12074
cancel_work_sync(&adapter->service_task);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
12076
if (adapter->hw.mac.type == ixgbe_mac_e610)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
12077
ixgbe_disable_link_status_events(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
12079
if (adapter->mii_bus)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
12080
mdiobus_unregister(adapter->mii_bus);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
12083
if (adapter->flags & IXGBE_FLAG_DCA_ENABLED) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
12084
adapter->flags &= ~IXGBE_FLAG_DCA_ENABLED;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
12086
IXGBE_WRITE_REG(&adapter->hw, IXGBE_DCA_CTRL,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
12092
ixgbe_sysfs_exit(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
12099
ixgbe_disable_sriov(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
12104
devl_port_unregister(&adapter->devlink_port);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
12105
devl_unlock(adapter->devlink);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
12107
ixgbe_stop_ipsec_offload(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
12108
ixgbe_clear_interrupt_scheme(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1211
struct ixgbe_adapter *adapter = netdev_priv(tx_ring->netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
12110
ixgbe_release_hw_control(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
12113
kfree(adapter->ixgbe_ieee_pfc);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
12114
kfree(adapter->ixgbe_ieee_ets);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
12117
iounmap(adapter->io_addr);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1212
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
12123
if (adapter->jump_tables[i]) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
12124
kfree(adapter->jump_tables[i]->input);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
12125
kfree(adapter->jump_tables[i]->mask);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
12127
kfree(adapter->jump_tables[i]);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
12130
kfree(adapter->mac_table);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
12131
kfree(adapter->rss_key);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
12132
bitmap_free(adapter->af_xdp_zc_qps);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
12133
disable_dev = !test_and_set_bit(__IXGBE_DISABLED, &adapter->state);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
12136
if (adapter->hw.mac.type == ixgbe_mac_e610)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
12137
mutex_destroy(&adapter->hw.aci.lock);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
12142
devlink_free(adapter->devlink);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
12156
struct ixgbe_adapter *adapter = pci_get_drvdata(pdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
12157
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
12160
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
12166
if (adapter->hw.mac.type == ixgbe_mac_82598EB ||
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
12167
adapter->num_vfs == 0)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
12202
switch (adapter->hw.mac.type) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
12252
adapter->vferr_refcount++;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
12258
if (!test_bit(__IXGBE_SERVICE_INITED, &adapter->state))
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
12268
ixgbe_close_suspend(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
12275
if (!test_and_set_bit(__IXGBE_DISABLED, &adapter->state))
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
12291
struct ixgbe_adapter *adapter = pci_get_drvdata(pdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
12299
clear_bit(__IXGBE_DISABLED, &adapter->state);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
12300
adapter->hw.hw_addr = adapter->io_addr;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
12306
ixgbe_reset(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
12307
IXGBE_WRITE_REG(&adapter->hw, IXGBE_WUS, ~0);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
12323
struct ixgbe_adapter *adapter = pci_get_drvdata(pdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
12324
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
12327
if (adapter->vferr_refcount) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
12329
adapter->vferr_refcount--;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1240
static void ixgbe_vf_handle_tx_hang(struct ixgbe_adapter *adapter, u16 vf)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1242
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1244
if (adapter->hw.mac.type != ixgbe_mac_e610)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1249
hw->bus.func, vf, adapter->vfinfo[vf].vf_mac_addresses);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1251
adapter->tx_hang_count[vf]++;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1252
if (adapter->tx_hang_count[vf] == IXGBE_MAX_TX_VF_HANGS) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1253
ixgbe_set_vf_link_state(adapter, vf,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1255
adapter->tx_hang_count[vf] = 0;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1275
static bool ixgbe_check_illegal_queue(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1279
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1323
static void ixgbe_handle_mdd_event(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1328
if (adapter->vfinfo && ixgbe_check_mdd_event(adapter)) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1330
if (!ixgbe_get_vf_idx(adapter, tx_ring->queue_index, &vf))
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1331
ixgbe_vf_handle_tx_hang(adapter, vf);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1335
if (ixgbe_check_illegal_queue(adapter, q) &&
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1336
!ixgbe_get_vf_idx(adapter, q, &vf))
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1338
ixgbe_vf_handle_tx_hang(adapter, vf);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1352
struct ixgbe_adapter *adapter = q_vector->adapter;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1360
if (test_bit(__IXGBE_DOWN, &adapter->state))
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1447
adapter->tx_ipsec += total_ipsec;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1453
if (adapter->hw.mac.type == ixgbe_mac_e610)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1454
ixgbe_handle_mdd_event(adapter, tx_ring);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1460
adapter->tx_timeout_count + 1, tx_ring->queue_index);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1463
ixgbe_tx_timeout_reset(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1475
test_bit(__IXGBE_DOWN, &adapter->state)))
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1482
static void ixgbe_update_tx_dca(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1486
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1490
if (adapter->flags & IXGBE_FLAG_DCA_ENABLED)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1519
static void ixgbe_update_rx_dca(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1523
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1527
if (adapter->flags & IXGBE_FLAG_DCA_ENABLED)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1553
struct ixgbe_adapter *adapter = q_vector->adapter;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1561
ixgbe_update_tx_dca(adapter, ring, cpu);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1564
ixgbe_update_rx_dca(adapter, ring, cpu);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1571
static void ixgbe_setup_dca(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1576
if (adapter->flags & IXGBE_FLAG_DCA_ENABLED)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1577
IXGBE_WRITE_REG(&adapter->hw, IXGBE_DCA_CTRL,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1580
IXGBE_WRITE_REG(&adapter->hw, IXGBE_DCA_CTRL,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1583
for (i = 0; i < adapter->num_q_vectors; i++) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1584
adapter->q_vector[i]->cpu = -1;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1585
ixgbe_update_dca(adapter->q_vector[i]);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1591
struct ixgbe_adapter *adapter = dev_get_drvdata(dev);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1594
if (!(adapter->flags & IXGBE_FLAG_DCA_CAPABLE))
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1600
if (adapter->flags & IXGBE_FLAG_DCA_ENABLED)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1603
adapter->flags |= IXGBE_FLAG_DCA_ENABLED;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1604
IXGBE_WRITE_REG(&adapter->hw, IXGBE_DCA_CTRL,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1610
if (adapter->flags & IXGBE_FLAG_DCA_ENABLED) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1612
adapter->flags &= ~IXGBE_FLAG_DCA_ENABLED;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1613
IXGBE_WRITE_REG(&adapter->hw, IXGBE_DCA_CTRL,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1894
u32 flags = rx_ring->q_vector->adapter->flags;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
196
static int ixgbe_read_pci_cfg_word_parent(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
202
parent_bus = adapter->pdev->bus->parent;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
215
ixgbe_check_cfg_remove(&adapter->hw, parent_dev))
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
220
static int ixgbe_get_parent_bus_info(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
222
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
231
err = ixgbe_read_pci_cfg_word_parent(adapter, 18, &link_status);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2400
static int ixgbe_run_xdp(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2425
ring = ixgbe_determine_xdp_ring(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2435
err = xdp_do_redirect(adapter->netdev, xdp, xdp_prog);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2501
struct ixgbe_adapter *adapter = q_vector->adapter;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2556
xdp_res = ixgbe_run_xdp(adapter, rx_ring, &xdp);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2605
ddp_bytes = ixgbe_fcoe_ddp(adapter, rx_desc, skb);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2637
struct ixgbe_ring *ring = ixgbe_determine_xdp_ring(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2655
static void ixgbe_configure_msix(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
266
static void ixgbe_check_minimum_link(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2662
if (adapter->num_vfs > 32) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2663
u32 eitrsel = BIT(adapter->num_vfs - 32) - 1;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2664
IXGBE_WRITE_REG(&adapter->hw, IXGBE_EITRSEL, eitrsel);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2671
for (v_idx = 0; v_idx < adapter->num_q_vectors; v_idx++) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2673
q_vector = adapter->q_vector[v_idx];
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2676
ixgbe_set_ivar(adapter, 0, ring->reg_idx, v_idx);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2679
ixgbe_set_ivar(adapter, 1, ring->reg_idx, v_idx);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2684
switch (adapter->hw.mac.type) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2686
ixgbe_set_ivar(adapter, -1, IXGBE_IVAR_OTHER_CAUSES_INDEX,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
269
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2695
ixgbe_set_ivar(adapter, -1, 1, v_idx);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2700
IXGBE_WRITE_REG(&adapter->hw, IXGBE_EITR(v_idx), 1950);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2708
if (adapter->hw.mac.type == ixgbe_mac_e610)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2711
IXGBE_WRITE_REG(&adapter->hw, IXGBE_EIAC, mask);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
280
if (ixgbe_pcie_from_parent(&adapter->hw))
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
281
pdev = adapter->pdev->bus->parent->self;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
283
pdev = adapter->pdev;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2872
switch (q_vector->adapter->link_speed) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
288
static void ixgbe_service_event_schedule(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
290
if (!test_bit(__IXGBE_DOWN, &adapter->state) &&
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
291
!test_bit(__IXGBE_REMOVING, &adapter->state) &&
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2912
struct ixgbe_adapter *adapter = q_vector->adapter;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2913
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2917
switch (adapter->hw.mac.type) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
292
!test_and_set_bit(__IXGBE_SERVICE_SCHED, &adapter->state))
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
293
queue_work(ixgbe_wq, &adapter->service_task);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2966
static void ixgbe_check_overtemp_subtask(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2968
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2969
u32 eicr = adapter->interrupt_event;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2971
if (test_bit(__IXGBE_DOWN, &adapter->state))
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2974
if (!(adapter->flags2 & IXGBE_FLAG2_TEMP_SENSOR_EVENT))
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2977
adapter->flags2 &= ~IXGBE_FLAG2_TEMP_SENSOR_EVENT;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
298
struct ixgbe_adapter *adapter = hw->back;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3013
if (adapter->hw.mac.type >= ixgbe_mac_X540)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3021
adapter->interrupt_event = 0;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3024
static void ixgbe_check_fan_failure(struct ixgbe_adapter *adapter, u32 eicr)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3026
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3028
if ((adapter->flags & IXGBE_FLAG_FAN_FAIL_CAPABLE) &&
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3036
static void ixgbe_check_overtemp_event(struct ixgbe_adapter *adapter, u32 eicr)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3038
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
304
if (test_bit(__IXGBE_SERVICE_INITED, &adapter->state))
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3040
if (!(adapter->flags2 & IXGBE_FLAG2_TEMP_SENSOR_CAPABLE))
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3043
switch (adapter->hw.mac.type) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
305
ixgbe_service_event_schedule(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3051
(!test_bit(__IXGBE_DOWN, &adapter->state))) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3052
adapter->interrupt_event = eicr;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3053
adapter->flags2 |= IXGBE_FLAG2_TEMP_SENSOR_EVENT;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3054
ixgbe_service_event_schedule(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3060
adapter->interrupt_event = eicr;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3061
adapter->flags2 |= IXGBE_FLAG2_TEMP_SENSOR_EVENT;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3062
ixgbe_service_event_schedule(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3063
IXGBE_WRITE_REG(&adapter->hw, IXGBE_EIMC,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3065
IXGBE_WRITE_REG(&adapter->hw, IXGBE_EICR,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3103
static void ixgbe_check_sfp_event(struct ixgbe_adapter *adapter, u32 eicr)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3105
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3118
if (!test_bit(__IXGBE_DOWN, &adapter->state)) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3119
adapter->flags2 |= IXGBE_FLAG2_SFP_NEEDS_RESET;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3120
adapter->sfp_poll_time = 0;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3121
ixgbe_service_event_schedule(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3125
if (adapter->hw.mac.type == ixgbe_mac_82599EB &&
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3129
if (!test_bit(__IXGBE_DOWN, &adapter->state)) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3130
adapter->flags |= IXGBE_FLAG_NEED_LINK_CONFIG;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3131
ixgbe_service_event_schedule(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3136
static void ixgbe_check_lsc(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3138
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3140
adapter->lsc_int++;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3141
adapter->flags |= IXGBE_FLAG_NEED_LINK_UPDATE;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3142
adapter->link_check_timeout = jiffies;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3143
if (!test_bit(__IXGBE_DOWN, &adapter->state)) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3146
ixgbe_service_event_schedule(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3157
static void ixgbe_check_phy_fw_load(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3161
adapter->flags2 &= ~IXGBE_FLAG2_PHY_FW_LOAD_FAILED;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3165
if (adapter->flags2 & IXGBE_FLAG2_PHY_FW_LOAD_FAILED)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3169
netdev_err(adapter->netdev, "Device failed to load the FW for the external PHY. Please download and install the latest NVM for your device and try again\n");
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3170
adapter->flags2 |= IXGBE_FLAG2_PHY_FW_LOAD_FAILED;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3182
static void ixgbe_check_module_power(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3188
adapter->flags2 &= ~IXGBE_FLAG2_MOD_POWER_UNSUPPORTED;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3195
if (adapter->flags2 & IXGBE_FLAG2_MOD_POWER_UNSUPPORTED)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3199
netdev_err(adapter->netdev, "The installed module is incompatible with the device's NVM image. Cannot start link.\n");
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3200
adapter->flags2 |= IXGBE_FLAG2_MOD_POWER_UNSUPPORTED;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3202
netdev_err(adapter->netdev, "The module's power requirements exceed the device's power supply. Cannot start link.\n");
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3203
adapter->flags2 |= IXGBE_FLAG2_MOD_POWER_UNSUPPORTED;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3215
static void ixgbe_check_link_cfg_err(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3218
ixgbe_check_module_power(adapter, link_cfg_err);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3219
ixgbe_check_phy_fw_load(adapter, link_cfg_err);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3231
ixgbe_process_link_status_event(struct ixgbe_adapter *adapter, bool link_up,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3234
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3245
ixgbe_check_link_cfg_err(adapter, hw->link.link_info.link_cfg_err);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3254
if (!(adapter->flags2 & IXGBE_FLAG2_NO_MEDIA) &&
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3256
adapter->flags2 |= IXGBE_FLAG2_NO_MEDIA;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3258
if (link_up == adapter->link_up &&
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3259
link_up == netif_carrier_ok(adapter->netdev) &&
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3260
link_speed == adapter->link_speed)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3263
adapter->flags |= IXGBE_FLAG_NEED_LINK_UPDATE;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3264
adapter->link_check_timeout = jiffies;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3265
ixgbe_watchdog_update_link(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3268
ixgbe_watchdog_link_is_up(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3270
ixgbe_watchdog_link_is_down(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3281
ixgbe_handle_link_status_event(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3293
if (ixgbe_process_link_status_event(adapter, link_up, link_speed))
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3304
static void ixgbe_schedule_fw_event(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3306
if (!test_bit(__IXGBE_DOWN, &adapter->state) &&
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3307
!test_bit(__IXGBE_REMOVING, &adapter->state) &&
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3308
!test_bit(__IXGBE_RESETTING, &adapter->state)) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3309
adapter->flags2 |= IXGBE_FLAG2_FW_ASYNC_EVENT;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3310
ixgbe_service_event_schedule(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3332
static void ixgbe_handle_fw_event(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3335
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3339
if (adapter->flags2 & IXGBE_FLAG2_FW_ASYNC_EVENT)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3340
adapter->flags2 &= ~IXGBE_FLAG2_FW_ASYNC_EVENT;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3353
ixgbe_handle_link_status_event(adapter, &event);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3357
ixgbe_down(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3370
static inline void ixgbe_irq_enable_queues(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3373
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3406
static inline void ixgbe_irq_enable(struct ixgbe_adapter *adapter, bool queues,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3409
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3413
if (adapter->flags & IXGBE_FLAG_NEED_LINK_UPDATE)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3416
if (adapter->flags2 & IXGBE_FLAG2_TEMP_SENSOR_CAPABLE)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3417
switch (adapter->hw.mac.type) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3430
if (adapter->flags & IXGBE_FLAG_FAN_FAIL_CAPABLE)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3432
switch (adapter->hw.mac.type) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3444
if (adapter->hw.device_id == IXGBE_DEV_ID_X550EM_X_SFP ||
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3445
adapter->hw.device_id == IXGBE_DEV_ID_X550EM_A_SFP ||
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3446
adapter->hw.device_id == IXGBE_DEV_ID_X550EM_A_SFP_N)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3447
mask |= IXGBE_EIMS_GPI_SDP0(&adapter->hw);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3448
if (adapter->hw.phy.type == ixgbe_phy_x550em_ext_t)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3457
if ((adapter->flags & IXGBE_FLAG_FDIR_HASH_CAPABLE) &&
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3458
!(adapter->flags2 & IXGBE_FLAG2_FDIR_REQUIRES_REINIT))
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3461
IXGBE_WRITE_REG(&adapter->hw, IXGBE_EIMS, mask);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3463
ixgbe_irq_enable_queues(adapter, ~0);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3465
IXGBE_WRITE_FLUSH(&adapter->hw);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3470
struct ixgbe_adapter *adapter = data;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3471
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3494
ixgbe_check_lsc(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3497
ixgbe_msg_task(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3500
ixgbe_schedule_fw_event(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3511
adapter->flags2 |= IXGBE_FLAG2_PHY_INTERRUPT;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3512
ixgbe_service_event_schedule(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3518
set_bit(__IXGBE_RESET_REQUESTED, &adapter->state);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3519
ixgbe_service_event_schedule(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3526
for (i = 0; i < adapter->num_tx_queues; i++) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3527
struct ixgbe_ring *ring = adapter->tx_ring[i];
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3535
adapter->flags2 |= IXGBE_FLAG2_FDIR_REQUIRES_REINIT;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3536
ixgbe_service_event_schedule(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3539
ixgbe_check_sfp_event(adapter, eicr);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3540
ixgbe_check_overtemp_event(adapter, eicr);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3546
ixgbe_check_fan_failure(adapter, eicr);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3549
ixgbe_ptp_check_pps_event(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3552
if (!test_bit(__IXGBE_DOWN, &adapter->state))
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3553
ixgbe_irq_enable(adapter, false, false);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
358
struct ixgbe_adapter *adapter;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3581
struct ixgbe_adapter *adapter = q_vector->adapter;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3587
if (adapter->flags & IXGBE_FLAG_DCA_ENABLED)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3629
if (adapter->rx_itr_setting & 1)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3631
if (!test_bit(__IXGBE_DOWN, &adapter->state))
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3632
ixgbe_irq_enable_queues(adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3646
static int ixgbe_request_msix_irqs(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3648
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3652
for (vector = 0; vector < adapter->num_q_vectors; vector++) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3653
struct ixgbe_q_vector *q_vector = adapter->q_vector[vector];
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3654
struct msix_entry *entry = &adapter->msix_entries[vector];
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3678
if (adapter->flags & IXGBE_FLAG_FDIR_HASH_CAPABLE) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3685
err = request_irq(adapter->msix_entries[vector].vector,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3686
ixgbe_msix_other, 0, netdev->name, adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3697
irq_update_affinity_hint(adapter->msix_entries[vector].vector,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3699
free_irq(adapter->msix_entries[vector].vector,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3700
adapter->q_vector[vector]);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3702
adapter->flags &= ~IXGBE_FLAG_MSIX_ENABLED;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3703
pci_disable_msix(adapter->pdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3704
kfree(adapter->msix_entries);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3705
adapter->msix_entries = NULL;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3716
struct ixgbe_adapter *adapter = data;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3717
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3718
struct ixgbe_q_vector *q_vector = adapter->q_vector[0];
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
372
adapter = hw->back;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3738
if (!test_bit(__IXGBE_DOWN, &adapter->state))
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3739
ixgbe_irq_enable(adapter, true, true);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3744
ixgbe_check_lsc(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3747
ixgbe_schedule_fw_event(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3751
ixgbe_check_sfp_event(adapter, eicr);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3760
set_bit(__IXGBE_RESET_REQUESTED, &adapter->state);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3761
ixgbe_service_event_schedule(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3764
ixgbe_check_overtemp_event(adapter, eicr);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3770
ixgbe_check_fan_failure(adapter, eicr);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3772
ixgbe_ptp_check_pps_event(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3781
if (!test_bit(__IXGBE_DOWN, &adapter->state))
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3782
ixgbe_irq_enable(adapter, false, false);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3794
static int ixgbe_request_irq(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3796
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3799
if (adapter->flags & IXGBE_FLAG_MSIX_ENABLED)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3800
err = ixgbe_request_msix_irqs(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3801
else if (adapter->flags & IXGBE_FLAG_MSI_ENABLED)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3802
err = request_irq(adapter->pdev->irq, ixgbe_intr, 0,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3803
netdev->name, adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3805
err = request_irq(adapter->pdev->irq, ixgbe_intr, IRQF_SHARED,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3806
netdev->name, adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3814
static void ixgbe_free_irq(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3818
if (!(adapter->flags & IXGBE_FLAG_MSIX_ENABLED)) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3819
free_irq(adapter->pdev->irq, adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3823
if (!adapter->msix_entries)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3826
for (vector = 0; vector < adapter->num_q_vectors; vector++) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3827
struct ixgbe_q_vector *q_vector = adapter->q_vector[vector];
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3828
struct msix_entry *entry = &adapter->msix_entries[vector];
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3840
free_irq(adapter->msix_entries[vector].vector, adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3847
static inline void ixgbe_irq_disable(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3849
switch (adapter->hw.mac.type) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3851
IXGBE_WRITE_REG(&adapter->hw, IXGBE_EIMC, ~0);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3859
IXGBE_WRITE_REG(&adapter->hw, IXGBE_EIMC, 0xFFFF0000);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3860
IXGBE_WRITE_REG(&adapter->hw, IXGBE_EIMC_EX(0), ~0);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3861
IXGBE_WRITE_REG(&adapter->hw, IXGBE_EIMC_EX(1), ~0);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3866
IXGBE_WRITE_FLUSH(&adapter->hw);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3867
if (adapter->flags & IXGBE_FLAG_MSIX_ENABLED) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3870
for (vector = 0; vector < adapter->num_q_vectors; vector++)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3871
synchronize_irq(adapter->msix_entries[vector].vector);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3873
synchronize_irq(adapter->msix_entries[vector++].vector);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3875
synchronize_irq(adapter->pdev->irq);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3884
static void ixgbe_configure_msi_and_legacy(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3886
struct ixgbe_q_vector *q_vector = adapter->q_vector[0];
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3890
ixgbe_set_ivar(adapter, 0, 0, 0);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3891
ixgbe_set_ivar(adapter, 1, 0, 0);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3903
void ixgbe_configure_tx_ring(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3906
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3914
ring->xsk_pool = ixgbe_xsk_pool(adapter, ring);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3927
ring->tail = adapter->io_addr + IXGBE_TDT(reg_idx);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3952
if (adapter->flags & IXGBE_FLAG_FDIR_HASH_CAPABLE) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3953
ring->atr_sample_rate = adapter->atr_sample_rate;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
397
struct ixgbe_adapter *adapter = hw->back;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3993
static void ixgbe_setup_mtqc(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3995
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3997
u8 tcs = adapter->hw_tcs;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4008
if (adapter->flags & IXGBE_FLAG_SRIOV_ENABLED) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4014
else if (adapter->ring_feature[RING_F_VMDQ].mask ==
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
402
pci_read_config_word(adapter->pdev, reg, &value);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4025
u8 max_txq = adapter->num_tx_queues +
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4026
adapter->num_xdp_queues;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
404
ixgbe_check_cfg_remove(hw, adapter->pdev))
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4054
static void ixgbe_configure_tx(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4056
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4060
ixgbe_setup_mtqc(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4070
for (i = 0; i < adapter->num_tx_queues; i++)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4071
ixgbe_configure_tx_ring(adapter, adapter->tx_ring[i]);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4072
for (i = 0; i < adapter->num_xdp_queues; i++)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4073
ixgbe_configure_tx_ring(adapter, adapter->xdp_ring[i]);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4076
static void ixgbe_enable_rx_drop(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4079
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4088
static void ixgbe_disable_rx_drop(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4091
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4101
void ixgbe_set_rx_drop_en(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4103
static void ixgbe_set_rx_drop_en(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4106
bool pfc_en = adapter->dcb_cfg.pfc_mode_enable;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4107
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4113
if (adapter->ixgbe_ieee_pfc)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4114
pfc_en |= !!(adapter->ixgbe_ieee_pfc->pfc_en);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
412
struct ixgbe_adapter *adapter = hw->back;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4125
if (adapter->num_vfs || (adapter->num_rx_queues > 1 &&
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4126
!(adapter->hw.fc.current_mode & ixgbe_fc_tx_pause) && !pfc_en)) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4127
for (i = 0; i < adapter->num_rx_queues; i++)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4128
ixgbe_enable_rx_drop(adapter, adapter->rx_ring[i]);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4130
for (i = 0; i < adapter->num_rx_queues; i++)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4131
ixgbe_disable_rx_drop(adapter, adapter->rx_ring[i]);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4140
static void ixgbe_configure_srrctl(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4143
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4148
u16 mask = adapter->ring_feature[RING_F_RSS].mask;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
417
pci_read_config_dword(adapter->pdev, reg, &value);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
419
ixgbe_check_cfg_remove(hw, adapter->pdev))
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4196
u32 ixgbe_rss_indir_tbl_entries(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4198
if (adapter->hw.mac.type < ixgbe_mac_X550)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4200
else if (adapter->flags & IXGBE_FLAG_SRIOV_ENABLED)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4212
void ixgbe_store_key(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4214
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4218
IXGBE_WRITE_REG(hw, IXGBE_RSSRK(i), adapter->rss_key[i]);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4227
static inline int ixgbe_init_rss_key(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4231
if (!adapter->rss_key) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4237
adapter->rss_key = rss_key;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4249
void ixgbe_store_reta(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4251
u32 i, reta_entries = ixgbe_rss_indir_tbl_entries(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4252
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4255
u8 *indir_tbl = adapter->rss_indir_tbl;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4263
if (adapter->hw.mac.type == ixgbe_mac_82598EB)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
427
struct ixgbe_adapter *adapter = hw->back;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4288
static void ixgbe_store_vfreta(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4290
u32 i, reta_entries = ixgbe_rss_indir_tbl_entries(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4291
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4296
u16 pool = adapter->num_rx_pools;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4298
vfreta |= (u32)adapter->rss_indir_tbl[i] << (i & 0x3) * 8;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
431
pci_write_config_word(adapter->pdev, reg, value);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4310
static void ixgbe_setup_reta(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4313
u32 reta_entries = ixgbe_rss_indir_tbl_entries(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4314
u16 rss_i = adapter->ring_feature[RING_F_RSS].indices;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4320
if ((adapter->flags & IXGBE_FLAG_SRIOV_ENABLED) && (rss_i < 4))
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4324
ixgbe_store_key(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4327
memset(adapter->rss_indir_tbl, 0, sizeof(adapter->rss_indir_tbl));
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4333
adapter->rss_indir_tbl[i] = j;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4336
ixgbe_store_reta(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4339
static void ixgbe_setup_vfreta(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
434
static void ixgbe_service_event_complete(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4341
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4342
u16 rss_i = adapter->ring_feature[RING_F_RSS].indices;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4347
u16 pool = adapter->num_rx_pools;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4352
*(adapter->rss_key + i));
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
436
BUG_ON(!test_bit(__IXGBE_SERVICE_SCHED, &adapter->state));
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4360
adapter->rss_indir_tbl[i] = j;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4363
ixgbe_store_vfreta(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4366
static void ixgbe_setup_mrqc(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4368
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4377
if (adapter->hw.mac.type == ixgbe_mac_82598EB) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4378
if (adapter->ring_feature[RING_F_RSS].mask)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4381
u8 tcs = adapter->hw_tcs;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4383
if (adapter->flags & IXGBE_FLAG_SRIOV_ENABLED) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4388
else if (adapter->ring_feature[RING_F_VMDQ].mask ==
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
440
clear_bit(__IXGBE_SERVICE_SCHED, &adapter->state);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4415
if (adapter->flags2 & IXGBE_FLAG2_RSS_FIELD_IPV4_UDP)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4417
if (adapter->flags2 & IXGBE_FLAG2_RSS_FIELD_IPV6_UDP)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4421
(adapter->flags & IXGBE_FLAG_SRIOV_ENABLED)) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4422
u16 pool = adapter->num_rx_pools;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4429
ixgbe_setup_vfreta(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4438
ixgbe_setup_reta(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4449
static void ixgbe_configure_rscctl(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4452
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4471
static void ixgbe_rx_desc_queue_enable(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4474
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4497
void ixgbe_configure_rx_ring(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4500
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4507
ring->xsk_pool = ixgbe_xsk_pool(adapter, ring);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4535
ring->tail = adapter->io_addr + IXGBE_RDT(reg_idx);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4537
ixgbe_configure_srrctl(adapter, ring);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4538
ixgbe_configure_rscctl(adapter, ring);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4591
ixgbe_rx_desc_queue_enable(adapter, ring);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4598
static void ixgbe_setup_psrtype(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4600
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4601
int rss_i = adapter->ring_feature[RING_F_RSS].indices;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4602
u16 pool = adapter->num_rx_pools;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4623
static void ixgbe_configure_virtualization(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4625
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4626
u16 pool = adapter->num_rx_pools;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4631
if (!(adapter->flags & IXGBE_FLAG_SRIOV_ENABLED))
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4656
if (adapter->bridge_mode == BRIDGE_MODE_VEB)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4663
adapter->flags2 &= ~IXGBE_FLAG2_VLAN_PROMISC;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4669
switch (adapter->ring_feature[RING_F_VMDQ].mask) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4683
for (i = 0; i < adapter->num_vfs; i++) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4685
ixgbe_ndo_set_vf_spoofchk(adapter->netdev, i,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4686
adapter->vfinfo[i].spoofchk_enabled);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4689
ixgbe_ndo_set_vf_rss_query_en(adapter->netdev, i,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4690
adapter->vfinfo[i].rss_query_enabled);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4694
static void ixgbe_set_rx_buffer_len(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4696
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4697
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4705
if ((adapter->flags & IXGBE_FLAG_FCOE_ENABLED) &&
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4732
for (i = 0; i < adapter->num_rx_queues; i++) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4733
rx_ring = adapter->rx_ring[i];
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4739
if (adapter->flags2 & IXGBE_FLAG2_RSC_ENABLED)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4745
if (adapter->flags2 & IXGBE_FLAG2_RX_LEGACY)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4751
if (adapter->flags2 & IXGBE_FLAG2_RSC_ENABLED)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4761
static void ixgbe_setup_rdrxctl(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4763
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4784
if (adapter->num_vfs)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4811
static void ixgbe_configure_rx(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4813
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4820
ixgbe_setup_psrtype(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4821
ixgbe_setup_rdrxctl(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4826
if (!(adapter->flags2 & IXGBE_FLAG2_RSC_ENABLED))
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4834
ixgbe_setup_mrqc(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4837
ixgbe_set_rx_buffer_len(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4843
for (i = 0; i < adapter->num_rx_queues; i++)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4844
ixgbe_configure_rx_ring(adapter, adapter->rx_ring[i]);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4859
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4860
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4863
if (!vid || !(adapter->flags2 & IXGBE_FLAG2_VLAN_PROMISC))
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4864
hw->mac.ops.set_vfta(&adapter->hw, vid, VMDQ_P(0), true, !!vid);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4866
set_bit(vid, adapter->active_vlans);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4890
void ixgbe_update_pf_promisc_vlvf(struct ixgbe_adapter *adapter, u32 vid)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4892
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4909
if (!(adapter->flags2 & IXGBE_FLAG2_VLAN_PROMISC))
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4918
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4919
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4922
if (vid && !(adapter->flags2 & IXGBE_FLAG2_VLAN_PROMISC))
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4925
clear_bit(vid, adapter->active_vlans);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4934
static void ixgbe_vlan_strip_disable(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4936
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4952
for (i = 0; i < adapter->num_rx_queues; i++) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4953
struct ixgbe_ring *ring = adapter->rx_ring[i];
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4973
static void ixgbe_vlan_strip_enable(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4975
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4991
for (i = 0; i < adapter->num_rx_queues; i++) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4992
struct ixgbe_ring *ring = adapter->rx_ring[i];
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5008
static void ixgbe_vlan_promisc_enable(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5010
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5015
if (adapter->flags & IXGBE_FLAG_VMDQ_ENABLED) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5030
if (adapter->flags2 & IXGBE_FLAG2_VLAN_PROMISC)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5034
adapter->flags2 |= IXGBE_FLAG2_VLAN_PROMISC;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5051
static void ixgbe_scrub_vfta(struct ixgbe_adapter *adapter, u32 vfta_offset)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5053
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5074
if (test_bit(vid, adapter->active_vlans))
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5091
vfta[i] |= adapter->active_vlans[word] >> bits;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5097
static void ixgbe_vlan_promisc_disable(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5099
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5107
if (!(adapter->flags & IXGBE_FLAG_VMDQ_ENABLED) ||
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5112
if (!(adapter->flags2 & IXGBE_FLAG2_VLAN_PROMISC))
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5116
adapter->flags2 &= ~IXGBE_FLAG2_VLAN_PROMISC;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5119
ixgbe_scrub_vfta(adapter, i);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5122
static void ixgbe_restore_vlan(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5126
ixgbe_vlan_rx_add_vid(adapter->netdev, htons(ETH_P_8021Q), 0);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5128
for_each_set_bit_from(vid, adapter->active_vlans, VLAN_N_VID)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5129
ixgbe_vlan_rx_add_vid(adapter->netdev, htons(ETH_P_8021Q), vid);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5143
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5144
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5155
ixgbe_restore_vf_multicasts(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5162
void ixgbe_full_sync_mac_table(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5164
struct ixgbe_mac_addr *mac_table = &adapter->mac_table[0];
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5165
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5182
static void ixgbe_sync_mac_table(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5184
struct ixgbe_mac_addr *mac_table = &adapter->mac_table[0];
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5185
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5204
static void ixgbe_flush_sw_mac_table(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5206
struct ixgbe_mac_addr *mac_table = &adapter->mac_table[0];
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5207
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5215
ixgbe_sync_mac_table(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5218
static int ixgbe_available_rars(struct ixgbe_adapter *adapter, u16 pool)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5220
struct ixgbe_mac_addr *mac_table = &adapter->mac_table[0];
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5221
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5242
static void ixgbe_mac_set_default_filter(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5244
struct ixgbe_mac_addr *mac_table = &adapter->mac_table[0];
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5245
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5256
int ixgbe_add_mac_filter(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5259
struct ixgbe_mac_addr *mac_table = &adapter->mac_table[0];
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5260
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5276
ixgbe_sync_mac_table(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5284
int ixgbe_del_mac_filter(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5287
struct ixgbe_mac_addr *mac_table = &adapter->mac_table[0];
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5288
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5309
ixgbe_sync_mac_table(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5319
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5322
ret = ixgbe_add_mac_filter(adapter, addr, VMDQ_P(0));
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5329
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5331
ixgbe_del_mac_filter(adapter, addr, VMDQ_P(0));
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5347
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5348
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5421
ixgbe_vlan_strip_enable(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5423
ixgbe_vlan_strip_disable(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5426
ixgbe_vlan_promisc_disable(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5428
ixgbe_vlan_promisc_enable(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5431
static void ixgbe_napi_enable_all(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5435
for (q_idx = 0; q_idx < adapter->num_q_vectors; q_idx++)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5436
napi_enable(&adapter->q_vector[q_idx]->napi);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5439
static void ixgbe_napi_disable_all(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5443
for (q_idx = 0; q_idx < adapter->num_q_vectors; q_idx++)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5444
napi_disable(&adapter->q_vector[q_idx]->napi);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5449
struct ixgbe_adapter *adapter = ixgbe_from_netdev(dev);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5450
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5455
adapter->vxlan_port = ti.port;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5457
adapter->geneve_port = ti.port;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5460
ntohs(adapter->vxlan_port) |
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5461
ntohs(adapter->geneve_port) <<
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5492
static void ixgbe_configure_dcb(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5494
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5495
int max_frame = adapter->netdev->mtu + ETH_HLEN + ETH_FCS_LEN;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5497
if (!(adapter->flags & IXGBE_FLAG_DCB_ENABLED)) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5499
netif_set_tso_max_size(adapter->netdev, 65536);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5504
netif_set_tso_max_size(adapter->netdev, 32768);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5507
if (adapter->netdev->fcoe_mtu)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5512
if (adapter->dcbx_cap & DCB_CAP_DCBX_VER_CEE) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5513
ixgbe_dcb_calculate_tc_credits(hw, &adapter->dcb_cfg, max_frame,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5515
ixgbe_dcb_calculate_tc_credits(hw, &adapter->dcb_cfg, max_frame,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5517
ixgbe_dcb_hw_config(hw, &adapter->dcb_cfg);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5518
} else if (adapter->ixgbe_ieee_ets && adapter->ixgbe_ieee_pfc) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5519
ixgbe_dcb_hw_ets(&adapter->hw,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5520
adapter->ixgbe_ieee_ets,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5522
ixgbe_dcb_hw_pfc_config(&adapter->hw,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5523
adapter->ixgbe_ieee_pfc->pfc_en,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5524
adapter->ixgbe_ieee_ets->prio_tc);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5530
u16 rss_i = adapter->ring_feature[RING_F_RSS].indices - 1;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5552
static int ixgbe_hpbthresh(struct ixgbe_adapter *adapter, int pb)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5554
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5555
struct net_device *dev = adapter->netdev;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5565
(pb == ixgbe_fcoe_get_tc(adapter)))
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5584
if (adapter->flags & IXGBE_FLAG_SRIOV_ENABLED)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5613
static int ixgbe_lpbthresh(struct ixgbe_adapter *adapter, int pb)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5615
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5616
struct net_device *dev = adapter->netdev;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5626
(pb == netdev_get_prio_tc_map(dev, adapter->fcoe.up)))
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5651
static void ixgbe_pbthresh_setup(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5653
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5654
int num_tc = adapter->hw_tcs;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5661
hw->fc.high_water[i] = ixgbe_hpbthresh(adapter, i);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5662
hw->fc.low_water[i] = ixgbe_lpbthresh(adapter, i);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5673
static void ixgbe_configure_pb(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5675
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5677
u8 tc = adapter->hw_tcs;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5679
if (adapter->flags & IXGBE_FLAG_FDIR_HASH_CAPABLE ||
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5680
adapter->flags & IXGBE_FLAG_FDIR_PERFECT_CAPABLE)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5681
hdrm = 32 << adapter->fdir_pballoc;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5686
ixgbe_pbthresh_setup(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5689
static void ixgbe_fdir_filter_restore(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5691
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5696
spin_lock(&adapter->fdir_perfect_lock);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5698
if (!hlist_empty(&adapter->fdir_filter_list))
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5699
ixgbe_fdir_set_input_mask_82599(hw, &adapter->fdir_mask);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5702
&adapter->fdir_filter_list, fdir_node) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5709
if (!vf && (ring >= adapter->num_rx_queues)) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5714
((vf > adapter->num_vfs) ||
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5715
ring >= adapter->num_rx_queues_per_pool)) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5723
queue = adapter->rx_ring[ring]->reg_idx;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5726
adapter->num_rx_queues_per_pool) + ring;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5733
spin_unlock(&adapter->fdir_perfect_lock);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5794
static int ixgbe_fwd_ring_up(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5797
u16 rss_i = adapter->ring_feature[RING_F_RSS].indices;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5798
int num_tc = netdev_get_num_tc(adapter->netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5802
baseq = accel->pool * adapter->num_rx_queues_per_pool;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5804
accel->pool, adapter->num_rx_pools,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5805
baseq, baseq + adapter->num_rx_queues_per_pool);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5812
netdev_bind_sb_channel_queue(adapter->netdev, vdev,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5815
for (i = 0; i < adapter->num_rx_queues_per_pool; i++)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5816
adapter->rx_ring[baseq + i]->netdev = vdev;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5826
err = ixgbe_add_mac_filter(adapter, vdev->dev_addr,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
583
static void ixgbe_dump(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5834
for (i = 0; i < adapter->num_rx_queues_per_pool; i++)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5835
adapter->rx_ring[baseq + i]->netdev = NULL;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5840
netdev_unbind_sb_channel(adapter->netdev, vdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5843
clear_bit(accel->pool, adapter->fwd_bitmask);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
585
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5852
struct ixgbe_adapter *adapter = (struct ixgbe_adapter *)priv->data;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
586
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5862
ixgbe_fwd_ring_up(adapter, accel);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5867
static void ixgbe_configure_dfwd(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5870
.data = (void *)adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5873
netdev_walk_all_upper_dev_rcu(adapter->netdev,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5877
static void ixgbe_configure(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5879
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5881
ixgbe_configure_pb(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5883
ixgbe_configure_dcb(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5889
ixgbe_configure_virtualization(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5891
ixgbe_set_rx_mode(adapter->netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5892
ixgbe_restore_vlan(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5893
ixgbe_ipsec_restore(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5904
if (adapter->flags & IXGBE_FLAG_FDIR_HASH_CAPABLE) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5905
ixgbe_init_fdir_signature_82599(&adapter->hw,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5906
adapter->fdir_pballoc);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5907
} else if (adapter->flags & IXGBE_FLAG_FDIR_PERFECT_CAPABLE) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5908
ixgbe_init_fdir_perfect_82599(&adapter->hw,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5909
adapter->fdir_pballoc);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5910
ixgbe_fdir_filter_restore(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5924
if (adapter->flags & IXGBE_FLAG_DCA_CAPABLE)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5925
ixgbe_setup_dca(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5930
ixgbe_configure_fcoe(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5933
ixgbe_configure_tx(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5934
ixgbe_configure_rx(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5935
ixgbe_configure_dfwd(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5947
static int ixgbe_enable_link_status_events(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5952
err = ixgbe_configure_lse(&adapter->hw, true, mask);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5956
adapter->lse_mask = mask;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5968
static int ixgbe_disable_link_status_events(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5972
err = ixgbe_configure_lse(&adapter->hw, false, adapter->lse_mask);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5976
adapter->lse_mask = 0;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
598
if (!netif_msg_hw(adapter))
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5984
static void ixgbe_sfp_link_config(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5992
if (adapter->hw.mac.type == ixgbe_mac_82598EB)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5993
adapter->flags2 |= IXGBE_FLAG2_SEARCH_FOR_SFP;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5995
adapter->flags2 |= IXGBE_FLAG2_SFP_NEEDS_RESET;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5996
adapter->sfp_poll_time = 0;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6009
struct ixgbe_adapter *adapter = container_of(hw, struct ixgbe_adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
603
dev_info(&adapter->pdev->dev, "Net device Info\n");
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6041
if (adapter->hw.mac.type == ixgbe_mac_e610) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6042
ret = ixgbe_enable_link_status_events(adapter, mask);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6059
static void ixgbe_check_media_subtask(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6061
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6064
if (!(adapter->flags2 & IXGBE_FLAG2_NO_MEDIA))
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6071
ixgbe_check_link_cfg_err(adapter, hw->link.link_info.link_cfg_err);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6077
if (!(ixgbe_non_sfp_link_config(&adapter->hw)))
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6078
adapter->flags2 &= ~IXGBE_FLAG2_NO_MEDIA;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6093
static void ixgbe_clear_vf_stats_counters(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6095
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6098
for (i = 0; i < adapter->num_vfs; i++) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6099
adapter->vfinfo[i].last_vfstats.gprc =
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6101
adapter->vfinfo[i].saved_rst_vfstats.gprc +=
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6102
adapter->vfinfo[i].vfstats.gprc;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6103
adapter->vfinfo[i].vfstats.gprc = 0;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6104
adapter->vfinfo[i].last_vfstats.gptc =
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6106
adapter->vfinfo[i].saved_rst_vfstats.gptc +=
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6107
adapter->vfinfo[i].vfstats.gptc;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6108
adapter->vfinfo[i].vfstats.gptc = 0;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6109
adapter->vfinfo[i].last_vfstats.gorc =
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6111
adapter->vfinfo[i].saved_rst_vfstats.gorc +=
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6112
adapter->vfinfo[i].vfstats.gorc;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6113
adapter->vfinfo[i].vfstats.gorc = 0;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6114
adapter->vfinfo[i].last_vfstats.gotc =
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6116
adapter->vfinfo[i].saved_rst_vfstats.gotc +=
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6117
adapter->vfinfo[i].vfstats.gotc;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6118
adapter->vfinfo[i].vfstats.gotc = 0;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6119
adapter->vfinfo[i].last_vfstats.mprc =
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6121
adapter->vfinfo[i].saved_rst_vfstats.mprc +=
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6122
adapter->vfinfo[i].vfstats.mprc;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6123
adapter->vfinfo[i].vfstats.mprc = 0;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6127
static void ixgbe_setup_gpie(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6129
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
613
dev_info(&adapter->pdev->dev, "Register Dump\n");
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6132
if (adapter->flags & IXGBE_FLAG_MSIX_ENABLED) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6164
if (adapter->flags & IXGBE_FLAG_SRIOV_ENABLED) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6167
switch (adapter->ring_feature[RING_F_VMDQ].mask) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6181
if (adapter->flags2 & IXGBE_FLAG2_TEMP_SENSOR_CAPABLE) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6182
switch (adapter->hw.mac.type) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6192
if (adapter->flags & IXGBE_FLAG_FAN_FAIL_CAPABLE)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6210
static void ixgbe_up_complete(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6212
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6216
ixgbe_get_hw_control(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6217
ixgbe_setup_gpie(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6219
if (adapter->flags & IXGBE_FLAG_MSIX_ENABLED)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6220
ixgbe_configure_msix(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6222
ixgbe_configure_msi_and_legacy(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6232
clear_bit(__IXGBE_DOWN, &adapter->state);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6233
ixgbe_napi_enable_all(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6236
ixgbe_sfp_link_config(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
624
dev_info(&adapter->pdev->dev, "TX Rings Summary\n");
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6245
ixgbe_irq_enable(adapter, true, true);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6251
if (adapter->flags & IXGBE_FLAG_FAN_FAIL_CAPABLE) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6259
adapter->flags |= IXGBE_FLAG_NEED_LINK_UPDATE;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6260
adapter->link_check_timeout = jiffies;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6261
mod_timer(&adapter->service_timer, jiffies);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6263
ixgbe_clear_vf_stats_counters(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6270
ixgbe_set_all_vfs(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6273
void ixgbe_reinit_locked(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6276
netif_trans_update(adapter->netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6278
while (test_and_set_bit(__IXGBE_RESETTING, &adapter->state))
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
628
for (n = 0; n < adapter->num_tx_queues; n++) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6280
if (adapter->hw.phy.type == ixgbe_phy_fw)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6281
ixgbe_watchdog_link_is_down(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6282
ixgbe_down(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6289
if (adapter->flags & IXGBE_FLAG_SRIOV_ENABLED)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
629
ring = adapter->tx_ring[n];
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6291
ixgbe_up(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6299
if (adapter->hw.mac.type == ixgbe_mac_e610)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6300
(void)ixgbe_refresh_fw_version(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6302
clear_bit(__IXGBE_RESETTING, &adapter->state);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6305
void ixgbe_up(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6308
ixgbe_configure(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6310
ixgbe_up_complete(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6313
static unsigned long ixgbe_get_completion_timeout(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6317
pcie_capability_read_word(adapter->pdev, PCI_EXP_DEVCTL2, &devctl2);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
633
for (n = 0; n < adapter->num_xdp_queues; n++) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
634
ring = adapter->xdp_ring[n];
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6350
void ixgbe_disable_rx(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6353
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6364
for (i = 0; i < adapter->num_rx_queues; i++) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6365
struct ixgbe_ring *ring = adapter->rx_ring[i];
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
639
if (!netif_msg_tx_done(adapter))
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6392
delay_interval = ixgbe_get_completion_timeout(adapter) / 100;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6407
for (i = 0; i < adapter->num_rx_queues; i++) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6408
struct ixgbe_ring *ring = adapter->rx_ring[i];
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
642
dev_info(&adapter->pdev->dev, "TX Rings Dump\n");
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6422
void ixgbe_disable_tx(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6425
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6433
for (i = 0; i < adapter->num_tx_queues; i++) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6434
struct ixgbe_ring *ring = adapter->tx_ring[i];
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6441
for (i = 0; i < adapter->num_xdp_queues; i++) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6442
struct ixgbe_ring *ring = adapter->xdp_ring[i];
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6467
delay_interval = ixgbe_get_completion_timeout(adapter) / 100;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6482
for (i = 0; i < adapter->num_tx_queues; i++) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6483
struct ixgbe_ring *ring = adapter->tx_ring[i];
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6488
for (i = 0; i < adapter->num_xdp_queues; i++) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6489
struct ixgbe_ring *ring = adapter->xdp_ring[i];
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6520
void ixgbe_reset(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6522
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6523
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6529
while (test_and_set_bit(__IXGBE_IN_SFP_INIT, &adapter->state))
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6533
adapter->flags2 &= ~(IXGBE_FLAG2_SEARCH_FOR_SFP |
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6535
adapter->flags &= ~IXGBE_FLAG_NEED_LINK_CONFIG;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6559
clear_bit(__IXGBE_IN_SFP_INIT, &adapter->state);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6562
ixgbe_flush_sw_mac_table(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6566
ixgbe_mac_set_default_filter(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6572
if (test_bit(__IXGBE_PTP_RUNNING, &adapter->state))
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6573
ixgbe_ptp_reset(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6576
if (!netif_running(adapter->netdev) && !adapter->wol)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6658
static void ixgbe_clean_all_rx_rings(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6662
for (i = 0; i < adapter->num_rx_queues; i++)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6663
ixgbe_clean_rx_ring(adapter->rx_ring[i]);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6670
static void ixgbe_clean_all_tx_rings(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6674
for (i = 0; i < adapter->num_tx_queues; i++)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6675
ixgbe_clean_tx_ring(adapter->tx_ring[i]);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6676
for (i = 0; i < adapter->num_xdp_queues; i++)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6677
ixgbe_clean_tx_ring(adapter->xdp_ring[i]);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6680
static void ixgbe_fdir_filter_exit(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6685
spin_lock(&adapter->fdir_perfect_lock);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6688
&adapter->fdir_filter_list, fdir_node) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6692
adapter->fdir_filter_count = 0;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6694
spin_unlock(&adapter->fdir_perfect_lock);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6697
void ixgbe_down(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6699
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6700
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6704
if (test_and_set_bit(__IXGBE_DOWN, &adapter->state))
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6715
ixgbe_disable_rx(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6718
if (adapter->xdp_ring[0])
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6721
ixgbe_irq_disable(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6723
ixgbe_napi_disable_all(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6725
clear_bit(__IXGBE_RESET_REQUESTED, &adapter->state);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6726
adapter->flags2 &= ~IXGBE_FLAG2_FDIR_REQUIRES_REINIT;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6727
adapter->flags &= ~IXGBE_FLAG_NEED_LINK_UPDATE;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6729
timer_delete_sync(&adapter->service_timer);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6731
if (adapter->num_vfs) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6733
IXGBE_WRITE_REG(&adapter->hw, IXGBE_EITRSEL, 0);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6736
for (i = 0 ; i < adapter->num_vfs; i++)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6737
adapter->vfinfo[i].clear_to_send = false;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6740
ixgbe_set_all_vfs(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6744
ixgbe_disable_tx(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6746
if (!pci_channel_offline(adapter->pdev))
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6747
ixgbe_reset(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6753
ixgbe_clean_all_tx_rings(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6754
ixgbe_clean_all_rx_rings(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6755
if (adapter->hw.mac.type == ixgbe_mac_e610)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6756
ixgbe_disable_link_status_events(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6763
static void ixgbe_set_eee_capable(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6765
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6772
adapter->flags2 |= IXGBE_FLAG2_EEE_CAPABLE;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6775
adapter->flags2 |= IXGBE_FLAG2_EEE_ENABLED;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6778
adapter->flags2 &= ~IXGBE_FLAG2_EEE_CAPABLE;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6779
adapter->flags2 &= ~IXGBE_FLAG2_EEE_ENABLED;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
679
for (n = 0; n < adapter->num_tx_queues; n++) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6791
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6794
ixgbe_tx_timeout_reset(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6798
static void ixgbe_init_dcb(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
680
ring = adapter->tx_ring[n];
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6800
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6807
adapter->dcb_cfg.num_tcs.pg_tcs = MAX_TRAFFIC_CLASS;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6808
adapter->dcb_cfg.num_tcs.pfc_tcs = MAX_TRAFFIC_CLASS;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6813
adapter->dcb_cfg.num_tcs.pg_tcs = X540_TRAFFIC_CLASS;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6814
adapter->dcb_cfg.num_tcs.pfc_tcs = X540_TRAFFIC_CLASS;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6819
adapter->dcb_cfg.num_tcs.pg_tcs = DEF_TRAFFIC_CLASS;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6820
adapter->dcb_cfg.num_tcs.pfc_tcs = DEF_TRAFFIC_CLASS;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6826
tc = &adapter->dcb_cfg.tc_config[j];
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6835
tc = &adapter->dcb_cfg.tc_config[0];
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6839
adapter->dcb_cfg.bw_percentage[DCB_TX_CONFIG][0] = 100;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6840
adapter->dcb_cfg.bw_percentage[DCB_RX_CONFIG][0] = 100;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6841
adapter->dcb_cfg.pfc_mode_enable = false;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6842
adapter->dcb_set_bitmap = 0x00;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6843
if (adapter->flags & IXGBE_FLAG_DCB_CAPABLE)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6844
adapter->dcbx_cap = DCB_CAP_DCBX_HOST | DCB_CAP_DCBX_VER_CEE;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6845
memcpy(&adapter->temp_dcb_cfg, &adapter->dcb_cfg,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6846
sizeof(adapter->temp_dcb_cfg));
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6859
static int ixgbe_sw_init(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6862
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6863
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6882
rss = min_t(int, ixgbe_max_rss_indices(adapter), num_online_cpus());
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6883
adapter->ring_feature[RING_F_RSS].limit = rss;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6884
adapter->flags2 |= IXGBE_FLAG2_RSC_CAPABLE;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6885
adapter->max_q_vectors = MAX_Q_VECTORS_82599;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6886
adapter->atr_sample_rate = 20;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6888
adapter->ring_feature[RING_F_FDIR].limit = fdir;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6889
adapter->fdir_pballoc = IXGBE_FDIR_PBALLOC_64K;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6890
adapter->ring_feature[RING_F_VMDQ].limit = 1;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6892
adapter->flags |= IXGBE_FLAG_DCA_CAPABLE;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6895
adapter->flags |= IXGBE_FLAG_DCB_CAPABLE;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6896
adapter->flags &= ~IXGBE_FLAG_DCB_ENABLED;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6899
adapter->flags |= IXGBE_FLAG_FCOE_CAPABLE;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6900
adapter->flags &= ~IXGBE_FLAG_FCOE_ENABLED;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6903
adapter->fcoe.up = IXGBE_FCOE_DEFTC;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6908
adapter->jump_tables[0] = kzalloc_obj(*adapter->jump_tables[0]);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6909
if (!adapter->jump_tables[0])
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6911
adapter->jump_tables[0]->mat = ixgbe_ipv4_fields;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6914
adapter->jump_tables[i] = NULL;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6916
adapter->mac_table = kzalloc_objs(struct ixgbe_mac_addr,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6918
if (!adapter->mac_table)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6921
if (ixgbe_init_rss_key(adapter))
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6924
adapter->af_xdp_zc_qps = bitmap_zalloc(IXGBE_MAX_XDP_QS, GFP_KERNEL);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6925
if (!adapter->af_xdp_zc_qps)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6931
adapter->flags2 &= ~IXGBE_FLAG2_RSC_CAPABLE;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6934
adapter->flags |= IXGBE_FLAG_FAN_FAIL_CAPABLE;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6936
adapter->max_q_vectors = MAX_Q_VECTORS_82598;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6937
adapter->ring_feature[RING_F_FDIR].limit = 0;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6938
adapter->atr_sample_rate = 0;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6939
adapter->fdir_pballoc = 0;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6941
adapter->flags &= ~IXGBE_FLAG_FCOE_CAPABLE;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6942
adapter->flags &= ~IXGBE_FLAG_FCOE_ENABLED;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6944
adapter->fcoe.up = 0;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6950
adapter->flags2 |= IXGBE_FLAG2_TEMP_SENSOR_CAPABLE;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6955
adapter->flags2 |= IXGBE_FLAG2_TEMP_SENSOR_CAPABLE;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6961
adapter->flags2 |= IXGBE_FLAG2_TEMP_SENSOR_CAPABLE;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6969
adapter->flags &= ~IXGBE_FLAG_DCB_CAPABLE;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6972
adapter->flags &= ~IXGBE_FLAG_FCOE_CAPABLE;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6974
adapter->fcoe.up = 0;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6980
adapter->flags2 |= IXGBE_FLAG2_TEMP_SENSOR_CAPABLE;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6982
adapter->flags &= ~IXGBE_FLAG_DCA_CAPABLE;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6998
spin_lock_init(&adapter->fcoe.lock);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7002
spin_lock_init(&adapter->fdir_perfect_lock);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7005
spin_lock_init(&adapter->vfs_lock);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7008
ixgbe_init_dcb(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7010
ixgbe_init_ipsec_offload(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7015
ixgbe_pbthresh_setup(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7034
adapter->rx_itr_setting = 1;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7035
adapter->tx_itr_setting = 1;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7038
adapter->tx_ring_count = IXGBE_DEFAULT_TXD;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7039
adapter->rx_ring_count = IXGBE_DEFAULT_RXD;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7042
adapter->tx_work_limit = IXGBE_DEFAULT_TX_WORK;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7051
set_bit(0, adapter->fwd_bitmask);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7052
set_bit(__IXGBE_DOWN, &adapter->state);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7122
static int ixgbe_setup_all_tx_resources(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7126
for (i = 0; i < adapter->num_tx_queues; i++) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7127
err = ixgbe_setup_tx_resources(adapter->tx_ring[i]);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7134
for (j = 0; j < adapter->num_xdp_queues; j++) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7135
err = ixgbe_setup_tx_resources(adapter->xdp_ring[j]);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7147
ixgbe_free_tx_resources(adapter->xdp_ring[j]);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7149
ixgbe_free_tx_resources(adapter->tx_ring[i]);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
716
if (netif_msg_pktdata(adapter) &&
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7167
int ixgbe_setup_rx_resources(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7206
if (xdp_rxq_info_reg(&rx_ring->xdp_rxq, adapter->netdev,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7210
WRITE_ONCE(rx_ring->xdp_prog, adapter->xdp_prog);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7230
static int ixgbe_setup_all_rx_resources(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7234
for (i = 0; i < adapter->num_rx_queues; i++) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7235
err = ixgbe_setup_rx_resources(adapter, adapter->rx_ring[i]);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7244
err = ixgbe_setup_fcoe_ddp_resources(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7251
ixgbe_free_rx_resources(adapter->rx_ring[i]);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7284
static void ixgbe_free_all_tx_resources(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7288
for (i = 0; i < adapter->num_tx_queues; i++)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7289
if (adapter->tx_ring[i]->desc)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
729
dev_info(&adapter->pdev->dev, "RX Rings Summary\n");
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7290
ixgbe_free_tx_resources(adapter->tx_ring[i]);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7291
for (i = 0; i < adapter->num_xdp_queues; i++)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7292
if (adapter->xdp_ring[i]->desc)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7293
ixgbe_free_tx_resources(adapter->xdp_ring[i]);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
731
for (n = 0; n < adapter->num_rx_queues; n++) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
732
rx_ring = adapter->rx_ring[n];
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7327
static void ixgbe_free_all_rx_resources(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7332
ixgbe_free_fcoe_ddp_resources(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7335
for (i = 0; i < adapter->num_rx_queues; i++)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7336
if (adapter->rx_ring[i]->desc)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7337
ixgbe_free_rx_resources(adapter->rx_ring[i]);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7344
static int ixgbe_max_xdp_frame_size(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7346
if (PAGE_SIZE >= 8192 || adapter->flags2 & IXGBE_FLAG2_RX_LEGACY)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7361
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7363
if (ixgbe_enabled_xdp_adapter(adapter)) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7366
if (new_frame_size > ixgbe_max_xdp_frame_size(adapter)) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7377
if ((adapter->flags & IXGBE_FLAG_SRIOV_ENABLED) &&
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7378
(adapter->hw.mac.type == ixgbe_mac_82599EB) &&
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
738
if (!netif_msg_rx_status(adapter))
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7389
ixgbe_reinit_locked(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7408
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7409
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
741
dev_info(&adapter->pdev->dev, "RX Rings Dump\n");
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7413
if (test_bit(__IXGBE_TESTING, &adapter->state))
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7419
err = ixgbe_setup_all_tx_resources(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7424
err = ixgbe_setup_all_rx_resources(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7428
ixgbe_configure(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7430
err = ixgbe_request_irq(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7435
queues = adapter->num_tx_queues;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7440
queues = adapter->num_rx_queues;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7445
ixgbe_ptp_init(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7447
ixgbe_up_complete(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7450
if (adapter->hw.mac.type == ixgbe_mac_e610) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7451
int err = ixgbe_update_link_info(&adapter->hw);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7456
ixgbe_check_link_cfg_err(adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7457
adapter->hw.link.link_info.link_cfg_err);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7459
err = ixgbe_non_sfp_link_config(&adapter->hw);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7467
ixgbe_free_irq(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7469
ixgbe_free_all_rx_resources(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7470
if (hw->phy.ops.set_phy_power && !adapter->wol)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7471
hw->phy.ops.set_phy_power(&adapter->hw, false);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7473
ixgbe_free_all_tx_resources(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7475
ixgbe_reset(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7480
static void ixgbe_close_suspend(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7482
ixgbe_ptp_suspend(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7484
if (adapter->hw.phy.ops.enter_lplu) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7485
adapter->hw.phy.reset_disable = true;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7486
ixgbe_down(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7487
adapter->hw.phy.ops.enter_lplu(&adapter->hw);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7488
adapter->hw.phy.reset_disable = false;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7490
ixgbe_down(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7493
ixgbe_free_irq(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7495
ixgbe_free_all_tx_resources(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7496
ixgbe_free_all_rx_resources(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7512
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7514
ixgbe_ptp_stop(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7517
ixgbe_close_suspend(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7519
ixgbe_fdir_filter_exit(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7521
ixgbe_release_hw_control(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7529
struct ixgbe_adapter *adapter = pci_get_drvdata(pdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7530
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7533
adapter->hw.hw_addr = adapter->io_addr;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7541
clear_bit(__IXGBE_DISABLED, &adapter->state);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7546
ixgbe_reset(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7548
IXGBE_WRITE_REG(&adapter->hw, IXGBE_WUS, ~0);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7551
err = ixgbe_init_interrupt_scheme(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7565
struct ixgbe_adapter *adapter = pci_get_drvdata(pdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7566
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7567
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7569
u32 wufc = adapter->wol;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7575
ixgbe_close_suspend(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7577
ixgbe_clear_interrupt_scheme(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7627
ixgbe_release_hw_control(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7629
if (!test_and_set_bit(__IXGBE_DISABLED, &adapter->state))
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7664
void ixgbe_update_stats(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7666
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7667
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7668
struct ixgbe_hw_stats *hwstats = &adapter->stats;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7676
if (test_bit(__IXGBE_DOWN, &adapter->state) ||
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7677
test_bit(__IXGBE_RESETTING, &adapter->state))
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7680
if (adapter->flags2 & IXGBE_FLAG2_RSC_ENABLED) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7683
for (i = 0; i < adapter->num_rx_queues; i++) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7684
rsc_count += adapter->rx_ring[i]->rx_stats.rsc_count;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7685
rsc_flush += adapter->rx_ring[i]->rx_stats.rsc_flush;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7687
adapter->rsc_total_count = rsc_count;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7688
adapter->rsc_total_flush = rsc_flush;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7691
for (i = 0; i < adapter->num_rx_queues; i++) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7692
struct ixgbe_ring *rx_ring = READ_ONCE(adapter->rx_ring[i]);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7704
adapter->non_eop_descs = non_eop_descs;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7705
adapter->alloc_rx_page = alloc_rx_page;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7706
adapter->alloc_rx_page_failed = alloc_rx_page_failed;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7707
adapter->alloc_rx_buff_failed = alloc_rx_buff_failed;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7708
adapter->hw_csum_rx_error = hw_csum_rx_error;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7715
for (i = 0; i < adapter->num_tx_queues; i++) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7716
struct ixgbe_ring *tx_ring = READ_ONCE(adapter->tx_ring[i]);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7725
for (i = 0; i < adapter->num_xdp_queues; i++) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7726
struct ixgbe_ring *xdp_ring = READ_ONCE(adapter->xdp_ring[i]);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7735
adapter->restart_queue = restart_queue;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7736
adapter->tx_busy = tx_busy;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7794
ixgbe_update_xoff_received(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7817
adapter->hw_rx_no_dma_resources +=
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7836
if (adapter->fcoe.ddp_pool) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7837
struct ixgbe_fcoe *fcoe = &adapter->fcoe;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
788
for (n = 0; n < adapter->num_rx_queues; n++) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
789
rx_ring = adapter->rx_ring[n];
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7907
if (!test_bit(__IXGBE_RESETTING, &adapter->state)) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7908
for (i = 0; i < adapter->num_vfs; i++) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7910
adapter->vfinfo[i].last_vfstats.gprc,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7911
adapter->vfinfo[i].vfstats.gprc);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7913
adapter->vfinfo[i].last_vfstats.gptc,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7914
adapter->vfinfo[i].vfstats.gptc);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7917
adapter->vfinfo[i].last_vfstats.gorc,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7918
adapter->vfinfo[i].vfstats.gorc);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7921
adapter->vfinfo[i].last_vfstats.gotc,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7922
adapter->vfinfo[i].vfstats.gotc);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7924
adapter->vfinfo[i].last_vfstats.mprc,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7925
adapter->vfinfo[i].vfstats.mprc);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7934
static void ixgbe_fdir_reinit_subtask(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7936
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7939
if (!(adapter->flags2 & IXGBE_FLAG2_FDIR_REQUIRES_REINIT))
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7942
adapter->flags2 &= ~IXGBE_FLAG2_FDIR_REQUIRES_REINIT;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7945
if (test_bit(__IXGBE_DOWN, &adapter->state))
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7949
if (!(adapter->flags & IXGBE_FLAG_FDIR_HASH_CAPABLE))
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7952
adapter->fdir_overflow++;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7955
for (i = 0; i < adapter->num_tx_queues; i++)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7957
&(adapter->tx_ring[i]->state));
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7958
for (i = 0; i < adapter->num_xdp_queues; i++)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7960
&adapter->xdp_ring[i]->state);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7978
static void ixgbe_check_hang_subtask(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7980
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7985
if (test_bit(__IXGBE_DOWN, &adapter->state) ||
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7986
test_bit(__IXGBE_REMOVING, &adapter->state) ||
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7987
test_bit(__IXGBE_RESETTING, &adapter->state))
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7991
if (netif_carrier_ok(adapter->netdev))
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7992
for (i = 0; i < adapter->num_tx_queues; i++)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7993
set_check_for_tx_hang(adapter->tx_ring[i]);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7995
if (!(adapter->flags & IXGBE_FLAG_MSIX_ENABLED)) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8005
for (i = 0; i < adapter->num_q_vectors; i++) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8006
struct ixgbe_q_vector *qv = adapter->q_vector[i];
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8013
ixgbe_irq_rearm_queues(adapter, eics);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8020
static void ixgbe_watchdog_update_link(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8022
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8023
u32 link_speed = adapter->link_speed;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8024
bool link_up = adapter->link_up;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8025
bool pfc_en = adapter->dcb_cfg.pfc_mode_enable;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8027
if (!(adapter->flags & IXGBE_FLAG_NEED_LINK_UPDATE))
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8038
if (adapter->ixgbe_ieee_pfc)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8039
pfc_en |= !!(adapter->ixgbe_ieee_pfc->pfc_en);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8041
if (link_up && !((adapter->flags & IXGBE_FLAG_DCB_ENABLED) && pfc_en)) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8043
ixgbe_set_rx_drop_en(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8047
time_after(jiffies, (adapter->link_check_timeout +
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8049
adapter->flags &= ~IXGBE_FLAG_NEED_LINK_UPDATE;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8054
adapter->link_up = link_up;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8055
adapter->link_speed = link_speed;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8058
static void ixgbe_update_default_up(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8061
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8068
if (adapter->dcbx_cap & DCB_CAP_DCBX_VER_IEEE)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8071
adapter->default_up = (up > 1) ? (ffs(up) - 1) : 0;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8080
static void ixgbe_watchdog_link_is_up(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8082
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8083
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8084
u32 link_speed = adapter->link_speed;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8092
adapter->flags2 &= ~IXGBE_FLAG2_SEARCH_FOR_SFP;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8120
adapter->last_rx_ptp_check = jiffies;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8122
if (test_bit(__IXGBE_PTP_RUNNING, &adapter->state))
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8123
ixgbe_ptp_start_cyclecounter(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8154
ixgbe_check_vf_rate_limit(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8156
if (adapter->num_vfs && hw->mac.ops.enable_mdd)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8160
netif_tx_wake_all_queues(adapter->netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8163
ixgbe_update_default_up(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8166
ixgbe_ping_all_vfs(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8174
static void ixgbe_watchdog_link_is_down(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8176
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8177
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8179
adapter->link_up = false;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8180
adapter->link_speed = 0;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8186
adapter->link_down_events++;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8190
adapter->flags2 |= IXGBE_FLAG2_SEARCH_FOR_SFP;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8192
if (test_bit(__IXGBE_PTP_RUNNING, &adapter->state))
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8193
ixgbe_ptp_start_cyclecounter(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8199
ixgbe_ping_all_vfs(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8202
static bool ixgbe_ring_tx_pending(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8206
for (i = 0; i < adapter->num_tx_queues; i++) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8207
struct ixgbe_ring *tx_ring = adapter->tx_ring[i];
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8216
static bool ixgbe_vf_tx_pending(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8218
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8219
struct ixgbe_ring_feature *vmdq = &adapter->ring_feature[RING_F_VMDQ];
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8224
if (!adapter->num_vfs)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8231
for (i = 0; i < adapter->num_vfs; i++) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8250
static void ixgbe_watchdog_flush_tx(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8252
if (!netif_carrier_ok(adapter->netdev)) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8253
if (ixgbe_ring_tx_pending(adapter) ||
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8254
ixgbe_vf_tx_pending(adapter)) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8261
set_bit(__IXGBE_RESET_REQUESTED, &adapter->state);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8267
static void ixgbe_bad_vf_abort(struct ixgbe_adapter *adapter, u32 vf)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8269
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8271
if (adapter->hw.mac.type == ixgbe_mac_82599EB &&
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8272
adapter->flags2 & IXGBE_FLAG2_AUTO_DISABLE_VF) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8273
adapter->vfinfo[vf].primary_abort_count++;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8274
if (adapter->vfinfo[vf].primary_abort_count ==
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8276
ixgbe_set_vf_link_state(adapter, vf,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8278
adapter->vfinfo[vf].primary_abort_count = 0;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8283
adapter->vfinfo[vf].vf_mac_addresses);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8288
static void ixgbe_check_for_bad_vf(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8290
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8291
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8295
if (!(netif_carrier_ok(adapter->netdev)))
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8311
for (vf = 0; vf < adapter->num_vfs; ++vf) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8312
struct pci_dev *vfdev = adapter->vfinfo[vf].vfdev;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
832
if (netif_msg_pktdata(adapter) &&
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8320
ixgbe_bad_vf_abort(adapter, vf);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8326
static void ixgbe_spoof_check(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8331
if (adapter->hw.mac.type == ixgbe_mac_82598EB ||
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8332
adapter->num_vfs == 0)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8335
ssvpc = IXGBE_READ_REG(&adapter->hw, IXGBE_SSVPC);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8347
static void ixgbe_spoof_check(struct ixgbe_adapter __always_unused *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8352
ixgbe_check_for_bad_vf(struct ixgbe_adapter __always_unused *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8362
static void ixgbe_watchdog_subtask(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8365
if (test_bit(__IXGBE_DOWN, &adapter->state) ||
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8366
test_bit(__IXGBE_REMOVING, &adapter->state) ||
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8367
test_bit(__IXGBE_RESETTING, &adapter->state))
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8370
ixgbe_watchdog_update_link(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8372
if (adapter->link_up)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8373
ixgbe_watchdog_link_is_up(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8375
ixgbe_watchdog_link_is_down(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8377
ixgbe_check_for_bad_vf(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8378
ixgbe_spoof_check(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8379
ixgbe_update_stats(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8381
ixgbe_watchdog_flush_tx(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8388
static void ixgbe_sfp_detection_subtask(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8390
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8394
if (!(adapter->flags2 & IXGBE_FLAG2_SEARCH_FOR_SFP) &&
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8395
!(adapter->flags2 & IXGBE_FLAG2_SFP_NEEDS_RESET))
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8398
if (adapter->sfp_poll_time &&
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8399
time_after(adapter->sfp_poll_time, jiffies))
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8403
if (test_and_set_bit(__IXGBE_IN_SFP_INIT, &adapter->state))
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8406
adapter->sfp_poll_time = jiffies + IXGBE_SFP_POLL_JIFFIES - 1;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8415
adapter->flags2 |= IXGBE_FLAG2_SFP_NEEDS_RESET;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8423
if (!(adapter->flags2 & IXGBE_FLAG2_SFP_NEEDS_RESET))
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8426
adapter->flags2 &= ~IXGBE_FLAG2_SFP_NEEDS_RESET;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8441
adapter->flags |= IXGBE_FLAG_NEED_LINK_CONFIG;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8445
clear_bit(__IXGBE_IN_SFP_INIT, &adapter->state);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8448
adapter->netdev->reg_state == NETREG_REGISTERED) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
845
static void ixgbe_release_hw_control(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8453
unregister_netdev(adapter->netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8461
static void ixgbe_sfp_link_config_subtask(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8463
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8468
if (!(adapter->flags & IXGBE_FLAG_NEED_LINK_CONFIG))
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8472
if (test_and_set_bit(__IXGBE_IN_SFP_INIT, &adapter->state))
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8475
adapter->flags &= ~IXGBE_FLAG_NEED_LINK_CONFIG;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8489
adapter->flags |= IXGBE_FLAG_NEED_LINK_UPDATE;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8490
adapter->link_check_timeout = jiffies;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8491
clear_bit(__IXGBE_IN_SFP_INIT, &adapter->state);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
850
ctrl_ext = IXGBE_READ_REG(&adapter->hw, IXGBE_CTRL_EXT);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8500
struct ixgbe_adapter *adapter = timer_container_of(adapter, t,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8505
if (adapter->flags & IXGBE_FLAG_NEED_LINK_UPDATE)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
851
IXGBE_WRITE_REG(&adapter->hw, IXGBE_CTRL_EXT,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8511
mod_timer(&adapter->service_timer, next_event_offset + jiffies);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8513
ixgbe_service_event_schedule(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8516
static void ixgbe_phy_interrupt_subtask(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8518
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8521
if (!(adapter->flags2 & IXGBE_FLAG2_PHY_INTERRUPT))
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8524
adapter->flags2 &= ~IXGBE_FLAG2_PHY_INTERRUPT;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8529
hw->phy.ops.handle_lasi(&adapter->hw, &overtemp);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8534
static void ixgbe_reset_subtask(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8536
if (!test_and_clear_bit(__IXGBE_RESET_REQUESTED, &adapter->state))
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8541
if (test_bit(__IXGBE_DOWN, &adapter->state) ||
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8542
test_bit(__IXGBE_REMOVING, &adapter->state) ||
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8543
test_bit(__IXGBE_RESETTING, &adapter->state)) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8548
ixgbe_dump(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8549
netdev_err(adapter->netdev, "Reset adapter\n");
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
855
static void ixgbe_get_hw_control(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8550
adapter->tx_timeout_count++;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8552
ixgbe_reinit_locked(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8556
static int ixgbe_check_fw_api_mismatch(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8558
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8569
adapter->flags2 |= IXGBE_FLAG2_API_MISMATCH;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8574
adapter->flags2 |= IXGBE_FLAG2_API_MISMATCH;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8578
adapter->flags2 |= IXGBE_FLAG2_API_MISMATCH;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8590
static bool ixgbe_check_fw_error(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8592
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
860
ctrl_ext = IXGBE_READ_REG(&adapter->hw, IXGBE_CTRL_EXT);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8609
if (!(adapter->flags2 & IXGBE_FLAG2_API_MISMATCH)) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
861
IXGBE_WRITE_REG(&adapter->hw, IXGBE_CTRL_EXT,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8610
err = ixgbe_check_fw_api_mismatch(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8616
if (adapter->flags2 & IXGBE_FLAG2_FW_ROLLBACK)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8620
struct ixgbe_nvm_info *nvm_info = &adapter->hw.flash.nvm;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8638
adapter->flags2 |= IXGBE_FLAG2_FW_ROLLBACK;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8646
struct ixgbe_adapter *adapter = container_of(work,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8650
ixgbe_handle_fw_event(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8651
ixgbe_service_event_complete(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8653
mod_timer(&adapter->service_timer, jiffies + msecs_to_jiffies(100));
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8662
struct ixgbe_adapter *adapter = container_of(work,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8665
if (ixgbe_removed(adapter->hw.hw_addr)) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8666
if (!test_bit(__IXGBE_DOWN, &adapter->state)) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8668
ixgbe_down(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8671
ixgbe_service_event_complete(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8674
if (ixgbe_check_fw_error(adapter)) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8675
if (!test_bit(__IXGBE_DOWN, &adapter->state)) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8676
if (adapter->mii_bus) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8677
mdiobus_unregister(adapter->mii_bus);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8678
adapter->mii_bus = NULL;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8680
unregister_netdev(adapter->netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8682
ixgbe_service_event_complete(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8685
if (adapter->hw.mac.type == ixgbe_mac_e610) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8686
if (adapter->flags2 & IXGBE_FLAG2_FW_ASYNC_EVENT)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8687
ixgbe_handle_fw_event(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8688
ixgbe_check_media_subtask(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8690
ixgbe_reset_subtask(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8691
ixgbe_phy_interrupt_subtask(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8692
ixgbe_sfp_detection_subtask(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8693
ixgbe_sfp_link_config_subtask(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8694
ixgbe_check_overtemp_subtask(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8695
ixgbe_watchdog_subtask(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8696
ixgbe_fdir_reinit_subtask(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8697
ixgbe_check_hang_subtask(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8699
if (test_bit(__IXGBE_PTP_RUNNING, &adapter->state)) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8700
ixgbe_ptp_overflow_check(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8701
if (adapter->flags & IXGBE_FLAG_RX_HWTSTAMP_IN_REGISTER)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8702
ixgbe_ptp_rx_hang(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8703
ixgbe_ptp_tx_hang(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8706
ixgbe_service_event_complete(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
873
static void ixgbe_set_ivar(struct ixgbe_adapter *adapter, s8 direction,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
877
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
899
ivar = IXGBE_READ_REG(&adapter->hw, IXGBE_IVAR_MISC);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
902
IXGBE_WRITE_REG(&adapter->hw, IXGBE_IVAR_MISC, ivar);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9138
struct ixgbe_adapter *adapter = q_vector->adapter;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9145
if (adapter->vxlan_port &&
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9146
udp_hdr(skb)->dest == adapter->vxlan_port)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9149
if (adapter->geneve_port &&
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9150
udp_hdr(skb)->dest == adapter->geneve_port)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
919
void ixgbe_irq_rearm_queues(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
924
switch (adapter->hw.mac.type) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9241
ixgbe_fdir_add_signature_filter_82599(&q_vector->adapter->hw,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9249
struct ixgbe_adapter *adapter;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
927
IXGBE_WRITE_REG(&adapter->hw, IXGBE_EICS, mask);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9271
adapter = ixgbe_from_netdev(dev);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9273
if (!sb_dev && (adapter->flags & IXGBE_FLAG_FCOE_ENABLED))
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9280
f = &adapter->ring_feature[RING_F_FCOE];
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
936
IXGBE_WRITE_REG(&adapter->hw, IXGBE_EICS_EX(0), mask);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9375
struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
938
IXGBE_WRITE_REG(&adapter->hw, IXGBE_EICS_EX(1), mask);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9427
adapter->ptp_clock) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9428
if (adapter->tstamp_config.tx_type == HWTSTAMP_TX_ON &&
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9430
&adapter->state)) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9435
adapter->ptp_tx_skb = skb_get(skb);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9436
adapter->ptp_tx_start = jiffies;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9437
schedule_work(&adapter->ptp_tx_work);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9439
adapter->tx_hwtstamp_skipped++;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9448
if (adapter->flags & IXGBE_FLAG_SRIOV_ENABLED)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
945
static void ixgbe_update_xoff_rx_lfc(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9453
if ((adapter->flags & IXGBE_FLAG_DCB_ENABLED) &&
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
947
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
948
struct ixgbe_hw_stats *hwstats = &adapter->stats;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9517
dev_kfree_skb_any(adapter->ptp_tx_skb);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9518
adapter->ptp_tx_skb = NULL;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9519
cancel_work_sync(&adapter->ptp_tx_work);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9520
clear_bit_unlock(__IXGBE_PTP_TX_IN_PROGRESS, &adapter->state);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9530
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9540
tx_ring = ring ? ring : adapter->tx_ring[skb_get_queue_mapping(skb)];
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9544
return ixgbe_xmit_frame_ring(skb, adapter, tx_ring);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9562
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9563
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9572
ixgbe_mac_set_default_filter(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9580
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9581
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9585
if (adapter->mii_bus) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9589
return mdiobus_c45_read(adapter->mii_bus, prtad,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9592
return mdiobus_read(adapter->mii_bus, prtad, regnum);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9606
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9607
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9609
if (adapter->mii_bus) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9613
return mdiobus_c45_write(adapter->mii_bus, prtad, devad,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9616
return mdiobus_write(adapter->mii_bus, prtad, regnum, value);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9626
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9630
if (!adapter->hw.phy.ops.read_reg)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9634
return mdio_mii_ioctl(&adapter->hw.phy.mdio, if_mii(req), cmd);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9648
struct ixgbe_adapter *adapter = ixgbe_from_netdev(dev);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9649
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9672
struct ixgbe_adapter *adapter = ixgbe_from_netdev(dev);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9673
struct ixgbe_mac_info *mac = &adapter->hw.mac;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
969
for (i = 0; i < adapter->num_tx_queues; i++)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9703
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9707
for (i = 0; i < adapter->num_rx_queues; i++) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9708
struct ixgbe_ring *ring = READ_ONCE(adapter->rx_ring[i]);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
971
&adapter->tx_ring[i]->state);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9723
for (i = 0; i < adapter->num_tx_queues; i++) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9724
struct ixgbe_ring *ring = READ_ONCE(adapter->tx_ring[i]);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9728
for (i = 0; i < adapter->num_xdp_queues; i++) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9729
struct ixgbe_ring *ring = READ_ONCE(adapter->xdp_ring[i]);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
974
static void ixgbe_update_xoff_received(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9746
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9748
if (vf < 0 || vf >= adapter->num_vfs)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9751
vf_stats->rx_packets = adapter->vfinfo[vf].vfstats.gprc;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9752
vf_stats->rx_bytes = adapter->vfinfo[vf].vfstats.gorc;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9753
vf_stats->tx_packets = adapter->vfinfo[vf].vfstats.gptc;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9754
vf_stats->tx_bytes = adapter->vfinfo[vf].vfstats.gotc;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9755
vf_stats->multicast = adapter->vfinfo[vf].vfstats.mprc;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
976
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9769
static void ixgbe_validate_rtr(struct ixgbe_adapter *adapter, u8 tc)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
977
struct ixgbe_hw_stats *hwstats = &adapter->stats;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9771
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9804
static void ixgbe_set_prio_tc_map(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9806
struct net_device *dev = adapter->netdev;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9807
struct ixgbe_dcb_config *dcb_cfg = &adapter->dcb_cfg;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9808
struct ieee_ets *ets = adapter->ixgbe_ieee_ets;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
981
bool pfc_en = adapter->dcb_cfg.pfc_mode_enable;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9814
if (adapter->dcbx_cap & DCB_CAP_DCBX_VER_CEE)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9827
struct ixgbe_adapter *adapter = (struct ixgbe_adapter *)priv->data;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
983
if (adapter->ixgbe_ieee_pfc)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
984
pfc_en |= !!(adapter->ixgbe_ieee_pfc->pfc_en);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9841
pool = find_first_zero_bit(adapter->fwd_bitmask, adapter->num_rx_pools);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9842
if (pool < adapter->num_rx_pools) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9843
set_bit(pool, adapter->fwd_bitmask);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9853
netdev_unbind_sb_channel(adapter->netdev, vdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
986
if (!(adapter->flags & IXGBE_FLAG_DCB_ENABLED) || !pfc_en) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9863
struct ixgbe_adapter *adapter = ixgbe_from_netdev(dev);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9865
.data = (void *)adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9869
bitmap_clear(adapter->fwd_bitmask, 1, 63);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
987
ixgbe_update_xoff_rx_lfc(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9884
struct ixgbe_adapter *adapter = ixgbe_from_netdev(dev);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9885
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9888
if (tc > adapter->dcb_cfg.num_tcs.pg_tcs)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9901
ixgbe_reset(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9903
ixgbe_clear_interrupt_scheme(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9907
if (adapter->xdp_prog) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9910
ixgbe_init_interrupt_scheme(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9917
ixgbe_set_prio_tc_map(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9919
adapter->hw_tcs = tc;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9920
adapter->flags |= IXGBE_FLAG_DCB_ENABLED;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9922
if (adapter->hw.mac.type == ixgbe_mac_82598EB) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9923
adapter->last_lfc_mode = adapter->hw.fc.requested_mode;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9924
adapter->hw.fc.requested_mode = ixgbe_fc_none;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9929
if (adapter->hw.mac.type == ixgbe_mac_82598EB)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9930
adapter->hw.fc.requested_mode = adapter->last_lfc_mode;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9932
adapter->flags &= ~IXGBE_FLAG_DCB_ENABLED;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9933
adapter->hw_tcs = tc;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9935
adapter->temp_dcb_cfg.pfc_mode_enable = false;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9936
adapter->dcb_cfg.pfc_mode_enable = false;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9939
ixgbe_validate_rtr(adapter, tc);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9942
ixgbe_init_interrupt_scheme(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9952
static int ixgbe_delete_clsu32(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9969
jump = adapter->jump_tables[uhtid];
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9979
jump = adapter->jump_tables[i];
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9987
spin_lock(&adapter->fdir_perfect_lock);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9988
err = ixgbe_update_ethtool_fdir_entry(adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9991
spin_unlock(&adapter->fdir_perfect_lock);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9998
adapter->jump_tables[i] = NULL;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1033
struct ixgbe_adapter *adapter = hw->back;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1034
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1035
struct device *dev = &adapter->netdev->dev;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1078
bus->priv = adapter;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1088
adapter->mii_bus = bus;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1534
struct ixgbe_adapter *adapter = hw->back;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1853
struct ixgbe_adapter *adapter = hw->back;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
826
struct ixgbe_adapter *adapter = bus->priv;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
827
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
843
struct ixgbe_adapter *adapter = bus->priv;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
844
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
860
struct ixgbe_adapter *adapter = bus->priv;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
861
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
878
struct ixgbe_adapter *adapter = bus->priv;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
879
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
895
struct ixgbe_adapter *adapter = bus->priv;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
896
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
913
struct ixgbe_adapter *adapter = bus->priv;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
914
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
931
struct ixgbe_adapter *adapter = bus->priv;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
932
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
950
struct ixgbe_adapter *adapter = bus->priv;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
951
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
992
struct ixgbe_adapter *adapter = hw->back;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
993
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1062
adapter->flags &= ~(IXGBE_FLAG_RX_HWTSTAMP_ENABLED |
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1124
adapter->flags = aflags;
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1127
ixgbe_ptp_clear_tx_timestamp(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1146
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1149
err = ixgbe_ptp_set_timestamp_mode(adapter, config);
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1154
adapter->tstamp_config = *config;
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1159
static void ixgbe_ptp_link_speed_adjust(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1176
switch (adapter->link_speed) {
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1203
void ixgbe_ptp_start_cyclecounter(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1205
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1248
ixgbe_ptp_link_speed_adjust(adapter, &cc.shift, &incval);
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1254
ixgbe_ptp_link_speed_adjust(adapter, &cc.shift, &incval);
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1266
WRITE_ONCE(adapter->base_incval, incval);
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1270
spin_lock_irqsave(&adapter->tmreg_lock, flags);
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1271
memcpy(&adapter->hw_cc, &cc, sizeof(adapter->hw_cc));
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1272
spin_unlock_irqrestore(&adapter->tmreg_lock, flags);
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1281
static void ixgbe_ptp_init_systime(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1283
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1332
void ixgbe_ptp_reset(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1334
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1338
ixgbe_ptp_set_timestamp_mode(adapter, &adapter->tstamp_config);
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1344
ixgbe_ptp_start_cyclecounter(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1346
ixgbe_ptp_init_systime(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1348
spin_lock_irqsave(&adapter->tmreg_lock, flags);
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1349
timecounter_init(&adapter->hw_tc, &adapter->hw_cc,
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1351
spin_unlock_irqrestore(&adapter->tmreg_lock, flags);
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1353
adapter->last_overflow_check = jiffies;
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1358
if (adapter->ptp_setup_sdp)
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1359
adapter->ptp_setup_sdp(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1372
static long ixgbe_ptp_create_clock(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1374
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1378
if (!IS_ERR_OR_NULL(adapter->ptp_clock))
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1381
switch (adapter->hw.mac.type) {
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1383
snprintf(adapter->ptp_caps.name,
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1384
sizeof(adapter->ptp_caps.name),
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1386
adapter->ptp_caps.owner = THIS_MODULE;
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1387
adapter->ptp_caps.max_adj = 250000000;
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1388
adapter->ptp_caps.n_alarm = 0;
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1389
adapter->ptp_caps.n_ext_ts = 0;
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1390
adapter->ptp_caps.n_per_out = 0;
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1391
adapter->ptp_caps.pps = 1;
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1392
adapter->ptp_caps.adjfine = ixgbe_ptp_adjfine_82599;
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1393
adapter->ptp_caps.adjtime = ixgbe_ptp_adjtime;
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1394
adapter->ptp_caps.gettimex64 = ixgbe_ptp_gettimex;
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1395
adapter->ptp_caps.settime64 = ixgbe_ptp_settime;
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1396
adapter->ptp_caps.enable = ixgbe_ptp_feature_enable;
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1397
adapter->ptp_setup_sdp = ixgbe_ptp_setup_sdp_X540;
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1400
snprintf(adapter->ptp_caps.name,
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1401
sizeof(adapter->ptp_caps.name),
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1403
adapter->ptp_caps.owner = THIS_MODULE;
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1404
adapter->ptp_caps.max_adj = 250000000;
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1405
adapter->ptp_caps.n_alarm = 0;
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1406
adapter->ptp_caps.n_ext_ts = 0;
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1407
adapter->ptp_caps.n_per_out = 0;
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1408
adapter->ptp_caps.pps = 0;
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1409
adapter->ptp_caps.adjfine = ixgbe_ptp_adjfine_82599;
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1410
adapter->ptp_caps.adjtime = ixgbe_ptp_adjtime;
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1411
adapter->ptp_caps.gettimex64 = ixgbe_ptp_gettimex;
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1412
adapter->ptp_caps.settime64 = ixgbe_ptp_settime;
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1413
adapter->ptp_caps.enable = ixgbe_ptp_feature_enable;
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1419
snprintf(adapter->ptp_caps.name, 16, "%s", netdev->name);
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1420
adapter->ptp_caps.owner = THIS_MODULE;
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1421
adapter->ptp_caps.max_adj = 30000000;
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1422
adapter->ptp_caps.n_alarm = 0;
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1423
adapter->ptp_caps.n_ext_ts = 0;
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1424
adapter->ptp_caps.n_per_out = 0;
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1425
adapter->ptp_caps.pps = 1;
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1426
adapter->ptp_caps.adjfine = ixgbe_ptp_adjfine_X550;
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1427
adapter->ptp_caps.adjtime = ixgbe_ptp_adjtime;
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1428
adapter->ptp_caps.gettimex64 = ixgbe_ptp_gettimex;
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1429
adapter->ptp_caps.settime64 = ixgbe_ptp_settime;
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1430
adapter->ptp_caps.enable = ixgbe_ptp_feature_enable;
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1431
adapter->ptp_setup_sdp = ixgbe_ptp_setup_sdp_X550;
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1434
adapter->ptp_clock = NULL;
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1435
adapter->ptp_setup_sdp = NULL;
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1439
adapter->ptp_clock = ptp_clock_register(&adapter->ptp_caps,
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1440
&adapter->pdev->dev);
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1441
if (IS_ERR(adapter->ptp_clock)) {
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1442
err = PTR_ERR(adapter->ptp_clock);
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1443
adapter->ptp_clock = NULL;
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1446
} else if (adapter->ptp_clock)
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1453
adapter->tstamp_config.rx_filter = HWTSTAMP_FILTER_NONE;
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1454
adapter->tstamp_config.tx_type = HWTSTAMP_TX_OFF;
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1467
void ixgbe_ptp_init(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1473
spin_lock_init(&adapter->tmreg_lock);
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1476
if (ixgbe_ptp_create_clock(adapter))
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1480
INIT_WORK(&adapter->ptp_tx_work, ixgbe_ptp_tx_hwtstamp_work);
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1483
ixgbe_ptp_reset(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1486
set_bit(__IXGBE_PTP_RUNNING, &adapter->state);
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1498
void ixgbe_ptp_suspend(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1501
if (!test_and_clear_bit(__IXGBE_PTP_RUNNING, &adapter->state))
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1504
adapter->flags2 &= ~IXGBE_FLAG2_PTP_PPS_ENABLED;
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1505
if (adapter->ptp_setup_sdp)
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1506
adapter->ptp_setup_sdp(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1509
cancel_work_sync(&adapter->ptp_tx_work);
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1510
ixgbe_ptp_clear_tx_timestamp(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1520
void ixgbe_ptp_stop(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1523
ixgbe_ptp_suspend(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1526
if (adapter->ptp_clock) {
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1527
ptp_clock_unregister(adapter->ptp_clock);
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1528
adapter->ptp_clock = NULL;
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
1530
adapter->netdev->name);
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
161
static void ixgbe_ptp_setup_sdp_X540(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
163
struct cyclecounter *cc = &adapter->hw_cc;
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
164
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
173
if (!(adapter->flags2 & IXGBE_FLAG2_PTP_PPS_ENABLED))
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
199
spin_lock_irqsave(&adapter->tmreg_lock, flags);
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
200
ns = timecounter_read(&adapter->hw_tc);
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
201
clock_edge = adapter->hw_tc.cycle_last;
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
202
spin_unlock_irqrestore(&adapter->tmreg_lock, flags);
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
240
static void ixgbe_ptp_setup_sdp_X550(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
243
struct cyclecounter *cc = &adapter->hw_cc;
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
244
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
253
if (!(adapter->flags2 & IXGBE_FLAG2_PTP_PPS_ENABLED))
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
282
spin_lock_irqsave(&adapter->tmreg_lock, flags);
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
283
ns = timecounter_read(&adapter->hw_tc);
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
284
clock_edge = adapter->hw_tc.cycle_last;
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
285
spin_unlock_irqrestore(&adapter->tmreg_lock, flags);
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
332
struct ixgbe_adapter *adapter =
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
334
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
369
struct ixgbe_adapter *adapter =
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
371
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
397
static void ixgbe_ptp_convert_to_hwtstamp(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
407
switch (adapter->hw.mac.type) {
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
434
spin_lock_irqsave(&adapter->tmreg_lock, flags);
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
435
ns = timecounter_cyc2time(&adapter->hw_tc, timestamp);
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
436
spin_unlock_irqrestore(&adapter->tmreg_lock, flags);
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
453
struct ixgbe_adapter *adapter =
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
455
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
459
incval = READ_ONCE(adapter->base_incval);
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
494
struct ixgbe_adapter *adapter =
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
496
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
527
struct ixgbe_adapter *adapter =
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
531
spin_lock_irqsave(&adapter->tmreg_lock, flags);
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
532
timecounter_adjtime(&adapter->hw_tc, delta);
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
533
spin_unlock_irqrestore(&adapter->tmreg_lock, flags);
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
535
if (adapter->ptp_setup_sdp)
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
536
adapter->ptp_setup_sdp(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
554
struct ixgbe_adapter *adapter =
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
556
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
560
spin_lock_irqsave(&adapter->tmreg_lock, flags);
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
562
switch (adapter->hw.mac.type) {
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
587
ns = timecounter_cyc2time(&adapter->hw_tc, stamp);
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
589
spin_unlock_irqrestore(&adapter->tmreg_lock, flags);
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
607
struct ixgbe_adapter *adapter =
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
613
spin_lock_irqsave(&adapter->tmreg_lock, flags);
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
614
timecounter_init(&adapter->hw_tc, &adapter->hw_cc, ns);
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
615
spin_unlock_irqrestore(&adapter->tmreg_lock, flags);
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
617
if (adapter->ptp_setup_sdp)
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
618
adapter->ptp_setup_sdp(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
634
struct ixgbe_adapter *adapter =
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
643
if (rq->type != PTP_CLK_REQ_PPS || !adapter->ptp_setup_sdp)
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
647
adapter->flags2 |= IXGBE_FLAG2_PTP_PPS_ENABLED;
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
649
adapter->flags2 &= ~IXGBE_FLAG2_PTP_PPS_ENABLED;
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
651
adapter->ptp_setup_sdp(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
662
void ixgbe_ptp_check_pps_event(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
664
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
673
if (!adapter->ptp_clock)
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
678
ptp_clock_event(adapter->ptp_clock, &event);
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
693
void ixgbe_ptp_overflow_check(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
695
bool timeout = time_is_before_jiffies(adapter->last_overflow_check +
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
701
spin_lock_irqsave(&adapter->tmreg_lock, flags);
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
702
timecounter_read(&adapter->hw_tc);
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
703
spin_unlock_irqrestore(&adapter->tmreg_lock, flags);
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
705
adapter->last_overflow_check = jiffies;
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
718
void ixgbe_ptp_rx_hang(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
720
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
730
adapter->last_rx_ptp_check = jiffies;
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
735
rx_event = adapter->last_rx_ptp_check;
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
736
for (n = 0; n < adapter->num_rx_queues; n++) {
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
737
rx_ring = adapter->rx_ring[n];
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
745
adapter->last_rx_ptp_check = jiffies;
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
747
adapter->rx_hwtstamp_cleared++;
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
760
static void ixgbe_ptp_clear_tx_timestamp(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
762
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
765
if (adapter->ptp_tx_skb) {
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
766
dev_kfree_skb_any(adapter->ptp_tx_skb);
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
767
adapter->ptp_tx_skb = NULL;
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
769
clear_bit_unlock(__IXGBE_PTP_TX_IN_PROGRESS, &adapter->state);
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
776
void ixgbe_ptp_tx_hang(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
778
bool timeout = time_is_before_jiffies(adapter->ptp_tx_start +
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
781
if (!adapter->ptp_tx_skb)
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
784
if (!test_bit(__IXGBE_PTP_TX_IN_PROGRESS, &adapter->state))
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
792
cancel_work_sync(&adapter->ptp_tx_work);
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
793
ixgbe_ptp_clear_tx_timestamp(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
794
adapter->tx_hwtstamp_timeouts++;
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
807
static void ixgbe_ptp_tx_hwtstamp(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
809
struct sk_buff *skb = adapter->ptp_tx_skb;
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
810
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
816
ixgbe_ptp_convert_to_hwtstamp(adapter, &shhwtstamps, regval);
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
823
adapter->ptp_tx_skb = NULL;
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
824
clear_bit_unlock(__IXGBE_PTP_TX_IN_PROGRESS, &adapter->state);
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
841
struct ixgbe_adapter *adapter = container_of(work, struct ixgbe_adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
843
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
844
bool timeout = time_is_before_jiffies(adapter->ptp_tx_start +
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
849
if (!adapter->ptp_tx_skb) {
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
850
ixgbe_ptp_clear_tx_timestamp(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
857
ixgbe_ptp_tx_hwtstamp(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
862
ixgbe_ptp_clear_tx_timestamp(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
863
adapter->tx_hwtstamp_timeouts++;
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
867
schedule_work(&adapter->ptp_tx_work);
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
896
ixgbe_ptp_convert_to_hwtstamp(q_vector->adapter, skb_hwtstamps(skb),
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
912
struct ixgbe_adapter *adapter;
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
918
if (!q_vector || !q_vector->adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
921
adapter = q_vector->adapter;
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
922
hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
935
ixgbe_ptp_convert_to_hwtstamp(adapter, skb_hwtstamps(skb), regval);
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
950
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
952
*config = adapter->tstamp_config;
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
982
static int ixgbe_ptp_set_timestamp_mode(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
985
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
989
u32 aflags = adapter->flags;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1002
if (adapter->vfinfo[vf].pf_set_mac && !adapter->vfinfo[vf].trusted &&
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1021
if (adapter->vfinfo[vf].spoofchk_enabled) {
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1022
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1029
err = ixgbe_set_vf_macvlan(adapter, vf, index, new_mac);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1038
static int ixgbe_negotiate_vf_api(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1051
adapter->vfinfo[vf].vf_api = api;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
106
adapter->vfinfo[i].rss_query_enabled = false;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1062
static int ixgbe_get_vf_queues(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1065
struct net_device *dev = adapter->netdev;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1066
struct ixgbe_ring_feature *vmdq = &adapter->ring_feature[RING_F_VMDQ];
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1068
u8 num_tcs = adapter->hw_tcs;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1071
switch (adapter->vfinfo[vf].vf_api) {
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
109
adapter->vfinfo[i].trusted = false;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1090
default_tc = netdev_get_prio_tc_map(dev, adapter->default_up);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1095
else if (adapter->vfinfo[vf].pf_vlan || adapter->vfinfo[vf].pf_qos)
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1106
static int ixgbe_get_vf_reta(struct ixgbe_adapter *adapter, u32 *msgbuf, u32 vf)
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1110
const u8 *reta = adapter->rss_indir_tbl;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1111
u32 reta_size = ixgbe_rss_indir_tbl_entries(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1114
if (!adapter->vfinfo[vf].rss_query_enabled)
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1118
switch (adapter->vfinfo[vf].vf_api) {
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
112
adapter->vfinfo[i].xcast_mode = IXGBEVF_XCAST_MODE_NONE;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1143
static int ixgbe_get_vf_rss_key(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1149
if (!adapter->vfinfo[vf].rss_query_enabled)
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1153
switch (adapter->vfinfo[vf].vf_api) {
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1164
memcpy(rss_key, adapter->rss_key, IXGBE_RSS_KEY_SIZE);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1169
static int ixgbe_update_vf_xcast_mode(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1172
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1177
switch (adapter->vfinfo[vf].vf_api) {
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1193
!adapter->vfinfo[vf].trusted) {
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1197
if (adapter->vfinfo[vf].xcast_mode == xcast_mode)
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
123
static void ixgbe_get_vfs(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1239
adapter->vfinfo[vf].xcast_mode = xcast_mode;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1247
static int ixgbe_get_vf_link_state(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
125
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1253
switch (adapter->vfinfo[vf].vf_api) {
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1264
*link_state = adapter->vfinfo[vf].link_enable;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1279
static int ixgbe_send_vf_link_status(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1282
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1284
switch (adapter->vfinfo[vf].vf_api) {
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1296
msgbuf[1] = adapter->link_speed;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1297
msgbuf[2] = adapter->link_up;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1310
static int ixgbe_negotiate_vf_features(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1315
switch (adapter->vfinfo[vf].vf_api) {
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1328
static int ixgbe_rcv_msg_from_vf(struct ixgbe_adapter *adapter, u32 vf)
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1332
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1350
return ixgbe_vf_reset_msg(adapter, vf);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1356
if (!adapter->vfinfo[vf].clear_to_send) {
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1364
retval = ixgbe_set_vf_mac_addr(adapter, msgbuf, vf);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1367
retval = ixgbe_set_vf_multicasts(adapter, msgbuf, vf);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1370
retval = ixgbe_set_vf_vlan_msg(adapter, msgbuf, vf);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1373
retval = ixgbe_set_vf_lpe(adapter, msgbuf[1], vf);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1376
retval = ixgbe_set_vf_macvlan_msg(adapter, msgbuf, vf);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1379
retval = ixgbe_negotiate_vf_api(adapter, msgbuf, vf);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1382
retval = ixgbe_get_vf_queues(adapter, msgbuf, vf);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1385
retval = ixgbe_get_vf_reta(adapter, msgbuf, vf);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1388
retval = ixgbe_get_vf_rss_key(adapter, msgbuf, vf);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1391
retval = ixgbe_update_vf_xcast_mode(adapter, msgbuf, vf);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1394
retval = ixgbe_get_vf_link_state(adapter, msgbuf, vf);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1397
retval = ixgbe_ipsec_vf_add_sa(adapter, msgbuf, vf);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1400
retval = ixgbe_ipsec_vf_del_sa(adapter, msgbuf, vf);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1403
retval = ixgbe_send_vf_link_status(adapter, msgbuf, vf);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1406
retval = ixgbe_negotiate_vf_features(adapter, msgbuf, vf);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1427
static void ixgbe_rcv_ack_from_vf(struct ixgbe_adapter *adapter, u32 vf)
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1429
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
143
if (vf >= adapter->num_vfs)
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1433
if (!adapter->vfinfo[vf].clear_to_send)
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1443
bool ixgbe_check_mdd_event(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1445
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1459
dev_warn(&adapter->pdev->dev,
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
146
adapter->vfinfo[vf].vfdev = vfdev;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1470
adapter->vfinfo[i].clear_to_send = 0;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1482
void ixgbe_msg_task(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1484
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1488
ixgbe_check_mdd_event(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1490
spin_lock_irqsave(&adapter->vfs_lock, flags);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1491
for (vf = 0; vf < adapter->num_vfs; vf++) {
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1494
ixgbe_vf_reset_event(adapter, vf);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1498
ixgbe_rcv_msg_from_vf(adapter, vf);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1502
ixgbe_rcv_ack_from_vf(adapter, vf);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1504
spin_unlock_irqrestore(&adapter->vfs_lock, flags);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1507
static inline void ixgbe_ping_vf(struct ixgbe_adapter *adapter, int vf)
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1509
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1513
if (adapter->vfinfo[vf].clear_to_send)
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1518
void ixgbe_ping_all_vfs(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1520
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1524
for (i = 0 ; i < adapter->num_vfs; i++) {
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1526
if (adapter->vfinfo[i].clear_to_send)
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1538
void ixgbe_set_all_vfs(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
154
void ixgbe_enable_sriov(struct ixgbe_adapter *adapter, unsigned int max_vfs)
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1542
for (i = 0 ; i < adapter->num_vfs; i++)
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1543
ixgbe_set_vf_link_state(adapter, i,
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1544
adapter->vfinfo[i].link_state);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1549
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1552
if (vf >= adapter->num_vfs)
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1556
dev_info(&adapter->pdev->dev, "setting MAC %pM on VF %d\n",
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1558
dev_info(&adapter->pdev->dev, "Reload the VF driver to make this change effective.");
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1560
retval = ixgbe_set_vf_mac(adapter, vf, mac);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1562
adapter->vfinfo[vf].pf_set_mac = true;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1564
if (test_bit(__IXGBE_DOWN, &adapter->state)) {
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1565
dev_warn(&adapter->pdev->dev, "The VF MAC address has been set, but the PF device is not up.\n");
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1566
dev_warn(&adapter->pdev->dev, "Bring the PF device up before attempting to use the VF device.\n");
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1569
dev_warn(&adapter->pdev->dev, "The VF MAC address was NOT set due to invalid or duplicate MAC address.\n");
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1573
adapter->vfinfo[vf].vf_mac_addresses;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1579
dev_info(&adapter->pdev->dev, "removing MAC on VF %d\n", vf);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1581
retval = ixgbe_del_mac_filter(adapter, vf_mac_addr, vf);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1583
adapter->vfinfo[vf].pf_set_mac = false;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1586
dev_warn(&adapter->pdev->dev, "Could NOT remove the VF MAC address.\n");
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
159
pre_existing_vfs = pci_num_vf(adapter->pdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1595
static int ixgbe_enable_port_vlan(struct ixgbe_adapter *adapter, int vf,
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1598
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1601
err = ixgbe_set_vf_vlan(adapter, true, vlan, vf);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1606
ixgbe_set_vf_vlan(adapter, false, 0, vf);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1608
ixgbe_set_vmvir(adapter, vlan, qos, vf);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1613
ixgbe_write_qde(adapter, vf, IXGBE_QDE_ENABLE |
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1616
adapter->vfinfo[vf].pf_vlan = vlan;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1617
adapter->vfinfo[vf].pf_qos = qos;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1618
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1620
if (test_bit(__IXGBE_DOWN, &adapter->state)) {
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1621
dev_warn(&adapter->pdev->dev,
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1623
dev_warn(&adapter->pdev->dev,
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1631
static int ixgbe_disable_port_vlan(struct ixgbe_adapter *adapter, int vf)
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1633
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1636
err = ixgbe_set_vf_vlan(adapter, false,
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1637
adapter->vfinfo[vf].pf_vlan, vf);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1639
ixgbe_set_vf_vlan(adapter, true, 0, vf);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1640
ixgbe_clear_vmvir(adapter, vf);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1645
ixgbe_write_qde(adapter, vf, IXGBE_QDE_ENABLE);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1647
adapter->vfinfo[vf].pf_vlan = 0;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1648
adapter->vfinfo[vf].pf_qos = 0;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1657
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1659
if ((vf >= adapter->num_vfs) || (vlan > 4095) || (qos > 7))
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1671
if (adapter->vfinfo[vf].pf_vlan)
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1672
err = ixgbe_disable_port_vlan(adapter, vf);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1675
err = ixgbe_enable_port_vlan(adapter, vf, vlan, qos);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1677
err = ixgbe_disable_port_vlan(adapter, vf);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1684
int ixgbe_link_mbps(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1686
switch (adapter->link_speed) {
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1698
static void ixgbe_set_vf_rate_limit(struct ixgbe_adapter *adapter, int vf)
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1700
struct ixgbe_ring_feature *vmdq = &adapter->ring_feature[RING_F_VMDQ];
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1701
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1704
u16 tx_rate = adapter->vfinfo[vf].tx_rate;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1708
bcnrc_val = adapter->vf_rate_link_speed;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
171
dev_warn(&adapter->pdev->dev,
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1750
void ixgbe_check_vf_rate_limit(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1755
if (!adapter->vf_rate_link_speed)
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1758
if (ixgbe_link_mbps(adapter) != adapter->vf_rate_link_speed) {
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1759
adapter->vf_rate_link_speed = 0;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1760
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1764
for (i = 0; i < adapter->num_vfs; i++) {
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1765
if (!adapter->vf_rate_link_speed)
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1766
adapter->vfinfo[i].tx_rate = 0;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1768
ixgbe_set_vf_rate_limit(adapter, i);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1775
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1779
if (vf >= adapter->num_vfs)
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1783
if (!adapter->link_up)
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1787
link_speed = ixgbe_link_mbps(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1799
adapter->vf_rate_link_speed = link_speed;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1800
adapter->vfinfo[vf].tx_rate = max_tx_rate;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1803
ixgbe_set_vf_rate_limit(adapter, vf);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1810
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1811
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1813
if (vf >= adapter->num_vfs)
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1816
adapter->vfinfo[vf].spoofchk_enabled = setting;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
184
err = pci_enable_sriov(adapter->pdev, num_vfs);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1852
void ixgbe_set_vf_link_state(struct ixgbe_adapter *adapter, int vf, int state)
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1854
adapter->vfinfo[vf].link_state = state;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1858
if (test_bit(__IXGBE_DOWN, &adapter->state))
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1859
adapter->vfinfo[vf].link_enable = false;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1861
adapter->vfinfo[vf].link_enable = true;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1864
adapter->vfinfo[vf].link_enable = true;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1867
adapter->vfinfo[vf].link_enable = false;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1871
ixgbe_set_vf_rx_tx(adapter, vf);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1874
adapter->vfinfo[vf].clear_to_send = false;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1875
ixgbe_ping_vf(adapter, vf);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1888
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1891
if (vf < 0 || vf >= adapter->num_vfs) {
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1892
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1899
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1904
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1906
ixgbe_set_vf_link_state(adapter, vf, state);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1909
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
191
if (!__ixgbe_enable_sriov(adapter, num_vfs)) {
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1911
ixgbe_set_vf_link_state(adapter, vf, state);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1914
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
192
ixgbe_get_vfs(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1925
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1930
if (adapter->hw.mac.type < ixgbe_mac_82599EB ||
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1931
adapter->hw.mac.type >= ixgbe_mac_X550)
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1934
if (vf >= adapter->num_vfs)
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1937
adapter->vfinfo[vf].rss_query_enabled = setting;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1944
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1946
if (vf >= adapter->num_vfs)
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1950
if (adapter->vfinfo[vf].trusted == setting)
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1953
adapter->vfinfo[vf].trusted = setting;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1956
adapter->vfinfo[vf].clear_to_send = false;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1957
ixgbe_ping_vf(adapter, vf);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1967
struct ixgbe_adapter *adapter = ixgbe_from_netdev(netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1968
if (vf >= adapter->num_vfs)
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1971
memcpy(&ivi->mac, adapter->vfinfo[vf].vf_mac_addresses, ETH_ALEN);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1972
ivi->max_tx_rate = adapter->vfinfo[vf].tx_rate;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1974
ivi->vlan = adapter->vfinfo[vf].pf_vlan;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1975
ivi->qos = adapter->vfinfo[vf].pf_qos;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1976
ivi->spoofchk = adapter->vfinfo[vf].spoofchk_enabled;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1977
ivi->rss_query_en = adapter->vfinfo[vf].rss_query_enabled;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1978
ivi->trusted = adapter->vfinfo[vf].trusted;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1979
ivi->linkstate = adapter->vfinfo[vf].link_state;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
201
ixgbe_disable_sriov(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
205
int ixgbe_disable_sriov(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
207
unsigned int num_vfs = adapter->num_vfs, vf;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
208
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
212
spin_lock_irqsave(&adapter->vfs_lock, flags);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
214
adapter->num_vfs = 0;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
215
spin_unlock_irqrestore(&adapter->vfs_lock, flags);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
219
struct pci_dev *vfdev = adapter->vfinfo[vf].vfdev;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
223
adapter->vfinfo[vf].vfdev = NULL;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
228
kfree(adapter->vfinfo);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
229
adapter->vfinfo = NULL;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
232
kfree(adapter->mv_list);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
233
adapter->mv_list = NULL;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
236
if (!(adapter->flags & IXGBE_FLAG_SRIOV_ENABLED))
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
248
if (pci_vfs_assigned(adapter->pdev)) {
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
25
static inline void ixgbe_alloc_vf_macvlans(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
253
pci_disable_sriov(adapter->pdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
257
if (bitmap_weight(adapter->fwd_bitmask, adapter->num_rx_pools) == 1) {
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
258
adapter->flags &= ~IXGBE_FLAG_VMDQ_ENABLED;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
259
adapter->flags &= ~IXGBE_FLAG_SRIOV_ENABLED;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
260
rss = min_t(int, ixgbe_max_rss_indices(adapter),
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
266
adapter->ring_feature[RING_F_VMDQ].offset = 0;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
267
adapter->ring_feature[RING_F_RSS].limit = rss;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
277
struct ixgbe_adapter *adapter = pci_get_drvdata(dev);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
28
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
283
err = ixgbe_disable_sriov(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
302
num_tc = adapter->hw_tcs;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
303
num_rx_pools = bitmap_weight(adapter->fwd_bitmask,
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
304
adapter->num_rx_pools);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
314
err = __ixgbe_enable_sriov(adapter, num_vfs);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
322
ixgbe_sriov_reinit(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
329
ixgbe_get_vfs(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
33
INIT_LIST_HEAD(&adapter->vf_mvs.l);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
339
struct ixgbe_adapter *adapter = pci_get_drvdata(dev);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
342
u32 current_flags = adapter->flags;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
346
err = ixgbe_disable_sriov(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
350
if (!err && (current_flags != adapter->flags ||
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
352
ixgbe_sriov_reinit(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
366
static int ixgbe_set_vf_multicasts(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
371
struct vf_data_storage *vfinfo = &adapter->vfinfo[vf];
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
372
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
411
void ixgbe_restore_vf_multicasts(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
413
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
420
for (i = 0; i < adapter->num_vfs; i++) {
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
422
vfinfo = &adapter->vfinfo[i];
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
440
ixgbe_full_sync_mac_table(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
444
static int ixgbe_set_vf_vlan(struct ixgbe_adapter *adapter, int add, int vid,
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
447
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
45
list_add(&mv_list[i].l, &adapter->vf_mvs.l);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
455
if (add && test_bit(vid, adapter->active_vlans)) {
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
47
adapter->mv_list = mv_list;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
470
if (test_bit(vid, adapter->active_vlans) ||
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
471
(adapter->flags2 & IXGBE_FLAG2_VLAN_PROMISC))
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
472
ixgbe_update_pf_promisc_vlvf(adapter, vid);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
477
static int ixgbe_set_vf_lpe(struct ixgbe_adapter *adapter, u32 max_frame, u32 vf)
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
479
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
494
if (adapter->hw.mac.type == ixgbe_mac_82599EB) {
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
495
struct net_device *dev = adapter->netdev;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
506
switch (adapter->vfinfo[vf].vf_api) {
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
51
static int __ixgbe_enable_sriov(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
54
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
57
if (adapter->xdp_prog) {
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
575
static void ixgbe_clear_vmvir(struct ixgbe_adapter *adapter, u32 vf)
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
577
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
582
static void ixgbe_clear_vf_vlans(struct ixgbe_adapter *adapter, u32 vf)
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
584
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
63
adapter->flags |= IXGBE_FLAG_SRIOV_ENABLED |
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
635
if (!(adapter->flags2 & IXGBE_FLAG2_VLAN_PROMISC))
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
643
static int ixgbe_set_vf_macvlan(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
651
list_for_each_entry(entry, &adapter->vf_mvs.l, l) {
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
656
ixgbe_del_mac_filter(adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
669
list_for_each_entry(entry, &adapter->vf_mvs.l, l) {
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
67
adapter->vfinfo = kzalloc_objs(struct vf_data_storage, num_vfs);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
68
if (!adapter->vfinfo)
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
687
retval = ixgbe_add_mac_filter(adapter, mac_addr, vf);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
699
static inline void ixgbe_vf_reset_event(struct ixgbe_adapter *adapter, u32 vf)
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
701
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
702
struct ixgbe_ring_feature *vmdq = &adapter->ring_feature[RING_F_VMDQ];
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
703
struct vf_data_storage *vfinfo = &adapter->vfinfo[vf];
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
705
u8 num_tcs = adapter->hw_tcs;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
71
adapter->num_vfs = num_vfs;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
710
ixgbe_clear_vf_vlans(adapter, vf);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
713
ixgbe_set_vf_vlan(adapter, true, vfinfo->pf_vlan, vf);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
720
ixgbe_clear_vmvir(adapter, vf);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
723
ixgbe_set_vmvir(adapter, vfinfo->pf_vlan,
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
726
ixgbe_set_vmvir(adapter, vfinfo->pf_vlan,
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
727
adapter->default_up, vf);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
73
ixgbe_alloc_vf_macvlans(adapter, num_vfs);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
736
adapter->vfinfo[vf].num_vf_mc_hashes = 0;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
739
ixgbe_ipsec_vf_clear(adapter, vf);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
74
adapter->ring_feature[RING_F_VMDQ].offset = num_vfs;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
742
ixgbe_set_rx_mode(adapter->netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
744
ixgbe_del_mac_filter(adapter, adapter->vfinfo[vf].vf_mac_addresses, vf);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
745
ixgbe_set_vf_macvlan(adapter, vf, 0, NULL);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
748
adapter->vfinfo[vf].vf_api = ixgbe_mbox_api_10;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
768
static void ixgbe_vf_clear_mbx(struct ixgbe_adapter *adapter, u32 vf)
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
770
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
78
adapter->bridge_mode = BRIDGE_MODE_VEB;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
780
static int ixgbe_set_vf_mac(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
785
ixgbe_del_mac_filter(adapter, adapter->vfinfo[vf].vf_mac_addresses, vf);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
786
retval = ixgbe_add_mac_filter(adapter, mac_addr, vf);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
788
memcpy(adapter->vfinfo[vf].vf_mac_addresses, mac_addr,
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
791
eth_zero_addr(adapter->vfinfo[vf].vf_mac_addresses);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
798
struct ixgbe_adapter *adapter = pci_get_drvdata(pdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
804
eth_zero_addr(adapter->vfinfo[vfn].vf_mac_addresses);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
809
static inline void ixgbe_write_qde(struct ixgbe_adapter *adapter, u32 vf,
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
81
if ((adapter->hw.mac.type == ixgbe_mac_82599EB) && (num_vfs < 16)) {
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
812
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
813
struct ixgbe_ring_feature *vmdq = &adapter->ring_feature[RING_F_VMDQ];
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
82
adapter->dcb_cfg.num_tcs.pg_tcs = MAX_TRAFFIC_CLASS;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
83
adapter->dcb_cfg.num_tcs.pfc_tcs = MAX_TRAFFIC_CLASS;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
837
static void ixgbe_set_vf_rx_tx(struct ixgbe_adapter *adapter, int vf)
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
840
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
849
if (adapter->vfinfo[vf].link_enable) {
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
85
adapter->dcb_cfg.num_tcs.pg_tcs = 4;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
86
adapter->dcb_cfg.num_tcs.pfc_tcs = 4;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
860
if (adapter->hw.mac.type == ixgbe_mac_82599EB) {
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
861
struct net_device *dev = adapter->netdev;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
88
adapter->dcb_cfg.num_tcs.pg_tcs = 1;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
881
static int ixgbe_vf_reset_msg(struct ixgbe_adapter *adapter, u32 vf)
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
883
struct ixgbe_ring_feature *vmdq = &adapter->ring_feature[RING_F_VMDQ];
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
884
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
885
unsigned char *vf_mac = adapter->vfinfo[vf].vf_mac_addresses;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
89
adapter->dcb_cfg.num_tcs.pfc_tcs = 1;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
895
ixgbe_vf_reset_event(adapter, vf);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
897
ixgbe_vf_clear_mbx(adapter, vf);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
901
ixgbe_set_vf_mac(adapter, vf, vf_mac);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
908
if (adapter->vfinfo[vf].pf_vlan)
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
911
ixgbe_write_qde(adapter, vf, reg);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
913
ixgbe_set_vf_rx_tx(adapter, vf);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
916
adapter->vfinfo[vf].clear_to_send = true;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
93
adapter->flags2 &= ~(IXGBE_FLAG2_RSC_CAPABLE |
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
934
if (!is_zero_ether_addr(vf_mac) && adapter->vfinfo[vf].pf_set_mac) {
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
951
static int ixgbe_set_vf_mac_addr(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
961
if (adapter->vfinfo[vf].pf_set_mac && !adapter->vfinfo[vf].trusted &&
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
962
!ether_addr_equal(adapter->vfinfo[vf].vf_mac_addresses, new_mac)) {
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
970
return ixgbe_set_vf_mac(adapter, vf, new_mac) < 0;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
973
static int ixgbe_set_vf_vlan_msg(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
978
u8 tcs = adapter->hw_tcs;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
98
adapter->vfinfo[i].spoofchk_enabled = true;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
980
if (adapter->vfinfo[vf].pf_vlan || tcs) {
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
99
adapter->vfinfo[i].link_enable = true;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
992
return ixgbe_set_vf_vlan(adapter, add, vid, vf);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
995
static int ixgbe_set_vf_macvlan_msg(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.h
16
void ixgbe_restore_vf_multicasts(struct ixgbe_adapter *adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.h
18
bool ixgbe_check_mdd_event(struct ixgbe_adapter *adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.h
19
void ixgbe_msg_task(struct ixgbe_adapter *adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.h
21
void ixgbe_ping_all_vfs(struct ixgbe_adapter *adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.h
22
void ixgbe_set_all_vfs(struct ixgbe_adapter *adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.h
26
int ixgbe_link_mbps(struct ixgbe_adapter *adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.h
36
void ixgbe_check_vf_rate_limit(struct ixgbe_adapter *adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.h
37
void ixgbe_set_vf_link_state(struct ixgbe_adapter *adapter, int vf, int state);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.h
38
int ixgbe_disable_sriov(struct ixgbe_adapter *adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.h
40
void ixgbe_enable_sriov(struct ixgbe_adapter *adapter, unsigned int max_vfs);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.h
44
static inline void ixgbe_set_vmvir(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.h
47
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_sysfs.c
121
&adapter->hw.mac.thermal_sensor_data.sensor[offset];
drivers/net/ethernet/intel/ixgbe/ixgbe_sysfs.c
122
ixgbe_attr->hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbe/ixgbe_sysfs.c
128
adapter->ixgbe_hwmon_buff->attrs[n_attr] = &ixgbe_attr->dev_attr.attr;
drivers/net/ethernet/intel/ixgbe/ixgbe_sysfs.c
130
++adapter->ixgbe_hwmon_buff->n_hwmon;
drivers/net/ethernet/intel/ixgbe/ixgbe_sysfs.c
135
static void ixgbe_sysfs_del_adapter(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_sysfs.c
140
void ixgbe_sysfs_exit(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_sysfs.c
142
ixgbe_sysfs_del_adapter(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_sysfs.c
146
int ixgbe_sysfs_init(struct ixgbe_adapter *adapter)
drivers/net/ethernet/intel/ixgbe/ixgbe_sysfs.c
154
if (adapter->hw.mac.ops.init_thermal_sensor_thresh == NULL) {
drivers/net/ethernet/intel/ixgbe/ixgbe_sysfs.c
159
if (adapter->hw.mac.ops.init_thermal_sensor_thresh(&adapter->hw))
drivers/net/ethernet/intel/ixgbe/ixgbe_sysfs.c
162
ixgbe_hwmon = devm_kzalloc(&adapter->pdev->dev, sizeof(*ixgbe_hwmon),
drivers/net/ethernet/intel/ixgbe/ixgbe_sysfs.c
168
adapter->ixgbe_hwmon_buff = ixgbe_hwmon;
drivers/net/ethernet/intel/ixgbe/ixgbe_sysfs.c
175
if (adapter->hw.mac.thermal_sensor_data.sensor[i].location == 0)
drivers/net/ethernet/intel/ixgbe/ixgbe_sysfs.c
179
rc = ixgbe_add_hwmon_attr(adapter, i, IXGBE_HWMON_TYPE_CAUTION);
drivers/net/ethernet/intel/ixgbe/ixgbe_sysfs.c
182
rc = ixgbe_add_hwmon_attr(adapter, i, IXGBE_HWMON_TYPE_LOC);
drivers/net/ethernet/intel/ixgbe/ixgbe_sysfs.c
185
rc = ixgbe_add_hwmon_attr(adapter, i, IXGBE_HWMON_TYPE_TEMP);
drivers/net/ethernet/intel/ixgbe/ixgbe_sysfs.c
188
rc = ixgbe_add_hwmon_attr(adapter, i, IXGBE_HWMON_TYPE_MAX);
drivers/net/ethernet/intel/ixgbe/ixgbe_sysfs.c
196
hwmon_dev = devm_hwmon_device_register_with_groups(&adapter->pdev->dev,
drivers/net/ethernet/intel/ixgbe/ixgbe_sysfs.c
84
static int ixgbe_add_hwmon_attr(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_sysfs.c
90
n_attr = adapter->ixgbe_hwmon_buff->n_hwmon;
drivers/net/ethernet/intel/ixgbe/ixgbe_sysfs.c
91
ixgbe_attr = &adapter->ixgbe_hwmon_buff->hwmon_list[n_attr];
drivers/net/ethernet/intel/ixgbe/ixgbe_txrx_common.h
28
void ixgbe_irq_rearm_queues(struct ixgbe_adapter *adapter, u64 qmask);
drivers/net/ethernet/intel/ixgbe/ixgbe_txrx_common.h
30
void ixgbe_txrx_ring_disable(struct ixgbe_adapter *adapter, int ring);
drivers/net/ethernet/intel/ixgbe/ixgbe_txrx_common.h
31
void ixgbe_txrx_ring_enable(struct ixgbe_adapter *adapter, int ring);
drivers/net/ethernet/intel/ixgbe/ixgbe_txrx_common.h
33
struct xsk_buff_pool *ixgbe_xsk_pool(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_txrx_common.h
35
int ixgbe_xsk_pool_setup(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
11
struct xsk_buff_pool *ixgbe_xsk_pool(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
128
ring = ixgbe_determine_xdp_ring(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
14
bool xdp_on = READ_ONCE(adapter->xdp_prog);
drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
17
if (!xdp_on || !test_bit(qid, adapter->af_xdp_zc_qps))
drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
20
return xsk_get_pool_from_qid(adapter->netdev, qid);
drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
23
static int ixgbe_xsk_pool_enable(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
252
struct ixgbe_adapter *adapter = q_vector->adapter;
drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
27
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
307
xdp_res = ixgbe_run_xdp_zc(adapter, rx_ring, bi->xdp);
drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
31
if (qid >= adapter->num_rx_queues)
drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
356
struct ixgbe_ring *ring = ixgbe_determine_xdp_ring(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
38
err = xsk_pool_dma_map(pool, &adapter->pdev->dev, IXGBE_RX_DMA_ATTR);
drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
42
if_running = netif_running(adapter->netdev) &&
drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
43
ixgbe_enabled_xdp_adapter(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
46
ixgbe_txrx_ring_disable(adapter, qid);
drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
48
set_bit(qid, adapter->af_xdp_zc_qps);
drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
51
ixgbe_txrx_ring_enable(adapter, qid);
drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
513
struct ixgbe_adapter *adapter = ixgbe_from_netdev(dev);
drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
516
if (test_bit(__IXGBE_DOWN, &adapter->state))
drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
519
if (!READ_ONCE(adapter->xdp_prog))
drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
522
if (qid >= adapter->num_xdp_queues)
drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
525
ring = adapter->xdp_ring[qid];
drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
536
ixgbe_irq_rearm_queues(adapter, eics);
drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
54
err = ixgbe_xsk_wakeup(adapter->netdev, qid, XDP_WAKEUP_RX);
drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
56
clear_bit(qid, adapter->af_xdp_zc_qps);
drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
65
static int ixgbe_xsk_pool_disable(struct ixgbe_adapter *adapter, u16 qid)
drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
70
pool = xsk_get_pool_from_qid(adapter->netdev, qid);
drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
74
if_running = netif_running(adapter->netdev) &&
drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
75
ixgbe_enabled_xdp_adapter(adapter);
drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
78
ixgbe_txrx_ring_disable(adapter, qid);
drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
80
clear_bit(qid, adapter->af_xdp_zc_qps);
drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
84
ixgbe_txrx_ring_enable(adapter, qid);
drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
89
int ixgbe_xsk_pool_setup(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
93
return pool ? ixgbe_xsk_pool_enable(adapter, pool, qid) :
drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
94
ixgbe_xsk_pool_disable(adapter, qid);
drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
97
static int ixgbe_run_xdp_zc(struct ixgbe_adapter *adapter,
drivers/net/ethernet/intel/ixgbevf/ethtool.c
119
struct ixgbevf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/ixgbevf/ethtool.c
121
return adapter->msg_enable;
drivers/net/ethernet/intel/ixgbevf/ethtool.c
126
struct ixgbevf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/ixgbevf/ethtool.c
128
adapter->msg_enable = data;
drivers/net/ethernet/intel/ixgbevf/ethtool.c
141
struct ixgbevf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/ixgbevf/ethtool.c
142
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbevf/ethtool.c
214
struct ixgbevf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/ixgbevf/ethtool.c
217
strscpy(drvinfo->bus_info, pci_name(adapter->pdev),
drivers/net/ethernet/intel/ixgbevf/ethtool.c
228
struct ixgbevf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/ixgbevf/ethtool.c
232
ring->rx_pending = adapter->rx_ring_count;
drivers/net/ethernet/intel/ixgbevf/ethtool.c
233
ring->tx_pending = adapter->tx_ring_count;
drivers/net/ethernet/intel/ixgbevf/ethtool.c
241
struct ixgbevf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/ixgbevf/ethtool.c
258
if ((new_tx_count == adapter->tx_ring_count) &&
drivers/net/ethernet/intel/ixgbevf/ethtool.c
259
(new_rx_count == adapter->rx_ring_count))
drivers/net/ethernet/intel/ixgbevf/ethtool.c
262
while (test_and_set_bit(__IXGBEVF_RESETTING, &adapter->state))
drivers/net/ethernet/intel/ixgbevf/ethtool.c
265
if (!netif_running(adapter->netdev)) {
drivers/net/ethernet/intel/ixgbevf/ethtool.c
266
for (i = 0; i < adapter->num_tx_queues; i++)
drivers/net/ethernet/intel/ixgbevf/ethtool.c
267
adapter->tx_ring[i]->count = new_tx_count;
drivers/net/ethernet/intel/ixgbevf/ethtool.c
268
for (i = 0; i < adapter->num_xdp_queues; i++)
drivers/net/ethernet/intel/ixgbevf/ethtool.c
269
adapter->xdp_ring[i]->count = new_tx_count;
drivers/net/ethernet/intel/ixgbevf/ethtool.c
270
for (i = 0; i < adapter->num_rx_queues; i++)
drivers/net/ethernet/intel/ixgbevf/ethtool.c
271
adapter->rx_ring[i]->count = new_rx_count;
drivers/net/ethernet/intel/ixgbevf/ethtool.c
272
adapter->tx_ring_count = new_tx_count;
drivers/net/ethernet/intel/ixgbevf/ethtool.c
273
adapter->xdp_ring_count = new_tx_count;
drivers/net/ethernet/intel/ixgbevf/ethtool.c
274
adapter->rx_ring_count = new_rx_count;
drivers/net/ethernet/intel/ixgbevf/ethtool.c
278
if (new_tx_count != adapter->tx_ring_count) {
drivers/net/ethernet/intel/ixgbevf/ethtool.c
279
tx_ring = vmalloc_array(adapter->num_tx_queues +
drivers/net/ethernet/intel/ixgbevf/ethtool.c
280
adapter->num_xdp_queues,
drivers/net/ethernet/intel/ixgbevf/ethtool.c
287
for (i = 0; i < adapter->num_tx_queues; i++) {
drivers/net/ethernet/intel/ixgbevf/ethtool.c
289
tx_ring[i] = *adapter->tx_ring[i];
drivers/net/ethernet/intel/ixgbevf/ethtool.c
305
for (j = 0; j < adapter->num_xdp_queues; i++, j++) {
drivers/net/ethernet/intel/ixgbevf/ethtool.c
307
tx_ring[i] = *adapter->xdp_ring[j];
drivers/net/ethernet/intel/ixgbevf/ethtool.c
324
if (new_rx_count != adapter->rx_ring_count) {
drivers/net/ethernet/intel/ixgbevf/ethtool.c
326
adapter->num_rx_queues));
drivers/net/ethernet/intel/ixgbevf/ethtool.c
332
for (i = 0; i < adapter->num_rx_queues; i++) {
drivers/net/ethernet/intel/ixgbevf/ethtool.c
334
rx_ring[i] = *adapter->rx_ring[i];
drivers/net/ethernet/intel/ixgbevf/ethtool.c
341
err = ixgbevf_setup_rx_resources(adapter, &rx_ring[i]);
drivers/net/ethernet/intel/ixgbevf/ethtool.c
357
ixgbevf_down(adapter);
drivers/net/ethernet/intel/ixgbevf/ethtool.c
361
for (i = 0; i < adapter->num_tx_queues; i++) {
drivers/net/ethernet/intel/ixgbevf/ethtool.c
362
ixgbevf_free_tx_resources(adapter->tx_ring[i]);
drivers/net/ethernet/intel/ixgbevf/ethtool.c
363
*adapter->tx_ring[i] = tx_ring[i];
drivers/net/ethernet/intel/ixgbevf/ethtool.c
365
adapter->tx_ring_count = new_tx_count;
drivers/net/ethernet/intel/ixgbevf/ethtool.c
367
for (j = 0; j < adapter->num_xdp_queues; i++, j++) {
drivers/net/ethernet/intel/ixgbevf/ethtool.c
368
ixgbevf_free_tx_resources(adapter->xdp_ring[j]);
drivers/net/ethernet/intel/ixgbevf/ethtool.c
369
*adapter->xdp_ring[j] = tx_ring[i];
drivers/net/ethernet/intel/ixgbevf/ethtool.c
371
adapter->xdp_ring_count = new_tx_count;
drivers/net/ethernet/intel/ixgbevf/ethtool.c
379
for (i = 0; i < adapter->num_rx_queues; i++) {
drivers/net/ethernet/intel/ixgbevf/ethtool.c
380
ixgbevf_free_rx_resources(adapter->rx_ring[i]);
drivers/net/ethernet/intel/ixgbevf/ethtool.c
381
*adapter->rx_ring[i] = rx_ring[i];
drivers/net/ethernet/intel/ixgbevf/ethtool.c
383
adapter->rx_ring_count = new_rx_count;
drivers/net/ethernet/intel/ixgbevf/ethtool.c
390
ixgbevf_up(adapter);
drivers/net/ethernet/intel/ixgbevf/ethtool.c
396
i < adapter->num_tx_queues + adapter->num_xdp_queues; i++)
drivers/net/ethernet/intel/ixgbevf/ethtool.c
401
clear_bit(__IXGBEVF_RESETTING, &adapter->state);
drivers/net/ethernet/intel/ixgbevf/ethtool.c
422
struct ixgbevf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/ixgbevf/ethtool.c
430
ixgbevf_update_stats(adapter);
drivers/net/ethernet/intel/ixgbevf/ethtool.c
439
p = (char *)adapter +
drivers/net/ethernet/intel/ixgbevf/ethtool.c
452
for (j = 0; j < adapter->num_tx_queues; j++) {
drivers/net/ethernet/intel/ixgbevf/ethtool.c
453
ring = adapter->tx_ring[j];
drivers/net/ethernet/intel/ixgbevf/ethtool.c
469
for (j = 0; j < adapter->num_xdp_queues; j++) {
drivers/net/ethernet/intel/ixgbevf/ethtool.c
470
ring = adapter->xdp_ring[j];
drivers/net/ethernet/intel/ixgbevf/ethtool.c
486
for (j = 0; j < adapter->num_rx_queues; j++) {
drivers/net/ethernet/intel/ixgbevf/ethtool.c
487
ring = adapter->rx_ring[j];
drivers/net/ethernet/intel/ixgbevf/ethtool.c
506
struct ixgbevf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/ixgbevf/ethtool.c
522
for (i = 0; i < adapter->num_tx_queues; i++) {
drivers/net/ethernet/intel/ixgbevf/ethtool.c
528
for (i = 0; i < adapter->num_xdp_queues; i++) {
drivers/net/ethernet/intel/ixgbevf/ethtool.c
534
for (i = 0; i < adapter->num_rx_queues; i++) {
drivers/net/ethernet/intel/ixgbevf/ethtool.c
548
static int ixgbevf_link_test(struct ixgbevf_adapter *adapter, u64 *data)
drivers/net/ethernet/intel/ixgbevf/ethtool.c
550
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbevf/ethtool.c
606
static bool reg_pattern_test(struct ixgbevf_adapter *adapter, u64 *data,
drivers/net/ethernet/intel/ixgbevf/ethtool.c
611
if (IXGBE_REMOVED(adapter->hw.hw_addr)) {
drivers/net/ethernet/intel/ixgbevf/ethtool.c
616
before = ixgbevf_read_reg(&adapter->hw, reg);
drivers/net/ethernet/intel/ixgbevf/ethtool.c
617
ixgbe_write_reg(&adapter->hw, reg,
drivers/net/ethernet/intel/ixgbevf/ethtool.c
619
val = ixgbevf_read_reg(&adapter->hw, reg);
drivers/net/ethernet/intel/ixgbevf/ethtool.c
621
hw_dbg(&adapter->hw,
drivers/net/ethernet/intel/ixgbevf/ethtool.c
626
ixgbe_write_reg(&adapter->hw, reg, before);
drivers/net/ethernet/intel/ixgbevf/ethtool.c
629
ixgbe_write_reg(&adapter->hw, reg, before);
drivers/net/ethernet/intel/ixgbevf/ethtool.c
634
static bool reg_set_and_check(struct ixgbevf_adapter *adapter, u64 *data,
drivers/net/ethernet/intel/ixgbevf/ethtool.c
639
if (IXGBE_REMOVED(adapter->hw.hw_addr)) {
drivers/net/ethernet/intel/ixgbevf/ethtool.c
643
before = ixgbevf_read_reg(&adapter->hw, reg);
drivers/net/ethernet/intel/ixgbevf/ethtool.c
644
ixgbe_write_reg(&adapter->hw, reg, write & mask);
drivers/net/ethernet/intel/ixgbevf/ethtool.c
645
val = ixgbevf_read_reg(&adapter->hw, reg);
drivers/net/ethernet/intel/ixgbevf/ethtool.c
650
ixgbe_write_reg(&adapter->hw, reg, before);
drivers/net/ethernet/intel/ixgbevf/ethtool.c
653
ixgbe_write_reg(&adapter->hw, reg, before);
drivers/net/ethernet/intel/ixgbevf/ethtool.c
657
static int ixgbevf_reg_test(struct ixgbevf_adapter *adapter, u64 *data)
drivers/net/ethernet/intel/ixgbevf/ethtool.c
662
if (IXGBE_REMOVED(adapter->hw.hw_addr)) {
drivers/net/ethernet/intel/ixgbevf/ethtool.c
663
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/intel/ixgbevf/ethtool.c
679
b = reg_pattern_test(adapter, data,
drivers/net/ethernet/intel/ixgbevf/ethtool.c
685
b = reg_set_and_check(adapter, data,
drivers/net/ethernet/intel/ixgbevf/ethtool.c
691
ixgbe_write_reg(&adapter->hw,
drivers/net/ethernet/intel/ixgbevf/ethtool.c
696
b = reg_pattern_test(adapter, data,
drivers/net/ethernet/intel/ixgbevf/ethtool.c
702
b = reg_pattern_test(adapter, data,
drivers/net/ethernet/intel/ixgbevf/ethtool.c
708
b = reg_pattern_test(adapter, data,
drivers/net/ethernet/intel/ixgbevf/ethtool.c
727
struct ixgbevf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/ixgbevf/ethtool.c
730
if (IXGBE_REMOVED(adapter->hw.hw_addr)) {
drivers/net/ethernet/intel/ixgbevf/ethtool.c
731
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/intel/ixgbevf/ethtool.c
738
set_bit(__IXGBEVF_TESTING, &adapter->state);
drivers/net/ethernet/intel/ixgbevf/ethtool.c
742
hw_dbg(&adapter->hw, "offline testing starting\n");
drivers/net/ethernet/intel/ixgbevf/ethtool.c
747
if (ixgbevf_link_test(adapter, &data[1]))
drivers/net/ethernet/intel/ixgbevf/ethtool.c
754
ixgbevf_reset(adapter);
drivers/net/ethernet/intel/ixgbevf/ethtool.c
756
hw_dbg(&adapter->hw, "register testing starting\n");
drivers/net/ethernet/intel/ixgbevf/ethtool.c
757
if (ixgbevf_reg_test(adapter, &data[0]))
drivers/net/ethernet/intel/ixgbevf/ethtool.c
760
ixgbevf_reset(adapter);
drivers/net/ethernet/intel/ixgbevf/ethtool.c
762
clear_bit(__IXGBEVF_TESTING, &adapter->state);
drivers/net/ethernet/intel/ixgbevf/ethtool.c
766
hw_dbg(&adapter->hw, "online testing starting\n");
drivers/net/ethernet/intel/ixgbevf/ethtool.c
768
if (ixgbevf_link_test(adapter, &data[1]))
drivers/net/ethernet/intel/ixgbevf/ethtool.c
774
clear_bit(__IXGBEVF_TESTING, &adapter->state);
drivers/net/ethernet/intel/ixgbevf/ethtool.c
781
struct ixgbevf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/ixgbevf/ethtool.c
784
ixgbevf_reinit_locked(adapter);
drivers/net/ethernet/intel/ixgbevf/ethtool.c
794
struct ixgbevf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/ixgbevf/ethtool.c
797
if (adapter->rx_itr_setting <= 1)
drivers/net/ethernet/intel/ixgbevf/ethtool.c
798
ec->rx_coalesce_usecs = adapter->rx_itr_setting;
drivers/net/ethernet/intel/ixgbevf/ethtool.c
800
ec->rx_coalesce_usecs = adapter->rx_itr_setting >> 2;
drivers/net/ethernet/intel/ixgbevf/ethtool.c
803
if (adapter->q_vector[0]->tx.count && adapter->q_vector[0]->rx.count)
drivers/net/ethernet/intel/ixgbevf/ethtool.c
807
if (adapter->tx_itr_setting <= 1)
drivers/net/ethernet/intel/ixgbevf/ethtool.c
808
ec->tx_coalesce_usecs = adapter->tx_itr_setting;
drivers/net/ethernet/intel/ixgbevf/ethtool.c
810
ec->tx_coalesce_usecs = adapter->tx_itr_setting >> 2;
drivers/net/ethernet/intel/ixgbevf/ethtool.c
820
struct ixgbevf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/ixgbevf/ethtool.c
826
if (adapter->q_vector[0]->tx.count &&
drivers/net/ethernet/intel/ixgbevf/ethtool.c
827
adapter->q_vector[0]->rx.count && ec->tx_coalesce_usecs)
drivers/net/ethernet/intel/ixgbevf/ethtool.c
835
adapter->rx_itr_setting = ec->rx_coalesce_usecs << 2;
drivers/net/ethernet/intel/ixgbevf/ethtool.c
837
adapter->rx_itr_setting = ec->rx_coalesce_usecs;
drivers/net/ethernet/intel/ixgbevf/ethtool.c
839
if (adapter->rx_itr_setting == 1)
drivers/net/ethernet/intel/ixgbevf/ethtool.c
842
rx_itr_param = adapter->rx_itr_setting;
drivers/net/ethernet/intel/ixgbevf/ethtool.c
845
adapter->tx_itr_setting = ec->tx_coalesce_usecs << 2;
drivers/net/ethernet/intel/ixgbevf/ethtool.c
847
adapter->tx_itr_setting = ec->tx_coalesce_usecs;
drivers/net/ethernet/intel/ixgbevf/ethtool.c
849
if (adapter->tx_itr_setting == 1)
drivers/net/ethernet/intel/ixgbevf/ethtool.c
85
struct ixgbevf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/ixgbevf/ethtool.c
852
tx_itr_param = adapter->tx_itr_setting;
drivers/net/ethernet/intel/ixgbevf/ethtool.c
854
num_vectors = adapter->num_msix_vectors - NON_Q_VECTORS;
drivers/net/ethernet/intel/ixgbevf/ethtool.c
857
q_vector = adapter->q_vector[i];
drivers/net/ethernet/intel/ixgbevf/ethtool.c
872
struct ixgbevf_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/intel/ixgbevf/ethtool.c
874
return adapter->num_rx_queues;
drivers/net/ethernet/intel/ixgbevf/ethtool.c
879
struct ixgbevf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/ixgbevf/ethtool.c
881
if (adapter->hw.mac.type >= ixgbe_mac_X550_vf)
drivers/net/ethernet/intel/ixgbevf/ethtool.c
895
struct ixgbevf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/ixgbevf/ethtool.c
900
if (adapter->hw.mac.type >= ixgbe_mac_X550_vf) {
drivers/net/ethernet/intel/ixgbevf/ethtool.c
902
memcpy(rxfh->key, adapter->rss_key,
drivers/net/ethernet/intel/ixgbevf/ethtool.c
909
rxfh->indir[i] = adapter->rss_indir_tbl[i];
drivers/net/ethernet/intel/ixgbevf/ethtool.c
918
spin_lock_bh(&adapter->mbx_lock);
drivers/net/ethernet/intel/ixgbevf/ethtool.c
92
if (adapter->link_up) {
drivers/net/ethernet/intel/ixgbevf/ethtool.c
920
err = ixgbevf_get_reta_locked(&adapter->hw,
drivers/net/ethernet/intel/ixgbevf/ethtool.c
922
adapter->num_rx_queues);
drivers/net/ethernet/intel/ixgbevf/ethtool.c
925
err = ixgbevf_get_rss_key_locked(&adapter->hw,
drivers/net/ethernet/intel/ixgbevf/ethtool.c
928
spin_unlock_bh(&adapter->mbx_lock);
drivers/net/ethernet/intel/ixgbevf/ethtool.c
936
struct ixgbevf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/ixgbevf/ethtool.c
939
if (adapter->flags & IXGBEVF_FLAGS_LEGACY_RX)
drivers/net/ethernet/intel/ixgbevf/ethtool.c
947
struct ixgbevf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/ixgbevf/ethtool.c
948
unsigned int flags = adapter->flags;
drivers/net/ethernet/intel/ixgbevf/ethtool.c
95
switch (adapter->link_speed) {
drivers/net/ethernet/intel/ixgbevf/ethtool.c
954
if (flags != adapter->flags) {
drivers/net/ethernet/intel/ixgbevf/ethtool.c
955
adapter->flags = flags;
drivers/net/ethernet/intel/ixgbevf/ethtool.c
959
ixgbevf_reinit_locked(adapter);
drivers/net/ethernet/intel/ixgbevf/ipsec.c
101
void ixgbevf_ipsec_restore(struct ixgbevf_adapter *adapter)
drivers/net/ethernet/intel/ixgbevf/ipsec.c
103
struct ixgbevf_ipsec *ipsec = adapter->ipsec;
drivers/net/ethernet/intel/ixgbevf/ipsec.c
104
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/ixgbevf/ipsec.c
107
if (!(adapter->netdev->features & NETIF_F_HW_ESP))
drivers/net/ethernet/intel/ixgbevf/ipsec.c
117
ret = ixgbevf_ipsec_set_pf_sa(adapter, r->xs);
drivers/net/ethernet/intel/ixgbevf/ipsec.c
124
ret = ixgbevf_ipsec_set_pf_sa(adapter, t->xs);
drivers/net/ethernet/intel/ixgbevf/ipsec.c
18
static int ixgbevf_ipsec_set_pf_sa(struct ixgbevf_adapter *adapter,
drivers/net/ethernet/intel/ixgbevf/ipsec.c
22
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbevf/ipsec.c
268
struct ixgbevf_adapter *adapter;
drivers/net/ethernet/intel/ixgbevf/ipsec.c
273
adapter = netdev_priv(dev);
drivers/net/ethernet/intel/ixgbevf/ipsec.c
274
ipsec = adapter->ipsec;
drivers/net/ethernet/intel/ixgbevf/ipsec.c
276
if (!(adapter->pf_features & IXGBEVF_PF_SUP_IPSEC))
drivers/net/ethernet/intel/ixgbevf/ipsec.c
339
ret = ixgbevf_ipsec_set_pf_sa(adapter, xs);
drivers/net/ethernet/intel/ixgbevf/ipsec.c
380
ret = ixgbevf_ipsec_set_pf_sa(adapter, xs);
drivers/net/ethernet/intel/ixgbevf/ipsec.c
404
struct ixgbevf_adapter *adapter;
drivers/net/ethernet/intel/ixgbevf/ipsec.c
408
adapter = netdev_priv(dev);
drivers/net/ethernet/intel/ixgbevf/ipsec.c
409
ipsec = adapter->ipsec;
drivers/net/ethernet/intel/ixgbevf/ipsec.c
41
spin_lock_bh(&adapter->mbx_lock);
drivers/net/ethernet/intel/ixgbevf/ipsec.c
411
if (!(adapter->pf_features & IXGBEVF_PF_SUP_IPSEC))
drivers/net/ethernet/intel/ixgbevf/ipsec.c
423
ixgbevf_ipsec_del_pf_sa(adapter, ipsec->rx_tbl[sa_idx].pfsa);
drivers/net/ethernet/intel/ixgbevf/ipsec.c
436
ixgbevf_ipsec_del_pf_sa(adapter, ipsec->tx_tbl[sa_idx].pfsa);
drivers/net/ethernet/intel/ixgbevf/ipsec.c
457
struct ixgbevf_adapter *adapter = netdev_priv(tx_ring->netdev);
drivers/net/ethernet/intel/ixgbevf/ipsec.c
458
struct ixgbevf_ipsec *ipsec = adapter->ipsec;
drivers/net/ethernet/intel/ixgbevf/ipsec.c
549
struct ixgbevf_adapter *adapter = netdev_priv(rx_ring->netdev);
drivers/net/ethernet/intel/ixgbevf/ipsec.c
553
struct ixgbevf_ipsec *ipsec = adapter->ipsec;
drivers/net/ethernet/intel/ixgbevf/ipsec.c
56
spin_unlock_bh(&adapter->mbx_lock);
drivers/net/ethernet/intel/ixgbevf/ipsec.c
608
adapter->rx_ipsec++;
drivers/net/ethernet/intel/ixgbevf/ipsec.c
615
void ixgbevf_init_ipsec_offload(struct ixgbevf_adapter *adapter)
drivers/net/ethernet/intel/ixgbevf/ipsec.c
620
switch (adapter->hw.api_version) {
drivers/net/ethernet/intel/ixgbevf/ipsec.c
622
if (!(adapter->pf_features & IXGBEVF_PF_SUP_IPSEC))
drivers/net/ethernet/intel/ixgbevf/ipsec.c
649
adapter->ipsec = ipsec;
drivers/net/ethernet/intel/ixgbevf/ipsec.c
651
adapter->netdev->xfrmdev_ops = &ixgbevf_xfrmdev_ops;
drivers/net/ethernet/intel/ixgbevf/ipsec.c
657
adapter->netdev->features |= IXGBEVF_ESP_FEATURES;
drivers/net/ethernet/intel/ixgbevf/ipsec.c
658
adapter->netdev->hw_enc_features |= IXGBEVF_ESP_FEATURES;
drivers/net/ethernet/intel/ixgbevf/ipsec.c
667
netdev_err(adapter->netdev, "Unable to allocate memory for SA tables");
drivers/net/ethernet/intel/ixgbevf/ipsec.c
674
void ixgbevf_stop_ipsec_offload(struct ixgbevf_adapter *adapter)
drivers/net/ethernet/intel/ixgbevf/ipsec.c
676
struct ixgbevf_ipsec *ipsec = adapter->ipsec;
drivers/net/ethernet/intel/ixgbevf/ipsec.c
678
adapter->ipsec = NULL;
drivers/net/ethernet/intel/ixgbevf/ipsec.c
68
static int ixgbevf_ipsec_del_pf_sa(struct ixgbevf_adapter *adapter, int pfsa)
drivers/net/ethernet/intel/ixgbevf/ipsec.c
70
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbevf/ipsec.c
78
spin_lock_bh(&adapter->mbx_lock);
drivers/net/ethernet/intel/ixgbevf/ipsec.c
89
spin_unlock_bh(&adapter->mbx_lock);
drivers/net/ethernet/intel/ixgbevf/ixgbevf.h
232
struct ixgbevf_adapter *adapter;
drivers/net/ethernet/intel/ixgbevf/ixgbevf.h
440
void ixgbevf_up(struct ixgbevf_adapter *adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf.h
441
void ixgbevf_down(struct ixgbevf_adapter *adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf.h
442
void ixgbevf_reinit_locked(struct ixgbevf_adapter *adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf.h
443
void ixgbevf_reset(struct ixgbevf_adapter *adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf.h
445
int ixgbevf_setup_rx_resources(struct ixgbevf_adapter *adapter,
drivers/net/ethernet/intel/ixgbevf/ixgbevf.h
450
void ixgbevf_update_stats(struct ixgbevf_adapter *adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf.h
456
void ixgbevf_init_ipsec_offload(struct ixgbevf_adapter *adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf.h
457
void ixgbevf_stop_ipsec_offload(struct ixgbevf_adapter *adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf.h
458
void ixgbevf_ipsec_restore(struct ixgbevf_adapter *adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf.h
466
static inline void ixgbevf_init_ipsec_offload(struct ixgbevf_adapter *adapter)
drivers/net/ethernet/intel/ixgbevf/ixgbevf.h
468
static inline void ixgbevf_stop_ipsec_offload(struct ixgbevf_adapter *adapter)
drivers/net/ethernet/intel/ixgbevf/ixgbevf.h
470
static inline void ixgbevf_ipsec_restore(struct ixgbevf_adapter *adapter) { }
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
102
static void ixgbevf_service_event_complete(struct ixgbevf_adapter *adapter)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
104
BUG_ON(!test_bit(__IXGBEVF_SERVICE_SCHED, &adapter->state));
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1048
static int ixgbevf_run_xdp(struct ixgbevf_adapter *adapter,
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1067
xdp_ring = adapter->xdp_ring[rx_ring->queue_index];
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
108
clear_bit(__IXGBEVF_SERVICE_SCHED, &adapter->state);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
112
static void ixgbevf_queue_reset_subtask(struct ixgbevf_adapter *adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1121
struct ixgbevf_adapter *adapter = q_vector->adapter;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
114
static void ixgbevf_free_all_rx_resources(struct ixgbevf_adapter *adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1170
xdp_res = ixgbevf_run_xdp(adapter, rx_ring, &xdp);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
121
struct ixgbevf_adapter *adapter = hw->back;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1244
adapter->xdp_ring[rx_ring->queue_index];
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
126
dev_err(&adapter->pdev->dev, "Adapter removed\n");
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
127
if (test_bit(__IXGBEVF_SERVICE_INITED, &adapter->state))
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1275
struct ixgbevf_adapter *adapter = q_vector->adapter;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
128
ixgbevf_service_event_schedule(adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1312
if (adapter->rx_itr_setting == 1)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1314
if (!test_bit(__IXGBEVF_DOWN, &adapter->state) &&
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1315
!test_bit(__IXGBEVF_REMOVING, &adapter->state))
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1316
ixgbevf_irq_enable_queues(adapter,
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1329
struct ixgbevf_adapter *adapter = q_vector->adapter;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1330
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1349
static void ixgbevf_configure_msix(struct ixgbevf_adapter *adapter)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1354
q_vectors = adapter->num_msix_vectors - NON_Q_VECTORS;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1355
adapter->eims_enable_mask = 0;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1363
q_vector = adapter->q_vector[v_idx];
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1366
ixgbevf_set_ivar(adapter, 0, ring->reg_idx, v_idx);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1369
ixgbevf_set_ivar(adapter, 1, ring->reg_idx, v_idx);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1373
if (adapter->tx_itr_setting == 1)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1376
q_vector->itr = adapter->tx_itr_setting;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1379
if (adapter->rx_itr_setting == 1)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1382
q_vector->itr = adapter->rx_itr_setting;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1386
adapter->eims_enable_mask |= BIT(v_idx);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1391
ixgbevf_set_ivar(adapter, -1, 1, v_idx);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1393
adapter->eims_other = BIT(v_idx);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1394
adapter->eims_enable_mask |= adapter->eims_other;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1505
struct ixgbevf_adapter *adapter = data;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1506
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1510
ixgbevf_service_event_schedule(adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1512
IXGBE_WRITE_REG(hw, IXGBE_VTEIMS, adapter->eims_other);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1540
static int ixgbevf_request_msix_irqs(struct ixgbevf_adapter *adapter)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1542
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1543
int q_vectors = adapter->num_msix_vectors - NON_Q_VECTORS;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1548
struct ixgbevf_q_vector *q_vector = adapter->q_vector[vector];
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1549
struct msix_entry *entry = &adapter->msix_entries[vector];
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1568
hw_dbg(&adapter->hw,
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1575
err = request_irq(adapter->msix_entries[vector].vector,
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1576
&ixgbevf_msix_other, 0, netdev->name, adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1578
hw_dbg(&adapter->hw, "request_irq for msix_other failed: %d\n",
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1588
free_irq(adapter->msix_entries[vector].vector,
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1589
adapter->q_vector[vector]);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1601
adapter->num_msix_vectors = 0;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1612
static int ixgbevf_request_irq(struct ixgbevf_adapter *adapter)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1614
int err = ixgbevf_request_msix_irqs(adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1617
hw_dbg(&adapter->hw, "request_irq failed, Error %d\n", err);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1622
static void ixgbevf_free_irq(struct ixgbevf_adapter *adapter)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1626
if (!adapter->msix_entries)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1629
q_vectors = adapter->num_msix_vectors;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1632
free_irq(adapter->msix_entries[i].vector, adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1637
if (!adapter->q_vector[i]->rx.ring &&
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1638
!adapter->q_vector[i]->tx.ring)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1641
free_irq(adapter->msix_entries[i].vector,
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1642
adapter->q_vector[i]);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1650
static inline void ixgbevf_irq_disable(struct ixgbevf_adapter *adapter)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1652
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1661
for (i = 0; i < adapter->num_msix_vectors; i++)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1662
synchronize_irq(adapter->msix_entries[i].vector);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1669
static inline void ixgbevf_irq_enable(struct ixgbevf_adapter *adapter)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1671
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1673
IXGBE_WRITE_REG(hw, IXGBE_VTEIAM, adapter->eims_enable_mask);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1674
IXGBE_WRITE_REG(hw, IXGBE_VTEIAC, adapter->eims_enable_mask);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1675
IXGBE_WRITE_REG(hw, IXGBE_VTEIMS, adapter->eims_enable_mask);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1685
static void ixgbevf_configure_tx_ring(struct ixgbevf_adapter *adapter,
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1688
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
170
static void ixgbevf_set_ivar(struct ixgbevf_adapter *adapter, s8 direction,
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1715
ring->tail = adapter->io_addr + IXGBE_VFTDT(reg_idx);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
174
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1755
static void ixgbevf_configure_tx(struct ixgbevf_adapter *adapter)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1760
for (i = 0; i < adapter->num_tx_queues; i++)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1761
ixgbevf_configure_tx_ring(adapter, adapter->tx_ring[i]);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1762
for (i = 0; i < adapter->num_xdp_queues; i++)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1763
ixgbevf_configure_tx_ring(adapter, adapter->xdp_ring[i]);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1768
static void ixgbevf_configure_srrctl(struct ixgbevf_adapter *adapter,
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1771
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1786
static void ixgbevf_setup_psrtype(struct ixgbevf_adapter *adapter)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1788
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1795
if (adapter->num_rx_queues > 1)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1802
static void ixgbevf_disable_rx_queue(struct ixgbevf_adapter *adapter,
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1805
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1829
static void ixgbevf_rx_desc_queue_enable(struct ixgbevf_adapter *adapter,
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1832
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1855
static inline int ixgbevf_init_rss_key(struct ixgbevf_adapter *adapter)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1859
if (!adapter->rss_key) {
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1865
adapter->rss_key = rss_key;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1871
static void ixgbevf_setup_vfmrqc(struct ixgbevf_adapter *adapter)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1873
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1875
u16 rss_i = adapter->num_rx_queues;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1880
IXGBE_WRITE_REG(hw, IXGBE_VFRSSRK(i), *(adapter->rss_key + i));
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1886
adapter->rss_indir_tbl[i] = j;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1906
static void ixgbevf_configure_rx_ring(struct ixgbevf_adapter *adapter,
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1909
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1917
ixgbevf_disable_rx_queue(adapter, ring);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1937
ring->tail = adapter->io_addr + IXGBE_VFRDT(reg_idx);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1952
ixgbevf_configure_srrctl(adapter, ring, reg_idx);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1955
if (adapter->hw.mac.type != ixgbe_mac_82599_vf) {
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1971
ixgbevf_rx_desc_queue_enable(adapter, ring);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1975
static void ixgbevf_set_rx_buffer_len(struct ixgbevf_adapter *adapter,
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1978
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1985
if (adapter->flags & IXGBEVF_FLAGS_LEGACY_RX)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1993
if (adapter->hw.mac.type == ixgbe_mac_82599_vf && !ring_uses_large_buffer(rx_ring))
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2005
static void ixgbevf_configure_rx(struct ixgbevf_adapter *adapter)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2007
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2008
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
201
struct ixgbevf_adapter *adapter = netdev_priv(ring->netdev);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2011
ixgbevf_setup_psrtype(adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2013
ixgbevf_setup_vfmrqc(adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2015
spin_lock_bh(&adapter->mbx_lock);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2018
spin_unlock_bh(&adapter->mbx_lock);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
202
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2020
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2026
for (i = 0; i < adapter->num_rx_queues; i++) {
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2027
struct ixgbevf_ring *rx_ring = adapter->rx_ring[i];
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2029
ixgbevf_set_rx_buffer_len(adapter, rx_ring);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2030
ixgbevf_configure_rx_ring(adapter, rx_ring);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2037
struct ixgbevf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2038
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2041
spin_lock_bh(&adapter->mbx_lock);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2046
spin_unlock_bh(&adapter->mbx_lock);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2059
set_bit(vid, adapter->active_vlans);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2067
struct ixgbevf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2068
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2071
spin_lock_bh(&adapter->mbx_lock);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2076
spin_unlock_bh(&adapter->mbx_lock);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2081
clear_bit(vid, adapter->active_vlans);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2086
static void ixgbevf_restore_vlan(struct ixgbevf_adapter *adapter)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2090
for_each_set_bit(vid, adapter->active_vlans, VLAN_N_VID)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2091
ixgbevf_vlan_rx_add_vid(adapter->netdev,
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2097
struct ixgbevf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2098
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2129
struct ixgbevf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2130
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2144
spin_lock_bh(&adapter->mbx_lock);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2153
spin_unlock_bh(&adapter->mbx_lock);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2156
static void ixgbevf_napi_enable_all(struct ixgbevf_adapter *adapter)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2160
int q_vectors = adapter->num_msix_vectors - NON_Q_VECTORS;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2163
q_vector = adapter->q_vector[q_idx];
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2168
static void ixgbevf_napi_disable_all(struct ixgbevf_adapter *adapter)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2172
int q_vectors = adapter->num_msix_vectors - NON_Q_VECTORS;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2175
q_vector = adapter->q_vector[q_idx];
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2180
static int ixgbevf_configure_dcb(struct ixgbevf_adapter *adapter)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2182
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2185
unsigned int num_rx_queues = adapter->num_rx_queues;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2186
unsigned int num_tx_queues = adapter->num_tx_queues;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2189
spin_lock_bh(&adapter->mbx_lock);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2194
spin_unlock_bh(&adapter->mbx_lock);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2204
adapter->tx_ring[0]->reg_idx = def_q;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2211
if ((adapter->num_rx_queues != num_rx_queues) ||
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2212
(adapter->num_tx_queues != num_tx_queues)) {
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2217
set_bit(__IXGBEVF_QUEUE_RESET_REQUESTED, &adapter->state);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2223
static void ixgbevf_configure(struct ixgbevf_adapter *adapter)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2225
ixgbevf_configure_dcb(adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2227
ixgbevf_set_rx_mode(adapter->netdev);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2229
ixgbevf_restore_vlan(adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2230
ixgbevf_ipsec_restore(adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2232
ixgbevf_configure_tx(adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2233
ixgbevf_configure_rx(adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2236
static void ixgbevf_save_reset_stats(struct ixgbevf_adapter *adapter)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2239
if (adapter->stats.vfgprc || adapter->stats.vfgptc) {
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2240
adapter->stats.saved_reset_vfgprc += adapter->stats.vfgprc -
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2241
adapter->stats.base_vfgprc;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2242
adapter->stats.saved_reset_vfgptc += adapter->stats.vfgptc -
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2243
adapter->stats.base_vfgptc;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2244
adapter->stats.saved_reset_vfgorc += adapter->stats.vfgorc -
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2245
adapter->stats.base_vfgorc;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2246
adapter->stats.saved_reset_vfgotc += adapter->stats.vfgotc -
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2247
adapter->stats.base_vfgotc;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2248
adapter->stats.saved_reset_vfmprc += adapter->stats.vfmprc -
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2249
adapter->stats.base_vfmprc;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2253
static void ixgbevf_init_last_counter_stats(struct ixgbevf_adapter *adapter)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2255
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2257
adapter->stats.last_vfgprc = IXGBE_READ_REG(hw, IXGBE_VFGPRC);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2258
adapter->stats.last_vfgorc = IXGBE_READ_REG(hw, IXGBE_VFGORC_LSB);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2259
adapter->stats.last_vfgorc |=
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2261
adapter->stats.last_vfgptc = IXGBE_READ_REG(hw, IXGBE_VFGPTC);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2262
adapter->stats.last_vfgotc = IXGBE_READ_REG(hw, IXGBE_VFGOTC_LSB);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2263
adapter->stats.last_vfgotc |=
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2265
adapter->stats.last_vfmprc = IXGBE_READ_REG(hw, IXGBE_VFMPRC);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2267
adapter->stats.base_vfgprc = adapter->stats.last_vfgprc;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2268
adapter->stats.base_vfgorc = adapter->stats.last_vfgorc;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2269
adapter->stats.base_vfgptc = adapter->stats.last_vfgptc;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2270
adapter->stats.base_vfgotc = adapter->stats.last_vfgotc;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2271
adapter->stats.base_vfmprc = adapter->stats.last_vfmprc;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2280
static void ixgbevf_set_features(struct ixgbevf_adapter *adapter)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2282
u32 *pf_features = &adapter->pf_features;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2283
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2288
netdev_dbg(adapter->netdev,
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2298
static void ixgbevf_negotiate_api(struct ixgbevf_adapter *adapter)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2300
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2314
spin_lock_bh(&adapter->mbx_lock);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2323
ixgbevf_set_features(adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2325
if (adapter->pf_features & IXGBEVF_PF_SUP_ESX_MBX) {
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2331
spin_unlock_bh(&adapter->mbx_lock);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2334
static void ixgbevf_up_complete(struct ixgbevf_adapter *adapter)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2336
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2337
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2338
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2341
ixgbevf_configure_msix(adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2343
spin_lock_bh(&adapter->mbx_lock);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2350
spin_unlock_bh(&adapter->mbx_lock);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2352
state = adapter->link_state;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2353
hw->mac.ops.get_link_state(hw, &adapter->link_state);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2354
if (state && state != adapter->link_state)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2358
clear_bit(__IXGBEVF_DOWN, &adapter->state);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2359
ixgbevf_napi_enable_all(adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2363
ixgbevf_irq_enable(adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2368
ixgbevf_save_reset_stats(adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2369
ixgbevf_init_last_counter_stats(adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2372
mod_timer(&adapter->service_timer, jiffies);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2375
void ixgbevf_up(struct ixgbevf_adapter *adapter)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2377
ixgbevf_configure(adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2379
ixgbevf_up_complete(adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
241
static void ixgbevf_tx_timeout_reset(struct ixgbevf_adapter *adapter)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
244
if (!test_bit(__IXGBEVF_DOWN, &adapter->state)) {
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
245
set_bit(__IXGBEVF_RESET_REQUESTED, &adapter->state);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
246
ixgbevf_service_event_schedule(adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2497
static void ixgbevf_clean_all_rx_rings(struct ixgbevf_adapter *adapter)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2501
for (i = 0; i < adapter->num_rx_queues; i++)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2502
ixgbevf_clean_rx_ring(adapter->rx_ring[i]);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2509
static void ixgbevf_clean_all_tx_rings(struct ixgbevf_adapter *adapter)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2513
for (i = 0; i < adapter->num_tx_queues; i++)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2514
ixgbevf_clean_tx_ring(adapter->tx_ring[i]);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2515
for (i = 0; i < adapter->num_xdp_queues; i++)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2516
ixgbevf_clean_tx_ring(adapter->xdp_ring[i]);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2519
void ixgbevf_down(struct ixgbevf_adapter *adapter)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2521
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2522
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2526
if (test_and_set_bit(__IXGBEVF_DOWN, &adapter->state))
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2530
for (i = 0; i < adapter->num_rx_queues; i++)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2531
ixgbevf_disable_rx_queue(adapter, adapter->rx_ring[i]);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2541
ixgbevf_irq_disable(adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2543
ixgbevf_napi_disable_all(adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2545
timer_delete_sync(&adapter->service_timer);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2548
for (i = 0; i < adapter->num_tx_queues; i++) {
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2549
u8 reg_idx = adapter->tx_ring[i]->reg_idx;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2555
for (i = 0; i < adapter->num_xdp_queues; i++) {
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2556
u8 reg_idx = adapter->xdp_ring[i]->reg_idx;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2562
if (!pci_channel_offline(adapter->pdev))
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2563
ixgbevf_reset(adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2565
ixgbevf_clean_all_tx_rings(adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2566
ixgbevf_clean_all_rx_rings(adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2569
void ixgbevf_reinit_locked(struct ixgbevf_adapter *adapter)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
257
struct ixgbevf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2571
while (test_and_set_bit(__IXGBEVF_RESETTING, &adapter->state))
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2574
ixgbevf_down(adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2575
pci_set_master(adapter->pdev);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2576
ixgbevf_up(adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2578
clear_bit(__IXGBEVF_RESETTING, &adapter->state);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2581
void ixgbevf_reset(struct ixgbevf_adapter *adapter)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2583
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2584
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
259
ixgbevf_tx_timeout_reset(adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2590
ixgbevf_negotiate_api(adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2593
if (is_valid_ether_addr(adapter->hw.mac.addr)) {
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2594
eth_hw_addr_set(netdev, adapter->hw.mac.addr);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2595
ether_addr_copy(netdev->perm_addr, adapter->hw.mac.addr);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2598
adapter->last_reset = jiffies;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2601
static int ixgbevf_acquire_msix_vectors(struct ixgbevf_adapter *adapter,
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2617
vectors = pci_enable_msix_range(adapter->pdev, adapter->msix_entries,
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2621
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2623
kfree(adapter->msix_entries);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2624
adapter->msix_entries = NULL;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2632
adapter->num_msix_vectors = vectors;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2648
static void ixgbevf_set_num_queues(struct ixgbevf_adapter *adapter)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2650
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2656
adapter->num_rx_queues = 1;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2657
adapter->num_tx_queues = 1;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2658
adapter->num_xdp_queues = 0;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2660
spin_lock_bh(&adapter->mbx_lock);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2665
spin_unlock_bh(&adapter->mbx_lock);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2672
adapter->num_rx_queues = num_tcs;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2684
if (adapter->xdp_prog &&
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2688
adapter->num_rx_queues = rss;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2689
adapter->num_tx_queues = rss;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2690
adapter->num_xdp_queues = adapter->xdp_prog ? rss : 0;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2705
static int ixgbevf_set_interrupt_capability(struct ixgbevf_adapter *adapter)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
271
struct ixgbevf_adapter *adapter = q_vector->adapter;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2715
v_budget = max(adapter->num_rx_queues, adapter->num_tx_queues);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2719
adapter->msix_entries = kzalloc_objs(struct msix_entry, v_budget);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2720
if (!adapter->msix_entries)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2724
adapter->msix_entries[vector].entry = vector;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2730
return ixgbevf_acquire_msix_vectors(adapter, v_budget);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2754
static int ixgbevf_alloc_q_vector(struct ixgbevf_adapter *adapter, int v_idx,
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2773
netif_napi_add(adapter->netdev, &q_vector->napi, ixgbevf_poll);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2776
adapter->q_vector[v_idx] = q_vector;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2777
q_vector->adapter = adapter;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
278
if (test_bit(__IXGBEVF_DOWN, &adapter->state))
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2785
ring->dev = &adapter->pdev->dev;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2786
ring->netdev = adapter->netdev;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2795
ring->count = adapter->tx_ring_count;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2800
adapter->tx_ring[txr_idx] = ring;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2813
ring->dev = &adapter->pdev->dev;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2814
ring->netdev = adapter->netdev;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2823
ring->count = adapter->tx_ring_count;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2829
adapter->xdp_ring[xdp_idx] = ring;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2842
ring->dev = &adapter->pdev->dev;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2843
ring->netdev = adapter->netdev;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2852
ring->count = adapter->rx_ring_count;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2857
adapter->rx_ring[rxr_idx] = ring;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2879
static void ixgbevf_free_q_vector(struct ixgbevf_adapter *adapter, int v_idx)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2881
struct ixgbevf_q_vector *q_vector = adapter->q_vector[v_idx];
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2886
adapter->xdp_ring[ring->queue_index] = NULL;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2888
adapter->tx_ring[ring->queue_index] = NULL;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2892
adapter->rx_ring[ring->queue_index] = NULL;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2894
adapter->q_vector[v_idx] = NULL;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2910
static int ixgbevf_alloc_q_vectors(struct ixgbevf_adapter *adapter)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2912
int q_vectors = adapter->num_msix_vectors - NON_Q_VECTORS;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2913
int rxr_remaining = adapter->num_rx_queues;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2914
int txr_remaining = adapter->num_tx_queues;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2915
int xdp_remaining = adapter->num_xdp_queues;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2923
err = ixgbevf_alloc_q_vector(adapter, v_idx,
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2939
err = ixgbevf_alloc_q_vector(adapter, v_idx,
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2961
ixgbevf_free_q_vector(adapter, v_idx);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2975
static void ixgbevf_free_q_vectors(struct ixgbevf_adapter *adapter)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2977
int q_vectors = adapter->num_msix_vectors - NON_Q_VECTORS;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2981
ixgbevf_free_q_vector(adapter, q_vectors);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2990
static void ixgbevf_reset_interrupt_capability(struct ixgbevf_adapter *adapter)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2992
if (!adapter->msix_entries)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2995
pci_disable_msix(adapter->pdev);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2996
kfree(adapter->msix_entries);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2997
adapter->msix_entries = NULL;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3005
static int ixgbevf_init_interrupt_scheme(struct ixgbevf_adapter *adapter)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3010
ixgbevf_set_num_queues(adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3012
err = ixgbevf_set_interrupt_capability(adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3014
hw_dbg(&adapter->hw,
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3019
err = ixgbevf_alloc_q_vectors(adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3021
hw_dbg(&adapter->hw, "Unable to allocate memory for queue vectors\n");
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3025
hw_dbg(&adapter->hw, "Multiqueue %s: Rx Queue count = %u, Tx Queue count = %u XDP Queue count %u\n",
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3026
(adapter->num_rx_queues > 1) ? "Enabled" : "Disabled",
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3027
adapter->num_rx_queues, adapter->num_tx_queues,
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3028
adapter->num_xdp_queues);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3030
set_bit(__IXGBEVF_DOWN, &adapter->state);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3034
ixgbevf_reset_interrupt_capability(adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3046
static void ixgbevf_clear_interrupt_scheme(struct ixgbevf_adapter *adapter)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3048
adapter->num_tx_queues = 0;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3049
adapter->num_xdp_queues = 0;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3050
adapter->num_rx_queues = 0;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3052
ixgbevf_free_q_vectors(adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3053
ixgbevf_reset_interrupt_capability(adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3064
static int ixgbevf_sw_init(struct ixgbevf_adapter *adapter)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3066
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3067
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3068
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3081
err = ixgbevf_init_rss_key(adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3091
spin_lock_init(&adapter->mbx_lock);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3103
ixgbevf_negotiate_api(adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3107
else if (is_zero_ether_addr(adapter->hw.mac.addr))
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3121
adapter->rx_itr_setting = 1;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3122
adapter->tx_itr_setting = 1;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3125
adapter->tx_ring_count = IXGBEVF_DEFAULT_TXD;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3126
adapter->rx_ring_count = IXGBEVF_DEFAULT_RXD;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3128
adapter->link_state = true;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3130
set_bit(__IXGBEVF_DOWN, &adapter->state);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3163
void ixgbevf_update_stats(struct ixgbevf_adapter *adapter)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3165
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3170
if (test_bit(__IXGBEVF_DOWN, &adapter->state) ||
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3171
test_bit(__IXGBEVF_RESETTING, &adapter->state))
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3174
UPDATE_VF_COUNTER_32bit(IXGBE_VFGPRC, adapter->stats.last_vfgprc,
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3175
adapter->stats.vfgprc);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3176
UPDATE_VF_COUNTER_32bit(IXGBE_VFGPTC, adapter->stats.last_vfgptc,
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3177
adapter->stats.vfgptc);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3179
adapter->stats.last_vfgorc,
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3180
adapter->stats.vfgorc);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3182
adapter->stats.last_vfgotc,
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3183
adapter->stats.vfgotc);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3184
UPDATE_VF_COUNTER_32bit(IXGBE_VFMPRC, adapter->stats.last_vfmprc,
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3185
adapter->stats.vfmprc);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3187
for (i = 0; i < adapter->num_rx_queues; i++) {
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3188
struct ixgbevf_ring *rx_ring = adapter->rx_ring[i];
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3196
adapter->hw_csum_rx_error = hw_csum_rx_error;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3197
adapter->alloc_rx_page_failed = alloc_rx_page_failed;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3198
adapter->alloc_rx_buff_failed = alloc_rx_buff_failed;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3199
adapter->alloc_rx_page = alloc_rx_page;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3208
struct ixgbevf_adapter *adapter = timer_container_of(adapter, t,
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3212
mod_timer(&adapter->service_timer, (HZ * 2) + jiffies);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3214
ixgbevf_service_event_schedule(adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3217
static void ixgbevf_reset_subtask(struct ixgbevf_adapter *adapter)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3219
if (!test_and_clear_bit(__IXGBEVF_RESET_REQUESTED, &adapter->state))
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3224
if (test_bit(__IXGBEVF_DOWN, &adapter->state) ||
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3225
test_bit(__IXGBEVF_REMOVING, &adapter->state) ||
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3226
test_bit(__IXGBEVF_RESETTING, &adapter->state)) {
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3231
adapter->tx_timeout_count++;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3233
ixgbevf_reinit_locked(adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3246
static void ixgbevf_check_hang_subtask(struct ixgbevf_adapter *adapter)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3248
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3253
if (test_bit(__IXGBEVF_DOWN, &adapter->state) ||
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3254
test_bit(__IXGBEVF_RESETTING, &adapter->state))
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3258
if (netif_carrier_ok(adapter->netdev)) {
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3259
for (i = 0; i < adapter->num_tx_queues; i++)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3260
set_check_for_tx_hang(adapter->tx_ring[i]);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3261
for (i = 0; i < adapter->num_xdp_queues; i++)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3262
set_check_for_tx_hang(adapter->xdp_ring[i]);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3266
for (i = 0; i < adapter->num_msix_vectors - NON_Q_VECTORS; i++) {
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3267
struct ixgbevf_q_vector *qv = adapter->q_vector[i];
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3281
static void ixgbevf_watchdog_update_link(struct ixgbevf_adapter *adapter)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3283
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3284
u32 link_speed = adapter->link_speed;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3285
bool link_up = adapter->link_up;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3288
spin_lock_bh(&adapter->mbx_lock);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3292
spin_unlock_bh(&adapter->mbx_lock);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3295
if (err && time_after(jiffies, adapter->last_reset + (10 * HZ))) {
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3296
set_bit(__IXGBEVF_RESET_REQUESTED, &adapter->state);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3300
adapter->link_up = link_up;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3301
adapter->link_speed = link_speed;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3309
static void ixgbevf_watchdog_link_is_up(struct ixgbevf_adapter *adapter)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3311
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3317
dev_info(&adapter->pdev->dev, "NIC Link is Up %s\n",
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3318
(adapter->link_speed == IXGBE_LINK_SPEED_10GB_FULL) ?
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3320
(adapter->link_speed == IXGBE_LINK_SPEED_1GB_FULL) ?
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3322
(adapter->link_speed == IXGBE_LINK_SPEED_100_FULL) ?
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3334
static void ixgbevf_watchdog_link_is_down(struct ixgbevf_adapter *adapter)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3336
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3338
adapter->link_speed = 0;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3344
dev_info(&adapter->pdev->dev, "NIC Link is Down\n");
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3353
static void ixgbevf_watchdog_subtask(struct ixgbevf_adapter *adapter)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3356
if (test_bit(__IXGBEVF_DOWN, &adapter->state) ||
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3357
test_bit(__IXGBEVF_RESETTING, &adapter->state))
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3360
ixgbevf_watchdog_update_link(adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3362
if (adapter->link_up && adapter->link_state)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3363
ixgbevf_watchdog_link_is_up(adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3365
ixgbevf_watchdog_link_is_down(adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3367
ixgbevf_update_stats(adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3376
struct ixgbevf_adapter *adapter = container_of(work,
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3379
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3382
if (!test_bit(__IXGBEVF_DOWN, &adapter->state)) {
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3384
ixgbevf_down(adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3390
ixgbevf_queue_reset_subtask(adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3391
ixgbevf_reset_subtask(adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3392
ixgbevf_watchdog_subtask(adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3393
ixgbevf_check_hang_subtask(adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3395
ixgbevf_service_event_complete(adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3427
static void ixgbevf_free_all_tx_resources(struct ixgbevf_adapter *adapter)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3431
for (i = 0; i < adapter->num_tx_queues; i++)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3432
if (adapter->tx_ring[i]->desc)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3433
ixgbevf_free_tx_resources(adapter->tx_ring[i]);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3434
for (i = 0; i < adapter->num_xdp_queues; i++)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3435
if (adapter->xdp_ring[i]->desc)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3436
ixgbevf_free_tx_resources(adapter->xdp_ring[i]);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3447
struct ixgbevf_adapter *adapter = netdev_priv(tx_ring->netdev);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3471
hw_dbg(&adapter->hw, "Unable to allocate memory for the transmit descriptor ring\n");
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3485
static int ixgbevf_setup_all_tx_resources(struct ixgbevf_adapter *adapter)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3489
for (i = 0; i < adapter->num_tx_queues; i++) {
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3490
err = ixgbevf_setup_tx_resources(adapter->tx_ring[i]);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3493
hw_dbg(&adapter->hw, "Allocation for Tx Queue %u failed\n", i);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3497
for (j = 0; j < adapter->num_xdp_queues; j++) {
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3498
err = ixgbevf_setup_tx_resources(adapter->xdp_ring[j]);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3501
hw_dbg(&adapter->hw, "Allocation for XDP Queue %u failed\n", j);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3509
ixgbevf_free_tx_resources(adapter->xdp_ring[j]);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3511
ixgbevf_free_tx_resources(adapter->tx_ring[i]);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3523
int ixgbevf_setup_rx_resources(struct ixgbevf_adapter *adapter,
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3546
if (xdp_rxq_info_reg(&rx_ring->xdp_rxq, adapter->netdev,
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3550
rx_ring->xdp_prog = adapter->xdp_prog;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3570
static int ixgbevf_setup_all_rx_resources(struct ixgbevf_adapter *adapter)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3574
for (i = 0; i < adapter->num_rx_queues; i++) {
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3575
err = ixgbevf_setup_rx_resources(adapter, adapter->rx_ring[i]);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3578
hw_dbg(&adapter->hw, "Allocation for Rx Queue %u failed\n", i);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3586
ixgbevf_free_rx_resources(adapter->rx_ring[i]);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3617
static void ixgbevf_free_all_rx_resources(struct ixgbevf_adapter *adapter)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3621
for (i = 0; i < adapter->num_rx_queues; i++)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3622
if (adapter->rx_ring[i]->desc)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3623
ixgbevf_free_rx_resources(adapter->rx_ring[i]);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3640
struct ixgbevf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3641
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3650
if (!adapter->num_msix_vectors)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3654
ixgbevf_reset(adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3666
if (test_bit(__IXGBEVF_TESTING, &adapter->state))
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3672
err = ixgbevf_setup_all_tx_resources(adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3677
err = ixgbevf_setup_all_rx_resources(adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3681
ixgbevf_configure(adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3683
err = ixgbevf_request_irq(adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3688
err = netif_set_real_num_tx_queues(netdev, adapter->num_tx_queues);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
369
adapter->tx_ipsec += total_ipsec;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3692
err = netif_set_real_num_rx_queues(netdev, adapter->num_rx_queues);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3696
ixgbevf_up_complete(adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3701
ixgbevf_free_irq(adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3703
ixgbevf_free_all_rx_resources(adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3705
ixgbevf_free_all_tx_resources(adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3707
ixgbevf_reset(adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
372
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3720
static void ixgbevf_close_suspend(struct ixgbevf_adapter *adapter)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3722
ixgbevf_down(adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3723
ixgbevf_free_irq(adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3724
ixgbevf_free_all_tx_resources(adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3725
ixgbevf_free_all_rx_resources(adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3741
struct ixgbevf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3744
ixgbevf_close_suspend(adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3749
static void ixgbevf_queue_reset_subtask(struct ixgbevf_adapter *adapter)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3751
struct net_device *dev = adapter->netdev;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3754
&adapter->state))
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3758
if (test_bit(__IXGBEVF_DOWN, &adapter->state) ||
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3759
test_bit(__IXGBEVF_RESETTING, &adapter->state))
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3771
ixgbevf_clear_interrupt_scheme(adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3772
ixgbevf_init_interrupt_scheme(adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
400
ixgbevf_tx_timeout_reset(adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
418
!test_bit(__IXGBEVF_DOWN, &adapter->state)) {
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
4240
struct ixgbevf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
4257
tx_ring = adapter->tx_ring[skb->queue_mapping];
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
4270
struct ixgbevf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
4271
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
4278
spin_lock_bh(&adapter->mbx_lock);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
4282
spin_unlock_bh(&adapter->mbx_lock);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
4303
struct ixgbevf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
4304
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
4309
if (adapter->xdp_prog) {
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
4310
dev_warn(&adapter->pdev->dev, "MTU cannot be changed while XDP program is loaded\n");
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
4314
spin_lock_bh(&adapter->mbx_lock);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
4317
spin_unlock_bh(&adapter->mbx_lock);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
4328
ixgbevf_reinit_locked(adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
4336
struct ixgbevf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
4342
ixgbevf_close_suspend(adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
4344
ixgbevf_clear_interrupt_scheme(adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
4354
struct ixgbevf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
4357
adapter->hw.hw_addr = adapter->io_addr;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
4359
clear_bit(__IXGBEVF_DISABLED, &adapter->state);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
4362
ixgbevf_reset(adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
4365
err = ixgbevf_init_interrupt_scheme(adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
4402
struct ixgbevf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
4408
ixgbevf_update_stats(adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
4410
stats->multicast = adapter->stats.vfmprc - adapter->stats.base_vfmprc;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
4413
for (i = 0; i < adapter->num_rx_queues; i++) {
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
4414
ring = adapter->rx_ring[i];
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
4424
for (i = 0; i < adapter->num_tx_queues; i++) {
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
4425
ring = adapter->tx_ring[i];
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
4429
for (i = 0; i < adapter->num_xdp_queues; i++) {
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
4430
ring = adapter->xdp_ring[i];
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
4473
struct ixgbevf_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
4477
for (i = 0; i < adapter->num_rx_queues; i++) {
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
4478
struct ixgbevf_ring *ring = adapter->rx_ring[i];
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
4484
old_prog = xchg(&adapter->xdp_prog, prog);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
4495
ixgbevf_clear_interrupt_scheme(adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
4496
ixgbevf_init_interrupt_scheme(adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
4501
for (i = 0; i < adapter->num_rx_queues; i++)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
4502
xchg(&adapter->rx_ring[i]->xdp_prog, adapter->xdp_prog);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
4558
struct ixgbevf_adapter *adapter = NULL;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
4591
adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
4593
adapter->netdev = netdev;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
4594
adapter->pdev = pdev;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
4595
hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
4596
hw->back = adapter;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
4597
adapter->msg_enable = netif_msg_init(debug, DEFAULT_MSG_ENABLE);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
4606
adapter->io_addr = hw->hw_addr;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
4622
err = ixgbevf_sw_init(adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
4671
switch (adapter->hw.api_version) {
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
4683
if (adapter->hw.mac.type != ixgbe_mac_82599_vf)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
4696
timer_setup(&adapter->service_timer, ixgbevf_service_timer, 0);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
4698
INIT_WORK(&adapter->service_task, ixgbevf_service_task);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
4699
set_bit(__IXGBEVF_SERVICE_INITED, &adapter->state);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
4700
clear_bit(__IXGBEVF_SERVICE_SCHED, &adapter->state);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
4702
err = ixgbevf_init_interrupt_scheme(adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
4714
ixgbevf_init_ipsec_offload(adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
4716
ixgbevf_init_last_counter_stats(adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
4741
ixgbevf_clear_interrupt_scheme(adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
4743
ixgbevf_reset_interrupt_capability(adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
4744
iounmap(adapter->io_addr);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
4745
kfree(adapter->rss_key);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
4747
disable_dev = !test_and_set_bit(__IXGBEVF_DISABLED, &adapter->state);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
4753
if (!adapter || disable_dev)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
4770
struct ixgbevf_adapter *adapter;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
4776
adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
4778
set_bit(__IXGBEVF_REMOVING, &adapter->state);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
4779
cancel_work_sync(&adapter->service_task);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
4784
ixgbevf_stop_ipsec_offload(adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
4785
ixgbevf_clear_interrupt_scheme(adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
4786
ixgbevf_reset_interrupt_capability(adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
4788
iounmap(adapter->io_addr);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
4791
hw_dbg(&adapter->hw, "Remove complete\n");
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
4793
kfree(adapter->rss_key);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
4794
disable_dev = !test_and_set_bit(__IXGBEVF_DISABLED, &adapter->state);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
4813
struct ixgbevf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
4815
if (!test_bit(__IXGBEVF_SERVICE_INITED, &adapter->state))
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
4822
ixgbevf_close_suspend(adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
4829
if (!test_and_set_bit(__IXGBEVF_DISABLED, &adapter->state))
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
4847
struct ixgbevf_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
4855
adapter->hw.hw_addr = adapter->io_addr;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
4857
clear_bit(__IXGBEVF_DISABLED, &adapter->state);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
4860
ixgbevf_reset(adapter);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
4959
struct ixgbevf_adapter *adapter = hw->back;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
4961
return adapter->netdev->name;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
916
static inline void ixgbevf_irq_enable_queues(struct ixgbevf_adapter *adapter,
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
919
struct ixgbe_hw *hw = &adapter->hw;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
94
static void ixgbevf_service_event_schedule(struct ixgbevf_adapter *adapter)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
96
if (!test_bit(__IXGBEVF_DOWN, &adapter->state) &&
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
97
!test_bit(__IXGBEVF_REMOVING, &adapter->state) &&
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
98
!test_and_set_bit(__IXGBEVF_SERVICE_SCHED, &adapter->state))
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
99
queue_work(ixgbevf_wq, &adapter->service_task);
drivers/net/ethernet/intel/ixgbevf/vf.c
135
struct ixgbevf_adapter *adapter = hw->back;
drivers/net/ethernet/intel/ixgbevf/vf.c
139
pci_read_config_byte(adapter->pdev,
drivers/net/ethernet/intel/ixgbevf/vf.c
848
struct ixgbevf_adapter *adapter = hw->back;
drivers/net/ethernet/intel/ixgbevf/vf.c
876
if (adapter->pf_features & IXGBEVF_PF_SUP_ESX_MBX)
drivers/net/ethernet/mellanox/mlx4/fw.c
1803
int mlx4_QUERY_ADAPTER(struct mlx4_dev *dev, struct mlx4_adapter *adapter)
drivers/net/ethernet/mellanox/mlx4/fw.c
1823
MLX4_GET(adapter->inta_pin, outbox, QUERY_ADAPTER_INTA_PIN_OFFSET);
drivers/net/ethernet/mellanox/mlx4/fw.c
1826
adapter->board_id);
drivers/net/ethernet/mellanox/mlx4/fw.h
245
int mlx4_QUERY_ADAPTER(struct mlx4_dev *dev, struct mlx4_adapter *adapter);
drivers/net/ethernet/mellanox/mlx4/main.c
2319
struct mlx4_adapter adapter;
drivers/net/ethernet/mellanox/mlx4/main.c
2477
err = mlx4_QUERY_ADAPTER(dev, &adapter);
drivers/net/ethernet/mellanox/mlx4/main.c
2491
priv->eq_table.inta_pin = adapter.inta_pin;
drivers/net/ethernet/mellanox/mlx4/main.c
2492
memcpy(dev->board_id, adapter.board_id, sizeof(dev->board_id));
drivers/net/ethernet/mellanox/mlxsw/i2c.c
171
err = i2c_transfer(client->adapter, read_sema,
drivers/net/ethernet/mellanox/mlxsw/i2c.c
206
cpu_to_be32(client->adapter->nr & 0xffff),
drivers/net/ethernet/mellanox/mlxsw/i2c.c
226
err = i2c_transfer(client->adapter, &prep_cmd, 1);
drivers/net/ethernet/mellanox/mlxsw/i2c.c
233
err = i2c_transfer(client->adapter, &push_cmd, 1);
drivers/net/ethernet/mellanox/mlxsw/i2c.c
252
cpu_to_be32(client->adapter->nr & 0xffff),
drivers/net/ethernet/mellanox/mlxsw/i2c.c
272
err = i2c_transfer(client->adapter, &prep_cmd, 1);
drivers/net/ethernet/mellanox/mlxsw/i2c.c
279
err = i2c_transfer(client->adapter, &push_cmd, 1);
drivers/net/ethernet/mellanox/mlxsw/i2c.c
314
err = i2c_transfer(client->adapter, mbox_cmd, 2);
drivers/net/ethernet/mellanox/mlxsw/i2c.c
361
err = i2c_transfer(client->adapter, &write_tran, 1);
drivers/net/ethernet/mellanox/mlxsw/i2c.c
470
err = i2c_transfer(client->adapter, read_tran,
drivers/net/ethernet/mellanox/mlxsw/i2c.c
637
const struct i2c_adapter_quirks *quirks = client->adapter->quirks;
drivers/net/ethernet/micrel/ks8842.c
1001
err = request_irq(adapter->irq, ks8842_irq, IRQF_SHARED, DRV_NAME,
drivers/net/ethernet/micrel/ks8842.c
1004
pr_err("Failed to request IRQ: %d: %d\n", adapter->irq, err);
drivers/net/ethernet/micrel/ks8842.c
1013
struct ks8842_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/micrel/ks8842.c
1017
cancel_work_sync(&adapter->timeout_work);
drivers/net/ethernet/micrel/ks8842.c
1019
if (KS8842_USE_DMA(adapter))
drivers/net/ethernet/micrel/ks8842.c
1020
ks8842_dealloc_dma_bufs(adapter);
drivers/net/ethernet/micrel/ks8842.c
1023
free_irq(adapter->irq, netdev);
drivers/net/ethernet/micrel/ks8842.c
1026
ks8842_write16(adapter, 32, 0x0, REG_SW_ID_AND_ENABLE);
drivers/net/ethernet/micrel/ks8842.c
1035
struct ks8842_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/micrel/ks8842.c
1039
if (KS8842_USE_DMA(adapter)) {
drivers/net/ethernet/micrel/ks8842.c
1043
spin_lock_irqsave(&adapter->lock, flags);
drivers/net/ethernet/micrel/ks8842.c
1044
if (adapter->dma_tx.adesc)
drivers/net/ethernet/micrel/ks8842.c
1046
spin_unlock_irqrestore(&adapter->lock, flags);
drivers/net/ethernet/micrel/ks8842.c
1052
if (ks8842_tx_fifo_space(adapter) < netdev->mtu + 8)
drivers/net/ethernet/micrel/ks8842.c
1060
struct ks8842_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/micrel/ks8842.c
1071
ks8842_write_mac_addr(adapter, mac);
drivers/net/ethernet/micrel/ks8842.c
1077
struct ks8842_adapter *adapter =
drivers/net/ethernet/micrel/ks8842.c
1079
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/micrel/ks8842.c
1084
spin_lock_irqsave(&adapter->lock, flags);
drivers/net/ethernet/micrel/ks8842.c
1086
if (KS8842_USE_DMA(adapter))
drivers/net/ethernet/micrel/ks8842.c
1087
ks8842_stop_dma(adapter);
drivers/net/ethernet/micrel/ks8842.c
1090
ks8842_write16(adapter, 18, 0, REG_IER);
drivers/net/ethernet/micrel/ks8842.c
1091
ks8842_write16(adapter, 18, 0xFFFF, REG_ISR);
drivers/net/ethernet/micrel/ks8842.c
1095
spin_unlock_irqrestore(&adapter->lock, flags);
drivers/net/ethernet/micrel/ks8842.c
1097
ks8842_reset_hw(adapter);
drivers/net/ethernet/micrel/ks8842.c
1099
ks8842_write_mac_addr(adapter, netdev->dev_addr);
drivers/net/ethernet/micrel/ks8842.c
1101
ks8842_update_link_status(netdev, adapter);
drivers/net/ethernet/micrel/ks8842.c
1103
if (KS8842_USE_DMA(adapter))
drivers/net/ethernet/micrel/ks8842.c
1109
struct ks8842_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/micrel/ks8842.c
1113
schedule_work(&adapter->timeout_work);
drivers/net/ethernet/micrel/ks8842.c
1134
struct ks8842_adapter *adapter;
drivers/net/ethernet/micrel/ks8842.c
1153
adapter = netdev_priv(netdev);
drivers/net/ethernet/micrel/ks8842.c
1154
adapter->netdev = netdev;
drivers/net/ethernet/micrel/ks8842.c
1155
INIT_WORK(&adapter->timeout_work, ks8842_tx_timeout_work);
drivers/net/ethernet/micrel/ks8842.c
1156
adapter->hw_addr = ioremap(iomem->start, resource_size(iomem));
drivers/net/ethernet/micrel/ks8842.c
1157
adapter->conf_flags = iomem->flags;
drivers/net/ethernet/micrel/ks8842.c
1159
if (!adapter->hw_addr)
drivers/net/ethernet/micrel/ks8842.c
1162
adapter->irq = platform_get_irq(pdev, 0);
drivers/net/ethernet/micrel/ks8842.c
1163
if (adapter->irq < 0) {
drivers/net/ethernet/micrel/ks8842.c
1164
err = adapter->irq;
drivers/net/ethernet/micrel/ks8842.c
1168
adapter->dev = (pdev->dev.parent) ? pdev->dev.parent : &pdev->dev;
drivers/net/ethernet/micrel/ks8842.c
1171
if (!(adapter->conf_flags & MICREL_KS884X) && pdata &&
drivers/net/ethernet/micrel/ks8842.c
1174
adapter->dma_rx.channel = pdata->rx_dma_channel;
drivers/net/ethernet/micrel/ks8842.c
1175
adapter->dma_tx.channel = pdata->tx_dma_channel;
drivers/net/ethernet/micrel/ks8842.c
1177
adapter->dma_rx.channel = -1;
drivers/net/ethernet/micrel/ks8842.c
1178
adapter->dma_tx.channel = -1;
drivers/net/ethernet/micrel/ks8842.c
1181
tasklet_setup(&adapter->tasklet, ks8842_tasklet);
drivers/net/ethernet/micrel/ks8842.c
1182
spin_lock_init(&adapter->lock);
drivers/net/ethernet/micrel/ks8842.c
1200
ks8842_init_mac_addr(adapter);
drivers/net/ethernet/micrel/ks8842.c
1206
id = ks8842_read16(adapter, 32, REG_SW_ID_AND_ENABLE);
drivers/net/ethernet/micrel/ks8842.c
1222
iounmap(adapter->hw_addr);
drivers/net/ethernet/micrel/ks8842.c
1234
struct ks8842_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/micrel/ks8842.c
1238
tasklet_kill(&adapter->tasklet);
drivers/net/ethernet/micrel/ks8842.c
1239
iounmap(adapter->hw_addr);
drivers/net/ethernet/micrel/ks8842.c
147
#define KS8842_USE_DMA(adapter) (((adapter)->dma_tx.channel != -1) && \
drivers/net/ethernet/micrel/ks8842.c
148
((adapter)->dma_rx.channel != -1))
drivers/net/ethernet/micrel/ks8842.c
166
static inline void ks8842_resume_dma(struct ks8842_adapter *adapter)
drivers/net/ethernet/micrel/ks8842.c
168
iowrite32(1, adapter->hw_addr + REQ_TIMB_DMA_RESUME);
drivers/net/ethernet/micrel/ks8842.c
171
static inline void ks8842_select_bank(struct ks8842_adapter *adapter, u16 bank)
drivers/net/ethernet/micrel/ks8842.c
173
iowrite16(bank, adapter->hw_addr + REG_SELECT_BANK);
drivers/net/ethernet/micrel/ks8842.c
176
static inline void ks8842_write8(struct ks8842_adapter *adapter, u16 bank,
drivers/net/ethernet/micrel/ks8842.c
179
ks8842_select_bank(adapter, bank);
drivers/net/ethernet/micrel/ks8842.c
180
iowrite8(value, adapter->hw_addr + offset);
drivers/net/ethernet/micrel/ks8842.c
183
static inline void ks8842_write16(struct ks8842_adapter *adapter, u16 bank,
drivers/net/ethernet/micrel/ks8842.c
186
ks8842_select_bank(adapter, bank);
drivers/net/ethernet/micrel/ks8842.c
187
iowrite16(value, adapter->hw_addr + offset);
drivers/net/ethernet/micrel/ks8842.c
190
static inline void ks8842_enable_bits(struct ks8842_adapter *adapter, u16 bank,
drivers/net/ethernet/micrel/ks8842.c
194
ks8842_select_bank(adapter, bank);
drivers/net/ethernet/micrel/ks8842.c
195
reg = ioread16(adapter->hw_addr + offset);
drivers/net/ethernet/micrel/ks8842.c
197
iowrite16(reg, adapter->hw_addr + offset);
drivers/net/ethernet/micrel/ks8842.c
200
static inline void ks8842_clear_bits(struct ks8842_adapter *adapter, u16 bank,
drivers/net/ethernet/micrel/ks8842.c
204
ks8842_select_bank(adapter, bank);
drivers/net/ethernet/micrel/ks8842.c
205
reg = ioread16(adapter->hw_addr + offset);
drivers/net/ethernet/micrel/ks8842.c
207
iowrite16(reg, adapter->hw_addr + offset);
drivers/net/ethernet/micrel/ks8842.c
210
static inline void ks8842_write32(struct ks8842_adapter *adapter, u16 bank,
drivers/net/ethernet/micrel/ks8842.c
213
ks8842_select_bank(adapter, bank);
drivers/net/ethernet/micrel/ks8842.c
214
iowrite32(value, adapter->hw_addr + offset);
drivers/net/ethernet/micrel/ks8842.c
217
static inline u8 ks8842_read8(struct ks8842_adapter *adapter, u16 bank,
drivers/net/ethernet/micrel/ks8842.c
220
ks8842_select_bank(adapter, bank);
drivers/net/ethernet/micrel/ks8842.c
221
return ioread8(adapter->hw_addr + offset);
drivers/net/ethernet/micrel/ks8842.c
224
static inline u16 ks8842_read16(struct ks8842_adapter *adapter, u16 bank,
drivers/net/ethernet/micrel/ks8842.c
227
ks8842_select_bank(adapter, bank);
drivers/net/ethernet/micrel/ks8842.c
228
return ioread16(adapter->hw_addr + offset);
drivers/net/ethernet/micrel/ks8842.c
231
static inline u32 ks8842_read32(struct ks8842_adapter *adapter, u16 bank,
drivers/net/ethernet/micrel/ks8842.c
234
ks8842_select_bank(adapter, bank);
drivers/net/ethernet/micrel/ks8842.c
235
return ioread32(adapter->hw_addr + offset);
drivers/net/ethernet/micrel/ks8842.c
238
static void ks8842_reset(struct ks8842_adapter *adapter)
drivers/net/ethernet/micrel/ks8842.c
240
if (adapter->conf_flags & MICREL_KS884X) {
drivers/net/ethernet/micrel/ks8842.c
241
ks8842_write16(adapter, 3, 1, REG_GRR);
drivers/net/ethernet/micrel/ks8842.c
243
iowrite16(0, adapter->hw_addr + REG_GRR);
drivers/net/ethernet/micrel/ks8842.c
252
iowrite32(0x1, adapter->hw_addr + REG_TIMB_RST);
drivers/net/ethernet/micrel/ks8842.c
258
struct ks8842_adapter *adapter)
drivers/net/ethernet/micrel/ks8842.c
261
if (ks8842_read16(adapter, 45, REG_P1MBSR) & 0x4) {
drivers/net/ethernet/micrel/ks8842.c
270
static void ks8842_enable_tx(struct ks8842_adapter *adapter)
drivers/net/ethernet/micrel/ks8842.c
272
ks8842_enable_bits(adapter, 16, 0x01, REG_TXCR);
drivers/net/ethernet/micrel/ks8842.c
275
static void ks8842_disable_tx(struct ks8842_adapter *adapter)
drivers/net/ethernet/micrel/ks8842.c
277
ks8842_clear_bits(adapter, 16, 0x01, REG_TXCR);
drivers/net/ethernet/micrel/ks8842.c
280
static void ks8842_enable_rx(struct ks8842_adapter *adapter)
drivers/net/ethernet/micrel/ks8842.c
282
ks8842_enable_bits(adapter, 16, 0x01, REG_RXCR);
drivers/net/ethernet/micrel/ks8842.c
285
static void ks8842_disable_rx(struct ks8842_adapter *adapter)
drivers/net/ethernet/micrel/ks8842.c
287
ks8842_clear_bits(adapter, 16, 0x01, REG_RXCR);
drivers/net/ethernet/micrel/ks8842.c
290
static void ks8842_reset_hw(struct ks8842_adapter *adapter)
drivers/net/ethernet/micrel/ks8842.c
293
ks8842_reset(adapter);
drivers/net/ethernet/micrel/ks8842.c
296
ks8842_write16(adapter, 16, 0x000E, REG_TXCR);
drivers/net/ethernet/micrel/ks8842.c
300
ks8842_write16(adapter, 16, 0x8 | 0x20 | 0x40 | 0x80 | 0x400,
drivers/net/ethernet/micrel/ks8842.c
304
ks8842_write16(adapter, 17, 0x4000, REG_TXFDPR);
drivers/net/ethernet/micrel/ks8842.c
307
ks8842_write16(adapter, 17, 0x4000, REG_RXFDPR);
drivers/net/ethernet/micrel/ks8842.c
310
ks8842_write16(adapter, 0, 0x1000, REG_QRFCR);
drivers/net/ethernet/micrel/ks8842.c
313
ks8842_enable_bits(adapter, 32, 1 << 8, REG_SGCR1);
drivers/net/ethernet/micrel/ks8842.c
316
ks8842_enable_bits(adapter, 32, 1 << 3, REG_SGCR2);
drivers/net/ethernet/micrel/ks8842.c
319
ks8842_write16(adapter, 48, 0x1E07, REG_P1CR2);
drivers/net/ethernet/micrel/ks8842.c
322
ks8842_enable_bits(adapter, 49, 1 << 13, REG_P1CR4);
drivers/net/ethernet/micrel/ks8842.c
325
ks8842_enable_tx(adapter);
drivers/net/ethernet/micrel/ks8842.c
328
ks8842_enable_rx(adapter);
drivers/net/ethernet/micrel/ks8842.c
331
ks8842_write16(adapter, 18, 0xffff, REG_ISR);
drivers/net/ethernet/micrel/ks8842.c
334
if (KS8842_USE_DMA(adapter)) {
drivers/net/ethernet/micrel/ks8842.c
339
iowrite16(ENABLED_IRQS_DMA_IP, adapter->hw_addr + REG_TIMB_IER);
drivers/net/ethernet/micrel/ks8842.c
340
ks8842_write16(adapter, 18, ENABLED_IRQS_DMA, REG_IER);
drivers/net/ethernet/micrel/ks8842.c
342
if (!(adapter->conf_flags & MICREL_KS884X))
drivers/net/ethernet/micrel/ks8842.c
344
adapter->hw_addr + REG_TIMB_IER);
drivers/net/ethernet/micrel/ks8842.c
345
ks8842_write16(adapter, 18, ENABLED_IRQS, REG_IER);
drivers/net/ethernet/micrel/ks8842.c
348
ks8842_write16(adapter, 32, 0x1, REG_SW_ID_AND_ENABLE);
drivers/net/ethernet/micrel/ks8842.c
351
static void ks8842_init_mac_addr(struct ks8842_adapter *adapter)
drivers/net/ethernet/micrel/ks8842.c
358
addr[ETH_ALEN - i - 1] = ks8842_read8(adapter, 2, REG_MARL + i);
drivers/net/ethernet/micrel/ks8842.c
359
eth_hw_addr_set(adapter->netdev, addr);
drivers/net/ethernet/micrel/ks8842.c
361
if (adapter->conf_flags & MICREL_KS884X) {
drivers/net/ethernet/micrel/ks8842.c
367
mac = ks8842_read16(adapter, 2, REG_MARL);
drivers/net/ethernet/micrel/ks8842.c
368
ks8842_write16(adapter, 39, mac, REG_MACAR3);
drivers/net/ethernet/micrel/ks8842.c
369
mac = ks8842_read16(adapter, 2, REG_MARM);
drivers/net/ethernet/micrel/ks8842.c
370
ks8842_write16(adapter, 39, mac, REG_MACAR2);
drivers/net/ethernet/micrel/ks8842.c
371
mac = ks8842_read16(adapter, 2, REG_MARH);
drivers/net/ethernet/micrel/ks8842.c
372
ks8842_write16(adapter, 39, mac, REG_MACAR1);
drivers/net/ethernet/micrel/ks8842.c
376
mac = ks8842_read16(adapter, 2, REG_MARL);
drivers/net/ethernet/micrel/ks8842.c
377
ks8842_write16(adapter, 39, mac, REG_MACAR1);
drivers/net/ethernet/micrel/ks8842.c
378
mac = ks8842_read16(adapter, 2, REG_MARM);
drivers/net/ethernet/micrel/ks8842.c
379
ks8842_write16(adapter, 39, mac, REG_MACAR2);
drivers/net/ethernet/micrel/ks8842.c
380
mac = ks8842_read16(adapter, 2, REG_MARH);
drivers/net/ethernet/micrel/ks8842.c
381
ks8842_write16(adapter, 39, mac, REG_MACAR3);
drivers/net/ethernet/micrel/ks8842.c
385
static void ks8842_write_mac_addr(struct ks8842_adapter *adapter, const u8 *mac)
drivers/net/ethernet/micrel/ks8842.c
390
spin_lock_irqsave(&adapter->lock, flags);
drivers/net/ethernet/micrel/ks8842.c
392
ks8842_write8(adapter, 2, mac[ETH_ALEN - i - 1], REG_MARL + i);
drivers/net/ethernet/micrel/ks8842.c
393
if (!(adapter->conf_flags & MICREL_KS884X))
drivers/net/ethernet/micrel/ks8842.c
394
ks8842_write8(adapter, 39, mac[ETH_ALEN - i - 1],
drivers/net/ethernet/micrel/ks8842.c
398
if (adapter->conf_flags & MICREL_KS884X) {
drivers/net/ethernet/micrel/ks8842.c
406
mac = ks8842_read16(adapter, 2, REG_MARL);
drivers/net/ethernet/micrel/ks8842.c
407
ks8842_write16(adapter, 39, mac, REG_MACAR3);
drivers/net/ethernet/micrel/ks8842.c
408
mac = ks8842_read16(adapter, 2, REG_MARM);
drivers/net/ethernet/micrel/ks8842.c
409
ks8842_write16(adapter, 39, mac, REG_MACAR2);
drivers/net/ethernet/micrel/ks8842.c
410
mac = ks8842_read16(adapter, 2, REG_MARH);
drivers/net/ethernet/micrel/ks8842.c
411
ks8842_write16(adapter, 39, mac, REG_MACAR1);
drivers/net/ethernet/micrel/ks8842.c
413
spin_unlock_irqrestore(&adapter->lock, flags);
drivers/net/ethernet/micrel/ks8842.c
416
static inline u16 ks8842_tx_fifo_space(struct ks8842_adapter *adapter)
drivers/net/ethernet/micrel/ks8842.c
418
return ks8842_read16(adapter, 16, REG_TXMIR) & 0x1fff;
drivers/net/ethernet/micrel/ks8842.c
423
struct ks8842_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/micrel/ks8842.c
424
struct ks8842_tx_dma_ctl *ctl = &adapter->dma_tx;
drivers/net/ethernet/micrel/ks8842.c
443
dma_sync_single_range_for_device(adapter->dev,
drivers/net/ethernet/micrel/ks8842.c
469
struct ks8842_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/micrel/ks8842.c
477
if (ks8842_tx_fifo_space(adapter) < len + 8)
drivers/net/ethernet/micrel/ks8842.c
480
if (adapter->conf_flags & KS884X_16BIT) {
drivers/net/ethernet/micrel/ks8842.c
482
ks8842_write16(adapter, 17, 0x8000 | 0x100, REG_QMU_DATA_LO);
drivers/net/ethernet/micrel/ks8842.c
483
ks8842_write16(adapter, 17, (u16)len, REG_QMU_DATA_HI);
drivers/net/ethernet/micrel/ks8842.c
488
iowrite16(*ptr16++, adapter->hw_addr + REG_QMU_DATA_LO);
drivers/net/ethernet/micrel/ks8842.c
489
iowrite16(*ptr16++, adapter->hw_addr + REG_QMU_DATA_HI);
drivers/net/ethernet/micrel/ks8842.c
498
ks8842_write32(adapter, 17, ctrl, REG_QMU_DATA_LO);
drivers/net/ethernet/micrel/ks8842.c
504
iowrite32(*ptr, adapter->hw_addr + REG_QMU_DATA_LO);
drivers/net/ethernet/micrel/ks8842.c
511
ks8842_write16(adapter, 17, 1, REG_TXQCR);
drivers/net/ethernet/micrel/ks8842.c
544
struct ks8842_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/micrel/ks8842.c
545
struct ks8842_rx_dma_ctl *ctl = &adapter->dma_rx;
drivers/net/ethernet/micrel/ks8842.c
552
sg_dma_address(sg) = dma_map_single(adapter->dev,
drivers/net/ethernet/micrel/ks8842.c
554
if (dma_mapping_error(adapter->dev, sg_dma_address(sg))) {
drivers/net/ethernet/micrel/ks8842.c
582
dma_unmap_single(adapter->dev, sg_dma_address(sg),
drivers/net/ethernet/micrel/ks8842.c
594
struct ks8842_adapter *adapter = from_tasklet(adapter, t, dma_rx.tasklet);
drivers/net/ethernet/micrel/ks8842.c
595
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/micrel/ks8842.c
596
struct ks8842_rx_dma_ctl *ctl = &adapter->dma_rx;
drivers/net/ethernet/micrel/ks8842.c
607
dma_unmap_single(adapter->dev, addr, DMA_BUFFER_SIZE, DMA_FROM_DEVICE);
drivers/net/ethernet/micrel/ks8842.c
633
struct ks8842_adapter *adapter)
drivers/net/ethernet/micrel/ks8842.c
638
if (adapter->conf_flags & KS884X_16BIT) {
drivers/net/ethernet/micrel/ks8842.c
639
status = ks8842_read16(adapter, 17, REG_QMU_DATA_LO);
drivers/net/ethernet/micrel/ks8842.c
640
len = ks8842_read16(adapter, 17, REG_QMU_DATA_HI);
drivers/net/ethernet/micrel/ks8842.c
644
status = ks8842_read32(adapter, 17, REG_QMU_DATA_LO);
drivers/net/ethernet/micrel/ks8842.c
659
if (adapter->conf_flags & KS884X_16BIT) {
drivers/net/ethernet/micrel/ks8842.c
661
ks8842_select_bank(adapter, 17);
drivers/net/ethernet/micrel/ks8842.c
663
*data16++ = ioread16(adapter->hw_addr +
drivers/net/ethernet/micrel/ks8842.c
665
*data16++ = ioread16(adapter->hw_addr +
drivers/net/ethernet/micrel/ks8842.c
672
ks8842_select_bank(adapter, 17);
drivers/net/ethernet/micrel/ks8842.c
674
*data++ = ioread32(adapter->hw_addr +
drivers/net/ethernet/micrel/ks8842.c
687
ks8842_clear_bits(adapter, 0, 1 << 12, REG_QRFCR);
drivers/net/ethernet/micrel/ks8842.c
690
ks8842_write16(adapter, 17, 0x01, REG_RXQCR);
drivers/net/ethernet/micrel/ks8842.c
693
ks8842_enable_bits(adapter, 0, 1 << 12, REG_QRFCR);
drivers/net/ethernet/micrel/ks8842.c
697
struct ks8842_adapter *adapter)
drivers/net/ethernet/micrel/ks8842.c
699
u16 rx_data = ks8842_read16(adapter, 16, REG_RXMIR) & 0x1fff;
drivers/net/ethernet/micrel/ks8842.c
702
ks8842_rx_frame(netdev, adapter);
drivers/net/ethernet/micrel/ks8842.c
703
rx_data = ks8842_read16(adapter, 16, REG_RXMIR) & 0x1fff;
drivers/net/ethernet/micrel/ks8842.c
708
struct ks8842_adapter *adapter)
drivers/net/ethernet/micrel/ks8842.c
710
u16 sr = ks8842_read16(adapter, 16, REG_TXSR);
drivers/net/ethernet/micrel/ks8842.c
718
struct ks8842_adapter *adapter)
drivers/net/ethernet/micrel/ks8842.c
727
struct ks8842_adapter *adapter = from_tasklet(adapter, t, tasklet);
drivers/net/ethernet/micrel/ks8842.c
728
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/micrel/ks8842.c
734
spin_lock_irqsave(&adapter->lock, flags);
drivers/net/ethernet/micrel/ks8842.c
735
entry_bank = ioread16(adapter->hw_addr + REG_SELECT_BANK);
drivers/net/ethernet/micrel/ks8842.c
736
spin_unlock_irqrestore(&adapter->lock, flags);
drivers/net/ethernet/micrel/ks8842.c
738
isr = ks8842_read16(adapter, 18, REG_ISR);
drivers/net/ethernet/micrel/ks8842.c
744
if (KS8842_USE_DMA(adapter))
drivers/net/ethernet/micrel/ks8842.c
748
ks8842_write16(adapter, 18, isr, REG_ISR);
drivers/net/ethernet/micrel/ks8842.c
750
if (!(adapter->conf_flags & MICREL_KS884X))
drivers/net/ethernet/micrel/ks8842.c
752
iowrite32(0x1, adapter->hw_addr + REG_TIMB_IAR);
drivers/net/ethernet/micrel/ks8842.c
758
ks8842_update_link_status(netdev, adapter);
drivers/net/ethernet/micrel/ks8842.c
761
if (isr & (IRQ_RX | IRQ_RX_ERROR) && !KS8842_USE_DMA(adapter))
drivers/net/ethernet/micrel/ks8842.c
762
ks8842_handle_rx(netdev, adapter);
drivers/net/ethernet/micrel/ks8842.c
766
ks8842_handle_tx(netdev, adapter);
drivers/net/ethernet/micrel/ks8842.c
769
ks8842_handle_rx_overrun(netdev, adapter);
drivers/net/ethernet/micrel/ks8842.c
772
ks8842_disable_tx(adapter);
drivers/net/ethernet/micrel/ks8842.c
773
ks8842_enable_tx(adapter);
drivers/net/ethernet/micrel/ks8842.c
777
ks8842_disable_rx(adapter);
drivers/net/ethernet/micrel/ks8842.c
778
ks8842_enable_rx(adapter);
drivers/net/ethernet/micrel/ks8842.c
782
spin_lock_irqsave(&adapter->lock, flags);
drivers/net/ethernet/micrel/ks8842.c
783
if (KS8842_USE_DMA(adapter))
drivers/net/ethernet/micrel/ks8842.c
784
ks8842_write16(adapter, 18, ENABLED_IRQS_DMA, REG_IER);
drivers/net/ethernet/micrel/ks8842.c
786
ks8842_write16(adapter, 18, ENABLED_IRQS, REG_IER);
drivers/net/ethernet/micrel/ks8842.c
787
iowrite16(entry_bank, adapter->hw_addr + REG_SELECT_BANK);
drivers/net/ethernet/micrel/ks8842.c
791
if (KS8842_USE_DMA(adapter))
drivers/net/ethernet/micrel/ks8842.c
792
ks8842_resume_dma(adapter);
drivers/net/ethernet/micrel/ks8842.c
794
spin_unlock_irqrestore(&adapter->lock, flags);
drivers/net/ethernet/micrel/ks8842.c
800
struct ks8842_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/micrel/ks8842.c
802
u16 entry_bank = ioread16(adapter->hw_addr + REG_SELECT_BANK);
drivers/net/ethernet/micrel/ks8842.c
805
isr = ks8842_read16(adapter, 18, REG_ISR);
drivers/net/ethernet/micrel/ks8842.c
809
if (KS8842_USE_DMA(adapter))
drivers/net/ethernet/micrel/ks8842.c
811
ks8842_write16(adapter, 18, IRQ_RX, REG_IER);
drivers/net/ethernet/micrel/ks8842.c
814
ks8842_write16(adapter, 18, 0x00, REG_IER);
drivers/net/ethernet/micrel/ks8842.c
817
tasklet_schedule(&adapter->tasklet);
drivers/net/ethernet/micrel/ks8842.c
822
iowrite16(entry_bank, adapter->hw_addr + REG_SELECT_BANK);
drivers/net/ethernet/micrel/ks8842.c
827
ks8842_resume_dma(adapter);
drivers/net/ethernet/micrel/ks8842.c
835
struct ks8842_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/micrel/ks8842.c
839
if (adapter->dma_rx.adesc)
drivers/net/ethernet/micrel/ks8842.c
840
tasklet_schedule(&adapter->dma_rx.tasklet);
drivers/net/ethernet/micrel/ks8842.c
846
struct ks8842_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/micrel/ks8842.c
847
struct ks8842_tx_dma_ctl *ctl = &adapter->dma_tx;
drivers/net/ethernet/micrel/ks8842.c
861
static void ks8842_stop_dma(struct ks8842_adapter *adapter)
drivers/net/ethernet/micrel/ks8842.c
863
struct ks8842_tx_dma_ctl *tx_ctl = &adapter->dma_tx;
drivers/net/ethernet/micrel/ks8842.c
864
struct ks8842_rx_dma_ctl *rx_ctl = &adapter->dma_rx;
drivers/net/ethernet/micrel/ks8842.c
875
dma_unmap_single(adapter->dev, sg_dma_address(&rx_ctl->sg),
drivers/net/ethernet/micrel/ks8842.c
883
static void ks8842_dealloc_dma_bufs(struct ks8842_adapter *adapter)
drivers/net/ethernet/micrel/ks8842.c
885
struct ks8842_tx_dma_ctl *tx_ctl = &adapter->dma_tx;
drivers/net/ethernet/micrel/ks8842.c
886
struct ks8842_rx_dma_ctl *rx_ctl = &adapter->dma_rx;
drivers/net/ethernet/micrel/ks8842.c
888
ks8842_stop_dma(adapter);
drivers/net/ethernet/micrel/ks8842.c
901
dma_unmap_single(adapter->dev, sg_dma_address(&tx_ctl->sg),
drivers/net/ethernet/micrel/ks8842.c
916
struct ks8842_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/micrel/ks8842.c
917
struct ks8842_tx_dma_ctl *tx_ctl = &adapter->dma_tx;
drivers/net/ethernet/micrel/ks8842.c
918
struct ks8842_rx_dma_ctl *rx_ctl = &adapter->dma_rx;
drivers/net/ethernet/micrel/ks8842.c
943
sg_dma_address(&tx_ctl->sg) = dma_map_single(adapter->dev,
drivers/net/ethernet/micrel/ks8842.c
945
if (dma_mapping_error(adapter->dev, sg_dma_address(&tx_ctl->sg))) {
drivers/net/ethernet/micrel/ks8842.c
962
ks8842_dealloc_dma_bufs(adapter);
drivers/net/ethernet/micrel/ks8842.c
970
struct ks8842_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/micrel/ks8842.c
975
if (KS8842_USE_DMA(adapter)) {
drivers/net/ethernet/micrel/ks8842.c
982
ks8842_dealloc_dma_bufs(adapter);
drivers/net/ethernet/micrel/ks8842.c
988
ks8842_dealloc_dma_bufs(adapter);
drivers/net/ethernet/micrel/ks8842.c
989
adapter->dma_rx.channel = -1;
drivers/net/ethernet/micrel/ks8842.c
990
adapter->dma_tx.channel = -1;
drivers/net/ethernet/micrel/ks8842.c
995
ks8842_reset_hw(adapter);
drivers/net/ethernet/micrel/ks8842.c
997
ks8842_write_mac_addr(adapter, netdev->dev_addr);
drivers/net/ethernet/micrel/ks8842.c
999
ks8842_update_link_status(netdev, adapter);
drivers/net/ethernet/micrel/ksz884x.c
1395
struct dev_info *adapter;
drivers/net/ethernet/micrel/ksz884x.c
4010
static int ksz_alloc_desc(struct dev_info *adapter)
drivers/net/ethernet/micrel/ksz884x.c
4012
struct ksz_hw *hw = &adapter->hw;
drivers/net/ethernet/micrel/ksz884x.c
4016
adapter->desc_pool.alloc_size =
drivers/net/ethernet/micrel/ksz884x.c
4021
adapter->desc_pool.alloc_virt =
drivers/net/ethernet/micrel/ksz884x.c
4022
dma_alloc_coherent(&adapter->pdev->dev,
drivers/net/ethernet/micrel/ksz884x.c
4023
adapter->desc_pool.alloc_size,
drivers/net/ethernet/micrel/ksz884x.c
4024
&adapter->desc_pool.dma_addr, GFP_KERNEL);
drivers/net/ethernet/micrel/ksz884x.c
4025
if (adapter->desc_pool.alloc_virt == NULL) {
drivers/net/ethernet/micrel/ksz884x.c
4026
adapter->desc_pool.alloc_size = 0;
drivers/net/ethernet/micrel/ksz884x.c
4031
offset = (((ulong) adapter->desc_pool.alloc_virt % DESC_ALIGNMENT) ?
drivers/net/ethernet/micrel/ksz884x.c
4033
((ulong) adapter->desc_pool.alloc_virt % DESC_ALIGNMENT)) : 0);
drivers/net/ethernet/micrel/ksz884x.c
4034
adapter->desc_pool.virt = adapter->desc_pool.alloc_virt + offset;
drivers/net/ethernet/micrel/ksz884x.c
4035
adapter->desc_pool.phys = adapter->desc_pool.dma_addr + offset;
drivers/net/ethernet/micrel/ksz884x.c
4039
adapter->desc_pool.virt;
drivers/net/ethernet/micrel/ksz884x.c
4040
hw->rx_desc_info.ring_phys = adapter->desc_pool.phys;
drivers/net/ethernet/micrel/ksz884x.c
4043
(adapter->desc_pool.virt + offset);
drivers/net/ethernet/micrel/ksz884x.c
4044
hw->tx_desc_info.ring_phys = adapter->desc_pool.phys + offset;
drivers/net/ethernet/micrel/ksz884x.c
4062
static void free_dma_buf(struct dev_info *adapter, struct ksz_dma_buf *dma_buf,
drivers/net/ethernet/micrel/ksz884x.c
4065
dma_unmap_single(&adapter->pdev->dev, dma_buf->dma, dma_buf->len,
drivers/net/ethernet/micrel/ksz884x.c
4078
static void ksz_init_rx_buffers(struct dev_info *adapter)
drivers/net/ethernet/micrel/ksz884x.c
4083
struct ksz_hw *hw = &adapter->hw;
drivers/net/ethernet/micrel/ksz884x.c
4090
if (dma_buf->skb && dma_buf->len != adapter->mtu)
drivers/net/ethernet/micrel/ksz884x.c
4091
free_dma_buf(adapter, dma_buf, DMA_FROM_DEVICE);
drivers/net/ethernet/micrel/ksz884x.c
4092
dma_buf->len = adapter->mtu;
drivers/net/ethernet/micrel/ksz884x.c
4096
dma_buf->dma = dma_map_single(&adapter->pdev->dev,
drivers/net/ethernet/micrel/ksz884x.c
4117
static int ksz_alloc_mem(struct dev_info *adapter)
drivers/net/ethernet/micrel/ksz884x.c
4119
struct ksz_hw *hw = &adapter->hw;
drivers/net/ethernet/micrel/ksz884x.c
4152
if (ksz_alloc_desc(adapter))
drivers/net/ethernet/micrel/ksz884x.c
4165
static void ksz_free_desc(struct dev_info *adapter)
drivers/net/ethernet/micrel/ksz884x.c
4167
struct ksz_hw *hw = &adapter->hw;
drivers/net/ethernet/micrel/ksz884x.c
4176
if (adapter->desc_pool.alloc_virt)
drivers/net/ethernet/micrel/ksz884x.c
4177
dma_free_coherent(&adapter->pdev->dev,
drivers/net/ethernet/micrel/ksz884x.c
4178
adapter->desc_pool.alloc_size,
drivers/net/ethernet/micrel/ksz884x.c
4179
adapter->desc_pool.alloc_virt,
drivers/net/ethernet/micrel/ksz884x.c
4180
adapter->desc_pool.dma_addr);
drivers/net/ethernet/micrel/ksz884x.c
4183
adapter->desc_pool.alloc_size = 0;
drivers/net/ethernet/micrel/ksz884x.c
4184
adapter->desc_pool.alloc_virt = NULL;
drivers/net/ethernet/micrel/ksz884x.c
4200
static void ksz_free_buffers(struct dev_info *adapter,
drivers/net/ethernet/micrel/ksz884x.c
4210
free_dma_buf(adapter, dma_buf, direction);
drivers/net/ethernet/micrel/ksz884x.c
4221
static void ksz_free_mem(struct dev_info *adapter)
drivers/net/ethernet/micrel/ksz884x.c
4224
ksz_free_buffers(adapter, &adapter->hw.tx_desc_info, DMA_TO_DEVICE);
drivers/net/ethernet/micrel/ksz884x.c
4227
ksz_free_buffers(adapter, &adapter->hw.rx_desc_info, DMA_FROM_DEVICE);
drivers/net/ethernet/micrel/ksz884x.c
4230
ksz_free_desc(adapter);
drivers/net/ethernet/micrel/ksz884x.c
4261
struct dev_info *hw_priv = priv->adapter;
drivers/net/ethernet/micrel/ksz884x.c
4456
struct dev_info *hw_priv = priv->adapter;
drivers/net/ethernet/micrel/ksz884x.c
4531
struct dev_info *hw_priv = priv->adapter;
drivers/net/ethernet/micrel/ksz884x.c
4612
struct dev_info *hw_priv = priv->adapter;
drivers/net/ethernet/micrel/ksz884x.c
4863
struct dev_info *hw_priv = priv->adapter;
drivers/net/ethernet/micrel/ksz884x.c
4935
struct dev_info *hw_priv = priv->adapter;
drivers/net/ethernet/micrel/ksz884x.c
4975
struct dev_info *hw_priv = priv->adapter;
drivers/net/ethernet/micrel/ksz884x.c
5062
struct dev_info *hw_priv = priv->adapter;
drivers/net/ethernet/micrel/ksz884x.c
5112
struct dev_info *hw_priv = priv->adapter;
drivers/net/ethernet/micrel/ksz884x.c
5217
struct ksz_hw *hw = &priv->adapter->hw;
drivers/net/ethernet/micrel/ksz884x.c
5272
struct dev_info *hw_priv = priv->adapter;
drivers/net/ethernet/micrel/ksz884x.c
5360
struct dev_info *hw_priv = priv->adapter;
drivers/net/ethernet/micrel/ksz884x.c
5408
struct dev_info *hw_priv = priv->adapter;
drivers/net/ethernet/micrel/ksz884x.c
5448
struct dev_info *hw_priv = priv->adapter;
drivers/net/ethernet/micrel/ksz884x.c
5567
struct dev_info *hw_priv = priv->adapter;
drivers/net/ethernet/micrel/ksz884x.c
5594
struct dev_info *hw_priv = priv->adapter;
drivers/net/ethernet/micrel/ksz884x.c
5664
struct dev_info *hw_priv = priv->adapter;
drivers/net/ethernet/micrel/ksz884x.c
5701
struct dev_info *hw_priv = priv->adapter;
drivers/net/ethernet/micrel/ksz884x.c
5754
struct dev_info *hw_priv = priv->adapter;
drivers/net/ethernet/micrel/ksz884x.c
5792
struct dev_info *hw_priv = priv->adapter;
drivers/net/ethernet/micrel/ksz884x.c
5812
struct dev_info *hw_priv = priv->adapter;
drivers/net/ethernet/micrel/ksz884x.c
5887
struct dev_info *hw_priv = priv->adapter;
drivers/net/ethernet/micrel/ksz884x.c
5915
struct dev_info *hw_priv = priv->adapter;
drivers/net/ethernet/micrel/ksz884x.c
5949
struct dev_info *hw_priv = priv->adapter;
drivers/net/ethernet/micrel/ksz884x.c
5982
struct dev_info *hw_priv = priv->adapter;
drivers/net/ethernet/micrel/ksz884x.c
6031
struct dev_info *hw_priv = priv->adapter;
drivers/net/ethernet/micrel/ksz884x.c
6094
struct dev_info *hw_priv = priv->adapter;
drivers/net/ethernet/micrel/ksz884x.c
6114
struct dev_info *hw_priv = priv->adapter;
drivers/net/ethernet/micrel/ksz884x.c
6137
struct dev_info *hw_priv = priv->adapter;
drivers/net/ethernet/micrel/ksz884x.c
6205
struct dev_info *hw_priv = priv->adapter;
drivers/net/ethernet/micrel/ksz884x.c
6338
struct dev_info *hw_priv = priv->adapter;
drivers/net/ethernet/micrel/ksz884x.c
6693
priv->adapter = hw_priv;
drivers/net/ethernet/microchip/lan743x_ethtool.c
100
ret = lan743x_otp_power_up(adapter);
drivers/net/ethernet/microchip/lan743x_ethtool.c
1001
struct lan743x_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/microchip/lan743x_ethtool.c
1021
lan743x_csr_write(adapter, RFE_INDX(dword_index),
drivers/net/ethernet/microchip/lan743x_ethtool.c
1037
lan743x_csr_write(adapter, RFE_HASH_KEY(dword_index),
drivers/net/ethernet/microchip/lan743x_ethtool.c
104
ret = lan743x_otp_wait_till_not_busy(adapter);
drivers/net/ethernet/microchip/lan743x_ethtool.c
1047
struct lan743x_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/microchip/lan743x_ethtool.c
1054
if (adapter->ptp.ptp_clock)
drivers/net/ethernet/microchip/lan743x_ethtool.c
1055
ts_info->phc_index = ptp_clock_index(adapter->ptp.ptp_clock);
drivers/net/ethernet/microchip/lan743x_ethtool.c
1069
struct lan743x_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/microchip/lan743x_ethtool.c
1071
return phylink_ethtool_get_eee(adapter->phylink, eee);
drivers/net/ethernet/microchip/lan743x_ethtool.c
1077
struct lan743x_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/microchip/lan743x_ethtool.c
1079
return phylink_ethtool_set_eee(adapter->phylink, eee);
drivers/net/ethernet/microchip/lan743x_ethtool.c
1086
struct lan743x_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/microchip/lan743x_ethtool.c
1088
return phylink_ethtool_ksettings_set(adapter->phylink, cmd);
drivers/net/ethernet/microchip/lan743x_ethtool.c
109
lan743x_otp_set_address(adapter, offset + i);
drivers/net/ethernet/microchip/lan743x_ethtool.c
1095
struct lan743x_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/microchip/lan743x_ethtool.c
1097
return phylink_ethtool_ksettings_get(adapter->phylink, cmd);
drivers/net/ethernet/microchip/lan743x_ethtool.c
1104
struct lan743x_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/microchip/lan743x_ethtool.c
1109
phylink_ethtool_get_wol(adapter->phylink, wol);
drivers/net/ethernet/microchip/lan743x_ethtool.c
111
lan743x_otp_read_go(adapter);
drivers/net/ethernet/microchip/lan743x_ethtool.c
1111
if (wol->supported != adapter->phy_wol_supported)
drivers/net/ethernet/microchip/lan743x_ethtool.c
1112
netif_warn(adapter, drv, adapter->netdev,
drivers/net/ethernet/microchip/lan743x_ethtool.c
1114
adapter->phy_wol_supported, wol->supported);
drivers/net/ethernet/microchip/lan743x_ethtool.c
1118
if (adapter->is_pci11x1x)
drivers/net/ethernet/microchip/lan743x_ethtool.c
112
ret = lan743x_otp_wait_till_not_busy(adapter);
drivers/net/ethernet/microchip/lan743x_ethtool.c
1121
wol->wolopts |= adapter->wolopts;
drivers/net/ethernet/microchip/lan743x_ethtool.c
1122
if (adapter->wolopts & WAKE_MAGICSECURE)
drivers/net/ethernet/microchip/lan743x_ethtool.c
1123
memcpy(wol->sopass, adapter->sopass, sizeof(wol->sopass));
drivers/net/ethernet/microchip/lan743x_ethtool.c
1129
struct lan743x_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/microchip/lan743x_ethtool.c
1141
phy_wol.wolopts = wol->wolopts & adapter->phy_wol_supported;
drivers/net/ethernet/microchip/lan743x_ethtool.c
1147
!(adapter->phy_wol_supported & WAKE_MAGICSECURE))
drivers/net/ethernet/microchip/lan743x_ethtool.c
115
data[i] = lan743x_csr_read(adapter, OTP_READ_DATA);
drivers/net/ethernet/microchip/lan743x_ethtool.c
1150
ret = phylink_ethtool_set_wol(adapter->phylink, wol);
drivers/net/ethernet/microchip/lan743x_ethtool.c
1155
adapter->phy_wolopts = 0;
drivers/net/ethernet/microchip/lan743x_ethtool.c
1157
adapter->phy_wolopts = phy_wol.wolopts;
drivers/net/ethernet/microchip/lan743x_ethtool.c
1159
adapter->phy_wolopts = 0;
drivers/net/ethernet/microchip/lan743x_ethtool.c
1162
adapter->wolopts = 0;
drivers/net/ethernet/microchip/lan743x_ethtool.c
1163
wol->wolopts &= ~adapter->phy_wolopts;
drivers/net/ethernet/microchip/lan743x_ethtool.c
1165
adapter->wolopts |= WAKE_UCAST;
drivers/net/ethernet/microchip/lan743x_ethtool.c
1167
adapter->wolopts |= WAKE_MCAST;
drivers/net/ethernet/microchip/lan743x_ethtool.c
1169
adapter->wolopts |= WAKE_BCAST;
drivers/net/ethernet/microchip/lan743x_ethtool.c
1171
adapter->wolopts |= WAKE_MAGIC;
drivers/net/ethernet/microchip/lan743x_ethtool.c
1173
adapter->wolopts |= WAKE_PHY;
drivers/net/ethernet/microchip/lan743x_ethtool.c
1175
adapter->wolopts |= WAKE_ARP;
drivers/net/ethernet/microchip/lan743x_ethtool.c
1178
memcpy(adapter->sopass, wol->sopass, sizeof(wol->sopass));
drivers/net/ethernet/microchip/lan743x_ethtool.c
1179
adapter->wolopts |= WAKE_MAGICSECURE;
drivers/net/ethernet/microchip/lan743x_ethtool.c
118
lan743x_otp_power_down(adapter);
drivers/net/ethernet/microchip/lan743x_ethtool.c
1181
memset(adapter->sopass, 0, sizeof(u8) * SOPASS_MAX);
drivers/net/ethernet/microchip/lan743x_ethtool.c
1184
wol->wolopts = adapter->wolopts | adapter->phy_wolopts;
drivers/net/ethernet/microchip/lan743x_ethtool.c
1185
device_set_wakeup_enable(&adapter->pdev->dev, (bool)wol->wolopts);
drivers/net/ethernet/microchip/lan743x_ethtool.c
1193
struct lan743x_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/microchip/lan743x_ethtool.c
1198
rb[ETH_PRIV_FLAGS] = adapter->flags;
drivers/net/ethernet/microchip/lan743x_ethtool.c
1199
rb[ETH_ID_REV] = lan743x_csr_read(adapter, ID_REV);
drivers/net/ethernet/microchip/lan743x_ethtool.c
1200
rb[ETH_FPGA_REV] = lan743x_csr_read(adapter, FPGA_REV);
drivers/net/ethernet/microchip/lan743x_ethtool.c
1201
rb[ETH_STRAP_READ] = lan743x_csr_read(adapter, STRAP_READ);
drivers/net/ethernet/microchip/lan743x_ethtool.c
1202
rb[ETH_INT_STS] = lan743x_csr_read(adapter, INT_STS);
drivers/net/ethernet/microchip/lan743x_ethtool.c
1203
rb[ETH_HW_CFG] = lan743x_csr_read(adapter, HW_CFG);
drivers/net/ethernet/microchip/lan743x_ethtool.c
1204
rb[ETH_PMT_CTL] = lan743x_csr_read(adapter, PMT_CTL);
drivers/net/ethernet/microchip/lan743x_ethtool.c
1205
rb[ETH_E2P_CMD] = lan743x_csr_read(adapter, E2P_CMD);
drivers/net/ethernet/microchip/lan743x_ethtool.c
1206
rb[ETH_E2P_DATA] = lan743x_csr_read(adapter, E2P_DATA);
drivers/net/ethernet/microchip/lan743x_ethtool.c
1207
rb[ETH_MAC_CR] = lan743x_csr_read(adapter, MAC_CR);
drivers/net/ethernet/microchip/lan743x_ethtool.c
1208
rb[ETH_MAC_RX] = lan743x_csr_read(adapter, MAC_RX);
drivers/net/ethernet/microchip/lan743x_ethtool.c
1209
rb[ETH_MAC_TX] = lan743x_csr_read(adapter, MAC_TX);
drivers/net/ethernet/microchip/lan743x_ethtool.c
1210
rb[ETH_FLOW] = lan743x_csr_read(adapter, MAC_FLOW);
drivers/net/ethernet/microchip/lan743x_ethtool.c
1211
rb[ETH_MII_ACC] = lan743x_csr_read(adapter, MAC_MII_ACC);
drivers/net/ethernet/microchip/lan743x_ethtool.c
1212
rb[ETH_MII_DATA] = lan743x_csr_read(adapter, MAC_MII_DATA);
drivers/net/ethernet/microchip/lan743x_ethtool.c
1213
rb[ETH_EEE_TX_LPI_REQ_DLY] = lan743x_csr_read(adapter,
drivers/net/ethernet/microchip/lan743x_ethtool.c
1215
rb[ETH_WUCSR] = lan743x_csr_read(adapter, MAC_WUCSR);
drivers/net/ethernet/microchip/lan743x_ethtool.c
1216
rb[ETH_WK_SRC] = lan743x_csr_read(adapter, MAC_WK_SRC);
drivers/net/ethernet/microchip/lan743x_ethtool.c
123
static int lan743x_otp_write(struct lan743x_adapter *adapter, u32 offset,
drivers/net/ethernet/microchip/lan743x_ethtool.c
1305
struct lan743x_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/microchip/lan743x_ethtool.c
1308
if (adapter->is_sgmii_en)
drivers/net/ethernet/microchip/lan743x_ethtool.c
1317
struct lan743x_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/microchip/lan743x_ethtool.c
132
ret = lan743x_otp_power_up(adapter);
drivers/net/ethernet/microchip/lan743x_ethtool.c
1329
if (adapter->is_sgmii_en) {
drivers/net/ethernet/microchip/lan743x_ethtool.c
1338
struct lan743x_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/microchip/lan743x_ethtool.c
1340
phylink_ethtool_get_pauseparam(adapter->phylink, pause);
drivers/net/ethernet/microchip/lan743x_ethtool.c
1346
struct lan743x_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/microchip/lan743x_ethtool.c
1348
return phylink_ethtool_set_pauseparam(adapter->phylink, pause);
drivers/net/ethernet/microchip/lan743x_ethtool.c
136
ret = lan743x_otp_wait_till_not_busy(adapter);
drivers/net/ethernet/microchip/lan743x_ethtool.c
141
lan743x_csr_write(adapter, OTP_PRGM_MODE, OTP_PRGM_MODE_BYTE_);
drivers/net/ethernet/microchip/lan743x_ethtool.c
144
lan743x_otp_set_address(adapter, offset + i);
drivers/net/ethernet/microchip/lan743x_ethtool.c
146
lan743x_csr_write(adapter, OTP_PRGM_DATA, data[i]);
drivers/net/ethernet/microchip/lan743x_ethtool.c
147
lan743x_csr_write(adapter, OTP_TST_CMD, OTP_TST_CMD_PRGVRFY_);
drivers/net/ethernet/microchip/lan743x_ethtool.c
148
lan743x_csr_write(adapter, OTP_CMD_GO, OTP_CMD_GO_GO_);
drivers/net/ethernet/microchip/lan743x_ethtool.c
150
ret = lan743x_otp_wait_till_not_busy(adapter);
drivers/net/ethernet/microchip/lan743x_ethtool.c
155
lan743x_otp_power_down(adapter);
drivers/net/ethernet/microchip/lan743x_ethtool.c
160
int lan743x_hs_syslock_acquire(struct lan743x_adapter *adapter,
drivers/net/ethernet/microchip/lan743x_ethtool.c
167
spin_lock(&adapter->eth_syslock_spinlock);
drivers/net/ethernet/microchip/lan743x_ethtool.c
168
if (adapter->eth_syslock_acquire_cnt == 0) {
drivers/net/ethernet/microchip/lan743x_ethtool.c
169
lan743x_csr_write(adapter, ETH_SYSTEM_SYS_LOCK_REG,
drivers/net/ethernet/microchip/lan743x_ethtool.c
171
val = lan743x_csr_read(adapter,
drivers/net/ethernet/microchip/lan743x_ethtool.c
174
adapter->eth_syslock_acquire_cnt++;
drivers/net/ethernet/microchip/lan743x_ethtool.c
175
WARN_ON(adapter->eth_syslock_acquire_cnt == 0);
drivers/net/ethernet/microchip/lan743x_ethtool.c
176
spin_unlock(&adapter->eth_syslock_spinlock);
drivers/net/ethernet/microchip/lan743x_ethtool.c
180
adapter->eth_syslock_acquire_cnt++;
drivers/net/ethernet/microchip/lan743x_ethtool.c
181
WARN_ON(adapter->eth_syslock_acquire_cnt == 0);
drivers/net/ethernet/microchip/lan743x_ethtool.c
182
spin_unlock(&adapter->eth_syslock_spinlock);
drivers/net/ethernet/microchip/lan743x_ethtool.c
186
spin_unlock(&adapter->eth_syslock_spinlock);
drivers/net/ethernet/microchip/lan743x_ethtool.c
197
void lan743x_hs_syslock_release(struct lan743x_adapter *adapter)
drivers/net/ethernet/microchip/lan743x_ethtool.c
201
spin_lock(&adapter->eth_syslock_spinlock);
drivers/net/ethernet/microchip/lan743x_ethtool.c
202
WARN_ON(adapter->eth_syslock_acquire_cnt == 0);
drivers/net/ethernet/microchip/lan743x_ethtool.c
204
if (adapter->eth_syslock_acquire_cnt) {
drivers/net/ethernet/microchip/lan743x_ethtool.c
205
adapter->eth_syslock_acquire_cnt--;
drivers/net/ethernet/microchip/lan743x_ethtool.c
206
if (adapter->eth_syslock_acquire_cnt == 0) {
drivers/net/ethernet/microchip/lan743x_ethtool.c
207
lan743x_csr_write(adapter, ETH_SYSTEM_SYS_LOCK_REG, 0);
drivers/net/ethernet/microchip/lan743x_ethtool.c
208
val = lan743x_csr_read(adapter,
drivers/net/ethernet/microchip/lan743x_ethtool.c
214
spin_unlock(&adapter->eth_syslock_spinlock);
drivers/net/ethernet/microchip/lan743x_ethtool.c
217
static void lan743x_hs_otp_power_up(struct lan743x_adapter *adapter)
drivers/net/ethernet/microchip/lan743x_ethtool.c
221
reg_value = lan743x_csr_read(adapter, HS_OTP_PWR_DN);
drivers/net/ethernet/microchip/lan743x_ethtool.c
224
lan743x_csr_write(adapter, HS_OTP_PWR_DN, reg_value);
drivers/net/ethernet/microchip/lan743x_ethtool.c
228
lan743x_csr_read(adapter, HS_OTP_PWR_DN);
drivers/net/ethernet/microchip/lan743x_ethtool.c
233
static void lan743x_hs_otp_power_down(struct lan743x_adapter *adapter)
drivers/net/ethernet/microchip/lan743x_ethtool.c
237
reg_value = lan743x_csr_read(adapter, HS_OTP_PWR_DN);
drivers/net/ethernet/microchip/lan743x_ethtool.c
240
lan743x_csr_write(adapter, HS_OTP_PWR_DN, reg_value);
drivers/net/ethernet/microchip/lan743x_ethtool.c
244
lan743x_csr_read(adapter, HS_OTP_PWR_DN);
drivers/net/ethernet/microchip/lan743x_ethtool.c
249
static void lan743x_hs_otp_set_address(struct lan743x_adapter *adapter,
drivers/net/ethernet/microchip/lan743x_ethtool.c
252
lan743x_csr_write(adapter, HS_OTP_ADDR_HIGH, (address >> 8) & 0x03);
drivers/net/ethernet/microchip/lan743x_ethtool.c
253
lan743x_csr_write(adapter, HS_OTP_ADDR_LOW, address & 0xFF);
drivers/net/ethernet/microchip/lan743x_ethtool.c
256
static void lan743x_hs_otp_read_go(struct lan743x_adapter *adapter)
drivers/net/ethernet/microchip/lan743x_ethtool.c
258
lan743x_csr_write(adapter, HS_OTP_FUNC_CMD, OTP_FUNC_CMD_READ_);
drivers/net/ethernet/microchip/lan743x_ethtool.c
259
lan743x_csr_write(adapter, HS_OTP_CMD_GO, OTP_CMD_GO_GO_);
drivers/net/ethernet/microchip/lan743x_ethtool.c
262
static int lan743x_hs_otp_cmd_cmplt_chk(struct lan743x_adapter *adapter)
drivers/net/ethernet/microchip/lan743x_ethtool.c
271
static int lan743x_hs_otp_read(struct lan743x_adapter *adapter, u32 offset,
drivers/net/ethernet/microchip/lan743x_ethtool.c
28
#define LAN743X_CSR_READ_OP(offset) lan743x_csr_read(adapter, offset)
drivers/net/ethernet/microchip/lan743x_ethtool.c
280
ret = lan743x_hs_syslock_acquire(adapter, LOCK_TIMEOUT_MAX_CNT);
drivers/net/ethernet/microchip/lan743x_ethtool.c
284
lan743x_hs_otp_power_up(adapter);
drivers/net/ethernet/microchip/lan743x_ethtool.c
286
ret = lan743x_hs_otp_cmd_cmplt_chk(adapter);
drivers/net/ethernet/microchip/lan743x_ethtool.c
290
lan743x_hs_syslock_release(adapter);
drivers/net/ethernet/microchip/lan743x_ethtool.c
293
ret = lan743x_hs_syslock_acquire(adapter,
drivers/net/ethernet/microchip/lan743x_ethtool.c
298
lan743x_hs_otp_set_address(adapter, offset + i);
drivers/net/ethernet/microchip/lan743x_ethtool.c
30
static int lan743x_otp_power_up(struct lan743x_adapter *adapter)
drivers/net/ethernet/microchip/lan743x_ethtool.c
300
lan743x_hs_otp_read_go(adapter);
drivers/net/ethernet/microchip/lan743x_ethtool.c
301
ret = lan743x_hs_otp_cmd_cmplt_chk(adapter);
drivers/net/ethernet/microchip/lan743x_ethtool.c
305
data[i] = lan743x_csr_read(adapter, HS_OTP_READ_DATA);
drivers/net/ethernet/microchip/lan743x_ethtool.c
307
lan743x_hs_syslock_release(adapter);
drivers/net/ethernet/microchip/lan743x_ethtool.c
310
ret = lan743x_hs_syslock_acquire(adapter,
drivers/net/ethernet/microchip/lan743x_ethtool.c
316
lan743x_hs_otp_power_down(adapter);
drivers/net/ethernet/microchip/lan743x_ethtool.c
317
lan743x_hs_syslock_release(adapter);
drivers/net/ethernet/microchip/lan743x_ethtool.c
322
static int lan743x_hs_otp_write(struct lan743x_adapter *adapter, u32 offset,
drivers/net/ethernet/microchip/lan743x_ethtool.c
331
ret = lan743x_hs_syslock_acquire(adapter, LOCK_TIMEOUT_MAX_CNT);
drivers/net/ethernet/microchip/lan743x_ethtool.c
335
lan743x_hs_otp_power_up(adapter);
drivers/net/ethernet/microchip/lan743x_ethtool.c
337
ret = lan743x_hs_otp_cmd_cmplt_chk(adapter);
drivers/net/ethernet/microchip/lan743x_ethtool.c
34
reg_value = lan743x_csr_read(adapter, OTP_PWR_DN);
drivers/net/ethernet/microchip/lan743x_ethtool.c
342
lan743x_csr_write(adapter, HS_OTP_PRGM_MODE, OTP_PRGM_MODE_BYTE_);
drivers/net/ethernet/microchip/lan743x_ethtool.c
344
lan743x_hs_syslock_release(adapter);
drivers/net/ethernet/microchip/lan743x_ethtool.c
347
ret = lan743x_hs_syslock_acquire(adapter,
drivers/net/ethernet/microchip/lan743x_ethtool.c
352
lan743x_hs_otp_set_address(adapter, offset + i);
drivers/net/ethernet/microchip/lan743x_ethtool.c
354
lan743x_csr_write(adapter, HS_OTP_PRGM_DATA, data[i]);
drivers/net/ethernet/microchip/lan743x_ethtool.c
355
lan743x_csr_write(adapter, HS_OTP_TST_CMD,
drivers/net/ethernet/microchip/lan743x_ethtool.c
357
lan743x_csr_write(adapter, HS_OTP_CMD_GO, OTP_CMD_GO_GO_);
drivers/net/ethernet/microchip/lan743x_ethtool.c
359
ret = lan743x_hs_otp_cmd_cmplt_chk(adapter);
drivers/net/ethernet/microchip/lan743x_ethtool.c
363
lan743x_hs_syslock_release(adapter);
drivers/net/ethernet/microchip/lan743x_ethtool.c
366
ret = lan743x_hs_syslock_acquire(adapter, LOCK_TIMEOUT_MAX_CNT);
drivers/net/ethernet/microchip/lan743x_ethtool.c
371
lan743x_hs_otp_power_down(adapter);
drivers/net/ethernet/microchip/lan743x_ethtool.c
372
lan743x_hs_syslock_release(adapter);
drivers/net/ethernet/microchip/lan743x_ethtool.c
377
static int lan743x_eeprom_wait(struct lan743x_adapter *adapter)
drivers/net/ethernet/microchip/lan743x_ethtool.c
383
val = lan743x_csr_read(adapter, E2P_CMD);
drivers/net/ethernet/microchip/lan743x_ethtool.c
39
lan743x_csr_write(adapter, OTP_PWR_DN, reg_value);
drivers/net/ethernet/microchip/lan743x_ethtool.c
392
netif_warn(adapter, drv, adapter->netdev,
drivers/net/ethernet/microchip/lan743x_ethtool.c
400
static int lan743x_eeprom_confirm_not_busy(struct lan743x_adapter *adapter)
drivers/net/ethernet/microchip/lan743x_ethtool.c
406
val = lan743x_csr_read(adapter, E2P_CMD);
drivers/net/ethernet/microchip/lan743x_ethtool.c
414
netif_warn(adapter, drv, adapter->netdev, "EEPROM is busy\n");
drivers/net/ethernet/microchip/lan743x_ethtool.c
418
static int lan743x_eeprom_read(struct lan743x_adapter *adapter,
drivers/net/ethernet/microchip/lan743x_ethtool.c
428
retval = lan743x_eeprom_confirm_not_busy(adapter);
drivers/net/ethernet/microchip/lan743x_ethtool.c
435
lan743x_csr_write(adapter, E2P_CMD, val);
drivers/net/ethernet/microchip/lan743x_ethtool.c
437
retval = lan743x_eeprom_wait(adapter);
drivers/net/ethernet/microchip/lan743x_ethtool.c
441
val = lan743x_csr_read(adapter, E2P_DATA);
drivers/net/ethernet/microchip/lan743x_ethtool.c
449
static int lan743x_eeprom_write(struct lan743x_adapter *adapter,
drivers/net/ethernet/microchip/lan743x_ethtool.c
459
retval = lan743x_eeprom_confirm_not_busy(adapter);
drivers/net/ethernet/microchip/lan743x_ethtool.c
465
lan743x_csr_write(adapter, E2P_CMD, val);
drivers/net/ethernet/microchip/lan743x_ethtool.c
467
retval = lan743x_eeprom_wait(adapter);
drivers/net/ethernet/microchip/lan743x_ethtool.c
47
static void lan743x_otp_power_down(struct lan743x_adapter *adapter)
drivers/net/ethernet/microchip/lan743x_ethtool.c
474
lan743x_csr_write(adapter, E2P_DATA, val);
drivers/net/ethernet/microchip/lan743x_ethtool.c
479
lan743x_csr_write(adapter, E2P_CMD, val);
drivers/net/ethernet/microchip/lan743x_ethtool.c
481
retval = lan743x_eeprom_wait(adapter);
drivers/net/ethernet/microchip/lan743x_ethtool.c
491
static int lan743x_hs_eeprom_cmd_cmplt_chk(struct lan743x_adapter *adapter)
drivers/net/ethernet/microchip/lan743x_ethtool.c
501
static int lan743x_hs_eeprom_read(struct lan743x_adapter *adapter,
drivers/net/ethernet/microchip/lan743x_ethtool.c
51
reg_value = lan743x_csr_read(adapter, OTP_PWR_DN);
drivers/net/ethernet/microchip/lan743x_ethtool.c
511
retval = lan743x_hs_syslock_acquire(adapter, LOCK_TIMEOUT_MAX_CNT);
drivers/net/ethernet/microchip/lan743x_ethtool.c
515
retval = lan743x_hs_eeprom_cmd_cmplt_chk(adapter);
drivers/net/ethernet/microchip/lan743x_ethtool.c
516
lan743x_hs_syslock_release(adapter);
drivers/net/ethernet/microchip/lan743x_ethtool.c
521
retval = lan743x_hs_syslock_acquire(adapter,
drivers/net/ethernet/microchip/lan743x_ethtool.c
528
lan743x_csr_write(adapter, HS_E2P_CMD, val);
drivers/net/ethernet/microchip/lan743x_ethtool.c
529
retval = lan743x_hs_eeprom_cmd_cmplt_chk(adapter);
drivers/net/ethernet/microchip/lan743x_ethtool.c
531
lan743x_hs_syslock_release(adapter);
drivers/net/ethernet/microchip/lan743x_ethtool.c
535
val = lan743x_csr_read(adapter, HS_E2P_DATA);
drivers/net/ethernet/microchip/lan743x_ethtool.c
537
lan743x_hs_syslock_release(adapter);
drivers/net/ethernet/microchip/lan743x_ethtool.c
546
static int lan743x_hs_eeprom_write(struct lan743x_adapter *adapter,
drivers/net/ethernet/microchip/lan743x_ethtool.c
55
lan743x_csr_write(adapter, OTP_PWR_DN, reg_value);
drivers/net/ethernet/microchip/lan743x_ethtool.c
556
retval = lan743x_hs_syslock_acquire(adapter, LOCK_TIMEOUT_MAX_CNT);
drivers/net/ethernet/microchip/lan743x_ethtool.c
560
retval = lan743x_hs_eeprom_cmd_cmplt_chk(adapter);
drivers/net/ethernet/microchip/lan743x_ethtool.c
561
lan743x_hs_syslock_release(adapter);
drivers/net/ethernet/microchip/lan743x_ethtool.c
566
retval = lan743x_hs_syslock_acquire(adapter,
drivers/net/ethernet/microchip/lan743x_ethtool.c
573
lan743x_csr_write(adapter, HS_E2P_DATA, val);
drivers/net/ethernet/microchip/lan743x_ethtool.c
578
lan743x_csr_write(adapter, HS_E2P_CMD, val);
drivers/net/ethernet/microchip/lan743x_ethtool.c
580
retval = lan743x_hs_eeprom_cmd_cmplt_chk(adapter);
drivers/net/ethernet/microchip/lan743x_ethtool.c
581
lan743x_hs_syslock_release(adapter);
drivers/net/ethernet/microchip/lan743x_ethtool.c
59
static void lan743x_otp_set_address(struct lan743x_adapter *adapter,
drivers/net/ethernet/microchip/lan743x_ethtool.c
594
struct lan743x_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/microchip/lan743x_ethtool.c
598
pci_name(adapter->pdev), sizeof(info->bus_info));
drivers/net/ethernet/microchip/lan743x_ethtool.c
603
struct lan743x_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/microchip/lan743x_ethtool.c
605
return adapter->msg_enable;
drivers/net/ethernet/microchip/lan743x_ethtool.c
611
struct lan743x_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/microchip/lan743x_ethtool.c
613
adapter->msg_enable = msglevel;
drivers/net/ethernet/microchip/lan743x_ethtool.c
618
struct lan743x_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/microchip/lan743x_ethtool.c
62
lan743x_csr_write(adapter, OTP_ADDR_HIGH, (address >> 8) & 0x03);
drivers/net/ethernet/microchip/lan743x_ethtool.c
620
if (adapter->flags & LAN743X_ADAPTER_FLAG_OTP)
drivers/net/ethernet/microchip/lan743x_ethtool.c
621
return adapter->is_pci11x1x ? MAX_HS_OTP_SIZE : MAX_OTP_SIZE;
drivers/net/ethernet/microchip/lan743x_ethtool.c
623
return adapter->is_pci11x1x ? MAX_HS_EEPROM_SIZE : MAX_EEPROM_SIZE;
drivers/net/ethernet/microchip/lan743x_ethtool.c
629
struct lan743x_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/microchip/lan743x_ethtool.c
63
lan743x_csr_write(adapter, OTP_ADDR_LOW, address & 0xFF);
drivers/net/ethernet/microchip/lan743x_ethtool.c
632
if (adapter->flags & LAN743X_ADAPTER_FLAG_OTP) {
drivers/net/ethernet/microchip/lan743x_ethtool.c
633
if (adapter->is_pci11x1x)
drivers/net/ethernet/microchip/lan743x_ethtool.c
634
ret = lan743x_hs_otp_read(adapter, ee->offset,
drivers/net/ethernet/microchip/lan743x_ethtool.c
637
ret = lan743x_otp_read(adapter, ee->offset,
drivers/net/ethernet/microchip/lan743x_ethtool.c
640
if (adapter->is_pci11x1x)
drivers/net/ethernet/microchip/lan743x_ethtool.c
641
ret = lan743x_hs_eeprom_read(adapter, ee->offset,
drivers/net/ethernet/microchip/lan743x_ethtool.c
644
ret = lan743x_eeprom_read(adapter, ee->offset,
drivers/net/ethernet/microchip/lan743x_ethtool.c
654
struct lan743x_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/microchip/lan743x_ethtool.c
657
if (adapter->flags & LAN743X_ADAPTER_FLAG_OTP) {
drivers/net/ethernet/microchip/lan743x_ethtool.c
66
static void lan743x_otp_read_go(struct lan743x_adapter *adapter)
drivers/net/ethernet/microchip/lan743x_ethtool.c
660
if (adapter->is_pci11x1x)
drivers/net/ethernet/microchip/lan743x_ethtool.c
661
ret = lan743x_hs_otp_write(adapter, ee->offset,
drivers/net/ethernet/microchip/lan743x_ethtool.c
664
ret = lan743x_otp_write(adapter, ee->offset,
drivers/net/ethernet/microchip/lan743x_ethtool.c
669
if (adapter->is_pci11x1x)
drivers/net/ethernet/microchip/lan743x_ethtool.c
670
ret = lan743x_hs_eeprom_write(adapter,
drivers/net/ethernet/microchip/lan743x_ethtool.c
674
ret = lan743x_eeprom_write(adapter, ee->offset,
drivers/net/ethernet/microchip/lan743x_ethtool.c
68
lan743x_csr_write(adapter, OTP_FUNC_CMD, OTP_FUNC_CMD_READ_);
drivers/net/ethernet/microchip/lan743x_ethtool.c
69
lan743x_csr_write(adapter, OTP_CMD_GO, OTP_CMD_GO_GO_);
drivers/net/ethernet/microchip/lan743x_ethtool.c
72
static int lan743x_otp_wait_till_not_busy(struct lan743x_adapter *adapter)
drivers/net/ethernet/microchip/lan743x_ethtool.c
80
netif_warn(adapter, drv, adapter->netdev,
drivers/net/ethernet/microchip/lan743x_ethtool.c
818
struct lan743x_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/microchip/lan743x_ethtool.c
831
if (adapter->is_pci11x1x) {
drivers/net/ethernet/microchip/lan743x_ethtool.c
85
reg_val = lan743x_csr_read(adapter, OTP_STATUS);
drivers/net/ethernet/microchip/lan743x_ethtool.c
850
struct lan743x_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/microchip/lan743x_ethtool.c
858
buf = lan743x_csr_read(adapter, lan743x_set0_hw_cnt_addr[i]);
drivers/net/ethernet/microchip/lan743x_ethtool.c
861
for (i = 0; i < ARRAY_SIZE(adapter->rx); i++)
drivers/net/ethernet/microchip/lan743x_ethtool.c
862
data[data_index++] = (u64)(adapter->rx[i].frame_count);
drivers/net/ethernet/microchip/lan743x_ethtool.c
864
buf = lan743x_csr_read(adapter, lan743x_set2_hw_cnt_addr[i]);
drivers/net/ethernet/microchip/lan743x_ethtool.c
867
if (adapter->is_pci11x1x) {
drivers/net/ethernet/microchip/lan743x_ethtool.c
868
for (i = 0; i < ARRAY_SIZE(adapter->tx); i++) {
drivers/net/ethernet/microchip/lan743x_ethtool.c
869
pkt_cnt = (u64)(adapter->tx[i].frame_count);
drivers/net/ethernet/microchip/lan743x_ethtool.c
879
struct lan743x_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/microchip/lan743x_ethtool.c
881
return adapter->flags;
drivers/net/ethernet/microchip/lan743x_ethtool.c
886
struct lan743x_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/microchip/lan743x_ethtool.c
888
adapter->flags = flags;
drivers/net/ethernet/microchip/lan743x_ethtool.c
895
struct lan743x_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/microchip/lan743x_ethtool.c
905
if (adapter->is_pci11x1x)
drivers/net/ethernet/microchip/lan743x_ethtool.c
91
static int lan743x_otp_read(struct lan743x_adapter *adapter, u32 offset,
drivers/net/ethernet/microchip/lan743x_ethtool.c
952
struct lan743x_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/microchip/lan743x_ethtool.c
960
lan743x_csr_read(adapter, RFE_INDX(dw_index));
drivers/net/ethernet/microchip/lan743x_ethtool.c
979
lan743x_csr_read(adapter,
drivers/net/ethernet/microchip/lan743x_main.c
1032
static int lan743x_sgmii_mpll_set(struct lan743x_adapter *adapter,
drivers/net/ethernet/microchip/lan743x_main.c
104
netif_info(adapter, probe, adapter->netdev,
drivers/net/ethernet/microchip/lan743x_main.c
1040
mpllctrl0 = lan743x_sgmii_read(adapter, MDIO_MMD_VEND2,
drivers/net/ethernet/microchip/lan743x_main.c
1056
ret = lan743x_sgmii_write(adapter, MDIO_MMD_VEND2,
drivers/net/ethernet/microchip/lan743x_main.c
1061
ret = lan743x_sgmii_write(adapter, MDIO_MMD_VEND2,
drivers/net/ethernet/microchip/lan743x_main.c
1066
return lan743x_sgmii_write(adapter, MDIO_MMD_VEND2,
drivers/net/ethernet/microchip/lan743x_main.c
1070
static int lan743x_sgmii_2_5G_mode_set(struct lan743x_adapter *adapter,
drivers/net/ethernet/microchip/lan743x_main.c
1074
return lan743x_sgmii_mpll_set(adapter,
drivers/net/ethernet/microchip/lan743x_main.c
1077
return lan743x_sgmii_mpll_set(adapter,
drivers/net/ethernet/microchip/lan743x_main.c
1081
static int lan743x_serdes_clock_and_aneg_update(struct lan743x_adapter *adapter)
drivers/net/ethernet/microchip/lan743x_main.c
1083
enum lan743x_sgmii_lsd lsd = adapter->sgmii_lsd;
drivers/net/ethernet/microchip/lan743x_main.c
1091
ret = lan743x_sgmii_2_5G_mode_set(adapter, true);
drivers/net/ethernet/microchip/lan743x_main.c
1094
ret = lan743x_sgmii_2_5G_mode_set(adapter, false);
drivers/net/ethernet/microchip/lan743x_main.c
1099
mii_ctrl = lan743x_sgmii_read(adapter, MDIO_MMD_VEND2, MII_BMCR);
drivers/net/ethernet/microchip/lan743x_main.c
1103
an_ctrl = lan743x_sgmii_read(adapter, MDIO_MMD_VEND2, VR_MII_AN_CTRL);
drivers/net/ethernet/microchip/lan743x_main.c
1107
dgt_ctrl = lan743x_sgmii_read(adapter, MDIO_MMD_VEND2,
drivers/net/ethernet/microchip/lan743x_main.c
1123
ret = lan743x_sgmii_write(adapter, MDIO_MMD_VEND2,
drivers/net/ethernet/microchip/lan743x_main.c
1134
ret = lan743x_sgmii_write(adapter, MDIO_MMD_VEND2, MII_BMCR,
drivers/net/ethernet/microchip/lan743x_main.c
1139
ret = lan743x_sgmii_write(adapter, MDIO_MMD_VEND2,
drivers/net/ethernet/microchip/lan743x_main.c
1144
return lan743x_sgmii_write(adapter, MDIO_MMD_VEND2,
drivers/net/ethernet/microchip/lan743x_main.c
1148
static int lan743x_pcs_seq_state(struct lan743x_adapter *adapter, u8 state)
drivers/net/ethernet/microchip/lan743x_main.c
1154
dig_sts = lan743x_sgmii_read(adapter, MDIO_MMD_VEND2,
drivers/net/ethernet/microchip/lan743x_main.c
1168
static int lan743x_pcs_power_reset(struct lan743x_adapter *adapter)
drivers/net/ethernet/microchip/lan743x_main.c
1174
mii_ctl = lan743x_sgmii_read(adapter, MDIO_MMD_VEND2, MII_BMCR);
drivers/net/ethernet/microchip/lan743x_main.c
1179
ret = lan743x_sgmii_write(adapter, MDIO_MMD_VEND2, MII_BMCR, mii_ctl);
drivers/net/ethernet/microchip/lan743x_main.c
1183
ret = lan743x_pcs_seq_state(adapter, PCS_POWER_STATE_DOWN);
drivers/net/ethernet/microchip/lan743x_main.c
1189
ret = lan743x_sgmii_write(adapter, MDIO_MMD_VEND2, MII_BMCR, mii_ctl);
drivers/net/ethernet/microchip/lan743x_main.c
119
pci_disable_device(adapter->pdev);
drivers/net/ethernet/microchip/lan743x_main.c
1193
return lan743x_pcs_seq_state(adapter, PCS_POWER_STATE_UP);
drivers/net/ethernet/microchip/lan743x_main.c
1196
static void lan743x_mac_set_address(struct lan743x_adapter *adapter,
drivers/net/ethernet/microchip/lan743x_main.c
1207
lan743x_csr_write(adapter, MAC_RX_ADDRL, addr_lo);
drivers/net/ethernet/microchip/lan743x_main.c
1208
lan743x_csr_write(adapter, MAC_RX_ADDRH, addr_hi);
drivers/net/ethernet/microchip/lan743x_main.c
1210
ether_addr_copy(adapter->mac_address, addr);
drivers/net/ethernet/microchip/lan743x_main.c
1211
netif_info(adapter, drv, adapter->netdev,
drivers/net/ethernet/microchip/lan743x_main.c
1215
static int lan743x_mac_init(struct lan743x_adapter *adapter)
drivers/net/ethernet/microchip/lan743x_main.c
1223
netdev = adapter->netdev;
drivers/net/ethernet/microchip/lan743x_main.c
1226
data = lan743x_csr_read(adapter, MAC_CR);
drivers/net/ethernet/microchip/lan743x_main.c
1229
lan743x_csr_write(adapter, MAC_CR, data);
drivers/net/ethernet/microchip/lan743x_main.c
1231
if (!is_valid_ether_addr(adapter->mac_address)) {
drivers/net/ethernet/microchip/lan743x_main.c
1232
mac_addr_hi = lan743x_csr_read(adapter, MAC_RX_ADDRH);
drivers/net/ethernet/microchip/lan743x_main.c
1233
mac_addr_lo = lan743x_csr_read(adapter, MAC_RX_ADDRL);
drivers/net/ethernet/microchip/lan743x_main.c
1234
adapter->mac_address[0] = mac_addr_lo & 0xFF;
drivers/net/ethernet/microchip/lan743x_main.c
1235
adapter->mac_address[1] = (mac_addr_lo >> 8) & 0xFF;
drivers/net/ethernet/microchip/lan743x_main.c
1236
adapter->mac_address[2] = (mac_addr_lo >> 16) & 0xFF;
drivers/net/ethernet/microchip/lan743x_main.c
1237
adapter->mac_address[3] = (mac_addr_lo >> 24) & 0xFF;
drivers/net/ethernet/microchip/lan743x_main.c
1238
adapter->mac_address[4] = mac_addr_hi & 0xFF;
drivers/net/ethernet/microchip/lan743x_main.c
1239
adapter->mac_address[5] = (mac_addr_hi >> 8) & 0xFF;
drivers/net/ethernet/microchip/lan743x_main.c
1244
} else if (!is_valid_ether_addr(adapter->mac_address)) {
drivers/net/ethernet/microchip/lan743x_main.c
1249
eth_random_addr(adapter->mac_address);
drivers/net/ethernet/microchip/lan743x_main.c
125
u32 lan743x_csr_read(struct lan743x_adapter *adapter, int offset)
drivers/net/ethernet/microchip/lan743x_main.c
1251
lan743x_mac_set_address(adapter, adapter->mac_address);
drivers/net/ethernet/microchip/lan743x_main.c
1252
eth_hw_addr_set(netdev, adapter->mac_address);
drivers/net/ethernet/microchip/lan743x_main.c
1257
static int lan743x_mac_open(struct lan743x_adapter *adapter)
drivers/net/ethernet/microchip/lan743x_main.c
1261
temp = lan743x_csr_read(adapter, MAC_RX);
drivers/net/ethernet/microchip/lan743x_main.c
1262
lan743x_csr_write(adapter, MAC_RX, temp | MAC_RX_RXEN_);
drivers/net/ethernet/microchip/lan743x_main.c
1263
temp = lan743x_csr_read(adapter, MAC_TX);
drivers/net/ethernet/microchip/lan743x_main.c
1264
lan743x_csr_write(adapter, MAC_TX, temp | MAC_TX_TXEN_);
drivers/net/ethernet/microchip/lan743x_main.c
1268
static void lan743x_mac_close(struct lan743x_adapter *adapter)
drivers/net/ethernet/microchip/lan743x_main.c
127
return ioread32(&adapter->csr.csr_address[offset]);
drivers/net/ethernet/microchip/lan743x_main.c
1272
temp = lan743x_csr_read(adapter, MAC_TX);
drivers/net/ethernet/microchip/lan743x_main.c
1274
lan743x_csr_write(adapter, MAC_TX, temp);
drivers/net/ethernet/microchip/lan743x_main.c
1275
lan743x_csr_wait_for_bit(adapter, MAC_TX, MAC_TX_TXD_,
drivers/net/ethernet/microchip/lan743x_main.c
1278
temp = lan743x_csr_read(adapter, MAC_RX);
drivers/net/ethernet/microchip/lan743x_main.c
1280
lan743x_csr_write(adapter, MAC_RX, temp);
drivers/net/ethernet/microchip/lan743x_main.c
1281
lan743x_csr_wait_for_bit(adapter, MAC_RX, MAC_RX_RXD_,
drivers/net/ethernet/microchip/lan743x_main.c
1285
void lan743x_mac_flow_ctrl_set_enables(struct lan743x_adapter *adapter,
drivers/net/ethernet/microchip/lan743x_main.c
1298
lan743x_csr_write(adapter, MAC_FLOW, flow_setting);
drivers/net/ethernet/microchip/lan743x_main.c
130
void lan743x_csr_write(struct lan743x_adapter *adapter, int offset,
drivers/net/ethernet/microchip/lan743x_main.c
1301
static int lan743x_mac_set_mtu(struct lan743x_adapter *adapter, int new_mtu)
drivers/net/ethernet/microchip/lan743x_main.c
1306
mac_rx = lan743x_csr_read(adapter, MAC_RX);
drivers/net/ethernet/microchip/lan743x_main.c
1310
lan743x_csr_write(adapter, MAC_RX, mac_rx);
drivers/net/ethernet/microchip/lan743x_main.c
1314
lan743x_csr_write(adapter, MAC_RX, mac_rx);
drivers/net/ethernet/microchip/lan743x_main.c
1315
lan743x_csr_wait_for_bit(adapter, MAC_RX, MAC_RX_RXD_,
drivers/net/ethernet/microchip/lan743x_main.c
1317
lan743x_csr_write(adapter, MAC_RX, mac_rx | MAC_RX_RXD_);
drivers/net/ethernet/microchip/lan743x_main.c
1323
lan743x_csr_write(adapter, MAC_RX, mac_rx);
drivers/net/ethernet/microchip/lan743x_main.c
1327
lan743x_csr_write(adapter, MAC_RX, mac_rx);
drivers/net/ethernet/microchip/lan743x_main.c
133
iowrite32(data, &adapter->csr.csr_address[offset]);
drivers/net/ethernet/microchip/lan743x_main.c
1333
static int lan743x_hw_reset_phy(struct lan743x_adapter *adapter)
drivers/net/ethernet/microchip/lan743x_main.c
1339
data = lan743x_csr_read(adapter, PMT_CTL);
drivers/net/ethernet/microchip/lan743x_main.c
1341
lan743x_csr_write(adapter, PMT_CTL, data);
drivers/net/ethernet/microchip/lan743x_main.c
1349
static void lan743x_phy_interface_select(struct lan743x_adapter *adapter)
drivers/net/ethernet/microchip/lan743x_main.c
1354
data = lan743x_csr_read(adapter, MAC_CR);
drivers/net/ethernet/microchip/lan743x_main.c
1355
id_rev = adapter->csr.id_rev & ID_REV_ID_MASK_;
drivers/net/ethernet/microchip/lan743x_main.c
1357
if (adapter->is_pci11x1x && adapter->is_sgmii_en)
drivers/net/ethernet/microchip/lan743x_main.c
1358
adapter->phy_interface = PHY_INTERFACE_MODE_SGMII;
drivers/net/ethernet/microchip/lan743x_main.c
136
#define LAN743X_CSR_READ_OP(offset) lan743x_csr_read(adapter, offset)
drivers/net/ethernet/microchip/lan743x_main.c
1360
adapter->phy_interface = PHY_INTERFACE_MODE_GMII;
drivers/net/ethernet/microchip/lan743x_main.c
1362
adapter->phy_interface = PHY_INTERFACE_MODE_MII;
drivers/net/ethernet/microchip/lan743x_main.c
1364
adapter->phy_interface = PHY_INTERFACE_MODE_RGMII;
drivers/net/ethernet/microchip/lan743x_main.c
1366
netif_dbg(adapter, drv, adapter->netdev,
drivers/net/ethernet/microchip/lan743x_main.c
1367
"selected phy interface: 0x%X\n", adapter->phy_interface);
drivers/net/ethernet/microchip/lan743x_main.c
1370
static void lan743x_rfe_open(struct lan743x_adapter *adapter)
drivers/net/ethernet/microchip/lan743x_main.c
1372
lan743x_csr_write(adapter, RFE_RSS_CFG,
drivers/net/ethernet/microchip/lan743x_main.c
138
static int lan743x_csr_light_reset(struct lan743x_adapter *adapter)
drivers/net/ethernet/microchip/lan743x_main.c
1388
static void lan743x_rfe_update_mac_address(struct lan743x_adapter *adapter)
drivers/net/ethernet/microchip/lan743x_main.c
1395
mac_addr = adapter->mac_address;
drivers/net/ethernet/microchip/lan743x_main.c
1403
lan743x_csr_write(adapter, RFE_ADDR_FILT_LO(0), mac_addr_lo);
drivers/net/ethernet/microchip/lan743x_main.c
1404
lan743x_csr_write(adapter, RFE_ADDR_FILT_HI(0),
drivers/net/ethernet/microchip/lan743x_main.c
1408
static void lan743x_rfe_set_multicast(struct lan743x_adapter *adapter)
drivers/net/ethernet/microchip/lan743x_main.c
1410
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/microchip/lan743x_main.c
1415
rfctl = lan743x_csr_read(adapter, RFE_CTL);
drivers/net/ethernet/microchip/lan743x_main.c
142
data = lan743x_csr_read(adapter, HW_CFG);
drivers/net/ethernet/microchip/lan743x_main.c
1439
lan743x_csr_write(adapter,
drivers/net/ethernet/microchip/lan743x_main.c
144
lan743x_csr_write(adapter, HW_CFG, data);
drivers/net/ethernet/microchip/lan743x_main.c
1445
lan743x_csr_write(adapter,
drivers/net/ethernet/microchip/lan743x_main.c
1450
lan743x_csr_write(adapter,
drivers/net/ethernet/microchip/lan743x_main.c
1462
lan743x_dp_write(adapter, DP_SEL_RFE_RAM,
drivers/net/ethernet/microchip/lan743x_main.c
1465
lan743x_csr_write(adapter, RFE_CTL, rfctl);
drivers/net/ethernet/microchip/lan743x_main.c
1468
static int lan743x_dmac_init(struct lan743x_adapter *adapter)
drivers/net/ethernet/microchip/lan743x_main.c
1472
lan743x_csr_write(adapter, DMAC_CMD, DMAC_CMD_SWR_);
drivers/net/ethernet/microchip/lan743x_main.c
1473
lan743x_csr_wait_for_bit(adapter, DMAC_CMD, DMAC_CMD_SWR_,
drivers/net/ethernet/microchip/lan743x_main.c
1491
if (!(adapter->csr.flags & LAN743X_CSR_FLAG_IS_A0))
drivers/net/ethernet/microchip/lan743x_main.c
1495
lan743x_csr_write(adapter, DMAC_CFG, data);
drivers/net/ethernet/microchip/lan743x_main.c
150
static int lan743x_csr_wait_for_bit_atomic(struct lan743x_adapter *adapter,
drivers/net/ethernet/microchip/lan743x_main.c
1503
lan743x_csr_write(adapter, DMAC_COAL_CFG, data);
drivers/net/ethernet/microchip/lan743x_main.c
1506
lan743x_csr_write(adapter, DMAC_OBFF_CFG, data);
drivers/net/ethernet/microchip/lan743x_main.c
1510
static int lan743x_dmac_tx_get_state(struct lan743x_adapter *adapter,
drivers/net/ethernet/microchip/lan743x_main.c
1515
dmac_cmd = lan743x_csr_read(adapter, DMAC_CMD);
drivers/net/ethernet/microchip/lan743x_main.c
1522
static int lan743x_dmac_tx_wait_till_stopped(struct lan743x_adapter *adapter,
drivers/net/ethernet/microchip/lan743x_main.c
1529
((result = lan743x_dmac_tx_get_state(adapter, tx_channel)) ==
drivers/net/ethernet/microchip/lan743x_main.c
1539
static int lan743x_dmac_rx_get_state(struct lan743x_adapter *adapter,
drivers/net/ethernet/microchip/lan743x_main.c
1544
dmac_cmd = lan743x_csr_read(adapter, DMAC_CMD);
drivers/net/ethernet/microchip/lan743x_main.c
1551
static int lan743x_dmac_rx_wait_till_stopped(struct lan743x_adapter *adapter,
drivers/net/ethernet/microchip/lan743x_main.c
1558
((result = lan743x_dmac_rx_get_state(adapter, rx_channel)) ==
drivers/net/ethernet/microchip/lan743x_main.c
1592
dma_unmap_page(&tx->adapter->pdev->dev,
drivers/net/ethernet/microchip/lan743x_main.c
1597
dma_unmap_single(&tx->adapter->pdev->dev,
drivers/net/ethernet/microchip/lan743x_main.c
1614
lan743x_ptp_unrequest_tx_timestamp(tx->adapter);
drivers/net/ethernet/microchip/lan743x_main.c
1619
lan743x_ptp_tx_timestamp_skb(tx->adapter,
drivers/net/ethernet/microchip/lan743x_main.c
162
static int lan743x_csr_wait_for_bit(struct lan743x_adapter *adapter,
drivers/net/ethernet/microchip/lan743x_main.c
1686
static void lan743x_rx_cfg_b_tstamp_config(struct lan743x_adapter *adapter,
drivers/net/ethernet/microchip/lan743x_main.c
1694
channel_number = adapter->rx[index].channel_number;
drivers/net/ethernet/microchip/lan743x_main.c
1695
data = lan743x_csr_read(adapter, RX_CFG_B(channel_number));
drivers/net/ethernet/microchip/lan743x_main.c
1698
lan743x_csr_write(adapter, RX_CFG_B(channel_number),
drivers/net/ethernet/microchip/lan743x_main.c
1703
int lan743x_rx_set_tstamp_mode(struct lan743x_adapter *adapter,
drivers/net/ethernet/microchip/lan743x_main.c
1710
lan743x_rx_cfg_b_tstamp_config(adapter,
drivers/net/ethernet/microchip/lan743x_main.c
1712
data = lan743x_csr_read(adapter, PTP_RX_TS_CFG);
drivers/net/ethernet/microchip/lan743x_main.c
1714
lan743x_csr_write(adapter, PTP_RX_TS_CFG, data);
drivers/net/ethernet/microchip/lan743x_main.c
1717
lan743x_rx_cfg_b_tstamp_config(adapter,
drivers/net/ethernet/microchip/lan743x_main.c
1721
lan743x_rx_cfg_b_tstamp_config(adapter,
drivers/net/ethernet/microchip/lan743x_main.c
1727
adapter->rx_tstamp_filter = rx_filter;
drivers/net/ethernet/microchip/lan743x_main.c
174
static int lan743x_csr_init(struct lan743x_adapter *adapter)
drivers/net/ethernet/microchip/lan743x_main.c
1757
struct lan743x_adapter *adapter = tx->adapter;
drivers/net/ethernet/microchip/lan743x_main.c
1758
struct device *dev = &adapter->pdev->dev;
drivers/net/ethernet/microchip/lan743x_main.c
176
struct lan743x_csr *csr = &adapter->csr;
drivers/net/ethernet/microchip/lan743x_main.c
179
bar_start = pci_resource_start(adapter->pdev, 0);
drivers/net/ethernet/microchip/lan743x_main.c
180
bar_length = pci_resource_len(adapter->pdev, 0);
drivers/net/ethernet/microchip/lan743x_main.c
181
csr->csr_address = devm_ioremap(&adapter->pdev->dev,
drivers/net/ethernet/microchip/lan743x_main.c
1850
struct lan743x_adapter *adapter = tx->adapter;
drivers/net/ethernet/microchip/lan743x_main.c
1851
struct device *dev = &adapter->pdev->dev;
drivers/net/ethernet/microchip/lan743x_main.c
186
csr->id_rev = lan743x_csr_read(adapter, ID_REV);
drivers/net/ethernet/microchip/lan743x_main.c
187
csr->fpga_rev = lan743x_csr_read(adapter, FPGA_REV);
drivers/net/ethernet/microchip/lan743x_main.c
188
netif_info(adapter, probe, adapter->netdev,
drivers/net/ethernet/microchip/lan743x_main.c
1917
struct lan743x_adapter *adapter = tx->adapter;
drivers/net/ethernet/microchip/lan743x_main.c
1949
lan743x_csr_write(adapter, TX_TAIL(tx->channel_number),
drivers/net/ethernet/microchip/lan743x_main.c
1981
txq = netdev_get_tx_queue(tx->adapter->netdev,
drivers/net/ethernet/microchip/lan743x_main.c
1991
(lan743x_ptp_request_tx_timestamp(tx->adapter))) {
drivers/net/ethernet/microchip/lan743x_main.c
2048
struct lan743x_adapter *adapter = tx->adapter;
drivers/net/ethernet/microchip/lan743x_main.c
2054
lan743x_csr_read(adapter, DMAC_INT_STS);
drivers/net/ethernet/microchip/lan743x_main.c
2056
lan743x_csr_write(adapter, DMAC_INT_STS, ioc_bit);
drivers/net/ethernet/microchip/lan743x_main.c
206
return lan743x_csr_light_reset(adapter);
drivers/net/ethernet/microchip/lan743x_main.c
2061
txq = netdev_get_tx_queue(adapter->netdev, tx->channel_number);
drivers/net/ethernet/microchip/lan743x_main.c
2079
lan743x_csr_write(adapter, INT_EN_SET,
drivers/net/ethernet/microchip/lan743x_main.c
2081
lan743x_csr_read(adapter, INT_STS);
drivers/net/ethernet/microchip/lan743x_main.c
209
static void lan743x_intr_software_isr(struct lan743x_adapter *adapter)
drivers/net/ethernet/microchip/lan743x_main.c
2090
dma_free_coherent(&tx->adapter->pdev->dev,
drivers/net/ethernet/microchip/lan743x_main.c
2100
dma_free_coherent(&tx->adapter->pdev->dev,
drivers/net/ethernet/microchip/lan743x_main.c
211
struct lan743x_intr *intr = &adapter->intr;
drivers/net/ethernet/microchip/lan743x_main.c
2122
if (dma_set_mask_and_coherent(&tx->adapter->pdev->dev,
drivers/net/ethernet/microchip/lan743x_main.c
2124
dev_warn(&tx->adapter->pdev->dev,
drivers/net/ethernet/microchip/lan743x_main.c
2133
cpu_ptr = dma_alloc_coherent(&tx->adapter->pdev->dev,
drivers/net/ethernet/microchip/lan743x_main.c
214
lan743x_csr_write(adapter, INT_EN_CLR, INT_BIT_SW_GP_);
drivers/net/ethernet/microchip/lan743x_main.c
2151
cpu_ptr = dma_alloc_coherent(&tx->adapter->pdev->dev,
drivers/net/ethernet/microchip/lan743x_main.c
2175
struct lan743x_adapter *adapter = tx->adapter;
drivers/net/ethernet/microchip/lan743x_main.c
2177
lan743x_csr_write(adapter,
drivers/net/ethernet/microchip/lan743x_main.c
2180
lan743x_dmac_tx_wait_till_stopped(adapter, tx->channel_number);
drivers/net/ethernet/microchip/lan743x_main.c
2182
lan743x_csr_write(adapter,
drivers/net/ethernet/microchip/lan743x_main.c
2185
lan743x_csr_write(adapter, INT_EN_CLR,
drivers/net/ethernet/microchip/lan743x_main.c
2190
lan743x_csr_write(adapter, FCT_TX_CTL,
drivers/net/ethernet/microchip/lan743x_main.c
2192
lan743x_csr_wait_for_bit(adapter, FCT_TX_CTL,
drivers/net/ethernet/microchip/lan743x_main.c
2205
struct lan743x_adapter *adapter = NULL;
drivers/net/ethernet/microchip/lan743x_main.c
2209
adapter = tx->adapter;
drivers/net/ethernet/microchip/lan743x_main.c
2215
lan743x_csr_write(adapter, FCT_TX_CTL,
drivers/net/ethernet/microchip/lan743x_main.c
2217
lan743x_csr_wait_for_bit(adapter, FCT_TX_CTL,
drivers/net/ethernet/microchip/lan743x_main.c
222
struct lan743x_adapter *adapter = tx->adapter;
drivers/net/ethernet/microchip/lan743x_main.c
2222
lan743x_csr_write(adapter, FCT_TX_CTL,
drivers/net/ethernet/microchip/lan743x_main.c
2226
lan743x_csr_write(adapter, DMAC_CMD,
drivers/net/ethernet/microchip/lan743x_main.c
2228
lan743x_csr_wait_for_bit(adapter, DMAC_CMD,
drivers/net/ethernet/microchip/lan743x_main.c
2233
lan743x_csr_write(adapter,
drivers/net/ethernet/microchip/lan743x_main.c
2236
lan743x_csr_write(adapter,
drivers/net/ethernet/microchip/lan743x_main.c
2241
data = lan743x_csr_read(adapter, TX_CFG_B(tx->channel_number));
drivers/net/ethernet/microchip/lan743x_main.c
2244
if (!(adapter->csr.flags & LAN743X_CSR_FLAG_IS_A0))
drivers/net/ethernet/microchip/lan743x_main.c
2246
lan743x_csr_write(adapter, TX_CFG_B(tx->channel_number), data);
drivers/net/ethernet/microchip/lan743x_main.c
225
lan743x_csr_read(adapter, INT_EN_SET);
drivers/net/ethernet/microchip/lan743x_main.c
2250
if (!(adapter->csr.flags & LAN743X_CSR_FLAG_IS_A0)) {
drivers/net/ethernet/microchip/lan743x_main.c
2256
lan743x_csr_write(adapter, TX_CFG_A(tx->channel_number), data);
drivers/net/ethernet/microchip/lan743x_main.c
2259
lan743x_csr_write(adapter,
drivers/net/ethernet/microchip/lan743x_main.c
2262
lan743x_csr_write(adapter,
drivers/net/ethernet/microchip/lan743x_main.c
2267
tx->last_head = lan743x_csr_read(adapter, TX_HEAD(tx->channel_number));
drivers/net/ethernet/microchip/lan743x_main.c
227
lan743x_csr_write(adapter, INT_EN_CLR,
drivers/net/ethernet/microchip/lan743x_main.c
2271
lan743x_csr_write(adapter, TX_TAIL(tx->channel_number),
drivers/net/ethernet/microchip/lan743x_main.c
2273
tx->vector_flags = lan743x_intr_get_vector_flags(adapter,
drivers/net/ethernet/microchip/lan743x_main.c
2276
netif_napi_add_tx_weight(adapter->netdev,
drivers/net/ethernet/microchip/lan743x_main.c
2290
lan743x_csr_write(adapter, TX_CFG_C(tx->channel_number), data);
drivers/net/ethernet/microchip/lan743x_main.c
2293
lan743x_csr_write(adapter, INT_EN_SET,
drivers/net/ethernet/microchip/lan743x_main.c
2295
lan743x_csr_write(adapter, DMAC_INT_EN_SET,
drivers/net/ethernet/microchip/lan743x_main.c
2299
lan743x_csr_write(adapter, DMAC_CMD,
drivers/net/ethernet/microchip/lan743x_main.c
2313
lan743x_csr_write(rx->adapter, RX_TAIL(rx->channel_number),
drivers/net/ethernet/microchip/lan743x_main.c
2320
struct net_device *netdev = rx->adapter->netdev;
drivers/net/ethernet/microchip/lan743x_main.c
2321
struct device *dev = &rx->adapter->pdev->dev;
drivers/net/ethernet/microchip/lan743x_main.c
237
dmac_int_sts = lan743x_csr_read(adapter, DMAC_INT_STS);
drivers/net/ethernet/microchip/lan743x_main.c
2402
dma_unmap_single(&rx->adapter->pdev->dev,
drivers/net/ethernet/microchip/lan743x_main.c
241
dmac_int_en = lan743x_csr_read(adapter,
drivers/net/ethernet/microchip/lan743x_main.c
2436
struct net_device *netdev = rx->adapter->netdev;
drivers/net/ethernet/microchip/lan743x_main.c
2556
rx->adapter->netdev);
drivers/net/ethernet/microchip/lan743x_main.c
2557
if (rx->adapter->netdev->features & NETIF_F_RXCSUM) {
drivers/net/ethernet/microchip/lan743x_main.c
256
lan743x_csr_write(adapter, INT_EN_SET,
drivers/net/ethernet/microchip/lan743x_main.c
2579
struct lan743x_adapter *adapter = rx->adapter;
drivers/net/ethernet/microchip/lan743x_main.c
2586
lan743x_csr_write(adapter, DMAC_INT_STS,
drivers/net/ethernet/microchip/lan743x_main.c
2607
lan743x_csr_write(adapter, INT_EN_SET,
drivers/net/ethernet/microchip/lan743x_main.c
2612
lan743x_csr_write(adapter, RX_TAIL(rx->channel_number),
drivers/net/ethernet/microchip/lan743x_main.c
2628
dma_free_coherent(&rx->adapter->pdev->dev,
drivers/net/ethernet/microchip/lan743x_main.c
263
struct lan743x_adapter *adapter = rx->adapter;
drivers/net/ethernet/microchip/lan743x_main.c
2639
dma_free_coherent(&rx->adapter->pdev->dev,
drivers/net/ethernet/microchip/lan743x_main.c
2668
if (dma_set_mask_and_coherent(&rx->adapter->pdev->dev,
drivers/net/ethernet/microchip/lan743x_main.c
267
lan743x_csr_write(adapter, INT_EN_CLR,
drivers/net/ethernet/microchip/lan743x_main.c
2670
dev_warn(&rx->adapter->pdev->dev,
drivers/net/ethernet/microchip/lan743x_main.c
2679
cpu_ptr = dma_alloc_coherent(&rx->adapter->pdev->dev,
drivers/net/ethernet/microchip/lan743x_main.c
2696
cpu_ptr = dma_alloc_coherent(&rx->adapter->pdev->dev,
drivers/net/ethernet/microchip/lan743x_main.c
2720
netif_warn(rx->adapter, ifup, rx->adapter->netdev,
drivers/net/ethernet/microchip/lan743x_main.c
2729
struct lan743x_adapter *adapter = rx->adapter;
drivers/net/ethernet/microchip/lan743x_main.c
2731
lan743x_csr_write(adapter, FCT_RX_CTL,
drivers/net/ethernet/microchip/lan743x_main.c
2733
lan743x_csr_wait_for_bit(adapter, FCT_RX_CTL,
drivers/net/ethernet/microchip/lan743x_main.c
2737
lan743x_csr_write(adapter, DMAC_CMD,
drivers/net/ethernet/microchip/lan743x_main.c
2739
lan743x_dmac_rx_wait_till_stopped(adapter, rx->channel_number);
drivers/net/ethernet/microchip/lan743x_main.c
2741
lan743x_csr_write(adapter, DMAC_INT_EN_CLR,
drivers/net/ethernet/microchip/lan743x_main.c
2743
lan743x_csr_write(adapter, INT_EN_CLR,
drivers/net/ethernet/microchip/lan743x_main.c
2754
struct lan743x_adapter *adapter = rx->adapter;
drivers/net/ethernet/microchip/lan743x_main.c
2763
netif_napi_add(adapter->netdev, &rx->napi, lan743x_rx_napi_poll);
drivers/net/ethernet/microchip/lan743x_main.c
2765
lan743x_csr_write(adapter, DMAC_CMD,
drivers/net/ethernet/microchip/lan743x_main.c
2767
lan743x_csr_wait_for_bit(adapter, DMAC_CMD,
drivers/net/ethernet/microchip/lan743x_main.c
277
dmac_int_sts = lan743x_csr_read(adapter, DMAC_INT_STS);
drivers/net/ethernet/microchip/lan743x_main.c
2772
lan743x_csr_write(adapter,
drivers/net/ethernet/microchip/lan743x_main.c
2775
lan743x_csr_write(adapter,
drivers/net/ethernet/microchip/lan743x_main.c
2780
lan743x_csr_write(adapter,
drivers/net/ethernet/microchip/lan743x_main.c
2783
lan743x_csr_write(adapter,
drivers/net/ethernet/microchip/lan743x_main.c
2787
if (!(adapter->csr.flags & LAN743X_CSR_FLAG_IS_A0)) {
drivers/net/ethernet/microchip/lan743x_main.c
2795
lan743x_csr_write(adapter,
drivers/net/ethernet/microchip/lan743x_main.c
2799
data = lan743x_csr_read(adapter, RX_CFG_B(rx->channel_number));
drivers/net/ethernet/microchip/lan743x_main.c
2807
if (!(adapter->csr.flags & LAN743X_CSR_FLAG_IS_A0))
drivers/net/ethernet/microchip/lan743x_main.c
281
dmac_int_en = lan743x_csr_read(adapter,
drivers/net/ethernet/microchip/lan743x_main.c
2810
lan743x_csr_write(adapter, RX_CFG_B(rx->channel_number), data);
drivers/net/ethernet/microchip/lan743x_main.c
2811
rx->vector_flags = lan743x_intr_get_vector_flags(adapter,
drivers/net/ethernet/microchip/lan743x_main.c
2825
lan743x_csr_write(adapter, RX_CFG_C(rx->channel_number), data);
drivers/net/ethernet/microchip/lan743x_main.c
2828
lan743x_csr_write(adapter, RX_TAIL(rx->channel_number),
drivers/net/ethernet/microchip/lan743x_main.c
2830
rx->last_head = lan743x_csr_read(adapter, RX_HEAD(rx->channel_number));
drivers/net/ethernet/microchip/lan743x_main.c
2838
lan743x_csr_write(adapter, INT_EN_SET,
drivers/net/ethernet/microchip/lan743x_main.c
2840
lan743x_csr_write(adapter, DMAC_INT_STS,
drivers/net/ethernet/microchip/lan743x_main.c
2842
lan743x_csr_write(adapter, DMAC_INT_EN_SET,
drivers/net/ethernet/microchip/lan743x_main.c
2844
lan743x_csr_write(adapter, DMAC_CMD,
drivers/net/ethernet/microchip/lan743x_main.c
2848
lan743x_csr_write(adapter, FCT_RX_CTL,
drivers/net/ethernet/microchip/lan743x_main.c
2850
lan743x_csr_wait_for_bit(adapter, FCT_RX_CTL,
drivers/net/ethernet/microchip/lan743x_main.c
2853
lan743x_csr_write(adapter, FCT_FLOW(rx->channel_number),
drivers/net/ethernet/microchip/lan743x_main.c
2859
lan743x_csr_write(adapter, FCT_RX_CTL,
drivers/net/ethernet/microchip/lan743x_main.c
2871
static int lan743x_phylink_sgmii_config(struct lan743x_adapter *adapter)
drivers/net/ethernet/microchip/lan743x_main.c
2879
netif_err(adapter, drv, adapter->netdev,
drivers/net/ethernet/microchip/lan743x_main.c
2884
adapter->sgmii_lsd = ret;
drivers/net/ethernet/microchip/lan743x_main.c
2885
netif_dbg(adapter, drv, adapter->netdev,
drivers/net/ethernet/microchip/lan743x_main.c
2886
"Link Speed Duplex (lsd) : 0x%X\n", adapter->sgmii_lsd);
drivers/net/ethernet/microchip/lan743x_main.c
2889
sgmii_ctl = lan743x_csr_read(adapter, SGMII_CTL);
drivers/net/ethernet/microchip/lan743x_main.c
2891
lan743x_csr_write(adapter, SGMII_CTL, sgmii_ctl);
drivers/net/ethernet/microchip/lan743x_main.c
2893
ret = lan743x_serdes_clock_and_aneg_update(adapter);
drivers/net/ethernet/microchip/lan743x_main.c
2895
netif_err(adapter, drv, adapter->netdev,
drivers/net/ethernet/microchip/lan743x_main.c
2900
return lan743x_pcs_power_reset(adapter);
drivers/net/ethernet/microchip/lan743x_main.c
2903
static int lan743x_phylink_1000basex_config(struct lan743x_adapter *adapter)
drivers/net/ethernet/microchip/lan743x_main.c
2911
netif_err(adapter, drv, adapter->netdev,
drivers/net/ethernet/microchip/lan743x_main.c
2916
adapter->sgmii_lsd = ret;
drivers/net/ethernet/microchip/lan743x_main.c
2917
netif_dbg(adapter, drv, adapter->netdev,
drivers/net/ethernet/microchip/lan743x_main.c
2918
"Link Speed Duplex (lsd) : 0x%X\n", adapter->sgmii_lsd);
drivers/net/ethernet/microchip/lan743x_main.c
2921
sgmii_ctl = lan743x_csr_read(adapter, SGMII_CTL);
drivers/net/ethernet/microchip/lan743x_main.c
2923
lan743x_csr_write(adapter, SGMII_CTL, sgmii_ctl);
drivers/net/ethernet/microchip/lan743x_main.c
2925
ret = lan743x_serdes_clock_and_aneg_update(adapter);
drivers/net/ethernet/microchip/lan743x_main.c
2927
netif_err(adapter, drv, adapter->netdev,
drivers/net/ethernet/microchip/lan743x_main.c
2932
return lan743x_pcs_power_reset(adapter);
drivers/net/ethernet/microchip/lan743x_main.c
2935
static int lan743x_phylink_2500basex_config(struct lan743x_adapter *adapter)
drivers/net/ethernet/microchip/lan743x_main.c
2943
netif_err(adapter, drv, adapter->netdev,
drivers/net/ethernet/microchip/lan743x_main.c
2948
adapter->sgmii_lsd = ret;
drivers/net/ethernet/microchip/lan743x_main.c
2949
netif_dbg(adapter, drv, adapter->netdev,
drivers/net/ethernet/microchip/lan743x_main.c
2950
"Link Speed Duplex (lsd) : 0x%X\n", adapter->sgmii_lsd);
drivers/net/ethernet/microchip/lan743x_main.c
2953
sgmii_ctl = lan743x_csr_read(adapter, SGMII_CTL);
drivers/net/ethernet/microchip/lan743x_main.c
2955
lan743x_csr_write(adapter, SGMII_CTL, sgmii_ctl);
drivers/net/ethernet/microchip/lan743x_main.c
2957
ret = lan743x_serdes_clock_and_aneg_update(adapter);
drivers/net/ethernet/microchip/lan743x_main.c
2959
netif_err(adapter, drv, adapter->netdev,
drivers/net/ethernet/microchip/lan743x_main.c
296
lan743x_csr_write(adapter, INT_EN_SET,
drivers/net/ethernet/microchip/lan743x_main.c
2964
return lan743x_pcs_power_reset(adapter);
drivers/net/ethernet/microchip/lan743x_main.c
2967
static void lan743x_mac_eee_enable(struct lan743x_adapter *adapter, bool enable)
drivers/net/ethernet/microchip/lan743x_main.c
2971
mac_cr = lan743x_csr_read(adapter, MAC_CR);
drivers/net/ethernet/microchip/lan743x_main.c
2976
lan743x_csr_write(adapter, MAC_CR, mac_cr);
drivers/net/ethernet/microchip/lan743x_main.c
2984
struct lan743x_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/microchip/lan743x_main.c
2989
ret = lan743x_phylink_2500basex_config(adapter);
drivers/net/ethernet/microchip/lan743x_main.c
2991
netif_err(adapter, drv, adapter->netdev,
drivers/net/ethernet/microchip/lan743x_main.c
2994
netif_dbg(adapter, drv, adapter->netdev,
drivers/net/ethernet/microchip/lan743x_main.c
2998
ret = lan743x_phylink_1000basex_config(adapter);
drivers/net/ethernet/microchip/lan743x_main.c
3000
netif_err(adapter, drv, adapter->netdev,
drivers/net/ethernet/microchip/lan743x_main.c
3003
netif_dbg(adapter, drv, adapter->netdev,
drivers/net/ethernet/microchip/lan743x_main.c
3007
ret = lan743x_phylink_sgmii_config(adapter);
drivers/net/ethernet/microchip/lan743x_main.c
3009
netif_err(adapter, drv, adapter->netdev,
drivers/net/ethernet/microchip/lan743x_main.c
3012
netif_dbg(adapter, drv, adapter->netdev,
drivers/net/ethernet/microchip/lan743x_main.c
3016
netif_dbg(adapter, drv, adapter->netdev,
drivers/net/ethernet/microchip/lan743x_main.c
303
struct lan743x_adapter *adapter = context;
drivers/net/ethernet/microchip/lan743x_main.c
3040
struct lan743x_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/microchip/lan743x_main.c
3044
mac_cr = lan743x_csr_read(adapter, MAC_CR);
drivers/net/ethernet/microchip/lan743x_main.c
3061
lan743x_csr_write(adapter, MAC_CR, mac_cr);
drivers/net/ethernet/microchip/lan743x_main.c
3063
lan743x_ptp_update_latency(adapter, speed);
drivers/net/ethernet/microchip/lan743x_main.c
3072
lan743x_mac_flow_ctrl_set_enables(adapter,
drivers/net/ethernet/microchip/lan743x_main.c
3082
struct lan743x_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/microchip/lan743x_main.c
3084
lan743x_mac_eee_enable(adapter, false);
drivers/net/ethernet/microchip/lan743x_main.c
3091
struct lan743x_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/microchip/lan743x_main.c
3098
lan743x_csr_write(adapter, MAC_EEE_TX_LPI_REQ_DLY_CNT, timer);
drivers/net/ethernet/microchip/lan743x_main.c
3099
lan743x_mac_eee_enable(adapter, true);
drivers/net/ethernet/microchip/lan743x_main.c
31
static void pci11x1x_strap_get_status(struct lan743x_adapter *adapter)
drivers/net/ethernet/microchip/lan743x_main.c
3112
static int lan743x_phylink_create(struct lan743x_adapter *adapter)
drivers/net/ethernet/microchip/lan743x_main.c
3114
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/microchip/lan743x_main.c
3117
adapter->phylink_config.dev = &netdev->dev;
drivers/net/ethernet/microchip/lan743x_main.c
3118
adapter->phylink_config.type = PHYLINK_NETDEV;
drivers/net/ethernet/microchip/lan743x_main.c
3119
adapter->phylink_config.mac_managed_pm = false;
drivers/net/ethernet/microchip/lan743x_main.c
312
lan743x_rx_isr(&adapter->rx[channel],
drivers/net/ethernet/microchip/lan743x_main.c
3121
adapter->phylink_config.mac_capabilities = MAC_ASYM_PAUSE |
drivers/net/ethernet/microchip/lan743x_main.c
3123
adapter->phylink_config.lpi_capabilities = MAC_100FD | MAC_1000FD;
drivers/net/ethernet/microchip/lan743x_main.c
3124
adapter->phylink_config.lpi_timer_default =
drivers/net/ethernet/microchip/lan743x_main.c
3125
lan743x_csr_read(adapter, MAC_EEE_TX_LPI_REQ_DLY_CNT);
drivers/net/ethernet/microchip/lan743x_main.c
3127
lan743x_phy_interface_select(adapter);
drivers/net/ethernet/microchip/lan743x_main.c
3129
switch (adapter->phy_interface) {
drivers/net/ethernet/microchip/lan743x_main.c
3132
adapter->phylink_config.supported_interfaces);
drivers/net/ethernet/microchip/lan743x_main.c
3134
adapter->phylink_config.supported_interfaces);
drivers/net/ethernet/microchip/lan743x_main.c
3136
adapter->phylink_config.supported_interfaces);
drivers/net/ethernet/microchip/lan743x_main.c
3137
adapter->phylink_config.mac_capabilities |= MAC_2500FD;
drivers/net/ethernet/microchip/lan743x_main.c
3141
adapter->phylink_config.supported_interfaces);
drivers/net/ethernet/microchip/lan743x_main.c
3145
adapter->phylink_config.supported_interfaces);
drivers/net/ethernet/microchip/lan743x_main.c
3148
phy_interface_set_rgmii(adapter->phylink_config.supported_interfaces);
drivers/net/ethernet/microchip/lan743x_main.c
3151
memcpy(adapter->phylink_config.lpi_interfaces,
drivers/net/ethernet/microchip/lan743x_main.c
3152
adapter->phylink_config.supported_interfaces,
drivers/net/ethernet/microchip/lan743x_main.c
3153
sizeof(adapter->phylink_config.lpi_interfaces));
drivers/net/ethernet/microchip/lan743x_main.c
3155
pl = phylink_create(&adapter->phylink_config, NULL,
drivers/net/ethernet/microchip/lan743x_main.c
3156
adapter->phy_interface, &lan743x_phylink_mac_ops);
drivers/net/ethernet/microchip/lan743x_main.c
3163
adapter->phylink = pl;
drivers/net/ethernet/microchip/lan743x_main.c
3176
static int lan743x_phylink_connect(struct lan743x_adapter *adapter)
drivers/net/ethernet/microchip/lan743x_main.c
3178
struct device_node *dn = adapter->pdev->dev.of_node;
drivers/net/ethernet/microchip/lan743x_main.c
3179
struct net_device *dev = adapter->netdev;
drivers/net/ethernet/microchip/lan743x_main.c
3184
ret = phylink_of_phy_connect(adapter->phylink, dn, 0);
drivers/net/ethernet/microchip/lan743x_main.c
3187
phydev = phy_find_first(adapter->mdiobus);
drivers/net/ethernet/microchip/lan743x_main.c
319
for (channel = 0; channel < adapter->used_tx_channels;
drivers/net/ethernet/microchip/lan743x_main.c
3190
ret = phylink_connect_phy(adapter->phylink, phydev);
drivers/net/ethernet/microchip/lan743x_main.c
3191
} else if (((adapter->csr.id_rev & ID_REV_ID_MASK_) ==
drivers/net/ethernet/microchip/lan743x_main.c
3192
ID_REV_ID_LAN7431_) || adapter->is_pci11x1x) {
drivers/net/ethernet/microchip/lan743x_main.c
3196
caps = adapter->phylink_config.mac_capabilities;
drivers/net/ethernet/microchip/lan743x_main.c
3208
ret = phylink_set_fixed_link(adapter->phylink, &state);
drivers/net/ethernet/microchip/lan743x_main.c
3224
phylink_start(adapter->phylink);
drivers/net/ethernet/microchip/lan743x_main.c
3229
static void lan743x_phylink_disconnect(struct lan743x_adapter *adapter)
drivers/net/ethernet/microchip/lan743x_main.c
3231
phylink_stop(adapter->phylink);
drivers/net/ethernet/microchip/lan743x_main.c
3232
phylink_disconnect_phy(adapter->phylink);
drivers/net/ethernet/microchip/lan743x_main.c
3237
struct lan743x_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/microchip/lan743x_main.c
324
lan743x_tx_isr(&adapter->tx[channel],
drivers/net/ethernet/microchip/lan743x_main.c
3240
for (index = 0; index < adapter->used_tx_channels; index++)
drivers/net/ethernet/microchip/lan743x_main.c
3241
lan743x_tx_close(&adapter->tx[index]);
drivers/net/ethernet/microchip/lan743x_main.c
3244
lan743x_rx_close(&adapter->rx[index]);
drivers/net/ethernet/microchip/lan743x_main.c
3246
lan743x_ptp_close(adapter);
drivers/net/ethernet/microchip/lan743x_main.c
3248
lan743x_phylink_disconnect(adapter);
drivers/net/ethernet/microchip/lan743x_main.c
3250
lan743x_mac_close(adapter);
drivers/net/ethernet/microchip/lan743x_main.c
3252
lan743x_intr_close(adapter);
drivers/net/ethernet/microchip/lan743x_main.c
3259
struct lan743x_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/microchip/lan743x_main.c
3263
ret = lan743x_intr_open(adapter);
drivers/net/ethernet/microchip/lan743x_main.c
3267
ret = lan743x_mac_open(adapter);
drivers/net/ethernet/microchip/lan743x_main.c
3271
ret = lan743x_phylink_connect(adapter);
drivers/net/ethernet/microchip/lan743x_main.c
3275
ret = lan743x_ptp_open(adapter);
drivers/net/ethernet/microchip/lan743x_main.c
3279
lan743x_rfe_open(adapter);
drivers/net/ethernet/microchip/lan743x_main.c
3282
ret = lan743x_rx_open(&adapter->rx[index]);
drivers/net/ethernet/microchip/lan743x_main.c
3287
for (index = 0; index < adapter->used_tx_channels; index++) {
drivers/net/ethernet/microchip/lan743x_main.c
3288
ret = lan743x_tx_open(&adapter->tx[index]);
drivers/net/ethernet/microchip/lan743x_main.c
3297
if (adapter->netdev->phydev) {
drivers/net/ethernet/microchip/lan743x_main.c
3301
adapter->phy_wol_supported = wol.supported;
drivers/net/ethernet/microchip/lan743x_main.c
3302
adapter->phy_wolopts = wol.wolopts;
drivers/net/ethernet/microchip/lan743x_main.c
3309
for (index = 0; index < adapter->used_tx_channels; index++) {
drivers/net/ethernet/microchip/lan743x_main.c
3310
if (adapter->tx[index].ring_cpu_ptr)
drivers/net/ethernet/microchip/lan743x_main.c
3311
lan743x_tx_close(&adapter->tx[index]);
drivers/net/ethernet/microchip/lan743x_main.c
3316
if (adapter->rx[index].ring_cpu_ptr)
drivers/net/ethernet/microchip/lan743x_main.c
3317
lan743x_rx_close(&adapter->rx[index]);
drivers/net/ethernet/microchip/lan743x_main.c
3319
lan743x_ptp_close(adapter);
drivers/net/ethernet/microchip/lan743x_main.c
332
lan743x_intr_software_isr(adapter);
drivers/net/ethernet/microchip/lan743x_main.c
3320
if (adapter->phylink)
drivers/net/ethernet/microchip/lan743x_main.c
3321
lan743x_phylink_disconnect(adapter);
drivers/net/ethernet/microchip/lan743x_main.c
3324
lan743x_mac_close(adapter);
drivers/net/ethernet/microchip/lan743x_main.c
3327
lan743x_intr_close(adapter);
drivers/net/ethernet/microchip/lan743x_main.c
3330
netif_warn(adapter, ifup, adapter->netdev,
drivers/net/ethernet/microchip/lan743x_main.c
3338
struct lan743x_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/microchip/lan743x_main.c
3341
if (adapter->is_pci11x1x)
drivers/net/ethernet/microchip/lan743x_main.c
3344
return lan743x_tx_xmit_frame(&adapter->tx[ch], skb);
drivers/net/ethernet/microchip/lan743x_main.c
3350
struct lan743x_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/microchip/lan743x_main.c
3355
return phylink_mii_ioctl(adapter->phylink, ifr, cmd);
drivers/net/ethernet/microchip/lan743x_main.c
336
lan743x_ptp_isr(adapter);
drivers/net/ethernet/microchip/lan743x_main.c
3360
struct lan743x_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/microchip/lan743x_main.c
3362
lan743x_rfe_set_multicast(adapter);
drivers/net/ethernet/microchip/lan743x_main.c
3367
struct lan743x_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/microchip/lan743x_main.c
3370
ret = lan743x_mac_set_mtu(adapter, new_mtu);
drivers/net/ethernet/microchip/lan743x_main.c
3379
struct lan743x_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/microchip/lan743x_main.c
3381
stats->rx_packets = lan743x_csr_read(adapter, STAT_RX_TOTAL_FRAMES);
drivers/net/ethernet/microchip/lan743x_main.c
3382
stats->tx_packets = lan743x_csr_read(adapter, STAT_TX_TOTAL_FRAMES);
drivers/net/ethernet/microchip/lan743x_main.c
3383
stats->rx_bytes = lan743x_csr_read(adapter,
drivers/net/ethernet/microchip/lan743x_main.c
3385
lan743x_csr_read(adapter,
drivers/net/ethernet/microchip/lan743x_main.c
3387
lan743x_csr_read(adapter,
drivers/net/ethernet/microchip/lan743x_main.c
3389
stats->tx_bytes = lan743x_csr_read(adapter,
drivers/net/ethernet/microchip/lan743x_main.c
3391
lan743x_csr_read(adapter,
drivers/net/ethernet/microchip/lan743x_main.c
3393
lan743x_csr_read(adapter,
drivers/net/ethernet/microchip/lan743x_main.c
3395
stats->rx_errors = lan743x_csr_read(adapter, STAT_RX_FCS_ERRORS) +
drivers/net/ethernet/microchip/lan743x_main.c
3396
lan743x_csr_read(adapter,
drivers/net/ethernet/microchip/lan743x_main.c
3398
lan743x_csr_read(adapter, STAT_RX_JABBER_ERRORS) +
drivers/net/ethernet/microchip/lan743x_main.c
3399
lan743x_csr_read(adapter,
drivers/net/ethernet/microchip/lan743x_main.c
3401
lan743x_csr_read(adapter,
drivers/net/ethernet/microchip/lan743x_main.c
3403
stats->tx_errors = lan743x_csr_read(adapter, STAT_TX_FCS_ERRORS) +
drivers/net/ethernet/microchip/lan743x_main.c
3404
lan743x_csr_read(adapter,
drivers/net/ethernet/microchip/lan743x_main.c
3406
lan743x_csr_read(adapter, STAT_TX_CARRIER_ERRORS);
drivers/net/ethernet/microchip/lan743x_main.c
3407
stats->rx_dropped = lan743x_csr_read(adapter,
drivers/net/ethernet/microchip/lan743x_main.c
3409
stats->tx_dropped = lan743x_csr_read(adapter,
drivers/net/ethernet/microchip/lan743x_main.c
341
lan743x_csr_write(adapter, INT_EN_CLR, int_sts);
drivers/net/ethernet/microchip/lan743x_main.c
3411
stats->multicast = lan743x_csr_read(adapter,
drivers/net/ethernet/microchip/lan743x_main.c
3413
lan743x_csr_read(adapter,
drivers/net/ethernet/microchip/lan743x_main.c
3415
stats->collisions = lan743x_csr_read(adapter,
drivers/net/ethernet/microchip/lan743x_main.c
3417
lan743x_csr_read(adapter,
drivers/net/ethernet/microchip/lan743x_main.c
3419
lan743x_csr_read(adapter,
drivers/net/ethernet/microchip/lan743x_main.c
3426
struct lan743x_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/microchip/lan743x_main.c
3434
lan743x_mac_set_address(adapter, sock_addr->sa_data);
drivers/net/ethernet/microchip/lan743x_main.c
3435
lan743x_rfe_update_mac_address(adapter);
drivers/net/ethernet/microchip/lan743x_main.c
3452
static void lan743x_hardware_cleanup(struct lan743x_adapter *adapter)
drivers/net/ethernet/microchip/lan743x_main.c
3454
lan743x_csr_write(adapter, INT_EN_CLR, 0xFFFFFFFF);
drivers/net/ethernet/microchip/lan743x_main.c
3457
static void lan743x_mdiobus_cleanup(struct lan743x_adapter *adapter)
drivers/net/ethernet/microchip/lan743x_main.c
3459
mdiobus_unregister(adapter->mdiobus);
drivers/net/ethernet/microchip/lan743x_main.c
3462
static void lan743x_destroy_phylink(struct lan743x_adapter *adapter)
drivers/net/ethernet/microchip/lan743x_main.c
3464
phylink_destroy(adapter->phylink);
drivers/net/ethernet/microchip/lan743x_main.c
3465
adapter->phylink = NULL;
drivers/net/ethernet/microchip/lan743x_main.c
3468
static void lan743x_full_cleanup(struct lan743x_adapter *adapter)
drivers/net/ethernet/microchip/lan743x_main.c
347
struct lan743x_adapter *adapter = vector->adapter;
drivers/net/ethernet/microchip/lan743x_main.c
3470
unregister_netdev(adapter->netdev);
drivers/net/ethernet/microchip/lan743x_main.c
3472
lan743x_destroy_phylink(adapter);
drivers/net/ethernet/microchip/lan743x_main.c
3473
lan743x_mdiobus_cleanup(adapter);
drivers/net/ethernet/microchip/lan743x_main.c
3474
lan743x_hardware_cleanup(adapter);
drivers/net/ethernet/microchip/lan743x_main.c
3475
lan743x_pci_cleanup(adapter);
drivers/net/ethernet/microchip/lan743x_main.c
3478
static void pci11x1x_set_rfe_rd_fifo_threshold(struct lan743x_adapter *adapter)
drivers/net/ethernet/microchip/lan743x_main.c
3480
u16 rev = adapter->csr.id_rev & ID_REV_CHIP_REV_MASK_;
drivers/net/ethernet/microchip/lan743x_main.c
3485
misc_ctl = lan743x_csr_read(adapter, MISC_CTL_0);
drivers/net/ethernet/microchip/lan743x_main.c
3489
lan743x_csr_write(adapter, MISC_CTL_0, misc_ctl);
drivers/net/ethernet/microchip/lan743x_main.c
3493
static int lan743x_hardware_init(struct lan743x_adapter *adapter,
drivers/net/ethernet/microchip/lan743x_main.c
3501
adapter->is_pci11x1x = is_pci11x1x_chip(adapter);
drivers/net/ethernet/microchip/lan743x_main.c
3502
if (adapter->is_pci11x1x) {
drivers/net/ethernet/microchip/lan743x_main.c
3503
adapter->max_tx_channels = PCI11X1X_MAX_TX_CHANNELS;
drivers/net/ethernet/microchip/lan743x_main.c
3504
adapter->used_tx_channels = PCI11X1X_USED_TX_CHANNELS;
drivers/net/ethernet/microchip/lan743x_main.c
3505
adapter->max_vector_count = PCI11X1X_MAX_VECTOR_COUNT;
drivers/net/ethernet/microchip/lan743x_main.c
3506
pci11x1x_strap_get_status(adapter);
drivers/net/ethernet/microchip/lan743x_main.c
3507
spin_lock_init(&adapter->eth_syslock_spinlock);
drivers/net/ethernet/microchip/lan743x_main.c
3508
mutex_init(&adapter->sgmii_rw_lock);
drivers/net/ethernet/microchip/lan743x_main.c
3509
pci11x1x_set_rfe_rd_fifo_threshold(adapter);
drivers/net/ethernet/microchip/lan743x_main.c
3510
sgmii_ctl = lan743x_csr_read(adapter, SGMII_CTL);
drivers/net/ethernet/microchip/lan743x_main.c
3511
if (adapter->is_sgmii_en) {
drivers/net/ethernet/microchip/lan743x_main.c
3518
lan743x_csr_write(adapter, SGMII_CTL, sgmii_ctl);
drivers/net/ethernet/microchip/lan743x_main.c
3520
adapter->max_tx_channels = LAN743X_MAX_TX_CHANNELS;
drivers/net/ethernet/microchip/lan743x_main.c
3521
adapter->used_tx_channels = LAN743X_USED_TX_CHANNELS;
drivers/net/ethernet/microchip/lan743x_main.c
3522
adapter->max_vector_count = LAN743X_MAX_VECTOR_COUNT;
drivers/net/ethernet/microchip/lan743x_main.c
3525
adapter->intr.irq = adapter->pdev->irq;
drivers/net/ethernet/microchip/lan743x_main.c
3526
lan743x_csr_write(adapter, INT_EN_CLR, 0xFFFFFFFF);
drivers/net/ethernet/microchip/lan743x_main.c
3528
ret = lan743x_gpio_init(adapter);
drivers/net/ethernet/microchip/lan743x_main.c
353
int_sts = lan743x_csr_read(adapter, INT_STS);
drivers/net/ethernet/microchip/lan743x_main.c
3532
ret = lan743x_mac_init(adapter);
drivers/net/ethernet/microchip/lan743x_main.c
3536
ret = lan743x_ptp_init(adapter);
drivers/net/ethernet/microchip/lan743x_main.c
3540
lan743x_rfe_update_mac_address(adapter);
drivers/net/ethernet/microchip/lan743x_main.c
3542
ret = lan743x_dmac_init(adapter);
drivers/net/ethernet/microchip/lan743x_main.c
3547
adapter->rx[index].adapter = adapter;
drivers/net/ethernet/microchip/lan743x_main.c
3548
adapter->rx[index].channel_number = index;
drivers/net/ethernet/microchip/lan743x_main.c
3551
for (index = 0; index < adapter->used_tx_channels; index++) {
drivers/net/ethernet/microchip/lan743x_main.c
3552
tx = &adapter->tx[index];
drivers/net/ethernet/microchip/lan743x_main.c
3553
tx->adapter = adapter;
drivers/net/ethernet/microchip/lan743x_main.c
3559
lan743x_mac_eee_enable(adapter, false);
drivers/net/ethernet/microchip/lan743x_main.c
3564
static int lan743x_mdiobus_init(struct lan743x_adapter *adapter)
drivers/net/ethernet/microchip/lan743x_main.c
3568
adapter->mdiobus = devm_mdiobus_alloc(&adapter->pdev->dev);
drivers/net/ethernet/microchip/lan743x_main.c
3569
if (!(adapter->mdiobus)) {
drivers/net/ethernet/microchip/lan743x_main.c
357
int_sts = lan743x_csr_read(adapter, INT_STS_R2C);
drivers/net/ethernet/microchip/lan743x_main.c
3574
adapter->mdiobus->priv = (void *)adapter;
drivers/net/ethernet/microchip/lan743x_main.c
3575
if (adapter->is_pci11x1x) {
drivers/net/ethernet/microchip/lan743x_main.c
3576
if (adapter->is_sgmii_en) {
drivers/net/ethernet/microchip/lan743x_main.c
3577
netif_dbg(adapter, drv, adapter->netdev,
drivers/net/ethernet/microchip/lan743x_main.c
3579
adapter->mdiobus->read = lan743x_mdiobus_read_c22;
drivers/net/ethernet/microchip/lan743x_main.c
3580
adapter->mdiobus->write = lan743x_mdiobus_write_c22;
drivers/net/ethernet/microchip/lan743x_main.c
3581
adapter->mdiobus->read_c45 = lan743x_mdiobus_read_c45;
drivers/net/ethernet/microchip/lan743x_main.c
3582
adapter->mdiobus->write_c45 = lan743x_mdiobus_write_c45;
drivers/net/ethernet/microchip/lan743x_main.c
3583
adapter->mdiobus->name = "lan743x-mdiobus-c45";
drivers/net/ethernet/microchip/lan743x_main.c
3584
netif_dbg(adapter, drv, adapter->netdev,
drivers/net/ethernet/microchip/lan743x_main.c
3587
netif_dbg(adapter, drv, adapter->netdev,
drivers/net/ethernet/microchip/lan743x_main.c
3590
adapter->mdiobus->read = lan743x_mdiobus_read_c22;
drivers/net/ethernet/microchip/lan743x_main.c
3591
adapter->mdiobus->write = lan743x_mdiobus_write_c22;
drivers/net/ethernet/microchip/lan743x_main.c
3592
adapter->mdiobus->name = "lan743x-mdiobus";
drivers/net/ethernet/microchip/lan743x_main.c
3593
netif_dbg(adapter, drv, adapter->netdev,
drivers/net/ethernet/microchip/lan743x_main.c
3597
adapter->mdiobus->read = lan743x_mdiobus_read_c22;
drivers/net/ethernet/microchip/lan743x_main.c
3598
adapter->mdiobus->write = lan743x_mdiobus_write_c22;
drivers/net/ethernet/microchip/lan743x_main.c
3599
adapter->mdiobus->name = "lan743x-mdiobus";
drivers/net/ethernet/microchip/lan743x_main.c
3600
netif_dbg(adapter, drv, adapter->netdev, "lan743x-mdiobus\n");
drivers/net/ethernet/microchip/lan743x_main.c
3603
snprintf(adapter->mdiobus->id, MII_BUS_ID_SIZE,
drivers/net/ethernet/microchip/lan743x_main.c
3604
"pci-%s", pci_name(adapter->pdev));
drivers/net/ethernet/microchip/lan743x_main.c
3606
if ((adapter->csr.id_rev & ID_REV_ID_MASK_) == ID_REV_ID_LAN7430_)
drivers/net/ethernet/microchip/lan743x_main.c
3608
adapter->mdiobus->phy_mask = ~(u32)BIT(1);
drivers/net/ethernet/microchip/lan743x_main.c
3611
ret = mdiobus_register(adapter->mdiobus);
drivers/net/ethernet/microchip/lan743x_main.c
3633
struct lan743x_adapter *adapter = NULL;
drivers/net/ethernet/microchip/lan743x_main.c
3655
adapter = netdev_priv(netdev);
drivers/net/ethernet/microchip/lan743x_main.c
3656
adapter->netdev = netdev;
drivers/net/ethernet/microchip/lan743x_main.c
3657
adapter->msg_enable = NETIF_MSG_DRV | NETIF_MSG_PROBE |
drivers/net/ethernet/microchip/lan743x_main.c
3662
of_get_mac_address(pdev->dev.of_node, adapter->mac_address);
drivers/net/ethernet/microchip/lan743x_main.c
3664
ret = lan743x_pci_init(adapter, pdev);
drivers/net/ethernet/microchip/lan743x_main.c
3668
ret = lan743x_csr_init(adapter);
drivers/net/ethernet/microchip/lan743x_main.c
3672
ret = lan743x_hw_reset_phy(adapter);
drivers/net/ethernet/microchip/lan743x_main.c
3676
ret = lan743x_hardware_init(adapter, pdev);
drivers/net/ethernet/microchip/lan743x_main.c
368
lan743x_csr_write(adapter,
drivers/net/ethernet/microchip/lan743x_main.c
3680
ret = lan743x_mdiobus_init(adapter);
drivers/net/ethernet/microchip/lan743x_main.c
3684
adapter->netdev->netdev_ops = &lan743x_netdev_ops;
drivers/net/ethernet/microchip/lan743x_main.c
3685
adapter->netdev->ethtool_ops = &lan743x_ethtool_ops;
drivers/net/ethernet/microchip/lan743x_main.c
3686
adapter->netdev->features = NETIF_F_SG | NETIF_F_TSO |
drivers/net/ethernet/microchip/lan743x_main.c
3688
adapter->netdev->hw_features = adapter->netdev->features;
drivers/net/ethernet/microchip/lan743x_main.c
3690
ret = lan743x_phylink_create(adapter);
drivers/net/ethernet/microchip/lan743x_main.c
3692
netif_err(adapter, probe, netdev,
drivers/net/ethernet/microchip/lan743x_main.c
3697
ret = register_netdev(adapter->netdev);
drivers/net/ethernet/microchip/lan743x_main.c
3703
lan743x_destroy_phylink(adapter);
drivers/net/ethernet/microchip/lan743x_main.c
3706
lan743x_mdiobus_cleanup(adapter);
drivers/net/ethernet/microchip/lan743x_main.c
3709
lan743x_hardware_cleanup(adapter);
drivers/net/ethernet/microchip/lan743x_main.c
3712
lan743x_pci_cleanup(adapter);
drivers/net/ethernet/microchip/lan743x_main.c
3731
struct lan743x_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/microchip/lan743x_main.c
3733
lan743x_full_cleanup(adapter);
drivers/net/ethernet/microchip/lan743x_main.c
3739
struct lan743x_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/microchip/lan743x_main.c
374
lan743x_csr_write(adapter, INT_EN_CLR, INT_BIT_MAS_);
drivers/net/ethernet/microchip/lan743x_main.c
3757
lan743x_hardware_cleanup(adapter);
drivers/net/ethernet/microchip/lan743x_main.c
3766
static void lan743x_pm_set_wol(struct lan743x_adapter *adapter)
drivers/net/ethernet/microchip/lan743x_main.c
377
int_enables = lan743x_csr_read(adapter, INT_EN_SET);
drivers/net/ethernet/microchip/lan743x_main.c
3779
lan743x_csr_write(adapter, MAC_WUF_CFG(mask_index), 0);
drivers/net/ethernet/microchip/lan743x_main.c
3782
pmtctl = lan743x_csr_read(adapter, PMT_CTL);
drivers/net/ethernet/microchip/lan743x_main.c
3788
macrx = lan743x_csr_read(adapter, MAC_RX);
drivers/net/ethernet/microchip/lan743x_main.c
3795
if (adapter->phy_wolopts)
drivers/net/ethernet/microchip/lan743x_main.c
3798
if (adapter->wolopts & WAKE_MAGIC) {
drivers/net/ethernet/microchip/lan743x_main.c
3803
if (adapter->wolopts & WAKE_UCAST) {
drivers/net/ethernet/microchip/lan743x_main.c
3809
if (adapter->wolopts & WAKE_BCAST) {
drivers/net/ethernet/microchip/lan743x_main.c
3815
if (adapter->wolopts & WAKE_MCAST) {
drivers/net/ethernet/microchip/lan743x_main.c
3818
lan743x_csr_write(adapter, MAC_WUF_CFG(mask_index),
drivers/net/ethernet/microchip/lan743x_main.c
3822
lan743x_csr_write(adapter, MAC_WUF_MASK0(mask_index), 7);
drivers/net/ethernet/microchip/lan743x_main.c
3823
lan743x_csr_write(adapter, MAC_WUF_MASK1(mask_index), 0);
drivers/net/ethernet/microchip/lan743x_main.c
3824
lan743x_csr_write(adapter, MAC_WUF_MASK2(mask_index), 0);
drivers/net/ethernet/microchip/lan743x_main.c
3825
lan743x_csr_write(adapter, MAC_WUF_MASK3(mask_index), 0);
drivers/net/ethernet/microchip/lan743x_main.c
3830
lan743x_csr_write(adapter, MAC_WUF_CFG(mask_index),
drivers/net/ethernet/microchip/lan743x_main.c
3834
lan743x_csr_write(adapter, MAC_WUF_MASK0(mask_index), 3);
drivers/net/ethernet/microchip/lan743x_main.c
3835
lan743x_csr_write(adapter, MAC_WUF_MASK1(mask_index), 0);
drivers/net/ethernet/microchip/lan743x_main.c
3836
lan743x_csr_write(adapter, MAC_WUF_MASK2(mask_index), 0);
drivers/net/ethernet/microchip/lan743x_main.c
3837
lan743x_csr_write(adapter, MAC_WUF_MASK3(mask_index), 0);
drivers/net/ethernet/microchip/lan743x_main.c
3845
if (adapter->wolopts & WAKE_ARP) {
drivers/net/ethernet/microchip/lan743x_main.c
3850
lan743x_csr_write(adapter, MAC_WUF_CFG(mask_index),
drivers/net/ethernet/microchip/lan743x_main.c
3854
lan743x_csr_write(adapter, MAC_WUF_MASK0(mask_index), 0x3000);
drivers/net/ethernet/microchip/lan743x_main.c
3855
lan743x_csr_write(adapter, MAC_WUF_MASK1(mask_index), 0);
drivers/net/ethernet/microchip/lan743x_main.c
3856
lan743x_csr_write(adapter, MAC_WUF_MASK2(mask_index), 0);
drivers/net/ethernet/microchip/lan743x_main.c
3857
lan743x_csr_write(adapter, MAC_WUF_MASK3(mask_index), 0);
drivers/net/ethernet/microchip/lan743x_main.c
3866
if (adapter->wolopts & WAKE_MAGICSECURE) {
drivers/net/ethernet/microchip/lan743x_main.c
3867
sopass = *(u32 *)adapter->sopass;
drivers/net/ethernet/microchip/lan743x_main.c
3868
lan743x_csr_write(adapter, MAC_MP_SO_LO, sopass);
drivers/net/ethernet/microchip/lan743x_main.c
3869
sopass = *(u16 *)&adapter->sopass[4];
drivers/net/ethernet/microchip/lan743x_main.c
3870
lan743x_csr_write(adapter, MAC_MP_SO_HI, sopass);
drivers/net/ethernet/microchip/lan743x_main.c
3874
lan743x_csr_write(adapter, MAC_WUCSR, wucsr);
drivers/net/ethernet/microchip/lan743x_main.c
3875
lan743x_csr_write(adapter, PMT_CTL, pmtctl);
drivers/net/ethernet/microchip/lan743x_main.c
3876
lan743x_csr_write(adapter, MAC_RX, macrx);
drivers/net/ethernet/microchip/lan743x_main.c
3883
struct lan743x_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/microchip/lan743x_main.c
3889
lan743x_csr_write(adapter, MAC_WUCSR, 0);
drivers/net/ethernet/microchip/lan743x_main.c
3890
lan743x_csr_write(adapter, MAC_WUCSR2, 0);
drivers/net/ethernet/microchip/lan743x_main.c
3891
lan743x_csr_write(adapter, MAC_WK_SRC, 0xFFFFFFFF);
drivers/net/ethernet/microchip/lan743x_main.c
3893
if (adapter->wolopts || adapter->phy_wolopts)
drivers/net/ethernet/microchip/lan743x_main.c
3894
lan743x_pm_set_wol(adapter);
drivers/net/ethernet/microchip/lan743x_main.c
3896
if (adapter->is_pci11x1x) {
drivers/net/ethernet/microchip/lan743x_main.c
3898
data = lan743x_csr_read(adapter, HW_CFG);
drivers/net/ethernet/microchip/lan743x_main.c
3899
adapter->hw_cfg = data;
drivers/net/ethernet/microchip/lan743x_main.c
3905
lan743x_csr_write(adapter, HW_CFG, data);
drivers/net/ethernet/microchip/lan743x_main.c
391
lan743x_csr_write(adapter, INT_EN_CLR,
drivers/net/ethernet/microchip/lan743x_main.c
3916
struct lan743x_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/microchip/lan743x_main.c
3924
if (adapter->is_pci11x1x)
drivers/net/ethernet/microchip/lan743x_main.c
3925
lan743x_csr_write(adapter, HW_CFG, adapter->hw_cfg);
drivers/net/ethernet/microchip/lan743x_main.c
3927
ret = lan743x_hardware_init(adapter, pdev);
drivers/net/ethernet/microchip/lan743x_main.c
3929
netif_err(adapter, probe, adapter->netdev,
drivers/net/ethernet/microchip/lan743x_main.c
3931
lan743x_pci_cleanup(adapter);
drivers/net/ethernet/microchip/lan743x_main.c
3935
ret = lan743x_csr_read(adapter, MAC_WK_SRC);
drivers/net/ethernet/microchip/lan743x_main.c
3936
netif_dbg(adapter, drv, adapter->netdev,
drivers/net/ethernet/microchip/lan743x_main.c
3945
lan743x_csr_write(adapter, MAC_WUCSR, data);
drivers/net/ethernet/microchip/lan743x_main.c
3949
lan743x_csr_write(adapter, MAC_WUCSR2, data);
drivers/net/ethernet/microchip/lan743x_main.c
3957
lan743x_csr_write(adapter, MAC_WK_SRC, data);
drivers/net/ethernet/microchip/lan743x_main.c
399
lan743x_csr_write(adapter, INT_EN_SET, INT_BIT_MAS_);
drivers/net/ethernet/microchip/lan743x_main.c
40
ret = lan743x_hs_syslock_acquire(adapter, 100);
drivers/net/ethernet/microchip/lan743x_main.c
403
lan743x_csr_write(adapter,
drivers/net/ethernet/microchip/lan743x_main.c
410
static int lan743x_intr_test_isr(struct lan743x_adapter *adapter)
drivers/net/ethernet/microchip/lan743x_main.c
412
struct lan743x_intr *intr = &adapter->intr;
drivers/net/ethernet/microchip/lan743x_main.c
418
lan743x_csr_write(adapter, INT_EN_SET, INT_BIT_SW_GP_);
drivers/net/ethernet/microchip/lan743x_main.c
419
lan743x_csr_write(adapter, INT_SET, INT_BIT_SW_GP_);
drivers/net/ethernet/microchip/lan743x_main.c
42
netif_err(adapter, drv, adapter->netdev,
drivers/net/ethernet/microchip/lan743x_main.c
426
lan743x_csr_write(adapter, INT_EN_CLR, INT_BIT_SW_GP_);
drivers/net/ethernet/microchip/lan743x_main.c
431
static int lan743x_intr_register_isr(struct lan743x_adapter *adapter,
drivers/net/ethernet/microchip/lan743x_main.c
437
struct lan743x_vector *vector = &adapter->intr.vector_list
drivers/net/ethernet/microchip/lan743x_main.c
441
vector->adapter = adapter;
drivers/net/ethernet/microchip/lan743x_main.c
461
static void lan743x_intr_unregister_isr(struct lan743x_adapter *adapter,
drivers/net/ethernet/microchip/lan743x_main.c
464
struct lan743x_vector *vector = &adapter->intr.vector_list
drivers/net/ethernet/microchip/lan743x_main.c
47
cfg_load = lan743x_csr_read(adapter, ETH_SYS_CONFIG_LOAD_STARTED_REG);
drivers/net/ethernet/microchip/lan743x_main.c
474
static u32 lan743x_intr_get_vector_flags(struct lan743x_adapter *adapter,
drivers/net/ethernet/microchip/lan743x_main.c
479
for (index = 0; index < adapter->max_vector_count; index++) {
drivers/net/ethernet/microchip/lan743x_main.c
48
lan743x_hs_syslock_release(adapter);
drivers/net/ethernet/microchip/lan743x_main.c
480
if (adapter->intr.vector_list[index].int_mask & int_mask)
drivers/net/ethernet/microchip/lan743x_main.c
481
return adapter->intr.vector_list[index].flags;
drivers/net/ethernet/microchip/lan743x_main.c
486
static void lan743x_intr_close(struct lan743x_adapter *adapter)
drivers/net/ethernet/microchip/lan743x_main.c
488
struct lan743x_intr *intr = &adapter->intr;
drivers/net/ethernet/microchip/lan743x_main.c
49
hw_cfg = lan743x_csr_read(adapter, HW_CFG);
drivers/net/ethernet/microchip/lan743x_main.c
491
lan743x_csr_write(adapter, INT_EN_CLR, INT_BIT_MAS_);
drivers/net/ethernet/microchip/lan743x_main.c
492
if (adapter->is_pci11x1x)
drivers/net/ethernet/microchip/lan743x_main.c
493
lan743x_csr_write(adapter, INT_VEC_EN_CLR, 0x0000FFFF);
drivers/net/ethernet/microchip/lan743x_main.c
495
lan743x_csr_write(adapter, INT_VEC_EN_CLR, 0x000000FF);
drivers/net/ethernet/microchip/lan743x_main.c
499
lan743x_intr_unregister_isr(adapter, index);
drivers/net/ethernet/microchip/lan743x_main.c
505
pci_disable_msi(adapter->pdev);
drivers/net/ethernet/microchip/lan743x_main.c
510
pci_disable_msix(adapter->pdev);
drivers/net/ethernet/microchip/lan743x_main.c
515
static int lan743x_intr_open(struct lan743x_adapter *adapter)
drivers/net/ethernet/microchip/lan743x_main.c
518
struct lan743x_intr *intr = &adapter->intr;
drivers/net/ethernet/microchip/lan743x_main.c
53
strap = lan743x_csr_read(adapter, STRAP_READ);
drivers/net/ethernet/microchip/lan743x_main.c
531
max_vector_count = adapter->max_vector_count;
drivers/net/ethernet/microchip/lan743x_main.c
536
used_tx_channels = adapter->used_tx_channels;
drivers/net/ethernet/microchip/lan743x_main.c
537
ret = pci_enable_msix_range(adapter->pdev,
drivers/net/ethernet/microchip/lan743x_main.c
549
netif_info(adapter, ifup, adapter->netdev,
drivers/net/ethernet/microchip/lan743x_main.c
55
adapter->is_sgmii_en = true;
drivers/net/ethernet/microchip/lan743x_main.c
556
if (!(adapter->csr.flags & LAN743X_CSR_FLAG_IS_A0)) {
drivers/net/ethernet/microchip/lan743x_main.c
557
if (!pci_enable_msi(adapter->pdev)) {
drivers/net/ethernet/microchip/lan743x_main.c
562
adapter->pdev->irq;
drivers/net/ethernet/microchip/lan743x_main.c
563
netif_info(adapter, ifup, adapter->netdev,
drivers/net/ethernet/microchip/lan743x_main.c
57
adapter->is_sgmii_en = false;
drivers/net/ethernet/microchip/lan743x_main.c
575
netif_info(adapter, ifup, adapter->netdev,
drivers/net/ethernet/microchip/lan743x_main.c
580
lan743x_csr_write(adapter, INT_VEC_EN_CLR, 0xFFFFFFFF);
drivers/net/ethernet/microchip/lan743x_main.c
583
lan743x_csr_write(adapter, INT_VEC_MAP0, 0x00000000);
drivers/net/ethernet/microchip/lan743x_main.c
584
lan743x_csr_write(adapter, INT_VEC_MAP1, 0x00000000);
drivers/net/ethernet/microchip/lan743x_main.c
585
lan743x_csr_write(adapter, INT_VEC_MAP2, 0x00000000);
drivers/net/ethernet/microchip/lan743x_main.c
59
chip_rev = lan743x_csr_read(adapter, FPGA_REV);
drivers/net/ethernet/microchip/lan743x_main.c
600
if (adapter->csr.flags & LAN743X_CSR_FLAG_SUPPORTS_INTR_AUTO_SET_CLR) {
drivers/net/ethernet/microchip/lan743x_main.c
611
ret = lan743x_intr_register_isr(adapter, 0, flags,
drivers/net/ethernet/microchip/lan743x_main.c
614
lan743x_intr_shared_isr, adapter);
drivers/net/ethernet/microchip/lan743x_main.c
62
adapter->is_sgmii_en = true;
drivers/net/ethernet/microchip/lan743x_main.c
620
lan743x_csr_write(adapter, INT_VEC_EN_SET,
drivers/net/ethernet/microchip/lan743x_main.c
623
if (!(adapter->csr.flags & LAN743X_CSR_FLAG_IS_A0)) {
drivers/net/ethernet/microchip/lan743x_main.c
624
lan743x_csr_write(adapter, INT_MOD_CFG0, LAN743X_INT_MOD);
drivers/net/ethernet/microchip/lan743x_main.c
625
lan743x_csr_write(adapter, INT_MOD_CFG1, LAN743X_INT_MOD);
drivers/net/ethernet/microchip/lan743x_main.c
626
lan743x_csr_write(adapter, INT_MOD_CFG2, LAN743X_INT_MOD);
drivers/net/ethernet/microchip/lan743x_main.c
627
lan743x_csr_write(adapter, INT_MOD_CFG3, LAN743X_INT_MOD);
drivers/net/ethernet/microchip/lan743x_main.c
628
lan743x_csr_write(adapter, INT_MOD_CFG4, LAN743X_INT_MOD);
drivers/net/ethernet/microchip/lan743x_main.c
629
lan743x_csr_write(adapter, INT_MOD_CFG5, LAN743X_INT_MOD);
drivers/net/ethernet/microchip/lan743x_main.c
630
lan743x_csr_write(adapter, INT_MOD_CFG6, LAN743X_INT_MOD);
drivers/net/ethernet/microchip/lan743x_main.c
631
lan743x_csr_write(adapter, INT_MOD_CFG7, LAN743X_INT_MOD);
drivers/net/ethernet/microchip/lan743x_main.c
632
if (adapter->is_pci11x1x) {
drivers/net/ethernet/microchip/lan743x_main.c
633
lan743x_csr_write(adapter, INT_MOD_CFG8, LAN743X_INT_MOD);
drivers/net/ethernet/microchip/lan743x_main.c
634
lan743x_csr_write(adapter, INT_MOD_CFG9, LAN743X_INT_MOD);
drivers/net/ethernet/microchip/lan743x_main.c
635
lan743x_csr_write(adapter, INT_MOD_MAP0, 0x00007654);
drivers/net/ethernet/microchip/lan743x_main.c
636
lan743x_csr_write(adapter, INT_MOD_MAP1, 0x00003210);
drivers/net/ethernet/microchip/lan743x_main.c
638
lan743x_csr_write(adapter, INT_MOD_MAP0, 0x00005432);
drivers/net/ethernet/microchip/lan743x_main.c
639
lan743x_csr_write(adapter, INT_MOD_MAP1, 0x00000001);
drivers/net/ethernet/microchip/lan743x_main.c
64
adapter->is_sgmii_en = false;
drivers/net/ethernet/microchip/lan743x_main.c
641
lan743x_csr_write(adapter, INT_MOD_MAP2, 0x00FFFFFF);
drivers/net/ethernet/microchip/lan743x_main.c
645
lan743x_csr_write(adapter, INT_EN_SET, INT_BIT_MAS_);
drivers/net/ethernet/microchip/lan743x_main.c
646
ret = lan743x_intr_test_isr(adapter);
drivers/net/ethernet/microchip/lan743x_main.c
66
adapter->is_sgmii_en = false;
drivers/net/ethernet/microchip/lan743x_main.c
662
if (adapter->csr.flags &
drivers/net/ethernet/microchip/lan743x_main.c
676
lan743x_csr_write(adapter, INT_VEC_MAP1, int_vec_map1);
drivers/net/ethernet/microchip/lan743x_main.c
680
ret = lan743x_intr_register_isr(adapter, vector, flags,
drivers/net/ethernet/microchip/lan743x_main.c
682
&adapter->tx[index]);
drivers/net/ethernet/microchip/lan743x_main.c
688
lan743x_csr_write(adapter, INT_VEC_EN_SET,
drivers/net/ethernet/microchip/lan743x_main.c
69
netif_dbg(adapter, drv, adapter->netdev,
drivers/net/ethernet/microchip/lan743x_main.c
70
"SGMII I/F %sable\n", adapter->is_sgmii_en ? "En" : "Dis");
drivers/net/ethernet/microchip/lan743x_main.c
706
if (adapter->csr.flags &
drivers/net/ethernet/microchip/lan743x_main.c
720
lan743x_csr_write(adapter, INT_VEC_MAP0, int_vec_map0);
drivers/net/ethernet/microchip/lan743x_main.c
724
lan743x_csr_write(adapter, INT_VEC_EN_AUTO_CLR,
drivers/net/ethernet/microchip/lan743x_main.c
73
static bool is_pci11x1x_chip(struct lan743x_adapter *adapter)
drivers/net/ethernet/microchip/lan743x_main.c
730
ret = lan743x_intr_register_isr(adapter, vector, flags,
drivers/net/ethernet/microchip/lan743x_main.c
732
&adapter->rx[index]);
drivers/net/ethernet/microchip/lan743x_main.c
737
lan743x_csr_write(adapter, INT_VEC_EN_SET,
drivers/net/ethernet/microchip/lan743x_main.c
744
lan743x_intr_close(adapter);
drivers/net/ethernet/microchip/lan743x_main.c
748
static int lan743x_dp_write(struct lan743x_adapter *adapter,
drivers/net/ethernet/microchip/lan743x_main.c
75
struct lan743x_csr *csr = &adapter->csr;
drivers/net/ethernet/microchip/lan743x_main.c
754
if (lan743x_csr_wait_for_bit_atomic(adapter, DP_SEL, DP_SEL_DPRDY_,
drivers/net/ethernet/microchip/lan743x_main.c
757
dp_sel = lan743x_csr_read(adapter, DP_SEL);
drivers/net/ethernet/microchip/lan743x_main.c
760
lan743x_csr_write(adapter, DP_SEL, dp_sel);
drivers/net/ethernet/microchip/lan743x_main.c
763
lan743x_csr_write(adapter, DP_ADDR, addr + i);
drivers/net/ethernet/microchip/lan743x_main.c
764
lan743x_csr_write(adapter, DP_DATA_0, buf[i]);
drivers/net/ethernet/microchip/lan743x_main.c
765
lan743x_csr_write(adapter, DP_CMD, DP_CMD_WRITE_);
drivers/net/ethernet/microchip/lan743x_main.c
766
if (lan743x_csr_wait_for_bit_atomic(adapter, DP_SEL,
drivers/net/ethernet/microchip/lan743x_main.c
793
static int lan743x_mac_mii_wait_till_not_busy(struct lan743x_adapter *adapter)
drivers/net/ethernet/microchip/lan743x_main.c
803
struct lan743x_adapter *adapter = bus->priv;
drivers/net/ethernet/microchip/lan743x_main.c
808
ret = lan743x_mac_mii_wait_till_not_busy(adapter);
drivers/net/ethernet/microchip/lan743x_main.c
814
lan743x_csr_write(adapter, MAC_MII_ACC, mii_access);
drivers/net/ethernet/microchip/lan743x_main.c
815
ret = lan743x_mac_mii_wait_till_not_busy(adapter);
drivers/net/ethernet/microchip/lan743x_main.c
819
val = lan743x_csr_read(adapter, MAC_MII_DATA);
drivers/net/ethernet/microchip/lan743x_main.c
826
struct lan743x_adapter *adapter = bus->priv;
drivers/net/ethernet/microchip/lan743x_main.c
831
ret = lan743x_mac_mii_wait_till_not_busy(adapter);
drivers/net/ethernet/microchip/lan743x_main.c
835
lan743x_csr_write(adapter, MAC_MII_DATA, val);
drivers/net/ethernet/microchip/lan743x_main.c
839
lan743x_csr_write(adapter, MAC_MII_ACC, mii_access);
drivers/net/ethernet/microchip/lan743x_main.c
840
ret = lan743x_mac_mii_wait_till_not_busy(adapter);
drivers/net/ethernet/microchip/lan743x_main.c
85
static void lan743x_pci_cleanup(struct lan743x_adapter *adapter)
drivers/net/ethernet/microchip/lan743x_main.c
868
struct lan743x_adapter *adapter = bus->priv;
drivers/net/ethernet/microchip/lan743x_main.c
87
pci_release_selected_regions(adapter->pdev,
drivers/net/ethernet/microchip/lan743x_main.c
873
ret = lan743x_mac_mii_wait_till_not_busy(adapter);
drivers/net/ethernet/microchip/lan743x_main.c
878
lan743x_csr_write(adapter, MAC_MII_DATA, index);
drivers/net/ethernet/microchip/lan743x_main.c
88
pci_select_bars(adapter->pdev,
drivers/net/ethernet/microchip/lan743x_main.c
881
lan743x_csr_write(adapter, MAC_MII_ACC, mmd_access);
drivers/net/ethernet/microchip/lan743x_main.c
882
ret = lan743x_mac_mii_wait_till_not_busy(adapter);
drivers/net/ethernet/microchip/lan743x_main.c
889
lan743x_csr_write(adapter, MAC_MII_ACC, mmd_access);
drivers/net/ethernet/microchip/lan743x_main.c
890
ret = lan743x_mac_mii_wait_till_not_busy(adapter);
drivers/net/ethernet/microchip/lan743x_main.c
894
ret = lan743x_csr_read(adapter, MAC_MII_DATA);
drivers/net/ethernet/microchip/lan743x_main.c
90
pci_disable_device(adapter->pdev);
drivers/net/ethernet/microchip/lan743x_main.c
901
struct lan743x_adapter *adapter = bus->priv;
drivers/net/ethernet/microchip/lan743x_main.c
906
ret = lan743x_mac_mii_wait_till_not_busy(adapter);
drivers/net/ethernet/microchip/lan743x_main.c
911
lan743x_csr_write(adapter, MAC_MII_DATA, (u32)index);
drivers/net/ethernet/microchip/lan743x_main.c
914
lan743x_csr_write(adapter, MAC_MII_ACC, mmd_access);
drivers/net/ethernet/microchip/lan743x_main.c
915
ret = lan743x_mac_mii_wait_till_not_busy(adapter);
drivers/net/ethernet/microchip/lan743x_main.c
920
lan743x_csr_write(adapter, MAC_MII_DATA, (u32)regval);
drivers/net/ethernet/microchip/lan743x_main.c
923
lan743x_csr_write(adapter, MAC_MII_ACC, mmd_access);
drivers/net/ethernet/microchip/lan743x_main.c
925
return lan743x_mac_mii_wait_till_not_busy(adapter);
drivers/net/ethernet/microchip/lan743x_main.c
928
static int lan743x_sgmii_wait_till_not_busy(struct lan743x_adapter *adapter)
drivers/net/ethernet/microchip/lan743x_main.c
93
static int lan743x_pci_init(struct lan743x_adapter *adapter,
drivers/net/ethernet/microchip/lan743x_main.c
936
netif_err(adapter, drv, adapter->netdev,
drivers/net/ethernet/microchip/lan743x_main.c
942
int lan743x_sgmii_read(struct lan743x_adapter *adapter, u8 mmd, u16 addr)
drivers/net/ethernet/microchip/lan743x_main.c
949
netif_err(adapter, probe, adapter->netdev,
drivers/net/ethernet/microchip/lan743x_main.c
954
mutex_lock(&adapter->sgmii_rw_lock);
drivers/net/ethernet/microchip/lan743x_main.c
958
lan743x_csr_write(adapter, SGMII_ACC, mmd_access);
drivers/net/ethernet/microchip/lan743x_main.c
959
ret = lan743x_sgmii_wait_till_not_busy(adapter);
drivers/net/ethernet/microchip/lan743x_main.c
963
val = lan743x_csr_read(adapter, SGMII_DATA);
drivers/net/ethernet/microchip/lan743x_main.c
967
mutex_unlock(&adapter->sgmii_rw_lock);
drivers/net/ethernet/microchip/lan743x_main.c
972
static int lan743x_sgmii_write(struct lan743x_adapter *adapter,
drivers/net/ethernet/microchip/lan743x_main.c
979
netif_err(adapter, probe, adapter->netdev,
drivers/net/ethernet/microchip/lan743x_main.c
983
mutex_lock(&adapter->sgmii_rw_lock);
drivers/net/ethernet/microchip/lan743x_main.c
985
lan743x_csr_write(adapter, SGMII_DATA, (u32)(val & SGMII_DATA_MASK_));
drivers/net/ethernet/microchip/lan743x_main.c
989
lan743x_csr_write(adapter, SGMII_ACC, mmd_access);
drivers/net/ethernet/microchip/lan743x_main.c
99
adapter->pdev = pdev;
drivers/net/ethernet/microchip/lan743x_main.c
990
ret = lan743x_sgmii_wait_till_not_busy(adapter);
drivers/net/ethernet/microchip/lan743x_main.c
991
mutex_unlock(&adapter->sgmii_rw_lock);
drivers/net/ethernet/microchip/lan743x_main.h
1006
struct lan743x_adapter *adapter;
drivers/net/ethernet/microchip/lan743x_main.h
1029
int lan743x_rx_set_tstamp_mode(struct lan743x_adapter *adapter,
drivers/net/ethernet/microchip/lan743x_main.h
1204
u32 lan743x_csr_read(struct lan743x_adapter *adapter, int offset);
drivers/net/ethernet/microchip/lan743x_main.h
1205
void lan743x_csr_write(struct lan743x_adapter *adapter, int offset, u32 data);
drivers/net/ethernet/microchip/lan743x_main.h
1206
int lan743x_hs_syslock_acquire(struct lan743x_adapter *adapter, u16 timeout);
drivers/net/ethernet/microchip/lan743x_main.h
1207
void lan743x_hs_syslock_release(struct lan743x_adapter *adapter);
drivers/net/ethernet/microchip/lan743x_main.h
1208
void lan743x_mac_flow_ctrl_set_enables(struct lan743x_adapter *adapter,
drivers/net/ethernet/microchip/lan743x_main.h
1210
int lan743x_sgmii_read(struct lan743x_adapter *adapter, u8 mmd, u16 addr);
drivers/net/ethernet/microchip/lan743x_main.h
922
struct lan743x_adapter *adapter;
drivers/net/ethernet/microchip/lan743x_main.h
968
struct lan743x_adapter *adapter;
drivers/net/ethernet/microchip/lan743x_ptp.c
1002
struct lan743x_adapter *adapter =
drivers/net/ethernet/microchip/lan743x_ptp.c
1014
if (!adapter->is_pci11x1x)
drivers/net/ethernet/microchip/lan743x_ptp.c
1025
static void lan743x_ptp_io_event_clock_get(struct lan743x_adapter *adapter,
drivers/net/ethernet/microchip/lan743x_ptp.c
1029
struct lan743x_ptp *ptp = &adapter->ptp;
drivers/net/ethernet/microchip/lan743x_ptp.c
1035
sec = lan743x_csr_read(adapter, PTP_IO_FE_LTC_SEC_CAP_X);
drivers/net/ethernet/microchip/lan743x_ptp.c
1036
nsec = lan743x_csr_read(adapter, PTP_IO_FE_LTC_NS_CAP_X);
drivers/net/ethernet/microchip/lan743x_ptp.c
1038
sec = lan743x_csr_read(adapter, PTP_IO_RE_LTC_SEC_CAP_X);
drivers/net/ethernet/microchip/lan743x_ptp.c
1039
nsec = lan743x_csr_read(adapter, PTP_IO_RE_LTC_NS_CAP_X);
drivers/net/ethernet/microchip/lan743x_ptp.c
1056
struct lan743x_adapter *adapter =
drivers/net/ethernet/microchip/lan743x_ptp.c
1067
ptp_int_sts = lan743x_csr_read(adapter, PTP_INT_STS);
drivers/net/ethernet/microchip/lan743x_ptp.c
1072
cap_info = lan743x_csr_read(adapter, PTP_CAP_INFO);
drivers/net/ethernet/microchip/lan743x_ptp.c
1075
seconds = lan743x_csr_read(adapter,
drivers/net/ethernet/microchip/lan743x_ptp.c
1077
nsec = lan743x_csr_read(adapter,
drivers/net/ethernet/microchip/lan743x_ptp.c
1081
header = lan743x_csr_read(adapter,
drivers/net/ethernet/microchip/lan743x_ptp.c
1087
lan743x_ptp_tx_ts_enqueue_ts(adapter,
drivers/net/ethernet/microchip/lan743x_ptp.c
1094
netif_err(adapter, drv, adapter->netdev,
drivers/net/ethernet/microchip/lan743x_ptp.c
1097
netif_warn(adapter, drv, adapter->netdev,
drivers/net/ethernet/microchip/lan743x_ptp.c
1101
netif_warn(adapter, drv, adapter->netdev,
drivers/net/ethernet/microchip/lan743x_ptp.c
1104
lan743x_csr_write(adapter, PTP_INT_STS,
drivers/net/ethernet/microchip/lan743x_ptp.c
1115
lan743x_ptp_io_event_clock_get(adapter,
drivers/net/ethernet/microchip/lan743x_ptp.c
1126
lan743x_csr_write(adapter, PTP_INT_STS,
drivers/net/ethernet/microchip/lan743x_ptp.c
1134
lan743x_csr_write(adapter, PTP_INT_STS,
drivers/net/ethernet/microchip/lan743x_ptp.c
1148
lan743x_ptp_io_event_clock_get(adapter,
drivers/net/ethernet/microchip/lan743x_ptp.c
1159
lan743x_csr_write(adapter, PTP_INT_STS,
drivers/net/ethernet/microchip/lan743x_ptp.c
1167
lan743x_csr_write(adapter, PTP_INT_STS,
drivers/net/ethernet/microchip/lan743x_ptp.c
1174
ptp_int_sts = lan743x_csr_read(adapter, PTP_INT_STS);
drivers/net/ethernet/microchip/lan743x_ptp.c
1178
lan743x_ptp_tx_ts_complete(adapter);
drivers/net/ethernet/microchip/lan743x_ptp.c
1180
lan743x_csr_write(adapter, INT_EN_SET, INT_BIT_1588_);
drivers/net/ethernet/microchip/lan743x_ptp.c
1185
static void lan743x_ptp_clock_get(struct lan743x_adapter *adapter,
drivers/net/ethernet/microchip/lan743x_ptp.c
1189
struct lan743x_ptp *ptp = &adapter->ptp;
drivers/net/ethernet/microchip/lan743x_ptp.c
1193
lan743x_csr_write(adapter, PTP_CMD_CTL, PTP_CMD_CTL_PTP_CLOCK_READ_);
drivers/net/ethernet/microchip/lan743x_ptp.c
1194
lan743x_ptp_wait_till_cmd_done(adapter, PTP_CMD_CTL_PTP_CLOCK_READ_);
drivers/net/ethernet/microchip/lan743x_ptp.c
1197
(*seconds) = lan743x_csr_read(adapter, PTP_CLOCK_SEC);
drivers/net/ethernet/microchip/lan743x_ptp.c
1200
(*nano_seconds) = lan743x_csr_read(adapter, PTP_CLOCK_NS);
drivers/net/ethernet/microchip/lan743x_ptp.c
1204
lan743x_csr_read(adapter, PTP_CLOCK_SUBNS);
drivers/net/ethernet/microchip/lan743x_ptp.c
1209
static void lan743x_ptp_io_clock_get(struct lan743x_adapter *adapter,
drivers/net/ethernet/microchip/lan743x_ptp.c
1212
struct lan743x_ptp *ptp = &adapter->ptp;
drivers/net/ethernet/microchip/lan743x_ptp.c
1215
lan743x_csr_write(adapter, PTP_CMD_CTL, PTP_CMD_CTL_PTP_CLOCK_READ_);
drivers/net/ethernet/microchip/lan743x_ptp.c
1216
lan743x_ptp_wait_till_cmd_done(adapter, PTP_CMD_CTL_PTP_CLOCK_READ_);
drivers/net/ethernet/microchip/lan743x_ptp.c
1219
(*sec) = lan743x_csr_read(adapter, PTP_LTC_RD_SEC_LO);
drivers/net/ethernet/microchip/lan743x_ptp.c
1222
(*nsec) = lan743x_csr_read(adapter, PTP_LTC_RD_NS);
drivers/net/ethernet/microchip/lan743x_ptp.c
1226
lan743x_csr_read(adapter, PTP_LTC_RD_SUBNS);
drivers/net/ethernet/microchip/lan743x_ptp.c
1231
static void lan743x_ptp_clock_step(struct lan743x_adapter *adapter,
drivers/net/ethernet/microchip/lan743x_ptp.c
1234
struct lan743x_ptp *ptp = &adapter->ptp;
drivers/net/ethernet/microchip/lan743x_ptp.c
1244
if (adapter->is_pci11x1x)
drivers/net/ethernet/microchip/lan743x_ptp.c
1245
lan743x_ptp_io_clock_get(adapter, &unsigned_seconds,
drivers/net/ethernet/microchip/lan743x_ptp.c
1248
lan743x_ptp_clock_get(adapter, &unsigned_seconds,
drivers/net/ethernet/microchip/lan743x_ptp.c
1257
lan743x_ptp_clock_set(adapter, unsigned_seconds,
drivers/net/ethernet/microchip/lan743x_ptp.c
1264
if (adapter->is_pci11x1x) {
drivers/net/ethernet/microchip/lan743x_ptp.c
1265
lan743x_ptp_io_clock_get(adapter, &unsigned_seconds,
drivers/net/ethernet/microchip/lan743x_ptp.c
1268
lan743x_ptp_clock_get(adapter, &unsigned_seconds,
drivers/net/ethernet/microchip/lan743x_ptp.c
1279
lan743x_ptp_clock_set(adapter, unsigned_seconds,
drivers/net/ethernet/microchip/lan743x_ptp.c
1323
lan743x_csr_write(adapter, PTP_CLOCK_STEP_ADJ,
drivers/net/ethernet/microchip/lan743x_ptp.c
1332
lan743x_csr_write(adapter, PTP_CLOCK_STEP_ADJ,
drivers/net/ethernet/microchip/lan743x_ptp.c
1336
lan743x_csr_write(adapter, PTP_CMD_CTL,
drivers/net/ethernet/microchip/lan743x_ptp.c
1338
lan743x_ptp_wait_till_cmd_done(adapter,
drivers/net/ethernet/microchip/lan743x_ptp.c
1344
lan743x_csr_write(adapter, PTP_CLOCK_STEP_ADJ,
drivers/net/ethernet/microchip/lan743x_ptp.c
1348
lan743x_csr_write(adapter, PTP_CMD_CTL,
drivers/net/ethernet/microchip/lan743x_ptp.c
1350
lan743x_ptp_wait_till_cmd_done(adapter,
drivers/net/ethernet/microchip/lan743x_ptp.c
1358
struct lan743x_adapter *adapter = (struct lan743x_adapter *)context;
drivers/net/ethernet/microchip/lan743x_ptp.c
1363
ptp = &adapter->ptp;
drivers/net/ethernet/microchip/lan743x_ptp.c
1365
lan743x_csr_write(adapter, INT_EN_CLR, INT_BIT_1588_);
drivers/net/ethernet/microchip/lan743x_ptp.c
1367
ptp_int_sts = lan743x_csr_read(adapter, PTP_INT_STS);
drivers/net/ethernet/microchip/lan743x_ptp.c
1368
ptp_int_sts &= lan743x_csr_read(adapter, PTP_INT_EN_SET);
drivers/net/ethernet/microchip/lan743x_ptp.c
1375
netif_err(adapter, drv, adapter->netdev,
drivers/net/ethernet/microchip/lan743x_ptp.c
1378
lan743x_csr_write(adapter, PTP_INT_STS,
drivers/net/ethernet/microchip/lan743x_ptp.c
1383
lan743x_csr_write(adapter, PTP_INT_STS,
drivers/net/ethernet/microchip/lan743x_ptp.c
1388
lan743x_csr_write(adapter, PTP_INT_STS,
drivers/net/ethernet/microchip/lan743x_ptp.c
1394
lan743x_csr_write(adapter, INT_EN_SET, INT_BIT_1588_);
drivers/net/ethernet/microchip/lan743x_ptp.c
1398
static void lan743x_ptp_tx_ts_enqueue_skb(struct lan743x_adapter *adapter,
drivers/net/ethernet/microchip/lan743x_ptp.c
1401
struct lan743x_ptp *ptp = &adapter->ptp;
drivers/net/ethernet/microchip/lan743x_ptp.c
1415
netif_err(adapter, drv, adapter->netdev,
drivers/net/ethernet/microchip/lan743x_ptp.c
1422
static void lan743x_ptp_sync_to_system_clock(struct lan743x_adapter *adapter)
drivers/net/ethernet/microchip/lan743x_ptp.c
1428
lan743x_ptp_clock_set(adapter, ts.tv_sec, ts.tv_nsec, 0);
drivers/net/ethernet/microchip/lan743x_ptp.c
1431
void lan743x_ptp_update_latency(struct lan743x_adapter *adapter,
drivers/net/ethernet/microchip/lan743x_ptp.c
1436
lan743x_csr_write(adapter, PTP_LATENCY,
drivers/net/ethernet/microchip/lan743x_ptp.c
1441
lan743x_csr_write(adapter, PTP_LATENCY,
drivers/net/ethernet/microchip/lan743x_ptp.c
1446
lan743x_csr_write(adapter, PTP_LATENCY,
drivers/net/ethernet/microchip/lan743x_ptp.c
1453
int lan743x_ptp_init(struct lan743x_adapter *adapter)
drivers/net/ethernet/microchip/lan743x_ptp.c
1455
struct lan743x_ptp *ptp = &adapter->ptp;
drivers/net/ethernet/microchip/lan743x_ptp.c
1467
lan743x_led_mux_save(adapter);
drivers/net/ethernet/microchip/lan743x_ptp.c
1472
int lan743x_ptp_open(struct lan743x_adapter *adapter)
drivers/net/ethernet/microchip/lan743x_ptp.c
1474
struct lan743x_ptp *ptp = &adapter->ptp;
drivers/net/ethernet/microchip/lan743x_ptp.c
1480
lan743x_ptp_reset(adapter);
drivers/net/ethernet/microchip/lan743x_ptp.c
1481
lan743x_ptp_sync_to_system_clock(adapter);
drivers/net/ethernet/microchip/lan743x_ptp.c
1482
temp = lan743x_csr_read(adapter, PTP_TX_MOD2);
drivers/net/ethernet/microchip/lan743x_ptp.c
1484
lan743x_csr_write(adapter, PTP_TX_MOD2, temp);
drivers/net/ethernet/microchip/lan743x_ptp.c
1487
lan743x_rx_set_tstamp_mode(adapter, HWTSTAMP_FILTER_NONE);
drivers/net/ethernet/microchip/lan743x_ptp.c
1489
lan743x_ptp_enable(adapter);
drivers/net/ethernet/microchip/lan743x_ptp.c
1490
lan743x_csr_write(adapter, INT_EN_SET, INT_BIT_1588_);
drivers/net/ethernet/microchip/lan743x_ptp.c
1491
lan743x_csr_write(adapter, PTP_INT_EN_SET,
drivers/net/ethernet/microchip/lan743x_ptp.c
1498
switch (adapter->csr.id_rev & ID_REV_ID_MASK_) {
drivers/net/ethernet/microchip/lan743x_ptp.c
1508
netif_warn(adapter, drv, adapter->netdev,
drivers/net/ethernet/microchip/lan743x_ptp.c
1510
adapter->csr.id_rev);
drivers/net/ethernet/microchip/lan743x_ptp.c
1529
adapter->netdev->dev_addr);
drivers/net/ethernet/microchip/lan743x_ptp.c
1551
&adapter->pdev->dev);
drivers/net/ethernet/microchip/lan743x_ptp.c
1554
netif_err(adapter, ifup, adapter->netdev,
drivers/net/ethernet/microchip/lan743x_ptp.c
1559
netif_info(adapter, ifup, adapter->netdev,
drivers/net/ethernet/microchip/lan743x_ptp.c
156
static int lan743x_ptp_reserve_event_ch(struct lan743x_adapter *adapter,
drivers/net/ethernet/microchip/lan743x_ptp.c
1564
lan743x_ptp_close(adapter);
drivers/net/ethernet/microchip/lan743x_ptp.c
1568
void lan743x_ptp_close(struct lan743x_adapter *adapter)
drivers/net/ethernet/microchip/lan743x_ptp.c
1570
struct lan743x_ptp *ptp = &adapter->ptp;
drivers/net/ethernet/microchip/lan743x_ptp.c
1578
netif_info(adapter, drv, adapter->netdev,
drivers/net/ethernet/microchip/lan743x_ptp.c
1583
lan743x_csr_write(adapter, PTP_INT_EN_CLR,
drivers/net/ethernet/microchip/lan743x_ptp.c
1586
lan743x_csr_write(adapter, INT_EN_CLR, INT_BIT_1588_);
drivers/net/ethernet/microchip/lan743x_ptp.c
159
struct lan743x_ptp *ptp = &adapter->ptp;
drivers/net/ethernet/microchip/lan743x_ptp.c
1591
lan743x_ptp_tx_ts_complete(adapter);
drivers/net/ethernet/microchip/lan743x_ptp.c
1608
lan743x_led_mux_restore(adapter);
drivers/net/ethernet/microchip/lan743x_ptp.c
1610
lan743x_ptp_disable(adapter);
drivers/net/ethernet/microchip/lan743x_ptp.c
1613
static void lan743x_ptp_set_sync_ts_insert(struct lan743x_adapter *adapter,
drivers/net/ethernet/microchip/lan743x_ptp.c
1616
u32 ptp_tx_mod = lan743x_csr_read(adapter, PTP_TX_MOD);
drivers/net/ethernet/microchip/lan743x_ptp.c
1623
lan743x_csr_write(adapter, PTP_TX_MOD, ptp_tx_mod);
drivers/net/ethernet/microchip/lan743x_ptp.c
1626
static bool lan743x_ptp_is_enabled(struct lan743x_adapter *adapter)
drivers/net/ethernet/microchip/lan743x_ptp.c
1628
if (lan743x_csr_read(adapter, PTP_CMD_CTL) & PTP_CMD_CTL_PTP_ENABLE_)
drivers/net/ethernet/microchip/lan743x_ptp.c
1633
static void lan743x_ptp_enable(struct lan743x_adapter *adapter)
drivers/net/ethernet/microchip/lan743x_ptp.c
1635
struct lan743x_ptp *ptp = &adapter->ptp;
drivers/net/ethernet/microchip/lan743x_ptp.c
1639
if (lan743x_ptp_is_enabled(adapter)) {
drivers/net/ethernet/microchip/lan743x_ptp.c
1640
netif_warn(adapter, drv, adapter->netdev,
drivers/net/ethernet/microchip/lan743x_ptp.c
1644
lan743x_csr_write(adapter, PTP_CMD_CTL, PTP_CMD_CTL_PTP_ENABLE_);
drivers/net/ethernet/microchip/lan743x_ptp.c
1649
static void lan743x_ptp_disable(struct lan743x_adapter *adapter)
drivers/net/ethernet/microchip/lan743x_ptp.c
1651
struct lan743x_ptp *ptp = &adapter->ptp;
drivers/net/ethernet/microchip/lan743x_ptp.c
1654
lan743x_rx_set_tstamp_mode(adapter, HWTSTAMP_FILTER_NONE);
drivers/net/ethernet/microchip/lan743x_ptp.c
1657
if (!lan743x_ptp_is_enabled(adapter)) {
drivers/net/ethernet/microchip/lan743x_ptp.c
1658
netif_warn(adapter, drv, adapter->netdev,
drivers/net/ethernet/microchip/lan743x_ptp.c
1662
lan743x_csr_write(adapter, PTP_CMD_CTL, PTP_CMD_CTL_PTP_DISABLE_);
drivers/net/ethernet/microchip/lan743x_ptp.c
1663
lan743x_ptp_wait_till_cmd_done(adapter, PTP_CMD_CTL_PTP_ENABLE_);
drivers/net/ethernet/microchip/lan743x_ptp.c
1668
static void lan743x_ptp_reset(struct lan743x_adapter *adapter)
drivers/net/ethernet/microchip/lan743x_ptp.c
167
netif_warn(adapter, drv, adapter->netdev,
drivers/net/ethernet/microchip/lan743x_ptp.c
1670
struct lan743x_ptp *ptp = &adapter->ptp;
drivers/net/ethernet/microchip/lan743x_ptp.c
1674
if (lan743x_ptp_is_enabled(adapter)) {
drivers/net/ethernet/microchip/lan743x_ptp.c
1675
netif_err(adapter, drv, adapter->netdev,
drivers/net/ethernet/microchip/lan743x_ptp.c
1680
lan743x_csr_write(adapter, PTP_CMD_CTL, PTP_CMD_CTL_PTP_RESET_);
drivers/net/ethernet/microchip/lan743x_ptp.c
1681
lan743x_ptp_wait_till_cmd_done(adapter, PTP_CMD_CTL_PTP_RESET_);
drivers/net/ethernet/microchip/lan743x_ptp.c
1686
static void lan743x_ptp_clock_set(struct lan743x_adapter *adapter,
drivers/net/ethernet/microchip/lan743x_ptp.c
1690
struct lan743x_ptp *ptp = &adapter->ptp;
drivers/net/ethernet/microchip/lan743x_ptp.c
1694
lan743x_csr_write(adapter, PTP_CLOCK_SEC, seconds);
drivers/net/ethernet/microchip/lan743x_ptp.c
1695
lan743x_csr_write(adapter, PTP_CLOCK_NS, nano_seconds);
drivers/net/ethernet/microchip/lan743x_ptp.c
1696
lan743x_csr_write(adapter, PTP_CLOCK_SUBNS, sub_nano_seconds);
drivers/net/ethernet/microchip/lan743x_ptp.c
1698
lan743x_csr_write(adapter, PTP_CMD_CTL, PTP_CMD_CTL_PTP_CLOCK_LOAD_);
drivers/net/ethernet/microchip/lan743x_ptp.c
1699
lan743x_ptp_wait_till_cmd_done(adapter, PTP_CMD_CTL_PTP_CLOCK_LOAD_);
drivers/net/ethernet/microchip/lan743x_ptp.c
1703
bool lan743x_ptp_request_tx_timestamp(struct lan743x_adapter *adapter)
drivers/net/ethernet/microchip/lan743x_ptp.c
1705
struct lan743x_ptp *ptp = &adapter->ptp;
drivers/net/ethernet/microchip/lan743x_ptp.c
1718
void lan743x_ptp_unrequest_tx_timestamp(struct lan743x_adapter *adapter)
drivers/net/ethernet/microchip/lan743x_ptp.c
1720
struct lan743x_ptp *ptp = &adapter->ptp;
drivers/net/ethernet/microchip/lan743x_ptp.c
1726
netif_err(adapter, drv, adapter->netdev,
drivers/net/ethernet/microchip/lan743x_ptp.c
1731
void lan743x_ptp_tx_timestamp_skb(struct lan743x_adapter *adapter,
drivers/net/ethernet/microchip/lan743x_ptp.c
1734
lan743x_ptp_tx_ts_enqueue_skb(adapter, skb, ignore_sync);
drivers/net/ethernet/microchip/lan743x_ptp.c
1736
lan743x_ptp_tx_ts_complete(adapter);
drivers/net/ethernet/microchip/lan743x_ptp.c
1742
struct lan743x_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/microchip/lan743x_ptp.c
1743
struct lan743x_tx *tx = &adapter->tx[0];
drivers/net/ethernet/microchip/lan743x_ptp.c
175
static void lan743x_ptp_release_event_ch(struct lan743x_adapter *adapter,
drivers/net/ethernet/microchip/lan743x_ptp.c
1752
config->rx_filter = adapter->rx_tstamp_filter;
drivers/net/ethernet/microchip/lan743x_ptp.c
1761
struct lan743x_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/microchip/lan743x_ptp.c
1766
for (index = 0; index < adapter->used_tx_channels;
drivers/net/ethernet/microchip/lan743x_ptp.c
1768
lan743x_tx_set_timestamping_mode(&adapter->tx[index],
drivers/net/ethernet/microchip/lan743x_ptp.c
1770
lan743x_ptp_set_sync_ts_insert(adapter, false);
drivers/net/ethernet/microchip/lan743x_ptp.c
1773
for (index = 0; index < adapter->used_tx_channels;
drivers/net/ethernet/microchip/lan743x_ptp.c
1775
lan743x_tx_set_timestamping_mode(&adapter->tx[index],
drivers/net/ethernet/microchip/lan743x_ptp.c
1777
lan743x_ptp_set_sync_ts_insert(adapter, false);
drivers/net/ethernet/microchip/lan743x_ptp.c
178
struct lan743x_ptp *ptp = &adapter->ptp;
drivers/net/ethernet/microchip/lan743x_ptp.c
1780
for (index = 0; index < adapter->used_tx_channels;
drivers/net/ethernet/microchip/lan743x_ptp.c
1782
lan743x_tx_set_timestamping_mode(&adapter->tx[index],
drivers/net/ethernet/microchip/lan743x_ptp.c
1785
lan743x_ptp_set_sync_ts_insert(adapter, true);
drivers/net/ethernet/microchip/lan743x_ptp.c
1790
netif_warn(adapter, drv, adapter->netdev,
drivers/net/ethernet/microchip/lan743x_ptp.c
1795
return lan743x_rx_set_tstamp_mode(adapter, config->rx_filter);
drivers/net/ethernet/microchip/lan743x_ptp.c
184
netif_warn(adapter, drv, adapter->netdev,
drivers/net/ethernet/microchip/lan743x_ptp.c
191
static void lan743x_ptp_clock_get(struct lan743x_adapter *adapter,
drivers/net/ethernet/microchip/lan743x_ptp.c
194
static void lan743x_ptp_io_clock_get(struct lan743x_adapter *adapter,
drivers/net/ethernet/microchip/lan743x_ptp.c
196
static void lan743x_ptp_clock_step(struct lan743x_adapter *adapter,
drivers/net/ethernet/microchip/lan743x_ptp.c
199
static void lan743x_led_mux_enable(struct lan743x_adapter *adapter,
drivers/net/ethernet/microchip/lan743x_ptp.c
20
static bool lan743x_ptp_is_enabled(struct lan743x_adapter *adapter);
drivers/net/ethernet/microchip/lan743x_ptp.c
202
struct lan743x_ptp *ptp = &adapter->ptp;
drivers/net/ethernet/microchip/lan743x_ptp.c
206
u32 val = lan743x_csr_read(adapter, HW_CFG);
drivers/net/ethernet/microchip/lan743x_ptp.c
21
static void lan743x_ptp_enable(struct lan743x_adapter *adapter);
drivers/net/ethernet/microchip/lan743x_ptp.c
213
lan743x_csr_write(adapter, HW_CFG, val);
drivers/net/ethernet/microchip/lan743x_ptp.c
217
static void lan743x_led_mux_save(struct lan743x_adapter *adapter)
drivers/net/ethernet/microchip/lan743x_ptp.c
219
struct lan743x_ptp *ptp = &adapter->ptp;
drivers/net/ethernet/microchip/lan743x_ptp.c
22
static void lan743x_ptp_disable(struct lan743x_adapter *adapter);
drivers/net/ethernet/microchip/lan743x_ptp.c
220
u32 id_rev = adapter->csr.id_rev & ID_REV_ID_MASK_;
drivers/net/ethernet/microchip/lan743x_ptp.c
224
u32 val = lan743x_csr_read(adapter, HW_CFG);
drivers/net/ethernet/microchip/lan743x_ptp.c
23
static void lan743x_ptp_reset(struct lan743x_adapter *adapter);
drivers/net/ethernet/microchip/lan743x_ptp.c
237
static void lan743x_led_mux_restore(struct lan743x_adapter *adapter)
drivers/net/ethernet/microchip/lan743x_ptp.c
239
u32 id_rev = adapter->csr.id_rev & ID_REV_ID_MASK_;
drivers/net/ethernet/microchip/lan743x_ptp.c
24
static void lan743x_ptp_clock_set(struct lan743x_adapter *adapter,
drivers/net/ethernet/microchip/lan743x_ptp.c
245
lan743x_led_mux_enable(adapter, i, true);
drivers/net/ethernet/microchip/lan743x_ptp.c
249
static int lan743x_gpio_rsrv_ptp_out(struct lan743x_adapter *adapter,
drivers/net/ethernet/microchip/lan743x_ptp.c
252
struct lan743x_gpio *gpio = &adapter->gpio;
drivers/net/ethernet/microchip/lan743x_ptp.c
265
lan743x_led_mux_enable(adapter, pin, false);
drivers/net/ethernet/microchip/lan743x_ptp.c
270
lan743x_csr_write(adapter, GPIO_CFG0, gpio->gpio_cfg0);
drivers/net/ethernet/microchip/lan743x_ptp.c
275
lan743x_csr_write(adapter, GPIO_CFG1, gpio->gpio_cfg1);
drivers/net/ethernet/microchip/lan743x_ptp.c
279
lan743x_csr_write(adapter, GPIO_CFG2, gpio->gpio_cfg2);
drivers/net/ethernet/microchip/lan743x_ptp.c
289
lan743x_csr_write(adapter, GPIO_CFG3, gpio->gpio_cfg3);
drivers/net/ethernet/microchip/lan743x_ptp.c
297
static void lan743x_gpio_release(struct lan743x_adapter *adapter, int pin)
drivers/net/ethernet/microchip/lan743x_ptp.c
299
struct lan743x_gpio *gpio = &adapter->gpio;
drivers/net/ethernet/microchip/lan743x_ptp.c
313
lan743x_csr_write(adapter, GPIO_CFG3,
drivers/net/ethernet/microchip/lan743x_ptp.c
321
lan743x_csr_write(adapter, GPIO_CFG1, gpio->gpio_cfg1);
drivers/net/ethernet/microchip/lan743x_ptp.c
326
lan743x_csr_write(adapter, GPIO_CFG0, gpio->gpio_cfg0);
drivers/net/ethernet/microchip/lan743x_ptp.c
329
lan743x_led_mux_enable(adapter, pin, true);
drivers/net/ethernet/microchip/lan743x_ptp.c
339
struct lan743x_adapter *adapter =
drivers/net/ethernet/microchip/lan743x_ptp.c
355
lan743x_csr_write(adapter, PTP_CLOCK_RATE_ADJ,
drivers/net/ethernet/microchip/lan743x_ptp.c
365
struct lan743x_adapter *adapter =
drivers/net/ethernet/microchip/lan743x_ptp.c
368
lan743x_ptp_clock_step(adapter, delta);
drivers/net/ethernet/microchip/lan743x_ptp.c
378
struct lan743x_adapter *adapter =
drivers/net/ethernet/microchip/lan743x_ptp.c
383
if (adapter->is_pci11x1x)
drivers/net/ethernet/microchip/lan743x_ptp.c
384
lan743x_ptp_io_clock_get(adapter, &seconds, &nano_seconds,
drivers/net/ethernet/microchip/lan743x_ptp.c
387
lan743x_ptp_clock_get(adapter, &seconds, &nano_seconds, NULL);
drivers/net/ethernet/microchip/lan743x_ptp.c
399
struct lan743x_adapter *adapter =
drivers/net/ethernet/microchip/lan743x_ptp.c
40
int lan743x_gpio_init(struct lan743x_adapter *adapter)
drivers/net/ethernet/microchip/lan743x_ptp.c
405
netif_warn(adapter, drv, adapter->netdev,
drivers/net/ethernet/microchip/lan743x_ptp.c
411
netif_warn(adapter, drv, adapter->netdev,
drivers/net/ethernet/microchip/lan743x_ptp.c
418
lan743x_ptp_clock_set(adapter, seconds, nano_seconds, 0);
drivers/net/ethernet/microchip/lan743x_ptp.c
42
struct lan743x_gpio *gpio = &adapter->gpio;
drivers/net/ethernet/microchip/lan743x_ptp.c
423
static void lan743x_ptp_perout_off(struct lan743x_adapter *adapter,
drivers/net/ethernet/microchip/lan743x_ptp.c
426
struct lan743x_ptp *ptp = &adapter->ptp;
drivers/net/ethernet/microchip/lan743x_ptp.c
431
lan743x_gpio_release(adapter, perout->gpio_pin);
drivers/net/ethernet/microchip/lan743x_ptp.c
437
lan743x_csr_write(adapter,
drivers/net/ethernet/microchip/lan743x_ptp.c
440
lan743x_csr_write(adapter,
drivers/net/ethernet/microchip/lan743x_ptp.c
444
general_config = lan743x_csr_read(adapter, PTP_GENERAL_CONFIG);
drivers/net/ethernet/microchip/lan743x_ptp.c
447
lan743x_csr_write(adapter, PTP_GENERAL_CONFIG, general_config);
drivers/net/ethernet/microchip/lan743x_ptp.c
448
lan743x_ptp_release_event_ch(adapter, perout->event_ch);
drivers/net/ethernet/microchip/lan743x_ptp.c
453
static int lan743x_ptp_perout(struct lan743x_adapter *adapter, int on,
drivers/net/ethernet/microchip/lan743x_ptp.c
456
struct lan743x_ptp *ptp = &adapter->ptp;
drivers/net/ethernet/microchip/lan743x_ptp.c
472
lan743x_ptp_perout_off(adapter, index);
drivers/net/ethernet/microchip/lan743x_ptp.c
479
lan743x_ptp_perout_off(adapter, index);
drivers/net/ethernet/microchip/lan743x_ptp.c
482
perout->event_ch = lan743x_ptp_reserve_event_ch(adapter, index);
drivers/net/ethernet/microchip/lan743x_ptp.c
485
netif_warn(adapter, drv, adapter->netdev,
drivers/net/ethernet/microchip/lan743x_ptp.c
492
perout->gpio_pin = lan743x_gpio_rsrv_ptp_out(adapter,
drivers/net/ethernet/microchip/lan743x_ptp.c
497
netif_warn(adapter, drv, adapter->netdev,
drivers/net/ethernet/microchip/lan743x_ptp.c
50
lan743x_csr_write(adapter, GPIO_CFG0, gpio->gpio_cfg0);
drivers/net/ethernet/microchip/lan743x_ptp.c
51
lan743x_csr_write(adapter, GPIO_CFG1, gpio->gpio_cfg1);
drivers/net/ethernet/microchip/lan743x_ptp.c
52
lan743x_csr_write(adapter, GPIO_CFG2, gpio->gpio_cfg2);
drivers/net/ethernet/microchip/lan743x_ptp.c
525
netif_warn(adapter, drv, adapter->netdev,
drivers/net/ethernet/microchip/lan743x_ptp.c
53
lan743x_csr_write(adapter, GPIO_CFG3, gpio->gpio_cfg3);
drivers/net/ethernet/microchip/lan743x_ptp.c
531
netif_warn(adapter, drv, adapter->netdev,
drivers/net/ethernet/microchip/lan743x_ptp.c
569
netif_warn(adapter, drv, adapter->netdev,
drivers/net/ethernet/microchip/lan743x_ptp.c
58
static void lan743x_ptp_wait_till_cmd_done(struct lan743x_adapter *adapter,
drivers/net/ethernet/microchip/lan743x_ptp.c
589
netif_warn(adapter, drv, adapter->netdev,
drivers/net/ethernet/microchip/lan743x_ptp.c
601
lan743x_csr_write(adapter,
drivers/net/ethernet/microchip/lan743x_ptp.c
604
lan743x_csr_write(adapter,
drivers/net/ethernet/microchip/lan743x_ptp.c
608
general_config = lan743x_csr_read(adapter, PTP_GENERAL_CONFIG);
drivers/net/ethernet/microchip/lan743x_ptp.c
615
lan743x_csr_write(adapter, PTP_GENERAL_CONFIG, general_config);
drivers/net/ethernet/microchip/lan743x_ptp.c
618
lan743x_csr_write(adapter,
drivers/net/ethernet/microchip/lan743x_ptp.c
621
lan743x_csr_write(adapter,
drivers/net/ethernet/microchip/lan743x_ptp.c
626
lan743x_csr_write(adapter,
drivers/net/ethernet/microchip/lan743x_ptp.c
629
lan743x_csr_write(adapter,
drivers/net/ethernet/microchip/lan743x_ptp.c
636
lan743x_ptp_perout_off(adapter, index);
drivers/net/ethernet/microchip/lan743x_ptp.c
640
static void lan743x_ptp_io_perout_off(struct lan743x_adapter *adapter,
drivers/net/ethernet/microchip/lan743x_ptp.c
643
struct lan743x_ptp *ptp = &adapter->ptp;
drivers/net/ethernet/microchip/lan743x_ptp.c
65
(data = (lan743x_csr_read(adapter, PTP_CMD_CTL) &
drivers/net/ethernet/microchip/lan743x_ptp.c
652
lan743x_csr_write(adapter,
drivers/net/ethernet/microchip/lan743x_ptp.c
655
lan743x_csr_write(adapter,
drivers/net/ethernet/microchip/lan743x_ptp.c
659
gen_cfg = lan743x_csr_read(adapter, HS_PTP_GENERAL_CONFIG);
drivers/net/ethernet/microchip/lan743x_ptp.c
664
lan743x_csr_write(adapter, HS_PTP_GENERAL_CONFIG, gen_cfg);
drivers/net/ethernet/microchip/lan743x_ptp.c
666
lan743x_csr_write(adapter, PTP_INT_STS,
drivers/net/ethernet/microchip/lan743x_ptp.c
669
lan743x_csr_write(adapter, PTP_INT_STS,
drivers/net/ethernet/microchip/lan743x_ptp.c
671
lan743x_ptp_release_event_ch(adapter, event_ch);
drivers/net/ethernet/microchip/lan743x_ptp.c
678
val = lan743x_csr_read(adapter, PTP_IO_EVENT_OUTPUT_CFG);
drivers/net/ethernet/microchip/lan743x_ptp.c
682
lan743x_csr_write(adapter, PTP_IO_EVENT_OUTPUT_CFG, val);
drivers/net/ethernet/microchip/lan743x_ptp.c
685
val = lan743x_csr_read(adapter, PTP_IO_PIN_CFG);
drivers/net/ethernet/microchip/lan743x_ptp.c
687
lan743x_csr_write(adapter, PTP_IO_PIN_CFG, val);
drivers/net/ethernet/microchip/lan743x_ptp.c
689
val = lan743x_csr_read(adapter, PTP_IO_PIN_CFG);
drivers/net/ethernet/microchip/lan743x_ptp.c
692
static int lan743x_ptp_io_perout(struct lan743x_adapter *adapter, int on,
drivers/net/ethernet/microchip/lan743x_ptp.c
695
struct lan743x_ptp *ptp = &adapter->ptp;
drivers/net/ethernet/microchip/lan743x_ptp.c
71
netif_err(adapter, drv, adapter->netdev,
drivers/net/ethernet/microchip/lan743x_ptp.c
714
lan743x_ptp_io_perout_off(adapter, index);
drivers/net/ethernet/microchip/lan743x_ptp.c
720
lan743x_ptp_io_perout_off(adapter, index);
drivers/net/ethernet/microchip/lan743x_ptp.c
723
event_ch = lan743x_ptp_reserve_event_ch(adapter, index);
drivers/net/ethernet/microchip/lan743x_ptp.c
725
netif_warn(adapter, drv, adapter->netdev,
drivers/net/ethernet/microchip/lan743x_ptp.c
77
static void lan743x_ptp_tx_ts_enqueue_ts(struct lan743x_adapter *adapter,
drivers/net/ethernet/microchip/lan743x_ptp.c
772
netif_warn(adapter, drv, adapter->netdev,
drivers/net/ethernet/microchip/lan743x_ptp.c
781
lan743x_csr_write(adapter,
drivers/net/ethernet/microchip/lan743x_ptp.c
784
lan743x_csr_write(adapter,
drivers/net/ethernet/microchip/lan743x_ptp.c
788
gen_cfg = lan743x_csr_read(adapter, HS_PTP_GENERAL_CONFIG);
drivers/net/ethernet/microchip/lan743x_ptp.c
794
lan743x_csr_write(adapter, HS_PTP_GENERAL_CONFIG, gen_cfg);
drivers/net/ethernet/microchip/lan743x_ptp.c
800
lan743x_csr_write(adapter,
drivers/net/ethernet/microchip/lan743x_ptp.c
803
lan743x_csr_write(adapter,
drivers/net/ethernet/microchip/lan743x_ptp.c
81
struct lan743x_ptp *ptp = &adapter->ptp;
drivers/net/ethernet/microchip/lan743x_ptp.c
812
lan743x_csr_write(adapter,
drivers/net/ethernet/microchip/lan743x_ptp.c
815
lan743x_csr_write(adapter,
drivers/net/ethernet/microchip/lan743x_ptp.c
820
val = lan743x_csr_read(adapter, PTP_CMD_CTL);
drivers/net/ethernet/microchip/lan743x_ptp.c
822
lan743x_csr_write(adapter, PTP_CMD_CTL, val);
drivers/net/ethernet/microchip/lan743x_ptp.c
825
val = lan743x_csr_read(adapter, PTP_IO_PIN_CFG);
drivers/net/ethernet/microchip/lan743x_ptp.c
827
lan743x_csr_write(adapter, PTP_IO_PIN_CFG, val);
drivers/net/ethernet/microchip/lan743x_ptp.c
830
val = lan743x_csr_read(adapter, PTP_IO_EVENT_OUTPUT_CFG);
drivers/net/ethernet/microchip/lan743x_ptp.c
840
lan743x_csr_write(adapter, PTP_IO_EVENT_OUTPUT_CFG, val);
drivers/net/ethernet/microchip/lan743x_ptp.c
845
lan743x_ptp_io_perout_off(adapter, index);
drivers/net/ethernet/microchip/lan743x_ptp.c
849
static void lan743x_ptp_io_extts_off(struct lan743x_adapter *adapter,
drivers/net/ethernet/microchip/lan743x_ptp.c
852
struct lan743x_ptp *ptp = &adapter->ptp;
drivers/net/ethernet/microchip/lan743x_ptp.c
862
lan743x_csr_write(adapter, PTP_INT_EN_CLR, val);
drivers/net/ethernet/microchip/lan743x_ptp.c
865
val = lan743x_csr_read(adapter, PTP_IO_CAP_CONFIG);
drivers/net/ethernet/microchip/lan743x_ptp.c
873
lan743x_csr_write(adapter, PTP_IO_CAP_CONFIG, val);
drivers/net/ethernet/microchip/lan743x_ptp.c
876
val = lan743x_csr_read(adapter, PTP_IO_SEL);
drivers/net/ethernet/microchip/lan743x_ptp.c
878
lan743x_csr_write(adapter, PTP_IO_SEL, val);
drivers/net/ethernet/microchip/lan743x_ptp.c
885
static int lan743x_ptp_io_event_cap_en(struct lan743x_adapter *adapter,
drivers/net/ethernet/microchip/lan743x_ptp.c
888
struct lan743x_ptp *ptp = &adapter->ptp;
drivers/net/ethernet/microchip/lan743x_ptp.c
896
val = lan743x_csr_read(adapter, PTP_IO_CAP_CONFIG);
drivers/net/ethernet/microchip/lan743x_ptp.c
90
netif_err(adapter, drv, adapter->netdev,
drivers/net/ethernet/microchip/lan743x_ptp.c
909
lan743x_csr_write(adapter, PTP_IO_CAP_CONFIG, val);
drivers/net/ethernet/microchip/lan743x_ptp.c
912
val = lan743x_csr_read(adapter, PTP_IO_SEL);
drivers/net/ethernet/microchip/lan743x_ptp.c
915
lan743x_csr_write(adapter, PTP_IO_SEL, val);
drivers/net/ethernet/microchip/lan743x_ptp.c
922
lan743x_csr_write(adapter, PTP_INT_EN_SET, val);
drivers/net/ethernet/microchip/lan743x_ptp.c
929
static int lan743x_ptp_io_extts(struct lan743x_adapter *adapter, int on,
drivers/net/ethernet/microchip/lan743x_ptp.c
932
struct lan743x_ptp *ptp = &adapter->ptp;
drivers/net/ethernet/microchip/lan743x_ptp.c
946
ret = lan743x_ptp_io_event_cap_en(adapter, flags, index);
drivers/net/ethernet/microchip/lan743x_ptp.c
950
lan743x_ptp_io_extts_off(adapter, index);
drivers/net/ethernet/microchip/lan743x_ptp.c
96
static void lan743x_ptp_tx_ts_complete(struct lan743x_adapter *adapter)
drivers/net/ethernet/microchip/lan743x_ptp.c
961
struct lan743x_adapter *adapter =
drivers/net/ethernet/microchip/lan743x_ptp.c
968
return lan743x_ptp_io_extts(adapter, on,
drivers/net/ethernet/microchip/lan743x_ptp.c
973
if (adapter->is_pci11x1x)
drivers/net/ethernet/microchip/lan743x_ptp.c
974
return lan743x_ptp_io_perout(adapter, on,
drivers/net/ethernet/microchip/lan743x_ptp.c
977
return lan743x_ptp_perout(adapter, on,
drivers/net/ethernet/microchip/lan743x_ptp.c
98
struct lan743x_ptp *ptp = &adapter->ptp;
drivers/net/ethernet/microchip/lan743x_ptp.c
984
netif_err(adapter, drv, adapter->netdev,
drivers/net/ethernet/microchip/lan743x_ptp.c
990
netif_err(adapter, drv, adapter->netdev, "request == NULL\n");
drivers/net/ethernet/microchip/lan743x_ptp.h
42
int lan743x_gpio_init(struct lan743x_adapter *adapter);
drivers/net/ethernet/microchip/lan743x_ptp.h
45
bool lan743x_ptp_request_tx_timestamp(struct lan743x_adapter *adapter);
drivers/net/ethernet/microchip/lan743x_ptp.h
46
void lan743x_ptp_unrequest_tx_timestamp(struct lan743x_adapter *adapter);
drivers/net/ethernet/microchip/lan743x_ptp.h
47
void lan743x_ptp_tx_timestamp_skb(struct lan743x_adapter *adapter,
drivers/net/ethernet/microchip/lan743x_ptp.h
49
int lan743x_ptp_init(struct lan743x_adapter *adapter);
drivers/net/ethernet/microchip/lan743x_ptp.h
50
int lan743x_ptp_open(struct lan743x_adapter *adapter);
drivers/net/ethernet/microchip/lan743x_ptp.h
51
void lan743x_ptp_close(struct lan743x_adapter *adapter);
drivers/net/ethernet/microchip/lan743x_ptp.h
52
void lan743x_ptp_update_latency(struct lan743x_adapter *adapter,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe.h
600
int pch_gbe_up(struct pch_gbe_adapter *adapter);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe.h
601
void pch_gbe_down(struct pch_gbe_adapter *adapter);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe.h
602
void pch_gbe_reinit_locked(struct pch_gbe_adapter *adapter);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe.h
603
void pch_gbe_reset(struct pch_gbe_adapter *adapter);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe.h
604
int pch_gbe_setup_tx_resources(struct pch_gbe_adapter *adapter,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe.h
606
int pch_gbe_setup_rx_resources(struct pch_gbe_adapter *adapter,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe.h
608
void pch_gbe_free_tx_resources(struct pch_gbe_adapter *adapter,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe.h
610
void pch_gbe_free_rx_resources(struct pch_gbe_adapter *adapter,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe.h
612
void pch_gbe_update_stats(struct pch_gbe_adapter *adapter);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe.h
615
void pch_gbe_check_options(struct pch_gbe_adapter *adapter);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_ethtool.c
112
struct pch_gbe_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_ethtool.c
113
struct pch_gbe_hw *hw = &adapter->hw;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_ethtool.c
130
ret = mii_ethtool_set_link_ksettings(&adapter->mii, ©_ecmd);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_ethtool.c
143
if (netif_running(adapter->netdev)) {
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_ethtool.c
144
pch_gbe_down(adapter);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_ethtool.c
145
ret = pch_gbe_up(adapter);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_ethtool.c
147
pch_gbe_reset(adapter);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_ethtool.c
170
struct pch_gbe_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_ethtool.c
174
strscpy(drvinfo->bus_info, pci_name(adapter->pdev),
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_ethtool.c
187
struct pch_gbe_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_ethtool.c
188
struct pch_gbe_hw *hw = &adapter->hw;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_ethtool.c
189
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_ethtool.c
198
pch_gbe_phy_read_reg_miic(&adapter->hw, i, &tmp);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_ethtool.c
211
struct pch_gbe_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_ethtool.c
216
if ((adapter->wake_up_evt & PCH_GBE_WLC_IND))
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_ethtool.c
218
if ((adapter->wake_up_evt & PCH_GBE_WLC_MLT))
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_ethtool.c
220
if ((adapter->wake_up_evt & PCH_GBE_WLC_BR))
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_ethtool.c
222
if ((adapter->wake_up_evt & PCH_GBE_WLC_MP))
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_ethtool.c
237
struct pch_gbe_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_ethtool.c
242
adapter->wake_up_evt = 0;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_ethtool.c
245
adapter->wake_up_evt |= PCH_GBE_WLC_IND;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_ethtool.c
247
adapter->wake_up_evt |= PCH_GBE_WLC_MLT;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_ethtool.c
249
adapter->wake_up_evt |= PCH_GBE_WLC_BR;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_ethtool.c
251
adapter->wake_up_evt |= PCH_GBE_WLC_MP;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_ethtool.c
264
struct pch_gbe_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_ethtool.c
266
return mii_nway_restart(&adapter->mii);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_ethtool.c
281
struct pch_gbe_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_ethtool.c
282
struct pch_gbe_tx_ring *txdr = adapter->tx_ring;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_ethtool.c
283
struct pch_gbe_rx_ring *rxdr = adapter->rx_ring;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_ethtool.c
306
struct pch_gbe_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_ethtool.c
317
if ((netif_running(adapter->netdev)))
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_ethtool.c
318
pch_gbe_down(adapter);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_ethtool.c
319
tx_old = adapter->tx_ring;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_ethtool.c
320
rx_old = adapter->rx_ring;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_ethtool.c
332
adapter->tx_ring = txdr;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_ethtool.c
333
adapter->rx_ring = rxdr;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_ethtool.c
343
if ((netif_running(adapter->netdev))) {
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_ethtool.c
345
err = pch_gbe_setup_rx_resources(adapter, adapter->rx_ring);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_ethtool.c
348
err = pch_gbe_setup_tx_resources(adapter, adapter->tx_ring);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_ethtool.c
351
pch_gbe_free_rx_resources(adapter, rx_old);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_ethtool.c
352
pch_gbe_free_tx_resources(adapter, tx_old);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_ethtool.c
355
adapter->rx_ring = rxdr;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_ethtool.c
356
adapter->tx_ring = txdr;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_ethtool.c
357
err = pch_gbe_up(adapter);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_ethtool.c
362
pch_gbe_free_rx_resources(adapter, adapter->rx_ring);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_ethtool.c
364
adapter->rx_ring = rx_old;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_ethtool.c
365
adapter->tx_ring = tx_old;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_ethtool.c
370
if (netif_running(adapter->netdev))
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_ethtool.c
371
pch_gbe_up(adapter);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_ethtool.c
383
struct pch_gbe_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_ethtool.c
384
struct pch_gbe_hw *hw = &adapter->hw;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_ethtool.c
410
struct pch_gbe_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_ethtool.c
411
struct pch_gbe_hw *hw = &adapter->hw;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_ethtool.c
425
if ((netif_running(adapter->netdev))) {
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_ethtool.c
426
pch_gbe_down(adapter);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_ethtool.c
427
ret = pch_gbe_up(adapter);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_ethtool.c
429
pch_gbe_reset(adapter);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_ethtool.c
470
struct pch_gbe_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_ethtool.c
473
char *hw_stats = (char *)&adapter->stats;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_ethtool.c
475
pch_gbe_update_stats(adapter);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_ethtool.c
77
struct pch_gbe_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_ethtool.c
80
mii_ethtool_get_link_ksettings(&adapter->mii, ecmd);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_ethtool.c
95
if (!netif_carrier_ok(adapter->netdev))
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1026
struct pch_gbe_adapter *adapter = timer_container_of(adapter, t,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1028
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1029
struct pch_gbe_hw *hw = &adapter->hw;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1033
pch_gbe_update_stats(adapter);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1034
if ((mii_link_ok(&adapter->mii)) && (!netif_carrier_ok(netdev))) {
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1036
netdev->tx_queue_len = adapter->tx_queue_len;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1038
mii_ethtool_gset(&adapter->mii, &cmd);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1042
pch_gbe_set_rgmii_ctrl(adapter, hw->mac.link_speed,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1045
pch_gbe_set_mode(adapter, hw->mac.link_speed,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1053
} else if ((!mii_link_ok(&adapter->mii)) &&
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1061
mod_timer(&adapter->watchdog_timer,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1071
static void pch_gbe_tx_queue(struct pch_gbe_adapter *adapter,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1075
struct pch_gbe_hw *hw = &adapter->hw;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1147
buffer_info->dma = dma_map_single(&adapter->pdev->dev, tmp_skb->data,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1150
if (dma_mapping_error(&adapter->pdev->dev, buffer_info->dma)) {
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1151
netdev_err(adapter->netdev, "TX DMA map failed\n");
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1177
pch_tx_timestamp(adapter, skb);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1186
void pch_gbe_update_stats(struct pch_gbe_adapter *adapter)
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1188
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1189
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1190
struct pch_gbe_hw_stats *stats = &adapter->stats;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1200
spin_lock_irqsave(&adapter->stats_lock, flags);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1227
spin_unlock_irqrestore(&adapter->stats_lock, flags);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1261
struct pch_gbe_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1262
struct pch_gbe_hw *hw = &adapter->hw;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
127
pch_rx_timestamp(struct pch_gbe_adapter *adapter, struct sk_buff *skb)
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1274
adapter->stats.intr_rx_frame_err_count++;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1276
if (!adapter->rx_stop_flag) {
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1277
adapter->stats.intr_rx_fifo_err_count++;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1279
adapter->rx_stop_flag = true;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1283
pch_gbe_disable_dma_rx(&adapter->hw);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1288
adapter->stats.intr_rx_dma_err_count++;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1290
adapter->stats.intr_tx_fifo_err_count++;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1292
adapter->stats.intr_tx_dma_err_count++;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1294
adapter->stats.intr_tcpip_err_count++;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1297
adapter->stats.intr_rx_dsc_empty_count++;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1309
(adapter->rx_stop_flag)) {
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1310
if (likely(napi_schedule_prep(&adapter->napi))) {
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1312
atomic_inc(&adapter->irq_sem);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1318
__napi_schedule(&adapter->napi);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1333
pch_gbe_alloc_rx_buffers(struct pch_gbe_adapter *adapter,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1336
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1337
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1338
struct pch_gbe_hw *hw = &adapter->hw;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
134
if (!adapter->hwts_rx_en)
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1345
bufsz = adapter->rx_buffer_len + NET_IP_ALIGN;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1353
adapter->stats.rx_alloc_buff_failed++;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1364
if (dma_mapping_error(&adapter->pdev->dev, buffer_info->dma)) {
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1368
adapter->stats.rx_alloc_buff_failed++;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
138
pdev = adapter->ptp_pdev;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1396
pch_gbe_alloc_rx_buffers_pool(struct pch_gbe_adapter *adapter,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1399
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1405
bufsz = adapter->rx_buffer_len;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1428
static void pch_gbe_alloc_tx_buffers(struct pch_gbe_adapter *adapter,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1438
adapter->hw.mac.max_frame_size + PCH_GBE_DMA_ALIGN + NET_IP_ALIGN;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1442
skb = netdev_alloc_skb(adapter->netdev, bufsz);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1460
pch_gbe_clean_tx(struct pch_gbe_adapter *adapter,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1471
netdev_dbg(adapter->netdev, "next_to_clean : %d\n",
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1476
netdev_dbg(adapter->netdev, "gbec_status:0x%04x dma_status:0x%04x\n",
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1485
netdev_dbg(adapter->netdev,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1500
netdev_dbg(adapter->netdev,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1509
netdev_dbg(adapter->netdev, "gbec_status:0x%04x\n",
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1516
adapter->stats.tx_aborted_errors++;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1517
netdev_err(adapter->netdev, "Transfer Abort Error\n");
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1520
adapter->stats.tx_carrier_errors++;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1521
netdev_err(adapter->netdev,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1525
adapter->stats.tx_aborted_errors++;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1526
netdev_err(adapter->netdev,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1531
adapter->stats.collisions++;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1532
adapter->stats.tx_packets++;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1533
adapter->stats.tx_bytes += skb->len;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1534
netdev_dbg(adapter->netdev, "Transfer Collision\n");
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1537
adapter->stats.tx_packets++;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1538
adapter->stats.tx_bytes += skb->len;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1541
netdev_dbg(adapter->netdev,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1543
dma_unmap_single(&adapter->pdev->dev, buffer_info->dma,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1548
netdev_dbg(adapter->netdev,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1563
netdev_dbg(adapter->netdev,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1568
netif_tx_lock(adapter->netdev);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1569
if (unlikely(cleaned && (netif_queue_stopped(adapter->netdev))))
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1571
netif_wake_queue(adapter->netdev);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1572
adapter->stats.tx_restart_count++;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1573
netdev_dbg(adapter->netdev, "Tx wake queue\n");
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1578
netdev_dbg(adapter->netdev, "next_to_clean : %d\n",
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1580
netif_tx_unlock(adapter->netdev);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1596
pch_gbe_clean_rx(struct pch_gbe_adapter *adapter,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1600
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1601
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
161
pch_tx_timestamp(struct pch_gbe_adapter *adapter, struct sk_buff *skb)
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1642
adapter->stats.rx_frame_errors++;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1646
adapter->stats.rx_frame_errors++;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1650
adapter->stats.rx_crc_errors++;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1665
adapter->stats.rx_bytes += length;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1666
adapter->stats.rx_packets++;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1668
adapter->stats.multicast++;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1672
pch_rx_timestamp(adapter, skb);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1680
napi_gro_receive(&adapter->napi, skb);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1688
pch_gbe_alloc_rx_buffers(adapter, rx_ring,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1697
pch_gbe_alloc_rx_buffers(adapter, rx_ring, cleaned_count);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
170
if (likely(!(shtx->tx_flags & SKBTX_HW_TSTAMP && adapter->hwts_tx_en)))
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1709
int pch_gbe_setup_tx_resources(struct pch_gbe_adapter *adapter,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1712
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1738
netdev_dbg(adapter->netdev,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1753
int pch_gbe_setup_rx_resources(struct pch_gbe_adapter *adapter,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1756
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
176
pdev = adapter->ptp_pdev;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1779
netdev_dbg(adapter->netdev,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1791
void pch_gbe_free_tx_resources(struct pch_gbe_adapter *adapter,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1794
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1796
pch_gbe_clean_tx_ring(adapter, tx_ring);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1809
void pch_gbe_free_rx_resources(struct pch_gbe_adapter *adapter,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1812
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1814
pch_gbe_clean_rx_ring(adapter, rx_ring);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1829
static int pch_gbe_request_irq(struct pch_gbe_adapter *adapter)
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1831
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1834
err = pci_alloc_irq_vectors(adapter->pdev, 1, 1, PCI_IRQ_ALL_TYPES);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1838
adapter->irq = pci_irq_vector(adapter->pdev, 0);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1840
err = request_irq(adapter->irq, &pch_gbe_intr, IRQF_SHARED,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1846
pci_dev_msi_enabled(adapter->pdev), err);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1857
int pch_gbe_up(struct pch_gbe_adapter *adapter)
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1859
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1860
struct pch_gbe_tx_ring *tx_ring = adapter->tx_ring;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1861
struct pch_gbe_rx_ring *rx_ring = adapter->rx_ring;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1865
if (!is_valid_ether_addr(adapter->hw.mac.addr)) {
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1873
pch_gbe_setup_tctl(adapter);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1874
pch_gbe_configure_tx(adapter);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1875
pch_gbe_setup_rctl(adapter);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1876
pch_gbe_configure_rx(adapter);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1878
err = pch_gbe_request_irq(adapter);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1884
err = pch_gbe_alloc_rx_buffers_pool(adapter, rx_ring, rx_ring->count);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1890
pch_gbe_alloc_tx_buffers(adapter, tx_ring);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1891
pch_gbe_alloc_rx_buffers(adapter, rx_ring, rx_ring->count);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1892
adapter->tx_queue_len = netdev->tx_queue_len;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1893
pch_gbe_enable_dma_rx(&adapter->hw);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1894
pch_gbe_enable_mac_rx(&adapter->hw);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1896
mod_timer(&adapter->watchdog_timer, jiffies);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1898
napi_enable(&adapter->napi);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1899
pch_gbe_irq_enable(adapter);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1900
netif_start_queue(adapter->netdev);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1905
pch_gbe_free_irq(adapter);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1914
void pch_gbe_down(struct pch_gbe_adapter *adapter)
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1916
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1917
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1918
struct pch_gbe_rx_ring *rx_ring = adapter->rx_ring;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1922
napi_disable(&adapter->napi);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1923
atomic_set(&adapter->irq_sem, 0);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1925
pch_gbe_irq_disable(adapter);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1926
pch_gbe_free_irq(adapter);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1928
timer_delete_sync(&adapter->watchdog_timer);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1930
netdev->tx_queue_len = adapter->tx_queue_len;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1935
pch_gbe_reset(adapter);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1936
pch_gbe_clean_tx_ring(adapter, adapter->tx_ring);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1937
pch_gbe_clean_rx_ring(adapter, adapter->rx_ring);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1939
dma_free_coherent(&adapter->pdev->dev, rx_ring->rx_buff_pool_size,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1953
static int pch_gbe_sw_init(struct pch_gbe_adapter *adapter)
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1955
struct pch_gbe_hw *hw = &adapter->hw;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1956
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1958
adapter->rx_buffer_len = PCH_GBE_FRAME_SIZE_2048;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1963
if (pch_gbe_alloc_queues(adapter)) {
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1967
spin_lock_init(&adapter->hw.miim_lock);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1968
spin_lock_init(&adapter->stats_lock);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1969
spin_lock_init(&adapter->ethtool_lock);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1970
atomic_set(&adapter->irq_sem, 0);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1971
pch_gbe_irq_disable(adapter);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1973
pch_gbe_init_stats(adapter);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1977
(u32) adapter->rx_buffer_len,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1991
struct pch_gbe_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1992
struct pch_gbe_hw *hw = &adapter->hw;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1996
err = pch_gbe_setup_tx_resources(adapter, adapter->tx_ring);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2000
err = pch_gbe_setup_rx_resources(adapter, adapter->rx_ring);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2004
err = pch_gbe_up(adapter);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2011
if (!adapter->wake_up_evt)
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2013
pch_gbe_free_rx_resources(adapter, adapter->rx_ring);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2015
pch_gbe_free_tx_resources(adapter, adapter->tx_ring);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2017
pch_gbe_reset(adapter);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2030
struct pch_gbe_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2031
struct pch_gbe_hw *hw = &adapter->hw;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2033
pch_gbe_down(adapter);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2034
if (!adapter->wake_up_evt)
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2036
pch_gbe_free_tx_resources(adapter, adapter->tx_ring);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2037
pch_gbe_free_rx_resources(adapter, adapter->rx_ring);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
205
struct pch_gbe_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2051
struct pch_gbe_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2052
struct pch_gbe_tx_ring *tx_ring = adapter->tx_ring;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2063
pch_gbe_tx_queue(adapter, tx_ring, skb);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2073
struct pch_gbe_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2074
struct pch_gbe_hw *hw = &adapter->hw;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
210
pdev = adapter->ptp_pdev;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2138
struct pch_gbe_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2146
memcpy(adapter->hw.mac.addr, skaddr->sa_data, netdev->addr_len);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2147
pch_gbe_mac_mar_set(&adapter->hw, adapter->hw.mac.addr, 0);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2152
netdev_dbg(netdev, "mac_addr : %pM\n", adapter->hw.mac.addr);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2154
ioread32(&adapter->hw.reg->mac_adr[0].high),
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2155
ioread32(&adapter->hw.reg->mac_adr[0].low));
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2169
struct pch_gbe_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
217
adapter->hwts_rx_en = 0;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2171
unsigned long old_rx_buffer_len = adapter->rx_buffer_len;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2175
adapter->rx_buffer_len = PCH_GBE_FRAME_SIZE_2048;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2177
adapter->rx_buffer_len = PCH_GBE_FRAME_SIZE_4096;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2179
adapter->rx_buffer_len = PCH_GBE_FRAME_SIZE_8192;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2181
adapter->rx_buffer_len = PCH_GBE_MAX_RX_BUFFER_SIZE;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2184
pch_gbe_down(adapter);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2185
err = pch_gbe_up(adapter);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2187
adapter->rx_buffer_len = old_rx_buffer_len;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2188
pch_gbe_up(adapter);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2192
adapter->hw.mac.max_frame_size = max_frame;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2195
pch_gbe_reset(adapter);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2197
adapter->hw.mac.max_frame_size = max_frame;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
220
adapter->hwts_rx_en = 0;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2202
max_frame, (u32) adapter->rx_buffer_len, netdev->mtu,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2203
adapter->hw.mac.max_frame_size);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2217
struct pch_gbe_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2224
pch_gbe_reinit_locked(adapter);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2226
pch_gbe_reset(adapter);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
224
adapter->hwts_rx_en = cfg->rx_filter;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2242
struct pch_gbe_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2246
return generic_mii_ioctl(&adapter->mii, if_mii(ifr), cmd, NULL);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2256
struct pch_gbe_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2259
adapter->stats.tx_timeout_count++;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2260
schedule_work(&adapter->reset_task);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2273
struct pch_gbe_adapter *adapter =
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2279
netdev_dbg(adapter->netdev, "budget : %d\n", budget);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
228
adapter->hwts_rx_en = cfg->rx_filter;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2281
pch_gbe_clean_rx(adapter, adapter->rx_ring, &work_done, budget);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2282
cleaned = pch_gbe_clean_tx(adapter, adapter->tx_ring);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2294
pch_gbe_irq_enable(adapter);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2297
if (adapter->rx_stop_flag) {
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2298
adapter->rx_stop_flag = false;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2299
pch_gbe_enable_dma_rx(&adapter->hw);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2302
netdev_dbg(adapter->netdev,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2316
struct pch_gbe_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2318
disable_irq(adapter->irq);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2319
pch_gbe_intr(adapter->irq, netdev);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2320
enable_irq(adapter->irq);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
234
adapter->hwts_rx_en = cfg->rx_filter;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2345
struct pch_gbe_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2349
pch_gbe_down(adapter);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2358
struct pch_gbe_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2359
struct pch_gbe_hw *hw = &adapter->hw;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2368
pch_gbe_reset(adapter);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2378
struct pch_gbe_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2381
if (pch_gbe_up(adapter)) {
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2393
struct pch_gbe_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2394
struct pch_gbe_hw *hw = &adapter->hw;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2395
u32 wufc = adapter->wake_up_evt;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2399
pch_gbe_down(adapter);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2402
pch_gbe_setup_rctl(adapter);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2403
pch_gbe_configure_rx(adapter);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2404
pch_gbe_set_rgmii_ctrl(adapter, hw->mac.link_speed,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2406
pch_gbe_set_mode(adapter, hw->mac.link_speed,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
243
adapter->hwts_tx_en = cfg->tx_type == HWTSTAMP_TX_ON;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2430
struct pch_gbe_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2431
struct pch_gbe_hw *hw = &adapter->hw;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2441
pch_gbe_reset(adapter);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2446
pch_gbe_up(adapter);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2465
struct pch_gbe_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2467
cancel_work_sync(&adapter->reset_task);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2470
pch_gbe_phy_hw_reset(&adapter->hw);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2471
pci_dev_put(adapter->ptp_pdev);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2480
struct pch_gbe_adapter *adapter;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2509
adapter = netdev_priv(netdev);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2510
adapter->netdev = netdev;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2511
adapter->pdev = pdev;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2512
adapter->hw.back = adapter;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2513
adapter->hw.reg = pcim_iomap_table(pdev)[PCH_GBE_PCI_BAR];
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2515
adapter->pdata = (struct pch_gbe_privdata *)pci_id->driver_data;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2516
if (adapter->pdata && adapter->pdata->platform_init) {
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2517
ret = adapter->pdata->platform_init(pdev);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2522
adapter->ptp_pdev =
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2523
pci_get_domain_bus_and_slot(pci_domain_nr(adapter->pdev->bus),
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2524
adapter->pdev->bus->number,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2529
netif_napi_add(netdev, &adapter->napi, pch_gbe_napi_poll);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
254
struct pch_gbe_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2540
pch_gbe_mac_load_mac_addr(&adapter->hw);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2541
pch_gbe_mac_reset_hw(&adapter->hw);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2544
ret = pch_gbe_sw_init(adapter);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2549
ret = pch_gbe_init_phy(adapter);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2556
ret = pch_gbe_mac_read_mac_addr(&adapter->hw);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
256
cfg->tx_type = adapter->hwts_tx_en ? HWTSTAMP_TX_ON : HWTSTAMP_TX_OFF;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2562
eth_hw_addr_set(netdev, adapter->hw.mac.addr);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
257
cfg->rx_filter = adapter->hwts_rx_en;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2573
timer_setup(&adapter->watchdog_timer, pch_gbe_watchdog, 0);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2575
INIT_WORK(&adapter->reset_task, pch_gbe_reset_task);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2577
pch_gbe_check_options(adapter);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2580
adapter->wake_up_evt = PCH_GBE_WL_INIT_SETTING;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2584
pch_gbe_reset(adapter);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2596
if (adapter->pdata && adapter->pdata->phy_disable_hibernate)
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2597
pch_gbe_phy_disable_hibernate(&adapter->hw);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2603
pch_gbe_phy_hw_reset(&adapter->hw);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2605
pci_dev_put(adapter->ptp_pdev);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
275
struct pch_gbe_adapter *adapter = pch_gbe_hw_to_adapter(hw);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
288
netdev_dbg(adapter->netdev, "hw->mac.addr : %pM\n", hw->mac.addr);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
314
struct pch_gbe_adapter *adapter = pch_gbe_hw_to_adapter(hw);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
317
netdev_dbg(adapter->netdev, "index : 0x%x\n", index);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
403
struct pch_gbe_adapter *adapter = pch_gbe_hw_to_adapter(hw);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
407
netdev_dbg(adapter->netdev, "mac->fc = %u\n", mac->fc);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
429
netdev_err(adapter->netdev,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
436
netdev_dbg(adapter->netdev,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
449
struct pch_gbe_adapter *adapter = pch_gbe_hw_to_adapter(hw);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
452
netdev_dbg(adapter->netdev, "wu_evt : 0x%08x ADDR_MASK reg : 0x%08x\n",
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
485
struct pch_gbe_adapter *adapter = pch_gbe_hw_to_adapter(hw);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
493
netdev_err(adapter->netdev, "pch-gbe.miim won't go Ready\n");
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
504
netdev_dbg(adapter->netdev, "PHY %s: reg=%d, data=0x%04X\n",
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
516
struct pch_gbe_adapter *adapter = pch_gbe_hw_to_adapter(hw);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
538
netdev_dbg(adapter->netdev,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
557
static int pch_gbe_alloc_queues(struct pch_gbe_adapter *adapter)
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
559
adapter->tx_ring = devm_kzalloc(&adapter->pdev->dev,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
560
sizeof(*adapter->tx_ring), GFP_KERNEL);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
561
if (!adapter->tx_ring)
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
564
adapter->rx_ring = devm_kzalloc(&adapter->pdev->dev,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
565
sizeof(*adapter->rx_ring), GFP_KERNEL);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
566
if (!adapter->rx_ring)
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
575
static void pch_gbe_init_stats(struct pch_gbe_adapter *adapter)
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
577
memset(&adapter->stats, 0, sizeof(adapter->stats));
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
588
static int pch_gbe_init_phy(struct pch_gbe_adapter *adapter)
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
590
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
596
adapter->mii.phy_id = (addr == 0) ? 1 : (addr == 1) ? 0 : addr;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
597
bmcr = pch_gbe_mdio_read(netdev, adapter->mii.phy_id, MII_BMCR);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
598
stat = pch_gbe_mdio_read(netdev, adapter->mii.phy_id, MII_BMSR);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
599
stat = pch_gbe_mdio_read(netdev, adapter->mii.phy_id, MII_BMSR);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
603
adapter->hw.phy.addr = adapter->mii.phy_id;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
604
netdev_dbg(netdev, "phy_addr = %d\n", adapter->mii.phy_id);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
609
if (addr != adapter->mii.phy_id) {
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
620
adapter->mii.phy_id_mask = 0x1F;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
621
adapter->mii.reg_num_mask = 0x1F;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
622
adapter->mii.dev = adapter->netdev;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
623
adapter->mii.mdio_read = pch_gbe_mdio_read;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
624
adapter->mii.mdio_write = pch_gbe_mdio_write;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
625
adapter->mii.supports_gmii = mii_check_gmii_support(&adapter->mii);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
640
struct pch_gbe_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
641
struct pch_gbe_hw *hw = &adapter->hw;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
657
struct pch_gbe_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
658
struct pch_gbe_hw *hw = &adapter->hw;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
669
struct pch_gbe_adapter *adapter;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
670
adapter = container_of(work, struct pch_gbe_adapter, reset_task);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
673
pch_gbe_reinit_locked(adapter);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
681
void pch_gbe_reinit_locked(struct pch_gbe_adapter *adapter)
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
683
pch_gbe_down(adapter);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
684
pch_gbe_up(adapter);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
691
void pch_gbe_reset(struct pch_gbe_adapter *adapter)
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
693
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
694
struct pch_gbe_hw *hw = &adapter->hw;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
705
netdev_err(adapter->netdev, "pch_gbe_phy_get_id error\n");
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
717
static void pch_gbe_free_irq(struct pch_gbe_adapter *adapter)
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
719
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
721
free_irq(adapter->irq, netdev);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
722
pci_free_irq_vectors(adapter->pdev);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
729
static void pch_gbe_irq_disable(struct pch_gbe_adapter *adapter)
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
731
struct pch_gbe_hw *hw = &adapter->hw;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
733
atomic_inc(&adapter->irq_sem);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
736
synchronize_irq(adapter->irq);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
738
netdev_dbg(adapter->netdev, "INT_EN reg : 0x%08x\n",
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
746
static void pch_gbe_irq_enable(struct pch_gbe_adapter *adapter)
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
748
struct pch_gbe_hw *hw = &adapter->hw;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
750
if (likely(atomic_dec_and_test(&adapter->irq_sem)))
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
753
netdev_dbg(adapter->netdev, "INT_EN reg : 0x%08x\n",
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
763
static void pch_gbe_setup_tctl(struct pch_gbe_adapter *adapter)
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
765
struct pch_gbe_hw *hw = &adapter->hw;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
786
static void pch_gbe_configure_tx(struct pch_gbe_adapter *adapter)
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
788
struct pch_gbe_hw *hw = &adapter->hw;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
791
netdev_dbg(adapter->netdev, "dma addr = 0x%08llx size = 0x%08x\n",
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
792
(unsigned long long)adapter->tx_ring->dma,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
793
adapter->tx_ring->size);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
796
tdba = adapter->tx_ring->dma;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
797
tdlen = adapter->tx_ring->size - 0x10;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
812
static void pch_gbe_setup_rctl(struct pch_gbe_adapter *adapter)
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
814
struct pch_gbe_hw *hw = &adapter->hw;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
834
static void pch_gbe_configure_rx(struct pch_gbe_adapter *adapter)
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
836
struct pch_gbe_hw *hw = &adapter->hw;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
839
netdev_dbg(adapter->netdev, "dma adr = 0x%08llx size = 0x%08x\n",
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
840
(unsigned long long)adapter->rx_ring->dma,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
841
adapter->rx_ring->size);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
852
netdev_dbg(adapter->netdev,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
859
rdba = adapter->rx_ring->dma;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
860
rdlen = adapter->rx_ring->size - 0x10;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
872
struct pch_gbe_adapter *adapter, struct pch_gbe_buffer *buffer_info)
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
875
dma_unmap_single(&adapter->pdev->dev, buffer_info->dma,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
891
struct pch_gbe_adapter *adapter,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
895
dma_unmap_single(&adapter->pdev->dev, buffer_info->dma,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
910
static void pch_gbe_clean_tx_ring(struct pch_gbe_adapter *adapter,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
913
struct pch_gbe_hw *hw = &adapter->hw;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
921
pch_gbe_unmap_and_free_tx_resource(adapter, buffer_info);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
923
netdev_dbg(adapter->netdev,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
943
pch_gbe_clean_rx_ring(struct pch_gbe_adapter *adapter,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
946
struct pch_gbe_hw *hw = &adapter->hw;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
954
pch_gbe_unmap_and_free_rx_resource(adapter, buffer_info);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
956
netdev_dbg(adapter->netdev,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
969
static void pch_gbe_set_rgmii_ctrl(struct pch_gbe_adapter *adapter, u16 speed,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
972
struct pch_gbe_hw *hw = &adapter->hw;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
992
static void pch_gbe_set_mode(struct pch_gbe_adapter *adapter, u16 speed,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
995
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
996
struct pch_gbe_hw *hw = &adapter->hw;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_param.c
217
struct pch_gbe_adapter *adapter)
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_param.c
228
netdev_dbg(adapter->netdev, "%s Enabled\n", opt->name);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_param.c
231
netdev_dbg(adapter->netdev, "%s Disabled\n", opt->name);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_param.c
237
netdev_dbg(adapter->netdev, "%s set to %i\n",
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_param.c
250
netdev_dbg(adapter->netdev, "%s\n",
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_param.c
261
netdev_dbg(adapter->netdev, "Invalid %s value specified (%i) %s\n",
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_param.c
271
static void pch_gbe_check_copper_options(struct pch_gbe_adapter *adapter)
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_param.c
273
struct pch_gbe_hw *hw = &adapter->hw;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_param.c
286
pch_gbe_validate_option(&speed, &opt, adapter);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_param.c
298
pch_gbe_validate_option(&dplx, &opt, adapter);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_param.c
311
netdev_dbg(adapter->netdev,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_param.c
317
pch_gbe_validate_option(&tmp, &opt, adapter);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_param.c
326
netdev_dbg(adapter->netdev,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_param.c
332
netdev_dbg(adapter->netdev,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_param.c
334
netdev_dbg(adapter->netdev,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_param.c
343
netdev_dbg(adapter->netdev,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_param.c
345
netdev_dbg(adapter->netdev,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_param.c
355
netdev_dbg(adapter->netdev,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_param.c
357
netdev_dbg(adapter->netdev,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_param.c
366
netdev_dbg(adapter->netdev, "Forcing to 10 Mbps Half Duplex\n");
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_param.c
373
netdev_dbg(adapter->netdev, "Forcing to 10 Mbps Full Duplex\n");
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_param.c
380
netdev_dbg(adapter->netdev,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_param.c
382
netdev_dbg(adapter->netdev,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_param.c
391
netdev_dbg(adapter->netdev,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_param.c
399
netdev_dbg(adapter->netdev,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_param.c
407
netdev_dbg(adapter->netdev,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_param.c
411
netdev_dbg(adapter->netdev,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_param.c
416
netdev_dbg(adapter->netdev,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_param.c
432
void pch_gbe_check_options(struct pch_gbe_adapter *adapter)
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_param.c
434
struct pch_gbe_hw *hw = &adapter->hw;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_param.c
435
struct net_device *dev = adapter->netdev;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_param.c
448
struct pch_gbe_tx_ring *tx_ring = adapter->tx_ring;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_param.c
450
pch_gbe_validate_option(&tx_ring->count, &opt, adapter);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_param.c
464
struct pch_gbe_rx_ring *rx_ring = adapter->rx_ring;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_param.c
466
pch_gbe_validate_option(&rx_ring->count, &opt, adapter);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_param.c
478
pch_gbe_validate_option(&val, &opt, adapter);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_param.c
490
pch_gbe_validate_option(&val, &opt, adapter);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_param.c
505
pch_gbe_validate_option(&tmp, &opt, adapter);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_param.c
509
pch_gbe_check_copper_options(adapter);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_phy.c
116
netdev_dbg(adapter->netdev,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_phy.c
136
struct pch_gbe_adapter *adapter = pch_gbe_hw_to_adapter(hw);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_phy.c
138
netdev_err(adapter->netdev, "PHY Address %d is out of range\n",
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_phy.c
161
struct pch_gbe_adapter *adapter = pch_gbe_hw_to_adapter(hw);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_phy.c
163
netdev_err(adapter->netdev, "PHY Address %d is out of range\n",
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_phy.c
261
struct pch_gbe_adapter *adapter = pch_gbe_hw_to_adapter(hw);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_phy.c
267
netdev_dbg(adapter->netdev,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_phy.c
281
netdev_err(adapter->netdev,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_phy.c
288
netdev_err(adapter->netdev,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_phy.c
299
struct pch_gbe_adapter *adapter = pch_gbe_hw_to_adapter(hw);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_phy.c
304
mii_ethtool_gset(&adapter->mii, &cmd);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_phy.c
311
ret = mii_ethtool_sset(&adapter->mii, &cmd);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_phy.c
313
netdev_err(adapter->netdev, "Error: mii_ethtool_sset\n");
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_phy.c
322
if (adapter->pdata && adapter->pdata->phy_tx_clk_delay)
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_phy.c
335
struct pch_gbe_adapter *adapter = pch_gbe_hw_to_adapter(hw);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_phy.c
341
netdev_dbg(adapter->netdev,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_phy.c
354
netdev_err(adapter->netdev,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_phy.c
361
netdev_err(adapter->netdev,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_phy.c
97
struct pch_gbe_adapter *adapter = pch_gbe_hw_to_adapter(hw);
drivers/net/ethernet/qlogic/netxen/netxen_nic.h
1147
#define NETXEN_IS_MSI_FAMILY(adapter) \
drivers/net/ethernet/qlogic/netxen/netxen_nic.h
1148
((adapter)->flags & (NETXEN_NIC_MSI_ENABLED | NETXEN_NIC_MSIX_ENABLED))
drivers/net/ethernet/qlogic/netxen/netxen_nic.h
1684
int nx_fw_cmd_query_phy(struct netxen_adapter *adapter, u32 reg, u32 *val);
drivers/net/ethernet/qlogic/netxen/netxen_nic.h
1685
int nx_fw_cmd_set_phy(struct netxen_adapter *adapter, u32 reg, u32 val);
drivers/net/ethernet/qlogic/netxen/netxen_nic.h
1687
#define NXRD32(adapter, off) \
drivers/net/ethernet/qlogic/netxen/netxen_nic.h
1688
(adapter->crb_read(adapter, off))
drivers/net/ethernet/qlogic/netxen/netxen_nic.h
1689
#define NXWR32(adapter, off, val) \
drivers/net/ethernet/qlogic/netxen/netxen_nic.h
1690
(adapter->crb_write(adapter, off, val))
drivers/net/ethernet/qlogic/netxen/netxen_nic.h
1691
#define NXRDIO(adapter, addr) \
drivers/net/ethernet/qlogic/netxen/netxen_nic.h
1692
(adapter->io_read(adapter, addr))
drivers/net/ethernet/qlogic/netxen/netxen_nic.h
1693
#define NXWRIO(adapter, addr, val) \
drivers/net/ethernet/qlogic/netxen/netxen_nic.h
1694
(adapter->io_write(adapter, addr, val))
drivers/net/ethernet/qlogic/netxen/netxen_nic.h
1720
int netxen_nic_get_board_info(struct netxen_adapter *adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic.h
1721
int netxen_nic_wol_supported(struct netxen_adapter *adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic.h
1724
int netxen_init_dummy_dma(struct netxen_adapter *adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic.h
1725
void netxen_free_dummy_dma(struct netxen_adapter *adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic.h
1727
int netxen_check_flash_fw_compatibility(struct netxen_adapter *adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic.h
1728
int netxen_phantom_init(struct netxen_adapter *adapter, int pegtune_val);
drivers/net/ethernet/qlogic/netxen/netxen_nic.h
1729
int netxen_load_firmware(struct netxen_adapter *adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic.h
1730
int netxen_need_fw_reset(struct netxen_adapter *adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic.h
1731
void netxen_request_firmware(struct netxen_adapter *adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic.h
1732
void netxen_release_firmware(struct netxen_adapter *adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic.h
1733
int netxen_pinit_from_rom(struct netxen_adapter *adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic.h
1735
int netxen_rom_fast_read(struct netxen_adapter *adapter, int addr, int *valp);
drivers/net/ethernet/qlogic/netxen/netxen_nic.h
1736
int netxen_rom_fast_read_words(struct netxen_adapter *adapter, int addr,
drivers/net/ethernet/qlogic/netxen/netxen_nic.h
1738
int netxen_rom_fast_write_words(struct netxen_adapter *adapter, int addr,
drivers/net/ethernet/qlogic/netxen/netxen_nic.h
1740
int netxen_flash_unlock(struct netxen_adapter *adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic.h
1741
int netxen_backup_crbinit(struct netxen_adapter *adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic.h
1742
int netxen_flash_erase_secondary(struct netxen_adapter *adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic.h
1743
int netxen_flash_erase_primary(struct netxen_adapter *adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic.h
1744
void netxen_halt_pegs(struct netxen_adapter *adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic.h
1746
int netxen_rom_se(struct netxen_adapter *adapter, int addr);
drivers/net/ethernet/qlogic/netxen/netxen_nic.h
1748
int netxen_alloc_sw_resources(struct netxen_adapter *adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic.h
1749
void netxen_free_sw_resources(struct netxen_adapter *adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic.h
1751
void netxen_setup_hwops(struct netxen_adapter *adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic.h
1754
int netxen_alloc_hw_resources(struct netxen_adapter *adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic.h
1755
void netxen_free_hw_resources(struct netxen_adapter *adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic.h
1757
void netxen_release_rx_buffers(struct netxen_adapter *adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic.h
1758
void netxen_release_tx_buffers(struct netxen_adapter *adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic.h
1760
int netxen_init_firmware(struct netxen_adapter *adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic.h
1761
void netxen_nic_clear_stats(struct netxen_adapter *adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic.h
1763
void netxen_post_rx_buffers(struct netxen_adapter *adapter, u32 ringid,
drivers/net/ethernet/qlogic/netxen/netxen_nic.h
1765
int netxen_process_cmd_ring(struct netxen_adapter *adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic.h
1768
void netxen_p3_free_mac_list(struct netxen_adapter *adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic.h
1769
int netxen_config_intr_coalesce(struct netxen_adapter *adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic.h
1770
int netxen_config_rss(struct netxen_adapter *adapter, int enable);
drivers/net/ethernet/qlogic/netxen/netxen_nic.h
1771
int netxen_config_ipaddr(struct netxen_adapter *adapter, __be32 ip, int cmd);
drivers/net/ethernet/qlogic/netxen/netxen_nic.h
1772
int netxen_linkevent_request(struct netxen_adapter *adapter, int enable);
drivers/net/ethernet/qlogic/netxen/netxen_nic.h
1773
void netxen_advert_link_change(struct netxen_adapter *adapter, int linkup);
drivers/net/ethernet/qlogic/netxen/netxen_nic.h
1777
int nx_fw_cmd_set_gbe_port(struct netxen_adapter *adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic.h
1779
int nx_fw_cmd_set_mtu(struct netxen_adapter *adapter, int mtu);
drivers/net/ethernet/qlogic/netxen/netxen_nic.h
1781
int netxen_config_hw_lro(struct netxen_adapter *adapter, int enable);
drivers/net/ethernet/qlogic/netxen/netxen_nic.h
1782
int netxen_config_bridged_mode(struct netxen_adapter *adapter, int enable);
drivers/net/ethernet/qlogic/netxen/netxen_nic.h
1783
int netxen_send_lro_cleanup(struct netxen_adapter *adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic.h
1784
int netxen_setup_minidump(struct netxen_adapter *adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic.h
1785
void netxen_dump_fw(struct netxen_adapter *adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic.h
1786
void netxen_nic_update_cmd_producer(struct netxen_adapter *adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic.h
1792
int nx_dev_request_reset(struct netxen_adapter *adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic.h
1863
int netxen_get_flash_mac_addr(struct netxen_adapter *adapter, u64 *mac);
drivers/net/ethernet/qlogic/netxen/netxen_nic.h
1864
int netxen_p3_get_mac_addr(struct netxen_adapter *adapter, u64 *mac);
drivers/net/ethernet/qlogic/netxen/netxen_nic.h
1865
void netxen_change_ringparam(struct netxen_adapter *adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic.h
630
struct netxen_adapter *adapter;
drivers/net/ethernet/qlogic/netxen/netxen_nic.h
90
#define NETXEN_CRB_NORMALIZE(adapter, reg) \
drivers/net/ethernet/qlogic/netxen/netxen_nic.h
91
pci_base_offset(adapter, NETXEN_CRB_NORMAL(reg))
drivers/net/ethernet/qlogic/netxen/netxen_nic.h
93
#define DB_NORMALIZE(adapter, off) \
drivers/net/ethernet/qlogic/netxen/netxen_nic.h
94
(adapter->ahw.db_base + (off))
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
102
netxen_get_minidump_template(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
108
size = adapter->mdump.md_template_size;
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
111
dev_err(&adapter->pdev->dev, "Can not capture Minidump "
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
116
addr = dma_alloc_coherent(&adapter->pdev->dev, size,
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
119
dev_err(&adapter->pdev->dev, "Unable to allocate dmable memory for template.\n");
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
129
netxen_issue_cmd(adapter, &cmd);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
132
memcpy(adapter->mdump.md_template, addr, size);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
134
dev_err(&adapter->pdev->dev, "Failed to get minidump template, err_code : %d, requested_size : %d, actual_size : %d\n",
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
137
dma_free_coherent(&adapter->pdev->dev, size, addr, md_template_addr);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
14
netxen_poll_rsp(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
142
netxen_check_template_checksum(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
145
u32 *buff = adapter->mdump.md_template;
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
146
int count = adapter->mdump.md_template_size/sizeof(uint32_t) ;
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
157
netxen_setup_minidump(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
161
err = netxen_get_minidump_template_size(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
163
adapter->mdump.fw_supports_md = 0;
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
166
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
174
if (!adapter->mdump.md_template_size) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
175
dev_err(&adapter->pdev->dev, "Error : Invalid template size "
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
179
adapter->mdump.md_template =
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
180
kmalloc(adapter->mdump.md_template_size, GFP_KERNEL);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
182
if (!adapter->mdump.md_template)
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
185
err = netxen_get_minidump_template(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
188
adapter->mdump.fw_supports_md = 0;
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
192
if (netxen_check_template_checksum(adapter)) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
193
dev_err(&adapter->pdev->dev, "Minidump template checksum Error\n");
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
198
adapter->mdump.md_capture_mask = NX_DUMP_MASK_DEF;
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
199
tmp_buf = (u32 *) adapter->mdump.md_template;
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
200
template = (u32 *) adapter->mdump.md_template;
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
201
for (i = 0; i < adapter->mdump.md_template_size/sizeof(u32); i++)
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
203
adapter->mdump.md_capture_buff = NULL;
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
204
adapter->mdump.fw_supports_md = 1;
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
205
adapter->mdump.md_enabled = 0;
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
210
kfree(adapter->mdump.md_template);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
211
adapter->mdump.md_template = NULL;
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
217
nx_fw_cmd_set_mtu(struct netxen_adapter *adapter, int mtu)
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
220
struct netxen_recv_context *recv_ctx = &adapter->recv_ctx;
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
230
rcode = netxen_issue_cmd(adapter, &cmd);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
239
nx_fw_cmd_set_gbe_port(struct netxen_adapter *adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
249
return netxen_issue_cmd(adapter, &cmd);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
253
nx_fw_cmd_create_rx_ctx(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
26
rsp = NXRD32(adapter, NX_CDRP_CRB_OFFSET);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
275
struct netxen_recv_context *recv_ctx = &adapter->recv_ctx;
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
277
nrds_rings = adapter->max_rds_rings;
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
278
nsds_rings = adapter->max_sds_rings;
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
285
addr = dma_alloc_coherent(&adapter->pdev->dev, rq_size,
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
291
addr = dma_alloc_coherent(&adapter->pdev->dev, rsp_size,
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
304
if (adapter->flags & NETXEN_FW_MSS_CAP)
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
33
netxen_issue_cmd(struct netxen_adapter *adapter, struct netxen_cmd_args *cmd)
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
352
err = netxen_issue_cmd(adapter, &cmd);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
367
rds_ring->crb_rcv_producer = netxen_get_ioaddr(adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
378
sds_ring->crb_sts_consumer = netxen_get_ioaddr(adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
382
sds_ring->crb_intr_mask = netxen_get_ioaddr(adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
39
signature = NX_CDRP_SIGNATURE_MAKE(adapter->ahw.pci_func,
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
391
dma_free_coherent(&adapter->pdev->dev, rsp_size, prsp,
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
394
dma_free_coherent(&adapter->pdev->dev, rq_size, prq, hostrq_phys_addr);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
399
nx_fw_cmd_destroy_rx_ctx(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
401
struct netxen_recv_context *recv_ctx = &adapter->recv_ctx;
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
410
if (netxen_issue_cmd(adapter, &cmd)) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
418
nx_fw_cmd_create_tx_ctx(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
42
if (netxen_api_lock(adapter))
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
429
struct nx_host_tx_ring *tx_ring = adapter->tx_ring;
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
430
struct netxen_recv_context *recv_ctx = &adapter->recv_ctx;
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
434
rq_addr = dma_alloc_coherent(&adapter->pdev->dev, rq_size,
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
440
rsp_addr = dma_alloc_coherent(&adapter->pdev->dev, rsp_size,
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
45
NXWR32(adapter, NX_SIGN_CRB_OFFSET, signature);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
462
prq->dummy_dma_addr = cpu_to_le64(adapter->dummy_dma.phys_addr);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
47
NXWR32(adapter, NX_ARG1_CRB_OFFSET, cmd->req.arg1);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
478
err = netxen_issue_cmd(adapter, &cmd);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
482
tx_ring->crb_cmd_producer = netxen_get_ioaddr(adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
485
adapter->tx_state =
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
488
adapter->tx_context_id =
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
49
NXWR32(adapter, NX_ARG2_CRB_OFFSET, cmd->req.arg2);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
496
dma_free_coherent(&adapter->pdev->dev, rsp_size, rsp_addr,
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
500
dma_free_coherent(&adapter->pdev->dev, rq_size, rq_addr, rq_phys_addr);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
506
nx_fw_cmd_destroy_tx_ctx(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
51
NXWR32(adapter, NX_ARG3_CRB_OFFSET, cmd->req.arg3);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
511
cmd.req.arg1 = adapter->tx_context_id;
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
515
if (netxen_issue_cmd(adapter, &cmd)) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
523
nx_fw_cmd_query_phy(struct netxen_adapter *adapter, u32 reg, u32 *val)
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
53
NXWR32(adapter, NX_CDRP_CRB_OFFSET, NX_CDRP_FORM_CMD(cmd->req.cmd));
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
534
rcode = netxen_issue_cmd(adapter, &cmd);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
546
nx_fw_cmd_set_phy(struct netxen_adapter *adapter, u32 reg, u32 val)
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
55
rsp = netxen_poll_rsp(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
556
rcode = netxen_issue_cmd(adapter, &cmd);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
63
rcode = NXRD32(adapter, NX_ARG1_CRB_OFFSET);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
678
netxen_init_old_ctx(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
685
int port = adapter->portnum;
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
689
tx_ring = adapter->tx_ring;
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
690
recv_ctx = &adapter->recv_ctx;
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
697
for (ring = 0; ring < adapter->max_rds_rings; ring++) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
70
cmd->rsp.arg2 = NXRD32(adapter, NX_ARG2_CRB_OFFSET);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
706
for (ring = 0; ring < adapter->max_sds_rings; ring++) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
717
hwctx->sts_ring_count = cpu_to_le32(adapter->max_sds_rings);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
719
signature = (adapter->max_sds_rings > 1) ?
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
72
cmd->rsp.arg3 = NXRD32(adapter, NX_ARG3_CRB_OFFSET);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
722
NXWR32(adapter, CRB_CTX_ADDR_REG_LO(port),
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
724
NXWR32(adapter, CRB_CTX_ADDR_REG_HI(port),
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
726
NXWR32(adapter, CRB_CTX_SIGNATURE_REG(port),
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
731
int netxen_alloc_hw_resources(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
741
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
742
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
743
int port = adapter->portnum;
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
745
recv_ctx = &adapter->recv_ctx;
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
746
tx_ring = adapter->tx_ring;
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
76
cmd->rsp.arg1 = NXRD32(adapter, NX_ARG1_CRB_OFFSET);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
777
for (ring = 0; ring < adapter->max_rds_rings; ring++) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
779
addr = dma_alloc_coherent(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
78
netxen_api_unlock(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
791
if (NX_IS_REVISION_P2(adapter->ahw.revision_id))
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
793
netxen_get_ioaddr(adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
797
for (ring = 0; ring < adapter->max_sds_rings; ring++) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
800
addr = dma_alloc_coherent(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
812
if (NX_IS_REVISION_P2(adapter->ahw.revision_id)) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
814
netxen_get_ioaddr(adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
818
netxen_get_ioaddr(adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
824
if (!NX_IS_REVISION_P2(adapter->ahw.revision_id)) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
825
if (test_and_set_bit(__NX_FW_ATTACHED, &adapter->state))
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
827
err = nx_fw_cmd_create_rx_ctx(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
830
err = nx_fw_cmd_create_tx_ctx(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
834
err = netxen_init_old_ctx(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
84
netxen_get_minidump_template_size(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
843
netxen_free_hw_resources(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
847
void netxen_free_hw_resources(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
855
int port = adapter->portnum;
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
857
if (!NX_IS_REVISION_P2(adapter->ahw.revision_id)) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
858
if (!test_and_clear_bit(__NX_FW_ATTACHED, &adapter->state))
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
861
nx_fw_cmd_destroy_rx_ctx(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
862
nx_fw_cmd_destroy_tx_ctx(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
864
netxen_api_lock(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
865
NXWR32(adapter, CRB_CTX_SIGNATURE_REG(port),
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
867
netxen_api_unlock(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
874
recv_ctx = &adapter->recv_ctx;
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
877
dma_free_coherent(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
883
tx_ring = adapter->tx_ring;
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
885
dma_free_coherent(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
891
for (ring = 0; ring < adapter->max_rds_rings; ring++) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
895
dma_free_coherent(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
90
netxen_issue_cmd(adapter, &cmd);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
903
for (ring = 0; ring < adapter->max_sds_rings; ring++) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
907
dma_free_coherent(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
92
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
96
adapter->mdump.md_template_size = cmd.rsp.arg2;
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c
97
adapter->mdump.md_template_ver = cmd.rsp.arg3;
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
106
cmd->base.speed = adapter->link_speed;
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
107
cmd->base.duplex = adapter->link_duplex;
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
108
cmd->base.autoneg = adapter->link_autoneg;
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
110
} else if (adapter->ahw.port_type == NETXEN_NIC_XGBE) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
113
val = NXRD32(adapter, NETXEN_PORT_MODE_ADDR);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
122
if (netif_running(dev) && adapter->has_link_events) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
123
cmd->base.speed = adapter->link_speed;
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
124
cmd->base.autoneg = adapter->link_autoneg;
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
125
cmd->base.duplex = adapter->link_duplex;
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
131
if (NX_IS_REVISION_P3(adapter->ahw.revision_id)) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
132
u16 pcifn = adapter->ahw.pci_func;
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
134
val = NXRD32(adapter, P3_LINK_SPEED_REG(pcifn));
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
146
cmd->base.phy_address = adapter->physical_port;
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
148
switch (adapter->ahw.board_type) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
164
cmd->base.autoneg = (adapter->ahw.board_type ==
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
166
(AUTONEG_DISABLE) : (adapter->link_autoneg);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
184
adapter->has_link_events;
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
194
if (adapter->ahw.port_type == NETXEN_NIC_XGBE) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
201
adapter->has_link_events;
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
211
adapter->ahw.board_type);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
216
switch (adapter->module_type) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
233
if (!netif_running(dev) || !adapter->ahw.linkup) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
250
struct netxen_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
254
if (adapter->ahw.port_type != NETXEN_NIC_GBE)
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
257
if (!(adapter->capabilities & NX_FW_CAPABILITY_GBE_LINK_CFG))
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
260
ret = nx_fw_cmd_set_gbe_port(adapter, speed, cmd->base.duplex,
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
267
adapter->link_speed = speed;
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
268
adapter->link_duplex = cmd->base.duplex;
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
269
adapter->link_autoneg = cmd->base.autoneg;
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
286
struct netxen_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
287
struct netxen_recv_context *recv_ctx = &adapter->recv_ctx;
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
291
int port = adapter->physical_port;
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
295
regs->version = (1 << 24) | (adapter->ahw.revision_id << 16) |
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
296
(adapter->pdev)->device;
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
298
if (adapter->is_up != NETXEN_ADAPTER_UP_MAGIC)
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
301
regs_buff[i++] = NXRD32(adapter, CRB_CMDPEG_STATE);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
302
regs_buff[i++] = NXRD32(adapter, CRB_RCVPEG_STATE);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
303
regs_buff[i++] = NXRD32(adapter, CRB_FW_CAPABILITIES_1);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
304
regs_buff[i++] = NXRDIO(adapter, adapter->crb_int_state_reg);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
305
regs_buff[i++] = NXRD32(adapter, NX_CRB_DEV_REF_COUNT);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
306
regs_buff[i++] = NXRD32(adapter, NX_CRB_DEV_STATE);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
307
regs_buff[i++] = NXRD32(adapter, NETXEN_PEG_ALIVE_COUNTER);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
308
regs_buff[i++] = NXRD32(adapter, NETXEN_PEG_HALT_STATUS1);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
309
regs_buff[i++] = NXRD32(adapter, NETXEN_PEG_HALT_STATUS2);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
311
regs_buff[i++] = NXRD32(adapter, NETXEN_CRB_PEG_NET_0+0x3c);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
312
regs_buff[i++] = NXRD32(adapter, NETXEN_CRB_PEG_NET_1+0x3c);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
313
regs_buff[i++] = NXRD32(adapter, NETXEN_CRB_PEG_NET_2+0x3c);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
314
regs_buff[i++] = NXRD32(adapter, NETXEN_CRB_PEG_NET_3+0x3c);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
316
if (NX_IS_REVISION_P3(adapter->ahw.revision_id)) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
318
regs_buff[i++] = NXRD32(adapter, NETXEN_CRB_PEG_NET_4+0x3c);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
321
regs_buff[i++] = NXRD32(adapter, CRB_XG_STATE_P3);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
322
regs_buff[i++] = le32_to_cpu(*(adapter->tx_ring->hw_consumer));
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
327
regs_buff[i++] = NXRD32(adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
329
regs_buff[i++] = NXRD32(adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
332
regs_buff[i++] = NXRD32(adapter, CRB_XG_STATE);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
333
regs_buff[i++] = NXRDIO(adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
334
adapter->tx_ring->crb_cmd_consumer);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
337
regs_buff[i++] = NXRDIO(adapter, adapter->tx_ring->crb_cmd_producer);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
339
regs_buff[i++] = NXRDIO(adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
341
regs_buff[i++] = NXRDIO(adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
344
regs_buff[i++] = adapter->max_sds_rings;
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
346
for (ring = 0; ring < adapter->max_sds_rings; ring++) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
348
regs_buff[i++] = NXRDIO(adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
355
struct netxen_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
358
port = adapter->physical_port;
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
359
if (NX_IS_REVISION_P3(adapter->ahw.revision_id)) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
360
val = NXRD32(adapter, CRB_XG_STATE_P3);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
361
val = XG_LINK_STATE_P3(adapter->ahw.pci_func, val);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
364
val = NXRD32(adapter, CRB_XG_STATE);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
374
struct netxen_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
381
eeprom->magic = (adapter->pdev)->vendor |
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
382
((adapter->pdev)->device << 16);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
385
ret = netxen_rom_fast_read_words(adapter, offset, bytes,
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
399
struct netxen_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
401
ring->rx_pending = adapter->num_rxd;
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
402
ring->rx_jumbo_pending = adapter->num_jumbo_rxd;
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
403
ring->rx_jumbo_pending += adapter->num_lro_rxd;
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
404
ring->tx_pending = adapter->num_txd;
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
406
if (adapter->ahw.port_type == NETXEN_NIC_GBE) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
439
struct netxen_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
444
if (NX_IS_REVISION_P2(adapter->ahw.revision_id))
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
450
if (adapter->ahw.port_type == NETXEN_NIC_GBE) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
464
if (num_rxd == adapter->num_rxd && num_txd == adapter->num_txd &&
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
465
num_jumbo_rxd == adapter->num_jumbo_rxd)
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
468
adapter->num_rxd = num_rxd;
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
469
adapter->num_jumbo_rxd = num_jumbo_rxd;
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
470
adapter->num_txd = num_txd;
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
472
return netxen_nic_reset_context(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
479
struct netxen_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
481
int port = adapter->physical_port;
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
485
if (adapter->ahw.port_type == NETXEN_NIC_GBE) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
489
val = NXRD32(adapter, NETXEN_NIU_GB_MAC_CONFIG_0(port));
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
491
val = NXRD32(adapter, NETXEN_NIU_GB_PAUSE_CTL);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
507
} else if (adapter->ahw.port_type == NETXEN_NIC_XGBE) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
511
val = NXRD32(adapter, NETXEN_NIU_XG_PAUSE_CTL);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
518
netxen_nic_driver_name, adapter->ahw.port_type);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
526
struct netxen_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
528
int port = adapter->physical_port;
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
535
if (adapter->ahw.port_type == NETXEN_NIC_GBE) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
539
val = NXRD32(adapter, NETXEN_NIU_GB_MAC_CONFIG_0(port));
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
546
NXWR32(adapter, NETXEN_NIU_GB_MAC_CONFIG_0(port),
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
549
val = NXRD32(adapter, NETXEN_NIU_GB_PAUSE_CTL);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
577
NXWR32(adapter, NETXEN_NIU_GB_PAUSE_CTL, val);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
578
} else if (adapter->ahw.port_type == NETXEN_NIC_XGBE) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
581
val = NXRD32(adapter, NETXEN_NIU_XG_PAUSE_CTL);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
593
NXWR32(adapter, NETXEN_NIU_XG_PAUSE_CTL, val);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
597
adapter->ahw.port_type);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
604
struct netxen_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
607
data_read = NXRD32(adapter, NETXEN_PCIX_PH_REG(0));
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
608
if ((data_read & 0xffff) != adapter->pdev->vendor)
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
611
if (NX_IS_REVISION_P3(adapter->ahw.revision_id))
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
616
NXWR32(adapter, CRB_SCRATCHPAD_TEST, data_written);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
617
data_read = NXRD32(adapter, CRB_SCRATCHPAD_TEST);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
63
struct netxen_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
672
struct netxen_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
677
(char *)adapter +
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
688
struct netxen_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
694
if (NX_IS_REVISION_P2(adapter->ahw.revision_id))
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
697
wol_cfg = NXRD32(adapter, NETXEN_WOL_CONFIG_NV);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
698
if (wol_cfg & (1UL << adapter->portnum))
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
701
wol_cfg = NXRD32(adapter, NETXEN_WOL_CONFIG);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
702
if (wol_cfg & (1UL << adapter->portnum))
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
709
struct netxen_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
712
if (NX_IS_REVISION_P2(adapter->ahw.revision_id))
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
718
wol_cfg = NXRD32(adapter, NETXEN_WOL_CONFIG_NV);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
719
if (!(wol_cfg & (1 << adapter->portnum)))
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
72
fw_major = NXRD32(adapter, NETXEN_FW_VERSION_MAJOR);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
722
wol_cfg = NXRD32(adapter, NETXEN_WOL_CONFIG);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
724
wol_cfg |= 1UL << adapter->portnum;
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
726
wol_cfg &= ~(1UL << adapter->portnum);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
727
NXWR32(adapter, NETXEN_WOL_CONFIG, wol_cfg);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
73
fw_minor = NXRD32(adapter, NETXEN_FW_VERSION_MINOR);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
74
fw_build = NXRD32(adapter, NETXEN_FW_VERSION_SUB);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
742
struct netxen_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
744
if (!NX_IS_REVISION_P3(adapter->ahw.revision_id))
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
747
if (adapter->is_up != NETXEN_ADAPTER_UP_MAGIC)
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
762
adapter->coal.flags = NETXEN_NIC_INTR_DEFAULT;
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
763
adapter->coal.normal.data.rx_time_us =
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
765
adapter->coal.normal.data.rx_packets =
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
768
adapter->coal.flags = 0;
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
769
adapter->coal.normal.data.rx_time_us =
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
771
adapter->coal.normal.data.rx_packets =
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
774
adapter->coal.normal.data.tx_time_us = ethcoal->tx_coalesce_usecs;
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
775
adapter->coal.normal.data.tx_packets =
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
778
netxen_config_intr_coalesce(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
78
strscpy(drvinfo->bus_info, pci_name(adapter->pdev),
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
788
struct netxen_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
790
if (!NX_IS_REVISION_P3(adapter->ahw.revision_id))
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
793
if (adapter->is_up != NETXEN_ADAPTER_UP_MAGIC)
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
796
ethcoal->rx_coalesce_usecs = adapter->coal.normal.data.rx_time_us;
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
797
ethcoal->tx_coalesce_usecs = adapter->coal.normal.data.tx_time_us;
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
799
adapter->coal.normal.data.rx_packets;
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
801
adapter->coal.normal.data.tx_packets;
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
809
struct netxen_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
810
struct netxen_minidump *mdump = &adapter->mdump;
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
811
if (adapter->fw_mdump_rdy)
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
821
dump->version = adapter->fw_version;
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
832
struct netxen_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
833
struct netxen_minidump *mdump = &adapter->mdump;
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
841
if (adapter->fw_mdump_rdy) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
846
nx_dev_request_reset(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
86
struct netxen_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
862
nx_dev_request_reset(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
863
adapter->flags &= ~NETXEN_FW_RESET_OWNER;
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
889
struct netxen_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
890
struct netxen_minidump *mdump = &adapter->mdump;
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
893
if (!adapter->fw_mdump_rdy) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
91
if (adapter->ahw.port_type == NETXEN_NIC_GBE) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c
914
adapter->fw_mdump_rdy = 0;
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1003
offset = NX_FW_MAC_ADDR_OFFSET + (adapter->portnum * sizeof(u64));
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1005
if (netxen_get_flash_block(adapter, offset, sizeof(u64), pmac) == -1)
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1011
(adapter->portnum * sizeof(u64));
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1013
if (netxen_get_flash_block(adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1023
int netxen_p3_get_mac_addr(struct netxen_adapter *adapter, u64 *mac)
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1026
int pci_func = adapter->ahw.pci_func;
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1031
mac_lo = NXRD32(adapter, crbaddr);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1032
mac_hi = NXRD32(adapter, crbaddr+4);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1046
netxen_nic_pci_set_crbwindow_128M(struct netxen_adapter *adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1051
u8 func = adapter->ahw.pci_func;
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1053
if (adapter->ahw.crb_win == window)
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1056
offset = PCI_OFFSET_SECOND_RANGE(adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1065
dev_warn(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1073
adapter->ahw.crb_win = window;
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1084
netxen_nic_pci_get_crb_addr_2M(struct netxen_adapter *adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1101
*addr = adapter->ahw.pci_base0 + m->start_2M +
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1109
*addr = adapter->ahw.pci_base0 + CRB_INDIRECT_2M +
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1120
netxen_nic_pci_set_crbwindow_2M(struct netxen_adapter *adapter, ulong off)
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1123
void __iomem *addr = adapter->ahw.pci_base0 + CRB_WINDOW_2M;
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1132
dev_warn(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1139
netxen_nic_map_indirect_address_128M(struct netxen_adapter *adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1149
addr = pci_base_offset(adapter, off);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1153
if (adapter->ahw.pci_len0 == 0)
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1156
mem_base = pci_resource_start(adapter->pdev, 0);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1165
netxen_nic_hw_write_wx_128M(struct netxen_adapter *adapter, ulong off, u32 data)
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1170
addr = netxen_nic_map_indirect_address_128M(adapter, off, &mem_ptr);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1175
netxen_nic_io_write_128M(adapter, addr, data);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1177
write_lock_irqsave(&adapter->ahw.crb_lock, flags);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1178
netxen_nic_pci_set_crbwindow_128M(adapter, 0);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1180
netxen_nic_pci_set_crbwindow_128M(adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1182
write_unlock_irqrestore(&adapter->ahw.crb_lock, flags);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1192
netxen_nic_hw_read_wx_128M(struct netxen_adapter *adapter, ulong off)
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1198
addr = netxen_nic_map_indirect_address_128M(adapter, off, &mem_ptr);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1203
data = netxen_nic_io_read_128M(adapter, addr);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1205
write_lock_irqsave(&adapter->ahw.crb_lock, flags);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1206
netxen_nic_pci_set_crbwindow_128M(adapter, 0);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1208
netxen_nic_pci_set_crbwindow_128M(adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1210
write_unlock_irqrestore(&adapter->ahw.crb_lock, flags);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1220
netxen_nic_hw_write_wx_2M(struct netxen_adapter *adapter, ulong off, u32 data)
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1226
rv = netxen_nic_pci_get_crb_addr_2M(adapter, off, &addr);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1235
write_lock_irqsave(&adapter->ahw.crb_lock, flags);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1236
crb_win_lock(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1237
netxen_nic_pci_set_crbwindow_2M(adapter, off);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1239
crb_win_unlock(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1240
write_unlock_irqrestore(&adapter->ahw.crb_lock, flags);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1244
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1251
netxen_nic_hw_read_wx_2M(struct netxen_adapter *adapter, ulong off)
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1258
rv = netxen_nic_pci_get_crb_addr_2M(adapter, off, &addr);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1265
write_lock_irqsave(&adapter->ahw.crb_lock, flags);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1266
crb_win_lock(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1267
netxen_nic_pci_set_crbwindow_2M(adapter, off);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1269
crb_win_unlock(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1270
write_unlock_irqrestore(&adapter->ahw.crb_lock, flags);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1274
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1281
static void netxen_nic_io_write_128M(struct netxen_adapter *adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1284
read_lock(&adapter->ahw.crb_lock);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1286
read_unlock(&adapter->ahw.crb_lock);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1289
static u32 netxen_nic_io_read_128M(struct netxen_adapter *adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1294
read_lock(&adapter->ahw.crb_lock);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1296
read_unlock(&adapter->ahw.crb_lock);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1301
static void netxen_nic_io_write_2M(struct netxen_adapter *adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1307
static u32 netxen_nic_io_read_2M(struct netxen_adapter *adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1314
netxen_get_ioaddr(struct netxen_adapter *adapter, u32 offset)
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1318
if (NX_IS_REVISION_P2(adapter->ahw.revision_id)) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1321
addr = PCI_OFFSET_SECOND_RANGE(adapter, offset);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1323
addr = NETXEN_CRB_NORMALIZE(adapter, offset);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1325
WARN_ON(netxen_nic_pci_get_crb_addr_2M(adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1333
netxen_nic_pci_set_window_128M(struct netxen_adapter *adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1349
netxen_nic_pci_set_window_2M(struct netxen_adapter *adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1356
writel(window, adapter->ahw.ocm_win_crb);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1358
readl(adapter->ahw.ocm_win_crb);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1360
adapter->ahw.ocm_win = window;
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1366
netxen_nic_pci_mem_access_direct(struct netxen_adapter *adapter, u64 off,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1374
spin_lock(&adapter->ahw.mem_lock);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1376
ret = adapter->pci_set_window(adapter, off, &start);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1380
if (NX_IS_REVISION_P3(adapter->ahw.revision_id)) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1381
addr = adapter->ahw.pci_base0 + start;
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1383
addr = pci_base_offset(adapter, start);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1387
mem_base = pci_resource_start(adapter->pdev, 0) +
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1404
spin_unlock(&adapter->ahw.mem_lock);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1412
netxen_pci_camqm_read_2M(struct netxen_adapter *adapter, u64 off, u64 *data)
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1414
void __iomem *addr = adapter->ahw.pci_base0 +
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1417
spin_lock(&adapter->ahw.mem_lock);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1419
spin_unlock(&adapter->ahw.mem_lock);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1423
netxen_pci_camqm_write_2M(struct netxen_adapter *adapter, u64 off, u64 data)
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1425
void __iomem *addr = adapter->ahw.pci_base0 +
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1428
spin_lock(&adapter->ahw.mem_lock);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1430
spin_unlock(&adapter->ahw.mem_lock);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1436
netxen_nic_pci_mem_write_128M(struct netxen_adapter *adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1450
mem_crb = pci_base_offset(adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1461
mem_crb = pci_base_offset(adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1473
if (adapter->ahw.pci_len0 != 0) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1474
return netxen_nic_pci_mem_access_direct(adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1482
spin_lock(&adapter->ahw.mem_lock);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1483
netxen_nic_pci_set_crbwindow_128M(adapter, 0);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1501
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1507
netxen_nic_pci_set_crbwindow_128M(adapter, NETXEN_WINDOW_ONE);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1508
spin_unlock(&adapter->ahw.mem_lock);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1513
netxen_nic_pci_mem_read_128M(struct netxen_adapter *adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1528
mem_crb = pci_base_offset(adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1539
mem_crb = pci_base_offset(adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1551
if (adapter->ahw.pci_len0 != 0) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1552
return netxen_nic_pci_mem_access_direct(adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1560
spin_lock(&adapter->ahw.mem_lock);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1561
netxen_nic_pci_set_crbwindow_128M(adapter, 0);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1576
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1588
netxen_nic_pci_set_crbwindow_128M(adapter, NETXEN_WINDOW_ONE);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1589
spin_unlock(&adapter->ahw.mem_lock);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1595
netxen_nic_pci_mem_write_2M(struct netxen_adapter *adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1609
mem_crb = netxen_get_ioaddr(adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1615
mem_crb = netxen_get_ioaddr(adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1621
return netxen_nic_pci_mem_access_direct(adapter, off, &data, 1);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1628
spin_lock(&adapter->ahw.mem_lock);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1650
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1656
spin_unlock(&adapter->ahw.mem_lock);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1662
netxen_nic_pci_mem_read_2M(struct netxen_adapter *adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1677
mem_crb = netxen_get_ioaddr(adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1683
mem_crb = netxen_get_ioaddr(adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1689
return netxen_nic_pci_mem_access_direct(adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1698
spin_lock(&adapter->ahw.mem_lock);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1713
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1723
spin_unlock(&adapter->ahw.mem_lock);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1729
netxen_setup_hwops(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1731
adapter->init_port = netxen_niu_xg_init_port;
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1732
adapter->stop_port = netxen_niu_disable_xg_port;
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1734
if (NX_IS_REVISION_P2(adapter->ahw.revision_id)) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1735
adapter->crb_read = netxen_nic_hw_read_wx_128M,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1736
adapter->crb_write = netxen_nic_hw_write_wx_128M,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1737
adapter->pci_set_window = netxen_nic_pci_set_window_128M,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1738
adapter->pci_mem_read = netxen_nic_pci_mem_read_128M,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1739
adapter->pci_mem_write = netxen_nic_pci_mem_write_128M,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1740
adapter->io_read = netxen_nic_io_read_128M,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1741
adapter->io_write = netxen_nic_io_write_128M,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1743
adapter->macaddr_set = netxen_p2_nic_set_mac_addr;
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1744
adapter->set_multi = netxen_p2_nic_set_multi;
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1745
adapter->set_mtu = netxen_nic_set_mtu_xgb;
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1746
adapter->set_promisc = netxen_p2_nic_set_promisc;
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1749
adapter->crb_read = netxen_nic_hw_read_wx_2M,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1750
adapter->crb_write = netxen_nic_hw_write_wx_2M,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1751
adapter->pci_set_window = netxen_nic_pci_set_window_2M,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1752
adapter->pci_mem_read = netxen_nic_pci_mem_read_2M,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1753
adapter->pci_mem_write = netxen_nic_pci_mem_write_2M,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1754
adapter->io_read = netxen_nic_io_read_2M,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1755
adapter->io_write = netxen_nic_io_write_2M,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1757
adapter->set_mtu = nx_fw_cmd_set_mtu;
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1758
adapter->set_promisc = netxen_p3_nic_set_promisc;
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1759
adapter->macaddr_set = netxen_p3_nic_set_mac_addr;
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1760
adapter->set_multi = netxen_p3_nic_set_multi;
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1762
adapter->phy_read = nx_fw_cmd_query_phy;
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1763
adapter->phy_write = nx_fw_cmd_set_phy;
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1767
int netxen_nic_get_board_info(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1770
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1773
if (netxen_rom_fast_read(adapter, offset, &magic))
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1783
if (netxen_rom_fast_read(adapter, offset, &board_type))
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1787
u32 gpio = NXRD32(adapter, NETXEN_ROMUSB_GLB_PAD_GPIO_I);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1792
adapter->ahw.board_type = board_type;
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1796
adapter->ahw.port_type = NETXEN_NIC_GBE;
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1812
adapter->ahw.port_type = NETXEN_NIC_XGBE;
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1821
adapter->ahw.port_type = NETXEN_NIC_GBE;
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1824
adapter->ahw.port_type = (adapter->portnum < 2) ?
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1829
adapter->ahw.port_type = NETXEN_NIC_XGBE;
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1837
static int netxen_nic_set_mtu_xgb(struct netxen_adapter *adapter, int new_mtu)
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1840
if (adapter->physical_port == 0)
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1841
NXWR32(adapter, NETXEN_NIU_XGE_MAX_FRAME_SIZE, new_mtu);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1843
NXWR32(adapter, NETXEN_NIU_XG1_MAX_FRAME_SIZE, new_mtu);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1847
void netxen_nic_set_link_parameters(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1853
if (!netif_carrier_ok(adapter->netdev)) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1854
adapter->link_speed = 0;
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1855
adapter->link_duplex = -1;
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1856
adapter->link_autoneg = AUTONEG_ENABLE;
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1860
if (adapter->ahw.port_type == NETXEN_NIC_GBE) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1861
port_mode = NXRD32(adapter, NETXEN_PORT_MODE_ADDR);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1863
adapter->link_speed = SPEED_1000;
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1864
adapter->link_duplex = DUPLEX_FULL;
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1865
adapter->link_autoneg = AUTONEG_DISABLE;
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1869
if (adapter->phy_read &&
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1870
adapter->phy_read(adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1876
adapter->link_speed = SPEED_10;
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1879
adapter->link_speed = SPEED_100;
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1882
adapter->link_speed = SPEED_1000;
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1885
adapter->link_speed = 0;
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1890
adapter->link_duplex = DUPLEX_HALF;
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1893
adapter->link_duplex = DUPLEX_FULL;
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1896
adapter->link_duplex = -1;
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1899
if (adapter->phy_read &&
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1900
adapter->phy_read(adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1903
adapter->link_autoneg = autoneg;
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1908
adapter->link_speed = 0;
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1909
adapter->link_duplex = -1;
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1915
netxen_nic_wol_supported(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1919
if (NX_IS_REVISION_P2(adapter->ahw.revision_id))
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1922
wol_cfg = NXRD32(adapter, NETXEN_WOL_CONFIG_NV);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1923
if (wol_cfg & (1UL << adapter->portnum)) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1924
wol_cfg = NXRD32(adapter, NETXEN_WOL_CONFIG);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1925
if (wol_cfg & (1 << adapter->portnum))
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1932
static u32 netxen_md_cntrl(struct netxen_adapter *adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1951
adapter->ahw.pci_base0,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1956
adapter->ahw.pci_base0,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1959
adapter->ahw.pci_base0,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1964
adapter->ahw.pci_base0,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1968
adapter->ahw.pci_base0,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1973
adapter->ahw.pci_base0,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1977
adapter->ahw.pci_base0,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1983
adapter->ahw.pci_base0,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
1995
adapter->ahw.pci_base0,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2000
dev_err(&adapter->pdev->dev, "%s : "
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2013
adapter->ahw.pci_base0,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2035
adapter->ahw.pci_base0,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2067
netxen_md_rdmem(struct netxen_adapter *adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2079
if (netxen_nic_pci_mem_read_2M(adapter, addr, &value))
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2089
static u32 netxen_md_rd_crb(struct netxen_adapter *adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2101
NX_RD_DUMP_REG(addr, adapter->ahw.pci_base0, &value);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2111
netxen_md_rdrom(struct netxen_adapter *adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2122
lck_val = readl((void __iomem *)(adapter->ahw.pci_base0 +
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2129
writel(adapter->ahw.pci_func, (void __iomem *)(adapter->ahw.pci_base0 +
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2133
NX_WR_DUMP_REG(FLASH_ROM_WINDOW, adapter->ahw.pci_base0, waddr);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2135
NX_RD_DUMP_REG(raddr, adapter->ahw.pci_base0, &val);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2139
readl((void __iomem *)(adapter->ahw.pci_base0 + NX_FLASH_SEM2_ULK));
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2145
netxen_md_L2Cache(struct netxen_adapter *adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2164
NX_WR_DUMP_REG(tag_reg_addr, adapter->ahw.pci_base0, tag_value);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2166
NX_WR_DUMP_REG(cntrl_addr, adapter->ahw.pci_base0,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2170
NX_RD_DUMP_REG(cntrl_addr, adapter->ahw.pci_base0,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2178
adapter->ahw.pci_base0,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2182
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2189
NX_RD_DUMP_REG(addr, adapter->ahw.pci_base0,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2201
static u32 netxen_md_L1Cache(struct netxen_adapter *adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2219
NX_WR_DUMP_REG(tag_reg_addr, adapter->ahw.pci_base0, tag_value);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2220
NX_WR_DUMP_REG(cntrl_addr, adapter->ahw.pci_base0,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2225
adapter->ahw.pci_base0,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2237
netxen_md_rdocm(struct netxen_adapter *adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2244
addr = (ocmEntry->read_addr + adapter->ahw.pci_base0);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2257
netxen_md_rdmux(struct netxen_adapter *adapter, struct netxen_minidump_entry_mux
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2268
NX_WR_DUMP_REG(select_addr, adapter->ahw.pci_base0, sel_value);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2269
NX_RD_DUMP_REG(read_addr, adapter->ahw.pci_base0, &read_value);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2279
netxen_md_rdqueue(struct netxen_adapter *adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2292
NX_WR_DUMP_REG(select_addr, adapter->ahw.pci_base0, queue_id);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2295
NX_RD_DUMP_REG(read_addr, adapter->ahw.pci_base0,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2311
static int netxen_md_entry_err_chk(struct netxen_adapter *adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2321
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2325
dev_info(&adapter->pdev->dev, "Aborting further dump capture\n");
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2330
static int netxen_parse_md_template(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2335
void *template_buff = adapter->mdump.md_template;
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2336
char *dump_buff = adapter->mdump.md_capture_buff;
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2337
int capture_mask = adapter->mdump.md_capture_mask;
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2342
dev_err(&adapter->pdev->dev, "Capture mask %02x below minimum needed "
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2350
memcpy(dump_buff, template_buff, adapter->mdump.md_template_size);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2351
dump_buff = dump_buff + adapter->mdump.md_template_size;
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2372
rv = netxen_md_cntrl(adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2379
esize = netxen_md_rd_crb(adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2382
(adapter, entry, esize);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2390
esize = netxen_md_rdmem(adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2393
(adapter, entry, esize);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2401
esize = netxen_md_rdrom(adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2404
(adapter, entry, esize);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2414
esize = netxen_md_L2Cache(adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2417
(adapter, entry, esize);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2425
esize = netxen_md_L1Cache(adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2428
(adapter, entry, esize);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2435
esize = netxen_md_rdocm(adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2438
(adapter, entry, esize);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2445
esize = netxen_md_rdmux(adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2448
(adapter, entry, esize);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2455
esize = netxen_md_rdqueue(adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2458
(adapter, entry, esize);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2472
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2479
netxen_collect_minidump(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2484
adapter->mdump.md_template;
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2485
hdr->driver_capture_mask = adapter->mdump.md_capture_mask;
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2487
hdr->driver_info_word2 = adapter->fw_version;
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2488
hdr->driver_info_word3 = NXRD32(adapter, CRB_DRIVER_VERSION);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2489
ret = netxen_parse_md_template(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2498
netxen_dump_fw(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2504
adapter->mdump.md_template;
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2505
capture_mask = adapter->mdump.md_capture_mask;
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2512
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2514
adapter->mdump.md_capture_mask);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2517
adapter->mdump.md_capture_size = data_size;
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2518
adapter->mdump.md_dump_size = adapter->mdump.md_template_size +
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2519
adapter->mdump.md_capture_size;
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2520
if (!adapter->mdump.md_capture_buff) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2521
adapter->mdump.md_capture_buff =
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2522
vzalloc(adapter->mdump.md_dump_size);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2523
if (!adapter->mdump.md_capture_buff)
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2526
if (netxen_collect_minidump(adapter)) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2527
adapter->mdump.has_valid_dump = 0;
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2528
adapter->mdump.md_dump_size = 0;
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2529
vfree(adapter->mdump.md_capture_buff);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2530
adapter->mdump.md_capture_buff = NULL;
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2531
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2534
adapter->mdump.md_timestamp = jiffies;
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2535
adapter->mdump.has_valid_dump = 1;
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2536
adapter->fw_mdump_rdy = 1;
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2537
dev_info(&adapter->pdev->dev, "%s Successfully "
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2538
"collected fw dump.\n", adapter->netdev->name);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2542
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
2545
adapter->fw_mdump_rdy = 1;
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
28
static void netxen_nic_io_write_128M(struct netxen_adapter *adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
290
static int netxen_nic_set_mtu_xgb(struct netxen_adapter *adapter, int new_mtu);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
293
netxen_pcie_sem_lock(struct netxen_adapter *adapter, int sem, u32 id_reg)
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
298
done = NXRD32(adapter, NETXEN_PCIE_REG(PCIE_SEM_LOCK(sem)));
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
30
static u32 netxen_nic_io_read_128M(struct netxen_adapter *adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
307
NXWR32(adapter, id_reg, adapter->portnum);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
313
netxen_pcie_sem_unlock(struct netxen_adapter *adapter, int sem)
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
315
NXRD32(adapter, NETXEN_PCIE_REG(PCIE_SEM_UNLOCK(sem)));
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
318
static int netxen_niu_xg_init_port(struct netxen_adapter *adapter, int port)
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
320
if (NX_IS_REVISION_P2(adapter->ahw.revision_id)) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
321
NXWR32(adapter, NETXEN_NIU_XGE_CONFIG_1+(0x10000*port), 0x1447);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
322
NXWR32(adapter, NETXEN_NIU_XGE_CONFIG_0+(0x10000*port), 0x5);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
329
static int netxen_niu_disable_xg_port(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
33
#define PCI_OFFSET_FIRST_RANGE(adapter, off) \
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
332
u32 port = adapter->physical_port;
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
334
if (NX_IS_REVISION_P3(adapter->ahw.revision_id))
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
34
((adapter)->ahw.pci_base0 + (off))
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
341
if (NXWR32(adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
35
#define PCI_OFFSET_SECOND_RANGE(adapter, off) \
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
356
static int netxen_p2_nic_set_promisc(struct netxen_adapter *adapter, u32 mode)
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
36
((adapter)->ahw.pci_base1 + (off) - SECOND_PAGE_GROUP_START)
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
361
u32 port = adapter->physical_port;
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
362
u16 board_type = adapter->ahw.board_type;
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
367
mac_cfg = NXRD32(adapter, NETXEN_NIU_XGE_CONFIG_0 + (0x10000 * port));
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
369
NXWR32(adapter, NETXEN_NIU_XGE_CONFIG_0 + (0x10000 * port), mac_cfg);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
37
#define PCI_OFFSET_THIRD_RANGE(adapter, off) \
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
375
NXWR32(adapter, NETXEN_NIU_FRAME_COUNT_SELECT, reg);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
379
while (NXRD32(adapter, NETXEN_NIU_FRAME_COUNT) && ++cnt < 20)
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
38
((adapter)->ahw.pci_base2 + (off) - THIRD_PAGE_GROUP_START)
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
384
reg = NXRD32(adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
397
NXWR32(adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
40
static void __iomem *pci_base_offset(struct netxen_adapter *adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
402
NXWR32(adapter, NETXEN_NIU_XGE_CONFIG_0 + (0x10000 * port), mac_cfg);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
407
static int netxen_p2_nic_set_mac_addr(struct netxen_adapter *adapter, u8 *addr)
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
412
u8 phy = adapter->physical_port;
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
425
if (NXWR32(adapter, reg_lo, mac_lo) || NXWR32(adapter, reg_hi, mac_hi))
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
427
if (NXWR32(adapter, reg_lo, mac_lo) || NXWR32(adapter, reg_hi, mac_hi))
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
434
netxen_nic_enable_mcast_filter(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
437
u16 port = adapter->physical_port;
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
438
u8 *addr = adapter->mac_addr;
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
44
return PCI_OFFSET_FIRST_RANGE(adapter, off);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
440
if (adapter->mc_enabled)
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
443
val = NXRD32(adapter, NETXEN_MAC_ADDR_CNTL_REG);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
445
NXWR32(adapter, NETXEN_MAC_ADDR_CNTL_REG, val);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
449
NXWR32(adapter, NETXEN_UNICAST_ADDR(port, 0), val);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
450
NXWR32(adapter, NETXEN_UNICAST_ADDR(port, 0)+4, val);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
454
NXWR32(adapter, NETXEN_UNICAST_ADDR(port, 1), val);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
456
NXWR32(adapter, NETXEN_UNICAST_ADDR(port, 1)+4, val);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
458
adapter->mc_enabled = 1;
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
463
netxen_nic_disable_mcast_filter(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
466
u16 port = adapter->physical_port;
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
467
u8 *addr = adapter->mac_addr;
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
469
if (!adapter->mc_enabled)
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
47
return PCI_OFFSET_SECOND_RANGE(adapter, off);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
472
val = NXRD32(adapter, NETXEN_MAC_ADDR_CNTL_REG);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
474
NXWR32(adapter, NETXEN_MAC_ADDR_CNTL_REG, val);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
477
NXWR32(adapter, NETXEN_UNICAST_ADDR(port, 0), val);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
479
NXWR32(adapter, NETXEN_UNICAST_ADDR(port, 0)+4, val);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
481
NXWR32(adapter, NETXEN_UNICAST_ADDR(port, 1), 0);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
482
NXWR32(adapter, NETXEN_UNICAST_ADDR(port, 1)+4, 0);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
484
adapter->mc_enabled = 0;
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
489
netxen_nic_set_mcast_addr(struct netxen_adapter *adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
493
u16 port = adapter->physical_port;
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
498
NXWR32(adapter, NETXEN_MCAST_ADDR(port, index), hi);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
499
NXWR32(adapter, NETXEN_MCAST_ADDR(port, index)+4, lo);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
50
return PCI_OFFSET_THIRD_RANGE(adapter, off);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
506
struct netxen_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
515
adapter->set_promisc(adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
519
netxen_nic_disable_mcast_filter(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
525
adapter->set_promisc(adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
527
netxen_nic_disable_mcast_filter(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
531
adapter->set_promisc(adapter, NETXEN_NIU_ALLMULTI_MODE);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
533
netdev_mc_count(netdev) > adapter->max_mc_count) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
534
netxen_nic_disable_mcast_filter(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
538
netxen_nic_enable_mcast_filter(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
542
netxen_nic_set_mcast_addr(adapter, i++, ha->addr);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
545
while (i < adapter->max_mc_count)
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
546
netxen_nic_set_mcast_addr(adapter, i++, null_addr);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
550
netxen_send_cmd_descs(struct netxen_adapter *adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
559
if (adapter->is_up != NETXEN_ADAPTER_UP_MAGIC)
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
562
tx_ring = adapter->tx_ring;
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
594
netxen_nic_update_cmd_producer(adapter, tx_ring);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
602
nx_p3_sre_macaddr_change(struct netxen_adapter *adapter, u8 *addr, unsigned op)
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
611
word = NX_MAC_EVENT | ((u64)adapter->portnum << 16);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
618
return netxen_send_cmd_descs(adapter, (struct cmd_desc_type0 *)&req, 1);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
621
static int nx_p3_nic_add_mac(struct netxen_adapter *adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
632
list_move_tail(head, &adapter->mac_list);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
642
list_add_tail(&cur->list, &adapter->mac_list);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
643
return nx_p3_sre_macaddr_change(adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
649
struct netxen_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
659
if (adapter->is_up != NETXEN_ADAPTER_UP_MAGIC)
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
662
list_splice_tail_init(&adapter->mac_list, &del_list);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
664
nx_p3_nic_add_mac(adapter, adapter->mac_addr, &del_list);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
665
nx_p3_nic_add_mac(adapter, bcast_addr, &del_list);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
673
(netdev_mc_count(netdev) > adapter->max_mc_count)) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
680
nx_p3_nic_add_mac(adapter, ha->addr, &del_list);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
684
adapter->set_promisc(adapter, mode);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
689
nx_p3_sre_macaddr_change(adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
696
static int netxen_p3_nic_set_promisc(struct netxen_adapter *adapter, u32 mode)
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
706
((u64)adapter->portnum << 16);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
711
return netxen_send_cmd_descs(adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
715
void netxen_p3_free_mac_list(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
718
struct list_head *head = &adapter->mac_list;
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
722
nx_p3_sre_macaddr_change(adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
729
static int netxen_p3_nic_set_mac_addr(struct netxen_adapter *adapter, u8 *addr)
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
732
netxen_p3_nic_set_multi(adapter->netdev);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
741
int netxen_config_intr_coalesce(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
752
word[0] = NETXEN_CONFIG_INTR_COALESCE | ((u64)adapter->portnum << 16);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
755
memcpy(&word[0], &adapter->coal, sizeof(adapter->coal));
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
759
rv = netxen_send_cmd_descs(adapter, (struct cmd_desc_type0 *)&req, 1);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
768
int netxen_config_hw_lro(struct netxen_adapter *adapter, int enable)
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
774
if (!test_bit(__NX_FW_ATTACHED, &adapter->state))
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
781
word = NX_NIC_H2C_OPCODE_CONFIG_HW_LRO | ((u64)adapter->portnum << 16);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
786
rv = netxen_send_cmd_descs(adapter, (struct cmd_desc_type0 *)&req, 1);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
795
int netxen_config_bridged_mode(struct netxen_adapter *adapter, int enable)
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
801
if (!!(adapter->flags & NETXEN_NIC_BRIDGE_ENABLED) == enable)
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
809
((u64)adapter->portnum << 16);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
814
rv = netxen_send_cmd_descs(adapter, (struct cmd_desc_type0 *)&req, 1);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
820
adapter->flags ^= NETXEN_NIC_BRIDGE_ENABLED;
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
828
int netxen_config_rss(struct netxen_adapter *adapter, int enable)
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
844
word = NX_NIC_H2C_OPCODE_CONFIG_RSS | ((u64)adapter->portnum << 16);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
866
rv = netxen_send_cmd_descs(adapter, (struct cmd_desc_type0 *)&req, 1);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
869
adapter->netdev->name);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
875
int netxen_config_ipaddr(struct netxen_adapter *adapter, __be32 ip, int cmd)
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
884
word = NX_NIC_H2C_OPCODE_CONFIG_IPADDR | ((u64)adapter->portnum << 16);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
890
rv = netxen_send_cmd_descs(adapter, (struct cmd_desc_type0 *)&req, 1);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
893
adapter->netdev->name,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
899
int netxen_linkevent_request(struct netxen_adapter *adapter, int enable)
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
908
word = NX_NIC_H2C_OPCODE_GET_LINKEVENT | ((u64)adapter->portnum << 16);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
912
rv = netxen_send_cmd_descs(adapter, (struct cmd_desc_type0 *)&req, 1);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
915
adapter->netdev->name);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
921
int netxen_send_lro_cleanup(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
927
if (!test_bit(__NX_FW_ATTACHED, &adapter->state))
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
934
((u64)adapter->portnum << 16) |
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
939
rv = netxen_send_cmd_descs(adapter, (struct cmd_desc_type0 *)&req, 1);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
942
adapter->netdev->name);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
956
struct netxen_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
959
if (adapter->set_mtu)
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
960
rc = adapter->set_mtu(adapter, mtu);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
968
static int netxen_get_flash_block(struct netxen_adapter *adapter, int base,
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
978
ret = netxen_rom_fast_read(adapter, addr, &v);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
988
ret = netxen_rom_fast_read(adapter, addr, &v);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
998
int netxen_get_flash_mac_addr(struct netxen_adapter *adapter, u64 *mac)
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.h
18
void netxen_nic_set_link_parameters(struct netxen_adapter *adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1004
size = (__force u32)nx_get_fw_size(adapter) / 8;
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1006
ptr64 = (u64 *)nx_get_fw_offs(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1012
if (adapter->pci_mem_write(adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1019
size = (__force u32)nx_get_fw_size(adapter) % 8;
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1023
if (adapter->pci_mem_write(adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1036
if (netxen_rom_fast_read(adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1039
if (netxen_rom_fast_read(adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1046
if (adapter->pci_mem_write(adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
105
dma_unmap_single(&adapter->pdev->dev, rx_buf->dma,
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1055
if (NX_IS_REVISION_P3P(adapter->ahw.revision_id)) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1056
NXWR32(adapter, NETXEN_CRB_PEG_NET_0 + 0x18, 0x1020);
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1057
NXWR32(adapter, NETXEN_ROMUSB_GLB_SW_RESET, 0x80001e);
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1058
} else if (NX_IS_REVISION_P3(adapter->ahw.revision_id))
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1059
NXWR32(adapter, NETXEN_ROMUSB_GLB_SW_RESET, 0x80001d);
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1061
NXWR32(adapter, NETXEN_ROMUSB_GLB_CHIP_CLK_CTRL, 0x3fff);
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1062
NXWR32(adapter, NETXEN_ROMUSB_GLB_CAS_RST, 0);
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1069
netxen_validate_firmware(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1074
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1075
const struct firmware *fw = adapter->fw;
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1076
u8 fw_type = adapter->fw_type;
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1080
if (netxen_nic_validate_unified_romimage(adapter))
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1091
val = nx_get_fw_version(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1093
if (NX_IS_REVISION_P3(adapter->ahw.revision_id))
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1108
val = nx_get_bios_version(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1109
if (netxen_rom_fast_read(adapter, NX_BIOS_VERSION_OFFSET, (int *)&bios))
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1117
if (netxen_rom_fast_read(adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1127
NX_IS_REVISION_P3(adapter->ahw.revision_id)) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
113
void netxen_release_tx_buffers(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1136
if (!netxen_p3_has_mn(adapter) ||
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1137
NX_IS_REVISION_P2(adapter->ahw.revision_id)) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1145
NXWR32(adapter, NETXEN_CAM_RAM(0x1fc), NETXEN_BDINFO_MAGIC);
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1150
nx_get_next_fwtype(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1154
switch (adapter->fw_type) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1160
if (NX_IS_REVISION_P3P(adapter->ahw.revision_id))
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1162
else if (NX_IS_REVISION_P2(adapter->ahw.revision_id))
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1164
else if (netxen_p3_has_mn(adapter))
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
118
struct nx_host_tx_ring *tx_ring = adapter->tx_ring;
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1181
adapter->fw_type = fw_type;
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1185
netxen_p3_has_mn(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1190
if (NX_IS_REVISION_P2(adapter->ahw.revision_id))
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1193
netxen_rom_fast_read(adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1198
capability = NXRD32(adapter, NX_PEG_TUNE_CAPABILITY);
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
120
spin_lock_bh(&adapter->tx_clean_lock);
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1205
void netxen_request_firmware(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1207
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1210
adapter->fw_type = NX_UNKNOWN_ROMIMAGE;
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1213
nx_get_next_fwtype(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1215
if (adapter->fw_type == NX_FLASH_ROMIMAGE) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1216
adapter->fw = NULL;
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1218
rc = request_firmware(&adapter->fw,
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1219
fw_name[adapter->fw_type], &pdev->dev);
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1223
rc = netxen_validate_firmware(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1225
release_firmware(adapter->fw);
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1234
netxen_release_firmware(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1236
release_firmware(adapter->fw);
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1237
adapter->fw = NULL;
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1240
int netxen_init_dummy_dma(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1245
if (!NX_IS_REVISION_P2(adapter->ahw.revision_id))
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1248
adapter->dummy_dma.addr = dma_alloc_coherent(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
125
dma_unmap_single(&adapter->pdev->dev, buffrag->dma,
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1250
&adapter->dummy_dma.phys_addr,
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1252
if (adapter->dummy_dma.addr == NULL) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1253
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1258
addr = (uint64_t) adapter->dummy_dma.phys_addr;
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1262
NXWR32(adapter, CRB_HOST_DUMMY_BUF_ADDR_HI, hi);
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1263
NXWR32(adapter, CRB_HOST_DUMMY_BUF_ADDR_LO, lo);
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1276
void netxen_free_dummy_dma(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1281
if (!NX_IS_REVISION_P2(adapter->ahw.revision_id))
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1284
if (!adapter->dummy_dma.addr)
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1287
ctrl = NXRD32(adapter, NETXEN_DMA_WATCHDOG_CTRL);
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1289
NXWR32(adapter, NETXEN_DMA_WATCHDOG_CTRL, (ctrl | 0x2));
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1295
ctrl = NXRD32(adapter, NETXEN_DMA_WATCHDOG_CTRL);
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1303
dma_free_coherent(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1305
adapter->dummy_dma.addr,
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1306
adapter->dummy_dma.phys_addr);
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1307
adapter->dummy_dma.addr = NULL;
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1309
dev_err(&adapter->pdev->dev, "dma_watchdog_shutdown failed\n");
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1312
int netxen_phantom_init(struct netxen_adapter *adapter, int pegtune_val)
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
132
dma_unmap_page(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1321
val = NXRD32(adapter, CRB_CMDPEG_STATE);
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1336
NXWR32(adapter, CRB_CMDPEG_STATE, PHAN_INITIALIZE_FAILED);
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1339
dev_warn(&adapter->pdev->dev, "firmware init failed\n");
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1344
netxen_receive_peg_ready(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1350
val = NXRD32(adapter, CRB_RCVPEG_STATE);
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1363
int netxen_init_firmware(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1367
err = netxen_receive_peg_ready(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1371
NXWR32(adapter, CRB_NIC_CAPABILITIES_HOST, INTR_SCHEME_PERPORT);
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1372
NXWR32(adapter, CRB_MPORT_MODE, MPORT_MULTI_FUNCTION_MODE);
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1373
NXWR32(adapter, CRB_CMDPEG_STATE, PHAN_INITIALIZE_ACK);
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1375
if (NX_IS_REVISION_P2(adapter->ahw.revision_id))
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1376
NXWR32(adapter, CRB_NIC_MSI_MODE_HOST, MSI_MODE_MULTIFUNC);
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1382
netxen_handle_linkevent(struct netxen_adapter *adapter, nx_fw_msg_t *msg)
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1388
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1390
adapter->has_link_events = 1;
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1411
adapter->link_duplex = DUPLEX_FULL;
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1413
adapter->link_duplex = DUPLEX_HALF;
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1414
adapter->module_type = module;
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1415
adapter->link_autoneg = autoneg;
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1416
adapter->link_speed = link_speed;
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1418
netxen_advert_link_change(adapter, link_status);
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
144
spin_unlock_bh(&adapter->tx_clean_lock);
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1441
netxen_handle_linkevent(sds_ring->adapter, &msg);
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1449
netxen_alloc_rx_skb(struct netxen_adapter *adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1455
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1457
buffer->skb = netdev_alloc_skb(adapter->netdev, rds_ring->skb_size);
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1463
if (!adapter->ahw.cut_through)
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
147
void netxen_free_sw_resources(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1482
static struct sk_buff *netxen_process_rxbuf(struct netxen_adapter *adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1490
dma_unmap_single(&adapter->pdev->dev, buffer->dma, rds_ring->dma_size,
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1497
if (likely((adapter->netdev->features & NETIF_F_RXCSUM)
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1499
adapter->stats.csummed++;
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1511
netxen_process_rcv(struct netxen_adapter *adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1515
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1516
struct netxen_recv_context *recv_ctx = &adapter->recv_ctx;
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1522
if (unlikely(ring >= adapter->max_rds_rings))
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1537
skb = netxen_process_rxbuf(adapter, rds_ring, index, cksum);
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
154
recv_ctx = &adapter->recv_ctx;
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1554
adapter->stats.rx_pkts++;
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1555
adapter->stats.rxbytes += length;
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1565
netxen_process_lro(struct netxen_adapter *adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1569
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1570
struct netxen_recv_context *recv_ctx = &adapter->recv_ctx;
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1583
if (unlikely(ring >= adapter->max_rds_rings))
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
159
for (ring = 0; ring < adapter->max_rds_rings; ring++) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1601
skb = netxen_process_rxbuf(adapter, rds_ring, index, STATUS_CKSUM_OK);
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1628
if (adapter->flags & NETXEN_FW_MSS_CAP)
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1633
adapter->stats.lro_pkts++;
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1634
adapter->stats.rxbytes += length;
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1645
struct netxen_adapter *adapter = sds_ring->adapter;
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
167
if (adapter->tx_ring == NULL)
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1674
rxbuf = netxen_process_rcv(adapter, sds_ring,
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1680
rxbuf = netxen_process_lro(adapter, sds_ring,
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
170
tx_ring = adapter->tx_ring;
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1705
for (ring = 0; ring < adapter->max_rds_rings; ring++) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1707
&adapter->recv_ctx.rds_rings[ring];
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1713
netxen_alloc_rx_skb(adapter, rds_ring, rxbuf);
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1721
netxen_post_rx_buffers_nodb(adapter, rds_ring);
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1726
NXWRIO(adapter, sds_ring->crb_sts_consumer, consumer);
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
173
adapter->tx_ring = NULL;
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1733
int netxen_process_cmd_ring(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1738
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1739
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1742
struct nx_host_tx_ring *tx_ring = adapter->tx_ring;
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1744
if (!spin_trylock_bh(&adapter->tx_clean_lock))
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
176
int netxen_alloc_sw_resources(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1764
adapter->stats.xmitfinished++;
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1782
adapter->tx_timeo_cnt = 0;
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1799
spin_unlock_bh(&adapter->tx_clean_lock);
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1805
netxen_post_rx_buffers(struct netxen_adapter *adapter, u32 ringid,
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1822
if (netxen_alloc_rx_skb(adapter, rds_ring, buffer))
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1840
NXWRIO(adapter, rds_ring->crb_rcv_producer,
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1843
if (NX_IS_REVISION_P2(adapter->ahw.revision_id)) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1854
netxen_set_msg_ctxid(msg, adapter->portnum);
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1856
NXWRIO(adapter, DB_NORMALIZE(adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
186
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1863
netxen_post_rx_buffers_nodb(struct netxen_adapter *adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1882
if (netxen_alloc_rx_skb(adapter, rds_ring, buffer))
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1900
NXWRIO(adapter, rds_ring->crb_rcv_producer,
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1906
void netxen_nic_clear_stats(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
1908
memset(&adapter->stats, 0, sizeof(adapter->stats));
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
192
adapter->tx_ring = tx_ring;
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
194
tx_ring->num_desc = adapter->num_txd;
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
203
recv_ctx = &adapter->recv_ctx;
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
205
rds_ring = kzalloc_objs(struct nx_host_rds_ring, adapter->max_rds_rings);
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
211
for (ring = 0; ring < adapter->max_rds_rings; ring++) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
215
rds_ring->num_desc = adapter->num_rxd;
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
216
if (adapter->ahw.cut_through) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
222
if (NX_IS_REVISION_P3(adapter->ahw.revision_id))
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
234
rds_ring->num_desc = adapter->num_jumbo_rxd;
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
235
if (NX_IS_REVISION_P3(adapter->ahw.revision_id))
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
242
if (adapter->capabilities & NX_CAP0_HW_LRO)
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
250
rds_ring->num_desc = adapter->num_lro_rxd;
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
277
for (ring = 0; ring < adapter->max_sds_rings; ring++) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
279
sds_ring->irq = adapter->msix_entries[ring].vector;
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
280
sds_ring->adapter = adapter;
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
281
sds_ring->num_desc = adapter->num_rxd;
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
290
netxen_free_sw_resources(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
32
netxen_post_rx_buffers_nodb(struct netxen_adapter *adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
323
static int netxen_wait_rom_done(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
331
done = NXRD32(adapter, NETXEN_ROMUSB_GLB_STATUS);
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
334
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
34
static int netxen_p3_has_mn(struct netxen_adapter *adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
343
static int do_rom_fast_read(struct netxen_adapter *adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
346
NXWR32(adapter, NETXEN_ROMUSB_ROM_ADDRESS, addr);
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
347
NXWR32(adapter, NETXEN_ROMUSB_ROM_DUMMY_BYTE_CNT, 0);
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
348
NXWR32(adapter, NETXEN_ROMUSB_ROM_ABYTE_CNT, 3);
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
349
NXWR32(adapter, NETXEN_ROMUSB_ROM_INSTR_OPCODE, 0xb);
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
350
if (netxen_wait_rom_done(adapter)) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
355
NXWR32(adapter, NETXEN_ROMUSB_ROM_ABYTE_CNT, 0);
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
357
NXWR32(adapter, NETXEN_ROMUSB_ROM_DUMMY_BYTE_CNT, 0);
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
359
*valp = NXRD32(adapter, NETXEN_ROMUSB_ROM_RDATA);
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
363
static int do_rom_fast_read_words(struct netxen_adapter *adapter, int addr,
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
371
ret = do_rom_fast_read(adapter, addridx, &v);
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
382
netxen_rom_fast_read_words(struct netxen_adapter *adapter, int addr,
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
387
ret = netxen_rom_lock(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
391
ret = do_rom_fast_read_words(adapter, addr, bytes, size);
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
393
netxen_rom_unlock(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
397
int netxen_rom_fast_read(struct netxen_adapter *adapter, int addr, int *valp)
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
401
if (netxen_rom_lock(adapter) != 0)
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
404
ret = do_rom_fast_read(adapter, addr, valp);
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
405
netxen_rom_unlock(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
413
int netxen_pinit_from_rom(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
422
netxen_rom_lock(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
423
NXWR32(adapter, NETXEN_ROMUSB_GLB_SW_RESET, 0xfeffffff);
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
424
netxen_rom_unlock(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
426
if (NX_IS_REVISION_P3(adapter->ahw.revision_id)) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
427
if (netxen_rom_fast_read(adapter, 0, &n) != 0 ||
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
429
netxen_rom_fast_read(adapter, 4, &n) != 0) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
437
if (netxen_rom_fast_read(adapter, 0, &n) != 0 ||
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
458
if (netxen_rom_fast_read(adapter, 8*i + 4*offset, &val) != 0 ||
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
459
netxen_rom_fast_read(adapter, 8*i + 4*offset + 4, &addr) != 0) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
486
if (NX_IS_REVISION_P3(adapter->ahw.revision_id)) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
503
!NX_IS_REVISION_P3P(adapter->ahw.revision_id))
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
519
if (NX_IS_REVISION_P2(adapter->ahw.revision_id)) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
526
NXWR32(adapter, off, buf[i].data);
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
535
if (NX_IS_REVISION_P2(adapter->ahw.revision_id)) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
536
val = NXRD32(adapter, NETXEN_ROMUSB_GLB_SW_RESET);
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
537
NXWR32(adapter, NETXEN_ROMUSB_GLB_SW_RESET, (val & 0xffffff0f));
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
541
NXWR32(adapter, NETXEN_CRB_PEG_NET_D + 0xec, 0x1e);
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
543
NXWR32(adapter, NETXEN_CRB_PEG_NET_D + 0x4c, 8);
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
545
NXWR32(adapter, NETXEN_CRB_PEG_NET_I + 0x4c, 8);
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
550
NXWR32(adapter, NETXEN_CRB_PEG_NET_0 + 0x8, 0);
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
551
NXWR32(adapter, NETXEN_CRB_PEG_NET_0 + 0xc, 0);
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
553
NXWR32(adapter, NETXEN_CRB_PEG_NET_1 + 0x8, 0);
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
554
NXWR32(adapter, NETXEN_CRB_PEG_NET_1 + 0xc, 0);
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
556
NXWR32(adapter, NETXEN_CRB_PEG_NET_2 + 0x8, 0);
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
557
NXWR32(adapter, NETXEN_CRB_PEG_NET_2 + 0xc, 0);
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
559
NXWR32(adapter, NETXEN_CRB_PEG_NET_3 + 0x8, 0);
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
560
NXWR32(adapter, NETXEN_CRB_PEG_NET_3 + 0xc, 0);
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
586
netxen_nic_validate_header(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
588
const u8 *unirom = adapter->fw->data;
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
590
u32 fw_file_size = adapter->fw->size;
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
609
netxen_nic_validate_bootld(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
613
const u8 *unirom = adapter->fw->data;
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
614
__le32 idx = cpu_to_le32(*((int *)&unirom[adapter->file_prd_off] +
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
628
if (adapter->fw->size < tab_size)
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
637
if (adapter->fw->size < data_size)
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
644
netxen_nic_validate_fw(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
648
const u8 *unirom = adapter->fw->data;
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
649
__le32 idx = cpu_to_le32(*((int *)&unirom[adapter->file_prd_off] +
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
663
if (adapter->fw->size < tab_size)
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
671
if (adapter->fw->size < data_size)
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
679
netxen_nic_validate_product_offs(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
682
const u8 *unirom = adapter->fw->data;
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
683
int mn_present = (NX_IS_REVISION_P2(adapter->ahw.revision_id)) ?
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
684
1 : netxen_p3_has_mn(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
698
if (adapter->fw->size < tab_size)
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
705
u8 chiprev = adapter->ahw.revision_id;
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
718
adapter->file_prd_off = offs;
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
723
if (mn_present && NX_IS_REVISION_P3(adapter->ahw.revision_id)) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
732
netxen_nic_validate_unified_romimage(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
734
if (netxen_nic_validate_header(adapter)) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
735
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
740
if (netxen_nic_validate_product_offs(adapter)) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
741
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
746
if (netxen_nic_validate_bootld(adapter)) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
747
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
752
if (netxen_nic_validate_fw(adapter)) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
753
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
761
static struct uni_data_desc *nx_get_data_desc(struct netxen_adapter *adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
764
const u8 *unirom = adapter->fw->data;
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
765
int idx = cpu_to_le32(*((int *)&unirom[adapter->file_prd_off] +
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
782
nx_get_bootld_offs(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
786
if (adapter->fw_type == NX_UNIFIED_ROMIMAGE)
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
787
offs = cpu_to_le32((nx_get_data_desc(adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
791
return (u8 *)&adapter->fw->data[offs];
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
795
nx_get_fw_offs(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
799
if (adapter->fw_type == NX_UNIFIED_ROMIMAGE)
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
800
offs = cpu_to_le32((nx_get_data_desc(adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
804
return (u8 *)&adapter->fw->data[offs];
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
808
nx_get_fw_size(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
810
if (adapter->fw_type == NX_UNIFIED_ROMIMAGE)
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
811
return cpu_to_le32((nx_get_data_desc(adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
816
*(u32 *)&adapter->fw->data[NX_FW_SIZE_OFFSET]);
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
820
nx_get_fw_version(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
823
const struct firmware *fw = adapter->fw;
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
828
if (adapter->fw_type == NX_UNIFIED_ROMIMAGE) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
830
fw_data_desc = nx_get_data_desc(adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
853
nx_get_bios_version(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
855
const struct firmware *fw = adapter->fw;
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
856
__le32 bios_ver, prd_off = adapter->file_prd_off;
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
858
if (adapter->fw_type == NX_UNIFIED_ROMIMAGE) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
869
netxen_need_fw_reset(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
877
if (NX_IS_REVISION_P2(adapter->ahw.revision_id))
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
880
if (adapter->need_fw_reset)
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
884
if (NXRD32(adapter, CRB_CMDPEG_STATE) == PHAN_INITIALIZE_FAILED)
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
887
old_count = NXRD32(adapter, NETXEN_PEG_ALIVE_COUNTER);
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
893
NXWR32(adapter, CRB_CMDPEG_STATE,
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
898
count = NXRD32(adapter, NETXEN_PEG_ALIVE_COUNTER);
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
908
if (adapter->fw) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
91
void netxen_release_rx_buffers(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
910
val = nx_get_fw_version(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
914
major = NXRD32(adapter, NETXEN_FW_VERSION_MAJOR);
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
915
minor = NXRD32(adapter, NETXEN_FW_VERSION_MINOR);
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
916
build = NXRD32(adapter, NETXEN_FW_VERSION_SUB);
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
922
adapter->fw_type != NX_UNIFIED_ROMIMAGE) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
924
val = NXRD32(adapter, NETXEN_MIU_MN_CONTROL);
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
928
if (adapter->fw_type != fw_type)
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
939
netxen_check_flash_fw_compatibility(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
943
if (NX_IS_REVISION_P2(adapter->ahw.revision_id))
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
946
if (netxen_rom_fast_read(adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
948
dev_err(&adapter->pdev->dev, "Unable to read flash fw"
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
958
dev_info(&adapter->pdev->dev, "Flash fw[%d.%d.%d] is < min fw supported"
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
974
netxen_load_firmware(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
978
const struct firmware *fw = adapter->fw;
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
979
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
98
recv_ctx = &adapter->recv_ctx;
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
982
fw_name[adapter->fw_type]);
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
984
if (NX_IS_REVISION_P2(adapter->ahw.revision_id))
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
985
NXWR32(adapter, NETXEN_ROMUSB_GLB_CAS_RST, 1);
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
99
for (ring = 0; ring < adapter->max_rds_rings; ring++) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
992
ptr64 = (u64 *)nx_get_bootld_offs(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
998
if (adapter->pci_mem_write(adapter, flashaddr, data))
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1000
NXWR32(adapter, CRB_DRIVER_VERSION, val);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1003
if (NX_IS_REVISION_P3(adapter->ahw.revision_id))
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1004
netxen_pcie_strap_init(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1008
err = netxen_phantom_init(adapter, NETXEN_NIC_PEG_TUNE);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1010
netxen_free_dummy_dma(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1014
NXWR32(adapter, NX_CRB_DEV_STATE, NX_DEV_READY);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1016
nx_update_dma_mask(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1018
netxen_check_options(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
102
netxen_nic_update_cmd_producer(struct netxen_adapter *adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1020
adapter->need_fw_reset = 0;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1025
netxen_release_firmware(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1030
netxen_nic_request_irq(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1037
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1038
struct netxen_recv_context *recv_ctx = &adapter->recv_ctx;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1040
if (adapter->flags & NETXEN_NIC_MSIX_ENABLED)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1042
else if (adapter->flags & NETXEN_NIC_MSI_ENABLED)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1048
adapter->irq = netdev->irq;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
105
NXWRIO(adapter, tx_ring->crb_cmd_producer, tx_ring->producer);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1050
for (ring = 0; ring < adapter->max_sds_rings; ring++) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1063
netxen_nic_free_irq(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1068
struct netxen_recv_context *recv_ctx = &adapter->recv_ctx;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1070
for (ring = 0; ring < adapter->max_sds_rings; ring++) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1077
netxen_nic_init_coalesce_defaults(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1079
adapter->coal.flags = NETXEN_NIC_INTR_DEFAULT;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1080
adapter->coal.normal.data.rx_time_us =
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1082
adapter->coal.normal.data.rx_packets =
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1084
adapter->coal.normal.data.tx_time_us =
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1086
adapter->coal.normal.data.tx_packets =
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1092
__netxen_nic_up(struct netxen_adapter *adapter, struct net_device *netdev)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1096
if (adapter->is_up != NETXEN_ADAPTER_UP_MAGIC)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1099
err = adapter->init_port(adapter, adapter->physical_port);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1102
netxen_nic_driver_name, adapter->portnum);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1105
if (NX_IS_REVISION_P2(adapter->ahw.revision_id))
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1106
adapter->macaddr_set(adapter, adapter->mac_addr);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1108
adapter->set_multi(netdev);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1109
adapter->set_mtu(adapter, netdev->mtu);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1111
adapter->ahw.linkup = 0;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1113
if (adapter->max_sds_rings > 1)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1114
netxen_config_rss(adapter, 1);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1116
if (NX_IS_REVISION_P3(adapter->ahw.revision_id))
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1117
netxen_config_intr_coalesce(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1120
netxen_config_hw_lro(adapter, NETXEN_NIC_LRO_ENABLED);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1122
netxen_napi_enable(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1124
if (adapter->capabilities & NX_FW_CAPABILITY_LINK_NOTIFICATION)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1125
netxen_linkevent_request(adapter, 1);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1127
netxen_nic_set_link_parameters(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1129
set_bit(__NX_DEV_UP, &adapter->state);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1136
netxen_nic_up(struct netxen_adapter *adapter, struct net_device *netdev)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
114
netxen_nic_update_cmd_consumer(struct netxen_adapter *adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1142
err = __netxen_nic_up(adapter, netdev);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1150
__netxen_nic_down(struct netxen_adapter *adapter, struct net_device *netdev)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1152
if (adapter->is_up != NETXEN_ADAPTER_UP_MAGIC)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1155
if (!test_and_clear_bit(__NX_DEV_UP, &adapter->state))
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1162
if (adapter->capabilities & NX_FW_CAPABILITY_LINK_NOTIFICATION)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1163
netxen_linkevent_request(adapter, 0);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1165
if (adapter->stop_port)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1166
adapter->stop_port(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1168
if (NX_IS_REVISION_P3(adapter->ahw.revision_id))
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1169
netxen_p3_free_mac_list(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
117
NXWRIO(adapter, tx_ring->crb_cmd_consumer, tx_ring->sw_consumer);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1171
adapter->set_promisc(adapter, NETXEN_NIU_NON_PROMISC_MODE);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1173
netxen_napi_disable(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1175
netxen_release_tx_buffers(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1181
netxen_nic_down(struct netxen_adapter *adapter, struct net_device *netdev)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1185
__netxen_nic_down(adapter, netdev);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1191
netxen_nic_attach(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1193
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1194
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1200
if (adapter->is_up == NETXEN_ADAPTER_UP_MAGIC)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1203
err = netxen_init_firmware(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1207
adapter->flags &= ~NETXEN_FW_MSS_CAP;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1208
if (adapter->capabilities & NX_FW_CAPABILITY_MORE_CAPS) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1209
capab2 = NXRD32(adapter, CRB_FW_CAPABILITIES_2);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1211
adapter->flags |= NETXEN_FW_MSS_CAP;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1214
err = netxen_napi_add(adapter, netdev);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1218
err = netxen_alloc_sw_resources(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1225
err = netxen_alloc_hw_resources(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1232
if (NX_IS_REVISION_P2(adapter->ahw.revision_id)) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1233
tx_ring = adapter->tx_ring;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1234
tx_ring->crb_cmd_producer = netxen_get_ioaddr(adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1235
crb_cmd_producer[adapter->portnum]);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1236
tx_ring->crb_cmd_consumer = netxen_get_ioaddr(adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1237
crb_cmd_consumer[adapter->portnum]);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1242
netxen_nic_update_cmd_producer(adapter, tx_ring);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1243
netxen_nic_update_cmd_consumer(adapter, tx_ring);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1246
for (ring = 0; ring < adapter->max_rds_rings; ring++) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1247
rds_ring = &adapter->recv_ctx.rds_rings[ring];
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1248
netxen_post_rx_buffers(adapter, ring, rds_ring);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1251
err = netxen_nic_request_irq(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1258
if (NX_IS_REVISION_P3(adapter->ahw.revision_id))
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1259
netxen_nic_init_coalesce_defaults(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1261
netxen_create_sysfs_entries(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1263
adapter->is_up = NETXEN_ADAPTER_UP_MAGIC;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1267
netxen_release_rx_buffers(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1268
netxen_free_hw_resources(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1270
netxen_free_sw_resources(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1275
netxen_nic_detach(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1277
if (adapter->is_up != NETXEN_ADAPTER_UP_MAGIC)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1280
netxen_remove_sysfs_entries(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1282
netxen_free_hw_resources(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1283
netxen_release_rx_buffers(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1284
netxen_nic_free_irq(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1285
netxen_napi_del(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1286
netxen_free_sw_resources(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1288
adapter->is_up = 0;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1292
netxen_nic_reset_context(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1295
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1297
if (test_and_set_bit(__NX_RESETTING, &adapter->state))
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1300
if (adapter->is_up == NETXEN_ADAPTER_UP_MAGIC) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1305
__netxen_nic_down(adapter, netdev);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1307
netxen_nic_detach(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
131
struct netxen_adapter *adapter = sds_ring->adapter;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1310
err = netxen_nic_attach(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1312
err = __netxen_nic_up(adapter, netdev);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1322
clear_bit(__NX_RESETTING, &adapter->state);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1327
netxen_setup_netdev(struct netxen_adapter *adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
133
NXWRIO(adapter, sds_ring->crb_intr_mask, 0);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1331
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1333
adapter->mc_enabled = 0;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1334
if (NX_IS_REVISION_P3(adapter->ahw.revision_id))
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1335
adapter->max_mc_count = 38;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1337
adapter->max_mc_count = 16;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1349
if (NX_IS_REVISION_P3(adapter->ahw.revision_id))
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1354
if (adapter->pci_using_dac) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1359
if (adapter->capabilities & NX_FW_CAPABILITY_FVLANTX)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1362
if (adapter->capabilities & NX_FW_CAPABILITY_HW_LRO)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1367
netdev->irq = adapter->msix_entries[0].vector;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1369
INIT_WORK(&adapter->tx_timeout_task, netxen_tx_timeout_task);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1371
if (netxen_read_mac_addr(adapter))
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
138
struct netxen_adapter *adapter = sds_ring->adapter;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1388
static void netxen_read_ula_info(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1393
if (adapter->portnum != 0)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1396
temp = NXRD32(adapter, NETXEN_ULA_KEY);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1399
dev_info(&adapter->pdev->dev, "ULA adapter");
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
140
NXWRIO(adapter, sds_ring->crb_intr_mask, 0x1);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1402
dev_info(&adapter->pdev->dev, "non ULA adapter");
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1412
static void netxen_mask_aer_correctable(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1414
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
142
if (!NETXEN_IS_MSI_FAMILY(adapter))
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1422
if (adapter->ahw.board_type != NETXEN_BRDTYPE_P3_4_GB_MM &&
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1423
adapter->ahw.board_type != NETXEN_BRDTYPE_P3_10G_TP)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
143
NXWRIO(adapter, adapter->tgt_mask_reg, 0xfbff);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1441
struct netxen_adapter *adapter = NULL;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1474
adapter = netdev_priv(netdev);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1475
adapter->netdev = netdev;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1476
adapter->pdev = pdev;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1477
adapter->ahw.pci_func = pci_func_id;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1480
adapter->ahw.revision_id = revision_id;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1482
rwlock_init(&adapter->ahw.crb_lock);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1483
spin_lock_init(&adapter->ahw.mem_lock);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1485
spin_lock_init(&adapter->tx_clean_lock);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1486
INIT_LIST_HEAD(&adapter->mac_list);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1487
INIT_LIST_HEAD(&adapter->ip_list);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1489
err = netxen_setup_pci_map(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1494
adapter->portnum = pci_func_id;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1496
err = netxen_nic_get_board_info(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1503
netxen_mask_aer_correctable(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1507
switch (adapter->ahw.board_type) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1511
adapter->portnum = pci_func_id - 2;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1517
err = netxen_check_flash_fw_compatibility(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1521
if (adapter->portnum == 0) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1522
val = NXRD32(adapter, NX_CRB_DEV_REF_COUNT);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1524
NXWR32(adapter, NX_CRB_DEV_REF_COUNT, 0);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1525
adapter->need_fw_reset = 1;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1529
err = netxen_start_firmware(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1536
adapter->physical_port = adapter->portnum;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1537
if (NX_IS_REVISION_P2(adapter->ahw.revision_id)) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1538
i = NXRD32(adapter, CRB_V2P(adapter->portnum));
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1540
adapter->physical_port = i;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1545
if (NX_IS_REVISION_P3(adapter->ahw.revision_id))
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1550
netxen_nic_clear_stats(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1552
err = netxen_setup_intr(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1555
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1560
netxen_read_ula_info(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1562
err = netxen_setup_netdev(adapter, netdev);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1566
pci_set_drvdata(pdev, adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1568
netxen_schedule_work(adapter, netxen_fw_poll_work, FW_POLL_DELAY);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1570
switch (adapter->ahw.port_type) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1572
dev_info(&adapter->pdev->dev, "%s: GbE port initialized\n",
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1573
adapter->netdev->name);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1576
dev_info(&adapter->pdev->dev, "%s: XGbE port initialized\n",
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1577
adapter->netdev->name);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1581
netxen_create_diag_entries(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1586
netxen_teardown_intr(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1588
netxen_free_dummy_dma(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1591
nx_decr_dev_ref_cnt(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1594
netxen_cleanup_pci_map(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1608
void netxen_cleanup_minidump(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1610
kfree(adapter->mdump.md_template);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1611
adapter->mdump.md_template = NULL;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1613
if (adapter->mdump.md_capture_buff) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1614
vfree(adapter->mdump.md_capture_buff);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1615
adapter->mdump.md_capture_buff = NULL;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1621
struct netxen_adapter *adapter;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1624
adapter = pci_get_drvdata(pdev);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1625
if (adapter == NULL)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1628
netdev = adapter->netdev;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1630
netxen_cancel_fw_work(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1634
cancel_work_sync(&adapter->tx_timeout_task);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1636
netxen_free_ip_list(adapter, false);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1637
netxen_nic_detach(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1639
nx_decr_dev_ref_cnt(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
164
netxen_napi_add(struct netxen_adapter *adapter, struct net_device *netdev)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1641
if (adapter->portnum == 0)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1642
netxen_free_dummy_dma(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1644
clear_bit(__NX_RESETTING, &adapter->state);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1646
netxen_teardown_intr(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1647
netxen_set_interrupt_mode(adapter, 0);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1648
netxen_remove_diag_entries(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1650
netxen_cleanup_pci_map(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1652
netxen_release_firmware(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1655
netxen_cleanup_minidump(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1663
static void netxen_nic_detach_func(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1665
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1669
netxen_cancel_fw_work(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1672
netxen_nic_down(adapter, netdev);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1674
cancel_work_sync(&adapter->tx_timeout_task);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1676
netxen_nic_detach(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1678
if (adapter->portnum == 0)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1679
netxen_free_dummy_dma(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
168
struct netxen_recv_context *recv_ctx = &adapter->recv_ctx;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1681
nx_decr_dev_ref_cnt(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1683
clear_bit(__NX_RESETTING, &adapter->state);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1688
struct netxen_adapter *adapter = pci_get_drvdata(pdev);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1689
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1694
adapter->ahw.crb_win = -1;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1695
adapter->ahw.ocm_win = -1;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1697
err = netxen_start_firmware(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
170
if (netxen_alloc_sds_rings(recv_ctx, adapter->max_sds_rings))
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1704
err = netxen_nic_attach(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1708
err = netxen_nic_up(adapter, netdev);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1716
netxen_schedule_work(adapter, netxen_fw_poll_work, FW_POLL_DELAY);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1720
netxen_nic_detach(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1722
nx_decr_dev_ref_cnt(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
173
for (ring = 0; ring < adapter->max_sds_rings; ring++) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1743
struct netxen_adapter *adapter = pci_get_drvdata(pdev);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1748
if (nx_dev_request_aer(adapter))
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1751
netxen_nic_detach_func(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1769
struct netxen_adapter *adapter = pci_get_drvdata(pdev);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1771
netxen_nic_detach_func(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1776
if (netxen_nic_wol_supported(adapter)) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1787
struct netxen_adapter *adapter = dev_get_drvdata(dev_d);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1789
netxen_nic_detach_func(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1791
if (netxen_nic_wol_supported(adapter))
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1805
struct netxen_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1808
if (adapter->driver_mismatch)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1811
err = netxen_nic_attach(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1815
err = __netxen_nic_up(adapter, netdev);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
182
netxen_napi_del(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1824
netxen_nic_detach(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1833
struct netxen_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
1835
__netxen_nic_down(adapter, netdev);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
186
struct netxen_recv_context *recv_ctx = &adapter->recv_ctx;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
188
for (ring = 0; ring < adapter->max_sds_rings; ring++) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
193
netxen_free_sds_rings(&adapter->recv_ctx);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
197
netxen_napi_enable(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
201
struct netxen_recv_context *recv_ctx = &adapter->recv_ctx;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2022
struct netxen_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2023
struct nx_host_tx_ring *tx_ring = adapter->tx_ring;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
203
for (ring = 0; ring < adapter->max_sds_rings; ring++) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2066
pdev = adapter->pdev;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2078
netxen_set_tx_port(first_desc, adapter->portnum);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
211
netxen_napi_disable(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2115
adapter->stats.txbytes += skb->len;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2116
adapter->stats.xmitcalled++;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2118
netxen_nic_update_cmd_producer(adapter, tx_ring);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2123
adapter->stats.txdropped++;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2128
static int netxen_nic_check_temp(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2130
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2134
temp = NXRD32(adapter, CRB_TEMP_STATE);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2146
if (adapter->temp == NX_TEMP_NORMAL) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
215
struct netxen_recv_context *recv_ctx = &adapter->recv_ctx;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2154
if (adapter->temp == NX_TEMP_WARN) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2161
adapter->temp = temp_state;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2165
void netxen_advert_link_change(struct netxen_adapter *adapter, int linkup)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2167
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2169
if (adapter->ahw.linkup && !linkup) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
217
for (ring = 0; ring < adapter->max_sds_rings; ring++) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2172
adapter->ahw.linkup = 0;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2177
adapter->link_changed = !adapter->has_link_events;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2178
} else if (!adapter->ahw.linkup && linkup) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2181
adapter->ahw.linkup = 1;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2186
adapter->link_changed = !adapter->has_link_events;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2190
static void netxen_nic_handle_phy_intr(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2194
port = adapter->physical_port;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2196
if (NX_IS_REVISION_P3(adapter->ahw.revision_id)) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2197
val = NXRD32(adapter, CRB_XG_STATE_P3);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2198
val = XG_LINK_STATE_P3(adapter->ahw.pci_func, val);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2201
val = NXRD32(adapter, CRB_XG_STATE);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2206
netxen_advert_link_change(adapter, linkup);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2211
struct netxen_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2213
if (test_bit(__NX_RESETTING, &adapter->state))
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2217
schedule_work(&adapter->tx_timeout_task);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2222
struct netxen_adapter *adapter =
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2225
if (!netif_running(adapter->netdev))
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2228
if (test_and_set_bit(__NX_RESETTING, &adapter->state))
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2231
if (++adapter->tx_timeo_cnt >= NX_MAX_TX_TIMEOUTS)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2235
if (NX_IS_REVISION_P2(adapter->ahw.revision_id)) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2237
netxen_napi_disable(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2239
netxen_napi_enable(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2241
netif_wake_queue(adapter->netdev);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2243
clear_bit(__NX_RESETTING, &adapter->state);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2245
clear_bit(__NX_RESETTING, &adapter->state);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2246
if (netxen_nic_reset_context(adapter)) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
225
static int nx_set_dma_mask(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2251
netif_trans_update(adapter->netdev);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2256
adapter->need_fw_reset = 1;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2257
clear_bit(__NX_RESETTING, &adapter->state);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2263
struct netxen_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2265
stats->rx_packets = adapter->stats.rx_pkts + adapter->stats.lro_pkts;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2266
stats->tx_packets = adapter->stats.xmitfinished;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2267
stats->rx_bytes = adapter->stats.rxbytes;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2268
stats->tx_bytes = adapter->stats.txbytes;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2269
stats->rx_dropped = adapter->stats.rxdropped;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
227
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2270
stats->tx_dropped = adapter->stats.txdropped;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2276
struct netxen_adapter *adapter = sds_ring->adapter;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2279
status = readl(adapter->isr_int_vec);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2281
if (!(status & adapter->int_vec_bit))
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2284
if (NX_IS_REVISION_P3(adapter->ahw.revision_id)) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2286
status = readl(adapter->crb_int_state_reg);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2293
our_int = readl(adapter->crb_int_state_reg);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2296
if (!test_and_clear_bit((7 + adapter->portnum), &our_int))
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
230
adapter->pci_using_dac = 0;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2300
writel((our_int & 0xffffffff), adapter->crb_int_state_reg);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2306
writel(0xffffffff, adapter->tgt_status_reg);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2308
readl(adapter->isr_int_vec);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2309
readl(adapter->isr_int_vec);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2319
struct netxen_adapter *adapter = sds_ring->adapter;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2322
writel(0xffffffff, adapter->tgt_status_reg);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2341
struct netxen_adapter *adapter = sds_ring->adapter;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2346
tx_complete = netxen_process_cmd_ring(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
235
if (NX_IS_REVISION_P2(adapter->ahw.revision_id)) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2355
if (test_bit(__NX_DEV_UP, &adapter->state))
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2363
nx_incr_dev_ref_cnt(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2366
if (netxen_api_lock(adapter))
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2369
count = NXRD32(adapter, NX_CRB_DEV_REF_COUNT);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2371
NXWR32(adapter, NX_CRB_DEV_REF_COUNT, ++count);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2373
netxen_api_unlock(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2378
nx_decr_dev_ref_cnt(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2381
if (netxen_api_lock(adapter))
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2384
count = NXRD32(adapter, NX_CRB_DEV_REF_COUNT);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2387
NXWR32(adapter, NX_CRB_DEV_REF_COUNT, --count);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2388
state = NXRD32(adapter, NX_CRB_DEV_STATE);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2391
NXWR32(adapter, NX_CRB_DEV_STATE, NX_DEV_COLD);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2393
netxen_api_unlock(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2398
nx_dev_request_aer(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2403
if (netxen_api_lock(adapter))
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2406
state = NXRD32(adapter, NX_CRB_DEV_STATE);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2411
NXWR32(adapter, NX_CRB_DEV_STATE, NX_DEV_NEED_AER);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2415
netxen_api_unlock(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2420
nx_dev_request_reset(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2425
if (netxen_api_lock(adapter))
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2428
state = NXRD32(adapter, NX_CRB_DEV_STATE);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2433
NXWR32(adapter, NX_CRB_DEV_STATE, NX_DEV_NEED_RESET);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2434
adapter->flags |= NETXEN_FW_RESET_OWNER;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2438
netxen_api_unlock(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
244
adapter->pci_using_dac = 1;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2444
netxen_can_start_firmware(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2449
if (netxen_api_lock(adapter)) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2450
nx_incr_dev_ref_cnt(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2454
count = NXRD32(adapter, NX_CRB_DEV_REF_COUNT);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2461
NXWR32(adapter, NX_CRB_DEV_STATE, NX_DEV_INITALIZING);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2464
NXWR32(adapter, NX_CRB_DEV_REF_COUNT, ++count);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2466
netxen_api_unlock(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2472
netxen_schedule_work(struct netxen_adapter *adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2475
INIT_DELAYED_WORK(&adapter->fw_work, func);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2476
schedule_delayed_work(&adapter->fw_work, delay);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2480
netxen_cancel_fw_work(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2482
while (test_and_set_bit(__NX_RESETTING, &adapter->state))
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2485
cancel_delayed_work_sync(&adapter->fw_work);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2491
struct netxen_adapter *adapter = container_of(work,
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2493
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2497
err = netxen_nic_attach(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2501
err = netxen_nic_up(adapter, netdev);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2503
netxen_nic_detach(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2513
adapter->fw_fail_cnt = 0;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2514
clear_bit(__NX_RESETTING, &adapter->state);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2515
netxen_schedule_work(adapter, netxen_fw_poll_work, FW_POLL_DELAY);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2521
struct netxen_adapter *adapter = container_of(work,
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2525
dev_state = NXRD32(adapter, NX_CRB_DEV_STATE);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2526
if (adapter->flags & NETXEN_FW_RESET_OWNER) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2527
count = NXRD32(adapter, NX_CRB_DEV_REF_COUNT);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
253
nx_update_dma_mask(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2530
if (adapter->mdump.md_enabled) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2532
netxen_dump_fw(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2535
adapter->flags &= ~NETXEN_FW_RESET_OWNER;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2536
if (netxen_api_lock(adapter)) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2537
clear_bit(__NX_RESETTING, &adapter->state);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2538
NXWR32(adapter, NX_CRB_DEV_STATE,
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2542
count = NXRD32(adapter, NX_CRB_DEV_REF_COUNT);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2543
NXWR32(adapter, NX_CRB_DEV_REF_COUNT, --count);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2544
NXWR32(adapter, NX_CRB_DEV_STATE, NX_DEV_COLD);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2546
netxen_api_unlock(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2553
if (!netxen_start_firmware(adapter)) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2554
netxen_schedule_work(adapter, netxen_attach_work, 0);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2561
netxen_schedule_work(adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2567
nx_incr_dev_ref_cnt(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
257
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2571
if (netxen_api_lock(adapter)) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2572
clear_bit(__NX_RESETTING, &adapter->state);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2575
NXWR32(adapter, NX_CRB_DEV_STATE, NX_DEV_FAILED);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2576
netxen_api_unlock(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2577
dev_err(&adapter->pdev->dev, "%s: Device initialization Failed\n",
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2578
adapter->netdev->name);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2580
clear_bit(__NX_RESETTING, &adapter->state);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2586
struct netxen_adapter *adapter = container_of(work,
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2588
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2594
netxen_nic_down(adapter, netdev);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2597
netxen_nic_detach(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2600
status = NXRD32(adapter, NETXEN_PEG_HALT_STATUS1);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2605
if (adapter->temp == NX_TEMP_PANIC)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2608
if (!(adapter->flags & NETXEN_FW_RESET_OWNER))
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2609
ref_cnt = nx_decr_dev_ref_cnt(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
261
shift = NXRD32(adapter, CRB_DMA_SHIFT);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2616
adapter->fw_wait_cnt = 0;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2617
netxen_schedule_work(adapter, netxen_fwinit_work, delay);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2622
clear_bit(__NX_RESETTING, &adapter->state);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2626
netxen_check_health(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2630
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2632
state = NXRD32(adapter, NX_CRB_DEV_STATE);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2636
if (netxen_nic_check_temp(adapter))
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2639
if (adapter->need_fw_reset) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2640
if (nx_dev_request_reset(adapter))
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
265
if (NX_IS_REVISION_P3(adapter->ahw.revision_id) && (shift > 9))
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2651
adapter->need_fw_reset = 1;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2652
if (NX_IS_REVISION_P2(adapter->ahw.revision_id))
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2656
if (NX_IS_REVISION_P2(adapter->ahw.revision_id))
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2659
heartbit = NXRD32(adapter, NETXEN_PEG_ALIVE_COUNTER);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2660
if (heartbit != adapter->heartbit) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2661
adapter->heartbit = heartbit;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2662
adapter->fw_fail_cnt = 0;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2663
if (adapter->need_fw_reset)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2668
if (++adapter->fw_fail_cnt < FW_FAIL_THRESH)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
267
else if ((adapter->ahw.revision_id == NX_P2_C1) && (shift <= 4))
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2671
if (nx_dev_request_reset(adapter))
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2674
clear_bit(__NX_FW_ATTACHED, &adapter->state);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2677
peg_status = NXRD32(adapter, NETXEN_PEG_HALT_STATUS1);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2678
dev_err(&adapter->pdev->dev, "Dumping hw/fw registers\n"
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2684
NXRD32(adapter, NETXEN_PEG_HALT_STATUS2),
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2685
NXRD32(adapter, NETXEN_CRB_PEG_NET_0 + 0x3c),
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2686
NXRD32(adapter, NETXEN_CRB_PEG_NET_1 + 0x3c),
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2687
NXRD32(adapter, NETXEN_CRB_PEG_NET_2 + 0x3c),
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2688
NXRD32(adapter, NETXEN_CRB_PEG_NET_3 + 0x3c),
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2689
NXRD32(adapter, NETXEN_CRB_PEG_NET_4 + 0x3c));
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2691
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2696
!test_and_set_bit(__NX_RESETTING, &adapter->state))
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2697
netxen_schedule_work(adapter, netxen_detach_work, 0);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2704
struct netxen_adapter *adapter = container_of(work,
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2707
if (test_bit(__NX_RESETTING, &adapter->state))
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2710
if (test_bit(__NX_DEV_UP, &adapter->state) &&
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2711
!(adapter->capabilities & NX_FW_CAPABILITY_LINK_NOTIFICATION)) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2712
if (!adapter->has_link_events) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2714
netxen_nic_handle_phy_intr(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2716
if (adapter->link_changed)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2717
netxen_nic_set_link_parameters(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2721
if (netxen_check_health(adapter))
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2725
netxen_schedule_work(adapter, netxen_fw_poll_work, FW_POLL_DELAY);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2733
struct netxen_adapter *adapter = netdev_priv(net);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2737
if (!(adapter->capabilities & NX_FW_CAPABILITY_BDG))
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2740
if (adapter->is_up != NETXEN_ADAPTER_UP_MAGIC)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2746
if (!netxen_config_bridged_mode(adapter, !!new))
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2758
struct netxen_adapter *adapter;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2761
adapter = netdev_priv(net);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2763
if (adapter->capabilities & NX_FW_CAPABILITY_BDG)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2764
bridged_mode = !!(adapter->flags & NETXEN_NIC_BRIDGE_ENABLED);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2779
struct netxen_adapter *adapter = dev_get_drvdata(dev);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2785
if (!!new != !!(adapter->flags & NETXEN_NIC_DIAG_ENABLED))
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2786
adapter->flags ^= NETXEN_NIC_DIAG_ENABLED;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2795
struct netxen_adapter *adapter = dev_get_drvdata(dev);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2798
!!(adapter->flags & NETXEN_NIC_DIAG_ENABLED));
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
280
if (NX_IS_REVISION_P3(adapter->ahw.revision_id)) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2808
netxen_sysfs_validate_crb(struct netxen_adapter *adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2813
if (!(adapter->flags & NETXEN_NIC_DIAG_ENABLED))
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2817
if (NX_IS_REVISION_P2(adapter->ahw.revision_id))
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2839
struct netxen_adapter *adapter = dev_get_drvdata(dev);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2844
ret = netxen_sysfs_validate_crb(adapter, offset, size);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2848
if (NX_IS_REVISION_P3(adapter->ahw.revision_id) &&
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2851
netxen_pci_camqm_read_2M(adapter, offset, &qmdata);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2854
data = NXRD32(adapter, offset);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2867
struct netxen_adapter *adapter = dev_get_drvdata(dev);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2872
ret = netxen_sysfs_validate_crb(adapter, offset, size);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2876
if (NX_IS_REVISION_P3(adapter->ahw.revision_id) &&
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2880
netxen_pci_camqm_write_2M(adapter, offset, qmdata);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2883
NXWR32(adapter, offset, data);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2890
netxen_sysfs_validate_mem(struct netxen_adapter *adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2893
if (!(adapter->flags & NETXEN_NIC_DIAG_ENABLED))
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2908
struct netxen_adapter *adapter = dev_get_drvdata(dev);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2912
ret = netxen_sysfs_validate_mem(adapter, offset, size);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2916
if (adapter->pci_mem_read(adapter, offset, &data))
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2929
struct netxen_adapter *adapter = dev_get_drvdata(dev);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2933
ret = netxen_sysfs_validate_mem(adapter, offset, size);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2939
if (adapter->pci_mem_write(adapter, offset, data))
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2966
struct netxen_adapter *adapter = dev_get_drvdata(dev);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2967
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
2978
val = NXRD32(adapter, NETXEN_DIMM_CAPABILITY);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
298
netxen_check_hw_init(struct netxen_adapter *adapter, int first_boot)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
304
NXWR32(adapter, NETXEN_CAM_RAM(0x1fc), NETXEN_BDINFO_MAGIC);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
306
if (!NX_IS_REVISION_P2(adapter->ahw.revision_id))
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
3090
netxen_create_sysfs_entries(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
3092
struct device *dev = &adapter->pdev->dev;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
3094
if (adapter->capabilities & NX_FW_CAPABILITY_BDG) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
310
first_boot = NXRD32(adapter, NETXEN_PCIE_REG(0x4));
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
3104
netxen_remove_sysfs_entries(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
3106
struct device *dev = &adapter->pdev->dev;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
3108
if (adapter->capabilities & NX_FW_CAPABILITY_BDG)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
3113
netxen_create_diag_entries(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
3115
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
313
NXWR32(adapter, NETXEN_PCIE_REG(0x4), first_boot);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
3131
netxen_remove_diag_entries(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
3133
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
314
NXRD32(adapter, NETXEN_PCIE_REG(0x4));
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
3147
netxen_destip_supported(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
3149
if (NX_IS_REVISION_P2(adapter->ahw.revision_id))
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
3152
if (adapter->ahw.cut_through)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
3159
netxen_free_ip_list(struct netxen_adapter *adapter, bool master)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
3163
list_for_each_entry_safe(cur, tmp_cur, &adapter->ip_list, list) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
3166
netxen_config_ipaddr(adapter, cur->ip_addr,
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
3172
netxen_config_ipaddr(adapter, cur->ip_addr, NX_IP_DOWN);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
318
first_boot = NXRD32(adapter, NETXEN_ROMUSB_GLB_SW_RESET);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
3180
netxen_list_config_ip(struct netxen_adapter *adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
3194
list_for_each(head, &adapter->ip_list) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
3208
list_add_tail(&cur->list, &adapter->ip_list);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
3209
netxen_config_ipaddr(adapter, ifa->ifa_address, NX_IP_UP);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
321
NXWR32(adapter, NETXEN_CAM_RAM(0x1fc), 0);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
3214
&adapter->ip_list, list) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
3218
netxen_config_ipaddr(adapter, ifa->ifa_address,
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
3230
netxen_config_indev_addr(struct netxen_adapter *adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
3236
if (!netxen_destip_supported(adapter))
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
3247
netxen_list_config_ip(adapter, ifa, NX_IP_UP);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
3250
netxen_list_config_ip(adapter, ifa, NX_IP_DOWN);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
326
val = NXRD32(adapter, NETXEN_ROMUSB_GLB_PEGTUNE_DONE);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
3264
struct netxen_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
3269
netxen_config_indev_addr(adapter, netdev, event);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
327
NXWR32(adapter, NETXEN_ROMUSB_GLB_PEGTUNE_DONE, val | 0x1);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
3271
list_for_each_entry_safe(pos, tmp_pos, &adapter->ip_list, list) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
3272
netxen_config_ipaddr(adapter, pos->ip_addr, ip_event);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
3279
struct netxen_adapter *adapter;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
3283
adapter = netdev_priv(dev);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
3284
if (!adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
3286
if (!netxen_destip_supported(adapter))
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
3288
if (adapter->is_up != NETXEN_ADAPTER_UP_MAGIC)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
3302
struct netxen_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
331
val = NXRD32(adapter, NETXEN_CAM_RAM(0x1fc));
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
3314
netxen_config_indev_addr(adapter, master, event);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
3318
netxen_config_indev_addr(adapter, slave, event);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
3327
netxen_free_ip_list(adapter, true);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
3333
struct netxen_adapter *adapter;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
3353
adapter = netdev_priv(slave);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
3354
netxen_config_indev_addr(adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
3361
adapter = netdev_priv(dev);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
3365
netxen_config_indev_addr(adapter, orig_dev, event);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
3376
struct netxen_adapter *adapter;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
3398
adapter = netdev_priv(slave);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
3399
netxen_list_config_ip(adapter, ifa, ip_event);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
3405
adapter = netdev_priv(dev);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
3406
netxen_list_config_ip(adapter, ifa, ip_event);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
341
static void netxen_set_port_mode(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
3425
netxen_free_ip_list(struct netxen_adapter *adapter, bool master)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
345
val = adapter->ahw.board_type;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
350
NXWR32(adapter, NETXEN_PORT_MODE_ADDR, data);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
353
NXWR32(adapter, NETXEN_PORT_MODE_ADDR, data);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
356
NXWR32(adapter, NETXEN_PORT_MODE_ADDR, data);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
359
NXWR32(adapter, NETXEN_PORT_MODE_ADDR, data);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
362
NXWR32(adapter, NETXEN_PORT_MODE_ADDR, data);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
371
NXWR32(adapter, NETXEN_WOL_PORT_MODE, wol_port_mode);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
377
static void netxen_pcie_strap_init(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
386
pdev = adapter->pdev;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
388
chicken = NXRD32(adapter, NETXEN_PCIE_REG(PCIE_CHICKEN3));
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
402
dev_info(&adapter->pdev->dev, "Gen2 strapping detected\n");
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
407
dev_info(&adapter->pdev->dev, "Gen1 strapping detected\n");
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
408
if (adapter->ahw.revision_id == NX_P3_B0)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
414
NXWR32(adapter, NETXEN_PCIE_REG(PCIE_CHICKEN3), chicken);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
446
static void netxen_init_msix_entries(struct netxen_adapter *adapter, int count)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
451
adapter->msix_entries[i].entry = i;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
455
netxen_read_mac_addr(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
460
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
461
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
464
if (NX_IS_REVISION_P3(adapter->ahw.revision_id)) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
465
if (netxen_p3_get_mac_addr(adapter, &mac_addr) != 0)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
468
if (netxen_get_flash_mac_addr(adapter, &mac_addr) != 0)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
477
memcpy(adapter->mac_addr, netdev->dev_addr, netdev->addr_len);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
489
struct netxen_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
497
netxen_napi_disable(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
500
memcpy(adapter->mac_addr, addr->sa_data, netdev->addr_len);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
502
adapter->macaddr_set(adapter, addr->sa_data);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
506
netxen_napi_enable(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
513
struct netxen_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
515
adapter->set_multi(dev);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
533
struct netxen_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
54
static void netxen_schedule_work(struct netxen_adapter *adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
542
if (netxen_config_hw_lro(adapter, hw_lro))
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
545
if (!(features & NETIF_F_LRO) && netxen_send_lro_cleanup(adapter))
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
56
static void netxen_cancel_fw_work(struct netxen_adapter *adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
565
static inline void netxen_set_interrupt_mode(struct netxen_adapter *adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
568
NXWR32(adapter, NETXEN_INTR_MODE_REG, mode);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
571
static inline u32 netxen_get_interrupt_mode(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
573
return NXRD32(adapter, NETXEN_INTR_MODE_REG);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
577
netxen_initialize_interrupt_registers(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
582
if (adapter->ahw.revision_id >= NX_P3_B0)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
583
legacy_intrp = &legacy_intr[adapter->ahw.pci_func];
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
59
static void netxen_create_sysfs_entries(struct netxen_adapter *adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
590
adapter->int_vec_bit = legacy_intrp->int_vec_bit;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
591
adapter->tgt_status_reg = netxen_get_ioaddr(adapter, tgt_status_reg);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
592
adapter->tgt_mask_reg = netxen_get_ioaddr(adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
594
adapter->pci_int_reg = netxen_get_ioaddr(adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
596
adapter->isr_int_vec = netxen_get_ioaddr(adapter, ISR_INT_VECTOR);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
598
if (adapter->ahw.revision_id >= NX_P3_B1)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
599
adapter->crb_int_state_reg = netxen_get_ioaddr(adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
60
static void netxen_remove_sysfs_entries(struct netxen_adapter *adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
602
adapter->crb_int_state_reg = netxen_get_ioaddr(adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
606
static int netxen_setup_msi_interrupts(struct netxen_adapter *adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
609
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
61
static void netxen_create_diag_entries(struct netxen_adapter *adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
613
if (adapter->msix_supported) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
614
netxen_init_msix_entries(adapter, num_msix);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
615
err = pci_enable_msix_range(pdev, adapter->msix_entries,
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
618
adapter->flags |= NETXEN_NIC_MSIX_ENABLED;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
62
static void netxen_remove_diag_entries(struct netxen_adapter *adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
621
if (adapter->rss_supported)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
622
adapter->max_sds_rings = num_msix;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
63
static int nx_dev_request_aer(struct netxen_adapter *adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
631
value = msi_tgt_status[adapter->ahw.pci_func];
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
632
adapter->flags |= NETXEN_NIC_MSI_ENABLED;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
633
adapter->tgt_status_reg = netxen_get_ioaddr(adapter, value);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
634
adapter->msix_entries[0].vector = pdev->irq;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
64
static int nx_decr_dev_ref_cnt(struct netxen_adapter *adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
643
static int netxen_setup_intr(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
645
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
648
if (adapter->rss_supported)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
65
static int netxen_can_start_firmware(struct netxen_adapter *adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
654
adapter->max_sds_rings = 1;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
655
adapter->flags &= ~(NETXEN_NIC_MSI_ENABLED | NETXEN_NIC_MSIX_ENABLED);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
657
netxen_initialize_interrupt_registers(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
660
if (adapter->portnum == 0) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
661
if (!netxen_setup_msi_interrupts(adapter, num_msix))
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
662
netxen_set_interrupt_mode(adapter, NETXEN_MSI_MODE);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
664
netxen_set_interrupt_mode(adapter, NETXEN_INTX_MODE);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
666
if (netxen_get_interrupt_mode(adapter) == NETXEN_MSI_MODE &&
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
667
netxen_setup_msi_interrupts(adapter, num_msix)) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
673
if (!NETXEN_IS_MSI_FAMILY(adapter)) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
674
adapter->msix_entries[0].vector = pdev->irq;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
681
netxen_teardown_intr(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
683
if (adapter->flags & NETXEN_NIC_MSIX_ENABLED)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
684
pci_disable_msix(adapter->pdev);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
685
if (adapter->flags & NETXEN_NIC_MSI_ENABLED)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
686
pci_disable_msi(adapter->pdev);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
690
netxen_cleanup_pci_map(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
692
if (adapter->ahw.db_base != NULL)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
693
iounmap(adapter->ahw.db_base);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
694
if (adapter->ahw.pci_base0 != NULL)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
695
iounmap(adapter->ahw.pci_base0);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
696
if (adapter->ahw.pci_base1 != NULL)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
697
iounmap(adapter->ahw.pci_base1);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
698
if (adapter->ahw.pci_base2 != NULL)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
699
iounmap(adapter->ahw.pci_base2);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
703
netxen_setup_pci_map(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
710
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
711
int pci_func = adapter->ahw.pci_func;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
712
struct netxen_hardware_context *ahw = &adapter->ahw;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
720
adapter->ahw.crb_win = -1;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
721
adapter->ahw.ocm_win = -1;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
767
netxen_setup_hwops(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
771
if (NX_IS_REVISION_P3P(adapter->ahw.revision_id)) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
772
adapter->ahw.ocm_win_crb = netxen_get_ioaddr(adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
775
} else if (NX_IS_REVISION_P3(adapter->ahw.revision_id)) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
776
adapter->ahw.ocm_win_crb = netxen_get_ioaddr(adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
780
if (NX_IS_REVISION_P3(adapter->ahw.revision_id))
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
802
adapter->ahw.db_base = db_ptr;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
803
adapter->ahw.db_len = db_len;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
807
netxen_cleanup_pci_map(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
812
netxen_check_options(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
819
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
821
adapter->driver_mismatch = 0;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
826
err = netxen_rom_fast_read(adapter, offset, &val);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
829
adapter->driver_mismatch = 1;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
836
fw_major = NXRD32(adapter, NETXEN_FW_VERSION_MAJOR);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
837
fw_minor = NXRD32(adapter, NETXEN_FW_VERSION_MINOR);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
838
fw_build = NXRD32(adapter, NETXEN_FW_VERSION_SUB);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
839
prev_fw_version = adapter->fw_version;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
840
adapter->fw_version = NETXEN_VERSION_CODE(fw_major, fw_minor, fw_build);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
843
if (NX_IS_REVISION_P3(adapter->ahw.revision_id)) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
844
if (adapter->mdump.md_template == NULL ||
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
845
adapter->fw_version > prev_fw_version) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
846
kfree(adapter->mdump.md_template);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
847
adapter->mdump.md_template = NULL;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
848
err = netxen_setup_minidump(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
850
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
855
if (adapter->portnum == 0) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
856
if (netxen_nic_get_brd_name_by_type(adapter->ahw.board_type,
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
862
brd_name, serial_num, adapter->ahw.revision_id);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
865
if (adapter->fw_version < NETXEN_VERSION_CODE(3, 4, 216)) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
866
adapter->driver_mismatch = 1;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
872
if (NX_IS_REVISION_P3(adapter->ahw.revision_id)) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
873
i = NXRD32(adapter, NETXEN_SRE_MISC);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
874
adapter->ahw.cut_through = (i & 0x8000) ? 1 : 0;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
879
adapter->ahw.cut_through ? "cut-through" : "legacy");
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
881
if (adapter->fw_version >= NETXEN_VERSION_CODE(4, 0, 222))
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
882
adapter->capabilities = NXRD32(adapter, CRB_FW_CAPABILITIES_1);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
884
if (adapter->ahw.port_type == NETXEN_NIC_XGBE) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
885
adapter->num_rxd = DEFAULT_RCV_DESCRIPTORS_10G;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
886
adapter->num_jumbo_rxd = MAX_JUMBO_RCV_DESCRIPTORS_10G;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
887
} else if (adapter->ahw.port_type == NETXEN_NIC_GBE) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
888
adapter->num_rxd = DEFAULT_RCV_DESCRIPTORS_1G;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
889
adapter->num_jumbo_rxd = MAX_JUMBO_RCV_DESCRIPTORS_1G;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
892
adapter->msix_supported = 0;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
893
if (NX_IS_REVISION_P3(adapter->ahw.revision_id)) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
894
adapter->msix_supported = !!use_msi_x;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
895
adapter->rss_supported = !!use_msi_x;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
898
netxen_rom_fast_read(adapter,
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
903
switch (adapter->ahw.board_type) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
906
adapter->msix_supported = !!use_msi_x;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
907
adapter->rss_supported = !!use_msi_x;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
915
adapter->num_txd = MAX_CMD_DESCRIPTORS;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
917
if (NX_IS_REVISION_P2(adapter->ahw.revision_id)) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
918
adapter->num_lro_rxd = MAX_LRO_RCV_DESCRIPTORS;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
919
adapter->max_rds_rings = 3;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
921
adapter->num_lro_rxd = 0;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
922
adapter->max_rds_rings = 2;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
927
netxen_start_firmware(struct netxen_adapter *adapter)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
930
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
933
err = nx_set_dma_mask(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
937
err = netxen_can_start_firmware(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
945
first_boot = NXRD32(adapter, NETXEN_CAM_RAM(0x1fc));
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
947
err = netxen_check_hw_init(adapter, first_boot);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
953
netxen_request_firmware(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
955
err = netxen_need_fw_reset(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
962
NXWR32(adapter, CRB_CMDPEG_STATE, 0);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
963
netxen_pinit_from_rom(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
967
NXWR32(adapter, CRB_DMA_SHIFT, 0x55555555);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
968
NXWR32(adapter, NETXEN_PEG_HALT_STATUS1, 0);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
969
NXWR32(adapter, NETXEN_PEG_HALT_STATUS2, 0);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
971
if (NX_IS_REVISION_P3(adapter->ahw.revision_id))
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
972
netxen_set_port_mode(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
974
err = netxen_load_firmware(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
978
netxen_release_firmware(adapter);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
980
if (NX_IS_REVISION_P2(adapter->ahw.revision_id)) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
984
if (adapter->ahw.port_type == NETXEN_NIC_XGBE)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
986
NXWR32(adapter, NETXEN_MAC_ADDR_CNTL_REG, val);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
990
err = netxen_init_dummy_dma(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1028
#define QLCNIC_IS_MSI_FAMILY(adapter) \
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1029
((adapter)->flags & (QLCNIC_MSI_ENABLED | QLCNIC_MSIX_ENABLED))
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1030
#define QLCNIC_IS_TSO_CAPABLE(adapter) \
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1031
((adapter)->ahw->capabilities & QLCNIC_FW_CAPABILITY_TSO)
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1087
struct qlcnic_adapter *adapter;
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1536
int qlcnic_fw_cmd_get_minidump_temp(struct qlcnic_adapter *adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1537
int qlcnic_fw_cmd_set_port(struct qlcnic_adapter *adapter, u32 config);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1544
#define QLCRD32(adapter, off, err) \
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1545
(adapter->ahw->hw_ops->read_reg)(adapter, off, err)
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1547
#define QLCWR32(adapter, off, val) \
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1548
adapter->ahw->hw_ops->write_reg(adapter, off, val)
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1575
void qlcnic_prune_lb_filters(struct qlcnic_adapter *adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1576
void qlcnic_delete_lb_filters(struct qlcnic_adapter *adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1583
int qlcnic_load_firmware(struct qlcnic_adapter *adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1584
int qlcnic_need_fw_reset(struct qlcnic_adapter *adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1585
void qlcnic_request_firmware(struct qlcnic_adapter *adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1586
void qlcnic_release_firmware(struct qlcnic_adapter *adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1587
int qlcnic_pinit_from_rom(struct qlcnic_adapter *adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1588
int qlcnic_setup_idc_param(struct qlcnic_adapter *adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1589
int qlcnic_check_flash_fw_ver(struct qlcnic_adapter *adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1591
int qlcnic_rom_fast_read(struct qlcnic_adapter *adapter, u32 addr, u32 *valp);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1592
int qlcnic_rom_fast_read_words(struct qlcnic_adapter *adapter, int addr,
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1594
int qlcnic_alloc_sw_resources(struct qlcnic_adapter *adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1595
void qlcnic_free_sw_resources(struct qlcnic_adapter *adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1599
int qlcnic_alloc_hw_resources(struct qlcnic_adapter *adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1600
void qlcnic_free_hw_resources(struct qlcnic_adapter *adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1602
int qlcnic_fw_create_ctx(struct qlcnic_adapter *adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1603
void qlcnic_fw_destroy_ctx(struct qlcnic_adapter *adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1605
void qlcnic_reset_rx_buffers_list(struct qlcnic_adapter *adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1606
void qlcnic_release_rx_buffers(struct qlcnic_adapter *adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1610
int qlcnic_check_fw_status(struct qlcnic_adapter *adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1611
void qlcnic_post_rx_buffers(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1618
void qlcnic_82xx_free_mac_list(struct qlcnic_adapter *adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1621
int qlcnic_fw_cmd_set_mtu(struct qlcnic_adapter *adapter, int mtu);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1627
int qlcnic_config_bridged_mode(struct qlcnic_adapter *adapter, u32 enable);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1643
void qlcnic_alloc_lb_filters_mem(struct qlcnic_adapter *adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1658
int qlcnic_clear_esw_stats(struct qlcnic_adapter *adapter, u8, u8, u8);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1670
void qlcnic_create_sysfs_entries(struct qlcnic_adapter *adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1671
void qlcnic_remove_sysfs_entries(struct qlcnic_adapter *adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1672
void qlcnic_82xx_add_sysfs(struct qlcnic_adapter *adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1673
void qlcnic_82xx_remove_sysfs(struct qlcnic_adapter *adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1696
int qlcnic_set_vxlan_port(struct qlcnic_adapter *adapter, u16 port);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1697
int qlcnic_set_vxlan_parsing(struct qlcnic_adapter *adapter, u16 port);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1698
int qlcnic_83xx_configure_opmode(struct qlcnic_adapter *adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1798
void (*change_l2_filter)(struct qlcnic_adapter *adapter, u64 *addr,
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1823
bool (*encap_rx_offload) (struct qlcnic_adapter *adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1824
bool (*encap_tx_offload) (struct qlcnic_adapter *adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1829
static inline bool qlcnic_83xx_encap_tx_offload(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1831
return adapter->ahw->extra_capability[0] &
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1835
static inline bool qlcnic_83xx_encap_rx_offload(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1837
return adapter->ahw->extra_capability[0] &
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1841
static inline bool qlcnic_82xx_encap_tx_offload(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1846
static inline bool qlcnic_82xx_encap_rx_offload(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1851
static inline bool qlcnic_encap_rx_offload(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1853
return adapter->ahw->hw_ops->encap_rx_offload(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1856
static inline bool qlcnic_encap_tx_offload(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1858
return adapter->ahw->hw_ops->encap_tx_offload(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1861
static inline int qlcnic_start_firmware(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1863
return adapter->nic_ops->start_firmware(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1866
static inline void qlcnic_read_crb(struct qlcnic_adapter *adapter, char *buf,
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1869
adapter->ahw->hw_ops->read_crb(adapter, buf, offset, size);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1872
static inline void qlcnic_write_crb(struct qlcnic_adapter *adapter, char *buf,
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1875
adapter->ahw->hw_ops->write_crb(adapter, buf, offset, size);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1878
static inline int qlcnic_get_mac_address(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1881
return adapter->ahw->hw_ops->get_mac_address(adapter, mac, function);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1884
static inline int qlcnic_setup_intr(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1886
return adapter->ahw->hw_ops->setup_intr(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1890
struct qlcnic_adapter *adapter, u32 arg)
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1892
return adapter->ahw->hw_ops->alloc_mbx_args(mbx, adapter, arg);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1895
static inline int qlcnic_issue_cmd(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1898
if (adapter->ahw->hw_ops->mbx_cmd)
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1899
return adapter->ahw->hw_ops->mbx_cmd(adapter, cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1904
static inline void qlcnic_get_func_no(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1906
adapter->ahw->hw_ops->get_func_no(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1909
static inline int qlcnic_api_lock(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1911
return adapter->ahw->hw_ops->api_lock(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1914
static inline void qlcnic_api_unlock(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1916
adapter->ahw->hw_ops->api_unlock(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1919
static inline void qlcnic_add_sysfs(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1921
if (adapter->ahw->hw_ops->add_sysfs)
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1922
adapter->ahw->hw_ops->add_sysfs(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1925
static inline void qlcnic_remove_sysfs(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1927
if (adapter->ahw->hw_ops->remove_sysfs)
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1928
adapter->ahw->hw_ops->remove_sysfs(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1934
sds_ring->adapter->ahw->hw_ops->process_lb_rcv_ring_diag(sds_ring);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1937
static inline int qlcnic_fw_cmd_create_rx_ctx(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1939
return adapter->ahw->hw_ops->create_rx_ctx(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1942
static inline int qlcnic_fw_cmd_create_tx_ctx(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1946
return adapter->ahw->hw_ops->create_tx_ctx(adapter, ptr, ring);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1949
static inline void qlcnic_fw_cmd_del_rx_ctx(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1951
return adapter->ahw->hw_ops->del_rx_ctx(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1954
static inline void qlcnic_fw_cmd_del_tx_ctx(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1957
return adapter->ahw->hw_ops->del_tx_ctx(adapter, ptr);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1960
static inline int qlcnic_linkevent_request(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1963
return adapter->ahw->hw_ops->setup_link_event(adapter, enable);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1966
static inline int qlcnic_get_nic_info(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1969
return adapter->ahw->hw_ops->get_nic_info(adapter, info, id);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1972
static inline int qlcnic_get_pci_info(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1975
return adapter->ahw->hw_ops->get_pci_info(adapter, info);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1978
static inline int qlcnic_set_nic_info(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1981
return adapter->ahw->hw_ops->set_nic_info(adapter, info);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1984
static inline int qlcnic_sre_macaddr_change(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1987
return adapter->ahw->hw_ops->change_macvlan(adapter, addr, id, cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1990
static inline int qlcnic_napi_add(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1993
return adapter->nic_ops->napi_add(adapter, netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1996
static inline void qlcnic_napi_del(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
1998
adapter->nic_ops->napi_del(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2001
static inline void qlcnic_napi_enable(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2003
adapter->ahw->hw_ops->napi_enable(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2008
struct qlcnic_adapter *adapter = pci_get_drvdata(pdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2010
return adapter->nic_ops->shutdown(pdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2013
static inline int __qlcnic_resume(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2015
return adapter->nic_ops->resume(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2018
static inline void qlcnic_napi_disable(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2020
adapter->ahw->hw_ops->napi_disable(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2023
static inline int qlcnic_config_intr_coalesce(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2026
return adapter->ahw->hw_ops->config_intr_coal(adapter, ethcoal);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2029
static inline int qlcnic_config_rss(struct qlcnic_adapter *adapter, int enable)
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2031
return adapter->ahw->hw_ops->config_rss(adapter, enable);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2034
static inline int qlcnic_config_hw_lro(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2037
return adapter->ahw->hw_ops->config_hw_lro(adapter, enable);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2040
static inline int qlcnic_set_lb_mode(struct qlcnic_adapter *adapter, u8 mode)
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2042
return adapter->ahw->hw_ops->config_loopback(adapter, mode);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2045
static inline int qlcnic_clear_lb_mode(struct qlcnic_adapter *adapter, u8 mode)
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2047
return adapter->ahw->hw_ops->clear_loopback(adapter, mode);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2050
static inline int qlcnic_nic_set_promisc(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2053
return adapter->ahw->hw_ops->config_promisc_mode(adapter, mode);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2056
static inline void qlcnic_change_filter(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2060
adapter->ahw->hw_ops->change_l2_filter(adapter, addr, vlan, tx_ring);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2063
static inline int qlcnic_get_board_info(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2065
return adapter->ahw->hw_ops->get_board_info(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2068
static inline void qlcnic_free_mac_list(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2070
return adapter->ahw->hw_ops->free_mac_list(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2073
static inline void qlcnic_set_mac_filter_count(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2075
if (adapter->ahw->hw_ops->set_mac_filter_count)
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2076
adapter->ahw->hw_ops->set_mac_filter_count(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2079
static inline void qlcnic_get_beacon_state(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2081
adapter->ahw->hw_ops->get_beacon_state(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2084
static inline void qlcnic_read_phys_port_id(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2086
if (adapter->ahw->hw_ops->read_phys_port_id)
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2087
adapter->ahw->hw_ops->read_phys_port_id(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2090
static inline u32 qlcnic_get_saved_state(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2093
return adapter->ahw->hw_ops->get_saved_state(t_hdr, index);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2096
static inline void qlcnic_set_saved_state(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2099
adapter->ahw->hw_ops->set_saved_state(t_hdr, index, value);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2102
static inline void qlcnic_cache_tmpl_hdr_values(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2105
adapter->ahw->hw_ops->cache_tmpl_hdr_values(fw_dump);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2108
static inline u32 qlcnic_get_cap_size(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2111
return adapter->ahw->hw_ops->get_cap_size(tmpl_hdr, index);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2114
static inline void qlcnic_set_sys_info(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2117
adapter->ahw->hw_ops->set_sys_info(tmpl_hdr, idx, value);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2120
static inline void qlcnic_store_cap_mask(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2123
adapter->ahw->hw_ops->store_cap_mask(tmpl_hdr, mask);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2126
static inline void qlcnic_dev_request_reset(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2129
if (adapter->nic_ops->request_reset)
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2130
adapter->nic_ops->request_reset(adapter, key);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2133
static inline void qlcnic_cancel_idc_work(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2135
if (adapter->nic_ops->cancel_idc_work)
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2136
adapter->nic_ops->cancel_idc_work(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2140
qlcnic_clear_legacy_intr(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2142
return adapter->nic_ops->clear_legacy_intr(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2145
static inline int qlcnic_config_led(struct qlcnic_adapter *adapter, u32 state,
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2148
return adapter->nic_ops->config_led(adapter, state, rate);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2151
static inline void qlcnic_config_ipaddr(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2154
adapter->nic_ops->config_ipaddr(adapter, ip, cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2157
static inline bool qlcnic_check_multi_tx(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2159
return test_bit(__QLCNIC_MULTI_TX_UNIQUE, &adapter->state);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2163
qlcnic_82xx_enable_tx_intr(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2166
if (qlcnic_check_multi_tx(adapter) &&
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2167
!adapter->ahw->diag_test)
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2172
qlcnic_82xx_disable_tx_intr(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2175
if (qlcnic_check_multi_tx(adapter) &&
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2176
!adapter->ahw->diag_test)
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2181
qlcnic_83xx_enable_tx_intr(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2188
qlcnic_83xx_disable_tx_intr(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2196
qlcnic_83xx_enable_sds_intr(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2204
qlcnic_83xx_disable_sds_intr(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2210
static inline void qlcnic_disable_multi_tx(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2212
test_and_clear_bit(__QLCNIC_MULTI_TX_UNIQUE, &adapter->state);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2213
adapter->drv_tx_rings = QLCNIC_SINGLE_RING;
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2220
qlcnic_82xx_disable_sds_intr(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2223
if (qlcnic_check_multi_tx(adapter) &&
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2224
!adapter->ahw->diag_test &&
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2225
(adapter->flags & QLCNIC_MSIX_ENABLED))
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2231
static inline void qlcnic_enable_sds_intr(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2234
if (adapter->ahw->hw_ops->enable_sds_intr)
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2235
adapter->ahw->hw_ops->enable_sds_intr(adapter, sds_ring);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2239
qlcnic_disable_sds_intr(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2242
if (adapter->ahw->hw_ops->disable_sds_intr)
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2243
adapter->ahw->hw_ops->disable_sds_intr(adapter, sds_ring);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2246
static inline void qlcnic_enable_tx_intr(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2249
if (adapter->ahw->hw_ops->enable_tx_intr)
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2250
adapter->ahw->hw_ops->enable_tx_intr(adapter, tx_ring);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2253
static inline void qlcnic_disable_tx_intr(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2256
if (adapter->ahw->hw_ops->disable_tx_intr)
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2257
adapter->ahw->hw_ops->disable_tx_intr(adapter, tx_ring);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2264
qlcnic_82xx_enable_sds_intr(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2267
if (qlcnic_check_multi_tx(adapter) &&
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2268
!adapter->ahw->diag_test &&
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2269
(adapter->flags & QLCNIC_MSIX_ENABLED))
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2274
if (!QLCNIC_IS_MSI_FAMILY(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2275
writel(0xfbff, adapter->tgt_mask_reg);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2278
static inline int qlcnic_get_diag_lock(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2280
return test_and_set_bit(__QLCNIC_DIAG_MODE, &adapter->state);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2283
static inline void qlcnic_release_diag_lock(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2285
clear_bit(__QLCNIC_DIAG_MODE, &adapter->state);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2288
static inline int qlcnic_check_diag_status(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2290
return test_bit(__QLCNIC_DIAG_MODE, &adapter->state);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2297
#define QLCDB(adapter, lvl, _fmt, _args...) do { \
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2298
if (NETIF_MSG_##lvl & adapter->ahw->msg_enable) \
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2300
dev_name(&adapter->pdev->dev), \
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2312
static inline bool qlcnic_82xx_check(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2314
unsigned short device = adapter->pdev->device;
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2318
static inline bool qlcnic_84xx_check(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2320
unsigned short device = adapter->pdev->device;
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2326
static inline bool qlcnic_83xx_check(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2328
unsigned short device = adapter->pdev->device;
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2341
static inline bool qlcnic_sriov_pf_check(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2343
return (adapter->ahw->op_mode == QLCNIC_SRIOV_PF_FUNC) ? true : false;
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2346
static inline bool qlcnic_sriov_vf_check(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2348
unsigned short device = adapter->pdev->device;
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2358
static inline bool qlcnic_83xx_pf_check(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2360
unsigned short device = adapter->pdev->device;
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2365
static inline bool qlcnic_83xx_vf_check(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2367
unsigned short device = adapter->pdev->device;
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2373
static inline bool qlcnic_sriov_check(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2377
status = (qlcnic_sriov_pf_check(adapter) ||
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2378
qlcnic_sriov_vf_check(adapter)) ? true : false;
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2383
static inline u32 qlcnic_get_vnic_func_count(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2385
if (qlcnic_84xx_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2408
static inline void qlcnic_register_hwmon_dev(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
2412
static inline void qlcnic_unregister_hwmon_dev(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
594
struct qlcnic_adapter *adapter;
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
628
struct qlcnic_adapter *adapter;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1001
qlcnic_dcb_aen_handler(adapter->dcb, (void *)&event[1]);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1004
dev_dbg(&adapter->pdev->dev, "Unsupported AEN:0x%x.\n",
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1012
static void qlcnic_83xx_process_aen(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1015
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1024
__qlcnic_83xx_process_aen(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1035
struct qlcnic_adapter *adapter;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1037
adapter = container_of(work, struct qlcnic_adapter, mbx_poll_work.work);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1039
if (!test_bit(__QLCNIC_MBX_POLL_ENABLE, &adapter->state))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1042
qlcnic_83xx_process_aen(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1043
queue_delayed_work(adapter->qlcnic_wq, &adapter->mbx_poll_work,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1047
void qlcnic_83xx_enable_mbx_poll(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1049
if (test_and_set_bit(__QLCNIC_MBX_POLL_ENABLE, &adapter->state))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1052
INIT_DELAYED_WORK(&adapter->mbx_poll_work, qlcnic_83xx_mbx_poll_work);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1053
queue_delayed_work(adapter->qlcnic_wq, &adapter->mbx_poll_work, 0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1056
void qlcnic_83xx_disable_mbx_poll(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1058
if (!test_and_clear_bit(__QLCNIC_MBX_POLL_ENABLE, &adapter->state))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1060
cancel_delayed_work_sync(&adapter->mbx_poll_work);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1063
static int qlcnic_83xx_add_rings(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1073
struct qlcnic_recv_context *recv_ctx = adapter->recv_ctx;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1074
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1078
num_sds = adapter->drv_sds_rings - QLCNIC_MAX_SDS_RINGS;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1079
err = ahw->hw_ops->alloc_mbx_args(&cmd, adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1082
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1091
for (i = 8; i < adapter->drv_sds_rings; i++) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1100
if (adapter->flags & QLCNIC_MSIX_ENABLED)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1105
if (adapter->ahw->diag_test != QLCNIC_LOOPBACK_TEST)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1116
err = ahw->hw_ops->mbx_cmd(adapter, &cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1118
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1126
for (i = 8; i < adapter->drv_sds_rings; i++) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1130
if (adapter->flags & QLCNIC_MSIX_ENABLED)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1143
void qlcnic_83xx_del_rx_ctx(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1148
struct qlcnic_recv_context *recv_ctx = adapter->recv_ctx;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1150
if (qlcnic_alloc_mbx_args(&cmd, adapter, QLCNIC_CMD_DESTROY_RX_CTX))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1153
if (qlcnic_sriov_pf_check(adapter) || qlcnic_sriov_vf_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1156
if (qlcnic_sriov_pf_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1157
qlcnic_pf_set_interface_id_del_rx_ctx(adapter, &temp);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1160
err = qlcnic_issue_cmd(adapter, &cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1162
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1169
int qlcnic_83xx_create_rx_ctx(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1180
struct qlcnic_recv_context *recv_ctx = adapter->recv_ctx;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1181
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1182
num_rds = adapter->max_rds_rings;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1184
if (adapter->drv_sds_rings <= QLCNIC_MAX_SDS_RINGS)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1185
num_sds = adapter->drv_sds_rings;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1193
if (adapter->flags & QLCNIC_FW_LRO_MSS_CAP)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1197
err = qlcnic_alloc_mbx_args(&cmd, adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1202
if (qlcnic_sriov_pf_check(adapter) || qlcnic_sriov_vf_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1209
if (qlcnic_sriov_pf_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1210
qlcnic_pf_set_interface_id_create_rx_ctx(adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1222
if (adapter->flags & QLCNIC_MSIX_ENABLED)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1226
if (adapter->ahw->diag_test != QLCNIC_LOOPBACK_TEST)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1255
err = ahw->hw_ops->mbx_cmd(adapter, &cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1257
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1265
dev_info(&adapter->pdev->dev, "Rx Context[%d] Created, state:0x%x\n",
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1281
if (adapter->flags & QLCNIC_MSIX_ENABLED)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1288
if (adapter->drv_sds_rings > QLCNIC_MAX_SDS_RINGS)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1289
err = qlcnic_83xx_add_rings(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1295
void qlcnic_83xx_del_tx_ctx(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1301
if (qlcnic_alloc_mbx_args(&cmd, adapter, QLCNIC_CMD_DESTROY_TX_CTX))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1304
if (qlcnic_sriov_pf_check(adapter) || qlcnic_sriov_vf_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1307
if (qlcnic_sriov_pf_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1308
qlcnic_pf_set_interface_id_del_tx_ctx(adapter, &temp);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1311
if (qlcnic_issue_cmd(adapter, &cmd))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1312
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1317
int qlcnic_83xx_create_tx_ctx(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1326
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1342
if (adapter->flags & QLCNIC_MSIX_ENABLED) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1343
if (!(adapter->flags & QLCNIC_TX_INTR_SHARED))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1344
msix_vector = adapter->drv_sds_rings + ring;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1346
msix_vector = adapter->drv_sds_rings - 1;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1352
if (adapter->ahw->diag_test != QLCNIC_LOOPBACK_TEST)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1358
err = qlcnic_alloc_mbx_args(&cmd, adapter, QLCNIC_CMD_CREATE_TX_CTX);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1362
if (qlcnic_sriov_pf_check(adapter) || qlcnic_sriov_vf_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1365
if (qlcnic_sriov_pf_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1366
qlcnic_pf_set_interface_id_create_tx_ctx(adapter, &temp);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1374
err = qlcnic_issue_cmd(adapter, &cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1376
netdev_err(adapter->netdev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1383
if ((adapter->flags & QLCNIC_MSIX_ENABLED) &&
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1384
!(adapter->flags & QLCNIC_TX_INTR_SHARED)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1385
intr_mask = ahw->intr_tbl[adapter->drv_sds_rings + ring].src;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1388
netdev_info(adapter->netdev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1399
struct qlcnic_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1402
u16 adapter_state = adapter->is_up;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1409
__qlcnic_down(adapter, netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1411
qlcnic_detach(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1413
adapter->drv_sds_rings = QLCNIC_SINGLE_RING;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1414
adapter->ahw->diag_test = test;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1415
adapter->ahw->linkup = 0;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1417
ret = qlcnic_attach(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1423
ret = qlcnic_fw_create_ctx(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1425
qlcnic_detach(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1427
adapter->drv_sds_rings = num_sds_ring;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1428
qlcnic_attach(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1434
for (ring = 0; ring < adapter->max_rds_rings; ring++) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1435
rds_ring = &adapter->recv_ctx->rds_rings[ring];
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1436
qlcnic_post_rx_buffers(adapter, rds_ring, ring);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1439
if (adapter->ahw->diag_test == QLCNIC_INTERRUPT_TEST) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1440
for (ring = 0; ring < adapter->drv_sds_rings; ring++) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1441
sds_ring = &adapter->recv_ctx->sds_rings[ring];
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1442
qlcnic_enable_sds_intr(adapter, sds_ring);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1446
if (adapter->ahw->diag_test == QLCNIC_LOOPBACK_TEST) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1447
adapter->ahw->loopback_state = 0;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1448
adapter->ahw->hw_ops->setup_link_event(adapter, 1);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1451
set_bit(__QLCNIC_DEV_UP, &adapter->state);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1458
struct qlcnic_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1462
clear_bit(__QLCNIC_DEV_UP, &adapter->state);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1463
if (adapter->ahw->diag_test == QLCNIC_INTERRUPT_TEST) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1464
for (ring = 0; ring < adapter->drv_sds_rings; ring++) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1465
sds_ring = &adapter->recv_ctx->sds_rings[ring];
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1466
if (adapter->flags & QLCNIC_MSIX_ENABLED)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1467
qlcnic_disable_sds_intr(adapter, sds_ring);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1471
qlcnic_fw_destroy_ctx(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1472
qlcnic_detach(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1474
adapter->ahw->diag_test = 0;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1475
adapter->drv_sds_rings = drv_sds_rings;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1477
if (qlcnic_attach(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1481
__qlcnic_up(adapter, netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1487
static void qlcnic_83xx_get_beacon_state(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1489
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1494
err = qlcnic_alloc_mbx_args(&cmd, adapter, QLCNIC_CMD_GET_LED_CONFIG);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1496
err = qlcnic_issue_cmd(adapter, &cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1505
netdev_err(adapter->netdev, "Get beacon state failed, err=%d\n",
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1514
int qlcnic_83xx_config_led(struct qlcnic_adapter *adapter, u32 state,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1523
status = qlcnic_alloc_mbx_args(&cmd, adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1528
status = qlcnic_issue_cmd(adapter, &cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1530
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1535
adapter->ahw->mbox_reg[i] = cmd.rsp.arg[i+1];
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1541
status = qlcnic_alloc_mbx_args(&cmd, adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1551
status = qlcnic_issue_cmd(adapter, &cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1553
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1562
status = qlcnic_alloc_mbx_args(&cmd, adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1567
cmd.req.arg[1] = adapter->ahw->mbox_reg[0];
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1568
cmd.req.arg[2] = adapter->ahw->mbox_reg[1];
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1569
cmd.req.arg[3] = adapter->ahw->mbox_reg[2];
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1571
cmd.req.arg[4] = adapter->ahw->mbox_reg[3];
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1572
status = qlcnic_issue_cmd(adapter, &cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1574
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1584
struct qlcnic_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1587
if (adapter->ahw->op_mode == QLCNIC_NON_PRIV_FUNC) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1595
if (test_and_set_bit(__QLCNIC_LED_ENABLE, &adapter->state))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1598
if (test_bit(__QLCNIC_RESETTING, &adapter->state))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1601
err = qlcnic_83xx_config_led(adapter, active, 0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1608
if (test_bit(__QLCNIC_RESETTING, &adapter->state))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1611
err = qlcnic_83xx_config_led(adapter, active, 0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1621
clear_bit(__QLCNIC_LED_ENABLE, &adapter->state);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1626
void qlcnic_83xx_initialize_nic(struct qlcnic_adapter *adapter, int enable)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1631
if (qlcnic_sriov_vf_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1635
status = qlcnic_alloc_mbx_args(&cmd, adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1638
status = qlcnic_alloc_mbx_args(&cmd, adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1646
if (adapter->dcb)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1649
status = qlcnic_issue_cmd(adapter, &cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1651
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1658
static int qlcnic_83xx_set_port_config(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1663
err = qlcnic_alloc_mbx_args(&cmd, adapter, QLCNIC_CMD_SET_PORT_CONFIG);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1667
cmd.req.arg[1] = adapter->ahw->port_config;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1668
err = qlcnic_issue_cmd(adapter, &cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1670
dev_info(&adapter->pdev->dev, "Set Port Config failed.\n");
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1675
static int qlcnic_83xx_get_port_config(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1680
err = qlcnic_alloc_mbx_args(&cmd, adapter, QLCNIC_CMD_GET_PORT_CONFIG);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1684
err = qlcnic_issue_cmd(adapter, &cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1686
dev_info(&adapter->pdev->dev, "Get Port config failed\n");
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1688
adapter->ahw->port_config = cmd.rsp.arg[1];
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1693
int qlcnic_83xx_setup_link_event(struct qlcnic_adapter *adapter, int enable)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1699
err = qlcnic_alloc_mbx_args(&cmd, adapter, QLCNIC_CMD_GET_LINK_EVENT);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1703
temp = adapter->recv_ctx->context_id << 16;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1705
err = qlcnic_issue_cmd(adapter, &cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1707
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1713
static void qlcnic_83xx_set_interface_id_promisc(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1716
if (qlcnic_sriov_pf_check(adapter)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1717
qlcnic_alloc_lb_filters_mem(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1718
qlcnic_pf_set_interface_id_promisc(adapter, interface_id);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1719
adapter->rx_mac_learn = true;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1721
if (!qlcnic_sriov_vf_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1722
*interface_id = adapter->recv_ctx->context_id << 16;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1726
int qlcnic_83xx_nic_set_promisc(struct qlcnic_adapter *adapter, u32 mode)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1732
if (adapter->recv_ctx->state == QLCNIC_HOST_CTX_STATE_FREED)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1739
err = qlcnic_alloc_mbx_args(cmd, adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1745
qlcnic_83xx_set_interface_id_promisc(adapter, &temp);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1747
if (qlcnic_84xx_check(adapter) && qlcnic_sriov_pf_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1751
err = qlcnic_issue_cmd(adapter, cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1764
struct qlcnic_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1765
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1766
u8 drv_sds_rings = adapter->drv_sds_rings;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1767
u8 drv_tx_rings = adapter->drv_tx_rings;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1776
if (test_bit(__QLCNIC_RESETTING, &adapter->state)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1781
if (qlcnic_get_diag_lock(adapter)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1794
ret = qlcnic_83xx_set_lb_mode(adapter, mode);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1802
if (test_bit(__QLCNIC_RESETTING, &adapter->state)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1812
qlcnic_83xx_clear_lb_mode(adapter, mode);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1815
} while ((adapter->ahw->linkup && ahw->has_link_events) != 1);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1817
ret = qlcnic_do_lb_test(adapter, mode);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1819
qlcnic_83xx_clear_lb_mode(adapter, mode);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1825
adapter->drv_sds_rings = drv_sds_rings;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1826
adapter->drv_tx_rings = drv_tx_rings;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1827
qlcnic_release_diag_lock(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1831
static void qlcnic_extend_lb_idc_cmpltn_wait(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1834
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1837
netdev_info(adapter->netdev, "Received loopback IDC time extend event for 0x%x seconds\n",
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1844
static int qlcnic_83xx_set_lb_mode(struct qlcnic_adapter *adapter, u8 mode)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1846
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1847
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1853
status = qlcnic_83xx_get_port_config(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1874
status = qlcnic_83xx_set_port_config(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1888
if (test_bit(__QLCNIC_RESETTING, &adapter->state)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1896
qlcnic_extend_lb_idc_cmpltn_wait(adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1903
qlcnic_83xx_clear_lb_mode(adapter, mode);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1908
qlcnic_sre_macaddr_change(adapter, adapter->mac_addr, 0,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1913
static int qlcnic_83xx_clear_lb_mode(struct qlcnic_adapter *adapter, u8 mode)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1915
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1917
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1928
status = qlcnic_83xx_set_port_config(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1942
if (test_bit(__QLCNIC_RESETTING, &adapter->state)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1950
qlcnic_extend_lb_idc_cmpltn_wait(adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1961
qlcnic_sre_macaddr_change(adapter, adapter->mac_addr, 0,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1966
static void qlcnic_83xx_set_interface_id_ipaddr(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1969
if (qlcnic_sriov_pf_check(adapter)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1970
qlcnic_pf_set_interface_id_ipaddr(adapter, interface_id);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1972
if (!qlcnic_sriov_vf_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1973
*interface_id = adapter->recv_ctx->context_id << 16;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1977
void qlcnic_83xx_config_ipaddr(struct qlcnic_adapter *adapter, __be32 ip,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1984
err = qlcnic_alloc_mbx_args(&cmd, adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
1989
qlcnic_83xx_set_interface_id_ipaddr(adapter, &temp);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2006
err = qlcnic_issue_cmd(adapter, &cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2008
dev_err(&adapter->netdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2015
int qlcnic_83xx_config_hw_lro(struct qlcnic_adapter *adapter, int mode)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2024
if (adapter->recv_ctx->state == QLCNIC_HOST_CTX_STATE_FREED)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2027
err = qlcnic_alloc_mbx_args(&cmd, adapter, QLCNIC_CMD_CONFIGURE_HW_LRO);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2031
temp = adapter->recv_ctx->context_id << 16;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2035
err = qlcnic_issue_cmd(adapter, &cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2037
dev_info(&adapter->pdev->dev, "LRO config failed\n");
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2043
int qlcnic_83xx_config_rss(struct qlcnic_adapter *adapter, int enable)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2054
err = qlcnic_alloc_mbx_args(&cmd, adapter, QLCNIC_CMD_CONFIGURE_RSS);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2070
cmd.req.arg[1] = (adapter->recv_ctx->context_id);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2074
err = qlcnic_issue_cmd(adapter, &cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2077
dev_info(&adapter->pdev->dev, "RSS config failed\n");
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2084
static void qlcnic_83xx_set_interface_id_macaddr(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2087
if (qlcnic_sriov_pf_check(adapter)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2088
qlcnic_pf_set_interface_id_macaddr(adapter, interface_id);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2090
if (!qlcnic_sriov_vf_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2091
*interface_id = adapter->recv_ctx->context_id << 16;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2095
int qlcnic_83xx_sre_macaddr_change(struct qlcnic_adapter *adapter, u8 *addr,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2103
if (adapter->recv_ctx->state == QLCNIC_HOST_CTX_STATE_FREED)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2110
err = qlcnic_alloc_mbx_args(cmd, adapter, QLCNIC_CMD_CONFIG_MAC_VLAN);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2121
qlcnic_83xx_set_interface_id_macaddr(adapter, &temp);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2132
err = qlcnic_issue_cmd(adapter, cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2142
void qlcnic_83xx_change_l2_filter(struct qlcnic_adapter *adapter, u64 *addr,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2148
qlcnic_83xx_sre_macaddr_change(adapter, mac, vlan_id, QLCNIC_MAC_ADD);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2151
static void qlcnic_83xx_configure_mac(struct qlcnic_adapter *adapter, u8 *mac,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2164
int qlcnic_83xx_get_mac_address(struct qlcnic_adapter *adapter, u8 *mac,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2171
err = qlcnic_alloc_mbx_args(&cmd, adapter, QLCNIC_CMD_MAC_ADDRESS);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2175
qlcnic_83xx_configure_mac(adapter, mac, QLCNIC_GET_CURRENT_MAC, &cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2176
err = qlcnic_issue_cmd(adapter, &cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2187
dev_err(&adapter->pdev->dev, "Failed to get mac address%d\n",
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2195
static int qlcnic_83xx_set_rx_intr_coal(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2197
struct qlcnic_nic_intr_coalesce *coal = &adapter->ahw->coal;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2202
err = qlcnic_alloc_mbx_args(&cmd, adapter, QLCNIC_CMD_CONFIG_INTR_COAL);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2206
temp = adapter->recv_ctx->context_id;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2212
err = qlcnic_issue_cmd(adapter, &cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2214
netdev_err(adapter->netdev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2222
static int qlcnic_83xx_set_tx_intr_coal(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2224
struct qlcnic_nic_intr_coalesce *coal = &adapter->ahw->coal;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2229
err = qlcnic_alloc_mbx_args(&cmd, adapter, QLCNIC_CMD_CONFIG_INTR_COAL);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2233
temp = adapter->tx_ring->ctx_id;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2239
err = qlcnic_issue_cmd(adapter, &cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2241
netdev_err(adapter->netdev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2249
int qlcnic_83xx_set_rx_tx_intr_coal(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2253
err = qlcnic_83xx_set_rx_intr_coal(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2255
netdev_err(adapter->netdev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2258
err = qlcnic_83xx_set_tx_intr_coal(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2260
netdev_err(adapter->netdev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2266
int qlcnic_83xx_config_intr_coal(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2269
struct qlcnic_nic_intr_coalesce *coal = &adapter->ahw->coal;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2274
if (adapter->recv_ctx->state == QLCNIC_HOST_CTX_STATE_FREED)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2303
err = qlcnic_83xx_set_rx_intr_coal(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2306
err = qlcnic_83xx_set_tx_intr_coal(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2309
err = qlcnic_83xx_set_rx_tx_intr_coal(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2313
netdev_err(adapter->netdev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2321
static void qlcnic_83xx_handle_link_aen(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2324
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2344
qlcnic_advert_link_change(adapter, link_status);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2350
struct qlcnic_adapter *adapter = data;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2354
mbx = adapter->ahw->mailbox;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2356
resp = QLCRDX(adapter->ahw, QLCNIC_FW_MBX_CTRL);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2360
event = readl(QLCNIC_MBX_FW(adapter->ahw, 0));
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2362
__qlcnic_83xx_process_aen(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2367
adapter->stats.mbx_spurious_intr++;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2371
mask = QLCRDX(adapter->ahw, QLCNIC_DEF_INT_MASK);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2372
writel(0, adapter->ahw->pci_base0 + mask);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2377
int qlcnic_83xx_set_nic_info(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2383
if (adapter->ahw->op_mode != QLCNIC_MGMT_FUNC) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2384
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2390
err = qlcnic_alloc_mbx_args(&cmd, adapter, QLCNIC_CMD_SET_NIC_INFO);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2404
err = qlcnic_issue_cmd(adapter, &cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2407
dev_err(&adapter->pdev->dev, "Failed to set nic info%d\n",
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2417
int qlcnic_83xx_get_nic_info(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2424
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2426
err = qlcnic_alloc_mbx_args(&cmd, adapter, QLCNIC_CMD_GET_NIC_INFO);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2436
err = qlcnic_issue_cmd(adapter, &cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2438
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2470
int qlcnic_get_pci_func_type(struct qlcnic_adapter *adapter, u16 type,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2473
struct device *dev = &adapter->pdev->dev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2495
int qlcnic_83xx_get_pci_info(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2498
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2499
struct device *dev = &adapter->pdev->dev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2505
err = qlcnic_alloc_mbx_args(&cmd, adapter, QLCNIC_CMD_GET_PCI_INFO);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2509
err = qlcnic_issue_cmd(adapter, &cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2523
err = qlcnic_get_pci_func_type(adapter, pci_info->type,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2554
int qlcnic_83xx_config_intrpt(struct qlcnic_adapter *adapter, bool op_type)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2561
max_ints = adapter->ahw->num_msix - 1;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2562
err = qlcnic_alloc_mbx_args(&cmd, adapter, QLCNIC_CMD_CONFIG_INTRPT);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2568
if (qlcnic_sriov_vf_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2569
cmd.req.arg[1] |= (adapter->ahw->pci_func << 8) | BIT_16;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2573
val = type | (adapter->ahw->intr_tbl[i].type << 4);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2574
if (adapter->ahw->intr_tbl[i].type == QLCNIC_INTRPT_MSIX)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2575
val |= (adapter->ahw->intr_tbl[i].id << 16);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2578
err = qlcnic_issue_cmd(adapter, &cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2580
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2589
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2591
adapter->ahw->intr_tbl[i].id);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2595
adapter->ahw->intr_tbl[i].id = MSW(val);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2596
adapter->ahw->intr_tbl[i].enabled = 1;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2598
adapter->ahw->intr_tbl[i].src = temp;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2600
adapter->ahw->intr_tbl[i].id = i;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2601
adapter->ahw->intr_tbl[i].enabled = 0;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2602
adapter->ahw->intr_tbl[i].src = 0;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2610
int qlcnic_83xx_lock_flash(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2616
status = QLC_SHARED_REG_RD32(adapter, QLCNIC_FLASH_LOCK);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2621
id = QLC_SHARED_REG_RD32(adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2623
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2630
QLC_SHARED_REG_WR32(adapter, QLCNIC_FLASH_LOCK_OWNER, adapter->portnum);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2634
void qlcnic_83xx_unlock_flash(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2636
QLC_SHARED_REG_RD32(adapter, QLCNIC_FLASH_UNLOCK);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2637
QLC_SHARED_REG_WR32(adapter, QLCNIC_FLASH_LOCK_OWNER, 0xFF);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2640
int qlcnic_83xx_lockless_flash_read32(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2650
dev_err(&adapter->pdev->dev, "Illegal addr = 0x%x\n", addr);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2654
qlcnic_83xx_wrt_reg_indirect(adapter, QLC_83XX_FLASH_DIRECT_WINDOW,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2664
ret = QLCRD32(adapter, indirect_add, &err);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
267
int qlcnic_83xx_get_fw_version(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2677
qlcnic_83xx_wrt_reg_indirect(adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2687
ret = QLCRD32(adapter, indirect_add, &err);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
270
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2701
static int qlcnic_83xx_poll_flash_status_reg(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2708
status = QLCRD32(adapter, QLC_83XX_FLASH_STATUS, &err);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
272
fw_major = QLC_SHARED_REG_RD32(adapter, QLCNIC_FW_VERSION_MAJOR);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2725
int qlcnic_83xx_enable_flash_write(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2729
cmd = adapter->ahw->fdt.write_statusreg_cmd;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
273
fw_minor = QLC_SHARED_REG_RD32(adapter, QLCNIC_FW_VERSION_MINOR);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2730
qlcnic_83xx_wrt_reg_indirect(adapter, QLC_83XX_FLASH_ADDR,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2732
qlcnic_83xx_wrt_reg_indirect(adapter, QLC_83XX_FLASH_WRDATA,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2733
adapter->ahw->fdt.write_enable_bits);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2734
qlcnic_83xx_wrt_reg_indirect(adapter, QLC_83XX_FLASH_CONTROL,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2736
ret = qlcnic_83xx_poll_flash_status_reg(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
274
fw_build = QLC_SHARED_REG_RD32(adapter, QLCNIC_FW_VERSION_SUB);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2743
int qlcnic_83xx_disable_flash_write(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2747
qlcnic_83xx_wrt_reg_indirect(adapter, QLC_83XX_FLASH_ADDR,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2749
adapter->ahw->fdt.write_statusreg_cmd));
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
275
adapter->fw_version = QLCNIC_VERSION_CODE(fw_major, fw_minor, fw_build);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2750
qlcnic_83xx_wrt_reg_indirect(adapter, QLC_83XX_FLASH_WRDATA,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2751
adapter->ahw->fdt.write_disable_bits);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2752
qlcnic_83xx_wrt_reg_indirect(adapter, QLC_83XX_FLASH_CONTROL,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2754
ret = qlcnic_83xx_poll_flash_status_reg(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2761
int qlcnic_83xx_read_flash_mfg_id(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2766
if (qlcnic_83xx_lock_flash(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2769
qlcnic_83xx_wrt_reg_indirect(adapter, QLC_83XX_FLASH_ADDR,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2771
qlcnic_83xx_wrt_reg_indirect(adapter, QLC_83XX_FLASH_CONTROL,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2773
ret = qlcnic_83xx_poll_flash_status_reg(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2775
qlcnic_83xx_unlock_flash(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2779
mfg_id = QLCRD32(adapter, QLC_83XX_FLASH_RDDATA, &err);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2781
qlcnic_83xx_unlock_flash(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2785
adapter->flash_mfg_id = (mfg_id & 0xFF);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2786
qlcnic_83xx_unlock_flash(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2791
int qlcnic_83xx_read_flash_descriptor_table(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2798
if (qlcnic_83xx_lock_flash(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
280
return adapter->fw_version;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2801
memset(&adapter->ahw->fdt, 0, fdt_size);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2802
ret = qlcnic_83xx_lockless_flash_read32(adapter, QLCNIC_FDT_LOCATION,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2803
(u8 *)&adapter->ahw->fdt,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2805
qlcnic_swap32_buffer((u32 *)&adapter->ahw->fdt, count);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2806
qlcnic_83xx_unlock_flash(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2810
int qlcnic_83xx_erase_flash_sector(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2816
if (qlcnic_83xx_lock_flash(adapter) != 0)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2819
if (adapter->ahw->fdt.mfg_id == adapter->flash_mfg_id) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2820
ret = qlcnic_83xx_enable_flash_write(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2822
qlcnic_83xx_unlock_flash(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2823
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
283
static int __qlcnic_set_win_base(struct qlcnic_adapter *adapter, u32 addr)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2830
ret = qlcnic_83xx_poll_flash_status_reg(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2832
qlcnic_83xx_unlock_flash(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2833
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2842
qlcnic_83xx_wrt_reg_indirect(adapter, QLC_83XX_FLASH_WRDATA,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2844
cmd = QLC_83XX_FLASH_FDT_ERASE_DEF_SIG | adapter->ahw->fdt.erase_cmd;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2845
if (adapter->ahw->fdt.mfg_id == adapter->flash_mfg_id)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2846
qlcnic_83xx_wrt_reg_indirect(adapter, QLC_83XX_FLASH_ADDR, cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2848
qlcnic_83xx_wrt_reg_indirect(adapter, QLC_83XX_FLASH_ADDR,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2850
qlcnic_83xx_wrt_reg_indirect(adapter, QLC_83XX_FLASH_CONTROL,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2853
ret = qlcnic_83xx_poll_flash_status_reg(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2855
qlcnic_83xx_unlock_flash(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2856
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2861
if (adapter->ahw->fdt.mfg_id == adapter->flash_mfg_id) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2862
ret = qlcnic_83xx_disable_flash_write(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2864
qlcnic_83xx_unlock_flash(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2865
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2871
qlcnic_83xx_unlock_flash(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2876
int qlcnic_83xx_flash_write32(struct qlcnic_adapter *adapter, u32 addr,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
288
base = adapter->ahw->pci_base0 +
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2882
qlcnic_83xx_wrt_reg_indirect(adapter, QLC_83XX_FLASH_ADDR, addr1);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2883
qlcnic_83xx_wrt_reg_indirect(adapter, QLC_83XX_FLASH_WRDATA, *p_data);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2884
qlcnic_83xx_wrt_reg_indirect(adapter, QLC_83XX_FLASH_CONTROL,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2886
ret = qlcnic_83xx_poll_flash_status_reg(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2888
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
289
QLC_83XX_CRB_WIN_FUNC(adapter->ahw->pci_func);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2896
int qlcnic_83xx_flash_bulk_write(struct qlcnic_adapter *adapter, u32 addr,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2904
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2909
temp = QLCRD32(adapter, QLC_83XX_FLASH_SPI_CONTROL, &err);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2913
qlcnic_83xx_wrt_reg_indirect(adapter, QLC_83XX_FLASH_SPI_CONTROL,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2915
qlcnic_83xx_wrt_reg_indirect(adapter, QLC_83XX_FLASH_ADDR,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2919
qlcnic_83xx_wrt_reg_indirect(adapter, QLC_83XX_FLASH_WRDATA, *p_data++);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2920
qlcnic_83xx_wrt_reg_indirect(adapter, QLC_83XX_FLASH_CONTROL,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2922
ret = qlcnic_83xx_poll_flash_status_reg(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2924
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2930
qlcnic_83xx_wrt_reg_indirect(adapter, QLC_83XX_FLASH_ADDR,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2934
qlcnic_83xx_wrt_reg_indirect(adapter, QLC_83XX_FLASH_WRDATA,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2936
qlcnic_83xx_wrt_reg_indirect(adapter, QLC_83XX_FLASH_CONTROL,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2938
ret = qlcnic_83xx_poll_flash_status_reg(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2940
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2947
qlcnic_83xx_wrt_reg_indirect(adapter, QLC_83XX_FLASH_ADDR,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2951
qlcnic_83xx_wrt_reg_indirect(adapter, QLC_83XX_FLASH_WRDATA, *p_data++);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2952
qlcnic_83xx_wrt_reg_indirect(adapter, QLC_83XX_FLASH_CONTROL,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2954
ret = qlcnic_83xx_poll_flash_status_reg(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2956
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2961
ret = QLCRD32(adapter, QLC_83XX_FLASH_SPI_STATUS, &err);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2966
dev_err(&adapter->pdev->dev, "%s: failed at %d\n",
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2969
temp = QLCRD32(adapter, QLC_83XX_FLASH_SPI_CONTROL, &err);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2973
qlcnic_83xx_wrt_reg_indirect(adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
298
int qlcnic_83xx_rd_reg_indirect(struct qlcnic_adapter *adapter, ulong addr,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2981
static void qlcnic_83xx_recover_driver_lock(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2985
val = QLCRDX(adapter->ahw, QLC_83XX_RECOVER_DRV_LOCK);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2990
val = val | ((adapter->portnum << 2) |
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2992
QLCWRX(adapter->ahw, QLC_83XX_RECOVER_DRV_LOCK, val);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2993
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2996
val = QLCRDX(adapter->ahw, QLC_83XX_RECOVER_DRV_LOCK);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
2998
if (id == adapter->portnum) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3001
QLCWRX(adapter->ahw, QLC_83XX_RECOVER_DRV_LOCK, val);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3003
QLCRDX(adapter->ahw, QLC_83XX_DRV_UNLOCK);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3006
QLCWRX(adapter->ahw, QLC_83XX_RECOVER_DRV_LOCK, val);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3007
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
301
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3010
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3015
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3021
int qlcnic_83xx_lock_driver(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3027
status = QLCRDX(adapter->ahw, QLC_83XX_DRV_LOCK);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
303
*err = __qlcnic_set_win_base(adapter, (u32) addr);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3035
temp = QLCRDX(adapter->ahw, QLC_83XX_DRV_LOCK_ID);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3038
val = QLCRDX(adapter->ahw, QLC_83XX_DRV_LOCK_ID);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3041
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3044
qlcnic_83xx_recover_driver_lock(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3048
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3056
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3062
val = QLCRDX(adapter->ahw, QLC_83XX_DRV_LOCK_ID);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3065
val = lock_alive_counter << 8 | adapter->portnum;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3066
QLCWRX(adapter->ahw, QLC_83XX_DRV_LOCK_ID, val);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
307
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3071
void qlcnic_83xx_unlock_driver(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3075
val = QLCRDX(adapter->ahw, QLC_83XX_DRV_LOCK_ID);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3079
if (id != adapter->portnum)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3080
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3082
__func__, adapter->portnum, id);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3085
QLCWRX(adapter->ahw, QLC_83XX_DRV_LOCK_ID, val);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3086
QLCRDX(adapter->ahw, QLC_83XX_DRV_UNLOCK);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3089
int qlcnic_ms_mem_write128(struct qlcnic_adapter *adapter, u64 addr,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3099
mutex_lock(&adapter->ahw->mem_lock);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3100
qlcnic_ind_wr(adapter, QLCNIC_MS_ADDR_HI, 0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3107
mutex_unlock(&adapter->ahw->mem_lock);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3111
qlcnic_ind_wr(adapter, QLCNIC_MS_ADDR_LO, addr);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3112
qlcnic_ind_wr(adapter, QLCNIC_MS_WRTDATA_LO, *data++);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3113
qlcnic_ind_wr(adapter, QLCNIC_MS_WRTDATA_HI, *data++);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3114
qlcnic_ind_wr(adapter, QLCNIC_MS_WRTDATA_ULO, *data++);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3115
qlcnic_ind_wr(adapter, QLCNIC_MS_WRTDATA_UHI, *data++);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3116
qlcnic_ind_wr(adapter, QLCNIC_MS_CTRL, QLCNIC_TA_WRITE_ENABLE);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3117
qlcnic_ind_wr(adapter, QLCNIC_MS_CTRL, QLCNIC_TA_WRITE_START);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3120
temp = qlcnic_ind_rd(adapter, QLCNIC_MS_CTRL);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
313
int qlcnic_83xx_wrt_reg_indirect(struct qlcnic_adapter *adapter, ulong addr,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3130
mutex_unlock(&adapter->ahw->mem_lock);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3135
mutex_unlock(&adapter->ahw->mem_lock);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3140
int qlcnic_83xx_flash_read32(struct qlcnic_adapter *adapter, u32 flash_addr,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3147
if (qlcnic_83xx_lock_flash(adapter) != 0)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3151
dev_err(&adapter->pdev->dev, "Illegal addr = 0x%x\n", addr);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3152
qlcnic_83xx_unlock_flash(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3157
if (qlcnic_83xx_wrt_reg_indirect(adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3160
qlcnic_83xx_unlock_flash(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3165
ret = QLCRD32(adapter, indirect_addr, &err);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3167
qlcnic_83xx_unlock_flash(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
317
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3177
qlcnic_83xx_unlock_flash(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3182
void qlcnic_83xx_get_port_type(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3184
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3189
err = qlcnic_alloc_mbx_args(&cmd, adapter, QLCNIC_CMD_GET_LINK_STATUS);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
319
err = __qlcnic_set_win_base(adapter, (u32) addr);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3193
err = qlcnic_issue_cmd(adapter, &cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3195
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3216
int qlcnic_83xx_test_link(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3222
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3224
if (qlcnic_sriov_vf_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3225
pci_func = adapter->portnum;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3231
dev_info(&adapter->pdev->dev, "link state down\n");
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3235
err = qlcnic_alloc_mbx_args(&cmd, adapter, QLCNIC_CMD_GET_LINK_STATUS);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3239
err = qlcnic_issue_cmd(adapter, &cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
324
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3241
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3300
int qlcnic_83xx_get_link_ksettings(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3303
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3308
if (!test_bit(__QLCNIC_MAINTENANCE_MODE, &adapter->state)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
331
static void qlcnic_83xx_enable_legacy(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3310
status = qlcnic_83xx_get_port_info(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3312
config = qlcnic_83xx_test_link(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3319
if (netif_running(adapter->netdev) && ahw->has_link_events) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
333
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
336
adapter->tgt_status_reg = ahw->pci_base0 + QLC_83XX_INTX_PTR;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
337
adapter->tgt_mask_reg = ahw->pci_base0 + QLC_83XX_INTX_MASK;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
338
adapter->isr_int_vec = ahw->pci_base0 + QLC_83XX_INTX_TRGR;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
339
adapter->msix_entries[0].vector = adapter->pdev->irq;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
340
dev_info(&adapter->pdev->dev, "using legacy interrupt\n");
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3401
int qlcnic_83xx_set_link_ksettings(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3404
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3405
u32 config = adapter->ahw->port_config;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3410
netdev_info(adapter->netdev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
343
static int qlcnic_83xx_calculate_msix_vector(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3451
status = qlcnic_83xx_set_port_config(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3453
netdev_info(adapter->netdev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
347
num_msix = adapter->drv_sds_rings;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3474
static u64 *qlcnic_83xx_fill_stats(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3481
err = qlcnic_issue_cmd(adapter, cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3483
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
352
if (!(adapter->flags & QLCNIC_TX_INTR_SHARED))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3524
dev_warn(&adapter->pdev->dev, "Unknown get statistics mode\n");
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
353
num_msix += adapter->drv_tx_rings;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3530
void qlcnic_83xx_get_stats(struct qlcnic_adapter *adapter, u64 *data)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3533
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3536
ret = qlcnic_alloc_mbx_args(&cmd, adapter, QLCNIC_CMD_GET_STATISTICS);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3540
cmd.req.arg[1] = BIT_1 | (adapter->tx_ring->ctx_id << 16);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3542
data = qlcnic_83xx_fill_stats(adapter, &cmd, data,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3549
cmd.req.arg[1] = BIT_2 | (adapter->portnum << 16);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3552
data = qlcnic_83xx_fill_stats(adapter, &cmd, data,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3559
cmd.req.arg[1] = adapter->recv_ctx->context_id << 16;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3562
data = qlcnic_83xx_fill_stats(adapter, &cmd, data,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3573
int qlcnic_83xx_extend_md_capab(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3578
err = qlcnic_alloc_mbx_args(&cmd, adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
358
int qlcnic_83xx_setup_intr(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3587
err = qlcnic_issue_cmd(adapter, &cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3589
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3595
int qlcnic_83xx_reg_test(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3599
major = QLC_SHARED_REG_RD32(adapter, QLCNIC_FW_VERSION_MAJOR);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
360
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3600
minor = QLC_SHARED_REG_RD32(adapter, QLCNIC_FW_VERSION_MINOR);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3601
sub = QLC_SHARED_REG_RD32(adapter, QLCNIC_FW_VERSION_SUB);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3603
if (adapter->fw_version != QLCNIC_VERSION_CODE(major, minor, sub)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3604
dev_info(&adapter->pdev->dev, "%s: Reg test failed\n",
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3611
inline int qlcnic_83xx_get_regs_len(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3614
sizeof(*adapter->ahw->ext_reg_tbl)) +
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3616
sizeof(*adapter->ahw->reg_tbl));
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3619
int qlcnic_83xx_get_registers(struct qlcnic_adapter *adapter, u32 *regs_buff)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3625
regs_buff[i] = QLC_SHARED_REG_RD32(adapter, j);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3628
regs_buff[i++] = QLCRDX(adapter->ahw, j);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
363
if (adapter->flags & QLCNIC_TSS_RSS) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3634
struct qlcnic_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3635
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3637
u8 val, drv_sds_rings = adapter->drv_sds_rings;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3638
u8 drv_tx_rings = adapter->drv_tx_rings;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
364
err = qlcnic_setup_tss_rss_intr(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3643
if (test_bit(__QLCNIC_RESETTING, &adapter->state)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3648
if (qlcnic_get_diag_lock(adapter)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3659
ret = qlcnic_alloc_mbx_args(&cmd, adapter, QLCNIC_CMD_INTRPT_TEST);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3663
if (adapter->flags & QLCNIC_MSIX_ENABLED)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3672
ret = qlcnic_issue_cmd(adapter, &cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3677
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3681
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
369
num_msix = qlcnic_83xx_calculate_msix_vector(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3696
adapter->drv_sds_rings = drv_sds_rings;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3697
adapter->drv_tx_rings = drv_tx_rings;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3698
qlcnic_release_diag_lock(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3702
void qlcnic_83xx_get_pauseparam(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3705
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3709
status = qlcnic_83xx_get_port_config(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
371
err = qlcnic_enable_msix(adapter, num_msix);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3711
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3738
int qlcnic_83xx_set_pauseparam(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3741
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3745
status = qlcnic_83xx_get_port_config(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3747
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
375
if (adapter->flags & QLCNIC_MSIX_ENABLED) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3777
status = qlcnic_83xx_set_port_config(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3779
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
378
if (qlcnic_sriov_vf_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3786
static int qlcnic_83xx_read_flash_status_reg(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3791
qlcnic_83xx_wrt_reg_indirect(adapter, QLC_83XX_FLASH_ADDR,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3793
qlcnic_83xx_wrt_reg_indirect(adapter, QLC_83XX_FLASH_CONTROL,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3795
ret = qlcnic_83xx_poll_flash_status_reg(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3799
temp = QLCRD32(adapter, QLC_83XX_FLASH_RDDATA, &err);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3806
int qlcnic_83xx_flash_test(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
381
adapter->drv_sds_rings = QLCNIC_SINGLE_RING;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3810
status = qlcnic_83xx_read_flash_status_reg(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3812
dev_info(&adapter->pdev->dev, "%s: EEPROM test failed.\n",
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
382
adapter->drv_tx_rings = QLCNIC_SINGLE_RING;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3821
struct qlcnic_adapter *adapter = pci_get_drvdata(pdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3822
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3825
qlcnic_cancel_idc_work(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3828
qlcnic_down(adapter, netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3830
qlcnic_83xx_disable_mbx_intr(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3831
cancel_delayed_work_sync(&adapter->idc_aen_work);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3836
static int qlcnic_83xx_resume(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3838
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3842
err = qlcnic_83xx_idc_init(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3848
qlcnic_83xx_set_vnic_opmode(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3850
err = qlcnic_83xx_check_vnic_state(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3856
err = qlcnic_83xx_idc_reattach_driver(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3860
qlcnic_schedule_work(adapter, qlcnic_83xx_idc_poll_dev_state,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3881
qlcnic_83xx_notify_cmd_completion(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3894
static void qlcnic_83xx_flush_mbx_queue(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3896
struct qlcnic_mailbox *mbx = adapter->ahw->mailbox;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3904
dev_info(&adapter->pdev->dev, "%s: Mailbox command 0x%x\n",
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3908
qlcnic_83xx_notify_cmd_completion(adapter, cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3914
static int qlcnic_83xx_check_mbx_status(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3916
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
393
if (!(adapter->flags & QLCNIC_MSIX_ENABLED)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3933
static inline void qlcnic_83xx_signal_mbx_cmd(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3937
QLCWRX(adapter->ahw, QLCNIC_HOST_MBX_CTRL, QLCNIC_SET_OWNER);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3939
QLCWRX(adapter->ahw, QLCNIC_FW_MBX_CTRL, QLCNIC_CLR_OWNER);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
394
if (adapter->ahw->pci_func >= QLC_MAX_LEGACY_FUNC_SUPP) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3942
static void qlcnic_83xx_dequeue_mbx_cmd(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3945
struct qlcnic_mailbox *mbx = adapter->ahw->mailbox;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
395
dev_err(&adapter->pdev->dev, "PCI function number 8 and higher are not supported with legacy interrupt, func 0x%x\n",
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3954
qlcnic_83xx_notify_cmd_completion(adapter, cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3957
static void qlcnic_83xx_encode_mbx_cmd(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3961
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3980
if (qlcnic_sriov_pf_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3992
void qlcnic_83xx_detach_mailbox_work(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
3994
struct qlcnic_mailbox *mbx = adapter->ahw->mailbox;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
400
qlcnic_83xx_enable_legacy(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
4003
qlcnic_83xx_flush_mbx_queue(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
4006
static int qlcnic_83xx_enqueue_mbx_cmd(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
4010
struct qlcnic_mailbox *mbx = adapter->ahw->mailbox;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
4033
static int qlcnic_83xx_check_mac_rcode(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
404
if (adapter->flags & QLCNIC_MSIX_ENABLED)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
4040
fw_data = readl(QLCNIC_MBX_FW(adapter->ahw, 2));
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
4053
static void qlcnic_83xx_decode_mbx_rsp(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
4056
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
4057
struct device *dev = &adapter->pdev->dev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
4063
qlcnic_83xx_get_mbx_data(adapter, cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
4071
if (!qlcnic_83xx_check_mac_rcode(adapter, cmd))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
4078
qlcnic_dump_mbx(adapter, cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
4084
static inline void qlcnic_dump_mailbox_registers(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
4086
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
4090
dev_info(&adapter->pdev->dev, "Mbx interrupt mask=0x%x, Mbx interrupt enable=0x%x, Host mbx control=0x%x, Fw mbx control=0x%x",
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
4101
struct qlcnic_adapter *adapter = mbx->adapter;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
4103
struct device *dev = &adapter->pdev->dev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
4109
ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
4112
if (qlcnic_83xx_check_mbx_status(adapter)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
4113
qlcnic_83xx_flush_mbx_queue(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
4131
mbx_ops->encode_cmd(adapter, cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
4132
mbx_ops->nofity_fw(adapter, QLC_83XX_MBX_REQUEST);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
4136
mbx_ops->decode_resp(adapter, cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
4137
mbx_ops->nofity_fw(adapter, QLC_83XX_MBX_COMPLETION);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
4143
qlcnic_dump_mailbox_registers(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
4144
qlcnic_83xx_get_mbx_data(adapter, cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
4145
qlcnic_dump_mbx(adapter, cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
4146
qlcnic_83xx_idc_request_reset(adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
415
static inline void qlcnic_83xx_clear_legacy_intr_mask(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
4150
mbx_ops->dequeue_cmd(adapter, cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
4162
int qlcnic_83xx_init_mailbox_work(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
4164
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
417
writel(0, adapter->tgt_mask_reg);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
4173
mbx->adapter = adapter;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
4194
struct qlcnic_adapter *adapter = pci_get_drvdata(pdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
420
static inline void qlcnic_83xx_set_legacy_intr_mask(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
4202
set_bit(__QLCNIC_AER, &adapter->state);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
4203
set_bit(__QLCNIC_RESETTING, &adapter->state);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
4205
qlcnic_83xx_aer_stop_poll_work(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
4215
struct qlcnic_adapter *adapter = pci_get_drvdata(pdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
422
if (adapter->tgt_mask_reg)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
4226
err = qlcnic_83xx_aer_reset(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
423
writel(1, adapter->tgt_mask_reg);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
4230
clear_bit(__QLCNIC_AER, &adapter->state);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
4231
clear_bit(__QLCNIC_RESETTING, &adapter->state);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
4237
struct qlcnic_adapter *adapter = pci_get_drvdata(pdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
4239
if (test_and_clear_bit(__QLCNIC_AER, &adapter->state))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
4240
qlcnic_83xx_aer_start_poll_work(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
427
*adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
436
mask = QLCRDX(adapter->ahw, QLCNIC_DEF_INT_MASK);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
437
writel(0, adapter->ahw->pci_base0 + mask);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
440
void qlcnic_83xx_disable_mbx_intr(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
444
mask = QLCRDX(adapter->ahw, QLCNIC_DEF_INT_MASK);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
445
writel(1, adapter->ahw->pci_base0 + mask);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
446
QLCWRX(adapter->ahw, QLCNIC_MBX_INTR_ENBL, 0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
449
static inline void qlcnic_83xx_get_mbx_data(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
458
cmd->rsp.arg[i] = readl(QLCNIC_MBX_FW(adapter->ahw, i));
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
461
irqreturn_t qlcnic_83xx_clear_legacy_intr(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
464
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
467
intr_val = readl(adapter->tgt_status_reg);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
472
if (QLC_83XX_INTX_FUNC(intr_val) != adapter->ahw->pci_func) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
473
adapter->stats.spurious_intr++;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
480
writel_relaxed(0, adapter->isr_int_vec);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
481
intr_val = readl(adapter->isr_int_vec);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
483
intr_val = readl(adapter->tgt_status_reg);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
499
static void qlcnic_83xx_poll_process_aen(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
502
struct qlcnic_mailbox *mbx = adapter->ahw->mailbox;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
506
resp = QLCRDX(adapter->ahw, QLCNIC_FW_MBX_CTRL);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
510
event = readl(QLCNIC_MBX_FW(adapter->ahw, 0));
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
512
__qlcnic_83xx_process_aen(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
518
qlcnic_83xx_enable_legacy_msix_mbx_intr(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
524
struct qlcnic_adapter *adapter = data;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
526
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
528
if (qlcnic_83xx_clear_legacy_intr(adapter) == IRQ_NONE)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
531
qlcnic_83xx_poll_process_aen(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
536
qlcnic_83xx_enable_legacy_msix_mbx_intr(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
540
if (!test_bit(__QLCNIC_DEV_UP, &adapter->state)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
541
qlcnic_83xx_enable_legacy_msix_mbx_intr(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
543
sds_ring = &adapter->recv_ctx->sds_rings[0];
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
553
struct qlcnic_adapter *adapter = sds_ring->adapter;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
555
if (adapter->flags & QLCNIC_MSIX_ENABLED)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
558
if (adapter->nic_ops->clear_legacy_intr(adapter) == IRQ_NONE)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
562
adapter->ahw->diag_cnt++;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
563
qlcnic_enable_sds_intr(adapter, sds_ring);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
568
void qlcnic_83xx_free_mbx_intr(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
572
if (!(adapter->flags & QLCNIC_MSIX_ENABLED))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
573
qlcnic_83xx_set_legacy_intr_mask(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
575
qlcnic_83xx_disable_mbx_intr(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
577
if (adapter->flags & QLCNIC_MSIX_ENABLED)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
578
num_msix = adapter->ahw->num_msix - 1;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
584
if (adapter->msix_entries) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
585
synchronize_irq(adapter->msix_entries[num_msix].vector);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
586
free_irq(adapter->msix_entries[num_msix].vector, adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
590
int qlcnic_83xx_setup_mbx_intr(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
597
if (!(adapter->flags & QLCNIC_MSI_ENABLED) &&
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
598
!(adapter->flags & QLCNIC_MSIX_ENABLED))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
601
if (adapter->flags & QLCNIC_MSIX_ENABLED) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
603
val = adapter->msix_entries[adapter->ahw->num_msix - 1].vector;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
604
err = request_irq(val, handler, flags, "qlcnic-MB", adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
606
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
612
val = adapter->msix_entries[0].vector;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
613
err = request_irq(val, handler, flags, "qlcnic", adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
615
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
619
qlcnic_83xx_clear_legacy_intr_mask(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
623
qlcnic_83xx_enable_mbx_interrupt(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
628
void qlcnic_83xx_get_func_no(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
630
u32 val = QLCRDX(adapter->ahw, QLCNIC_INFORMANT);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
631
adapter->ahw->pci_func = (val >> 24) & 0xff;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
634
int qlcnic_83xx_cam_lock(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
639
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
646
QLC_SHARED_REG_WR32(adapter, QLCNIC_FLASH_LOCK_OWNER,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
656
void qlcnic_83xx_cam_unlock(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
659
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
665
void qlcnic_83xx_read_crb(struct qlcnic_adapter *adapter, char *buf,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
671
if (qlcnic_api_lock(adapter)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
672
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
678
data = QLCRD32(adapter, (u32) offset, &ret);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
679
qlcnic_api_unlock(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
682
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
690
void qlcnic_83xx_write_crb(struct qlcnic_adapter *adapter, char *buf,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
696
qlcnic_83xx_wrt_reg_indirect(adapter, (u32) offset, data);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
699
int qlcnic_83xx_get_port_info(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
701
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
704
status = qlcnic_83xx_get_port_config(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
706
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
727
static void qlcnic_83xx_set_mac_filter_count(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
729
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
743
void qlcnic_83xx_enable_mbx_interrupt(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
747
if (adapter->flags & QLCNIC_MSIX_ENABLED)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
748
val = BIT_2 | ((adapter->ahw->num_msix - 1) << 8);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
752
QLCWRX(adapter->ahw, QLCNIC_MBX_INTR_ENBL, val);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
753
qlcnic_83xx_enable_legacy_msix_mbx_intr(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
756
void qlcnic_83xx_check_vf(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
760
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
763
qlcnic_get_func_no(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
765
if (qlcnic_sriov_vf_check(adapter)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
766
qlcnic_sriov_vf_set_ops(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
771
op_mode = QLCRDX(adapter->ahw, QLC_83XX_DRV_OP_MODE);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
780
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
783
adapter->nic_ops = &qlcnic_vf_ops;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
785
if (pci_find_ext_capability(adapter->pdev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
787
set_bit(__QLCNIC_SRIOV_CAPABLE, &adapter->state);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
788
adapter->nic_ops = &qlcnic_83xx_ops;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
792
static void qlcnic_83xx_handle_link_aen(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
794
static void qlcnic_83xx_handle_idc_comp_aen(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
797
void qlcnic_dump_mbx(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
805
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
813
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
823
static void qlcnic_83xx_poll_for_mbx_completion(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
826
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
840
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
847
int qlcnic_83xx_issue_cmd(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
850
struct qlcnic_mailbox *mbx = adapter->ahw->mailbox;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
851
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
860
err = mbx->ops->enqueue_cmd(adapter, cmd, &timeout);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
862
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
872
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
882
qlcnic_83xx_poll_for_mbx_completion(adapter, cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
885
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
889
qlcnic_83xx_detach_mailbox_work(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
896
struct qlcnic_adapter *adapter, u32 type)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
921
temp = adapter->ahw->fw_hal_version << 29;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
928
dev_err(&adapter->pdev->dev, "%s: Invalid mailbox command opcode 0x%x\n",
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
935
struct qlcnic_adapter *adapter;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
939
adapter = container_of(work, struct qlcnic_adapter, idc_aen_work.work);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
940
err = qlcnic_alloc_mbx_args(&cmd, adapter, QLCNIC_CMD_IDC_ACK);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
945
cmd.req.arg[i] = adapter->ahw->mbox_aen[i];
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
947
err = qlcnic_issue_cmd(adapter, &cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
949
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
954
static void qlcnic_83xx_handle_idc_comp_aen(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
957
dev_dbg(&adapter->pdev->dev, "Completion AEN:0x%x.\n",
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
959
clear_bit(QLC_83XX_IDC_COMP_AEN, &adapter->ahw->idc.status);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
963
static void __qlcnic_83xx_process_aen(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
965
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
975
qlcnic_83xx_handle_link_aen(adapter, event);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
978
qlcnic_83xx_handle_idc_comp_aen(adapter, event);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
982
adapter->ahw->mbox_aen[i] = QLCNIC_MBX_RSP(event[i]);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
983
queue_delayed_work(adapter->qlcnic_wq,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
984
&adapter->idc_aen_work, 0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
990
qlcnic_sriov_handle_bc_event(adapter, event[1]);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
993
dev_info(&adapter->pdev->dev, "SFP+ Insert AEN:0x%x.\n",
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
997
dev_info(&adapter->pdev->dev, "SFP Removed AEN:0x%x.\n",
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.h
551
void qlcnic_83xx_change_l2_filter(struct qlcnic_adapter *adapter, u64 *addr,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.h
619
void qlcnic_83xx_get_stats(struct qlcnic_adapter *adapter, u64 *data);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.h
621
int qlcnic_83xx_get_link_ksettings(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.h
623
int qlcnic_83xx_set_link_ksettings(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.h
630
void qlcnic_83xx_get_port_type(struct qlcnic_adapter *adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1001
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1012
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1030
int qlcnic_set_vxlan_port(struct qlcnic_adapter *adapter, u16 port)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1037
ret = qlcnic_alloc_mbx_args(&cmd, adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1047
ret = qlcnic_issue_cmd(adapter, &cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1049
netdev_err(adapter->netdev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1058
int qlcnic_set_vxlan_parsing(struct qlcnic_adapter *adapter, u16 port)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1065
ret = qlcnic_alloc_mbx_args(&cmd, adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1073
ret = qlcnic_issue_cmd(adapter, &cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1075
netdev_err(adapter->netdev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1079
netdev_info(adapter->netdev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1088
static void qlcnic_83xx_periodic_tasks(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1090
if (adapter->fhash.fnum)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1091
qlcnic_prune_lb_filters(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1107
struct qlcnic_adapter *adapter;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1110
adapter = container_of(work, struct qlcnic_adapter, fw_work.work);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1111
state = QLCRDX(adapter->ahw, QLC_83XX_IDC_DEV_STATE);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1113
if (qlcnic_83xx_idc_check_state_validity(adapter, state)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1114
qlcnic_83xx_idc_log_state_history(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1115
adapter->ahw->idc.curr_state = QLC_83XX_IDC_DEV_UNKNOWN;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1117
adapter->ahw->idc.curr_state = state;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1120
switch (adapter->ahw->idc.curr_state) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1122
qlcnic_83xx_idc_ready_state(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1125
qlcnic_83xx_idc_need_reset_state(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1128
qlcnic_83xx_idc_need_quiesce_state(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1131
qlcnic_83xx_idc_failed_state(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1134
qlcnic_83xx_idc_init_state(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1137
qlcnic_83xx_idc_quiesce_state(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1140
qlcnic_83xx_idc_unknown_state(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1143
adapter->ahw->idc.prev_state = adapter->ahw->idc.curr_state;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1144
qlcnic_83xx_periodic_tasks(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1147
if (test_bit(QLC_83XX_MODULE_LOADED, &adapter->ahw->idc.status))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1148
qlcnic_schedule_work(adapter, qlcnic_83xx_idc_poll_dev_state,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1149
adapter->ahw->idc.delay);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1152
static void qlcnic_83xx_setup_idc_parameters(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1156
if (qlcnic_83xx_flash_read32(adapter, QLC_83XX_IDC_FLASH_PARAM_ADDR,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1158
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1160
adapter->dev_init_timeo = QLC_83XX_IDC_INIT_TIMEOUT_SECS;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1161
adapter->reset_ack_timeo = QLC_83XX_IDC_RESET_TIMEOUT_SECS;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1163
adapter->dev_init_timeo = idc_params & 0xFFFF;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1164
adapter->reset_ack_timeo = ((idc_params >> 16) & 0xFFFF);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1167
adapter->ahw->idc.curr_state = QLC_83XX_IDC_DEV_UNKNOWN;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1168
adapter->ahw->idc.prev_state = QLC_83XX_IDC_DEV_UNKNOWN;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1169
adapter->ahw->idc.delay = QLC_83XX_IDC_FW_POLL_DELAY;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1170
adapter->ahw->idc.err_code = 0;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1171
adapter->ahw->idc.collect_dump = 0;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1172
adapter->ahw->idc.name = (char **)qlc_83xx_idc_states;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1174
clear_bit(__QLCNIC_RESETTING, &adapter->state);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1175
set_bit(QLC_83XX_MODULE_LOADED, &adapter->ahw->idc.status);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1180
val = QLCRDX(adapter->ahw, QLC_83XX_IDC_CTRL);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1182
QLCWRX(adapter->ahw, QLC_83XX_IDC_CTRL, val);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1187
qlcnic_83xx_idc_first_to_load_function_handler(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1191
if (qlcnic_83xx_lock_driver(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1195
QLCWRX(adapter->ahw, QLC_83XX_RECOVER_DRV_LOCK, 0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1196
if (qlcnic_83xx_idc_update_major_version(adapter, 0)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1197
qlcnic_83xx_unlock_driver(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1201
state = QLCRDX(adapter->ahw, QLC_83XX_IDC_DEV_STATE);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1202
if (qlcnic_83xx_idc_check_state_validity(adapter, state)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1203
qlcnic_83xx_unlock_driver(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1208
QLCWRX(adapter->ahw, QLC_83XX_IDC_DEV_STATE,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1213
adapter->ahw->idc.curr_state = state;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1216
qlcnic_83xx_idc_cold_state_handler(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1220
val = QLCRDX(adapter->ahw, QLC_83XX_IDC_CTRL);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1222
QLCWRX(adapter->ahw, QLC_83XX_IDC_CTRL, val);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1225
qlcnic_83xx_unlock_driver(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1230
int qlcnic_83xx_idc_init(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1234
qlcnic_83xx_setup_idc_parameters(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1236
if (qlcnic_83xx_get_reset_instruction_template(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1239
if (!qlcnic_83xx_idc_check_driver_presence_reg(adapter)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1240
if (qlcnic_83xx_idc_first_to_load_function_handler(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1243
if (qlcnic_83xx_idc_check_major_version(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1247
qlcnic_83xx_idc_update_audit_reg(adapter, 0, 1);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1252
void qlcnic_83xx_idc_exit(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1257
while (test_and_set_bit(__QLCNIC_RESETTING, &adapter->state))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1260
id = QLCRDX(adapter->ahw, QLC_83XX_DRV_LOCK_ID);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1263
if (id == adapter->portnum) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1264
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1267
id = QLCRDX(adapter->ahw, QLC_83XX_DRV_LOCK_ID);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1272
val = QLCRDX(adapter->ahw, QLC_83XX_IDC_DRV_PRESENCE);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1273
val = val & ~(1 << adapter->portnum);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1274
QLCWRX(adapter->ahw, QLC_83XX_IDC_DRV_PRESENCE, val);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1275
clear_bit(QLC_83XX_MODULE_LOADED, &adapter->ahw->idc.status);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1276
clear_bit(__QLCNIC_RESETTING, &adapter->state);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1278
cancel_delayed_work_sync(&adapter->fw_work);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1281
void qlcnic_83xx_idc_request_reset(struct qlcnic_adapter *adapter, u32 key)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1285
if (qlcnic_sriov_vf_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1288
if (qlcnic_83xx_lock_driver(adapter)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1289
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1294
val = QLCRDX(adapter->ahw, QLC_83XX_IDC_CTRL);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1296
netdev_info(adapter->netdev, "%s: Auto firmware recovery is disabled\n",
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1298
qlcnic_83xx_idc_enter_failed_state(adapter, 0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1299
qlcnic_83xx_unlock_driver(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1304
val = QLCRDX(adapter->ahw, QLC_83XX_IDC_CTRL);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1306
QLCWRX(adapter->ahw, QLC_83XX_IDC_CTRL, val);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1308
adapter->ahw->idc.collect_dump = 1;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1311
qlcnic_83xx_unlock_driver(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1315
static int qlcnic_83xx_copy_bootloader(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
132
qlcnic_83xx_idc_check_driver_presence_reg(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1323
dest = QLCRDX(adapter->ahw, QLCNIC_BOOTLOADER_ADDR);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1324
size = QLCRDX(adapter->ahw, QLCNIC_BOOTLOADER_SIZE);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1334
ret = qlcnic_83xx_lockless_flash_read32(adapter, src, p_cache,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1341
ret = qlcnic_ms_mem_write128(adapter, dest, (u32 *)p_cache,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1352
static int qlcnic_83xx_copy_fw_file(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1354
struct qlc_83xx_fw_info *fw_info = adapter->ahw->fw_info;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
136
val = QLCRDX(adapter->ahw, QLC_83XX_IDC_DRV_PRESENCE);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1378
dest = QLCRDX(adapter->ahw, QLCNIC_FW_IMAGE_ADDR);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1383
ret = qlcnic_ms_mem_write128(adapter, addr,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1386
dev_err(&adapter->pdev->dev, "MS memory write failed\n");
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1397
ret = qlcnic_ms_mem_write128(adapter, addr,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1400
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1414
static void qlcnic_83xx_dump_pause_control_regs(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1420
val = QLCRD32(adapter, QLC_83XX_SRE_SHIM_REG, &err);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1423
dev_info(&adapter->pdev->dev, "SRE-Shim Ctrl:0x%x\n", val);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1427
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
143
static void qlcnic_83xx_idc_log_state_history(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1431
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1436
val = QLCRD32(adapter, reg + (i * 0x4), &err);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1439
dev_info(&adapter->pdev->dev, "0x%x ", val);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1441
dev_info(&adapter->pdev->dev, "\n");
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1446
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1450
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1455
val = QLCRD32(adapter, reg + (i * 0x4), &err);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1458
dev_info(&adapter->pdev->dev, "0x%x ", val);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
146
cur = adapter->ahw->idc.curr_state;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1460
dev_info(&adapter->pdev->dev, "\n");
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1465
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1469
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
147
prev = adapter->ahw->idc.prev_state;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1474
val = QLCRD32(adapter, reg, &err);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1478
QLCWR32(adapter, reg, (val | (i << 29)));
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1479
val = QLCRD32(adapter, reg, &err);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1482
dev_info(&adapter->pdev->dev, "0x%x ", val);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1484
dev_info(&adapter->pdev->dev, "\n");
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1487
val = QLCRD32(adapter, QLC_83XX_PORT2_IFB_THRESHOLD, &err);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
149
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1490
val1 = QLCRD32(adapter, QLC_83XX_PORT3_IFB_THRESHOLD, &err);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1493
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1499
static void qlcnic_83xx_disable_pause_frames(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1503
if (qlcnic_83xx_lock_driver(adapter)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1504
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1509
qlcnic_83xx_dump_pause_control_regs(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
151
adapter->ahw->idc.name[cur],
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1510
QLCWR32(adapter, QLC_83XX_SRE_SHIM_REG, 0x0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1519
QLCWR32(adapter, reg + (i * 0x4), 0x0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
152
adapter->ahw->idc.name[prev]);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1529
QLCWR32(adapter, reg + (i * 0x4), 0x03FF03FF);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1532
QLCWR32(adapter, QLC_83XX_PORT2_IFB_THRESHOLD, 0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1533
QLCWR32(adapter, QLC_83XX_PORT3_IFB_THRESHOLD, 0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1534
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1536
qlcnic_83xx_unlock_driver(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1539
static void qlcnic_83xx_take_eport_out_of_reset(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1541
QLCWR32(adapter, QLC_83XX_RESET_REG, 0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1542
QLCWR32(adapter, QLC_83XX_RESET_PORT0, 0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1543
QLCWR32(adapter, QLC_83XX_RESET_PORT1, 0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1544
QLCWR32(adapter, QLC_83XX_RESET_PORT2, 0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1545
QLCWR32(adapter, QLC_83XX_RESET_PORT3, 0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1546
QLCWR32(adapter, QLC_83XX_RESET_SRESHIM, 0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1547
QLCWR32(adapter, QLC_83XX_RESET_EPGSHIM, 0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1548
QLCWR32(adapter, QLC_83XX_RESET_ETHERPCS, 0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
1549
QLCWR32(adapter, QLC_83XX_RESET_CONTROL, 1);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
155
static int qlcnic_83xx_idc_update_audit_reg(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
162
if (qlcnic_83xx_lock_driver(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
166
val = QLCRDX(adapter->ahw, QLC_83XX_IDC_DRV_AUDIT);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
167
val |= (adapter->portnum & 0xf);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
170
seconds = jiffies / HZ - adapter->ahw->idc.sec_counter;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
175
QLCWRX(adapter->ahw, QLC_83XX_IDC_DRV_AUDIT, val);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
176
adapter->ahw->idc.sec_counter = jiffies / HZ;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
179
qlcnic_83xx_unlock_driver(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
184
static void qlcnic_83xx_idc_update_minor_version(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
188
val = QLCRDX(adapter->ahw, QLC_83XX_IDC_MIN_VERSION);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
189
val = val & ~(0x3 << (adapter->portnum * 2));
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
190
val = val | (QLC_83XX_IDC_MINOR_VERSION << (adapter->portnum * 2));
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
191
QLCWRX(adapter->ahw, QLC_83XX_IDC_MIN_VERSION, val);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
194
static int qlcnic_83xx_idc_update_major_version(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
200
if (qlcnic_83xx_lock_driver(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
204
val = QLCRDX(adapter->ahw, QLC_83XX_IDC_MAJ_VERSION);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
207
QLCWRX(adapter->ahw, QLC_83XX_IDC_MAJ_VERSION, val);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2073
static int qlcnic_83xx_run_post(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2075
struct qlc_83xx_fw_info *fw_info = adapter->ahw->fw_info;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2076
struct device *dev = &adapter->pdev->dev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2081
switch (adapter->ahw->post_mode) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
210
qlcnic_83xx_unlock_driver(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2104
ret = qlcnic_83xx_copy_fw_file(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2109
qlcnic_ind_wr(adapter, QLC_83XX_POST_SIGNATURE_REG, 0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2112
qlcnic_ind_wr(adapter, QLC_83XX_POST_MODE_REG,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2113
adapter->ahw->post_mode);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2115
QLC_SHARED_REG_WR32(adapter, QLCNIC_FW_IMG_VALID,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2118
qlcnic_83xx_start_hw(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2125
signature = qlcnic_ind_rd(adapter, QLC_83XX_POST_SIGNATURE_REG);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
216
qlcnic_83xx_idc_update_drv_presence_reg(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2169
static int qlcnic_83xx_load_fw_image_from_host(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2171
struct qlc_83xx_fw_info *fw_info = adapter->ahw->fw_info;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2175
&(adapter->pdev->dev))) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2176
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2178
QLC_SHARED_REG_WR32(adapter, QLCNIC_FW_IMG_VALID,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2181
if (qlcnic_83xx_copy_fw_file(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2183
QLC_SHARED_REG_WR32(adapter, QLCNIC_FW_IMG_VALID,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2190
static int qlcnic_83xx_restart_hw(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2195
qlcnic_83xx_stop_hw(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2198
val = QLCRDX(adapter->ahw, QLC_83XX_IDC_CTRL);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2200
qlcnic_dump_fw(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2203
netdev_info(adapter->netdev, "%s: Auto firmware recovery is disabled\n",
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2205
qlcnic_83xx_idc_enter_failed_state(adapter, 1);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2209
qlcnic_83xx_init_hw(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2211
if (qlcnic_83xx_copy_bootloader(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2215
if (adapter->ahw->run_post) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2216
err = qlcnic_83xx_run_post(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
222
if (qlcnic_83xx_lock_driver(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2221
adapter->ahw->run_post = false;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2224
qlcnic_83xx_stop_hw(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2225
qlcnic_83xx_init_hw(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2227
err = qlcnic_83xx_copy_bootloader(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2234
err = qlcnic_83xx_load_fw_image_from_host(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2238
QLC_SHARED_REG_WR32(adapter, QLCNIC_FW_IMG_VALID,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2242
qlcnic_83xx_start_hw(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2243
if (qlcnic_83xx_check_hw_status(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2249
static int qlcnic_83xx_get_nic_configuration(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2253
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2256
err = qlcnic_get_nic_info(adapter, &nic_info, ahw->pci_func);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
226
val = QLCRDX(adapter->ahw, QLC_83XX_IDC_DRV_PRESENCE);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2276
if (test_bit(__QLCNIC_SRIOV_CAPABLE, &adapter->state))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2285
int qlcnic_83xx_configure_opmode(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2287
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
229
val = val | (1 << adapter->portnum);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2291
ret = qlcnic_83xx_get_nic_configuration(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2298
if (qlcnic_83xx_config_vnic_opmode(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2305
adapter->nic_ops->init_driver = qlcnic_83xx_init_default_driver;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
231
val = val & ~(1 << adapter->portnum);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2310
dev_err(&adapter->pdev->dev, "%s: Invalid opmode %d\n",
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2315
adapter->max_sds_rings = min(ahw->max_rx_ques, max_sds_rings);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2316
adapter->max_tx_rings = min(ahw->max_tx_ques, max_tx_rings);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2321
static void qlcnic_83xx_config_buff_descriptors(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2323
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2326
adapter->num_rxd = DEFAULT_RCV_DESCRIPTORS_10G;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2327
adapter->max_rxd = MAX_RCV_DESCRIPTORS_10G;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2328
adapter->num_jumbo_rxd = MAX_JUMBO_RCV_DESCRIPTORS_10G;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2329
adapter->max_jumbo_rxd = MAX_JUMBO_RCV_DESCRIPTORS_10G;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
233
QLCWRX(adapter->ahw, QLC_83XX_IDC_DRV_PRESENCE, val);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2332
adapter->num_rxd = DEFAULT_RCV_DESCRIPTORS_1G;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2333
adapter->num_jumbo_rxd = MAX_JUMBO_RCV_DESCRIPTORS_1G;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2334
adapter->max_jumbo_rxd = MAX_JUMBO_RCV_DESCRIPTORS_1G;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2335
adapter->max_rxd = MAX_RCV_DESCRIPTORS_1G;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2337
adapter->num_txd = MAX_CMD_DESCRIPTORS;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2338
adapter->max_rds_rings = MAX_RDS_RINGS;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
234
qlcnic_83xx_idc_update_minor_version(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2341
static int qlcnic_83xx_init_default_driver(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2345
qlcnic_83xx_get_minidump_template(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2346
if (qlcnic_83xx_get_port_info(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2349
qlcnic_83xx_config_buff_descriptors(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2350
adapter->ahw->msix_supported = !!qlcnic_use_msi_x;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2351
adapter->flags |= QLCNIC_ADAPTER_INITIALIZED;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2353
dev_info(&adapter->pdev->dev, "HAL Version: %d\n",
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2354
adapter->ahw->fw_hal_version);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2360
static void qlcnic_83xx_clear_function_resources(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2366
presence_mask = QLCRDX(adapter->ahw, QLC_83XX_IDC_DRV_PRESENCE);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2367
audit_mask = QLCRDX(adapter->ahw, QLC_83XX_IDC_DRV_AUDIT);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2369
if (IS_QLC_83XX_USED(adapter, presence_mask, audit_mask)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
237
qlcnic_83xx_unlock_driver(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2370
status = qlcnic_alloc_mbx_args(&cmd, adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2376
status = qlcnic_issue_cmd(adapter, &cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2378
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2384
static int qlcnic_83xx_get_fw_info(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2386
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2387
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2417
static void qlcnic_83xx_init_rings(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
242
static int qlcnic_83xx_idc_check_major_version(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2422
adapter->max_tx_rings = QLCNIC_MAX_TX_RINGS;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2423
adapter->max_sds_rings = QLCNIC_MAX_SDS_RINGS;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2425
if (!adapter->ahw->msix_supported) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2431
qlcnic_set_tx_ring_count(adapter, tx_cnt);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2432
qlcnic_set_sds_ring_count(adapter, rx_cnt);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2435
int qlcnic_83xx_init(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2437
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2440
adapter->rx_mac_learn = false;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2462
qlcnic_83xx_init_rings(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2464
err = qlcnic_83xx_init_mailbox_work(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2468
if (qlcnic_sriov_vf_check(adapter)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2469
err = qlcnic_sriov_vf_init(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
247
val = QLCRDX(adapter->ahw, QLC_83XX_IDC_MAJ_VERSION);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2476
if (qlcnic_83xx_read_flash_descriptor_table(adapter) ||
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2477
qlcnic_83xx_read_flash_mfg_id(adapter)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2478
dev_err(&adapter->pdev->dev, "Failed reading flash mfg id\n");
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2483
err = qlcnic_83xx_check_hw_status(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2487
err = qlcnic_83xx_get_fw_info(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2491
err = qlcnic_83xx_idc_init(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2495
err = qlcnic_setup_intr(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2497
dev_err(&adapter->pdev->dev, "Failed to setup interrupt\n");
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2501
INIT_DELAYED_WORK(&adapter->idc_aen_work, qlcnic_83xx_idc_aen_work);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2503
err = qlcnic_83xx_setup_mbx_intr(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2507
qlcnic_83xx_clear_function_resources(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2509
err = qlcnic_dcb_enable(adapter->dcb);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
251
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2511
qlcnic_dcb_free(adapter->dcb);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2515
qlcnic_83xx_initialize_nic(adapter, 1);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2516
qlcnic_dcb_get_info(adapter->dcb);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2519
err = qlcnic_83xx_configure_opmode(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2525
err = adapter->nic_ops->init_driver(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2530
qlcnic_83xx_idc_poll_dev_state(&adapter->fw_work.work);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2534
qlcnic_83xx_free_mbx_intr(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2537
qlcnic_teardown_intr(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2540
qlcnic_83xx_detach_mailbox_work(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2547
void qlcnic_83xx_aer_stop_poll_work(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2549
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2553
cancel_delayed_work_sync(&adapter->fw_work);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2556
qlcnic_83xx_disable_vnic_mode(adapter, 1);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2558
qlcnic_83xx_idc_detach_driver(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2559
qlcnic_83xx_initialize_nic(adapter, 0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2561
cancel_delayed_work_sync(&adapter->idc_aen_work);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2564
int qlcnic_83xx_aer_reset(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2566
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2576
owner = qlcnic_83xx_idc_find_reset_owner_id(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2578
ret = qlcnic_83xx_restart_hw(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2581
qlcnic_83xx_idc_clear_registers(adapter, 0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2584
ret = idc->state_entry(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2588
void qlcnic_83xx_aer_start_poll_work(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2590
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2595
owner = qlcnic_83xx_idc_find_reset_owner_id(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2597
qlcnic_83xx_idc_enter_ready_state(adapter, 0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
2599
qlcnic_schedule_work(adapter, qlcnic_83xx_idc_poll_dev_state, 0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
260
static int qlcnic_83xx_idc_clear_registers(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
266
if (qlcnic_83xx_lock_driver(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
270
QLCWRX(adapter->ahw, QLC_83XX_IDC_DRV_ACK, 0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
272
val = QLCRDX(adapter->ahw, QLC_83XX_IDC_CTRL);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
274
QLCWRX(adapter->ahw, QLC_83XX_IDC_CTRL, val);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
277
qlcnic_83xx_unlock_driver(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
282
static int qlcnic_83xx_idc_update_drv_ack_reg(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
288
if (qlcnic_83xx_lock_driver(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
292
val = QLCRDX(adapter->ahw, QLC_83XX_IDC_DRV_ACK);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
294
val = val | (1 << adapter->portnum);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
296
val = val & ~(1 << adapter->portnum);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
297
QLCWRX(adapter->ahw, QLC_83XX_IDC_DRV_ACK, val);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
300
qlcnic_83xx_unlock_driver(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
305
static int qlcnic_83xx_idc_check_timeout(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
310
seconds = jiffies / HZ - adapter->ahw->idc.sec_counter;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
326
static int qlcnic_83xx_idc_check_reset_ack_reg(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
332
ack = QLCRDX(adapter->ahw, QLC_83XX_IDC_DRV_ACK);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
333
presence = QLCRDX(adapter->ahw, QLC_83XX_IDC_DRV_PRESENCE);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
334
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
337
if (qlcnic_83xx_idc_check_timeout(adapter, timeout)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
339
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
341
val = QLCRDX(adapter->ahw, QLC_83XX_IDC_DRV_PRESENCE);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
343
if (qlcnic_83xx_lock_driver(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
345
QLCWRX(adapter->ahw, QLC_83XX_IDC_DRV_PRESENCE, val);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
346
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
349
qlcnic_83xx_unlock_driver(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
356
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
373
static int qlcnic_83xx_idc_tx_soft_reset(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
375
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
377
if (test_and_set_bit(__QLCNIC_RESETTING, &adapter->state))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
38
static int qlcnic_83xx_init_default_driver(struct qlcnic_adapter *adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
381
qlcnic_down(adapter, netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
382
qlcnic_up(adapter, netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
384
clear_bit(__QLCNIC_RESETTING, &adapter->state);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
385
netdev_info(adapter->netdev, "%s: soft reset complete.\n", __func__);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
398
static void qlcnic_83xx_idc_detach_driver(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
40
static int qlcnic_83xx_restart_hw(struct qlcnic_adapter *adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
401
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
404
qlcnic_83xx_detach_mailbox_work(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
407
qlcnic_83xx_disable_mbx_intr(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
408
qlcnic_down(adapter, netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
409
for (i = 0; i < adapter->ahw->num_msix; i++) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
410
adapter->ahw->intr_tbl[i].id = i;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
411
adapter->ahw->intr_tbl[i].enabled = 0;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
412
adapter->ahw->intr_tbl[i].src = 0;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
415
if (qlcnic_sriov_pf_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
416
qlcnic_sriov_pf_reset(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
428
static void qlcnic_83xx_idc_attach_driver(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
430
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
433
if (qlcnic_up(adapter, netdev))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
441
static int qlcnic_83xx_idc_enter_failed_state(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
445
if (qlcnic_83xx_lock_driver(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
449
qlcnic_83xx_idc_clear_registers(adapter, 0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
450
QLCWRX(adapter->ahw, QLC_83XX_IDC_DEV_STATE, QLC_83XX_IDC_DEV_FAILED);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
452
qlcnic_83xx_unlock_driver(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
454
qlcnic_83xx_idc_log_state_history(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
455
dev_info(&adapter->pdev->dev, "Device will enter failed state\n");
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
460
static int qlcnic_83xx_idc_enter_init_state(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
464
if (qlcnic_83xx_lock_driver(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
468
QLCWRX(adapter->ahw, QLC_83XX_IDC_DEV_STATE, QLC_83XX_IDC_DEV_INIT);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
471
qlcnic_83xx_unlock_driver(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
476
static int qlcnic_83xx_idc_enter_need_quiesce(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
480
if (qlcnic_83xx_lock_driver(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
484
QLCWRX(adapter->ahw, QLC_83XX_IDC_DEV_STATE,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
488
qlcnic_83xx_unlock_driver(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
494
qlcnic_83xx_idc_enter_need_reset_state(struct qlcnic_adapter *adapter, int lock)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
497
if (qlcnic_83xx_lock_driver(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
501
QLCWRX(adapter->ahw, QLC_83XX_IDC_DEV_STATE,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
505
qlcnic_83xx_unlock_driver(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
510
static int qlcnic_83xx_idc_enter_ready_state(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
514
if (qlcnic_83xx_lock_driver(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
518
QLCWRX(adapter->ahw, QLC_83XX_IDC_DEV_STATE, QLC_83XX_IDC_DEV_READY);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
520
qlcnic_83xx_unlock_driver(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
536
static int qlcnic_83xx_idc_find_reset_owner_id(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
540
reg1 = QLCRDX(adapter->ahw, QLC_83XX_IDC_DEV_PARTITION_INFO_1);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
541
reg2 = QLCRDX(adapter->ahw, QLC_83XX_IDC_DEV_PARTITION_INFO_2);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
574
static int qlcnic_83xx_idc_restart_hw(struct qlcnic_adapter *adapter, int lock)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
578
ret = qlcnic_83xx_restart_hw(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
581
qlcnic_83xx_idc_enter_failed_state(adapter, lock);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
583
qlcnic_83xx_idc_clear_registers(adapter, lock);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
584
ret = qlcnic_83xx_idc_enter_ready_state(adapter, lock);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
590
static int qlcnic_83xx_idc_check_fan_failure(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
594
status = QLC_SHARED_REG_RD32(adapter, QLCNIC_PEG_HALT_STATUS1);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
597
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
600
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
603
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
612
int qlcnic_83xx_idc_reattach_driver(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
616
qlcnic_83xx_reinit_mbx_work(adapter->ahw->mailbox);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
617
qlcnic_83xx_enable_mbx_interrupt(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
619
qlcnic_83xx_initialize_nic(adapter, 1);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
621
err = qlcnic_sriov_pf_reinit(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
625
qlcnic_83xx_enable_mbx_interrupt(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
627
if (qlcnic_83xx_configure_opmode(adapter)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
628
qlcnic_83xx_idc_enter_failed_state(adapter, 1);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
632
if (adapter->nic_ops->init_driver(adapter)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
633
qlcnic_83xx_idc_enter_failed_state(adapter, 1);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
637
if (adapter->portnum == 0)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
638
qlcnic_set_drv_version(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
640
qlcnic_dcb_get_info(adapter->dcb);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
641
qlcnic_83xx_idc_attach_driver(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
646
static void qlcnic_83xx_idc_update_idc_params(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
648
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
650
qlcnic_83xx_idc_update_drv_presence_reg(adapter, 1, 1);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
651
qlcnic_83xx_idc_update_audit_reg(adapter, 0, 1);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
652
set_bit(QLC_83XX_MODULE_LOADED, &adapter->ahw->idc.status);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
659
adapter->tx_timeo_cnt = 0;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
662
clear_bit(__QLCNIC_RESETTING, &adapter->state);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
676
int qlcnic_83xx_idc_ready_state_entry(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
678
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
681
qlcnic_83xx_idc_update_idc_params(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
685
if (qlcnic_83xx_idc_reattach_driver(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
705
int qlcnic_83xx_idc_vnic_pf_entry(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
708
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
711
state = QLCRDX(adapter->ahw, QLC_83XX_VNIC_STATE);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
714
qlcnic_83xx_idc_enter_failed_state(adapter, 1);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
717
dev_info(&adapter->pdev->dev, "vNIC mode disabled\n");
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
723
qlcnic_83xx_idc_update_idc_params(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
728
if (qlcnic_83xx_idc_reattach_driver(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
731
adapter->ahw->idc.vnic_state = QLCNIC_DEV_NPAR_OPER;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
732
dev_info(&adapter->pdev->dev, "vNIC mode enabled\n");
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
739
static int qlcnic_83xx_idc_unknown_state(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
741
adapter->ahw->idc.err_code = -EIO;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
742
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
744
clear_bit(__QLCNIC_RESETTING, &adapter->state);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
760
static int qlcnic_83xx_idc_cold_state_handler(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
762
qlcnic_83xx_idc_update_drv_presence_reg(adapter, 1, 0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
763
qlcnic_83xx_idc_update_audit_reg(adapter, 1, 0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
766
qlcnic_83xx_idc_restart_hw(adapter, 0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
768
if (qlcnic_83xx_check_hw_status(adapter)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
769
qlcnic_83xx_idc_enter_failed_state(adapter, 0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
772
qlcnic_83xx_idc_enter_ready_state(adapter, 0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
790
static int qlcnic_83xx_idc_init_state(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
796
if (adapter->ahw->idc.prev_state == QLC_83XX_IDC_DEV_NEED_RESET) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
797
owner = qlcnic_83xx_idc_find_reset_owner_id(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
798
if (adapter->ahw->pci_func == owner)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
799
ret = qlcnic_83xx_idc_restart_hw(adapter, 1);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
801
ret = qlcnic_83xx_idc_check_timeout(adapter, timeout);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
818
static int qlcnic_83xx_idc_ready_state(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
820
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
826
if (ahw->idc.state_entry(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
829
if (qlcnic_check_temp(adapter)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
831
qlcnic_83xx_idc_check_fan_failure(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
832
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
834
adapter->ahw->temp);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
836
set_bit(__QLCNIC_RESETTING, &adapter->state);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
837
qlcnic_83xx_idc_detach_driver(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
838
qlcnic_83xx_idc_enter_failed_state(adapter, 1);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
843
val = QLCRDX(adapter->ahw, QLC_83XX_IDC_CTRL);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
844
ret = qlcnic_83xx_check_heartbeat(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
846
adapter->flags |= QLCNIC_FW_HANG;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
849
set_bit(__QLCNIC_RESETTING, &adapter->state);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
850
qlcnic_83xx_idc_enter_need_reset_state(adapter, 1);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
852
netdev_info(adapter->netdev, "%s: Auto firmware recovery is disabled\n",
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
854
qlcnic_83xx_idc_enter_failed_state(adapter, 1);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
863
qlcnic_83xx_idc_enter_need_reset_state(adapter, 1);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
870
adapter->ahw->reset_context = 0;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
871
qlcnic_83xx_idc_tx_soft_reset(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
876
if (adapter->ahw->idc.quiesce_req) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
877
qlcnic_83xx_idc_enter_need_quiesce(adapter, 1);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
878
qlcnic_83xx_idc_update_audit_reg(adapter, 0, 1);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
897
static int qlcnic_83xx_idc_need_reset_state(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
899
struct qlcnic_mailbox *mbx = adapter->ahw->mailbox;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
902
if (adapter->ahw->idc.prev_state != QLC_83XX_IDC_DEV_NEED_RESET) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
903
qlcnic_83xx_idc_update_audit_reg(adapter, 0, 1);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
904
set_bit(__QLCNIC_RESETTING, &adapter->state);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
906
if (adapter->ahw->nic_mode == QLCNIC_VNIC_MODE)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
907
qlcnic_83xx_disable_vnic_mode(adapter, 1);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
909
if (qlcnic_check_diag_status(adapter)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
910
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
912
adapter->ahw->idc.delay_reset = 1;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
915
qlcnic_83xx_idc_update_drv_ack_reg(adapter, 1, 1);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
916
qlcnic_83xx_idc_detach_driver(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
920
if (qlcnic_check_diag_status(adapter)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
921
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
925
if (adapter->ahw->idc.delay_reset) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
926
qlcnic_83xx_idc_update_drv_ack_reg(adapter, 1, 1);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
927
qlcnic_83xx_idc_detach_driver(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
928
adapter->ahw->idc.delay_reset = 0;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
932
ret = qlcnic_83xx_idc_check_reset_ack_reg(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
934
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
941
qlcnic_83xx_idc_enter_init_state(adapter, 1);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
946
static int qlcnic_83xx_idc_need_quiesce_state(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
948
dev_err(&adapter->pdev->dev, "%s: TBD\n", __func__);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
952
static void qlcnic_83xx_idc_failed_state(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
954
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
957
val = QLCRDX(adapter->ahw, QLC_83XX_IDC_CTRL);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
959
owner = qlcnic_83xx_idc_find_reset_owner_id(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
961
qlcnic_83xx_stop_hw(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
962
qlcnic_dump_fw(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
966
netdev_warn(adapter->netdev, "%s: Reboot will be required to recover the adapter!!\n",
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
968
clear_bit(__QLCNIC_RESETTING, &adapter->state);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
974
static int qlcnic_83xx_idc_quiesce_state(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
976
dev_info(&adapter->pdev->dev, "%s: TBD\n", __func__);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
980
static int qlcnic_83xx_idc_check_state_validity(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
985
cur = adapter->ahw->idc.curr_state;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
986
prev = adapter->ahw->idc.prev_state;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
991
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c
10
static int qlcnic_83xx_enable_vnic_mode(struct qlcnic_adapter *adapter, int lock)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c
101
qlcnic_83xx_get_minidump_template(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c
103
if (!(adapter->flags & QLCNIC_ADAPTER_INITIALIZED)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c
104
if (qlcnic_init_pci_info(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c
107
npar = adapter->npars;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c
119
if (qlcnic_83xx_set_vnic_opmode(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c
122
if (qlcnic_set_default_offload_settings(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c
125
if (qlcnic_reset_npar_config(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c
129
if (qlcnic_83xx_get_port_info(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c
13
if (qlcnic_83xx_lock_driver(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c
132
qlcnic_83xx_config_vnic_buff_descriptors(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c
134
adapter->flags |= QLCNIC_ADAPTER_INITIALIZED;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c
135
qlcnic_83xx_enable_vnic_mode(adapter, 1);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c
143
static int qlcnic_83xx_init_privileged_vnic(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c
147
qlcnic_83xx_get_minidump_template(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c
148
if (qlcnic_83xx_get_port_info(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c
151
qlcnic_83xx_config_vnic_buff_descriptors(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c
152
adapter->ahw->msix_supported = !!qlcnic_use_msi_x;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c
153
adapter->flags |= QLCNIC_ADAPTER_INITIALIZED;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c
155
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c
157
adapter->ahw->fw_hal_version);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c
16
QLCWRX(adapter->ahw, QLC_83XX_VNIC_STATE, QLCNIC_DEV_NPAR_OPER);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c
161
static int qlcnic_83xx_init_non_privileged_vnic(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c
165
qlcnic_83xx_get_fw_version(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c
166
if (qlcnic_set_eswitch_port_config(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c
169
if (qlcnic_83xx_get_port_info(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c
172
qlcnic_83xx_config_vnic_buff_descriptors(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c
173
adapter->ahw->msix_supported = !!qlcnic_use_msi_x;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c
174
adapter->flags |= QLCNIC_ADAPTER_INITIALIZED;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c
176
dev_info(&adapter->pdev->dev, "HAL Version: %d, Virtual function\n",
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c
177
adapter->ahw->fw_hal_version);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c
18
qlcnic_83xx_unlock_driver(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c
191
int qlcnic_83xx_config_vnic_opmode(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c
194
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c
195
struct qlcnic_nic_template *nic_ops = adapter->nic_ops;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c
197
qlcnic_get_func_no(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c
198
op_mode = QLCRDX(adapter->ahw, QLC_83XX_DRV_OP_MODE);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c
222
dev_err(&adapter->pdev->dev, "Invalid Virtual NIC opmode\n");
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c
227
adapter->flags |= QLCNIC_ESWITCH_ENABLED;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c
228
if (adapter->drv_mac_learn)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c
229
adapter->rx_mac_learn = true;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c
23
int qlcnic_83xx_disable_vnic_mode(struct qlcnic_adapter *adapter, int lock)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c
231
adapter->flags &= ~QLCNIC_ESWITCH_ENABLED;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c
232
adapter->rx_mac_learn = false;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c
241
int qlcnic_83xx_check_vnic_state(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c
243
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c
25
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c
255
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c
263
int qlcnic_83xx_set_port_eswitch_status(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c
271
err = qlcnic_get_nic_info(adapter, &nic_info, func);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c
28
if (qlcnic_83xx_lock_driver(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c
281
adapter->eswitch[*port_id].flags |= QLCNIC_SWITCH_ENABLE;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c
32
QLCWRX(adapter->ahw, QLC_83XX_VNIC_STATE, QLCNIC_DEV_NPAR_NON_OPER);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c
36
qlcnic_83xx_unlock_driver(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c
41
int qlcnic_83xx_set_vnic_opmode(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c
46
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c
48
if (qlcnic_83xx_lock_driver(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c
52
data = QLCRDX(adapter->ahw, QLC_83XX_DRV_OP_MODE);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c
56
QLCWRX(adapter->ahw, QLC_83XX_DRV_OP_MODE, data);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c
58
qlcnic_83xx_unlock_driver(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c
64
qlcnic_83xx_config_vnic_buff_descriptors(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c
66
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c
69
adapter->num_rxd = DEFAULT_RCV_DESCRIPTORS_VF;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c
70
adapter->max_rxd = MAX_RCV_DESCRIPTORS_VF;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c
71
adapter->num_jumbo_rxd = MAX_JUMBO_RCV_DESCRIPTORS_10G;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c
72
adapter->max_jumbo_rxd = MAX_JUMBO_RCV_DESCRIPTORS_10G;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c
75
adapter->num_rxd = DEFAULT_RCV_DESCRIPTORS_1G;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c
76
adapter->num_jumbo_rxd = MAX_JUMBO_RCV_DESCRIPTORS_1G;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c
77
adapter->max_jumbo_rxd = MAX_JUMBO_RCV_DESCRIPTORS_1G;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c
78
adapter->max_rxd = MAX_RCV_DESCRIPTORS_1G;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c
80
adapter->num_txd = MAX_CMD_DESCRIPTORS;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c
81
adapter->max_rds_rings = MAX_RDS_RINGS;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c
94
static int qlcnic_83xx_init_mgmt_vnic(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c
96
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c
97
struct device *dev = &adapter->pdev->dev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
1006
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
1014
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
1021
dma_free_coherent(&adapter->pdev->dev, pci_size, pci_info_addr,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
1028
int qlcnic_config_port_mirroring(struct qlcnic_adapter *adapter, u8 id,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
1031
struct device *dev = &adapter->pdev->dev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
1036
if (adapter->ahw->op_mode != QLCNIC_MGMT_FUNC ||
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
1037
!(adapter->eswitch[id].flags & QLCNIC_SWITCH_ENABLE)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
1038
dev_err(&adapter->pdev->dev, "%s: Not a management function\n",
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
104
rsp = QLCRD32(adapter, QLCNIC_CDRP_CRB_OFFSET, &err);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
1046
err = qlcnic_alloc_mbx_args(&cmd, adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
1052
err = qlcnic_issue_cmd(adapter, &cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
1065
int qlcnic_get_port_stats(struct qlcnic_adapter *adapter, const u8 func,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
1079
if ((adapter->ahw->op_mode != QLCNIC_MGMT_FUNC) &&
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
1080
(func != adapter->ahw->pci_func)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
1081
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
1086
stats_addr = dma_alloc_coherent(&adapter->pdev->dev, stats_size,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
1094
err = qlcnic_alloc_mbx_args(&cmd, adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
110
int qlcnic_82xx_issue_cmd(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
1102
err = qlcnic_issue_cmd(adapter, &cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
1122
dma_free_coherent(&adapter->pdev->dev, stats_size, stats_addr,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
1129
int qlcnic_get_mac_stats(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
1142
stats_addr = dma_alloc_coherent(&adapter->pdev->dev, stats_size,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
1147
err = qlcnic_alloc_mbx_args(&cmd, adapter, QLCNIC_CMD_GET_MAC_STATS);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
1154
err = qlcnic_issue_cmd(adapter, &cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
116
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
117
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
1177
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
1184
dma_free_coherent(&adapter->pdev->dev, stats_size, stats_addr,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
1190
int qlcnic_get_eswitch_stats(struct qlcnic_adapter *adapter, const u8 eswitch,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
1199
if (adapter->ahw->op_mode != QLCNIC_MGMT_FUNC)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
1201
if (adapter->npars == NULL)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
1214
for (i = 0; i < adapter->ahw->total_nic_func; i++) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
1215
if (adapter->npars[i].phy_port != eswitch)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
1219
if (qlcnic_get_port_stats(adapter, adapter->npars[i].pci_func,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
123
if (qlcnic_api_lock(adapter)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
1244
int qlcnic_clear_esw_stats(struct qlcnic_adapter *adapter, const u8 func_esw,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
1247
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
1271
err = qlcnic_alloc_mbx_args(&cmd, adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
1277
err = qlcnic_issue_cmd(adapter, &cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
128
QLCWR32(adapter, QLCNIC_SIGN_CRB_OFFSET, signature);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
1282
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
1288
static int __qlcnic_get_eswitch_port_config(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
1291
struct device *dev = &adapter->pdev->dev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
1296
err = qlcnic_alloc_mbx_args(&cmd, adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
130
QLCWR32(adapter, QLCNIC_CDRP_ARG(i), cmd->req.arg[i]);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
1302
err = qlcnic_issue_cmd(adapter, &cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
131
QLCWR32(adapter, QLCNIC_CDRP_CRB_OFFSET,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
1322
int qlcnic_config_switch_port(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
1325
struct device *dev = &adapter->pdev->dev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
133
rsp = qlcnic_poll_rsp(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
1331
if (adapter->ahw->op_mode != QLCNIC_MGMT_FUNC) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
1332
dev_err(&adapter->pdev->dev, "%s: Not a management function\n",
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
1338
index = qlcnic_is_valid_nic_func(adapter, pci_func);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
1341
arg1 = (adapter->npars[index].phy_port & BIT_0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
1344
if (__qlcnic_get_eswitch_port_config(adapter, &arg1, &arg2))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
1353
if (adapter->ahw->capabilities & QLCNIC_FW_CAPABILITY_TSO)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
1380
dev_err(&adapter->pdev->dev, "%s: Invalid opmode 0x%x\n",
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
1385
err = qlcnic_alloc_mbx_args(&cmd, adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
139
cmd->rsp.arg[0] = QLCRD32(adapter, QLCNIC_CDRP_ARG(1), &err);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
1392
err = qlcnic_issue_cmd(adapter, &cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
1406
qlcnic_get_eswitch_port_config(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
1413
if (adapter->ahw->op_mode == QLCNIC_MGMT_FUNC) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
1414
index = qlcnic_is_valid_nic_func(adapter, esw_cfg->pci_func);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
1417
phy_port = adapter->npars[index].phy_port;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
1419
phy_port = adapter->ahw->physical_port;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
1423
if (__qlcnic_get_eswitch_port_config(adapter, &arg1, &arg2))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
162
qlcnic_dump_mbx(adapter, cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
167
cmd->rsp.arg[i] = QLCRD32(adapter, QLCNIC_CDRP_ARG(i), &err);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
170
qlcnic_api_unlock(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
174
int qlcnic_fw_cmd_set_drv_version(struct qlcnic_adapter *adapter, u32 fw_cmd)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
186
err = qlcnic_alloc_mbx_args(&cmd, adapter, fw_cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
198
err = qlcnic_issue_cmd(adapter, &cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
200
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
209
qlcnic_fw_cmd_set_mtu(struct qlcnic_adapter *adapter, int mtu)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
213
struct qlcnic_recv_context *recv_ctx = adapter->recv_ctx;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
217
err = qlcnic_alloc_mbx_args(&cmd, adapter, QLCNIC_CMD_SET_MTU);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
224
err = qlcnic_issue_cmd(adapter, &cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
226
dev_err(&adapter->pdev->dev, "Failed to set mtu\n");
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
233
int qlcnic_82xx_fw_cmd_create_rx_ctx(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
235
struct qlcnic_recv_context *recv_ctx = adapter->recv_ctx;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
236
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
238
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
257
nrds_rings = adapter->max_rds_rings;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
258
nsds_rings = adapter->drv_sds_rings;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
265
addr = dma_alloc_coherent(&adapter->pdev->dev, rq_size,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
271
addr = dma_alloc_coherent(&adapter->pdev->dev, rsp_size,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
285
if (qlcnic_check_multi_tx(adapter) &&
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
286
!adapter->ahw->diag_test) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
329
if (qlcnic_check_multi_tx(adapter) &&
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
330
!adapter->ahw->diag_test)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
337
err = qlcnic_alloc_mbx_args(&cmd, adapter, QLCNIC_CMD_CREATE_RX_CTX);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
344
err = qlcnic_issue_cmd(adapter, &cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
346
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
366
if (qlcnic_check_multi_tx(adapter) && !adapter->ahw->diag_test)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
384
dma_free_coherent(&adapter->pdev->dev, rsp_size, prsp,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
387
dma_free_coherent(&adapter->pdev->dev, rq_size, prq, hostrq_phys_addr);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
392
void qlcnic_82xx_fw_cmd_del_rx_ctx(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
396
struct qlcnic_recv_context *recv_ctx = adapter->recv_ctx;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
398
err = qlcnic_alloc_mbx_args(&cmd, adapter, QLCNIC_CMD_DESTROY_RX_CTX);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
403
err = qlcnic_issue_cmd(adapter, &cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
405
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
412
int qlcnic_82xx_fw_cmd_create_tx_ctx(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
416
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
417
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
436
rq_addr = dma_alloc_coherent(&adapter->pdev->dev, rq_size,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
442
rsp_addr = dma_alloc_coherent(&adapter->pdev->dev, rsp_size,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
456
if (qlcnic_check_multi_tx(adapter) && !adapter->ahw->diag_test)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
461
if (qlcnic_check_multi_tx(adapter) &&
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
462
!adapter->ahw->diag_test) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
463
temp_nsds_rings = adapter->drv_sds_rings;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
483
err = qlcnic_alloc_mbx_args(&cmd, adapter, QLCNIC_CMD_CREATE_TX_CTX);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
490
err = qlcnic_issue_cmd(adapter, &cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
495
tx_ring->crb_cmd_producer = adapter->ahw->pci_base0 + temp;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
497
if (qlcnic_check_multi_tx(adapter) &&
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
498
!adapter->ahw->diag_test &&
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
499
(adapter->flags & QLCNIC_MSIX_ENABLED)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
500
index = adapter->drv_sds_rings + ring;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
515
dma_free_coherent(&adapter->pdev->dev, rsp_size, rsp_addr,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
518
dma_free_coherent(&adapter->pdev->dev, rq_size, rq_addr, rq_phys_addr);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
523
void qlcnic_82xx_fw_cmd_del_tx_ctx(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
529
ret = qlcnic_alloc_mbx_args(&cmd, adapter, QLCNIC_CMD_DESTROY_TX_CTX);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
53
struct qlcnic_adapter *adapter, u32 type)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
534
if (qlcnic_issue_cmd(adapter, &cmd))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
535
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
541
qlcnic_fw_cmd_set_port(struct qlcnic_adapter *adapter, u32 config)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
546
err = qlcnic_alloc_mbx_args(&cmd, adapter, QLCNIC_CMD_CONFIG_PORT);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
551
err = qlcnic_issue_cmd(adapter, &cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
556
int qlcnic_alloc_hw_resources(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
566
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
568
recv_ctx = adapter->recv_ctx;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
570
for (ring = 0; ring < adapter->drv_tx_rings; ring++) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
571
tx_ring = &adapter->tx_ring[ring];
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
593
for (ring = 0; ring < adapter->max_rds_rings; ring++) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
595
addr = dma_alloc_coherent(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
606
for (ring = 0; ring < adapter->drv_sds_rings; ring++) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
609
addr = dma_alloc_coherent(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
622
qlcnic_free_hw_resources(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
693
void qlcnic_fw_destroy_ctx(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
697
if (test_and_clear_bit(__QLCNIC_FW_ATTACHED, &adapter->state)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
698
qlcnic_fw_cmd_del_rx_ctx(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
699
for (ring = 0; ring < adapter->drv_tx_rings; ring++)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
700
qlcnic_fw_cmd_del_tx_ctx(adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
701
&adapter->tx_ring[ring]);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
703
if (qlcnic_82xx_check(adapter) &&
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
704
(adapter->flags & QLCNIC_MSIX_ENABLED) &&
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
705
qlcnic_check_multi_tx(adapter) &&
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
706
!adapter->ahw->diag_test)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
707
qlcnic_82xx_config_intrpt(adapter, 0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
709
if (qlcnic_83xx_check(adapter) &&
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
710
(adapter->flags & QLCNIC_MSIX_ENABLED)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
711
if (adapter->ahw->diag_test != QLCNIC_LOOPBACK_TEST)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
712
qlcnic_83xx_config_intrpt(adapter, 0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
719
void qlcnic_free_hw_resources(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
727
recv_ctx = adapter->recv_ctx;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
729
for (ring = 0; ring < adapter->drv_tx_rings; ring++) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
730
tx_ring = &adapter->tx_ring[ring];
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
732
dma_free_coherent(&adapter->pdev->dev, sizeof(u32),
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
740
dma_free_coherent(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
748
for (ring = 0; ring < adapter->max_rds_rings; ring++) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
752
dma_free_coherent(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
760
for (ring = 0; ring < adapter->drv_sds_rings; ring++) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
764
dma_free_coherent(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
773
int qlcnic_82xx_config_intrpt(struct qlcnic_adapter *adapter, u8 op_type)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
775
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
776
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
782
err = qlcnic_alloc_mbx_args(&cmd, adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
791
err = qlcnic_issue_cmd(adapter, &cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
821
int qlcnic_82xx_get_mac_address(struct qlcnic_adapter *adapter, u8 *mac,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
828
err = qlcnic_alloc_mbx_args(&cmd, adapter, QLCNIC_CMD_MAC_ADDRESS);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
833
err = qlcnic_issue_cmd(adapter, &cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
844
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
853
int qlcnic_82xx_get_nic_info(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
863
nic_info_addr = dma_alloc_coherent(&adapter->pdev->dev, nic_size,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
870
err = qlcnic_alloc_mbx_args(&cmd, adapter, QLCNIC_CMD_GET_NIC_INFO);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
877
err = qlcnic_issue_cmd(adapter, &cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
879
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
897
dma_free_coherent(&adapter->pdev->dev, nic_size, nic_info_addr,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
904
int qlcnic_82xx_set_nic_info(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
914
if (adapter->ahw->op_mode != QLCNIC_MGMT_FUNC)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
917
nic_info_addr = dma_alloc_coherent(&adapter->pdev->dev, nic_size,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
92
qlcnic_poll_rsp(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
935
err = qlcnic_alloc_mbx_args(&cmd, adapter, QLCNIC_CMD_SET_NIC_INFO);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
942
err = qlcnic_issue_cmd(adapter, &cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
945
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
952
dma_free_coherent(&adapter->pdev->dev, nic_size, nic_info_addr,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
959
int qlcnic_82xx_get_pci_info(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
962
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
972
pci_info_addr = dma_alloc_coherent(&adapter->pdev->dev, pci_size,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
978
err = qlcnic_alloc_mbx_args(&cmd, adapter, QLCNIC_CMD_GET_PCI_INFO);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
985
err = qlcnic_issue_cmd(adapter, &cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c
995
err = qlcnic_get_pci_func_type(adapter, pci_info->type,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
1018
struct qlcnic_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
1025
if (!test_bit(QLCNIC_DCB_STATE, &adapter->dcb->state))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
1028
peer = &adapter->dcb->cfg->type[QLC_DCB_PEER_IDX];
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
1041
struct qlcnic_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
1046
if (!test_bit(QLCNIC_DCB_STATE, &adapter->dcb->state))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
1049
peer = &adapter->dcb->cfg->type[QLC_DCB_PEER_IDX];
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
1067
struct qlcnic_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
1071
if (!test_bit(QLCNIC_DCB_STATE, &adapter->dcb->state))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
1074
peer = &adapter->dcb->cfg->type[QLC_DCB_PEER_IDX];
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
1098
struct qlcnic_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
1099
struct qlcnic_dcb_cfg *cfg = adapter->dcb->cfg;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
1106
if (!test_bit(QLCNIC_DCB_STATE, &adapter->dcb->state))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
195
static u8 qlcnic_dcb_get_num_app(struct qlcnic_adapter *adapter, u32 val)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
197
if (qlcnic_82xx_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
203
static inline u8 qlcnic_dcb_pfc_hdr_valid(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
206
if (qlcnic_82xx_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
212
static inline u8 qlcnic_dcb_tsa_hdr_valid(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
215
if (qlcnic_82xx_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
221
static inline u8 qlcnic_dcb_get_prio_map_app(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
224
if (qlcnic_82xx_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
244
dcb->adapter->netdev->dcbnl_ops = &qlcnic_dcbnl_ops;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
247
static void qlcnic_set_dcb_ops(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
249
if (qlcnic_82xx_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
250
adapter->dcb->ops = &qlcnic_82xx_dcb_ops;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
251
else if (qlcnic_83xx_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
252
adapter->dcb->ops = &qlcnic_83xx_dcb_ops;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
255
int qlcnic_register_dcb(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
259
if (qlcnic_sriov_vf_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
266
adapter->dcb = dcb;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
267
dcb->adapter = adapter;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
268
qlcnic_set_dcb_ops(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
276
struct qlcnic_adapter *adapter;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
281
adapter = dcb->adapter;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
298
adapter->dcb = NULL;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
315
dev_err(&dcb->adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
346
struct qlcnic_adapter *adapter = dcb->adapter;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
351
err = qlcnic_alloc_mbx_args(&cmd, adapter, QLCNIC_CMD_DCB_QUERY_CAP);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
355
err = qlcnic_issue_cmd(adapter, &cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
357
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
396
dev_err(&dcb->adapter->pdev->dev, "Invalid DCB configuration\n");
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
427
struct qlcnic_adapter *adapter = dcb->adapter;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
429
struct device *dev = &adapter->pdev->dev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
453
err = qlcnic_alloc_mbx_args(&cmd, adapter, QLCNIC_CMD_DCB_QUERY_PARAM);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
462
err = qlcnic_issue_cmd(adapter, &cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
518
qlcnic_dcb_data_cee_param_map(dcb->adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
567
struct qlcnic_adapter *adapter = dcb->adapter;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
579
err = qlcnic_alloc_mbx_args(&cmd, adapter, QLCNIC_CMD_DCB_QUERY_PARAM);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
584
err = qlcnic_issue_cmd(adapter, &cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
586
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
609
max_app = qlcnic_dcb_get_num_app(adapter, val);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
635
qlcnic_dcb_data_cee_param_map(dcb->adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
710
qlcnic_dcb_fill_cee_app_params(struct qlcnic_adapter *adapter, u8 idx,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
718
num_app = qlcnic_dcb_get_num_app(adapter, each->hdr_prio_pfc_map[0]);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
728
map = qlcnic_dcb_get_prio_map_app(adapter, each->app[i]);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
737
if (idx == QLC_DCB_OPER_IDX && adapter->netdev->dcbnl_ops)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
738
dcb_setapp(adapter->netdev, &new_app);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
742
static void qlcnic_dcb_map_cee_params(struct qlcnic_adapter *adapter, u8 idx)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
744
struct qlcnic_dcb_mbx_params *mbx = adapter->dcb->param;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
746
struct qlcnic_dcb_cfg *cfg = adapter->dcb->cfg;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
756
if (qlcnic_dcb_pfc_hdr_valid(adapter, each->hdr_prio_pfc_map[0]) &&
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
760
if (qlcnic_dcb_tsa_hdr_valid(adapter, each->hdr_prio_pfc_map[0]) &&
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
766
qlcnic_dcb_fill_cee_app_params(adapter, idx, each, type);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
769
static void qlcnic_dcb_data_cee_param_map(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
774
qlcnic_dcb_map_cee_params(adapter, i);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
776
dcbnl_cee_notify(adapter->netdev, RTM_GETDCB, DCB_CMD_CEE_GET, 0, 0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
781
struct qlcnic_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
783
return test_bit(QLCNIC_DCB_STATE, &adapter->dcb->state);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
795
struct qlcnic_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
800
type = &adapter->dcb->cfg->type[QLC_DCB_OPER_IDX];
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
803
if (!test_bit(QLCNIC_DCB_STATE, &adapter->dcb->state) ||
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
832
struct qlcnic_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
837
type = &adapter->dcb->cfg->type[QLC_DCB_OPER_IDX];
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
839
if (!test_bit(QLCNIC_DCB_STATE, &adapter->dcb->state) ||
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
856
struct qlcnic_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
863
type = &adapter->dcb->cfg->type[QLC_DCB_OPER_IDX];
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
865
if (!test_bit(QLCNIC_DCB_STATE, &adapter->dcb->state) ||
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
882
struct qlcnic_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
884
if (!test_bit(QLCNIC_DCB_STATE, &adapter->dcb->state))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
899
*cap = adapter->dcb->cfg->capability.dcb_capability;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
910
struct qlcnic_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
911
struct qlcnic_dcb_cfg *cfg = adapter->dcb->cfg;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
913
if (!test_bit(QLCNIC_DCB_STATE, &adapter->dcb->state))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
930
struct qlcnic_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
936
if (!test_bit(QLCNIC_DCB_STATE, &adapter->dcb->state))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
944
struct qlcnic_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
945
struct qlcnic_dcb *dcb = adapter->dcb;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
955
struct qlcnic_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
956
struct qlcnic_dcb_cfg *cfg = adapter->dcb->cfg;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
958
if (!test_bit(QLCNIC_DCB_STATE, &adapter->dcb->state))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
966
struct qlcnic_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
969
if (!test_bit(QLCNIC_DCB_STATE, &adapter->dcb->state))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
972
type = &adapter->dcb->cfg->type[QLC_DCB_OPER_IDX];
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.h
16
static inline int qlcnic_register_dcb(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.h
36
struct qlcnic_adapter *adapter;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1013
adapter->drv_sds_rings = drv_sds_rings;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1014
adapter->drv_tx_rings = drv_tx_rings;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1015
clear_bit(__QLCNIC_RESETTING, &adapter->state);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1045
int qlcnic_do_lb_test(struct qlcnic_adapter *adapter, u8 mode)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1047
struct qlcnic_recv_context *recv_ctx = adapter->recv_ctx;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1053
skb = netdev_alloc_skb(adapter->netdev, QLCNIC_ILB_PKT_SIZE);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1056
qlcnic_create_loopback_buff(skb->data, adapter->mac_addr);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1058
adapter->ahw->diag_cnt = 0;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1059
qlcnic_xmit_frame(skb, adapter->netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1067
} while (!adapter->ahw->diag_cnt);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1071
if (!adapter->ahw->diag_cnt)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1072
dev_warn(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1080
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1083
dev_warn(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1092
struct qlcnic_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1093
int drv_tx_rings = adapter->drv_tx_rings;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1094
int drv_sds_rings = adapter->drv_sds_rings;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1096
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1100
if (qlcnic_83xx_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1104
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1109
dev_warn(&adapter->pdev->dev, "%s loopback test in progress\n",
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1112
dev_warn(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1117
if (test_and_set_bit(__QLCNIC_RESETTING, &adapter->state))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1124
sds_ring = &adapter->recv_ctx->sds_rings[0];
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1125
ret = qlcnic_set_lb_mode(adapter, mode);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1138
} else if (adapter->ahw->diag_cnt) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1139
ret = adapter->ahw->diag_cnt;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1144
ret = qlcnic_do_lb_test(adapter, mode);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1146
qlcnic_clear_lb_mode(adapter, mode);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1152
adapter->drv_sds_rings = drv_sds_rings;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1153
adapter->drv_tx_rings = drv_tx_rings;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1154
clear_bit(__QLCNIC_RESETTING, &adapter->state);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1197
struct qlcnic_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1208
for (i = 0; i < adapter->drv_tx_rings; i++)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1220
if (qlcnic_83xx_check(adapter)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1244
if (!(adapter->flags & QLCNIC_ESWITCH_ENABLED))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1304
void qlcnic_update_stats(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1311
for (ring = 0; ring < adapter->drv_tx_rings; ring++) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1312
tx_ring = &adapter->tx_ring[ring];
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1320
adapter->stats.xmit_on = tx_stats.xmit_on;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1321
adapter->stats.xmit_off = tx_stats.xmit_off;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1322
adapter->stats.xmitcalled = tx_stats.xmit_called;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1323
adapter->stats.xmitfinished = tx_stats.xmit_finished;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1324
adapter->stats.txbytes = tx_stats.tx_bytes;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1345
struct qlcnic_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1354
for (ring = 0; ring < adapter->drv_tx_rings; ring++) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1355
if (adapter->is_up == QLCNIC_ADAPTER_UP_MAGIC) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1356
tx_ring = &adapter->tx_ring[ring];
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1358
qlcnic_update_stats(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1366
p = (char *)adapter + qlcnic_gstrings_stats[index].stat_offset;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1371
if (qlcnic_83xx_check(adapter)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1372
if (adapter->ahw->linkup)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1373
qlcnic_83xx_get_stats(adapter, data);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1378
qlcnic_get_mac_stats(adapter, &mac_stats);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1382
if (!(adapter->flags & QLCNIC_ESWITCH_ENABLED))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1386
ret = qlcnic_get_port_stats(adapter, adapter->ahw->pci_func,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1392
ret = qlcnic_get_port_stats(adapter, adapter->ahw->pci_func,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1403
struct qlcnic_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1404
int drv_sds_rings = adapter->drv_sds_rings;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1407
if (qlcnic_83xx_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1410
if (adapter->ahw->op_mode == QLCNIC_NON_PRIV_FUNC) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1418
if (test_and_set_bit(__QLCNIC_LED_ENABLE, &adapter->state))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1421
if (test_bit(__QLCNIC_RESETTING, &adapter->state))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1424
if (!test_bit(__QLCNIC_DEV_UP, &adapter->state)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1427
set_bit(__QLCNIC_DIAG_RES_ALLOC, &adapter->state);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1430
if (adapter->nic_ops->config_led(adapter, 1, 0xf) == 0) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1435
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1442
if (test_bit(__QLCNIC_RESETTING, &adapter->state))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1445
if (!test_bit(__QLCNIC_DEV_UP, &adapter->state)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1448
set_bit(__QLCNIC_DIAG_RES_ALLOC, &adapter->state);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1451
if (adapter->nic_ops->config_led(adapter, 0, 0xf))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1452
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1461
if (test_and_clear_bit(__QLCNIC_DIAG_RES_ALLOC, &adapter->state))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1465
clear_bit(__QLCNIC_LED_ENABLE, &adapter->state);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1473
struct qlcnic_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1477
if (qlcnic_83xx_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1482
wol_cfg = QLCRD32(adapter, QLCNIC_WOL_CONFIG_NV, &err);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1485
if (wol_cfg & (1UL << adapter->portnum))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1488
wol_cfg = QLCRD32(adapter, QLCNIC_WOL_CONFIG, &err);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1489
if (wol_cfg & (1UL << adapter->portnum))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1496
struct qlcnic_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1500
if (qlcnic_83xx_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1505
wol_cfg = QLCRD32(adapter, QLCNIC_WOL_CONFIG_NV, &err);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1508
if (!(wol_cfg & (1 << adapter->portnum)))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1511
wol_cfg = QLCRD32(adapter, QLCNIC_WOL_CONFIG, &err);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1515
wol_cfg |= 1UL << adapter->portnum;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1517
wol_cfg &= ~(1UL << adapter->portnum);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1519
QLCWR32(adapter, QLCNIC_WOL_CONFIG, wol_cfg);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1534
struct qlcnic_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1537
if (!test_bit(__QLCNIC_DEV_UP, &adapter->state))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1550
err = qlcnic_config_intr_coalesce(adapter, ethcoal);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1560
struct qlcnic_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1562
if (adapter->is_up != QLCNIC_ADAPTER_UP_MAGIC)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1565
ethcoal->rx_coalesce_usecs = adapter->ahw->coal.rx_time_us;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1566
ethcoal->rx_max_coalesced_frames = adapter->ahw->coal.rx_packets;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1567
ethcoal->tx_coalesce_usecs = adapter->ahw->coal.tx_time_us;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1568
ethcoal->tx_max_coalesced_frames = adapter->ahw->coal.tx_packets;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1575
struct qlcnic_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1577
return adapter->ahw->msg_enable;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1582
struct qlcnic_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1584
adapter->ahw->msg_enable = msglvl;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1587
int qlcnic_enable_fw_dump_state(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1589
struct qlcnic_fw_dump *fw_dump = &adapter->ahw->fw_dump;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1592
if (qlcnic_84xx_check(adapter)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1593
if (qlcnic_83xx_lock_driver(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1596
val = QLCRDX(adapter->ahw, QLC_83XX_IDC_CTRL);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1598
QLCWRX(adapter->ahw, QLC_83XX_IDC_CTRL, val);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1600
qlcnic_83xx_unlock_driver(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1605
dev_info(&adapter->pdev->dev, "FW dump enabled\n");
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1610
static int qlcnic_disable_fw_dump_state(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1612
struct qlcnic_fw_dump *fw_dump = &adapter->ahw->fw_dump;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1615
if (qlcnic_84xx_check(adapter)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1616
if (qlcnic_83xx_lock_driver(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1619
val = QLCRDX(adapter->ahw, QLC_83XX_IDC_CTRL);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1621
QLCWRX(adapter->ahw, QLC_83XX_IDC_CTRL, val);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1623
qlcnic_83xx_unlock_driver(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1628
dev_info(&adapter->pdev->dev, "FW dump disabled\n");
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1633
bool qlcnic_check_fw_dump_state(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1635
struct qlcnic_fw_dump *fw_dump = &adapter->ahw->fw_dump;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1639
if (qlcnic_84xx_check(adapter)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1640
val = QLCRDX(adapter->ahw, QLC_83XX_IDC_CTRL);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1652
struct qlcnic_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1653
struct qlcnic_fw_dump *fw_dump = &adapter->ahw->fw_dump;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1656
netdev_err(adapter->netdev, "FW Dump not supported\n");
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1665
if (!qlcnic_check_fw_dump_state(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1670
dump->version = adapter->fw_version;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1681
struct qlcnic_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1682
struct qlcnic_fw_dump *fw_dump = &adapter->ahw->fw_dump;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1714
static int qlcnic_set_dump_mask(struct qlcnic_adapter *adapter, u32 mask)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1716
struct qlcnic_fw_dump *fw_dump = &adapter->ahw->fw_dump;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1717
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1719
if (!qlcnic_check_fw_dump_state(adapter)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1729
qlcnic_store_cap_mask(adapter, fw_dump->tmpl_hdr, mask);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1738
struct qlcnic_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1739
struct qlcnic_fw_dump *fw_dump = &adapter->ahw->fw_dump;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1751
if (!qlcnic_check_fw_dump_state(adapter)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
176
static inline int qlcnic_82xx_statistics(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1764
qlcnic_dev_request_reset(adapter, val->flag);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1773
ret = qlcnic_disable_fw_dump_state(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1783
ret = qlcnic_enable_fw_dump_state(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1788
qlcnic_dev_request_reset(adapter, val->flag);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1789
adapter->flags &= ~QLCNIC_FW_RESET_OWNER;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1794
if (test_bit(__QLCNIC_MAINTENANCE_MODE, &adapter->state))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
180
QLCNIC_TX_STATS_LEN * adapter->drv_tx_rings;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
1813
ret = qlcnic_set_dump_mask(adapter, val->flag);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
183
static inline int qlcnic_83xx_statistics(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
189
QLCNIC_TX_STATS_LEN * adapter->drv_tx_rings;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
192
static int qlcnic_dev_statistics_len(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
196
if (qlcnic_82xx_check(adapter)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
197
len = qlcnic_82xx_statistics(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
198
if (adapter->flags & QLCNIC_ESWITCH_ENABLED)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
200
} else if (qlcnic_83xx_check(adapter)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
201
len = qlcnic_83xx_statistics(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
241
static inline int qlcnic_get_ring_regs_len(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
243
int ring_regs_cnt = (adapter->drv_tx_rings * 5) +
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
244
(adapter->max_rds_rings * 2) +
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
245
(adapter->drv_sds_rings * 3) + 5;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
251
struct qlcnic_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
254
if (qlcnic_83xx_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
255
len = qlcnic_83xx_get_regs_len(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
260
len += qlcnic_get_ring_regs_len(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
272
struct qlcnic_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
274
fw_major = QLC_SHARED_REG_RD32(adapter, QLCNIC_FW_VERSION_MAJOR);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
275
fw_minor = QLC_SHARED_REG_RD32(adapter, QLCNIC_FW_VERSION_MINOR);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
276
fw_build = QLC_SHARED_REG_RD32(adapter, QLCNIC_FW_VERSION_SUB);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
280
strscpy(drvinfo->bus_info, pci_name(adapter->pdev),
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
287
static int qlcnic_82xx_get_link_ksettings(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
290
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
297
if (adapter->ahw->port_type == QLCNIC_GBE) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
310
ecmd->base.speed = adapter->ahw->link_speed;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
311
ecmd->base.duplex = adapter->ahw->link_duplex;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
312
ecmd->base.autoneg = adapter->ahw->link_autoneg;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
314
} else if (adapter->ahw->port_type == QLCNIC_XGBE) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
316
val = QLCRD32(adapter, QLCNIC_PORT_MODE_ADDR, &err);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
326
if (netif_running(adapter->netdev) && ahw->has_link_events) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
328
reg = QLCRD32(adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
347
ecmd->base.phy_address = adapter->ahw->physical_port;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
349
switch (adapter->ahw->board_type) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
362
ecmd->base.autoneg = adapter->ahw->link_autoneg;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
377
check_sfp_module = netif_running(adapter->netdev) &&
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
387
if (adapter->ahw->port_type == QLCNIC_XGBE) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
393
check_sfp_module = netif_running(adapter->netdev) &&
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
404
dev_err(&adapter->pdev->dev, "Unsupported board model %d\n",
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
405
adapter->ahw->board_type);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
410
switch (adapter->ahw->module_type) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
438
struct qlcnic_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
440
if (qlcnic_82xx_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
441
return qlcnic_82xx_get_link_ksettings(adapter, ecmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
442
else if (qlcnic_83xx_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
443
return qlcnic_83xx_get_link_ksettings(adapter, ecmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
449
static int qlcnic_set_port_config(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
474
ret = qlcnic_fw_cmd_set_port(adapter, config);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
487
struct qlcnic_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
489
if (qlcnic_83xx_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
490
qlcnic_83xx_get_port_type(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
492
if (adapter->ahw->port_type != QLCNIC_GBE)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
495
if (qlcnic_83xx_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
496
ret = qlcnic_83xx_set_link_ksettings(adapter, ecmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
498
ret = qlcnic_set_port_config(adapter, ecmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
503
adapter->ahw->link_speed = ecmd->base.speed;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
504
adapter->ahw->link_duplex = ecmd->base.duplex;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
505
adapter->ahw->link_autoneg = ecmd->base.autoneg;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
514
static int qlcnic_82xx_get_registers(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
520
regs_buff[i] = QLC_SHARED_REG_RD32(adapter, diag_registers[j]);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
523
regs_buff[i++] = QLCRD32(adapter, ext_diag_registers[j++],
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
531
struct qlcnic_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
532
struct qlcnic_recv_context *recv_ctx = adapter->recv_ctx;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
542
(adapter->ahw->revision_id << 16) | (adapter->pdev)->device;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
547
if (adapter->ahw->capabilities & QLC_83XX_ESWITCH_CAPABILITY)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
548
regs_buff[2] = adapter->ahw->max_vnic_func;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
550
if (qlcnic_82xx_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
551
i = qlcnic_82xx_get_registers(adapter, regs_buff);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
553
i = qlcnic_83xx_get_registers(adapter, regs_buff);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
555
if (!test_bit(__QLCNIC_DEV_UP, &adapter->state))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
561
regs_buff[i++] = adapter->drv_tx_rings; /* No. of TX ring */
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
562
for (ring = 0; ring < adapter->drv_tx_rings; ring++) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
563
tx_ring = &adapter->tx_ring[ring];
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
574
regs_buff[i++] = adapter->max_rds_rings; /* No. of RX ring */
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
575
for (ring = 0; ring < adapter->max_rds_rings; ring++) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
581
regs_buff[i++] = adapter->drv_sds_rings; /* No. of SDS ring */
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
582
for (ring = 0; ring < adapter->drv_sds_rings; ring++) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
592
struct qlcnic_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
596
if (qlcnic_83xx_check(adapter)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
597
val = qlcnic_83xx_test_link(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
600
val = QLCRD32(adapter, CRB_XG_STATE_P3P, &err);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
603
val = XG_LINK_STATE_P3P(adapter->ahw->pci_func, val);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
611
struct qlcnic_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
615
if (qlcnic_83xx_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
620
eeprom->magic = (adapter->pdev)->vendor |
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
621
((adapter->pdev)->device << 16);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
624
if (qlcnic_82xx_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
625
ret = qlcnic_rom_fast_read_words(adapter, offset, bytes,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
639
struct qlcnic_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
641
ring->rx_pending = adapter->num_rxd;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
642
ring->rx_jumbo_pending = adapter->num_jumbo_rxd;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
643
ring->tx_pending = adapter->num_txd;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
645
ring->rx_max_pending = adapter->max_rxd;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
646
ring->rx_jumbo_max_pending = adapter->max_jumbo_rxd;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
672
struct qlcnic_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
679
MIN_RCV_DESCRIPTORS, adapter->max_rxd, "rx");
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
682
MIN_JUMBO_DESCRIPTORS, adapter->max_jumbo_rxd,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
688
if (num_rxd == adapter->num_rxd && num_txd == adapter->num_txd &&
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
689
num_jumbo_rxd == adapter->num_jumbo_rxd)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
692
adapter->num_rxd = num_rxd;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
693
adapter->num_jumbo_rxd = num_jumbo_rxd;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
694
adapter->num_txd = num_txd;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
696
return qlcnic_reset_context(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
699
static int qlcnic_validate_ring_count(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
706
if (rx_ring > adapter->max_sds_rings) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
707
netdev_err(adapter->netdev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
709
rx_ring, adapter->max_sds_rings);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
715
if (tx_ring > adapter->max_tx_rings) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
716
netdev_err(adapter->netdev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
718
tx_ring, adapter->max_tx_rings);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
729
struct qlcnic_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
731
channel->max_rx = adapter->max_sds_rings;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
732
channel->max_tx = adapter->max_tx_rings;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
733
channel->rx_count = adapter->drv_sds_rings;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
734
channel->tx_count = adapter->drv_tx_rings;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
740
struct qlcnic_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
743
if (!(adapter->flags & QLCNIC_MSIX_ENABLED)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
751
err = qlcnic_validate_ring_count(adapter, channel->rx_count,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
756
if (adapter->drv_sds_rings != channel->rx_count) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
757
err = qlcnic_validate_rings(adapter, channel->rx_count,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
764
adapter->drv_rss_rings = channel->rx_count;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
767
if (adapter->drv_tx_rings != channel->tx_count) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
768
err = qlcnic_validate_rings(adapter, channel->tx_count,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
775
adapter->drv_tss_rings = channel->tx_count;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
778
adapter->flags |= QLCNIC_TSS_RSS;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
780
err = qlcnic_setup_rings(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
782
adapter->drv_sds_rings, adapter->drv_tx_rings);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
791
struct qlcnic_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
792
int port = adapter->ahw->physical_port;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
796
if (qlcnic_83xx_check(adapter)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
797
qlcnic_83xx_get_pauseparam(adapter, pause);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
800
if (adapter->ahw->port_type == QLCNIC_GBE) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
804
val = QLCRD32(adapter, QLCNIC_NIU_GB_MAC_CONFIG_0(port), &err);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
808
val = QLCRD32(adapter, QLCNIC_NIU_GB_PAUSE_CTL, &err);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
826
} else if (adapter->ahw->port_type == QLCNIC_XGBE) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
830
val = QLCRD32(adapter, QLCNIC_NIU_XG_PAUSE_CTL, &err);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
839
adapter->ahw->port_type);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
847
struct qlcnic_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
848
int port = adapter->ahw->physical_port;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
852
if (qlcnic_83xx_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
853
return qlcnic_83xx_set_pauseparam(adapter, pause);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
856
if (adapter->ahw->port_type == QLCNIC_GBE) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
860
val = QLCRD32(adapter, QLCNIC_NIU_GB_MAC_CONFIG_0(port), &err);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
869
QLCWR32(adapter, QLCNIC_NIU_GB_MAC_CONFIG_0(port),
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
871
QLCWR32(adapter, QLCNIC_NIU_GB_MAC_CONFIG_0(port), val);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
873
val = QLCRD32(adapter, QLCNIC_NIU_GB_PAUSE_CTL, &err);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
903
QLCWR32(adapter, QLCNIC_NIU_GB_PAUSE_CTL, val);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
904
} else if (adapter->ahw->port_type == QLCNIC_XGBE) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
911
val = QLCRD32(adapter, QLCNIC_NIU_XG_PAUSE_CTL, &err);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
925
QLCWR32(adapter, QLCNIC_NIU_XG_PAUSE_CTL, val);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
928
adapter->ahw->port_type);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
935
struct qlcnic_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
939
if (qlcnic_83xx_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
940
return qlcnic_83xx_reg_test(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
942
data_read = QLCRD32(adapter, QLCNIC_PCIX_PH_REG(0), &err);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
945
if ((data_read & 0xffff) != adapter->pdev->vendor)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
953
struct qlcnic_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
955
if (qlcnic_82xx_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
958
return qlcnic_83xx_flash_test(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
964
struct qlcnic_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
969
return qlcnic_dev_statistics_len(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
977
struct qlcnic_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
978
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
980
int ret, drv_sds_rings = adapter->drv_sds_rings;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
981
int drv_tx_rings = adapter->drv_tx_rings;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
983
if (qlcnic_83xx_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
986
if (test_and_set_bit(__QLCNIC_RESETTING, &adapter->state))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
994
ret = qlcnic_alloc_mbx_args(&cmd, adapter, QLCNIC_CMD_INTRPT_TEST);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
999
ret = qlcnic_issue_cmd(adapter, &cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1012
struct qlcnic_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1015
rc = qlcnic_fw_cmd_set_mtu(adapter, mtu);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1023
static netdev_features_t qlcnic_process_flags(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1026
u32 offload_flags = adapter->offload_flags;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1031
adapter->rx_csum = 1;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1032
if (QLCNIC_IS_TSO_CAPABLE(adapter)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1048
if (QLCNIC_IS_TSO_CAPABLE(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1050
adapter->rx_csum = 0;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1059
struct qlcnic_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1062
if (qlcnic_82xx_check(adapter) &&
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1063
(adapter->flags & QLCNIC_ESWITCH_ENABLED)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1064
if (adapter->flags & QLCNIC_APP_CHANGED_FLAGS) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1065
features = qlcnic_process_flags(adapter, features);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1085
struct qlcnic_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1094
if (qlcnic_config_hw_lro(adapter, hw_lro))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1097
if (!hw_lro && qlcnic_82xx_check(adapter)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1098
if (qlcnic_send_lro_cleanup(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1148
qlcnic_pci_set_crbwindow_2M(struct qlcnic_adapter *adapter, ulong off)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1151
void __iomem *addr = adapter->ahw->pci_base0 + CRB_WINDOW_2M;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1157
dev_err(&adapter->pdev->dev, "Invalid offset 0x%lx\n", off);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1164
dev_warn(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1172
int qlcnic_82xx_hw_write_wx_2M(struct qlcnic_adapter *adapter, ulong off,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1179
rv = qlcnic_pci_get_crb_addr_2M(adapter->ahw, off, &addr);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1188
write_lock_irqsave(&adapter->ahw->crb_lock, flags);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1189
crb_win_lock(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1190
rv = qlcnic_pci_set_crbwindow_2M(adapter, off);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1193
crb_win_unlock(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1194
write_unlock_irqrestore(&adapter->ahw->crb_lock, flags);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1198
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1204
int qlcnic_82xx_hw_read_wx_2M(struct qlcnic_adapter *adapter, ulong off,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1212
rv = qlcnic_pci_get_crb_addr_2M(adapter->ahw, off, &addr);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1219
write_lock_irqsave(&adapter->ahw->crb_lock, flags);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1220
crb_win_lock(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1221
if (!qlcnic_pci_set_crbwindow_2M(adapter, off))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1223
crb_win_unlock(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1224
write_unlock_irqrestore(&adapter->ahw->crb_lock, flags);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1228
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1244
static int qlcnic_pci_mem_access_direct(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1250
mutex_lock(&adapter->ahw->mem_lock);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1252
writel(window, adapter->ahw->ocm_win_crb);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1254
readl(adapter->ahw->ocm_win_crb);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1257
addr = adapter->ahw->pci_base0 + start;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1265
writel(0, adapter->ahw->ocm_win_crb);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1266
readl(adapter->ahw->ocm_win_crb);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1268
mutex_unlock(&adapter->ahw->mem_lock);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1273
qlcnic_pci_camqm_read_2M(struct qlcnic_adapter *adapter, u64 off, u64 *data)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1275
void __iomem *addr = adapter->ahw->pci_base0 +
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1278
mutex_lock(&adapter->ahw->mem_lock);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1280
mutex_unlock(&adapter->ahw->mem_lock);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1284
qlcnic_pci_camqm_write_2M(struct qlcnic_adapter *adapter, u64 off, u64 data)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1286
void __iomem *addr = adapter->ahw->pci_base0 +
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1289
mutex_lock(&adapter->ahw->mem_lock);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1291
mutex_unlock(&adapter->ahw->mem_lock);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1297
static void qlcnic_set_ms_controls(struct qlcnic_adapter *adapter, u64 off,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1327
int qlcnic_pci_mem_write_2M(struct qlcnic_adapter *adapter, u64 off, u64 data)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1344
qlcnic_set_ms_controls(adapter, off, &ms);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1347
return qlcnic_pci_mem_access_direct(adapter, ms.ocm_window,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1352
mutex_lock(&adapter->ahw->mem_lock);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1354
qlcnic_ind_wr(adapter, ms.low, off8);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1355
qlcnic_ind_wr(adapter, ms.hi, 0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1357
qlcnic_ind_wr(adapter, ms.control, TA_CTL_ENABLE);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1358
qlcnic_ind_wr(adapter, ms.control, QLCNIC_TA_START_ENABLE);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1361
temp = qlcnic_ind_rd(adapter, ms.control);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1372
qlcnic_ind_wr(adapter, ms.wd[0], qlcnic_ind_rd(adapter, ms.rd[0]));
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1373
qlcnic_ind_wr(adapter, ms.wd[1], qlcnic_ind_rd(adapter, ms.rd[1]));
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1375
qlcnic_ind_wr(adapter, ms.wd[2], data & 0xffffffff);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1376
qlcnic_ind_wr(adapter, ms.wd[3], (data >> 32) & 0xffffffff);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1378
qlcnic_ind_wr(adapter, ms.control, QLCNIC_TA_WRITE_ENABLE);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1379
qlcnic_ind_wr(adapter, ms.control, QLCNIC_TA_WRITE_START);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1382
temp = qlcnic_ind_rd(adapter, ms.control);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1389
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1396
mutex_unlock(&adapter->ahw->mem_lock);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1401
int qlcnic_pci_mem_read_2M(struct qlcnic_adapter *adapter, u64 off, u64 *data)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1418
qlcnic_set_ms_controls(adapter, off, &ms);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1421
return qlcnic_pci_mem_access_direct(adapter, ms.ocm_window,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1424
mutex_lock(&adapter->ahw->mem_lock);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1428
qlcnic_ind_wr(adapter, ms.low, off8);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1429
qlcnic_ind_wr(adapter, ms.hi, 0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1431
qlcnic_ind_wr(adapter, ms.control, TA_CTL_ENABLE);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1432
qlcnic_ind_wr(adapter, ms.control, QLCNIC_TA_START_ENABLE);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1435
temp = qlcnic_ind_rd(adapter, ms.control);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1442
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1447
temp = qlcnic_ind_rd(adapter, ms.rd[3]);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1449
val |= qlcnic_ind_rd(adapter, ms.rd[2]);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1454
mutex_unlock(&adapter->ahw->mem_lock);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1459
int qlcnic_82xx_get_board_info(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1462
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1465
if (qlcnic_rom_fast_read(adapter, offset, &magic))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1475
if (qlcnic_rom_fast_read(adapter, offset, &board_type))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1478
adapter->ahw->board_type = board_type;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1481
u32 gpio = QLCRD32(adapter, QLCNIC_ROMUSB_GLB_PAD_GPIO_I, &err);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1499
adapter->ahw->port_type = QLCNIC_XGBE;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1504
adapter->ahw->port_type = QLCNIC_GBE;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1507
adapter->ahw->port_type = (adapter->portnum < 2) ?
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1512
adapter->ahw->port_type = QLCNIC_XGBE;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1520
qlcnic_wol_supported(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1525
wol_cfg = QLCRD32(adapter, QLCNIC_WOL_CONFIG_NV, &err);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1526
if (wol_cfg & (1UL << adapter->portnum)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1527
wol_cfg = QLCRD32(adapter, QLCNIC_WOL_CONFIG, &err);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1530
if (wol_cfg & (1 << adapter->portnum))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1537
int qlcnic_82xx_config_led(struct qlcnic_adapter *adapter, u32 state, u32 rate)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1546
word = QLCNIC_H2C_OPCODE_CONFIG_LED | ((u64)adapter->portnum << 16);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1549
req.words[0] = cpu_to_le64(((u64)rate << 32) | adapter->portnum);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1552
rv = qlcnic_send_cmd_descs(adapter, (struct cmd_desc_type0 *)&req, 1);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1554
dev_err(&adapter->pdev->dev, "LED configuration failed.\n");
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1559
void qlcnic_82xx_get_beacon_state(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1561
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1567
err = qlcnic_alloc_mbx_args(&cmd, adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1570
err = qlcnic_issue_cmd(adapter, &cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1572
netdev_err(adapter->netdev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1589
void qlcnic_82xx_get_func_no(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1595
pci_read_config_dword(adapter->pdev, QLCNIC_MSIX_TABLE_OFFSET, &func);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1596
msix_base_addr = adapter->ahw->pci_base0 + QLCNIC_MSIX_BASE;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1599
adapter->ahw->pci_func = func;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1602
void qlcnic_82xx_read_crb(struct qlcnic_adapter *adapter, char *buf,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1610
qlcnic_pci_camqm_read_2M(adapter, offset, &qmdata);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1613
data = QLCRD32(adapter, offset, &err);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1618
void qlcnic_82xx_write_crb(struct qlcnic_adapter *adapter, char *buf,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1626
qlcnic_pci_camqm_write_2M(adapter, offset, qmdata);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1629
QLCWR32(adapter, offset, data);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1633
int qlcnic_82xx_api_lock(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1635
return qlcnic_pcie_sem_lock(adapter, 5, 0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1638
void qlcnic_82xx_api_unlock(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1640
qlcnic_pcie_sem_unlock(adapter, 5);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1645
struct qlcnic_adapter *adapter = pci_get_drvdata(pdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1646
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1650
qlcnic_cancel_idc_work(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1653
qlcnic_down(adapter, netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1655
qlcnic_clr_all_drv_state(adapter, 0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1657
clear_bit(__QLCNIC_RESETTING, &adapter->state);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1659
if (qlcnic_wol_supported(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1665
int qlcnic_82xx_resume(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1667
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1670
err = qlcnic_start_firmware(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1672
dev_err(&adapter->pdev->dev, "failed to start firmware\n");
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1677
err = qlcnic_up(adapter, netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
1683
qlcnic_schedule_work(adapter, qlcnic_fw_poll_work, FW_POLL_DELAY);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
310
qlcnic_pcie_sem_lock(struct qlcnic_adapter *adapter, int sem, u32 id_reg)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
315
done = QLCRD32(adapter, QLCNIC_PCIE_REG(PCIE_SEM_LOCK(sem)),
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
321
done = QLCRD32(adapter, id_reg, &err);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
323
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
327
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
331
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
340
QLCWR32(adapter, id_reg, adapter->portnum);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
346
qlcnic_pcie_sem_unlock(struct qlcnic_adapter *adapter, int sem)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
350
QLCRD32(adapter, QLCNIC_PCIE_REG(PCIE_SEM_UNLOCK(sem)), &err);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
353
int qlcnic_ind_rd(struct qlcnic_adapter *adapter, u32 addr)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
358
if (qlcnic_82xx_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
359
qlcnic_read_window_reg(addr, adapter->ahw->pci_base0, &data);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
361
data = QLCRD32(adapter, addr, &err);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
368
int qlcnic_ind_wr(struct qlcnic_adapter *adapter, u32 addr, u32 data)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
372
if (qlcnic_82xx_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
373
qlcnic_write_window_reg(addr, adapter->ahw->pci_base0, data);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
375
ret = qlcnic_83xx_wrt_reg_indirect(adapter, addr, data);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
381
qlcnic_send_cmd_descs(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
391
if (!test_bit(__QLCNIC_FW_ATTACHED, &adapter->state))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
394
tx_ring = &adapter->tx_ring[0];
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
406
adapter->stats.xmit_off++;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
436
int qlcnic_82xx_sre_macaddr_change(struct qlcnic_adapter *adapter, u8 *addr,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
447
word = QLCNIC_MAC_EVENT | ((u64)adapter->portnum << 16);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
457
return qlcnic_send_cmd_descs(adapter, (struct cmd_desc_type0 *)&req, 1);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
460
int qlcnic_nic_del_mac(struct qlcnic_adapter *adapter, const u8 *addr)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
466
list_for_each_entry(cur, &adapter->mac_list, list) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
468
err = qlcnic_sre_macaddr_change(adapter, cur->mac_addr,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
480
int qlcnic_nic_add_mac(struct qlcnic_adapter *adapter, const u8 *addr, u16 vlan,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
486
list_for_each_entry(cur, &adapter->mac_list, list) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
498
if (qlcnic_sre_macaddr_change(adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
507
list_add_tail(&cur->list, &adapter->mac_list);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
511
void qlcnic_flush_mcast_mac(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
516
list_for_each_safe(head, tmp, &adapter->mac_list) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
521
qlcnic_sre_macaddr_change(adapter, cur->mac_addr,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
530
struct qlcnic_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
531
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
538
if (!test_bit(__QLCNIC_FW_ATTACHED, &adapter->state))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
541
qlcnic_nic_add_mac(adapter, adapter->mac_addr, vlan,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
543
qlcnic_nic_add_mac(adapter, bcast_addr, vlan, QLCNIC_BROADCAST_MAC);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
546
if (!(adapter->flags & QLCNIC_PROMISC_DISABLED))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
552
qlcnic_flush_mcast_mac(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
554
qlcnic_nic_add_mac(adapter, ha->addr, vlan,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
565
qlcnic_nic_add_mac(adapter, ha->addr, vlan,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
570
!adapter->fdb_mac_learn) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
571
qlcnic_alloc_lb_filters_mem(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
572
adapter->drv_mac_learn = 1;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
573
if (adapter->flags & QLCNIC_ESWITCH_ENABLED)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
574
adapter->rx_mac_learn = true;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
576
adapter->drv_mac_learn = 0;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
577
adapter->rx_mac_learn = false;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
580
qlcnic_nic_set_promisc(adapter, mode);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
585
struct qlcnic_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
587
if (!test_bit(__QLCNIC_FW_ATTACHED, &adapter->state))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
590
if (qlcnic_sriov_vf_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
596
int qlcnic_82xx_nic_set_promisc(struct qlcnic_adapter *adapter, u32 mode)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
606
((u64)adapter->portnum << 16);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
611
return qlcnic_send_cmd_descs(adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
615
void qlcnic_82xx_free_mac_list(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
617
struct list_head *head = &adapter->mac_list;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
622
qlcnic_sre_macaddr_change(adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
629
void qlcnic_prune_lb_filters(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
638
for (i = 0; i < adapter->fhash.fbucket_size; i++) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
639
head = &(adapter->fhash.fhead[i]);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
645
qlcnic_sre_macaddr_change(adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
649
spin_lock_bh(&adapter->mac_learn_lock);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
650
adapter->fhash.fnum--;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
652
spin_unlock_bh(&adapter->mac_learn_lock);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
657
for (i = 0; i < adapter->rx_fhash.fbucket_size; i++) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
658
head = &(adapter->rx_fhash.fhead[i]);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
664
spin_lock_bh(&adapter->rx_mac_learn_lock);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
665
adapter->rx_fhash.fnum--;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
667
spin_unlock_bh(&adapter->rx_mac_learn_lock);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
674
void qlcnic_delete_lb_filters(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
682
for (i = 0; i < adapter->fhash.fbucket_size; i++) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
683
head = &(adapter->fhash.fhead[i]);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
687
qlcnic_sre_macaddr_change(adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
691
spin_lock_bh(&adapter->mac_learn_lock);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
692
adapter->fhash.fnum--;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
694
spin_unlock_bh(&adapter->mac_learn_lock);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
700
static int qlcnic_set_fw_loopback(struct qlcnic_adapter *adapter, u8 flag)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
709
((u64) adapter->portnum << 16) | ((u64) 0x1 << 32));
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
713
rv = qlcnic_send_cmd_descs(adapter, (struct cmd_desc_type0 *)&req, 1);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
715
dev_err(&adapter->pdev->dev, "%sting loopback mode failed\n",
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
720
int qlcnic_82xx_set_lb_mode(struct qlcnic_adapter *adapter, u8 mode)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
722
if (qlcnic_set_fw_loopback(adapter, mode))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
725
if (qlcnic_nic_set_promisc(adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
727
qlcnic_set_fw_loopback(adapter, 0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
735
int qlcnic_82xx_clear_lb_mode(struct qlcnic_adapter *adapter, u8 mode)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
737
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
740
qlcnic_set_fw_loopback(adapter, 0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
747
qlcnic_nic_set_promisc(adapter, mode);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
752
int qlcnic_82xx_read_phys_port_id(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
757
ret = qlcnic_get_mac_address(adapter, mac,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
758
adapter->ahw->physical_port);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
762
memcpy(adapter->ahw->phys_port_id, mac, ETH_ALEN);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
763
adapter->flags |= QLCNIC_HAS_PHYS_PORT_ID;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
768
int qlcnic_82xx_set_rx_coalesce(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
778
((u64) adapter->portnum << 16));
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
780
req.words[0] = cpu_to_le64(((u64) adapter->ahw->coal.flag) << 32);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
781
req.words[2] = cpu_to_le64(adapter->ahw->coal.rx_packets |
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
782
((u64) adapter->ahw->coal.rx_time_us) << 16);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
783
req.words[5] = cpu_to_le64(adapter->ahw->coal.timer_out |
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
784
((u64) adapter->ahw->coal.type) << 32 |
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
785
((u64) adapter->ahw->coal.sts_ring_mask) << 40);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
786
rv = qlcnic_send_cmd_descs(adapter, (struct cmd_desc_type0 *)&req, 1);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
788
dev_err(&adapter->netdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
795
int qlcnic_82xx_config_intr_coalesce(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
798
struct qlcnic_nic_intr_coalesce *coal = &adapter->ahw->coal;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
805
rv = qlcnic_82xx_set_rx_coalesce(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
808
netdev_err(adapter->netdev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
817
int qlcnic_82xx_config_hw_lro(struct qlcnic_adapter *adapter, int enable)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
823
if (!test_bit(__QLCNIC_FW_ATTACHED, &adapter->state))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
830
word = QLCNIC_H2C_OPCODE_CONFIG_HW_LRO | ((u64)adapter->portnum << 16);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
836
if (adapter->ahw->extra_capability[0] &
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
843
rv = qlcnic_send_cmd_descs(adapter, (struct cmd_desc_type0 *)&req, 1);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
845
dev_err(&adapter->netdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
851
int qlcnic_config_bridged_mode(struct qlcnic_adapter *adapter, u32 enable)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
857
if (!!(adapter->flags & QLCNIC_BRIDGE_ENABLED) == enable)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
865
((u64)adapter->portnum << 16);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
870
rv = qlcnic_send_cmd_descs(adapter, (struct cmd_desc_type0 *)&req, 1);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
872
dev_err(&adapter->netdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
875
adapter->flags ^= QLCNIC_BRIDGE_ENABLED;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
886
int qlcnic_82xx_config_rss(struct qlcnic_adapter *adapter, int enable)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
901
word = QLCNIC_H2C_OPCODE_CONFIG_RSS | ((u64)adapter->portnum << 16);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
928
rv = qlcnic_send_cmd_descs(adapter, (struct cmd_desc_type0 *)&req, 1);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
930
dev_err(&adapter->netdev->dev, "could not configure RSS\n");
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
935
void qlcnic_82xx_config_ipaddr(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
946
word = QLCNIC_H2C_OPCODE_CONFIG_IPADDR | ((u64)adapter->portnum << 16);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
953
rv = qlcnic_send_cmd_descs(adapter, (struct cmd_desc_type0 *)&req, 1);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
955
dev_err(&adapter->netdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
960
int qlcnic_82xx_linkevent_request(struct qlcnic_adapter *adapter, int enable)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
968
word = QLCNIC_H2C_OPCODE_GET_LINKEVENT | ((u64)adapter->portnum << 16);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
971
rv = qlcnic_send_cmd_descs(adapter, (struct cmd_desc_type0 *)&req, 1);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
973
dev_err(&adapter->netdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
979
static int qlcnic_send_lro_cleanup(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
985
if (!test_bit(__QLCNIC_FW_ATTACHED, &adapter->state))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
992
((u64)adapter->portnum << 16) |
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
997
rv = qlcnic_send_cmd_descs(adapter, (struct cmd_desc_type0 *)&req, 1);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
999
dev_err(&adapter->netdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.h
167
int qlcnic_82xx_hw_read_wx_2M(struct qlcnic_adapter *adapter, ulong, int *);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.h
169
int qlcnic_82xx_config_hw_lro(struct qlcnic_adapter *adapter, int);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.h
170
int qlcnic_82xx_nic_set_promisc(struct qlcnic_adapter *adapter, u32);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.h
171
int qlcnic_82xx_napi_add(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.h
174
void qlcnic_82xx_change_filter(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.h
180
int qlcnic_82xx_config_rss(struct qlcnic_adapter *adapter, int);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.h
181
void qlcnic_82xx_config_ipaddr(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.h
183
int qlcnic_82xx_linkevent_request(struct qlcnic_adapter *adapter, int);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.h
185
int qlcnic_82xx_clear_lb_mode(struct qlcnic_adapter *adapter, u8);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.h
189
int qlcnic_82xx_issue_cmd(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.h
216
void qlcnic_clr_all_drv_state(struct qlcnic_adapter *adapter, u8 failed);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
1002
static u32 qlcnic_get_fw_version(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
1005
const struct firmware *fw = adapter->fw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
1011
if (adapter->ahw->fw_type != QLCNIC_UNIFIED_ROMIMAGE) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
1016
fw_data_desc = qlcnic_get_data_desc(adapter, QLCNIC_UNI_DIR_SECT_FW,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
1035
static u32 qlcnic_get_bios_version(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
1037
const struct firmware *fw = adapter->fw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
1038
u32 bios_ver, prd_off = adapter->file_prd_off;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
1042
if (adapter->ahw->fw_type != QLCNIC_UNIFIED_ROMIMAGE) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
105
void qlcnic_reset_rx_buffers_list(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
1053
static void qlcnic_rom_lock_recovery(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
1055
if (qlcnic_pcie_sem_lock(adapter, 2, QLCNIC_ROM_LOCK_ID))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
1056
dev_info(&adapter->pdev->dev, "Resetting rom_lock\n");
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
1058
qlcnic_pcie_sem_unlock(adapter, 2);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
1062
qlcnic_check_fw_hearbeat(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
1067
adapter->heartbeat = QLC_SHARED_REG_RD32(adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
1072
heartbeat = QLC_SHARED_REG_RD32(adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
1074
if (heartbeat != adapter->heartbeat) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
1084
qlcnic_need_fw_reset(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
1086
if ((adapter->flags & QLCNIC_FW_HANG) ||
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
1087
qlcnic_check_fw_hearbeat(adapter)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
1088
qlcnic_rom_lock_recovery(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
1092
if (adapter->need_fw_reset)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
1095
if (adapter->fw)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
1107
qlcnic_load_firmware(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
1111
const struct firmware *fw = adapter->fw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
1112
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
1115
fw_name[adapter->ahw->fw_type]);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
112
recv_ctx = adapter->recv_ctx;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
1122
ptr64 = (__le64 *)qlcnic_get_bootld_offs(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
1128
if (qlcnic_pci_mem_write_2M(adapter, flashaddr, data))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
113
for (ring = 0; ring < adapter->max_rds_rings; ring++) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
1134
size = qlcnic_get_fw_size(adapter) / 8;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
1136
ptr64 = (__le64 *)qlcnic_get_fw_offs(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
1142
if (qlcnic_pci_mem_write_2M(adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
1149
size = qlcnic_get_fw_size(adapter) % 8;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
1153
if (qlcnic_pci_mem_write_2M(adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
1164
ret = qlcnic_get_flt_entry(adapter, QLCNIC_BOOTLD_REGION,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
1177
if (qlcnic_rom_fast_read(adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
1180
if (qlcnic_rom_fast_read(adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
1186
if (qlcnic_pci_mem_write_2M(adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
1195
QLCWR32(adapter, QLCNIC_CRB_PEG_NET_0 + 0x18, 0x1020);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
1196
QLCWR32(adapter, QLCNIC_ROMUSB_GLB_SW_RESET, 0x80001e);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
1201
qlcnic_validate_firmware(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
1205
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
1206
const struct firmware *fw = adapter->fw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
1207
u8 fw_type = adapter->ahw->fw_type;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
1210
if (qlcnic_validate_unified_romimage(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
1225
val = qlcnic_get_fw_version(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
1235
val = qlcnic_get_bios_version(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
1236
qlcnic_rom_fast_read(adapter, QLCNIC_BIOS_VERSION_OFFSET, (int *)&bios);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
1243
QLC_SHARED_REG_WR32(adapter, QLCNIC_FW_IMG_VALID, QLCNIC_BDINFO_MAGIC);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
1248
qlcnic_get_next_fwtype(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
1252
switch (adapter->ahw->fw_type) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
1263
adapter->ahw->fw_type = fw_type;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
1268
void qlcnic_request_firmware(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
127
void qlcnic_release_tx_buffers(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
1270
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
1273
adapter->ahw->fw_type = QLCNIC_UNKNOWN_ROMIMAGE;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
1276
qlcnic_get_next_fwtype(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
1278
if (adapter->ahw->fw_type == QLCNIC_FLASH_ROMIMAGE) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
1279
adapter->fw = NULL;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
1281
rc = request_firmware(&adapter->fw,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
1282
fw_name[adapter->ahw->fw_type],
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
1287
rc = qlcnic_validate_firmware(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
1289
release_firmware(adapter->fw);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
1298
qlcnic_release_firmware(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
1300
release_firmware(adapter->fw);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
1301
adapter->fw = NULL;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
140
dma_unmap_single(&adapter->pdev->dev, buffrag->dma,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
147
dma_unmap_page(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
163
void qlcnic_free_sw_resources(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
169
recv_ctx = adapter->recv_ctx;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
174
for (ring = 0; ring < adapter->max_rds_rings; ring++) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
182
int qlcnic_alloc_sw_resources(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
190
recv_ctx = adapter->recv_ctx;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
193
adapter->max_rds_rings);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
199
for (ring = 0; ring < adapter->max_rds_rings; ring++) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
203
rds_ring->num_desc = adapter->num_rxd;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
209
rds_ring->num_desc = adapter->num_jumbo_rxd;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
213
if (adapter->ahw->capabilities &
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
240
for (ring = 0; ring < adapter->drv_sds_rings; ring++) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
242
sds_ring->irq = adapter->msix_entries[ring].vector;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
243
sds_ring->adapter = adapter;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
244
sds_ring->num_desc = adapter->num_rxd;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
245
if (qlcnic_82xx_check(adapter)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
246
if (qlcnic_check_multi_tx(adapter) &&
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
247
!adapter->ahw->diag_test)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
248
sds_ring->tx_ring = &adapter->tx_ring[ring];
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
25
qlcnic_check_fw_hearbeat(struct qlcnic_adapter *adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
250
sds_ring->tx_ring = &adapter->tx_ring[0];
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
259
qlcnic_free_sw_resources(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
292
static int qlcnic_wait_rom_done(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
300
done = QLCRD32(adapter, QLCNIC_ROMUSB_GLB_STATUS, &err);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
303
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
312
static int do_rom_fast_read(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
317
QLCWR32(adapter, QLCNIC_ROMUSB_ROM_ADDRESS, addr);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
318
QLCWR32(adapter, QLCNIC_ROMUSB_ROM_DUMMY_BYTE_CNT, 0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
319
QLCWR32(adapter, QLCNIC_ROMUSB_ROM_ABYTE_CNT, 3);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
320
QLCWR32(adapter, QLCNIC_ROMUSB_ROM_INSTR_OPCODE, 0xb);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
321
if (qlcnic_wait_rom_done(adapter)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
322
dev_err(&adapter->pdev->dev, "Error waiting for rom done\n");
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
326
QLCWR32(adapter, QLCNIC_ROMUSB_ROM_ABYTE_CNT, 0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
328
QLCWR32(adapter, QLCNIC_ROMUSB_ROM_DUMMY_BYTE_CNT, 0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
330
*valp = QLCRD32(adapter, QLCNIC_ROMUSB_ROM_RDATA, &err);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
336
static int do_rom_fast_read_words(struct qlcnic_adapter *adapter, int addr,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
344
ret = do_rom_fast_read(adapter, addridx, &v);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
355
qlcnic_rom_fast_read_words(struct qlcnic_adapter *adapter, int addr,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
360
ret = qlcnic_rom_lock(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
364
ret = do_rom_fast_read_words(adapter, addr, bytes, size);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
366
qlcnic_rom_unlock(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
370
int qlcnic_rom_fast_read(struct qlcnic_adapter *adapter, u32 addr, u32 *valp)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
374
if (qlcnic_rom_lock(adapter) != 0)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
377
ret = do_rom_fast_read(adapter, addr, valp);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
378
qlcnic_rom_unlock(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
382
int qlcnic_pinit_from_rom(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
389
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
391
QLC_SHARED_REG_WR32(adapter, QLCNIC_CMDPEG_STATE, 0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
392
QLC_SHARED_REG_WR32(adapter, QLCNIC_RCVPEG_STATE, 0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
396
QLCWR32(adapter, QLCNIC_CRB_I2Q + 0x10, 0x0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
397
QLCWR32(adapter, QLCNIC_CRB_I2Q + 0x14, 0x0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
398
QLCWR32(adapter, QLCNIC_CRB_I2Q + 0x18, 0x0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
399
QLCWR32(adapter, QLCNIC_CRB_I2Q + 0x1c, 0x0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
400
QLCWR32(adapter, QLCNIC_CRB_I2Q + 0x20, 0x0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
401
QLCWR32(adapter, QLCNIC_CRB_I2Q + 0x24, 0x0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
404
QLCWR32(adapter, QLCNIC_CRB_NIU + 0x40, 0xff);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
406
QLCWR32(adapter, QLCNIC_CRB_NIU + 0x70000, 0x00);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
408
QLCWR32(adapter, QLCNIC_CRB_NIU + 0x80000, 0x00);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
410
QLCWR32(adapter, QLCNIC_CRB_NIU + 0x90000, 0x00);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
412
QLCWR32(adapter, QLCNIC_CRB_NIU + 0xa0000, 0x00);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
414
QLCWR32(adapter, QLCNIC_CRB_NIU + 0xb0000, 0x00);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
417
val = QLCRD32(adapter, QLCNIC_CRB_SRE + 0x1000, &err);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
420
QLCWR32(adapter, QLCNIC_CRB_SRE + 0x1000, val & (~(0x1)));
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
423
QLCWR32(adapter, QLCNIC_CRB_EPG + 0x1300, 0x1);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
426
QLCWR32(adapter, QLCNIC_CRB_TIMER + 0x0, 0x0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
427
QLCWR32(adapter, QLCNIC_CRB_TIMER + 0x8, 0x0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
428
QLCWR32(adapter, QLCNIC_CRB_TIMER + 0x10, 0x0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
429
QLCWR32(adapter, QLCNIC_CRB_TIMER + 0x18, 0x0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
430
QLCWR32(adapter, QLCNIC_CRB_TIMER + 0x100, 0x0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
431
QLCWR32(adapter, QLCNIC_CRB_TIMER + 0x200, 0x0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
433
QLCWR32(adapter, QLCNIC_CRB_PEG_NET_0 + 0x3c, 1);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
434
QLCWR32(adapter, QLCNIC_CRB_PEG_NET_1 + 0x3c, 1);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
435
QLCWR32(adapter, QLCNIC_CRB_PEG_NET_2 + 0x3c, 1);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
436
QLCWR32(adapter, QLCNIC_CRB_PEG_NET_3 + 0x3c, 1);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
437
QLCWR32(adapter, QLCNIC_CRB_PEG_NET_4 + 0x3c, 1);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
441
QLCWR32(adapter, QLCNIC_ROMUSB_GLB_SW_RESET, 0xfeffffff);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
444
if (qlcnic_rom_fast_read(adapter, 0, &n) != 0 || (n != 0xcafecafe) ||
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
445
qlcnic_rom_fast_read(adapter, 4, &n) != 0) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
462
if (qlcnic_rom_fast_read(adapter, 8*i + 4*offset, &val) != 0 ||
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
463
qlcnic_rom_fast_read(adapter, 8*i + 4*offset + 4, &addr) != 0) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
516
QLCWR32(adapter, off, buf[i].data);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
523
QLCWR32(adapter, QLCNIC_CRB_PEG_NET_D + 0xec, 0x1e);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
524
QLCWR32(adapter, QLCNIC_CRB_PEG_NET_D + 0x4c, 8);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
525
QLCWR32(adapter, QLCNIC_CRB_PEG_NET_I + 0x4c, 8);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
526
QLCWR32(adapter, QLCNIC_CRB_PEG_NET_0 + 0x8, 0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
527
QLCWR32(adapter, QLCNIC_CRB_PEG_NET_0 + 0xc, 0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
528
QLCWR32(adapter, QLCNIC_CRB_PEG_NET_1 + 0x8, 0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
529
QLCWR32(adapter, QLCNIC_CRB_PEG_NET_1 + 0xc, 0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
530
QLCWR32(adapter, QLCNIC_CRB_PEG_NET_2 + 0x8, 0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
531
QLCWR32(adapter, QLCNIC_CRB_PEG_NET_2 + 0xc, 0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
532
QLCWR32(adapter, QLCNIC_CRB_PEG_NET_3 + 0x8, 0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
533
QLCWR32(adapter, QLCNIC_CRB_PEG_NET_3 + 0xc, 0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
534
QLCWR32(adapter, QLCNIC_CRB_PEG_NET_4 + 0x8, 0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
535
QLCWR32(adapter, QLCNIC_CRB_PEG_NET_4 + 0xc, 0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
538
QLC_SHARED_REG_WR32(adapter, QLCNIC_PEG_HALT_STATUS1, 0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
539
QLC_SHARED_REG_WR32(adapter, QLCNIC_PEG_HALT_STATUS2, 0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
544
static int qlcnic_cmd_peg_ready(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
550
val = QLC_SHARED_REG_RD32(adapter, QLCNIC_CMDPEG_STATE);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
566
QLC_SHARED_REG_WR32(adapter, QLCNIC_CMDPEG_STATE,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
570
dev_err(&adapter->pdev->dev, "Command Peg initialization not "
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
576
qlcnic_receive_peg_ready(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
582
val = QLC_SHARED_REG_RD32(adapter, QLCNIC_RCVPEG_STATE);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
591
dev_err(&adapter->pdev->dev, "Receive Peg initialization not complete, state: 0x%x.\n",
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
597
qlcnic_check_fw_status(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
601
err = qlcnic_cmd_peg_ready(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
605
err = qlcnic_receive_peg_ready(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
609
QLC_SHARED_REG_WR32(adapter, QLCNIC_CMDPEG_STATE, PHAN_INITIALIZE_ACK);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
615
qlcnic_setup_idc_param(struct qlcnic_adapter *adapter) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
620
val = QLC_SHARED_REG_RD32(adapter, QLCNIC_CRB_DEV_PARTITION_INFO);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
621
val = QLC_DEV_GET_DRV(val, adapter->portnum);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
623
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
627
adapter->ahw->physical_port = (val >> 2);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
628
if (qlcnic_rom_fast_read(adapter, QLCNIC_ROM_DEV_INIT_TIMEOUT, &timeo))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
631
adapter->dev_init_timeo = timeo;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
633
if (qlcnic_rom_fast_read(adapter, QLCNIC_ROM_DRV_RESET_TIMEOUT, &timeo))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
636
adapter->reset_ack_timeo = timeo;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
641
static int qlcnic_get_flt_entry(struct qlcnic_adapter *adapter, u8 region,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
650
ret = qlcnic_rom_fast_read_words(adapter, QLCNIC_FLT_LOCATION,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
654
dev_warn(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
664
ret = qlcnic_rom_fast_read_words(adapter, QLCNIC_FLT_LOCATION +
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
668
dev_warn(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
679
dev_warn(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
692
qlcnic_check_flash_fw_ver(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
698
if (adapter->ahw->revision_id == QLCNIC_P3P_C0)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
699
ret = qlcnic_get_flt_entry(adapter, QLCNIC_C0_FW_IMAGE_REGION,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
702
ret = qlcnic_get_flt_entry(adapter, QLCNIC_B0_FW_IMAGE_REGION,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
707
qlcnic_rom_fast_read(adapter, fw_entry.start_addr + 4,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
710
qlcnic_rom_fast_read(adapter, QLCNIC_FW_VERSION_OFFSET,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
717
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
729
qlcnic_has_mn(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
734
capability = QLCRD32(adapter, QLCNIC_PEG_TUNE_CAPABILITY, &err);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
766
qlcnic_validate_header(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
768
const u8 *unirom = adapter->fw->data;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
772
fw_file_size = adapter->fw->size;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
788
qlcnic_validate_bootld(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
793
const u8 *unirom = adapter->fw->data;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
796
temp = *((__le32 *)&unirom[adapter->file_prd_off] +
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
807
if (adapter->fw->size < tab_size)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
816
if (adapter->fw->size < data_size)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
82
void qlcnic_release_rx_buffers(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
823
qlcnic_validate_fw(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
827
const u8 *unirom = adapter->fw->data;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
831
temp = *((__le32 *)&unirom[adapter->file_prd_off] +
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
842
if (adapter->fw->size < tab_size)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
850
if (adapter->fw->size < data_size)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
857
qlcnic_validate_product_offs(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
860
const u8 *unirom = adapter->fw->data;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
861
int mn_present = qlcnic_has_mn(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
874
if (adapter->fw->size < tab_size)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
881
u8 chiprev = adapter->ahw->revision_id;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
89
recv_ctx = adapter->recv_ctx;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
895
adapter->file_prd_off = offs;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
90
for (ring = 0; ring < adapter->max_rds_rings; ring++) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
907
qlcnic_validate_unified_romimage(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
909
if (qlcnic_validate_header(adapter)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
910
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
915
if (qlcnic_validate_product_offs(adapter)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
916
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
921
if (qlcnic_validate_bootld(adapter)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
922
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
927
if (qlcnic_validate_fw(adapter)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
928
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
937
struct uni_data_desc *qlcnic_get_data_desc(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
940
const u8 *unirom = adapter->fw->data;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
945
temp = *((__le32 *)&unirom[adapter->file_prd_off] + idx_offset);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
960
qlcnic_get_bootld_offs(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
965
data_desc = qlcnic_get_data_desc(adapter, QLCNIC_UNI_DIR_SECT_BOOTLD,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
968
if (adapter->ahw->fw_type == QLCNIC_UNIFIED_ROMIMAGE)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
97
dma_unmap_single(&adapter->pdev->dev, rx_buf->dma,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
971
return (u8 *)&adapter->fw->data[offs];
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
975
qlcnic_get_fw_offs(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
980
data_desc = qlcnic_get_data_desc(adapter, QLCNIC_UNI_DIR_SECT_FW,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
982
if (adapter->ahw->fw_type == QLCNIC_UNIFIED_ROMIMAGE)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
985
return (u8 *)&adapter->fw->data[offs];
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
988
static u32 qlcnic_get_fw_size(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
991
const u8 *unirom = adapter->fw->data;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
993
data_desc = qlcnic_get_data_desc(adapter, QLCNIC_UNI_DIR_SECT_FW,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
996
if (adapter->ahw->fw_type == QLCNIC_UNIFIED_ROMIMAGE)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1001
if (test_bit(__QLCNIC_DEV_UP, &adapter->state))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1002
qlcnic_enable_tx_intr(adapter, tx_ring);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1014
struct qlcnic_adapter *adapter;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1018
adapter = sds_ring->adapter;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1024
if (test_bit(__QLCNIC_DEV_UP, &adapter->state))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1025
qlcnic_enable_sds_intr(adapter, sds_ring);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1031
static void qlcnic_handle_linkevent(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1037
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1039
adapter->ahw->has_link_events = 1;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1061
adapter->ahw->loopback_state |= QLCNIC_LINKEVENT;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1063
qlcnic_advert_link_change(adapter, link_status);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1066
adapter->ahw->link_duplex = DUPLEX_FULL;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1068
adapter->ahw->link_duplex = DUPLEX_HALF;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1070
adapter->ahw->module_type = module;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1071
adapter->ahw->link_autoneg = autoneg;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1074
adapter->ahw->link_speed = link_speed;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1076
adapter->ahw->link_speed = SPEED_UNKNOWN;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1077
adapter->ahw->link_duplex = DUPLEX_UNKNOWN;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1086
struct qlcnic_adapter *adapter;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1099
adapter = sds_ring->adapter;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1100
dev = &adapter->pdev->dev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1105
qlcnic_handle_linkevent(adapter, &msg);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1111
adapter->ahw->loopback_state |= QLCNIC_LB_RESPONSE;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1115
adapter->ahw->diag_cnt = -EINPROGRESS;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1119
adapter->ahw->diag_cnt = -ENODEV;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1125
adapter->ahw->diag_cnt = -EIO;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1130
qlcnic_dcb_aen_handler(adapter->dcb, (void *)&msg);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1137
static struct sk_buff *qlcnic_process_rxbuf(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1150
dma_unmap_single(&adapter->pdev->dev, buffer->dma, ring->dma_size,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1154
if (likely((adapter->netdev->features & NETIF_F_RXCSUM) &&
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1156
adapter->stats.csummed++;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1168
static inline int qlcnic_check_rx_tagging(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1178
if (!adapter->rx_pvid)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1181
if (*vlan_tag == adapter->rx_pvid) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1186
if (adapter->flags & QLCNIC_TAGGING_ENABLED)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1193
qlcnic_process_rcv(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1197
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1198
struct qlcnic_recv_context *recv_ctx = adapter->recv_ctx;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1205
if (unlikely(ring >= adapter->max_rds_rings))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1219
skb = qlcnic_process_rxbuf(adapter, rds_ring, index, cksum);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1223
if (adapter->rx_mac_learn) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1226
qlcnic_add_lb_filter(adapter, skb, is_lb_pkt, t_vid);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1237
if (unlikely(qlcnic_check_rx_tagging(adapter, skb, &vid))) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1238
adapter->stats.rxdropped++;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1250
adapter->stats.rx_pkts++;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1251
adapter->stats.rxbytes += length;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1261
qlcnic_process_lro(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1264
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1265
struct qlcnic_recv_context *recv_ctx = adapter->recv_ctx;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1277
if (unlikely(ring >= adapter->max_rds_rings))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1295
skb = qlcnic_process_rxbuf(adapter, rds_ring, index, STATUS_CKSUM_OK);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1299
if (adapter->rx_mac_learn) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1302
qlcnic_add_lb_filter(adapter, skb, is_lb_pkt, t_vid);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1313
if (unlikely(qlcnic_check_rx_tagging(adapter, skb, &vid))) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1314
adapter->stats.rxdropped++;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1338
if (adapter->flags & QLCNIC_FW_LRO_MSS_CAP) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1350
adapter->stats.lro_pkts++;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1351
adapter->stats.lrobytes += length;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1359
struct qlcnic_adapter *adapter = sds_ring->adapter;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1382
rxbuf = qlcnic_process_rcv(adapter, sds_ring, ring,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1388
rxbuf = qlcnic_process_lro(adapter, ring, sts_data0,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1402
adapter->stats.null_rxbuf++;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1412
for (ring = 0; ring < adapter->max_rds_rings; ring++) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1413
rds_ring = &adapter->recv_ctx->rds_rings[ring];
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1418
qlcnic_alloc_rx_skb(adapter, rds_ring, rxbuf);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
142
static inline u32 qlcnic_get_ref_handle(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1426
qlcnic_post_rx_buffers_nodb(adapter, rds_ring, ring);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1437
void qlcnic_post_rx_buffers(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
145
if (qlcnic_83xx_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1454
if (qlcnic_alloc_rx_skb(adapter, rds_ring, buffer))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1464
handle = qlcnic_get_ref_handle(adapter, buffer->ref_handle,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1478
static void dump_skb(struct sk_buff *skb, struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1480
if (adapter->ahw->msg_enable & NETIF_MSG_DRV) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1484
dev_name(&adapter->pdev->dev), __func__);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1491
static void qlcnic_process_rcv_diag(struct qlcnic_adapter *adapter, int ring,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1494
struct qlcnic_recv_context *recv_ctx = adapter->recv_ctx;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1499
if (unlikely(ring >= adapter->max_rds_rings))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1512
skb = qlcnic_process_rxbuf(adapter, rds_ring, index, cksum);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1524
if (!qlcnic_check_loopback_buff(skb->data, adapter->mac_addr))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1525
adapter->ahw->diag_cnt++;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1527
dump_skb(skb, adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1530
adapter->stats.rx_pkts++;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1531
adapter->stats.rxbytes += length;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1538
struct qlcnic_adapter *adapter = sds_ring->adapter;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1559
qlcnic_process_rcv_diag(adapter, ring, sts_data0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
156
static void qlcnic_delete_rx_list_mac(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1573
int qlcnic_82xx_napi_add(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1578
struct qlcnic_recv_context *recv_ctx = adapter->recv_ctx;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1581
if (qlcnic_alloc_sds_rings(recv_ctx, adapter->drv_sds_rings))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1584
for (ring = 0; ring < adapter->drv_sds_rings; ring++) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1586
if (qlcnic_check_multi_tx(adapter) &&
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1587
!adapter->ahw->diag_test) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1591
if (ring == (adapter->drv_sds_rings - 1))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1600
if (qlcnic_alloc_tx_rings(adapter, netdev)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1605
if (qlcnic_check_multi_tx(adapter) && !adapter->ahw->diag_test) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1606
for (ring = 0; ring < adapter->drv_tx_rings; ring++) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1607
tx_ring = &adapter->tx_ring[ring];
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1616
void qlcnic_82xx_napi_del(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1620
struct qlcnic_recv_context *recv_ctx = adapter->recv_ctx;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1623
for (ring = 0; ring < adapter->drv_sds_rings; ring++) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1628
qlcnic_free_sds_rings(adapter->recv_ctx);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1630
if (qlcnic_check_multi_tx(adapter) && !adapter->ahw->diag_test) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1631
for (ring = 0; ring < adapter->drv_tx_rings; ring++) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1632
tx_ring = &adapter->tx_ring[ring];
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1637
qlcnic_free_tx_rings(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
164
ret = qlcnic_sre_macaddr_change(adapter, addr, vlan_id, op);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1640
void qlcnic_82xx_napi_enable(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1645
struct qlcnic_recv_context *recv_ctx = adapter->recv_ctx;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1647
if (adapter->is_up != QLCNIC_ADAPTER_UP_MAGIC)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1650
for (ring = 0; ring < adapter->drv_sds_rings; ring++) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1653
qlcnic_enable_sds_intr(adapter, sds_ring);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1656
if (qlcnic_check_multi_tx(adapter) &&
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1657
(adapter->flags & QLCNIC_MSIX_ENABLED) &&
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1658
!adapter->ahw->diag_test) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1659
for (ring = 0; ring < adapter->drv_tx_rings; ring++) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1660
tx_ring = &adapter->tx_ring[ring];
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1662
qlcnic_enable_tx_intr(adapter, tx_ring);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1667
void qlcnic_82xx_napi_disable(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1672
struct qlcnic_recv_context *recv_ctx = adapter->recv_ctx;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1674
if (adapter->is_up != QLCNIC_ADAPTER_UP_MAGIC)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1677
for (ring = 0; ring < adapter->drv_sds_rings; ring++) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1679
qlcnic_disable_sds_intr(adapter, sds_ring);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1684
if ((adapter->flags & QLCNIC_MSIX_ENABLED) &&
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1685
!adapter->ahw->diag_test &&
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1686
qlcnic_check_multi_tx(adapter)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1687
for (ring = 0; ring < adapter->drv_tx_rings; ring++) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1688
tx_ring = &adapter->tx_ring[ring];
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1689
qlcnic_disable_tx_intr(adapter, tx_ring);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
169
ret = qlcnic_sre_macaddr_change(adapter, addr, vlan_id, op);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1715
qlcnic_83xx_process_rcv(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1719
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
172
adapter->rx_fhash.fnum--;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1720
struct qlcnic_recv_context *recv_ctx = adapter->recv_ctx;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1728
if (unlikely(ring >= adapter->max_rds_rings))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1740
skb = qlcnic_process_rxbuf(adapter, rds_ring, index, cksum);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1749
err = qlcnic_check_rx_tagging(adapter, skb, &vid);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1751
if (adapter->rx_mac_learn) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1753
qlcnic_add_lb_filter(adapter, skb, is_lb_pkt, vid);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1757
adapter->stats.rxdropped++;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1767
adapter->stats.encap_rx_csummed++;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1775
adapter->stats.rx_pkts++;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1776
adapter->stats.rxbytes += length;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1782
qlcnic_83xx_process_lro(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1785
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1786
struct qlcnic_recv_context *recv_ctx = adapter->recv_ctx;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1800
if (unlikely(ring >= adapter->max_rds_rings))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1816
skb = qlcnic_process_rxbuf(adapter, rds_ring, index, STATUS_CKSUM_OK);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1828
err = qlcnic_check_rx_tagging(adapter, skb, &vid);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1830
if (adapter->rx_mac_learn) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1832
qlcnic_add_lb_filter(adapter, skb, is_lb_pkt, vid);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1836
adapter->stats.rxdropped++;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1859
if (adapter->flags & QLCNIC_FW_LRO_MSS_CAP) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1873
adapter->stats.lro_pkts++;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1874
adapter->stats.lrobytes += length;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1882
struct qlcnic_adapter *adapter = sds_ring->adapter;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1902
rxbuf = qlcnic_83xx_process_rcv(adapter, sds_ring,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1906
rxbuf = qlcnic_83xx_process_lro(adapter, ring,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
191
static void qlcnic_add_lb_filter(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1910
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1918
adapter->stats.null_rxbuf++;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1926
for (ring = 0; ring < adapter->max_rds_rings; ring++) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1927
rds_ring = &adapter->recv_ctx->rds_rings[ring];
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1932
qlcnic_alloc_rx_skb(adapter, rds_ring, rxbuf);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1939
qlcnic_post_rx_buffers_nodb(adapter, rds_ring, ring);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1953
struct qlcnic_adapter *adapter;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1957
adapter = sds_ring->adapter;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1959
tx_ring = adapter->tx_ring;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1961
tx_complete = qlcnic_process_cmd_ring(adapter, tx_ring, budget);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1970
qlcnic_enable_sds_intr(adapter, sds_ring);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1981
struct qlcnic_adapter *adapter;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1985
adapter = sds_ring->adapter;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1987
tx_ring = adapter->tx_ring;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1989
tx_complete = qlcnic_process_cmd_ring(adapter, tx_ring, budget);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
1998
qlcnic_enable_sds_intr(adapter, sds_ring);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
2008
struct qlcnic_adapter *adapter;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
2011
adapter = tx_ring->adapter;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
2012
work_done = qlcnic_process_cmd_ring(adapter, tx_ring, budget);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
2015
if (test_bit(__QLCNIC_DEV_UP , &adapter->state))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
2016
qlcnic_enable_tx_intr(adapter, tx_ring);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
202
if (!qlcnic_sriov_pf_check(adapter) || (vlan_id == 0xffff))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
2029
struct qlcnic_adapter *adapter;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
2032
adapter = sds_ring->adapter;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
2036
if (test_bit(__QLCNIC_DEV_UP, &adapter->state))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
2037
qlcnic_enable_sds_intr(adapter, sds_ring);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
2043
void qlcnic_83xx_napi_enable(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
2048
struct qlcnic_recv_context *recv_ctx = adapter->recv_ctx;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
2050
if (adapter->is_up != QLCNIC_ADAPTER_UP_MAGIC)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
2053
for (ring = 0; ring < adapter->drv_sds_rings; ring++) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
2056
if (adapter->flags & QLCNIC_MSIX_ENABLED)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
2057
qlcnic_enable_sds_intr(adapter, sds_ring);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
2060
if ((adapter->flags & QLCNIC_MSIX_ENABLED) &&
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
2061
!(adapter->flags & QLCNIC_TX_INTR_SHARED)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
2062
for (ring = 0; ring < adapter->drv_tx_rings; ring++) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
2063
tx_ring = &adapter->tx_ring[ring];
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
2065
qlcnic_enable_tx_intr(adapter, tx_ring);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
207
(adapter->fhash.fbucket_size - 1);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
2070
void qlcnic_83xx_napi_disable(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
2074
struct qlcnic_recv_context *recv_ctx = adapter->recv_ctx;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
2077
if (adapter->is_up != QLCNIC_ADAPTER_UP_MAGIC)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
2080
for (ring = 0; ring < adapter->drv_sds_rings; ring++) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
2082
if (adapter->flags & QLCNIC_MSIX_ENABLED)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
2083
qlcnic_disable_sds_intr(adapter, sds_ring);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
2088
if ((adapter->flags & QLCNIC_MSIX_ENABLED) &&
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
2089
!(adapter->flags & QLCNIC_TX_INTR_SHARED)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
2090
for (ring = 0; ring < adapter->drv_tx_rings; ring++) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
2091
tx_ring = &adapter->tx_ring[ring];
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
2092
qlcnic_disable_tx_intr(adapter, tx_ring);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
2099
int qlcnic_83xx_napi_add(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
210
if (adapter->rx_fhash.fnum >= adapter->rx_fhash.fmax)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
2105
struct qlcnic_recv_context *recv_ctx = adapter->recv_ctx;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
2107
if (qlcnic_alloc_sds_rings(recv_ctx, adapter->drv_sds_rings))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
2110
for (ring = 0; ring < adapter->drv_sds_rings; ring++) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
2112
if (adapter->flags & QLCNIC_MSIX_ENABLED) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
2113
if (!(adapter->flags & QLCNIC_TX_INTR_SHARED))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
2126
if (qlcnic_alloc_tx_rings(adapter, netdev)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
213
head = &(adapter->rx_fhash.fhead[hindex]);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
2131
if ((adapter->flags & QLCNIC_MSIX_ENABLED) &&
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
2132
!(adapter->flags & QLCNIC_TX_INTR_SHARED)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
2133
for (ring = 0; ring < adapter->drv_tx_rings; ring++) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
2134
tx_ring = &adapter->tx_ring[ring];
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
2143
void qlcnic_83xx_napi_del(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
2147
struct qlcnic_recv_context *recv_ctx = adapter->recv_ctx;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
2150
for (ring = 0; ring < adapter->drv_sds_rings; ring++) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
2155
qlcnic_free_sds_rings(adapter->recv_ctx);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
2157
if ((adapter->flags & QLCNIC_MSIX_ENABLED) &&
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
2158
!(adapter->flags & QLCNIC_TX_INTR_SHARED)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
2159
for (ring = 0; ring < adapter->drv_tx_rings; ring++) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
2160
tx_ring = &adapter->tx_ring[ring];
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
2165
qlcnic_free_tx_rings(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
2168
static void qlcnic_83xx_process_rcv_diag(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
2171
struct qlcnic_recv_context *recv_ctx = adapter->recv_ctx;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
2176
if (unlikely(ring >= adapter->max_rds_rings))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
2186
skb = qlcnic_process_rxbuf(adapter, rds_ring, index, STATUS_CKSUM_OK);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
2195
if (!qlcnic_check_loopback_buff(skb->data, adapter->mac_addr))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
2196
adapter->ahw->diag_cnt++;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
2198
dump_skb(skb, adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
2206
struct qlcnic_adapter *adapter = sds_ring->adapter;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
2220
qlcnic_83xx_process_rcv_diag(adapter, ring, sts_data);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
230
spin_lock(&adapter->rx_mac_learn_lock);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
232
adapter->rx_fhash.fnum++;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
233
spin_unlock(&adapter->rx_mac_learn_lock);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
235
head = &adapter->fhash.fhead[hindex];
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
237
spin_lock(&adapter->mac_learn_lock);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
242
ret = qlcnic_sre_macaddr_change(adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
247
adapter->fhash.fnum--;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
250
spin_unlock(&adapter->mac_learn_lock);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
255
spin_unlock(&adapter->mac_learn_lock);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
257
head = &adapter->rx_fhash.fhead[hindex];
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
259
spin_lock(&adapter->rx_mac_learn_lock);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
263
qlcnic_delete_rx_list_mac(adapter, tmp_fil, &src_addr,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
266
spin_unlock(&adapter->rx_mac_learn_lock);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
270
void qlcnic_82xx_change_filter(struct qlcnic_adapter *adapter, u64 *uaddr,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
287
word = QLCNIC_MAC_EVENT | ((u64)(adapter->portnum) << 16);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
301
static void qlcnic_send_filter(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
316
if (ether_addr_equal(phdr->h_source, adapter->mac_addr))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
319
if (adapter->flags & QLCNIC_VLAN_FILTERING) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
330
hindex = hval & (adapter->fhash.fbucket_size - 1);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
331
head = &(adapter->fhash.fhead[hindex]);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
337
qlcnic_change_filter(adapter, &src_addr,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
344
if (unlikely(adapter->fhash.fnum >= adapter->fhash.fmax)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
345
adapter->stats.mac_filter_limit_overrun++;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
353
qlcnic_change_filter(adapter, &src_addr, vlan_id, tx_ring);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
357
spin_lock(&adapter->mac_learn_lock);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
359
adapter->fhash.fnum++;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
360
spin_unlock(&adapter->mac_learn_lock);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
370
static int qlcnic_tx_encap_pkt(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
422
adapter->stats.encap_lso_frames++;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
434
adapter->stats.encap_tx_csummed++;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
457
static int qlcnic_tx_pkt(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
480
if (unlikely(adapter->tx_pvid)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
481
if (tag_vlan && !(adapter->flags & QLCNIC_TAGGING_ENABLED))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
483
if (tag_vlan && (adapter->flags & QLCNIC_TAGGING_ENABLED))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
487
vlan_tci = adapter->tx_pvid;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
553
adapter->stats.lso_frames++;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
650
struct qlcnic_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
662
if (!test_bit(__QLCNIC_DEV_UP, &adapter->state)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
667
if (adapter->flags & QLCNIC_MACSPOOF) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
669
if (!ether_addr_equal(phdr->h_source, adapter->mac_addr))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
673
tx_ring = &adapter->tx_ring[skb_get_queue_mapping(skb)];
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
703
pdev = adapter->pdev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
709
adapter->stats.tx_dma_map_error++;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
717
qlcnic_set_tx_port(first_desc, adapter->portnum);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
759
!qlcnic_encap_tx_offload(adapter)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
760
if (unlikely(qlcnic_tx_pkt(adapter, first_desc, skb,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
764
if (unlikely(qlcnic_tx_encap_pkt(adapter, first_desc,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
769
if (adapter->drv_mac_learn)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
770
qlcnic_send_filter(adapter, first_desc, skb, tx_ring);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
784
adapter->stats.txdropped++;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
789
void qlcnic_advert_link_change(struct qlcnic_adapter *adapter, int linkup)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
791
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
793
if (adapter->ahw->linkup && !linkup) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
795
adapter->ahw->linkup = 0;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
797
} else if (!adapter->ahw->linkup && linkup) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
798
adapter->ahw->linkup = 1;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
803
if (qlcnic_83xx_check(adapter) && adapter->ahw->lb_mode) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
813
static int qlcnic_alloc_rx_skb(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
819
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
821
skb = netdev_alloc_skb(adapter->netdev, rds_ring->skb_size);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
823
adapter->stats.skb_alloc_failure++;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
832
adapter->stats.rx_dma_map_error++;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
843
static void qlcnic_post_rx_buffers_nodb(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
862
if (qlcnic_alloc_rx_skb(adapter, rds_ring, buffer))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
870
handle = qlcnic_get_ref_handle(adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
885
static int qlcnic_process_cmd_ring(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
892
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
893
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
936
adapter->tx_timeo_cnt = 0;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
963
struct qlcnic_adapter *adapter;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
967
adapter = sds_ring->adapter;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
970
tx_complete = qlcnic_process_cmd_ring(adapter, tx_ring,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
980
if (test_bit(__QLCNIC_DEV_UP, &adapter->state)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
981
qlcnic_enable_sds_intr(adapter, sds_ring);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
982
qlcnic_enable_tx_intr(adapter, tx_ring);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
992
struct qlcnic_adapter *adapter;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
996
adapter = tx_ring->adapter;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
998
work_done = qlcnic_process_cmd_ring(adapter, tx_ring, budget);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1003
adapter->eswitch = kzalloc_objs(struct qlcnic_eswitch,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1005
if (!adapter->eswitch) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1015
dev_err(&adapter->pdev->dev, "%s: Invalid function 0x%x, max 0x%x\n",
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1024
if (qlcnic_port_eswitch_cfg_capability(adapter)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1025
if (!qlcnic_83xx_set_port_eswitch_status(adapter, pfn,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1027
adapter->npars[j].eswitch_status = true;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1031
adapter->npars[j].eswitch_status = true;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1034
adapter->npars[j].pci_func = pfn;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1035
adapter->npars[j].active = (u8)pci_info[i].active;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1036
adapter->npars[j].type = (u8)pci_info[i].type;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1037
adapter->npars[j].phy_port = (u8)pci_info[i].default_port;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1038
adapter->npars[j].min_bw = pci_info[i].tx_min_bw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1039
adapter->npars[j].max_bw = pci_info[i].tx_max_bw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1041
memcpy(&adapter->npars[j].mac, &pci_info[i].mac, ETH_ALEN);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1048
if (!qlcnic_port_eswitch_cfg_capability(adapter)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1050
adapter->eswitch[i].flags |= QLCNIC_SWITCH_ENABLE;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1057
kfree(adapter->eswitch);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1058
adapter->eswitch = NULL;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1060
kfree(adapter->npars);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1061
adapter->npars = NULL;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1069
qlcnic_set_function_modes(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1074
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1076
ret = qlcnic_api_lock(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1081
data = QLC_SHARED_REG_RD32(adapter, QLCNIC_DRV_OP_MODE);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1084
QLC_SHARED_REG_WR32(adapter, QLCNIC_DRV_OP_MODE, data);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1085
qlcnic_api_unlock(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1090
static void qlcnic_check_vf(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1096
adapter->ahw->fw_hal_version = QLC_SHARED_REG_RD32(adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1100
qlcnic_get_func_no(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1103
op_mode = QLC_SHARED_REG_RD32(adapter, QLCNIC_DRV_OP_MODE);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1107
priv_level = QLC_DEV_GET_DRV(op_mode, adapter->ahw->pci_func);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1110
adapter->ahw->op_mode = QLCNIC_NON_PRIV_FUNC;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1111
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1113
adapter->ahw->fw_hal_version);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1114
adapter->nic_ops = &qlcnic_vf_ops;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1116
adapter->nic_ops = &qlcnic_ops;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1173
static bool qlcnic_validate_subsystem_id(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1176
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1194
static void qlcnic_get_board_name(struct qlcnic_adapter *adapter, char *name)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1196
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1202
qlcnic_validate_subsystem_id(adapter, i)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1209
sprintf(name, "%pM Gigabit Ethernet", adapter->mac_addr);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1211
sprintf(name, "%pM: %s" , adapter->mac_addr,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1216
qlcnic_check_options(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1220
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1221
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1224
prev_fw_version = adapter->fw_version;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1226
fw_major = QLC_SHARED_REG_RD32(adapter, QLCNIC_FW_VERSION_MAJOR);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1227
fw_minor = QLC_SHARED_REG_RD32(adapter, QLCNIC_FW_VERSION_MINOR);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1228
fw_build = QLC_SHARED_REG_RD32(adapter, QLCNIC_FW_VERSION_SUB);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1230
adapter->fw_version = QLCNIC_VERSION_CODE(fw_major, fw_minor, fw_build);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1232
err = qlcnic_get_board_info(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1239
adapter->fw_version > prev_fw_version) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1241
if (!qlcnic_fw_cmd_get_minidump_temp(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1250
if (adapter->ahw->port_type == QLCNIC_XGBE) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1251
if (adapter->flags & QLCNIC_ESWITCH_ENABLED) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1252
adapter->num_rxd = DEFAULT_RCV_DESCRIPTORS_VF;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1253
adapter->max_rxd = MAX_RCV_DESCRIPTORS_VF;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1255
adapter->num_rxd = DEFAULT_RCV_DESCRIPTORS_10G;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1256
adapter->max_rxd = MAX_RCV_DESCRIPTORS_10G;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1259
adapter->num_jumbo_rxd = MAX_JUMBO_RCV_DESCRIPTORS_10G;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1260
adapter->max_jumbo_rxd = MAX_JUMBO_RCV_DESCRIPTORS_10G;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1262
} else if (adapter->ahw->port_type == QLCNIC_GBE) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1263
adapter->num_rxd = DEFAULT_RCV_DESCRIPTORS_1G;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1264
adapter->num_jumbo_rxd = MAX_JUMBO_RCV_DESCRIPTORS_1G;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1265
adapter->max_jumbo_rxd = MAX_JUMBO_RCV_DESCRIPTORS_1G;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1266
adapter->max_rxd = MAX_RCV_DESCRIPTORS_1G;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1269
adapter->ahw->msix_supported = !!qlcnic_use_msi_x;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1271
adapter->num_txd = MAX_CMD_DESCRIPTORS;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1273
adapter->max_rds_rings = MAX_RDS_RINGS;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1277
qlcnic_initialize_nic(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1283
err = qlcnic_get_nic_info(adapter, &nic_info, adapter->ahw->pci_func);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1287
adapter->ahw->physical_port = (u8)nic_info.phys_port;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1288
adapter->ahw->switch_mode = nic_info.switch_mode;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1289
adapter->ahw->max_tx_ques = nic_info.max_tx_ques;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1290
adapter->ahw->max_rx_ques = nic_info.max_rx_ques;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1291
adapter->ahw->capabilities = nic_info.capabilities;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1293
if (adapter->ahw->capabilities & QLCNIC_FW_CAPABILITY_MORE_CAPS) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1295
temp = QLCRD32(adapter, CRB_FW_CAPABILITIES_2, &err);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1298
adapter->ahw->extra_capability[0] = temp;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1300
adapter->ahw->extra_capability[0] = 0;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1303
adapter->ahw->max_mac_filters = nic_info.max_mac_filters;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1304
adapter->ahw->max_mtu = nic_info.max_mtu;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1306
if (adapter->ahw->capabilities & BIT_6) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1307
adapter->flags |= QLCNIC_ESWITCH_ENABLED;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1308
adapter->ahw->nic_mode = QLCNIC_VNIC_MODE;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1309
adapter->max_tx_rings = QLCNIC_MAX_HW_VNIC_TX_RINGS;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1310
adapter->max_sds_rings = QLCNIC_MAX_VNIC_SDS_RINGS;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1312
dev_info(&adapter->pdev->dev, "vNIC mode enabled.\n");
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1314
adapter->ahw->nic_mode = QLCNIC_DEFAULT_MODE;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1315
adapter->max_tx_rings = QLCNIC_MAX_HW_TX_RINGS;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1316
adapter->max_sds_rings = QLCNIC_MAX_SDS_RINGS;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1317
adapter->flags &= ~QLCNIC_ESWITCH_ENABLED;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1323
void qlcnic_set_vlan_config(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1327
adapter->flags &= ~QLCNIC_TAGGING_ENABLED;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1329
adapter->flags |= QLCNIC_TAGGING_ENABLED;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1332
adapter->rx_pvid = esw_cfg->vlan_id;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1333
adapter->tx_pvid = esw_cfg->vlan_id;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1335
adapter->rx_pvid = 0;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1336
adapter->tx_pvid = 0;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1343
struct qlcnic_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1346
if (qlcnic_sriov_vf_check(adapter)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1347
err = qlcnic_sriov_cfg_vf_guest_vlan(adapter, vid, 1);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1356
set_bit(vid, adapter->vlans);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1363
struct qlcnic_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1366
if (qlcnic_sriov_vf_check(adapter)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1367
err = qlcnic_sriov_cfg_vf_guest_vlan(adapter, vid, 0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1377
clear_bit(vid, adapter->vlans);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1381
void qlcnic_set_eswitch_port_features(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1384
adapter->flags &= ~(QLCNIC_MACSPOOF | QLCNIC_MAC_OVERRIDE_DISABLED |
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1388
adapter->flags |= QLCNIC_MACSPOOF;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1391
adapter->flags |= QLCNIC_MAC_OVERRIDE_DISABLED;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1394
adapter->flags |= QLCNIC_PROMISC_DISABLED;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1397
int qlcnic_set_eswitch_port_config(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1401
if (!(adapter->flags & QLCNIC_ESWITCH_ENABLED))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1404
esw_cfg.pci_func = adapter->ahw->pci_func;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1405
if (qlcnic_get_eswitch_port_config(adapter, &esw_cfg))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1407
qlcnic_set_vlan_config(adapter, &esw_cfg);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1408
qlcnic_set_eswitch_port_features(adapter, &esw_cfg);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1409
qlcnic_set_netdev_features(adapter, &esw_cfg);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1414
void qlcnic_set_netdev_features(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1417
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1419
if (qlcnic_83xx_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1422
adapter->offload_flags = esw_cfg->offload_flags;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1423
adapter->flags |= QLCNIC_APP_CHANGED_FLAGS;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1425
adapter->flags &= ~QLCNIC_APP_CHANGED_FLAGS;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1429
qlcnic_check_eswitch_mode(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1434
err = qlcnic_initialize_nic(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1438
if (adapter->flags & QLCNIC_ADAPTER_INITIALIZED)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1441
op_mode = QLC_SHARED_REG_RD32(adapter, QLCNIC_DRV_OP_MODE);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1442
priv_level = QLC_DEV_GET_DRV(op_mode, adapter->ahw->pci_func);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1447
priv_level = QLC_DEV_GET_DRV(op_mode, adapter->ahw->pci_func);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1449
if (adapter->flags & QLCNIC_ESWITCH_ENABLED) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1451
adapter->ahw->op_mode = QLCNIC_MGMT_FUNC;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1452
err = qlcnic_init_pci_info(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1456
qlcnic_set_function_modes(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1457
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1459
adapter->ahw->fw_hal_version);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1461
adapter->ahw->op_mode = QLCNIC_PRIV_FUNC;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1462
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1464
adapter->ahw->fw_hal_version);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1467
adapter->ahw->nic_mode = QLCNIC_DEFAULT_MODE;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1470
adapter->flags |= QLCNIC_ADAPTER_INITIALIZED;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1475
int qlcnic_set_default_offload_settings(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1481
if (adapter->need_fw_reset)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1484
for (i = 0; i < adapter->ahw->total_nic_func; i++) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1485
if (!adapter->npars[i].eswitch_status)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1489
esw_cfg.pci_func = adapter->npars[i].pci_func;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1492
if (qlcnic_82xx_check(adapter)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1494
if (QLCNIC_IS_TSO_CAPABLE(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1497
if (qlcnic_config_switch_port(adapter, &esw_cfg))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1499
npar = &adapter->npars[i];
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1513
qlcnic_reset_eswitch_config(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1525
if (qlcnic_config_switch_port(adapter, &esw_cfg))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1529
if (qlcnic_config_switch_port(adapter, &esw_cfg))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1535
int qlcnic_reset_npar_config(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1542
if (qlcnic_82xx_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1543
if (!adapter->need_fw_reset)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1547
for (i = 0; i < adapter->ahw->total_nic_func; i++) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1548
npar = &adapter->npars[i];
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1550
if (!adapter->npars[i].eswitch_status)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1554
err = qlcnic_get_nic_info(adapter, &nic_info, pci_func);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1559
err = qlcnic_set_nic_info(adapter, &nic_info);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1564
err = qlcnic_config_port_mirroring(adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1570
err = qlcnic_reset_eswitch_config(adapter, npar, pci_func);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1577
static int qlcnic_check_npar_opertional(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1582
if (adapter->ahw->op_mode == QLCNIC_MGMT_FUNC)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1585
npar_state = QLC_SHARED_REG_RD32(adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1589
npar_state = QLC_SHARED_REG_RD32(adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1593
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1601
qlcnic_set_mgmt_operations(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1605
if (!(adapter->flags & QLCNIC_ESWITCH_ENABLED) ||
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1606
adapter->ahw->op_mode != QLCNIC_MGMT_FUNC)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1609
err = qlcnic_set_default_offload_settings(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1613
err = qlcnic_reset_npar_config(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1617
qlcnic_dev_set_npar_ready(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1622
static int qlcnic_82xx_start_firmware(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1626
err = qlcnic_can_start_firmware(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1633
qlcnic_request_firmware(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1635
err = qlcnic_check_flash_fw_ver(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1639
adapter->ahw->fw_type = QLCNIC_FLASH_ROMIMAGE;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1642
err = qlcnic_need_fw_reset(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1646
err = qlcnic_pinit_from_rom(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1650
err = qlcnic_load_firmware(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1654
qlcnic_release_firmware(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1655
QLCWR32(adapter, CRB_DRIVER_VERSION, QLCNIC_DRIVER_VERSION);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1658
err = qlcnic_check_fw_status(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1662
QLC_SHARED_REG_WR32(adapter, QLCNIC_CRB_DEV_STATE, QLCNIC_DEV_READY);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1663
qlcnic_idc_debug_info(adapter, 1);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1664
err = qlcnic_check_eswitch_mode(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1666
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1670
err = qlcnic_set_mgmt_operations(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1674
qlcnic_check_options(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1675
adapter->need_fw_reset = 0;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1677
qlcnic_release_firmware(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1681
QLC_SHARED_REG_WR32(adapter, QLCNIC_CRB_DEV_STATE, QLCNIC_DEV_FAILED);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1682
dev_err(&adapter->pdev->dev, "Device state set to failed\n");
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1684
qlcnic_release_firmware(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1689
qlcnic_request_irq(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1697
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1698
struct qlcnic_recv_context *recv_ctx = adapter->recv_ctx;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1700
if (adapter->ahw->diag_test == QLCNIC_INTERRUPT_TEST) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1701
if (qlcnic_82xx_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1705
if (!QLCNIC_IS_MSI_FAMILY(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1709
if (adapter->flags & QLCNIC_MSIX_ENABLED)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1711
else if (adapter->flags & QLCNIC_MSI_ENABLED)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1715
if (qlcnic_82xx_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1721
adapter->irq = netdev->irq;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1723
if (adapter->ahw->diag_test != QLCNIC_LOOPBACK_TEST) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1724
if (qlcnic_82xx_check(adapter) ||
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1725
(qlcnic_83xx_check(adapter) &&
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1726
(adapter->flags & QLCNIC_MSIX_ENABLED))) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1727
num_sds_rings = adapter->drv_sds_rings;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1730
if (qlcnic_82xx_check(adapter) &&
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1731
!qlcnic_check_multi_tx(adapter) &&
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1733
if (!(adapter->flags &
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1755
if ((qlcnic_82xx_check(adapter) &&
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1756
qlcnic_check_multi_tx(adapter)) ||
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1757
(qlcnic_83xx_check(adapter) &&
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1758
(adapter->flags & QLCNIC_MSIX_ENABLED) &&
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1759
!(adapter->flags & QLCNIC_TX_INTR_SHARED))) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1761
for (ring = 0; ring < adapter->drv_tx_rings;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1763
tx_ring = &adapter->tx_ring[ring];
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1777
qlcnic_free_irq(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1783
struct qlcnic_recv_context *recv_ctx = adapter->recv_ctx;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1785
if (adapter->ahw->diag_test != QLCNIC_LOOPBACK_TEST) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1786
if (qlcnic_82xx_check(adapter) ||
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1787
(qlcnic_83xx_check(adapter) &&
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1788
(adapter->flags & QLCNIC_MSIX_ENABLED))) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1789
for (ring = 0; ring < adapter->drv_sds_rings; ring++) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1794
if ((qlcnic_83xx_check(adapter) &&
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1795
!(adapter->flags & QLCNIC_TX_INTR_SHARED)) ||
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1796
(qlcnic_82xx_check(adapter) &&
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1797
qlcnic_check_multi_tx(adapter))) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1798
for (ring = 0; ring < adapter->drv_tx_rings;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1800
tx_ring = &adapter->tx_ring[ring];
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1808
static void qlcnic_get_lro_mss_capability(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1812
if (qlcnic_82xx_check(adapter)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1813
if (adapter->ahw->extra_capability[0] &
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1815
adapter->flags |= QLCNIC_FW_LRO_MSS_CAP;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1817
capab = adapter->ahw->capabilities;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1819
adapter->flags |= QLCNIC_FW_LRO_MSS_CAP;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1823
static int qlcnic_config_def_intr_coalesce(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1825
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1831
if (qlcnic_83xx_check(adapter)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1838
err = qlcnic_83xx_set_rx_tx_intr_coal(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1844
err = qlcnic_82xx_set_rx_coalesce(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1850
int __qlcnic_up(struct qlcnic_adapter *adapter, struct net_device *netdev)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1855
if (adapter->is_up != QLCNIC_ADAPTER_UP_MAGIC)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1858
if (test_bit(__QLCNIC_DEV_UP, &adapter->state))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1861
if (qlcnic_set_eswitch_port_config(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1864
qlcnic_get_lro_mss_capability(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1866
if (qlcnic_fw_create_ctx(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1869
for (ring = 0; ring < adapter->max_rds_rings; ring++) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1870
rds_ring = &adapter->recv_ctx->rds_rings[ring];
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1871
qlcnic_post_rx_buffers(adapter, rds_ring, ring);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1875
qlcnic_fw_cmd_set_mtu(adapter, netdev->mtu);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1877
adapter->ahw->linkup = 0;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1879
if (adapter->drv_sds_rings > 1)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1880
qlcnic_config_rss(adapter, 1);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1882
qlcnic_config_def_intr_coalesce(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1885
qlcnic_config_hw_lro(adapter, QLCNIC_LRO_ENABLED);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1887
set_bit(__QLCNIC_DEV_UP, &adapter->state);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1888
qlcnic_napi_enable(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1890
qlcnic_linkevent_request(adapter, 1);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1892
adapter->ahw->reset_context = 0;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1897
int qlcnic_up(struct qlcnic_adapter *adapter, struct net_device *netdev)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1903
err = __qlcnic_up(adapter, netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1909
void __qlcnic_down(struct qlcnic_adapter *adapter, struct net_device *netdev)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1913
if (adapter->is_up != QLCNIC_ADAPTER_UP_MAGIC)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1916
if (!test_and_clear_bit(__QLCNIC_DEV_UP, &adapter->state))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1921
adapter->ahw->linkup = 0;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1924
qlcnic_free_mac_list(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1926
if (adapter->fhash.fnum)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1927
qlcnic_delete_lb_filters(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1929
qlcnic_nic_set_promisc(adapter, QLCNIC_NIU_NON_PROMISC_MODE);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1930
if (qlcnic_sriov_vf_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1931
qlcnic_sriov_cleanup_async_list(&adapter->ahw->sriov->bc);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1933
qlcnic_napi_disable(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1935
qlcnic_fw_destroy_ctx(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1936
adapter->flags &= ~QLCNIC_FW_LRO_MSS_CAP;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1938
qlcnic_reset_rx_buffers_list(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1940
for (ring = 0; ring < adapter->drv_tx_rings; ring++)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1941
qlcnic_release_tx_buffers(adapter, &adapter->tx_ring[ring]);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1946
void qlcnic_down(struct qlcnic_adapter *adapter, struct net_device *netdev)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1950
__qlcnic_down(adapter, netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1956
qlcnic_attach(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1958
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1959
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1962
if (adapter->is_up == QLCNIC_ADAPTER_UP_MAGIC)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1965
err = qlcnic_napi_add(adapter, netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1969
err = qlcnic_alloc_sw_resources(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1975
err = qlcnic_alloc_hw_resources(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1981
err = qlcnic_request_irq(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1987
qlcnic_create_sysfs_entries(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1989
if (qlcnic_encap_rx_offload(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1992
adapter->is_up = QLCNIC_ADAPTER_UP_MAGIC;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1996
qlcnic_free_hw_resources(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
1998
qlcnic_free_sw_resources(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2000
qlcnic_napi_del(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2004
void qlcnic_detach(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2006
if (adapter->is_up != QLCNIC_ADAPTER_UP_MAGIC)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2009
qlcnic_remove_sysfs_entries(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2011
qlcnic_free_hw_resources(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2012
qlcnic_release_rx_buffers(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2013
qlcnic_free_irq(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2014
qlcnic_napi_del(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2015
qlcnic_free_sw_resources(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2017
adapter->is_up = 0;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2022
struct qlcnic_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2024
int drv_tx_rings = adapter->drv_tx_rings;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2027
clear_bit(__QLCNIC_DEV_UP, &adapter->state);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2028
if (adapter->ahw->diag_test == QLCNIC_INTERRUPT_TEST) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2029
for (ring = 0; ring < adapter->drv_sds_rings; ring++) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2030
sds_ring = &adapter->recv_ctx->sds_rings[ring];
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2031
qlcnic_disable_sds_intr(adapter, sds_ring);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2035
qlcnic_fw_destroy_ctx(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2037
qlcnic_detach(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2039
adapter->ahw->diag_test = 0;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2040
adapter->drv_sds_rings = drv_sds_rings;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2041
adapter->drv_tx_rings = drv_tx_rings;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2043
if (qlcnic_attach(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2047
__qlcnic_up(adapter, netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2052
static int qlcnic_alloc_adapter_resources(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2054
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2057
adapter->recv_ctx = kzalloc_obj(struct qlcnic_recv_context);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2058
if (!adapter->recv_ctx) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2063
if (qlcnic_83xx_check(adapter)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2076
memset(&adapter->stats, 0, sizeof(adapter->stats));
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2081
static void qlcnic_free_adapter_resources(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2083
struct qlcnic_fw_dump *fw_dump = &adapter->ahw->fw_dump;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2085
kfree(adapter->recv_ctx);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2086
adapter->recv_ctx = NULL;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2094
dma_free_coherent(&adapter->pdev->dev, QLC_PEX_DMA_READ_SIZE,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2099
kfree(adapter->ahw->reset.buff);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2100
adapter->ahw->fw_dump.tmpl_hdr = NULL;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2105
struct qlcnic_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2114
__qlcnic_down(adapter, netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2116
qlcnic_detach(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2118
adapter->drv_sds_rings = QLCNIC_SINGLE_RING;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2119
adapter->ahw->diag_test = test;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2120
adapter->ahw->linkup = 0;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2122
ret = qlcnic_attach(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2128
ret = qlcnic_fw_create_ctx(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2130
qlcnic_detach(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2135
for (ring = 0; ring < adapter->max_rds_rings; ring++) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2136
rds_ring = &adapter->recv_ctx->rds_rings[ring];
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2137
qlcnic_post_rx_buffers(adapter, rds_ring, ring);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2140
if (adapter->ahw->diag_test == QLCNIC_INTERRUPT_TEST) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2141
for (ring = 0; ring < adapter->drv_sds_rings; ring++) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2142
sds_ring = &adapter->recv_ctx->sds_rings[ring];
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2143
qlcnic_enable_sds_intr(adapter, sds_ring);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2147
if (adapter->ahw->diag_test == QLCNIC_LOOPBACK_TEST) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2148
adapter->ahw->loopback_state = 0;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2149
qlcnic_linkevent_request(adapter, 1);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2152
set_bit(__QLCNIC_DEV_UP, &adapter->state);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2159
qlcnic_reset_hw_context(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2161
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2163
if (test_and_set_bit(__QLCNIC_RESETTING, &adapter->state))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2168
qlcnic_down(adapter, netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2170
qlcnic_up(adapter, netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2174
clear_bit(__QLCNIC_RESETTING, &adapter->state);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2175
netdev_info(adapter->netdev, "%s: soft reset complete\n", __func__);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2180
qlcnic_reset_context(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2183
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2185
if (test_and_set_bit(__QLCNIC_RESETTING, &adapter->state))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2188
if (adapter->is_up == QLCNIC_ADAPTER_UP_MAGIC) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2193
__qlcnic_down(adapter, netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2195
qlcnic_detach(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2198
err = qlcnic_attach(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2200
__qlcnic_up(adapter, netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2208
clear_bit(__QLCNIC_RESETTING, &adapter->state);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2212
static void qlcnic_82xx_set_mac_filter_count(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2214
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2228
static int qlcnic_set_real_num_queues(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2231
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2254
qlcnic_setup_netdev(struct qlcnic_adapter *adapter, struct net_device *netdev)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2257
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2259
adapter->rx_csum = 1;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2260
adapter->ahw->mc_enabled = 0;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2261
qlcnic_set_mac_filter_count(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2268
netdev->ethtool_ops = (qlcnic_sriov_vf_check(adapter)) ?
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2277
if (QLCNIC_IS_TSO_CAPABLE(adapter)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2282
if (qlcnic_vlan_tx_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2285
if (qlcnic_sriov_vf_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2288
if (adapter->ahw->capabilities & QLCNIC_FW_CAPABILITY_HW_LRO)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2291
if (qlcnic_encap_tx_offload(adapter)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2301
if (qlcnic_encap_rx_offload(adapter)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2309
netdev->irq = adapter->msix_entries[0].vector;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2315
err = qlcnic_set_real_num_queues(adapter, adapter->drv_tx_rings,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2316
adapter->drv_sds_rings);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2320
qlcnic_dcb_init_dcbnl_ops(adapter->dcb);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2331
void qlcnic_free_tx_rings(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2336
for (ring = 0; ring < adapter->drv_tx_rings; ring++) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2337
tx_ring = &adapter->tx_ring[ring];
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2343
kfree(adapter->tx_ring);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2346
int qlcnic_alloc_tx_rings(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2354
adapter->drv_tx_rings);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2358
adapter->tx_ring = tx_ring;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2360
for (ring = 0; ring < adapter->drv_tx_rings; ring++) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2361
tx_ring = &adapter->tx_ring[ring];
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2362
tx_ring->num_desc = adapter->num_txd;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2366
qlcnic_free_tx_rings(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2373
if (qlcnic_83xx_check(adapter) ||
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2374
(qlcnic_82xx_check(adapter) && qlcnic_check_multi_tx(adapter))) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2375
for (ring = 0; ring < adapter->drv_tx_rings; ring++) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2376
tx_ring = &adapter->tx_ring[ring];
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2377
tx_ring->adapter = adapter;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2378
if (adapter->flags & QLCNIC_MSIX_ENABLED) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2379
index = adapter->drv_sds_rings + ring;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2380
vector = adapter->msix_entries[index].vector;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2389
void qlcnic_set_drv_version(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2391
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2394
if (qlcnic_82xx_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2396
else if (qlcnic_83xx_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2400
qlcnic_fw_cmd_set_drv_version(adapter, fw_cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2404
static void qlcnic_reset_api_lock(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2406
qlcnic_api_lock(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2407
qlcnic_api_unlock(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2415
struct qlcnic_adapter *adapter = NULL;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2480
adapter = netdev_priv(netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2481
adapter->netdev = netdev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2482
adapter->pdev = pdev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2483
adapter->ahw = ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2485
adapter->qlcnic_wq = create_singlethread_workqueue("qlcnic");
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2486
if (adapter->qlcnic_wq == NULL) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2492
err = qlcnic_alloc_adapter_resources(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2496
adapter->dev_rst_time = jiffies;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2498
ahw->max_vnic_func = qlcnic_get_vnic_func_count(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2500
adapter->fdb_mac_learn = true;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2502
adapter->drv_mac_learn = true;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2504
rwlock_init(&adapter->ahw->crb_lock);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2505
mutex_init(&adapter->ahw->mem_lock);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2507
INIT_LIST_HEAD(&adapter->mac_list);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2509
qlcnic_register_dcb(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2511
if (qlcnic_82xx_check(adapter)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2512
qlcnic_check_vf(adapter, ent);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2513
adapter->portnum = adapter->ahw->pci_func;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2514
qlcnic_reset_api_lock(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2515
err = qlcnic_start_firmware(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2523
if (adapter->ahw->msix_supported) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2524
if (qlcnic_check_multi_tx_capability(adapter) == 1)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2525
qlcnic_set_tx_ring_count(adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2528
qlcnic_set_tx_ring_count(adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2530
qlcnic_set_sds_ring_count(adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2533
qlcnic_set_tx_ring_count(adapter, QLCNIC_SINGLE_RING);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2534
qlcnic_set_sds_ring_count(adapter, QLCNIC_SINGLE_RING);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2537
err = qlcnic_setup_idc_param(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2541
adapter->flags |= QLCNIC_NEED_FLR;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2543
} else if (qlcnic_83xx_check(adapter)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2544
qlcnic_83xx_check_vf(adapter, ent);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2545
adapter->portnum = adapter->ahw->pci_func;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2546
err = qlcnic_83xx_init(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2565
if (qlcnic_sriov_vf_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2574
if (qlcnic_read_mac_addr(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2577
qlcnic_read_phys_port_id(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2579
if (adapter->portnum == 0) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2580
qlcnic_get_board_name(adapter, board_name);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2584
board_name, adapter->ahw->revision_id);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2587
if (qlcnic_83xx_check(adapter) && !qlcnic_use_msi_x &&
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2592
if (qlcnic_82xx_check(adapter)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2593
err = qlcnic_dcb_enable(adapter->dcb);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2595
qlcnic_dcb_free(adapter->dcb);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2600
qlcnic_dcb_get_info(adapter->dcb);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2601
err = qlcnic_setup_intr(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2609
err = qlcnic_get_act_pci_func(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2613
if (adapter->portnum == 0)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2614
qlcnic_set_drv_version(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2616
err = qlcnic_setup_netdev(adapter, netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2620
pci_set_drvdata(pdev, adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2622
if (qlcnic_82xx_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2623
qlcnic_schedule_work(adapter, qlcnic_fw_poll_work,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2626
switch (adapter->ahw->port_type) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2628
dev_info(&adapter->pdev->dev, "%s: GbE port initialized\n",
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2629
adapter->netdev->name);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2632
dev_info(&adapter->pdev->dev, "%s: XGbE port initialized\n",
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2633
adapter->netdev->name);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2637
if (adapter->drv_mac_learn)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2638
qlcnic_alloc_lb_filters_mem(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2640
qlcnic_add_sysfs(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2641
qlcnic_register_hwmon_dev(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2645
if (qlcnic_83xx_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2646
qlcnic_83xx_free_mbx_intr(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2649
qlcnic_teardown_intr(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2650
qlcnic_cancel_idc_work(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2651
qlcnic_clr_all_drv_state(adapter, 0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2654
qlcnic_free_adapter_resources(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2657
destroy_workqueue(adapter->qlcnic_wq);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2676
set_bit(__QLCNIC_MAINTENANCE_MODE, &adapter->state);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2681
if (qlcnic_83xx_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2682
adapter->tgt_status_reg = NULL;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2690
qlcnic_clr_all_drv_state(adapter, 0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2694
pci_set_drvdata(pdev, adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2695
qlcnic_add_sysfs(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2702
struct qlcnic_adapter *adapter;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2706
adapter = pci_get_drvdata(pdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2707
if (adapter == NULL)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2710
netdev = adapter->netdev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2712
qlcnic_cancel_idc_work(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2713
qlcnic_sriov_pf_disable(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2714
ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2717
qlcnic_sriov_cleanup(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2719
if (qlcnic_83xx_check(adapter)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2720
qlcnic_83xx_initialize_nic(adapter, 0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2721
cancel_delayed_work_sync(&adapter->idc_aen_work);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2722
qlcnic_83xx_free_mbx_intr(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2723
qlcnic_83xx_detach_mailbox_work(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2728
qlcnic_dcb_free(adapter->dcb);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2729
qlcnic_detach(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2730
kfree(adapter->npars);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2731
kfree(adapter->eswitch);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2733
if (qlcnic_82xx_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2734
qlcnic_clr_all_drv_state(adapter, 0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2736
clear_bit(__QLCNIC_RESETTING, &adapter->state);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2738
qlcnic_free_lb_filters_mem(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2740
qlcnic_teardown_intr(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2742
qlcnic_remove_sysfs(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2744
qlcnic_unregister_hwmon_dev(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2746
qlcnic_cleanup_pci_map(adapter->ahw);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2748
qlcnic_release_firmware(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2753
if (adapter->qlcnic_wq) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2754
destroy_workqueue(adapter->qlcnic_wq);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2755
adapter->qlcnic_wq = NULL;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2758
qlcnic_free_adapter_resources(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2778
struct qlcnic_adapter *adapter = dev_get_drvdata(dev_d);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2780
return __qlcnic_resume(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2785
struct qlcnic_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2788
if (test_bit(__QLCNIC_MAINTENANCE_MODE, &adapter->state)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2797
err = qlcnic_attach(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2801
err = __qlcnic_up(adapter, netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2803
qlcnic_detach(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2813
struct qlcnic_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2815
__qlcnic_down(adapter, netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2822
void qlcnic_alloc_lb_filters_mem(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2826
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2830
if (adapter->fhash.fmax && adapter->fhash.fhead)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2833
act_pci_func = adapter->ahw->total_nic_func;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2834
spin_lock_init(&adapter->mac_learn_lock);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2835
spin_lock_init(&adapter->rx_mac_learn_lock);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2837
if (qlcnic_sriov_vf_check(adapter)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2839
adapter->fhash.fbucket_size = QLCNIC_VF_LB_BUCKET_SIZE;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2840
} else if (qlcnic_82xx_check(adapter)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2842
adapter->fhash.fbucket_size = QLCNIC_LB_BUCKET_SIZE;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2845
adapter->fhash.fbucket_size = QLC_83XX_LB_BUCKET_SIZE;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2848
head = kzalloc_objs(struct hlist_head, adapter->fhash.fbucket_size,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2854
adapter->fhash.fmax = (filter_size / act_pci_func);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2855
adapter->fhash.fhead = head;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2858
act_pci_func, adapter->fhash.fmax);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2860
for (i = 0; i < adapter->fhash.fbucket_size; i++)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2861
INIT_HLIST_HEAD(&adapter->fhash.fhead[i]);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2863
adapter->rx_fhash.fbucket_size = adapter->fhash.fbucket_size;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2865
head = kzalloc_objs(struct hlist_head, adapter->rx_fhash.fbucket_size,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2871
adapter->rx_fhash.fmax = (filter_size / act_pci_func);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2872
adapter->rx_fhash.fhead = head;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2874
for (i = 0; i < adapter->rx_fhash.fbucket_size; i++)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2875
INIT_HLIST_HEAD(&adapter->rx_fhash.fhead[i]);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2878
static void qlcnic_free_lb_filters_mem(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2880
if (adapter->fhash.fmax)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2881
kfree(adapter->fhash.fhead);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2883
adapter->fhash.fhead = NULL;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2884
adapter->fhash.fmax = 0;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2886
if (adapter->rx_fhash.fmax)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2887
kfree(adapter->rx_fhash.fhead);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2889
adapter->rx_fhash.fmax = 0;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2890
adapter->rx_fhash.fhead = NULL;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2893
int qlcnic_check_temp(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2895
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2899
if (qlcnic_83xx_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2900
temp = QLCRDX(adapter->ahw, QLC_83XX_ASIC_TEMP);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2902
if (qlcnic_82xx_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2903
temp = QLC_SHARED_REG_RD32(adapter, QLCNIC_ASIC_TEMP);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2915
if (adapter->ahw->temp == QLCNIC_TEMP_NORMAL) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2923
if (adapter->ahw->temp == QLCNIC_TEMP_WARN) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2929
adapter->ahw->temp = temp_state;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
294
int qlcnic_read_mac_addr(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2945
static void qlcnic_dump_rings(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2947
struct qlcnic_recv_context *recv_ctx = adapter->recv_ctx;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2948
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2957
for (ring = 0; ring < adapter->max_rds_rings; ring++) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
296
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2967
for (ring = 0; ring < adapter->drv_sds_rings; ring++) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
297
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2978
for (ring = 0; ring < adapter->drv_tx_rings; ring++) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2979
tx_ring = &adapter->tx_ring[ring];
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3004
if (netif_msg_tx_err(adapter->ahw))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
301
ret = qlcnic_get_mac_address(adapter, mac_addr,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3012
struct qlcnic_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3014
if (test_bit(__QLCNIC_RESETTING, &adapter->state))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3017
qlcnic_dump_rings(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3019
if (++adapter->tx_timeo_cnt >= QLCNIC_MAX_TX_TIMEOUTS ||
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
302
adapter->ahw->pci_func);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3020
netif_msg_tx_err(adapter->ahw)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3022
if (qlcnic_82xx_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3023
adapter->need_fw_reset = 1;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3024
else if (qlcnic_83xx_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3025
qlcnic_83xx_idc_request_reset(adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3029
adapter->ahw->reset_context = 1;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3035
struct qlcnic_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3038
if (test_bit(__QLCNIC_DEV_UP, &adapter->state))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3039
qlcnic_update_stats(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3041
stats->rx_packets = adapter->stats.rx_pkts + adapter->stats.lro_pkts;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3042
stats->tx_packets = adapter->stats.xmitfinished;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3043
stats->rx_bytes = adapter->stats.rxbytes + adapter->stats.lrobytes;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3044
stats->tx_bytes = adapter->stats.txbytes;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3045
stats->rx_dropped = adapter->stats.rxdropped;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3046
stats->tx_dropped = adapter->stats.txdropped;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3051
static irqreturn_t qlcnic_82xx_clear_legacy_intr(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3055
status = readl(adapter->isr_int_vec);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3057
if (!(status & adapter->ahw->int_vec_bit))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3061
status = readl(adapter->crb_int_state_reg);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3065
writel(0xffffffff, adapter->tgt_status_reg);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3067
readl(adapter->isr_int_vec);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3068
readl(adapter->isr_int_vec);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
307
memcpy(adapter->mac_addr, netdev->dev_addr, netdev->addr_len);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3076
struct qlcnic_adapter *adapter = sds_ring->adapter;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3078
if (adapter->flags & QLCNIC_MSIX_ENABLED)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3080
else if (adapter->flags & QLCNIC_MSI_ENABLED) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3081
writel(0xffffffff, adapter->tgt_status_reg);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3085
if (qlcnic_clear_legacy_intr(adapter) == IRQ_NONE)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3089
adapter->ahw->diag_cnt++;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3090
qlcnic_enable_sds_intr(adapter, sds_ring);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3097
struct qlcnic_adapter *adapter = sds_ring->adapter;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3099
if (qlcnic_clear_legacy_intr(adapter) == IRQ_NONE)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3110
struct qlcnic_adapter *adapter = sds_ring->adapter;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3113
writel(0xffffffff, adapter->tgt_status_reg);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3136
qlcnic_idc_debug_info(struct qlcnic_adapter *adapter, u8 encoding)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3140
val = adapter->portnum & 0xf;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3142
val |= (jiffies - adapter->dev_rst_time) << 8;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3144
QLC_SHARED_REG_WR32(adapter, QLCNIC_CRB_DRV_SCRATCH, val);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3145
adapter->dev_rst_time = jiffies;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3149
qlcnic_set_drv_state(struct qlcnic_adapter *adapter, u8 state)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3156
if (qlcnic_api_lock(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3159
val = QLC_SHARED_REG_RD32(adapter, QLCNIC_CRB_DRV_STATE);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3162
QLC_DEV_SET_RST_RDY(val, adapter->portnum);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3164
QLC_DEV_SET_QSCNT_RDY(val, adapter->portnum);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3166
QLC_SHARED_REG_WR32(adapter, QLCNIC_CRB_DRV_STATE, val);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3168
qlcnic_api_unlock(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3174
qlcnic_clr_drv_state(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3178
if (qlcnic_api_lock(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
318
static void qlcnic_delete_adapter_mac(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3181
val = QLC_SHARED_REG_RD32(adapter, QLCNIC_CRB_DRV_STATE);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3182
QLC_DEV_CLR_RST_QSCNT(val, adapter->portnum);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3183
QLC_SHARED_REG_WR32(adapter, QLCNIC_CRB_DRV_STATE, val);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3185
qlcnic_api_unlock(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3190
void qlcnic_clr_all_drv_state(struct qlcnic_adapter *adapter, u8 failed)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3194
if (qlcnic_api_lock(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3197
val = QLC_SHARED_REG_RD32(adapter, QLCNIC_CRB_DRV_ACTIVE);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3198
QLC_DEV_CLR_REF_CNT(val, adapter->portnum);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3199
QLC_SHARED_REG_WR32(adapter, QLCNIC_CRB_DRV_ACTIVE, val);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3202
QLC_SHARED_REG_WR32(adapter, QLCNIC_CRB_DEV_STATE,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3204
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3207
QLC_SHARED_REG_WR32(adapter, QLCNIC_CRB_DEV_STATE,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3210
val = QLC_SHARED_REG_RD32(adapter, QLCNIC_CRB_DRV_STATE);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3211
QLC_DEV_CLR_RST_QSCNT(val, adapter->portnum);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3212
QLC_SHARED_REG_WR32(adapter, QLCNIC_CRB_DRV_STATE, val);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3214
qlcnic_api_unlock(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3216
adapter->fw_fail_cnt = 0;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3217
adapter->flags &= ~QLCNIC_FW_HANG;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3218
clear_bit(__QLCNIC_START_FW, &adapter->state);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3219
clear_bit(__QLCNIC_RESETTING, &adapter->state);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
322
list_for_each_entry(cur, &adapter->mac_list, list) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3224
qlcnic_check_drv_state(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3227
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3229
state = QLC_SHARED_REG_RD32(adapter, QLCNIC_CRB_DRV_STATE);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
323
if (ether_addr_equal_unaligned(adapter->mac_addr, cur->mac_addr)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3230
act = QLC_SHARED_REG_RD32(adapter, QLCNIC_CRB_DRV_ACTIVE);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3232
if (adapter->flags & QLCNIC_FW_RESET_OWNER) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
324
qlcnic_sre_macaddr_change(adapter, cur->mac_addr,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3244
static int qlcnic_check_idc_ver(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3246
u32 val = QLC_SHARED_REG_RD32(adapter, QLCNIC_CRB_DRV_IDC_VER);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3249
dev_warn(&adapter->pdev->dev, "IDC Version mismatch, driver's"
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3257
qlcnic_can_start_firmware(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3260
u8 dev_init_timeo = adapter->dev_init_timeo;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3261
u8 portnum = adapter->portnum;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3264
if (test_and_clear_bit(__QLCNIC_START_FW, &adapter->state))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3267
if (qlcnic_api_lock(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3270
val = QLC_SHARED_REG_RD32(adapter, QLCNIC_CRB_DRV_ACTIVE);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3273
QLC_SHARED_REG_WR32(adapter, QLCNIC_CRB_DRV_ACTIVE, val);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3276
prev_state = QLC_SHARED_REG_RD32(adapter, QLCNIC_CRB_DEV_STATE);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3277
QLCDB(adapter, HW, "Device state = %u\n", prev_state);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3281
QLC_SHARED_REG_WR32(adapter, QLCNIC_CRB_DEV_STATE,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3283
QLC_SHARED_REG_WR32(adapter, QLCNIC_CRB_DRV_IDC_VER,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3285
qlcnic_idc_debug_info(adapter, 0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3286
qlcnic_api_unlock(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3290
ret = qlcnic_check_idc_ver(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3291
qlcnic_api_unlock(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3295
val = QLC_SHARED_REG_RD32(adapter, QLCNIC_CRB_DRV_STATE);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3297
QLC_SHARED_REG_WR32(adapter, QLCNIC_CRB_DRV_STATE, val);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3301
val = QLC_SHARED_REG_RD32(adapter, QLCNIC_CRB_DRV_STATE);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3303
QLC_SHARED_REG_WR32(adapter, QLCNIC_CRB_DRV_STATE, val);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3307
dev_err(&adapter->pdev->dev, "Device in failed state.\n");
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3308
qlcnic_api_unlock(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3316
qlcnic_api_unlock(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3320
prev_state = QLC_SHARED_REG_RD32(adapter, QLCNIC_CRB_DEV_STATE);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3324
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3329
if (qlcnic_api_lock(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3332
val = QLC_SHARED_REG_RD32(adapter, QLCNIC_CRB_DRV_STATE);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3334
QLC_SHARED_REG_WR32(adapter, QLCNIC_CRB_DRV_STATE, val);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3336
ret = qlcnic_check_idc_ver(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3337
qlcnic_api_unlock(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3345
struct qlcnic_adapter *adapter = container_of(work,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
335
struct qlcnic_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3350
if (qlcnic_api_lock(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3353
dev_state = QLC_SHARED_REG_RD32(adapter, QLCNIC_CRB_DEV_STATE);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3356
qlcnic_api_unlock(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3357
qlcnic_schedule_work(adapter, qlcnic_fwinit_work,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3362
if (adapter->ahw->op_mode == QLCNIC_NON_PRIV_FUNC) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3363
qlcnic_api_unlock(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3369
dev_info(&adapter->pdev->dev, "Detected state change from "
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3374
if (adapter->fw_wait_cnt++ > adapter->reset_ack_timeo) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3375
dev_info(&adapter->pdev->dev, "Reset:Failed to get ack %d sec\n",
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3376
adapter->reset_ack_timeo);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
338
if (qlcnic_sriov_vf_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3380
if (!qlcnic_check_drv_state(adapter)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3382
dev_state = QLC_SHARED_REG_RD32(adapter, QLCNIC_CRB_DEV_STATE);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3385
QLC_SHARED_REG_WR32(adapter, QLCNIC_CRB_DEV_STATE,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3387
set_bit(__QLCNIC_START_FW, &adapter->state);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3388
QLCDB(adapter, DRV, "Restarting fw\n");
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3389
qlcnic_idc_debug_info(adapter, 0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3390
val = QLC_SHARED_REG_RD32(adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3392
QLC_DEV_SET_RST_RDY(val, adapter->portnum);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3393
QLC_SHARED_REG_WR32(adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3397
qlcnic_api_unlock(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3400
if (qlcnic_check_fw_dump_state(adapter) &&
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3401
(adapter->flags & QLCNIC_FW_RESET_OWNER)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3402
QLCDB(adapter, DRV, "Take FW dump\n");
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3403
qlcnic_dump_fw(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3404
adapter->flags |= QLCNIC_FW_HANG;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3408
adapter->flags &= ~QLCNIC_FW_RESET_OWNER;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3409
if (!adapter->nic_ops->start_firmware(adapter)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
341
if ((adapter->flags & QLCNIC_MAC_OVERRIDE_DISABLED))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3410
qlcnic_schedule_work(adapter, qlcnic_attach_work, 0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3411
adapter->fw_wait_cnt = 0;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3417
qlcnic_api_unlock(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3420
dev_state = QLC_SHARED_REG_RD32(adapter, QLCNIC_CRB_DEV_STATE);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3421
QLCDB(adapter, HW, "Func waiting: Device state=%u\n", dev_state);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3425
if (!qlcnic_start_firmware(adapter)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3426
qlcnic_schedule_work(adapter, qlcnic_attach_work, 0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3427
adapter->fw_wait_cnt = 0;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3434
qlcnic_schedule_work(adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3440
dev_err(&adapter->pdev->dev, "Fwinit work failed state=%u "
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3441
"fw_wait_cnt=%u\n", dev_state, adapter->fw_wait_cnt);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3442
netif_device_attach(adapter->netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3443
qlcnic_clr_all_drv_state(adapter, 0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3449
struct qlcnic_adapter *adapter = container_of(work,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3451
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3457
if (adapter->dev_state == QLCNIC_DEV_NEED_QUISCENT) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3459
__qlcnic_down(adapter, netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3461
qlcnic_down(adapter, netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3463
status = QLC_SHARED_REG_RD32(adapter, QLCNIC_PEG_HALT_STATUS1);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3466
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
347
if (ether_addr_equal_unaligned(adapter->mac_addr, addr->sa_data) &&
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3471
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3474
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3481
if (adapter->ahw->temp == QLCNIC_TEMP_PANIC) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3482
dev_err(&adapter->pdev->dev, "Detaching the device: temp=%d\n",
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3483
adapter->ahw->temp);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3488
if (!(adapter->flags & QLCNIC_FW_RESET_OWNER)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3489
if (qlcnic_set_drv_state(adapter, adapter->dev_state)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3490
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3497
adapter->fw_wait_cnt = 0;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3499
qlcnic_schedule_work(adapter, qlcnic_fwinit_work, FW_POLL_DELAY);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3505
qlcnic_clr_all_drv_state(adapter, 1);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
351
if (test_bit(__QLCNIC_DEV_UP, &adapter->state)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3510
qlcnic_set_npar_non_operational(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3514
state = QLC_SHARED_REG_RD32(adapter, QLCNIC_CRB_DEV_NPAR_STATE);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3518
if (qlcnic_api_lock(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3520
QLC_SHARED_REG_WR32(adapter, QLCNIC_CRB_DEV_NPAR_STATE,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3522
qlcnic_api_unlock(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3525
static void qlcnic_82xx_dev_request_reset(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
353
qlcnic_napi_disable(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3532
QLCWR32(adapter, QLCNIC_NIU_XG_PAUSE_CTL, xg_val);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3537
QLCWR32(adapter, QLCNIC_NIU_GB_PAUSE_CTL, gb_val);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3538
dev_info(&adapter->pdev->dev, "Pause control frames disabled"
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3540
adapter->need_fw_reset = 1;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3542
if (qlcnic_api_lock(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3545
state = QLC_SHARED_REG_RD32(adapter, QLCNIC_CRB_DEV_STATE);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3547
if (test_bit(__QLCNIC_MAINTENANCE_MODE, &adapter->state)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3548
netdev_err(adapter->netdev, "%s: Device is in non-operational state\n",
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3550
qlcnic_api_unlock(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3556
QLC_SHARED_REG_WR32(adapter, QLCNIC_CRB_DEV_STATE,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3558
adapter->flags |= QLCNIC_FW_RESET_OWNER;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3559
QLCDB(adapter, DRV, "NEED_RESET state set\n");
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
356
qlcnic_delete_adapter_mac(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3560
qlcnic_idc_debug_info(adapter, 0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3563
QLC_SHARED_REG_WR32(adapter, QLCNIC_CRB_DEV_NPAR_STATE,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3565
qlcnic_api_unlock(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
357
memcpy(adapter->mac_addr, addr->sa_data, netdev->addr_len);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3570
qlcnic_dev_set_npar_ready(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3572
if (qlcnic_api_lock(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3575
QLC_SHARED_REG_WR32(adapter, QLCNIC_CRB_DEV_NPAR_STATE,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3577
QLCDB(adapter, DRV, "NPAR operational state set\n");
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3579
qlcnic_api_unlock(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3582
void qlcnic_schedule_work(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3585
if (test_bit(__QLCNIC_AER, &adapter->state))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3588
INIT_DELAYED_WORK(&adapter->fw_work, func);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3589
queue_delayed_work(adapter->qlcnic_wq, &adapter->fw_work,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
359
qlcnic_set_multi(adapter->netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3596
struct qlcnic_adapter *adapter = container_of(work,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3598
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3601
if (adapter->ahw->op_mode != QLCNIC_MGMT_FUNC) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3602
npar_state = QLC_SHARED_REG_RD32(adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3604
if (adapter->fw_wait_cnt++ > QLCNIC_DEV_NPAR_OPER_TIMEO)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3605
qlcnic_clr_all_drv_state(adapter, 0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3607
qlcnic_schedule_work(adapter, qlcnic_attach_work,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
361
if (test_bit(__QLCNIC_DEV_UP, &adapter->state)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3611
QLCDB(adapter, DRV, "Waiting for NPAR state to operational\n");
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3615
qlcnic_dcb_get_info(adapter->dcb);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3618
if (qlcnic_up(adapter, netdev))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3626
adapter->fw_fail_cnt = 0;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3627
adapter->flags &= ~QLCNIC_FW_HANG;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3628
clear_bit(__QLCNIC_RESETTING, &adapter->state);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3629
if (adapter->portnum == 0)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
363
qlcnic_napi_enable(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3630
qlcnic_set_drv_version(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3632
if (!qlcnic_clr_drv_state(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3633
qlcnic_schedule_work(adapter, qlcnic_fw_poll_work,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3638
qlcnic_check_health(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3640
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3646
if (qlcnic_check_temp(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3649
if (adapter->need_fw_reset)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3650
qlcnic_dev_request_reset(adapter, 0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3652
state = QLC_SHARED_REG_RD32(adapter, QLCNIC_CRB_DEV_STATE);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3654
qlcnic_set_npar_non_operational(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3655
adapter->need_fw_reset = 1;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3659
heartbeat = QLC_SHARED_REG_RD32(adapter, QLCNIC_PEG_ALIVE_COUNTER);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3660
if (heartbeat != adapter->heartbeat) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3661
adapter->heartbeat = heartbeat;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3662
adapter->fw_fail_cnt = 0;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3663
if (adapter->need_fw_reset)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3667
qlcnic_reset_hw_context(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3672
if (++adapter->fw_fail_cnt < FW_FAIL_THRESH)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3675
adapter->flags |= QLCNIC_FW_HANG;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3677
qlcnic_dev_request_reset(adapter, 0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3680
clear_bit(__QLCNIC_FW_ATTACHED, &adapter->state);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3682
dev_err(&adapter->pdev->dev, "firmware hang detected\n");
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3683
peg_status = QLC_SHARED_REG_RD32(adapter, QLCNIC_PEG_HALT_STATUS1);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3684
dev_err(&adapter->pdev->dev, "Dumping hw/fw registers\n"
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3690
QLC_SHARED_REG_RD32(adapter, QLCNIC_PEG_HALT_STATUS2),
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3691
QLCRD32(adapter, QLCNIC_CRB_PEG_NET_0 + 0x3c, &err),
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3692
QLCRD32(adapter, QLCNIC_CRB_PEG_NET_1 + 0x3c, &err),
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3693
QLCRD32(adapter, QLCNIC_CRB_PEG_NET_2 + 0x3c, &err),
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3694
QLCRD32(adapter, QLCNIC_CRB_PEG_NET_3 + 0x3c, &err),
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3695
QLCRD32(adapter, QLCNIC_CRB_PEG_NET_4 + 0x3c, &err));
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3697
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3701
adapter->dev_state = (state == QLCNIC_DEV_NEED_QUISCENT) ? state :
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3705
&adapter->state)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3707
qlcnic_schedule_work(adapter, qlcnic_detach_work, 0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3708
QLCDB(adapter, DRV, "fw recovery scheduled.\n");
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3710
adapter->flags & QLCNIC_FW_RESET_OWNER) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3711
qlcnic_dump_fw(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3719
struct qlcnic_adapter *adapter = container_of(work,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3722
if (test_bit(__QLCNIC_RESETTING, &adapter->state))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3726
if (qlcnic_check_health(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3729
if (adapter->fhash.fnum)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
373
struct qlcnic_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3730
qlcnic_prune_lb_filters(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3733
qlcnic_schedule_work(adapter, qlcnic_fw_poll_work, FW_POLL_DELAY);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
376
if (!adapter->fdb_mac_learn)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3760
struct qlcnic_adapter *adapter = pci_get_drvdata(pdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3761
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3772
if (qlcnic_api_lock(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3775
if (adapter->ahw->op_mode != QLCNIC_NON_PRIV_FUNC && first_func) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3776
adapter->need_fw_reset = 1;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3777
set_bit(__QLCNIC_START_FW, &adapter->state);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3778
QLC_SHARED_REG_WR32(adapter, QLCNIC_CRB_DEV_STATE,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3780
QLCDB(adapter, DRV, "Restarting fw\n");
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3782
qlcnic_api_unlock(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3784
err = qlcnic_start_firmware(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3788
qlcnic_clr_drv_state(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3789
kfree(adapter->msix_entries);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
379
if ((adapter->flags & QLCNIC_ESWITCH_ENABLED) ||
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3790
adapter->msix_entries = NULL;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3791
err = qlcnic_setup_intr(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3794
kfree(adapter->msix_entries);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
380
qlcnic_sriov_check(adapter)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3800
err = qlcnic_attach(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3802
qlcnic_clr_all_drv_state(adapter, 1);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3803
clear_bit(__QLCNIC_AER, &adapter->state);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3808
err = qlcnic_up(adapter, netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3822
struct qlcnic_adapter *adapter = pci_get_drvdata(pdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3823
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3831
set_bit(__QLCNIC_AER, &adapter->state);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3834
cancel_delayed_work_sync(&adapter->fw_work);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3837
qlcnic_down(adapter, netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3839
qlcnic_detach(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
384
err = qlcnic_nic_del_mac(adapter, addr);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3840
qlcnic_teardown_intr(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3842
clear_bit(__QLCNIC_RESETTING, &adapter->state);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3865
struct qlcnic_adapter *adapter = pci_get_drvdata(pdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3867
state = QLC_SHARED_REG_RD32(adapter, QLCNIC_CRB_DEV_STATE);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3869
&adapter->state))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3870
qlcnic_schedule_work(adapter, qlcnic_fw_poll_work,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3877
struct qlcnic_adapter *adapter = pci_get_drvdata(pdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3878
struct qlcnic_hardware_ops *hw_ops = adapter->ahw->hw_ops;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3890
struct qlcnic_adapter *adapter = pci_get_drvdata(pdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3891
struct qlcnic_hardware_ops *hw_ops = adapter->ahw->hw_ops;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3903
struct qlcnic_adapter *adapter = pci_get_drvdata(pdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3904
struct qlcnic_hardware_ops *hw_ops = adapter->ahw->hw_ops;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3914
qlcnicvf_start_firmware(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3918
err = qlcnic_can_start_firmware(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3922
err = qlcnic_check_npar_opertional(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3926
err = qlcnic_initialize_nic(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3930
qlcnic_check_options(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3932
err = qlcnic_set_eswitch_port_config(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3936
adapter->need_fw_reset = 0;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3941
int qlcnic_validate_rings(struct qlcnic_adapter *adapter, __u32 ring_cnt,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3944
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3958
if (qlcnic_82xx_check(adapter) && (queue_type == QLCNIC_TX_QUEUE) &&
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3959
!qlcnic_check_multi_tx(adapter)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3974
int qlcnic_setup_rings(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3976
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3980
if (test_bit(__QLCNIC_RESETTING, &adapter->state))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3983
tx_rings = adapter->drv_tss_rings;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3984
rx_rings = adapter->drv_rss_rings;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3988
err = qlcnic_set_real_num_queues(adapter, tx_rings, rx_rings);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
399
struct qlcnic_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3993
__qlcnic_down(adapter, netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3995
qlcnic_detach(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3997
if (qlcnic_83xx_check(adapter)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3998
qlcnic_83xx_free_mbx_intr(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
3999
qlcnic_83xx_enable_mbx_poll(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
4002
qlcnic_teardown_intr(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
4004
err = qlcnic_setup_intr(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
4006
kfree(adapter->msix_entries);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
4014
if ((tx_rings != adapter->drv_tx_rings) ||
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
4015
(rx_rings != adapter->drv_sds_rings)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
4016
err = qlcnic_set_real_num_queues(adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
4017
adapter->drv_tx_rings,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
4018
adapter->drv_sds_rings);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
402
if (!adapter->fdb_mac_learn)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
4023
if (qlcnic_83xx_check(adapter)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
4024
qlcnic_83xx_initialize_nic(adapter, 1);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
4025
err = qlcnic_83xx_setup_mbx_intr(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
4026
qlcnic_83xx_disable_mbx_poll(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
4028
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
4035
err = qlcnic_attach(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
4038
err = __qlcnic_up(adapter, netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
4045
clear_bit(__QLCNIC_RESETTING, &adapter->state);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
405
if (!(adapter->flags & QLCNIC_ESWITCH_ENABLED) &&
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
4054
qlcnic_config_indev_addr(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
406
!qlcnic_sriov_check(adapter)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
4067
qlcnic_config_ipaddr(adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
4071
qlcnic_config_ipaddr(adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
4084
struct qlcnic_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
4088
qlcnic_config_indev_addr(adapter, netdev, event);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
4091
for_each_set_bit(vid, adapter->vlans, VLAN_N_VID) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
4095
qlcnic_config_indev_addr(adapter, dev, event);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
4103
struct qlcnic_adapter *adapter;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
411
if (ether_addr_equal(addr, adapter->mac_addr))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
4118
adapter = netdev_priv(dev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
4120
if (!adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
4123
if (!test_bit(__QLCNIC_DEV_UP, &adapter->state))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
4126
qlcnic_config_indev_addr(adapter, dev, event);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
4135
struct qlcnic_adapter *adapter;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
415
if (netdev_uc_count(netdev) < adapter->ahw->max_uc_count)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
4154
adapter = netdev_priv(dev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
4156
if (!adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
4159
if (!test_bit(__QLCNIC_DEV_UP, &adapter->state))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
4164
qlcnic_config_ipaddr(adapter, ifa->ifa_address, QLCNIC_IP_UP);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
4168
qlcnic_config_ipaddr(adapter, ifa->ifa_address, QLCNIC_IP_DOWN);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
432
struct qlcnic_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
435
if (!adapter->fdb_mac_learn)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
438
if ((adapter->flags & QLCNIC_ESWITCH_ENABLED) ||
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
439
qlcnic_sriov_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
445
static void qlcnic_82xx_cancel_idc_work(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
447
while (test_and_set_bit(__QLCNIC_RESETTING, &adapter->state))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
450
if (!adapter->fw_work.work.func)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
453
cancel_delayed_work_sync(&adapter->fw_work);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
459
struct qlcnic_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
460
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
462
if (!(adapter->flags & QLCNIC_HAS_PHYS_PORT_ID))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
473
struct qlcnic_adapter *adapter = netdev_priv(dev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
479
err = qlcnic_set_vxlan_port(adapter, ntohs(ti.port));
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
484
return qlcnic_set_vxlan_parsing(adapter, ntohs(ti.port));
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
609
static int qlcnic_check_multi_tx_capability(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
61
static void qlcnic_idc_debug_info(struct qlcnic_adapter *adapter, u8 encoding);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
611
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
613
if (qlcnic_82xx_check(adapter) &&
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
615
test_and_set_bit(__QLCNIC_MULTI_TX_UNIQUE, &adapter->state);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
62
static int qlcnic_can_start_firmware(struct qlcnic_adapter *adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
622
static int qlcnic_max_rings(struct qlcnic_adapter *adapter, u8 ring_cnt,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
628
max_rings = adapter->max_sds_rings;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
630
max_rings = adapter->max_tx_rings;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
641
void qlcnic_set_tx_ring_count(struct qlcnic_adapter *adapter, u8 tx_cnt)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
644
if (adapter->max_tx_rings)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
645
adapter->drv_tx_rings = qlcnic_max_rings(adapter, tx_cnt,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
648
adapter->drv_tx_rings = tx_cnt;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
651
void qlcnic_set_sds_ring_count(struct qlcnic_adapter *adapter, u8 rx_cnt)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
654
if (adapter->max_sds_rings)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
655
adapter->drv_sds_rings = qlcnic_max_rings(adapter, rx_cnt,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
658
adapter->drv_sds_rings = rx_cnt;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
661
int qlcnic_setup_tss_rss_intr(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
663
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
666
adapter->flags &= ~QLCNIC_TSS_RSS;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
668
if (adapter->drv_tss_rings > 0)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
669
num_msix += adapter->drv_tss_rings;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
671
num_msix += adapter->drv_tx_rings;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
673
if (adapter->drv_rss_rings > 0)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
674
num_msix += adapter->drv_rss_rings;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
676
num_msix += adapter->drv_sds_rings;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
678
if (qlcnic_83xx_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
681
if (!adapter->msix_entries) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
682
adapter->msix_entries = kzalloc_objs(struct msix_entry,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
684
if (!adapter->msix_entries)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
689
adapter->msix_entries[vector].entry = vector;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
692
err = pci_enable_msix_exact(pdev, adapter->msix_entries, num_msix);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
694
if (!adapter->drv_tss_rings && !adapter->drv_rss_rings)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
697
netdev_info(adapter->netdev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
701
num_msix = adapter->drv_tx_rings + adapter->drv_sds_rings;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
704
adapter->drv_tss_rings = 0;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
705
adapter->drv_rss_rings = 0;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
707
if (qlcnic_83xx_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
710
netdev_info(adapter->netdev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
712
adapter->drv_tx_rings, adapter->drv_sds_rings,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
720
adapter->ahw->num_msix = num_msix;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
721
if (adapter->drv_tss_rings > 0)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
722
adapter->drv_tx_rings = adapter->drv_tss_rings;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
724
if (adapter->drv_rss_rings > 0)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
725
adapter->drv_sds_rings = adapter->drv_rss_rings;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
73
static void qlcnic_free_lb_filters_mem(struct qlcnic_adapter *adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
730
int qlcnic_enable_msix(struct qlcnic_adapter *adapter, u32 num_msix)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
732
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
735
if (!adapter->msix_entries) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
736
adapter->msix_entries = kzalloc_objs(struct msix_entry,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
738
if (!adapter->msix_entries)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
742
adapter->flags &= ~(QLCNIC_MSI_ENABLED | QLCNIC_MSIX_ENABLED);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
744
if (adapter->ahw->msix_supported) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
747
adapter->msix_entries[vector].entry = vector;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
750
adapter->msix_entries, 1, num_msix);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
753
adapter->flags |= QLCNIC_MSIX_ENABLED;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
754
adapter->ahw->num_msix = num_msix;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
764
if (qlcnic_82xx_check(adapter)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
775
if (qlcnic_82xx_check(adapter) &&
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
776
!qlcnic_check_multi_tx(adapter)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
777
adapter->drv_sds_rings = num_msix;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
778
adapter->drv_tx_rings = QLCNIC_SINGLE_RING;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
781
adapter->drv_tx_rings = num_msix / 2;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
782
adapter->drv_sds_rings = adapter->drv_tx_rings;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
802
static int qlcnic_82xx_calculate_msix_vector(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
806
num_msix = adapter->drv_sds_rings;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
808
if (qlcnic_check_multi_tx(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
809
num_msix += adapter->drv_tx_rings;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
816
static int qlcnic_enable_msi_legacy(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
821
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
822
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
825
adapter->flags |= QLCNIC_MSI_ENABLED;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
826
offset = msi_tgt_status[adapter->ahw->pci_func];
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
827
adapter->tgt_status_reg = qlcnic_get_ioaddr(adapter->ahw,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
830
adapter->msix_entries[0].vector = pdev->irq;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
837
legacy_intrp = &legacy_intr[adapter->ahw->pci_func];
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
838
adapter->ahw->int_vec_bit = legacy_intrp->int_vec_bit;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
840
adapter->tgt_status_reg = qlcnic_get_ioaddr(ahw, offset);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
842
adapter->tgt_mask_reg = qlcnic_get_ioaddr(ahw, mask_reg);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
843
adapter->isr_int_vec = qlcnic_get_ioaddr(ahw, ISR_INT_VECTOR);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
844
adapter->crb_int_state_reg = qlcnic_get_ioaddr(ahw, ISR_INT_STATE_REG);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
846
adapter->msix_entries[0].vector = pdev->irq;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
850
static int qlcnic_82xx_setup_intr(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
854
if (adapter->flags & QLCNIC_TSS_RSS) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
855
err = qlcnic_setup_tss_rss_intr(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
858
num_msix = adapter->ahw->num_msix;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
860
num_msix = qlcnic_82xx_calculate_msix_vector(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
862
err = qlcnic_enable_msix(adapter, num_msix);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
866
if (!(adapter->flags & QLCNIC_MSIX_ENABLED)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
867
qlcnic_disable_multi_tx(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
868
adapter->drv_sds_rings = QLCNIC_SINGLE_RING;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
870
err = qlcnic_enable_msi_legacy(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
879
int qlcnic_82xx_mq_intrpt(struct qlcnic_adapter *adapter, int op_type)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
88
static u32 qlcnic_vlan_tx_check(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
881
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
884
if (qlcnic_check_multi_tx(adapter) &&
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
886
(adapter->flags & QLCNIC_MSIX_ENABLED)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
899
err = qlcnic_82xx_config_intrpt(adapter, 1);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
90
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
901
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
910
void qlcnic_teardown_intr(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
912
if (adapter->flags & QLCNIC_MSIX_ENABLED)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
913
pci_disable_msix(adapter->pdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
914
if (adapter->flags & QLCNIC_MSI_ENABLED)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
915
pci_disable_msi(adapter->pdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
917
kfree(adapter->msix_entries);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
918
adapter->msix_entries = NULL;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
92
if (adapter->pdev->device == PCI_DEVICE_ID_QLOGIC_QLE824X)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
920
if (adapter->ahw->intr_tbl) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
921
vfree(adapter->ahw->intr_tbl);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
922
adapter->ahw->intr_tbl = NULL;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
932
static int qlcnic_get_act_pci_func(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
934
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
938
if (!(adapter->flags & QLCNIC_ESWITCH_ENABLED)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
957
ret = qlcnic_get_pci_info(adapter, pci_info);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
962
static bool qlcnic_port_eswitch_cfg_capability(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
966
if (qlcnic_84xx_check(adapter)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
968
} else if (qlcnic_83xx_check(adapter)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
969
if (adapter->ahw->extra_capability[0] &
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
979
int qlcnic_init_pci_info(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
981
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
991
ret = qlcnic_get_pci_info(adapter, pci_info);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
997
adapter->npars = kzalloc_objs(struct qlcnic_npar_info, act_pci_func);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
998
if (!adapter->npars) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
1000
data = qlcnic_ind_rd(adapter, mux2->read_addr);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
1003
qlcnic_ind_wr(adapter, mux2->sel_addr1, sel_val2);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
1005
qlcnic_ind_wr(adapter, mux2->sel_addr2, t_sel_val);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
1006
data = qlcnic_ind_rd(adapter, mux2->read_addr);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
1016
static u32 qlcnic_83xx_dump_rom(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
1025
if (!qlcnic_83xx_lockless_flash_read32(adapter, fl_addr,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
1092
static int qlcnic_fw_flash_get_minidump_temp(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
1097
if (qlcnic_82xx_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
1100
if (qlcnic_83xx_lock_flash(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
1103
ret = qlcnic_83xx_lockless_flash_read32(adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
1107
qlcnic_83xx_unlock_flash(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
1113
qlcnic_fw_flash_get_minidump_temp_size(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
1120
if (qlcnic_82xx_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
1123
if (qlcnic_83xx_lock_flash(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
1126
ret = qlcnic_83xx_lockless_flash_read32(adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
1130
qlcnic_83xx_unlock_flash(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
1138
static int qlcnic_fw_get_minidump_temp_size(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
1145
if (qlcnic_alloc_mbx_args(&cmd, adapter, QLCNIC_CMD_TEMP_SIZE))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
1148
err = qlcnic_issue_cmd(adapter, &cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
1150
if (qlcnic_fw_flash_get_minidump_temp_size(adapter, &cmd)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
1167
static int __qlcnic_fw_cmd_get_minidump_temp(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
1176
tmp_addr = dma_alloc_coherent(&adapter->pdev->dev, temp_size,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
1181
if (qlcnic_alloc_mbx_args(&cmd, adapter, QLCNIC_CMD_GET_TEMP_HDR)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
1189
err = qlcnic_issue_cmd(adapter, &cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
1200
dma_free_coherent(&adapter->pdev->dev, temp_size, tmp_addr, tmp_addr_t);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
1205
int qlcnic_fw_cmd_get_minidump_temp(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
1215
ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
1217
err = qlcnic_fw_get_minidump_temp_size(adapter, &version, &temp_size,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
1220
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
1233
err = __qlcnic_fw_cmd_get_minidump_temp(adapter, tmp_buf, temp_size);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
1237
err = qlcnic_fw_flash_get_minidump_temp(adapter, (u8 *)tmp_buf,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
1241
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
1253
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
1260
qlcnic_cache_tmpl_hdr_values(adapter, fw_dump);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
1264
temp_buffer = dma_alloc_coherent(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
1275
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
1279
qlcnic_enable_fw_dump_state(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
1284
int qlcnic_dump_fw(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
1286
struct qlcnic_fw_dump *fw_dump = &adapter->ahw->fw_dump;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
1291
struct device *dev = &adapter->pdev->dev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
1300
ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
1307
if (!qlcnic_check_fw_dump_state(adapter)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
1308
dev_info(&adapter->pdev->dev, "Dump not enabled\n");
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
1313
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
1318
netif_info(adapter->ahw, drv, adapter->netdev, "Take FW dump\n");
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
1322
dump_size += qlcnic_get_cap_size(adapter, tmpl_hdr, k);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
1335
qlcnic_set_sys_info(adapter, tmpl_hdr, 0, QLCNIC_DRIVER_VERSION);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
1336
qlcnic_set_sys_info(adapter, tmpl_hdr, 1, adapter->fw_version);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
1338
if (qlcnic_82xx_check(adapter)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
1375
dump = fw_dump_ops[ops_index].handler(adapter, entry, buffer);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
1389
snprintf(mesg, sizeof(mesg), "FW_DUMP=%s", adapter->netdev->name);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
1390
netdev_info(adapter->netdev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
1401
qlcnic_83xx_md_check_extended_dump_capability(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
1408
return ((adapter->pdev->device == PCI_DEVICE_ID_QLOGIC_QLE8830) &&
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
1409
(adapter->ahw->extra_capability[0] &
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
1413
void qlcnic_83xx_get_minidump_template(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
1416
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
1418
struct pci_dev *pdev = adapter->pdev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
1422
prev_version = adapter->fw_version;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
1423
current_version = qlcnic_83xx_get_fw_version(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
1429
if (qlcnic_83xx_md_check_extended_dump_capability(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
1430
extended = !qlcnic_83xx_extend_md_capab(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
1432
ret = qlcnic_fw_cmd_get_minidump_temp(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
384
static u32 qlcnic_dump_crb(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
394
data = qlcnic_ind_rd(adapter, addr);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
402
static u32 qlcnic_dump_ctrl(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
405
void *hdr = adapter->ahw->fw_dump.tmpl_hdr;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
421
qlcnic_ind_wr(adapter, addr, ctr->val1);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
424
data = qlcnic_ind_rd(adapter, addr);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
425
qlcnic_ind_wr(adapter, addr, data);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
428
data = qlcnic_ind_rd(adapter, addr);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
429
qlcnic_ind_wr(adapter, addr,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
433
data = qlcnic_ind_rd(adapter, addr);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
434
qlcnic_ind_wr(adapter, addr,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
439
data = qlcnic_ind_rd(adapter, addr);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
446
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
454
addr = qlcnic_get_saved_state(adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
457
data = qlcnic_ind_rd(adapter, addr);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
458
qlcnic_set_saved_state(adapter, hdr,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
464
data = qlcnic_get_saved_state(adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
472
addr = qlcnic_get_saved_state(adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
475
qlcnic_ind_wr(adapter, addr, data);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
478
data = qlcnic_get_saved_state(adapter, hdr,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
486
qlcnic_set_saved_state(adapter, hdr,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
490
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
500
static u32 qlcnic_dump_mux(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
509
qlcnic_ind_wr(adapter, mux->addr, val);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
510
data = qlcnic_ind_rd(adapter, mux->read_addr);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
518
static u32 qlcnic_dump_que(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
529
qlcnic_ind_wr(adapter, que->sel_addr, que_id);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
532
data = qlcnic_ind_rd(adapter, addr);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
541
static u32 qlcnic_dump_ocm(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
549
addr = adapter->ahw->pci_base0 + ocm->read_addr;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
558
static u32 qlcnic_read_rom(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
568
lck_val = QLC_SHARED_REG_RD32(adapter, QLCNIC_FLASH_LOCK);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
574
QLC_SHARED_REG_WR32(adapter, QLCNIC_FLASH_LOCK_OWNER,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
575
adapter->ahw->pci_func);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
578
qlcnic_ind_wr(adapter, FLASH_ROM_WINDOW, addr);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
580
val = qlcnic_ind_rd(adapter, addr);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
584
QLC_SHARED_REG_RD32(adapter, QLCNIC_FLASH_UNLOCK);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
588
static u32 qlcnic_dump_l1_cache(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
598
qlcnic_ind_wr(adapter, l1->addr, val);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
599
qlcnic_ind_wr(adapter, l1->ctrl_addr, LSW(l1->ctrl_val));
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
603
data = qlcnic_ind_rd(adapter, addr);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
613
static u32 qlcnic_dump_l2_cache(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
626
qlcnic_ind_wr(adapter, l2->addr, val);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
628
qlcnic_ind_wr(adapter, l2->ctrl_addr,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
633
data = qlcnic_ind_rd(adapter, l2->ctrl_addr);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
641
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
650
data = qlcnic_ind_rd(adapter, addr);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
660
static u32 qlcnic_read_memory_test_agent(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
671
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
678
mutex_lock(&adapter->ahw->mem_lock);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
681
qlcnic_ind_wr(adapter, QLCNIC_MS_ADDR_LO, addr);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
682
qlcnic_ind_wr(adapter, QLCNIC_MS_ADDR_HI, 0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
683
qlcnic_ind_wr(adapter, QLCNIC_MS_CTRL, QLCNIC_TA_START_ENABLE);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
686
test = qlcnic_ind_rd(adapter, QLCNIC_MS_CTRL);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
692
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
699
data = qlcnic_ind_rd(adapter, qlcnic_ms_read_data[i]);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
708
mutex_unlock(&adapter->ahw->mem_lock);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
720
static int qlcnic_start_pex_dma(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
723
struct device *dev = &adapter->pdev->dev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
728
tmpl_hdr = adapter->ahw->fw_dump.tmpl_hdr;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
729
dma_no = qlcnic_get_saved_state(adapter, tmpl_hdr,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
734
ret = qlcnic_ind_wr(adapter, temp_addr, mem->desc_card_addr);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
739
ret = qlcnic_ind_wr(adapter, temp_addr, 0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
744
ret = qlcnic_ind_wr(adapter, temp_addr, mem->start_dma_cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
751
dma_sts = qlcnic_ind_rd(adapter, temp_addr);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
767
static u32 qlcnic_read_memory_pexdma(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
771
struct qlcnic_fw_dump *fw_dump = &adapter->ahw->fw_dump;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
774
struct device *dev = &adapter->pdev->dev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
782
temp = qlcnic_get_saved_state(adapter, tmpl_hdr,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
785
temp = qlcnic_ind_rd(adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
810
temp |= (adapter->ahw->pci_func & 0xf) << 4;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
828
*ret = qlcnic_ms_mem_write128(adapter, mem->desc_card_addr,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
836
*ret = qlcnic_start_pex_dma(adapter, mem);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
853
static u32 qlcnic_read_memory(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
856
struct qlcnic_fw_dump *fw_dump = &adapter->ahw->fw_dump;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
857
struct device *dev = &adapter->pdev->dev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
863
data_size = qlcnic_read_memory_pexdma(adapter, mem, buffer,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
873
data_size = qlcnic_read_memory_test_agent(adapter, mem, buffer, &ret);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
884
static u32 qlcnic_dump_nop(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
905
static u32 qlcnic_read_pollrdmwr(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
914
qlcnic_ind_wr(adapter, poll->addr1, poll->val1);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
918
data = qlcnic_ind_rd(adapter, poll->addr1);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
925
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
931
data = qlcnic_ind_rd(adapter, poll->addr2) & poll->mod_mask;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
932
qlcnic_ind_wr(adapter, poll->addr2, data);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
933
qlcnic_ind_wr(adapter, poll->addr1, poll->val2);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
937
temp = qlcnic_ind_rd(adapter, poll->addr1);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
950
static u32 qlcnic_read_pollrd(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
961
qlcnic_ind_wr(adapter, pollrd->sel_addr, sel_val);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
964
data = qlcnic_ind_rd(adapter, pollrd->sel_addr);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
971
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
977
data = qlcnic_ind_rd(adapter, pollrd->read_addr);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
985
static u32 qlcnic_read_mux2(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
997
qlcnic_ind_wr(adapter, mux2->sel_addr1, sel_val1);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
999
qlcnic_ind_wr(adapter, mux2->sel_addr2, t_sel_val);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov.h
153
struct qlcnic_adapter *adapter;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov.h
168
struct qlcnic_adapter *adapter;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov.h
211
static inline bool qlcnic_sriov_enable_check(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov.h
213
return test_bit(__QLCNIC_SRIOV_ENABLE, &adapter->state) ? true : false;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov.h
243
static inline void qlcnic_sriov_pf_disable(struct qlcnic_adapter *adapter) {}
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov.h
244
static inline void qlcnic_sriov_pf_cleanup(struct qlcnic_adapter *adapter) {}
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov.h
246
qlcnic_pf_set_interface_id_create_rx_ctx(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov.h
249
qlcnic_pf_set_interface_id_create_tx_ctx(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov.h
252
qlcnic_pf_set_interface_id_del_rx_ctx(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov.h
255
qlcnic_pf_set_interface_id_del_tx_ctx(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov.h
258
qlcnic_pf_set_interface_id_ipaddr(struct qlcnic_adapter *adapter, u32 *int_id)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov.h
261
qlcnic_pf_set_interface_id_macaddr(struct qlcnic_adapter *adapter, u32 *int_id)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov.h
264
qlcnic_pf_set_interface_id_promisc(struct qlcnic_adapter *adapter, u32 *int_id)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov.h
268
static inline bool qlcnic_sriov_soft_flr_check(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov.h
272
static inline void qlcnic_sriov_pf_reset(struct qlcnic_adapter *adapter) {}
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov.h
273
static inline int qlcnic_sriov_pf_reinit(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1007
static int qlcnic_sriov_send_bc_cmd(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1011
int err, index = qlcnic_sriov_func_to_index(adapter, pci_func);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1016
vf = &adapter->ahw->sriov->vf_info[index];
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1021
if (qlcnic_sriov_pf_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1023
if (qlcnic_sriov_vf_check(adapter) &&
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1036
static void __qlcnic_sriov_process_bc_cmd(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1041
if (qlcnic_sriov_pf_check(adapter)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1042
qlcnic_sriov_pf_process_bc_cmd(adapter, trans, cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1055
struct qlcnic_adapter *adapter = vf->adapter;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1059
if (adapter->need_fw_reset)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1068
adapter = vf->adapter;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1074
__qlcnic_sriov_process_bc_cmd(adapter, trans, &cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1083
qlcnic_sriov_schedule_bc_cmd(adapter->ahw->sriov, vf,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1106
qlcnic_sriov_pull_bc_msg(vf->adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1171
qlcnic_sriov_pull_bc_msg(vf->adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1196
struct qlcnic_adapter *adapter = vf->adapter;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1202
if (adapter->need_fw_reset)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
122
static int qlcnic_sriov_virtid_fn(struct qlcnic_adapter *adapter, int vf_id)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1223
err = qlcnic_alloc_mbx_args(&cmd, adapter, cmd_op);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
124
struct pci_dev *dev = adapter->pdev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1240
qlcnic_sriov_pull_bc_msg(vf->adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1249
if (qlcnic_sriov_soft_flr_check(adapter, trans, vf))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1273
ptr[i - 2] = readl(QLCNIC_MBX_FW(vf->adapter->ahw, i));
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
128
if (qlcnic_sriov_vf_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1289
struct qlcnic_adapter *adapter = vf->adapter;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1291
if (qlcnic_sriov_pf_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1294
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1298
void qlcnic_sriov_handle_bc_event(struct qlcnic_adapter *adapter, u32 event)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1305
sriov = adapter->ahw->sriov;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1307
index = qlcnic_sriov_func_to_index(adapter, pci_func);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1327
int qlcnic_sriov_cfg_bc_intr(struct qlcnic_adapter *adapter, u8 enable)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1332
if (!test_bit(__QLCNIC_SRIOV_ENABLE, &adapter->state))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1335
if (qlcnic_alloc_mbx_args(&cmd, adapter, QLCNIC_CMD_BC_EVENT_SETUP))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1341
err = qlcnic_83xx_issue_cmd(adapter, &cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1344
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1353
static int qlcnic_sriov_retry_bc_cmd(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1359
state = QLCRDX(adapter->ahw, QLC_83XX_IDC_DEV_STATE);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1364
if (++adapter->fw_fail_cnt > max)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1373
static int __qlcnic_sriov_issue_cmd(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1376
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1378
struct device *dev = &adapter->pdev->dev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1382
u16 seq = ++adapter->ahw->sriov->bc.trans_counter;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1396
QLCDB(adapter, DRV, "MBX not Ready!(cmd 0x%x) for VF 0x%x\n",
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
140
int qlcnic_sriov_init(struct qlcnic_adapter *adapter, int num_vfs)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1401
err = qlcnic_sriov_send_bc_cmd(adapter, trans, func);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1411
!qlcnic_sriov_retry_bc_cmd(adapter, trans))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1441
adapter->need_fw_reset = 1;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1458
static int qlcnic_sriov_issue_cmd(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1462
return qlcnic_sriov_async_issue_cmd(adapter, cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1464
return __qlcnic_sriov_issue_cmd(adapter, cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1467
static int qlcnic_sriov_channel_cfg_cmd(struct qlcnic_adapter *adapter, u8 cmd_op)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1470
struct qlcnic_vf_info *vf = &adapter->ahw->sriov->vf_info[0];
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1477
ret = qlcnic_issue_cmd(adapter, &cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1479
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
149
if (!qlcnic_sriov_enable_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1504
struct qlcnic_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1505
struct qlcnic_sriov *sriov = adapter->ahw->sriov;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1510
vf = &adapter->ahw->sriov->vf_info[0];
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1513
qlcnic_nic_add_mac(adapter, mac, 0, mac_type);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1519
qlcnic_nic_add_mac(adapter, mac, vlan_id,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1523
if (qlcnic_84xx_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1524
qlcnic_nic_add_mac(adapter, mac, 0, mac_type);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1549
struct qlcnic_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1550
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1557
if (!test_bit(__QLCNIC_FW_ATTACHED, &adapter->state))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
156
adapter->ahw->sriov = sriov;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1561
if (!(adapter->flags & QLCNIC_PROMISC_DISABLED))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1569
qlcnic_flush_mcast_mac(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1587
if (adapter->pdev->is_virtfn) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1589
!adapter->fdb_mac_learn) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1590
qlcnic_alloc_lb_filters_mem(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1591
adapter->drv_mac_learn = true;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1592
adapter->rx_mac_learn = true;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1594
adapter->drv_mac_learn = false;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1595
adapter->rx_mac_learn = false;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1599
qlcnic_nic_set_promisc(adapter, mode);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1620
__qlcnic_sriov_issue_cmd(bc->adapter, cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1664
static int qlcnic_sriov_async_issue_cmd(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1668
struct qlcnic_back_channel *bc = &adapter->ahw->sriov->bc;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1670
if (adapter->need_fw_reset)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1678
static int qlcnic_sriov_vf_reinit_driver(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
168
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1682
adapter->need_fw_reset = 0;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1683
qlcnic_83xx_reinit_mbx_work(adapter->ahw->mailbox);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1684
qlcnic_83xx_enable_mbx_interrupt(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1686
err = qlcnic_sriov_cfg_bc_intr(adapter, 1);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1690
err = qlcnic_sriov_channel_cfg_cmd(adapter, QLCNIC_BC_CMD_CHANNEL_INIT);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1694
err = qlcnic_sriov_vf_init_driver(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1701
qlcnic_sriov_channel_cfg_cmd(adapter, QLCNIC_BC_CMD_CHANNEL_TERM);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1704
qlcnic_sriov_cfg_bc_intr(adapter, 0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1708
static void qlcnic_sriov_vf_attach(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1710
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1713
if (!qlcnic_up(adapter, netdev))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1720
static void qlcnic_sriov_vf_detach(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1722
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1724
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1728
qlcnic_83xx_detach_mailbox_work(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1729
qlcnic_83xx_disable_mbx_intr(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1732
qlcnic_down(adapter, netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1742
static int qlcnic_sriov_vf_handle_dev_ready(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1744
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1745
struct device *dev = &adapter->pdev->dev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1752
if (!qlcnic_sriov_vf_reinit_driver(adapter)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1753
qlcnic_sriov_vf_attach(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1754
adapter->fw_fail_cnt = 0;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1771
static int qlcnic_sriov_vf_handle_context_reset(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1773
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1775
struct device *dev = &adapter->pdev->dev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
178
dev_err(&adapter->pdev->dev, "Cannot create async workqueue\n");
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1780
adapter->reset_ctx_cnt++;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1783
if (adapter->reset_ctx_cnt < 3) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1784
adapter->need_fw_reset = 1;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1794
if (adapter->reset_ctx_cnt > QLC_83XX_VF_RESET_FAIL_THRESH) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1796
adapter->tx_timeo_cnt = 0;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1797
adapter->fw_fail_cnt = 0;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1798
adapter->reset_ctx_cnt = 0;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1799
qlcnic_sriov_vf_detach(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1807
__func__, adapter->reset_ctx_cnt, func);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1808
set_bit(__QLCNIC_RESETTING, &adapter->state);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1809
adapter->need_fw_reset = 1;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1811
qlcnic_sriov_vf_detach(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1812
adapter->need_fw_reset = 0;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1814
if (!qlcnic_sriov_vf_reinit_driver(adapter)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1815
qlcnic_sriov_vf_attach(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1816
adapter->tx_timeo_cnt = 0;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1817
adapter->reset_ctx_cnt = 0;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1818
adapter->fw_fail_cnt = 0;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1830
static int qlcnic_sriov_vf_idc_ready_state(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1832
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1836
ret = qlcnic_sriov_vf_handle_dev_ready(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1838
ret = qlcnic_sriov_vf_handle_context_reset(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1840
clear_bit(__QLCNIC_RESETTING, &adapter->state);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1844
static int qlcnic_sriov_vf_idc_failed_state(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1846
struct qlc_83xx_idc *idc = &adapter->ahw->idc;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1848
dev_err(&adapter->pdev->dev, "Device is in failed state\n");
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1850
qlcnic_sriov_vf_detach(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1853
clear_bit(__QLCNIC_RESETTING, &adapter->state);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1858
qlcnic_sriov_vf_idc_need_quiescent_state(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
186
bc->adapter = adapter;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1860
struct qlcnic_mailbox *mbx = adapter->ahw->mailbox;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1861
struct qlc_83xx_idc *idc = &adapter->ahw->idc;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1863
dev_info(&adapter->pdev->dev, "Device is in quiescent state\n");
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1865
set_bit(__QLCNIC_RESETTING, &adapter->state);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1866
adapter->tx_timeo_cnt = 0;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1867
adapter->reset_ctx_cnt = 0;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1869
qlcnic_sriov_vf_detach(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1875
static int qlcnic_sriov_vf_idc_init_reset_state(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1877
struct qlcnic_mailbox *mbx = adapter->ahw->mailbox;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1878
struct qlc_83xx_idc *idc = &adapter->ahw->idc;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1879
u8 func = adapter->ahw->pci_func;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1882
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1884
set_bit(__QLCNIC_RESETTING, &adapter->state);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1885
adapter->tx_timeo_cnt = 0;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1886
adapter->reset_ctx_cnt = 0;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1888
qlcnic_sriov_vf_detach(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1893
static int qlcnic_sriov_vf_idc_unknown_state(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1895
dev_err(&adapter->pdev->dev, "%s: Device in unknown state\n", __func__);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1899
static void qlcnic_sriov_vf_periodic_tasks(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
190
vf->adapter = adapter;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1901
if (adapter->fhash.fnum)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1902
qlcnic_prune_lb_filters(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1907
struct qlcnic_adapter *adapter;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
191
vf->pci_func = qlcnic_sriov_virtid_fn(adapter, i);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1911
adapter = container_of(work, struct qlcnic_adapter, fw_work.work);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1912
idc = &adapter->ahw->idc;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1913
idc->curr_state = QLCRDX(adapter->ahw, QLC_83XX_IDC_DEV_STATE);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1917
ret = qlcnic_sriov_vf_idc_ready_state(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1921
ret = qlcnic_sriov_vf_idc_init_reset_state(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1924
ret = qlcnic_sriov_vf_idc_need_quiescent_state(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1927
ret = qlcnic_sriov_vf_idc_failed_state(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1932
ret = qlcnic_sriov_vf_idc_unknown_state(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1936
qlcnic_sriov_vf_periodic_tasks(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1939
qlcnic_schedule_work(adapter, qlcnic_sriov_vf_poll_dev_state,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1943
static void qlcnic_sriov_vf_cancel_fw_work(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1945
while (test_and_set_bit(__QLCNIC_RESETTING, &adapter->state))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1948
clear_bit(QLC_83XX_MODULE_LOADED, &adapter->ahw->idc.status);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1949
clear_bit(__QLCNIC_RESETTING, &adapter->state);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1950
cancel_delayed_work_sync(&adapter->fw_work);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1988
static int qlcnic_sriov_validate_vlan_cfg(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1991
struct qlcnic_sriov *sriov = adapter->ahw->sriov;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
1997
vf = &adapter->ahw->sriov->vf_info[0];
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
2003
if (qlcnic_83xx_vf_check(adapter) && vlan_exist)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
202
if (qlcnic_sriov_pf_check(adapter)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
2029
struct qlcnic_adapter *adapter = vf->adapter;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
2032
sriov = adapter->ahw->sriov;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
2047
netdev_err(adapter->netdev, "Invalid VLAN operation\n");
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
2054
int qlcnic_sriov_cfg_vf_guest_vlan(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
2057
struct qlcnic_sriov *sriov = adapter->ahw->sriov;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
2058
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
2067
vf = &adapter->ahw->sriov->vf_info[0];
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
2068
ret = qlcnic_sriov_validate_vlan_cfg(adapter, vid, enable);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
2080
ret = qlcnic_issue_cmd(adapter, &cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
2082
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
2086
qlcnic_free_mac_list(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
2103
static void qlcnic_sriov_vf_free_mac_list(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
2105
struct list_head *head = &adapter->mac_list;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
2110
qlcnic_sre_macaddr_change(adapter, cur->mac_addr, cur->vlan_id,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
2120
struct qlcnic_adapter *adapter = pci_get_drvdata(pdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
2121
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
2124
qlcnic_cancel_idc_work(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
2127
qlcnic_down(adapter, netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
2129
qlcnic_sriov_channel_cfg_cmd(adapter, QLCNIC_BC_CMD_CHANNEL_TERM);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
2130
qlcnic_sriov_cfg_bc_intr(adapter, 0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
2131
qlcnic_83xx_disable_mbx_intr(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
2132
cancel_delayed_work_sync(&adapter->idc_aen_work);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
2137
static int qlcnic_sriov_vf_resume(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
2139
struct qlc_83xx_idc *idc = &adapter->ahw->idc;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
214
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
2140
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
2144
qlcnic_83xx_enable_mbx_interrupt(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
2145
err = qlcnic_sriov_cfg_bc_intr(adapter, 1);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
2149
err = qlcnic_sriov_channel_cfg_cmd(adapter, QLCNIC_BC_CMD_CHANNEL_INIT);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
2152
err = qlcnic_up(adapter, netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
2159
qlcnic_schedule_work(adapter, qlcnic_sriov_vf_poll_dev_state,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
2164
int qlcnic_sriov_alloc_vlans(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
2166
struct qlcnic_sriov *sriov = adapter->ahw->sriov;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
2175
qlcnic_sriov_free_vlans(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
2183
void qlcnic_sriov_free_vlans(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
2185
struct qlcnic_sriov *sriov = adapter->ahw->sriov;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
234
kfree(adapter->ahw->sriov);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
260
void __qlcnic_sriov_cleanup(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
262
struct qlcnic_sriov *sriov = adapter->ahw->sriov;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
267
if (!qlcnic_sriov_enable_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
286
kfree(adapter->ahw->sriov);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
289
static void qlcnic_sriov_vf_cleanup(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
291
qlcnic_sriov_channel_cfg_cmd(adapter, QLCNIC_BC_CMD_CHANNEL_TERM);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
292
qlcnic_sriov_cfg_bc_intr(adapter, 0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
293
__qlcnic_sriov_cleanup(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
296
void qlcnic_sriov_cleanup(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
298
if (!test_bit(__QLCNIC_SRIOV_ENABLE, &adapter->state))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
301
qlcnic_sriov_free_vlans(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
303
if (qlcnic_sriov_pf_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
304
qlcnic_sriov_pf_cleanup(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
306
if (qlcnic_sriov_vf_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
307
qlcnic_sriov_vf_cleanup(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
310
static int qlcnic_sriov_post_bc_msg(struct qlcnic_adapter *adapter, u32 *hdr,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
313
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
327
err = mbx->ops->enqueue_cmd(adapter, &cmd, &timeout);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
329
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
337
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
347
static void qlcnic_sriov_vf_cfg_buff_desc(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
349
adapter->num_rxd = QLC_DEFAULT_RCV_DESCRIPTORS_SRIOV_VF;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
350
adapter->max_rxd = MAX_RCV_DESCRIPTORS_10G;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
351
adapter->num_jumbo_rxd = QLC_DEFAULT_JUMBO_RCV_DESCRIPTORS_SRIOV_VF;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
352
adapter->max_jumbo_rxd = MAX_JUMBO_RCV_DESCRIPTORS_10G;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
353
adapter->num_txd = MAX_CMD_DESCRIPTORS;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
354
adapter->max_rds_rings = MAX_RDS_RINGS;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
357
int qlcnic_sriov_get_vf_vport_info(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
360
struct device *dev = &adapter->pdev->dev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
365
err = qlcnic_alloc_mbx_args(&cmd, adapter, QLCNIC_CMD_GET_NIC_INFO);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
370
err = qlcnic_issue_cmd(adapter, &cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
372
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
424
static int qlcnic_sriov_set_pvid_mode(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
427
adapter->rx_pvid = MSW(cmd->rsp.arg[1]) & 0xffff;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
428
adapter->flags &= ~QLCNIC_TAGGING_ENABLED;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
432
static int qlcnic_sriov_set_guest_vlan_mode(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
435
struct qlcnic_sriov *sriov = adapter->ahw->sriov;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
444
dev_info(&adapter->pdev->dev, "Number of allowed Guest VLANs = %d\n",
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
447
ret = qlcnic_sriov_alloc_vlans(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
457
qlcnic_sriov_free_vlans(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
468
static int qlcnic_sriov_get_vf_acl(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
470
struct qlcnic_sriov *sriov = adapter->ahw->sriov;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
479
ret = qlcnic_issue_cmd(adapter, &cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
481
dev_err(&adapter->pdev->dev, "Failed to get ACL, err=%d\n",
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
487
ret = qlcnic_sriov_set_guest_vlan_mode(adapter, &cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
490
ret = qlcnic_sriov_set_pvid_mode(adapter, &cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
499
static int qlcnic_sriov_vf_init_driver(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
501
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
505
err = qlcnic_sriov_get_vf_vport_info(adapter, &nic_info, 0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
511
err = qlcnic_get_nic_info(adapter, &nic_info, ahw->pci_func);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
515
if (qlcnic_83xx_get_port_info(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
518
qlcnic_sriov_vf_cfg_buff_desc(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
519
adapter->flags |= QLCNIC_ADAPTER_INITIALIZED;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
520
dev_info(&adapter->pdev->dev, "HAL Version: %d\n",
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
521
adapter->ahw->fw_hal_version);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
531
static int qlcnic_sriov_setup_vf(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
535
adapter->flags |= QLCNIC_VLAN_FILTERING;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
536
adapter->ahw->total_nic_func = 1;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
537
INIT_LIST_HEAD(&adapter->vf_mc_list);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
539
dev_warn(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
543
qlcnic_set_tx_ring_count(adapter, QLCNIC_SINGLE_RING);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
544
qlcnic_set_sds_ring_count(adapter, QLCNIC_SINGLE_RING);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
546
err = qlcnic_setup_intr(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
548
dev_err(&adapter->pdev->dev, "Failed to setup interrupt\n");
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
552
err = qlcnic_83xx_setup_mbx_intr(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
556
err = qlcnic_sriov_init(adapter, 1);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
560
err = qlcnic_sriov_cfg_bc_intr(adapter, 1);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
564
err = qlcnic_sriov_channel_cfg_cmd(adapter, QLCNIC_BC_CMD_CHANNEL_INIT);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
568
err = qlcnic_sriov_vf_init_driver(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
572
err = qlcnic_sriov_get_vf_acl(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
576
err = qlcnic_setup_netdev(adapter, adapter->netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
580
pci_set_drvdata(adapter->pdev, adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
581
dev_info(&adapter->pdev->dev, "%s: XGbE port initialized\n",
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
582
adapter->netdev->name);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
584
qlcnic_schedule_work(adapter, qlcnic_sriov_vf_poll_dev_state,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
585
adapter->ahw->idc.delay);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
589
qlcnic_sriov_channel_cfg_cmd(adapter, QLCNIC_BC_CMD_CHANNEL_TERM);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
592
qlcnic_sriov_cfg_bc_intr(adapter, 0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
595
__qlcnic_sriov_cleanup(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
598
qlcnic_83xx_free_mbx_intr(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
601
qlcnic_teardown_intr(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
605
static int qlcnic_sriov_check_dev_ready(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
611
if (++adapter->fw_fail_cnt > QLC_BC_CMD_MAX_RETRY_CNT)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
613
state = QLCRDX(adapter->ahw, QLC_83XX_IDC_DEV_STATE);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
619
int qlcnic_sriov_vf_init(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
621
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
627
adapter->fw_fail_cnt = 0;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
629
adapter->need_fw_reset = 0;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
630
adapter->flags |= QLCNIC_TX_INTR_SHARED;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
632
err = qlcnic_sriov_check_dev_ready(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
636
err = qlcnic_sriov_setup_vf(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
640
if (qlcnic_read_mac_addr(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
641
dev_warn(&adapter->pdev->dev, "failed to read mac addr\n");
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
643
INIT_DELAYED_WORK(&adapter->idc_aen_work, qlcnic_83xx_idc_aen_work);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
645
clear_bit(__QLCNIC_RESETTING, &adapter->state);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
649
void qlcnic_sriov_vf_set_ops(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
651
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
654
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
657
adapter->nic_ops = &qlcnic_sriov_vf_ops;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
658
set_bit(__QLCNIC_SRIOV_ENABLE, &adapter->state);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
683
int qlcnic_sriov_func_to_index(struct qlcnic_adapter *adapter, u8 pci_func)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
685
struct qlcnic_vf_info *vf_info = adapter->ahw->sriov->vf_info;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
688
if (qlcnic_sriov_vf_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
691
for (i = 0; i < adapter->ahw->sriov->num_vfs; i++) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
855
vf->adapter->need_fw_reset)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
906
static void qlcnic_sriov_pull_bc_msg(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
909
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
962
ret = qlcnic_sriov_post_bc_msg(vf->adapter, hdr, pay,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
975
vf->adapter->need_fw_reset)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1021
struct qlcnic_adapter *adapter = vf->adapter;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1031
err = qlcnic_issue_cmd(adapter, cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
105
id = qlcnic_sriov_func_to_index(adapter, func);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1052
struct qlcnic_adapter *adapter = vf->adapter;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1061
err = qlcnic_issue_cmd(adapter, cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1069
struct qlcnic_adapter *adapter = vf->adapter;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1075
err = qlcnic_issue_cmd(adapter, cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1098
struct qlcnic_adapter *adapter = vf->adapter;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1105
err = qlcnic_issue_cmd(adapter, cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1110
static int qlcnic_sriov_validate_mtu(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1117
if (cmd->req.arg[2] > adapter->ahw->max_mtu)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1127
struct qlcnic_adapter *adapter = vf->adapter;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1130
err = qlcnic_sriov_validate_mtu(adapter, vf, cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1134
err = qlcnic_issue_cmd(adapter, cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1156
struct qlcnic_adapter *adapter = vf->adapter;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1165
err = qlcnic_issue_cmd(adapter, cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1182
struct qlcnic_adapter *adapter = vf->adapter;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1189
err = qlcnic_issue_cmd(adapter, cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1194
static int qlcnic_sriov_validate_cfg_intrcoal(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1198
struct qlcnic_nic_intr_coalesce *coal = &adapter->ahw->coal;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1220
netdev_err(adapter->netdev, "Invalid coalescing type 0x%x received\n",
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1228
netdev_err(adapter->netdev, "Expected: rx_ctx_id 0x%x rx_packets 0x%x rx_time_us 0x%x tx_ctx_id 0x%x tx_packets 0x%x tx_time_us 0x%x\n",
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1231
netdev_err(adapter->netdev, "Received: ctx_id 0x%x packets 0x%x time_us 0x%x type 0x%x\n",
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1241
struct qlcnic_adapter *adapter = vf->adapter;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1244
err = qlcnic_sriov_validate_cfg_intrcoal(adapter, vf, cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1250
err = qlcnic_issue_cmd(adapter, cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1254
static int qlcnic_sriov_validate_cfg_macvlan(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1283
struct qlcnic_adapter *adapter = vf->adapter;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1286
err = qlcnic_sriov_validate_cfg_macvlan(adapter, vf, cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
129
ret = qlcnic_sriov_pf_set_vport_info(adapter, info, vpid);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1292
err = qlcnic_issue_cmd(adapter, cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1309
struct qlcnic_adapter *adapter = vf->adapter;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1318
err = qlcnic_issue_cmd(adapter, cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1326
struct qlcnic_adapter *adapter = vf->adapter;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1331
err = qlcnic_issue_cmd(adapter, cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1341
struct qlcnic_adapter *adapter;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1344
adapter = vf->adapter;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1345
sriov = adapter->ahw->sriov;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1352
if (qlcnic_84xx_check(adapter) && mode == QLC_PVID_MODE)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
136
static void qlcnic_sriov_pf_set_ff_max_res(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1368
static int qlcnic_sriov_pf_del_guest_vlan(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1372
struct qlcnic_sriov *sriov = adapter->ahw->sriov;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1384
qlcnic_sriov_cfg_vf_def_mac(adapter, vf, vlan, QLCNIC_MAC_DEL);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1387
if (qlcnic_83xx_pf_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1388
qlcnic_sriov_cfg_vf_def_mac(adapter, vf,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
139
struct qlcnic_resources *ff_max = &adapter->ahw->sriov->ff_max;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1393
static int qlcnic_sriov_pf_add_guest_vlan(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1397
struct qlcnic_sriov *sriov = adapter->ahw->sriov;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1401
if (qlcnic_83xx_pf_check(adapter) && qlcnic_sriov_check_any_vlan(vf))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1411
if (qlcnic_83xx_pf_check(adapter)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1412
err = qlcnic_sriov_cfg_vf_def_mac(adapter, vf, 0,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1418
err = qlcnic_sriov_cfg_vf_def_mac(adapter, vf, vlan, QLCNIC_MAC_ADD);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1421
if (qlcnic_83xx_pf_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1422
qlcnic_sriov_cfg_vf_def_mac(adapter, vf, 0,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1435
struct qlcnic_adapter *adapter = vf->adapter;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1448
err = qlcnic_sriov_pf_add_guest_vlan(adapter, vf, cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1450
err = qlcnic_sriov_pf_del_guest_vlan(adapter, vf, cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1489
void qlcnic_sriov_pf_process_bc_cmd(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1516
qlcnic_issue_cmd(adapter, cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1525
void qlcnic_pf_set_interface_id_create_rx_ctx(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1530
vpid = qlcnic_sriov_pf_get_vport_handle(adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1531
adapter->ahw->pci_func);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1535
void qlcnic_pf_set_interface_id_del_rx_ctx(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1540
vpid = qlcnic_sriov_pf_get_vport_handle(adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1541
adapter->ahw->pci_func);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1545
void qlcnic_pf_set_interface_id_create_tx_ctx(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
155
static void qlcnic_sriov_set_vf_max_vlan(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1550
vpid = qlcnic_sriov_pf_get_vport_handle(adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1551
adapter->ahw->pci_func);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1555
void qlcnic_pf_set_interface_id_del_tx_ctx(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1560
vpid = qlcnic_sriov_pf_get_vport_handle(adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1561
adapter->ahw->pci_func);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1565
void qlcnic_pf_set_interface_id_promisc(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1570
vpid = qlcnic_sriov_pf_get_vport_handle(adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1571
adapter->ahw->pci_func);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1575
void qlcnic_pf_set_interface_id_ipaddr(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
158
struct qlcnic_sriov *sriov = adapter->ahw->sriov;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1580
vpid = qlcnic_sriov_pf_get_vport_handle(adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1581
adapter->ahw->pci_func);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1585
void qlcnic_pf_set_interface_id_macaddr(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1590
vpid = qlcnic_sriov_pf_get_vport_handle(adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1591
adapter->ahw->pci_func);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1595
static void qlcnic_sriov_del_rx_ctx(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1604
if (qlcnic_alloc_mbx_args(&cmd, adapter, QLCNIC_CMD_DESTROY_RX_CTX))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1607
vpid = qlcnic_sriov_pf_get_vport_handle(adapter, vf->pci_func);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1610
if (qlcnic_issue_cmd(adapter, &cmd))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1611
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1621
static void qlcnic_sriov_del_tx_ctx(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1630
if (qlcnic_alloc_mbx_args(&cmd, adapter, QLCNIC_CMD_DESTROY_TX_CTX))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1633
vpid = qlcnic_sriov_pf_get_vport_handle(adapter, vf->pci_func);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1636
if (qlcnic_issue_cmd(adapter, &cmd))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1637
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1664
struct qlcnic_adapter *adapter = vf->adapter;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
167
if (qlcnic_83xx_pf_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1671
qlcnic_sriov_del_tx_ctx(adapter, vf);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1672
qlcnic_sriov_del_rx_ctx(adapter, vf);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1675
qlcnic_sriov_pf_config_vport(adapter, 0, vf->pci_func);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1679
qlcnic_sriov_add_act_list_irqsave(adapter->ahw->sriov, vf,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1699
if (test_bit(__QLCNIC_RESETTING, &vf->adapter->state))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
170
netdev_info(adapter->netdev, "Max Guest VLANs supported per VF = %d\n",
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1706
static void qlcnic_sriov_handle_soft_flr(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1710
struct qlcnic_sriov *sriov = adapter->ahw->sriov;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1717
netdev_info(adapter->netdev, "Software FLR for PCI func %d\n",
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1721
bool qlcnic_sriov_soft_flr_check(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1730
qlcnic_sriov_handle_soft_flr(adapter, trans, vf);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
174
static int qlcnic_sriov_get_pf_info(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1740
struct net_device *dev = vf->adapter->netdev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1762
void qlcnic_sriov_pf_reset(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1764
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1779
qlcnic_sriov_pf_reset_vport_handle(adapter, ahw->pci_func);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1783
int qlcnic_sriov_pf_reinit(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1785
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1788
if (!qlcnic_sriov_enable_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1793
err = qlcnic_sriov_pf_init(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1797
dev_info(&adapter->pdev->dev, "%s: op_mode %d\n",
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
180
if (qlcnic_alloc_mbx_args(&cmd, adapter, QLCNIC_CMD_GET_NIC_INFO))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1804
struct qlcnic_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1805
struct qlcnic_sriov *sriov = adapter->ahw->sriov;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1810
if (!qlcnic_sriov_pf_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1818
if (ether_addr_equal(adapter->mac_addr, mac)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
184
err = qlcnic_issue_cmd(adapter, &cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1852
struct qlcnic_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1853
struct qlcnic_sriov *sriov = adapter->ahw->sriov;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1859
if (!qlcnic_sriov_pf_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
186
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1890
if (qlcnic_sriov_get_vf_vport_info(adapter, &nic_info, vpid))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1897
if (qlcnic_sriov_pf_set_vport_info(adapter, &nic_info, vpid))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1915
struct qlcnic_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1916
struct qlcnic_sriov *sriov = adapter->ahw->sriov;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1920
if (!qlcnic_sriov_pf_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1968
static __u32 qlcnic_sriov_get_vf_vlan(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1984
netdev_info(adapter->netdev, "Invalid VLAN mode = %d for VF %d\n",
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1994
struct qlcnic_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1995
struct qlcnic_sriov *sriov = adapter->ahw->sriov;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
1998
if (!qlcnic_sriov_pf_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
2006
ivi->vlan = qlcnic_sriov_get_vf_vlan(adapter, vp, vf);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
2024
struct qlcnic_adapter *adapter = netdev_priv(netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
2025
struct qlcnic_sriov *sriov = adapter->ahw->sriov;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
2029
if (!qlcnic_sriov_pf_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
207
qlcnic_sriov_set_vf_max_vlan(adapter, npar_info);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
208
qlcnic_sriov_pf_set_ff_max_res(adapter, npar_info);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
209
dev_info(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
232
static void qlcnic_sriov_pf_reset_vport_handle(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
235
struct qlcnic_sriov *sriov = adapter->ahw->sriov;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
239
if (adapter->ahw->pci_func == func) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
242
index = qlcnic_sriov_func_to_index(adapter, func);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
250
static void qlcnic_sriov_pf_set_vport_handle(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
253
struct qlcnic_sriov *sriov = adapter->ahw->sriov;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
257
if (adapter->ahw->pci_func == func) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
260
index = qlcnic_sriov_func_to_index(adapter, func);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
268
static int qlcnic_sriov_pf_get_vport_handle(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
271
struct qlcnic_sriov *sriov = adapter->ahw->sriov;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
275
if (adapter->ahw->pci_func == func) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
278
index = qlcnic_sriov_func_to_index(adapter, func);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
288
static int qlcnic_sriov_pf_config_vport(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
295
if (qlcnic_alloc_mbx_args(&cmd, adapter, QLCNIC_CMD_CONFIG_VPORT))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
301
vpid = qlcnic_sriov_pf_get_vport_handle(adapter, func);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
309
ret = qlcnic_issue_cmd(adapter, &cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
311
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
319
qlcnic_sriov_pf_set_vport_handle(adapter, vpid, func);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
32
static int qlcnic_sriov_pf_set_vport_info(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
321
qlcnic_sriov_pf_reset_vport_handle(adapter, func);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
329
static int qlcnic_sriov_pf_cfg_vlan_filtering(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
335
err = qlcnic_alloc_mbx_args(&cmd, adapter, QLCNIC_CMD_SET_NIC_INFO);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
341
adapter->flags |= QLCNIC_VLAN_FILTERING;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
343
if (qlcnic_84xx_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
346
adapter->flags &= ~QLCNIC_VLAN_FILTERING;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
349
err = qlcnic_issue_cmd(adapter, &cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
351
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
359
static int qlcnic_sriov_pf_cfg_flood(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
364
err = qlcnic_alloc_mbx_args(&cmd, adapter, QLCNIC_CMD_SET_NIC_INFO);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
370
err = qlcnic_issue_cmd(adapter, &cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
372
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
380
static int qlcnic_sriov_pf_cfg_eswitch(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
386
if (qlcnic_alloc_mbx_args(&cmd, adapter, QLCNIC_CMD_TOGGLE_ESWITCH))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
39
if (qlcnic_alloc_mbx_args(&cmd, adapter, QLCNIC_CMD_SET_NIC_INFO))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
394
err = qlcnic_issue_cmd(adapter, &cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
397
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
406
static void qlcnic_sriov_pf_del_flr_queue(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
408
struct qlcnic_sriov *sriov = adapter->ahw->sriov;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
418
static int qlcnic_sriov_pf_create_flr_queue(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
420
struct qlcnic_back_channel *bc = &adapter->ahw->sriov->bc;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
425
dev_err(&adapter->pdev->dev, "Cannot create FLR workqueue\n");
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
433
void qlcnic_sriov_pf_cleanup(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
435
u8 func = adapter->ahw->pci_func;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
437
if (!qlcnic_sriov_enable_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
440
qlcnic_sriov_pf_del_flr_queue(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
441
qlcnic_sriov_cfg_bc_intr(adapter, 0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
442
qlcnic_sriov_pf_config_vport(adapter, 0, func);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
443
qlcnic_sriov_pf_cfg_eswitch(adapter, func, 0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
444
qlcnic_sriov_pf_cfg_vlan_filtering(adapter, 0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
445
__qlcnic_sriov_cleanup(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
446
adapter->ahw->op_mode = QLCNIC_MGMT_FUNC;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
447
clear_bit(__QLCNIC_SRIOV_ENABLE, &adapter->state);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
450
void qlcnic_sriov_pf_disable(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
452
if (!qlcnic_sriov_pf_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
455
if (!qlcnic_sriov_enable_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
458
pci_disable_sriov(adapter->pdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
459
netdev_info(adapter->netdev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
461
adapter->portnum);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
464
static int qlcnic_pci_sriov_disable(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
466
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
468
if (pci_vfs_assigned(adapter->pdev)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
469
netdev_err(adapter->netdev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
471
adapter->portnum);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
472
netdev_info(adapter->netdev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
474
adapter->portnum);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
478
qlcnic_sriov_pf_disable(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
482
__qlcnic_down(adapter, netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
484
qlcnic_sriov_free_vlans(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
486
qlcnic_sriov_pf_cleanup(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
491
if (qlcnic_83xx_configure_opmode(adapter)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
497
__qlcnic_up(adapter, netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
503
static int qlcnic_sriov_pf_init(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
505
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
510
if (!qlcnic_sriov_enable_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
513
err = qlcnic_sriov_pf_cfg_vlan_filtering(adapter, 1);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
517
if (qlcnic_84xx_check(adapter)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
518
err = qlcnic_sriov_pf_cfg_flood(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
523
err = qlcnic_sriov_pf_cfg_eswitch(adapter, func, 1);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
527
err = qlcnic_sriov_pf_config_vport(adapter, 1, func);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
531
err = qlcnic_sriov_get_pf_info(adapter, &pf_info);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
535
err = qlcnic_get_nic_info(adapter, &nic_info, func);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
539
err = qlcnic_sriov_pf_cal_res_limit(adapter, &vp_info, func);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
543
err = qlcnic_sriov_cfg_bc_intr(adapter, 1);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
555
qlcnic_sriov_pf_config_vport(adapter, 0, func);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
558
qlcnic_sriov_pf_cfg_eswitch(adapter, func, 0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
561
qlcnic_sriov_pf_cfg_vlan_filtering(adapter, 0);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
566
static int qlcnic_sriov_pf_enable(struct qlcnic_adapter *adapter, int num_vfs)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
570
if (!qlcnic_sriov_enable_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
573
err = pci_enable_sriov(adapter->pdev, num_vfs);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
575
qlcnic_sriov_pf_cleanup(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
58
err = qlcnic_issue_cmd(adapter, &cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
580
static int __qlcnic_pci_sriov_enable(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
585
set_bit(__QLCNIC_SRIOV_ENABLE, &adapter->state);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
586
adapter->ahw->op_mode = QLCNIC_SRIOV_PF_FUNC;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
588
err = qlcnic_sriov_init(adapter, num_vfs);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
592
err = qlcnic_sriov_pf_create_flr_queue(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
596
err = qlcnic_sriov_pf_init(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
60
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
600
err = qlcnic_sriov_alloc_vlans(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
607
qlcnic_sriov_pf_del_flr_queue(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
610
__qlcnic_sriov_cleanup(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
613
clear_bit(__QLCNIC_SRIOV_ENABLE, &adapter->state);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
614
adapter->ahw->op_mode = QLCNIC_MGMT_FUNC;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
618
static int qlcnic_pci_sriov_enable(struct qlcnic_adapter *adapter, int num_vfs)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
620
struct net_device *netdev = adapter->netdev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
623
if (!(adapter->flags & QLCNIC_MSIX_ENABLED)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
631
__qlcnic_down(adapter, netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
633
err = __qlcnic_pci_sriov_enable(adapter, num_vfs);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
638
__qlcnic_up(adapter, netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
641
err = qlcnic_sriov_pf_enable(adapter, num_vfs);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
645
adapter->portnum);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
652
__qlcnic_down(adapter, netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
655
if (!qlcnic_83xx_configure_opmode(adapter)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
657
__qlcnic_up(adapter, netdev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
662
adapter->portnum);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
669
struct qlcnic_adapter *adapter = pci_get_drvdata(dev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
67
static int qlcnic_sriov_pf_cal_res_limit(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
672
if (test_and_set_bit(__QLCNIC_RESETTING, &adapter->state))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
676
err = qlcnic_pci_sriov_disable(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
678
err = qlcnic_pci_sriov_enable(adapter, num_vfs);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
680
clear_bit(__QLCNIC_RESETTING, &adapter->state);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
684
static int qlcnic_sriov_set_vf_acl(struct qlcnic_adapter *adapter, u8 func)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
691
id = qlcnic_sriov_func_to_index(adapter, func);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
695
vp = adapter->ahw->sriov->vf_info[id].vp;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
696
err = qlcnic_alloc_mbx_args(&cmd, adapter, QLCNIC_CMD_SET_NIC_INFO);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
70
struct qlcnic_sriov *sriov = adapter->ahw->sriov;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
714
err = qlcnic_issue_cmd(adapter, &cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
716
dev_err(&adapter->pdev->dev, "Failed to set ACL, err=%d\n",
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
723
static int qlcnic_sriov_set_vf_vport_info(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
729
err = qlcnic_sriov_pf_cal_res_limit(adapter, &defvp_info, func);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
733
err = qlcnic_sriov_set_vf_acl(adapter, func);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
745
struct qlcnic_adapter *adapter;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
751
adapter = vf->adapter;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
752
sriov = adapter->ahw->sriov;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
755
err = qlcnic_sriov_pf_config_vport(adapter, 1, func);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
757
err = qlcnic_sriov_set_vf_vport_info(adapter, func);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
759
qlcnic_sriov_pf_config_vport(adapter, 0, func);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
768
err = qlcnic_sriov_pf_config_vport(adapter, 0, func);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
77
vpid = qlcnic_sriov_pf_get_vport_handle(adapter, func);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
788
static int qlcnic_sriov_cfg_vf_def_mac(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
806
err = qlcnic_alloc_mbx_args(cmd, adapter, QLCNIC_CMD_CONFIG_MAC_VLAN);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
811
vpid = qlcnic_sriov_pf_get_vport_handle(adapter, vf->pci_func);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
835
err = qlcnic_issue_cmd(adapter, cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
855
static void qlcnic_83xx_cfg_default_mac_vlan(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
86
if (qlcnic_83xx_pf_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
863
sriov = adapter->ahw->sriov;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
870
qlcnic_sriov_cfg_vf_def_mac(adapter, vf, vlan,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
877
if (qlcnic_83xx_pf_check(adapter) &&
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
880
qlcnic_sriov_cfg_vf_def_mac(adapter, vf, 0, opcode);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
888
struct qlcnic_adapter *adapter = vf->adapter;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
899
err = qlcnic_issue_cmd(adapter, cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
904
qlcnic_83xx_cfg_default_mac_vlan(adapter, vf, QLCNIC_MAC_ADD);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
91
if (adapter->ahw->pci_func == func) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
948
struct qlcnic_adapter *adapter = vf->adapter;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
959
err = qlcnic_issue_cmd(adapter, cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
986
struct qlcnic_adapter *adapter = vf->adapter;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
995
qlcnic_83xx_cfg_default_mac_vlan(adapter, vf, QLCNIC_MAC_DEL);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
997
err = qlcnic_issue_cmd(adapter, cmd);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
100
QLCDB(adapter, DRV, "rate %x state %x\n", *rate, *state);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
1004
if (adapter->ahw->fdt.mfg_id == adapter->flash_mfg_id) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
1005
ret = qlcnic_83xx_enable_flash_write(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
1008
qlcnic_83xx_unlock_flash(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
1014
ret = qlcnic_83xx_flash_bulk_write(adapter, offset,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
1019
if (adapter->ahw->fdt.mfg_id == adapter->flash_mfg_id) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
1020
ret = qlcnic_83xx_disable_flash_write(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
1023
qlcnic_83xx_unlock_flash(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
1029
qlcnic_83xx_unlock_flash(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
1037
if (adapter->ahw->fdt.mfg_id == adapter->flash_mfg_id) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
1038
ret = qlcnic_83xx_disable_flash_write(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
1041
qlcnic_83xx_unlock_flash(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
1047
qlcnic_83xx_unlock_flash(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
1052
static int qlcnic_83xx_sysfs_flash_write(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
1067
if (qlcnic_83xx_lock_flash(adapter) != 0) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
1072
if (adapter->ahw->fdt.mfg_id == adapter->flash_mfg_id) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
1073
ret = qlcnic_83xx_enable_flash_write(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
1076
qlcnic_83xx_unlock_flash(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
1082
ret = qlcnic_83xx_flash_write32(adapter, offset, (u32 *)p_src);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
1084
if (adapter->ahw->fdt.mfg_id == adapter->flash_mfg_id) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
1085
ret = qlcnic_83xx_disable_flash_write(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
1088
qlcnic_83xx_unlock_flash(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
1093
qlcnic_83xx_unlock_flash(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
1101
if (adapter->ahw->fdt.mfg_id == adapter->flash_mfg_id) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
1102
ret = qlcnic_83xx_disable_flash_write(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
1105
qlcnic_83xx_unlock_flash(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
1111
qlcnic_83xx_unlock_flash(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
1126
struct qlcnic_adapter *adapter = dev_get_drvdata(dev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
1135
ret = qlcnic_83xx_erase_flash_sector(adapter, offset);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
1137
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
115
static int qlcnic_83xx_store_beacon(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
1152
ret = qlcnic_83xx_sysfs_flash_bulk_write(adapter, buf,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
1155
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
1163
ret = qlcnic_83xx_sysfs_flash_write(adapter, buf,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
1166
dev_err(&adapter->pdev->dev,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
118
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
122
if (test_bit(__QLCNIC_RESETTING, &adapter->state))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
1263
struct qlcnic_adapter *adapter = dev_get_drvdata(dev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
1266
if (qlcnic_83xx_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
1267
value = QLCRDX(adapter->ahw, QLC_83XX_ASIC_TEMP);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
1268
else if (qlcnic_82xx_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
1269
value = QLC_SHARED_REG_RD32(adapter, QLCNIC_ASIC_TEMP);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
128
qlcnic_get_beacon_state(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
1288
void qlcnic_register_hwmon_dev(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
1290
struct device *dev = &adapter->pdev->dev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
1294
if (qlcnic_sriov_vf_check(adapter)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
1295
adapter->ahw->hwmon_dev = NULL;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
1299
adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
1306
adapter->ahw->hwmon_dev = hwmon_dev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
1309
void qlcnic_unregister_hwmon_dev(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
1311
struct device *hwmon_dev = adapter->ahw->hwmon_dev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
1314
adapter->ahw->hwmon_dev = NULL;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
1319
void qlcnic_create_sysfs_entries(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
1321
struct device *dev = &adapter->pdev->dev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
1323
if (adapter->ahw->capabilities & QLCNIC_FW_CAPABILITY_BDG)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
1329
void qlcnic_remove_sysfs_entries(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
1331
struct device *dev = &adapter->pdev->dev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
1333
if (adapter->ahw->capabilities & QLCNIC_FW_CAPABILITY_BDG)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
1337
static void qlcnic_create_diag_entries(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
1339
struct device *dev = &adapter->pdev->dev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
1344
if (adapter->ahw->op_mode == QLCNIC_NON_PRIV_FUNC)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
135
if (test_and_set_bit(__QLCNIC_LED_ENABLE, &adapter->state)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
1353
if (test_bit(__QLCNIC_MAINTENANCE_MODE, &adapter->state))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
1362
if (!(adapter->flags & QLCNIC_ESWITCH_ENABLED))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
1366
if (adapter->ahw->op_mode != QLCNIC_MGMT_FUNC)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
1376
static void qlcnic_remove_diag_entries(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
1378
struct device *dev = &adapter->pdev->dev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
1382
if (adapter->ahw->op_mode == QLCNIC_NON_PRIV_FUNC)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
1388
if (test_bit(__QLCNIC_MAINTENANCE_MODE, &adapter->state))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
1393
if (!(adapter->flags & QLCNIC_ESWITCH_ENABLED))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
1396
if (adapter->ahw->op_mode != QLCNIC_MGMT_FUNC)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
1403
void qlcnic_82xx_add_sysfs(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
1405
qlcnic_create_diag_entries(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
1408
void qlcnic_82xx_remove_sysfs(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
1410
qlcnic_remove_diag_entries(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
1413
void qlcnic_83xx_add_sysfs(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
1415
struct device *dev = &adapter->pdev->dev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
1417
qlcnic_create_diag_entries(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
142
err = qlcnic_83xx_config_led(adapter, 1, h_beacon);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
1423
void qlcnic_83xx_remove_sysfs(struct qlcnic_adapter *adapter)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
1425
struct device *dev = &adapter->pdev->dev;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
1427
qlcnic_remove_diag_entries(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
144
err = qlcnic_83xx_config_led(adapter, 0, !h_beacon);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
149
clear_bit(__QLCNIC_LED_ENABLE, &adapter->state);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
155
static int qlcnic_82xx_store_beacon(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
158
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
159
int err, drv_sds_rings = adapter->drv_sds_rings;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
167
err = qlcnic_validate_beacon(adapter, beacon, &b_state, &b_rate);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
171
qlcnic_get_beacon_state(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
178
if (test_and_set_bit(__QLCNIC_LED_ENABLE, &adapter->state)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
184
if (test_bit(__QLCNIC_RESETTING, &adapter->state)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
189
if (!test_bit(__QLCNIC_DEV_UP, &adapter->state)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
190
err = qlcnic_diag_alloc_res(adapter->netdev, QLCNIC_LED_TEST);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
193
set_bit(__QLCNIC_DIAG_RES_ALLOC, &adapter->state);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
196
err = qlcnic_config_led(adapter, b_state, b_rate);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
202
if (test_and_clear_bit(__QLCNIC_DIAG_RES_ALLOC, &adapter->state))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
203
qlcnic_diag_free_res(adapter->netdev, drv_sds_rings);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
207
clear_bit(__QLCNIC_LED_ENABLE, &adapter->state);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
217
struct qlcnic_adapter *adapter = dev_get_drvdata(dev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
220
if (adapter->ahw->op_mode == QLCNIC_NON_PRIV_FUNC) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
226
if (qlcnic_82xx_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
227
err = qlcnic_82xx_store_beacon(adapter, buf, len);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
228
else if (qlcnic_83xx_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
229
err = qlcnic_83xx_store_beacon(adapter, buf, len);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
239
struct qlcnic_adapter *adapter = dev_get_drvdata(dev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
24
int qlcnicvf_config_bridged_mode(struct qlcnic_adapter *adapter, u32 enable)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
241
return sprintf(buf, "%d\n", adapter->ahw->beacon_state);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
244
static int qlcnic_sysfs_validate_crb(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
249
if (!(adapter->flags & QLCNIC_DIAG_ENABLED))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
271
struct qlcnic_adapter *adapter = dev_get_drvdata(dev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
274
ret = qlcnic_sysfs_validate_crb(adapter, offset, size);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
277
qlcnic_read_crb(adapter, buf, offset, size);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
288
struct qlcnic_adapter *adapter = dev_get_drvdata(dev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
29
int qlcnicvf_config_led(struct qlcnic_adapter *adapter, u32 state, u32 rate)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
291
ret = qlcnic_sysfs_validate_crb(adapter, offset, size);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
296
qlcnic_write_crb(adapter, buf, offset, size);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
300
static int qlcnic_sysfs_validate_mem(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
303
if (!(adapter->flags & QLCNIC_DIAG_ENABLED))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
317
struct qlcnic_adapter *adapter = dev_get_drvdata(dev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
321
ret = qlcnic_sysfs_validate_mem(adapter, offset, size);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
325
if (qlcnic_pci_mem_read_2M(adapter, offset, &data))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
339
struct qlcnic_adapter *adapter = dev_get_drvdata(dev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
343
ret = qlcnic_sysfs_validate_mem(adapter, offset, size);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
350
if (qlcnic_pci_mem_write_2M(adapter, offset, data))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
356
int qlcnic_is_valid_nic_func(struct qlcnic_adapter *adapter, u8 pci_func)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
360
for (i = 0; i < adapter->ahw->total_nic_func; i++) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
361
if (adapter->npars[i].pci_func == pci_func)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
365
dev_err(&adapter->pdev->dev, "%s: Invalid nic function\n", __func__);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
369
static int validate_pm_config(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
379
src_index = qlcnic_is_valid_nic_func(adapter, src_pci_func);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
38
struct qlcnic_adapter *adapter = dev_get_drvdata(dev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
383
dest_index = qlcnic_is_valid_nic_func(adapter, dest_pci_func);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
387
s_esw_id = adapter->npars[src_index].phy_port;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
388
d_esw_id = adapter->npars[dest_index].phy_port;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
404
struct qlcnic_adapter *adapter = dev_get_drvdata(dev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
416
ret = validate_pm_config(adapter, pm_cfg, count);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
42
if (!(adapter->ahw->capabilities & QLCNIC_FW_CAPABILITY_BDG))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
423
index = qlcnic_is_valid_nic_func(adapter, pci_func);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
427
id = adapter->npars[index].phy_port;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
428
ret = qlcnic_config_port_mirroring(adapter, id,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
436
index = qlcnic_is_valid_nic_func(adapter, pci_func);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
439
id = adapter->npars[index].phy_port;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
440
adapter->npars[index].enable_pm = !!pm_cfg[i].action;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
441
adapter->npars[index].dest_npar = id;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
45
if (!test_bit(__QLCNIC_DEV_UP, &adapter->state))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
454
struct qlcnic_adapter *adapter = dev_get_drvdata(dev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
463
for (i = 0; i < adapter->ahw->total_nic_func; i++) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
464
pci_func = adapter->npars[i].pci_func;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
467
__func__, adapter->ahw->total_nic_func, count);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
470
if (!adapter->npars[i].eswitch_status)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
473
pm_cfg[pci_func].action = adapter->npars[i].enable_pm;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
481
static int validate_esw_config(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
484
struct qlcnic_hardware_context *ahw = adapter->ahw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
489
if (qlcnic_82xx_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
499
if (adapter->ahw->op_mode == QLCNIC_MGMT_FUNC)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
500
if (qlcnic_is_valid_nic_func(adapter, pci_func) < 0)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
505
if (qlcnic_82xx_check(adapter)) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
51
if (!qlcnic_config_bridged_mode(adapter, !!new))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
547
struct qlcnic_adapter *adapter = dev_get_drvdata(dev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
561
ret = validate_esw_config(adapter, esw_cfg, count);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
566
if (adapter->ahw->op_mode == QLCNIC_MGMT_FUNC)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
567
if (qlcnic_config_switch_port(adapter, &esw_cfg[i]))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
570
if (adapter->ahw->pci_func != esw_cfg[i].pci_func)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
574
qlcnic_get_eswitch_port_config(adapter, &esw_cfg[i]);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
576
esw_cfg[i].pci_func = adapter->ahw->pci_func;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
580
qlcnic_set_eswitch_port_features(adapter, &esw_cfg[i]);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
582
qlcnic_set_netdev_features(adapter, &esw_cfg[i]);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
586
qlcnic_set_vlan_config(adapter, &esw_cfg[i]);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
590
qlcnic_set_vlan_config(adapter, &esw_cfg[i]);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
595
if (adapter->ahw->op_mode != QLCNIC_MGMT_FUNC)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
600
index = qlcnic_is_valid_nic_func(adapter, pci_func);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
603
npar = &adapter->npars[index];
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
62
struct qlcnic_adapter *adapter = dev_get_drvdata(dev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
631
struct qlcnic_adapter *adapter = dev_get_drvdata(dev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
640
for (i = 0; i < adapter->ahw->total_nic_func; i++) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
641
pci_func = adapter->npars[i].pci_func;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
644
__func__, adapter->ahw->total_nic_func, count);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
647
if (!adapter->npars[i].eswitch_status)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
65
if (adapter->ahw->capabilities & QLCNIC_FW_CAPABILITY_BDG)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
651
if (qlcnic_get_eswitch_port_config(adapter, &esw_cfg[pci_func]))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
658
static int validate_npar_config(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
66
bridged_mode = !!(adapter->flags & QLCNIC_BRIDGE_ENABLED);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
666
if (qlcnic_is_valid_nic_func(adapter, pci_func) < 0)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
683
struct qlcnic_adapter *adapter = dev_get_drvdata(dev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
696
ret = validate_npar_config(adapter, np_cfg, count);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
704
ret = qlcnic_get_nic_info(adapter, &nic_info, pci_func);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
710
ret = qlcnic_set_nic_info(adapter, &nic_info);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
713
index = qlcnic_is_valid_nic_func(adapter, pci_func);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
716
adapter->npars[index].min_bw = nic_info.min_tx_bw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
717
adapter->npars[index].max_bw = nic_info.max_tx_bw;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
730
struct qlcnic_adapter *adapter = dev_get_drvdata(dev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
742
for (i = 0; i < adapter->ahw->total_nic_func; i++) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
743
if (adapter->npars[i].pci_func >= count) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
745
__func__, adapter->ahw->total_nic_func, count);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
748
if (!adapter->npars[i].eswitch_status)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
75
struct qlcnic_adapter *adapter = dev_get_drvdata(dev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
750
pci_func = adapter->npars[i].pci_func;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
751
if (qlcnic_is_valid_nic_func(adapter, pci_func) < 0)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
753
ret = qlcnic_get_nic_info(adapter, &nic_info, pci_func);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
777
struct qlcnic_adapter *adapter = dev_get_drvdata(dev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
781
if (qlcnic_83xx_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
787
if (offset >= adapter->ahw->max_vnic_func)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
791
ret = qlcnic_get_port_stats(adapter, offset, QLCNIC_QUERY_RX_COUNTER,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
796
ret = qlcnic_get_port_stats(adapter, offset, QLCNIC_QUERY_TX_COUNTER,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
81
if (!!new != !!(adapter->flags & QLCNIC_DIAG_ENABLED))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
812
struct qlcnic_adapter *adapter = dev_get_drvdata(dev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
816
if (qlcnic_83xx_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
82
adapter->flags ^= QLCNIC_DIAG_ENABLED;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
826
ret = qlcnic_get_eswitch_stats(adapter, offset, QLCNIC_QUERY_RX_COUNTER,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
831
ret = qlcnic_get_eswitch_stats(adapter, offset, QLCNIC_QUERY_TX_COUNTER,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
847
struct qlcnic_adapter *adapter = dev_get_drvdata(dev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
850
if (qlcnic_83xx_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
856
ret = qlcnic_clear_esw_stats(adapter, QLCNIC_STATS_ESWITCH, offset,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
861
ret = qlcnic_clear_esw_stats(adapter, QLCNIC_STATS_ESWITCH, offset,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
877
struct qlcnic_adapter *adapter = dev_get_drvdata(dev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
880
if (qlcnic_83xx_check(adapter))
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
883
if (offset >= adapter->ahw->max_vnic_func)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
886
ret = qlcnic_clear_esw_stats(adapter, QLCNIC_STATS_PORT, offset,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
891
ret = qlcnic_clear_esw_stats(adapter, QLCNIC_STATS_PORT, offset,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
90
struct qlcnic_adapter *adapter = dev_get_drvdata(dev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
906
struct qlcnic_adapter *adapter = dev_get_drvdata(dev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
91
return sprintf(buf, "%d\n", !!(adapter->flags & QLCNIC_DIAG_ENABLED));
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
916
ret = qlcnic_get_pci_info(adapter, pci_info);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
94
static int qlcnic_validate_beacon(struct qlcnic_adapter *adapter, u16 beacon,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
948
struct qlcnic_adapter *adapter = dev_get_drvdata(dev);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
961
if (qlcnic_83xx_lock_flash(adapter) != 0) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
966
ret = qlcnic_83xx_lockless_flash_read32(adapter, offset, p_read_buf,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
970
qlcnic_83xx_unlock_flash(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
975
qlcnic_83xx_unlock_flash(adapter);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
983
static int qlcnic_83xx_sysfs_flash_bulk_write(struct qlcnic_adapter *adapter,
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
999
if (qlcnic_83xx_lock_flash(adapter) != 0) {
drivers/net/ethernet/ti/tlan.c
1404
if (priv->adapter->flags & TLAN_ADAPTER_ACTIVITY_LED) {
drivers/net/ethernet/ti/tlan.c
1555
if (priv->adapter->flags & TLAN_ADAPTER_ACTIVITY_LED) {
drivers/net/ethernet/ti/tlan.c
2200
if (priv->adapter->flags & TLAN_ADAPTER_BIT_RATE_PHY) {
drivers/net/ethernet/ti/tlan.c
2214
(priv->adapter->flags & TLAN_ADAPTER_USE_INTERN_10))
drivers/net/ethernet/ti/tlan.c
2218
if (priv->adapter->flags & TLAN_ADAPTER_UNMANAGED_PHY)
drivers/net/ethernet/ti/tlan.c
2256
if ((priv->adapter->flags & TLAN_ADAPTER_UNMANAGED_PHY) ||
drivers/net/ethernet/ti/tlan.c
2404
if (priv->adapter->flags & TLAN_ADAPTER_UNMANAGED_PHY) {
drivers/net/ethernet/ti/tlan.c
2459
if (priv->adapter->flags & TLAN_ADAPTER_UNMANAGED_PHY) {
drivers/net/ethernet/ti/tlan.c
2511
if (priv->adapter->flags & TLAN_ADAPTER_USE_INTERN_10)
drivers/net/ethernet/ti/tlan.c
2703
(priv->adapter->flags & TLAN_ADAPTER_USE_INTERN_10) &&
drivers/net/ethernet/ti/tlan.c
2766
if (priv->adapter->flags & TLAN_ADAPTER_USE_INTERN_10) {
drivers/net/ethernet/ti/tlan.c
481
priv->adapter = &board_info[ent->driver_data];
drivers/net/ethernet/ti/tlan.c
515
priv->adapter = &board_info[13]; /* NetFlex-3/E */
drivers/net/ethernet/ti/tlan.c
518
priv->adapter = &board_info[14];
drivers/net/ethernet/ti/tlan.c
580
priv->adapter->device_label,
drivers/net/ethernet/ti/tlan.c
845
(u8) priv->adapter->addr_ofs + i,
drivers/net/ethernet/ti/tlan.c
852
if (priv->adapter->addr_ofs == 0xf8) {
drivers/net/ethernet/ti/tlan.h
199
struct board *adapter;
drivers/net/fjes/fjes.h
67
void fjes_dbg_adapter_init(struct fjes_adapter *adapter);
drivers/net/fjes/fjes.h
68
void fjes_dbg_adapter_exit(struct fjes_adapter *adapter);
drivers/net/fjes/fjes.h
72
static inline void fjes_dbg_adapter_init(struct fjes_adapter *adapter) {}
drivers/net/fjes/fjes.h
73
static inline void fjes_dbg_adapter_exit(struct fjes_adapter *adapter) {}
drivers/net/fjes/fjes_debugfs.c
28
struct fjes_adapter *adapter = m->private;
drivers/net/fjes/fjes_debugfs.c
29
struct fjes_hw *hw = &adapter->hw;
drivers/net/fjes/fjes_debugfs.c
52
void fjes_dbg_adapter_init(struct fjes_adapter *adapter)
drivers/net/fjes/fjes_debugfs.c
54
const char *name = dev_name(&adapter->plat_dev->dev);
drivers/net/fjes/fjes_debugfs.c
56
adapter->dbg_adapter = debugfs_create_dir(name, fjes_debug_root);
drivers/net/fjes/fjes_debugfs.c
58
debugfs_create_file("status", 0444, adapter->dbg_adapter, adapter,
drivers/net/fjes/fjes_debugfs.c
62
void fjes_dbg_adapter_exit(struct fjes_adapter *adapter)
drivers/net/fjes/fjes_debugfs.c
64
debugfs_remove_recursive(adapter->dbg_adapter);
drivers/net/fjes/fjes_debugfs.c
65
adapter->dbg_adapter = NULL;
drivers/net/fjes/fjes_ethtool.c
131
struct fjes_adapter *adapter = netdev_priv(netdev);
drivers/net/fjes/fjes_ethtool.c
134
plat_dev = adapter->plat_dev;
drivers/net/fjes/fjes_ethtool.c
167
struct fjes_adapter *adapter = netdev_priv(netdev);
drivers/net/fjes/fjes_ethtool.c
168
struct fjes_hw *hw = &adapter->hw;
drivers/net/fjes/fjes_ethtool.c
206
struct fjes_adapter *adapter = netdev_priv(netdev);
drivers/net/fjes/fjes_ethtool.c
207
struct fjes_hw *hw = &adapter->hw;
drivers/net/fjes/fjes_ethtool.c
239
struct fjes_adapter *adapter = netdev_priv(netdev);
drivers/net/fjes/fjes_ethtool.c
240
struct fjes_hw *hw = &adapter->hw;
drivers/net/fjes/fjes_ethtool.c
252
struct fjes_adapter *adapter = netdev_priv(netdev);
drivers/net/fjes/fjes_ethtool.c
253
struct fjes_hw *hw = &adapter->hw;
drivers/net/fjes/fjes_ethtool.c
46
struct fjes_adapter *adapter = netdev_priv(netdev);
drivers/net/fjes/fjes_ethtool.c
47
struct fjes_hw *hw = &adapter->hw;
drivers/net/fjes/fjes_ethtool.c
53
p = (char *)adapter + fjes_gstrings_stats[i].stat_offset;
drivers/net/fjes/fjes_ethtool.c
88
struct fjes_adapter *adapter = netdev_priv(netdev);
drivers/net/fjes/fjes_ethtool.c
89
struct fjes_hw *hw = &adapter->hw;
drivers/net/fjes/fjes_hw.c
1006
adapter = (struct fjes_adapter *)hw->back;
drivers/net/fjes/fjes_hw.c
1007
netdev = adapter->netdev;
drivers/net/fjes/fjes_hw.c
1018
if (!work_pending(&adapter->force_close_task)) {
drivers/net/fjes/fjes_hw.c
1019
adapter->force_reset = true;
drivers/net/fjes/fjes_hw.c
1020
schedule_work(&adapter->force_close_task);
drivers/net/fjes/fjes_hw.c
1059
&adapter->unshare_watch_bitmask);
drivers/net/fjes/fjes_hw.c
1106
if (!work_pending(&adapter->force_close_task)) {
drivers/net/fjes/fjes_hw.c
1107
adapter->force_reset = true;
drivers/net/fjes/fjes_hw.c
1109
&adapter->force_close_task);
drivers/net/fjes/fjes_hw.c
1130
if (!work_pending(&adapter->force_close_task)) {
drivers/net/fjes/fjes_hw.c
1131
adapter->force_reset = true;
drivers/net/fjes/fjes_hw.c
1133
&adapter->force_close_task);
drivers/net/fjes/fjes_hw.c
1169
if (irq_bit || adapter->unshare_watch_bitmask) {
drivers/net/fjes/fjes_hw.c
1170
if (!work_pending(&adapter->unshare_watch_task))
drivers/net/fjes/fjes_hw.c
1171
queue_work(adapter->control_wq,
drivers/net/fjes/fjes_hw.c
1172
&adapter->unshare_watch_task);
drivers/net/fjes/fjes_hw.c
1179
struct fjes_adapter *adapter = (struct fjes_adapter *)hw->back;
drivers/net/fjes/fjes_hw.c
1197
&adapter->unshare_watch_bitmask);
drivers/net/fjes/fjes_hw.c
1199
if (!work_pending(&adapter->unshare_watch_task))
drivers/net/fjes/fjes_hw.c
1201
adapter->control_wq,
drivers/net/fjes/fjes_hw.c
1202
&adapter->unshare_watch_task);
drivers/net/fjes/fjes_hw.c
995
struct fjes_adapter *adapter;
drivers/net/fjes/fjes_main.c
1002
adapter->stats64.rx_bytes += frame_len;
drivers/net/fjes/fjes_main.c
1008
adapter->stats64.multicast += 1;
drivers/net/fjes/fjes_main.c
1014
fjes_rxframe_release(adapter, cur_epid);
drivers/net/fjes/fjes_main.c
1015
adapter->unset_rx_last = true;
drivers/net/fjes/fjes_main.c
1024
if (adapter->unset_rx_last) {
drivers/net/fjes/fjes_main.c
1025
adapter->rx_last_jiffies = jiffies;
drivers/net/fjes/fjes_main.c
1026
adapter->unset_rx_last = false;
drivers/net/fjes/fjes_main.c
1029
if (((long)jiffies - (long)adapter->rx_last_jiffies) < 3) {
drivers/net/fjes/fjes_main.c
1038
adapter->hw.ep_shm_info[epidx].tx
drivers/net/fjes/fjes_main.c
1051
static int fjes_sw_init(struct fjes_adapter *adapter)
drivers/net/fjes/fjes_main.c
1053
struct net_device *netdev = adapter->netdev;
drivers/net/fjes/fjes_main.c
1055
netif_napi_add(netdev, &adapter->napi, fjes_poll);
drivers/net/fjes/fjes_main.c
1062
struct fjes_adapter *adapter = container_of(work,
drivers/net/fjes/fjes_main.c
1064
struct net_device *netdev = adapter->netdev;
drivers/net/fjes/fjes_main.c
1073
struct fjes_adapter *adapter = container_of(work,
drivers/net/fjes/fjes_main.c
1075
struct net_device *netdev = adapter->netdev;
drivers/net/fjes/fjes_main.c
1076
struct fjes_hw *hw = &adapter->hw;
drivers/net/fjes/fjes_main.c
1104
info = adapter->hw.ep_shm_info[epid].tx.info;
drivers/net/fjes/fjes_main.c
1124
queue_work(adapter->txrx_wq, &adapter->tx_stall_task);
drivers/net/fjes/fjes_main.c
1129
struct fjes_adapter *adapter = container_of(work,
drivers/net/fjes/fjes_main.c
1131
struct fjes_hw *hw = &adapter->hw;
drivers/net/fjes/fjes_main.c
1179
struct fjes_adapter *adapter =
drivers/net/fjes/fjes_main.c
1182
struct net_device *netdev = adapter->netdev;
drivers/net/fjes/fjes_main.c
1183
struct fjes_hw *hw = &adapter->hw;
drivers/net/fjes/fjes_main.c
1197
unshare_watch_bitmask = adapter->unshare_watch_bitmask;
drivers/net/fjes/fjes_main.c
1198
adapter->unshare_watch_bitmask = 0;
drivers/net/fjes/fjes_main.c
1233
&adapter->force_close_task)) {
drivers/net/fjes/fjes_main.c
1234
adapter->force_reset = true;
drivers/net/fjes/fjes_main.c
1236
&adapter->force_close_task);
drivers/net/fjes/fjes_main.c
1276
&adapter->force_close_task)) {
drivers/net/fjes/fjes_main.c
1277
adapter->force_reset = true;
drivers/net/fjes/fjes_main.c
1279
&adapter->force_close_task);
drivers/net/fjes/fjes_main.c
1313
struct fjes_adapter *adapter = container_of(to_delayed_work(work),
drivers/net/fjes/fjes_main.c
1317
fjes_intr(adapter->hw.hw_res.irq, adapter);
drivers/net/fjes/fjes_main.c
1320
if (fjes_rxframe_search_exist(adapter, 0) >= 0)
drivers/net/fjes/fjes_main.c
1321
napi_schedule(&adapter->napi);
drivers/net/fjes/fjes_main.c
1323
if (adapter->interrupt_watch_enable) {
drivers/net/fjes/fjes_main.c
1324
if (!delayed_work_pending(&adapter->interrupt_watch_task))
drivers/net/fjes/fjes_main.c
1325
queue_delayed_work(adapter->control_wq,
drivers/net/fjes/fjes_main.c
1326
&adapter->interrupt_watch_task,
drivers/net/fjes/fjes_main.c
1334
struct fjes_adapter *adapter;
drivers/net/fjes/fjes_main.c
1352
adapter = netdev_priv(netdev);
drivers/net/fjes/fjes_main.c
1353
adapter->netdev = netdev;
drivers/net/fjes/fjes_main.c
1354
adapter->plat_dev = plat_dev;
drivers/net/fjes/fjes_main.c
1355
hw = &adapter->hw;
drivers/net/fjes/fjes_main.c
1356
hw->back = adapter;
drivers/net/fjes/fjes_main.c
1359
err = fjes_sw_init(adapter);
drivers/net/fjes/fjes_main.c
1363
INIT_WORK(&adapter->force_close_task, fjes_force_close_task);
drivers/net/fjes/fjes_main.c
1364
adapter->force_reset = false;
drivers/net/fjes/fjes_main.c
1365
adapter->open_guard = false;
drivers/net/fjes/fjes_main.c
1367
adapter->txrx_wq = alloc_workqueue(DRV_NAME "/txrx",
drivers/net/fjes/fjes_main.c
1369
if (unlikely(!adapter->txrx_wq)) {
drivers/net/fjes/fjes_main.c
1374
adapter->control_wq = alloc_workqueue(DRV_NAME "/control",
drivers/net/fjes/fjes_main.c
1376
if (unlikely(!adapter->control_wq)) {
drivers/net/fjes/fjes_main.c
1381
INIT_WORK(&adapter->tx_stall_task, fjes_tx_stall_task);
drivers/net/fjes/fjes_main.c
1382
INIT_WORK(&adapter->raise_intr_rxdata_task,
drivers/net/fjes/fjes_main.c
1384
INIT_WORK(&adapter->unshare_watch_task, fjes_watch_unshare_task);
drivers/net/fjes/fjes_main.c
1385
adapter->unshare_watch_bitmask = 0;
drivers/net/fjes/fjes_main.c
1387
INIT_DELAYED_WORK(&adapter->interrupt_watch_task, fjes_irq_watch_task);
drivers/net/fjes/fjes_main.c
1388
adapter->interrupt_watch_enable = false;
drivers/net/fjes/fjes_main.c
1403
err = fjes_hw_init(&adapter->hw);
drivers/net/fjes/fjes_main.c
1422
fjes_dbg_adapter_init(adapter);
drivers/net/fjes/fjes_main.c
1427
fjes_hw_exit(&adapter->hw);
drivers/net/fjes/fjes_main.c
1429
destroy_workqueue(adapter->control_wq);
drivers/net/fjes/fjes_main.c
1431
destroy_workqueue(adapter->txrx_wq);
drivers/net/fjes/fjes_main.c
1442
struct fjes_adapter *adapter = netdev_priv(netdev);
drivers/net/fjes/fjes_main.c
1443
struct fjes_hw *hw = &adapter->hw;
drivers/net/fjes/fjes_main.c
1445
fjes_dbg_adapter_exit(adapter);
drivers/net/fjes/fjes_main.c
1447
cancel_delayed_work_sync(&adapter->interrupt_watch_task);
drivers/net/fjes/fjes_main.c
1448
cancel_work_sync(&adapter->unshare_watch_task);
drivers/net/fjes/fjes_main.c
1449
cancel_work_sync(&adapter->raise_intr_rxdata_task);
drivers/net/fjes/fjes_main.c
1450
cancel_work_sync(&adapter->tx_stall_task);
drivers/net/fjes/fjes_main.c
1451
if (adapter->control_wq)
drivers/net/fjes/fjes_main.c
1452
destroy_workqueue(adapter->control_wq);
drivers/net/fjes/fjes_main.c
1453
if (adapter->txrx_wq)
drivers/net/fjes/fjes_main.c
1454
destroy_workqueue(adapter->txrx_wq);
drivers/net/fjes/fjes_main.c
1460
netif_napi_del(&adapter->napi);
drivers/net/fjes/fjes_main.c
164
static int fjes_setup_resources(struct fjes_adapter *adapter)
drivers/net/fjes/fjes_main.c
166
struct net_device *netdev = adapter->netdev;
drivers/net/fjes/fjes_main.c
168
struct fjes_hw *hw = &adapter->hw;
drivers/net/fjes/fjes_main.c
187
adapter->force_reset = true;
drivers/net/fjes/fjes_main.c
230
adapter->force_reset = true;
drivers/net/fjes/fjes_main.c
242
static void fjes_rx_irq(struct fjes_adapter *adapter, int src_epid)
drivers/net/fjes/fjes_main.c
244
struct fjes_hw *hw = &adapter->hw;
drivers/net/fjes/fjes_main.c
248
adapter->unset_rx_last = true;
drivers/net/fjes/fjes_main.c
249
napi_schedule(&adapter->napi);
drivers/net/fjes/fjes_main.c
252
static void fjes_stop_req_irq(struct fjes_adapter *adapter, int src_epid)
drivers/net/fjes/fjes_main.c
254
struct fjes_hw *hw = &adapter->hw;
drivers/net/fjes/fjes_main.c
273
set_bit(src_epid, &adapter->unshare_watch_bitmask);
drivers/net/fjes/fjes_main.c
274
if (!work_pending(&adapter->unshare_watch_task))
drivers/net/fjes/fjes_main.c
275
queue_work(adapter->control_wq,
drivers/net/fjes/fjes_main.c
276
&adapter->unshare_watch_task);
drivers/net/fjes/fjes_main.c
282
queue_work(adapter->control_wq, &hw->epstop_task);
drivers/net/fjes/fjes_main.c
288
static void fjes_txrx_stop_req_irq(struct fjes_adapter *adapter,
drivers/net/fjes/fjes_main.c
291
struct fjes_hw *hw = &adapter->hw;
drivers/net/fjes/fjes_main.c
310
set_bit(src_epid, &adapter->unshare_watch_bitmask);
drivers/net/fjes/fjes_main.c
312
if (!work_pending(&adapter->unshare_watch_task))
drivers/net/fjes/fjes_main.c
313
queue_work(adapter->control_wq,
drivers/net/fjes/fjes_main.c
314
&adapter->unshare_watch_task);
drivers/net/fjes/fjes_main.c
322
queue_work(adapter->control_wq,
drivers/net/fjes/fjes_main.c
330
static void fjes_update_zone_irq(struct fjes_adapter *adapter,
drivers/net/fjes/fjes_main.c
333
struct fjes_hw *hw = &adapter->hw;
drivers/net/fjes/fjes_main.c
336
queue_work(adapter->control_wq, &hw->update_zone_task);
drivers/net/fjes/fjes_main.c
341
struct fjes_adapter *adapter = data;
drivers/net/fjes/fjes_main.c
342
struct fjes_hw *hw = &adapter->hw;
drivers/net/fjes/fjes_main.c
350
fjes_rx_irq(adapter, icr & REG_IS_MASK_EPID);
drivers/net/fjes/fjes_main.c
356
fjes_stop_req_irq(adapter, icr & REG_IS_MASK_EPID);
drivers/net/fjes/fjes_main.c
362
fjes_txrx_stop_req_irq(adapter, icr & REG_IS_MASK_EPID);
drivers/net/fjes/fjes_main.c
372
fjes_update_zone_irq(adapter, icr & REG_IS_MASK_EPID);
drivers/net/fjes/fjes_main.c
385
static int fjes_request_irq(struct fjes_adapter *adapter)
drivers/net/fjes/fjes_main.c
387
struct net_device *netdev = adapter->netdev;
drivers/net/fjes/fjes_main.c
390
adapter->interrupt_watch_enable = true;
drivers/net/fjes/fjes_main.c
391
if (!delayed_work_pending(&adapter->interrupt_watch_task)) {
drivers/net/fjes/fjes_main.c
392
queue_delayed_work(adapter->control_wq,
drivers/net/fjes/fjes_main.c
393
&adapter->interrupt_watch_task,
drivers/net/fjes/fjes_main.c
397
if (!adapter->irq_registered) {
drivers/net/fjes/fjes_main.c
398
result = request_irq(adapter->hw.hw_res.irq, fjes_intr,
drivers/net/fjes/fjes_main.c
399
IRQF_SHARED, netdev->name, adapter);
drivers/net/fjes/fjes_main.c
401
adapter->irq_registered = false;
drivers/net/fjes/fjes_main.c
403
adapter->irq_registered = true;
drivers/net/fjes/fjes_main.c
409
static void fjes_free_irq(struct fjes_adapter *adapter)
drivers/net/fjes/fjes_main.c
411
struct fjes_hw *hw = &adapter->hw;
drivers/net/fjes/fjes_main.c
413
adapter->interrupt_watch_enable = false;
drivers/net/fjes/fjes_main.c
414
cancel_delayed_work_sync(&adapter->interrupt_watch_task);
drivers/net/fjes/fjes_main.c
418
if (adapter->irq_registered) {
drivers/net/fjes/fjes_main.c
419
free_irq(adapter->hw.hw_res.irq, adapter);
drivers/net/fjes/fjes_main.c
420
adapter->irq_registered = false;
drivers/net/fjes/fjes_main.c
424
static void fjes_free_resources(struct fjes_adapter *adapter)
drivers/net/fjes/fjes_main.c
426
struct net_device *netdev = adapter->netdev;
drivers/net/fjes/fjes_main.c
429
struct fjes_hw *hw = &adapter->hw;
drivers/net/fjes/fjes_main.c
458
if (reset_flag || adapter->force_reset) {
drivers/net/fjes/fjes_main.c
461
adapter->force_reset = false;
drivers/net/fjes/fjes_main.c
464
adapter->open_guard = true;
drivers/net/fjes/fjes_main.c
483
struct fjes_adapter *adapter = netdev_priv(netdev);
drivers/net/fjes/fjes_main.c
484
struct fjes_hw *hw = &adapter->hw;
drivers/net/fjes/fjes_main.c
487
if (adapter->open_guard)
drivers/net/fjes/fjes_main.c
490
result = fjes_setup_resources(adapter);
drivers/net/fjes/fjes_main.c
497
napi_enable(&adapter->napi);
drivers/net/fjes/fjes_main.c
501
result = fjes_request_irq(adapter);
drivers/net/fjes/fjes_main.c
513
fjes_free_irq(adapter);
drivers/net/fjes/fjes_main.c
514
napi_disable(&adapter->napi);
drivers/net/fjes/fjes_main.c
517
fjes_free_resources(adapter);
drivers/net/fjes/fjes_main.c
524
struct fjes_adapter *adapter = netdev_priv(netdev);
drivers/net/fjes/fjes_main.c
525
struct fjes_hw *hw = &adapter->hw;
drivers/net/fjes/fjes_main.c
534
napi_disable(&adapter->napi);
drivers/net/fjes/fjes_main.c
543
adapter->hw.ep_shm_info[epidx]
drivers/net/fjes/fjes_main.c
549
fjes_free_irq(adapter);
drivers/net/fjes/fjes_main.c
551
cancel_delayed_work_sync(&adapter->interrupt_watch_task);
drivers/net/fjes/fjes_main.c
552
cancel_work_sync(&adapter->unshare_watch_task);
drivers/net/fjes/fjes_main.c
553
adapter->unshare_watch_bitmask = 0;
drivers/net/fjes/fjes_main.c
554
cancel_work_sync(&adapter->raise_intr_rxdata_task);
drivers/net/fjes/fjes_main.c
555
cancel_work_sync(&adapter->tx_stall_task);
drivers/net/fjes/fjes_main.c
562
fjes_free_resources(adapter);
drivers/net/fjes/fjes_main.c
567
static int fjes_tx_send(struct fjes_adapter *adapter, int dest,
drivers/net/fjes/fjes_main.c
572
retval = fjes_hw_epbuf_tx_pkt_send(&adapter->hw.ep_shm_info[dest].tx,
drivers/net/fjes/fjes_main.c
577
adapter->hw.ep_shm_info[dest].tx.info->v1i.tx_status =
drivers/net/fjes/fjes_main.c
579
if (!work_pending(&adapter->raise_intr_rxdata_task))
drivers/net/fjes/fjes_main.c
580
queue_work(adapter->txrx_wq,
drivers/net/fjes/fjes_main.c
581
&adapter->raise_intr_rxdata_task);
drivers/net/fjes/fjes_main.c
590
struct fjes_adapter *adapter = netdev_priv(netdev);
drivers/net/fjes/fjes_main.c
591
struct fjes_hw *hw = &adapter->hw;
drivers/net/fjes/fjes_main.c
635
adapter->stats64.tx_packets += 1;
drivers/net/fjes/fjes_main.c
637
adapter->stats64.tx_bytes += len;
drivers/net/fjes/fjes_main.c
645
adapter->stats64.tx_packets += 1;
drivers/net/fjes/fjes_main.c
647
adapter->stats64.tx_bytes += len;
drivers/net/fjes/fjes_main.c
662
&adapter->hw.ep_shm_info[dest_epid].rx, 0)) {
drivers/net/fjes/fjes_main.c
664
adapter->stats64.tx_carrier_errors += 1;
drivers/net/fjes/fjes_main.c
672
&adapter->hw.ep_shm_info[dest_epid].rx,
drivers/net/fjes/fjes_main.c
674
adapter->stats64.tx_dropped += 1;
drivers/net/fjes/fjes_main.c
676
adapter->stats64.tx_errors += 1;
drivers/net/fjes/fjes_main.c
684
&adapter->hw.ep_shm_info[dest_epid].rx,
drivers/net/fjes/fjes_main.c
697
if (adapter->tx_retry_count == 0) {
drivers/net/fjes/fjes_main.c
698
adapter->tx_start_jiffies = jiffies;
drivers/net/fjes/fjes_main.c
699
adapter->tx_retry_count = 1;
drivers/net/fjes/fjes_main.c
701
adapter->tx_retry_count++;
drivers/net/fjes/fjes_main.c
704
if (fjes_tx_send(adapter, dest_epid, data, len)) {
drivers/net/fjes/fjes_main.c
709
(long)adapter->tx_start_jiffies) >=
drivers/net/fjes/fjes_main.c
711
adapter->stats64.tx_fifo_errors += 1;
drivers/net/fjes/fjes_main.c
714
adapter->stats64.tx_errors += 1;
drivers/net/fjes/fjes_main.c
725
if (!work_pending(&adapter->tx_stall_task))
drivers/net/fjes/fjes_main.c
726
queue_work(adapter->txrx_wq,
drivers/net/fjes/fjes_main.c
727
&adapter->tx_stall_task);
drivers/net/fjes/fjes_main.c
733
adapter->stats64.tx_packets += 1;
drivers/net/fjes/fjes_main.c
736
adapter->stats64.tx_bytes += len;
drivers/net/fjes/fjes_main.c
741
adapter->tx_retry_count = 0;
drivers/net/fjes/fjes_main.c
750
adapter->stats64.tx_packets += 1;
drivers/net/fjes/fjes_main.c
752
adapter->stats64.tx_bytes += 1;
drivers/net/fjes/fjes_main.c
763
struct fjes_adapter *adapter = netdev_priv(netdev);
drivers/net/fjes/fjes_main.c
765
memcpy(stats, &adapter->stats64, sizeof(struct rtnl_link_stats64));
drivers/net/fjes/fjes_main.c
770
struct fjes_adapter *adapter = netdev_priv(netdev);
drivers/net/fjes/fjes_main.c
772
struct fjes_hw *hw = &adapter->hw;
drivers/net/fjes/fjes_main.c
803
cancel_work_sync(&adapter->tx_stall_task);
drivers/net/fjes/fjes_main.c
804
napi_disable(&adapter->napi);
drivers/net/fjes/fjes_main.c
830
napi_enable(&adapter->napi);
drivers/net/fjes/fjes_main.c
831
napi_schedule(&adapter->napi);
drivers/net/fjes/fjes_main.c
847
struct fjes_adapter *adapter = netdev_priv(netdev);
drivers/net/fjes/fjes_main.c
851
for (epid = 0; epid < adapter->hw.max_epid; epid++) {
drivers/net/fjes/fjes_main.c
852
if (epid == adapter->hw.my_epid)
drivers/net/fjes/fjes_main.c
856
&adapter->hw.ep_shm_info[epid].tx, vid))
drivers/net/fjes/fjes_main.c
858
&adapter->hw.ep_shm_info[epid].tx, vid);
drivers/net/fjes/fjes_main.c
867
struct fjes_adapter *adapter = netdev_priv(netdev);
drivers/net/fjes/fjes_main.c
870
for (epid = 0; epid < adapter->hw.max_epid; epid++) {
drivers/net/fjes/fjes_main.c
871
if (epid == adapter->hw.my_epid)
drivers/net/fjes/fjes_main.c
874
fjes_hw_del_vlan_id(&adapter->hw.ep_shm_info[epid].tx, vid);
drivers/net/fjes/fjes_main.c
905
static int fjes_rxframe_search_exist(struct fjes_adapter *adapter,
drivers/net/fjes/fjes_main.c
908
struct fjes_hw *hw = &adapter->hw;
drivers/net/fjes/fjes_main.c
931
static void *fjes_rxframe_get(struct fjes_adapter *adapter, size_t *psize,
drivers/net/fjes/fjes_main.c
936
*cur_epid = fjes_rxframe_search_exist(adapter, *cur_epid);
drivers/net/fjes/fjes_main.c
942
&adapter->hw.ep_shm_info[*cur_epid].rx, psize);
drivers/net/fjes/fjes_main.c
947
static void fjes_rxframe_release(struct fjes_adapter *adapter, int cur_epid)
drivers/net/fjes/fjes_main.c
949
fjes_hw_epbuf_rx_curpkt_drop(&adapter->hw.ep_shm_info[cur_epid].rx);
drivers/net/fjes/fjes_main.c
954
struct fjes_adapter *adapter =
drivers/net/fjes/fjes_main.c
957
struct fjes_hw *hw = &adapter->hw;
drivers/net/fjes/fjes_main.c
972
adapter->hw.ep_shm_info[epidx]
drivers/net/fjes/fjes_main.c
978
prefetch(&adapter->hw);
drivers/net/fjes/fjes_main.c
979
frame = fjes_rxframe_get(adapter, &frame_len, &cur_epid);
drivers/net/fjes/fjes_main.c
984
adapter->stats64.rx_dropped += 1;
drivers/net/fjes/fjes_main.c
987
adapter->stats64.rx_errors += 1;
drivers/net/fjes/fjes_main.c
999
adapter->stats64.rx_packets += 1;
drivers/net/mctp/mctp-i2c.c
1009
if (m->client->adapter == root) {
drivers/net/mctp/mctp-i2c.c
1034
if (mcli->client->adapter == root) {
drivers/net/mctp/mctp-i2c.c
142
root = mux_root_adapter(client->adapter);
drivers/net/mctp/mctp-i2c.c
148
if (root != client->adapter) {
drivers/net/mctp/mctp-i2c.c
421
i2c_lock_bus(midev->adapter, I2C_LOCK_SEGMENT);
drivers/net/mctp/mctp-i2c.c
436
i2c_unlock_bus(midev->adapter, I2C_LOCK_SEGMENT);
drivers/net/mctp/mctp-i2c.c
451
i2c_unlock_bus(midev->adapter, I2C_LOCK_SEGMENT);
drivers/net/mctp/mctp-i2c.c
506
dev_warn_ratelimited(&midev->adapter->dev,
drivers/net/mctp/mctp-i2c.c
533
rc = __i2c_transfer(midev->adapter, &msg, 1);
drivers/net/mctp/mctp-i2c.c
547
rc = __i2c_transfer(midev->adapter, &msg, 1);
drivers/net/mctp/mctp-i2c.c
560
dev_warn_ratelimited(&midev->adapter->dev,
drivers/net/mctp/mctp-i2c.c
586
i2c_unlock_bus(midev->adapter, I2C_LOCK_SEGMENT);
drivers/net/mctp/mctp-i2c.c
61
struct i2c_adapter *adapter;
drivers/net/mctp/mctp-i2c.c
759
midev->adapter = adap;
drivers/net/mctp/mctp-i2c.c
811
put_device(&midev->adapter->dev);
drivers/net/mctp/mctp-i2c.c
871
if (root != mcli->client->adapter) {
drivers/net/mctp/mctp-i2c.c
874
mcli->client->adapter->name, root->name);
drivers/net/mctp/mctp-i2c.c
930
if (m->adapter == adap) {
drivers/net/mctp/mctp-i2c.c
982
if (mcli->client->adapter != root)
drivers/net/pse-pd/pd692x0.c
1771
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) {
drivers/net/pse-pd/si3474.c
480
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) {
drivers/net/pse-pd/tps23881.c
1439
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) {
drivers/net/vmxnet3/vmxnet3_drv.c
100
!adapter->queuesExtEnabled) {
drivers/net/vmxnet3/vmxnet3_drv.c
101
adapter->shared->devRead.intrConf.intrCtrl |=
drivers/net/vmxnet3/vmxnet3_drv.c
104
adapter->shared->devReadExt.intrConfExt.intrCtrl |=
drivers/net/vmxnet3/vmxnet3_drv.c
1068
struct vmxnet3_adapter *adapter)
drivers/net/vmxnet3/vmxnet3_drv.c
107
for (i = 0; i < adapter->intr.num_intrs; i++)
drivers/net/vmxnet3/vmxnet3_drv.c
1077
netdev_dbg(adapter->netdev,
drivers/net/vmxnet3/vmxnet3_drv.c
108
vmxnet3_disable_intr(adapter, i);
drivers/net/vmxnet3/vmxnet3_drv.c
113
vmxnet3_ack_events(struct vmxnet3_adapter *adapter, u32 events)
drivers/net/vmxnet3/vmxnet3_drv.c
1147
struct vmxnet3_adapter *adapter, struct net_device *netdev)
drivers/net/vmxnet3/vmxnet3_drv.c
115
VMXNET3_WRITE_BAR1_REG(adapter, VMXNET3_REG_ECR, events);
drivers/net/vmxnet3/vmxnet3_drv.c
120
vmxnet3_tq_stopped(struct vmxnet3_tx_queue *tq, struct vmxnet3_adapter *adapter)
drivers/net/vmxnet3/vmxnet3_drv.c
1215
ret = vmxnet3_parse_hdr(skb, tq, &ctx, adapter);
drivers/net/vmxnet3/vmxnet3_drv.c
1244
netdev_dbg(adapter->netdev,
drivers/net/vmxnet3/vmxnet3_drv.c
1246
" next2fill %u\n", adapter->netdev->name,
drivers/net/vmxnet3/vmxnet3_drv.c
1249
vmxnet3_tq_stop(tq, adapter);
drivers/net/vmxnet3/vmxnet3_drv.c
1255
vmxnet3_copy_hdr(skb, tq, &ctx, adapter);
drivers/net/vmxnet3/vmxnet3_drv.c
1258
if (vmxnet3_map_pkt(skb, &ctx, tq, adapter->pdev, adapter))
drivers/net/vmxnet3/vmxnet3_drv.c
127
vmxnet3_tq_start(struct vmxnet3_tx_queue *tq, struct vmxnet3_adapter *adapter)
drivers/net/vmxnet3/vmxnet3_drv.c
1274
if (VMXNET3_VERSION_GE_4(adapter) && skb->encapsulation) {
drivers/net/vmxnet3/vmxnet3_drv.c
1276
if (VMXNET3_VERSION_GE_7(adapter)) {
drivers/net/vmxnet3/vmxnet3_drv.c
1294
if (VMXNET3_VERSION_GE_4(adapter) &&
drivers/net/vmxnet3/vmxnet3_drv.c
1298
if (VMXNET3_VERSION_GE_7(adapter)) {
drivers/net/vmxnet3/vmxnet3_drv.c
130
netif_start_subqueue(adapter->netdev, tq - adapter->tx_queue);
drivers/net/vmxnet3/vmxnet3_drv.c
1328
adapter->latencyConf->sampleRate != 0) {
drivers/net/vmxnet3/vmxnet3_drv.c
1329
if (vmxnet3_apply_timestamp(tq, adapter->latencyConf->sampleRate)) {
drivers/net/vmxnet3/vmxnet3_drv.c
135
vmxnet3_tq_wake(struct vmxnet3_tx_queue *tq, struct vmxnet3_adapter *adapter)
drivers/net/vmxnet3/vmxnet3_drv.c
1351
netdev_dbg(adapter->netdev,
drivers/net/vmxnet3/vmxnet3_drv.c
1361
VMXNET3_WRITE_BAR0_REG(adapter,
drivers/net/vmxnet3/vmxnet3_drv.c
1362
adapter->tx_prod_offset + tq->qid * 8,
drivers/net/vmxnet3/vmxnet3_drv.c
1377
vmxnet3_create_pp(struct vmxnet3_adapter *adapter,
drivers/net/vmxnet3/vmxnet3_drv.c
138
netif_wake_subqueue(adapter->netdev, (tq - adapter->tx_queue));
drivers/net/vmxnet3/vmxnet3_drv.c
1380
bool xdp_prog = vmxnet3_xdp_enabled(adapter);
drivers/net/vmxnet3/vmxnet3_drv.c
1386
.dev = &adapter->pdev->dev,
drivers/net/vmxnet3/vmxnet3_drv.c
1398
err = xdp_rxq_info_reg(&rq->xdp_rxq, adapter->netdev, rq->qid,
drivers/net/vmxnet3/vmxnet3_drv.c
143
vmxnet3_tq_stop(struct vmxnet3_tx_queue *tq, struct vmxnet3_adapter *adapter)
drivers/net/vmxnet3/vmxnet3_drv.c
1437
struct vmxnet3_adapter *adapter = netdev_priv(netdev);
drivers/net/vmxnet3/vmxnet3_drv.c
1439
BUG_ON(skb->queue_mapping > adapter->num_tx_queues);
drivers/net/vmxnet3/vmxnet3_drv.c
1441
&adapter->tx_queue[skb->queue_mapping],
drivers/net/vmxnet3/vmxnet3_drv.c
1442
adapter, netdev);
drivers/net/vmxnet3/vmxnet3_drv.c
1447
vmxnet3_rx_csum(struct vmxnet3_adapter *adapter,
drivers/net/vmxnet3/vmxnet3_drv.c
1451
if (!gdesc->rcd.cnc && adapter->netdev->features & NETIF_F_RXCSUM) {
drivers/net/vmxnet3/vmxnet3_drv.c
147
netif_stop_subqueue(adapter->netdev, (tq - adapter->tx_queue));
drivers/net/vmxnet3/vmxnet3_drv.c
1495
struct vmxnet3_rx_ctx *ctx, struct vmxnet3_adapter *adapter)
drivers/net/vmxnet3/vmxnet3_drv.c
1521
vmxnet3_get_hdr_len(struct vmxnet3_adapter *adapter, struct sk_buff *skb,
drivers/net/vmxnet3/vmxnet3_drv.c
1601
struct vmxnet3_adapter *adapter, int quota)
drivers/net/vmxnet3/vmxnet3_drv.c
1604
adapter->rx_prod_offset, adapter->rx_prod2_offset
drivers/net/vmxnet3/vmxnet3_drv.c
1645
ring_idx = VMXNET3_GET_RING_IDX(adapter, rcd->rqID);
drivers/net/vmxnet3/vmxnet3_drv.c
1655
vmxnet3_rx_error(rq, rcd, ctx, adapter);
drivers/net/vmxnet3/vmxnet3_drv.c
1659
if (rcd->sop && rcd->eop && vmxnet3_xdp_enabled(adapter)) {
drivers/net/vmxnet3/vmxnet3_drv.c
1663
if (VMXNET3_RX_DATA_RING(adapter, rcd->rqID)) {
drivers/net/vmxnet3/vmxnet3_drv.c
1671
act = vmxnet3_process_xdp(adapter, rq, rcd, rbi, rxd,
drivers/net/vmxnet3/vmxnet3_drv.c
1699
netdev_dbg(adapter->netdev,
drivers/net/vmxnet3/vmxnet3_drv.c
1718
VMXNET3_RX_DATA_RING(adapter, rcd->rqID);
drivers/net/vmxnet3/vmxnet3_drv.c
1721
if (rxDataRingUsed && vmxnet3_xdp_enabled(adapter)) {
drivers/net/vmxnet3/vmxnet3_drv.c
1727
act = vmxnet3_process_xdp_small(adapter, rq,
drivers/net/vmxnet3/vmxnet3_drv.c
1739
new_skb = netdev_alloc_skb_ip_align(adapter->netdev,
drivers/net/vmxnet3/vmxnet3_drv.c
1752
if (rxDataRingUsed && adapter->rxdataring_enabled) {
drivers/net/vmxnet3/vmxnet3_drv.c
1765
dma_map_single(&adapter->pdev->dev,
drivers/net/vmxnet3/vmxnet3_drv.c
1768
if (dma_mapping_error(&adapter->pdev->dev,
drivers/net/vmxnet3/vmxnet3_drv.c
1782
dma_unmap_single(&adapter->pdev->dev,
drivers/net/vmxnet3/vmxnet3_drv.c
1797
if (VMXNET3_VERSION_GE_2(adapter) &&
drivers/net/vmxnet3/vmxnet3_drv.c
1842
new_dma_addr = dma_map_page(&adapter->pdev->dev,
drivers/net/vmxnet3/vmxnet3_drv.c
1846
if (dma_mapping_error(&adapter->pdev->dev,
drivers/net/vmxnet3/vmxnet3_drv.c
1856
dma_unmap_page(&adapter->pdev->dev,
drivers/net/vmxnet3/vmxnet3_drv.c
1874
u32 mtu = adapter->netdev->mtu;
drivers/net/vmxnet3/vmxnet3_drv.c
1879
(adapter->netdev->features & NETIF_F_RXHASH)) {
drivers/net/vmxnet3/vmxnet3_drv.c
1902
vmxnet3_rx_csum(adapter, skb,
drivers/net/vmxnet3/vmxnet3_drv.c
1904
skb->protocol = eth_type_trans(skb, adapter->netdev);
drivers/net/vmxnet3/vmxnet3_drv.c
1906
!(adapter->netdev->features & NETIF_F_LRO))
drivers/net/vmxnet3/vmxnet3_drv.c
1919
hlen = vmxnet3_get_hdr_len(adapter, skb,
drivers/net/vmxnet3/vmxnet3_drv.c
1940
if ((adapter->netdev->features & NETIF_F_LRO) &&
drivers/net/vmxnet3/vmxnet3_drv.c
195
vmxnet3_check_link(struct vmxnet3_adapter *adapter, bool affectTxQueue)
drivers/net/vmxnet3/vmxnet3_drv.c
1970
if (!(adapter->dev_caps[0] & (1UL << VMXNET3_CAP_OOORX_COMP)))
drivers/net/vmxnet3/vmxnet3_drv.c
2001
VMXNET3_WRITE_BAR0_REG(adapter,
drivers/net/vmxnet3/vmxnet3_drv.c
201
spin_lock_irqsave(&adapter->cmd_lock, flags);
drivers/net/vmxnet3/vmxnet3_drv.c
2019
struct vmxnet3_adapter *adapter)
drivers/net/vmxnet3/vmxnet3_drv.c
202
VMXNET3_WRITE_BAR1_REG(adapter, VMXNET3_REG_CMD, VMXNET3_CMD_GET_LINK);
drivers/net/vmxnet3/vmxnet3_drv.c
203
ret = VMXNET3_READ_BAR1_REG(adapter, VMXNET3_REG_CMD);
drivers/net/vmxnet3/vmxnet3_drv.c
204
spin_unlock_irqrestore(&adapter->cmd_lock, flags);
drivers/net/vmxnet3/vmxnet3_drv.c
2046
dma_unmap_single(&adapter->pdev->dev, rxd->addr,
drivers/net/vmxnet3/vmxnet3_drv.c
2052
dma_unmap_page(&adapter->pdev->dev, rxd->addr,
drivers/net/vmxnet3/vmxnet3_drv.c
206
adapter->link_speed = ret >> 16;
drivers/net/vmxnet3/vmxnet3_drv.c
2075
vmxnet3_rq_cleanup_all(struct vmxnet3_adapter *adapter)
drivers/net/vmxnet3/vmxnet3_drv.c
2079
for (i = 0; i < adapter->num_rx_queues; i++)
drivers/net/vmxnet3/vmxnet3_drv.c
2080
vmxnet3_rq_cleanup(&adapter->rx_queue[i], adapter);
drivers/net/vmxnet3/vmxnet3_drv.c
2081
rcu_assign_pointer(adapter->xdp_bpf_prog, NULL);
drivers/net/vmxnet3/vmxnet3_drv.c
2086
struct vmxnet3_adapter *adapter)
drivers/net/vmxnet3/vmxnet3_drv.c
2102
dma_free_coherent(&adapter->pdev->dev,
drivers/net/vmxnet3/vmxnet3_drv.c
2112
dma_free_coherent(&adapter->pdev->dev,
drivers/net/vmxnet3/vmxnet3_drv.c
2119
dma_free_coherent(&adapter->pdev->dev,
drivers/net/vmxnet3/vmxnet3_drv.c
2126
dma_free_coherent(&adapter->pdev->dev, rq->comp_ring.size
drivers/net/vmxnet3/vmxnet3_drv.c
213
if (VMXNET3_VERSION_GE_9(adapter) &&
drivers/net/vmxnet3/vmxnet3_drv.c
2138
vmxnet3_rq_destroy_all_rxdataring(struct vmxnet3_adapter *adapter)
drivers/net/vmxnet3/vmxnet3_drv.c
214
adapter->link_speed < 10000)
drivers/net/vmxnet3/vmxnet3_drv.c
2142
for (i = 0; i < adapter->num_rx_queues; i++) {
drivers/net/vmxnet3/vmxnet3_drv.c
2143
struct vmxnet3_rx_queue *rq = &adapter->rx_queue[i];
drivers/net/vmxnet3/vmxnet3_drv.c
2146
dma_free_coherent(&adapter->pdev->dev,
drivers/net/vmxnet3/vmxnet3_drv.c
215
adapter->link_speed = adapter->link_speed * 1000;
drivers/net/vmxnet3/vmxnet3_drv.c
2159
struct vmxnet3_adapter *adapter)
drivers/net/vmxnet3/vmxnet3_drv.c
216
netdev_info(adapter->netdev, "NIC Link is Up %d Mbps\n",
drivers/net/vmxnet3/vmxnet3_drv.c
2167
if (i % adapter->rx_buf_per_pkt == 0) {
drivers/net/vmxnet3/vmxnet3_drv.c
2168
rq->buf_info[0][i].buf_type = vmxnet3_xdp_enabled(adapter) ?
drivers/net/vmxnet3/vmxnet3_drv.c
217
adapter->link_speed);
drivers/net/vmxnet3/vmxnet3_drv.c
2171
rq->buf_info[0][i].len = adapter->skb_buf_size;
drivers/net/vmxnet3/vmxnet3_drv.c
218
netif_carrier_on(adapter->netdev);
drivers/net/vmxnet3/vmxnet3_drv.c
2192
err = vmxnet3_create_pp(adapter, rq,
drivers/net/vmxnet3/vmxnet3_drv.c
2198
adapter) == 0) {
drivers/net/vmxnet3/vmxnet3_drv.c
2206
vmxnet3_rq_alloc_rx_buf(rq, 1, rq->rx_ring[1].size - 1, adapter);
drivers/net/vmxnet3/vmxnet3_drv.c
221
for (i = 0; i < adapter->num_tx_queues; i++)
drivers/net/vmxnet3/vmxnet3_drv.c
222
vmxnet3_tq_start(&adapter->tx_queue[i],
drivers/net/vmxnet3/vmxnet3_drv.c
2227
vmxnet3_rq_init_all(struct vmxnet3_adapter *adapter)
drivers/net/vmxnet3/vmxnet3_drv.c
223
adapter);
drivers/net/vmxnet3/vmxnet3_drv.c
2231
for (i = 0; i < adapter->num_rx_queues; i++) {
drivers/net/vmxnet3/vmxnet3_drv.c
2232
err = vmxnet3_rq_init(&adapter->rx_queue[i], adapter);
drivers/net/vmxnet3/vmxnet3_drv.c
2234
dev_err(&adapter->netdev->dev, "%s: failed to "
drivers/net/vmxnet3/vmxnet3_drv.c
2236
adapter->netdev->name, i);
drivers/net/vmxnet3/vmxnet3_drv.c
2246
vmxnet3_rq_create(struct vmxnet3_rx_queue *rq, struct vmxnet3_adapter *adapter)
drivers/net/vmxnet3/vmxnet3_drv.c
2256
&adapter->pdev->dev, sz,
drivers/net/vmxnet3/vmxnet3_drv.c
226
netdev_info(adapter->netdev, "NIC Link is Down\n");
drivers/net/vmxnet3/vmxnet3_drv.c
2260
netdev_err(adapter->netdev,
drivers/net/vmxnet3/vmxnet3_drv.c
2266
if ((adapter->rxdataring_enabled) && (rq->data_ring.desc_size != 0)) {
drivers/net/vmxnet3/vmxnet3_drv.c
2269
dma_alloc_coherent(&adapter->pdev->dev, sz,
drivers/net/vmxnet3/vmxnet3_drv.c
227
netif_carrier_off(adapter->netdev);
drivers/net/vmxnet3/vmxnet3_drv.c
2273
netdev_err(adapter->netdev,
drivers/net/vmxnet3/vmxnet3_drv.c
2275
adapter->rxdataring_enabled = false;
drivers/net/vmxnet3/vmxnet3_drv.c
2285
dma_alloc_coherent(&adapter->pdev->dev, sz,
drivers/net/vmxnet3/vmxnet3_drv.c
2289
netdev_err(adapter->netdev,
drivers/net/vmxnet3/vmxnet3_drv.c
2298
rq->comp_ring.base = dma_alloc_coherent(&adapter->pdev->dev, sz,
drivers/net/vmxnet3/vmxnet3_drv.c
230
for (i = 0; i < adapter->num_tx_queues; i++)
drivers/net/vmxnet3/vmxnet3_drv.c
2302
netdev_err(adapter->netdev, "failed to allocate rx comp ring\n");
drivers/net/vmxnet3/vmxnet3_drv.c
2308
dev_to_node(&adapter->pdev->dev));
drivers/net/vmxnet3/vmxnet3_drv.c
231
vmxnet3_tq_stop(&adapter->tx_queue[i], adapter);
drivers/net/vmxnet3/vmxnet3_drv.c
2318
vmxnet3_rq_destroy(rq, adapter);
drivers/net/vmxnet3/vmxnet3_drv.c
2324
vmxnet3_rq_create_all(struct vmxnet3_adapter *adapter)
drivers/net/vmxnet3/vmxnet3_drv.c
2328
adapter->rxdataring_enabled = VMXNET3_VERSION_GE_3(adapter);
drivers/net/vmxnet3/vmxnet3_drv.c
2330
for (i = 0; i < adapter->num_rx_queues; i++) {
drivers/net/vmxnet3/vmxnet3_drv.c
2331
err = vmxnet3_rq_create(&adapter->rx_queue[i], adapter);
drivers/net/vmxnet3/vmxnet3_drv.c
2333
dev_err(&adapter->netdev->dev,
drivers/net/vmxnet3/vmxnet3_drv.c
2335
adapter->netdev->name, i);
drivers/net/vmxnet3/vmxnet3_drv.c
2340
if (!adapter->rxdataring_enabled)
drivers/net/vmxnet3/vmxnet3_drv.c
2341
vmxnet3_rq_destroy_all_rxdataring(adapter);
drivers/net/vmxnet3/vmxnet3_drv.c
2345
vmxnet3_rq_destroy_all(adapter);
drivers/net/vmxnet3/vmxnet3_drv.c
2353
vmxnet3_do_poll(struct vmxnet3_adapter *adapter, int budget)
drivers/net/vmxnet3/vmxnet3_drv.c
2356
if (unlikely(adapter->shared->ecr))
drivers/net/vmxnet3/vmxnet3_drv.c
2357
vmxnet3_process_events(adapter);
drivers/net/vmxnet3/vmxnet3_drv.c
2358
for (i = 0; i < adapter->num_tx_queues; i++)
drivers/net/vmxnet3/vmxnet3_drv.c
2359
vmxnet3_tq_tx_complete(&adapter->tx_queue[i], adapter);
drivers/net/vmxnet3/vmxnet3_drv.c
2361
for (i = 0; i < adapter->num_rx_queues; i++)
drivers/net/vmxnet3/vmxnet3_drv.c
2362
rcd_done += vmxnet3_rq_rx_complete(&adapter->rx_queue[i],
drivers/net/vmxnet3/vmxnet3_drv.c
2363
adapter, budget);
drivers/net/vmxnet3/vmxnet3_drv.c
237
vmxnet3_process_events(struct vmxnet3_adapter *adapter)
drivers/net/vmxnet3/vmxnet3_drv.c
2375
rxd_done = vmxnet3_do_poll(rx_queue->adapter, budget);
drivers/net/vmxnet3/vmxnet3_drv.c
2379
vmxnet3_enable_all_intrs(rx_queue->adapter);
drivers/net/vmxnet3/vmxnet3_drv.c
2394
struct vmxnet3_adapter *adapter = rq->adapter;
drivers/net/vmxnet3/vmxnet3_drv.c
2400
if (adapter->share_intr == VMXNET3_INTR_BUDDYSHARE) {
drivers/net/vmxnet3/vmxnet3_drv.c
2402
&adapter->tx_queue[rq - adapter->rx_queue];
drivers/net/vmxnet3/vmxnet3_drv.c
2403
vmxnet3_tq_tx_complete(tq, adapter);
drivers/net/vmxnet3/vmxnet3_drv.c
2406
rxd_done = vmxnet3_rq_rx_complete(rq, adapter, budget);
drivers/net/vmxnet3/vmxnet3_drv.c
241
u32 events = le32_to_cpu(adapter->shared->ecr);
drivers/net/vmxnet3/vmxnet3_drv.c
2410
vmxnet3_enable_intr(adapter, rq->comp_ring.intr_idx);
drivers/net/vmxnet3/vmxnet3_drv.c
2427
struct vmxnet3_adapter *adapter = tq->adapter;
drivers/net/vmxnet3/vmxnet3_drv.c
2429
if (adapter->intr.mask_mode == VMXNET3_IMM_ACTIVE)
drivers/net/vmxnet3/vmxnet3_drv.c
2430
vmxnet3_disable_intr(adapter, tq->comp_ring.intr_idx);
drivers/net/vmxnet3/vmxnet3_drv.c
2433
if (adapter->share_intr == VMXNET3_INTR_TXSHARE) {
drivers/net/vmxnet3/vmxnet3_drv.c
2435
for (i = 0; i < adapter->num_tx_queues; i++) {
drivers/net/vmxnet3/vmxnet3_drv.c
2436
struct vmxnet3_tx_queue *txq = &adapter->tx_queue[i];
drivers/net/vmxnet3/vmxnet3_drv.c
2437
vmxnet3_tq_tx_complete(txq, adapter);
drivers/net/vmxnet3/vmxnet3_drv.c
2440
vmxnet3_tq_tx_complete(tq, adapter);
drivers/net/vmxnet3/vmxnet3_drv.c
2442
vmxnet3_enable_intr(adapter, tq->comp_ring.intr_idx);
drivers/net/vmxnet3/vmxnet3_drv.c
245
vmxnet3_ack_events(adapter, events);
drivers/net/vmxnet3/vmxnet3_drv.c
2457
struct vmxnet3_adapter *adapter = rq->adapter;
drivers/net/vmxnet3/vmxnet3_drv.c
2460
if (adapter->intr.mask_mode == VMXNET3_IMM_ACTIVE)
drivers/net/vmxnet3/vmxnet3_drv.c
2461
vmxnet3_disable_intr(adapter, rq->comp_ring.intr_idx);
drivers/net/vmxnet3/vmxnet3_drv.c
2484
struct vmxnet3_adapter *adapter = netdev_priv(dev);
drivers/net/vmxnet3/vmxnet3_drv.c
2487
if (adapter->intr.mask_mode == VMXNET3_IMM_ACTIVE)
drivers/net/vmxnet3/vmxnet3_drv.c
2488
vmxnet3_disable_intr(adapter, adapter->intr.event_intr_idx);
drivers/net/vmxnet3/vmxnet3_drv.c
249
vmxnet3_check_link(adapter, true);
drivers/net/vmxnet3/vmxnet3_drv.c
2490
if (adapter->shared->ecr)
drivers/net/vmxnet3/vmxnet3_drv.c
2491
vmxnet3_process_events(adapter);
drivers/net/vmxnet3/vmxnet3_drv.c
2493
vmxnet3_enable_intr(adapter, adapter->intr.event_intr_idx);
drivers/net/vmxnet3/vmxnet3_drv.c
2506
struct vmxnet3_adapter *adapter = netdev_priv(dev);
drivers/net/vmxnet3/vmxnet3_drv.c
2508
if (adapter->intr.type == VMXNET3_IT_INTX) {
drivers/net/vmxnet3/vmxnet3_drv.c
2509
u32 icr = VMXNET3_READ_BAR1_REG(adapter, VMXNET3_REG_ICR);
drivers/net/vmxnet3/vmxnet3_drv.c
2517
if (adapter->intr.mask_mode == VMXNET3_IMM_ACTIVE)
drivers/net/vmxnet3/vmxnet3_drv.c
2518
vmxnet3_disable_all_intrs(adapter);
drivers/net/vmxnet3/vmxnet3_drv.c
2520
napi_schedule(&adapter->rx_queue[0].napi);
drivers/net/vmxnet3/vmxnet3_drv.c
253
spin_lock_irqsave(&adapter->cmd_lock, flags);
drivers/net/vmxnet3/vmxnet3_drv.c
2531
struct vmxnet3_adapter *adapter = netdev_priv(netdev);
drivers/net/vmxnet3/vmxnet3_drv.c
2533
switch (adapter->intr.type) {
drivers/net/vmxnet3/vmxnet3_drv.c
2537
for (i = 0; i < adapter->num_rx_queues; i++)
drivers/net/vmxnet3/vmxnet3_drv.c
2538
vmxnet3_msix_rx(0, &adapter->rx_queue[i]);
drivers/net/vmxnet3/vmxnet3_drv.c
254
VMXNET3_WRITE_BAR1_REG(adapter, VMXNET3_REG_CMD,
drivers/net/vmxnet3/vmxnet3_drv.c
2544
vmxnet3_intr(0, adapter->netdev);
drivers/net/vmxnet3/vmxnet3_drv.c
2552
vmxnet3_request_irqs(struct vmxnet3_adapter *adapter)
drivers/net/vmxnet3/vmxnet3_drv.c
2554
struct vmxnet3_intr *intr = &adapter->intr;
drivers/net/vmxnet3/vmxnet3_drv.c
2559
if (adapter->intr.type == VMXNET3_IT_MSIX) {
drivers/net/vmxnet3/vmxnet3_drv.c
256
spin_unlock_irqrestore(&adapter->cmd_lock, flags);
drivers/net/vmxnet3/vmxnet3_drv.c
2560
for (i = 0; i < adapter->num_tx_queues; i++) {
drivers/net/vmxnet3/vmxnet3_drv.c
2561
if (adapter->share_intr != VMXNET3_INTR_BUDDYSHARE) {
drivers/net/vmxnet3/vmxnet3_drv.c
2562
sprintf(adapter->tx_queue[i].name, "%s-tx-%d",
drivers/net/vmxnet3/vmxnet3_drv.c
2563
adapter->netdev->name, vector);
drivers/net/vmxnet3/vmxnet3_drv.c
2567
adapter->tx_queue[i].name,
drivers/net/vmxnet3/vmxnet3_drv.c
2568
&adapter->tx_queue[i]);
drivers/net/vmxnet3/vmxnet3_drv.c
2570
sprintf(adapter->tx_queue[i].name, "%s-rxtx-%d",
drivers/net/vmxnet3/vmxnet3_drv.c
2571
adapter->netdev->name, vector);
drivers/net/vmxnet3/vmxnet3_drv.c
2574
dev_err(&adapter->netdev->dev,
drivers/net/vmxnet3/vmxnet3_drv.c
2577
adapter->tx_queue[i].name, err);
drivers/net/vmxnet3/vmxnet3_drv.c
258
for (i = 0; i < adapter->num_tx_queues; i++)
drivers/net/vmxnet3/vmxnet3_drv.c
2583
if (adapter->share_intr == VMXNET3_INTR_TXSHARE) {
drivers/net/vmxnet3/vmxnet3_drv.c
2584
for (; i < adapter->num_tx_queues; i++)
drivers/net/vmxnet3/vmxnet3_drv.c
2585
adapter->tx_queue[i].comp_ring.intr_idx
drivers/net/vmxnet3/vmxnet3_drv.c
259
if (adapter->tqd_start[i].status.stopped)
drivers/net/vmxnet3/vmxnet3_drv.c
2590
adapter->tx_queue[i].comp_ring.intr_idx
drivers/net/vmxnet3/vmxnet3_drv.c
2594
if (adapter->share_intr == VMXNET3_INTR_BUDDYSHARE)
drivers/net/vmxnet3/vmxnet3_drv.c
2597
for (i = 0; i < adapter->num_rx_queues; i++) {
drivers/net/vmxnet3/vmxnet3_drv.c
2598
if (adapter->share_intr != VMXNET3_INTR_BUDDYSHARE)
drivers/net/vmxnet3/vmxnet3_drv.c
2599
sprintf(adapter->rx_queue[i].name, "%s-rx-%d",
drivers/net/vmxnet3/vmxnet3_drv.c
260
dev_err(&adapter->netdev->dev,
drivers/net/vmxnet3/vmxnet3_drv.c
2600
adapter->netdev->name, vector);
drivers/net/vmxnet3/vmxnet3_drv.c
2602
sprintf(adapter->rx_queue[i].name, "%s-rxtx-%d",
drivers/net/vmxnet3/vmxnet3_drv.c
2603
adapter->netdev->name, vector);
drivers/net/vmxnet3/vmxnet3_drv.c
2606
adapter->rx_queue[i].name,
drivers/net/vmxnet3/vmxnet3_drv.c
2607
&(adapter->rx_queue[i]));
drivers/net/vmxnet3/vmxnet3_drv.c
2609
netdev_err(adapter->netdev,
drivers/net/vmxnet3/vmxnet3_drv.c
2612
adapter->rx_queue[i].name, err);
drivers/net/vmxnet3/vmxnet3_drv.c
2616
adapter->rx_queue[i].comp_ring.intr_idx = vector++;
drivers/net/vmxnet3/vmxnet3_drv.c
262
adapter->netdev->name, i, le32_to_cpu(
drivers/net/vmxnet3/vmxnet3_drv.c
2620
adapter->netdev->name, vector);
drivers/net/vmxnet3/vmxnet3_drv.c
2623
intr->event_msi_vector_name, adapter->netdev);
drivers/net/vmxnet3/vmxnet3_drv.c
2627
adapter->num_rx_queues = 1;
drivers/net/vmxnet3/vmxnet3_drv.c
2628
err = request_irq(adapter->pdev->irq, vmxnet3_intr, 0,
drivers/net/vmxnet3/vmxnet3_drv.c
2629
adapter->netdev->name, adapter->netdev);
drivers/net/vmxnet3/vmxnet3_drv.c
263
adapter->tqd_start[i].status.error));
drivers/net/vmxnet3/vmxnet3_drv.c
2632
adapter->num_rx_queues = 1;
drivers/net/vmxnet3/vmxnet3_drv.c
2633
err = request_irq(adapter->pdev->irq, vmxnet3_intr,
drivers/net/vmxnet3/vmxnet3_drv.c
2634
IRQF_SHARED, adapter->netdev->name,
drivers/net/vmxnet3/vmxnet3_drv.c
2635
adapter->netdev);
drivers/net/vmxnet3/vmxnet3_drv.c
264
for (i = 0; i < adapter->num_rx_queues; i++)
drivers/net/vmxnet3/vmxnet3_drv.c
2641
netdev_err(adapter->netdev,
drivers/net/vmxnet3/vmxnet3_drv.c
2646
for (i = 0; i < adapter->num_rx_queues; i++) {
drivers/net/vmxnet3/vmxnet3_drv.c
2647
struct vmxnet3_rx_queue *rq = &adapter->rx_queue[i];
drivers/net/vmxnet3/vmxnet3_drv.c
2649
rq->qid2 = i + adapter->num_rx_queues;
drivers/net/vmxnet3/vmxnet3_drv.c
265
if (adapter->rqd_start[i].status.stopped)
drivers/net/vmxnet3/vmxnet3_drv.c
2650
rq->dataRingQid = i + 2 * adapter->num_rx_queues;
drivers/net/vmxnet3/vmxnet3_drv.c
2656
if (adapter->intr.type != VMXNET3_IT_MSIX) {
drivers/net/vmxnet3/vmxnet3_drv.c
2657
adapter->intr.event_intr_idx = 0;
drivers/net/vmxnet3/vmxnet3_drv.c
2658
for (i = 0; i < adapter->num_tx_queues; i++)
drivers/net/vmxnet3/vmxnet3_drv.c
2659
adapter->tx_queue[i].comp_ring.intr_idx = 0;
drivers/net/vmxnet3/vmxnet3_drv.c
266
dev_err(&adapter->netdev->dev,
drivers/net/vmxnet3/vmxnet3_drv.c
2660
adapter->rx_queue[0].comp_ring.intr_idx = 0;
drivers/net/vmxnet3/vmxnet3_drv.c
2663
netdev_info(adapter->netdev,
drivers/net/vmxnet3/vmxnet3_drv.c
2673
vmxnet3_free_irqs(struct vmxnet3_adapter *adapter)
drivers/net/vmxnet3/vmxnet3_drv.c
2675
struct vmxnet3_intr *intr = &adapter->intr;
drivers/net/vmxnet3/vmxnet3_drv.c
268
adapter->netdev->name, i,
drivers/net/vmxnet3/vmxnet3_drv.c
2684
if (adapter->share_intr != VMXNET3_INTR_BUDDYSHARE) {
drivers/net/vmxnet3/vmxnet3_drv.c
2685
for (i = 0; i < adapter->num_tx_queues; i++) {
drivers/net/vmxnet3/vmxnet3_drv.c
2687
&(adapter->tx_queue[i]));
drivers/net/vmxnet3/vmxnet3_drv.c
2688
if (adapter->share_intr == VMXNET3_INTR_TXSHARE)
drivers/net/vmxnet3/vmxnet3_drv.c
269
adapter->rqd_start[i].status.error);
drivers/net/vmxnet3/vmxnet3_drv.c
2693
for (i = 0; i < adapter->num_rx_queues; i++) {
drivers/net/vmxnet3/vmxnet3_drv.c
2695
&(adapter->rx_queue[i]));
drivers/net/vmxnet3/vmxnet3_drv.c
2699
adapter->netdev);
drivers/net/vmxnet3/vmxnet3_drv.c
2705
free_irq(adapter->pdev->irq, adapter->netdev);
drivers/net/vmxnet3/vmxnet3_drv.c
2708
free_irq(adapter->pdev->irq, adapter->netdev);
drivers/net/vmxnet3/vmxnet3_drv.c
271
schedule_work(&adapter->work);
drivers/net/vmxnet3/vmxnet3_drv.c
2717
vmxnet3_restore_vlan(struct vmxnet3_adapter *adapter)
drivers/net/vmxnet3/vmxnet3_drv.c
2719
u32 *vfTable = adapter->shared->devRead.rxFilterConf.vfTable;
drivers/net/vmxnet3/vmxnet3_drv.c
2725
for_each_set_bit(vid, adapter->active_vlans, VLAN_N_VID)
drivers/net/vmxnet3/vmxnet3_drv.c
2733
struct vmxnet3_adapter *adapter = netdev_priv(netdev);
drivers/net/vmxnet3/vmxnet3_drv.c
2736
u32 *vfTable = adapter->shared->devRead.rxFilterConf.vfTable;
drivers/net/vmxnet3/vmxnet3_drv.c
2740
spin_lock_irqsave(&adapter->cmd_lock, flags);
drivers/net/vmxnet3/vmxnet3_drv.c
2741
VMXNET3_WRITE_BAR1_REG(adapter, VMXNET3_REG_CMD,
drivers/net/vmxnet3/vmxnet3_drv.c
2743
spin_unlock_irqrestore(&adapter->cmd_lock, flags);
drivers/net/vmxnet3/vmxnet3_drv.c
2746
set_bit(vid, adapter->active_vlans);
drivers/net/vmxnet3/vmxnet3_drv.c
2755
struct vmxnet3_adapter *adapter = netdev_priv(netdev);
drivers/net/vmxnet3/vmxnet3_drv.c
2758
u32 *vfTable = adapter->shared->devRead.rxFilterConf.vfTable;
drivers/net/vmxnet3/vmxnet3_drv.c
2762
spin_lock_irqsave(&adapter->cmd_lock, flags);
drivers/net/vmxnet3/vmxnet3_drv.c
2763
VMXNET3_WRITE_BAR1_REG(adapter, VMXNET3_REG_CMD,
drivers/net/vmxnet3/vmxnet3_drv.c
2765
spin_unlock_irqrestore(&adapter->cmd_lock, flags);
drivers/net/vmxnet3/vmxnet3_drv.c
2768
clear_bit(vid, adapter->active_vlans);
drivers/net/vmxnet3/vmxnet3_drv.c
2800
struct vmxnet3_adapter *adapter = netdev_priv(netdev);
drivers/net/vmxnet3/vmxnet3_drv.c
2803
&adapter->shared->devRead.rxFilterConf;
drivers/net/vmxnet3/vmxnet3_drv.c
2810
u32 *vfTable = adapter->shared->devRead.rxFilterConf.vfTable;
drivers/net/vmxnet3/vmxnet3_drv.c
2815
vmxnet3_restore_vlan(adapter);
drivers/net/vmxnet3/vmxnet3_drv.c
2831
&adapter->pdev->dev,
drivers/net/vmxnet3/vmxnet3_drv.c
2835
if (!dma_mapping_error(&adapter->pdev->dev,
drivers/net/vmxnet3/vmxnet3_drv.c
2855
spin_lock_irqsave(&adapter->cmd_lock, flags);
drivers/net/vmxnet3/vmxnet3_drv.c
2858
VMXNET3_WRITE_BAR1_REG(adapter, VMXNET3_REG_CMD,
drivers/net/vmxnet3/vmxnet3_drv.c
2860
VMXNET3_WRITE_BAR1_REG(adapter, VMXNET3_REG_CMD,
drivers/net/vmxnet3/vmxnet3_drv.c
2864
VMXNET3_WRITE_BAR1_REG(adapter, VMXNET3_REG_CMD,
drivers/net/vmxnet3/vmxnet3_drv.c
2866
spin_unlock_irqrestore(&adapter->cmd_lock, flags);
drivers/net/vmxnet3/vmxnet3_drv.c
2869
dma_unmap_single(&adapter->pdev->dev, new_table_pa,
drivers/net/vmxnet3/vmxnet3_drv.c
2875
vmxnet3_rq_destroy_all(struct vmxnet3_adapter *adapter)
drivers/net/vmxnet3/vmxnet3_drv.c
2879
for (i = 0; i < adapter->num_rx_queues; i++)
drivers/net/vmxnet3/vmxnet3_drv.c
2880
vmxnet3_rq_destroy(&adapter->rx_queue[i], adapter);
drivers/net/vmxnet3/vmxnet3_drv.c
2889
vmxnet3_setup_driver_shared(struct vmxnet3_adapter *adapter)
drivers/net/vmxnet3/vmxnet3_drv.c
2891
struct Vmxnet3_DriverShared *shared = adapter->shared;
drivers/net/vmxnet3/vmxnet3_drv.c
2914
devRead->misc.ddPA = cpu_to_le64(adapter->adapter_pa);
drivers/net/vmxnet3/vmxnet3_drv.c
2918
if (adapter->netdev->features & NETIF_F_RXCSUM)
drivers/net/vmxnet3/vmxnet3_drv.c
2921
if (adapter->netdev->features & NETIF_F_LRO) {
drivers/net/vmxnet3/vmxnet3_drv.c
2925
if (adapter->netdev->features & NETIF_F_HW_VLAN_CTAG_RX)
drivers/net/vmxnet3/vmxnet3_drv.c
2928
if (adapter->netdev->features & (NETIF_F_GSO_UDP_TUNNEL |
drivers/net/vmxnet3/vmxnet3_drv.c
2932
devRead->misc.mtu = cpu_to_le32(adapter->netdev->mtu);
drivers/net/vmxnet3/vmxnet3_drv.c
2933
devRead->misc.queueDescPA = cpu_to_le64(adapter->queue_desc_pa);
drivers/net/vmxnet3/vmxnet3_drv.c
2935
adapter->num_tx_queues * sizeof(struct Vmxnet3_TxQueueDesc) +
drivers/net/vmxnet3/vmxnet3_drv.c
2936
adapter->num_rx_queues * sizeof(struct Vmxnet3_RxQueueDesc));
drivers/net/vmxnet3/vmxnet3_drv.c
2939
devRead->misc.numTxQueues = adapter->num_tx_queues;
drivers/net/vmxnet3/vmxnet3_drv.c
2940
for (i = 0; i < adapter->num_tx_queues; i++) {
drivers/net/vmxnet3/vmxnet3_drv.c
2941
struct vmxnet3_tx_queue *tq = &adapter->tx_queue[i];
drivers/net/vmxnet3/vmxnet3_drv.c
2942
BUG_ON(adapter->tx_queue[i].tx_ring.base == NULL);
drivers/net/vmxnet3/vmxnet3_drv.c
2943
tqc = &adapter->tqd_start[i].conf;
drivers/net/vmxnet3/vmxnet3_drv.c
2954
if (VMXNET3_VERSION_GE_9(adapter)) {
drivers/net/vmxnet3/vmxnet3_drv.c
2955
tqtsc = &adapter->tqd_start[i].tsConf;
drivers/net/vmxnet3/vmxnet3_drv.c
2962
devRead->misc.numRxQueues = adapter->num_rx_queues;
drivers/net/vmxnet3/vmxnet3_drv.c
2963
for (i = 0; i < adapter->num_rx_queues; i++) {
drivers/net/vmxnet3/vmxnet3_drv.c
2964
struct vmxnet3_rx_queue *rq = &adapter->rx_queue[i];
drivers/net/vmxnet3/vmxnet3_drv.c
2965
rqc = &adapter->rqd_start[i].conf;
drivers/net/vmxnet3/vmxnet3_drv.c
2975
if (VMXNET3_VERSION_GE_3(adapter)) {
drivers/net/vmxnet3/vmxnet3_drv.c
2981
if (VMXNET3_VERSION_GE_9(adapter)) {
drivers/net/vmxnet3/vmxnet3_drv.c
2982
rqtsc = &adapter->rqd_start[i].tsConf;
drivers/net/vmxnet3/vmxnet3_drv.c
2989
memset(adapter->rss_conf, 0, sizeof(*adapter->rss_conf));
drivers/net/vmxnet3/vmxnet3_drv.c
2991
if (adapter->rss) {
drivers/net/vmxnet3/vmxnet3_drv.c
2992
struct UPT1_RSSConf *rssConf = adapter->rss_conf;
drivers/net/vmxnet3/vmxnet3_drv.c
2995
devRead->misc.numRxQueues = adapter->num_rx_queues;
drivers/net/vmxnet3/vmxnet3_drv.c
3007
i, adapter->num_rx_queues);
drivers/net/vmxnet3/vmxnet3_drv.c
3012
cpu_to_le64(adapter->rss_conf_pa);
drivers/net/vmxnet3/vmxnet3_drv.c
3018
if (!VMXNET3_VERSION_GE_6(adapter) ||
drivers/net/vmxnet3/vmxnet3_drv.c
3019
!adapter->queuesExtEnabled) {
drivers/net/vmxnet3/vmxnet3_drv.c
3020
devRead->intrConf.autoMask = adapter->intr.mask_mode ==
drivers/net/vmxnet3/vmxnet3_drv.c
3022
devRead->intrConf.numIntrs = adapter->intr.num_intrs;
drivers/net/vmxnet3/vmxnet3_drv.c
3023
for (i = 0; i < adapter->intr.num_intrs; i++)
drivers/net/vmxnet3/vmxnet3_drv.c
3024
devRead->intrConf.modLevels[i] = adapter->intr.mod_levels[i];
drivers/net/vmxnet3/vmxnet3_drv.c
3026
devRead->intrConf.eventIntrIdx = adapter->intr.event_intr_idx;
drivers/net/vmxnet3/vmxnet3_drv.c
3029
devReadExt->intrConfExt.autoMask = adapter->intr.mask_mode ==
drivers/net/vmxnet3/vmxnet3_drv.c
3031
devReadExt->intrConfExt.numIntrs = adapter->intr.num_intrs;
drivers/net/vmxnet3/vmxnet3_drv.c
3032
for (i = 0; i < adapter->intr.num_intrs; i++)
drivers/net/vmxnet3/vmxnet3_drv.c
3033
devReadExt->intrConfExt.modLevels[i] = adapter->intr.mod_levels[i];
drivers/net/vmxnet3/vmxnet3_drv.c
3035
devReadExt->intrConfExt.eventIntrIdx = adapter->intr.event_intr_idx;
drivers/net/vmxnet3/vmxnet3_drv.c
3041
vmxnet3_restore_vlan(adapter);
drivers/net/vmxnet3/vmxnet3_drv.c
3042
vmxnet3_write_mac_addr(adapter, adapter->netdev->dev_addr);
drivers/net/vmxnet3/vmxnet3_drv.c
3048
vmxnet3_init_bufsize(struct vmxnet3_adapter *adapter)
drivers/net/vmxnet3/vmxnet3_drv.c
3050
struct Vmxnet3_DriverShared *shared = adapter->shared;
drivers/net/vmxnet3/vmxnet3_drv.c
3054
if (!VMXNET3_VERSION_GE_7(adapter))
drivers/net/vmxnet3/vmxnet3_drv.c
3057
cmdInfo->ringBufSize = adapter->ringBufSize;
drivers/net/vmxnet3/vmxnet3_drv.c
3058
spin_lock_irqsave(&adapter->cmd_lock, flags);
drivers/net/vmxnet3/vmxnet3_drv.c
3059
VMXNET3_WRITE_BAR1_REG(adapter, VMXNET3_REG_CMD,
drivers/net/vmxnet3/vmxnet3_drv.c
3061
spin_unlock_irqrestore(&adapter->cmd_lock, flags);
drivers/net/vmxnet3/vmxnet3_drv.c
3065
vmxnet3_init_coalesce(struct vmxnet3_adapter *adapter)
drivers/net/vmxnet3/vmxnet3_drv.c
3067
struct Vmxnet3_DriverShared *shared = adapter->shared;
drivers/net/vmxnet3/vmxnet3_drv.c
3071
if (!VMXNET3_VERSION_GE_3(adapter))
drivers/net/vmxnet3/vmxnet3_drv.c
3074
spin_lock_irqsave(&adapter->cmd_lock, flags);
drivers/net/vmxnet3/vmxnet3_drv.c
3077
cpu_to_le32(sizeof(*adapter->coal_conf));
drivers/net/vmxnet3/vmxnet3_drv.c
3078
cmdInfo->varConf.confPA = cpu_to_le64(adapter->coal_conf_pa);
drivers/net/vmxnet3/vmxnet3_drv.c
3080
if (adapter->default_coal_mode) {
drivers/net/vmxnet3/vmxnet3_drv.c
3081
VMXNET3_WRITE_BAR1_REG(adapter, VMXNET3_REG_CMD,
drivers/net/vmxnet3/vmxnet3_drv.c
3084
VMXNET3_WRITE_BAR1_REG(adapter, VMXNET3_REG_CMD,
drivers/net/vmxnet3/vmxnet3_drv.c
3088
spin_unlock_irqrestore(&adapter->cmd_lock, flags);
drivers/net/vmxnet3/vmxnet3_drv.c
3092
vmxnet3_init_rssfields(struct vmxnet3_adapter *adapter)
drivers/net/vmxnet3/vmxnet3_drv.c
3094
struct Vmxnet3_DriverShared *shared = adapter->shared;
drivers/net/vmxnet3/vmxnet3_drv.c
3098
if (!VMXNET3_VERSION_GE_4(adapter))
drivers/net/vmxnet3/vmxnet3_drv.c
3101
spin_lock_irqsave(&adapter->cmd_lock, flags);
drivers/net/vmxnet3/vmxnet3_drv.c
3103
if (adapter->default_rss_fields) {
drivers/net/vmxnet3/vmxnet3_drv.c
3104
VMXNET3_WRITE_BAR1_REG(adapter, VMXNET3_REG_CMD,
drivers/net/vmxnet3/vmxnet3_drv.c
3106
adapter->rss_fields =
drivers/net/vmxnet3/vmxnet3_drv.c
3107
VMXNET3_READ_BAR1_REG(adapter, VMXNET3_REG_CMD);
drivers/net/vmxnet3/vmxnet3_drv.c
3109
if (VMXNET3_VERSION_GE_7(adapter)) {
drivers/net/vmxnet3/vmxnet3_drv.c
3110
if ((adapter->rss_fields & VMXNET3_RSS_FIELDS_UDPIP4 ||
drivers/net/vmxnet3/vmxnet3_drv.c
3111
adapter->rss_fields & VMXNET3_RSS_FIELDS_UDPIP6) &&
drivers/net/vmxnet3/vmxnet3_drv.c
3112
vmxnet3_check_ptcapability(adapter->ptcap_supported[0],
drivers/net/vmxnet3/vmxnet3_drv.c
3114
adapter->dev_caps[0] |= 1UL << VMXNET3_CAP_UDP_RSS;
drivers/net/vmxnet3/vmxnet3_drv.c
3116
adapter->dev_caps[0] &= ~(1UL << VMXNET3_CAP_UDP_RSS);
drivers/net/vmxnet3/vmxnet3_drv.c
3119
if ((adapter->rss_fields & VMXNET3_RSS_FIELDS_ESPIP4) &&
drivers/net/vmxnet3/vmxnet3_drv.c
3120
vmxnet3_check_ptcapability(adapter->ptcap_supported[0],
drivers/net/vmxnet3/vmxnet3_drv.c
3122
adapter->dev_caps[0] |= 1UL << VMXNET3_CAP_ESP_RSS_IPV4;
drivers/net/vmxnet3/vmxnet3_drv.c
3124
adapter->dev_caps[0] &= ~(1UL << VMXNET3_CAP_ESP_RSS_IPV4);
drivers/net/vmxnet3/vmxnet3_drv.c
3127
if ((adapter->rss_fields & VMXNET3_RSS_FIELDS_ESPIP6) &&
drivers/net/vmxnet3/vmxnet3_drv.c
3128
vmxnet3_check_ptcapability(adapter->ptcap_supported[0],
drivers/net/vmxnet3/vmxnet3_drv.c
3130
adapter->dev_caps[0] |= 1UL << VMXNET3_CAP_ESP_RSS_IPV6;
drivers/net/vmxnet3/vmxnet3_drv.c
3132
adapter->dev_caps[0] &= ~(1UL << VMXNET3_CAP_ESP_RSS_IPV6);
drivers/net/vmxnet3/vmxnet3_drv.c
3135
VMXNET3_WRITE_BAR1_REG(adapter, VMXNET3_REG_DCR, adapter->dev_caps[0]);
drivers/net/vmxnet3/vmxnet3_drv.c
3136
VMXNET3_WRITE_BAR1_REG(adapter, VMXNET3_REG_CMD, VMXNET3_CMD_GET_DCR0_REG);
drivers/net/vmxnet3/vmxnet3_drv.c
3137
adapter->dev_caps[0] = VMXNET3_READ_BAR1_REG(adapter, VMXNET3_REG_CMD);
drivers/net/vmxnet3/vmxnet3_drv.c
3139
cmdInfo->setRssFields = adapter->rss_fields;
drivers/net/vmxnet3/vmxnet3_drv.c
3140
VMXNET3_WRITE_BAR1_REG(adapter, VMXNET3_REG_CMD,
drivers/net/vmxnet3/vmxnet3_drv.c
3145
VMXNET3_WRITE_BAR1_REG(adapter, VMXNET3_REG_CMD,
drivers/net/vmxnet3/vmxnet3_drv.c
3147
adapter->rss_fields =
drivers/net/vmxnet3/vmxnet3_drv.c
3148
VMXNET3_READ_BAR1_REG(adapter, VMXNET3_REG_CMD);
drivers/net/vmxnet3/vmxnet3_drv.c
3151
spin_unlock_irqrestore(&adapter->cmd_lock, flags);
drivers/net/vmxnet3/vmxnet3_drv.c
3155
vmxnet3_activate_dev(struct vmxnet3_adapter *adapter)
drivers/net/vmxnet3/vmxnet3_drv.c
3161
netdev_dbg(adapter->netdev, "%s: skb_buf_size %d, rx_buf_per_pkt %d,"
drivers/net/vmxnet3/vmxnet3_drv.c
3162
" ring sizes %u %u %u\n", adapter->netdev->name,
drivers/net/vmxnet3/vmxnet3_drv.c
3163
adapter->skb_buf_size, adapter->rx_buf_per_pkt,
drivers/net/vmxnet3/vmxnet3_drv.c
3164
adapter->tx_queue[0].tx_ring.size,
drivers/net/vmxnet3/vmxnet3_drv.c
3165
adapter->rx_queue[0].rx_ring[0].size,
drivers/net/vmxnet3/vmxnet3_drv.c
3166
adapter->rx_queue[0].rx_ring[1].size);
drivers/net/vmxnet3/vmxnet3_drv.c
3168
vmxnet3_tq_init_all(adapter);
drivers/net/vmxnet3/vmxnet3_drv.c
3169
err = vmxnet3_rq_init_all(adapter);
drivers/net/vmxnet3/vmxnet3_drv.c
3171
netdev_err(adapter->netdev,
drivers/net/vmxnet3/vmxnet3_drv.c
3176
err = vmxnet3_request_irqs(adapter);
drivers/net/vmxnet3/vmxnet3_drv.c
3178
netdev_err(adapter->netdev,
drivers/net/vmxnet3/vmxnet3_drv.c
3183
vmxnet3_setup_driver_shared(adapter);
drivers/net/vmxnet3/vmxnet3_drv.c
3185
VMXNET3_WRITE_BAR1_REG(adapter, VMXNET3_REG_DSAL, VMXNET3_GET_ADDR_LO(
drivers/net/vmxnet3/vmxnet3_drv.c
3186
adapter->shared_pa));
drivers/net/vmxnet3/vmxnet3_drv.c
3187
VMXNET3_WRITE_BAR1_REG(adapter, VMXNET3_REG_DSAH, VMXNET3_GET_ADDR_HI(
drivers/net/vmxnet3/vmxnet3_drv.c
3188
adapter->shared_pa));
drivers/net/vmxnet3/vmxnet3_drv.c
3189
spin_lock_irqsave(&adapter->cmd_lock, flags);
drivers/net/vmxnet3/vmxnet3_drv.c
3190
VMXNET3_WRITE_BAR1_REG(adapter, VMXNET3_REG_CMD,
drivers/net/vmxnet3/vmxnet3_drv.c
3192
ret = VMXNET3_READ_BAR1_REG(adapter, VMXNET3_REG_CMD);
drivers/net/vmxnet3/vmxnet3_drv.c
3193
spin_unlock_irqrestore(&adapter->cmd_lock, flags);
drivers/net/vmxnet3/vmxnet3_drv.c
3196
netdev_err(adapter->netdev,
drivers/net/vmxnet3/vmxnet3_drv.c
3202
vmxnet3_init_bufsize(adapter);
drivers/net/vmxnet3/vmxnet3_drv.c
3203
vmxnet3_init_coalesce(adapter);
drivers/net/vmxnet3/vmxnet3_drv.c
3204
vmxnet3_init_rssfields(adapter);
drivers/net/vmxnet3/vmxnet3_drv.c
3206
for (i = 0; i < adapter->num_rx_queues; i++) {
drivers/net/vmxnet3/vmxnet3_drv.c
3207
VMXNET3_WRITE_BAR0_REG(adapter,
drivers/net/vmxnet3/vmxnet3_drv.c
3208
adapter->rx_prod_offset + i * VMXNET3_REG_ALIGN,
drivers/net/vmxnet3/vmxnet3_drv.c
3209
adapter->rx_queue[i].rx_ring[0].next2fill);
drivers/net/vmxnet3/vmxnet3_drv.c
3210
VMXNET3_WRITE_BAR0_REG(adapter, (adapter->rx_prod2_offset +
drivers/net/vmxnet3/vmxnet3_drv.c
3212
adapter->rx_queue[i].rx_ring[1].next2fill);
drivers/net/vmxnet3/vmxnet3_drv.c
3216
vmxnet3_set_mc(adapter->netdev);
drivers/net/vmxnet3/vmxnet3_drv.c
3222
vmxnet3_check_link(adapter, true);
drivers/net/vmxnet3/vmxnet3_drv.c
3223
netif_tx_wake_all_queues(adapter->netdev);
drivers/net/vmxnet3/vmxnet3_drv.c
3224
for (i = 0; i < adapter->num_rx_queues; i++)
drivers/net/vmxnet3/vmxnet3_drv.c
3225
napi_enable(&adapter->rx_queue[i].napi);
drivers/net/vmxnet3/vmxnet3_drv.c
3226
vmxnet3_enable_all_intrs(adapter);
drivers/net/vmxnet3/vmxnet3_drv.c
3227
clear_bit(VMXNET3_STATE_BIT_QUIESCED, &adapter->state);
drivers/net/vmxnet3/vmxnet3_drv.c
3231
VMXNET3_WRITE_BAR1_REG(adapter, VMXNET3_REG_DSAL, 0);
drivers/net/vmxnet3/vmxnet3_drv.c
3232
VMXNET3_WRITE_BAR1_REG(adapter, VMXNET3_REG_DSAH, 0);
drivers/net/vmxnet3/vmxnet3_drv.c
3233
vmxnet3_free_irqs(adapter);
drivers/net/vmxnet3/vmxnet3_drv.c
3237
vmxnet3_rq_cleanup_all(adapter);
drivers/net/vmxnet3/vmxnet3_drv.c
3243
vmxnet3_reset_dev(struct vmxnet3_adapter *adapter)
drivers/net/vmxnet3/vmxnet3_drv.c
3246
spin_lock_irqsave(&adapter->cmd_lock, flags);
drivers/net/vmxnet3/vmxnet3_drv.c
3247
VMXNET3_WRITE_BAR1_REG(adapter, VMXNET3_REG_CMD, VMXNET3_CMD_RESET_DEV);
drivers/net/vmxnet3/vmxnet3_drv.c
3248
spin_unlock_irqrestore(&adapter->cmd_lock, flags);
drivers/net/vmxnet3/vmxnet3_drv.c
3253
vmxnet3_quiesce_dev(struct vmxnet3_adapter *adapter)
drivers/net/vmxnet3/vmxnet3_drv.c
3257
if (test_and_set_bit(VMXNET3_STATE_BIT_QUIESCED, &adapter->state))
drivers/net/vmxnet3/vmxnet3_drv.c
3261
spin_lock_irqsave(&adapter->cmd_lock, flags);
drivers/net/vmxnet3/vmxnet3_drv.c
3262
VMXNET3_WRITE_BAR1_REG(adapter, VMXNET3_REG_CMD,
drivers/net/vmxnet3/vmxnet3_drv.c
3264
spin_unlock_irqrestore(&adapter->cmd_lock, flags);
drivers/net/vmxnet3/vmxnet3_drv.c
3265
vmxnet3_disable_all_intrs(adapter);
drivers/net/vmxnet3/vmxnet3_drv.c
3267
for (i = 0; i < adapter->num_rx_queues; i++)
drivers/net/vmxnet3/vmxnet3_drv.c
3268
napi_disable(&adapter->rx_queue[i].napi);
drivers/net/vmxnet3/vmxnet3_drv.c
3269
netif_tx_disable(adapter->netdev);
drivers/net/vmxnet3/vmxnet3_drv.c
3270
adapter->link_speed = 0;
drivers/net/vmxnet3/vmxnet3_drv.c
3271
netif_carrier_off(adapter->netdev);
drivers/net/vmxnet3/vmxnet3_drv.c
3273
vmxnet3_tq_cleanup_all(adapter);
drivers/net/vmxnet3/vmxnet3_drv.c
3274
vmxnet3_rq_cleanup_all(adapter);
drivers/net/vmxnet3/vmxnet3_drv.c
3275
vmxnet3_free_irqs(adapter);
drivers/net/vmxnet3/vmxnet3_drv.c
3281
vmxnet3_write_mac_addr(struct vmxnet3_adapter *adapter, const u8 *mac)
drivers/net/vmxnet3/vmxnet3_drv.c
3286
VMXNET3_WRITE_BAR1_REG(adapter, VMXNET3_REG_MACL, tmp);
drivers/net/vmxnet3/vmxnet3_drv.c
3289
VMXNET3_WRITE_BAR1_REG(adapter, VMXNET3_REG_MACH, tmp);
drivers/net/vmxnet3/vmxnet3_drv.c
3297
struct vmxnet3_adapter *adapter = netdev_priv(netdev);
drivers/net/vmxnet3/vmxnet3_drv.c
3300
vmxnet3_write_mac_addr(adapter, addr->sa_data);
drivers/net/vmxnet3/vmxnet3_drv.c
3309
vmxnet3_alloc_pci_resources(struct vmxnet3_adapter *adapter)
drivers/net/vmxnet3/vmxnet3_drv.c
3313
struct pci_dev *pdev = adapter->pdev;
drivers/net/vmxnet3/vmxnet3_drv.c
3333
adapter->hw_addr0 = ioremap(mmio_start, mmio_len);
drivers/net/vmxnet3/vmxnet3_drv.c
3334
if (!adapter->hw_addr0) {
drivers/net/vmxnet3/vmxnet3_drv.c
3342
adapter->hw_addr1 = ioremap(mmio_start, mmio_len);
drivers/net/vmxnet3/vmxnet3_drv.c
3343
if (!adapter->hw_addr1) {
drivers/net/vmxnet3/vmxnet3_drv.c
3351
iounmap(adapter->hw_addr0);
drivers/net/vmxnet3/vmxnet3_drv.c
3361
vmxnet3_free_pci_resources(struct vmxnet3_adapter *adapter)
drivers/net/vmxnet3/vmxnet3_drv.c
3363
BUG_ON(!adapter->pdev);
drivers/net/vmxnet3/vmxnet3_drv.c
3365
iounmap(adapter->hw_addr0);
drivers/net/vmxnet3/vmxnet3_drv.c
3366
iounmap(adapter->hw_addr1);
drivers/net/vmxnet3/vmxnet3_drv.c
3367
pci_release_selected_regions(adapter->pdev, (1 << 2) - 1);
drivers/net/vmxnet3/vmxnet3_drv.c
3368
pci_disable_device(adapter->pdev);
drivers/net/vmxnet3/vmxnet3_drv.c
3373
vmxnet3_adjust_rx_ring_size(struct vmxnet3_adapter *adapter)
drivers/net/vmxnet3/vmxnet3_drv.c
3377
if (!VMXNET3_VERSION_GE_7(adapter)) {
drivers/net/vmxnet3/vmxnet3_drv.c
3378
if (adapter->netdev->mtu <= VMXNET3_MAX_SKB_BUF_SIZE -
drivers/net/vmxnet3/vmxnet3_drv.c
3380
adapter->skb_buf_size = adapter->netdev->mtu +
drivers/net/vmxnet3/vmxnet3_drv.c
3382
if (adapter->skb_buf_size < VMXNET3_MIN_T0_BUF_SIZE)
drivers/net/vmxnet3/vmxnet3_drv.c
3383
adapter->skb_buf_size = VMXNET3_MIN_T0_BUF_SIZE;
drivers/net/vmxnet3/vmxnet3_drv.c
3385
adapter->rx_buf_per_pkt = 1;
drivers/net/vmxnet3/vmxnet3_drv.c
3387
adapter->skb_buf_size = VMXNET3_MAX_SKB_BUF_SIZE;
drivers/net/vmxnet3/vmxnet3_drv.c
3388
sz = adapter->netdev->mtu - VMXNET3_MAX_SKB_BUF_SIZE +
drivers/net/vmxnet3/vmxnet3_drv.c
3390
adapter->rx_buf_per_pkt = 1 + (sz + PAGE_SIZE - 1) / PAGE_SIZE;
drivers/net/vmxnet3/vmxnet3_drv.c
3393
adapter->skb_buf_size = min((int)adapter->netdev->mtu + VMXNET3_MAX_ETH_HDR_SIZE,
drivers/net/vmxnet3/vmxnet3_drv.c
3395
adapter->rx_buf_per_pkt = 1;
drivers/net/vmxnet3/vmxnet3_drv.c
3396
adapter->ringBufSize.ring1BufSizeType0 = cpu_to_le16(adapter->skb_buf_size);
drivers/net/vmxnet3/vmxnet3_drv.c
3397
adapter->ringBufSize.ring1BufSizeType1 = 0;
drivers/net/vmxnet3/vmxnet3_drv.c
3398
adapter->ringBufSize.ring2BufSizeType1 = cpu_to_le16(PAGE_SIZE);
drivers/net/vmxnet3/vmxnet3_drv.c
3405
sz = adapter->rx_buf_per_pkt * VMXNET3_RING_SIZE_ALIGN;
drivers/net/vmxnet3/vmxnet3_drv.c
3406
ring0_size = adapter->rx_queue[0].rx_ring[0].size;
drivers/net/vmxnet3/vmxnet3_drv.c
3410
ring1_size = adapter->rx_queue[0].rx_ring[1].size;
drivers/net/vmxnet3/vmxnet3_drv.c
3415
if (VMXNET3_VERSION_GE_7(adapter)) {
drivers/net/vmxnet3/vmxnet3_drv.c
3421
for (i = 0; i < adapter->num_rx_queues; i++) {
drivers/net/vmxnet3/vmxnet3_drv.c
3422
struct vmxnet3_rx_queue *rq = &adapter->rx_queue[i];
drivers/net/vmxnet3/vmxnet3_drv.c
3432
vmxnet3_create_queues(struct vmxnet3_adapter *adapter, u32 tx_ring_size,
drivers/net/vmxnet3/vmxnet3_drv.c
3438
for (i = 0; i < adapter->num_tx_queues; i++) {
drivers/net/vmxnet3/vmxnet3_drv.c
3439
struct vmxnet3_tx_queue *tq = &adapter->tx_queue[i];
drivers/net/vmxnet3/vmxnet3_drv.c
3444
tq->shared = &adapter->tqd_start[i].ctrl;
drivers/net/vmxnet3/vmxnet3_drv.c
3446
tq->adapter = adapter;
drivers/net/vmxnet3/vmxnet3_drv.c
3448
tq->tx_ts_desc_size = adapter->tx_ts_desc_size;
drivers/net/vmxnet3/vmxnet3_drv.c
3450
err = vmxnet3_tq_create(tq, adapter);
drivers/net/vmxnet3/vmxnet3_drv.c
3459
adapter->rx_queue[0].rx_ring[0].size = rx_ring_size;
drivers/net/vmxnet3/vmxnet3_drv.c
3460
adapter->rx_queue[0].rx_ring[1].size = rx_ring2_size;
drivers/net/vmxnet3/vmxnet3_drv.c
3461
vmxnet3_adjust_rx_ring_size(adapter);
drivers/net/vmxnet3/vmxnet3_drv.c
3463
adapter->rxdataring_enabled = VMXNET3_VERSION_GE_3(adapter);
drivers/net/vmxnet3/vmxnet3_drv.c
3464
for (i = 0; i < adapter->num_rx_queues; i++) {
drivers/net/vmxnet3/vmxnet3_drv.c
3465
struct vmxnet3_rx_queue *rq = &adapter->rx_queue[i];
drivers/net/vmxnet3/vmxnet3_drv.c
3468
rq->shared = &adapter->rqd_start[i].ctrl;
drivers/net/vmxnet3/vmxnet3_drv.c
3469
rq->adapter = adapter;
drivers/net/vmxnet3/vmxnet3_drv.c
3471
rq->rx_ts_desc_size = adapter->rx_ts_desc_size;
drivers/net/vmxnet3/vmxnet3_drv.c
3472
err = vmxnet3_rq_create(rq, adapter);
drivers/net/vmxnet3/vmxnet3_drv.c
3475
netdev_err(adapter->netdev,
drivers/net/vmxnet3/vmxnet3_drv.c
3480
netdev_info(adapter->netdev,
drivers/net/vmxnet3/vmxnet3_drv.c
3483
adapter->num_rx_queues = i;
drivers/net/vmxnet3/vmxnet3_drv.c
3490
if (!adapter->rxdataring_enabled)
drivers/net/vmxnet3/vmxnet3_drv.c
3491
vmxnet3_rq_destroy_all_rxdataring(adapter);
drivers/net/vmxnet3/vmxnet3_drv.c
3495
vmxnet3_tq_destroy_all(adapter);
drivers/net/vmxnet3/vmxnet3_drv.c
3502
struct vmxnet3_adapter *adapter;
drivers/net/vmxnet3/vmxnet3_drv.c
3505
adapter = netdev_priv(netdev);
drivers/net/vmxnet3/vmxnet3_drv.c
3507
for (i = 0; i < adapter->num_tx_queues; i++)
drivers/net/vmxnet3/vmxnet3_drv.c
3508
spin_lock_init(&adapter->tx_queue[i].tx_lock);
drivers/net/vmxnet3/vmxnet3_drv.c
3510
if (VMXNET3_VERSION_GE_3(adapter)) {
drivers/net/vmxnet3/vmxnet3_drv.c
3515
spin_lock_irqsave(&adapter->cmd_lock, flags);
drivers/net/vmxnet3/vmxnet3_drv.c
3516
VMXNET3_WRITE_BAR1_REG(adapter, VMXNET3_REG_CMD,
drivers/net/vmxnet3/vmxnet3_drv.c
3518
ret = VMXNET3_READ_BAR1_REG(adapter, VMXNET3_REG_CMD);
drivers/net/vmxnet3/vmxnet3_drv.c
3519
spin_unlock_irqrestore(&adapter->cmd_lock, flags);
drivers/net/vmxnet3/vmxnet3_drv.c
3525
adapter->txdata_desc_size =
drivers/net/vmxnet3/vmxnet3_drv.c
3528
adapter->txdata_desc_size = txdata_desc_size;
drivers/net/vmxnet3/vmxnet3_drv.c
3530
if (VMXNET3_VERSION_GE_9(adapter))
drivers/net/vmxnet3/vmxnet3_drv.c
3531
adapter->rxdata_desc_size = (ret >> 16) & 0xffff;
drivers/net/vmxnet3/vmxnet3_drv.c
3533
adapter->txdata_desc_size = sizeof(struct Vmxnet3_TxDataDesc);
drivers/net/vmxnet3/vmxnet3_drv.c
3536
if (VMXNET3_VERSION_GE_9(adapter)) {
drivers/net/vmxnet3/vmxnet3_drv.c
3542
spin_lock_irqsave(&adapter->cmd_lock, flags);
drivers/net/vmxnet3/vmxnet3_drv.c
3543
VMXNET3_WRITE_BAR1_REG(adapter, VMXNET3_REG_CMD,
drivers/net/vmxnet3/vmxnet3_drv.c
3545
ret = VMXNET3_READ_BAR1_REG(adapter, VMXNET3_REG_CMD);
drivers/net/vmxnet3/vmxnet3_drv.c
3546
spin_unlock_irqrestore(&adapter->cmd_lock, flags);
drivers/net/vmxnet3/vmxnet3_drv.c
3557
adapter->tx_ts_desc_size = tx_ts_desc_size;
drivers/net/vmxnet3/vmxnet3_drv.c
3558
adapter->rx_ts_desc_size = rx_ts_desc_size;
drivers/net/vmxnet3/vmxnet3_drv.c
3560
adapter->tx_ts_desc_size = 0;
drivers/net/vmxnet3/vmxnet3_drv.c
3561
adapter->rx_ts_desc_size = 0;
drivers/net/vmxnet3/vmxnet3_drv.c
3564
err = vmxnet3_create_queues(adapter,
drivers/net/vmxnet3/vmxnet3_drv.c
3565
adapter->tx_ring_size,
drivers/net/vmxnet3/vmxnet3_drv.c
3566
adapter->rx_ring_size,
drivers/net/vmxnet3/vmxnet3_drv.c
3567
adapter->rx_ring2_size,
drivers/net/vmxnet3/vmxnet3_drv.c
3568
adapter->txdata_desc_size,
drivers/net/vmxnet3/vmxnet3_drv.c
3569
adapter->rxdata_desc_size);
drivers/net/vmxnet3/vmxnet3_drv.c
3573
err = vmxnet3_activate_dev(adapter);
drivers/net/vmxnet3/vmxnet3_drv.c
3580
vmxnet3_rq_destroy_all(adapter);
drivers/net/vmxnet3/vmxnet3_drv.c
3581
vmxnet3_tq_destroy_all(adapter);
drivers/net/vmxnet3/vmxnet3_drv.c
3590
struct vmxnet3_adapter *adapter = netdev_priv(netdev);
drivers/net/vmxnet3/vmxnet3_drv.c
3596
while (test_and_set_bit(VMXNET3_STATE_BIT_RESETTING, &adapter->state))
drivers/net/vmxnet3/vmxnet3_drv.c
3599
vmxnet3_quiesce_dev(adapter);
drivers/net/vmxnet3/vmxnet3_drv.c
3601
vmxnet3_rq_destroy_all(adapter);
drivers/net/vmxnet3/vmxnet3_drv.c
3602
vmxnet3_tq_destroy_all(adapter);
drivers/net/vmxnet3/vmxnet3_drv.c
3604
clear_bit(VMXNET3_STATE_BIT_RESETTING, &adapter->state);
drivers/net/vmxnet3/vmxnet3_drv.c
3612
vmxnet3_force_close(struct vmxnet3_adapter *adapter)
drivers/net/vmxnet3/vmxnet3_drv.c
3620
BUG_ON(test_bit(VMXNET3_STATE_BIT_RESETTING, &adapter->state));
drivers/net/vmxnet3/vmxnet3_drv.c
3623
for (i = 0; i < adapter->num_rx_queues; i++)
drivers/net/vmxnet3/vmxnet3_drv.c
3624
napi_enable(&adapter->rx_queue[i].napi);
drivers/net/vmxnet3/vmxnet3_drv.c
3629
clear_bit(VMXNET3_STATE_BIT_QUIESCED, &adapter->state);
drivers/net/vmxnet3/vmxnet3_drv.c
3630
dev_close(adapter->netdev);
drivers/net/vmxnet3/vmxnet3_drv.c
3637
struct vmxnet3_adapter *adapter = netdev_priv(netdev);
drivers/net/vmxnet3/vmxnet3_drv.c
3644
while (test_and_set_bit(VMXNET3_STATE_BIT_RESETTING, &adapter->state))
drivers/net/vmxnet3/vmxnet3_drv.c
3648
vmxnet3_quiesce_dev(adapter);
drivers/net/vmxnet3/vmxnet3_drv.c
3649
vmxnet3_reset_dev(adapter);
drivers/net/vmxnet3/vmxnet3_drv.c
3652
vmxnet3_rq_destroy_all(adapter);
drivers/net/vmxnet3/vmxnet3_drv.c
3654
vmxnet3_adjust_rx_ring_size(adapter);
drivers/net/vmxnet3/vmxnet3_drv.c
3655
err = vmxnet3_rq_create_all(adapter);
drivers/net/vmxnet3/vmxnet3_drv.c
3663
err = vmxnet3_activate_dev(adapter);
drivers/net/vmxnet3/vmxnet3_drv.c
3675
clear_bit(VMXNET3_STATE_BIT_RESETTING, &adapter->state);
drivers/net/vmxnet3/vmxnet3_drv.c
3677
vmxnet3_force_close(adapter);
drivers/net/vmxnet3/vmxnet3_drv.c
3684
vmxnet3_declare_features(struct vmxnet3_adapter *adapter)
drivers/net/vmxnet3/vmxnet3_drv.c
3686
struct net_device *netdev = adapter->netdev;
drivers/net/vmxnet3/vmxnet3_drv.c
3689
if (VMXNET3_VERSION_GE_9(adapter)) {
drivers/net/vmxnet3/vmxnet3_drv.c
3690
spin_lock_irqsave(&adapter->cmd_lock, flags);
drivers/net/vmxnet3/vmxnet3_drv.c
3691
VMXNET3_WRITE_BAR1_REG(adapter, VMXNET3_REG_CMD,
drivers/net/vmxnet3/vmxnet3_drv.c
3693
adapter->disabledOffloads = VMXNET3_READ_BAR1_REG(adapter, VMXNET3_REG_CMD);
drivers/net/vmxnet3/vmxnet3_drv.c
3694
spin_unlock_irqrestore(&adapter->cmd_lock, flags);
drivers/net/vmxnet3/vmxnet3_drv.c
3702
if (VMXNET3_VERSION_GE_4(adapter)) {
drivers/net/vmxnet3/vmxnet3_drv.c
3713
if (adapter->disabledOffloads & VMXNET3_OFFLOAD_TSO) {
drivers/net/vmxnet3/vmxnet3_drv.c
3718
if (adapter->disabledOffloads & VMXNET3_OFFLOAD_LRO) {
drivers/net/vmxnet3/vmxnet3_drv.c
3723
if (VMXNET3_VERSION_GE_7(adapter)) {
drivers/net/vmxnet3/vmxnet3_drv.c
3726
if (vmxnet3_check_ptcapability(adapter->ptcap_supported[0],
drivers/net/vmxnet3/vmxnet3_drv.c
3728
adapter->dev_caps[0] |= 1UL << VMXNET3_CAP_GENEVE_CHECKSUM_OFFLOAD;
drivers/net/vmxnet3/vmxnet3_drv.c
3730
if (vmxnet3_check_ptcapability(adapter->ptcap_supported[0],
drivers/net/vmxnet3/vmxnet3_drv.c
3732
adapter->dev_caps[0] |= 1UL << VMXNET3_CAP_VXLAN_CHECKSUM_OFFLOAD;
drivers/net/vmxnet3/vmxnet3_drv.c
3734
if (vmxnet3_check_ptcapability(adapter->ptcap_supported[0],
drivers/net/vmxnet3/vmxnet3_drv.c
3736
adapter->dev_caps[0] |= 1UL << VMXNET3_CAP_GENEVE_TSO;
drivers/net/vmxnet3/vmxnet3_drv.c
3738
if (vmxnet3_check_ptcapability(adapter->ptcap_supported[0],
drivers/net/vmxnet3/vmxnet3_drv.c
3740
adapter->dev_caps[0] |= 1UL << VMXNET3_CAP_VXLAN_TSO;
drivers/net/vmxnet3/vmxnet3_drv.c
3742
if (vmxnet3_check_ptcapability(adapter->ptcap_supported[0],
drivers/net/vmxnet3/vmxnet3_drv.c
3744
adapter->dev_caps[0] |= 1UL << VMXNET3_CAP_GENEVE_OUTER_CHECKSUM_OFFLOAD;
drivers/net/vmxnet3/vmxnet3_drv.c
3746
if (vmxnet3_check_ptcapability(adapter->ptcap_supported[0],
drivers/net/vmxnet3/vmxnet3_drv.c
3748
adapter->dev_caps[0] |= 1UL << VMXNET3_CAP_VXLAN_OUTER_CHECKSUM_OFFLOAD;
drivers/net/vmxnet3/vmxnet3_drv.c
3751
VMXNET3_WRITE_BAR1_REG(adapter, VMXNET3_REG_DCR, adapter->dev_caps[0]);
drivers/net/vmxnet3/vmxnet3_drv.c
3752
spin_lock_irqsave(&adapter->cmd_lock, flags);
drivers/net/vmxnet3/vmxnet3_drv.c
3753
VMXNET3_WRITE_BAR1_REG(adapter, VMXNET3_REG_CMD, VMXNET3_CMD_GET_DCR0_REG);
drivers/net/vmxnet3/vmxnet3_drv.c
3754
adapter->dev_caps[0] = VMXNET3_READ_BAR1_REG(adapter, VMXNET3_REG_CMD);
drivers/net/vmxnet3/vmxnet3_drv.c
3755
spin_unlock_irqrestore(&adapter->cmd_lock, flags);
drivers/net/vmxnet3/vmxnet3_drv.c
3757
if (!(adapter->dev_caps[0] & (1UL << VMXNET3_CAP_GENEVE_CHECKSUM_OFFLOAD)) &&
drivers/net/vmxnet3/vmxnet3_drv.c
3758
!(adapter->dev_caps[0] & (1UL << VMXNET3_CAP_VXLAN_CHECKSUM_OFFLOAD)) &&
drivers/net/vmxnet3/vmxnet3_drv.c
3759
!(adapter->dev_caps[0] & (1UL << VMXNET3_CAP_GENEVE_TSO)) &&
drivers/net/vmxnet3/vmxnet3_drv.c
3760
!(adapter->dev_caps[0] & (1UL << VMXNET3_CAP_VXLAN_TSO))) {
drivers/net/vmxnet3/vmxnet3_drv.c
3764
if (!(adapter->dev_caps[0] & (1UL << VMXNET3_CAP_GENEVE_OUTER_CHECKSUM_OFFLOAD)) &&
drivers/net/vmxnet3/vmxnet3_drv.c
3765
!(adapter->dev_caps[0] & (1UL << VMXNET3_CAP_VXLAN_OUTER_CHECKSUM_OFFLOAD))) {
drivers/net/vmxnet3/vmxnet3_drv.c
3779
vmxnet3_read_mac_addr(struct vmxnet3_adapter *adapter, u8 *mac)
drivers/net/vmxnet3/vmxnet3_drv.c
3783
tmp = VMXNET3_READ_BAR1_REG(adapter, VMXNET3_REG_MACL);
drivers/net/vmxnet3/vmxnet3_drv.c
3786
tmp = VMXNET3_READ_BAR1_REG(adapter, VMXNET3_REG_MACH);
drivers/net/vmxnet3/vmxnet3_drv.c
3803
vmxnet3_acquire_msix_vectors(struct vmxnet3_adapter *adapter, int nvec)
drivers/net/vmxnet3/vmxnet3_drv.c
3805
int ret = pci_enable_msix_range(adapter->pdev,
drivers/net/vmxnet3/vmxnet3_drv.c
3806
adapter->intr.msix_entries, nvec, nvec);
drivers/net/vmxnet3/vmxnet3_drv.c
3809
dev_err(&adapter->netdev->dev,
drivers/net/vmxnet3/vmxnet3_drv.c
3813
ret = pci_enable_msix_range(adapter->pdev,
drivers/net/vmxnet3/vmxnet3_drv.c
3814
adapter->intr.msix_entries,
drivers/net/vmxnet3/vmxnet3_drv.c
3820
dev_err(&adapter->netdev->dev,
drivers/net/vmxnet3/vmxnet3_drv.c
3831
vmxnet3_alloc_intr_resources(struct vmxnet3_adapter *adapter)
drivers/net/vmxnet3/vmxnet3_drv.c
3837
spin_lock_irqsave(&adapter->cmd_lock, flags);
drivers/net/vmxnet3/vmxnet3_drv.c
3838
VMXNET3_WRITE_BAR1_REG(adapter, VMXNET3_REG_CMD,
drivers/net/vmxnet3/vmxnet3_drv.c
3840
cfg = VMXNET3_READ_BAR1_REG(adapter, VMXNET3_REG_CMD);
drivers/net/vmxnet3/vmxnet3_drv.c
3841
spin_unlock_irqrestore(&adapter->cmd_lock, flags);
drivers/net/vmxnet3/vmxnet3_drv.c
3842
adapter->intr.type = cfg & 0x3;
drivers/net/vmxnet3/vmxnet3_drv.c
3843
adapter->intr.mask_mode = (cfg >> 2) & 0x3;
drivers/net/vmxnet3/vmxnet3_drv.c
3845
if (adapter->intr.type == VMXNET3_IT_AUTO) {
drivers/net/vmxnet3/vmxnet3_drv.c
3846
adapter->intr.type = VMXNET3_IT_MSIX;
drivers/net/vmxnet3/vmxnet3_drv.c
3850
if (adapter->intr.type == VMXNET3_IT_MSIX) {
drivers/net/vmxnet3/vmxnet3_drv.c
3853
nvec = adapter->share_intr == VMXNET3_INTR_TXSHARE ?
drivers/net/vmxnet3/vmxnet3_drv.c
3854
1 : adapter->num_tx_queues;
drivers/net/vmxnet3/vmxnet3_drv.c
3855
nvec += adapter->share_intr == VMXNET3_INTR_BUDDYSHARE ?
drivers/net/vmxnet3/vmxnet3_drv.c
3856
0 : adapter->num_rx_queues;
drivers/net/vmxnet3/vmxnet3_drv.c
3862
adapter->intr.msix_entries[i].entry = i;
drivers/net/vmxnet3/vmxnet3_drv.c
3864
nvec_allocated = vmxnet3_acquire_msix_vectors(adapter, nvec);
drivers/net/vmxnet3/vmxnet3_drv.c
3873
if (adapter->share_intr != VMXNET3_INTR_BUDDYSHARE
drivers/net/vmxnet3/vmxnet3_drv.c
3874
|| adapter->num_rx_queues != 1) {
drivers/net/vmxnet3/vmxnet3_drv.c
3875
adapter->share_intr = VMXNET3_INTR_TXSHARE;
drivers/net/vmxnet3/vmxnet3_drv.c
3876
netdev_err(adapter->netdev,
drivers/net/vmxnet3/vmxnet3_drv.c
3878
adapter->num_rx_queues = 1;
drivers/net/vmxnet3/vmxnet3_drv.c
3882
adapter->intr.num_intrs = nvec_allocated;
drivers/net/vmxnet3/vmxnet3_drv.c
3887
dev_info(&adapter->pdev->dev,
drivers/net/vmxnet3/vmxnet3_drv.c
3891
adapter->intr.type = VMXNET3_IT_MSI;
drivers/net/vmxnet3/vmxnet3_drv.c
3894
if (adapter->intr.type == VMXNET3_IT_MSI) {
drivers/net/vmxnet3/vmxnet3_drv.c
3895
if (!pci_enable_msi(adapter->pdev)) {
drivers/net/vmxnet3/vmxnet3_drv.c
3896
adapter->num_rx_queues = 1;
drivers/net/vmxnet3/vmxnet3_drv.c
3897
adapter->intr.num_intrs = 1;
drivers/net/vmxnet3/vmxnet3_drv.c
3903
adapter->num_rx_queues = 1;
drivers/net/vmxnet3/vmxnet3_drv.c
3904
dev_info(&adapter->netdev->dev,
drivers/net/vmxnet3/vmxnet3_drv.c
3906
adapter->intr.type = VMXNET3_IT_INTX;
drivers/net/vmxnet3/vmxnet3_drv.c
3909
adapter->intr.num_intrs = 1;
drivers/net/vmxnet3/vmxnet3_drv.c
3914
vmxnet3_free_intr_resources(struct vmxnet3_adapter *adapter)
drivers/net/vmxnet3/vmxnet3_drv.c
3916
if (adapter->intr.type == VMXNET3_IT_MSIX)
drivers/net/vmxnet3/vmxnet3_drv.c
3917
pci_disable_msix(adapter->pdev);
drivers/net/vmxnet3/vmxnet3_drv.c
3918
else if (adapter->intr.type == VMXNET3_IT_MSI)
drivers/net/vmxnet3/vmxnet3_drv.c
3919
pci_disable_msi(adapter->pdev);
drivers/net/vmxnet3/vmxnet3_drv.c
3921
BUG_ON(adapter->intr.type != VMXNET3_IT_INTX);
drivers/net/vmxnet3/vmxnet3_drv.c
3928
struct vmxnet3_adapter *adapter = netdev_priv(netdev);
drivers/net/vmxnet3/vmxnet3_drv.c
3929
adapter->tx_timeout_count++;
drivers/net/vmxnet3/vmxnet3_drv.c
3931
netdev_err(adapter->netdev, "tx hang\n");
drivers/net/vmxnet3/vmxnet3_drv.c
3932
schedule_work(&adapter->work);
drivers/net/vmxnet3/vmxnet3_drv.c
3939
struct vmxnet3_adapter *adapter;
drivers/net/vmxnet3/vmxnet3_drv.c
3941
adapter = container_of(data, struct vmxnet3_adapter, work);
drivers/net/vmxnet3/vmxnet3_drv.c
3944
if (test_and_set_bit(VMXNET3_STATE_BIT_RESETTING, &adapter->state))
drivers/net/vmxnet3/vmxnet3_drv.c
3949
if (netif_running(adapter->netdev)) {
drivers/net/vmxnet3/vmxnet3_drv.c
3950
netdev_notice(adapter->netdev, "resetting\n");
drivers/net/vmxnet3/vmxnet3_drv.c
3951
vmxnet3_quiesce_dev(adapter);
drivers/net/vmxnet3/vmxnet3_drv.c
3952
vmxnet3_reset_dev(adapter);
drivers/net/vmxnet3/vmxnet3_drv.c
3953
vmxnet3_activate_dev(adapter);
drivers/net/vmxnet3/vmxnet3_drv.c
3955
netdev_info(adapter->netdev, "already closed\n");
drivers/net/vmxnet3/vmxnet3_drv.c
3959
netif_wake_queue(adapter->netdev);
drivers/net/vmxnet3/vmxnet3_drv.c
3960
clear_bit(VMXNET3_STATE_BIT_RESETTING, &adapter->state);
drivers/net/vmxnet3/vmxnet3_drv.c
397
struct pci_dev *pdev, struct vmxnet3_adapter *adapter,
drivers/net/vmxnet3/vmxnet3_drv.c
3991
struct vmxnet3_adapter *adapter;
drivers/net/vmxnet3/vmxnet3_drv.c
4022
adapter = netdev_priv(netdev);
drivers/net/vmxnet3/vmxnet3_drv.c
4023
adapter->netdev = netdev;
drivers/net/vmxnet3/vmxnet3_drv.c
4024
adapter->pdev = pdev;
drivers/net/vmxnet3/vmxnet3_drv.c
4026
adapter->tx_ring_size = VMXNET3_DEF_TX_RING_SIZE;
drivers/net/vmxnet3/vmxnet3_drv.c
4027
adapter->rx_ring_size = VMXNET3_DEF_RX_RING_SIZE;
drivers/net/vmxnet3/vmxnet3_drv.c
4028
adapter->rx_ring2_size = VMXNET3_DEF_RX_RING2_SIZE;
drivers/net/vmxnet3/vmxnet3_drv.c
4036
spin_lock_init(&adapter->cmd_lock);
drivers/net/vmxnet3/vmxnet3_drv.c
4037
adapter->adapter_pa = dma_map_single(&adapter->pdev->dev, adapter,
drivers/net/vmxnet3/vmxnet3_drv.c
4040
if (dma_mapping_error(&adapter->pdev->dev, adapter->adapter_pa)) {
drivers/net/vmxnet3/vmxnet3_drv.c
4045
adapter->shared = dma_alloc_coherent(
drivers/net/vmxnet3/vmxnet3_drv.c
4046
&adapter->pdev->dev,
drivers/net/vmxnet3/vmxnet3_drv.c
4048
&adapter->shared_pa, GFP_KERNEL);
drivers/net/vmxnet3/vmxnet3_drv.c
4049
if (!adapter->shared) {
drivers/net/vmxnet3/vmxnet3_drv.c
4055
err = vmxnet3_alloc_pci_resources(adapter);
drivers/net/vmxnet3/vmxnet3_drv.c
4059
ver = VMXNET3_READ_BAR1_REG(adapter, VMXNET3_REG_VRRS);
drivers/net/vmxnet3/vmxnet3_drv.c
4062
VMXNET3_WRITE_BAR1_REG(adapter, VMXNET3_REG_VRRS, 1 << i);
drivers/net/vmxnet3/vmxnet3_drv.c
4063
adapter->version = i + 1;
drivers/net/vmxnet3/vmxnet3_drv.c
4073
dev_dbg(&pdev->dev, "Using device version %d\n", adapter->version);
drivers/net/vmxnet3/vmxnet3_drv.c
4075
ver = VMXNET3_READ_BAR1_REG(adapter, VMXNET3_REG_UVRS);
drivers/net/vmxnet3/vmxnet3_drv.c
4077
VMXNET3_WRITE_BAR1_REG(adapter, VMXNET3_REG_UVRS, 1);
drivers/net/vmxnet3/vmxnet3_drv.c
4085
if (VMXNET3_VERSION_GE_7(adapter)) {
drivers/net/vmxnet3/vmxnet3_drv.c
4086
adapter->devcap_supported[0] = VMXNET3_READ_BAR1_REG(adapter, VMXNET3_REG_DCR);
drivers/net/vmxnet3/vmxnet3_drv.c
4087
adapter->ptcap_supported[0] = VMXNET3_READ_BAR1_REG(adapter, VMXNET3_REG_PTCR);
drivers/net/vmxnet3/vmxnet3_drv.c
4088
if (adapter->devcap_supported[0] & (1UL << VMXNET3_CAP_LARGE_BAR)) {
drivers/net/vmxnet3/vmxnet3_drv.c
4089
adapter->dev_caps[0] = adapter->devcap_supported[0] &
drivers/net/vmxnet3/vmxnet3_drv.c
4092
if (!(adapter->ptcap_supported[0] & (1UL << VMXNET3_DCR_ERROR)) &&
drivers/net/vmxnet3/vmxnet3_drv.c
4093
adapter->ptcap_supported[0] & (1UL << VMXNET3_CAP_OOORX_COMP) &&
drivers/net/vmxnet3/vmxnet3_drv.c
4094
adapter->devcap_supported[0] & (1UL << VMXNET3_CAP_OOORX_COMP)) {
drivers/net/vmxnet3/vmxnet3_drv.c
4095
adapter->dev_caps[0] |= adapter->devcap_supported[0] &
drivers/net/vmxnet3/vmxnet3_drv.c
4098
if (adapter->dev_caps[0])
drivers/net/vmxnet3/vmxnet3_drv.c
4099
VMXNET3_WRITE_BAR1_REG(adapter, VMXNET3_REG_DCR, adapter->dev_caps[0]);
drivers/net/vmxnet3/vmxnet3_drv.c
4101
spin_lock_irqsave(&adapter->cmd_lock, flags);
drivers/net/vmxnet3/vmxnet3_drv.c
4102
VMXNET3_WRITE_BAR1_REG(adapter, VMXNET3_REG_CMD, VMXNET3_CMD_GET_DCR0_REG);
drivers/net/vmxnet3/vmxnet3_drv.c
4103
adapter->dev_caps[0] = VMXNET3_READ_BAR1_REG(adapter, VMXNET3_REG_CMD);
drivers/net/vmxnet3/vmxnet3_drv.c
4104
spin_unlock_irqrestore(&adapter->cmd_lock, flags);
drivers/net/vmxnet3/vmxnet3_drv.c
4107
if (VMXNET3_VERSION_GE_7(adapter) &&
drivers/net/vmxnet3/vmxnet3_drv.c
4108
adapter->dev_caps[0] & (1UL << VMXNET3_CAP_LARGE_BAR)) {
drivers/net/vmxnet3/vmxnet3_drv.c
4109
adapter->tx_prod_offset = VMXNET3_REG_LB_TXPROD;
drivers/net/vmxnet3/vmxnet3_drv.c
4110
adapter->rx_prod_offset = VMXNET3_REG_LB_RXPROD;
drivers/net/vmxnet3/vmxnet3_drv.c
4111
adapter->rx_prod2_offset = VMXNET3_REG_LB_RXPROD2;
drivers/net/vmxnet3/vmxnet3_drv.c
4113
adapter->tx_prod_offset = VMXNET3_REG_TXPROD;
drivers/net/vmxnet3/vmxnet3_drv.c
4114
adapter->rx_prod_offset = VMXNET3_REG_RXPROD;
drivers/net/vmxnet3/vmxnet3_drv.c
4115
adapter->rx_prod2_offset = VMXNET3_REG_RXPROD2;
drivers/net/vmxnet3/vmxnet3_drv.c
4118
if (VMXNET3_VERSION_GE_6(adapter)) {
drivers/net/vmxnet3/vmxnet3_drv.c
4119
spin_lock_irqsave(&adapter->cmd_lock, flags);
drivers/net/vmxnet3/vmxnet3_drv.c
4120
VMXNET3_WRITE_BAR1_REG(adapter, VMXNET3_REG_CMD,
drivers/net/vmxnet3/vmxnet3_drv.c
4122
queues = VMXNET3_READ_BAR1_REG(adapter, VMXNET3_REG_CMD);
drivers/net/vmxnet3/vmxnet3_drv.c
4123
spin_unlock_irqrestore(&adapter->cmd_lock, flags);
drivers/net/vmxnet3/vmxnet3_drv.c
4125
adapter->num_rx_queues = min(num_rx_queues, ((queues >> 8) & 0xff));
drivers/net/vmxnet3/vmxnet3_drv.c
4126
adapter->num_tx_queues = min(num_tx_queues, (queues & 0xff));
drivers/net/vmxnet3/vmxnet3_drv.c
4128
adapter->num_rx_queues = min(num_rx_queues,
drivers/net/vmxnet3/vmxnet3_drv.c
4130
adapter->num_tx_queues = min(num_tx_queues,
drivers/net/vmxnet3/vmxnet3_drv.c
4133
if (adapter->num_rx_queues > VMXNET3_MAX_RX_QUEUES ||
drivers/net/vmxnet3/vmxnet3_drv.c
4134
adapter->num_tx_queues > VMXNET3_MAX_TX_QUEUES) {
drivers/net/vmxnet3/vmxnet3_drv.c
4135
adapter->queuesExtEnabled = true;
drivers/net/vmxnet3/vmxnet3_drv.c
4137
adapter->queuesExtEnabled = false;
drivers/net/vmxnet3/vmxnet3_drv.c
4140
adapter->queuesExtEnabled = false;
drivers/net/vmxnet3/vmxnet3_drv.c
4143
adapter->num_rx_queues = min(num_rx_queues,
drivers/net/vmxnet3/vmxnet3_drv.c
4145
adapter->num_tx_queues = min(num_tx_queues,
drivers/net/vmxnet3/vmxnet3_drv.c
4150
adapter->num_tx_queues, adapter->num_rx_queues);
drivers/net/vmxnet3/vmxnet3_drv.c
4152
adapter->rx_buf_per_pkt = 1;
drivers/net/vmxnet3/vmxnet3_drv.c
4154
size = sizeof(struct Vmxnet3_TxQueueDesc) * adapter->num_tx_queues;
drivers/net/vmxnet3/vmxnet3_drv.c
4155
size += sizeof(struct Vmxnet3_RxQueueDesc) * adapter->num_rx_queues;
drivers/net/vmxnet3/vmxnet3_drv.c
4156
adapter->tqd_start = dma_alloc_coherent(&adapter->pdev->dev, size,
drivers/net/vmxnet3/vmxnet3_drv.c
4157
&adapter->queue_desc_pa,
drivers/net/vmxnet3/vmxnet3_drv.c
4160
if (!adapter->tqd_start) {
drivers/net/vmxnet3/vmxnet3_drv.c
4165
adapter->rqd_start = (struct Vmxnet3_RxQueueDesc *)(adapter->tqd_start +
drivers/net/vmxnet3/vmxnet3_drv.c
4166
adapter->num_tx_queues);
drivers/net/vmxnet3/vmxnet3_drv.c
4167
if (VMXNET3_VERSION_GE_9(adapter))
drivers/net/vmxnet3/vmxnet3_drv.c
4168
adapter->latencyConf = &adapter->tqd_start->tsConf.latencyConf;
drivers/net/vmxnet3/vmxnet3_drv.c
4170
adapter->pm_conf = dma_alloc_coherent(&adapter->pdev->dev,
drivers/net/vmxnet3/vmxnet3_drv.c
4172
&adapter->pm_conf_pa,
drivers/net/vmxnet3/vmxnet3_drv.c
4174
if (adapter->pm_conf == NULL) {
drivers/net/vmxnet3/vmxnet3_drv.c
4181
adapter->rss_conf = dma_alloc_coherent(&adapter->pdev->dev,
drivers/net/vmxnet3/vmxnet3_drv.c
4183
&adapter->rss_conf_pa,
drivers/net/vmxnet3/vmxnet3_drv.c
4185
if (adapter->rss_conf == NULL) {
drivers/net/vmxnet3/vmxnet3_drv.c
4191
if (VMXNET3_VERSION_GE_3(adapter)) {
drivers/net/vmxnet3/vmxnet3_drv.c
4192
adapter->coal_conf =
drivers/net/vmxnet3/vmxnet3_drv.c
4193
dma_alloc_coherent(&adapter->pdev->dev,
drivers/net/vmxnet3/vmxnet3_drv.c
4196
&adapter->coal_conf_pa,
drivers/net/vmxnet3/vmxnet3_drv.c
4198
if (!adapter->coal_conf) {
drivers/net/vmxnet3/vmxnet3_drv.c
4202
adapter->coal_conf->coalMode = VMXNET3_COALESCE_DISABLED;
drivers/net/vmxnet3/vmxnet3_drv.c
4203
adapter->default_coal_mode = true;
drivers/net/vmxnet3/vmxnet3_drv.c
4206
if (VMXNET3_VERSION_GE_4(adapter)) {
drivers/net/vmxnet3/vmxnet3_drv.c
4207
adapter->default_rss_fields = true;
drivers/net/vmxnet3/vmxnet3_drv.c
4208
adapter->rss_fields = VMXNET3_RSS_FIELDS_DEFAULT;
drivers/net/vmxnet3/vmxnet3_drv.c
4212
vmxnet3_declare_features(adapter);
drivers/net/vmxnet3/vmxnet3_drv.c
4216
adapter->rxdata_desc_size = VMXNET3_VERSION_GE_3(adapter) ?
drivers/net/vmxnet3/vmxnet3_drv.c
4219
if (adapter->num_tx_queues == adapter->num_rx_queues)
drivers/net/vmxnet3/vmxnet3_drv.c
4220
adapter->share_intr = VMXNET3_INTR_BUDDYSHARE;
drivers/net/vmxnet3/vmxnet3_drv.c
4222
adapter->share_intr = VMXNET3_INTR_DONTSHARE;
drivers/net/vmxnet3/vmxnet3_drv.c
4224
vmxnet3_alloc_intr_resources(adapter);
drivers/net/vmxnet3/vmxnet3_drv.c
4227
if (adapter->num_rx_queues > 1 &&
drivers/net/vmxnet3/vmxnet3_drv.c
4228
adapter->intr.type == VMXNET3_IT_MSIX) {
drivers/net/vmxnet3/vmxnet3_drv.c
4229
adapter->rss = true;
drivers/net/vmxnet3/vmxnet3_drv.c
4234
adapter->rss = false;
drivers/net/vmxnet3/vmxnet3_drv.c
4238
vmxnet3_read_mac_addr(adapter, mac);
drivers/net/vmxnet3/vmxnet3_drv.c
4247
if (VMXNET3_VERSION_GE_6(adapter))
drivers/net/vmxnet3/vmxnet3_drv.c
4252
INIT_WORK(&adapter->work, vmxnet3_reset_work);
drivers/net/vmxnet3/vmxnet3_drv.c
4253
set_bit(VMXNET3_STATE_BIT_QUIESCED, &adapter->state);
drivers/net/vmxnet3/vmxnet3_drv.c
4255
if (adapter->intr.type == VMXNET3_IT_MSIX) {
drivers/net/vmxnet3/vmxnet3_drv.c
4257
for (i = 0; i < adapter->num_rx_queues; i++) {
drivers/net/vmxnet3/vmxnet3_drv.c
4258
netif_napi_add(adapter->netdev,
drivers/net/vmxnet3/vmxnet3_drv.c
4259
&adapter->rx_queue[i].napi,
drivers/net/vmxnet3/vmxnet3_drv.c
4263
netif_napi_add(adapter->netdev, &adapter->rx_queue[0].napi,
drivers/net/vmxnet3/vmxnet3_drv.c
4267
netif_set_real_num_tx_queues(adapter->netdev, adapter->num_tx_queues);
drivers/net/vmxnet3/vmxnet3_drv.c
4268
netif_set_real_num_rx_queues(adapter->netdev, adapter->num_rx_queues);
drivers/net/vmxnet3/vmxnet3_drv.c
4278
vmxnet3_check_link(adapter, false);
drivers/net/vmxnet3/vmxnet3_drv.c
4282
if (VMXNET3_VERSION_GE_3(adapter)) {
drivers/net/vmxnet3/vmxnet3_drv.c
4283
dma_free_coherent(&adapter->pdev->dev,
drivers/net/vmxnet3/vmxnet3_drv.c
4285
adapter->coal_conf, adapter->coal_conf_pa);
drivers/net/vmxnet3/vmxnet3_drv.c
4287
vmxnet3_free_intr_resources(adapter);
drivers/net/vmxnet3/vmxnet3_drv.c
4290
dma_free_coherent(&adapter->pdev->dev, sizeof(struct UPT1_RSSConf),
drivers/net/vmxnet3/vmxnet3_drv.c
4291
adapter->rss_conf, adapter->rss_conf_pa);
drivers/net/vmxnet3/vmxnet3_drv.c
4294
dma_free_coherent(&adapter->pdev->dev, sizeof(struct Vmxnet3_PMConf),
drivers/net/vmxnet3/vmxnet3_drv.c
4295
adapter->pm_conf, adapter->pm_conf_pa);
drivers/net/vmxnet3/vmxnet3_drv.c
4297
dma_free_coherent(&adapter->pdev->dev, size, adapter->tqd_start,
drivers/net/vmxnet3/vmxnet3_drv.c
4298
adapter->queue_desc_pa);
drivers/net/vmxnet3/vmxnet3_drv.c
4300
vmxnet3_free_pci_resources(adapter);
drivers/net/vmxnet3/vmxnet3_drv.c
4302
dma_free_coherent(&adapter->pdev->dev,
drivers/net/vmxnet3/vmxnet3_drv.c
4304
adapter->shared, adapter->shared_pa);
drivers/net/vmxnet3/vmxnet3_drv.c
4306
dma_unmap_single(&adapter->pdev->dev, adapter->adapter_pa,
drivers/net/vmxnet3/vmxnet3_drv.c
4318
struct vmxnet3_adapter *adapter = netdev_priv(netdev);
drivers/net/vmxnet3/vmxnet3_drv.c
4330
if (!VMXNET3_VERSION_GE_6(adapter)) {
drivers/net/vmxnet3/vmxnet3_drv.c
4333
if (VMXNET3_VERSION_GE_6(adapter)) {
drivers/net/vmxnet3/vmxnet3_drv.c
4334
spin_lock_irqsave(&adapter->cmd_lock, flags);
drivers/net/vmxnet3/vmxnet3_drv.c
4335
VMXNET3_WRITE_BAR1_REG(adapter, VMXNET3_REG_CMD,
drivers/net/vmxnet3/vmxnet3_drv.c
4337
rx_queues = VMXNET3_READ_BAR1_REG(adapter, VMXNET3_REG_CMD);
drivers/net/vmxnet3/vmxnet3_drv.c
4338
spin_unlock_irqrestore(&adapter->cmd_lock, flags);
drivers/net/vmxnet3/vmxnet3_drv.c
4349
cancel_work_sync(&adapter->work);
drivers/net/vmxnet3/vmxnet3_drv.c
4353
vmxnet3_free_intr_resources(adapter);
drivers/net/vmxnet3/vmxnet3_drv.c
4354
vmxnet3_free_pci_resources(adapter);
drivers/net/vmxnet3/vmxnet3_drv.c
4355
if (VMXNET3_VERSION_GE_3(adapter)) {
drivers/net/vmxnet3/vmxnet3_drv.c
4356
dma_free_coherent(&adapter->pdev->dev,
drivers/net/vmxnet3/vmxnet3_drv.c
4358
adapter->coal_conf, adapter->coal_conf_pa);
drivers/net/vmxnet3/vmxnet3_drv.c
4361
dma_free_coherent(&adapter->pdev->dev, sizeof(struct UPT1_RSSConf),
drivers/net/vmxnet3/vmxnet3_drv.c
4362
adapter->rss_conf, adapter->rss_conf_pa);
drivers/net/vmxnet3/vmxnet3_drv.c
4364
dma_free_coherent(&adapter->pdev->dev, sizeof(struct Vmxnet3_PMConf),
drivers/net/vmxnet3/vmxnet3_drv.c
4365
adapter->pm_conf, adapter->pm_conf_pa);
drivers/net/vmxnet3/vmxnet3_drv.c
4367
size = sizeof(struct Vmxnet3_TxQueueDesc) * adapter->num_tx_queues;
drivers/net/vmxnet3/vmxnet3_drv.c
4369
dma_free_coherent(&adapter->pdev->dev, size, adapter->tqd_start,
drivers/net/vmxnet3/vmxnet3_drv.c
4370
adapter->queue_desc_pa);
drivers/net/vmxnet3/vmxnet3_drv.c
4371
dma_free_coherent(&adapter->pdev->dev,
drivers/net/vmxnet3/vmxnet3_drv.c
4373
adapter->shared, adapter->shared_pa);
drivers/net/vmxnet3/vmxnet3_drv.c
4374
dma_unmap_single(&adapter->pdev->dev, adapter->adapter_pa,
drivers/net/vmxnet3/vmxnet3_drv.c
4382
struct vmxnet3_adapter *adapter = netdev_priv(netdev);
drivers/net/vmxnet3/vmxnet3_drv.c
4388
while (test_and_set_bit(VMXNET3_STATE_BIT_RESETTING, &adapter->state))
drivers/net/vmxnet3/vmxnet3_drv.c
4392
&adapter->state)) {
drivers/net/vmxnet3/vmxnet3_drv.c
4393
clear_bit(VMXNET3_STATE_BIT_RESETTING, &adapter->state);
drivers/net/vmxnet3/vmxnet3_drv.c
4396
spin_lock_irqsave(&adapter->cmd_lock, flags);
drivers/net/vmxnet3/vmxnet3_drv.c
4397
VMXNET3_WRITE_BAR1_REG(adapter, VMXNET3_REG_CMD,
drivers/net/vmxnet3/vmxnet3_drv.c
4399
spin_unlock_irqrestore(&adapter->cmd_lock, flags);
drivers/net/vmxnet3/vmxnet3_drv.c
440
struct vmxnet3_adapter *adapter)
drivers/net/vmxnet3/vmxnet3_drv.c
4400
vmxnet3_disable_all_intrs(adapter);
drivers/net/vmxnet3/vmxnet3_drv.c
4402
clear_bit(VMXNET3_STATE_BIT_RESETTING, &adapter->state);
drivers/net/vmxnet3/vmxnet3_drv.c
4413
struct vmxnet3_adapter *adapter = netdev_priv(netdev);
drivers/net/vmxnet3/vmxnet3_drv.c
4426
for (i = 0; i < adapter->num_rx_queues; i++)
drivers/net/vmxnet3/vmxnet3_drv.c
4427
napi_disable(&adapter->rx_queue[i].napi);
drivers/net/vmxnet3/vmxnet3_drv.c
4429
vmxnet3_disable_all_intrs(adapter);
drivers/net/vmxnet3/vmxnet3_drv.c
4430
vmxnet3_free_irqs(adapter);
drivers/net/vmxnet3/vmxnet3_drv.c
4431
vmxnet3_free_intr_resources(adapter);
drivers/net/vmxnet3/vmxnet3_drv.c
4436
pmConf = adapter->pm_conf;
drivers/net/vmxnet3/vmxnet3_drv.c
4439
if (adapter->wol & WAKE_UCAST) {
drivers/net/vmxnet3/vmxnet3_drv.c
4449
if (adapter->wol & WAKE_ARP) {
drivers/net/vmxnet3/vmxnet3_drv.c
4499
if (adapter->wol & WAKE_MAGIC)
drivers/net/vmxnet3/vmxnet3_drv.c
4504
adapter->shared->devRead.pmConfDesc.confVer = cpu_to_le32(1);
drivers/net/vmxnet3/vmxnet3_drv.c
4505
adapter->shared->devRead.pmConfDesc.confLen = cpu_to_le32(sizeof(
drivers/net/vmxnet3/vmxnet3_drv.c
4507
adapter->shared->devRead.pmConfDesc.confPA =
drivers/net/vmxnet3/vmxnet3_drv.c
4508
cpu_to_le64(adapter->pm_conf_pa);
drivers/net/vmxnet3/vmxnet3_drv.c
4510
spin_lock_irqsave(&adapter->cmd_lock, flags);
drivers/net/vmxnet3/vmxnet3_drv.c
4511
VMXNET3_WRITE_BAR1_REG(adapter, VMXNET3_REG_CMD,
drivers/net/vmxnet3/vmxnet3_drv.c
4513
spin_unlock_irqrestore(&adapter->cmd_lock, flags);
drivers/net/vmxnet3/vmxnet3_drv.c
4517
adapter->wol);
drivers/net/vmxnet3/vmxnet3_drv.c
4532
struct vmxnet3_adapter *adapter = netdev_priv(netdev);
drivers/net/vmxnet3/vmxnet3_drv.c
4545
vmxnet3_alloc_intr_resources(adapter);
drivers/net/vmxnet3/vmxnet3_drv.c
4554
spin_lock_irqsave(&adapter->cmd_lock, flags);
drivers/net/vmxnet3/vmxnet3_drv.c
4555
VMXNET3_WRITE_BAR1_REG(adapter, VMXNET3_REG_CMD,
drivers/net/vmxnet3/vmxnet3_drv.c
4557
spin_unlock_irqrestore(&adapter->cmd_lock, flags);
drivers/net/vmxnet3/vmxnet3_drv.c
4558
vmxnet3_tq_cleanup_all(adapter);
drivers/net/vmxnet3/vmxnet3_drv.c
4559
vmxnet3_rq_cleanup_all(adapter);
drivers/net/vmxnet3/vmxnet3_drv.c
4561
vmxnet3_reset_dev(adapter);
drivers/net/vmxnet3/vmxnet3_drv.c
4562
err = vmxnet3_activate_dev(adapter);
drivers/net/vmxnet3/vmxnet3_drv.c
4566
vmxnet3_force_close(adapter);
drivers/net/vmxnet3/vmxnet3_drv.c
457
&gdesc->tcd), tq, adapter->pdev,
drivers/net/vmxnet3/vmxnet3_drv.c
458
adapter, &bq);
drivers/net/vmxnet3/vmxnet3_drv.c
468
if (unlikely(vmxnet3_tq_stopped(tq, adapter) &&
drivers/net/vmxnet3/vmxnet3_drv.c
471
netif_carrier_ok(adapter->netdev))) {
drivers/net/vmxnet3/vmxnet3_drv.c
472
vmxnet3_tq_wake(tq, adapter);
drivers/net/vmxnet3/vmxnet3_drv.c
482
struct vmxnet3_adapter *adapter)
drivers/net/vmxnet3/vmxnet3_drv.c
497
vmxnet3_unmap_tx_buf(tbi, adapter->pdev);
drivers/net/vmxnet3/vmxnet3_drv.c
525
struct vmxnet3_adapter *adapter)
drivers/net/vmxnet3/vmxnet3_drv.c
528
dma_free_coherent(&adapter->pdev->dev, tq->tx_ring.size *
drivers/net/vmxnet3/vmxnet3_drv.c
534
dma_free_coherent(&adapter->pdev->dev,
drivers/net/vmxnet3/vmxnet3_drv.c
54
vmxnet3_write_mac_addr(struct vmxnet3_adapter *adapter, const u8 *mac);
drivers/net/vmxnet3/vmxnet3_drv.c
540
dma_free_coherent(&adapter->pdev->dev,
drivers/net/vmxnet3/vmxnet3_drv.c
546
dma_free_coherent(&adapter->pdev->dev, tq->comp_ring.size *
drivers/net/vmxnet3/vmxnet3_drv.c
558
vmxnet3_tq_destroy_all(struct vmxnet3_adapter *adapter)
drivers/net/vmxnet3/vmxnet3_drv.c
562
for (i = 0; i < adapter->num_tx_queues; i++)
drivers/net/vmxnet3/vmxnet3_drv.c
563
vmxnet3_tq_destroy(&adapter->tx_queue[i], adapter);
drivers/net/vmxnet3/vmxnet3_drv.c
569
struct vmxnet3_adapter *adapter)
drivers/net/vmxnet3/vmxnet3_drv.c
60
vmxnet3_enable_intr(struct vmxnet3_adapter *adapter, unsigned intr_idx)
drivers/net/vmxnet3/vmxnet3_drv.c
603
struct vmxnet3_adapter *adapter)
drivers/net/vmxnet3/vmxnet3_drv.c
608
tq->tx_ring.base = dma_alloc_coherent(&adapter->pdev->dev,
drivers/net/vmxnet3/vmxnet3_drv.c
612
netdev_err(adapter->netdev, "failed to allocate tx ring\n");
drivers/net/vmxnet3/vmxnet3_drv.c
616
tq->data_ring.base = dma_alloc_coherent(&adapter->pdev->dev,
drivers/net/vmxnet3/vmxnet3_drv.c
62
VMXNET3_WRITE_BAR0_REG(adapter, VMXNET3_REG_IMR + intr_idx * 8, 0);
drivers/net/vmxnet3/vmxnet3_drv.c
620
netdev_err(adapter->netdev, "failed to allocate tx data ring\n");
drivers/net/vmxnet3/vmxnet3_drv.c
625
tq->ts_ring.base = dma_alloc_coherent(&adapter->pdev->dev,
drivers/net/vmxnet3/vmxnet3_drv.c
629
netdev_err(adapter->netdev, "failed to allocate tx ts ring\n");
drivers/net/vmxnet3/vmxnet3_drv.c
636
tq->comp_ring.base = dma_alloc_coherent(&adapter->pdev->dev,
drivers/net/vmxnet3/vmxnet3_drv.c
640
netdev_err(adapter->netdev, "failed to allocate tx comp ring\n");
drivers/net/vmxnet3/vmxnet3_drv.c
646
dev_to_node(&adapter->pdev->dev));
drivers/net/vmxnet3/vmxnet3_drv.c
653
vmxnet3_tq_destroy(tq, adapter);
drivers/net/vmxnet3/vmxnet3_drv.c
658
vmxnet3_tq_cleanup_all(struct vmxnet3_adapter *adapter)
drivers/net/vmxnet3/vmxnet3_drv.c
662
for (i = 0; i < adapter->num_tx_queues; i++)
drivers/net/vmxnet3/vmxnet3_drv.c
663
vmxnet3_tq_cleanup(&adapter->tx_queue[i], adapter);
drivers/net/vmxnet3/vmxnet3_drv.c
67
vmxnet3_disable_intr(struct vmxnet3_adapter *adapter, unsigned intr_idx)
drivers/net/vmxnet3/vmxnet3_drv.c
674
int num_to_alloc, struct vmxnet3_adapter *adapter)
drivers/net/vmxnet3/vmxnet3_drv.c
69
VMXNET3_WRITE_BAR0_REG(adapter, VMXNET3_REG_IMR + intr_idx * 8, 1);
drivers/net/vmxnet3/vmxnet3_drv.c
701
rbi->skb = __netdev_alloc_skb_ip_align(adapter->netdev,
drivers/net/vmxnet3/vmxnet3_drv.c
710
&adapter->pdev->dev,
drivers/net/vmxnet3/vmxnet3_drv.c
713
if (dma_mapping_error(&adapter->pdev->dev,
drivers/net/vmxnet3/vmxnet3_drv.c
735
&adapter->pdev->dev,
drivers/net/vmxnet3/vmxnet3_drv.c
738
if (dma_mapping_error(&adapter->pdev->dev,
drivers/net/vmxnet3/vmxnet3_drv.c
767
netdev_dbg(adapter->netdev,
drivers/net/vmxnet3/vmxnet3_drv.c
77
vmxnet3_enable_all_intrs(struct vmxnet3_adapter *adapter)
drivers/net/vmxnet3/vmxnet3_drv.c
796
struct vmxnet3_adapter *adapter)
drivers/net/vmxnet3/vmxnet3_drv.c
81
for (i = 0; i < adapter->intr.num_intrs; i++)
drivers/net/vmxnet3/vmxnet3_drv.c
82
vmxnet3_enable_intr(adapter, i);
drivers/net/vmxnet3/vmxnet3_drv.c
823
netdev_dbg(adapter->netdev,
drivers/net/vmxnet3/vmxnet3_drv.c
83
if (!VMXNET3_VERSION_GE_6(adapter) ||
drivers/net/vmxnet3/vmxnet3_drv.c
84
!adapter->queuesExtEnabled) {
drivers/net/vmxnet3/vmxnet3_drv.c
85
adapter->shared->devRead.intrConf.intrCtrl &=
drivers/net/vmxnet3/vmxnet3_drv.c
850
tbi->dma_addr = dma_map_single(&adapter->pdev->dev,
drivers/net/vmxnet3/vmxnet3_drv.c
853
if (dma_mapping_error(&adapter->pdev->dev, tbi->dma_addr))
drivers/net/vmxnet3/vmxnet3_drv.c
865
netdev_dbg(adapter->netdev,
drivers/net/vmxnet3/vmxnet3_drv.c
88
adapter->shared->devReadExt.intrConfExt.intrCtrl &=
drivers/net/vmxnet3/vmxnet3_drv.c
892
tbi->dma_addr = skb_frag_dma_map(&adapter->pdev->dev, frag,
drivers/net/vmxnet3/vmxnet3_drv.c
895
if (dma_mapping_error(&adapter->pdev->dev, tbi->dma_addr))
drivers/net/vmxnet3/vmxnet3_drv.c
907
netdev_dbg(adapter->netdev,
drivers/net/vmxnet3/vmxnet3_drv.c
936
vmxnet3_tq_init_all(struct vmxnet3_adapter *adapter)
drivers/net/vmxnet3/vmxnet3_drv.c
940
for (i = 0; i < adapter->num_tx_queues; i++)
drivers/net/vmxnet3/vmxnet3_drv.c
941
vmxnet3_tq_init(&adapter->tx_queue[i], adapter);
drivers/net/vmxnet3/vmxnet3_drv.c
95
vmxnet3_disable_all_intrs(struct vmxnet3_adapter *adapter)
drivers/net/vmxnet3/vmxnet3_drv.c
965
struct vmxnet3_adapter *adapter)
drivers/net/vmxnet3/vmxnet3_drv.c
970
if (VMXNET3_VERSION_GE_4(adapter) && skb->encapsulation) {
drivers/net/vmxnet3/vmxnet3_drv.c
987
if (VMXNET3_VERSION_GE_4(adapter) &&
drivers/net/vmxnet3/vmxnet3_drv.c
99
if (!VMXNET3_VERSION_GE_6(adapter) ||
drivers/net/vmxnet3/vmxnet3_ethtool.c
1021
if (rss_fields != adapter->rss_fields) {
drivers/net/vmxnet3/vmxnet3_ethtool.c
1022
adapter->default_rss_fields = false;
drivers/net/vmxnet3/vmxnet3_ethtool.c
1024
struct Vmxnet3_DriverShared *shared = adapter->shared;
drivers/net/vmxnet3/vmxnet3_ethtool.c
1028
if (VMXNET3_VERSION_GE_7(adapter)) {
drivers/net/vmxnet3/vmxnet3_ethtool.c
1031
vmxnet3_check_ptcapability(adapter->ptcap_supported[0],
drivers/net/vmxnet3/vmxnet3_ethtool.c
1033
adapter->dev_caps[0] |= 1UL << VMXNET3_CAP_UDP_RSS;
drivers/net/vmxnet3/vmxnet3_ethtool.c
1035
adapter->dev_caps[0] &= ~(1UL << VMXNET3_CAP_UDP_RSS);
drivers/net/vmxnet3/vmxnet3_ethtool.c
1038
vmxnet3_check_ptcapability(adapter->ptcap_supported[0],
drivers/net/vmxnet3/vmxnet3_ethtool.c
1040
adapter->dev_caps[0] |= 1UL << VMXNET3_CAP_ESP_RSS_IPV4;
drivers/net/vmxnet3/vmxnet3_ethtool.c
1042
adapter->dev_caps[0] &= ~(1UL << VMXNET3_CAP_ESP_RSS_IPV4);
drivers/net/vmxnet3/vmxnet3_ethtool.c
1045
vmxnet3_check_ptcapability(adapter->ptcap_supported[0],
drivers/net/vmxnet3/vmxnet3_ethtool.c
1047
adapter->dev_caps[0] |= 1UL << VMXNET3_CAP_ESP_RSS_IPV6;
drivers/net/vmxnet3/vmxnet3_ethtool.c
1049
adapter->dev_caps[0] &= ~(1UL << VMXNET3_CAP_ESP_RSS_IPV6);
drivers/net/vmxnet3/vmxnet3_ethtool.c
1052
VMXNET3_WRITE_BAR1_REG(adapter, VMXNET3_REG_DCR,
drivers/net/vmxnet3/vmxnet3_ethtool.c
1053
adapter->dev_caps[0]);
drivers/net/vmxnet3/vmxnet3_ethtool.c
1054
spin_lock_irqsave(&adapter->cmd_lock, flags);
drivers/net/vmxnet3/vmxnet3_ethtool.c
1055
VMXNET3_WRITE_BAR1_REG(adapter, VMXNET3_REG_CMD,
drivers/net/vmxnet3/vmxnet3_ethtool.c
1057
adapter->dev_caps[0] = VMXNET3_READ_BAR1_REG(adapter,
drivers/net/vmxnet3/vmxnet3_ethtool.c
1059
spin_unlock_irqrestore(&adapter->cmd_lock, flags);
drivers/net/vmxnet3/vmxnet3_ethtool.c
1061
spin_lock_irqsave(&adapter->cmd_lock, flags);
drivers/net/vmxnet3/vmxnet3_ethtool.c
1063
VMXNET3_WRITE_BAR1_REG(adapter, VMXNET3_REG_CMD,
drivers/net/vmxnet3/vmxnet3_ethtool.c
1069
VMXNET3_WRITE_BAR1_REG(adapter, VMXNET3_REG_CMD,
drivers/net/vmxnet3/vmxnet3_ethtool.c
1071
adapter->rss_fields =
drivers/net/vmxnet3/vmxnet3_ethtool.c
1072
VMXNET3_READ_BAR1_REG(adapter, VMXNET3_REG_CMD);
drivers/net/vmxnet3/vmxnet3_ethtool.c
1073
spin_unlock_irqrestore(&adapter->cmd_lock, flags);
drivers/net/vmxnet3/vmxnet3_ethtool.c
1078
adapter->rss_fields = rss_fields;
drivers/net/vmxnet3/vmxnet3_ethtool.c
1086
struct vmxnet3_adapter *adapter = netdev_priv(netdev);
drivers/net/vmxnet3/vmxnet3_ethtool.c
1088
return adapter->num_rx_queues;
drivers/net/vmxnet3/vmxnet3_ethtool.c
1095
struct vmxnet3_adapter *adapter = netdev_priv(netdev);
drivers/net/vmxnet3/vmxnet3_ethtool.c
1096
struct UPT1_RSSConf *rssConf = adapter->rss_conf;
drivers/net/vmxnet3/vmxnet3_ethtool.c
1104
struct vmxnet3_adapter *adapter = netdev_priv(netdev);
drivers/net/vmxnet3/vmxnet3_ethtool.c
1105
struct UPT1_RSSConf *rssConf = adapter->rss_conf;
drivers/net/vmxnet3/vmxnet3_ethtool.c
1125
struct vmxnet3_adapter *adapter = netdev_priv(netdev);
drivers/net/vmxnet3/vmxnet3_ethtool.c
1126
struct UPT1_RSSConf *rssConf = adapter->rss_conf;
drivers/net/vmxnet3/vmxnet3_ethtool.c
1138
spin_lock_irqsave(&adapter->cmd_lock, flags);
drivers/net/vmxnet3/vmxnet3_ethtool.c
1139
VMXNET3_WRITE_BAR1_REG(adapter, VMXNET3_REG_CMD,
drivers/net/vmxnet3/vmxnet3_ethtool.c
1141
spin_unlock_irqrestore(&adapter->cmd_lock, flags);
drivers/net/vmxnet3/vmxnet3_ethtool.c
1153
struct vmxnet3_adapter *adapter = netdev_priv(netdev);
drivers/net/vmxnet3/vmxnet3_ethtool.c
1155
if (!VMXNET3_VERSION_GE_3(adapter))
drivers/net/vmxnet3/vmxnet3_ethtool.c
1158
switch (adapter->coal_conf->coalMode) {
drivers/net/vmxnet3/vmxnet3_ethtool.c
1167
adapter->coal_conf->coalPara.coalStatic.tx_comp_depth;
drivers/net/vmxnet3/vmxnet3_ethtool.c
1169
adapter->coal_conf->coalPara.coalStatic.rx_depth;
drivers/net/vmxnet3/vmxnet3_ethtool.c
1174
rbc_rate = adapter->coal_conf->coalPara.coalRbc.rbc_rate;
drivers/net/vmxnet3/vmxnet3_ethtool.c
1190
struct vmxnet3_adapter *adapter = netdev_priv(netdev);
drivers/net/vmxnet3/vmxnet3_ethtool.c
1191
struct Vmxnet3_DriverShared *shared = adapter->shared;
drivers/net/vmxnet3/vmxnet3_ethtool.c
1195
if (!VMXNET3_VERSION_GE_3(adapter))
drivers/net/vmxnet3/vmxnet3_ethtool.c
1202
memset(adapter->coal_conf, 0, sizeof(*adapter->coal_conf));
drivers/net/vmxnet3/vmxnet3_ethtool.c
1203
adapter->coal_conf->coalMode = VMXNET3_COALESCE_DISABLED;
drivers/net/vmxnet3/vmxnet3_ethtool.c
1222
memset(adapter->coal_conf, 0, sizeof(*adapter->coal_conf));
drivers/net/vmxnet3/vmxnet3_ethtool.c
1223
adapter->coal_conf->coalMode = VMXNET3_COALESCE_RBC;
drivers/net/vmxnet3/vmxnet3_ethtool.c
1224
adapter->coal_conf->coalPara.coalRbc.rbc_rate = rbc_rate;
drivers/net/vmxnet3/vmxnet3_ethtool.c
1233
memset(adapter->coal_conf, 0, sizeof(*adapter->coal_conf));
drivers/net/vmxnet3/vmxnet3_ethtool.c
1234
adapter->coal_conf->coalMode = VMXNET3_COALESCE_ADAPT;
drivers/net/vmxnet3/vmxnet3_ethtool.c
1247
memset(adapter->coal_conf, 0, sizeof(*adapter->coal_conf));
drivers/net/vmxnet3/vmxnet3_ethtool.c
1248
adapter->coal_conf->coalMode = VMXNET3_COALESCE_STATIC;
drivers/net/vmxnet3/vmxnet3_ethtool.c
1250
adapter->coal_conf->coalPara.coalStatic.tx_comp_depth =
drivers/net/vmxnet3/vmxnet3_ethtool.c
1255
adapter->coal_conf->coalPara.coalStatic.rx_depth =
drivers/net/vmxnet3/vmxnet3_ethtool.c
1260
adapter->coal_conf->coalPara.coalStatic.tx_depth =
drivers/net/vmxnet3/vmxnet3_ethtool.c
1266
adapter->default_coal_mode = false;
drivers/net/vmxnet3/vmxnet3_ethtool.c
1268
spin_lock_irqsave(&adapter->cmd_lock, flags);
drivers/net/vmxnet3/vmxnet3_ethtool.c
1271
cpu_to_le32(sizeof(*adapter->coal_conf));
drivers/net/vmxnet3/vmxnet3_ethtool.c
1272
cmdInfo->varConf.confPA = cpu_to_le64(adapter->coal_conf_pa);
drivers/net/vmxnet3/vmxnet3_ethtool.c
1273
VMXNET3_WRITE_BAR1_REG(adapter, VMXNET3_REG_CMD,
drivers/net/vmxnet3/vmxnet3_ethtool.c
1275
spin_unlock_irqrestore(&adapter->cmd_lock, flags);
drivers/net/vmxnet3/vmxnet3_ethtool.c
1284
struct vmxnet3_adapter *adapter = netdev_priv(netdev);
drivers/net/vmxnet3/vmxnet3_ethtool.c
1286
if (IS_ENABLED(CONFIG_PCI_MSI) && adapter->intr.type == VMXNET3_IT_MSIX) {
drivers/net/vmxnet3/vmxnet3_ethtool.c
1287
if (adapter->share_intr == VMXNET3_INTR_BUDDYSHARE) {
drivers/net/vmxnet3/vmxnet3_ethtool.c
1288
ec->combined_count = adapter->num_tx_queues;
drivers/net/vmxnet3/vmxnet3_ethtool.c
1290
ec->rx_count = adapter->num_rx_queues;
drivers/net/vmxnet3/vmxnet3_ethtool.c
1292
adapter->share_intr == VMXNET3_INTR_TXSHARE ?
drivers/net/vmxnet3/vmxnet3_ethtool.c
1293
1 : adapter->num_tx_queues;
drivers/net/vmxnet3/vmxnet3_ethtool.c
139
struct vmxnet3_adapter *adapter;
drivers/net/vmxnet3/vmxnet3_ethtool.c
147
adapter = netdev_priv(netdev);
drivers/net/vmxnet3/vmxnet3_ethtool.c
150
spin_lock_irqsave(&adapter->cmd_lock, flags);
drivers/net/vmxnet3/vmxnet3_ethtool.c
151
VMXNET3_WRITE_BAR1_REG(adapter, VMXNET3_REG_CMD, VMXNET3_CMD_GET_STATS);
drivers/net/vmxnet3/vmxnet3_ethtool.c
152
spin_unlock_irqrestore(&adapter->cmd_lock, flags);
drivers/net/vmxnet3/vmxnet3_ethtool.c
154
for (i = 0; i < adapter->num_tx_queues; i++) {
drivers/net/vmxnet3/vmxnet3_ethtool.c
155
devTxStats = &adapter->tqd_start[i].stats;
drivers/net/vmxnet3/vmxnet3_ethtool.c
156
drvTxStats = &adapter->tx_queue[i].stats;
drivers/net/vmxnet3/vmxnet3_ethtool.c
167
for (i = 0; i < adapter->num_rx_queues; i++) {
drivers/net/vmxnet3/vmxnet3_ethtool.c
168
devRxStats = &adapter->rqd_start[i].stats;
drivers/net/vmxnet3/vmxnet3_ethtool.c
169
drvRxStats = &adapter->rx_queue[i].stats;
drivers/net/vmxnet3/vmxnet3_ethtool.c
187
struct vmxnet3_adapter *adapter = netdev_priv(netdev);
drivers/net/vmxnet3/vmxnet3_ethtool.c
192
adapter->num_tx_queues +
drivers/net/vmxnet3/vmxnet3_ethtool.c
195
adapter->num_rx_queues +
drivers/net/vmxnet3/vmxnet3_ethtool.c
212
struct vmxnet3_adapter *adapter = netdev_priv(netdev);
drivers/net/vmxnet3/vmxnet3_ethtool.c
215
(1 + adapter->intr.num_intrs) +
drivers/net/vmxnet3/vmxnet3_ethtool.c
216
(1 + adapter->num_tx_queues * 17 /* Tx queue registers */) +
drivers/net/vmxnet3/vmxnet3_ethtool.c
217
(1 + adapter->num_rx_queues * 23 /* Rx queue registers */)) *
drivers/net/vmxnet3/vmxnet3_ethtool.c
225
struct vmxnet3_adapter *adapter = netdev_priv(netdev);
drivers/net/vmxnet3/vmxnet3_ethtool.c
232
strscpy(drvinfo->bus_info, pci_name(adapter->pdev),
drivers/net/vmxnet3/vmxnet3_ethtool.c
240
struct vmxnet3_adapter *adapter = netdev_priv(netdev);
drivers/net/vmxnet3/vmxnet3_ethtool.c
246
for (j = 0; j < adapter->num_tx_queues; j++) {
drivers/net/vmxnet3/vmxnet3_ethtool.c
253
for (j = 0; j < adapter->num_rx_queues; j++) {
drivers/net/vmxnet3/vmxnet3_ethtool.c
267
struct vmxnet3_adapter *adapter = netdev_priv(netdev);
drivers/net/vmxnet3/vmxnet3_ethtool.c
274
if (vmxnet3_xdp_enabled(adapter) && (features & NETIF_F_LRO)) {
drivers/net/vmxnet3/vmxnet3_ethtool.c
286
struct vmxnet3_adapter *adapter = netdev_priv(netdev);
drivers/net/vmxnet3/vmxnet3_ethtool.c
289
if (VMXNET3_VERSION_GE_4(adapter) &&
drivers/net/vmxnet3/vmxnet3_ethtool.c
326
struct vmxnet3_adapter *adapter = netdev_priv(netdev);
drivers/net/vmxnet3/vmxnet3_ethtool.c
328
if (VMXNET3_VERSION_GE_4(adapter)) {
drivers/net/vmxnet3/vmxnet3_ethtool.c
338
if (VMXNET3_VERSION_GE_7(adapter)) {
drivers/net/vmxnet3/vmxnet3_ethtool.c
341
if (vmxnet3_check_ptcapability(adapter->ptcap_supported[0],
drivers/net/vmxnet3/vmxnet3_ethtool.c
343
adapter->dev_caps[0] |= 1UL << VMXNET3_CAP_GENEVE_CHECKSUM_OFFLOAD;
drivers/net/vmxnet3/vmxnet3_ethtool.c
345
if (vmxnet3_check_ptcapability(adapter->ptcap_supported[0],
drivers/net/vmxnet3/vmxnet3_ethtool.c
347
adapter->dev_caps[0] |= 1UL << VMXNET3_CAP_VXLAN_CHECKSUM_OFFLOAD;
drivers/net/vmxnet3/vmxnet3_ethtool.c
349
if (vmxnet3_check_ptcapability(adapter->ptcap_supported[0],
drivers/net/vmxnet3/vmxnet3_ethtool.c
351
adapter->dev_caps[0] |= 1UL << VMXNET3_CAP_GENEVE_TSO;
drivers/net/vmxnet3/vmxnet3_ethtool.c
353
if (vmxnet3_check_ptcapability(adapter->ptcap_supported[0],
drivers/net/vmxnet3/vmxnet3_ethtool.c
355
adapter->dev_caps[0] |= 1UL << VMXNET3_CAP_VXLAN_TSO;
drivers/net/vmxnet3/vmxnet3_ethtool.c
357
if (vmxnet3_check_ptcapability(adapter->ptcap_supported[0],
drivers/net/vmxnet3/vmxnet3_ethtool.c
359
adapter->dev_caps[0] |= 1UL << VMXNET3_CAP_GENEVE_OUTER_CHECKSUM_OFFLOAD;
drivers/net/vmxnet3/vmxnet3_ethtool.c
361
if (vmxnet3_check_ptcapability(adapter->ptcap_supported[0],
drivers/net/vmxnet3/vmxnet3_ethtool.c
363
adapter->dev_caps[0] |= 1UL << VMXNET3_CAP_VXLAN_OUTER_CHECKSUM_OFFLOAD;
drivers/net/vmxnet3/vmxnet3_ethtool.c
366
VMXNET3_WRITE_BAR1_REG(adapter, VMXNET3_REG_DCR, adapter->dev_caps[0]);
drivers/net/vmxnet3/vmxnet3_ethtool.c
367
spin_lock_irqsave(&adapter->cmd_lock, flags);
drivers/net/vmxnet3/vmxnet3_ethtool.c
368
VMXNET3_WRITE_BAR1_REG(adapter, VMXNET3_REG_CMD, VMXNET3_CMD_GET_DCR0_REG);
drivers/net/vmxnet3/vmxnet3_ethtool.c
369
adapter->dev_caps[0] = VMXNET3_READ_BAR1_REG(adapter, VMXNET3_REG_CMD);
drivers/net/vmxnet3/vmxnet3_ethtool.c
370
spin_unlock_irqrestore(&adapter->cmd_lock, flags);
drivers/net/vmxnet3/vmxnet3_ethtool.c
372
if (!(adapter->dev_caps[0] & (1UL << VMXNET3_CAP_GENEVE_CHECKSUM_OFFLOAD)) &&
drivers/net/vmxnet3/vmxnet3_ethtool.c
373
!(adapter->dev_caps[0] & (1UL << VMXNET3_CAP_VXLAN_CHECKSUM_OFFLOAD)) &&
drivers/net/vmxnet3/vmxnet3_ethtool.c
374
!(adapter->dev_caps[0] & (1UL << VMXNET3_CAP_GENEVE_TSO)) &&
drivers/net/vmxnet3/vmxnet3_ethtool.c
375
!(adapter->dev_caps[0] & (1UL << VMXNET3_CAP_VXLAN_TSO))) {
drivers/net/vmxnet3/vmxnet3_ethtool.c
378
if (!(adapter->dev_caps[0] & (1UL << VMXNET3_CAP_GENEVE_OUTER_CHECKSUM_OFFLOAD)) &&
drivers/net/vmxnet3/vmxnet3_ethtool.c
379
!(adapter->dev_caps[0] & (1UL << VMXNET3_CAP_VXLAN_OUTER_CHECKSUM_OFFLOAD))) {
drivers/net/vmxnet3/vmxnet3_ethtool.c
387
struct vmxnet3_adapter *adapter = netdev_priv(netdev);
drivers/net/vmxnet3/vmxnet3_ethtool.c
389
if (VMXNET3_VERSION_GE_4(adapter)) {
drivers/net/vmxnet3/vmxnet3_ethtool.c
396
if (VMXNET3_VERSION_GE_7(adapter)) {
drivers/net/vmxnet3/vmxnet3_ethtool.c
399
adapter->dev_caps[0] &= ~(1UL << VMXNET3_CAP_GENEVE_CHECKSUM_OFFLOAD |
drivers/net/vmxnet3/vmxnet3_ethtool.c
406
VMXNET3_WRITE_BAR1_REG(adapter, VMXNET3_REG_DCR, adapter->dev_caps[0]);
drivers/net/vmxnet3/vmxnet3_ethtool.c
407
spin_lock_irqsave(&adapter->cmd_lock, flags);
drivers/net/vmxnet3/vmxnet3_ethtool.c
408
VMXNET3_WRITE_BAR1_REG(adapter, VMXNET3_REG_CMD, VMXNET3_CMD_GET_DCR0_REG);
drivers/net/vmxnet3/vmxnet3_ethtool.c
409
adapter->dev_caps[0] = VMXNET3_READ_BAR1_REG(adapter, VMXNET3_REG_CMD);
drivers/net/vmxnet3/vmxnet3_ethtool.c
410
spin_unlock_irqrestore(&adapter->cmd_lock, flags);
drivers/net/vmxnet3/vmxnet3_ethtool.c
416
struct vmxnet3_adapter *adapter = netdev_priv(netdev);
drivers/net/vmxnet3/vmxnet3_ethtool.c
426
adapter->shared->devRead.misc.uptFeatures |=
drivers/net/vmxnet3/vmxnet3_ethtool.c
429
adapter->shared->devRead.misc.uptFeatures &=
drivers/net/vmxnet3/vmxnet3_ethtool.c
434
adapter->shared->devRead.misc.uptFeatures |=
drivers/net/vmxnet3/vmxnet3_ethtool.c
437
adapter->shared->devRead.misc.uptFeatures &=
drivers/net/vmxnet3/vmxnet3_ethtool.c
441
adapter->shared->devRead.misc.uptFeatures |=
drivers/net/vmxnet3/vmxnet3_ethtool.c
444
adapter->shared->devRead.misc.uptFeatures &=
drivers/net/vmxnet3/vmxnet3_ethtool.c
449
adapter->shared->devRead.misc.uptFeatures |=
drivers/net/vmxnet3/vmxnet3_ethtool.c
454
adapter->shared->devRead.misc.uptFeatures &=
drivers/net/vmxnet3/vmxnet3_ethtool.c
458
spin_lock_irqsave(&adapter->cmd_lock, flags);
drivers/net/vmxnet3/vmxnet3_ethtool.c
459
VMXNET3_WRITE_BAR1_REG(adapter, VMXNET3_REG_CMD,
drivers/net/vmxnet3/vmxnet3_ethtool.c
461
spin_unlock_irqrestore(&adapter->cmd_lock, flags);
drivers/net/vmxnet3/vmxnet3_ethtool.c
470
struct vmxnet3_adapter *adapter = netdev_priv(netdev);
drivers/net/vmxnet3/vmxnet3_ethtool.c
476
spin_lock_irqsave(&adapter->cmd_lock, flags);
drivers/net/vmxnet3/vmxnet3_ethtool.c
477
VMXNET3_WRITE_BAR1_REG(adapter, VMXNET3_REG_CMD, VMXNET3_CMD_GET_STATS);
drivers/net/vmxnet3/vmxnet3_ethtool.c
478
spin_unlock_irqrestore(&adapter->cmd_lock, flags);
drivers/net/vmxnet3/vmxnet3_ethtool.c
481
for (j = 0; j < adapter->num_tx_queues; j++) {
drivers/net/vmxnet3/vmxnet3_ethtool.c
482
base = (u8 *)&adapter->tqd_start[j].stats;
drivers/net/vmxnet3/vmxnet3_ethtool.c
488
base = (u8 *)&adapter->tx_queue[j].stats;
drivers/net/vmxnet3/vmxnet3_ethtool.c
494
for (j = 0; j < adapter->num_rx_queues; j++) {
drivers/net/vmxnet3/vmxnet3_ethtool.c
495
base = (u8 *)&adapter->rqd_start[j].stats;
drivers/net/vmxnet3/vmxnet3_ethtool.c
501
base = (u8 *)&adapter->rx_queue[j].stats;
drivers/net/vmxnet3/vmxnet3_ethtool.c
507
base = (u8 *)adapter;
drivers/net/vmxnet3/vmxnet3_ethtool.c
522
struct vmxnet3_adapter *adapter = netdev_priv(netdev);
drivers/net/vmxnet3/vmxnet3_ethtool.c
532
buf[j++] = VMXNET3_READ_BAR1_REG(adapter, VMXNET3_REG_VRRS);
drivers/net/vmxnet3/vmxnet3_ethtool.c
533
buf[j++] = VMXNET3_READ_BAR1_REG(adapter, VMXNET3_REG_UVRS);
drivers/net/vmxnet3/vmxnet3_ethtool.c
534
buf[j++] = VMXNET3_READ_BAR1_REG(adapter, VMXNET3_REG_DSAL);
drivers/net/vmxnet3/vmxnet3_ethtool.c
535
buf[j++] = VMXNET3_READ_BAR1_REG(adapter, VMXNET3_REG_DSAH);
drivers/net/vmxnet3/vmxnet3_ethtool.c
536
buf[j++] = VMXNET3_READ_BAR1_REG(adapter, VMXNET3_REG_CMD);
drivers/net/vmxnet3/vmxnet3_ethtool.c
537
buf[j++] = VMXNET3_READ_BAR1_REG(adapter, VMXNET3_REG_MACL);
drivers/net/vmxnet3/vmxnet3_ethtool.c
538
buf[j++] = VMXNET3_READ_BAR1_REG(adapter, VMXNET3_REG_MACH);
drivers/net/vmxnet3/vmxnet3_ethtool.c
539
buf[j++] = VMXNET3_READ_BAR1_REG(adapter, VMXNET3_REG_ICR);
drivers/net/vmxnet3/vmxnet3_ethtool.c
540
buf[j++] = VMXNET3_READ_BAR1_REG(adapter, VMXNET3_REG_ECR);
drivers/net/vmxnet3/vmxnet3_ethtool.c
542
buf[j++] = adapter->intr.num_intrs;
drivers/net/vmxnet3/vmxnet3_ethtool.c
543
for (i = 0; i < adapter->intr.num_intrs; i++) {
drivers/net/vmxnet3/vmxnet3_ethtool.c
544
buf[j++] = VMXNET3_READ_BAR0_REG(adapter, VMXNET3_REG_IMR
drivers/net/vmxnet3/vmxnet3_ethtool.c
548
buf[j++] = adapter->num_tx_queues;
drivers/net/vmxnet3/vmxnet3_ethtool.c
549
for (i = 0; i < adapter->num_tx_queues; i++) {
drivers/net/vmxnet3/vmxnet3_ethtool.c
550
struct vmxnet3_tx_queue *tq = &adapter->tx_queue[i];
drivers/net/vmxnet3/vmxnet3_ethtool.c
552
buf[j++] = VMXNET3_READ_BAR0_REG(adapter, adapter->tx_prod_offset +
drivers/net/vmxnet3/vmxnet3_ethtool.c
576
buf[j++] = adapter->num_rx_queues;
drivers/net/vmxnet3/vmxnet3_ethtool.c
577
for (i = 0; i < adapter->num_rx_queues; i++) {
drivers/net/vmxnet3/vmxnet3_ethtool.c
578
struct vmxnet3_rx_queue *rq = &adapter->rx_queue[i];
drivers/net/vmxnet3/vmxnet3_ethtool.c
580
buf[j++] = VMXNET3_READ_BAR0_REG(adapter, adapter->rx_prod_offset +
drivers/net/vmxnet3/vmxnet3_ethtool.c
582
buf[j++] = VMXNET3_READ_BAR0_REG(adapter, adapter->rx_prod2_offset +
drivers/net/vmxnet3/vmxnet3_ethtool.c
616
struct vmxnet3_adapter *adapter = netdev_priv(netdev);
drivers/net/vmxnet3/vmxnet3_ethtool.c
619
wol->wolopts = adapter->wol;
drivers/net/vmxnet3/vmxnet3_ethtool.c
626
struct vmxnet3_adapter *adapter = netdev_priv(netdev);
drivers/net/vmxnet3/vmxnet3_ethtool.c
633
adapter->wol = wol->wolopts;
drivers/net/vmxnet3/vmxnet3_ethtool.c
635
device_set_wakeup_enable(&adapter->pdev->dev, adapter->wol);
drivers/net/vmxnet3/vmxnet3_ethtool.c
645
struct vmxnet3_adapter *adapter = netdev_priv(netdev);
drivers/net/vmxnet3/vmxnet3_ethtool.c
655
if (adapter->link_speed) {
drivers/net/vmxnet3/vmxnet3_ethtool.c
656
ecmd->base.speed = adapter->link_speed;
drivers/net/vmxnet3/vmxnet3_ethtool.c
671
struct vmxnet3_adapter *adapter = netdev_priv(netdev);
drivers/net/vmxnet3/vmxnet3_ethtool.c
675
param->rx_mini_max_pending = VMXNET3_VERSION_GE_3(adapter) ?
drivers/net/vmxnet3/vmxnet3_ethtool.c
679
param->rx_pending = adapter->rx_ring_size;
drivers/net/vmxnet3/vmxnet3_ethtool.c
680
param->tx_pending = adapter->tx_ring_size;
drivers/net/vmxnet3/vmxnet3_ethtool.c
681
param->rx_mini_pending = VMXNET3_VERSION_GE_3(adapter) ?
drivers/net/vmxnet3/vmxnet3_ethtool.c
682
adapter->rxdata_desc_size : 0;
drivers/net/vmxnet3/vmxnet3_ethtool.c
683
param->rx_jumbo_pending = adapter->rx_ring2_size;
drivers/net/vmxnet3/vmxnet3_ethtool.c
692
struct vmxnet3_adapter *adapter = netdev_priv(netdev);
drivers/net/vmxnet3/vmxnet3_ethtool.c
711
if (adapter->rx_buf_per_pkt == 0) {
drivers/net/vmxnet3/vmxnet3_ethtool.c
717
if (VMXNET3_VERSION_GE_3(adapter)) {
drivers/net/vmxnet3/vmxnet3_ethtool.c
736
sz = adapter->rx_buf_per_pkt * VMXNET3_RING_SIZE_ALIGN;
drivers/net/vmxnet3/vmxnet3_ethtool.c
751
if (VMXNET3_VERSION_GE_7(adapter)) {
drivers/net/vmxnet3/vmxnet3_ethtool.c
766
if (new_tx_ring_size == adapter->tx_ring_size &&
drivers/net/vmxnet3/vmxnet3_ethtool.c
767
new_rx_ring_size == adapter->rx_ring_size &&
drivers/net/vmxnet3/vmxnet3_ethtool.c
768
new_rx_ring2_size == adapter->rx_ring2_size &&
drivers/net/vmxnet3/vmxnet3_ethtool.c
769
new_rxdata_desc_size == adapter->rxdata_desc_size) {
drivers/net/vmxnet3/vmxnet3_ethtool.c
777
while (test_and_set_bit(VMXNET3_STATE_BIT_RESETTING, &adapter->state))
drivers/net/vmxnet3/vmxnet3_ethtool.c
781
vmxnet3_quiesce_dev(adapter);
drivers/net/vmxnet3/vmxnet3_ethtool.c
782
vmxnet3_reset_dev(adapter);
drivers/net/vmxnet3/vmxnet3_ethtool.c
786
vmxnet3_tq_destroy_all(adapter);
drivers/net/vmxnet3/vmxnet3_ethtool.c
787
vmxnet3_rq_destroy_all(adapter);
drivers/net/vmxnet3/vmxnet3_ethtool.c
789
err = vmxnet3_create_queues(adapter, new_tx_ring_size,
drivers/net/vmxnet3/vmxnet3_ethtool.c
791
adapter->txdata_desc_size,
drivers/net/vmxnet3/vmxnet3_ethtool.c
801
new_rxdata_desc_size = VMXNET3_VERSION_GE_3(adapter) ?
drivers/net/vmxnet3/vmxnet3_ethtool.c
804
err = vmxnet3_create_queues(adapter,
drivers/net/vmxnet3/vmxnet3_ethtool.c
808
adapter->txdata_desc_size,
drivers/net/vmxnet3/vmxnet3_ethtool.c
817
err = vmxnet3_activate_dev(adapter);
drivers/net/vmxnet3/vmxnet3_ethtool.c
822
adapter->tx_ring_size = new_tx_ring_size;
drivers/net/vmxnet3/vmxnet3_ethtool.c
823
adapter->rx_ring_size = new_rx_ring_size;
drivers/net/vmxnet3/vmxnet3_ethtool.c
824
adapter->rx_ring2_size = new_rx_ring2_size;
drivers/net/vmxnet3/vmxnet3_ethtool.c
825
adapter->rxdata_desc_size = new_rxdata_desc_size;
drivers/net/vmxnet3/vmxnet3_ethtool.c
828
clear_bit(VMXNET3_STATE_BIT_RESETTING, &adapter->state);
drivers/net/vmxnet3/vmxnet3_ethtool.c
830
vmxnet3_force_close(adapter);
drivers/net/vmxnet3/vmxnet3_ethtool.c
839
struct vmxnet3_adapter *adapter = netdev_priv(netdev);
drivers/net/vmxnet3/vmxnet3_ethtool.c
842
if (!VMXNET3_VERSION_GE_4(adapter))
drivers/net/vmxnet3/vmxnet3_ethtool.c
845
if (!adapter->rss)
drivers/net/vmxnet3/vmxnet3_ethtool.c
849
if (netif_running(adapter->netdev)) {
drivers/net/vmxnet3/vmxnet3_ethtool.c
852
spin_lock_irqsave(&adapter->cmd_lock, flags);
drivers/net/vmxnet3/vmxnet3_ethtool.c
854
VMXNET3_WRITE_BAR1_REG(adapter, VMXNET3_REG_CMD,
drivers/net/vmxnet3/vmxnet3_ethtool.c
856
rss_fields = VMXNET3_READ_BAR1_REG(adapter, VMXNET3_REG_CMD);
drivers/net/vmxnet3/vmxnet3_ethtool.c
857
spin_unlock_irqrestore(&adapter->cmd_lock, flags);
drivers/net/vmxnet3/vmxnet3_ethtool.c
859
rss_fields = adapter->rss_fields;
drivers/net/vmxnet3/vmxnet3_ethtool.c
894
if (VMXNET3_VERSION_GE_6(adapter) &&
drivers/net/vmxnet3/vmxnet3_ethtool.c
914
struct vmxnet3_adapter *adapter = netdev_priv(netdev);
drivers/net/vmxnet3/vmxnet3_ethtool.c
917
if (!VMXNET3_VERSION_GE_4(adapter))
drivers/net/vmxnet3/vmxnet3_ethtool.c
920
if (!adapter->rss)
drivers/net/vmxnet3/vmxnet3_ethtool.c
924
rss_fields = adapter->rss_fields;
drivers/net/vmxnet3/vmxnet3_ethtool.c
992
if (!VMXNET3_VERSION_GE_6(adapter))
drivers/net/vmxnet3/vmxnet3_int.h
258
struct vmxnet3_adapter *adapter;
drivers/net/vmxnet3/vmxnet3_int.h
328
struct vmxnet3_adapter *adapter;
drivers/net/vmxnet3/vmxnet3_int.h
460
#define VMXNET3_WRITE_BAR0_REG(adapter, reg, val) \
drivers/net/vmxnet3/vmxnet3_int.h
461
writel((val), (adapter)->hw_addr0 + (reg))
drivers/net/vmxnet3/vmxnet3_int.h
462
#define VMXNET3_READ_BAR0_REG(adapter, reg) \
drivers/net/vmxnet3/vmxnet3_int.h
463
readl((adapter)->hw_addr0 + (reg))
drivers/net/vmxnet3/vmxnet3_int.h
465
#define VMXNET3_WRITE_BAR1_REG(adapter, reg, val) \
drivers/net/vmxnet3/vmxnet3_int.h
466
writel((val), (adapter)->hw_addr1 + (reg))
drivers/net/vmxnet3/vmxnet3_int.h
467
#define VMXNET3_READ_BAR1_REG(adapter, reg) \
drivers/net/vmxnet3/vmxnet3_int.h
468
readl((adapter)->hw_addr1 + (reg))
drivers/net/vmxnet3/vmxnet3_int.h
471
#define VMXNET3_RX_ALLOC_THRESHOLD(rq, ring_idx, adapter) \
drivers/net/vmxnet3/vmxnet3_int.h
477
#define VMXNET3_VERSION_GE_2(adapter) \
drivers/net/vmxnet3/vmxnet3_int.h
478
(adapter->version >= VMXNET3_REV_2 + 1)
drivers/net/vmxnet3/vmxnet3_int.h
479
#define VMXNET3_VERSION_GE_3(adapter) \
drivers/net/vmxnet3/vmxnet3_int.h
480
(adapter->version >= VMXNET3_REV_3 + 1)
drivers/net/vmxnet3/vmxnet3_int.h
481
#define VMXNET3_VERSION_GE_4(adapter) \
drivers/net/vmxnet3/vmxnet3_int.h
482
(adapter->version >= VMXNET3_REV_4 + 1)
drivers/net/vmxnet3/vmxnet3_int.h
483
#define VMXNET3_VERSION_GE_5(adapter) \
drivers/net/vmxnet3/vmxnet3_int.h
484
(adapter->version >= VMXNET3_REV_5 + 1)
drivers/net/vmxnet3/vmxnet3_int.h
485
#define VMXNET3_VERSION_GE_6(adapter) \
drivers/net/vmxnet3/vmxnet3_int.h
486
(adapter->version >= VMXNET3_REV_6 + 1)
drivers/net/vmxnet3/vmxnet3_int.h
487
#define VMXNET3_VERSION_GE_7(adapter) \
drivers/net/vmxnet3/vmxnet3_int.h
488
(adapter->version >= VMXNET3_REV_7 + 1)
drivers/net/vmxnet3/vmxnet3_int.h
489
#define VMXNET3_VERSION_GE_8(adapter) \
drivers/net/vmxnet3/vmxnet3_int.h
490
(adapter->version >= VMXNET3_REV_8 + 1)
drivers/net/vmxnet3/vmxnet3_int.h
491
#define VMXNET3_VERSION_GE_9(adapter) \
drivers/net/vmxnet3/vmxnet3_int.h
492
(adapter->version >= VMXNET3_REV_9 + 1)
drivers/net/vmxnet3/vmxnet3_int.h
504
#define VMXNET3_GET_RING_IDX(adapter, rqID) \
drivers/net/vmxnet3/vmxnet3_int.h
505
((rqID >= adapter->num_rx_queues && \
drivers/net/vmxnet3/vmxnet3_int.h
506
rqID < 2 * adapter->num_rx_queues) ? 1 : 0) \
drivers/net/vmxnet3/vmxnet3_int.h
508
#define VMXNET3_RX_DATA_RING(adapter, rqID) \
drivers/net/vmxnet3/vmxnet3_int.h
509
(rqID >= 2 * adapter->num_rx_queues && \
drivers/net/vmxnet3/vmxnet3_int.h
510
rqID < 3 * adapter->num_rx_queues) \
drivers/net/vmxnet3/vmxnet3_int.h
520
vmxnet3_quiesce_dev(struct vmxnet3_adapter *adapter);
drivers/net/vmxnet3/vmxnet3_int.h
523
vmxnet3_activate_dev(struct vmxnet3_adapter *adapter);
drivers/net/vmxnet3/vmxnet3_int.h
526
vmxnet3_force_close(struct vmxnet3_adapter *adapter);
drivers/net/vmxnet3/vmxnet3_int.h
529
vmxnet3_reset_dev(struct vmxnet3_adapter *adapter);
drivers/net/vmxnet3/vmxnet3_int.h
532
vmxnet3_tq_destroy_all(struct vmxnet3_adapter *adapter);
drivers/net/vmxnet3/vmxnet3_int.h
535
vmxnet3_rq_destroy_all(struct vmxnet3_adapter *adapter);
drivers/net/vmxnet3/vmxnet3_int.h
538
vmxnet3_rq_create_all(struct vmxnet3_adapter *adapter);
drivers/net/vmxnet3/vmxnet3_int.h
541
vmxnet3_adjust_rx_ring_size(struct vmxnet3_adapter *adapter);
drivers/net/vmxnet3/vmxnet3_int.h
554
vmxnet3_create_queues(struct vmxnet3_adapter *adapter,
drivers/net/vmxnet3/vmxnet3_xdp.c
115
vmxnet3_xdp_xmit_frame(struct vmxnet3_adapter *adapter,
drivers/net/vmxnet3/vmxnet3_xdp.c
13
vmxnet3_xdp_exchange_program(struct vmxnet3_adapter *adapter,
drivers/net/vmxnet3/vmxnet3_xdp.c
144
tbi->dma_addr = dma_map_single(&adapter->pdev->dev,
drivers/net/vmxnet3/vmxnet3_xdp.c
147
if (dma_mapping_error(&adapter->pdev->dev, tbi->dma_addr)) {
drivers/net/vmxnet3/vmxnet3_xdp.c
156
dma_sync_single_for_device(&adapter->pdev->dev,
drivers/net/vmxnet3/vmxnet3_xdp.c
16
rcu_assign_pointer(adapter->xdp_bpf_prog, prog);
drivers/net/vmxnet3/vmxnet3_xdp.c
197
VMXNET3_WRITE_BAR0_REG(adapter,
drivers/net/vmxnet3/vmxnet3_xdp.c
20
vmxnet3_xdp_get_tq(struct vmxnet3_adapter *adapter)
drivers/net/vmxnet3/vmxnet3_xdp.c
206
vmxnet3_xdp_xmit_back(struct vmxnet3_adapter *adapter,
drivers/net/vmxnet3/vmxnet3_xdp.c
213
tq = vmxnet3_xdp_get_tq(adapter);
drivers/net/vmxnet3/vmxnet3_xdp.c
217
nq = netdev_get_tx_queue(adapter->netdev, tq->qid);
drivers/net/vmxnet3/vmxnet3_xdp.c
220
err = vmxnet3_xdp_xmit_frame(adapter, xdpf, tq, false);
drivers/net/vmxnet3/vmxnet3_xdp.c
231
struct vmxnet3_adapter *adapter = netdev_priv(dev);
drivers/net/vmxnet3/vmxnet3_xdp.c
236
if (unlikely(test_bit(VMXNET3_STATE_BIT_QUIESCED, &adapter->state)))
drivers/net/vmxnet3/vmxnet3_xdp.c
238
if (unlikely(test_bit(VMXNET3_STATE_BIT_RESETTING, &adapter->state)))
drivers/net/vmxnet3/vmxnet3_xdp.c
241
tq = vmxnet3_xdp_get_tq(adapter);
drivers/net/vmxnet3/vmxnet3_xdp.c
245
nq = netdev_get_tx_queue(adapter->netdev, tq->qid);
drivers/net/vmxnet3/vmxnet3_xdp.c
249
if (vmxnet3_xdp_xmit_frame(adapter, frames[i], tq, true)) {
drivers/net/vmxnet3/vmxnet3_xdp.c
26
tq_number = adapter->num_tx_queues;
drivers/net/vmxnet3/vmxnet3_xdp.c
277
err = xdp_do_redirect(rq->adapter->netdev, xdp, prog);
drivers/net/vmxnet3/vmxnet3_xdp.c
288
vmxnet3_xdp_xmit_back(rq->adapter, xdpf))) {
drivers/net/vmxnet3/vmxnet3_xdp.c
29
tq = &adapter->tx_queue[cpu];
drivers/net/vmxnet3/vmxnet3_xdp.c
296
bpf_warn_invalid_xdp_action(rq->adapter->netdev, prog, act);
drivers/net/vmxnet3/vmxnet3_xdp.c
299
trace_xdp_exception(rq->adapter->netdev, prog, act);
drivers/net/vmxnet3/vmxnet3_xdp.c
31
tq = &adapter->tx_queue[cpu % tq_number];
drivers/net/vmxnet3/vmxnet3_xdp.c
335
vmxnet3_process_xdp_small(struct vmxnet3_adapter *adapter,
drivers/net/vmxnet3/vmxnet3_xdp.c
359
xdp_prog = rcu_dereference(rq->adapter->xdp_bpf_prog);
drivers/net/vmxnet3/vmxnet3_xdp.c
378
vmxnet3_process_xdp(struct vmxnet3_adapter *adapter,
drivers/net/vmxnet3/vmxnet3_xdp.c
393
dma_sync_single_for_cpu(&adapter->pdev->dev,
drivers/net/vmxnet3/vmxnet3_xdp.c
40
struct vmxnet3_adapter *adapter = netdev_priv(netdev);
drivers/net/vmxnet3/vmxnet3_xdp.c
403
xdp_prog = rcu_dereference(rq->adapter->xdp_bpf_prog);
drivers/net/vmxnet3/vmxnet3_xdp.c
53
if (adapter->netdev->features & NETIF_F_LRO) {
drivers/net/vmxnet3/vmxnet3_xdp.c
55
adapter->netdev->features &= ~NETIF_F_LRO;
drivers/net/vmxnet3/vmxnet3_xdp.c
58
old_bpf_prog = rcu_dereference(adapter->xdp_bpf_prog);
drivers/net/vmxnet3/vmxnet3_xdp.c
66
vmxnet3_quiesce_dev(adapter);
drivers/net/vmxnet3/vmxnet3_xdp.c
68
vmxnet3_xdp_exchange_program(adapter, new_bpf_prog);
drivers/net/vmxnet3/vmxnet3_xdp.c
80
vmxnet3_reset_dev(adapter);
drivers/net/vmxnet3/vmxnet3_xdp.c
81
vmxnet3_rq_destroy_all(adapter);
drivers/net/vmxnet3/vmxnet3_xdp.c
82
vmxnet3_adjust_rx_ring_size(adapter);
drivers/net/vmxnet3/vmxnet3_xdp.c
83
err = vmxnet3_rq_create_all(adapter);
drivers/net/vmxnet3/vmxnet3_xdp.c
89
err = vmxnet3_activate_dev(adapter);
drivers/net/vmxnet3/vmxnet3_xdp.c
95
clear_bit(VMXNET3_STATE_BIT_RESETTING, &adapter->state);
drivers/net/vmxnet3/vmxnet3_xdp.h
29
int vmxnet3_process_xdp(struct vmxnet3_adapter *adapter,
drivers/net/vmxnet3/vmxnet3_xdp.h
35
int vmxnet3_process_xdp_small(struct vmxnet3_adapter *adapter,
drivers/net/vmxnet3/vmxnet3_xdp.h
42
static inline bool vmxnet3_xdp_enabled(struct vmxnet3_adapter *adapter)
drivers/net/vmxnet3/vmxnet3_xdp.h
44
return !!rcu_access_pointer(adapter->xdp_bpf_prog);
drivers/net/wireless/intel/ipw2x00/ipw2200.c
10497
static void ipw_rf_kill(void *adapter)
drivers/net/wireless/intel/ipw2x00/ipw2200.c
10499
struct ipw_priv *priv = adapter;
drivers/net/wireless/intel/ipw2x00/ipw2200.c
2287
static void ipw_adapter_restart(void *adapter)
drivers/net/wireless/intel/ipw2x00/ipw2200.c
2289
struct ipw_priv *priv = adapter;
drivers/net/wireless/intel/ipw2x00/ipw2200.c
8503
priv->adapter = IPW_2915ABG;
drivers/net/wireless/intel/ipw2x00/ipw2200.c
8515
priv->adapter = IPW_2200BG;
drivers/net/wireless/intel/ipw2x00/ipw2200.c
9606
if (priv->adapter == IPW_2915ABG) {
drivers/net/wireless/intel/ipw2x00/ipw2200.h
1323
u8 adapter;
drivers/net/wireless/marvell/mwifiex/11ac.c
102
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/11ac.c
110
mcs_map_user = GET_DEVRXMCSMAP(adapter->usr_dot_11ac_mcs_support);
drivers/net/wireless/marvell/mwifiex/11ac.c
133
mcs_map_user = GET_DEVTXMCSMAP(adapter->usr_dot_11ac_mcs_support);
drivers/net/wireless/marvell/mwifiex/11ac.c
165
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/11ac.c
171
usr_vht_cap_info = adapter->usr_dot_11ac_dev_cap_a;
drivers/net/wireless/marvell/mwifiex/11ac.c
173
usr_vht_cap_info = adapter->usr_dot_11ac_dev_cap_bg;
drivers/net/wireless/marvell/mwifiex/11ac.c
49
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/11ac.c
52
usr_vht_cap_info = adapter->usr_dot_11ac_dev_cap_a;
drivers/net/wireless/marvell/mwifiex/11ac.c
54
usr_vht_cap_info = adapter->usr_dot_11ac_dev_cap_bg;
drivers/net/wireless/marvell/mwifiex/11ac.c
89
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/11ac.c
93
cpu_to_le32(adapter->usr_dot_11ac_dev_cap_a);
drivers/net/wireless/marvell/mwifiex/11ac.c
96
cpu_to_le32(adapter->usr_dot_11ac_dev_cap_bg);
drivers/net/wireless/marvell/mwifiex/11h.c
121
mwifiex_dbg(priv->adapter, MSG,
drivers/net/wireless/marvell/mwifiex/11h.c
150
mwifiex_dbg(priv->adapter, MSG,
drivers/net/wireless/marvell/mwifiex/11h.c
154
mwifiex_dbg(priv->adapter, MSG, "cancelling CAC\n");
drivers/net/wireless/marvell/mwifiex/11h.c
179
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/11h.c
181
mwifiex_dbg(priv->adapter, MSG,
drivers/net/wireless/marvell/mwifiex/11h.c
206
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/11h.c
218
mwifiex_dbg(priv->adapter, MSG,
drivers/net/wireless/marvell/mwifiex/11h.c
246
mwifiex_dbg(priv->adapter, MSG,
drivers/net/wireless/marvell/mwifiex/11h.c
249
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/11h.c
251
cfg80211_radar_event(priv->adapter->wiphy, &priv->dfs_chandef,
drivers/net/wireless/marvell/mwifiex/11h.c
253
mwifiex_dbg(priv->adapter, MSG, "regdomain: %d\n",
drivers/net/wireless/marvell/mwifiex/11h.c
255
mwifiex_dbg(priv->adapter, MSG, "radar detection type: %d\n",
drivers/net/wireless/marvell/mwifiex/11h.c
276
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/11h.c
284
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/11h.c
289
mwifiex_dbg(priv->adapter, MSG,
drivers/net/wireless/marvell/mwifiex/11n.c
175
mwifiex_dbg(priv->adapter, EVENT, "info: BA stream complete\n");
drivers/net/wireless/marvell/mwifiex/11n.c
188
mwifiex_dbg(priv->adapter, ERROR, "BA stream not created\n");
drivers/net/wireless/marvell/mwifiex/11n.c
215
mwifiex_dbg(priv->adapter, CMD,
drivers/net/wireless/marvell/mwifiex/11n.c
280
if (priv->adapter->is_hw_11ac_capable)
drivers/net/wireless/marvell/mwifiex/11n.c
33
mwifiex_dbg(priv->adapter, ERROR, "Invalid radio type!\n");
drivers/net/wireless/marvell/mwifiex/11n.c
339
ieee80211_get_channel(priv->adapter->wiphy, freq);
drivers/net/wireless/marvell/mwifiex/11n.c
488
mwifiex_dbg(priv->adapter, INFO,
drivers/net/wireless/marvell/mwifiex/11n.c
49
(priv->adapter->sec_chan_offset !=
drivers/net/wireless/marvell/mwifiex/11n.c
584
mwifiex_dbg(priv->adapter, CMD, "cmd: %s: tid %d\n", __func__, tid);
drivers/net/wireless/marvell/mwifiex/11n.c
589
ISSUPP_TDLS_ENABLED(priv->adapter->fw_cap_info) &&
drivers/net/wireless/marvell/mwifiex/11n.c
590
priv->adapter->is_hw_11ac_capable &&
drivers/net/wireless/marvell/mwifiex/11n.c
598
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/11n.c
60
if (ISSUPP_BEAMFORMING(priv->adapter->hw_dot_11n_dev_cap))
drivers/net/wireless/marvell/mwifiex/11n.c
674
dev_dbg(priv->adapter->dev,
drivers/net/wireless/marvell/mwifiex/11n.c
749
mwifiex_dbg(priv->adapter, DATA, "data: %s tid=%d\n",
drivers/net/wireless/marvell/mwifiex/11n.c
856
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/11n.c
863
dev_dbg(adapter->dev,
drivers/net/wireless/marvell/mwifiex/11n.c
877
void mwifiex_update_ampdu_txwinsize(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/11n.c
883
for (i = 0; i < adapter->priv_num; i++) {
drivers/net/wireless/marvell/mwifiex/11n.c
884
priv = adapter->priv[i];
drivers/net/wireless/marvell/mwifiex/11n.c
899
if (adapter->coex_win_size) {
drivers/net/wireless/marvell/mwifiex/11n.c
900
if (adapter->coex_tx_win_size)
drivers/net/wireless/marvell/mwifiex/11n.c
902
adapter->coex_tx_win_size;
drivers/net/wireless/marvell/mwifiex/11n.h
101
struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/11n.h
109
for (i = 0; i < adapter->priv_num; i++) {
drivers/net/wireless/marvell/mwifiex/11n.h
110
priv = adapter->priv[i];
drivers/net/wireless/marvell/mwifiex/11n.h
114
if (adapter->fw_api_ver == MWIFIEX_FW_V15) {
drivers/net/wireless/marvell/mwifiex/11n.h
116
GETSUPP_TXBASTREAMS(adapter->hw_dot_11n_dev_cap);
drivers/net/wireless/marvell/mwifiex/11n.h
162
!priv->adapter->adhoc_11n_enabled))
drivers/net/wireless/marvell/mwifiex/11n_aggr.c
118
priv->adapter->pps_uapsd_mode) {
drivers/net/wireless/marvell/mwifiex/11n_aggr.c
120
priv->adapter->tx_lock_flag = true;
drivers/net/wireless/marvell/mwifiex/11n_aggr.c
149
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/11n_aggr.c
155
int headroom = adapter->intf_hdr_len;
drivers/net/wireless/marvell/mwifiex/11n_aggr.c
164
skb_aggr = mwifiex_alloc_dma_align_buf(adapter->tx_buf_size,
drivers/net/wireless/marvell/mwifiex/11n_aggr.c
190
adapter->tx_buf_size)
drivers/net/wireless/marvell/mwifiex/11n_aggr.c
200
mwifiex_write_data_complete(adapter, skb_src, 0, 0);
drivers/net/wireless/marvell/mwifiex/11n_aggr.c
231
if (adapter->data_sent || adapter->tx_lock_flag) {
drivers/net/wireless/marvell/mwifiex/11n_aggr.c
232
atomic_add(aggr_num * 2, &adapter->tx_queued);
drivers/net/wireless/marvell/mwifiex/11n_aggr.c
233
skb_queue_tail(&adapter->tx_data_q, skb_aggr);
drivers/net/wireless/marvell/mwifiex/11n_aggr.c
242
if (adapter->iface_type == MWIFIEX_USB) {
drivers/net/wireless/marvell/mwifiex/11n_aggr.c
243
ret = adapter->if_ops.host_to_card(adapter, priv->usb_port,
drivers/net/wireless/marvell/mwifiex/11n_aggr.c
247
ret = adapter->if_ops.host_to_card(adapter, MWIFIEX_TYPE_DATA,
drivers/net/wireless/marvell/mwifiex/11n_aggr.c
255
mwifiex_write_data_complete(adapter, skb_aggr, 1, -1);
drivers/net/wireless/marvell/mwifiex/11n_aggr.c
259
adapter->pps_uapsd_mode && adapter->tx_lock_flag) {
drivers/net/wireless/marvell/mwifiex/11n_aggr.c
260
priv->adapter->tx_lock_flag = false;
drivers/net/wireless/marvell/mwifiex/11n_aggr.c
273
mwifiex_dbg(adapter, ERROR, "data: -EBUSY is returned\n");
drivers/net/wireless/marvell/mwifiex/11n_aggr.c
276
mwifiex_dbg(adapter, ERROR, "%s: host_to_card failed: %#x\n",
drivers/net/wireless/marvell/mwifiex/11n_aggr.c
278
adapter->dbg.num_tx_host_to_card_failure++;
drivers/net/wireless/marvell/mwifiex/11n_aggr.c
279
mwifiex_write_data_complete(adapter, skb_aggr, 1, ret);
drivers/net/wireless/marvell/mwifiex/11n_aggr.c
284
mwifiex_write_data_complete(adapter, skb_aggr, 1, ret);
drivers/net/wireless/marvell/mwifiex/11n_rxreorder.c
197
spin_lock_bh(&priv->adapter->rx_proc_lock);
drivers/net/wireless/marvell/mwifiex/11n_rxreorder.c
198
priv->adapter->rx_locked = true;
drivers/net/wireless/marvell/mwifiex/11n_rxreorder.c
199
if (priv->adapter->rx_processing) {
drivers/net/wireless/marvell/mwifiex/11n_rxreorder.c
200
spin_unlock_bh(&priv->adapter->rx_proc_lock);
drivers/net/wireless/marvell/mwifiex/11n_rxreorder.c
201
flush_workqueue(priv->adapter->rx_workqueue);
drivers/net/wireless/marvell/mwifiex/11n_rxreorder.c
203
spin_unlock_bh(&priv->adapter->rx_proc_lock);
drivers/net/wireless/marvell/mwifiex/11n_rxreorder.c
219
spin_lock_bh(&priv->adapter->rx_proc_lock);
drivers/net/wireless/marvell/mwifiex/11n_rxreorder.c
220
priv->adapter->rx_locked = false;
drivers/net/wireless/marvell/mwifiex/11n_rxreorder.c
221
spin_unlock_bh(&priv->adapter->rx_proc_lock);
drivers/net/wireless/marvell/mwifiex/11n_rxreorder.c
312
mwifiex_dbg(ctx->priv->adapter, INFO, "info: flush data %d\n", seq_num);
drivers/net/wireless/marvell/mwifiex/11n_rxreorder.c
374
mwifiex_dbg(priv->adapter, INFO,
drivers/net/wireless/marvell/mwifiex/11n_rxreorder.c
390
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/11n_rxreorder.c
43
if (ISSUPP_TDLS_ENABLED(priv->adapter->fw_cap_info) &&
drivers/net/wireless/marvell/mwifiex/11n_rxreorder.c
465
ISSUPP_TDLS_ENABLED(priv->adapter->fw_cap_info) &&
drivers/net/wireless/marvell/mwifiex/11n_rxreorder.c
466
priv->adapter->is_hw_11ac_capable &&
drivers/net/wireless/marvell/mwifiex/11n_rxreorder.c
473
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/11n_rxreorder.c
55
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/11n_rxreorder.c
579
mwifiex_dbg(priv->adapter, INFO,
drivers/net/wireless/marvell/mwifiex/11n_rxreorder.c
584
mwifiex_dbg(priv->adapter, INFO,
drivers/net/wireless/marvell/mwifiex/11n_rxreorder.c
674
mwifiex_dbg(priv->adapter, EVENT, "event: DELBA: %pM tid=%d initiator=%d\n",
drivers/net/wireless/marvell/mwifiex/11n_rxreorder.c
681
mwifiex_dbg(priv->adapter, EVENT,
drivers/net/wireless/marvell/mwifiex/11n_rxreorder.c
689
mwifiex_dbg(priv->adapter, EVENT,
drivers/net/wireless/marvell/mwifiex/11n_rxreorder.c
729
mwifiex_dbg(priv->adapter, ERROR, "ADDBA RSP: failed %pM tid=%d)\n",
drivers/net/wireless/marvell/mwifiex/11n_rxreorder.c
74
mwifiex_dbg(priv->adapter, INFO, "info: fw drop data\n");
drivers/net/wireless/marvell/mwifiex/11n_rxreorder.c
754
mwifiex_dbg(priv->adapter, CMD,
drivers/net/wireless/marvell/mwifiex/11n_rxreorder.c
805
void mwifiex_update_rxreor_flags(struct mwifiex_adapter *adapter, u8 flags)
drivers/net/wireless/marvell/mwifiex/11n_rxreorder.c
811
for (i = 0; i < adapter->priv_num; i++) {
drivers/net/wireless/marvell/mwifiex/11n_rxreorder.c
812
priv = adapter->priv[i];
drivers/net/wireless/marvell/mwifiex/11n_rxreorder.c
825
static void mwifiex_update_ampdu_rxwinsize(struct mwifiex_adapter *adapter,
drivers/net/wireless/marvell/mwifiex/11n_rxreorder.c
832
dev_dbg(adapter->dev, "Update rxwinsize %d\n", coex_flag);
drivers/net/wireless/marvell/mwifiex/11n_rxreorder.c
834
for (i = 0; i < adapter->priv_num; i++) {
drivers/net/wireless/marvell/mwifiex/11n_rxreorder.c
835
priv = adapter->priv[i];
drivers/net/wireless/marvell/mwifiex/11n_rxreorder.c
859
if (adapter->coex_win_size && adapter->coex_rx_win_size)
drivers/net/wireless/marvell/mwifiex/11n_rxreorder.c
861
adapter->coex_rx_win_size;
drivers/net/wireless/marvell/mwifiex/11n_rxreorder.c
874
void mwifiex_coex_ampdu_rxwinsize(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/11n_rxreorder.c
880
for (i = 0; i < adapter->priv_num; i++) {
drivers/net/wireless/marvell/mwifiex/11n_rxreorder.c
881
priv = adapter->priv[i];
drivers/net/wireless/marvell/mwifiex/11n_rxreorder.c
895
mwifiex_update_ampdu_rxwinsize(adapter, true);
drivers/net/wireless/marvell/mwifiex/11n_rxreorder.c
897
mwifiex_update_ampdu_rxwinsize(adapter, false);
drivers/net/wireless/marvell/mwifiex/11n_rxreorder.c
914
mwifiex_dbg_dump(priv->adapter, EVT_D, "RXBA_SYNC event:",
drivers/net/wireless/marvell/mwifiex/11n_rxreorder.c
920
mwifiex_dbg(priv->adapter, WARN,
drivers/net/wireless/marvell/mwifiex/11n_rxreorder.c
928
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/11n_rxreorder.c
936
mwifiex_dbg(priv->adapter, WARN,
drivers/net/wireless/marvell/mwifiex/11n_rxreorder.c
943
mwifiex_dbg(priv->adapter, INFO,
drivers/net/wireless/marvell/mwifiex/11n_rxreorder.c
952
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/11n_rxreorder.c
963
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/11n_rxreorder.c
972
mwifiex_dbg(priv->adapter,
drivers/net/wireless/marvell/mwifiex/11n_rxreorder.h
71
void mwifiex_update_rxreor_flags(struct mwifiex_adapter *adapter, u8 flags);
drivers/net/wireless/marvell/mwifiex/cfg80211.c
1000
adapter->iface_limit.p2p_intf;
drivers/net/wireless/marvell/mwifiex/cfg80211.c
1002
return adapter->curr_iface_comb.uap_intf !=
drivers/net/wireless/marvell/mwifiex/cfg80211.c
1003
adapter->iface_limit.uap_intf;
drivers/net/wireless/marvell/mwifiex/cfg80211.c
1012
return adapter->curr_iface_comb.sta_intf !=
drivers/net/wireless/marvell/mwifiex/cfg80211.c
1013
adapter->iface_limit.sta_intf;
drivers/net/wireless/marvell/mwifiex/cfg80211.c
1016
return adapter->curr_iface_comb.p2p_intf !=
drivers/net/wireless/marvell/mwifiex/cfg80211.c
1017
adapter->iface_limit.p2p_intf;
drivers/net/wireless/marvell/mwifiex/cfg80211.c
1030
return adapter->curr_iface_comb.uap_intf !=
drivers/net/wireless/marvell/mwifiex/cfg80211.c
1031
adapter->iface_limit.uap_intf;
drivers/net/wireless/marvell/mwifiex/cfg80211.c
1044
return adapter->curr_iface_comb.uap_intf !=
drivers/net/wireless/marvell/mwifiex/cfg80211.c
1045
adapter->iface_limit.uap_intf;
drivers/net/wireless/marvell/mwifiex/cfg80211.c
1058
update_vif_type_counter(struct mwifiex_adapter *adapter,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
1066
adapter->curr_iface_comb.sta_intf += change;
drivers/net/wireless/marvell/mwifiex/cfg80211.c
1069
adapter->curr_iface_comb.uap_intf += change;
drivers/net/wireless/marvell/mwifiex/cfg80211.c
1073
adapter->curr_iface_comb.p2p_intf += change;
drivers/net/wireless/marvell/mwifiex/cfg80211.c
1076
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
1090
struct mwifiex_adapter *adapter;
drivers/net/wireless/marvell/mwifiex/cfg80211.c
1097
adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/cfg80211.c
1099
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
1107
update_vif_type_counter(adapter, curr_iftype, -1);
drivers/net/wireless/marvell/mwifiex/cfg80211.c
1108
update_vif_type_counter(adapter, type, +1);
drivers/net/wireless/marvell/mwifiex/cfg80211.c
1121
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
1144
struct mwifiex_adapter *adapter;
drivers/net/wireless/marvell/mwifiex/cfg80211.c
1151
adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/cfg80211.c
1154
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
1157
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
1165
update_vif_type_counter(adapter, curr_iftype, -1);
drivers/net/wireless/marvell/mwifiex/cfg80211.c
1166
update_vif_type_counter(adapter, type, +1);
drivers/net/wireless/marvell/mwifiex/cfg80211.c
1185
struct mwifiex_adapter *adapter;
drivers/net/wireless/marvell/mwifiex/cfg80211.c
1192
adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/cfg80211.c
1194
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
1202
update_vif_type_counter(adapter, curr_iftype, -1);
drivers/net/wireless/marvell/mwifiex/cfg80211.c
1203
update_vif_type_counter(adapter, type, +1);
drivers/net/wireless/marvell/mwifiex/cfg80211.c
1227
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
1233
mwifiex_dbg(priv->adapter, INFO,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
1240
mwifiex_dbg(priv->adapter, INFO,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
1246
if (!is_vif_type_change_allowed(priv->adapter, curr_iftype, type)) {
drivers/net/wireless/marvell/mwifiex/cfg80211.c
1247
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
1359
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
1369
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/cfg80211.c
1371
if (adapter->is_hw_11ac_capable) {
drivers/net/wireless/marvell/mwifiex/cfg80211.c
1499
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
1505
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
153
mwifiex_dbg(priv->adapter, ERROR, "deleting the crypto keys\n");
drivers/net/wireless/marvell/mwifiex/cfg80211.c
157
mwifiex_dbg(priv->adapter, INFO, "info: crypto keys deleted\n");
drivers/net/wireless/marvell/mwifiex/cfg80211.c
1606
struct mwifiex_chan_stats *pchan_stats = priv->adapter->chan_stats;
drivers/net/wireless/marvell/mwifiex/cfg80211.c
1609
mwifiex_dbg(priv->adapter, DUMP, "dump_survey idx=%d\n", idx);
drivers/net/wireless/marvell/mwifiex/cfg80211.c
1629
if (idx >= priv->adapter->num_in_chan_stats)
drivers/net/wireless/marvell/mwifiex/cfg80211.c
1786
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/cfg80211.c
1789
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
1810
if (adapter->hw_dev_mcs_support == HT_STREAM_2X2)
drivers/net/wireless/marvell/mwifiex/cfg80211.c
1814
if (adapter->fw_api_ver == MWIFIEX_FW_V15) {
drivers/net/wireless/marvell/mwifiex/cfg80211.c
1816
if (adapter->hw_dev_mcs_support == HT_STREAM_2X2)
drivers/net/wireless/marvell/mwifiex/cfg80211.c
1871
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/cfg80211.c
1874
mwifiex_cancel_scan(adapter);
drivers/net/wireless/marvell/mwifiex/cfg80211.c
1877
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
1883
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
1889
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
1912
mwifiex_dbg(priv->adapter, INFO, "%s: abort CAC!\n", __func__);
drivers/net/wireless/marvell/mwifiex/cfg80211.c
1922
mwifiex_dbg(priv->adapter, INFO, "%s: mac address %pM\n",
drivers/net/wireless/marvell/mwifiex/cfg80211.c
1947
struct mwifiex_adapter *adapter = mwifiex_cfg80211_get_adapter(wiphy);
drivers/net/wireless/marvell/mwifiex/cfg80211.c
1948
struct mwifiex_private *priv = mwifiex_get_priv(adapter,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
1955
if (adapter->hw_dev_mcs_support != HT_STREAM_2X2) {
drivers/net/wireless/marvell/mwifiex/cfg80211.c
1963
(tx_ant != BIT(adapter->number_of_antenna) - 1))
drivers/net/wireless/marvell/mwifiex/cfg80211.c
1966
if ((tx_ant == BIT(adapter->number_of_antenna) - 1) &&
drivers/net/wireless/marvell/mwifiex/cfg80211.c
1967
(priv->adapter->number_of_antenna > 1)) {
drivers/net/wireless/marvell/mwifiex/cfg80211.c
1977
adapter->user_dev_mcs_support = HT_STREAM_1X1;
drivers/net/wireless/marvell/mwifiex/cfg80211.c
1978
if (adapter->is_hw_11ac_capable)
drivers/net/wireless/marvell/mwifiex/cfg80211.c
1979
adapter->usr_dot_11ac_mcs_support =
drivers/net/wireless/marvell/mwifiex/cfg80211.c
1982
adapter->user_dev_mcs_support = HT_STREAM_2X2;
drivers/net/wireless/marvell/mwifiex/cfg80211.c
1983
if (adapter->is_hw_11ac_capable)
drivers/net/wireless/marvell/mwifiex/cfg80211.c
1984
adapter->usr_dot_11ac_mcs_support =
drivers/net/wireless/marvell/mwifiex/cfg80211.c
1989
if (!adapter->wiphy->bands[band])
drivers/net/wireless/marvell/mwifiex/cfg80211.c
1992
ht_info = &adapter->wiphy->bands[band]->ht_cap;
drivers/net/wireless/marvell/mwifiex/cfg80211.c
1994
GET_RXMCSSUPP(adapter->user_dev_mcs_support);
drivers/net/wireless/marvell/mwifiex/cfg80211.c
1995
memset(&ht_info->mcs, 0, adapter->number_of_antenna);
drivers/net/wireless/marvell/mwifiex/cfg80211.c
2011
struct mwifiex_adapter *adapter = mwifiex_cfg80211_get_adapter(wiphy);
drivers/net/wireless/marvell/mwifiex/cfg80211.c
2012
struct mwifiex_private *priv = mwifiex_get_priv(adapter,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
2034
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
2042
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
2049
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
2056
mwifiex_stop_net_dev_queue(priv->netdev, priv->adapter);
drivers/net/wireless/marvell/mwifiex/cfg80211.c
210
mwifiex_dbg(priv->adapter, ERROR, "invalid buffer and length\n");
drivers/net/wireless/marvell/mwifiex/cfg80211.c
2118
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
2125
if (priv->adapter->is_hw_11ac_capable) {
drivers/net/wireless/marvell/mwifiex/cfg80211.c
2144
mwifiex_dbg(priv->adapter, INFO,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
2147
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
2157
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
2167
mwifiex_wake_up_net_dev_queue(priv->netdev, priv->adapter);
drivers/net/wireless/marvell/mwifiex/cfg80211.c
219
mwifiex_dbg(priv->adapter, INFO,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
226
mwifiex_dbg(priv->adapter, MSG,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
2279
mwifiex_dbg(priv->adapter, ERROR, "invalid SSID - aborting\n");
drivers/net/wireless/marvell/mwifiex/cfg80211.c
2285
mwifiex_dbg(priv->adapter, ERROR, "invalid SSID - aborting\n");
drivers/net/wireless/marvell/mwifiex/cfg80211.c
229
mwifiex_dbg(priv->adapter, MSG,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
232
mwifiex_dbg(priv->adapter, MSG,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
2349
mwifiex_dbg(priv->adapter, INFO,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
235
mwifiex_dbg(priv->adapter, MSG,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
2368
mwifiex_dbg(priv->adapter, ERROR, "scan error\n");
drivers/net/wireless/marvell/mwifiex/cfg80211.c
2387
mwifiex_dbg(priv->adapter, MSG,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
239
mwifiex_dbg(priv->adapter, MSG,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
2393
mwifiex_dbg(priv->adapter, MSG,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
2402
cfg80211_ref_bss(priv->adapter->wiphy, bss);
drivers/net/wireless/marvell/mwifiex/cfg80211.c
2425
cfg80211_put_bss(priv->adapter->wiphy, bss);
drivers/net/wireless/marvell/mwifiex/cfg80211.c
2441
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/cfg80211.c
2446
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
2453
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
2461
if (test_bit(MWIFIEX_SURPRISE_REMOVED, &adapter->work_flags) ||
drivers/net/wireless/marvell/mwifiex/cfg80211.c
2462
test_bit(MWIFIEX_IS_CMD_TIMEDOUT, &adapter->work_flags)) {
drivers/net/wireless/marvell/mwifiex/cfg80211.c
2463
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
2470
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
2483
mwifiex_dbg(priv->adapter, MSG,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
2486
if (ISSUPP_TDLS_ENABLED(priv->adapter->fw_cap_info) &&
drivers/net/wireless/marvell/mwifiex/cfg80211.c
2487
priv->adapter->auto_tdls &&
drivers/net/wireless/marvell/mwifiex/cfg80211.c
2491
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
250
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
2520
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/cfg80211.c
2560
if (!((config_bands | adapter->fw_bands) & ~adapter->fw_bands)) {
drivers/net/wireless/marvell/mwifiex/cfg80211.c
2561
adapter->config_bands = config_bands;
drivers/net/wireless/marvell/mwifiex/cfg80211.c
2562
adapter->adhoc_start_band = config_bands;
drivers/net/wireless/marvell/mwifiex/cfg80211.c
2565
adapter->adhoc_11n_enabled = true;
drivers/net/wireless/marvell/mwifiex/cfg80211.c
2567
adapter->adhoc_11n_enabled = false;
drivers/net/wireless/marvell/mwifiex/cfg80211.c
2570
adapter->sec_chan_offset =
drivers/net/wireless/marvell/mwifiex/cfg80211.c
2576
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
2579
adapter->sec_chan_offset);
drivers/net/wireless/marvell/mwifiex/cfg80211.c
2598
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
2604
mwifiex_dbg(priv->adapter, MSG, "info: trying to join to bssid %pM\n",
drivers/net/wireless/marvell/mwifiex/cfg80211.c
2617
mwifiex_dbg(priv->adapter, MSG,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
2621
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
2639
mwifiex_dbg(priv->adapter, MSG, "info: disconnecting from essid %pM\n",
drivers/net/wireless/marvell/mwifiex/cfg80211.c
2668
mwifiex_dbg(priv->adapter, CMD,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
2675
mwifiex_dbg(priv->adapter, WARN,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
2733
if (priv->adapter->scan_chan_gap_enabled &&
drivers/net/wireless/marvell/mwifiex/cfg80211.c
2736
priv->adapter->scan_chan_gap_time;
drivers/net/wireless/marvell/mwifiex/cfg80211.c
274
mwifiex_dbg(priv->adapter, INFO, "info: management frame transmitted\n");
drivers/net/wireless/marvell/mwifiex/cfg80211.c
2741
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
2882
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/cfg80211.c
2886
vht_info->cap = adapter->hw_dot_11ac_dev_cap;
drivers/net/wireless/marvell/mwifiex/cfg80211.c
2889
adapter->hw_dot_11ac_mcs_support & 0xFFFF);
drivers/net/wireless/marvell/mwifiex/cfg80211.c
2892
adapter->hw_dot_11ac_mcs_support >> 16);
drivers/net/wireless/marvell/mwifiex/cfg80211.c
2913
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/cfg80211.c
2920
if (ISSUPP_CHANWIDTH40(adapter->hw_dot_11n_dev_cap))
drivers/net/wireless/marvell/mwifiex/cfg80211.c
2925
if (ISSUPP_SHORTGI20(adapter->hw_dot_11n_dev_cap))
drivers/net/wireless/marvell/mwifiex/cfg80211.c
2930
if (ISSUPP_SHORTGI40(adapter->hw_dot_11n_dev_cap))
drivers/net/wireless/marvell/mwifiex/cfg80211.c
2935
if (adapter->user_dev_mcs_support == HT_STREAM_2X2)
drivers/net/wireless/marvell/mwifiex/cfg80211.c
2940
if (ISSUPP_TXSTBC(adapter->hw_dot_11n_dev_cap))
drivers/net/wireless/marvell/mwifiex/cfg80211.c
2945
if (ISSUPP_GREENFIELD(adapter->hw_dot_11n_dev_cap))
drivers/net/wireless/marvell/mwifiex/cfg80211.c
2950
if (ISENABLED_40MHZ_INTOLERANT(adapter->hw_dot_11n_dev_cap))
drivers/net/wireless/marvell/mwifiex/cfg80211.c
2955
if (ISSUPP_RXLDPC(adapter->hw_dot_11n_dev_cap))
drivers/net/wireless/marvell/mwifiex/cfg80211.c
296
mwifiex_dbg(priv->adapter, INFO, "info: mgmt frame registered\n");
drivers/net/wireless/marvell/mwifiex/cfg80211.c
2963
rx_mcs_supp = GET_RXMCSSUPP(adapter->user_dev_mcs_support);
drivers/net/wireless/marvell/mwifiex/cfg80211.c
2970
ISSUPP_CHANWIDTH40(adapter->hw_dot_11n_dev_cap))
drivers/net/wireless/marvell/mwifiex/cfg80211.c
2986
struct mwifiex_adapter *adapter = mwifiex_cfg80211_get_adapter(wiphy);
drivers/net/wireless/marvell/mwifiex/cfg80211.c
2992
if (!adapter)
drivers/net/wireless/marvell/mwifiex/cfg80211.c
2999
if (adapter->curr_iface_comb.sta_intf ==
drivers/net/wireless/marvell/mwifiex/cfg80211.c
3000
adapter->iface_limit.sta_intf) {
drivers/net/wireless/marvell/mwifiex/cfg80211.c
3001
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
3007
adapter, MWIFIEX_BSS_TYPE_STA);
drivers/net/wireless/marvell/mwifiex/cfg80211.c
3009
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
3026
if (adapter->curr_iface_comb.uap_intf ==
drivers/net/wireless/marvell/mwifiex/cfg80211.c
3027
adapter->iface_limit.uap_intf) {
drivers/net/wireless/marvell/mwifiex/cfg80211.c
3028
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
3034
adapter, MWIFIEX_BSS_TYPE_UAP);
drivers/net/wireless/marvell/mwifiex/cfg80211.c
3036
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
3049
if (adapter->curr_iface_comb.p2p_intf ==
drivers/net/wireless/marvell/mwifiex/cfg80211.c
3050
adapter->iface_limit.p2p_intf) {
drivers/net/wireless/marvell/mwifiex/cfg80211.c
3051
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
3057
adapter, MWIFIEX_BSS_TYPE_P2P);
drivers/net/wireless/marvell/mwifiex/cfg80211.c
3059
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
3086
mwifiex_dbg(adapter, ERROR, "type not supported\n");
drivers/net/wireless/marvell/mwifiex/cfg80211.c
3099
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
3109
if (!adapter->mfg_mode) {
drivers/net/wireless/marvell/mwifiex/cfg80211.c
3123
if (adapter->is_hw_11ac_capable)
drivers/net/wireless/marvell/mwifiex/cfg80211.c
3127
if (adapter->config_bands & BAND_A)
drivers/net/wireless/marvell/mwifiex/cfg80211.c
313
mwifiex_dbg(priv->adapter, ERROR, "Invalid parameter for ROC\n");
drivers/net/wireless/marvell/mwifiex/cfg80211.c
3131
if ((adapter->config_bands & BAND_A) && adapter->is_hw_11ac_capable)
drivers/net/wireless/marvell/mwifiex/cfg80211.c
3148
SET_NETDEV_DEV(dev, adapter->dev);
drivers/net/wireless/marvell/mwifiex/cfg80211.c
3159
mwifiex_dbg(adapter, ERROR, "cannot alloc DFS CAC queue\n");
drivers/net/wireless/marvell/mwifiex/cfg80211.c
3170
mwifiex_dbg(adapter, ERROR, "cannot alloc DFS channel sw queue\n");
drivers/net/wireless/marvell/mwifiex/cfg80211.c
318
mwifiex_dbg(priv->adapter, INFO,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
3182
mwifiex_dbg(adapter, ERROR, "cannot register network device\n");
drivers/net/wireless/marvell/mwifiex/cfg80211.c
3187
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
3194
update_vif_type_counter(adapter, type, +1);
drivers/net/wireless/marvell/mwifiex/cfg80211.c
3224
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/cfg80211.c
3234
mwifiex_stop_net_dev_queue(priv->netdev, adapter);
drivers/net/wireless/marvell/mwifiex/cfg80211.c
3238
mwifiex_write_data_complete(priv->adapter, skb, 0, -1);
drivers/net/wireless/marvell/mwifiex/cfg80211.c
3259
update_vif_type_counter(adapter, priv->bss_mode, -1);
drivers/net/wireless/marvell/mwifiex/cfg80211.c
3315
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/cfg80211.c
3323
if (adapter->priv[i]->netdev) {
drivers/net/wireless/marvell/mwifiex/cfg80211.c
3324
in_dev = __in_dev_get_rtnl(adapter->priv[i]->netdev);
drivers/net/wireless/marvell/mwifiex/cfg80211.c
335
mwifiex_dbg(priv->adapter, INFO,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
3381
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
3411
mwifiex_dbg(priv->adapter, INFO, "Wake on patterns\n");
drivers/net/wireless/marvell/mwifiex/cfg80211.c
3440
mwifiex_dbg(priv->adapter, INFO, "Wake on magic packet\n");
drivers/net/wireless/marvell/mwifiex/cfg80211.c
3491
struct mwifiex_adapter *adapter = mwifiex_cfg80211_get_adapter(wiphy);
drivers/net/wireless/marvell/mwifiex/cfg80211.c
3496
mwifiex_get_priv(adapter, MWIFIEX_BSS_ROLE_STA);
drivers/net/wireless/marvell/mwifiex/cfg80211.c
3499
for (i = 0; i < adapter->priv_num; i++) {
drivers/net/wireless/marvell/mwifiex/cfg80211.c
3500
priv = adapter->priv[i];
drivers/net/wireless/marvell/mwifiex/cfg80211.c
3504
mwifiex_cancel_all_pending_cmd(adapter);
drivers/net/wireless/marvell/mwifiex/cfg80211.c
3506
for (i = 0; i < adapter->priv_num; i++) {
drivers/net/wireless/marvell/mwifiex/cfg80211.c
3507
priv = adapter->priv[i];
drivers/net/wireless/marvell/mwifiex/cfg80211.c
3513
if (!mwifiex_wmm_lists_empty(adapter) ||
drivers/net/wireless/marvell/mwifiex/cfg80211.c
3514
!mwifiex_bypass_txlist_empty(adapter) ||
drivers/net/wireless/marvell/mwifiex/cfg80211.c
3515
!skb_queue_empty(&adapter->tx_data_q))
drivers/net/wireless/marvell/mwifiex/cfg80211.c
3522
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
3529
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
3537
mwifiex_dbg(adapter, ERROR, "Failed to set MEF filter\n");
drivers/net/wireless/marvell/mwifiex/cfg80211.c
3542
hs_cfg.conditions = le32_to_cpu(adapter->hs_cfg.conditions);
drivers/net/wireless/marvell/mwifiex/cfg80211.c
3545
mwifiex_dbg(adapter, INFO, "Wake on net detect\n");
drivers/net/wireless/marvell/mwifiex/cfg80211.c
3553
mwifiex_dbg(sta_priv->adapter, INFO, "Wake on device disconnect\n");
drivers/net/wireless/marvell/mwifiex/cfg80211.c
3557
hs_cfg.gpio = adapter->hs_cfg.gpio;
drivers/net/wireless/marvell/mwifiex/cfg80211.c
3558
hs_cfg.gap = adapter->hs_cfg.gap;
drivers/net/wireless/marvell/mwifiex/cfg80211.c
3562
mwifiex_dbg(adapter, ERROR, "Failed to set HS params\n");
drivers/net/wireless/marvell/mwifiex/cfg80211.c
3571
struct mwifiex_adapter *adapter = mwifiex_cfg80211_get_adapter(wiphy);
drivers/net/wireless/marvell/mwifiex/cfg80211.c
3578
for (i = 0; i < adapter->priv_num; i++) {
drivers/net/wireless/marvell/mwifiex/cfg80211.c
3579
priv = adapter->priv[i];
drivers/net/wireless/marvell/mwifiex/cfg80211.c
3587
priv = mwifiex_get_priv(adapter, MWIFIEX_BSS_ROLE_STA);
drivers/net/wireless/marvell/mwifiex/cfg80211.c
3609
wakeup_report.net_detect = adapter->nd_info;
drivers/net/wireless/marvell/mwifiex/cfg80211.c
3633
if (adapter->nd_info) {
drivers/net/wireless/marvell/mwifiex/cfg80211.c
3634
for (i = 0 ; i < adapter->nd_info->n_matches ; i++)
drivers/net/wireless/marvell/mwifiex/cfg80211.c
3635
kfree(adapter->nd_info->matches[i]);
drivers/net/wireless/marvell/mwifiex/cfg80211.c
3636
kfree(adapter->nd_info);
drivers/net/wireless/marvell/mwifiex/cfg80211.c
3637
adapter->nd_info = NULL;
drivers/net/wireless/marvell/mwifiex/cfg80211.c
3646
struct mwifiex_adapter *adapter = mwifiex_cfg80211_get_adapter(wiphy);
drivers/net/wireless/marvell/mwifiex/cfg80211.c
3648
device_set_wakeup_enable(adapter->dev, enabled);
drivers/net/wireless/marvell/mwifiex/cfg80211.c
365
mwifiex_dbg(priv->adapter, INFO,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
3656
if (!ISSUPP_FIRMWARE_SUPPLICANT(priv->adapter->fw_cap_info))
drivers/net/wireless/marvell/mwifiex/cfg80211.c
3659
if (priv->adapter->host_mlme_enabled)
drivers/net/wireless/marvell/mwifiex/cfg80211.c
3706
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
3716
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
3740
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
3751
struct mwifiex_adapter *adapter = mwifiex_cfg80211_get_adapter(wiphy);
drivers/net/wireless/marvell/mwifiex/cfg80211.c
3755
mwifiex_get_priv(adapter, MWIFIEX_BSS_ROLE_STA);
drivers/net/wireless/marvell/mwifiex/cfg80211.c
3759
mwifiex_dbg(adapter, WARN,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
3771
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
3804
mwifiex_dbg(priv->adapter, MSG,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
3814
mwifiex_dbg(priv->adapter, MSG,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
382
struct mwifiex_adapter *adapter = mwifiex_cfg80211_get_adapter(wiphy);
drivers/net/wireless/marvell/mwifiex/cfg80211.c
3822
mwifiex_dbg(priv->adapter, MSG,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
3830
mwifiex_dbg(priv->adapter, MSG,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
3837
mwifiex_dbg(priv->adapter, MSG,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
3844
mwifiex_dbg(priv->adapter, MSG,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
3851
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
3874
mwifiex_dbg(priv->adapter, MSG,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
3886
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
3891
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
3896
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
3900
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4009
if (priv->adapter->host_mlme_enabled &&
drivers/net/wireless/marvell/mwifiex/cfg80211.c
403
priv = mwifiex_get_priv(adapter, MWIFIEX_BSS_ROLE_ANY);
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4032
if (priv->adapter->scan_processing) {
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4033
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4049
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4058
mwifiex_stop_net_dev_queue(priv->netdev, priv->adapter);
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4062
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4066
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
417
struct mwifiex_adapter *adapter = mwifiex_cfg80211_get_adapter(wiphy);
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4173
dev_err(priv->adapter->dev, "Failed to process hostcmd\n");
drivers/net/wireless/marvell/mwifiex/cfg80211.c
418
struct mwifiex_private *priv = mwifiex_get_priv(adapter,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4210
if (priv->adapter->scan_processing) {
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4211
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4217
mwifiex_dbg(priv->adapter, INFO,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4220
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4250
if (priv->adapter->host_mlme_enabled &&
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4276
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4287
mwifiex_dbg(priv->adapter, ERROR, "Interface role is AP\n");
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4292
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4300
mwifiex_dbg(priv->adapter, ERROR, "Pending auth on going\n");
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4329
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4349
mwifiex_cancel_scan(adapter);
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4360
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4416
mwifiex_dbg(priv->adapter, MSG,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4429
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4435
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4441
if (test_bit(MWIFIEX_SURPRISE_REMOVED, &adapter->work_flags) ||
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4442
test_bit(MWIFIEX_IS_CMD_TIMEDOUT, &adapter->work_flags)) {
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4443
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
446
mwifiex_dbg(priv->adapter, INFO,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4478
mwifiex_dbg(adapter, ERROR, "invalid SSID - aborting\n");
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4484
mwifiex_dbg(adapter, ERROR, "invalid SSID - aborting\n");
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4498
mwifiex_dbg(priv->adapter, ERROR, "deleting the crypto keys\n");
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4514
mwifiex_dbg(adapter, MSG,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4517
cfg80211_ref_bss(adapter->wiphy, req->bss);
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4527
adapter->assoc_resp_received = true;
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4528
queue_work(adapter->host_mlme_workqueue,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4529
&adapter->host_mlme_work);
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4532
cfg80211_put_bss(priv->adapter->wiphy, req->bss);
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4667
int mwifiex_init_channel_scan_gap(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4673
if (adapter->config_bands & BAND_A)
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4679
adapter->num_in_chan_stats = 2 * (n_channels_bg + n_channels_a);
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4680
adapter->chan_stats = kzalloc_objs(*adapter->chan_stats,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4681
adapter->num_in_chan_stats);
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4683
if (!adapter->chan_stats)
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4697
int mwifiex_register_cfg80211(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4702
struct mwifiex_private *priv = adapter->priv[MWIFIEX_BSS_TYPE_STA];
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4707
ops = devm_kmemdup(adapter->dev, &mwifiex_cfg80211_ops,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4715
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4719
if (adapter->host_mlme_enabled) {
drivers/net/wireless/marvell/mwifiex/cfg80211.c
472
mwifiex_dbg(priv->adapter, ERROR, "set default Tx key index\n");
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4730
if (adapter->host_mlme_enabled) {
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4731
memcpy(adapter->mwifiex_mgmt_stypes,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4736
adapter->mwifiex_mgmt_stypes[NL80211_IFTYPE_AP].tx = 0xffff;
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4737
adapter->mwifiex_mgmt_stypes[NL80211_IFTYPE_AP].rx =
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4745
wiphy->mgmt_stypes = adapter->mwifiex_mgmt_stypes;
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4757
if (ISSUPP_ADHOC_ENABLED(adapter->fw_cap_info))
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4760
wiphy->bands[NL80211_BAND_2GHZ] = devm_kmemdup(adapter->dev,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4769
if (adapter->config_bands & BAND_A) {
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4770
wiphy->bands[NL80211_BAND_5GHZ] = devm_kmemdup(adapter->dev,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4782
if (adapter->drcs_enabled && ISSUPP_DRCS_ENABLED(adapter->fw_cap_info))
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4784
else if (adapter->is_hw_11ac_capable)
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4791
adapter->max_sta_conn,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4792
adapter->max_p2p_conn);
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4798
if (adapter->regd) {
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4802
wiphy_apply_custom_regulatory(wiphy, adapter->regd);
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4805
ether_addr_copy(wiphy->perm_addr, adapter->perm_addr);
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4814
if (adapter->host_mlme_enabled)
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4819
if (ISSUPP_TDLS_ENABLED(adapter->fw_cap_info))
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4824
if (ISSUPP_FIRMWARE_SUPPLICANT(priv->adapter->fw_cap_info))
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4841
wiphy->available_antennas_tx = BIT(adapter->number_of_antenna) - 1;
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4842
wiphy->available_antennas_rx = BIT(adapter->number_of_antenna) - 1;
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4848
if (adapter->host_mlme_enabled)
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4851
if (ISSUPP_ADHOC_ENABLED(adapter->fw_cap_info))
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4854
if (ISSUPP_RANDOM_MAC(adapter->fw_cap_info))
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4859
if (ISSUPP_TDLS_ENABLED(adapter->fw_cap_info))
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4862
if (adapter->fw_api_ver == MWIFIEX_FW_V15)
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4872
*(unsigned long *)wdev_priv = (unsigned long)adapter;
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4874
set_wiphy_dev(wiphy, priv->adapter->dev);
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4878
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4883
if (!adapter->regd) {
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4885
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4889
if (adapter->region_code == 0x00) {
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4890
mwifiex_dbg(adapter, WARN,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4898
adapter->region_code);
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4901
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4920
adapter->wiphy = wiphy;
drivers/net/wireless/marvell/mwifiex/cfg80211.c
509
mwifiex_dbg(priv->adapter, ERROR, "crypto keys added\n");
drivers/net/wireless/marvell/mwifiex/cfg80211.c
530
if (priv->adapter->host_mlme_enabled)
drivers/net/wireless/marvell/mwifiex/cfg80211.c
541
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
566
struct mwifiex_adapter *adapter = mwifiex_cfg80211_get_adapter(wiphy);
drivers/net/wireless/marvell/mwifiex/cfg80211.c
568
struct mwifiex_802_11d_domain_reg *domain_info = &adapter->domain_reg;
drivers/net/wireless/marvell/mwifiex/cfg80211.c
571
domain_info->country_code[0] = adapter->country_code[0];
drivers/net/wireless/marvell/mwifiex/cfg80211.c
572
domain_info->country_code[1] = adapter->country_code[1];
drivers/net/wireless/marvell/mwifiex/cfg80211.c
575
band = mwifiex_band_to_radio_type(adapter->config_bands);
drivers/net/wireless/marvell/mwifiex/cfg80211.c
577
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
625
priv = mwifiex_get_priv(adapter, MWIFIEX_BSS_ROLE_ANY);
drivers/net/wireless/marvell/mwifiex/cfg80211.c
629
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
668
struct mwifiex_adapter *adapter = mwifiex_cfg80211_get_adapter(wiphy);
drivers/net/wireless/marvell/mwifiex/cfg80211.c
669
struct mwifiex_private *priv = mwifiex_get_priv(adapter,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
671
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
683
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
690
if (strncmp(request->alpha2, adapter->country_code,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
692
memcpy(adapter->country_code, request->alpha2,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
744
struct mwifiex_adapter *adapter = mwifiex_cfg80211_get_adapter(wiphy);
drivers/net/wireless/marvell/mwifiex/cfg80211.c
749
priv = mwifiex_get_priv(adapter, MWIFIEX_BSS_ROLE_ANY);
drivers/net/wireless/marvell/mwifiex/cfg80211.c
754
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
779
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
787
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
875
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/cfg80211.c
883
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
890
spin_lock_irqsave(&adapter->main_proc_lock, flags);
drivers/net/wireless/marvell/mwifiex/cfg80211.c
891
adapter->main_locked = true;
drivers/net/wireless/marvell/mwifiex/cfg80211.c
892
if (adapter->mwifiex_processing) {
drivers/net/wireless/marvell/mwifiex/cfg80211.c
893
spin_unlock_irqrestore(&adapter->main_proc_lock, flags);
drivers/net/wireless/marvell/mwifiex/cfg80211.c
894
flush_workqueue(adapter->workqueue);
drivers/net/wireless/marvell/mwifiex/cfg80211.c
896
spin_unlock_irqrestore(&adapter->main_proc_lock, flags);
drivers/net/wireless/marvell/mwifiex/cfg80211.c
899
spin_lock_bh(&adapter->rx_proc_lock);
drivers/net/wireless/marvell/mwifiex/cfg80211.c
900
adapter->rx_locked = true;
drivers/net/wireless/marvell/mwifiex/cfg80211.c
901
if (adapter->rx_processing) {
drivers/net/wireless/marvell/mwifiex/cfg80211.c
902
spin_unlock_bh(&adapter->rx_proc_lock);
drivers/net/wireless/marvell/mwifiex/cfg80211.c
903
flush_workqueue(adapter->rx_workqueue);
drivers/net/wireless/marvell/mwifiex/cfg80211.c
905
spin_unlock_bh(&adapter->rx_proc_lock);
drivers/net/wireless/marvell/mwifiex/cfg80211.c
921
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/cfg80211.c
951
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
957
priv->bss_num = mwifiex_get_unused_bss_num(adapter, priv->bss_type);
drivers/net/wireless/marvell/mwifiex/cfg80211.c
959
spin_lock_irqsave(&adapter->main_proc_lock, flags);
drivers/net/wireless/marvell/mwifiex/cfg80211.c
960
adapter->main_locked = false;
drivers/net/wireless/marvell/mwifiex/cfg80211.c
961
spin_unlock_irqrestore(&adapter->main_proc_lock, flags);
drivers/net/wireless/marvell/mwifiex/cfg80211.c
963
spin_lock_bh(&adapter->rx_proc_lock);
drivers/net/wireless/marvell/mwifiex/cfg80211.c
964
adapter->rx_locked = false;
drivers/net/wireless/marvell/mwifiex/cfg80211.c
965
spin_unlock_bh(&adapter->rx_proc_lock);
drivers/net/wireless/marvell/mwifiex/cfg80211.c
973
is_vif_type_change_allowed(struct mwifiex_adapter *adapter,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
984
return adapter->curr_iface_comb.p2p_intf !=
drivers/net/wireless/marvell/mwifiex/cfg80211.c
985
adapter->iface_limit.p2p_intf;
drivers/net/wireless/marvell/mwifiex/cfg80211.c
987
return adapter->curr_iface_comb.uap_intf !=
drivers/net/wireless/marvell/mwifiex/cfg80211.c
988
adapter->iface_limit.uap_intf;
drivers/net/wireless/marvell/mwifiex/cfg80211.c
999
return adapter->curr_iface_comb.p2p_intf !=
drivers/net/wireless/marvell/mwifiex/cfp.c
242
(priv->adapter->user_dev_mcs_support == HT_STREAM_2X2) ? 16 : 8;
drivers/net/wireless/marvell/mwifiex/cfp.c
245
if (priv->adapter->is_hw_11ac_capable)
drivers/net/wireless/marvell/mwifiex/cfp.c
316
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/cfp.c
339
mwifiex_dbg(priv->adapter, WARN,
drivers/net/wireless/marvell/mwifiex/cfp.c
381
struct wiphy *wiphy = priv->adapter->wiphy;
drivers/net/wireless/marvell/mwifiex/cfp.c
416
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/cfp.c
420
switch (adapter->config_bands) {
drivers/net/wireless/marvell/mwifiex/cfp.c
422
mwifiex_dbg(adapter, INFO, "info: infra band=%d\t"
drivers/net/wireless/marvell/mwifiex/cfp.c
424
adapter->config_bands);
drivers/net/wireless/marvell/mwifiex/cfp.c
430
mwifiex_dbg(adapter, INFO, "info: infra band=%d\t"
drivers/net/wireless/marvell/mwifiex/cfp.c
432
adapter->config_bands);
drivers/net/wireless/marvell/mwifiex/cfp.c
442
mwifiex_dbg(adapter, INFO, "info: infra band=%d\t"
drivers/net/wireless/marvell/mwifiex/cfp.c
444
adapter->config_bands);
drivers/net/wireless/marvell/mwifiex/cfp.c
450
mwifiex_dbg(adapter, INFO, "info: infra band=%d\t"
drivers/net/wireless/marvell/mwifiex/cfp.c
452
adapter->config_bands);
drivers/net/wireless/marvell/mwifiex/cfp.c
461
mwifiex_dbg(adapter, INFO, "info: infra band=%d\t"
drivers/net/wireless/marvell/mwifiex/cfp.c
463
adapter->config_bands);
drivers/net/wireless/marvell/mwifiex/cfp.c
468
mwifiex_dbg(adapter, INFO, "info: infra band=%d\t"
drivers/net/wireless/marvell/mwifiex/cfp.c
470
adapter->config_bands);
drivers/net/wireless/marvell/mwifiex/cfp.c
477
switch (adapter->adhoc_start_band) {
drivers/net/wireless/marvell/mwifiex/cfp.c
479
mwifiex_dbg(adapter, INFO, "info: adhoc B\n");
drivers/net/wireless/marvell/mwifiex/cfp.c
485
mwifiex_dbg(adapter, INFO, "info: adhoc G only\n");
drivers/net/wireless/marvell/mwifiex/cfp.c
491
mwifiex_dbg(adapter, INFO, "info: adhoc BG\n");
drivers/net/wireless/marvell/mwifiex/cfp.c
497
mwifiex_dbg(adapter, INFO, "info: adhoc A\n");
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1001
mwifiex_dbg(adapter, MSG,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1003
adapter->data_sent, adapter->cmd_sent);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1005
mwifiex_dbg(adapter, MSG,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1007
adapter->ps_mode, adapter->ps_state);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1010
adapter->cmd_wait_q.status = -ETIMEDOUT;
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1011
mwifiex_cancel_pending_ioctl(adapter);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1015
if (adapter->if_ops.device_dump)
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1016
adapter->if_ops.device_dump(adapter);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1018
if (adapter->if_ops.card_reset)
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1019
adapter->if_ops.card_reset(adapter);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1023
mwifiex_cancel_pending_scan_cmd(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1028
spin_lock_bh(&adapter->scan_pending_q_lock);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1030
&adapter->scan_pending_q, list) {
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1033
mwifiex_insert_cmd_to_free_q(adapter, cmd_node);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1035
spin_unlock_bh(&adapter->scan_pending_q_lock);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
104
mwifiex_insert_cmd_to_free_q(struct mwifiex_adapter *adapter,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1046
mwifiex_cancel_all_pending_cmd(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1050
spin_lock_bh(&adapter->mwifiex_cmd_lock);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1052
if ((adapter->curr_cmd) && (adapter->curr_cmd->wait_q_enabled)) {
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1053
adapter->cmd_wait_q.status = -1;
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1054
mwifiex_complete_cmd(adapter, adapter->curr_cmd);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1055
adapter->curr_cmd->wait_q_enabled = false;
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1059
spin_lock_bh(&adapter->cmd_pending_q_lock);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1061
&adapter->cmd_pending_q, list) {
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1065
adapter->cmd_wait_q.status = -1;
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1066
mwifiex_recycle_cmd_node(adapter, cmd_node);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1068
spin_unlock_bh(&adapter->cmd_pending_q_lock);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1069
spin_unlock_bh(&adapter->mwifiex_cmd_lock);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1071
mwifiex_cancel_scan(adapter);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1085
mwifiex_cancel_pending_ioctl(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1089
if ((adapter->curr_cmd) &&
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1090
(adapter->curr_cmd->wait_q_enabled)) {
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1091
spin_lock_bh(&adapter->mwifiex_cmd_lock);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1092
cmd_node = adapter->curr_cmd;
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1101
adapter->curr_cmd = NULL;
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1102
spin_unlock_bh(&adapter->mwifiex_cmd_lock);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1104
mwifiex_recycle_cmd_node(adapter, cmd_node);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1107
mwifiex_cancel_scan(adapter);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
111
mwifiex_complete_cmd(adapter, cmd_node);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1120
mwifiex_check_ps_cond(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1122
if (!adapter->cmd_sent && !atomic_read(&adapter->tx_hw_pending) &&
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1123
!adapter->curr_cmd && !IS_CARD_RX_RCVD(adapter))
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1124
mwifiex_dnld_sleep_confirm_cmd(adapter);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1126
mwifiex_dbg(adapter, CMD,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1128
(adapter->cmd_sent) ? "D" : "",
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1129
atomic_read(&adapter->tx_hw_pending) ? "T" : "",
drivers/net/wireless/marvell/mwifiex/cmdevt.c
113
mwifiex_clean_cmd_node(adapter, cmd_node);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1130
(adapter->curr_cmd) ? "C" : "",
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1131
(IS_CARD_RX_RCVD(adapter)) ? "R" : "");
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1140
mwifiex_hs_activated_event(struct mwifiex_adapter *adapter, u8 activated)
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1144
&adapter->work_flags)) {
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1145
adapter->hs_activated = true;
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1146
mwifiex_update_rxreor_flags(adapter,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1148
mwifiex_dbg(adapter, EVENT,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1150
adapter->hs_activate_wait_q_woken = true;
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1152
&adapter->hs_activate_wait_q);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1154
mwifiex_dbg(adapter, EVENT,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1158
mwifiex_dbg(adapter, EVENT,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
116
spin_lock_bh(&adapter->cmd_free_q_lock);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1160
adapter->hs_activated = false;
drivers/net/wireless/marvell/mwifiex/cmdevt.c
117
list_add_tail(&cmd_node->list, &adapter->cmd_free_q);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1177
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/cmdevt.c
118
spin_unlock_bh(&adapter->cmd_free_q_lock);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1183
adapter->iface_type != MWIFIEX_USB) {
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1184
mwifiex_hs_activated_event(adapter, true);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1187
mwifiex_dbg(adapter, CMD,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1195
set_bit(MWIFIEX_IS_HS_CONFIGURED, &adapter->work_flags);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1196
if (adapter->iface_type == MWIFIEX_USB)
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1197
mwifiex_hs_activated_event(adapter, true);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1199
clear_bit(MWIFIEX_IS_HS_CONFIGURED, &adapter->work_flags);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1200
if (adapter->hs_activated)
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1201
mwifiex_hs_activated_event(adapter, false);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1212
mwifiex_process_hs_config(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1214
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1219
adapter->if_ops.wakeup(adapter);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
122
void mwifiex_recycle_cmd_node(struct mwifiex_adapter *adapter,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1221
if (adapter->hs_activated_manually) {
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1222
mwifiex_cancel_hs(mwifiex_get_priv (adapter, MWIFIEX_BSS_ROLE_ANY),
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1224
adapter->hs_activated_manually = false;
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1227
adapter->hs_activated = false;
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1228
clear_bit(MWIFIEX_IS_HS_CONFIGURED, &adapter->work_flags);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1229
clear_bit(MWIFIEX_IS_SUSPENDED, &adapter->work_flags);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1230
mwifiex_hs_activated_event(adapter, false);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1240
mwifiex_process_sleep_confirm_resp(struct mwifiex_adapter *adapter,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1249
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1254
mwifiex_dbg(adapter, CMD,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1264
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
127
mwifiex_insert_cmd_to_free_q(adapter, cmd_node);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1271
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1274
adapter->pm_wakeup_card_req = false;
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1275
adapter->ps_state = PS_STATE_AWAKE;
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1278
adapter->pm_wakeup_card_req = true;
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1279
if (test_bit(MWIFIEX_IS_HS_CONFIGURED, &adapter->work_flags))
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1280
mwifiex_hs_activated_event(adapter, true);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1281
adapter->ps_state = PS_STATE_SLEEP;
drivers/net/wireless/marvell/mwifiex/cmdevt.c
129
atomic_dec(&adapter->cmd_pending);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
130
mwifiex_dbg(adapter, CMD,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1327
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/cmdevt.c
133
atomic_read(&adapter->cmd_pending));
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1336
mwifiex_dbg(priv->adapter, CMD,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1339
cpu_to_le16(adapter->null_pkt_interval);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1341
cpu_to_le16(adapter->multiple_dtim);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1343
cpu_to_le16(adapter->bcn_miss_time_out);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1345
cpu_to_le16(adapter->local_listen_interval);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1347
cpu_to_le16(adapter->adhoc_awake_period);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1349
cpu_to_le16(adapter->delay_to_ps);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1350
ps_mode->mode = cpu_to_le16(adapter->enhanced_ps_mode);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1367
mwifiex_dbg(priv->adapter, CMD,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1387
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1395
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1400
mwifiex_dbg(adapter, CMD,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1402
priv->adapter->is_deep_sleep = true;
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1405
mwifiex_dbg(adapter, CMD,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1407
if (adapter->sleep_period.period)
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1408
mwifiex_dbg(adapter, CMD,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1413
priv->adapter->is_deep_sleep = false;
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1414
mwifiex_dbg(adapter, CMD,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1418
mwifiex_dbg(adapter, CMD,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1420
if (adapter->sleep_period.period) {
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1421
adapter->delay_null_pkt = false;
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1422
adapter->tx_lock_flag = false;
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1423
adapter->pps_uapsd_mode = false;
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1428
adapter->ps_mode = MWIFIEX_802_11_POWER_MODE_PSP;
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1430
adapter->ps_mode = MWIFIEX_802_11_POWER_MODE_CAM;
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1432
mwifiex_dbg(adapter, CMD,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
149
mwifiex_dbg(priv->adapter, CMD,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1491
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1498
adapter->fw_cap_info = le32_to_cpu(hw_spec->fw_cap_info);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1500
if (IS_SUPPORT_MULTI_BANDS(adapter))
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1501
adapter->fw_bands = (u8) GET_FW_DEFAULT_BANDS(adapter);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1503
adapter->fw_bands = BAND_B;
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1505
adapter->config_bands = adapter->fw_bands;
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1507
if (adapter->fw_bands & BAND_A) {
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1508
if (adapter->fw_bands & BAND_GN) {
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1509
adapter->config_bands |= BAND_AN;
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1510
adapter->fw_bands |= BAND_AN;
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1512
if (adapter->fw_bands & BAND_AN) {
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1513
adapter->adhoc_start_band = BAND_A | BAND_AN;
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1514
adapter->adhoc_11n_enabled = true;
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1516
adapter->adhoc_start_band = BAND_A;
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1519
} else if (adapter->fw_bands & BAND_GN) {
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1520
adapter->adhoc_start_band = BAND_G | BAND_B | BAND_GN;
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1522
adapter->adhoc_11n_enabled = true;
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1523
} else if (adapter->fw_bands & BAND_G) {
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1524
adapter->adhoc_start_band = BAND_G | BAND_B;
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1526
} else if (adapter->fw_bands & BAND_B) {
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1527
adapter->adhoc_start_band = BAND_B;
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1531
adapter->fw_release_number = le32_to_cpu(hw_spec->fw_release_number);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1532
adapter->fw_api_ver = (adapter->fw_release_number >> 16) & 0xff;
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1533
adapter->number_of_antenna =
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1537
adapter->is_hw_11ac_capable = true;
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1540
adapter->hw_dot_11ac_dev_cap =
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1542
adapter->usr_dot_11ac_dev_cap_bg = adapter->hw_dot_11ac_dev_cap
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1544
adapter->usr_dot_11ac_dev_cap_a = adapter->hw_dot_11ac_dev_cap
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1548
adapter->hw_dot_11ac_mcs_support =
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1550
adapter->usr_dot_11ac_mcs_support =
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1551
adapter->hw_dot_11ac_mcs_support;
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1553
adapter->is_hw_11ac_capable = false;
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1568
adapter->key_api_major_ver =
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1570
adapter->key_api_minor_ver =
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1572
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1574
adapter->key_api_major_ver,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1575
adapter->key_api_minor_ver);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1578
adapter->fw_api_ver =
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1580
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1582
adapter->fw_api_ver,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1586
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1592
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1598
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1603
mwifiex_dbg(adapter, FATAL,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1611
adapter->max_p2p_conn = max_conn->max_p2p_conn;
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1612
adapter->max_sta_conn = max_conn->max_sta_conn;
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1613
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1615
adapter->max_p2p_conn);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1616
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1618
adapter->max_sta_conn);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
162
static int mwifiex_dnld_cmd_to_fw(struct mwifiex_adapter *adapter,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1621
mwifiex_dbg(adapter, FATAL,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1633
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1635
adapter->fw_release_number);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1636
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1639
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1644
ether_addr_copy(priv->adapter->perm_addr, hw_spec->permanent_addr);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1645
adapter->region_code = le16_to_cpu(hw_spec->region_code);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1649
if (adapter->region_code == region_code_index[i])
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1654
adapter->region_code = 0x00;
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1655
mwifiex_dbg(adapter, WARN,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1659
adapter->hw_dot_11n_dev_cap = le32_to_cpu(hw_spec->dot_11n_dev_cap);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1660
adapter->hw_dev_mcs_support = hw_spec->dev_mcs_support;
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1661
adapter->user_dev_mcs_support = adapter->hw_dev_mcs_support;
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1663
if (adapter->if_ops.update_mp_end_port)
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1664
adapter->if_ops.update_mp_end_port(adapter,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1667
if (adapter->fw_api_ver == MWIFIEX_FW_V15)
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1668
adapter->scan_chan_gap_enabled = true;
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1670
if (adapter->key_api_major_ver != KEY_API_VER_MAJOR_V2)
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1671
adapter->host_mlme_enabled = false;
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1673
mwifiex_dbg(adapter, MSG, "host_mlme: %s, key_api: %d\n",
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1674
adapter->host_mlme_enabled ? "enable" : "disable",
drivers/net/wireless/marvell/mwifiex/cmdevt.c
1675
adapter->key_api_major_ver);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
17
static void mwifiex_cancel_pending_ioctl(struct mwifiex_adapter *adapter);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
170
if (!adapter || !cmd_node)
drivers/net/wireless/marvell/mwifiex/cmdevt.c
177
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
181
adapter->cmd_wait_q.status = -1;
drivers/net/wireless/marvell/mwifiex/cmdevt.c
182
mwifiex_recycle_cmd_node(adapter, cmd_node);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
190
if (adapter->hw_status == MWIFIEX_HW_STATUS_RESET &&
drivers/net/wireless/marvell/mwifiex/cmdevt.c
193
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
196
mwifiex_recycle_cmd_node(adapter, cmd_node);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
197
queue_work(adapter->workqueue, &adapter->main_work);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
202
adapter->seq_num++;
drivers/net/wireless/marvell/mwifiex/cmdevt.c
204
(adapter->seq_num,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
208
spin_lock_bh(&adapter->mwifiex_cmd_lock);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
209
adapter->curr_cmd = cmd_node;
drivers/net/wireless/marvell/mwifiex/cmdevt.c
210
spin_unlock_bh(&adapter->mwifiex_cmd_lock);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
227
mwifiex_dbg(adapter, CMD,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
232
mwifiex_dbg_dump(adapter, CMD_D, "cmd buffer:", host_cmd, cmd_size);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
234
if (adapter->iface_type == MWIFIEX_USB) {
drivers/net/wireless/marvell/mwifiex/cmdevt.c
238
adapter->cmd_sent = true;
drivers/net/wireless/marvell/mwifiex/cmdevt.c
239
ret = adapter->if_ops.host_to_card(adapter,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
246
skb_push(cmd_node->cmd_skb, adapter->intf_hdr_len);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
247
ret = adapter->if_ops.host_to_card(adapter, MWIFIEX_TYPE_CMD,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
249
skb_pull(cmd_node->cmd_skb, adapter->intf_hdr_len);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
253
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
255
if (adapter->iface_type == MWIFIEX_USB)
drivers/net/wireless/marvell/mwifiex/cmdevt.c
256
adapter->cmd_sent = false;
drivers/net/wireless/marvell/mwifiex/cmdevt.c
258
adapter->cmd_wait_q.status = -1;
drivers/net/wireless/marvell/mwifiex/cmdevt.c
259
mwifiex_recycle_cmd_node(adapter, adapter->curr_cmd);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
261
spin_lock_bh(&adapter->mwifiex_cmd_lock);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
262
adapter->curr_cmd = NULL;
drivers/net/wireless/marvell/mwifiex/cmdevt.c
263
spin_unlock_bh(&adapter->mwifiex_cmd_lock);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
265
adapter->dbg.num_cmd_host_to_card_failure++;
drivers/net/wireless/marvell/mwifiex/cmdevt.c
270
adapter->dbg.last_cmd_index =
drivers/net/wireless/marvell/mwifiex/cmdevt.c
271
(adapter->dbg.last_cmd_index + 1) % DBG_CMD_NUM;
drivers/net/wireless/marvell/mwifiex/cmdevt.c
272
adapter->dbg.last_cmd_id[adapter->dbg.last_cmd_index] = cmd_code;
drivers/net/wireless/marvell/mwifiex/cmdevt.c
273
adapter->dbg.last_cmd_act[adapter->dbg.last_cmd_index] =
drivers/net/wireless/marvell/mwifiex/cmdevt.c
280
mod_timer(&adapter->cmd_timer,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
298
static int mwifiex_dnld_sleep_confirm_cmd(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/cmdevt.c
304
adapter->sleep_cfm->data;
drivers/net/wireless/marvell/mwifiex/cmdevt.c
307
priv = mwifiex_get_priv(adapter, MWIFIEX_BSS_ROLE_ANY);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
309
adapter->seq_num++;
drivers/net/wireless/marvell/mwifiex/cmdevt.c
312
(adapter->seq_num, priv->bss_num,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
315
mwifiex_dbg(adapter, CMD,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
321
mwifiex_dbg_dump(adapter, CMD_D, "SLEEP_CFM buffer: ", sleep_cfm_buf,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
324
if (adapter->iface_type == MWIFIEX_USB) {
drivers/net/wireless/marvell/mwifiex/cmdevt.c
329
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
338
adapter->sleep_cfm->data,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
340
ret = adapter->if_ops.host_to_card(adapter,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
346
skb_push(adapter->sleep_cfm, adapter->intf_hdr_len);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
347
ret = adapter->if_ops.host_to_card(adapter, MWIFIEX_TYPE_CMD,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
348
adapter->sleep_cfm, NULL);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
349
skb_pull(adapter->sleep_cfm, adapter->intf_hdr_len);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
353
mwifiex_dbg(adapter, ERROR, "SLEEP_CFM: failed\n");
drivers/net/wireless/marvell/mwifiex/cmdevt.c
354
adapter->dbg.num_cmd_sleep_cfm_host_to_card_failure++;
drivers/net/wireless/marvell/mwifiex/cmdevt.c
360
adapter->ps_state = PS_STATE_SLEEP;
drivers/net/wireless/marvell/mwifiex/cmdevt.c
362
adapter->ps_state = PS_STATE_SLEEP_CFM;
drivers/net/wireless/marvell/mwifiex/cmdevt.c
365
(test_bit(MWIFIEX_IS_HS_CONFIGURED, &adapter->work_flags) &&
drivers/net/wireless/marvell/mwifiex/cmdevt.c
366
!adapter->sleep_period.period)) {
drivers/net/wireless/marvell/mwifiex/cmdevt.c
367
adapter->pm_wakeup_card_req = true;
drivers/net/wireless/marvell/mwifiex/cmdevt.c
368
mwifiex_hs_activated_event(adapter, true);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
386
int mwifiex_alloc_cmd_buffer(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/cmdevt.c
397
adapter->cmd_pool = cmd_array;
drivers/net/wireless/marvell/mwifiex/cmdevt.c
403
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
410
mwifiex_insert_cmd_to_free_q(adapter, &cmd_array[i]);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
421
void mwifiex_free_cmd_buffer(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/cmdevt.c
427
if (!adapter->cmd_pool) {
drivers/net/wireless/marvell/mwifiex/cmdevt.c
428
mwifiex_dbg(adapter, FATAL,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
433
cmd_array = adapter->cmd_pool;
drivers/net/wireless/marvell/mwifiex/cmdevt.c
438
mwifiex_dbg(adapter, CMD,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
445
if (adapter->iface_type == MWIFIEX_USB)
drivers/net/wireless/marvell/mwifiex/cmdevt.c
446
adapter->if_ops.cmdrsp_complete(adapter,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
452
if (adapter->cmd_pool) {
drivers/net/wireless/marvell/mwifiex/cmdevt.c
453
mwifiex_dbg(adapter, CMD,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
455
kfree(adapter->cmd_pool);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
456
adapter->cmd_pool = NULL;
drivers/net/wireless/marvell/mwifiex/cmdevt.c
470
int mwifiex_process_event(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/cmdevt.c
474
struct sk_buff *skb = adapter->event_skb;
drivers/net/wireless/marvell/mwifiex/cmdevt.c
478
if ((adapter->event_cause & EVENT_ID_MASK) == EVENT_RADAR_DETECTED) {
drivers/net/wireless/marvell/mwifiex/cmdevt.c
479
for (i = 0; i < adapter->priv_num; i++) {
drivers/net/wireless/marvell/mwifiex/cmdevt.c
480
priv = adapter->priv[i];
drivers/net/wireless/marvell/mwifiex/cmdevt.c
482
adapter->event_cause |=
drivers/net/wireless/marvell/mwifiex/cmdevt.c
49
mwifiex_get_cmd_node(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/cmdevt.c
490
eventcause = adapter->event_cause;
drivers/net/wireless/marvell/mwifiex/cmdevt.c
493
adapter->dbg.last_event_index =
drivers/net/wireless/marvell/mwifiex/cmdevt.c
494
(adapter->dbg.last_event_index + 1) % DBG_CMD_NUM;
drivers/net/wireless/marvell/mwifiex/cmdevt.c
495
adapter->dbg.last_event[adapter->dbg.last_event_index] =
drivers/net/wireless/marvell/mwifiex/cmdevt.c
499
priv = mwifiex_get_priv_by_id(adapter, EVENT_GET_BSS_NUM(eventcause),
drivers/net/wireless/marvell/mwifiex/cmdevt.c
502
priv = mwifiex_get_priv(adapter, MWIFIEX_BSS_ROLE_ANY);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
506
adapter->event_cause = eventcause;
drivers/net/wireless/marvell/mwifiex/cmdevt.c
513
mwifiex_dbg_dump(adapter, EVT_D, "Event Buf:",
drivers/net/wireless/marvell/mwifiex/cmdevt.c
517
mwifiex_dbg(adapter, EVENT, "EVENT: cause: %#x\n", eventcause);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
524
adapter->event_cause = 0;
drivers/net/wireless/marvell/mwifiex/cmdevt.c
525
adapter->event_skb = NULL;
drivers/net/wireless/marvell/mwifiex/cmdevt.c
526
adapter->if_ops.event_complete(adapter, skb);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
53
spin_lock_bh(&adapter->cmd_free_q_lock);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
54
if (list_empty(&adapter->cmd_free_q)) {
drivers/net/wireless/marvell/mwifiex/cmdevt.c
546
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/cmdevt.c
55
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
550
if (!adapter) {
drivers/net/wireless/marvell/mwifiex/cmdevt.c
555
if (test_bit(MWIFIEX_IS_SUSPENDED, &adapter->work_flags)) {
drivers/net/wireless/marvell/mwifiex/cmdevt.c
556
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
561
if (test_bit(MWIFIEX_IS_HS_ENABLING, &adapter->work_flags) &&
drivers/net/wireless/marvell/mwifiex/cmdevt.c
563
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
568
if (test_bit(MWIFIEX_SURPRISE_REMOVED, &adapter->work_flags)) {
drivers/net/wireless/marvell/mwifiex/cmdevt.c
569
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
57
spin_unlock_bh(&adapter->cmd_free_q_lock);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
574
if (test_bit(MWIFIEX_IS_CMD_TIMEDOUT, &adapter->work_flags)) {
drivers/net/wireless/marvell/mwifiex/cmdevt.c
575
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
580
if (adapter->hw_status == MWIFIEX_HW_STATUS_RESET) {
drivers/net/wireless/marvell/mwifiex/cmdevt.c
582
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
590
if (adapter->mfg_mode && cmd_no) {
drivers/net/wireless/marvell/mwifiex/cmdevt.c
591
dev_dbg(adapter->dev, "Ignoring commands in manufacturing mode\n");
drivers/net/wireless/marvell/mwifiex/cmdevt.c
595
if (priv->adapter->hs_activated_manually &&
drivers/net/wireless/marvell/mwifiex/cmdevt.c
598
priv->adapter->hs_activated_manually = false;
drivers/net/wireless/marvell/mwifiex/cmdevt.c
60
cmd_node = list_first_entry(&adapter->cmd_free_q,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
602
cmd_node = mwifiex_get_cmd_node(adapter);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
605
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
614
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
63
spin_unlock_bh(&adapter->cmd_free_q_lock);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
653
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
656
mwifiex_insert_cmd_to_free_q(adapter, cmd_node);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
665
mwifiex_insert_cmd_to_pending_q(adapter, cmd_node);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
666
queue_work(adapter->workqueue, &adapter->main_work);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
668
ret = mwifiex_wait_queue_complete(adapter, cmd_node);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
682
mwifiex_insert_cmd_to_pending_q(struct mwifiex_adapter *adapter,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
691
mwifiex_dbg(adapter, ERROR, "QUEUE_CMD: host_cmd is NULL\n");
drivers/net/wireless/marvell/mwifiex/cmdevt.c
703
if (adapter->ps_state != PS_STATE_AWAKE)
drivers/net/wireless/marvell/mwifiex/cmdevt.c
717
spin_lock_bh(&adapter->cmd_pending_q_lock);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
719
list_add_tail(&cmd_node->list, &adapter->cmd_pending_q);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
721
list_add(&cmd_node->list, &adapter->cmd_pending_q);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
722
spin_unlock_bh(&adapter->cmd_pending_q_lock);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
724
atomic_inc(&adapter->cmd_pending);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
725
mwifiex_dbg(adapter, CMD,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
727
command, atomic_read(&adapter->cmd_pending));
drivers/net/wireless/marvell/mwifiex/cmdevt.c
741
int mwifiex_exec_next_cmd(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/cmdevt.c
748
if (adapter->curr_cmd) {
drivers/net/wireless/marvell/mwifiex/cmdevt.c
749
mwifiex_dbg(adapter, FATAL,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
754
spin_lock_bh(&adapter->mwifiex_cmd_lock);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
756
spin_lock_bh(&adapter->cmd_pending_q_lock);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
757
if (list_empty(&adapter->cmd_pending_q)) {
drivers/net/wireless/marvell/mwifiex/cmdevt.c
758
spin_unlock_bh(&adapter->cmd_pending_q_lock);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
759
spin_unlock_bh(&adapter->mwifiex_cmd_lock);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
762
cmd_node = list_first_entry(&adapter->cmd_pending_q,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
767
if (adapter->ps_state != PS_STATE_AWAKE) {
drivers/net/wireless/marvell/mwifiex/cmdevt.c
768
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
771
spin_unlock_bh(&adapter->cmd_pending_q_lock);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
772
spin_unlock_bh(&adapter->mwifiex_cmd_lock);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
777
spin_unlock_bh(&adapter->cmd_pending_q_lock);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
779
spin_unlock_bh(&adapter->mwifiex_cmd_lock);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
780
ret = mwifiex_dnld_cmd_to_fw(adapter, cmd_node);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
787
if (adapter->hs_activated) {
drivers/net/wireless/marvell/mwifiex/cmdevt.c
789
&adapter->work_flags);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
790
mwifiex_hs_activated_event(adapter, false);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
80
mwifiex_clean_cmd_node(struct mwifiex_adapter *adapter,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
803
int mwifiex_process_cmdresp(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/cmdevt.c
812
if (!adapter->curr_cmd || !adapter->curr_cmd->resp_skb) {
drivers/net/wireless/marvell/mwifiex/cmdevt.c
813
resp = (struct host_cmd_ds_command *) adapter->upld_buf;
drivers/net/wireless/marvell/mwifiex/cmdevt.c
814
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
820
resp = (struct host_cmd_ds_command *)adapter->curr_cmd->resp_skb->data;
drivers/net/wireless/marvell/mwifiex/cmdevt.c
824
if (adapter->curr_cmd->cmd_no != cmdresp_no) {
drivers/net/wireless/marvell/mwifiex/cmdevt.c
825
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
827
adapter->curr_cmd->cmd_no, cmdresp_no);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
831
timer_delete_sync(&adapter->cmd_timer);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
832
clear_bit(MWIFIEX_IS_CMD_TIMEDOUT, &adapter->work_flags);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
834
if (adapter->curr_cmd->cmd_flag & CMD_F_HOSTCMD) {
drivers/net/wireless/marvell/mwifiex/cmdevt.c
838
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
841
if (adapter->curr_cmd->data_buf) {
drivers/net/wireless/marvell/mwifiex/cmdevt.c
842
hostcmd = adapter->curr_cmd->data_buf;
drivers/net/wireless/marvell/mwifiex/cmdevt.c
849
priv = mwifiex_get_priv_by_id(adapter,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
853
priv = mwifiex_get_priv(adapter, MWIFIEX_BSS_ROLE_ANY);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
861
adapter->dbg.last_cmd_resp_index =
drivers/net/wireless/marvell/mwifiex/cmdevt.c
862
(adapter->dbg.last_cmd_resp_index + 1) % DBG_CMD_NUM;
drivers/net/wireless/marvell/mwifiex/cmdevt.c
863
adapter->dbg.last_cmd_resp_id[adapter->dbg.last_cmd_resp_index] =
drivers/net/wireless/marvell/mwifiex/cmdevt.c
866
mwifiex_dbg(adapter, CMD,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
870
mwifiex_dbg_dump(adapter, CMD_D, "CMD_RESP buffer:", resp,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
874
mwifiex_dbg(adapter, ERROR, "CMD_RESP: invalid cmd resp\n");
drivers/net/wireless/marvell/mwifiex/cmdevt.c
875
if (adapter->curr_cmd->wait_q_enabled)
drivers/net/wireless/marvell/mwifiex/cmdevt.c
876
adapter->cmd_wait_q.status = -1;
drivers/net/wireless/marvell/mwifiex/cmdevt.c
878
mwifiex_recycle_cmd_node(adapter, adapter->curr_cmd);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
879
spin_lock_bh(&adapter->mwifiex_cmd_lock);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
880
adapter->curr_cmd = NULL;
drivers/net/wireless/marvell/mwifiex/cmdevt.c
881
spin_unlock_bh(&adapter->mwifiex_cmd_lock);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
885
if (adapter->curr_cmd->cmd_flag & CMD_F_HOSTCMD) {
drivers/net/wireless/marvell/mwifiex/cmdevt.c
886
adapter->curr_cmd->cmd_flag &= ~CMD_F_HOSTCMD;
drivers/net/wireless/marvell/mwifiex/cmdevt.c
895
if (adapter->curr_cmd) {
drivers/net/wireless/marvell/mwifiex/cmdevt.c
896
if (adapter->curr_cmd->wait_q_enabled)
drivers/net/wireless/marvell/mwifiex/cmdevt.c
897
adapter->cmd_wait_q.status = ret;
drivers/net/wireless/marvell/mwifiex/cmdevt.c
899
mwifiex_recycle_cmd_node(adapter, adapter->curr_cmd);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
901
spin_lock_bh(&adapter->mwifiex_cmd_lock);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
902
adapter->curr_cmd = NULL;
drivers/net/wireless/marvell/mwifiex/cmdevt.c
903
spin_unlock_bh(&adapter->mwifiex_cmd_lock);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
909
void mwifiex_process_assoc_resp(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/cmdevt.c
915
mwifiex_get_priv(adapter, MWIFIEX_BSS_ROLE_STA);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
92
adapter->if_ops.cmdrsp_complete(adapter, cmd_node->resp_skb);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
937
struct mwifiex_adapter *adapter = timer_container_of(adapter, t,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
941
set_bit(MWIFIEX_IS_CMD_TIMEDOUT, &adapter->work_flags);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
942
if (!adapter->curr_cmd) {
drivers/net/wireless/marvell/mwifiex/cmdevt.c
943
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
947
cmd_node = adapter->curr_cmd;
drivers/net/wireless/marvell/mwifiex/cmdevt.c
949
adapter->dbg.timeout_cmd_id =
drivers/net/wireless/marvell/mwifiex/cmdevt.c
950
adapter->dbg.last_cmd_id[adapter->dbg.last_cmd_index];
drivers/net/wireless/marvell/mwifiex/cmdevt.c
951
adapter->dbg.timeout_cmd_act =
drivers/net/wireless/marvell/mwifiex/cmdevt.c
952
adapter->dbg.last_cmd_act[adapter->dbg.last_cmd_index];
drivers/net/wireless/marvell/mwifiex/cmdevt.c
953
mwifiex_dbg(adapter, MSG,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
955
adapter->dbg.timeout_cmd_id,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
956
adapter->dbg.timeout_cmd_act);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
958
mwifiex_dbg(adapter, MSG,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
960
adapter->dbg.num_tx_host_to_card_failure);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
961
mwifiex_dbg(adapter, MSG,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
963
adapter->dbg.num_cmd_host_to_card_failure);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
965
mwifiex_dbg(adapter, MSG,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
968
&adapter->work_flags));
drivers/net/wireless/marvell/mwifiex/cmdevt.c
969
mwifiex_dbg(adapter, MSG,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
971
adapter->dbg.num_tx_timeout);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
973
mwifiex_dbg(adapter, MSG,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
975
adapter->dbg.last_cmd_index);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
976
mwifiex_dbg(adapter, MSG,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
978
(int)sizeof(adapter->dbg.last_cmd_id),
drivers/net/wireless/marvell/mwifiex/cmdevt.c
979
adapter->dbg.last_cmd_id);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
980
mwifiex_dbg(adapter, MSG,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
982
(int)sizeof(adapter->dbg.last_cmd_act),
drivers/net/wireless/marvell/mwifiex/cmdevt.c
983
adapter->dbg.last_cmd_act);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
985
mwifiex_dbg(adapter, MSG,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
987
adapter->dbg.last_cmd_resp_index);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
988
mwifiex_dbg(adapter, MSG,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
990
(int)sizeof(adapter->dbg.last_cmd_resp_id),
drivers/net/wireless/marvell/mwifiex/cmdevt.c
991
adapter->dbg.last_cmd_resp_id);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
993
mwifiex_dbg(adapter, MSG,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
995
adapter->dbg.last_event_index);
drivers/net/wireless/marvell/mwifiex/cmdevt.c
996
mwifiex_dbg(adapter, MSG,
drivers/net/wireless/marvell/mwifiex/cmdevt.c
998
(int)sizeof(adapter->dbg.last_event),
drivers/net/wireless/marvell/mwifiex/cmdevt.c
999
adapter->dbg.last_event);
drivers/net/wireless/marvell/mwifiex/debugfs.c
111
priv->adapter->region_code);
drivers/net/wireless/marvell/mwifiex/debugfs.c
271
if (ISSUPP_11ACENABLED(priv->adapter->fw_cap_info)) {
drivers/net/wireless/marvell/mwifiex/debugfs.c
284
if (ISSUPP_11ACENABLED(priv->adapter->fw_cap_info)) {
drivers/net/wireless/marvell/mwifiex/debugfs.c
523
priv->adapter->debug_mask);
drivers/net/wireless/marvell/mwifiex/debugfs.c
552
priv->adapter->debug_mask = debug_mask;
drivers/net/wireless/marvell/mwifiex/debugfs.c
779
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/debugfs.c
806
mwifiex_enable_hs(priv->adapter);
drivers/net/wireless/marvell/mwifiex/debugfs.c
807
clear_bit(MWIFIEX_IS_HS_ENABLING, &priv->adapter->work_flags);
drivers/net/wireless/marvell/mwifiex/debugfs.c
84
mwifiex_drv_get_driver_version(priv->adapter, fmt, sizeof(fmt) - 1);
drivers/net/wireless/marvell/mwifiex/debugfs.c
853
if (priv->adapter->fw_api_ver != MWIFIEX_FW_V15)
drivers/net/wireless/marvell/mwifiex/debugfs.c
873
if (priv->adapter->fw_api_ver != MWIFIEX_FW_V15)
drivers/net/wireless/marvell/mwifiex/debugfs.c
893
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/debugfs.c
904
if (adapter->if_ops.card_reset) {
drivers/net/wireless/marvell/mwifiex/debugfs.c
905
dev_info(adapter->dev, "Resetting per request\n");
drivers/net/wireless/marvell/mwifiex/debugfs.c
906
adapter->if_ops.card_reset(adapter);
drivers/net/wireless/marvell/mwifiex/ethtool.c
14
u32 conditions = le32_to_cpu(priv->adapter->hs_cfg.conditions);
drivers/net/wireless/marvell/mwifiex/ethtool.c
50
priv->adapter->hs_cfg.conditions = cpu_to_le32(conditions);
drivers/net/wireless/marvell/mwifiex/fw.h
228
#define IS_11N_ENABLED(priv) ((priv->adapter->config_bands & BAND_GN || \
drivers/net/wireless/marvell/mwifiex/fw.h
229
priv->adapter->config_bands & BAND_AN) && \
drivers/net/wireless/marvell/mwifiex/fw.h
72
#define IS_SUPPORT_MULTI_BANDS(adapter) \
drivers/net/wireless/marvell/mwifiex/fw.h
73
(adapter->fw_cap_info & FW_MULTI_BANDS_SUPPORT)
drivers/net/wireless/marvell/mwifiex/fw.h
83
#define GET_FW_DEFAULT_BANDS(adapter) \
drivers/net/wireless/marvell/mwifiex/fw.h
84
(((adapter->fw_cap_info & 0x2f00) >> 8) & \
drivers/net/wireless/marvell/mwifiex/ie.c
19
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/ie.c
22
for (i = 0; i < adapter->priv_num; i++) {
drivers/net/wireless/marvell/mwifiex/ie.c
23
if (adapter->priv[i] != priv) {
drivers/net/wireless/marvell/mwifiex/ie.c
24
ie = &adapter->priv[i]->mgmt_ie[idx];
drivers/net/wireless/marvell/mwifiex/ie.c
40
for (i = 0; i < priv->adapter->max_mgmt_ie_index; i++) {
drivers/net/wireless/marvell/mwifiex/init.c
171
static int mwifiex_allocate_adapter(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/init.c
176
ret = mwifiex_alloc_cmd_buffer(adapter);
drivers/net/wireless/marvell/mwifiex/init.c
178
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/init.c
184
adapter->sleep_cfm =
drivers/net/wireless/marvell/mwifiex/init.c
188
if (!adapter->sleep_cfm) {
drivers/net/wireless/marvell/mwifiex/init.c
189
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/init.c
194
skb_reserve(adapter->sleep_cfm, INTF_HEADER_LEN);
drivers/net/wireless/marvell/mwifiex/init.c
206
static void mwifiex_init_adapter(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/init.c
210
skb_put(adapter->sleep_cfm, sizeof(struct mwifiex_opt_sleep_confirm));
drivers/net/wireless/marvell/mwifiex/init.c
212
adapter->cmd_sent = false;
drivers/net/wireless/marvell/mwifiex/init.c
214
if (adapter->iface_type == MWIFIEX_SDIO)
drivers/net/wireless/marvell/mwifiex/init.c
215
adapter->data_sent = true;
drivers/net/wireless/marvell/mwifiex/init.c
217
adapter->data_sent = false;
drivers/net/wireless/marvell/mwifiex/init.c
219
if (adapter->iface_type == MWIFIEX_USB)
drivers/net/wireless/marvell/mwifiex/init.c
220
adapter->intf_hdr_len = 0;
drivers/net/wireless/marvell/mwifiex/init.c
222
adapter->intf_hdr_len = INTF_HEADER_LEN;
drivers/net/wireless/marvell/mwifiex/init.c
224
adapter->cmd_resp_received = false;
drivers/net/wireless/marvell/mwifiex/init.c
225
adapter->event_received = false;
drivers/net/wireless/marvell/mwifiex/init.c
226
adapter->data_received = false;
drivers/net/wireless/marvell/mwifiex/init.c
227
adapter->assoc_resp_received = false;
drivers/net/wireless/marvell/mwifiex/init.c
228
adapter->priv_link_lost = NULL;
drivers/net/wireless/marvell/mwifiex/init.c
229
adapter->host_mlme_link_lost = false;
drivers/net/wireless/marvell/mwifiex/init.c
231
clear_bit(MWIFIEX_SURPRISE_REMOVED, &adapter->work_flags);
drivers/net/wireless/marvell/mwifiex/init.c
233
adapter->hw_status = MWIFIEX_HW_STATUS_INITIALIZING;
drivers/net/wireless/marvell/mwifiex/init.c
235
adapter->ps_mode = MWIFIEX_802_11_POWER_MODE_CAM;
drivers/net/wireless/marvell/mwifiex/init.c
236
adapter->ps_state = PS_STATE_AWAKE;
drivers/net/wireless/marvell/mwifiex/init.c
237
adapter->need_to_wakeup = false;
drivers/net/wireless/marvell/mwifiex/init.c
239
adapter->scan_mode = HostCmd_BSS_MODE_ANY;
drivers/net/wireless/marvell/mwifiex/init.c
24
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/init.c
240
adapter->specific_scan_time = MWIFIEX_SPECIFIC_SCAN_CHAN_TIME;
drivers/net/wireless/marvell/mwifiex/init.c
241
adapter->active_scan_time = MWIFIEX_ACTIVE_SCAN_CHAN_TIME;
drivers/net/wireless/marvell/mwifiex/init.c
242
adapter->passive_scan_time = MWIFIEX_PASSIVE_SCAN_CHAN_TIME;
drivers/net/wireless/marvell/mwifiex/init.c
243
adapter->scan_chan_gap_time = MWIFIEX_DEF_SCAN_CHAN_GAP_TIME;
drivers/net/wireless/marvell/mwifiex/init.c
245
adapter->scan_probes = 1;
drivers/net/wireless/marvell/mwifiex/init.c
247
adapter->multiple_dtim = 1;
drivers/net/wireless/marvell/mwifiex/init.c
249
adapter->local_listen_interval = 0; /* default value in firmware
drivers/net/wireless/marvell/mwifiex/init.c
252
adapter->is_deep_sleep = false;
drivers/net/wireless/marvell/mwifiex/init.c
254
adapter->delay_null_pkt = false;
drivers/net/wireless/marvell/mwifiex/init.c
255
adapter->delay_to_ps = 1000;
drivers/net/wireless/marvell/mwifiex/init.c
256
adapter->enhanced_ps_mode = PS_MODE_AUTO;
drivers/net/wireless/marvell/mwifiex/init.c
258
adapter->gen_null_pkt = false; /* Disable NULL Pkg generation by
drivers/net/wireless/marvell/mwifiex/init.c
26
struct mwifiex_bss_prio_tbl *tbl = adapter->bss_prio_tbl;
drivers/net/wireless/marvell/mwifiex/init.c
260
adapter->pps_uapsd_mode = false; /* Disable pps/uapsd mode by
drivers/net/wireless/marvell/mwifiex/init.c
262
adapter->pm_wakeup_card_req = false;
drivers/net/wireless/marvell/mwifiex/init.c
264
adapter->pm_wakeup_fw_try = false;
drivers/net/wireless/marvell/mwifiex/init.c
266
adapter->curr_tx_buf_size = MWIFIEX_TX_DATA_BUF_SIZE_2K;
drivers/net/wireless/marvell/mwifiex/init.c
268
clear_bit(MWIFIEX_IS_HS_CONFIGURED, &adapter->work_flags);
drivers/net/wireless/marvell/mwifiex/init.c
269
adapter->hs_cfg.conditions = cpu_to_le32(HS_CFG_COND_DEF);
drivers/net/wireless/marvell/mwifiex/init.c
270
adapter->hs_cfg.gpio = HS_CFG_GPIO_DEF;
drivers/net/wireless/marvell/mwifiex/init.c
271
adapter->hs_cfg.gap = HS_CFG_GAP_DEF;
drivers/net/wireless/marvell/mwifiex/init.c
272
adapter->hs_activated = false;
drivers/net/wireless/marvell/mwifiex/init.c
274
memset(adapter->event_body, 0, sizeof(adapter->event_body));
drivers/net/wireless/marvell/mwifiex/init.c
275
adapter->hw_dot_11n_dev_cap = 0;
drivers/net/wireless/marvell/mwifiex/init.c
276
adapter->hw_dev_mcs_support = 0;
drivers/net/wireless/marvell/mwifiex/init.c
277
adapter->sec_chan_offset = 0;
drivers/net/wireless/marvell/mwifiex/init.c
278
adapter->adhoc_11n_enabled = false;
drivers/net/wireless/marvell/mwifiex/init.c
280
mwifiex_wmm_init(adapter);
drivers/net/wireless/marvell/mwifiex/init.c
281
atomic_set(&adapter->tx_hw_pending, 0);
drivers/net/wireless/marvell/mwifiex/init.c
284
adapter->sleep_cfm->data;
drivers/net/wireless/marvell/mwifiex/init.c
285
memset(sleep_cfm_buf, 0, adapter->sleep_cfm->len);
drivers/net/wireless/marvell/mwifiex/init.c
287
sleep_cfm_buf->size = cpu_to_le16(adapter->sleep_cfm->len);
drivers/net/wireless/marvell/mwifiex/init.c
292
memset(&adapter->sleep_period, 0, sizeof(adapter->sleep_period));
drivers/net/wireless/marvell/mwifiex/init.c
293
adapter->tx_lock_flag = false;
drivers/net/wireless/marvell/mwifiex/init.c
294
adapter->null_pkt_interval = 0;
drivers/net/wireless/marvell/mwifiex/init.c
295
adapter->fw_bands = 0;
drivers/net/wireless/marvell/mwifiex/init.c
296
adapter->config_bands = 0;
drivers/net/wireless/marvell/mwifiex/init.c
297
adapter->adhoc_start_band = 0;
drivers/net/wireless/marvell/mwifiex/init.c
298
adapter->fw_release_number = 0;
drivers/net/wireless/marvell/mwifiex/init.c
299
adapter->fw_cap_info = 0;
drivers/net/wireless/marvell/mwifiex/init.c
300
memset(&adapter->upld_buf, 0, sizeof(adapter->upld_buf));
drivers/net/wireless/marvell/mwifiex/init.c
301
adapter->event_cause = 0;
drivers/net/wireless/marvell/mwifiex/init.c
302
adapter->region_code = 0;
drivers/net/wireless/marvell/mwifiex/init.c
303
adapter->bcn_miss_time_out = DEFAULT_BCN_MISS_TIMEOUT;
drivers/net/wireless/marvell/mwifiex/init.c
304
adapter->adhoc_awake_period = 0;
drivers/net/wireless/marvell/mwifiex/init.c
305
memset(&adapter->arp_filter, 0, sizeof(adapter->arp_filter));
drivers/net/wireless/marvell/mwifiex/init.c
306
adapter->arp_filter_size = 0;
drivers/net/wireless/marvell/mwifiex/init.c
307
adapter->max_mgmt_ie_index = MAX_MGMT_IE_INDEX;
drivers/net/wireless/marvell/mwifiex/init.c
308
adapter->mfg_mode = mfg_mode;
drivers/net/wireless/marvell/mwifiex/init.c
309
adapter->key_api_major_ver = 0;
drivers/net/wireless/marvell/mwifiex/init.c
310
adapter->key_api_minor_ver = 0;
drivers/net/wireless/marvell/mwifiex/init.c
311
eth_broadcast_addr(adapter->perm_addr);
drivers/net/wireless/marvell/mwifiex/init.c
312
adapter->iface_limit.sta_intf = MWIFIEX_MAX_STA_NUM;
drivers/net/wireless/marvell/mwifiex/init.c
313
adapter->iface_limit.uap_intf = MWIFIEX_MAX_UAP_NUM;
drivers/net/wireless/marvell/mwifiex/init.c
314
adapter->iface_limit.p2p_intf = MWIFIEX_MAX_P2P_NUM;
drivers/net/wireless/marvell/mwifiex/init.c
315
adapter->active_scan_triggered = false;
drivers/net/wireless/marvell/mwifiex/init.c
316
timer_setup(&adapter->wakeup_timer, wakeup_timer_fn, 0);
drivers/net/wireless/marvell/mwifiex/init.c
317
adapter->devdump_len = 0;
drivers/net/wireless/marvell/mwifiex/init.c
318
INIT_DELAYED_WORK(&adapter->devdump_work, fw_dump_work);
drivers/net/wireless/marvell/mwifiex/init.c
338
struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/init.c
340
spin_lock_bh(&adapter->queue_lock);
drivers/net/wireless/marvell/mwifiex/init.c
342
spin_unlock_bh(&adapter->queue_lock);
drivers/net/wireless/marvell/mwifiex/init.c
349
struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/init.c
351
spin_lock_bh(&adapter->queue_lock);
drivers/net/wireless/marvell/mwifiex/init.c
353
spin_unlock_bh(&adapter->queue_lock);
drivers/net/wireless/marvell/mwifiex/init.c
359
static void mwifiex_invalidate_lists(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/init.c
364
list_del(&adapter->cmd_free_q);
drivers/net/wireless/marvell/mwifiex/init.c
365
list_del(&adapter->cmd_pending_q);
drivers/net/wireless/marvell/mwifiex/init.c
366
list_del(&adapter->scan_pending_q);
drivers/net/wireless/marvell/mwifiex/init.c
368
for (i = 0; i < adapter->priv_num; i++)
drivers/net/wireless/marvell/mwifiex/init.c
369
list_del(&adapter->bss_prio_tbl[i].bss_prio_head);
drivers/net/wireless/marvell/mwifiex/init.c
371
for (i = 0; i < adapter->priv_num; i++) {
drivers/net/wireless/marvell/mwifiex/init.c
372
priv = adapter->priv[i];
drivers/net/wireless/marvell/mwifiex/init.c
392
mwifiex_adapter_cleanup(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/init.c
394
timer_delete(&adapter->wakeup_timer);
drivers/net/wireless/marvell/mwifiex/init.c
395
cancel_delayed_work_sync(&adapter->devdump_work);
drivers/net/wireless/marvell/mwifiex/init.c
396
mwifiex_cancel_all_pending_cmd(adapter);
drivers/net/wireless/marvell/mwifiex/init.c
397
wake_up_interruptible(&adapter->cmd_wait_q.wait);
drivers/net/wireless/marvell/mwifiex/init.c
398
wake_up_interruptible(&adapter->hs_activate_wait_q);
drivers/net/wireless/marvell/mwifiex/init.c
401
void mwifiex_free_cmd_buffers(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/init.c
403
mwifiex_invalidate_lists(adapter);
drivers/net/wireless/marvell/mwifiex/init.c
406
mwifiex_dbg(adapter, INFO, "info: free cmd buffer\n");
drivers/net/wireless/marvell/mwifiex/init.c
407
mwifiex_free_cmd_buffer(adapter);
drivers/net/wireless/marvell/mwifiex/init.c
409
if (adapter->sleep_cfm)
drivers/net/wireless/marvell/mwifiex/init.c
410
dev_kfree_skb_any(adapter->sleep_cfm);
drivers/net/wireless/marvell/mwifiex/init.c
417
int mwifiex_init_lock_list(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/init.c
422
spin_lock_init(&adapter->int_lock);
drivers/net/wireless/marvell/mwifiex/init.c
423
spin_lock_init(&adapter->main_proc_lock);
drivers/net/wireless/marvell/mwifiex/init.c
424
spin_lock_init(&adapter->mwifiex_cmd_lock);
drivers/net/wireless/marvell/mwifiex/init.c
425
spin_lock_init(&adapter->queue_lock);
drivers/net/wireless/marvell/mwifiex/init.c
426
for (i = 0; i < adapter->priv_num; i++) {
drivers/net/wireless/marvell/mwifiex/init.c
427
priv = adapter->priv[i];
drivers/net/wireless/marvell/mwifiex/init.c
435
INIT_LIST_HEAD(&adapter->cmd_free_q);
drivers/net/wireless/marvell/mwifiex/init.c
437
INIT_LIST_HEAD(&adapter->cmd_pending_q);
drivers/net/wireless/marvell/mwifiex/init.c
439
INIT_LIST_HEAD(&adapter->scan_pending_q);
drivers/net/wireless/marvell/mwifiex/init.c
44
struct mwifiex_adapter *adapter = timer_container_of(adapter, t,
drivers/net/wireless/marvell/mwifiex/init.c
441
spin_lock_init(&adapter->cmd_free_q_lock);
drivers/net/wireless/marvell/mwifiex/init.c
442
spin_lock_init(&adapter->cmd_pending_q_lock);
drivers/net/wireless/marvell/mwifiex/init.c
443
spin_lock_init(&adapter->scan_pending_q_lock);
drivers/net/wireless/marvell/mwifiex/init.c
444
spin_lock_init(&adapter->rx_proc_lock);
drivers/net/wireless/marvell/mwifiex/init.c
446
skb_queue_head_init(&adapter->rx_data_q);
drivers/net/wireless/marvell/mwifiex/init.c
447
skb_queue_head_init(&adapter->tx_data_q);
drivers/net/wireless/marvell/mwifiex/init.c
449
for (i = 0; i < adapter->priv_num; ++i) {
drivers/net/wireless/marvell/mwifiex/init.c
450
INIT_LIST_HEAD(&adapter->bss_prio_tbl[i].bss_prio_head);
drivers/net/wireless/marvell/mwifiex/init.c
451
spin_lock_init(&adapter->bss_prio_tbl[i].bss_prio_lock);
drivers/net/wireless/marvell/mwifiex/init.c
454
for (i = 0; i < adapter->priv_num; i++) {
drivers/net/wireless/marvell/mwifiex/init.c
455
priv = adapter->priv[i];
drivers/net/wireless/marvell/mwifiex/init.c
47
mwifiex_dbg(adapter, ERROR, "Firmware wakeup failed\n");
drivers/net/wireless/marvell/mwifiex/init.c
48
adapter->hw_status = MWIFIEX_HW_STATUS_RESET;
drivers/net/wireless/marvell/mwifiex/init.c
485
int mwifiex_init_fw(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/init.c
49
mwifiex_cancel_all_pending_cmd(adapter);
drivers/net/wireless/marvell/mwifiex/init.c
491
adapter->hw_status = MWIFIEX_HW_STATUS_INITIALIZING;
drivers/net/wireless/marvell/mwifiex/init.c
494
ret = mwifiex_allocate_adapter(adapter);
drivers/net/wireless/marvell/mwifiex/init.c
499
mwifiex_init_adapter(adapter);
drivers/net/wireless/marvell/mwifiex/init.c
501
for (i = 0; i < adapter->priv_num; i++) {
drivers/net/wireless/marvell/mwifiex/init.c
502
priv = adapter->priv[i];
drivers/net/wireless/marvell/mwifiex/init.c
509
if (adapter->mfg_mode) {
drivers/net/wireless/marvell/mwifiex/init.c
51
if (adapter->if_ops.card_reset)
drivers/net/wireless/marvell/mwifiex/init.c
510
adapter->hw_status = MWIFIEX_HW_STATUS_READY;
drivers/net/wireless/marvell/mwifiex/init.c
512
for (i = 0; i < adapter->priv_num; i++) {
drivers/net/wireless/marvell/mwifiex/init.c
513
ret = mwifiex_sta_init_cmd(adapter->priv[i],
drivers/net/wireless/marvell/mwifiex/init.c
52
adapter->if_ops.card_reset(adapter);
drivers/net/wireless/marvell/mwifiex/init.c
522
spin_lock_bh(&adapter->cmd_pending_q_lock);
drivers/net/wireless/marvell/mwifiex/init.c
523
WARN_ON(!list_empty(&adapter->cmd_pending_q));
drivers/net/wireless/marvell/mwifiex/init.c
524
spin_unlock_bh(&adapter->cmd_pending_q_lock);
drivers/net/wireless/marvell/mwifiex/init.c
526
adapter->hw_status = MWIFIEX_HW_STATUS_READY;
drivers/net/wireless/marvell/mwifiex/init.c
528
if (adapter->if_ops.init_fw_port)
drivers/net/wireless/marvell/mwifiex/init.c
529
adapter->if_ops.init_fw_port(adapter);
drivers/net/wireless/marvell/mwifiex/init.c
543
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/init.c
548
for (i = 0; i < adapter->priv_num; ++i) {
drivers/net/wireless/marvell/mwifiex/init.c
549
head = &adapter->bss_prio_tbl[i].bss_prio_head;
drivers/net/wireless/marvell/mwifiex/init.c
550
lock = &adapter->bss_prio_tbl[i].bss_prio_lock;
drivers/net/wireless/marvell/mwifiex/init.c
551
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/init.c
562
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/init.c
57
struct mwifiex_adapter *adapter =
drivers/net/wireless/marvell/mwifiex/init.c
598
mwifiex_shutdown_drv(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/init.c
60
mwifiex_upload_device_dump(adapter);
drivers/net/wireless/marvell/mwifiex/init.c
605
if (adapter->hw_status == MWIFIEX_HW_STATUS_NOT_READY)
drivers/net/wireless/marvell/mwifiex/init.c
609
if (adapter->curr_cmd) {
drivers/net/wireless/marvell/mwifiex/init.c
610
mwifiex_dbg(adapter, WARN,
drivers/net/wireless/marvell/mwifiex/init.c
612
timer_delete_sync(&adapter->cmd_timer);
drivers/net/wireless/marvell/mwifiex/init.c
613
mwifiex_recycle_cmd_node(adapter, adapter->curr_cmd);
drivers/net/wireless/marvell/mwifiex/init.c
614
adapter->curr_cmd = NULL;
drivers/net/wireless/marvell/mwifiex/init.c
618
mwifiex_dbg(adapter, MSG,
drivers/net/wireless/marvell/mwifiex/init.c
622
for (i = 0; i < adapter->priv_num; i++) {
drivers/net/wireless/marvell/mwifiex/init.c
623
priv = adapter->priv[i];
drivers/net/wireless/marvell/mwifiex/init.c
630
atomic_set(&adapter->tx_queued, 0);
drivers/net/wireless/marvell/mwifiex/init.c
631
while ((skb = skb_dequeue(&adapter->tx_data_q)))
drivers/net/wireless/marvell/mwifiex/init.c
632
mwifiex_write_data_complete(adapter, skb, 0, 0);
drivers/net/wireless/marvell/mwifiex/init.c
634
spin_lock_bh(&adapter->rx_proc_lock);
drivers/net/wireless/marvell/mwifiex/init.c
636
while ((skb = skb_dequeue(&adapter->rx_data_q))) {
drivers/net/wireless/marvell/mwifiex/init.c
639
atomic_dec(&adapter->rx_pending);
drivers/net/wireless/marvell/mwifiex/init.c
640
priv = adapter->priv[rx_info->bss_num];
drivers/net/wireless/marvell/mwifiex/init.c
647
spin_unlock_bh(&adapter->rx_proc_lock);
drivers/net/wireless/marvell/mwifiex/init.c
649
mwifiex_adapter_cleanup(adapter);
drivers/net/wireless/marvell/mwifiex/init.c
651
adapter->hw_status = MWIFIEX_HW_STATUS_NOT_READY;
drivers/net/wireless/marvell/mwifiex/init.c
666
int mwifiex_dnld_fw(struct mwifiex_adapter *adapter,
drivers/net/wireless/marvell/mwifiex/init.c
673
ret = adapter->if_ops.check_fw_status(adapter, poll_num);
drivers/net/wireless/marvell/mwifiex/init.c
675
mwifiex_dbg(adapter, MSG,
drivers/net/wireless/marvell/mwifiex/init.c
681
if (adapter->if_ops.check_winner_status) {
drivers/net/wireless/marvell/mwifiex/init.c
682
adapter->winner = 0;
drivers/net/wireless/marvell/mwifiex/init.c
683
ret = adapter->if_ops.check_winner_status(adapter);
drivers/net/wireless/marvell/mwifiex/init.c
687
mwifiex_dbg(adapter, MSG,
drivers/net/wireless/marvell/mwifiex/init.c
692
if (!adapter->winner) {
drivers/net/wireless/marvell/mwifiex/init.c
693
mwifiex_dbg(adapter, MSG,
drivers/net/wireless/marvell/mwifiex/init.c
701
ret = adapter->if_ops.prog_fw(adapter, pmfw);
drivers/net/wireless/marvell/mwifiex/init.c
703
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/init.c
711
ret = adapter->if_ops.check_fw_status(adapter, poll_num);
drivers/net/wireless/marvell/mwifiex/init.c
713
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/join.c
1003
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/join.c
1019
mwifiex_dbg(adapter, INFO, "info: ADHOC_S_CMD: rates=%4ph\n",
drivers/net/wireless/marvell/mwifiex/join.c
1022
mwifiex_dbg(adapter, INFO, "info: ADHOC_S_CMD: AD-HOC Start command is ready\n");
drivers/net/wireless/marvell/mwifiex/join.c
1024
if (IS_SUPPORT_MULTI_BANDS(adapter)) {
drivers/net/wireless/marvell/mwifiex/join.c
1036
mwifiex_dbg(adapter, INFO, "info: ADHOC_S_CMD: TLV Chan = %d\n",
drivers/net/wireless/marvell/mwifiex/join.c
1041
if (adapter->adhoc_start_band & BAND_GN ||
drivers/net/wireless/marvell/mwifiex/join.c
1042
adapter->adhoc_start_band & BAND_AN) {
drivers/net/wireless/marvell/mwifiex/join.c
1043
if (adapter->sec_chan_offset ==
drivers/net/wireless/marvell/mwifiex/join.c
1047
else if (adapter->sec_chan_offset ==
drivers/net/wireless/marvell/mwifiex/join.c
1052
mwifiex_dbg(adapter, INFO, "info: ADHOC_S_CMD: TLV Band = %d\n",
drivers/net/wireless/marvell/mwifiex/join.c
1072
if (adapter->adhoc_11n_enabled) {
drivers/net/wireless/marvell/mwifiex/join.c
1080
priv->adapter->config_bands);
drivers/net/wireless/marvell/mwifiex/join.c
1083
if (adapter->sec_chan_offset ==
drivers/net/wireless/marvell/mwifiex/join.c
1105
if (adapter->sec_chan_offset) {
drivers/net/wireless/marvell/mwifiex/join.c
1106
ht_info->ht_oper.ht_param = adapter->sec_chan_offset;
drivers/net/wireless/marvell/mwifiex/join.c
1122
if (adapter->adhoc_start_band == BAND_B)
drivers/net/wireless/marvell/mwifiex/join.c
116
mwifiex_dbg(priv->adapter, INFO,
drivers/net/wireless/marvell/mwifiex/join.c
1175
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/join.c
1207
mwifiex_dbg(priv->adapter, INFO,
drivers/net/wireless/marvell/mwifiex/join.c
1212
mwifiex_dbg(priv->adapter, INFO,
drivers/net/wireless/marvell/mwifiex/join.c
1240
if (IS_SUPPORT_MULTI_BANDS(priv->adapter)) {
drivers/net/wireless/marvell/mwifiex/join.c
1251
mwifiex_dbg(priv->adapter, INFO, "info: ADHOC_J_CMD: TLV Chan=%d\n",
drivers/net/wireless/marvell/mwifiex/join.c
1257
mwifiex_dbg(priv->adapter, INFO, "info: ADHOC_J_CMD: TLV Band=%d\n",
drivers/net/wireless/marvell/mwifiex/join.c
1271
if (ISSUPP_11NENABLED(priv->adapter->fw_cap_info))
drivers/net/wireless/marvell/mwifiex/join.c
1300
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/join.c
1310
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/join.c
1324
mwifiex_dbg(priv->adapter, ERROR, "ADHOC_RESP: failed\n");
drivers/net/wireless/marvell/mwifiex/join.c
1339
mwifiex_dbg(priv->adapter, INFO, "info: ADHOC_S_RESP %s\n",
drivers/net/wireless/marvell/mwifiex/join.c
1352
mwifiex_dbg(priv->adapter, INFO,
drivers/net/wireless/marvell/mwifiex/join.c
1367
mwifiex_dbg(priv->adapter, INFO, "info: ADHOC_RESP: channel = %d\n",
drivers/net/wireless/marvell/mwifiex/join.c
1369
mwifiex_dbg(priv->adapter, INFO, "info: ADHOC_RESP: BSSID = %pM\n",
drivers/net/wireless/marvell/mwifiex/join.c
1374
mwifiex_wake_up_net_dev_queue(priv->netdev, adapter);
drivers/net/wireless/marvell/mwifiex/join.c
1380
if (adapter->curr_cmd->wait_q_enabled) {
drivers/net/wireless/marvell/mwifiex/join.c
1382
adapter->cmd_wait_q.status = -1;
drivers/net/wireless/marvell/mwifiex/join.c
1384
adapter->cmd_wait_q.status = 0;
drivers/net/wireless/marvell/mwifiex/join.c
1408
if (ISSUPP_11ACENABLED(priv->adapter->fw_cap_info) &&
drivers/net/wireless/marvell/mwifiex/join.c
1410
priv->adapter->config_bands & BAND_AAC)
drivers/net/wireless/marvell/mwifiex/join.c
143
mwifiex_dbg(priv->adapter, ERROR, "failed to alloc tmp buf\n");
drivers/net/wireless/marvell/mwifiex/join.c
1432
mwifiex_dbg(priv->adapter, INFO, "info: Adhoc Channel = %d\n",
drivers/net/wireless/marvell/mwifiex/join.c
1434
mwifiex_dbg(priv->adapter, INFO, "info: curr_bss_params.channel = %d\n",
drivers/net/wireless/marvell/mwifiex/join.c
1436
mwifiex_dbg(priv->adapter, INFO, "info: curr_bss_params.band = %d\n",
drivers/net/wireless/marvell/mwifiex/join.c
1439
if (ISSUPP_11ACENABLED(priv->adapter->fw_cap_info) &&
drivers/net/wireless/marvell/mwifiex/join.c
1440
priv->adapter->config_bands & BAND_AAC)
drivers/net/wireless/marvell/mwifiex/join.c
1458
mwifiex_dbg(priv->adapter, INFO,
drivers/net/wireless/marvell/mwifiex/join.c
1461
mwifiex_dbg(priv->adapter, INFO,
drivers/net/wireless/marvell/mwifiex/join.c
1464
mwifiex_dbg(priv->adapter, INFO, "info: adhoc join: ssid =%s\n",
drivers/net/wireless/marvell/mwifiex/join.c
1466
mwifiex_dbg(priv->adapter, INFO, "info: adhoc join: ssid_len =%u\n",
drivers/net/wireless/marvell/mwifiex/join.c
1475
mwifiex_dbg(priv->adapter, INFO,
drivers/net/wireless/marvell/mwifiex/join.c
1481
if (ISSUPP_11ACENABLED(priv->adapter->fw_cap_info) &&
drivers/net/wireless/marvell/mwifiex/join.c
1483
priv->adapter->config_bands & BAND_AAC)
drivers/net/wireless/marvell/mwifiex/join.c
1488
mwifiex_dbg(priv->adapter, INFO,
drivers/net/wireless/marvell/mwifiex/join.c
1491
mwifiex_dbg(priv->adapter, INFO,
drivers/net/wireless/marvell/mwifiex/join.c
1535
if (priv->adapter->host_mlme_enabled) {
drivers/net/wireless/marvell/mwifiex/join.c
1543
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/join.c
1571
void mwifiex_deauthenticate_all(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/join.c
1576
for (i = 0; i < adapter->priv_num; i++) {
drivers/net/wireless/marvell/mwifiex/join.c
1577
priv = adapter->priv[i];
drivers/net/wireless/marvell/mwifiex/join.c
160
mwifiex_dbg(priv->adapter, INFO, "info: Tx data rate set to %#x\n",
drivers/net/wireless/marvell/mwifiex/join.c
171
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/join.c
206
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/join.c
239
mwifiex_dbg(priv->adapter, CMD,
drivers/net/wireless/marvell/mwifiex/join.c
286
mwifiex_dbg(priv->adapter, CMD,
drivers/net/wireless/marvell/mwifiex/join.c
44
mwifiex_dbg(priv->adapter, INFO,
drivers/net/wireless/marvell/mwifiex/join.c
450
mwifiex_dbg(priv->adapter, INFO, "info: ASSOC_CMD: rates size = %d\n",
drivers/net/wireless/marvell/mwifiex/join.c
483
if (IS_SUPPORT_MULTI_BANDS(priv->adapter) &&
drivers/net/wireless/marvell/mwifiex/join.c
484
!(ISSUPP_11NENABLED(priv->adapter->fw_cap_info) &&
drivers/net/wireless/marvell/mwifiex/join.c
486
(priv->adapter->config_bands & BAND_GN ||
drivers/net/wireless/marvell/mwifiex/join.c
487
priv->adapter->config_bands & BAND_AN) &&
drivers/net/wireless/marvell/mwifiex/join.c
502
mwifiex_dbg(priv->adapter, INFO, "info: Assoc: TLV Chan = %d\n",
drivers/net/wireless/marvell/mwifiex/join.c
508
mwifiex_dbg(priv->adapter, INFO, "info: Assoc: TLV Band = %d\n",
drivers/net/wireless/marvell/mwifiex/join.c
514
if (priv->adapter->host_mlme_enabled) {
drivers/net/wireless/marvell/mwifiex/join.c
532
if (ISSUPP_11NENABLED(priv->adapter->fw_cap_info) &&
drivers/net/wireless/marvell/mwifiex/join.c
534
(priv->adapter->config_bands & BAND_GN ||
drivers/net/wireless/marvell/mwifiex/join.c
535
priv->adapter->config_bands & BAND_AN))
drivers/net/wireless/marvell/mwifiex/join.c
538
if (ISSUPP_11ACENABLED(priv->adapter->fw_cap_info) &&
drivers/net/wireless/marvell/mwifiex/join.c
540
priv->adapter->config_bands & BAND_AAC)
drivers/net/wireless/marvell/mwifiex/join.c
565
if (priv->adapter->config_bands == BAND_B)
drivers/net/wireless/marvell/mwifiex/join.c
569
mwifiex_dbg(priv->adapter, INFO,
drivers/net/wireless/marvell/mwifiex/join.c
659
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/join.c
668
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/join.c
673
if (adapter->host_mlme_enabled) {
drivers/net/wireless/marvell/mwifiex/join.c
694
dev_err(priv->adapter->dev,
drivers/net/wireless/marvell/mwifiex/join.c
707
priv->adapter->dbg.num_cmd_assoc_failure++;
drivers/net/wireless/marvell/mwifiex/join.c
708
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/join.c
714
mwifiex_dbg(priv->adapter, ERROR, "assoc failure: reason %s\n",
drivers/net/wireless/marvell/mwifiex/join.c
719
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/join.c
723
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/join.c
727
if (priv->adapter->host_mlme_enabled)
drivers/net/wireless/marvell/mwifiex/join.c
739
priv->adapter->ps_state = PS_STATE_AWAKE;
drivers/net/wireless/marvell/mwifiex/join.c
740
priv->adapter->pps_uapsd_mode = false;
drivers/net/wireless/marvell/mwifiex/join.c
741
priv->adapter->tx_lock_flag = false;
drivers/net/wireless/marvell/mwifiex/join.c
746
mwifiex_dbg(priv->adapter, INFO, "info: ASSOC_RESP: %s\n",
drivers/net/wireless/marvell/mwifiex/join.c
784
mwifiex_dbg(priv->adapter, INFO,
drivers/net/wireless/marvell/mwifiex/join.c
802
mwifiex_dbg(priv->adapter, INFO,
drivers/net/wireless/marvell/mwifiex/join.c
819
priv->adapter->dbg.num_cmd_assoc_success++;
drivers/net/wireless/marvell/mwifiex/join.c
821
mwifiex_dbg(priv->adapter, MSG, "assoc: associated with %pM\n",
drivers/net/wireless/marvell/mwifiex/join.c
831
mwifiex_wake_up_net_dev_queue(priv->netdev, adapter);
drivers/net/wireless/marvell/mwifiex/join.c
840
if (adapter->curr_cmd->wait_q_enabled) {
drivers/net/wireless/marvell/mwifiex/join.c
842
adapter->cmd_wait_q.status = -1;
drivers/net/wireless/marvell/mwifiex/join.c
844
adapter->cmd_wait_q.status = 0;
drivers/net/wireless/marvell/mwifiex/join.c
874
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/join.c
889
if (!adapter)
drivers/net/wireless/marvell/mwifiex/join.c
913
mwifiex_dbg(adapter, INFO, "info: ADHOC_S_CMD: SSID = %s\n",
drivers/net/wireless/marvell/mwifiex/join.c
936
if (!mwifiex_get_cfp(priv, adapter->adhoc_start_band,
drivers/net/wireless/marvell/mwifiex/join.c
939
cfp = mwifiex_get_cfp(priv, adapter->adhoc_start_band,
drivers/net/wireless/marvell/mwifiex/join.c
946
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/join.c
951
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/join.c
956
priv->curr_bss_params.band = adapter->adhoc_start_band;
drivers/net/wireless/marvell/mwifiex/join.c
985
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/join.c
990
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/join.c
998
if ((adapter->adhoc_start_band & BAND_G) &&
drivers/net/wireless/marvell/mwifiex/main.c
102
for (i = 0; i < adapter->priv_num; i++)
drivers/net/wireless/marvell/mwifiex/main.c
103
kfree(adapter->priv[i]);
drivers/net/wireless/marvell/mwifiex/main.c
1035
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/main.c
1042
priv->adapter->if_ops.card_reset) {
drivers/net/wireless/marvell/mwifiex/main.c
1043
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/main.c
1046
priv->adapter->if_ops.card_reset(priv->adapter);
drivers/net/wireless/marvell/mwifiex/main.c
105
kfree(adapter);
drivers/net/wireless/marvell/mwifiex/main.c
1050
void mwifiex_multi_chan_resync(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/main.c
1052
struct usb_card_rec *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/main.c
1060
mwifiex_dbg(adapter, WARN, "pending data urb in sys\n");
drivers/net/wireless/marvell/mwifiex/main.c
1067
priv = mwifiex_get_priv(adapter, MWIFIEX_BSS_ROLE_ANY);
drivers/net/wireless/marvell/mwifiex/main.c
1071
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/main.c
1076
void mwifiex_upload_device_dump(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/main.c
1081
mwifiex_dbg(adapter, MSG,
drivers/net/wireless/marvell/mwifiex/main.c
1083
dev_coredumpv(adapter->dev, adapter->devdump_data, adapter->devdump_len,
drivers/net/wireless/marvell/mwifiex/main.c
1085
mwifiex_dbg(adapter, MSG,
drivers/net/wireless/marvell/mwifiex/main.c
1092
adapter->devdump_data = NULL;
drivers/net/wireless/marvell/mwifiex/main.c
1093
adapter->devdump_len = 0;
drivers/net/wireless/marvell/mwifiex/main.c
1097
void mwifiex_drv_info_dump(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/main.c
1108
mwifiex_dbg(adapter, MSG, "===mwifiex driverinfo dump start===\n");
drivers/net/wireless/marvell/mwifiex/main.c
1110
p = adapter->devdump_data;
drivers/net/wireless/marvell/mwifiex/main.c
1115
mwifiex_drv_get_driver_version(adapter, drv_version,
drivers/net/wireless/marvell/mwifiex/main.c
1119
if (adapter->iface_type == MWIFIEX_USB) {
drivers/net/wireless/marvell/mwifiex/main.c
1120
cardp = (struct usb_card_rec *)adapter->card;
drivers/net/wireless/marvell/mwifiex/main.c
1134
atomic_read(&adapter->tx_pending));
drivers/net/wireless/marvell/mwifiex/main.c
1136
atomic_read(&adapter->rx_pending));
drivers/net/wireless/marvell/mwifiex/main.c
1138
if (adapter->iface_type == MWIFIEX_SDIO) {
drivers/net/wireless/marvell/mwifiex/main.c
1139
sdio_card = (struct sdio_mmc_card *)adapter->card;
drivers/net/wireless/marvell/mwifiex/main.c
1146
for (i = 0; i < adapter->priv_num; i++) {
drivers/net/wireless/marvell/mwifiex/main.c
1147
if (!adapter->priv[i]->netdev)
drivers/net/wireless/marvell/mwifiex/main.c
1149
priv = adapter->priv[i];
drivers/net/wireless/marvell/mwifiex/main.c
1174
if (adapter->iface_type == MWIFIEX_SDIO ||
drivers/net/wireless/marvell/mwifiex/main.c
1175
adapter->iface_type == MWIFIEX_PCIE) {
drivers/net/wireless/marvell/mwifiex/main.c
1177
adapter->iface_type == MWIFIEX_SDIO ?
drivers/net/wireless/marvell/mwifiex/main.c
1179
if (adapter->if_ops.reg_dump)
drivers/net/wireless/marvell/mwifiex/main.c
1180
p += adapter->if_ops.reg_dump(adapter, p);
drivers/net/wireless/marvell/mwifiex/main.c
1185
for (i = 0; i < adapter->priv_num; i++) {
drivers/net/wireless/marvell/mwifiex/main.c
1186
if (!adapter->priv[i]->netdev)
drivers/net/wireless/marvell/mwifiex/main.c
1188
priv = adapter->priv[i];
drivers/net/wireless/marvell/mwifiex/main.c
1198
mwifiex_dbg(adapter, MSG, "===mwifiex driverinfo dump end===\n");
drivers/net/wireless/marvell/mwifiex/main.c
1199
adapter->devdump_len = p - (char *)adapter->devdump_data;
drivers/net/wireless/marvell/mwifiex/main.c
120
static int mwifiex_unregister(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/main.c
1203
void mwifiex_prepare_fw_dump_info(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/main.c
1209
for (idx = 0; idx < adapter->num_mem_types; idx++) {
drivers/net/wireless/marvell/mwifiex/main.c
1211
&adapter->mem_type_mapping_tbl[idx];
drivers/net/wireless/marvell/mwifiex/main.c
1222
if (dump_len + 1 + adapter->devdump_len > MWIFIEX_FW_DUMP_SIZE) {
drivers/net/wireless/marvell/mwifiex/main.c
1224
fw_dump_ptr = vzalloc(dump_len + 1 + adapter->devdump_len);
drivers/net/wireless/marvell/mwifiex/main.c
1225
mwifiex_dbg(adapter, MSG, "Realloc device dump data.\n");
drivers/net/wireless/marvell/mwifiex/main.c
1227
vfree(adapter->devdump_data);
drivers/net/wireless/marvell/mwifiex/main.c
1228
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/main.c
1233
memmove(fw_dump_ptr, adapter->devdump_data,
drivers/net/wireless/marvell/mwifiex/main.c
1234
adapter->devdump_len);
drivers/net/wireless/marvell/mwifiex/main.c
1235
vfree(adapter->devdump_data);
drivers/net/wireless/marvell/mwifiex/main.c
1236
adapter->devdump_data = fw_dump_ptr;
drivers/net/wireless/marvell/mwifiex/main.c
1239
fw_dump_ptr = (char *)adapter->devdump_data + adapter->devdump_len;
drivers/net/wireless/marvell/mwifiex/main.c
124
if (adapter->if_ops.cleanup_if)
drivers/net/wireless/marvell/mwifiex/main.c
1241
for (idx = 0; idx < adapter->num_mem_types; idx++) {
drivers/net/wireless/marvell/mwifiex/main.c
1243
&adapter->mem_type_mapping_tbl[idx];
drivers/net/wireless/marvell/mwifiex/main.c
125
adapter->if_ops.cleanup_if(adapter);
drivers/net/wireless/marvell/mwifiex/main.c
1263
adapter->devdump_len = fw_dump_ptr - (char *)adapter->devdump_data;
drivers/net/wireless/marvell/mwifiex/main.c
1265
for (idx = 0; idx < adapter->num_mem_types; idx++) {
drivers/net/wireless/marvell/mwifiex/main.c
1267
&adapter->mem_type_mapping_tbl[idx];
drivers/net/wireless/marvell/mwifiex/main.c
127
timer_shutdown_sync(&adapter->cmd_timer);
drivers/net/wireless/marvell/mwifiex/main.c
130
for (i = 0; i < adapter->priv_num; i++) {
drivers/net/wireless/marvell/mwifiex/main.c
131
mwifiex_free_curr_bcn(adapter->priv[i]);
drivers/net/wireless/marvell/mwifiex/main.c
132
kfree(adapter->priv[i]);
drivers/net/wireless/marvell/mwifiex/main.c
1345
ether_addr_copy(priv->curr_addr, priv->adapter->perm_addr);
drivers/net/wireless/marvell/mwifiex/main.c
135
if (adapter->nd_info) {
drivers/net/wireless/marvell/mwifiex/main.c
1358
int is_command_pending(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/main.c
136
for (i = 0 ; i < adapter->nd_info->n_matches ; i++)
drivers/net/wireless/marvell/mwifiex/main.c
1362
spin_lock_bh(&adapter->cmd_pending_q_lock);
drivers/net/wireless/marvell/mwifiex/main.c
1363
is_cmd_pend_q_empty = list_empty(&adapter->cmd_pending_q);
drivers/net/wireless/marvell/mwifiex/main.c
1364
spin_unlock_bh(&adapter->cmd_pending_q_lock);
drivers/net/wireless/marvell/mwifiex/main.c
137
kfree(adapter->nd_info->matches[i]);
drivers/net/wireless/marvell/mwifiex/main.c
1374
struct mwifiex_adapter *adapter =
drivers/net/wireless/marvell/mwifiex/main.c
1377
if (test_bit(MWIFIEX_SURPRISE_REMOVED, &adapter->work_flags))
drivers/net/wireless/marvell/mwifiex/main.c
138
kfree(adapter->nd_info);
drivers/net/wireless/marvell/mwifiex/main.c
1381
if (adapter->host_mlme_link_lost) {
drivers/net/wireless/marvell/mwifiex/main.c
1382
if (adapter->priv_link_lost) {
drivers/net/wireless/marvell/mwifiex/main.c
1383
mwifiex_reset_connect_state(adapter->priv_link_lost,
drivers/net/wireless/marvell/mwifiex/main.c
1386
adapter->priv_link_lost = NULL;
drivers/net/wireless/marvell/mwifiex/main.c
1388
adapter->host_mlme_link_lost = false;
drivers/net/wireless/marvell/mwifiex/main.c
139
adapter->nd_info = NULL;
drivers/net/wireless/marvell/mwifiex/main.c
1392
if (adapter->assoc_resp_received) {
drivers/net/wireless/marvell/mwifiex/main.c
1393
mwifiex_process_assoc_resp(adapter);
drivers/net/wireless/marvell/mwifiex/main.c
1394
adapter->assoc_resp_received = false;
drivers/net/wireless/marvell/mwifiex/main.c
1405
struct mwifiex_adapter *adapter =
drivers/net/wireless/marvell/mwifiex/main.c
1408
if (test_bit(MWIFIEX_SURPRISE_REMOVED, &adapter->work_flags))
drivers/net/wireless/marvell/mwifiex/main.c
1410
mwifiex_process_rx(adapter);
drivers/net/wireless/marvell/mwifiex/main.c
142
kfree(adapter->regd);
drivers/net/wireless/marvell/mwifiex/main.c
1421
struct mwifiex_adapter *adapter =
drivers/net/wireless/marvell/mwifiex/main.c
1424
if (test_bit(MWIFIEX_SURPRISE_REMOVED, &adapter->work_flags))
drivers/net/wireless/marvell/mwifiex/main.c
1426
mwifiex_main_process(adapter);
drivers/net/wireless/marvell/mwifiex/main.c
1430
static void mwifiex_uninit_sw(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/main.c
1438
if (adapter->if_ops.disable_int)
drivers/net/wireless/marvell/mwifiex/main.c
1439
adapter->if_ops.disable_int(adapter);
drivers/net/wireless/marvell/mwifiex/main.c
144
kfree(adapter);
drivers/net/wireless/marvell/mwifiex/main.c
1441
set_bit(MWIFIEX_SURPRISE_REMOVED, &adapter->work_flags);
drivers/net/wireless/marvell/mwifiex/main.c
1442
mwifiex_terminate_workqueue(adapter);
drivers/net/wireless/marvell/mwifiex/main.c
1443
adapter->int_status = 0;
drivers/net/wireless/marvell/mwifiex/main.c
1446
for (i = 0; i < adapter->priv_num; i++) {
drivers/net/wireless/marvell/mwifiex/main.c
1447
priv = adapter->priv[i];
drivers/net/wireless/marvell/mwifiex/main.c
1449
mwifiex_stop_net_dev_queue(priv->netdev, adapter);
drivers/net/wireless/marvell/mwifiex/main.c
1456
mwifiex_dbg(adapter, CMD, "cmd: calling mwifiex_shutdown_drv...\n");
drivers/net/wireless/marvell/mwifiex/main.c
1457
mwifiex_shutdown_drv(adapter);
drivers/net/wireless/marvell/mwifiex/main.c
1458
mwifiex_dbg(adapter, CMD, "cmd: mwifiex_shutdown_drv done\n");
drivers/net/wireless/marvell/mwifiex/main.c
1460
if (atomic_read(&adapter->rx_pending) ||
drivers/net/wireless/marvell/mwifiex/main.c
1461
atomic_read(&adapter->tx_pending) ||
drivers/net/wireless/marvell/mwifiex/main.c
1462
atomic_read(&adapter->cmd_pending)) {
drivers/net/wireless/marvell/mwifiex/main.c
1463
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/main.c
1466
atomic_read(&adapter->rx_pending),
drivers/net/wireless/marvell/mwifiex/main.c
1467
atomic_read(&adapter->tx_pending),
drivers/net/wireless/marvell/mwifiex/main.c
1468
atomic_read(&adapter->cmd_pending));
drivers/net/wireless/marvell/mwifiex/main.c
1471
for (i = 0; i < adapter->priv_num; i++) {
drivers/net/wireless/marvell/mwifiex/main.c
1472
priv = adapter->priv[i];
drivers/net/wireless/marvell/mwifiex/main.c
148
void mwifiex_queue_main_work(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/main.c
1482
wiphy_lock(adapter->wiphy);
drivers/net/wireless/marvell/mwifiex/main.c
1483
mwifiex_del_virtual_intf(adapter->wiphy, &priv->wdev);
drivers/net/wireless/marvell/mwifiex/main.c
1484
wiphy_unlock(adapter->wiphy);
drivers/net/wireless/marvell/mwifiex/main.c
1489
wiphy_unregister(adapter->wiphy);
drivers/net/wireless/marvell/mwifiex/main.c
1490
wiphy_free(adapter->wiphy);
drivers/net/wireless/marvell/mwifiex/main.c
1491
adapter->wiphy = NULL;
drivers/net/wireless/marvell/mwifiex/main.c
1493
kfree(adapter->chan_stats);
drivers/net/wireless/marvell/mwifiex/main.c
1494
mwifiex_free_cmd_buffers(adapter);
drivers/net/wireless/marvell/mwifiex/main.c
1500
int mwifiex_shutdown_sw(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/main.c
1504
if (!adapter)
drivers/net/wireless/marvell/mwifiex/main.c
1507
wait_for_completion(adapter->fw_done);
drivers/net/wireless/marvell/mwifiex/main.c
1509
reinit_completion(adapter->fw_done);
drivers/net/wireless/marvell/mwifiex/main.c
1511
priv = mwifiex_get_priv(adapter, MWIFIEX_BSS_ROLE_ANY);
drivers/net/wireless/marvell/mwifiex/main.c
1516
mwifiex_uninit_sw(adapter);
drivers/net/wireless/marvell/mwifiex/main.c
1517
adapter->is_up = false;
drivers/net/wireless/marvell/mwifiex/main.c
1519
if (adapter->if_ops.down_dev)
drivers/net/wireless/marvell/mwifiex/main.c
152
spin_lock_irqsave(&adapter->main_proc_lock, flags);
drivers/net/wireless/marvell/mwifiex/main.c
1520
adapter->if_ops.down_dev(adapter);
drivers/net/wireless/marvell/mwifiex/main.c
153
if (adapter->mwifiex_processing) {
drivers/net/wireless/marvell/mwifiex/main.c
1530
mwifiex_reinit_sw(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/main.c
1534
mwifiex_init_lock_list(adapter);
drivers/net/wireless/marvell/mwifiex/main.c
1535
if (adapter->if_ops.up_dev)
drivers/net/wireless/marvell/mwifiex/main.c
1536
adapter->if_ops.up_dev(adapter);
drivers/net/wireless/marvell/mwifiex/main.c
1538
adapter->hw_status = MWIFIEX_HW_STATUS_INITIALIZING;
drivers/net/wireless/marvell/mwifiex/main.c
1539
clear_bit(MWIFIEX_SURPRISE_REMOVED, &adapter->work_flags);
drivers/net/wireless/marvell/mwifiex/main.c
154
adapter->more_task_flag = true;
drivers/net/wireless/marvell/mwifiex/main.c
1540
clear_bit(MWIFIEX_IS_SUSPENDED, &adapter->work_flags);
drivers/net/wireless/marvell/mwifiex/main.c
1541
adapter->hs_activated = false;
drivers/net/wireless/marvell/mwifiex/main.c
1542
clear_bit(MWIFIEX_IS_CMD_TIMEDOUT, &adapter->work_flags);
drivers/net/wireless/marvell/mwifiex/main.c
1543
init_waitqueue_head(&adapter->hs_activate_wait_q);
drivers/net/wireless/marvell/mwifiex/main.c
1544
init_waitqueue_head(&adapter->cmd_wait_q.wait);
drivers/net/wireless/marvell/mwifiex/main.c
1545
adapter->cmd_wait_q.status = 0;
drivers/net/wireless/marvell/mwifiex/main.c
1546
adapter->scan_wait_q_woken = false;
drivers/net/wireless/marvell/mwifiex/main.c
1548
if ((num_possible_cpus() > 1) || adapter->iface_type == MWIFIEX_USB)
drivers/net/wireless/marvell/mwifiex/main.c
1549
adapter->rx_work_enabled = true;
drivers/net/wireless/marvell/mwifiex/main.c
155
spin_unlock_irqrestore(&adapter->main_proc_lock, flags);
drivers/net/wireless/marvell/mwifiex/main.c
1551
adapter->workqueue =
drivers/net/wireless/marvell/mwifiex/main.c
1554
if (!adapter->workqueue)
drivers/net/wireless/marvell/mwifiex/main.c
1557
INIT_WORK(&adapter->main_work, mwifiex_main_work_queue);
drivers/net/wireless/marvell/mwifiex/main.c
1559
if (adapter->rx_work_enabled) {
drivers/net/wireless/marvell/mwifiex/main.c
1560
adapter->rx_workqueue = alloc_workqueue("MWIFIEX_RX_WORK_QUEUE",
drivers/net/wireless/marvell/mwifiex/main.c
1564
if (!adapter->rx_workqueue)
drivers/net/wireless/marvell/mwifiex/main.c
1566
INIT_WORK(&adapter->rx_work, mwifiex_rx_work_queue);
drivers/net/wireless/marvell/mwifiex/main.c
1569
if (adapter->host_mlme_enabled) {
drivers/net/wireless/marvell/mwifiex/main.c
157
spin_unlock_irqrestore(&adapter->main_proc_lock, flags);
drivers/net/wireless/marvell/mwifiex/main.c
1570
adapter->host_mlme_workqueue =
drivers/net/wireless/marvell/mwifiex/main.c
1575
if (!adapter->host_mlme_workqueue)
drivers/net/wireless/marvell/mwifiex/main.c
1577
INIT_WORK(&adapter->host_mlme_work,
drivers/net/wireless/marvell/mwifiex/main.c
158
queue_work(adapter->workqueue, &adapter->main_work);
drivers/net/wireless/marvell/mwifiex/main.c
1585
mwifiex_dbg(adapter, INFO, "%s, mwifiex_init_hw_fw()...\n", __func__);
drivers/net/wireless/marvell/mwifiex/main.c
1587
if (mwifiex_init_hw_fw(adapter, false)) {
drivers/net/wireless/marvell/mwifiex/main.c
1588
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/main.c
1594
ret = _mwifiex_fw_dpc(adapter->firmware, adapter);
drivers/net/wireless/marvell/mwifiex/main.c
1599
mwifiex_dbg(adapter, INFO, "%s, successful\n", __func__);
drivers/net/wireless/marvell/mwifiex/main.c
1604
mwifiex_dbg(adapter, ERROR, "info: %s: unregister device\n", __func__);
drivers/net/wireless/marvell/mwifiex/main.c
1605
if (adapter->if_ops.unregister_dev)
drivers/net/wireless/marvell/mwifiex/main.c
1606
adapter->if_ops.unregister_dev(adapter);
drivers/net/wireless/marvell/mwifiex/main.c
1609
set_bit(MWIFIEX_SURPRISE_REMOVED, &adapter->work_flags);
drivers/net/wireless/marvell/mwifiex/main.c
1610
mwifiex_terminate_workqueue(adapter);
drivers/net/wireless/marvell/mwifiex/main.c
1611
if (adapter->hw_status == MWIFIEX_HW_STATUS_READY) {
drivers/net/wireless/marvell/mwifiex/main.c
1612
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/main.c
1614
mwifiex_shutdown_drv(adapter);
drivers/net/wireless/marvell/mwifiex/main.c
1615
mwifiex_free_cmd_buffers(adapter);
drivers/net/wireless/marvell/mwifiex/main.c
1618
complete_all(adapter->fw_done);
drivers/net/wireless/marvell/mwifiex/main.c
1619
mwifiex_dbg(adapter, INFO, "%s, error\n", __func__);
drivers/net/wireless/marvell/mwifiex/main.c
1627
struct mwifiex_adapter *adapter = priv;
drivers/net/wireless/marvell/mwifiex/main.c
1629
dev_dbg(adapter->dev, "%s: wake by wifi", __func__);
drivers/net/wireless/marvell/mwifiex/main.c
163
static void mwifiex_queue_rx_work(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/main.c
1630
adapter->wake_by_wifi = true;
drivers/net/wireless/marvell/mwifiex/main.c
1634
pm_wakeup_event(adapter->dev, 0);
drivers/net/wireless/marvell/mwifiex/main.c
1640
static void mwifiex_probe_of(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/main.c
1643
struct device *dev = adapter->dev;
drivers/net/wireless/marvell/mwifiex/main.c
1648
adapter->dt_node = dev->of_node;
drivers/net/wireless/marvell/mwifiex/main.c
1649
adapter->irq_wakeup = irq_of_parse_and_map(adapter->dt_node, 0);
drivers/net/wireless/marvell/mwifiex/main.c
165
spin_lock_bh(&adapter->rx_proc_lock);
drivers/net/wireless/marvell/mwifiex/main.c
1650
if (!adapter->irq_wakeup) {
drivers/net/wireless/marvell/mwifiex/main.c
1655
ret = devm_request_irq(dev, adapter->irq_wakeup,
drivers/net/wireless/marvell/mwifiex/main.c
1658
"wifi_wake", adapter);
drivers/net/wireless/marvell/mwifiex/main.c
166
if (adapter->rx_processing) {
drivers/net/wireless/marvell/mwifiex/main.c
1661
adapter->irq_wakeup, ret);
drivers/net/wireless/marvell/mwifiex/main.c
167
spin_unlock_bh(&adapter->rx_proc_lock);
drivers/net/wireless/marvell/mwifiex/main.c
1672
adapter->irq_wakeup = -1;
drivers/net/wireless/marvell/mwifiex/main.c
169
spin_unlock_bh(&adapter->rx_proc_lock);
drivers/net/wireless/marvell/mwifiex/main.c
1693
struct mwifiex_adapter *adapter;
drivers/net/wireless/marvell/mwifiex/main.c
1695
if (mwifiex_register(card, dev, if_ops, (void **)&adapter)) {
drivers/net/wireless/marvell/mwifiex/main.c
170
queue_work(adapter->rx_workqueue, &adapter->rx_work);
drivers/net/wireless/marvell/mwifiex/main.c
1700
mwifiex_probe_of(adapter);
drivers/net/wireless/marvell/mwifiex/main.c
1702
adapter->iface_type = iface_type;
drivers/net/wireless/marvell/mwifiex/main.c
1703
adapter->fw_done = fw_done;
drivers/net/wireless/marvell/mwifiex/main.c
1705
adapter->hw_status = MWIFIEX_HW_STATUS_INITIALIZING;
drivers/net/wireless/marvell/mwifiex/main.c
1706
clear_bit(MWIFIEX_SURPRISE_REMOVED, &adapter->work_flags);
drivers/net/wireless/marvell/mwifiex/main.c
1707
clear_bit(MWIFIEX_IS_SUSPENDED, &adapter->work_flags);
drivers/net/wireless/marvell/mwifiex/main.c
1708
adapter->hs_activated = false;
drivers/net/wireless/marvell/mwifiex/main.c
1709
init_waitqueue_head(&adapter->hs_activate_wait_q);
drivers/net/wireless/marvell/mwifiex/main.c
1710
init_waitqueue_head(&adapter->cmd_wait_q.wait);
drivers/net/wireless/marvell/mwifiex/main.c
1711
adapter->cmd_wait_q.status = 0;
drivers/net/wireless/marvell/mwifiex/main.c
1712
adapter->scan_wait_q_woken = false;
drivers/net/wireless/marvell/mwifiex/main.c
1714
if ((num_possible_cpus() > 1) || adapter->iface_type == MWIFIEX_USB)
drivers/net/wireless/marvell/mwifiex/main.c
1715
adapter->rx_work_enabled = true;
drivers/net/wireless/marvell/mwifiex/main.c
1717
adapter->workqueue =
drivers/net/wireless/marvell/mwifiex/main.c
1720
if (!adapter->workqueue)
drivers/net/wireless/marvell/mwifiex/main.c
1723
INIT_WORK(&adapter->main_work, mwifiex_main_work_queue);
drivers/net/wireless/marvell/mwifiex/main.c
1725
if (adapter->rx_work_enabled) {
drivers/net/wireless/marvell/mwifiex/main.c
1726
adapter->rx_workqueue = alloc_workqueue("MWIFIEX_RX_WORK_QUEUE",
drivers/net/wireless/marvell/mwifiex/main.c
1730
if (!adapter->rx_workqueue)
drivers/net/wireless/marvell/mwifiex/main.c
1733
INIT_WORK(&adapter->rx_work, mwifiex_rx_work_queue);
drivers/net/wireless/marvell/mwifiex/main.c
1738
if (adapter->if_ops.register_dev(adapter)) {
drivers/net/wireless/marvell/mwifiex/main.c
174
static int mwifiex_process_rx(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/main.c
1743
if (adapter->host_mlme_enabled) {
drivers/net/wireless/marvell/mwifiex/main.c
1744
adapter->host_mlme_workqueue =
drivers/net/wireless/marvell/mwifiex/main.c
1749
if (!adapter->host_mlme_workqueue)
drivers/net/wireless/marvell/mwifiex/main.c
1751
INIT_WORK(&adapter->host_mlme_work,
drivers/net/wireless/marvell/mwifiex/main.c
1755
if (mwifiex_init_hw_fw(adapter, true)) {
drivers/net/wireless/marvell/mwifiex/main.c
1764
if (adapter->if_ops.unregister_dev)
drivers/net/wireless/marvell/mwifiex/main.c
1765
adapter->if_ops.unregister_dev(adapter);
drivers/net/wireless/marvell/mwifiex/main.c
1767
set_bit(MWIFIEX_SURPRISE_REMOVED, &adapter->work_flags);
drivers/net/wireless/marvell/mwifiex/main.c
1768
mwifiex_terminate_workqueue(adapter);
drivers/net/wireless/marvell/mwifiex/main.c
1769
if (adapter->hw_status == MWIFIEX_HW_STATUS_READY) {
drivers/net/wireless/marvell/mwifiex/main.c
1771
mwifiex_shutdown_drv(adapter);
drivers/net/wireless/marvell/mwifiex/main.c
1772
mwifiex_free_cmd_buffers(adapter);
drivers/net/wireless/marvell/mwifiex/main.c
1775
if (adapter->irq_wakeup >= 0)
drivers/net/wireless/marvell/mwifiex/main.c
1776
device_init_wakeup(adapter->dev, false);
drivers/net/wireless/marvell/mwifiex/main.c
1777
mwifiex_free_adapter(adapter);
drivers/net/wireless/marvell/mwifiex/main.c
179
spin_lock_bh(&adapter->rx_proc_lock);
drivers/net/wireless/marvell/mwifiex/main.c
1796
int mwifiex_remove_card(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/main.c
1798
if (!adapter)
drivers/net/wireless/marvell/mwifiex/main.c
180
if (adapter->rx_processing || adapter->rx_locked) {
drivers/net/wireless/marvell/mwifiex/main.c
1801
if (adapter->is_up)
drivers/net/wireless/marvell/mwifiex/main.c
1802
mwifiex_uninit_sw(adapter);
drivers/net/wireless/marvell/mwifiex/main.c
1804
if (adapter->irq_wakeup >= 0)
drivers/net/wireless/marvell/mwifiex/main.c
1805
device_init_wakeup(adapter->dev, false);
drivers/net/wireless/marvell/mwifiex/main.c
1808
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/main.c
181
spin_unlock_bh(&adapter->rx_proc_lock);
drivers/net/wireless/marvell/mwifiex/main.c
1810
if (adapter->if_ops.unregister_dev)
drivers/net/wireless/marvell/mwifiex/main.c
1811
adapter->if_ops.unregister_dev(adapter);
drivers/net/wireless/marvell/mwifiex/main.c
1813
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/main.c
1815
mwifiex_free_adapter(adapter);
drivers/net/wireless/marvell/mwifiex/main.c
1821
void _mwifiex_dbg(const struct mwifiex_adapter *adapter, int mask,
drivers/net/wireless/marvell/mwifiex/main.c
1827
if (!(adapter->debug_mask & mask))
drivers/net/wireless/marvell/mwifiex/main.c
1835
if (adapter->dev)
drivers/net/wireless/marvell/mwifiex/main.c
1836
dev_info(adapter->dev, "%pV", &vaf);
drivers/net/wireless/marvell/mwifiex/main.c
184
adapter->rx_processing = true;
drivers/net/wireless/marvell/mwifiex/main.c
185
spin_unlock_bh(&adapter->rx_proc_lock);
drivers/net/wireless/marvell/mwifiex/main.c
189
while ((skb = skb_dequeue(&adapter->rx_data_q))) {
drivers/net/wireless/marvell/mwifiex/main.c
190
atomic_dec(&adapter->rx_pending);
drivers/net/wireless/marvell/mwifiex/main.c
191
if ((adapter->delay_main_work ||
drivers/net/wireless/marvell/mwifiex/main.c
192
adapter->iface_type == MWIFIEX_USB) &&
drivers/net/wireless/marvell/mwifiex/main.c
193
(atomic_read(&adapter->rx_pending) < LOW_RX_PENDING)) {
drivers/net/wireless/marvell/mwifiex/main.c
194
if (adapter->if_ops.submit_rem_rx_urbs)
drivers/net/wireless/marvell/mwifiex/main.c
195
adapter->if_ops.submit_rem_rx_urbs(adapter);
drivers/net/wireless/marvell/mwifiex/main.c
196
adapter->delay_main_work = false;
drivers/net/wireless/marvell/mwifiex/main.c
197
mwifiex_queue_main_work(adapter);
drivers/net/wireless/marvell/mwifiex/main.c
201
if (adapter->if_ops.deaggr_pkt)
drivers/net/wireless/marvell/mwifiex/main.c
202
adapter->if_ops.deaggr_pkt(adapter, skb);
drivers/net/wireless/marvell/mwifiex/main.c
205
mwifiex_handle_rx_packet(adapter, skb);
drivers/net/wireless/marvell/mwifiex/main.c
208
spin_lock_bh(&adapter->rx_proc_lock);
drivers/net/wireless/marvell/mwifiex/main.c
209
adapter->rx_processing = false;
drivers/net/wireless/marvell/mwifiex/main.c
210
spin_unlock_bh(&adapter->rx_proc_lock);
drivers/net/wireless/marvell/mwifiex/main.c
216
static void maybe_quirk_fw_disable_ds(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/main.c
218
struct mwifiex_private *priv = mwifiex_get_priv(adapter, MWIFIEX_BSS_ROLE_STA);
drivers/net/wireless/marvell/mwifiex/main.c
221
if (test_and_set_bit(MWIFIEX_IS_REQUESTING_FW_VEREXT, &adapter->work_flags))
drivers/net/wireless/marvell/mwifiex/main.c
228
mwifiex_dbg(priv->adapter, MSG,
drivers/net/wireless/marvell/mwifiex/main.c
248
int mwifiex_main_process(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/main.c
253
spin_lock_irqsave(&adapter->main_proc_lock, flags);
drivers/net/wireless/marvell/mwifiex/main.c
256
if (adapter->mwifiex_processing || adapter->main_locked) {
drivers/net/wireless/marvell/mwifiex/main.c
257
adapter->more_task_flag = true;
drivers/net/wireless/marvell/mwifiex/main.c
258
spin_unlock_irqrestore(&adapter->main_proc_lock, flags);
drivers/net/wireless/marvell/mwifiex/main.c
261
adapter->mwifiex_processing = true;
drivers/net/wireless/marvell/mwifiex/main.c
262
spin_unlock_irqrestore(&adapter->main_proc_lock, flags);
drivers/net/wireless/marvell/mwifiex/main.c
266
if (adapter->hw_status == MWIFIEX_HW_STATUS_NOT_READY)
drivers/net/wireless/marvell/mwifiex/main.c
276
if (atomic_read(&adapter->rx_pending) >= HIGH_RX_PENDING &&
drivers/net/wireless/marvell/mwifiex/main.c
277
adapter->iface_type != MWIFIEX_USB) {
drivers/net/wireless/marvell/mwifiex/main.c
278
adapter->delay_main_work = true;
drivers/net/wireless/marvell/mwifiex/main.c
279
mwifiex_queue_rx_work(adapter);
drivers/net/wireless/marvell/mwifiex/main.c
284
if (adapter->int_status) {
drivers/net/wireless/marvell/mwifiex/main.c
285
if (adapter->hs_activated)
drivers/net/wireless/marvell/mwifiex/main.c
286
mwifiex_process_hs_config(adapter);
drivers/net/wireless/marvell/mwifiex/main.c
287
if (adapter->if_ops.process_int_status)
drivers/net/wireless/marvell/mwifiex/main.c
288
adapter->if_ops.process_int_status(adapter);
drivers/net/wireless/marvell/mwifiex/main.c
291
if (adapter->rx_work_enabled && adapter->data_received)
drivers/net/wireless/marvell/mwifiex/main.c
292
mwifiex_queue_rx_work(adapter);
drivers/net/wireless/marvell/mwifiex/main.c
295
if ((adapter->ps_state == PS_STATE_SLEEP) &&
drivers/net/wireless/marvell/mwifiex/main.c
296
(adapter->pm_wakeup_card_req &&
drivers/net/wireless/marvell/mwifiex/main.c
297
!adapter->pm_wakeup_fw_try) &&
drivers/net/wireless/marvell/mwifiex/main.c
298
(is_command_pending(adapter) ||
drivers/net/wireless/marvell/mwifiex/main.c
299
!skb_queue_empty(&adapter->tx_data_q) ||
drivers/net/wireless/marvell/mwifiex/main.c
300
!mwifiex_bypass_txlist_empty(adapter) ||
drivers/net/wireless/marvell/mwifiex/main.c
301
!mwifiex_wmm_lists_empty(adapter))) {
drivers/net/wireless/marvell/mwifiex/main.c
302
adapter->pm_wakeup_fw_try = true;
drivers/net/wireless/marvell/mwifiex/main.c
303
mod_timer(&adapter->wakeup_timer, jiffies + (HZ*3));
drivers/net/wireless/marvell/mwifiex/main.c
304
adapter->if_ops.wakeup(adapter);
drivers/net/wireless/marvell/mwifiex/main.c
308
if (IS_CARD_RX_RCVD(adapter)) {
drivers/net/wireless/marvell/mwifiex/main.c
309
adapter->data_received = false;
drivers/net/wireless/marvell/mwifiex/main.c
310
adapter->pm_wakeup_fw_try = false;
drivers/net/wireless/marvell/mwifiex/main.c
311
timer_delete(&adapter->wakeup_timer);
drivers/net/wireless/marvell/mwifiex/main.c
312
if (adapter->ps_state == PS_STATE_SLEEP)
drivers/net/wireless/marvell/mwifiex/main.c
313
adapter->ps_state = PS_STATE_AWAKE;
drivers/net/wireless/marvell/mwifiex/main.c
316
if (adapter->pm_wakeup_fw_try)
drivers/net/wireless/marvell/mwifiex/main.c
318
if (adapter->ps_state == PS_STATE_PRE_SLEEP)
drivers/net/wireless/marvell/mwifiex/main.c
319
mwifiex_check_ps_cond(adapter);
drivers/net/wireless/marvell/mwifiex/main.c
321
if (adapter->ps_state != PS_STATE_AWAKE)
drivers/net/wireless/marvell/mwifiex/main.c
323
if (adapter->tx_lock_flag) {
drivers/net/wireless/marvell/mwifiex/main.c
324
if (adapter->iface_type == MWIFIEX_USB) {
drivers/net/wireless/marvell/mwifiex/main.c
325
if (!adapter->usb_mc_setup)
drivers/net/wireless/marvell/mwifiex/main.c
331
if ((!adapter->scan_chan_gap_enabled &&
drivers/net/wireless/marvell/mwifiex/main.c
332
adapter->scan_processing) || adapter->data_sent ||
drivers/net/wireless/marvell/mwifiex/main.c
334
(mwifiex_get_priv(adapter,
drivers/net/wireless/marvell/mwifiex/main.c
336
(mwifiex_wmm_lists_empty(adapter) &&
drivers/net/wireless/marvell/mwifiex/main.c
337
mwifiex_bypass_txlist_empty(adapter) &&
drivers/net/wireless/marvell/mwifiex/main.c
338
skb_queue_empty(&adapter->tx_data_q))) {
drivers/net/wireless/marvell/mwifiex/main.c
339
if (adapter->cmd_sent || adapter->curr_cmd ||
drivers/net/wireless/marvell/mwifiex/main.c
341
(mwifiex_get_priv(adapter,
drivers/net/wireless/marvell/mwifiex/main.c
343
(!is_command_pending(adapter)))
drivers/net/wireless/marvell/mwifiex/main.c
349
if (adapter->event_received) {
drivers/net/wireless/marvell/mwifiex/main.c
350
adapter->event_received = false;
drivers/net/wireless/marvell/mwifiex/main.c
351
mwifiex_process_event(adapter);
drivers/net/wireless/marvell/mwifiex/main.c
355
if (adapter->cmd_resp_received) {
drivers/net/wireless/marvell/mwifiex/main.c
356
adapter->cmd_resp_received = false;
drivers/net/wireless/marvell/mwifiex/main.c
357
mwifiex_process_cmdresp(adapter);
drivers/net/wireless/marvell/mwifiex/main.c
362
if (adapter->ps_state == PS_STATE_PRE_SLEEP)
drivers/net/wireless/marvell/mwifiex/main.c
363
mwifiex_check_ps_cond(adapter);
drivers/net/wireless/marvell/mwifiex/main.c
368
if ((adapter->ps_state == PS_STATE_SLEEP) ||
drivers/net/wireless/marvell/mwifiex/main.c
369
(adapter->ps_state == PS_STATE_PRE_SLEEP) ||
drivers/net/wireless/marvell/mwifiex/main.c
370
(adapter->ps_state == PS_STATE_SLEEP_CFM)) {
drivers/net/wireless/marvell/mwifiex/main.c
374
if (adapter->tx_lock_flag) {
drivers/net/wireless/marvell/mwifiex/main.c
375
if (adapter->iface_type == MWIFIEX_USB) {
drivers/net/wireless/marvell/mwifiex/main.c
376
if (!adapter->usb_mc_setup)
drivers/net/wireless/marvell/mwifiex/main.c
382
if (!adapter->cmd_sent && !adapter->curr_cmd &&
drivers/net/wireless/marvell/mwifiex/main.c
384
(mwifiex_get_priv(adapter, MWIFIEX_BSS_ROLE_STA))) {
drivers/net/wireless/marvell/mwifiex/main.c
385
if (mwifiex_exec_next_cmd(adapter) == -1) {
drivers/net/wireless/marvell/mwifiex/main.c
394
if (adapter->iface_type == MWIFIEX_USB &&
drivers/net/wireless/marvell/mwifiex/main.c
395
adapter->usb_mc_setup)
drivers/net/wireless/marvell/mwifiex/main.c
398
if ((adapter->scan_chan_gap_enabled ||
drivers/net/wireless/marvell/mwifiex/main.c
399
!adapter->scan_processing) &&
drivers/net/wireless/marvell/mwifiex/main.c
400
!adapter->data_sent &&
drivers/net/wireless/marvell/mwifiex/main.c
401
!skb_queue_empty(&adapter->tx_data_q)) {
drivers/net/wireless/marvell/mwifiex/main.c
402
if (adapter->hs_activated_manually) {
drivers/net/wireless/marvell/mwifiex/main.c
403
mwifiex_cancel_hs(mwifiex_get_priv(adapter, MWIFIEX_BSS_ROLE_ANY),
drivers/net/wireless/marvell/mwifiex/main.c
405
adapter->hs_activated_manually = false;
drivers/net/wireless/marvell/mwifiex/main.c
408
mwifiex_process_tx_queue(adapter);
drivers/net/wireless/marvell/mwifiex/main.c
409
if (adapter->hs_activated) {
drivers/net/wireless/marvell/mwifiex/main.c
411
&adapter->work_flags);
drivers/net/wireless/marvell/mwifiex/main.c
412
mwifiex_hs_activated_event(adapter, false);
drivers/net/wireless/marvell/mwifiex/main.c
416
if ((adapter->scan_chan_gap_enabled ||
drivers/net/wireless/marvell/mwifiex/main.c
417
!adapter->scan_processing) &&
drivers/net/wireless/marvell/mwifiex/main.c
418
!adapter->data_sent &&
drivers/net/wireless/marvell/mwifiex/main.c
419
!mwifiex_bypass_txlist_empty(adapter) &&
drivers/net/wireless/marvell/mwifiex/main.c
421
(mwifiex_get_priv(adapter, MWIFIEX_BSS_ROLE_STA))) {
drivers/net/wireless/marvell/mwifiex/main.c
422
if (adapter->hs_activated_manually) {
drivers/net/wireless/marvell/mwifiex/main.c
423
mwifiex_cancel_hs(mwifiex_get_priv(adapter, MWIFIEX_BSS_ROLE_ANY),
drivers/net/wireless/marvell/mwifiex/main.c
425
adapter->hs_activated_manually = false;
drivers/net/wireless/marvell/mwifiex/main.c
428
mwifiex_process_bypass_tx(adapter);
drivers/net/wireless/marvell/mwifiex/main.c
429
if (adapter->hs_activated) {
drivers/net/wireless/marvell/mwifiex/main.c
431
&adapter->work_flags);
drivers/net/wireless/marvell/mwifiex/main.c
432
mwifiex_hs_activated_event(adapter, false);
drivers/net/wireless/marvell/mwifiex/main.c
436
if ((adapter->scan_chan_gap_enabled ||
drivers/net/wireless/marvell/mwifiex/main.c
437
!adapter->scan_processing) &&
drivers/net/wireless/marvell/mwifiex/main.c
438
!adapter->data_sent && !mwifiex_wmm_lists_empty(adapter) &&
drivers/net/wireless/marvell/mwifiex/main.c
440
(mwifiex_get_priv(adapter, MWIFIEX_BSS_ROLE_STA))) {
drivers/net/wireless/marvell/mwifiex/main.c
441
if (adapter->hs_activated_manually) {
drivers/net/wireless/marvell/mwifiex/main.c
442
mwifiex_cancel_hs(mwifiex_get_priv(adapter, MWIFIEX_BSS_ROLE_ANY),
drivers/net/wireless/marvell/mwifiex/main.c
444
adapter->hs_activated_manually = false;
drivers/net/wireless/marvell/mwifiex/main.c
447
mwifiex_wmm_process_tx(adapter);
drivers/net/wireless/marvell/mwifiex/main.c
448
if (adapter->hs_activated) {
drivers/net/wireless/marvell/mwifiex/main.c
450
&adapter->work_flags);
drivers/net/wireless/marvell/mwifiex/main.c
451
mwifiex_hs_activated_event(adapter, false);
drivers/net/wireless/marvell/mwifiex/main.c
455
if (adapter->delay_null_pkt && !adapter->cmd_sent &&
drivers/net/wireless/marvell/mwifiex/main.c
456
!adapter->curr_cmd && !is_command_pending(adapter) &&
drivers/net/wireless/marvell/mwifiex/main.c
457
(mwifiex_wmm_lists_empty(adapter) &&
drivers/net/wireless/marvell/mwifiex/main.c
458
mwifiex_bypass_txlist_empty(adapter) &&
drivers/net/wireless/marvell/mwifiex/main.c
459
skb_queue_empty(&adapter->tx_data_q))) {
drivers/net/wireless/marvell/mwifiex/main.c
461
(mwifiex_get_priv(adapter, MWIFIEX_BSS_ROLE_STA),
drivers/net/wireless/marvell/mwifiex/main.c
464
adapter->delay_null_pkt = false;
drivers/net/wireless/marvell/mwifiex/main.c
465
adapter->ps_state = PS_STATE_SLEEP;
drivers/net/wireless/marvell/mwifiex/main.c
471
spin_lock_irqsave(&adapter->main_proc_lock, flags);
drivers/net/wireless/marvell/mwifiex/main.c
472
if (adapter->more_task_flag) {
drivers/net/wireless/marvell/mwifiex/main.c
473
adapter->more_task_flag = false;
drivers/net/wireless/marvell/mwifiex/main.c
474
spin_unlock_irqrestore(&adapter->main_proc_lock, flags);
drivers/net/wireless/marvell/mwifiex/main.c
477
adapter->mwifiex_processing = false;
drivers/net/wireless/marvell/mwifiex/main.c
478
spin_unlock_irqrestore(&adapter->main_proc_lock, flags);
drivers/net/wireless/marvell/mwifiex/main.c
490
static void mwifiex_free_adapter(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/main.c
492
if (!adapter) {
drivers/net/wireless/marvell/mwifiex/main.c
497
if (adapter->rgpower_data) {
drivers/net/wireless/marvell/mwifiex/main.c
498
release_firmware(adapter->rgpower_data);
drivers/net/wireless/marvell/mwifiex/main.c
499
adapter->rgpower_data = NULL;
drivers/net/wireless/marvell/mwifiex/main.c
502
mwifiex_unregister(adapter);
drivers/net/wireless/marvell/mwifiex/main.c
510
static void mwifiex_terminate_workqueue(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/main.c
512
if (adapter->workqueue) {
drivers/net/wireless/marvell/mwifiex/main.c
513
destroy_workqueue(adapter->workqueue);
drivers/net/wireless/marvell/mwifiex/main.c
514
adapter->workqueue = NULL;
drivers/net/wireless/marvell/mwifiex/main.c
517
if (adapter->rx_workqueue) {
drivers/net/wireless/marvell/mwifiex/main.c
518
destroy_workqueue(adapter->rx_workqueue);
drivers/net/wireless/marvell/mwifiex/main.c
519
adapter->rx_workqueue = NULL;
drivers/net/wireless/marvell/mwifiex/main.c
522
if (adapter->host_mlme_workqueue) {
drivers/net/wireless/marvell/mwifiex/main.c
523
destroy_workqueue(adapter->host_mlme_workqueue);
drivers/net/wireless/marvell/mwifiex/main.c
524
adapter->host_mlme_workqueue = NULL;
drivers/net/wireless/marvell/mwifiex/main.c
539
struct mwifiex_adapter *adapter = context;
drivers/net/wireless/marvell/mwifiex/main.c
543
struct completion *fw_done = adapter->fw_done;
drivers/net/wireless/marvell/mwifiex/main.c
546
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/main.c
547
"Failed to get firmware %s\n", adapter->fw_name);
drivers/net/wireless/marvell/mwifiex/main.c
552
adapter->firmware = firmware;
drivers/net/wireless/marvell/mwifiex/main.c
553
fw.fw_buf = (u8 *) adapter->firmware->data;
drivers/net/wireless/marvell/mwifiex/main.c
554
fw.fw_len = adapter->firmware->size;
drivers/net/wireless/marvell/mwifiex/main.c
556
if (adapter->if_ops.dnld_fw) {
drivers/net/wireless/marvell/mwifiex/main.c
557
ret = adapter->if_ops.dnld_fw(adapter, &fw);
drivers/net/wireless/marvell/mwifiex/main.c
559
ret = mwifiex_dnld_fw(adapter, &fw);
drivers/net/wireless/marvell/mwifiex/main.c
565
mwifiex_dbg(adapter, MSG, "WLAN FW is active\n");
drivers/net/wireless/marvell/mwifiex/main.c
568
if ((request_firmware(&adapter->cal_data, cal_data_cfg,
drivers/net/wireless/marvell/mwifiex/main.c
569
adapter->dev)) < 0)
drivers/net/wireless/marvell/mwifiex/main.c
570
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/main.c
575
if (adapter->if_ops.enable_int) {
drivers/net/wireless/marvell/mwifiex/main.c
576
if (adapter->if_ops.enable_int(adapter))
drivers/net/wireless/marvell/mwifiex/main.c
580
ret = mwifiex_init_fw(adapter);
drivers/net/wireless/marvell/mwifiex/main.c
584
maybe_quirk_fw_disable_ds(adapter);
drivers/net/wireless/marvell/mwifiex/main.c
586
if (!adapter->wiphy) {
drivers/net/wireless/marvell/mwifiex/main.c
587
if (mwifiex_register_cfg80211(adapter)) {
drivers/net/wireless/marvell/mwifiex/main.c
588
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/main.c
594
if (mwifiex_init_channel_scan_gap(adapter)) {
drivers/net/wireless/marvell/mwifiex/main.c
595
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/main.c
60
struct mwifiex_adapter *adapter;
drivers/net/wireless/marvell/mwifiex/main.c
606
wiphy_lock(adapter->wiphy);
drivers/net/wireless/marvell/mwifiex/main.c
608
wdev = mwifiex_add_virtual_intf(adapter->wiphy, "mlan%d", NET_NAME_ENUM,
drivers/net/wireless/marvell/mwifiex/main.c
611
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/main.c
613
wiphy_unlock(adapter->wiphy);
drivers/net/wireless/marvell/mwifiex/main.c
619
wdev = mwifiex_add_virtual_intf(adapter->wiphy, "uap%d", NET_NAME_ENUM,
drivers/net/wireless/marvell/mwifiex/main.c
622
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/main.c
624
wiphy_unlock(adapter->wiphy);
drivers/net/wireless/marvell/mwifiex/main.c
63
adapter = kzalloc_obj(struct mwifiex_adapter);
drivers/net/wireless/marvell/mwifiex/main.c
631
wdev = mwifiex_add_virtual_intf(adapter->wiphy, "p2p%d", NET_NAME_ENUM,
drivers/net/wireless/marvell/mwifiex/main.c
634
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/main.c
636
wiphy_unlock(adapter->wiphy);
drivers/net/wireless/marvell/mwifiex/main.c
64
if (!adapter)
drivers/net/wireless/marvell/mwifiex/main.c
641
wiphy_unlock(adapter->wiphy);
drivers/net/wireless/marvell/mwifiex/main.c
644
mwifiex_drv_get_driver_version(adapter, fmt, sizeof(fmt) - 1);
drivers/net/wireless/marvell/mwifiex/main.c
645
mwifiex_dbg(adapter, MSG, "driver_version = %s\n", fmt);
drivers/net/wireless/marvell/mwifiex/main.c
646
adapter->is_up = true;
drivers/net/wireless/marvell/mwifiex/main.c
650
kfree(adapter->chan_stats);
drivers/net/wireless/marvell/mwifiex/main.c
652
wiphy_unregister(adapter->wiphy);
drivers/net/wireless/marvell/mwifiex/main.c
653
wiphy_free(adapter->wiphy);
drivers/net/wireless/marvell/mwifiex/main.c
655
if (adapter->if_ops.disable_int)
drivers/net/wireless/marvell/mwifiex/main.c
656
adapter->if_ops.disable_int(adapter);
drivers/net/wireless/marvell/mwifiex/main.c
658
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/main.c
660
if (adapter->if_ops.unregister_dev)
drivers/net/wireless/marvell/mwifiex/main.c
661
adapter->if_ops.unregister_dev(adapter);
drivers/net/wireless/marvell/mwifiex/main.c
663
set_bit(MWIFIEX_SURPRISE_REMOVED, &adapter->work_flags);
drivers/net/wireless/marvell/mwifiex/main.c
664
mwifiex_terminate_workqueue(adapter);
drivers/net/wireless/marvell/mwifiex/main.c
666
if (adapter->hw_status == MWIFIEX_HW_STATUS_READY) {
drivers/net/wireless/marvell/mwifiex/main.c
668
mwifiex_shutdown_drv(adapter);
drivers/net/wireless/marvell/mwifiex/main.c
669
mwifiex_free_cmd_buffers(adapter);
drivers/net/wireless/marvell/mwifiex/main.c
67
*padapter = adapter;
drivers/net/wireless/marvell/mwifiex/main.c
674
if (adapter->firmware) {
drivers/net/wireless/marvell/mwifiex/main.c
675
release_firmware(adapter->firmware);
drivers/net/wireless/marvell/mwifiex/main.c
676
adapter->firmware = NULL;
drivers/net/wireless/marvell/mwifiex/main.c
679
if (adapter->irq_wakeup >= 0)
drivers/net/wireless/marvell/mwifiex/main.c
68
adapter->dev = dev;
drivers/net/wireless/marvell/mwifiex/main.c
680
device_init_wakeup(adapter->dev, false);
drivers/net/wireless/marvell/mwifiex/main.c
681
mwifiex_free_adapter(adapter);
drivers/net/wireless/marvell/mwifiex/main.c
69
adapter->card = card;
drivers/net/wireless/marvell/mwifiex/main.c
698
static int mwifiex_init_hw_fw(struct mwifiex_adapter *adapter,
drivers/net/wireless/marvell/mwifiex/main.c
707
strscpy(adapter->fw_name, MFG_FIRMWARE,
drivers/net/wireless/marvell/mwifiex/main.c
708
sizeof(adapter->fw_name));
drivers/net/wireless/marvell/mwifiex/main.c
711
ret = request_firmware_nowait(THIS_MODULE, 1, adapter->fw_name,
drivers/net/wireless/marvell/mwifiex/main.c
712
adapter->dev, GFP_KERNEL, adapter,
drivers/net/wireless/marvell/mwifiex/main.c
715
ret = request_firmware(&adapter->firmware,
drivers/net/wireless/marvell/mwifiex/main.c
716
adapter->fw_name,
drivers/net/wireless/marvell/mwifiex/main.c
717
adapter->dev);
drivers/net/wireless/marvell/mwifiex/main.c
72
memmove(&adapter->if_ops, if_ops, sizeof(struct mwifiex_if_ops));
drivers/net/wireless/marvell/mwifiex/main.c
721
mwifiex_dbg(adapter, ERROR, "request_firmware%s error %d\n",
drivers/net/wireless/marvell/mwifiex/main.c
73
adapter->debug_mask = debug_mask;
drivers/net/wireless/marvell/mwifiex/main.c
752
mwifiex_dbg(priv->adapter, INFO,
drivers/net/wireless/marvell/mwifiex/main.c
76
if (adapter->if_ops.init_if)
drivers/net/wireless/marvell/mwifiex/main.c
760
mwifiex_dbg(priv->adapter, INFO,
drivers/net/wireless/marvell/mwifiex/main.c
77
if (adapter->if_ops.init_if(adapter))
drivers/net/wireless/marvell/mwifiex/main.c
778
ISSUPP_TDLS_ENABLED(priv->adapter->fw_cap_info) &&
drivers/net/wireless/marvell/mwifiex/main.c
780
mwifiex_dbg(priv->adapter, DATA,
drivers/net/wireless/marvell/mwifiex/main.c
785
mwifiex_dbg(priv->adapter, MSG,
drivers/net/wireless/marvell/mwifiex/main.c
80
adapter->priv_num = 0;
drivers/net/wireless/marvell/mwifiex/main.c
805
mwifiex_dbg(priv->adapter, DATA,
drivers/net/wireless/marvell/mwifiex/main.c
811
atomic_inc(&priv->adapter->tx_pending);
drivers/net/wireless/marvell/mwifiex/main.c
812
atomic_inc(&priv->adapter->bypass_tx_pending);
drivers/net/wireless/marvell/mwifiex/main.c
815
atomic_inc(&priv->adapter->tx_pending);
drivers/net/wireless/marvell/mwifiex/main.c
819
mwifiex_queue_main_work(priv->adapter);
drivers/net/wireless/marvell/mwifiex/main.c
84
adapter->priv[i] =
drivers/net/wireless/marvell/mwifiex/main.c
86
if (!adapter->priv[i])
drivers/net/wireless/marvell/mwifiex/main.c
876
mwifiex_dbg(priv->adapter, DATA,
drivers/net/wireless/marvell/mwifiex/main.c
880
if (test_bit(MWIFIEX_SURPRISE_REMOVED, &priv->adapter->work_flags)) {
drivers/net/wireless/marvell/mwifiex/main.c
886
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/main.c
89
adapter->priv[i]->adapter = adapter;
drivers/net/wireless/marvell/mwifiex/main.c
893
mwifiex_dbg(priv->adapter, DATA,
drivers/net/wireless/marvell/mwifiex/main.c
90
adapter->priv_num++;
drivers/net/wireless/marvell/mwifiex/main.c
900
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/main.c
908
mwifiex_dbg(priv->adapter, INFO,
drivers/net/wireless/marvell/mwifiex/main.c
92
mwifiex_init_lock_list(adapter);
drivers/net/wireless/marvell/mwifiex/main.c
922
priv->adapter->fw_api_ver == MWIFIEX_FW_V15))
drivers/net/wireless/marvell/mwifiex/main.c
936
if (ISSUPP_TDLS_ENABLED(priv->adapter->fw_cap_info) &&
drivers/net/wireless/marvell/mwifiex/main.c
939
if (priv->adapter->auto_tdls && priv->check_tdls_tx)
drivers/net/wireless/marvell/mwifiex/main.c
94
timer_setup(&adapter->cmd_timer, mwifiex_cmd_timeout_func, 0);
drivers/net/wireless/marvell/mwifiex/main.c
969
} else if (priv->adapter->priv[0] != priv) {
drivers/net/wireless/marvell/mwifiex/main.c
984
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/main.c
99
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/main.h
1043
void mwifiex_process_tx_queue(struct mwifiex_adapter *adapter);
drivers/net/wireless/marvell/mwifiex/main.h
1045
int mwifiex_init_lock_list(struct mwifiex_adapter *adapter);
drivers/net/wireless/marvell/mwifiex/main.h
1050
struct mwifiex_adapter *adapter);
drivers/net/wireless/marvell/mwifiex/main.h
1053
struct mwifiex_adapter *adapter);
drivers/net/wireless/marvell/mwifiex/main.h
1058
int mwifiex_init_fw(struct mwifiex_adapter *adapter);
drivers/net/wireless/marvell/mwifiex/main.h
1060
void mwifiex_shutdown_drv(struct mwifiex_adapter *adapter);
drivers/net/wireless/marvell/mwifiex/main.h
1074
int mwifiex_process_event(struct mwifiex_adapter *adapter);
drivers/net/wireless/marvell/mwifiex/main.h
1076
int mwifiex_complete_cmd(struct mwifiex_adapter *adapter,
drivers/net/wireless/marvell/mwifiex/main.h
1087
int mwifiex_alloc_cmd_buffer(struct mwifiex_adapter *adapter);
drivers/net/wireless/marvell/mwifiex/main.h
1088
void mwifiex_free_cmd_buffer(struct mwifiex_adapter *adapter);
drivers/net/wireless/marvell/mwifiex/main.h
1089
void mwifiex_free_cmd_buffers(struct mwifiex_adapter *adapter);
drivers/net/wireless/marvell/mwifiex/main.h
1090
void mwifiex_cancel_all_pending_cmd(struct mwifiex_adapter *adapter);
drivers/net/wireless/marvell/mwifiex/main.h
1091
void mwifiex_cancel_pending_scan_cmd(struct mwifiex_adapter *adapter);
drivers/net/wireless/marvell/mwifiex/main.h
1092
void mwifiex_cancel_scan(struct mwifiex_adapter *adapter);
drivers/net/wireless/marvell/mwifiex/main.h
1094
void mwifiex_recycle_cmd_node(struct mwifiex_adapter *adapter,
drivers/net/wireless/marvell/mwifiex/main.h
1097
void mwifiex_insert_cmd_to_pending_q(struct mwifiex_adapter *adapter,
drivers/net/wireless/marvell/mwifiex/main.h
1100
int mwifiex_exec_next_cmd(struct mwifiex_adapter *adapter);
drivers/net/wireless/marvell/mwifiex/main.h
1101
int mwifiex_process_cmdresp(struct mwifiex_adapter *adapter);
drivers/net/wireless/marvell/mwifiex/main.h
1102
void mwifiex_process_assoc_resp(struct mwifiex_adapter *adapter);
drivers/net/wireless/marvell/mwifiex/main.h
1103
int mwifiex_handle_rx_packet(struct mwifiex_adapter *adapter,
drivers/net/wireless/marvell/mwifiex/main.h
1108
int mwifiex_write_data_complete(struct mwifiex_adapter *adapter,
drivers/net/wireless/marvell/mwifiex/main.h
1112
void mwifiex_check_ps_cond(struct mwifiex_adapter *adapter);
drivers/net/wireless/marvell/mwifiex/main.h
1122
void mwifiex_process_hs_config(struct mwifiex_adapter *adapter);
drivers/net/wireless/marvell/mwifiex/main.h
1123
void mwifiex_hs_activated_event(struct mwifiex_adapter *adapter,
drivers/net/wireless/marvell/mwifiex/main.h
1172
void mwifiex_deauthenticate_all(struct mwifiex_adapter *adapter);
drivers/net/wireless/marvell/mwifiex/main.h
1208
int is_command_pending(struct mwifiex_adapter *adapter);
drivers/net/wireless/marvell/mwifiex/main.h
126
#define IS_CARD_RX_RCVD(adapter) (adapter->cmd_resp_received || \
drivers/net/wireless/marvell/mwifiex/main.h
127
adapter->event_received || \
drivers/net/wireless/marvell/mwifiex/main.h
128
adapter->data_received)
drivers/net/wireless/marvell/mwifiex/main.h
1291
mwifiex_get_priv_by_id(struct mwifiex_adapter *adapter,
drivers/net/wireless/marvell/mwifiex/main.h
1296
for (i = 0; i < adapter->priv_num; i++) {
drivers/net/wireless/marvell/mwifiex/main.h
1297
if (adapter->priv[i]->bss_mode == NL80211_IFTYPE_UNSPECIFIED)
drivers/net/wireless/marvell/mwifiex/main.h
1300
if ((adapter->priv[i]->bss_num == bss_num) &&
drivers/net/wireless/marvell/mwifiex/main.h
1301
(adapter->priv[i]->bss_type == bss_type))
drivers/net/wireless/marvell/mwifiex/main.h
1304
return ((i < adapter->priv_num) ? adapter->priv[i] : NULL);
drivers/net/wireless/marvell/mwifiex/main.h
1312
mwifiex_get_priv(struct mwifiex_adapter *adapter,
drivers/net/wireless/marvell/mwifiex/main.h
1317
for (i = 0; i < adapter->priv_num; i++) {
drivers/net/wireless/marvell/mwifiex/main.h
1319
GET_BSS_ROLE(adapter->priv[i]) == bss_role)
drivers/net/wireless/marvell/mwifiex/main.h
1323
return ((i < adapter->priv_num) ? adapter->priv[i] : NULL);
drivers/net/wireless/marvell/mwifiex/main.h
1331
mwifiex_get_unused_bss_num(struct mwifiex_adapter *adapter, u8 bss_type)
drivers/net/wireless/marvell/mwifiex/main.h
1337
for (i = 0; i < adapter->priv_num; i++)
drivers/net/wireless/marvell/mwifiex/main.h
1338
if (adapter->priv[i]->bss_type == bss_type &&
drivers/net/wireless/marvell/mwifiex/main.h
1339
!(adapter->priv[i]->bss_mode ==
drivers/net/wireless/marvell/mwifiex/main.h
1341
index[adapter->priv[i]->bss_num] = 1;
drivers/net/wireless/marvell/mwifiex/main.h
1353
mwifiex_get_unused_priv_by_bss_type(struct mwifiex_adapter *adapter,
drivers/net/wireless/marvell/mwifiex/main.h
1358
for (i = 0; i < adapter->priv_num; i++)
drivers/net/wireless/marvell/mwifiex/main.h
1359
if (adapter->priv[i]->bss_mode ==
drivers/net/wireless/marvell/mwifiex/main.h
1361
adapter->priv[i]->bss_num =
drivers/net/wireless/marvell/mwifiex/main.h
1362
mwifiex_get_unused_bss_num(adapter, bss_type);
drivers/net/wireless/marvell/mwifiex/main.h
1366
return ((i < adapter->priv_num) ? adapter->priv[i] : NULL);
drivers/net/wireless/marvell/mwifiex/main.h
1409
for (i = 0; i < priv->adapter->priv_num; i++) {
drivers/net/wireless/marvell/mwifiex/main.h
1410
priv_num = priv->adapter->priv[i];
drivers/net/wireless/marvell/mwifiex/main.h
1439
static inline void mwifiex_disable_wake(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/main.h
1441
if (adapter->irq_wakeup >= 0) {
drivers/net/wireless/marvell/mwifiex/main.h
1442
disable_irq_wake(adapter->irq_wakeup);
drivers/net/wireless/marvell/mwifiex/main.h
1443
disable_irq(adapter->irq_wakeup);
drivers/net/wireless/marvell/mwifiex/main.h
1444
if (adapter->wake_by_wifi)
drivers/net/wireless/marvell/mwifiex/main.h
1448
enable_irq(adapter->irq_wakeup);
drivers/net/wireless/marvell/mwifiex/main.h
1454
static inline void mwifiex_enable_wake(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/main.h
1457
if (adapter->irq_wakeup >= 0) {
drivers/net/wireless/marvell/mwifiex/main.h
1458
adapter->wake_by_wifi = false;
drivers/net/wireless/marvell/mwifiex/main.h
1459
enable_irq(adapter->irq_wakeup);
drivers/net/wireless/marvell/mwifiex/main.h
1460
enable_irq_wake(adapter->irq_wakeup);
drivers/net/wireless/marvell/mwifiex/main.h
1470
int mwifiex_remove_card(struct mwifiex_adapter *adapter);
drivers/net/wireless/marvell/mwifiex/main.h
1472
void mwifiex_get_version(struct mwifiex_adapter *adapter, char *version,
drivers/net/wireless/marvell/mwifiex/main.h
1478
int mwifiex_wait_queue_complete(struct mwifiex_adapter *adapter,
drivers/net/wireless/marvell/mwifiex/main.h
1483
int mwifiex_enable_hs(struct mwifiex_adapter *adapter);
drivers/net/wireless/marvell/mwifiex/main.h
1526
int mwifiex_drv_get_driver_version(struct mwifiex_adapter *adapter,
drivers/net/wireless/marvell/mwifiex/main.h
1541
int mwifiex_update_bss_desc_with_ie(struct mwifiex_adapter *adapter,
drivers/net/wireless/marvell/mwifiex/main.h
1558
int mwifiex_add_wowlan_magic_pkt_filter(struct mwifiex_adapter *adapter);
drivers/net/wireless/marvell/mwifiex/main.h
1617
int mwifiex_init_channel_scan_gap(struct mwifiex_adapter *adapter);
drivers/net/wireless/marvell/mwifiex/main.h
1664
void mwifiex_drv_info_dump(struct mwifiex_adapter *adapter);
drivers/net/wireless/marvell/mwifiex/main.h
1665
void mwifiex_prepare_fw_dump_info(struct mwifiex_adapter *adapter);
drivers/net/wireless/marvell/mwifiex/main.h
1666
void mwifiex_upload_device_dump(struct mwifiex_adapter *adapter);
drivers/net/wireless/marvell/mwifiex/main.h
1669
void mwifiex_queue_main_work(struct mwifiex_adapter *adapter);
drivers/net/wireless/marvell/mwifiex/main.h
1678
void mwifiex_coex_ampdu_rxwinsize(struct mwifiex_adapter *adapter);
drivers/net/wireless/marvell/mwifiex/main.h
1685
void mwifiex_multi_chan_resync(struct mwifiex_adapter *adapter);
drivers/net/wireless/marvell/mwifiex/main.h
1698
int mwifiex_reinit_sw(struct mwifiex_adapter *adapter);
drivers/net/wireless/marvell/mwifiex/main.h
1699
int mwifiex_shutdown_sw(struct mwifiex_adapter *adapter);
drivers/net/wireless/marvell/mwifiex/main.h
193
void _mwifiex_dbg(const struct mwifiex_adapter *adapter, int mask,
drivers/net/wireless/marvell/mwifiex/main.h
195
#define mwifiex_dbg(adapter, mask, fmt, ...) \
drivers/net/wireless/marvell/mwifiex/main.h
196
_mwifiex_dbg(adapter, MWIFIEX_DBG_##mask, fmt, ##__VA_ARGS__)
drivers/net/wireless/marvell/mwifiex/main.h
199
#define mwifiex_dbg_dump(adapter, dbg_mask, str, buf, len) \
drivers/net/wireless/marvell/mwifiex/main.h
201
if ((adapter)->debug_mask & MWIFIEX_DBG_##dbg_mask) \
drivers/net/wireless/marvell/mwifiex/main.h
522
struct mwifiex_adapter *adapter;
drivers/net/wireless/marvell/mwifiex/main.h
836
void (*init_fw_port)(struct mwifiex_adapter *adapter);
drivers/net/wireless/marvell/mwifiex/main.h
841
void (*clean_pcie_ring)(struct mwifiex_adapter *adapter);
drivers/net/wireless/marvell/mwifiex/main.h
843
void (*submit_rem_rx_urbs)(struct mwifiex_adapter *adapter);
drivers/net/wireless/marvell/mwifiex/pcie.c
1003
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/pcie.c
1011
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/pcie.c
1017
mwifiex_dbg(adapter, DATA,
drivers/net/wireless/marvell/mwifiex/pcie.c
1023
return mwifiex_init_txq_ring(adapter);
drivers/net/wireless/marvell/mwifiex/pcie.c
1026
static int mwifiex_pcie_delete_txbd_ring(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/pcie.c
1028
struct pcie_service_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/pcie.c
1031
mwifiex_cleanup_txq_ring(adapter);
drivers/net/wireless/marvell/mwifiex/pcie.c
1049
static int mwifiex_pcie_create_rxbd_ring(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/pcie.c
1052
struct pcie_service_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/pcie.c
1070
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/pcie.c
1078
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/pcie.c
1084
mwifiex_dbg(adapter, DATA,
drivers/net/wireless/marvell/mwifiex/pcie.c
1090
ret = mwifiex_init_rxq_ring(adapter);
drivers/net/wireless/marvell/mwifiex/pcie.c
1092
mwifiex_pcie_delete_rxbd_ring(adapter);
drivers/net/wireless/marvell/mwifiex/pcie.c
1099
static int mwifiex_pcie_delete_rxbd_ring(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/pcie.c
1101
struct pcie_service_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/pcie.c
1104
mwifiex_cleanup_rxq_ring(adapter);
drivers/net/wireless/marvell/mwifiex/pcie.c
1122
static int mwifiex_pcie_create_evtbd_ring(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/pcie.c
1125
struct pcie_service_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/pcie.c
1139
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/pcie.c
1147
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/pcie.c
1153
mwifiex_dbg(adapter, EVENT,
drivers/net/wireless/marvell/mwifiex/pcie.c
1159
ret = mwifiex_pcie_init_evt_ring(adapter);
drivers/net/wireless/marvell/mwifiex/pcie.c
1161
mwifiex_pcie_delete_evtbd_ring(adapter);
drivers/net/wireless/marvell/mwifiex/pcie.c
1168
static int mwifiex_pcie_delete_evtbd_ring(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/pcie.c
1170
struct pcie_service_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/pcie.c
1173
mwifiex_cleanup_evt_ring(adapter);
drivers/net/wireless/marvell/mwifiex/pcie.c
1191
static int mwifiex_pcie_alloc_cmdrsp_buf(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/pcie.c
1193
struct pcie_service_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/pcie.c
1199
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/pcie.c
1204
if (mwifiex_map_pci_memory(adapter, skb, MWIFIEX_UPLD_SIZE,
drivers/net/wireless/marvell/mwifiex/pcie.c
1218
static int mwifiex_pcie_delete_cmdrsp_buf(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/pcie.c
1222
if (!adapter)
drivers/net/wireless/marvell/mwifiex/pcie.c
1225
card = adapter->card;
drivers/net/wireless/marvell/mwifiex/pcie.c
1228
mwifiex_unmap_pci_memory(adapter, card->cmdrsp_buf,
drivers/net/wireless/marvell/mwifiex/pcie.c
1235
mwifiex_unmap_pci_memory(adapter, card->cmd_buf,
drivers/net/wireless/marvell/mwifiex/pcie.c
1246
static int mwifiex_pcie_alloc_sleep_cookie_buf(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/pcie.c
1248
struct pcie_service_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/pcie.c
1256
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/pcie.c
1264
mwifiex_dbg(adapter, INFO, "alloc_scook: sleep cookie=0x%x\n", *cookie);
drivers/net/wireless/marvell/mwifiex/pcie.c
1272
static int mwifiex_pcie_delete_sleep_cookie_buf(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/pcie.c
1276
if (!adapter)
drivers/net/wireless/marvell/mwifiex/pcie.c
1279
card = adapter->card;
drivers/net/wireless/marvell/mwifiex/pcie.c
1295
static void mwifiex_clean_pcie_ring_buf(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/pcie.c
1297
struct pcie_service_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/pcie.c
1304
mwifiex_write_reg(adapter, PCIE_CPU_INT_EVENT,
drivers/net/wireless/marvell/mwifiex/pcie.c
1312
static int mwifiex_pcie_send_data_complete(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/pcie.c
1318
struct pcie_service_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/pcie.c
1321
if (!mwifiex_pcie_ok_to_access_hw(adapter))
drivers/net/wireless/marvell/mwifiex/pcie.c
1322
mwifiex_pm_wakeup_card(adapter);
drivers/net/wireless/marvell/mwifiex/pcie.c
1325
if (mwifiex_read_reg(adapter, reg->tx_rdptr, &rdptr)) {
drivers/net/wireless/marvell/mwifiex/pcie.c
1326
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/pcie.c
1331
mwifiex_dbg(adapter, DATA,
drivers/net/wireless/marvell/mwifiex/pcie.c
1347
mwifiex_dbg(adapter, DATA,
drivers/net/wireless/marvell/mwifiex/pcie.c
1350
mwifiex_unmap_pci_memory(adapter, skb,
drivers/net/wireless/marvell/mwifiex/pcie.c
1356
mwifiex_write_data_complete(adapter, skb, 0,
drivers/net/wireless/marvell/mwifiex/pcie.c
1359
mwifiex_write_data_complete(adapter, skb, 0, 0);
drivers/net/wireless/marvell/mwifiex/pcie.c
1360
atomic_dec(&adapter->tx_hw_pending);
drivers/net/wireless/marvell/mwifiex/pcie.c
1390
adapter->data_sent = false;
drivers/net/wireless/marvell/mwifiex/pcie.c
1396
mwifiex_clean_pcie_ring_buf(adapter);
drivers/net/wireless/marvell/mwifiex/pcie.c
1410
mwifiex_pcie_send_data(struct mwifiex_adapter *adapter, struct sk_buff *skb,
drivers/net/wireless/marvell/mwifiex/pcie.c
1413
struct pcie_service_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/pcie.c
1421
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/pcie.c
1427
if (!mwifiex_pcie_ok_to_access_hw(adapter))
drivers/net/wireless/marvell/mwifiex/pcie.c
1428
mwifiex_pm_wakeup_card(adapter);
drivers/net/wireless/marvell/mwifiex/pcie.c
1431
mwifiex_dbg(adapter, DATA,
drivers/net/wireless/marvell/mwifiex/pcie.c
1437
adapter->data_sent = true;
drivers/net/wireless/marvell/mwifiex/pcie.c
1442
if (mwifiex_map_pci_memory(adapter, skb, skb->len,
drivers/net/wireless/marvell/mwifiex/pcie.c
1449
atomic_inc(&adapter->tx_hw_pending);
drivers/net/wireless/marvell/mwifiex/pcie.c
1484
mwifiex_write_reg(adapter, reg->tx_wrptr,
drivers/net/wireless/marvell/mwifiex/pcie.c
1492
mwifiex_read_reg(adapter, PCI_VENDOR_ID, &rx_val);
drivers/net/wireless/marvell/mwifiex/pcie.c
1497
mwifiex_dbg(adapter, DATA,
drivers/net/wireless/marvell/mwifiex/pcie.c
1499
adapter->data_sent = false;
drivers/net/wireless/marvell/mwifiex/pcie.c
1502
mwifiex_write_reg(adapter, PCIE_CPU_INT_EVENT,
drivers/net/wireless/marvell/mwifiex/pcie.c
1505
mwifiex_dbg(adapter, DATA,
drivers/net/wireless/marvell/mwifiex/pcie.c
1510
mwifiex_dbg(adapter, DATA,
drivers/net/wireless/marvell/mwifiex/pcie.c
1512
adapter->data_sent = true;
drivers/net/wireless/marvell/mwifiex/pcie.c
1514
mwifiex_write_reg(adapter, PCIE_CPU_INT_EVENT,
drivers/net/wireless/marvell/mwifiex/pcie.c
1526
static int mwifiex_pcie_process_recv_data(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/pcie.c
1528
struct pcie_service_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/pcie.c
1537
if (!mwifiex_pcie_ok_to_access_hw(adapter))
drivers/net/wireless/marvell/mwifiex/pcie.c
1538
mwifiex_pm_wakeup_card(adapter);
drivers/net/wireless/marvell/mwifiex/pcie.c
1541
if (mwifiex_read_reg(adapter, reg->rx_wrptr, &wrptr)) {
drivers/net/wireless/marvell/mwifiex/pcie.c
1542
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/pcie.c
1565
mwifiex_unmap_pci_memory(adapter, skb_data, DMA_FROM_DEVICE);
drivers/net/wireless/marvell/mwifiex/pcie.c
1572
if (WARN_ON(rx_len <= adapter->intf_hdr_len ||
drivers/net/wireless/marvell/mwifiex/pcie.c
1574
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/pcie.c
1580
mwifiex_dbg(adapter, DATA,
drivers/net/wireless/marvell/mwifiex/pcie.c
1583
skb_pull(skb_data, adapter->intf_hdr_len);
drivers/net/wireless/marvell/mwifiex/pcie.c
1584
if (adapter->rx_work_enabled) {
drivers/net/wireless/marvell/mwifiex/pcie.c
1585
skb_queue_tail(&adapter->rx_data_q, skb_data);
drivers/net/wireless/marvell/mwifiex/pcie.c
1586
adapter->data_received = true;
drivers/net/wireless/marvell/mwifiex/pcie.c
1587
atomic_inc(&adapter->rx_pending);
drivers/net/wireless/marvell/mwifiex/pcie.c
1589
mwifiex_handle_rx_packet(adapter, skb_data);
drivers/net/wireless/marvell/mwifiex/pcie.c
1596
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/pcie.c
1601
if (mwifiex_map_pci_memory(adapter, skb_tmp,
drivers/net/wireless/marvell/mwifiex/pcie.c
1608
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/pcie.c
1633
mwifiex_dbg(adapter, DATA,
drivers/net/wireless/marvell/mwifiex/pcie.c
1639
mwifiex_write_reg(adapter, reg->rx_rdptr,
drivers/net/wireless/marvell/mwifiex/pcie.c
1643
if (mwifiex_read_reg(adapter, reg->rx_wrptr, &wrptr)) {
drivers/net/wireless/marvell/mwifiex/pcie.c
1644
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/pcie.c
1649
mwifiex_dbg(adapter, DATA,
drivers/net/wireless/marvell/mwifiex/pcie.c
1662
mwifiex_pcie_send_boot_cmd(struct mwifiex_adapter *adapter, struct sk_buff *skb)
drivers/net/wireless/marvell/mwifiex/pcie.c
1665
struct pcie_service_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/pcie.c
1669
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/pcie.c
1675
if (mwifiex_map_pci_memory(adapter, skb, skb->len, DMA_TO_DEVICE))
drivers/net/wireless/marvell/mwifiex/pcie.c
1683
mwifiex_write_reg(adapter, reg->cmd_addr_lo, (u32)buf_pa);
drivers/net/wireless/marvell/mwifiex/pcie.c
1688
mwifiex_write_reg(adapter, reg->cmd_addr_hi, (u32)((u64)buf_pa >> 32));
drivers/net/wireless/marvell/mwifiex/pcie.c
1691
mwifiex_write_reg(adapter, reg->cmd_size, skb->len);
drivers/net/wireless/marvell/mwifiex/pcie.c
1694
mwifiex_write_reg(adapter, PCIE_CPU_INT_EVENT, CPU_INTR_DOOR_BELL);
drivers/net/wireless/marvell/mwifiex/pcie.c
1702
static void mwifiex_pcie_init_fw_port(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/pcie.c
1704
struct pcie_service_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/pcie.c
1709
mwifiex_write_reg(adapter, reg->rx_rdptr, card->rxbd_rdptr | tx_wrap);
drivers/net/wireless/marvell/mwifiex/pcie.c
1715
mwifiex_pcie_send_cmd(struct mwifiex_adapter *adapter, struct sk_buff *skb)
drivers/net/wireless/marvell/mwifiex/pcie.c
1717
struct pcie_service_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/pcie.c
1723
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/pcie.c
1731
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/pcie.c
1736
if (!mwifiex_pcie_ok_to_access_hw(adapter))
drivers/net/wireless/marvell/mwifiex/pcie.c
1737
mwifiex_pm_wakeup_card(adapter);
drivers/net/wireless/marvell/mwifiex/pcie.c
1739
adapter->cmd_sent = true;
drivers/net/wireless/marvell/mwifiex/pcie.c
1744
if (mwifiex_map_pci_memory(adapter, skb, skb->len, DMA_TO_DEVICE))
drivers/net/wireless/marvell/mwifiex/pcie.c
1768
mwifiex_write_reg(adapter, reg->cmdrsp_addr_lo,
drivers/net/wireless/marvell/mwifiex/pcie.c
1773
mwifiex_write_reg(adapter, reg->cmdrsp_addr_hi,
drivers/net/wireless/marvell/mwifiex/pcie.c
1780
mwifiex_write_reg(adapter, reg->cmd_addr_lo, (u32)cmd_buf_pa);
drivers/net/wireless/marvell/mwifiex/pcie.c
1783
mwifiex_write_reg(adapter, reg->cmd_addr_hi,
drivers/net/wireless/marvell/mwifiex/pcie.c
1787
mwifiex_write_reg(adapter, reg->cmd_size, card->cmd_buf->len);
drivers/net/wireless/marvell/mwifiex/pcie.c
1790
mwifiex_write_reg(adapter, PCIE_CPU_INT_EVENT, CPU_INTR_DOOR_BELL);
drivers/net/wireless/marvell/mwifiex/pcie.c
1798
static int mwifiex_pcie_process_cmd_complete(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/pcie.c
1800
struct pcie_service_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/pcie.c
1806
mwifiex_dbg(adapter, CMD,
drivers/net/wireless/marvell/mwifiex/pcie.c
1809
if (adapter->curr_cmd)
drivers/net/wireless/marvell/mwifiex/pcie.c
1810
mwifiex_unmap_pci_memory(adapter, skb, DMA_FROM_DEVICE);
drivers/net/wireless/marvell/mwifiex/pcie.c
1818
mwifiex_unmap_pci_memory(adapter, card->cmd_buf,
drivers/net/wireless/marvell/mwifiex/pcie.c
1828
if (!adapter->curr_cmd) {
drivers/net/wireless/marvell/mwifiex/pcie.c
1829
if (adapter->ps_state == PS_STATE_SLEEP_CFM) {
drivers/net/wireless/marvell/mwifiex/pcie.c
1834
mwifiex_write_reg(adapter,
drivers/net/wireless/marvell/mwifiex/pcie.c
1837
mwifiex_delay_for_sleep_cookie(adapter,
drivers/net/wireless/marvell/mwifiex/pcie.c
1839
mwifiex_unmap_pci_memory(adapter, skb,
drivers/net/wireless/marvell/mwifiex/pcie.c
1841
skb_pull(skb, adapter->intf_hdr_len);
drivers/net/wireless/marvell/mwifiex/pcie.c
1843
mwifiex_pcie_ok_to_access_hw(adapter))
drivers/net/wireless/marvell/mwifiex/pcie.c
1845
mwifiex_pcie_enable_host_int(adapter);
drivers/net/wireless/marvell/mwifiex/pcie.c
1846
mwifiex_process_sleep_confirm_resp(adapter, skb->data,
drivers/net/wireless/marvell/mwifiex/pcie.c
1849
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/pcie.c
1852
memcpy(adapter->upld_buf, skb->data,
drivers/net/wireless/marvell/mwifiex/pcie.c
1854
skb_push(skb, adapter->intf_hdr_len);
drivers/net/wireless/marvell/mwifiex/pcie.c
1855
if (mwifiex_map_pci_memory(adapter, skb, MWIFIEX_UPLD_SIZE,
drivers/net/wireless/marvell/mwifiex/pcie.c
1858
} else if (mwifiex_pcie_ok_to_access_hw(adapter)) {
drivers/net/wireless/marvell/mwifiex/pcie.c
1859
skb_pull(skb, adapter->intf_hdr_len);
drivers/net/wireless/marvell/mwifiex/pcie.c
1860
adapter->curr_cmd->resp_skb = skb;
drivers/net/wireless/marvell/mwifiex/pcie.c
1861
adapter->cmd_resp_received = true;
drivers/net/wireless/marvell/mwifiex/pcie.c
1869
mwifiex_write_reg(adapter, reg->cmdrsp_addr_lo, 0);
drivers/net/wireless/marvell/mwifiex/pcie.c
1873
mwifiex_write_reg(adapter, reg->cmdrsp_addr_hi, 0);
drivers/net/wireless/marvell/mwifiex/pcie.c
1882
static int mwifiex_pcie_cmdrsp_complete(struct mwifiex_adapter *adapter,
drivers/net/wireless/marvell/mwifiex/pcie.c
1885
struct pcie_service_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/pcie.c
1889
skb_push(card->cmdrsp_buf, adapter->intf_hdr_len);
drivers/net/wireless/marvell/mwifiex/pcie.c
1890
if (mwifiex_map_pci_memory(adapter, skb, MWIFIEX_UPLD_SIZE,
drivers/net/wireless/marvell/mwifiex/pcie.c
1901
static int mwifiex_pcie_process_event_ready(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/pcie.c
1903
struct pcie_service_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/pcie.c
1909
if (!mwifiex_pcie_ok_to_access_hw(adapter))
drivers/net/wireless/marvell/mwifiex/pcie.c
1910
mwifiex_pm_wakeup_card(adapter);
drivers/net/wireless/marvell/mwifiex/pcie.c
1912
if (adapter->event_received) {
drivers/net/wireless/marvell/mwifiex/pcie.c
1913
mwifiex_dbg(adapter, EVENT,
drivers/net/wireless/marvell/mwifiex/pcie.c
192
static int mwifiex_pcie_delete_rxbd_ring(struct mwifiex_adapter *adapter);
drivers/net/wireless/marvell/mwifiex/pcie.c
1920
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/pcie.c
1926
if (mwifiex_read_reg(adapter, reg->evt_wrptr, &wrptr)) {
drivers/net/wireless/marvell/mwifiex/pcie.c
1927
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/pcie.c
193
static int mwifiex_pcie_delete_evtbd_ring(struct mwifiex_adapter *adapter);
drivers/net/wireless/marvell/mwifiex/pcie.c
1932
mwifiex_dbg(adapter, EVENT,
drivers/net/wireless/marvell/mwifiex/pcie.c
1943
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/pcie.c
1946
mwifiex_unmap_pci_memory(adapter, skb_cmd, DMA_FROM_DEVICE);
drivers/net/wireless/marvell/mwifiex/pcie.c
1955
&skb_cmd->data[adapter->intf_hdr_len]);
drivers/net/wireless/marvell/mwifiex/pcie.c
1956
adapter->event_cause = event;
drivers/net/wireless/marvell/mwifiex/pcie.c
196
mwifiex_map_pci_memory(struct mwifiex_adapter *adapter, struct sk_buff *skb,
drivers/net/wireless/marvell/mwifiex/pcie.c
1962
skb_pull(skb_cmd, adapter->intf_hdr_len);
drivers/net/wireless/marvell/mwifiex/pcie.c
1963
mwifiex_dbg(adapter, EVENT,
drivers/net/wireless/marvell/mwifiex/pcie.c
1968
memcpy(adapter->event_body, skb_cmd->data +
drivers/net/wireless/marvell/mwifiex/pcie.c
1972
adapter->event_received = true;
drivers/net/wireless/marvell/mwifiex/pcie.c
1973
adapter->event_skb = skb_cmd;
drivers/net/wireless/marvell/mwifiex/pcie.c
1980
mwifiex_write_reg(adapter, PCIE_CPU_INT_EVENT,
drivers/net/wireless/marvell/mwifiex/pcie.c
199
struct pcie_service_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/pcie.c
1990
static int mwifiex_pcie_event_complete(struct mwifiex_adapter *adapter,
drivers/net/wireless/marvell/mwifiex/pcie.c
1993
struct pcie_service_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/pcie.c
2003
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/pcie.c
2010
if (mwifiex_read_reg(adapter, reg->evt_wrptr, &wrptr)) {
drivers/net/wireless/marvell/mwifiex/pcie.c
2011
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/pcie.c
2017
skb_push(skb, adapter->intf_hdr_len);
drivers/net/wireless/marvell/mwifiex/pcie.c
2019
if (mwifiex_map_pci_memory(adapter, skb,
drivers/net/wireless/marvell/mwifiex/pcie.c
2030
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/pcie.c
204
mwifiex_dbg(adapter, ERROR, "failed to map pci memory!\n");
drivers/net/wireless/marvell/mwifiex/pcie.c
2041
mwifiex_dbg(adapter, EVENT,
drivers/net/wireless/marvell/mwifiex/pcie.c
2046
mwifiex_write_reg(adapter, reg->evt_rdptr, card->evtbd_rdptr);
drivers/net/wireless/marvell/mwifiex/pcie.c
2048
mwifiex_dbg(adapter, EVENT,
drivers/net/wireless/marvell/mwifiex/pcie.c
2050
return mwifiex_pcie_process_event_ready(adapter);
drivers/net/wireless/marvell/mwifiex/pcie.c
2063
static int mwifiex_extract_wifi_fw(struct mwifiex_adapter *adapter,
drivers/net/wireless/marvell/mwifiex/pcie.c
2074
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/pcie.c
2090
mwifiex_dbg(adapter, ERROR, "bad FW parse\n");
drivers/net/wireless/marvell/mwifiex/pcie.c
2097
mwifiex_dbg(adapter, MSG,
drivers/net/wireless/marvell/mwifiex/pcie.c
2103
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/pcie.c
2114
mwifiex_dbg(adapter, ERROR, "bad FW parse\n");
drivers/net/wireless/marvell/mwifiex/pcie.c
212
static void mwifiex_unmap_pci_memory(struct mwifiex_adapter *adapter,
drivers/net/wireless/marvell/mwifiex/pcie.c
2124
mwifiex_dbg(adapter, ERROR, "bad FW parse\n");
drivers/net/wireless/marvell/mwifiex/pcie.c
2130
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/pcie.c
2142
mwifiex_dbg(adapter, ERROR, "unknown dnld_cmd %d\n",
drivers/net/wireless/marvell/mwifiex/pcie.c
215
struct pcie_service_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/pcie.c
2160
static int mwifiex_prog_fw_w_helper(struct mwifiex_adapter *adapter,
drivers/net/wireless/marvell/mwifiex/pcie.c
2170
struct pcie_service_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/pcie.c
2174
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/pcie.c
2179
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/pcie.c
2183
mwifiex_pcie_disable_host_int(adapter);
drivers/net/wireless/marvell/mwifiex/pcie.c
2191
ret = mwifiex_read_reg(adapter, PCIE_SCRATCH_13_REG, &val);
drivers/net/wireless/marvell/mwifiex/pcie.c
2193
mwifiex_dbg(adapter, FATAL, "Failed to read scratch register 13\n");
drivers/net/wireless/marvell/mwifiex/pcie.c
2199
ret = mwifiex_extract_wifi_fw(adapter, firmware, firmware_len);
drivers/net/wireless/marvell/mwifiex/pcie.c
2201
mwifiex_dbg(adapter, ERROR, "Failed to extract wifi fw\n");
drivers/net/wireless/marvell/mwifiex/pcie.c
2205
mwifiex_dbg(adapter, MSG,
drivers/net/wireless/marvell/mwifiex/pcie.c
2218
ret = mwifiex_read_reg(adapter, reg->cmd_size,
drivers/net/wireless/marvell/mwifiex/pcie.c
2221
mwifiex_dbg(adapter, FATAL,
drivers/net/wireless/marvell/mwifiex/pcie.c
2233
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/pcie.c
2245
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/pcie.c
2251
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/pcie.c
226
mwifiex_write_reg(struct mwifiex_adapter *adapter, int reg, u32 data)
drivers/net/wireless/marvell/mwifiex/pcie.c
2276
if (mwifiex_pcie_send_boot_cmd(adapter, skb)) {
drivers/net/wireless/marvell/mwifiex/pcie.c
2277
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/pcie.c
228
struct pcie_service_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/pcie.c
2285
if (mwifiex_read_reg(adapter, PCIE_CPU_INT_STATUS,
drivers/net/wireless/marvell/mwifiex/pcie.c
2287
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/pcie.c
2291
mwifiex_unmap_pci_memory(adapter, skb,
drivers/net/wireless/marvell/mwifiex/pcie.c
2301
mwifiex_dbg(adapter, ERROR, "%s: Card failed to ACK download\n",
drivers/net/wireless/marvell/mwifiex/pcie.c
2303
mwifiex_unmap_pci_memory(adapter, skb,
drivers/net/wireless/marvell/mwifiex/pcie.c
2309
mwifiex_unmap_pci_memory(adapter, skb, DMA_TO_DEVICE);
drivers/net/wireless/marvell/mwifiex/pcie.c
2314
mwifiex_dbg(adapter, MSG,
drivers/net/wireless/marvell/mwifiex/pcie.c
2328
mwifiex_check_fw_status(struct mwifiex_adapter *adapter, u32 poll_num)
drivers/net/wireless/marvell/mwifiex/pcie.c
2332
struct pcie_service_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/pcie.c
2337
mwifiex_write_reg(adapter, PCIE_HOST_INT_STATUS_MASK, HOST_INTR_MASK);
drivers/net/wireless/marvell/mwifiex/pcie.c
2339
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/pcie.c
2342
mwifiex_write_reg(adapter, reg->drv_rdy, FIRMWARE_READY_PCIE);
drivers/net/wireless/marvell/mwifiex/pcie.c
2346
if (mwifiex_read_reg(adapter, reg->fw_status,
drivers/net/wireless/marvell/mwifiex/pcie.c
235
mwifiex_write_reg_rpt(struct mwifiex_adapter *adapter, int reg, u32 data)
drivers/net/wireless/marvell/mwifiex/pcie.c
2352
mwifiex_dbg(adapter, INFO, "Try %d if FW is ready <%d,%#x>",
drivers/net/wireless/marvell/mwifiex/pcie.c
237
mwifiex_write_reg(adapter, reg, data);
drivers/net/wireless/marvell/mwifiex/pcie.c
2372
mwifiex_check_winner_status(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/pcie.c
2376
struct pcie_service_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/pcie.c
2379
if (mwifiex_read_reg(adapter, reg->fw_status, &winner)) {
drivers/net/wireless/marvell/mwifiex/pcie.c
2382
mwifiex_dbg(adapter, INFO, "PCI-E is the winner\n");
drivers/net/wireless/marvell/mwifiex/pcie.c
2383
adapter->winner = 1;
drivers/net/wireless/marvell/mwifiex/pcie.c
2385
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/pcie.c
2395
static void mwifiex_interrupt_status(struct mwifiex_adapter *adapter,
drivers/net/wireless/marvell/mwifiex/pcie.c
2400
struct pcie_service_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/pcie.c
2403
spin_lock_irqsave(&adapter->int_lock, flags);
drivers/net/wireless/marvell/mwifiex/pcie.c
2404
adapter->int_status = 1;
drivers/net/wireless/marvell/mwifiex/pcie.c
2405
spin_unlock_irqrestore(&adapter->int_lock, flags);
drivers/net/wireless/marvell/mwifiex/pcie.c
2409
if (!mwifiex_pcie_ok_to_access_hw(adapter))
drivers/net/wireless/marvell/mwifiex/pcie.c
2415
if (mwifiex_read_reg(adapter, PCIE_HOST_INT_STATUS,
drivers/net/wireless/marvell/mwifiex/pcie.c
2417
mwifiex_dbg(adapter, ERROR, "Read register failed\n");
drivers/net/wireless/marvell/mwifiex/pcie.c
2425
mwifiex_pcie_disable_host_int(adapter);
drivers/net/wireless/marvell/mwifiex/pcie.c
2428
mwifiex_write_reg(adapter, PCIE_HOST_INT_STATUS, ~pcie_ireg);
drivers/net/wireless/marvell/mwifiex/pcie.c
243
static int mwifiex_read_reg(struct mwifiex_adapter *adapter, int reg, u32 *data)
drivers/net/wireless/marvell/mwifiex/pcie.c
2431
if (!adapter->pps_uapsd_mode &&
drivers/net/wireless/marvell/mwifiex/pcie.c
2432
adapter->ps_state == PS_STATE_SLEEP &&
drivers/net/wireless/marvell/mwifiex/pcie.c
2433
mwifiex_pcie_ok_to_access_hw(adapter)) {
drivers/net/wireless/marvell/mwifiex/pcie.c
2438
adapter->ps_state = PS_STATE_AWAKE;
drivers/net/wireless/marvell/mwifiex/pcie.c
2439
adapter->pm_wakeup_fw_try = false;
drivers/net/wireless/marvell/mwifiex/pcie.c
2440
timer_delete(&adapter->wakeup_timer);
drivers/net/wireless/marvell/mwifiex/pcie.c
2443
spin_lock_irqsave(&adapter->int_lock, flags);
drivers/net/wireless/marvell/mwifiex/pcie.c
2444
adapter->int_status |= pcie_ireg;
drivers/net/wireless/marvell/mwifiex/pcie.c
2445
spin_unlock_irqrestore(&adapter->int_lock, flags);
drivers/net/wireless/marvell/mwifiex/pcie.c
2446
mwifiex_dbg(adapter, INTR, "ireg: 0x%08x\n", pcie_ireg);
drivers/net/wireless/marvell/mwifiex/pcie.c
245
struct pcie_service_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/pcie.c
2460
struct mwifiex_adapter *adapter;
drivers/net/wireless/marvell/mwifiex/pcie.c
2464
if (!card->adapter) {
drivers/net/wireless/marvell/mwifiex/pcie.c
2466
card ? card->adapter : NULL);
drivers/net/wireless/marvell/mwifiex/pcie.c
2469
adapter = card->adapter;
drivers/net/wireless/marvell/mwifiex/pcie.c
2471
if (test_bit(MWIFIEX_SURPRISE_REMOVED, &adapter->work_flags))
drivers/net/wireless/marvell/mwifiex/pcie.c
2475
mwifiex_interrupt_status(adapter, ctx->msg_id);
drivers/net/wireless/marvell/mwifiex/pcie.c
2477
mwifiex_interrupt_status(adapter, -1);
drivers/net/wireless/marvell/mwifiex/pcie.c
2479
mwifiex_queue_main_work(adapter);
drivers/net/wireless/marvell/mwifiex/pcie.c
2498
static int mwifiex_process_int_status(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/pcie.c
2503
struct pcie_service_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/pcie.c
2505
spin_lock_irqsave(&adapter->int_lock, flags);
drivers/net/wireless/marvell/mwifiex/pcie.c
2508
pcie_ireg = adapter->int_status;
drivers/net/wireless/marvell/mwifiex/pcie.c
2510
adapter->int_status = 0;
drivers/net/wireless/marvell/mwifiex/pcie.c
2511
spin_unlock_irqrestore(&adapter->int_lock, flags);
drivers/net/wireless/marvell/mwifiex/pcie.c
2514
if (mwifiex_pcie_ok_to_access_hw(adapter)) {
drivers/net/wireless/marvell/mwifiex/pcie.c
2515
if (mwifiex_read_reg(adapter, PCIE_HOST_INT_STATUS,
drivers/net/wireless/marvell/mwifiex/pcie.c
2517
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/pcie.c
2523
mwifiex_write_reg(adapter,
drivers/net/wireless/marvell/mwifiex/pcie.c
2526
if (!adapter->pps_uapsd_mode &&
drivers/net/wireless/marvell/mwifiex/pcie.c
2527
adapter->ps_state == PS_STATE_SLEEP) {
drivers/net/wireless/marvell/mwifiex/pcie.c
2528
adapter->ps_state = PS_STATE_AWAKE;
drivers/net/wireless/marvell/mwifiex/pcie.c
2529
adapter->pm_wakeup_fw_try = false;
drivers/net/wireless/marvell/mwifiex/pcie.c
2530
timer_delete(&adapter->wakeup_timer);
drivers/net/wireless/marvell/mwifiex/pcie.c
2537
mwifiex_dbg(adapter, INTR, "info: TX DNLD Done\n");
drivers/net/wireless/marvell/mwifiex/pcie.c
2538
ret = mwifiex_pcie_send_data_complete(adapter);
drivers/net/wireless/marvell/mwifiex/pcie.c
2543
mwifiex_dbg(adapter, INTR, "info: Rx DATA\n");
drivers/net/wireless/marvell/mwifiex/pcie.c
2544
ret = mwifiex_pcie_process_recv_data(adapter);
drivers/net/wireless/marvell/mwifiex/pcie.c
2549
mwifiex_dbg(adapter, INTR, "info: Rx EVENT\n");
drivers/net/wireless/marvell/mwifiex/pcie.c
255
static int mwifiex_read_reg_byte(struct mwifiex_adapter *adapter,
drivers/net/wireless/marvell/mwifiex/pcie.c
2550
ret = mwifiex_pcie_process_event_ready(adapter);
drivers/net/wireless/marvell/mwifiex/pcie.c
2555
if (adapter->cmd_sent) {
drivers/net/wireless/marvell/mwifiex/pcie.c
2556
mwifiex_dbg(adapter, INTR,
drivers/net/wireless/marvell/mwifiex/pcie.c
2558
adapter->cmd_sent = false;
drivers/net/wireless/marvell/mwifiex/pcie.c
2561
ret = mwifiex_pcie_process_cmd_complete(adapter);
drivers/net/wireless/marvell/mwifiex/pcie.c
2566
mwifiex_dbg(adapter, INTR,
drivers/net/wireless/marvell/mwifiex/pcie.c
2568
adapter->cmd_sent, adapter->data_sent);
drivers/net/wireless/marvell/mwifiex/pcie.c
2570
adapter->ps_state != PS_STATE_SLEEP)
drivers/net/wireless/marvell/mwifiex/pcie.c
2571
mwifiex_pcie_enable_host_int(adapter);
drivers/net/wireless/marvell/mwifiex/pcie.c
258
struct pcie_service_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/pcie.c
2586
static int mwifiex_pcie_host_to_card(struct mwifiex_adapter *adapter, u8 type,
drivers/net/wireless/marvell/mwifiex/pcie.c
2591
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/pcie.c
2597
return mwifiex_pcie_send_data(adapter, skb, tx_param);
drivers/net/wireless/marvell/mwifiex/pcie.c
2599
return mwifiex_pcie_send_cmd(adapter, skb);
drivers/net/wireless/marvell/mwifiex/pcie.c
2607
mwifiex_pcie_reg_dump(struct mwifiex_adapter *adapter, char *drv_buf)
drivers/net/wireless/marvell/mwifiex/pcie.c
2613
struct pcie_service_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/pcie.c
2622
mwifiex_dbg(adapter, MSG, "PCIE register dump start\n");
drivers/net/wireless/marvell/mwifiex/pcie.c
2624
if (mwifiex_read_reg(adapter, reg->fw_status, &value)) {
drivers/net/wireless/marvell/mwifiex/pcie.c
2625
mwifiex_dbg(adapter, ERROR, "failed to read firmware status");
drivers/net/wireless/marvell/mwifiex/pcie.c
2630
mwifiex_dbg(adapter, MSG, "pcie scratch register:");
drivers/net/wireless/marvell/mwifiex/pcie.c
2632
mwifiex_read_reg(adapter, pcie_scratch_reg[i], &value);
drivers/net/wireless/marvell/mwifiex/pcie.c
2637
mwifiex_dbg(adapter, MSG, "%s\n", buf);
drivers/net/wireless/marvell/mwifiex/pcie.c
2640
mwifiex_dbg(adapter, MSG, "PCIE register dump end\n");
drivers/net/wireless/marvell/mwifiex/pcie.c
2647
mwifiex_pcie_rdwr_firmware(struct mwifiex_adapter *adapter, u8 doneflag)
drivers/net/wireless/marvell/mwifiex/pcie.c
2652
struct pcie_service_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/pcie.c
2655
if (mwifiex_read_reg(adapter, reg->fw_status, &fw_status))
drivers/net/wireless/marvell/mwifiex/pcie.c
2658
mwifiex_write_reg(adapter, reg->fw_dump_ctrl, reg->fw_dump_host_ready);
drivers/net/wireless/marvell/mwifiex/pcie.c
2661
mwifiex_read_reg_byte(adapter, reg->fw_dump_ctrl, &ctrl_data);
drivers/net/wireless/marvell/mwifiex/pcie.c
2667
mwifiex_dbg(adapter, WARN,
drivers/net/wireless/marvell/mwifiex/pcie.c
2669
mwifiex_write_reg(adapter, reg->fw_dump_ctrl,
drivers/net/wireless/marvell/mwifiex/pcie.c
2675
mwifiex_dbg(adapter, ERROR, "Fail to pull ctrl_data\n");
drivers/net/wireless/marvell/mwifiex/pcie.c
268
static bool mwifiex_pcie_ok_to_access_hw(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/pcie.c
2680
static void mwifiex_pcie_fw_dump(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/pcie.c
2682
struct pcie_service_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/pcie.c
2693
for (idx = 0; idx < adapter->num_mem_types; idx++) {
drivers/net/wireless/marvell/mwifiex/pcie.c
2695
&adapter->mem_type_mapping_tbl[idx];
drivers/net/wireless/marvell/mwifiex/pcie.c
2704
mwifiex_dbg(adapter, MSG, "== mwifiex firmware dump start ==\n");
drivers/net/wireless/marvell/mwifiex/pcie.c
2707
stat = mwifiex_pcie_rdwr_firmware(adapter, doneflag);
drivers/net/wireless/marvell/mwifiex/pcie.c
271
struct pcie_service_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/pcie.c
2712
mwifiex_read_reg_byte(adapter, reg, &fw_dump_num);
drivers/net/wireless/marvell/mwifiex/pcie.c
2723
&adapter->mem_type_mapping_tbl[idx];
drivers/net/wireless/marvell/mwifiex/pcie.c
2726
stat = mwifiex_pcie_rdwr_firmware(adapter, doneflag);
drivers/net/wireless/marvell/mwifiex/pcie.c
2732
mwifiex_read_reg_byte(adapter, reg, &read_reg);
drivers/net/wireless/marvell/mwifiex/pcie.c
2741
mwifiex_dbg(adapter, MSG, "Firmware dump Finished!\n");
drivers/net/wireless/marvell/mwifiex/pcie.c
2742
mwifiex_write_reg(adapter, creg->fw_dump_ctrl,
drivers/net/wireless/marvell/mwifiex/pcie.c
2747
mwifiex_dbg(adapter, DUMP,
drivers/net/wireless/marvell/mwifiex/pcie.c
2752
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/pcie.c
2760
mwifiex_dbg(adapter, DUMP, "Start %s output, please wait...\n",
drivers/net/wireless/marvell/mwifiex/pcie.c
2764
stat = mwifiex_pcie_rdwr_firmware(adapter, doneflag);
drivers/net/wireless/marvell/mwifiex/pcie.c
2771
mwifiex_read_reg_byte(adapter, reg, dbg_ptr);
drivers/net/wireless/marvell/mwifiex/pcie.c
2776
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/pcie.c
279
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/pcie.c
2794
mwifiex_dbg(adapter, DUMP,
drivers/net/wireless/marvell/mwifiex/pcie.c
2800
mwifiex_dbg(adapter, MSG, "== mwifiex firmware dump end ==\n");
drivers/net/wireless/marvell/mwifiex/pcie.c
2803
static void mwifiex_pcie_device_dump_work(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/pcie.c
2805
adapter->devdump_data = vzalloc(MWIFIEX_FW_DUMP_SIZE);
drivers/net/wireless/marvell/mwifiex/pcie.c
2806
if (!adapter->devdump_data) {
drivers/net/wireless/marvell/mwifiex/pcie.c
2807
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/pcie.c
2812
mwifiex_drv_info_dump(adapter);
drivers/net/wireless/marvell/mwifiex/pcie.c
2813
mwifiex_pcie_fw_dump(adapter);
drivers/net/wireless/marvell/mwifiex/pcie.c
2814
mwifiex_prepare_fw_dump_info(adapter);
drivers/net/wireless/marvell/mwifiex/pcie.c
2815
mwifiex_upload_device_dump(adapter);
drivers/net/wireless/marvell/mwifiex/pcie.c
2818
static void mwifiex_pcie_card_reset_work(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/pcie.c
2820
struct pcie_service_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/pcie.c
2835
mwifiex_pcie_device_dump_work(card->adapter);
drivers/net/wireless/marvell/mwifiex/pcie.c
2838
mwifiex_pcie_card_reset_work(card->adapter);
drivers/net/wireless/marvell/mwifiex/pcie.c
2842
static void mwifiex_pcie_device_dump(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/pcie.c
2844
struct pcie_service_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/pcie.c
2851
static void mwifiex_pcie_card_reset(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/pcie.c
2853
struct pcie_service_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/pcie.c
2859
static int mwifiex_pcie_alloc_buffers(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/pcie.c
2861
struct pcie_service_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/pcie.c
2866
ret = mwifiex_pcie_create_txbd_ring(adapter);
drivers/net/wireless/marvell/mwifiex/pcie.c
2868
mwifiex_dbg(adapter, ERROR, "Failed to create txbd ring\n");
drivers/net/wireless/marvell/mwifiex/pcie.c
2872
ret = mwifiex_pcie_create_rxbd_ring(adapter);
drivers/net/wireless/marvell/mwifiex/pcie.c
2874
mwifiex_dbg(adapter, ERROR, "Failed to create rxbd ring\n");
drivers/net/wireless/marvell/mwifiex/pcie.c
2878
ret = mwifiex_pcie_create_evtbd_ring(adapter);
drivers/net/wireless/marvell/mwifiex/pcie.c
2880
mwifiex_dbg(adapter, ERROR, "Failed to create evtbd ring\n");
drivers/net/wireless/marvell/mwifiex/pcie.c
2884
ret = mwifiex_pcie_alloc_cmdrsp_buf(adapter);
drivers/net/wireless/marvell/mwifiex/pcie.c
2886
mwifiex_dbg(adapter, ERROR, "Failed to allocate cmdbuf buffer\n");
drivers/net/wireless/marvell/mwifiex/pcie.c
2891
ret = mwifiex_pcie_alloc_sleep_cookie_buf(adapter);
drivers/net/wireless/marvell/mwifiex/pcie.c
2893
mwifiex_dbg(adapter, ERROR, "Failed to allocate sleep_cookie buffer\n");
drivers/net/wireless/marvell/mwifiex/pcie.c
2903
mwifiex_pcie_delete_cmdrsp_buf(adapter);
drivers/net/wireless/marvell/mwifiex/pcie.c
2905
mwifiex_pcie_delete_evtbd_ring(adapter);
drivers/net/wireless/marvell/mwifiex/pcie.c
2907
mwifiex_pcie_delete_rxbd_ring(adapter);
drivers/net/wireless/marvell/mwifiex/pcie.c
2909
mwifiex_pcie_delete_txbd_ring(adapter);
drivers/net/wireless/marvell/mwifiex/pcie.c
2914
static void mwifiex_pcie_free_buffers(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/pcie.c
2916
struct pcie_service_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/pcie.c
2920
mwifiex_pcie_delete_sleep_cookie_buf(adapter);
drivers/net/wireless/marvell/mwifiex/pcie.c
2922
mwifiex_pcie_delete_cmdrsp_buf(adapter);
drivers/net/wireless/marvell/mwifiex/pcie.c
2923
mwifiex_pcie_delete_evtbd_ring(adapter);
drivers/net/wireless/marvell/mwifiex/pcie.c
2924
mwifiex_pcie_delete_rxbd_ring(adapter);
drivers/net/wireless/marvell/mwifiex/pcie.c
2925
mwifiex_pcie_delete_txbd_ring(adapter);
drivers/net/wireless/marvell/mwifiex/pcie.c
2931
static int mwifiex_init_pcie(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/pcie.c
2933
struct pcie_service_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/pcie.c
2977
ret = mwifiex_pcie_alloc_buffers(adapter);
drivers/net/wireless/marvell/mwifiex/pcie.c
2982
adapter->ignore_btcoex_events = true;
drivers/net/wireless/marvell/mwifiex/pcie.c
300
struct mwifiex_adapter *adapter;
drivers/net/wireless/marvell/mwifiex/pcie.c
3004
static void mwifiex_cleanup_pcie(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/pcie.c
3006
struct pcie_service_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/pcie.c
3017
mwifiex_dbg(adapter, MSG, "performing cancel_work_sync()...\n");
drivers/net/wireless/marvell/mwifiex/pcie.c
3019
mwifiex_dbg(adapter, MSG, "cancel_work_sync() done\n");
drivers/net/wireless/marvell/mwifiex/pcie.c
3021
mwifiex_dbg(adapter, MSG,
drivers/net/wireless/marvell/mwifiex/pcie.c
3025
mwifiex_read_reg(adapter, reg->fw_status, &fw_status);
drivers/net/wireless/marvell/mwifiex/pcie.c
3027
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/pcie.c
3029
mwifiex_write_reg(adapter, reg->drv_rdy, 0x00000000);
drivers/net/wireless/marvell/mwifiex/pcie.c
3039
mwifiex_pcie_free_buffers(adapter);
drivers/net/wireless/marvell/mwifiex/pcie.c
3042
static int mwifiex_pcie_request_irq(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/pcie.c
3045
struct pcie_service_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/pcie.c
3067
mwifiex_dbg(adapter, INFO, "request_irq fail: %d\n",
drivers/net/wireless/marvell/mwifiex/pcie.c
307
adapter = card->adapter;
drivers/net/wireless/marvell/mwifiex/pcie.c
3074
mwifiex_dbg(adapter, MSG, "MSIx enabled!");
drivers/net/wireless/marvell/mwifiex/pcie.c
308
if (!adapter) {
drivers/net/wireless/marvell/mwifiex/pcie.c
3086
mwifiex_dbg(adapter, INFO, "msi_enable = %d\n", card->msi_enable);
drivers/net/wireless/marvell/mwifiex/pcie.c
3105
static void mwifiex_pcie_get_fw_name(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/pcie.c
3109
struct pcie_service_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/pcie.c
3113
strcpy(adapter->fw_name, PCIE8766_DEFAULT_FW_NAME);
drivers/net/wireless/marvell/mwifiex/pcie.c
3116
mwifiex_write_reg(adapter, 0x0c58, 0x80c00000);
drivers/net/wireless/marvell/mwifiex/pcie.c
3117
mwifiex_read_reg(adapter, 0x0c58, &revision_id);
drivers/net/wireless/marvell/mwifiex/pcie.c
3121
strcpy(adapter->fw_name, PCIE8897_A0_FW_NAME);
drivers/net/wireless/marvell/mwifiex/pcie.c
3124
strcpy(adapter->fw_name, PCIE8897_B0_FW_NAME);
drivers/net/wireless/marvell/mwifiex/pcie.c
3127
strcpy(adapter->fw_name, PCIE8897_DEFAULT_FW_NAME);
drivers/net/wireless/marvell/mwifiex/pcie.c
313
mwifiex_enable_wake(adapter);
drivers/net/wireless/marvell/mwifiex/pcie.c
3133
mwifiex_read_reg(adapter, 0x8, &revision_id);
drivers/net/wireless/marvell/mwifiex/pcie.c
3134
mwifiex_read_reg(adapter, 0x0cd0, &version);
drivers/net/wireless/marvell/mwifiex/pcie.c
3135
mwifiex_read_reg(adapter, 0x0cd4, &magic);
drivers/net/wireless/marvell/mwifiex/pcie.c
3142
strcpy(adapter->fw_name, PCIEUART8997_FW_NAME_V4);
drivers/net/wireless/marvell/mwifiex/pcie.c
3144
strcpy(adapter->fw_name, PCIEUSB8997_FW_NAME_V4);
drivers/net/wireless/marvell/mwifiex/pcie.c
3156
static int mwifiex_register_dev(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/pcie.c
3158
struct pcie_service_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/pcie.c
316
if (!mwifiex_enable_hs(adapter)) {
drivers/net/wireless/marvell/mwifiex/pcie.c
3161
card->adapter = adapter;
drivers/net/wireless/marvell/mwifiex/pcie.c
3163
if (mwifiex_pcie_request_irq(adapter))
drivers/net/wireless/marvell/mwifiex/pcie.c
3166
adapter->tx_buf_size = card->pcie.tx_buf_size;
drivers/net/wireless/marvell/mwifiex/pcie.c
3167
adapter->mem_type_mapping_tbl = card->pcie.mem_type_mapping_tbl;
drivers/net/wireless/marvell/mwifiex/pcie.c
3168
adapter->num_mem_types = card->pcie.num_mem_types;
drivers/net/wireless/marvell/mwifiex/pcie.c
3169
adapter->ext_scan = card->pcie.can_ext_scan;
drivers/net/wireless/marvell/mwifiex/pcie.c
317
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/pcie.c
3170
mwifiex_pcie_get_fw_name(adapter);
drivers/net/wireless/marvell/mwifiex/pcie.c
3181
static void mwifiex_unregister_dev(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/pcie.c
3183
struct pcie_service_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/pcie.c
319
clear_bit(MWIFIEX_IS_HS_ENABLING, &adapter->work_flags);
drivers/net/wireless/marvell/mwifiex/pcie.c
3198
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/pcie.c
320
mwifiex_disable_wake(adapter);
drivers/net/wireless/marvell/mwifiex/pcie.c
3205
card->adapter = NULL;
drivers/net/wireless/marvell/mwifiex/pcie.c
3212
static void mwifiex_pcie_up_dev(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/pcie.c
3214
struct pcie_service_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/pcie.c
3220
adapter->tx_buf_size = card->pcie.tx_buf_size;
drivers/net/wireless/marvell/mwifiex/pcie.c
3222
mwifiex_pcie_alloc_buffers(adapter);
drivers/net/wireless/marvell/mwifiex/pcie.c
3228
static void mwifiex_pcie_down_dev(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/pcie.c
3230
struct pcie_service_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/pcie.c
3234
mwifiex_write_reg(adapter, reg->drv_rdy, 0x00000000);
drivers/net/wireless/marvell/mwifiex/pcie.c
3238
adapter->seq_num = 0;
drivers/net/wireless/marvell/mwifiex/pcie.c
324
flush_workqueue(adapter->workqueue);
drivers/net/wireless/marvell/mwifiex/pcie.c
3240
mwifiex_pcie_free_buffers(adapter);
drivers/net/wireless/marvell/mwifiex/pcie.c
327
set_bit(MWIFIEX_IS_SUSPENDED, &adapter->work_flags);
drivers/net/wireless/marvell/mwifiex/pcie.c
328
clear_bit(MWIFIEX_IS_HS_ENABLING, &adapter->work_flags);
drivers/net/wireless/marvell/mwifiex/pcie.c
343
struct mwifiex_adapter *adapter;
drivers/net/wireless/marvell/mwifiex/pcie.c
347
if (!card->adapter) {
drivers/net/wireless/marvell/mwifiex/pcie.c
352
adapter = card->adapter;
drivers/net/wireless/marvell/mwifiex/pcie.c
354
if (!test_bit(MWIFIEX_IS_SUSPENDED, &adapter->work_flags)) {
drivers/net/wireless/marvell/mwifiex/pcie.c
355
mwifiex_dbg(adapter, WARN,
drivers/net/wireless/marvell/mwifiex/pcie.c
360
clear_bit(MWIFIEX_IS_SUSPENDED, &adapter->work_flags);
drivers/net/wireless/marvell/mwifiex/pcie.c
362
mwifiex_cancel_hs(mwifiex_get_priv(adapter, MWIFIEX_BSS_ROLE_STA),
drivers/net/wireless/marvell/mwifiex/pcie.c
364
mwifiex_disable_wake(adapter);
drivers/net/wireless/marvell/mwifiex/pcie.c
430
struct mwifiex_adapter *adapter;
drivers/net/wireless/marvell/mwifiex/pcie.c
439
adapter = card->adapter;
drivers/net/wireless/marvell/mwifiex/pcie.c
440
if (!adapter || !adapter->priv_num)
drivers/net/wireless/marvell/mwifiex/pcie.c
445
mwifiex_read_reg(adapter, reg->fw_status, &fw_status);
drivers/net/wireless/marvell/mwifiex/pcie.c
449
if (fw_status == FIRMWARE_READY_PCIE && !adapter->mfg_mode) {
drivers/net/wireless/marvell/mwifiex/pcie.c
450
mwifiex_deauthenticate_all(adapter);
drivers/net/wireless/marvell/mwifiex/pcie.c
452
priv = mwifiex_get_priv(adapter, MWIFIEX_BSS_ROLE_ANY);
drivers/net/wireless/marvell/mwifiex/pcie.c
459
mwifiex_remove_card(adapter);
drivers/net/wireless/marvell/mwifiex/pcie.c
514
struct mwifiex_adapter *adapter = card->adapter;
drivers/net/wireless/marvell/mwifiex/pcie.c
516
if (!adapter) {
drivers/net/wireless/marvell/mwifiex/pcie.c
522
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/pcie.c
526
mwifiex_shutdown_sw(adapter);
drivers/net/wireless/marvell/mwifiex/pcie.c
536
mwifiex_dbg(adapter, INFO, "%s, successful\n", __func__);
drivers/net/wireless/marvell/mwifiex/pcie.c
549
struct mwifiex_adapter *adapter = card->adapter;
drivers/net/wireless/marvell/mwifiex/pcie.c
552
if (!adapter) {
drivers/net/wireless/marvell/mwifiex/pcie.c
558
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/pcie.c
562
ret = mwifiex_reinit_sw(adapter);
drivers/net/wireless/marvell/mwifiex/pcie.c
566
mwifiex_dbg(adapter, INFO, "%s, successful\n", __func__);
drivers/net/wireless/marvell/mwifiex/pcie.c
601
static void mwifiex_pcie_dev_wakeup_delay(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/pcie.c
605
while (mwifiex_pcie_ok_to_access_hw(adapter)) {
drivers/net/wireless/marvell/mwifiex/pcie.c
616
static void mwifiex_delay_for_sleep_cookie(struct mwifiex_adapter *adapter,
drivers/net/wireless/marvell/mwifiex/pcie.c
619
struct pcie_service_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/pcie.c
632
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/pcie.c
644
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/pcie.c
652
static int mwifiex_pm_wakeup_card(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/pcie.c
654
struct pcie_service_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/pcie.c
658
mwifiex_dbg(adapter, EVENT,
drivers/net/wireless/marvell/mwifiex/pcie.c
662
mwifiex_pcie_dev_wakeup_delay(adapter);
drivers/net/wireless/marvell/mwifiex/pcie.c
669
READ_ONCE(adapter->int_status) != 0,
drivers/net/wireless/marvell/mwifiex/pcie.c
672
adapter, reg->fw_status, FIRMWARE_READY_PCIE)) {
drivers/net/wireless/marvell/mwifiex/pcie.c
674
READ_ONCE(adapter->int_status) != 0,
drivers/net/wireless/marvell/mwifiex/pcie.c
677
adapter, reg->fw_status, FIRMWARE_READY_PCIE)) {
drivers/net/wireless/marvell/mwifiex/pcie.c
678
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/pcie.c
685
mwifiex_pcie_dev_wakeup_delay(adapter);
drivers/net/wireless/marvell/mwifiex/pcie.c
686
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/pcie.c
688
adapter->ps_state = PS_STATE_AWAKE;
drivers/net/wireless/marvell/mwifiex/pcie.c
699
static int mwifiex_pm_wakeup_card_complete(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/pcie.c
701
mwifiex_dbg(adapter, CMD,
drivers/net/wireless/marvell/mwifiex/pcie.c
713
static void mwifiex_pcie_disable_host_int(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/pcie.c
715
if (mwifiex_pcie_ok_to_access_hw(adapter))
drivers/net/wireless/marvell/mwifiex/pcie.c
716
mwifiex_write_reg(adapter, PCIE_HOST_INT_MASK, 0x00000000);
drivers/net/wireless/marvell/mwifiex/pcie.c
718
atomic_set(&adapter->tx_hw_pending, 0);
drivers/net/wireless/marvell/mwifiex/pcie.c
727
static int mwifiex_pcie_enable_host_int(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/pcie.c
729
if (mwifiex_pcie_ok_to_access_hw(adapter))
drivers/net/wireless/marvell/mwifiex/pcie.c
731
mwifiex_write_reg(adapter, PCIE_HOST_INT_MASK, HOST_INTR_MASK);
drivers/net/wireless/marvell/mwifiex/pcie.c
739
static int mwifiex_init_txq_ring(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/pcie.c
741
struct pcie_service_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/pcie.c
769
static int mwifiex_init_rxq_ring(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/pcie.c
771
struct pcie_service_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/pcie.c
784
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/pcie.c
789
if (mwifiex_map_pci_memory(adapter, skb,
drivers/net/wireless/marvell/mwifiex/pcie.c
798
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/pcie.c
830
static int mwifiex_pcie_init_evt_ring(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/pcie.c
832
struct pcie_service_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/pcie.c
842
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/pcie.c
848
if (mwifiex_map_pci_memory(adapter, skb, MAX_EVENT_SIZE,
drivers/net/wireless/marvell/mwifiex/pcie.c
856
mwifiex_dbg(adapter, EVENT,
drivers/net/wireless/marvell/mwifiex/pcie.c
876
static void mwifiex_cleanup_txq_ring(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/pcie.c
878
struct pcie_service_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/pcie.c
890
mwifiex_unmap_pci_memory(adapter, skb,
drivers/net/wireless/marvell/mwifiex/pcie.c
899
mwifiex_unmap_pci_memory(adapter, skb,
drivers/net/wireless/marvell/mwifiex/pcie.c
908
atomic_set(&adapter->tx_hw_pending, 0);
drivers/net/wireless/marvell/mwifiex/pcie.c
915
static void mwifiex_cleanup_rxq_ring(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/pcie.c
917
struct pcie_service_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/pcie.c
929
mwifiex_unmap_pci_memory(adapter, skb,
drivers/net/wireless/marvell/mwifiex/pcie.c
938
mwifiex_unmap_pci_memory(adapter, skb,
drivers/net/wireless/marvell/mwifiex/pcie.c
953
static void mwifiex_cleanup_evt_ring(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/pcie.c
955
struct pcie_service_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/pcie.c
964
mwifiex_unmap_pci_memory(adapter, skb,
drivers/net/wireless/marvell/mwifiex/pcie.c
977
static int mwifiex_pcie_create_txbd_ring(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/pcie.c
979
struct pcie_service_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/pcie.h
189
struct mwifiex_adapter *adapter;
drivers/net/wireless/marvell/mwifiex/scan.c
1010
if (ISSUPP_11NENABLED(priv->adapter->fw_cap_info) &&
drivers/net/wireless/marvell/mwifiex/scan.c
1011
(priv->adapter->config_bands & BAND_GN ||
drivers/net/wireless/marvell/mwifiex/scan.c
1012
priv->adapter->config_bands & BAND_AN)) {
drivers/net/wireless/marvell/mwifiex/scan.c
1019
mwifiex_band_to_radio_type(priv->adapter->config_bands);
drivers/net/wireless/marvell/mwifiex/scan.c
1038
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/scan.c
1071
scan_dur = adapter->passive_scan_time;
drivers/net/wireless/marvell/mwifiex/scan.c
1073
scan_dur = adapter->specific_scan_time;
drivers/net/wireless/marvell/mwifiex/scan.c
1075
scan_dur = adapter->active_scan_time;
drivers/net/wireless/marvell/mwifiex/scan.c
1089
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/scan.c
1093
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/scan.c
1112
mwifiex_ret_802_11_scan_get_tlv_ptrs(struct mwifiex_adapter *adapter,
drivers/net/wireless/marvell/mwifiex/scan.c
1126
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/scan.c
1136
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/scan.c
1144
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/scan.c
1151
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/scan.c
1158
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/scan.c
1182
int mwifiex_update_bss_desc_with_ie(struct mwifiex_adapter *adapter,
drivers/net/wireless/marvell/mwifiex/scan.c
1214
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/scan.c
1226
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/scan.c
1474
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/scan.c
1483
if (adapter->scan_processing) {
drivers/net/wireless/marvell/mwifiex/scan.c
1484
mwifiex_dbg(adapter, WARN,
drivers/net/wireless/marvell/mwifiex/scan.c
1490
mwifiex_dbg(adapter, WARN,
drivers/net/wireless/marvell/mwifiex/scan.c
1495
if (test_bit(MWIFIEX_SURPRISE_REMOVED, &adapter->work_flags) ||
drivers/net/wireless/marvell/mwifiex/scan.c
1496
test_bit(MWIFIEX_IS_CMD_TIMEDOUT, &adapter->work_flags)) {
drivers/net/wireless/marvell/mwifiex/scan.c
1497
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/scan.c
1502
spin_lock_bh(&adapter->mwifiex_cmd_lock);
drivers/net/wireless/marvell/mwifiex/scan.c
1503
adapter->scan_processing = true;
drivers/net/wireless/marvell/mwifiex/scan.c
1504
spin_unlock_bh(&adapter->mwifiex_cmd_lock);
drivers/net/wireless/marvell/mwifiex/scan.c
1530
spin_lock_bh(&adapter->scan_pending_q_lock);
drivers/net/wireless/marvell/mwifiex/scan.c
1531
if (!list_empty(&adapter->scan_pending_q)) {
drivers/net/wireless/marvell/mwifiex/scan.c
1532
cmd_node = list_first_entry(&adapter->scan_pending_q,
drivers/net/wireless/marvell/mwifiex/scan.c
1535
spin_unlock_bh(&adapter->scan_pending_q_lock);
drivers/net/wireless/marvell/mwifiex/scan.c
1536
mwifiex_insert_cmd_to_pending_q(adapter, cmd_node);
drivers/net/wireless/marvell/mwifiex/scan.c
1537
queue_work(adapter->workqueue, &adapter->main_work);
drivers/net/wireless/marvell/mwifiex/scan.c
1541
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/scan.c
1543
mwifiex_wait_queue_complete(adapter, cmd_node);
drivers/net/wireless/marvell/mwifiex/scan.c
1546
spin_unlock_bh(&adapter->scan_pending_q_lock);
drivers/net/wireless/marvell/mwifiex/scan.c
1554
spin_lock_bh(&adapter->mwifiex_cmd_lock);
drivers/net/wireless/marvell/mwifiex/scan.c
1555
adapter->scan_processing = false;
drivers/net/wireless/marvell/mwifiex/scan.c
1556
spin_unlock_bh(&adapter->mwifiex_cmd_lock);
drivers/net/wireless/marvell/mwifiex/scan.c
1616
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/scan.c
1660
mwifiex_dbg(priv->adapter, INFO, "found hidden SSID\n");
drivers/net/wireless/marvell/mwifiex/scan.c
1731
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/scan.c
1778
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/scan.c
1792
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/scan.c
1806
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/scan.c
1813
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/scan.c
1824
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/scan.c
1845
mwifiex_dbg(adapter, WARN,
drivers/net/wireless/marvell/mwifiex/scan.c
1880
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/scan.c
1891
mwifiex_dbg(adapter, WARN, "missing BSS channel IE\n");
drivers/net/wireless/marvell/mwifiex/scan.c
1899
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/scan.c
1901
adapter->survey_idx = 0;
drivers/net/wireless/marvell/mwifiex/scan.c
1902
if (adapter->curr_cmd->wait_q_enabled) {
drivers/net/wireless/marvell/mwifiex/scan.c
1903
adapter->cmd_wait_q.status = 0;
drivers/net/wireless/marvell/mwifiex/scan.c
1905
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/scan.c
1907
mwifiex_complete_cmd(adapter, adapter->curr_cmd);
drivers/net/wireless/marvell/mwifiex/scan.c
1919
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/scan.c
1923
if (adapter->active_scan_triggered || !priv->scan_request ||
drivers/net/wireless/marvell/mwifiex/scan.c
1925
adapter->active_scan_triggered = false;
drivers/net/wireless/marvell/mwifiex/scan.c
1930
mwifiex_dbg(adapter, INFO, "No BSS with hidden SSID found on DFS channels\n");
drivers/net/wireless/marvell/mwifiex/scan.c
1946
adapter->active_scan_triggered = true;
drivers/net/wireless/marvell/mwifiex/scan.c
1959
dev_err(priv->adapter->dev, "scan failed: %d\n", ret);
drivers/net/wireless/marvell/mwifiex/scan.c
1967
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/scan.c
1970
spin_lock_bh(&adapter->scan_pending_q_lock);
drivers/net/wireless/marvell/mwifiex/scan.c
1971
if (list_empty(&adapter->scan_pending_q)) {
drivers/net/wireless/marvell/mwifiex/scan.c
1972
spin_unlock_bh(&adapter->scan_pending_q_lock);
drivers/net/wireless/marvell/mwifiex/scan.c
1974
spin_lock_bh(&adapter->mwifiex_cmd_lock);
drivers/net/wireless/marvell/mwifiex/scan.c
1975
adapter->scan_processing = false;
drivers/net/wireless/marvell/mwifiex/scan.c
1976
spin_unlock_bh(&adapter->mwifiex_cmd_lock);
drivers/net/wireless/marvell/mwifiex/scan.c
1980
if (!adapter->ext_scan)
drivers/net/wireless/marvell/mwifiex/scan.c
1988
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/scan.c
1995
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/scan.c
2000
spin_unlock_bh(&adapter->scan_pending_q_lock);
drivers/net/wireless/marvell/mwifiex/scan.c
2002
mwifiex_cancel_pending_scan_cmd(adapter);
drivers/net/wireless/marvell/mwifiex/scan.c
2004
spin_lock_bh(&adapter->mwifiex_cmd_lock);
drivers/net/wireless/marvell/mwifiex/scan.c
2005
adapter->scan_processing = false;
drivers/net/wireless/marvell/mwifiex/scan.c
2006
spin_unlock_bh(&adapter->mwifiex_cmd_lock);
drivers/net/wireless/marvell/mwifiex/scan.c
2008
if (!adapter->active_scan_triggered) {
drivers/net/wireless/marvell/mwifiex/scan.c
2014
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/scan.c
2021
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/scan.c
2029
cmd_node = list_first_entry(&adapter->scan_pending_q,
drivers/net/wireless/marvell/mwifiex/scan.c
2032
spin_unlock_bh(&adapter->scan_pending_q_lock);
drivers/net/wireless/marvell/mwifiex/scan.c
2033
mwifiex_insert_cmd_to_pending_q(adapter, cmd_node);
drivers/net/wireless/marvell/mwifiex/scan.c
2039
void mwifiex_cancel_scan(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/scan.c
2044
mwifiex_cancel_pending_scan_cmd(adapter);
drivers/net/wireless/marvell/mwifiex/scan.c
2046
if (adapter->scan_processing) {
drivers/net/wireless/marvell/mwifiex/scan.c
2047
spin_lock_bh(&adapter->mwifiex_cmd_lock);
drivers/net/wireless/marvell/mwifiex/scan.c
2048
adapter->scan_processing = false;
drivers/net/wireless/marvell/mwifiex/scan.c
2049
spin_unlock_bh(&adapter->mwifiex_cmd_lock);
drivers/net/wireless/marvell/mwifiex/scan.c
2050
for (i = 0; i < adapter->priv_num; i++) {
drivers/net/wireless/marvell/mwifiex/scan.c
2051
priv = adapter->priv[i];
drivers/net/wireless/marvell/mwifiex/scan.c
2057
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/scan.c
2090
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/scan.c
2116
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/scan.c
2127
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/scan.c
2133
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/scan.c
2156
mwifiex_ret_802_11_scan_get_tlv_ptrs(adapter, tlv_data, tlv_buf_size,
drivers/net/wireless/marvell/mwifiex/scan.c
2163
mwifiex_ret_802_11_scan_get_tlv_ptrs(adapter, tlv_data, tlv_buf_size,
drivers/net/wireless/marvell/mwifiex/scan.c
2174
adapter->nd_info =
drivers/net/wireless/marvell/mwifiex/scan.c
2175
kzalloc_flex(*adapter->nd_info, matches,
drivers/net/wireless/marvell/mwifiex/scan.c
2178
if (adapter->nd_info)
drivers/net/wireless/marvell/mwifiex/scan.c
2179
adapter->nd_info->n_matches = scan_rsp->number_of_sets;
drivers/net/wireless/marvell/mwifiex/scan.c
2200
if (chan_band_tlv && adapter->nd_info) {
drivers/net/wireless/marvell/mwifiex/scan.c
2201
adapter->nd_info->matches[idx] =
drivers/net/wireless/marvell/mwifiex/scan.c
2205
pmatch = adapter->nd_info->matches[idx];
drivers/net/wireless/marvell/mwifiex/scan.c
2291
num_probes : priv->adapter->scan_probes);
drivers/net/wireless/marvell/mwifiex/scan.c
2364
dev_dbg(priv->adapter->dev, "info: bgscan: Using supplied channel list\n");
drivers/net/wireless/marvell/mwifiex/scan.c
2399
priv->adapter->passive_scan_time :
drivers/net/wireless/marvell/mwifiex/scan.c
2400
priv->adapter->specific_scan_time;
drivers/net/wireless/marvell/mwifiex/scan.c
2407
dev_dbg(priv->adapter->dev,
drivers/net/wireless/marvell/mwifiex/scan.c
2448
dev_dbg(priv->adapter->dev, "bgscan already stopped!\n");
drivers/net/wireless/marvell/mwifiex/scan.c
2476
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/scan.c
2487
if (adapter->survey_idx >= adapter->num_in_chan_stats) {
drivers/net/wireless/marvell/mwifiex/scan.c
2488
mwifiex_dbg(adapter, WARN,
drivers/net/wireless/marvell/mwifiex/scan.c
2490
adapter->num_in_chan_stats);
drivers/net/wireless/marvell/mwifiex/scan.c
2502
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/scan.c
2509
memcpy(&adapter->chan_stats[adapter->survey_idx++], &chan_stats,
drivers/net/wireless/marvell/mwifiex/scan.c
2519
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/scan.c
2529
mwifiex_dbg(adapter, INFO, "info: EXT scan returns successfully\n");
drivers/net/wireless/marvell/mwifiex/scan.c
2541
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/scan.c
2560
spin_lock_bh(&adapter->cmd_pending_q_lock);
drivers/net/wireless/marvell/mwifiex/scan.c
2561
spin_lock_bh(&adapter->scan_pending_q_lock);
drivers/net/wireless/marvell/mwifiex/scan.c
2562
if (list_empty(&adapter->scan_pending_q)) {
drivers/net/wireless/marvell/mwifiex/scan.c
2564
list_for_each_entry(cmd_node, &adapter->cmd_pending_q, list) {
drivers/net/wireless/marvell/mwifiex/scan.c
2568
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/scan.c
2575
spin_unlock_bh(&adapter->scan_pending_q_lock);
drivers/net/wireless/marvell/mwifiex/scan.c
2576
spin_unlock_bh(&adapter->cmd_pending_q_lock);
drivers/net/wireless/marvell/mwifiex/scan.c
2591
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/scan.c
2607
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/scan.c
2615
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/scan.c
2618
mwifiex_dbg_dump(adapter, CMD_D, "EXT_SCAN buffer:", buf,
drivers/net/wireless/marvell/mwifiex/scan.c
2628
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/scan.c
2655
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/scan.c
2697
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/scan.c
2747
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/scan.c
2750
cmd_node->condition = &adapter->scan_wait_q_woken;
drivers/net/wireless/marvell/mwifiex/scan.c
2751
spin_lock_bh(&adapter->scan_pending_q_lock);
drivers/net/wireless/marvell/mwifiex/scan.c
2752
list_add_tail(&cmd_node->list, &adapter->scan_pending_q);
drivers/net/wireless/marvell/mwifiex/scan.c
2753
spin_unlock_bh(&adapter->scan_pending_q_lock);
drivers/net/wireless/marvell/mwifiex/scan.c
2763
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/scan.c
2767
if (adapter->scan_processing) {
drivers/net/wireless/marvell/mwifiex/scan.c
2768
mwifiex_dbg(adapter, WARN,
drivers/net/wireless/marvell/mwifiex/scan.c
2774
mwifiex_dbg(adapter, WARN,
drivers/net/wireless/marvell/mwifiex/scan.c
2807
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/scan.c
2813
priv->adapter->scan_wait_q_woken = false;
drivers/net/wireless/marvell/mwifiex/scan.c
2858
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/scan.c
2906
mwifiex_dbg(priv->adapter, INFO,
drivers/net/wireless/marvell/mwifiex/scan.c
331
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/scan.c
342
mwifiex_dbg(adapter, IOCTL,
drivers/net/wireless/marvell/mwifiex/scan.c
348
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/scan.c
354
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/scan.c
365
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/scan.c
371
if (((priv->adapter->config_bands & BAND_GN ||
drivers/net/wireless/marvell/mwifiex/scan.c
372
priv->adapter->config_bands & BAND_AN) &&
drivers/net/wireless/marvell/mwifiex/scan.c
379
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/scan.c
390
if (((priv->adapter->config_bands & BAND_GN ||
drivers/net/wireless/marvell/mwifiex/scan.c
391
priv->adapter->config_bands & BAND_AN) &&
drivers/net/wireless/marvell/mwifiex/scan.c
398
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/scan.c
442
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/scan.c
466
cpu_to_le16(adapter->passive_scan_time);
drivers/net/wireless/marvell/mwifiex/scan.c
469
cpu_to_le16(adapter->active_scan_time);
drivers/net/wireless/marvell/mwifiex/scan.c
488
cpu_to_le16(adapter->specific_scan_time);
drivers/net/wireless/marvell/mwifiex/scan.c
510
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/scan.c
531
cpu_to_le16(adapter->passive_scan_time);
drivers/net/wireless/marvell/mwifiex/scan.c
534
cpu_to_le16(adapter->
drivers/net/wireless/marvell/mwifiex/scan.c
572
mwifiex_dbg(priv->adapter, CMD,
drivers/net/wireless/marvell/mwifiex/scan.c
601
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/scan.c
610
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/scan.c
654
mwifiex_dbg(priv->adapter, INFO,
drivers/net/wireless/marvell/mwifiex/scan.c
72
_mwifiex_dbg(priv->adapter, log_level,
drivers/net/wireless/marvell/mwifiex/scan.c
727
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/scan.c
741
if (priv->adapter->ext_scan)
drivers/net/wireless/marvell/mwifiex/scan.c
757
mwifiex_cancel_pending_scan_cmd(adapter);
drivers/net/wireless/marvell/mwifiex/scan.c
797
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/scan.c
848
(u8)(user_scan_in->bss_mode ?: adapter->scan_mode);
drivers/net/wireless/marvell/mwifiex/scan.c
852
num_probes = user_scan_in->num_probes ?: adapter->scan_probes;
drivers/net/wireless/marvell/mwifiex/scan.c
865
if (adapter->ext_scan &&
drivers/net/wireless/marvell/mwifiex/scan.c
910
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/scan.c
935
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/scan.c
964
scan_cfg_out->bss_mode = (u8) adapter->scan_mode;
drivers/net/wireless/marvell/mwifiex/scan.c
965
num_probes = adapter->scan_probes;
drivers/net/wireless/marvell/mwifiex/scan.c
982
if (adapter->ext_scan) {
drivers/net/wireless/marvell/mwifiex/scan.c
995
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/sdio.c
1004
static int mwifiex_pm_wakeup_card(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/sdio.c
1006
mwifiex_dbg(adapter, EVENT,
drivers/net/wireless/marvell/mwifiex/sdio.c
1009
return mwifiex_write_reg(adapter, CONFIGURATION_REG, HOST_POWER_UP);
drivers/net/wireless/marvell/mwifiex/sdio.c
1017
static int mwifiex_pm_wakeup_card_complete(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/sdio.c
1019
mwifiex_dbg(adapter, EVENT,
drivers/net/wireless/marvell/mwifiex/sdio.c
1022
return mwifiex_write_reg(adapter, CONFIGURATION_REG, 0);
drivers/net/wireless/marvell/mwifiex/sdio.c
1025
static int mwifiex_sdio_dnld_fw(struct mwifiex_adapter *adapter,
drivers/net/wireless/marvell/mwifiex/sdio.c
1028
struct sdio_mmc_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/sdio.c
1032
ret = mwifiex_dnld_fw(adapter, fw);
drivers/net/wireless/marvell/mwifiex/sdio.c
1042
static int mwifiex_init_sdio_new_mode(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/sdio.c
1045
struct sdio_mmc_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/sdio.c
1047
adapter->ioport = MEM_PORT;
drivers/net/wireless/marvell/mwifiex/sdio.c
1050
if (mwifiex_read_reg(adapter, card->reg->card_cfg_2_1_reg, ®))
drivers/net/wireless/marvell/mwifiex/sdio.c
1052
if (mwifiex_write_reg(adapter, card->reg->card_cfg_2_1_reg,
drivers/net/wireless/marvell/mwifiex/sdio.c
1057
if (mwifiex_read_reg(adapter, card->reg->cmd_cfg_0, ®))
drivers/net/wireless/marvell/mwifiex/sdio.c
1059
if (mwifiex_write_reg(adapter, card->reg->cmd_cfg_0,
drivers/net/wireless/marvell/mwifiex/sdio.c
1066
if (mwifiex_read_reg(adapter, card->reg->cmd_cfg_1, ®))
drivers/net/wireless/marvell/mwifiex/sdio.c
1068
if (mwifiex_write_reg(adapter, card->reg->cmd_cfg_1,
drivers/net/wireless/marvell/mwifiex/sdio.c
1082
static int mwifiex_init_sdio_ioport(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/sdio.c
1085
struct sdio_mmc_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/sdio.c
1087
adapter->ioport = 0;
drivers/net/wireless/marvell/mwifiex/sdio.c
1090
if (mwifiex_init_sdio_new_mode(adapter))
drivers/net/wireless/marvell/mwifiex/sdio.c
1096
if (!mwifiex_read_reg(adapter, card->reg->io_port_0_reg, ®))
drivers/net/wireless/marvell/mwifiex/sdio.c
1097
adapter->ioport |= (reg & 0xff);
drivers/net/wireless/marvell/mwifiex/sdio.c
1101
if (!mwifiex_read_reg(adapter, card->reg->io_port_1_reg, ®))
drivers/net/wireless/marvell/mwifiex/sdio.c
1102
adapter->ioport |= ((reg & 0xff) << 8);
drivers/net/wireless/marvell/mwifiex/sdio.c
1106
if (!mwifiex_read_reg(adapter, card->reg->io_port_2_reg, ®))
drivers/net/wireless/marvell/mwifiex/sdio.c
1107
adapter->ioport |= ((reg & 0xff) << 16);
drivers/net/wireless/marvell/mwifiex/sdio.c
1111
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/sdio.c
1112
"info: SDIO FUNC1 IO port: %#x\n", adapter->ioport);
drivers/net/wireless/marvell/mwifiex/sdio.c
1115
if (mwifiex_read_reg(adapter, card->reg->host_int_rsr_reg, ®))
drivers/net/wireless/marvell/mwifiex/sdio.c
1117
if (mwifiex_write_reg(adapter, card->reg->host_int_rsr_reg,
drivers/net/wireless/marvell/mwifiex/sdio.c
1122
if (mwifiex_read_reg(adapter, card->reg->card_misc_cfg_reg, ®))
drivers/net/wireless/marvell/mwifiex/sdio.c
1124
if (mwifiex_write_reg(adapter, card->reg->card_misc_cfg_reg,
drivers/net/wireless/marvell/mwifiex/sdio.c
1134
static int mwifiex_write_data_to_card(struct mwifiex_adapter *adapter,
drivers/net/wireless/marvell/mwifiex/sdio.c
1141
ret = mwifiex_write_data_sync(adapter, payload, pkt_len, port);
drivers/net/wireless/marvell/mwifiex/sdio.c
1144
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sdio.c
1147
if (mwifiex_write_reg(adapter, CONFIGURATION_REG, 0x04))
drivers/net/wireless/marvell/mwifiex/sdio.c
1148
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sdio.c
1168
static int mwifiex_get_rd_port(struct mwifiex_adapter *adapter, u8 *port)
drivers/net/wireless/marvell/mwifiex/sdio.c
1170
struct sdio_mmc_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/sdio.c
1174
mwifiex_dbg(adapter, DATA,
drivers/net/wireless/marvell/mwifiex/sdio.c
1189
mwifiex_dbg(adapter, DATA,
drivers/net/wireless/marvell/mwifiex/sdio.c
1205
mwifiex_dbg(adapter, DATA,
drivers/net/wireless/marvell/mwifiex/sdio.c
1219
static int mwifiex_get_wr_port_data(struct mwifiex_adapter *adapter, u32 *port)
drivers/net/wireless/marvell/mwifiex/sdio.c
1221
struct sdio_mmc_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/sdio.c
1225
mwifiex_dbg(adapter, DATA,
drivers/net/wireless/marvell/mwifiex/sdio.c
1229
adapter->data_sent = true;
drivers/net/wireless/marvell/mwifiex/sdio.c
1239
adapter->data_sent = true;
drivers/net/wireless/marvell/mwifiex/sdio.c
1244
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sdio.c
1251
mwifiex_dbg(adapter, DATA,
drivers/net/wireless/marvell/mwifiex/sdio.c
1262
mwifiex_sdio_poll_card_status(struct mwifiex_adapter *adapter, u8 bits)
drivers/net/wireless/marvell/mwifiex/sdio.c
1264
struct sdio_mmc_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/sdio.c
1269
if (mwifiex_read_reg(adapter, card->reg->poll_reg, &cs))
drivers/net/wireless/marvell/mwifiex/sdio.c
1277
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sdio.c
1289
static void mwifiex_sdio_disable_host_int(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/sdio.c
1291
struct sdio_mmc_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/sdio.c
1303
static void mwifiex_interrupt_status(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/sdio.c
1305
struct sdio_mmc_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/sdio.c
1309
if (mwifiex_read_data_sync(adapter, card->mp_regs,
drivers/net/wireless/marvell/mwifiex/sdio.c
1312
mwifiex_dbg(adapter, ERROR, "read mp_regs failed\n");
drivers/net/wireless/marvell/mwifiex/sdio.c
1325
mwifiex_dbg(adapter, INTR,
drivers/net/wireless/marvell/mwifiex/sdio.c
1327
spin_lock_irqsave(&adapter->int_lock, flags);
drivers/net/wireless/marvell/mwifiex/sdio.c
1328
adapter->int_status |= sdio_ireg;
drivers/net/wireless/marvell/mwifiex/sdio.c
1329
spin_unlock_irqrestore(&adapter->int_lock, flags);
drivers/net/wireless/marvell/mwifiex/sdio.c
1342
struct mwifiex_adapter *adapter;
drivers/net/wireless/marvell/mwifiex/sdio.c
1346
if (!card || !card->adapter) {
drivers/net/wireless/marvell/mwifiex/sdio.c
1348
func, card, card ? card->adapter : NULL);
drivers/net/wireless/marvell/mwifiex/sdio.c
1351
adapter = card->adapter;
drivers/net/wireless/marvell/mwifiex/sdio.c
1353
if (!adapter->pps_uapsd_mode && adapter->ps_state == PS_STATE_SLEEP)
drivers/net/wireless/marvell/mwifiex/sdio.c
1354
adapter->ps_state = PS_STATE_AWAKE;
drivers/net/wireless/marvell/mwifiex/sdio.c
1356
mwifiex_interrupt_status(adapter);
drivers/net/wireless/marvell/mwifiex/sdio.c
1357
mwifiex_main_process(adapter);
drivers/net/wireless/marvell/mwifiex/sdio.c
1366
static int mwifiex_sdio_enable_host_int(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/sdio.c
1368
struct sdio_mmc_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/sdio.c
1377
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sdio.c
1386
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sdio.c
1399
static int mwifiex_sdio_card_to_host(struct mwifiex_adapter *adapter,
drivers/net/wireless/marvell/mwifiex/sdio.c
1407
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sdio.c
1412
ret = mwifiex_read_data_sync(adapter, buffer, npayload, ioport, 1);
drivers/net/wireless/marvell/mwifiex/sdio.c
1415
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sdio.c
1423
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sdio.c
1441
static int mwifiex_prog_fw_w_helper(struct mwifiex_adapter *adapter,
drivers/net/wireless/marvell/mwifiex/sdio.c
1444
struct sdio_mmc_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/sdio.c
1457
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sdio.c
1462
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/sdio.c
1477
ret = mwifiex_sdio_poll_card_status(adapter, CARD_IO_READY |
drivers/net/wireless/marvell/mwifiex/sdio.c
1480
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sdio.c
1491
ret = mwifiex_read_reg(adapter, reg->base_0_reg,
drivers/net/wireless/marvell/mwifiex/sdio.c
1494
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sdio.c
1500
ret = mwifiex_read_reg(adapter, reg->base_1_reg,
drivers/net/wireless/marvell/mwifiex/sdio.c
1503
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sdio.c
1520
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sdio.c
1532
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sdio.c
1538
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sdio.c
1559
ret = mwifiex_write_data_sync(adapter, fwbuf, tx_blocks *
drivers/net/wireless/marvell/mwifiex/sdio.c
1561
adapter->ioport);
drivers/net/wireless/marvell/mwifiex/sdio.c
1563
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sdio.c
1566
if (mwifiex_write_reg(adapter, CONFIGURATION_REG, 0x04))
drivers/net/wireless/marvell/mwifiex/sdio.c
1567
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sdio.c
1577
mwifiex_dbg(adapter, MSG,
drivers/net/wireless/marvell/mwifiex/sdio.c
1593
static void mwifiex_deaggr_sdio_pkt(struct mwifiex_adapter *adapter,
drivers/net/wireless/marvell/mwifiex/sdio.c
1605
while (total_pkt_len >= (SDIO_HEADER_OFFSET + adapter->intf_hdr_len)) {
drivers/net/wireless/marvell/mwifiex/sdio.c
1606
if (total_pkt_len < adapter->sdio_rx_block_size)
drivers/net/wireless/marvell/mwifiex/sdio.c
1609
blk_size = adapter->sdio_rx_block_size * blk_num;
drivers/net/wireless/marvell/mwifiex/sdio.c
1611
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sdio.c
1620
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sdio.c
1632
skb_pull(skb_deaggr, adapter->intf_hdr_len);
drivers/net/wireless/marvell/mwifiex/sdio.c
1634
mwifiex_handle_rx_packet(adapter, skb_deaggr);
drivers/net/wireless/marvell/mwifiex/sdio.c
1647
static int mwifiex_decode_rx_packet(struct mwifiex_adapter *adapter,
drivers/net/wireless/marvell/mwifiex/sdio.c
1658
skb_pull(skb, adapter->intf_hdr_len);
drivers/net/wireless/marvell/mwifiex/sdio.c
1663
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/sdio.c
1667
if (adapter->rx_work_enabled) {
drivers/net/wireless/marvell/mwifiex/sdio.c
1668
skb_queue_tail(&adapter->rx_data_q, skb);
drivers/net/wireless/marvell/mwifiex/sdio.c
1669
atomic_inc(&adapter->rx_pending);
drivers/net/wireless/marvell/mwifiex/sdio.c
1670
adapter->data_received = true;
drivers/net/wireless/marvell/mwifiex/sdio.c
1672
mwifiex_deaggr_sdio_pkt(adapter, skb);
drivers/net/wireless/marvell/mwifiex/sdio.c
1678
mwifiex_dbg(adapter, DATA,
drivers/net/wireless/marvell/mwifiex/sdio.c
1680
if (adapter->rx_work_enabled) {
drivers/net/wireless/marvell/mwifiex/sdio.c
1681
skb_queue_tail(&adapter->rx_data_q, skb);
drivers/net/wireless/marvell/mwifiex/sdio.c
1682
adapter->data_received = true;
drivers/net/wireless/marvell/mwifiex/sdio.c
1683
atomic_inc(&adapter->rx_pending);
drivers/net/wireless/marvell/mwifiex/sdio.c
1685
mwifiex_handle_rx_packet(adapter, skb);
drivers/net/wireless/marvell/mwifiex/sdio.c
1690
mwifiex_dbg(adapter, CMD,
drivers/net/wireless/marvell/mwifiex/sdio.c
1693
if (!adapter->curr_cmd) {
drivers/net/wireless/marvell/mwifiex/sdio.c
1694
cmd_buf = adapter->upld_buf;
drivers/net/wireless/marvell/mwifiex/sdio.c
1696
if (adapter->ps_state == PS_STATE_SLEEP_CFM)
drivers/net/wireless/marvell/mwifiex/sdio.c
1697
mwifiex_process_sleep_confirm_resp(adapter,
drivers/net/wireless/marvell/mwifiex/sdio.c
1707
adapter->cmd_resp_received = true;
drivers/net/wireless/marvell/mwifiex/sdio.c
1708
adapter->curr_cmd->resp_skb = skb;
drivers/net/wireless/marvell/mwifiex/sdio.c
1713
mwifiex_dbg(adapter, EVENT,
drivers/net/wireless/marvell/mwifiex/sdio.c
1715
adapter->event_cause = get_unaligned_le32(skb->data);
drivers/net/wireless/marvell/mwifiex/sdio.c
1718
memcpy(adapter->event_body,
drivers/net/wireless/marvell/mwifiex/sdio.c
1723
adapter->event_received = true;
drivers/net/wireless/marvell/mwifiex/sdio.c
1724
adapter->event_skb = skb;
drivers/net/wireless/marvell/mwifiex/sdio.c
1729
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sdio.c
1747
static int mwifiex_sdio_card_to_host_mp_aggr(struct mwifiex_adapter *adapter,
drivers/net/wireless/marvell/mwifiex/sdio.c
1750
struct sdio_mmc_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/sdio.c
1762
mwifiex_dbg(adapter, CMD,
drivers/net/wireless/marvell/mwifiex/sdio.c
1771
mwifiex_dbg(adapter, WARN,
drivers/net/wireless/marvell/mwifiex/sdio.c
1784
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/sdio.c
1802
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/sdio.c
1818
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/sdio.c
1825
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/sdio.c
1835
mwifiex_dbg(adapter, DATA,
drivers/net/wireless/marvell/mwifiex/sdio.c
1851
mport = (adapter->ioport | SDIO_MPA_ADDR_BASE |
drivers/net/wireless/marvell/mwifiex/sdio.c
1854
mport = (adapter->ioport | SDIO_MPA_ADDR_BASE |
drivers/net/wireless/marvell/mwifiex/sdio.c
1860
mport = adapter->ioport + card->mpa_rx.start_port;
drivers/net/wireless/marvell/mwifiex/sdio.c
1862
if (mwifiex_read_data_sync(adapter, card->mpa_rx.buf,
drivers/net/wireless/marvell/mwifiex/sdio.c
1879
mwifiex_dbg(adapter, ERROR, "skb allocation failure\t"
drivers/net/wireless/marvell/mwifiex/sdio.c
1890
adapter->sdio_rx_aggr_enable)) &&
drivers/net/wireless/marvell/mwifiex/sdio.c
1898
mwifiex_decode_rx_packet(adapter, skb_deaggr,
drivers/net/wireless/marvell/mwifiex/sdio.c
1901
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sdio.c
1905
adapter->sdio_rx_aggr_enable,
drivers/net/wireless/marvell/mwifiex/sdio.c
1916
mwifiex_dbg(adapter, INFO, "info: RX: port: %d, rx_len: %d\n",
drivers/net/wireless/marvell/mwifiex/sdio.c
1921
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sdio.c
1924
if (mwifiex_sdio_card_to_host(adapter, &pkt_type,
drivers/net/wireless/marvell/mwifiex/sdio.c
1926
adapter->ioport + port))
drivers/net/wireless/marvell/mwifiex/sdio.c
1933
if (mwifiex_sdio_card_to_host(adapter, &pkt_type,
drivers/net/wireless/marvell/mwifiex/sdio.c
1935
adapter->ioport + port))
drivers/net/wireless/marvell/mwifiex/sdio.c
1937
if (!adapter->sdio_rx_aggr_enable &&
drivers/net/wireless/marvell/mwifiex/sdio.c
1939
mwifiex_dbg(adapter, ERROR, "drop wrong pkt type %d\t"
drivers/net/wireless/marvell/mwifiex/sdio.c
1946
mwifiex_decode_rx_packet(adapter, skb, pkt_type);
drivers/net/wireless/marvell/mwifiex/sdio.c
1949
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/sdio.c
1982
static int mwifiex_process_int_status(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/sdio.c
1984
struct sdio_mmc_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/sdio.c
1997
spin_lock_irqsave(&adapter->int_lock, flags);
drivers/net/wireless/marvell/mwifiex/sdio.c
1998
sdio_ireg = adapter->int_status;
drivers/net/wireless/marvell/mwifiex/sdio.c
1999
adapter->int_status = 0;
drivers/net/wireless/marvell/mwifiex/sdio.c
2000
spin_unlock_irqrestore(&adapter->int_lock, flags);
drivers/net/wireless/marvell/mwifiex/sdio.c
2006
if (sdio_ireg & DN_LD_CMD_PORT_HOST_INT_STATUS && adapter->cmd_sent)
drivers/net/wireless/marvell/mwifiex/sdio.c
2007
adapter->cmd_sent = false;
drivers/net/wireless/marvell/mwifiex/sdio.c
2017
if (rx_len <= adapter->intf_hdr_len ||
drivers/net/wireless/marvell/mwifiex/sdio.c
2022
mwifiex_dbg(adapter, INFO, "info: rx_len = %d\n", rx_len);
drivers/net/wireless/marvell/mwifiex/sdio.c
2030
if (mwifiex_sdio_card_to_host(adapter, &pkt_type, skb->data,
drivers/net/wireless/marvell/mwifiex/sdio.c
2031
skb->len, adapter->ioport |
drivers/net/wireless/marvell/mwifiex/sdio.c
2033
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sdio.c
2041
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sdio.c
2045
mwifiex_decode_rx_packet(adapter, skb, pkt_type);
drivers/net/wireless/marvell/mwifiex/sdio.c
2059
mwifiex_dbg(adapter, INTR,
drivers/net/wireless/marvell/mwifiex/sdio.c
2062
if (adapter->data_sent &&
drivers/net/wireless/marvell/mwifiex/sdio.c
2064
mwifiex_dbg(adapter, INTR,
drivers/net/wireless/marvell/mwifiex/sdio.c
2066
adapter->data_sent = false;
drivers/net/wireless/marvell/mwifiex/sdio.c
2073
if (card->has_control_mask && adapter->cmd_sent) {
drivers/net/wireless/marvell/mwifiex/sdio.c
2079
adapter->cmd_sent = false;
drivers/net/wireless/marvell/mwifiex/sdio.c
2082
mwifiex_dbg(adapter, INTR, "info: cmd_sent=%d data_sent=%d\n",
drivers/net/wireless/marvell/mwifiex/sdio.c
2083
adapter->cmd_sent, adapter->data_sent);
drivers/net/wireless/marvell/mwifiex/sdio.c
2094
mwifiex_dbg(adapter, INTR,
drivers/net/wireless/marvell/mwifiex/sdio.c
2099
ret = mwifiex_get_rd_port(adapter, &port);
drivers/net/wireless/marvell/mwifiex/sdio.c
2101
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/sdio.c
2109
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/sdio.c
2115
if (rx_len <= adapter->intf_hdr_len ||
drivers/net/wireless/marvell/mwifiex/sdio.c
2119
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sdio.c
2126
mwifiex_dbg(adapter, INFO, "info: rx_len = %d\n",
drivers/net/wireless/marvell/mwifiex/sdio.c
2129
if (mwifiex_sdio_card_to_host_mp_aggr(adapter, rx_len,
drivers/net/wireless/marvell/mwifiex/sdio.c
2131
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sdio.c
2143
if (mwifiex_read_reg(adapter, CONFIGURATION_REG, &cr))
drivers/net/wireless/marvell/mwifiex/sdio.c
2144
mwifiex_dbg(adapter, ERROR, "read CFG reg failed\n");
drivers/net/wireless/marvell/mwifiex/sdio.c
2146
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/sdio.c
2149
if (mwifiex_write_reg(adapter, CONFIGURATION_REG, (cr | 0x04)))
drivers/net/wireless/marvell/mwifiex/sdio.c
2150
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sdio.c
2153
mwifiex_dbg(adapter, INFO, "info: write success\n");
drivers/net/wireless/marvell/mwifiex/sdio.c
2155
if (mwifiex_read_reg(adapter, CONFIGURATION_REG, &cr))
drivers/net/wireless/marvell/mwifiex/sdio.c
2156
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sdio.c
2159
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/sdio.c
2179
static int mwifiex_host_to_card_mp_aggr(struct mwifiex_adapter *adapter,
drivers/net/wireless/marvell/mwifiex/sdio.c
2183
struct sdio_mmc_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/sdio.c
2195
mwifiex_dbg(adapter, WARN,
drivers/net/wireless/marvell/mwifiex/sdio.c
2205
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/sdio.c
2237
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/sdio.c
2256
mwifiex_dbg(adapter, DATA,
drivers/net/wireless/marvell/mwifiex/sdio.c
2268
mwifiex_dbg(adapter, DATA,
drivers/net/wireless/marvell/mwifiex/sdio.c
2284
mport = (adapter->ioport | SDIO_MPA_ADDR_BASE |
drivers/net/wireless/marvell/mwifiex/sdio.c
2287
mport = (adapter->ioport | SDIO_MPA_ADDR_BASE |
drivers/net/wireless/marvell/mwifiex/sdio.c
2293
mport = adapter->ioport + card->mpa_tx.start_port;
drivers/net/wireless/marvell/mwifiex/sdio.c
2295
ret = mwifiex_write_data_to_card(adapter, card->mpa_tx.buf,
drivers/net/wireless/marvell/mwifiex/sdio.c
2299
index = adapter->dbg.last_sdio_mp_index;
drivers/net/wireless/marvell/mwifiex/sdio.c
2301
adapter->dbg.last_sdio_mp_index = index;
drivers/net/wireless/marvell/mwifiex/sdio.c
2302
adapter->dbg.last_mp_wr_ports[index] = mport;
drivers/net/wireless/marvell/mwifiex/sdio.c
2303
adapter->dbg.last_mp_wr_bitmap[index] = card->mp_wr_bitmap;
drivers/net/wireless/marvell/mwifiex/sdio.c
2304
adapter->dbg.last_mp_wr_len[index] = card->mpa_tx.buf_len;
drivers/net/wireless/marvell/mwifiex/sdio.c
2305
adapter->dbg.last_mp_curr_wr_port[index] = card->curr_wr_port;
drivers/net/wireless/marvell/mwifiex/sdio.c
2312
mwifiex_dbg(adapter, DATA,
drivers/net/wireless/marvell/mwifiex/sdio.c
2315
ret = mwifiex_write_data_to_card(adapter, payload, pkt_len,
drivers/net/wireless/marvell/mwifiex/sdio.c
2316
adapter->ioport + port);
drivers/net/wireless/marvell/mwifiex/sdio.c
2320
mwifiex_dbg(adapter, DATA,
drivers/net/wireless/marvell/mwifiex/sdio.c
2339
static int mwifiex_sdio_host_to_card(struct mwifiex_adapter *adapter,
drivers/net/wireless/marvell/mwifiex/sdio.c
2343
struct sdio_mmc_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/sdio.c
2365
ret = mwifiex_get_wr_port_data(adapter, &port);
drivers/net/wireless/marvell/mwifiex/sdio.c
2367
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sdio.c
2373
adapter->cmd_sent = true;
drivers/net/wireless/marvell/mwifiex/sdio.c
2376
if (pkt_len <= adapter->intf_hdr_len ||
drivers/net/wireless/marvell/mwifiex/sdio.c
2378
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sdio.c
2390
ret = mwifiex_host_to_card_mp_aggr(adapter, payload, pkt_len,
drivers/net/wireless/marvell/mwifiex/sdio.c
2394
ret = mwifiex_host_to_card_mp_aggr(adapter, payload, pkt_len,
drivers/net/wireless/marvell/mwifiex/sdio.c
2399
adapter->cmd_sent = false;
drivers/net/wireless/marvell/mwifiex/sdio.c
2401
adapter->data_sent = false;
drivers/net/wireless/marvell/mwifiex/sdio.c
2409
adapter->data_sent = true;
drivers/net/wireless/marvell/mwifiex/sdio.c
2411
adapter->data_sent = false;
drivers/net/wireless/marvell/mwifiex/sdio.c
2421
static int mwifiex_alloc_sdio_mpa_buffers(struct mwifiex_adapter *adapter,
drivers/net/wireless/marvell/mwifiex/sdio.c
2424
struct sdio_mmc_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/sdio.c
2466
mwifiex_unregister_dev(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/sdio.c
2468
struct sdio_mmc_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/sdio.c
2470
if (adapter->card) {
drivers/net/wireless/marvell/mwifiex/sdio.c
2471
card->adapter = NULL;
drivers/net/wireless/marvell/mwifiex/sdio.c
2483
static int mwifiex_register_dev(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/sdio.c
2486
struct sdio_mmc_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/sdio.c
2491
card->adapter = adapter;
drivers/net/wireless/marvell/mwifiex/sdio.c
2492
adapter->tx_buf_size = card->tx_buf_size;
drivers/net/wireless/marvell/mwifiex/sdio.c
2500
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sdio.c
2511
mwifiex_read_reg(adapter, card->reg->host_strap_reg, &val);
drivers/net/wireless/marvell/mwifiex/sdio.c
2515
strcpy(adapter->fw_name, firmware);
drivers/net/wireless/marvell/mwifiex/sdio.c
2518
adapter->mem_type_mapping_tbl = generic_mem_type_map;
drivers/net/wireless/marvell/mwifiex/sdio.c
2519
adapter->num_mem_types = 1;
drivers/net/wireless/marvell/mwifiex/sdio.c
2521
adapter->mem_type_mapping_tbl = mem_type_mapping_tbl;
drivers/net/wireless/marvell/mwifiex/sdio.c
2522
adapter->num_mem_types = ARRAY_SIZE(mem_type_mapping_tbl);
drivers/net/wireless/marvell/mwifiex/sdio.c
2525
adapter->host_mlme_enabled = card->host_mlme;
drivers/net/wireless/marvell/mwifiex/sdio.c
2542
static int mwifiex_init_sdio(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/sdio.c
2544
struct sdio_mmc_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/sdio.c
2556
mwifiex_read_reg(adapter, card->reg->host_int_status_reg, &sdio_ireg);
drivers/net/wireless/marvell/mwifiex/sdio.c
2559
if (mwifiex_init_sdio_ioport(adapter))
drivers/net/wireless/marvell/mwifiex/sdio.c
2597
ret = mwifiex_alloc_sdio_mpa_buffers(adapter,
drivers/net/wireless/marvell/mwifiex/sdio.c
2605
adapter->host_disable_sdio_rx_aggr = true;
drivers/net/wireless/marvell/mwifiex/sdio.c
2608
(adapter, MWIFIEX_MP_AGGR_BUF_SIZE_32K,
drivers/net/wireless/marvell/mwifiex/sdio.c
2617
adapter->auto_tdls = card->can_auto_tdls;
drivers/net/wireless/marvell/mwifiex/sdio.c
2618
adapter->ext_scan = card->can_ext_scan;
drivers/net/wireless/marvell/mwifiex/sdio.c
2625
static void mwifiex_cleanup_mpa_buf(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/sdio.c
2627
struct sdio_mmc_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/sdio.c
2641
static void mwifiex_cleanup_sdio(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/sdio.c
2643
struct sdio_mmc_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/sdio.c
2657
mwifiex_update_mp_end_port(struct mwifiex_adapter *adapter, u16 port)
drivers/net/wireless/marvell/mwifiex/sdio.c
2659
struct sdio_mmc_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/sdio.c
2675
mwifiex_dbg(adapter, CMD,
drivers/net/wireless/marvell/mwifiex/sdio.c
2680
static void mwifiex_sdio_card_reset_work(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/sdio.c
2682
struct sdio_mmc_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/sdio.c
2687
mwifiex_shutdown_sw(adapter);
drivers/net/wireless/marvell/mwifiex/sdio.c
2699
complete_all(adapter->fw_done);
drivers/net/wireless/marvell/mwifiex/sdio.c
2702
ret = mwifiex_reinit_sw(adapter);
drivers/net/wireless/marvell/mwifiex/sdio.c
2714
rdwr_status mwifiex_sdio_rdwr_firmware(struct mwifiex_adapter *adapter,
drivers/net/wireless/marvell/mwifiex/sdio.c
2717
struct sdio_mmc_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/sdio.c
2724
mwifiex_dbg(adapter, ERROR, "SDIO Write ERR\n");
drivers/net/wireless/marvell/mwifiex/sdio.c
2731
mwifiex_dbg(adapter, ERROR, "SDIO read err\n");
drivers/net/wireless/marvell/mwifiex/sdio.c
2739
mwifiex_dbg(adapter, WARN,
drivers/net/wireless/marvell/mwifiex/sdio.c
2744
mwifiex_dbg(adapter, ERROR, "SDIO write err\n");
drivers/net/wireless/marvell/mwifiex/sdio.c
2751
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sdio.c
2760
static void mwifiex_sdio_fw_dump(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/sdio.c
2762
struct sdio_mmc_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/sdio.c
2782
mwifiex_pm_wakeup_card(adapter);
drivers/net/wireless/marvell/mwifiex/sdio.c
2785
mwifiex_dbg(adapter, MSG, "== mwifiex firmware dump start ==\n");
drivers/net/wireless/marvell/mwifiex/sdio.c
2787
stat = mwifiex_sdio_rdwr_firmware(adapter, doneflag);
drivers/net/wireless/marvell/mwifiex/sdio.c
2795
mwifiex_dbg(adapter, ERROR, "SDIO read memory length err\n");
drivers/net/wireless/marvell/mwifiex/sdio.c
2803
stat = mwifiex_sdio_rdwr_firmware(adapter, doneflag);
drivers/net/wireless/marvell/mwifiex/sdio.c
2812
mwifiex_dbg(adapter, ERROR, "SDIO read err\n");
drivers/net/wireless/marvell/mwifiex/sdio.c
2820
mwifiex_dbg(adapter, DUMP, "Firmware dump Finished!\n");
drivers/net/wireless/marvell/mwifiex/sdio.c
2821
ret = mwifiex_write_reg(adapter,
drivers/net/wireless/marvell/mwifiex/sdio.c
2825
mwifiex_dbg(adapter, ERROR, "SDIO write err\n");
drivers/net/wireless/marvell/mwifiex/sdio.c
2831
mwifiex_dbg(adapter, DUMP,
drivers/net/wireless/marvell/mwifiex/sdio.c
2836
mwifiex_dbg(adapter, ERROR, "Vmalloc %s failed\n",
drivers/net/wireless/marvell/mwifiex/sdio.c
2844
mwifiex_dbg(adapter, DUMP,
drivers/net/wireless/marvell/mwifiex/sdio.c
2849
stat = mwifiex_sdio_rdwr_firmware(adapter, doneflag);
drivers/net/wireless/marvell/mwifiex/sdio.c
2858
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sdio.c
2865
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sdio.c
2872
mwifiex_dbg(adapter, DUMP, "%s done: size=0x%tx\n",
drivers/net/wireless/marvell/mwifiex/sdio.c
2877
mwifiex_dbg(adapter, MSG, "== mwifiex firmware dump end ==\n");
drivers/net/wireless/marvell/mwifiex/sdio.c
2883
static void mwifiex_sdio_generic_fw_dump(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/sdio.c
2885
struct sdio_mmc_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/sdio.c
2902
mwifiex_pm_wakeup_card(adapter);
drivers/net/wireless/marvell/mwifiex/sdio.c
2905
mwifiex_dbg(adapter, MSG, "== mwifiex firmware dump start ==\n");
drivers/net/wireless/marvell/mwifiex/sdio.c
2907
stat = mwifiex_sdio_rdwr_firmware(adapter, done_flag);
drivers/net/wireless/marvell/mwifiex/sdio.c
2917
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sdio.c
2924
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sdio.c
2943
mwifiex_dbg(adapter, DUMP,
drivers/net/wireless/marvell/mwifiex/sdio.c
2947
stat = mwifiex_sdio_rdwr_firmware(adapter, done_flag);
drivers/net/wireless/marvell/mwifiex/sdio.c
2953
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sdio.c
2977
mwifiex_dbg(adapter, DUMP, "dump %s done size=0x%x\n",
drivers/net/wireless/marvell/mwifiex/sdio.c
2983
mwifiex_dbg(adapter, MSG, "== mwifiex firmware dump end ==\n");
drivers/net/wireless/marvell/mwifiex/sdio.c
2987
mwifiex_dbg(adapter, ERROR, "firmware dump failed\n");
drivers/net/wireless/marvell/mwifiex/sdio.c
2997
static void mwifiex_sdio_device_dump_work(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/sdio.c
2999
struct sdio_mmc_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/sdio.c
3001
adapter->devdump_data = vzalloc(MWIFIEX_FW_DUMP_SIZE);
drivers/net/wireless/marvell/mwifiex/sdio.c
3002
if (!adapter->devdump_data) {
drivers/net/wireless/marvell/mwifiex/sdio.c
3003
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sdio.c
3008
mwifiex_drv_info_dump(adapter);
drivers/net/wireless/marvell/mwifiex/sdio.c
3010
mwifiex_sdio_generic_fw_dump(adapter);
drivers/net/wireless/marvell/mwifiex/sdio.c
3012
mwifiex_sdio_fw_dump(adapter);
drivers/net/wireless/marvell/mwifiex/sdio.c
3013
mwifiex_prepare_fw_dump_info(adapter);
drivers/net/wireless/marvell/mwifiex/sdio.c
3014
mwifiex_upload_device_dump(adapter);
drivers/net/wireless/marvell/mwifiex/sdio.c
3024
mwifiex_sdio_device_dump_work(card->adapter);
drivers/net/wireless/marvell/mwifiex/sdio.c
3027
mwifiex_sdio_card_reset_work(card->adapter);
drivers/net/wireless/marvell/mwifiex/sdio.c
3031
static void mwifiex_sdio_card_reset(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/sdio.c
3033
struct sdio_mmc_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/sdio.c
3040
static void mwifiex_sdio_device_dump(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/sdio.c
3042
struct sdio_mmc_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/sdio.c
3053
mwifiex_sdio_reg_dump(struct mwifiex_adapter *adapter, char *drv_buf)
drivers/net/wireless/marvell/mwifiex/sdio.c
3056
struct sdio_mmc_card *cardp = adapter->card;
drivers/net/wireless/marvell/mwifiex/sdio.c
3065
mwifiex_dbg(adapter, MSG, "SDIO register dump start\n");
drivers/net/wireless/marvell/mwifiex/sdio.c
3067
mwifiex_pm_wakeup_card(adapter);
drivers/net/wireless/marvell/mwifiex/sdio.c
3131
mwifiex_dbg(adapter, MSG, "%s\n", buf);
drivers/net/wireless/marvell/mwifiex/sdio.c
3137
mwifiex_dbg(adapter, MSG, "SDIO register dump end\n");
drivers/net/wireless/marvell/mwifiex/sdio.c
3145
static void mwifiex_sdio_up_dev(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/sdio.c
3147
struct sdio_mmc_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/sdio.c
3158
adapter->tx_buf_size = card->tx_buf_size;
drivers/net/wireless/marvell/mwifiex/sdio.c
3164
mwifiex_read_reg(adapter, card->reg->host_int_status_reg, &sdio_ireg);
drivers/net/wireless/marvell/mwifiex/sdio.c
3166
if (mwifiex_init_sdio_ioport(adapter))
drivers/net/wireless/marvell/mwifiex/sdio.c
638
struct mwifiex_adapter *adapter;
drivers/net/wireless/marvell/mwifiex/sdio.c
641
if (!card || !card->adapter) {
drivers/net/wireless/marvell/mwifiex/sdio.c
646
adapter = card->adapter;
drivers/net/wireless/marvell/mwifiex/sdio.c
648
if (!test_bit(MWIFIEX_IS_SUSPENDED, &adapter->work_flags)) {
drivers/net/wireless/marvell/mwifiex/sdio.c
649
mwifiex_dbg(adapter, WARN,
drivers/net/wireless/marvell/mwifiex/sdio.c
654
clear_bit(MWIFIEX_IS_SUSPENDED, &adapter->work_flags);
drivers/net/wireless/marvell/mwifiex/sdio.c
657
mwifiex_cancel_hs(mwifiex_get_priv(adapter, MWIFIEX_BSS_ROLE_STA),
drivers/net/wireless/marvell/mwifiex/sdio.c
660
mwifiex_disable_wake(adapter);
drivers/net/wireless/marvell/mwifiex/sdio.c
678
mwifiex_write_reg(struct mwifiex_adapter *adapter, u32 reg, u8 data)
drivers/net/wireless/marvell/mwifiex/sdio.c
680
struct sdio_mmc_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/sdio.c
693
mwifiex_read_reg(struct mwifiex_adapter *adapter, u32 reg, u8 *data)
drivers/net/wireless/marvell/mwifiex/sdio.c
695
struct sdio_mmc_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/sdio.c
713
mwifiex_write_data_sync(struct mwifiex_adapter *adapter,
drivers/net/wireless/marvell/mwifiex/sdio.c
716
struct sdio_mmc_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/sdio.c
727
if (test_bit(MWIFIEX_IS_SUSPENDED, &adapter->work_flags)) {
drivers/net/wireless/marvell/mwifiex/sdio.c
728
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sdio.c
744
static int mwifiex_read_data_sync(struct mwifiex_adapter *adapter, u8 *buffer,
drivers/net/wireless/marvell/mwifiex/sdio.c
747
struct sdio_mmc_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/sdio.c
770
mwifiex_sdio_read_fw_status(struct mwifiex_adapter *adapter, u16 *dat)
drivers/net/wireless/marvell/mwifiex/sdio.c
772
struct sdio_mmc_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/sdio.c
776
if (mwifiex_read_reg(adapter, reg->status_reg_0, &fws0))
drivers/net/wireless/marvell/mwifiex/sdio.c
779
if (mwifiex_read_reg(adapter, reg->status_reg_1, &fws1))
drivers/net/wireless/marvell/mwifiex/sdio.c
788
static int mwifiex_check_fw_status(struct mwifiex_adapter *adapter,
drivers/net/wireless/marvell/mwifiex/sdio.c
791
struct sdio_mmc_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/sdio.c
797
ret = mwifiex_sdio_read_fw_status(adapter, &firmware_stat);
drivers/net/wireless/marvell/mwifiex/sdio.c
821
static int mwifiex_check_winner_status(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/sdio.c
825
struct sdio_mmc_card *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/sdio.c
827
if (mwifiex_read_reg(adapter, card->reg->status_reg_0, &winner))
drivers/net/wireless/marvell/mwifiex/sdio.c
831
adapter->winner = 0;
drivers/net/wireless/marvell/mwifiex/sdio.c
833
adapter->winner = 1;
drivers/net/wireless/marvell/mwifiex/sdio.c
847
struct mwifiex_adapter *adapter;
drivers/net/wireless/marvell/mwifiex/sdio.c
858
adapter = card->adapter;
drivers/net/wireless/marvell/mwifiex/sdio.c
859
if (!adapter || !adapter->priv_num)
drivers/net/wireless/marvell/mwifiex/sdio.c
862
mwifiex_dbg(adapter, INFO, "info: SDIO func num=%d\n", func->num);
drivers/net/wireless/marvell/mwifiex/sdio.c
864
ret = mwifiex_sdio_read_fw_status(adapter, &firmware_stat);
drivers/net/wireless/marvell/mwifiex/sdio.c
866
!adapter->mfg_mode) {
drivers/net/wireless/marvell/mwifiex/sdio.c
867
mwifiex_deauthenticate_all(adapter);
drivers/net/wireless/marvell/mwifiex/sdio.c
869
priv = mwifiex_get_priv(adapter, MWIFIEX_BSS_ROLE_ANY);
drivers/net/wireless/marvell/mwifiex/sdio.c
874
mwifiex_remove_card(adapter);
drivers/net/wireless/marvell/mwifiex/sdio.c
891
struct mwifiex_adapter *adapter;
drivers/net/wireless/marvell/mwifiex/sdio.c
913
adapter = card->adapter;
drivers/net/wireless/marvell/mwifiex/sdio.c
914
if (!adapter) {
drivers/net/wireless/marvell/mwifiex/sdio.c
919
if (!adapter->is_up)
drivers/net/wireless/marvell/mwifiex/sdio.c
922
mwifiex_enable_wake(adapter);
drivers/net/wireless/marvell/mwifiex/sdio.c
925
if (!mwifiex_enable_hs(adapter)) {
drivers/net/wireless/marvell/mwifiex/sdio.c
926
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sdio.c
928
clear_bit(MWIFIEX_IS_HS_ENABLING, &adapter->work_flags);
drivers/net/wireless/marvell/mwifiex/sdio.c
929
mwifiex_disable_wake(adapter);
drivers/net/wireless/marvell/mwifiex/sdio.c
933
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/sdio.c
938
set_bit(MWIFIEX_IS_SUSPENDED, &adapter->work_flags);
drivers/net/wireless/marvell/mwifiex/sdio.c
939
clear_bit(MWIFIEX_IS_HS_ENABLING, &adapter->work_flags);
drivers/net/wireless/marvell/mwifiex/sdio.h
230
struct mwifiex_adapter *adapter;
drivers/net/wireless/marvell/mwifiex/sdio.h
290
static inline int mwifiex_sdio_cmdrsp_complete(struct mwifiex_adapter *adapter,
drivers/net/wireless/marvell/mwifiex/sdio.h
300
static inline int mwifiex_sdio_event_complete(struct mwifiex_adapter *adapter,
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
1005
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
1010
u8 no_of_triplet = adapter->domain_reg.no_of_triplet;
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
1012
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
1024
memcpy(domain->country_code, adapter->domain_reg.country_code,
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
1033
memcpy(domain->triplet, adapter->domain_reg.triplet,
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
107
mwifiex_dbg(priv->adapter, CMD,
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
1218
struct pcie_service_card *card = priv->adapter->card;
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
1248
mwifiex_dbg(priv->adapter, INFO,
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
125
mwifiex_dbg(priv->adapter, CMD,
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
1277
mwifiex_dbg(priv->adapter, CMD,
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
1287
mwifiex_dbg(priv->adapter, CMD, "cmd: event bitmap : %16x\n",
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
1293
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
1320
mwifiex_dbg(priv->adapter, EVENT,
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
1342
mwifiex_dbg(priv->adapter, EVENT,
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
1516
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
1533
adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
1543
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
1566
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
1577
adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
1586
adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
1603
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
1612
ret = of_property_read_u8_array(adapter->dt_node, prop->name,
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
1618
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
1621
} else if (adapter->cal_data->data && adapter->cal_data->size > 0) {
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
1622
len = mwifiex_parse_cal_cfg((u8 *)adapter->cal_data->data,
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
1623
adapter->cal_data->size,
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
1630
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
1823
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
186
if (priv->adapter->fw_api_ver == MWIFIEX_FW_V15) {
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
1871
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
1952
mwifiex_dbg(priv->adapter, ERROR, "Unknown TDLS operation\n");
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
2017
if (!ISSUPP_ADHOC_ENABLED(priv->adapter->fw_cap_info)) {
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
2046
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
2194
if (priv->adapter->hw_status == MWIFIEX_HW_STATUS_RESET)
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
2195
priv->adapter->hw_status = MWIFIEX_HW_STATUS_READY;
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
2200
priv->adapter->hw_status = MWIFIEX_HW_STATUS_RESET;
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
2234
mwifiex_dbg(priv->adapter, CMD,
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
2330
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
2361
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
2372
if (priv->adapter->iface_type == MWIFIEX_PCIE) {
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
2390
if (adapter->dt_node) {
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
2391
if (of_property_read_u32(adapter->dt_node,
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
2395
adapter->hs_cfg.gpio = data;
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
2398
mwifiex_dnld_dt_cfgdata(priv, adapter->dt_node,
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
2402
if (adapter->cal_data) {
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
2405
release_firmware(adapter->cal_data);
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
2406
adapter->cal_data = NULL;
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
2417
if (priv->adapter->iface_type == MWIFIEX_SDIO &&
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
2418
ISSUPP_SDIO_SPA_ENABLED(priv->adapter->fw_cap_info) &&
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
2419
!priv->adapter->host_disable_sdio_rx_aggr) {
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
2427
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
2429
adapter->sdio_rx_aggr_enable = false;
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
2436
&priv->adapter->tx_buf_size, true);
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
2442
priv->adapter->ps_mode = MWIFIEX_802_11_POWER_MODE_PSP;
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
2452
adapter->drcs_enabled = true;
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
2453
if (ISSUPP_DRCS_ENABLED(adapter->fw_cap_info))
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
2457
&adapter->drcs_enabled,
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
2515
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
287
if (priv->adapter->hw_dev_mcs_support == HT_STREAM_2X2) {
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
306
if (priv->adapter->hw_dev_mcs_support == HT_STREAM_2X2) {
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
338
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
352
((adapter->arp_filter_size > 0) &&
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
353
(adapter->arp_filter_size <= ARP_FILTER_MAX_BUF_SIZE))) {
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
354
mwifiex_dbg(adapter, CMD,
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
356
adapter->arp_filter_size);
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
359
adapter->arp_filter, adapter->arp_filter_size);
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
360
size = adapter->arp_filter_size +
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
365
+ adapter->arp_filter_size;
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
373
adapter->hs_activated_manually = true;
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
374
mwifiex_dbg(priv->adapter, CMD,
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
393
mwifiex_dbg(adapter, CMD,
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
478
mwifiex_dbg(priv->adapter, CMD, "cmd: Deauth: %pM\n", deauth->mac_addr);
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
556
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
574
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
578
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
592
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
597
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
632
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
642
mwifiex_dbg(adapter, INFO, "%s: Get key\n", __func__);
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
669
mwifiex_dbg(adapter, INFO, "%s: Remove key\n", __func__);
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
690
mwifiex_dbg(adapter, INFO, "%s: Set WEP Key\n", __func__);
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
72
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
728
mwifiex_dbg(adapter, INFO, "%s: Set WAPI Key\n", __func__);
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
768
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
836
mwifiex_dbg(priv->adapter, INFO, "info: Set WAPI Key\n");
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
873
mwifiex_dbg(priv->adapter, CMD, "cmd: CMAC_AES\n");
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
886
mwifiex_dbg(priv->adapter, CMD, "cmd: WPA_AES\n");
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
905
mwifiex_dbg(priv->adapter, CMD, "cmd: WPA_TKIP\n");
drivers/net/wireless/marvell/mwifiex/sta_cmd.c
982
if (priv->adapter->key_api_major_ver == KEY_API_VER_MAJOR_V2)
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
1008
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
1012
adapter->sdio_rx_aggr_enable = cfg->enable;
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
1013
adapter->sdio_rx_block_size = le16_to_cpu(cfg->block_size);
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
1152
mwifiex_dbg_dump(priv->adapter, CMD_D, "CHAN:",
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
1158
priv->adapter->regd = regd;
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
1174
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
1176
adapter->bus_aggr.enable = le16_to_cpu(pkt_aggr_ctrl->enable);
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
1177
if (adapter->bus_aggr.enable)
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
1178
adapter->intf_hdr_len = INTF_HEADER_LEN;
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
1179
adapter->bus_aggr.mode = MWIFIEX_BUS_AGGR_MODE_LEN_V2;
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
1180
adapter->bus_aggr.tx_aggr_max_size =
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
1182
adapter->bus_aggr.tx_aggr_max_num =
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
1184
adapter->bus_aggr.tx_aggr_align =
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
1216
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
1217
void *data_buf = adapter->curr_cmd->data_buf;
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
1245
adapter->curr_cmd->wait_q_enabled = false;
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
1249
adapter->curr_cmd->wait_q_enabled = false;
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
1254
mwifiex_dbg(adapter, CMD,
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
1334
if (adapter->iface_type == MWIFIEX_USB &&
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
1335
adapter->usb_mc_setup) {
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
1336
if (adapter->if_ops.multi_port_resync)
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
1337
adapter->if_ops.
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
1338
multi_port_resync(adapter);
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
1339
adapter->usb_mc_setup = false;
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
1340
adapter->tx_lock_flag = false;
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
1344
adapter->tx_buf_size = (u16) le16_to_cpu(resp->params.
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
1346
adapter->tx_buf_size = (adapter->tx_buf_size
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
1349
adapter->curr_tx_buf_size = adapter->tx_buf_size;
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
1350
mwifiex_dbg(adapter, CMD, "cmd: curr_tx_buf_size=%d\n",
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
1351
adapter->curr_tx_buf_size);
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
1353
if (adapter->if_ops.update_mp_end_port)
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
1354
adapter->if_ops.update_mp_end_port(adapter,
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
1391
adapter->tx_lock_flag = false;
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
1392
adapter->pps_uapsd_mode = false;
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
1393
adapter->delay_null_pkt = false;
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
1436
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
164
mwifiex_dbg(priv->adapter, INFO,
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
174
mwifiex_dbg(priv->adapter, INFO,
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
179
mwifiex_dbg(priv->adapter, INFO,
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
184
mwifiex_dbg(priv->adapter, INFO,
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
189
mwifiex_dbg(priv->adapter, INFO,
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
291
if (priv->adapter->fw_api_ver == MWIFIEX_FW_V15) {
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
35
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
372
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
38
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
394
if (adapter->hw_status == MWIFIEX_HW_STATUS_INITIALIZING)
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
408
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
413
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
42
if (adapter->curr_cmd->wait_q_enabled)
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
43
adapter->cmd_wait_q.status = -1;
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
437
mwifiex_dbg(priv->adapter, INFO,
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
453
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
455
if (adapter->hw_dev_mcs_support == HT_STREAM_2X2) {
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
458
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
468
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
48
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
489
mwifiex_dbg(priv->adapter, INFO,
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
537
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
539
adapter->dbg.num_cmd_deauth++;
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
55
adapter->ps_mode = MWIFIEX_802_11_POWER_MODE_CAM;
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
580
mwifiex_dbg(priv->adapter, INFO,
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
60
mwifiex_cancel_scan(adapter);
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
616
mwifiex_dbg(priv->adapter, INFO, "info: key: GTK is set\n");
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
640
if (priv->adapter->key_api_major_ver == KEY_API_VER_MAJOR_V2)
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
662
mwifiex_dbg(priv->adapter, INFO,
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
667
mwifiex_dbg(priv->adapter, FATAL,
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
67
mwifiex_dbg(adapter, MSG,
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
679
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
699
if (test_and_clear_bit(MWIFIEX_IS_REQUESTING_FW_VEREXT, &priv->adapter->work_flags)) {
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
706
mwifiex_dbg(priv->adapter, MSG,
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
711
mwifiex_dbg(priv->adapter, MSG,
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
75
mwifiex_recycle_cmd_node(adapter, adapter->curr_cmd);
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
77
spin_lock_bh(&adapter->mwifiex_cmd_lock);
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
78
adapter->curr_cmd = NULL;
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
79
spin_unlock_bh(&adapter->mwifiex_cmd_lock);
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
865
mwifiex_dbg(priv->adapter, INFO,
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
870
mwifiex_dbg(priv->adapter, FATAL, "new BSSID is NULL\n");
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
906
mwifiex_dbg(priv->adapter, MSG,
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
910
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
914
mwifiex_dbg(priv->adapter, MSG,
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
921
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
927
mwifiex_dbg(priv->adapter, MSG,
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
934
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
940
mwifiex_dbg(priv->adapter, MSG,
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
946
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
964
mwifiex_dbg(priv->adapter, EVENT,
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
997
mwifiex_dbg(priv->adapter, ERROR, "Cal data cmd resp failed\n");
drivers/net/wireless/marvell/mwifiex/sta_event.c
1002
mwifiex_dbg(adapter, EVENT, "event: BW Change\n");
drivers/net/wireless/marvell/mwifiex/sta_event.c
1006
mwifiex_dbg(adapter, EVENT,
drivers/net/wireless/marvell/mwifiex/sta_event.c
1011
mwifiex_dbg(adapter, EVENT,
drivers/net/wireless/marvell/mwifiex/sta_event.c
1014
if (adapter->host_mlme_enabled &&
drivers/net/wireless/marvell/mwifiex/sta_event.c
1030
mwifiex_dbg(adapter, EVENT, "event: Channel Switch Announcement\n");
drivers/net/wireless/marvell/mwifiex/sta_event.c
1041
ret = mwifiex_parse_tdls_event(priv, adapter->event_skb);
drivers/net/wireless/marvell/mwifiex/sta_event.c
1045
mwifiex_dbg(adapter, EVENT, "event: TX DATA PAUSE\n");
drivers/net/wireless/marvell/mwifiex/sta_event.c
1046
mwifiex_process_tx_pause_event(priv, adapter->event_skb);
drivers/net/wireless/marvell/mwifiex/sta_event.c
1050
mwifiex_dbg(adapter, EVENT, "event: multi-chan info\n");
drivers/net/wireless/marvell/mwifiex/sta_event.c
1051
mwifiex_process_multi_chan_event(priv, adapter->event_skb);
drivers/net/wireless/marvell/mwifiex/sta_event.c
1055
mwifiex_dbg(adapter, EVENT, "event: TX_STATUS Report\n");
drivers/net/wireless/marvell/mwifiex/sta_event.c
1056
mwifiex_parse_tx_status_event(priv, adapter->event_body);
drivers/net/wireless/marvell/mwifiex/sta_event.c
1060
mwifiex_dbg(adapter, EVENT, "event: Channel Report\n");
drivers/net/wireless/marvell/mwifiex/sta_event.c
1062
adapter->event_skb);
drivers/net/wireless/marvell/mwifiex/sta_event.c
1065
mwifiex_dbg(adapter, EVENT, "event: Radar detected\n");
drivers/net/wireless/marvell/mwifiex/sta_event.c
1067
adapter->event_skb);
drivers/net/wireless/marvell/mwifiex/sta_event.c
1070
dev_dbg(adapter->dev, "EVENT: BT coex wlan param update\n");
drivers/net/wireless/marvell/mwifiex/sta_event.c
1071
if (adapter->ignore_btcoex_events)
drivers/net/wireless/marvell/mwifiex/sta_event.c
1075
adapter->event_skb);
drivers/net/wireless/marvell/mwifiex/sta_event.c
1078
dev_dbg(adapter->dev, "EVENT: RXBA_SYNC\n");
drivers/net/wireless/marvell/mwifiex/sta_event.c
1079
mwifiex_11n_rxba_sync_event(priv, adapter->event_body,
drivers/net/wireless/marvell/mwifiex/sta_event.c
1080
adapter->event_skb->len -
drivers/net/wireless/marvell/mwifiex/sta_event.c
1084
mwifiex_dbg(adapter, EVENT, "event: firmware debug info\n");
drivers/net/wireless/marvell/mwifiex/sta_event.c
1085
mwifiex_fw_dump_info_event(priv, adapter->event_skb);
drivers/net/wireless/marvell/mwifiex/sta_event.c
1089
mwifiex_dbg(adapter, EVENT, "event: debug\n");
drivers/net/wireless/marvell/mwifiex/sta_event.c
1092
mwifiex_dbg(adapter, ERROR, "event: unknown event id: %#x\n",
drivers/net/wireless/marvell/mwifiex/sta_event.c
128
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/sta_event.c
133
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/sta_event.c
145
ISSUPP_TDLS_ENABLED(priv->adapter->fw_cap_info)) {
drivers/net/wireless/marvell/mwifiex/sta_event.c
148
if (priv->adapter->auto_tdls)
drivers/net/wireless/marvell/mwifiex/sta_event.c
194
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/sta_event.c
198
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/sta_event.c
213
adapter->tx_lock_flag = false;
drivers/net/wireless/marvell/mwifiex/sta_event.c
214
adapter->pps_uapsd_mode = false;
drivers/net/wireless/marvell/mwifiex/sta_event.c
216
if (test_bit(MWIFIEX_IS_CMD_TIMEDOUT, &adapter->work_flags) &&
drivers/net/wireless/marvell/mwifiex/sta_event.c
217
adapter->curr_cmd)
drivers/net/wireless/marvell/mwifiex/sta_event.c
220
mwifiex_dbg(adapter, MSG,
drivers/net/wireless/marvell/mwifiex/sta_event.c
225
if (adapter->host_mlme_enabled && adapter->host_mlme_link_lost)
drivers/net/wireless/marvell/mwifiex/sta_event.c
226
mwifiex_host_mlme_disconnect(adapter->priv_link_lost,
drivers/net/wireless/marvell/mwifiex/sta_event.c
234
mwifiex_stop_net_dev_queue(priv->netdev, adapter);
drivers/net/wireless/marvell/mwifiex/sta_event.c
238
if (!ISSUPP_FIRMWARE_SUPPLICANT(priv->adapter->fw_cap_info))
drivers/net/wireless/marvell/mwifiex/sta_event.c
249
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/sta_event.c
252
(void *)event_skb->data + sizeof(adapter->event_cause);
drivers/net/wireless/marvell/mwifiex/sta_event.c
257
sizeof(u16) - sizeof(adapter->event_cause))) {
drivers/net/wireless/marvell/mwifiex/sta_event.c
258
mwifiex_dbg(adapter, ERROR, "Invalid event length!\n");
drivers/net/wireless/marvell/mwifiex/sta_event.c
264
mwifiex_dbg(adapter, ERROR, "cannot get sta entry!\n");
drivers/net/wireless/marvell/mwifiex/sta_event.c
277
mwifiex_dbg(adapter, EVENT, "tdls channel switch result :\n");
drivers/net/wireless/marvell/mwifiex/sta_event.c
278
mwifiex_dbg(adapter, EVENT,
drivers/net/wireless/marvell/mwifiex/sta_event.c
321
mwifiex_dbg(adapter, EVENT, "tdls start channel switch...\n");
drivers/net/wireless/marvell/mwifiex/sta_event.c
325
mwifiex_dbg(adapter, EVENT,
drivers/net/wireless/marvell/mwifiex/sta_event.c
33
mwifiex_dbg_dump(priv->adapter, EVT_D, "ibss peer capabilities:",
drivers/net/wireless/marvell/mwifiex/sta_event.c
343
mwifiex_dbg(priv->adapter, EVENT,
drivers/net/wireless/marvell/mwifiex/sta_event.c
377
mwifiex_dbg(priv->adapter, EVENT,
drivers/net/wireless/marvell/mwifiex/sta_event.c
388
if (!ISSUPP_TDLS_ENABLED(priv->adapter->fw_cap_info))
drivers/net/wireless/marvell/mwifiex/sta_event.c
413
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/sta_event.c
424
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sta_event.c
429
adapter->usb_mc_status = le16_to_cpu(chan_info->status);
drivers/net/wireless/marvell/mwifiex/sta_event.c
430
mwifiex_dbg(adapter, EVENT, "multi chan operation %s\n",
drivers/net/wireless/marvell/mwifiex/sta_event.c
431
adapter->usb_mc_status ? "started" : "over");
drivers/net/wireless/marvell/mwifiex/sta_event.c
441
mwifiex_dbg(adapter, ERROR, "wrong tlv: tlvLen=%d,\t"
drivers/net/wireless/marvell/mwifiex/sta_event.c
446
mwifiex_dbg(adapter, ERROR, "wrong tlv type: 0x%x\n",
drivers/net/wireless/marvell/mwifiex/sta_event.c
456
intf_priv = mwifiex_get_priv_by_id(adapter, bss_num,
drivers/net/wireless/marvell/mwifiex/sta_event.c
459
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sta_event.c
464
if (adapter->iface_type == MWIFIEX_USB) {
drivers/net/wireless/marvell/mwifiex/sta_event.c
480
if (adapter->iface_type == MWIFIEX_USB) {
drivers/net/wireless/marvell/mwifiex/sta_event.c
481
adapter->tx_lock_flag = true;
drivers/net/wireless/marvell/mwifiex/sta_event.c
482
adapter->usb_mc_setup = true;
drivers/net/wireless/marvell/mwifiex/sta_event.c
483
mwifiex_multi_chan_resync(adapter);
drivers/net/wireless/marvell/mwifiex/sta_event.c
49
mwifiex_dbg(priv->adapter, MSG,
drivers/net/wireless/marvell/mwifiex/sta_event.c
495
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sta_event.c
509
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sta_event.c
535
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/sta_event.c
554
adapter->coex_win_size = winsizetlv->coex_win_size;
drivers/net/wireless/marvell/mwifiex/sta_event.c
555
adapter->coex_tx_win_size =
drivers/net/wireless/marvell/mwifiex/sta_event.c
557
adapter->coex_rx_win_size =
drivers/net/wireless/marvell/mwifiex/sta_event.c
559
mwifiex_coex_ampdu_rxwinsize(adapter);
drivers/net/wireless/marvell/mwifiex/sta_event.c
560
mwifiex_update_ampdu_txwinsize(adapter);
drivers/net/wireless/marvell/mwifiex/sta_event.c
566
adapter->coex_scan = scantlv->coex_scan;
drivers/net/wireless/marvell/mwifiex/sta_event.c
567
adapter->coex_min_scan_time = le16_to_cpu(scantlv->min_scan_time);
drivers/net/wireless/marvell/mwifiex/sta_event.c
568
adapter->coex_max_scan_time = le16_to_cpu(scantlv->max_scan_time);
drivers/net/wireless/marvell/mwifiex/sta_event.c
580
dev_dbg(adapter->dev, "coex_scan=%d min_scan=%d coex_win=%d, tx_win=%d rx_win=%d\n",
drivers/net/wireless/marvell/mwifiex/sta_event.c
581
adapter->coex_scan, adapter->coex_min_scan_time,
drivers/net/wireless/marvell/mwifiex/sta_event.c
582
adapter->coex_win_size, adapter->coex_tx_win_size,
drivers/net/wireless/marvell/mwifiex/sta_event.c
583
adapter->coex_rx_win_size);
drivers/net/wireless/marvell/mwifiex/sta_event.c
590
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/sta_event.c
592
(void *)adapter->event_body;
drivers/net/wireless/marvell/mwifiex/sta_event.c
594
if (adapter->iface_type != MWIFIEX_USB) {
drivers/net/wireless/marvell/mwifiex/sta_event.c
595
mwifiex_dbg(adapter, MSG,
drivers/net/wireless/marvell/mwifiex/sta_event.c
600
if (!adapter->devdump_data) {
drivers/net/wireless/marvell/mwifiex/sta_event.c
604
adapter->devdump_data = vzalloc(MWIFIEX_FW_DUMP_SIZE);
drivers/net/wireless/marvell/mwifiex/sta_event.c
605
if (!adapter->devdump_data) {
drivers/net/wireless/marvell/mwifiex/sta_event.c
606
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sta_event.c
611
mwifiex_drv_info_dump(adapter);
drivers/net/wireless/marvell/mwifiex/sta_event.c
618
schedule_delayed_work(&adapter->devdump_work,
drivers/net/wireless/marvell/mwifiex/sta_event.c
623
if (adapter->devdump_len + event_skb->len >= MWIFIEX_FW_DUMP_SIZE)
drivers/net/wireless/marvell/mwifiex/sta_event.c
626
memmove(adapter->devdump_data + adapter->devdump_len,
drivers/net/wireless/marvell/mwifiex/sta_event.c
627
adapter->event_skb->data, event_skb->len);
drivers/net/wireless/marvell/mwifiex/sta_event.c
628
adapter->devdump_len += event_skb->len;
drivers/net/wireless/marvell/mwifiex/sta_event.c
631
mwifiex_dbg(adapter, MSG,
drivers/net/wireless/marvell/mwifiex/sta_event.c
638
cancel_delayed_work_sync(&adapter->devdump_work);
drivers/net/wireless/marvell/mwifiex/sta_event.c
639
mwifiex_upload_device_dump(adapter);
drivers/net/wireless/marvell/mwifiex/sta_event.c
69
mwifiex_dbg(priv->adapter, INFO,
drivers/net/wireless/marvell/mwifiex/sta_event.c
698
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/sta_event.c
700
u32 eventcause = adapter->event_cause;
drivers/net/wireless/marvell/mwifiex/sta_event.c
707
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sta_event.c
711
mwifiex_dbg(adapter, EVENT, "event: LINK_SENSED\n");
drivers/net/wireless/marvell/mwifiex/sta_event.c
714
mwifiex_wake_up_net_dev_queue(priv->netdev, adapter);
drivers/net/wireless/marvell/mwifiex/sta_event.c
718
mwifiex_dbg(adapter, EVENT, "event: Deauthenticated\n");
drivers/net/wireless/marvell/mwifiex/sta_event.c
720
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/sta_event.c
724
adapter->dbg.num_event_deauth++;
drivers/net/wireless/marvell/mwifiex/sta_event.c
727
get_unaligned_le16(adapter->event_body);
drivers/net/wireless/marvell/mwifiex/sta_event.c
733
mwifiex_dbg(adapter, EVENT, "event: Disassociated\n");
drivers/net/wireless/marvell/mwifiex/sta_event.c
735
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/sta_event.c
739
adapter->dbg.num_event_disassoc++;
drivers/net/wireless/marvell/mwifiex/sta_event.c
742
get_unaligned_le16(adapter->event_body);
drivers/net/wireless/marvell/mwifiex/sta_event.c
748
mwifiex_dbg(adapter, EVENT, "event: Link lost\n");
drivers/net/wireless/marvell/mwifiex/sta_event.c
749
adapter->dbg.num_event_link_lost++;
drivers/net/wireless/marvell/mwifiex/sta_event.c
752
get_unaligned_le16(adapter->event_body);
drivers/net/wireless/marvell/mwifiex/sta_event.c
753
if (adapter->host_mlme_enabled) {
drivers/net/wireless/marvell/mwifiex/sta_event.c
754
adapter->priv_link_lost = priv;
drivers/net/wireless/marvell/mwifiex/sta_event.c
755
adapter->host_mlme_link_lost = true;
drivers/net/wireless/marvell/mwifiex/sta_event.c
756
queue_work(adapter->host_mlme_workqueue,
drivers/net/wireless/marvell/mwifiex/sta_event.c
757
&adapter->host_mlme_work);
drivers/net/wireless/marvell/mwifiex/sta_event.c
766
mwifiex_dbg(adapter, EVENT, "info: EVENT: SLEEP\n");
drivers/net/wireless/marvell/mwifiex/sta_event.c
768
adapter->ps_state = PS_STATE_PRE_SLEEP;
drivers/net/wireless/marvell/mwifiex/sta_event.c
770
mwifiex_check_ps_cond(adapter);
drivers/net/wireless/marvell/mwifiex/sta_event.c
774
mwifiex_dbg(adapter, EVENT, "info: EVENT: AWAKE\n");
drivers/net/wireless/marvell/mwifiex/sta_event.c
775
if (!adapter->pps_uapsd_mode &&
drivers/net/wireless/marvell/mwifiex/sta_event.c
778
priv->media_connected && adapter->sleep_period.period) {
drivers/net/wireless/marvell/mwifiex/sta_event.c
779
adapter->pps_uapsd_mode = true;
drivers/net/wireless/marvell/mwifiex/sta_event.c
780
mwifiex_dbg(adapter, EVENT,
drivers/net/wireless/marvell/mwifiex/sta_event.c
783
adapter->tx_lock_flag = false;
drivers/net/wireless/marvell/mwifiex/sta_event.c
784
if (adapter->pps_uapsd_mode && adapter->gen_null_pkt) {
drivers/net/wireless/marvell/mwifiex/sta_event.c
786
if (adapter->data_sent ||
drivers/net/wireless/marvell/mwifiex/sta_event.c
787
(adapter->if_ops.is_port_ready &&
drivers/net/wireless/marvell/mwifiex/sta_event.c
788
!adapter->if_ops.is_port_ready(priv))) {
drivers/net/wireless/marvell/mwifiex/sta_event.c
789
adapter->ps_state = PS_STATE_AWAKE;
drivers/net/wireless/marvell/mwifiex/sta_event.c
790
adapter->pm_wakeup_card_req = false;
drivers/net/wireless/marvell/mwifiex/sta_event.c
791
adapter->pm_wakeup_fw_try = false;
drivers/net/wireless/marvell/mwifiex/sta_event.c
792
timer_delete(&adapter->wakeup_timer);
drivers/net/wireless/marvell/mwifiex/sta_event.c
799
adapter->ps_state =
drivers/net/wireless/marvell/mwifiex/sta_event.c
804
adapter->ps_state = PS_STATE_AWAKE;
drivers/net/wireless/marvell/mwifiex/sta_event.c
805
adapter->pm_wakeup_card_req = false;
drivers/net/wireless/marvell/mwifiex/sta_event.c
806
adapter->pm_wakeup_fw_try = false;
drivers/net/wireless/marvell/mwifiex/sta_event.c
807
timer_delete(&adapter->wakeup_timer);
drivers/net/wireless/marvell/mwifiex/sta_event.c
812
adapter->if_ops.wakeup_complete(adapter);
drivers/net/wireless/marvell/mwifiex/sta_event.c
813
mwifiex_dbg(adapter, EVENT, "event: DS_AWAKE\n");
drivers/net/wireless/marvell/mwifiex/sta_event.c
814
if (adapter->is_deep_sleep)
drivers/net/wireless/marvell/mwifiex/sta_event.c
815
adapter->is_deep_sleep = false;
drivers/net/wireless/marvell/mwifiex/sta_event.c
819
mwifiex_dbg(adapter, EVENT, "event: HS_ACT_REQ\n");
drivers/net/wireless/marvell/mwifiex/sta_event.c
825
mwifiex_dbg(adapter, EVENT, "event: UNICAST MIC ERROR\n");
drivers/net/wireless/marvell/mwifiex/sta_event.c
832
mwifiex_dbg(adapter, EVENT, "event: MULTICAST MIC ERROR\n");
drivers/net/wireless/marvell/mwifiex/sta_event.c
842
mwifiex_dbg(adapter, EVENT, "event: ADHOC_BCN_LOST\n");
drivers/net/wireless/marvell/mwifiex/sta_event.c
844
mwifiex_stop_net_dev_queue(priv->netdev, adapter);
drivers/net/wireless/marvell/mwifiex/sta_event.c
850
mwifiex_dbg(adapter, EVENT, "event: BGS_REPORT\n");
drivers/net/wireless/marvell/mwifiex/sta_event.c
856
dev_dbg(adapter->dev, "event: BGS_STOPPED\n");
drivers/net/wireless/marvell/mwifiex/sta_event.c
863
mwifiex_dbg(adapter, EVENT, "event: PORT RELEASE\n");
drivers/net/wireless/marvell/mwifiex/sta_event.c
868
mwifiex_dbg(adapter, EVENT, "event: EXT_SCAN Report\n");
drivers/net/wireless/marvell/mwifiex/sta_event.c
872
if (adapter->ext_scan && (!priv->scan_aborting ||
drivers/net/wireless/marvell/mwifiex/sta_event.c
875
adapter->event_skb->data);
drivers/net/wireless/marvell/mwifiex/sta_event.c
880
mwifiex_dbg(adapter, EVENT, "event: WMM status changed\n");
drivers/net/wireless/marvell/mwifiex/sta_event.c
892
mwifiex_dbg(adapter, EVENT, "event: Beacon RSSI_LOW\n");
drivers/net/wireless/marvell/mwifiex/sta_event.c
895
mwifiex_dbg(adapter, EVENT, "event: Beacon SNR_LOW\n");
drivers/net/wireless/marvell/mwifiex/sta_event.c
898
mwifiex_dbg(adapter, EVENT, "event: MAX_FAIL\n");
drivers/net/wireless/marvell/mwifiex/sta_event.c
907
mwifiex_dbg(adapter, EVENT, "event: Beacon RSSI_HIGH\n");
drivers/net/wireless/marvell/mwifiex/sta_event.c
910
mwifiex_dbg(adapter, EVENT, "event: Beacon SNR_HIGH\n");
drivers/net/wireless/marvell/mwifiex/sta_event.c
913
mwifiex_dbg(adapter, EVENT, "event: Data RSSI_LOW\n");
drivers/net/wireless/marvell/mwifiex/sta_event.c
916
mwifiex_dbg(adapter, EVENT, "event: Data SNR_LOW\n");
drivers/net/wireless/marvell/mwifiex/sta_event.c
919
mwifiex_dbg(adapter, EVENT, "event: Data RSSI_HIGH\n");
drivers/net/wireless/marvell/mwifiex/sta_event.c
922
mwifiex_dbg(adapter, EVENT, "event: Data SNR_HIGH\n");
drivers/net/wireless/marvell/mwifiex/sta_event.c
925
mwifiex_dbg(adapter, EVENT, "event: Link Quality\n");
drivers/net/wireless/marvell/mwifiex/sta_event.c
928
mwifiex_dbg(adapter, EVENT, "event: Pre-Beacon Lost\n");
drivers/net/wireless/marvell/mwifiex/sta_event.c
931
mwifiex_dbg(adapter, EVENT, "event: IBSS_COALESCED\n");
drivers/net/wireless/marvell/mwifiex/sta_event.c
937
ether_addr_copy(ibss_sta_addr, adapter->event_body + 2);
drivers/net/wireless/marvell/mwifiex/sta_event.c
938
mwifiex_dbg(adapter, EVENT, "event: IBSS_STA_CONNECT %pM\n",
drivers/net/wireless/marvell/mwifiex/sta_event.c
941
if (sta_ptr && adapter->adhoc_11n_enabled) {
drivers/net/wireless/marvell/mwifiex/sta_event.c
943
adapter->event_skb);
drivers/net/wireless/marvell/mwifiex/sta_event.c
95
mwifiex_dbg(priv->adapter, INFO,
drivers/net/wireless/marvell/mwifiex/sta_event.c
957
ether_addr_copy(ibss_sta_addr, adapter->event_body + 2);
drivers/net/wireless/marvell/mwifiex/sta_event.c
958
mwifiex_dbg(adapter, EVENT, "event: IBSS_STA_DISCONNECT %pM\n",
drivers/net/wireless/marvell/mwifiex/sta_event.c
970
mwifiex_dbg(adapter, EVENT, "event: ADDBA Request\n");
drivers/net/wireless/marvell/mwifiex/sta_event.c
973
adapter->event_body, false);
drivers/net/wireless/marvell/mwifiex/sta_event.c
976
mwifiex_dbg(adapter, EVENT, "event: DELBA Request\n");
drivers/net/wireless/marvell/mwifiex/sta_event.c
977
mwifiex_11n_delete_ba_stream(priv, adapter->event_body);
drivers/net/wireless/marvell/mwifiex/sta_event.c
980
mwifiex_dbg(adapter, EVENT, "event: BA Stream timeout\n");
drivers/net/wireless/marvell/mwifiex/sta_event.c
984
adapter->event_body);
drivers/net/wireless/marvell/mwifiex/sta_event.c
987
ctrl = get_unaligned_le16(adapter->event_body);
drivers/net/wireless/marvell/mwifiex/sta_event.c
988
mwifiex_dbg(adapter, EVENT,
drivers/net/wireless/marvell/mwifiex/sta_event.c
991
adapter->tx_buf_size =
drivers/net/wireless/marvell/mwifiex/sta_event.c
992
min_t(u16, adapter->curr_tx_buf_size, ctrl);
drivers/net/wireless/marvell/mwifiex/sta_event.c
993
mwifiex_dbg(adapter, EVENT, "event: tx_buf_size %d\n",
drivers/net/wireless/marvell/mwifiex/sta_event.c
994
adapter->tx_buf_size);
drivers/net/wireless/marvell/mwifiex/sta_event.c
998
mwifiex_dbg(adapter, EVENT, "event: WEP ICV error\n");
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
1005
if (adapter->key_api_major_ver == KEY_API_VER_MAJOR_V2)
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
101
mwifiex_dbg(priv->adapter, INFO,
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
1049
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
111
mwifiex_dbg(priv->adapter, INFO,
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
1123
mwifiex_drv_get_driver_version(struct mwifiex_adapter *adapter, char *version,
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
1132
ver.l = cpu_to_le32(adapter->fw_release_number);
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
1137
mwifiex_dbg(adapter, MSG, "info: MWIFIEX VERSION: %s\n", version);
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
1224
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
1420
mwifiex_dbg(priv->adapter, MSG,
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
146
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
1469
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
1482
memset(adapter->arp_filter, 0, sizeof(adapter->arp_filter));
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
1484
adapter->arp_filter_size = 0;
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
1485
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
1489
memcpy(adapter->arp_filter, gen_ie->ie_data,
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
1491
adapter->arp_filter_size = gen_ie->len;
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
1495
mwifiex_dbg(adapter, ERROR, "invalid IE type\n");
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
161
mwifiex_dbg(priv->adapter, INFO,
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
180
return mwifiex_update_bss_desc_with_ie(priv->adapter, bss_desc);
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
185
if (priv->adapter->dt_node) {
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
188
memcpy(&txpwr[8], priv->adapter->country_code, 2);
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
189
mwifiex_dnld_dt_cfgdata(priv, priv->adapter->dt_node, txpwr);
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
195
struct mwifiex_802_11d_domain_reg *domain_info = &priv->adapter->domain_reg;
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
196
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
209
mwifiex_dbg(adapter, INFO, "info: %s: requesting regulatory power table %s\n",
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
212
if (adapter->rgpower_data) {
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
213
release_firmware(adapter->rgpower_data);
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
214
adapter->rgpower_data = NULL;
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
217
if ((request_firmware(&adapter->rgpower_data, rgpower_table_name,
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
218
adapter->dev))) {
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
220
adapter, INFO,
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
237
return mwifiex_send_rgpower_table(priv, priv->adapter->rgpower_data->data,
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
238
priv->adapter->rgpower_data->size);
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
255
&priv->adapter->domain_reg;
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
270
if (!strncmp(priv->adapter->country_code, &country_ie[2], 2)) {
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
272
mwifiex_dbg(priv->adapter, INFO,
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
280
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
285
memcpy(priv->adapter->country_code, &country_ie[2], 2);
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
303
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
322
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
328
if (adapter->region_code == 0x00 &&
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
354
if (adapter->fw_bands & BAND_AAC)
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
358
if (!((config_bands | adapter->fw_bands) & ~adapter->fw_bands))
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
359
adapter->config_bands = config_bands;
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
367
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
374
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
378
mwifiex_stop_net_dev_queue(priv->netdev, adapter);
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
397
if (bss && !priv->adapter->host_mlme_enabled)
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
398
cfg80211_put_bss(priv->adapter->wiphy, bss);
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
411
mwifiex_stop_net_dev_queue(priv->netdev, adapter);
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
416
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
421
cfg80211_put_bss(priv->adapter->wiphy, bss);
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
423
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
45
int mwifiex_wait_queue_complete(struct mwifiex_adapter *adapter,
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
455
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
464
if (adapter->pps_uapsd_mode) {
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
465
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
474
&adapter->work_flags))
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
478
prev_cond = le32_to_cpu(adapter->hs_cfg
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
480
adapter->hs_cfg.conditions =
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
483
adapter->hs_cfg.conditions =
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
485
adapter->hs_cfg.gpio = (u8)hs_cfg->gpio;
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
487
adapter->hs_cfg.gap = (u8)hs_cfg->gap;
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
488
} else if (adapter->hs_cfg.conditions ==
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
499
&adapter->hs_cfg,
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
504
adapter->hs_cfg.conditions =
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
507
adapter->hs_cfg.conditions =
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
509
adapter->hs_cfg.gpio = (u8)hs_cfg->gpio;
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
51
status = wait_event_interruptible_timeout(adapter->cmd_wait_q.wait,
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
510
adapter->hs_cfg.gap = (u8)hs_cfg->gap;
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
514
hs_cfg->conditions = le32_to_cpu(adapter->hs_cfg.conditions);
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
515
hs_cfg->gpio = adapter->hs_cfg.gpio;
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
516
hs_cfg->gap = adapter->hs_cfg.gap;
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
550
int mwifiex_enable_hs(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
557
for (i = 0; i < adapter->priv_num; i++) {
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
558
priv = adapter->priv[i];
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
563
priv = mwifiex_get_priv(adapter, MWIFIEX_BSS_ROLE_STA);
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
57
mwifiex_dbg(adapter, ERROR, "cmd_wait_q terminated: %d\n",
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
570
mwifiex_dbg(adapter, CMD, "aborting bgscan!\n");
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
578
if (adapter->hs_activated) {
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
579
mwifiex_dbg(adapter, CMD,
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
584
adapter->hs_activate_wait_q_woken = false;
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
589
set_bit(MWIFIEX_IS_HS_ENABLING, &adapter->work_flags);
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
59
mwifiex_cancel_all_pending_cmd(adapter);
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
590
mwifiex_cancel_all_pending_cmd(adapter);
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
592
if (mwifiex_set_hs_params(mwifiex_get_priv(adapter,
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
596
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
601
if (wait_event_interruptible_timeout(adapter->hs_activate_wait_q,
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
602
adapter->hs_activate_wait_q_woken,
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
604
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
622
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
63
status = adapter->cmd_wait_q.status;
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
638
memcpy(info->country_code, adapter->country_code,
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
64
adapter->cmd_wait_q.status = 0;
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
656
&adapter->work_flags);
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
657
info->is_deep_sleep = adapter->is_deep_sleep;
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
726
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
803
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
807
adapter->ps_mode = MWIFIEX_802_11_POWER_MODE_PSP;
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
809
adapter->ps_mode = MWIFIEX_802_11_POWER_MODE_CAM;
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
832
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
838
mwifiex_dbg(priv->adapter, CMD,
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
85
mwifiex_dbg(priv->adapter, INFO,
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
853
mwifiex_dbg(priv->adapter, INFO,
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
875
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
881
mwifiex_dbg(priv->adapter, CMD,
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
890
mwifiex_dbg(priv->adapter, INFO,
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
910
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
921
mwifiex_dbg(priv->adapter, CMD,
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
927
mwifiex_dbg(priv->adapter, INFO,
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
94
mwifiex_dbg(priv->adapter, INFO,
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
957
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
972
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
977
if (adapter->key_api_major_ver == KEY_API_VER_MAJOR_V2) {
drivers/net/wireless/marvell/mwifiex/sta_rx.c
143
mwifiex_dbg(priv->adapter, INFO, "Bypassed Gratuitous ARP\n");
drivers/net/wireless/marvell/mwifiex/sta_rx.c
148
if (ISSUPP_TDLS_ENABLED(priv->adapter->fw_cap_info) &&
drivers/net/wireless/marvell/mwifiex/sta_rx.c
171
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sta_rx.c
192
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/sta_rx.c
210
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sta_rx.c
221
mwifiex_dbg(adapter, DATA, "Rx of mgmt packet failed");
drivers/net/wireless/marvell/mwifiex/sta_rx.c
231
!(ISSUPP_TDLS_ENABLED(priv->adapter->fw_cap_info) &&
drivers/net/wireless/marvell/mwifiex/sta_rx.c
239
(ISSUPP_TDLS_ENABLED(priv->adapter->fw_cap_info) &&
drivers/net/wireless/marvell/mwifiex/sta_rx.c
91
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sta_tx.c
114
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/sta_tx.c
124
if (test_bit(MWIFIEX_SURPRISE_REMOVED, &adapter->work_flags))
drivers/net/wireless/marvell/mwifiex/sta_tx.c
130
if (adapter->data_sent)
drivers/net/wireless/marvell/mwifiex/sta_tx.c
133
if (adapter->if_ops.is_port_ready &&
drivers/net/wireless/marvell/mwifiex/sta_tx.c
134
!adapter->if_ops.is_port_ready(priv))
drivers/net/wireless/marvell/mwifiex/sta_tx.c
146
(sizeof(struct txpd) + adapter->intf_hdr_len);
drivers/net/wireless/marvell/mwifiex/sta_tx.c
147
skb_reserve(skb, sizeof(struct txpd) + adapter->intf_hdr_len);
drivers/net/wireless/marvell/mwifiex/sta_tx.c
158
skb_push(skb, adapter->intf_hdr_len);
drivers/net/wireless/marvell/mwifiex/sta_tx.c
159
if (adapter->iface_type == MWIFIEX_USB) {
drivers/net/wireless/marvell/mwifiex/sta_tx.c
160
ret = adapter->if_ops.host_to_card(adapter, priv->usb_port,
drivers/net/wireless/marvell/mwifiex/sta_tx.c
164
ret = adapter->if_ops.host_to_card(adapter, MWIFIEX_TYPE_DATA,
drivers/net/wireless/marvell/mwifiex/sta_tx.c
170
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sta_tx.c
173
adapter->dbg.num_tx_host_to_card_failure++;
drivers/net/wireless/marvell/mwifiex/sta_tx.c
177
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/sta_tx.c
180
adapter->dbg.num_tx_host_to_card_failure++;
drivers/net/wireless/marvell/mwifiex/sta_tx.c
184
mwifiex_dbg(adapter, DATA,
drivers/net/wireless/marvell/mwifiex/sta_tx.c
187
adapter->tx_lock_flag = true;
drivers/net/wireless/marvell/mwifiex/sta_tx.c
190
adapter->tx_lock_flag = true;
drivers/net/wireless/marvell/mwifiex/sta_tx.c
205
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/sta_tx.c
208
if (!adapter->sleep_period.period)
drivers/net/wireless/marvell/mwifiex/sta_tx.c
210
if (mwifiex_wmm_lists_empty(adapter))
drivers/net/wireless/marvell/mwifiex/sta_tx.c
213
if (ret && !adapter->cmd_sent && !adapter->curr_cmd &&
drivers/net/wireless/marvell/mwifiex/sta_tx.c
214
!is_command_pending(adapter)) {
drivers/net/wireless/marvell/mwifiex/sta_tx.c
215
adapter->delay_null_pkt = false;
drivers/net/wireless/marvell/mwifiex/sta_tx.c
219
adapter->delay_null_pkt = true;
drivers/net/wireless/marvell/mwifiex/sta_tx.c
35
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/sta_tx.c
40
int hroom = adapter->intf_hdr_len;
drivers/net/wireless/marvell/mwifiex/sta_tx.c
77
if (adapter->pps_uapsd_mode) {
drivers/net/wireless/marvell/mwifiex/sta_tx.c
79
adapter->tx_lock_flag = true;
drivers/net/wireless/marvell/mwifiex/tdls.c
1025
if (priv->adapter->is_hw_11ac_capable) {
drivers/net/wireless/marvell/mwifiex/tdls.c
1035
if (priv->adapter->is_hw_11ac_capable) {
drivers/net/wireless/marvell/mwifiex/tdls.c
1045
if (priv->adapter->is_hw_11ac_capable) {
drivers/net/wireless/marvell/mwifiex/tdls.c
1070
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/tdls.c
1091
mwifiex_dbg(priv->adapter, WARN,
drivers/net/wireless/marvell/mwifiex/tdls.c
1145
mwifiex_dbg(priv->adapter, MSG,
drivers/net/wireless/marvell/mwifiex/tdls.c
1180
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/tdls.c
1232
if (!ISSUPP_TDLS_ENABLED(priv->adapter->fw_cap_info))
drivers/net/wireless/marvell/mwifiex/tdls.c
1278
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/tdls.c
1301
mwifiex_dbg(priv->adapter, INFO,
drivers/net/wireless/marvell/mwifiex/tdls.c
131
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/tdls.c
1345
if (!priv->adapter->auto_tdls)
drivers/net/wireless/marvell/mwifiex/tdls.c
1366
mwifiex_dbg(priv->adapter, INFO,
drivers/net/wireless/marvell/mwifiex/tdls.c
1378
if (!priv->adapter->auto_tdls)
drivers/net/wireless/marvell/mwifiex/tdls.c
1402
if (!priv->adapter->auto_tdls)
drivers/net/wireless/marvell/mwifiex/tdls.c
1423
if (WARN_ON_ONCE(!priv || !priv->adapter)) {
drivers/net/wireless/marvell/mwifiex/tdls.c
1429
if (unlikely(!priv->adapter->auto_tdls))
drivers/net/wireless/marvell/mwifiex/tdls.c
1433
mwifiex_dbg(priv->adapter, INFO,
drivers/net/wireless/marvell/mwifiex/tdls.c
1453
mwifiex_dbg(priv->adapter, MSG,
drivers/net/wireless/marvell/mwifiex/tdls.c
1468
mwifiex_dbg(priv->adapter, INFO,
drivers/net/wireless/marvell/mwifiex/tdls.c
1490
if (ISSUPP_TDLS_ENABLED(priv->adapter->fw_cap_info) &&
drivers/net/wireless/marvell/mwifiex/tdls.c
1491
priv->adapter->auto_tdls &&
drivers/net/wireless/marvell/mwifiex/tdls.c
198
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/tdls.c
204
mwifiex_dbg(priv->adapter, WARN,
drivers/net/wireless/marvell/mwifiex/tdls.c
217
if (ISSUPP_CHANWIDTH40(priv->adapter->hw_dot_11n_dev_cap) &&
drivers/net/wireless/marvell/mwifiex/tdls.c
241
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/tdls.c
252
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/tdls.c
258
mwifiex_dbg(adapter, WARN,
drivers/net/wireless/marvell/mwifiex/tdls.c
266
mwifiex_dbg(adapter, WARN,
drivers/net/wireless/marvell/mwifiex/tdls.c
280
usr_vht_cap_info = adapter->usr_dot_11ac_dev_cap_a;
drivers/net/wireless/marvell/mwifiex/tdls.c
282
usr_vht_cap_info = adapter->usr_dot_11ac_dev_cap_bg;
drivers/net/wireless/marvell/mwifiex/tdls.c
315
mcs_map_user = GET_DEVRXMCSMAP(adapter->usr_dot_11ac_mcs_support);
drivers/net/wireless/marvell/mwifiex/tdls.c
368
if (priv->adapter->is_hw_11ac_capable)
drivers/net/wireless/marvell/mwifiex/tdls.c
40
mwifiex_dbg(priv->adapter, DATA, "%s: %pM\n", __func__, mac);
drivers/net/wireless/marvell/mwifiex/tdls.c
507
if (priv->adapter->is_hw_11ac_capable) {
drivers/net/wireless/marvell/mwifiex/tdls.c
547
if (priv->adapter->is_hw_11ac_capable) {
drivers/net/wireless/marvell/mwifiex/tdls.c
571
if (priv->adapter->is_hw_11ac_capable) {
drivers/net/wireless/marvell/mwifiex/tdls.c
605
mwifiex_dbg(priv->adapter, ERROR, "Unknown TDLS frame type.\n");
drivers/net/wireless/marvell/mwifiex/tdls.c
64
mwifiex_write_data_complete(priv->adapter, skb, 0, -1);
drivers/net/wireless/marvell/mwifiex/tdls.c
655
if (priv->adapter->is_hw_11ac_capable)
drivers/net/wireless/marvell/mwifiex/tdls.c
662
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/tdls.c
790
if (priv->adapter->is_hw_11ac_capable) {
drivers/net/wireless/marvell/mwifiex/tdls.c
806
mwifiex_dbg(priv->adapter, ERROR, "Unknown TDLS action frame type\n");
drivers/net/wireless/marvell/mwifiex/tdls.c
838
if (priv->adapter->is_hw_11ac_capable)
drivers/net/wireless/marvell/mwifiex/tdls.c
845
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/tdls.c
912
mwifiex_dbg(priv->adapter, DATA,
drivers/net/wireless/marvell/mwifiex/tdls.c
93
mwifiex_dbg(priv->adapter, DATA, "%s: %pM\n", __func__, mac);
drivers/net/wireless/marvell/mwifiex/tdls.c
944
mwifiex_dbg(priv->adapter, ERROR, "Unknown TDLS frame type.\n");
drivers/net/wireless/marvell/mwifiex/txrx.c
100
if (adapter->data_sent || adapter->tx_lock_flag) {
drivers/net/wireless/marvell/mwifiex/txrx.c
101
skb_queue_tail(&adapter->tx_data_q, skb);
drivers/net/wireless/marvell/mwifiex/txrx.c
102
atomic_inc(&adapter->tx_queued);
drivers/net/wireless/marvell/mwifiex/txrx.c
108
if (adapter->iface_type == MWIFIEX_USB) {
drivers/net/wireless/marvell/mwifiex/txrx.c
109
ret = adapter->if_ops.host_to_card(adapter,
drivers/net/wireless/marvell/mwifiex/txrx.c
113
ret = adapter->if_ops.host_to_card(adapter,
drivers/net/wireless/marvell/mwifiex/txrx.c
117
mwifiex_dbg_dump(adapter, DAT_D, "tx pkt:", skb->data,
drivers/net/wireless/marvell/mwifiex/txrx.c
122
mwifiex_dbg(adapter, DATA, "data: -ENOSR is returned\n");
drivers/net/wireless/marvell/mwifiex/txrx.c
126
(adapter->pps_uapsd_mode) && (adapter->tx_lock_flag)) {
drivers/net/wireless/marvell/mwifiex/txrx.c
127
priv->adapter->tx_lock_flag = false;
drivers/net/wireless/marvell/mwifiex/txrx.c
131
mwifiex_dbg(adapter, ERROR, "data: -EBUSY is returned\n");
drivers/net/wireless/marvell/mwifiex/txrx.c
134
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/txrx.c
137
adapter->dbg.num_tx_host_to_card_failure++;
drivers/net/wireless/marvell/mwifiex/txrx.c
138
mwifiex_write_data_complete(adapter, skb, 0, ret);
drivers/net/wireless/marvell/mwifiex/txrx.c
143
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/txrx.c
148
mwifiex_write_data_complete(adapter, skb, 0, ret);
drivers/net/wireless/marvell/mwifiex/txrx.c
157
static int mwifiex_host_to_card(struct mwifiex_adapter *adapter,
drivers/net/wireless/marvell/mwifiex/txrx.c
168
priv = mwifiex_get_priv_by_id(adapter, tx_info->bss_num,
drivers/net/wireless/marvell/mwifiex/txrx.c
171
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/txrx.c
173
adapter->dbg.num_tx_host_to_card_failure++;
drivers/net/wireless/marvell/mwifiex/txrx.c
174
mwifiex_write_data_complete(adapter, skb, 0, 0);
drivers/net/wireless/marvell/mwifiex/txrx.c
178
local_tx_pd = (struct txpd *)(head_ptr + adapter->intf_hdr_len);
drivers/net/wireless/marvell/mwifiex/txrx.c
180
if (adapter->iface_type == MWIFIEX_USB) {
drivers/net/wireless/marvell/mwifiex/txrx.c
181
ret = adapter->if_ops.host_to_card(adapter,
drivers/net/wireless/marvell/mwifiex/txrx.c
185
ret = adapter->if_ops.host_to_card(adapter,
drivers/net/wireless/marvell/mwifiex/txrx.c
191
mwifiex_dbg(adapter, ERROR, "data: -ENOSR is returned\n");
drivers/net/wireless/marvell/mwifiex/txrx.c
195
(adapter->pps_uapsd_mode) &&
drivers/net/wireless/marvell/mwifiex/txrx.c
196
(adapter->tx_lock_flag)) {
drivers/net/wireless/marvell/mwifiex/txrx.c
197
priv->adapter->tx_lock_flag = false;
drivers/net/wireless/marvell/mwifiex/txrx.c
201
skb_queue_head(&adapter->tx_data_q, skb);
drivers/net/wireless/marvell/mwifiex/txrx.c
203
atomic_add(tx_info->aggr_num, &adapter->tx_queued);
drivers/net/wireless/marvell/mwifiex/txrx.c
205
atomic_inc(&adapter->tx_queued);
drivers/net/wireless/marvell/mwifiex/txrx.c
206
mwifiex_dbg(adapter, ERROR, "data: -EBUSY is returned\n");
drivers/net/wireless/marvell/mwifiex/txrx.c
209
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/txrx.c
211
adapter->dbg.num_tx_host_to_card_failure++;
drivers/net/wireless/marvell/mwifiex/txrx.c
212
mwifiex_write_data_complete(adapter, skb, 0, ret);
drivers/net/wireless/marvell/mwifiex/txrx.c
217
mwifiex_write_data_complete(adapter, skb, 0, ret);
drivers/net/wireless/marvell/mwifiex/txrx.c
226
mwifiex_dequeue_tx_queue(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/txrx.c
232
skb = skb_dequeue(&adapter->tx_data_q);
drivers/net/wireless/marvell/mwifiex/txrx.c
238
atomic_sub(tx_info->aggr_num, &adapter->tx_queued);
drivers/net/wireless/marvell/mwifiex/txrx.c
24
int mwifiex_handle_rx_packet(struct mwifiex_adapter *adapter,
drivers/net/wireless/marvell/mwifiex/txrx.c
240
atomic_dec(&adapter->tx_queued);
drivers/net/wireless/marvell/mwifiex/txrx.c
242
if (!skb_queue_empty(&adapter->tx_data_q))
drivers/net/wireless/marvell/mwifiex/txrx.c
243
skb_next = skb_peek(&adapter->tx_data_q);
drivers/net/wireless/marvell/mwifiex/txrx.c
248
if (!mwifiex_wmm_lists_empty(adapter))
drivers/net/wireless/marvell/mwifiex/txrx.c
251
return mwifiex_host_to_card(adapter, skb, &tx_param);
drivers/net/wireless/marvell/mwifiex/txrx.c
255
mwifiex_process_tx_queue(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/txrx.c
258
if (adapter->data_sent || adapter->tx_lock_flag)
drivers/net/wireless/marvell/mwifiex/txrx.c
260
if (mwifiex_dequeue_tx_queue(adapter))
drivers/net/wireless/marvell/mwifiex/txrx.c
262
} while (!skb_queue_empty(&adapter->tx_data_q));
drivers/net/wireless/marvell/mwifiex/txrx.c
272
int mwifiex_write_data_complete(struct mwifiex_adapter *adapter,
drivers/net/wireless/marvell/mwifiex/txrx.c
284
priv = mwifiex_get_priv_by_id(adapter, tx_info->bss_num,
drivers/net/wireless/marvell/mwifiex/txrx.c
292
atomic_dec_return(&adapter->pending_bridged_pkts);
drivers/net/wireless/marvell/mwifiex/txrx.c
310
atomic_dec(&adapter->tx_pending);
drivers/net/wireless/marvell/mwifiex/txrx.c
317
mwifiex_dbg(adapter, DATA, "wake queue: %d\n", index);
drivers/net/wireless/marvell/mwifiex/txrx.c
330
struct tx_status_event *tx_status = (void *)priv->adapter->event_body;
drivers/net/wireless/marvell/mwifiex/txrx.c
34
priv = mwifiex_get_priv_by_id(adapter, local_rx_pd->bss_num &
drivers/net/wireless/marvell/mwifiex/txrx.c
37
priv = mwifiex_get_priv(adapter, MWIFIEX_BSS_ROLE_ANY);
drivers/net/wireless/marvell/mwifiex/txrx.c
40
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/txrx.c
46
mwifiex_dbg_dump(adapter, DAT_D, "rx pkt:", skb->data,
drivers/net/wireless/marvell/mwifiex/txrx.c
75
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/txrx.c
86
hroom = adapter->intf_hdr_len;
drivers/net/wireless/marvell/mwifiex/uap_cmd.c
1022
mwifiex_dbg(priv->adapter,
drivers/net/wireless/marvell/mwifiex/uap_cmd.c
1028
priv->adapter->config_bands = config_bands;
drivers/net/wireless/marvell/mwifiex/uap_cmd.c
1031
mwifiex_send_domain_info_cmd_fw(priv->adapter->wiphy);
drivers/net/wireless/marvell/mwifiex/uap_cmd.c
1042
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/uap_cmd.c
1049
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/uap_cmd.c
148
if (!ISSUPP_11NENABLED(priv->adapter->fw_cap_info))
drivers/net/wireless/marvell/mwifiex/uap_cmd.c
212
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/uap_cmd.c
216
vht_cfg.cap_info = adapter->hw_dot_11ac_dev_cap;
drivers/net/wireless/marvell/mwifiex/uap_cmd.c
454
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/uap_cmd.c
760
if (priv->adapter->host_mlme_enabled) {
drivers/net/wireless/marvell/mwifiex/uap_cmd.c
966
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/uap_cmd.c
978
u8 config_bands = 0, old_bands = priv->adapter->config_bands;
drivers/net/wireless/marvell/mwifiex/uap_event.c
113
(adapter->event_body + MWIFIEX_UAP_EVENT_EXTRA_HEADER);
drivers/net/wireless/marvell/mwifiex/uap_event.c
138
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/uap_event.c
163
deauth_mac = adapter->event_body +
drivers/net/wireless/marvell/mwifiex/uap_event.c
185
mwifiex_dbg(adapter, EVENT,
drivers/net/wireless/marvell/mwifiex/uap_event.c
188
eth_hw_addr_set(priv->netdev, adapter->event_body + 2);
drivers/net/wireless/marvell/mwifiex/uap_event.c
191
mwifiex_check_uap_capabilities(priv, adapter->event_skb);
drivers/net/wireless/marvell/mwifiex/uap_event.c
195
mwifiex_dbg(adapter, EVENT,
drivers/net/wireless/marvell/mwifiex/uap_event.c
199
ctrl = get_unaligned_le16(adapter->event_body);
drivers/net/wireless/marvell/mwifiex/uap_event.c
200
mwifiex_dbg(adapter, EVENT,
drivers/net/wireless/marvell/mwifiex/uap_event.c
204
adapter->tx_buf_size =
drivers/net/wireless/marvell/mwifiex/uap_event.c
205
min_t(u16, adapter->curr_tx_buf_size, ctrl);
drivers/net/wireless/marvell/mwifiex/uap_event.c
206
mwifiex_dbg(adapter, EVENT,
drivers/net/wireless/marvell/mwifiex/uap_event.c
208
adapter->tx_buf_size);
drivers/net/wireless/marvell/mwifiex/uap_event.c
212
mwifiex_dbg(adapter, EVENT, "event: ADDBA Request\n");
drivers/net/wireless/marvell/mwifiex/uap_event.c
216
adapter->event_body, false);
drivers/net/wireless/marvell/mwifiex/uap_event.c
219
mwifiex_dbg(adapter, EVENT, "event: DELBA Request\n");
drivers/net/wireless/marvell/mwifiex/uap_event.c
221
mwifiex_11n_delete_ba_stream(priv, adapter->event_body);
drivers/net/wireless/marvell/mwifiex/uap_event.c
224
mwifiex_dbg(adapter, EVENT, "event: BA Stream timeout\n");
drivers/net/wireless/marvell/mwifiex/uap_event.c
226
ba_timeout = (void *)adapter->event_body;
drivers/net/wireless/marvell/mwifiex/uap_event.c
231
mwifiex_dbg(adapter, EVENT, "event: EXT_SCAN Report\n");
drivers/net/wireless/marvell/mwifiex/uap_event.c
232
if (adapter->ext_scan)
drivers/net/wireless/marvell/mwifiex/uap_event.c
234
adapter->event_skb->data);
drivers/net/wireless/marvell/mwifiex/uap_event.c
237
mwifiex_dbg(adapter, EVENT, "event: TX_STATUS Report\n");
drivers/net/wireless/marvell/mwifiex/uap_event.c
238
mwifiex_parse_tx_status_event(priv, adapter->event_body);
drivers/net/wireless/marvell/mwifiex/uap_event.c
241
mwifiex_dbg(adapter, EVENT, "info: EVENT: SLEEP\n");
drivers/net/wireless/marvell/mwifiex/uap_event.c
243
adapter->ps_state = PS_STATE_PRE_SLEEP;
drivers/net/wireless/marvell/mwifiex/uap_event.c
245
mwifiex_check_ps_cond(adapter);
drivers/net/wireless/marvell/mwifiex/uap_event.c
249
mwifiex_dbg(adapter, EVENT, "info: EVENT: AWAKE\n");
drivers/net/wireless/marvell/mwifiex/uap_event.c
250
if (!adapter->pps_uapsd_mode &&
drivers/net/wireless/marvell/mwifiex/uap_event.c
251
priv->media_connected && adapter->sleep_period.period) {
drivers/net/wireless/marvell/mwifiex/uap_event.c
252
adapter->pps_uapsd_mode = true;
drivers/net/wireless/marvell/mwifiex/uap_event.c
253
mwifiex_dbg(adapter, EVENT,
drivers/net/wireless/marvell/mwifiex/uap_event.c
256
adapter->tx_lock_flag = false;
drivers/net/wireless/marvell/mwifiex/uap_event.c
257
if (adapter->pps_uapsd_mode && adapter->gen_null_pkt) {
drivers/net/wireless/marvell/mwifiex/uap_event.c
259
if (adapter->data_sent ||
drivers/net/wireless/marvell/mwifiex/uap_event.c
260
(adapter->if_ops.is_port_ready &&
drivers/net/wireless/marvell/mwifiex/uap_event.c
261
!adapter->if_ops.is_port_ready(priv))) {
drivers/net/wireless/marvell/mwifiex/uap_event.c
262
adapter->ps_state = PS_STATE_AWAKE;
drivers/net/wireless/marvell/mwifiex/uap_event.c
263
adapter->pm_wakeup_card_req = false;
drivers/net/wireless/marvell/mwifiex/uap_event.c
264
adapter->pm_wakeup_fw_try = false;
drivers/net/wireless/marvell/mwifiex/uap_event.c
271
adapter->ps_state =
drivers/net/wireless/marvell/mwifiex/uap_event.c
276
adapter->ps_state = PS_STATE_AWAKE;
drivers/net/wireless/marvell/mwifiex/uap_event.c
277
adapter->pm_wakeup_card_req = false;
drivers/net/wireless/marvell/mwifiex/uap_event.c
278
adapter->pm_wakeup_fw_try = false;
drivers/net/wireless/marvell/mwifiex/uap_event.c
282
mwifiex_dbg(adapter, EVENT, "event: Channel Report\n");
drivers/net/wireless/marvell/mwifiex/uap_event.c
283
mwifiex_11h_handle_chanrpt_ready(priv, adapter->event_skb);
drivers/net/wireless/marvell/mwifiex/uap_event.c
286
mwifiex_dbg(adapter, EVENT, "event: Radar detected\n");
drivers/net/wireless/marvell/mwifiex/uap_event.c
287
mwifiex_11h_handle_radar_detected(priv, adapter->event_skb);
drivers/net/wireless/marvell/mwifiex/uap_event.c
29
mwifiex_dbg_dump(priv->adapter, EVT_D, "uap capabilities:",
drivers/net/wireless/marvell/mwifiex/uap_event.c
290
mwifiex_dbg(adapter, EVENT, "event: BT coex wlan param update\n");
drivers/net/wireless/marvell/mwifiex/uap_event.c
292
adapter->event_skb);
drivers/net/wireless/marvell/mwifiex/uap_event.c
295
mwifiex_dbg(adapter, EVENT, "event: TX DATA PAUSE\n");
drivers/net/wireless/marvell/mwifiex/uap_event.c
296
mwifiex_process_tx_pause_event(priv, adapter->event_skb);
drivers/net/wireless/marvell/mwifiex/uap_event.c
300
mwifiex_dbg(adapter, EVENT, "event: multi-chan info\n");
drivers/net/wireless/marvell/mwifiex/uap_event.c
301
mwifiex_process_multi_chan_event(priv, adapter->event_skb);
drivers/net/wireless/marvell/mwifiex/uap_event.c
304
dev_dbg(adapter->dev, "EVENT: RXBA_SYNC\n");
drivers/net/wireless/marvell/mwifiex/uap_event.c
305
mwifiex_11n_rxba_sync_event(priv, adapter->event_body,
drivers/net/wireless/marvell/mwifiex/uap_event.c
306
adapter->event_skb->len -
drivers/net/wireless/marvell/mwifiex/uap_event.c
311
mwifiex_dbg(adapter, EVENT,
drivers/net/wireless/marvell/mwifiex/uap_event.c
321
mwifiex_dbg(adapter, EVENT,
drivers/net/wireless/marvell/mwifiex/uap_event.c
58
mwifiex_dbg(priv->adapter, EVENT,
drivers/net/wireless/marvell/mwifiex/uap_event.c
96
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/uap_event.c
98
u32 eventcause = adapter->event_cause;
drivers/net/wireless/marvell/mwifiex/uap_txrx.c
108
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/uap_txrx.c
159
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/uap_txrx.c
166
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/uap_txrx.c
175
mwifiex_dbg(priv->adapter, INFO,
drivers/net/wireless/marvell/mwifiex/uap_txrx.c
213
atomic_inc(&adapter->tx_pending);
drivers/net/wireless/marvell/mwifiex/uap_txrx.c
214
atomic_inc(&adapter->pending_bridged_pkts);
drivers/net/wireless/marvell/mwifiex/uap_txrx.c
216
mwifiex_queue_main_work(priv->adapter);
drivers/net/wireless/marvell/mwifiex/uap_txrx.c
235
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/uap_txrx.c
246
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/uap_txrx.c
259
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/uap_txrx.c
280
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/uap_txrx.c
29
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/uap_txrx.c
313
atomic_inc(&adapter->tx_pending);
drivers/net/wireless/marvell/mwifiex/uap_txrx.c
314
atomic_inc(&adapter->pending_bridged_pkts);
drivers/net/wireless/marvell/mwifiex/uap_txrx.c
315
if ((atomic_read(&adapter->pending_bridged_pkts) >=
drivers/net/wireless/marvell/mwifiex/uap_txrx.c
317
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/uap_txrx.c
323
mwifiex_dbg(adapter, ERROR, "failed to allocate skb_uap");
drivers/net/wireless/marvell/mwifiex/uap_txrx.c
326
mwifiex_queue_main_work(adapter);
drivers/net/wireless/marvell/mwifiex/uap_txrx.c
353
if ((adapter->iface_type == MWIFIEX_USB ||
drivers/net/wireless/marvell/mwifiex/uap_txrx.c
354
adapter->iface_type == MWIFIEX_PCIE) &&
drivers/net/wireless/marvell/mwifiex/uap_txrx.c
376
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/uap_txrx.c
39
mwifiex_write_data_complete(adapter, skb, 0,
drivers/net/wireless/marvell/mwifiex/uap_txrx.c
390
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/uap_txrx.c
402
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/uap_txrx.c
419
mwifiex_dbg(adapter, DATA, "Rx of mgmt packet failed");
drivers/net/wireless/marvell/mwifiex/uap_txrx.c
47
if ((atomic_read(&adapter->pending_bridged_pkts) <=
drivers/net/wireless/marvell/mwifiex/uap_txrx.c
476
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/uap_txrx.c
481
int hroom = adapter->intf_hdr_len;
drivers/net/wireless/marvell/mwifiex/uap_txrx.c
84
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/uap_txrx.c
97
if ((atomic_read(&adapter->pending_bridged_pkts) >=
drivers/net/wireless/marvell/mwifiex/uap_txrx.c
99
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/usb.c
101
adapter->event_cause = le32_to_cpu(tmp);
drivers/net/wireless/marvell/mwifiex/usb.c
102
mwifiex_dbg(adapter, EVENT,
drivers/net/wireless/marvell/mwifiex/usb.c
103
"event_cause %#x\n", adapter->event_cause);
drivers/net/wireless/marvell/mwifiex/usb.c
106
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/usb.c
1067
ret = mwifiex_usb_prepare_tx_aggr_skb(adapter, port, &skb_send);
drivers/net/wireless/marvell/mwifiex/usb.c
1070
ret = mwifiex_usb_construct_send_urb(adapter, port, ep,
drivers/net/wireless/marvell/mwifiex/usb.c
1073
mwifiex_write_data_complete(adapter, skb_send,
drivers/net/wireless/marvell/mwifiex/usb.c
1083
adapter->data_sent =
drivers/net/wireless/marvell/mwifiex/usb.c
1084
mwifiex_usb_data_sent(adapter);
drivers/net/wireless/marvell/mwifiex/usb.c
1100
return mwifiex_usb_construct_send_urb(adapter, port, ep,
drivers/net/wireless/marvell/mwifiex/usb.c
112
memcpy(adapter->event_body, skb->data +
drivers/net/wireless/marvell/mwifiex/usb.c
1129
struct mwifiex_adapter *adapter = timer_context->adapter;
drivers/net/wireless/marvell/mwifiex/usb.c
1134
err = mwifiex_usb_prepare_tx_aggr_skb(adapter, port, &skb_send);
drivers/net/wireless/marvell/mwifiex/usb.c
1136
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/usb.c
1144
adapter->data_sent =
drivers/net/wireless/marvell/mwifiex/usb.c
1145
mwifiex_usb_data_sent(adapter);
drivers/net/wireless/marvell/mwifiex/usb.c
115
adapter->event_received = true;
drivers/net/wireless/marvell/mwifiex/usb.c
1154
err = mwifiex_usb_construct_send_urb(adapter, port, port->tx_data_ep,
drivers/net/wireless/marvell/mwifiex/usb.c
1158
mwifiex_write_data_complete(adapter, skb_send, 0, -1);
drivers/net/wireless/marvell/mwifiex/usb.c
116
adapter->event_skb = skb;
drivers/net/wireless/marvell/mwifiex/usb.c
1164
static int mwifiex_usb_host_to_card(struct mwifiex_adapter *adapter, u8 ep,
drivers/net/wireless/marvell/mwifiex/usb.c
1168
struct usb_card_rec *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/usb.c
1173
if (test_bit(MWIFIEX_IS_SUSPENDED, &adapter->work_flags)) {
drivers/net/wireless/marvell/mwifiex/usb.c
1174
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/usb.c
1179
if (test_bit(MWIFIEX_SURPRISE_REMOVED, &adapter->work_flags)) {
drivers/net/wireless/marvell/mwifiex/usb.c
1180
mwifiex_dbg(adapter, ERROR, "%s: device removed\n", __func__);
drivers/net/wireless/marvell/mwifiex/usb.c
1184
mwifiex_dbg(adapter, INFO, "%s: ep=%d\n", __func__, ep);
drivers/net/wireless/marvell/mwifiex/usb.c
119
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/usb.c
1196
adapter->data_sent =
drivers/net/wireless/marvell/mwifiex/usb.c
1197
mwifiex_usb_data_sent(adapter);
drivers/net/wireless/marvell/mwifiex/usb.c
1207
mwifiex_dbg(adapter, ERROR, "Wrong usb tx data port\n");
drivers/net/wireless/marvell/mwifiex/usb.c
1211
if (adapter->bus_aggr.enable) {
drivers/net/wireless/marvell/mwifiex/usb.c
1213
ret = mwifiex_usb_aggr_tx_data(adapter, ep, skb,
drivers/net/wireless/marvell/mwifiex/usb.c
1222
return mwifiex_usb_construct_send_urb(adapter, port, ep, context, skb);
drivers/net/wireless/marvell/mwifiex/usb.c
1225
static int mwifiex_usb_tx_init(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/usb.c
1227
struct usb_card_rec *card = (struct usb_card_rec *)adapter->card;
drivers/net/wireless/marvell/mwifiex/usb.c
1231
card->tx_cmd.adapter = adapter;
drivers/net/wireless/marvell/mwifiex/usb.c
1249
port->tx_data_list[j].adapter = adapter;
drivers/net/wireless/marvell/mwifiex/usb.c
1257
port->tx_aggr.timer_cnxt.adapter = adapter;
drivers/net/wireless/marvell/mwifiex/usb.c
126
mwifiex_dbg(adapter, DATA, "%s: EP_DATA\n", __func__);
drivers/net/wireless/marvell/mwifiex/usb.c
1268
static int mwifiex_usb_rx_init(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/usb.c
1270
struct usb_card_rec *card = (struct usb_card_rec *)adapter->card;
drivers/net/wireless/marvell/mwifiex/usb.c
1273
card->rx_cmd.adapter = adapter;
drivers/net/wireless/marvell/mwifiex/usb.c
128
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/usb.c
1288
card->rx_data_list[i].adapter = adapter;
drivers/net/wireless/marvell/mwifiex/usb.c
1303
static int mwifiex_register_dev(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/usb.c
1305
struct usb_card_rec *card = (struct usb_card_rec *)adapter->card;
drivers/net/wireless/marvell/mwifiex/usb.c
1307
card->adapter = adapter;
drivers/net/wireless/marvell/mwifiex/usb.c
1312
adapter->tx_buf_size = MWIFIEX_TX_DATA_BUF_SIZE_4K;
drivers/net/wireless/marvell/mwifiex/usb.c
1313
strcpy(adapter->fw_name, USB8997_DEFAULT_FW_NAME);
drivers/net/wireless/marvell/mwifiex/usb.c
1314
adapter->ext_scan = true;
drivers/net/wireless/marvell/mwifiex/usb.c
1318
adapter->tx_buf_size = MWIFIEX_TX_DATA_BUF_SIZE_2K;
drivers/net/wireless/marvell/mwifiex/usb.c
1319
strcpy(adapter->fw_name, USB8766_DEFAULT_FW_NAME);
drivers/net/wireless/marvell/mwifiex/usb.c
1320
adapter->ext_scan = true;
drivers/net/wireless/marvell/mwifiex/usb.c
1324
adapter->tx_buf_size = MWIFIEX_TX_DATA_BUF_SIZE_2K;
drivers/net/wireless/marvell/mwifiex/usb.c
1325
strcpy(adapter->fw_name, USB8801_DEFAULT_FW_NAME);
drivers/net/wireless/marvell/mwifiex/usb.c
1326
adapter->ext_scan = false;
drivers/net/wireless/marvell/mwifiex/usb.c
133
skb_queue_tail(&adapter->rx_data_q, skb);
drivers/net/wireless/marvell/mwifiex/usb.c
1331
adapter->tx_buf_size = MWIFIEX_TX_DATA_BUF_SIZE_2K;
drivers/net/wireless/marvell/mwifiex/usb.c
1332
strcpy(adapter->fw_name, USB8797_DEFAULT_FW_NAME);
drivers/net/wireless/marvell/mwifiex/usb.c
1336
adapter->usb_mc_status = false;
drivers/net/wireless/marvell/mwifiex/usb.c
1337
adapter->usb_mc_setup = false;
drivers/net/wireless/marvell/mwifiex/usb.c
134
adapter->data_received = true;
drivers/net/wireless/marvell/mwifiex/usb.c
1342
static void mwifiex_usb_cleanup_tx_aggr(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/usb.c
1344
struct usb_card_rec *card = (struct usb_card_rec *)adapter->card;
drivers/net/wireless/marvell/mwifiex/usb.c
135
atomic_inc(&adapter->rx_pending);
drivers/net/wireless/marvell/mwifiex/usb.c
1351
if (adapter->bus_aggr.enable)
drivers/net/wireless/marvell/mwifiex/usb.c
1354
mwifiex_write_data_complete(adapter, skb_tmp,
drivers/net/wireless/marvell/mwifiex/usb.c
1363
static void mwifiex_unregister_dev(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/usb.c
1365
struct usb_card_rec *card = (struct usb_card_rec *)adapter->card;
drivers/net/wireless/marvell/mwifiex/usb.c
1369
mwifiex_usb_cleanup_tx_aggr(adapter);
drivers/net/wireless/marvell/mwifiex/usb.c
1371
card->adapter = NULL;
drivers/net/wireless/marvell/mwifiex/usb.c
1374
static int mwifiex_prog_fw_w_helper(struct mwifiex_adapter *adapter,
drivers/net/wireless/marvell/mwifiex/usb.c
138
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/usb.c
1387
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/usb.c
1437
ret = mwifiex_write_data_sync(adapter, buf, &len,
drivers/net/wireless/marvell/mwifiex/usb.c
1441
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/usb.c
1451
ret = mwifiex_read_data_sync(adapter, buf, &len,
drivers/net/wireless/marvell/mwifiex/usb.c
1455
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/usb.c
1467
mwifiex_dbg(adapter, WARN,
drivers/net/wireless/marvell/mwifiex/usb.c
1476
mwifiex_dbg(adapter, MSG,
drivers/net/wireless/marvell/mwifiex/usb.c
1485
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/usb.c
1499
mwifiex_dbg(adapter, MSG,
drivers/net/wireless/marvell/mwifiex/usb.c
1511
static int mwifiex_usb_dnld_fw(struct mwifiex_adapter *adapter,
drivers/net/wireless/marvell/mwifiex/usb.c
1515
struct usb_card_rec *card = (struct usb_card_rec *)adapter->card;
drivers/net/wireless/marvell/mwifiex/usb.c
1518
ret = mwifiex_prog_fw_w_helper(adapter, fw);
drivers/net/wireless/marvell/mwifiex/usb.c
1527
ret = mwifiex_usb_rx_init(adapter);
drivers/net/wireless/marvell/mwifiex/usb.c
1529
ret = mwifiex_usb_tx_init(adapter);
drivers/net/wireless/marvell/mwifiex/usb.c
1534
static void mwifiex_submit_rx_urb(struct mwifiex_adapter *adapter, u8 ep)
drivers/net/wireless/marvell/mwifiex/usb.c
1536
struct usb_card_rec *card = (struct usb_card_rec *)adapter->card;
drivers/net/wireless/marvell/mwifiex/usb.c
1547
static int mwifiex_usb_cmd_event_complete(struct mwifiex_adapter *adapter,
drivers/net/wireless/marvell/mwifiex/usb.c
155
struct mwifiex_adapter *adapter = context->adapter;
drivers/net/wireless/marvell/mwifiex/usb.c
1550
mwifiex_submit_rx_urb(adapter, MWIFIEX_USB_EP_CMD_EVENT);
drivers/net/wireless/marvell/mwifiex/usb.c
1556
static int mwifiex_pm_wakeup_card(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/usb.c
1559
adapter->pm_wakeup_fw_try = false;
drivers/net/wireless/marvell/mwifiex/usb.c
1560
timer_delete(&adapter->wakeup_timer);
drivers/net/wireless/marvell/mwifiex/usb.c
1561
adapter->pm_wakeup_card_req = false;
drivers/net/wireless/marvell/mwifiex/usb.c
1562
adapter->ps_state = PS_STATE_AWAKE;
drivers/net/wireless/marvell/mwifiex/usb.c
1567
static void mwifiex_usb_submit_rem_rx_urbs(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/usb.c
1569
struct usb_card_rec *card = (struct usb_card_rec *)adapter->card;
drivers/net/wireless/marvell/mwifiex/usb.c
1583
mwifiex_pm_wakeup_card_complete(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/usb.c
161
if (!adapter || !adapter->card) {
drivers/net/wireless/marvell/mwifiex/usb.c
166
card = (struct usb_card_rec *)adapter->card;
drivers/net/wireless/marvell/mwifiex/usb.c
174
test_bit(MWIFIEX_SURPRISE_REMOVED, &adapter->work_flags)) {
drivers/net/wireless/marvell/mwifiex/usb.c
175
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/usb.c
187
status = mwifiex_usb_recv(adapter, skb, context->ep);
drivers/net/wireless/marvell/mwifiex/usb.c
189
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/usb.c
193
mwifiex_queue_main_work(adapter);
drivers/net/wireless/marvell/mwifiex/usb.c
203
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/usb.c
211
if (!test_bit(MWIFIEX_IS_SUSPENDED, &adapter->work_flags)) {
drivers/net/wireless/marvell/mwifiex/usb.c
212
mwifiex_dbg(adapter, FATAL,
drivers/net/wireless/marvell/mwifiex/usb.c
214
set_bit(MWIFIEX_SURPRISE_REMOVED, &adapter->work_flags);
drivers/net/wireless/marvell/mwifiex/usb.c
235
if (atomic_read(&adapter->rx_pending) <= HIGH_RX_PENDING) {
drivers/net/wireless/marvell/mwifiex/usb.c
248
struct mwifiex_adapter *adapter = context->adapter;
drivers/net/wireless/marvell/mwifiex/usb.c
249
struct usb_card_rec *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/usb.c
253
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/usb.c
257
mwifiex_dbg(adapter, CMD,
drivers/net/wireless/marvell/mwifiex/usb.c
260
adapter->cmd_sent = false;
drivers/net/wireless/marvell/mwifiex/usb.c
262
mwifiex_dbg(adapter, DATA,
drivers/net/wireless/marvell/mwifiex/usb.c
264
mwifiex_write_data_complete(adapter, context->skb, 0,
drivers/net/wireless/marvell/mwifiex/usb.c
274
adapter->data_sent = false;
drivers/net/wireless/marvell/mwifiex/usb.c
278
mwifiex_multi_chan_resync(adapter);
drivers/net/wireless/marvell/mwifiex/usb.c
280
mwifiex_queue_main_work(adapter);
drivers/net/wireless/marvell/mwifiex/usb.c
287
struct mwifiex_adapter *adapter = ctx->adapter;
drivers/net/wireless/marvell/mwifiex/usb.c
288
struct usb_card_rec *card = (struct usb_card_rec *)adapter->card;
drivers/net/wireless/marvell/mwifiex/usb.c
290
if (test_bit(MWIFIEX_IS_SUSPENDED, &adapter->work_flags)) {
drivers/net/wireless/marvell/mwifiex/usb.c
292
mwifiex_dbg(adapter, INFO, "%s: free rx_cmd skb\n",
drivers/net/wireless/marvell/mwifiex/usb.c
297
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/usb.c
306
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/usb.c
330
mwifiex_dbg(adapter, ERROR, "usb_submit_urb failed\n");
drivers/net/wireless/marvell/mwifiex/usb.c
46
static int mwifiex_usb_recv(struct mwifiex_adapter *adapter,
drivers/net/wireless/marvell/mwifiex/usb.c
53
if (adapter->hs_activated)
drivers/net/wireless/marvell/mwifiex/usb.c
538
struct mwifiex_adapter *adapter;
drivers/net/wireless/marvell/mwifiex/usb.c
54
mwifiex_process_hs_config(adapter);
drivers/net/wireless/marvell/mwifiex/usb.c
545
adapter = card->adapter;
drivers/net/wireless/marvell/mwifiex/usb.c
546
if (!adapter) {
drivers/net/wireless/marvell/mwifiex/usb.c
551
if (unlikely(test_bit(MWIFIEX_IS_SUSPENDED, &adapter->work_flags)))
drivers/net/wireless/marvell/mwifiex/usb.c
552
mwifiex_dbg(adapter, WARN,
drivers/net/wireless/marvell/mwifiex/usb.c
556
if (!mwifiex_enable_hs(adapter)) {
drivers/net/wireless/marvell/mwifiex/usb.c
557
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/usb.c
559
clear_bit(MWIFIEX_IS_HS_ENABLING, &adapter->work_flags);
drivers/net/wireless/marvell/mwifiex/usb.c
57
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/usb.c
570
set_bit(MWIFIEX_IS_SUSPENDED, &adapter->work_flags);
drivers/net/wireless/marvell/mwifiex/usb.c
571
clear_bit(MWIFIEX_IS_HS_ENABLING, &adapter->work_flags);
drivers/net/wireless/marvell/mwifiex/usb.c
605
struct mwifiex_adapter *adapter;
drivers/net/wireless/marvell/mwifiex/usb.c
608
if (!card->adapter) {
drivers/net/wireless/marvell/mwifiex/usb.c
613
adapter = card->adapter;
drivers/net/wireless/marvell/mwifiex/usb.c
615
if (unlikely(!test_bit(MWIFIEX_IS_SUSPENDED, &adapter->work_flags))) {
drivers/net/wireless/marvell/mwifiex/usb.c
616
mwifiex_dbg(adapter, WARN,
drivers/net/wireless/marvell/mwifiex/usb.c
624
clear_bit(MWIFIEX_IS_SUSPENDED, &adapter->work_flags);
drivers/net/wireless/marvell/mwifiex/usb.c
639
if (adapter->hs_activated)
drivers/net/wireless/marvell/mwifiex/usb.c
64
mwifiex_dbg(adapter, EVENT,
drivers/net/wireless/marvell/mwifiex/usb.c
640
mwifiex_cancel_hs(mwifiex_get_priv(adapter,
drivers/net/wireless/marvell/mwifiex/usb.c
650
struct mwifiex_adapter *adapter;
drivers/net/wireless/marvell/mwifiex/usb.c
654
adapter = card->adapter;
drivers/net/wireless/marvell/mwifiex/usb.c
655
if (!adapter || !adapter->priv_num)
drivers/net/wireless/marvell/mwifiex/usb.c
658
if (card->udev->state != USB_STATE_NOTATTACHED && !adapter->mfg_mode) {
drivers/net/wireless/marvell/mwifiex/usb.c
659
mwifiex_deauthenticate_all(adapter);
drivers/net/wireless/marvell/mwifiex/usb.c
661
mwifiex_init_shutdown_fw(mwifiex_get_priv(adapter,
drivers/net/wireless/marvell/mwifiex/usb.c
666
mwifiex_dbg(adapter, FATAL,
drivers/net/wireless/marvell/mwifiex/usb.c
668
mwifiex_remove_card(adapter);
drivers/net/wireless/marvell/mwifiex/usb.c
678
mwifiex_fw_dump_event(mwifiex_get_priv(card->adapter,
drivers/net/wireless/marvell/mwifiex/usb.c
695
static int mwifiex_write_data_sync(struct mwifiex_adapter *adapter, u8 *pbuf,
drivers/net/wireless/marvell/mwifiex/usb.c
698
struct usb_card_rec *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/usb.c
708
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/usb.c
718
static int mwifiex_read_data_sync(struct mwifiex_adapter *adapter, u8 *pbuf,
drivers/net/wireless/marvell/mwifiex/usb.c
721
struct usb_card_rec *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/usb.c
728
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/usb.c
73
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/usb.c
738
static void mwifiex_usb_port_resync(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/usb.c
740
struct usb_card_rec *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/usb.c
745
if (adapter->usb_mc_status) {
drivers/net/wireless/marvell/mwifiex/usb.c
746
for (i = 0; i < adapter->priv_num; i++) {
drivers/net/wireless/marvell/mwifiex/usb.c
747
priv = adapter->priv[i];
drivers/net/wireless/marvell/mwifiex/usb.c
757
for (i = 0; i < adapter->priv_num; i++) {
drivers/net/wireless/marvell/mwifiex/usb.c
758
priv = adapter->priv[i];
drivers/net/wireless/marvell/mwifiex/usb.c
767
for (i = 0; i < adapter->priv_num; i++) {
drivers/net/wireless/marvell/mwifiex/usb.c
768
priv = adapter->priv[i];
drivers/net/wireless/marvell/mwifiex/usb.c
77
} else if (!adapter->curr_cmd) {
drivers/net/wireless/marvell/mwifiex/usb.c
78
mwifiex_dbg(adapter, WARN, "CMD: no curr_cmd\n");
drivers/net/wireless/marvell/mwifiex/usb.c
782
struct usb_card_rec *card = priv->adapter->card;
drivers/net/wireless/marvell/mwifiex/usb.c
79
if (adapter->ps_state == PS_STATE_SLEEP_CFM) {
drivers/net/wireless/marvell/mwifiex/usb.c
793
static inline u8 mwifiex_usb_data_sent(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/usb.c
795
struct usb_card_rec *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/usb.c
805
static int mwifiex_usb_construct_send_urb(struct mwifiex_adapter *adapter,
drivers/net/wireless/marvell/mwifiex/usb.c
81
adapter, skb->data,
drivers/net/wireless/marvell/mwifiex/usb.c
810
struct usb_card_rec *card = adapter->card;
drivers/net/wireless/marvell/mwifiex/usb.c
814
context->adapter = adapter;
drivers/net/wireless/marvell/mwifiex/usb.c
842
adapter->data_sent = mwifiex_usb_data_sent(adapter);
drivers/net/wireless/marvell/mwifiex/usb.c
847
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/usb.c
854
adapter->data_sent = false;
drivers/net/wireless/marvell/mwifiex/usb.c
866
static int mwifiex_usb_prepare_tx_aggr_skb(struct mwifiex_adapter *adapter,
drivers/net/wireless/marvell/mwifiex/usb.c
872
u16 align = adapter->bus_aggr.tx_aggr_align;
drivers/net/wireless/marvell/mwifiex/usb.c
888
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/usb.c
892
mwifiex_write_data_complete(adapter, skb_tmp, 0, -1);
drivers/net/wireless/marvell/mwifiex/usb.c
90
adapter->curr_cmd->resp_skb = skb;
drivers/net/wireless/marvell/mwifiex/usb.c
91
adapter->cmd_resp_received = true;
drivers/net/wireless/marvell/mwifiex/usb.c
928
mwifiex_write_data_complete(adapter, skb_tmp, 0, 0);
drivers/net/wireless/marvell/mwifiex/usb.c
932
(sizeof(struct txpd) + adapter->intf_hdr_len);
drivers/net/wireless/marvell/mwifiex/usb.c
95
mwifiex_dbg(adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/usb.c
951
static int mwifiex_usb_aggr_tx_data(struct mwifiex_adapter *adapter, u8 ep,
drivers/net/wireless/marvell/mwifiex/usb.c
957
u16 align = adapter->bus_aggr.tx_aggr_align;
drivers/net/wireless/marvell/mwifiex/usb.c
961
(struct txpd *)((u8 *)skb->data + adapter->intf_hdr_len);
drivers/net/wireless/marvell/mwifiex/usb.c
975
adapter->bus_aggr.tx_aggr_max_size) {
drivers/net/wireless/marvell/mwifiex/usb.c
984
adapter->bus_aggr.tx_aggr_max_size ||
drivers/net/wireless/marvell/mwifiex/usb.c
986
adapter->bus_aggr.tx_aggr_max_num) {
drivers/net/wireless/marvell/mwifiex/usb.c
998
adapter->bus_aggr.tx_aggr_max_size) {
drivers/net/wireless/marvell/mwifiex/usb.h
49
struct mwifiex_adapter *adapter;
drivers/net/wireless/marvell/mwifiex/usb.h
59
struct mwifiex_adapter *adapter;
drivers/net/wireless/marvell/mwifiex/usb.h
87
struct mwifiex_adapter *adapter;
drivers/net/wireless/marvell/mwifiex/util.c
132
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/util.c
150
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/util.c
153
info->debug_mask = adapter->debug_mask;
drivers/net/wireless/marvell/mwifiex/util.c
157
info->curr_tx_buf_size = (u32) adapter->curr_tx_buf_size;
drivers/net/wireless/marvell/mwifiex/util.c
158
info->tx_buf_size = (u32) adapter->tx_buf_size;
drivers/net/wireless/marvell/mwifiex/util.c
165
info->ps_mode = adapter->ps_mode;
drivers/net/wireless/marvell/mwifiex/util.c
166
info->ps_state = adapter->ps_state;
drivers/net/wireless/marvell/mwifiex/util.c
167
info->is_deep_sleep = adapter->is_deep_sleep;
drivers/net/wireless/marvell/mwifiex/util.c
168
info->pm_wakeup_card_req = adapter->pm_wakeup_card_req;
drivers/net/wireless/marvell/mwifiex/util.c
169
info->pm_wakeup_fw_try = adapter->pm_wakeup_fw_try;
drivers/net/wireless/marvell/mwifiex/util.c
171
&adapter->work_flags);
drivers/net/wireless/marvell/mwifiex/util.c
172
info->hs_activated = adapter->hs_activated;
drivers/net/wireless/marvell/mwifiex/util.c
174
&adapter->work_flags);
drivers/net/wireless/marvell/mwifiex/util.c
176
= adapter->dbg.num_cmd_host_to_card_failure;
drivers/net/wireless/marvell/mwifiex/util.c
178
= adapter->dbg.num_cmd_sleep_cfm_host_to_card_failure;
drivers/net/wireless/marvell/mwifiex/util.c
180
= adapter->dbg.num_tx_host_to_card_failure;
drivers/net/wireless/marvell/mwifiex/util.c
181
info->num_event_deauth = adapter->dbg.num_event_deauth;
drivers/net/wireless/marvell/mwifiex/util.c
182
info->num_event_disassoc = adapter->dbg.num_event_disassoc;
drivers/net/wireless/marvell/mwifiex/util.c
183
info->num_event_link_lost = adapter->dbg.num_event_link_lost;
drivers/net/wireless/marvell/mwifiex/util.c
184
info->num_cmd_deauth = adapter->dbg.num_cmd_deauth;
drivers/net/wireless/marvell/mwifiex/util.c
186
adapter->dbg.num_cmd_assoc_success;
drivers/net/wireless/marvell/mwifiex/util.c
188
adapter->dbg.num_cmd_assoc_failure;
drivers/net/wireless/marvell/mwifiex/util.c
189
info->num_tx_timeout = adapter->dbg.num_tx_timeout;
drivers/net/wireless/marvell/mwifiex/util.c
190
info->timeout_cmd_id = adapter->dbg.timeout_cmd_id;
drivers/net/wireless/marvell/mwifiex/util.c
191
info->timeout_cmd_act = adapter->dbg.timeout_cmd_act;
drivers/net/wireless/marvell/mwifiex/util.c
192
memcpy(info->last_cmd_id, adapter->dbg.last_cmd_id,
drivers/net/wireless/marvell/mwifiex/util.c
193
sizeof(adapter->dbg.last_cmd_id));
drivers/net/wireless/marvell/mwifiex/util.c
194
memcpy(info->last_cmd_act, adapter->dbg.last_cmd_act,
drivers/net/wireless/marvell/mwifiex/util.c
195
sizeof(adapter->dbg.last_cmd_act));
drivers/net/wireless/marvell/mwifiex/util.c
196
info->last_cmd_index = adapter->dbg.last_cmd_index;
drivers/net/wireless/marvell/mwifiex/util.c
197
memcpy(info->last_cmd_resp_id, adapter->dbg.last_cmd_resp_id,
drivers/net/wireless/marvell/mwifiex/util.c
198
sizeof(adapter->dbg.last_cmd_resp_id));
drivers/net/wireless/marvell/mwifiex/util.c
199
info->last_cmd_resp_index = adapter->dbg.last_cmd_resp_index;
drivers/net/wireless/marvell/mwifiex/util.c
200
memcpy(info->last_event, adapter->dbg.last_event,
drivers/net/wireless/marvell/mwifiex/util.c
201
sizeof(adapter->dbg.last_event));
drivers/net/wireless/marvell/mwifiex/util.c
202
info->last_event_index = adapter->dbg.last_event_index;
drivers/net/wireless/marvell/mwifiex/util.c
203
memcpy(info->last_mp_wr_bitmap, adapter->dbg.last_mp_wr_bitmap,
drivers/net/wireless/marvell/mwifiex/util.c
204
sizeof(adapter->dbg.last_mp_wr_bitmap));
drivers/net/wireless/marvell/mwifiex/util.c
205
memcpy(info->last_mp_wr_ports, adapter->dbg.last_mp_wr_ports,
drivers/net/wireless/marvell/mwifiex/util.c
206
sizeof(adapter->dbg.last_mp_wr_ports));
drivers/net/wireless/marvell/mwifiex/util.c
208
adapter->dbg.last_mp_curr_wr_port,
drivers/net/wireless/marvell/mwifiex/util.c
209
sizeof(adapter->dbg.last_mp_curr_wr_port));
drivers/net/wireless/marvell/mwifiex/util.c
210
memcpy(info->last_mp_wr_len, adapter->dbg.last_mp_wr_len,
drivers/net/wireless/marvell/mwifiex/util.c
211
sizeof(adapter->dbg.last_mp_wr_len));
drivers/net/wireless/marvell/mwifiex/util.c
212
info->last_sdio_mp_index = adapter->dbg.last_sdio_mp_index;
drivers/net/wireless/marvell/mwifiex/util.c
213
info->data_sent = adapter->data_sent;
drivers/net/wireless/marvell/mwifiex/util.c
214
info->cmd_sent = adapter->cmd_sent;
drivers/net/wireless/marvell/mwifiex/util.c
215
info->cmd_resp_received = adapter->cmd_resp_received;
drivers/net/wireless/marvell/mwifiex/util.c
241
addr = d[i].addr + (size_t)priv->adapter;
drivers/net/wireless/marvell/mwifiex/util.c
327
mwifiex_dbg(priv->adapter, INFO,
drivers/net/wireless/marvell/mwifiex/util.c
338
mwifiex_dbg(priv->adapter, INFO,
drivers/net/wireless/marvell/mwifiex/util.c
342
mwifiex_dbg(priv->adapter, INFO,
drivers/net/wireless/marvell/mwifiex/util.c
348
mwifiex_dbg(priv->adapter, INFO,
drivers/net/wireless/marvell/mwifiex/util.c
411
mwifiex_dbg(priv->adapter, ERROR,
drivers/net/wireless/marvell/mwifiex/util.c
419
mwifiex_dbg(priv->adapter, ERROR, "invalid rx_pkt_length");
drivers/net/wireless/marvell/mwifiex/util.c
458
mwifiex_dbg(priv->adapter, MSG,
drivers/net/wireless/marvell/mwifiex/util.c
468
mwifiex_dbg(priv->adapter, MSG,
drivers/net/wireless/marvell/mwifiex/util.c
475
(priv->adapter, MSG,
drivers/net/wireless/marvell/mwifiex/util.c
486
if (priv->adapter->host_mlme_enabled &&
drivers/net/wireless/marvell/mwifiex/util.c
489
mwifiex_dbg(priv->adapter, MSG,
drivers/net/wireless/marvell/mwifiex/util.c
493
mwifiex_dbg(priv->adapter, MSG,
drivers/net/wireless/marvell/mwifiex/util.c
497
mwifiex_dbg(priv->adapter, MSG,
drivers/net/wireless/marvell/mwifiex/util.c
501
mwifiex_dbg(priv->adapter, MSG,
drivers/net/wireless/marvell/mwifiex/util.c
505
mwifiex_dbg(priv->adapter, MSG,
drivers/net/wireless/marvell/mwifiex/util.c
568
if ((priv->adapter->iface_type == MWIFIEX_USB ||
drivers/net/wireless/marvell/mwifiex/util.c
569
priv->adapter->iface_type == MWIFIEX_PCIE) &&
drivers/net/wireless/marvell/mwifiex/util.c
586
int mwifiex_complete_cmd(struct mwifiex_adapter *adapter,
drivers/net/wireless/marvell/mwifiex/util.c
590
mwifiex_dbg(adapter, CMD, "cmd completed: status=%d\n",
drivers/net/wireless/marvell/mwifiex/util.c
591
adapter->cmd_wait_q.status);
drivers/net/wireless/marvell/mwifiex/util.c
594
wake_up_interruptible(&adapter->cmd_wait_q.wait);
drivers/net/wireless/marvell/mwifiex/util.c
640
if (!priv || !ISSUPP_TDLS_ENABLED(priv->adapter->fw_cap_info))
drivers/net/wireless/marvell/mwifiex/util.c
654
if (!priv || !ISSUPP_TDLS_ENABLED(priv->adapter->fw_cap_info))
drivers/net/wireless/marvell/mwifiex/util.c
669
if (!priv || !ISSUPP_TDLS_ENABLED(priv->adapter->fw_cap_info))
drivers/net/wireless/marvell/mwifiex/wmm.c
1022
mwifiex_dbg(priv->adapter, INFO,
drivers/net/wireless/marvell/mwifiex/wmm.c
1027
(ht_cap && (priv->adapter->config_bands & BAND_GN ||
drivers/net/wireless/marvell/mwifiex/wmm.c
1028
priv->adapter->config_bands & BAND_AN))) &&
drivers/net/wireless/marvell/mwifiex/wmm.c
1074
mwifiex_dbg(priv->adapter, DATA, "data: WMM: Pkt Delay: %d ms,\t"
drivers/net/wireless/marvell/mwifiex/wmm.c
1084
mwifiex_wmm_get_highest_priolist_ptr(struct mwifiex_adapter *adapter,
drivers/net/wireless/marvell/mwifiex/wmm.c
1094
for (j = adapter->priv_num - 1; j >= 0; --j) {
drivers/net/wireless/marvell/mwifiex/wmm.c
1096
list_for_each_entry(adapter->bss_prio_tbl[j].bss_prio_cur,
drivers/net/wireless/marvell/mwifiex/wmm.c
1097
&adapter->bss_prio_tbl[j].bss_prio_head,
drivers/net/wireless/marvell/mwifiex/wmm.c
1101
priv_tmp = adapter->bss_prio_tbl[j].bss_prio_cur->priv;
drivers/net/wireless/marvell/mwifiex/wmm.c
1108
if (adapter->if_ops.is_port_ready &&
drivers/net/wireless/marvell/mwifiex/wmm.c
1109
!adapter->if_ops.is_port_ready(priv_tmp))
drivers/net/wireless/marvell/mwifiex/wmm.c
113
mwifiex_dbg(adapter, INFO, "info: allocated ra_list %p\n", ra_list);
drivers/net/wireless/marvell/mwifiex/wmm.c
1174
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/wmm.c
1175
struct mwifiex_bss_prio_tbl *tbl = adapter->bss_prio_tbl;
drivers/net/wireless/marvell/mwifiex/wmm.c
1235
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/wmm.c
1240
mwifiex_dbg(adapter, DATA, "data: nothing to send\n");
drivers/net/wireless/marvell/mwifiex/wmm.c
1247
mwifiex_dbg(adapter, DATA,
drivers/net/wireless/marvell/mwifiex/wmm.c
1268
mwifiex_write_data_complete(adapter, skb, 0, -1);
drivers/net/wireless/marvell/mwifiex/wmm.c
1317
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/wmm.c
1329
if (adapter->data_sent || adapter->tx_lock_flag) {
drivers/net/wireless/marvell/mwifiex/wmm.c
1332
skb_queue_tail(&adapter->tx_data_q, skb);
drivers/net/wireless/marvell/mwifiex/wmm.c
1334
atomic_inc(&adapter->tx_queued);
drivers/net/wireless/marvell/mwifiex/wmm.c
1350
if (adapter->iface_type == MWIFIEX_USB) {
drivers/net/wireless/marvell/mwifiex/wmm.c
1351
ret = adapter->if_ops.host_to_card(adapter, priv->usb_port,
drivers/net/wireless/marvell/mwifiex/wmm.c
1354
ret = adapter->if_ops.host_to_card(adapter, MWIFIEX_TYPE_DATA,
drivers/net/wireless/marvell/mwifiex/wmm.c
1360
mwifiex_dbg(adapter, ERROR, "data: -EBUSY is returned\n");
drivers/net/wireless/marvell/mwifiex/wmm.c
1365
mwifiex_write_data_complete(adapter, skb, 0, -1);
drivers/net/wireless/marvell/mwifiex/wmm.c
1375
mwifiex_dbg(adapter, ERROR, "host_to_card failed: %#x\n", ret);
drivers/net/wireless/marvell/mwifiex/wmm.c
1376
adapter->dbg.num_tx_host_to_card_failure++;
drivers/net/wireless/marvell/mwifiex/wmm.c
1377
mwifiex_write_data_complete(adapter, skb, 0, ret);
drivers/net/wireless/marvell/mwifiex/wmm.c
1382
mwifiex_write_data_complete(adapter, skb, 0, ret);
drivers/net/wireless/marvell/mwifiex/wmm.c
1401
mwifiex_dequeue_tx_packet(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/wmm.c
1409
ptr = mwifiex_wmm_get_highest_priolist_ptr(adapter, &priv, &ptr_index);
drivers/net/wireless/marvell/mwifiex/wmm.c
1415
mwifiex_dbg(adapter, DATA, "data: tid=%d\n", tid);
drivers/net/wireless/marvell/mwifiex/wmm.c
142
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/wmm.c
1438
adapter->tx_buf_size))
drivers/net/wireless/marvell/mwifiex/wmm.c
1451
if (mwifiex_space_avail_for_new_ba_stream(adapter)) {
drivers/net/wireless/marvell/mwifiex/wmm.c
1464
adapter->tx_buf_size))
drivers/net/wireless/marvell/mwifiex/wmm.c
147
ra_list = mwifiex_wmm_allocate_ralist_node(adapter, ra);
drivers/net/wireless/marvell/mwifiex/wmm.c
1476
void mwifiex_process_bypass_tx(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/wmm.c
148
mwifiex_dbg(adapter, INFO,
drivers/net/wireless/marvell/mwifiex/wmm.c
1484
if (adapter->data_sent || adapter->tx_lock_flag)
drivers/net/wireless/marvell/mwifiex/wmm.c
1487
for (i = 0; i < adapter->priv_num; ++i) {
drivers/net/wireless/marvell/mwifiex/wmm.c
1488
priv = adapter->priv[i];
drivers/net/wireless/marvell/mwifiex/wmm.c
1490
if (adapter->if_ops.is_port_ready &&
drivers/net/wireless/marvell/mwifiex/wmm.c
1491
!adapter->if_ops.is_port_ready(priv))
drivers/net/wireless/marvell/mwifiex/wmm.c
1507
atomic_dec(&adapter->bypass_tx_pending);
drivers/net/wireless/marvell/mwifiex/wmm.c
1517
mwifiex_wmm_process_tx(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/wmm.c
1520
if (mwifiex_dequeue_tx_packet(adapter))
drivers/net/wireless/marvell/mwifiex/wmm.c
1522
if (adapter->iface_type != MWIFIEX_SDIO) {
drivers/net/wireless/marvell/mwifiex/wmm.c
1523
if (adapter->data_sent ||
drivers/net/wireless/marvell/mwifiex/wmm.c
1524
adapter->tx_lock_flag)
drivers/net/wireless/marvell/mwifiex/wmm.c
1527
if (atomic_read(&adapter->tx_queued) >=
drivers/net/wireless/marvell/mwifiex/wmm.c
1531
} while (!mwifiex_wmm_lists_empty(adapter));
drivers/net/wireless/marvell/mwifiex/wmm.c
179
mwifiex_dbg(adapter, DATA, "data: ralist %p: is_11n_enabled=%d\n",
drivers/net/wireless/marvell/mwifiex/wmm.c
242
mwifiex_dbg(priv->adapter, INFO,
drivers/net/wireless/marvell/mwifiex/wmm.c
259
mwifiex_dbg(priv->adapter, INFO,
drivers/net/wireless/marvell/mwifiex/wmm.c
335
mwifiex_dbg(priv->adapter, INFO, "info: WMM: AC Priorities:\t"
drivers/net/wireless/marvell/mwifiex/wmm.c
348
mwifiex_dbg(priv->adapter, INFO,
drivers/net/wireless/marvell/mwifiex/wmm.c
361
mwifiex_wmm_convert_tos_to_ac(struct mwifiex_adapter *adapter, u32 tos)
drivers/net/wireless/marvell/mwifiex/wmm.c
392
ac = mwifiex_wmm_convert_tos_to_ac(priv->adapter, tid);
drivers/net/wireless/marvell/mwifiex/wmm.c
408
mwifiex_wmm_init(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/wmm.c
413
for (j = 0; j < adapter->priv_num; ++j) {
drivers/net/wireless/marvell/mwifiex/wmm.c
414
priv = adapter->priv[j];
drivers/net/wireless/marvell/mwifiex/wmm.c
420
adapter->tx_buf_size > MWIFIEX_TX_DATA_BUF_SIZE_2K)
drivers/net/wireless/marvell/mwifiex/wmm.c
450
int mwifiex_bypass_txlist_empty(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/wmm.c
455
for (i = 0; i < adapter->priv_num; i++) {
drivers/net/wireless/marvell/mwifiex/wmm.c
456
priv = adapter->priv[i];
drivers/net/wireless/marvell/mwifiex/wmm.c
457
if (adapter->if_ops.is_port_ready &&
drivers/net/wireless/marvell/mwifiex/wmm.c
458
!adapter->if_ops.is_port_ready(priv))
drivers/net/wireless/marvell/mwifiex/wmm.c
471
mwifiex_wmm_lists_empty(struct mwifiex_adapter *adapter)
drivers/net/wireless/marvell/mwifiex/wmm.c
476
for (i = 0; i < adapter->priv_num; ++i) {
drivers/net/wireless/marvell/mwifiex/wmm.c
477
priv = adapter->priv[i];
drivers/net/wireless/marvell/mwifiex/wmm.c
481
if (adapter->if_ops.is_port_ready &&
drivers/net/wireless/marvell/mwifiex/wmm.c
482
!adapter->if_ops.is_port_ready(priv))
drivers/net/wireless/marvell/mwifiex/wmm.c
502
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/wmm.c
507
mwifiex_write_data_complete(adapter, skb, 0, -1);
drivers/net/wireless/marvell/mwifiex/wmm.c
551
mwifiex_dbg(priv->adapter, INFO,
drivers/net/wireless/marvell/mwifiex/wmm.c
592
if (priv->adapter->if_ops.cleanup_mpa_buf)
drivers/net/wireless/marvell/mwifiex/wmm.c
593
priv->adapter->if_ops.cleanup_mpa_buf(priv->adapter);
drivers/net/wireless/marvell/mwifiex/wmm.c
598
if (priv->adapter->if_ops.clean_pcie_ring &&
drivers/net/wireless/marvell/mwifiex/wmm.c
599
!test_bit(MWIFIEX_SURPRISE_REMOVED, &priv->adapter->work_flags))
drivers/net/wireless/marvell/mwifiex/wmm.c
600
priv->adapter->if_ops.clean_pcie_ring(priv->adapter);
drivers/net/wireless/marvell/mwifiex/wmm.c
605
mwifiex_write_data_complete(priv->adapter, skb, 0, -1);
drivers/net/wireless/marvell/mwifiex/wmm.c
610
mwifiex_write_data_complete(priv->adapter, skb, 0, -1);
drivers/net/wireless/marvell/mwifiex/wmm.c
612
atomic_set(&priv->adapter->bypass_tx_pending, 0);
drivers/net/wireless/marvell/mwifiex/wmm.c
811
struct mwifiex_adapter *adapter = priv->adapter;
drivers/net/wireless/marvell/mwifiex/wmm.c
823
ISSUPP_TDLS_ENABLED(adapter->fw_cap_info)) {
drivers/net/wireless/marvell/mwifiex/wmm.c
825
mwifiex_dbg(adapter, DATA,
drivers/net/wireless/marvell/mwifiex/wmm.c
833
mwifiex_dbg(adapter, DATA, "data: drop packet in disconnect\n");
drivers/net/wireless/marvell/mwifiex/wmm.c
834
mwifiex_write_data_complete(adapter, skb, 0, -1);
drivers/net/wireless/marvell/mwifiex/wmm.c
877
mwifiex_write_data_complete(adapter, skb, 0, -1);
drivers/net/wireless/marvell/mwifiex/wmm.c
923
mwifiex_dbg(priv->adapter, INFO,
drivers/net/wireless/marvell/mwifiex/wmm.c
939
mwifiex_dbg(priv->adapter, CMD,
drivers/net/wireless/marvell/mwifiex/wmm.c
967
mwifiex_dbg(priv->adapter, CMD,
drivers/net/wireless/marvell/mwifiex/wmm.c
98
mwifiex_wmm_allocate_ralist_node(struct mwifiex_adapter *adapter, const u8 *ra)
drivers/net/wireless/marvell/mwifiex/wmm.h
67
int mwifiex_wmm_lists_empty(struct mwifiex_adapter *adapter);
drivers/net/wireless/marvell/mwifiex/wmm.h
68
int mwifiex_bypass_txlist_empty(struct mwifiex_adapter *adapter);
drivers/net/wireless/marvell/mwifiex/wmm.h
69
void mwifiex_wmm_process_tx(struct mwifiex_adapter *adapter);
drivers/net/wireless/marvell/mwifiex/wmm.h
70
void mwifiex_process_bypass_tx(struct mwifiex_adapter *adapter);
drivers/net/wireless/marvell/mwifiex/wmm.h
76
void mwifiex_wmm_init(struct mwifiex_adapter *adapter);
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8192e2ant.c
1013
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8192e2ant.c
1036
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8192e2ant.c
1110
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8192e2ant.c
1126
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8192e2ant.c
1153
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8192e2ant.c
1197
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8192e2ant.c
1336
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8192e2ant.c
1373
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8192e2ant.c
1439
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8192e2ant.c
1579
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8192e2ant.c
162
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8192e2ant.c
1953
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8192e2ant.c
2464
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8192e2ant.c
2576
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8192e2ant.c
2660
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8192e2ant.c
2876
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8192e2ant.c
2892
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8192e2ant.c
2907
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8192e2ant.c
2919
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8192e2ant.c
2932
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8192e2ant.c
2978
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8192e2ant.c
2988
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8192e2ant.c
3146
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8192e2ant.c
3156
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8192e2ant.c
35
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8192e2ant.c
381
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8192e2ant.c
414
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8192e2ant.c
519
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8192e2ant.c
726
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8192e2ant.c
745
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8192e2ant.c
760
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8192e2ant.c
780
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8192e2ant.c
800
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8192e2ant.c
826
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8192e2ant.c
853
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8192e2ant.c
878
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8192e2ant.c
905
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8192e2ant.c
927
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8192e2ant.c
960
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8192e2ant.c
97
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8192e2ant.c
987
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8723b1ant.c
1421
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8723b1ant.c
1671
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8723b1ant.c
2026
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8723b1ant.c
2142
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8723b1ant.c
2312
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8723b1ant.c
2359
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8723b1ant.c
2436
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8723b1ant.c
2714
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8723b1ant.c
2743
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8723b1ant.c
2761
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8723b1ant.c
2847
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8723b1ant.c
2918
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8723b1ant.c
2999
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8723b1ant.c
3076
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8723b1ant.c
3320
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8723b1ant.c
3357
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8723b1ant.c
3379
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8723b1ant.c
3414
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8723b1ant.c
457
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8723b1ant.c
497
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8723b1ant.c
521
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8723b1ant.c
633
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8723b1ant.c
649
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8723b1ant.c
675
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8723b1ant.c
732
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8723b1ant.c
763
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8723b1ant.c
775
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8723b2ant.c
1031
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8723b2ant.c
1056
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8723b2ant.c
1210
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8723b2ant.c
133
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8723b2ant.c
1568
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8723b2ant.c
1610
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8723b2ant.c
1630
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8723b2ant.c
1671
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8723b2ant.c
1783
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8723b2ant.c
247
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8723b2ant.c
330
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8723b2ant.c
3347
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8723b2ant.c
3531
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8723b2ant.c
3632
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8723b2ant.c
3853
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8723b2ant.c
3874
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8723b2ant.c
3889
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8723b2ant.c
3913
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8723b2ant.c
3926
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8723b2ant.c
3975
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8723b2ant.c
3985
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8723b2ant.c
4165
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8723b2ant.c
4176
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8723b2ant.c
4203
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8723b2ant.c
44
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8723b2ant.c
440
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8723b2ant.c
636
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8723b2ant.c
655
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8723b2ant.c
669
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8723b2ant.c
722
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8723b2ant.c
748
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8723b2ant.c
772
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8723b2ant.c
797
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8723b2ant.c
819
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8723b2ant.c
852
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8723b2ant.c
876
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8723b2ant.c
988
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8821a1ant.c
1005
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8821a1ant.c
1247
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8821a1ant.c
134
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8821a1ant.c
1732
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8821a1ant.c
1820
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8821a1ant.c
1890
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8821a1ant.c
2029
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8821a1ant.c
2087
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8821a1ant.c
2339
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8821a1ant.c
2375
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8821a1ant.c
2393
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8821a1ant.c
2477
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8821a1ant.c
2550
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8821a1ant.c
2607
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8821a1ant.c
2690
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8821a1ant.c
2858
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8821a1ant.c
2885
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8821a1ant.c
2926
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8821a1ant.c
393
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8821a1ant.c
46
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8821a1ant.c
465
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8821a1ant.c
649
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8821a1ant.c
689
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8821a1ant.c
712
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8821a1ant.c
783
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8821a1ant.c
799
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8821a1ant.c
824
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8821a1ant.c
879
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8821a1ant.c
910
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8821a2ant.c
1007
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8821a2ant.c
1033
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8821a2ant.c
1124
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8821a2ant.c
136
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8821a2ant.c
1450
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8821a2ant.c
1498
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8821a2ant.c
1516
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8821a2ant.c
1575
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8821a2ant.c
1698
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8821a2ant.c
248
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8821a2ant.c
326
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8821a2ant.c
3367
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8821a2ant.c
3546
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8821a2ant.c
3615
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8821a2ant.c
3825
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8821a2ant.c
3846
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8821a2ant.c
3861
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8821a2ant.c
3874
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8821a2ant.c
3888
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8821a2ant.c
3937
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8821a2ant.c
3948
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8821a2ant.c
4147
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8821a2ant.c
4159
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8821a2ant.c
4177
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8821a2ant.c
431
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8821a2ant.c
45
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8821a2ant.c
620
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8821a2ant.c
639
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8821a2ant.c
654
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8821a2ant.c
678
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8821a2ant.c
705
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8821a2ant.c
732
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8821a2ant.c
758
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8821a2ant.c
780
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8821a2ant.c
815
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8821a2ant.c
838
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8821a2ant.c
964
struct rtl_priv *rtlpriv = btcoex->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
1000
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
1009
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
1018
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
1027
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
1037
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
1093
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
113
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
1277
wifionly_cfg->adapter = rtlpriv;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
1303
bool exhalbtc_bind_bt_coex_withadapter(void *adapter)
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
1305
struct rtl_priv *rtlpriv = adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
1330
btcoexist->adapter = adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
1378
if (IS_HARDWARE_TYPE_8723B(btcoexist->adapter)) {
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
1393
if (IS_HARDWARE_TYPE_8723B(btcoexist->adapter)) {
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
1406
if (IS_HARDWARE_TYPE_8821(btcoexist->adapter)) {
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
1411
} else if (IS_HARDWARE_TYPE_8723B(btcoexist->adapter)) {
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
1416
} else if (IS_HARDWARE_TYPE_8723A(btcoexist->adapter)) {
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
1418
} else if (IS_HARDWARE_TYPE_8192E(btcoexist->adapter)) {
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
1435
if (IS_HARDWARE_TYPE_8821(btcoexist->adapter)) {
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
1440
} else if (IS_HARDWARE_TYPE_8723B(btcoexist->adapter)) {
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
1445
} else if (IS_HARDWARE_TYPE_8192E(btcoexist->adapter)) {
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
1470
if (IS_HARDWARE_TYPE_8821(btcoexist->adapter)) {
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
1475
} else if (IS_HARDWARE_TYPE_8723B(btcoexist->adapter)) {
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
1480
} else if (IS_HARDWARE_TYPE_8192E(btcoexist->adapter)) {
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
1503
if (IS_HARDWARE_TYPE_8821(btcoexist->adapter)) {
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
1508
} else if (IS_HARDWARE_TYPE_8723B(btcoexist->adapter)) {
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
1513
} else if (IS_HARDWARE_TYPE_8192E(btcoexist->adapter)) {
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
1536
if (IS_HARDWARE_TYPE_8821(btcoexist->adapter)) {
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
1541
} else if (IS_HARDWARE_TYPE_8723B(btcoexist->adapter)) {
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
1546
} else if (IS_HARDWARE_TYPE_8192E(btcoexist->adapter)) {
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
1579
if (IS_HARDWARE_TYPE_8821(btcoexist->adapter)) {
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
1584
} else if (IS_HARDWARE_TYPE_8723B(btcoexist->adapter)) {
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
1589
} else if (IS_HARDWARE_TYPE_8192E(btcoexist->adapter)) {
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
1615
if (IS_HARDWARE_TYPE_8821(btcoexist->adapter)) {
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
1620
} else if (IS_HARDWARE_TYPE_8723B(btcoexist->adapter)) {
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
1625
} else if (IS_HARDWARE_TYPE_8192E(btcoexist->adapter)) {
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
164
if (IS_HARDWARE_TYPE_8812(btcoexist->adapter))
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
1656
if (IS_HARDWARE_TYPE_8821(btcoexist->adapter)) {
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
1663
} else if (IS_HARDWARE_TYPE_8723B(btcoexist->adapter)) {
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
1670
} else if (IS_HARDWARE_TYPE_8192E(btcoexist->adapter)) {
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
1688
if (IS_HARDWARE_TYPE_8821(btcoexist->adapter)) {
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
1695
} else if (IS_HARDWARE_TYPE_8723B(btcoexist->adapter)) {
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
1702
} else if (IS_HARDWARE_TYPE_8192E(btcoexist->adapter)) {
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
1716
if (IS_HARDWARE_TYPE_8821(btcoexist->adapter)) {
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
1721
} else if (IS_HARDWARE_TYPE_8723B(btcoexist->adapter)) {
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
1726
} else if (IS_HARDWARE_TYPE_8192E(btcoexist->adapter)) {
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
1744
if (IS_HARDWARE_TYPE_8723B(btcoexist->adapter)) {
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
1749
} else if (IS_HARDWARE_TYPE_8821(btcoexist->adapter)) {
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
1754
} else if (IS_HARDWARE_TYPE_8192E(btcoexist->adapter)) {
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
1766
if (IS_HARDWARE_TYPE_8821(btcoexist->adapter)) {
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
1772
} else if (IS_HARDWARE_TYPE_8723B(btcoexist->adapter)) {
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
1777
} else if (IS_HARDWARE_TYPE_8192E(btcoexist->adapter)) {
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
184
rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
1859
if (IS_HARDWARE_TYPE_8821(btcoexist->adapter)) {
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
1864
} else if (IS_HARDWARE_TYPE_8723B(btcoexist->adapter)) {
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
1869
} else if (IS_HARDWARE_TYPE_8192E(btcoexist->adapter)) {
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
25
if (!btcoexist->binded || NULL == btcoexist->adapter)
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
259
rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
281
rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
302
rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
314
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
349
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
476
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
48
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
506
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
63
static bool halbtc_legacy(struct rtl_priv *adapter)
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
65
struct rtl_priv *rtlpriv = adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
76
bool halbtc_is_wifi_uplink(struct rtl_priv *adapter)
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
78
struct rtl_priv *rtlpriv = adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
809
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
88
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
898
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
906
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
914
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
922
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
931
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
951
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
960
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
969
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
983
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
991
struct rtl_priv *rtlpriv = btcoexist->adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.h
667
void *adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.h
738
bool halbtc_is_wifi_uplink(struct rtl_priv *adapter);
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.h
749
bool exhalbtc_bind_bt_coex_withadapter(void *adapter);
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.h
810
void *adapter;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.h
819
struct rtl_priv *rtlpriv = (struct rtl_priv *)wifi_conly_cfg->adapter;
drivers/net/wireless/rsi/rsi_91x_core.c
113
vif = rsi_get_vif(adapter, wh->addr2);
drivers/net/wireless/rsi/rsi_91x_core.c
114
r_txop = ieee80211_generic_frame_duration(adapter->hw,
drivers/net/wireless/rsi/rsi_91x_core.c
263
struct rsi_hw *adapter = common->priv;
drivers/net/wireless/rsi/rsi_91x_core.c
284
status = adapter->check_hw_queue_status(adapter, q_num);
drivers/net/wireless/rsi/rsi_91x_core.c
293
if (ieee80211_queue_stopped(adapter->hw, WME_AC(q_num)))
drivers/net/wireless/rsi/rsi_91x_core.c
294
ieee80211_wake_queue(adapter->hw,
drivers/net/wireless/rsi/rsi_91x_core.c
352
struct ieee80211_vif *rsi_get_vif(struct rsi_hw *adapter, u8 *mac)
drivers/net/wireless/rsi/rsi_91x_core.c
358
vif = adapter->vifs[i];
drivers/net/wireless/rsi/rsi_91x_core.c
376
struct rsi_hw *adapter = common->priv;
drivers/net/wireless/rsi/rsi_91x_core.c
407
vif = rsi_get_vif(adapter, wh->addr2);
drivers/net/wireless/rsi/rsi_91x_core.c
485
if (!ieee80211_queue_stopped(adapter->hw, WME_AC(q_num)))
drivers/net/wireless/rsi/rsi_91x_core.c
486
ieee80211_stop_queue(adapter->hw, WME_AC(q_num));
drivers/net/wireless/rsi/rsi_91x_core.c
93
struct rsi_hw *adapter = common->priv;
drivers/net/wireless/rsi/rsi_91x_debugfs.c
280
int rsi_init_dbgfs(struct rsi_hw *adapter)
drivers/net/wireless/rsi/rsi_91x_debugfs.c
282
struct rsi_common *common = adapter->priv;
drivers/net/wireless/rsi/rsi_91x_debugfs.c
292
adapter->dfsentry = dev_dbgfs;
drivers/net/wireless/rsi/rsi_91x_debugfs.c
295
wiphy_name(adapter->hw->wiphy));
drivers/net/wireless/rsi/rsi_91x_debugfs.c
299
for (ii = 0; ii < adapter->num_debugfs_entries; ii++) {
drivers/net/wireless/rsi/rsi_91x_debugfs.c
30
struct rsi_hw *adapter = common->priv;
drivers/net/wireless/rsi/rsi_91x_debugfs.c
31
struct rsi_91x_sdiodev *dev = adapter->rsi_dev;
drivers/net/wireless/rsi/rsi_91x_debugfs.c
319
void rsi_remove_dbgfs(struct rsi_hw *adapter)
drivers/net/wireless/rsi/rsi_91x_debugfs.c
321
struct rsi_debugfs *dev_dbgfs = adapter->dfsentry;
drivers/net/wireless/rsi/rsi_91x_hal.c
1003
static int rsi_load_9116_firmware(struct rsi_hw *adapter)
drivers/net/wireless/rsi/rsi_91x_hal.c
1005
struct rsi_common *common = adapter->priv;
drivers/net/wireless/rsi/rsi_91x_hal.c
1006
struct rsi_host_intf_ops *hif_ops = adapter->host_intf_ops;
drivers/net/wireless/rsi/rsi_91x_hal.c
1012
u16 block_size = adapter->block_size;
drivers/net/wireless/rsi/rsi_91x_hal.c
1018
if (adapter->rsi_host_intf == RSI_HOST_INTF_USB) {
drivers/net/wireless/rsi/rsi_91x_hal.c
1019
status = bl_cmd(adapter, POLLING_MODE, CMD_PASS,
drivers/net/wireless/rsi/rsi_91x_hal.c
1025
status = hif_ops->master_reg_write(adapter, MEM_ACCESS_CTRL_FROM_HOST,
drivers/net/wireless/rsi/rsi_91x_hal.c
1034
metadata_p = &metadata[adapter->priv->coex_mode];
drivers/net/wireless/rsi/rsi_91x_hal.c
1036
status = request_firmware(&fw_entry, metadata_p->name, adapter->device);
drivers/net/wireless/rsi/rsi_91x_hal.c
1080
status = hif_ops->load_data_master_write(adapter, dest,
drivers/net/wireless/rsi/rsi_91x_hal.c
1097
status = hif_ops->load_data_master_write(adapter,
drivers/net/wireless/rsi/rsi_91x_hal.c
1113
if (adapter->rsi_host_intf == RSI_HOST_INTF_SDIO) {
drivers/net/wireless/rsi/rsi_91x_hal.c
1114
if (hif_ops->ta_reset(adapter))
drivers/net/wireless/rsi/rsi_91x_hal.c
1117
if (bl_cmd(adapter, JUMP_TO_ZERO_PC,
drivers/net/wireless/rsi/rsi_91x_hal.c
1132
int rsi_hal_device_init(struct rsi_hw *adapter)
drivers/net/wireless/rsi/rsi_91x_hal.c
1134
struct rsi_common *common = adapter->priv;
drivers/net/wireless/rsi/rsi_91x_hal.c
1137
switch (adapter->device_model) {
drivers/net/wireless/rsi/rsi_91x_hal.c
1139
status = rsi_hal_prepare_fwload(adapter);
drivers/net/wireless/rsi/rsi_91x_hal.c
1142
if (rsi_load_9113_firmware(adapter)) {
drivers/net/wireless/rsi/rsi_91x_hal.c
1150
status = rsi_hal_prepare_fwload(adapter);
drivers/net/wireless/rsi/rsi_91x_hal.c
1153
if (rsi_load_9116_firmware(adapter)) {
drivers/net/wireless/rsi/rsi_91x_hal.c
154
struct rsi_hw *adapter = common->priv;
drivers/net/wireless/rsi/rsi_91x_hal.c
206
(adapter->ps_state == PS_ENABLED))
drivers/net/wireless/rsi/rsi_91x_hal.c
299
struct rsi_hw *adapter = common->priv;
drivers/net/wireless/rsi/rsi_91x_hal.c
325
rsi_indicate_tx_status(adapter, skb, status);
drivers/net/wireless/rsi/rsi_91x_hal.c
340
struct rsi_hw *adapter = common->priv;
drivers/net/wireless/rsi/rsi_91x_hal.c
354
status = adapter->host_intf_ops->write_pkt(common->priv,
drivers/net/wireless/rsi/rsi_91x_hal.c
427
struct rsi_hw *adapter = common->priv;
drivers/net/wireless/rsi/rsi_91x_hal.c
43
struct rsi_hw *adapter = common->priv;
drivers/net/wireless/rsi/rsi_91x_hal.c
437
vif = adapter->vifs[i];
drivers/net/wireless/rsi/rsi_91x_hal.c
446
mac_bcn = ieee80211_beacon_get_tim(adapter->hw,
drivers/net/wireless/rsi/rsi_91x_hal.c
49
status = adapter->host_intf_ops->write_pkt(common->priv,
drivers/net/wireless/rsi/rsi_91x_hal.c
493
struct rsi_hw *adapter = timer_container_of(adapter, t, bl_cmd_timer);
drivers/net/wireless/rsi/rsi_91x_hal.c
495
adapter->blcmd_timer_expired = true;
drivers/net/wireless/rsi/rsi_91x_hal.c
496
timer_delete(&adapter->bl_cmd_timer);
drivers/net/wireless/rsi/rsi_91x_hal.c
499
static int bl_start_cmd_timer(struct rsi_hw *adapter, u32 timeout)
drivers/net/wireless/rsi/rsi_91x_hal.c
501
timer_setup(&adapter->bl_cmd_timer, bl_cmd_timeout, 0);
drivers/net/wireless/rsi/rsi_91x_hal.c
502
adapter->bl_cmd_timer.expires = (msecs_to_jiffies(timeout) + jiffies);
drivers/net/wireless/rsi/rsi_91x_hal.c
504
adapter->blcmd_timer_expired = false;
drivers/net/wireless/rsi/rsi_91x_hal.c
505
add_timer(&adapter->bl_cmd_timer);
drivers/net/wireless/rsi/rsi_91x_hal.c
510
static int bl_stop_cmd_timer(struct rsi_hw *adapter)
drivers/net/wireless/rsi/rsi_91x_hal.c
512
adapter->blcmd_timer_expired = false;
drivers/net/wireless/rsi/rsi_91x_hal.c
513
if (timer_pending(&adapter->bl_cmd_timer))
drivers/net/wireless/rsi/rsi_91x_hal.c
514
timer_delete(&adapter->bl_cmd_timer);
drivers/net/wireless/rsi/rsi_91x_hal.c
519
static int bl_write_cmd(struct rsi_hw *adapter, u8 cmd, u8 exp_resp,
drivers/net/wireless/rsi/rsi_91x_hal.c
522
struct rsi_host_intf_ops *hif_ops = adapter->host_intf_ops;
drivers/net/wireless/rsi/rsi_91x_hal.c
528
regin_input = (REGIN_INPUT | adapter->priv->coex_mode);
drivers/net/wireless/rsi/rsi_91x_hal.c
530
while (!adapter->blcmd_timer_expired) {
drivers/net/wireless/rsi/rsi_91x_hal.c
532
status = hif_ops->master_reg_read(adapter, SWBL_REGIN,
drivers/net/wireless/rsi/rsi_91x_hal.c
544
if (adapter->blcmd_timer_expired) {
drivers/net/wireless/rsi/rsi_91x_hal.c
554
status = hif_ops->master_reg_write(adapter, SWBL_REGIN,
drivers/net/wireless/rsi/rsi_91x_hal.c
567
while (!adapter->blcmd_timer_expired) {
drivers/net/wireless/rsi/rsi_91x_hal.c
569
status = hif_ops->master_reg_read(adapter, SWBL_REGOUT,
drivers/net/wireless/rsi/rsi_91x_hal.c
581
if (adapter->blcmd_timer_expired) {
drivers/net/wireless/rsi/rsi_91x_hal.c
592
status = hif_ops->master_reg_write(adapter, SWBL_REGOUT,
drivers/net/wireless/rsi/rsi_91x_hal.c
60
struct rsi_hw *adapter = common->priv;
drivers/net/wireless/rsi/rsi_91x_hal.c
615
static int bl_cmd(struct rsi_hw *adapter, u8 cmd, u8 exp_resp, char *str)
drivers/net/wireless/rsi/rsi_91x_hal.c
626
bl_start_cmd_timer(adapter, timeout);
drivers/net/wireless/rsi/rsi_91x_hal.c
627
status = bl_write_cmd(adapter, cmd, exp_resp, ®out_val);
drivers/net/wireless/rsi/rsi_91x_hal.c
629
bl_stop_cmd_timer(adapter);
drivers/net/wireless/rsi/rsi_91x_hal.c
63
struct ieee80211_conf *conf = &adapter->hw->conf;
drivers/net/wireless/rsi/rsi_91x_hal.c
635
bl_stop_cmd_timer(adapter);
drivers/net/wireless/rsi/rsi_91x_hal.c
642
static int bl_write_header(struct rsi_hw *adapter, u8 *flash_content,
drivers/net/wireless/rsi/rsi_91x_hal.c
645
struct rsi_host_intf_ops *hif_ops = adapter->host_intf_ops;
drivers/net/wireless/rsi/rsi_91x_hal.c
655
bl_hdr->image_no = cpu_to_le32(adapter->priv->coex_mode);
drivers/net/wireless/rsi/rsi_91x_hal.c
663
if (adapter->rsi_host_intf == RSI_HOST_INTF_USB) {
drivers/net/wireless/rsi/rsi_91x_hal.c
665
status = hif_ops->write_reg_multiple(adapter, write_addr,
drivers/net/wireless/rsi/rsi_91x_hal.c
675
status = hif_ops->master_access_msword(adapter, write_addr);
drivers/net/wireless/rsi/rsi_91x_hal.c
684
status = hif_ops->write_reg_multiple(adapter, write_addr,
drivers/net/wireless/rsi/rsi_91x_hal.c
699
static u32 read_flash_capacity(struct rsi_hw *adapter)
drivers/net/wireless/rsi/rsi_91x_hal.c
703
if ((adapter->host_intf_ops->master_reg_read(adapter, FLASH_SIZE_ADDR,
drivers/net/wireless/rsi/rsi_91x_hal.c
715
static int ping_pong_write(struct rsi_hw *adapter, u8 cmd, u8 *addr, u32 size)
drivers/net/wireless/rsi/rsi_91x_hal.c
717
struct rsi_host_intf_ops *hif_ops = adapter->host_intf_ops;
drivers/net/wireless/rsi/rsi_91x_hal.c
718
u32 block_size = adapter->block_size;
drivers/net/wireless/rsi/rsi_91x_hal.c
736
status = hif_ops->load_data_master_write(adapter, cmd_addr, size,
drivers/net/wireless/rsi/rsi_91x_hal.c
744
status = bl_cmd(adapter, cmd_req, cmd_resp, str);
drivers/net/wireless/rsi/rsi_91x_hal.c
751
static int auto_fw_upgrade(struct rsi_hw *adapter, u8 *flash_content,
drivers/net/wireless/rsi/rsi_91x_hal.c
783
if ((flash_start_address + content_size) > adapter->flash_capacity) {
drivers/net/wireless/rsi/rsi_91x_hal.c
819
status = ping_pong_write(adapter, cmd, flash_content,
drivers/net/wireless/rsi/rsi_91x_hal.c
833
status = bl_cmd(adapter, EOF_REACHED, FW_LOADING_SUCCESSFUL,
drivers/net/wireless/rsi/rsi_91x_hal.c
842
static int rsi_hal_prepare_fwload(struct rsi_hw *adapter)
drivers/net/wireless/rsi/rsi_91x_hal.c
844
struct rsi_host_intf_ops *hif_ops = adapter->host_intf_ops;
drivers/net/wireless/rsi/rsi_91x_hal.c
848
bl_start_cmd_timer(adapter, BL_CMD_TIMEOUT);
drivers/net/wireless/rsi/rsi_91x_hal.c
850
while (!adapter->blcmd_timer_expired) {
drivers/net/wireless/rsi/rsi_91x_hal.c
851
status = hif_ops->master_reg_read(adapter, SWBL_REGOUT,
drivers/net/wireless/rsi/rsi_91x_hal.c
855
bl_stop_cmd_timer(adapter);
drivers/net/wireless/rsi/rsi_91x_hal.c
864
if (adapter->blcmd_timer_expired) {
drivers/net/wireless/rsi/rsi_91x_hal.c
870
bl_stop_cmd_timer(adapter);
drivers/net/wireless/rsi/rsi_91x_hal.c
875
status = hif_ops->master_reg_write(adapter, SWBL_REGOUT,
drivers/net/wireless/rsi/rsi_91x_hal.c
888
static int rsi_load_9113_firmware(struct rsi_hw *adapter)
drivers/net/wireless/rsi/rsi_91x_hal.c
890
struct rsi_common *common = adapter->priv;
drivers/net/wireless/rsi/rsi_91x_hal.c
897
status = bl_cmd(adapter, AUTO_READ_MODE, CMD_PASS,
drivers/net/wireless/rsi/rsi_91x_hal.c
902
adapter->flash_capacity = read_flash_capacity(adapter);
drivers/net/wireless/rsi/rsi_91x_hal.c
903
if (adapter->flash_capacity <= 0) {
drivers/net/wireless/rsi/rsi_91x_hal.c
910
metadata_p = &metadata_flash_content[adapter->priv->coex_mode];
drivers/net/wireless/rsi/rsi_91x_hal.c
913
adapter->fw_file_name = metadata_p->name;
drivers/net/wireless/rsi/rsi_91x_hal.c
915
status = request_firmware(&fw_entry, metadata_p->name, adapter->device);
drivers/net/wireless/rsi/rsi_91x_hal.c
938
status = bl_write_header(adapter, (u8 *)fw_entry->data, content_size);
drivers/net/wireless/rsi/rsi_91x_hal.c
946
bl_start_cmd_timer(adapter, BL_CMD_TIMEOUT);
drivers/net/wireless/rsi/rsi_91x_hal.c
947
status = bl_write_cmd(adapter, CHECK_CRC, CMD_PASS, &tmp_regout_val);
drivers/net/wireless/rsi/rsi_91x_hal.c
949
bl_stop_cmd_timer(adapter);
drivers/net/wireless/rsi/rsi_91x_hal.c
959
bl_stop_cmd_timer(adapter);
drivers/net/wireless/rsi/rsi_91x_hal.c
961
status = bl_cmd(adapter, POLLING_MODE, CMD_PASS, "POLLING_MODE");
drivers/net/wireless/rsi/rsi_91x_hal.c
966
status = bl_cmd(adapter, LOAD_HOSTED_FW, LOADING_INITIATED,
drivers/net/wireless/rsi/rsi_91x_hal.c
974
status = bl_cmd(adapter, BURN_HOSTED_FW, SEND_RPS_FILE, "FW_UPGRADE");
drivers/net/wireless/rsi/rsi_91x_hal.c
980
status = auto_fw_upgrade(adapter, (u8 *)fw_entry->data, content_size);
drivers/net/wireless/rsi/rsi_91x_hal.c
987
status = bl_cmd(adapter, AUTO_READ_MODE, CMD_PASS,
drivers/net/wireless/rsi/rsi_91x_mac80211.c
1004
status = rsi_hal_load_key(adapter->priv,
drivers/net/wireless/rsi/rsi_91x_mac80211.c
1018
if (!rsi_send_block_unblock_frame(adapter->priv, false))
drivers/net/wireless/rsi/rsi_91x_mac80211.c
1019
adapter->priv->hw_data_qs_blocked = false;
drivers/net/wireless/rsi/rsi_91x_mac80211.c
1041
struct rsi_hw *adapter = hw->priv;
drivers/net/wireless/rsi/rsi_91x_mac80211.c
1042
struct rsi_common *common = adapter->priv;
drivers/net/wireless/rsi/rsi_91x_mac80211.c
1096
struct rsi_hw *adapter = hw->priv;
drivers/net/wireless/rsi/rsi_91x_mac80211.c
1097
struct rsi_common *common = adapter->priv;
drivers/net/wireless/rsi/rsi_91x_mac80211.c
1109
if (vif == adapter->vifs[ii])
drivers/net/wireless/rsi/rsi_91x_mac80211.c
1214
struct rsi_hw *adapter = hw->priv;
drivers/net/wireless/rsi/rsi_91x_mac80211.c
1215
struct rsi_common *common = adapter->priv;
drivers/net/wireless/rsi/rsi_91x_mac80211.c
1237
struct rsi_hw *adapter = hw->priv;
drivers/net/wireless/rsi/rsi_91x_mac80211.c
1238
struct rsi_common *common = adapter->priv;
drivers/net/wireless/rsi/rsi_91x_mac80211.c
1314
struct rsi_hw *adapter = common->priv;
drivers/net/wireless/rsi/rsi_91x_mac80211.c
1354
vif = adapter->vifs[i];
drivers/net/wireless/rsi/rsi_91x_mac80211.c
1383
struct rsi_hw *adapter = common->priv;
drivers/net/wireless/rsi/rsi_91x_mac80211.c
1384
struct ieee80211_hw *hw = adapter->hw;
drivers/net/wireless/rsi/rsi_91x_mac80211.c
1387
if ((common->iface_down) || (!adapter->sc_nvifs)) {
drivers/net/wireless/rsi/rsi_91x_mac80211.c
1411
struct rsi_hw *adapter = hw->priv;
drivers/net/wireless/rsi/rsi_91x_mac80211.c
1412
struct rsi_common *common = adapter->priv;
drivers/net/wireless/rsi/rsi_91x_mac80211.c
1480
rsi_hal_load_key(adapter->priv,
drivers/net/wireless/rsi/rsi_91x_mac80211.c
1527
struct rsi_hw *adapter = hw->priv;
drivers/net/wireless/rsi/rsi_91x_mac80211.c
1528
struct rsi_common *common = adapter->priv;
drivers/net/wireless/rsi/rsi_91x_mac80211.c
1599
struct rsi_hw *adapter = hw->priv;
drivers/net/wireless/rsi/rsi_91x_mac80211.c
1600
struct rsi_common *common = adapter->priv;
drivers/net/wireless/rsi/rsi_91x_mac80211.c
1652
struct rsi_hw *adapter = hw->priv;
drivers/net/wireless/rsi/rsi_91x_mac80211.c
1653
struct rsi_common *common = adapter->priv;
drivers/net/wireless/rsi/rsi_91x_mac80211.c
1686
struct rsi_hw * adapter = hw->priv;
drivers/net/wireless/rsi/rsi_91x_mac80211.c
1687
struct rsi_common *common = adapter->priv;
drivers/net/wireless/rsi/rsi_91x_mac80211.c
1707
adapter->dfs_region = rsi_map_region_code(request->dfs_region);
drivers/net/wireless/rsi/rsi_91x_mac80211.c
1708
rsi_dbg(INFO_ZONE, "RSI region code = %d\n", adapter->dfs_region);
drivers/net/wireless/rsi/rsi_91x_mac80211.c
1710
adapter->country[0] = request->alpha2[0];
drivers/net/wireless/rsi/rsi_91x_mac80211.c
1711
adapter->country[1] = request->alpha2[1];
drivers/net/wireless/rsi/rsi_91x_mac80211.c
1718
struct rsi_hw *adapter = hw->priv;
drivers/net/wireless/rsi/rsi_91x_mac80211.c
1719
struct rsi_common *common = adapter->priv;
drivers/net/wireless/rsi/rsi_91x_mac80211.c
1731
struct rsi_hw *adapter = common->priv;
drivers/net/wireless/rsi/rsi_91x_mac80211.c
1736
vif = adapter->vifs[cnt];
drivers/net/wireless/rsi/rsi_91x_mac80211.c
1742
rsi_switch_channel(adapter, vif);
drivers/net/wireless/rsi/rsi_91x_mac80211.c
1748
rsi_switch_channel(adapter, vif);
drivers/net/wireless/rsi/rsi_91x_mac80211.c
1774
struct rsi_hw *adapter = hw->priv;
drivers/net/wireless/rsi/rsi_91x_mac80211.c
1775
struct rsi_common *common = adapter->priv;
drivers/net/wireless/rsi/rsi_91x_mac80211.c
1819
struct rsi_hw *adapter = hw->priv;
drivers/net/wireless/rsi/rsi_91x_mac80211.c
1820
struct rsi_common *common = adapter->priv;
drivers/net/wireless/rsi/rsi_91x_mac80211.c
1869
int rsi_config_wowlan(struct rsi_hw *adapter, struct cfg80211_wowlan *wowlan)
drivers/net/wireless/rsi/rsi_91x_mac80211.c
1871
struct rsi_common *common = adapter->priv;
drivers/net/wireless/rsi/rsi_91x_mac80211.c
1872
struct ieee80211_vif *vif = adapter->vifs[0];
drivers/net/wireless/rsi/rsi_91x_mac80211.c
1901
rsi_disable_ps(adapter, adapter->vifs[0]);
drivers/net/wireless/rsi/rsi_91x_mac80211.c
1921
struct rsi_hw *adapter = hw->priv;
drivers/net/wireless/rsi/rsi_91x_mac80211.c
1922
struct rsi_common *common = adapter->priv;
drivers/net/wireless/rsi/rsi_91x_mac80211.c
1926
if (rsi_config_wowlan(adapter, wowlan)) {
drivers/net/wireless/rsi/rsi_91x_mac80211.c
193
static int rsi_register_rates_channels(struct rsi_hw *adapter, int band)
drivers/net/wireless/rsi/rsi_91x_mac80211.c
1939
struct rsi_hw *adapter = hw->priv;
drivers/net/wireless/rsi/rsi_91x_mac80211.c
1940
struct rsi_common *common = adapter->priv;
drivers/net/wireless/rsi/rsi_91x_mac80211.c
195
struct ieee80211_supported_band *sbands = &adapter->sbands[band];
drivers/net/wireless/rsi/rsi_91x_mac80211.c
2012
struct rsi_hw *adapter = common->priv;
drivers/net/wireless/rsi/rsi_91x_mac80211.c
2025
SET_IEEE80211_DEV(hw, adapter->device);
drivers/net/wireless/rsi/rsi_91x_mac80211.c
2027
hw->priv = adapter;
drivers/net/wireless/rsi/rsi_91x_mac80211.c
2028
adapter->hw = hw;
drivers/net/wireless/rsi/rsi_91x_mac80211.c
2068
status = rsi_register_rates_channels(adapter, NL80211_BAND_2GHZ);
drivers/net/wireless/rsi/rsi_91x_mac80211.c
2072
&adapter->sbands[NL80211_BAND_2GHZ];
drivers/net/wireless/rsi/rsi_91x_mac80211.c
2074
status = rsi_register_rates_channels(adapter,
drivers/net/wireless/rsi/rsi_91x_mac80211.c
2079
&adapter->sbands[NL80211_BAND_5GHZ];
drivers/net/wireless/rsi/rsi_91x_mac80211.c
2116
return rsi_init_dbgfs(adapter);
drivers/net/wireless/rsi/rsi_91x_mac80211.c
238
struct rsi_hw *adapter = hw->priv;
drivers/net/wireless/rsi/rsi_91x_mac80211.c
239
struct rsi_common *common = adapter->priv;
drivers/net/wireless/rsi/rsi_91x_mac80211.c
277
struct rsi_hw *adapter = hw->priv;
drivers/net/wireless/rsi/rsi_91x_mac80211.c
278
struct rsi_common *common = adapter->priv;
drivers/net/wireless/rsi/rsi_91x_mac80211.c
288
ieee80211_scan_completed(adapter->hw, &info);
drivers/net/wireless/rsi/rsi_91x_mac80211.c
302
void rsi_mac80211_detach(struct rsi_hw *adapter)
drivers/net/wireless/rsi/rsi_91x_mac80211.c
304
struct ieee80211_hw *hw = adapter->hw;
drivers/net/wireless/rsi/rsi_91x_mac80211.c
311
adapter->hw = NULL;
drivers/net/wireless/rsi/rsi_91x_mac80211.c
316
&adapter->sbands[band];
drivers/net/wireless/rsi/rsi_91x_mac80211.c
322
rsi_remove_dbgfs(adapter);
drivers/net/wireless/rsi/rsi_91x_mac80211.c
323
kfree(adapter->dfsentry);
drivers/net/wireless/rsi/rsi_91x_mac80211.c
336
void rsi_indicate_tx_status(struct rsi_hw *adapter,
drivers/net/wireless/rsi/rsi_91x_mac80211.c
343
if (!adapter->hw) {
drivers/net/wireless/rsi/rsi_91x_mac80211.c
355
ieee80211_tx_status_irqsafe(adapter->hw, skb);
drivers/net/wireless/rsi/rsi_91x_mac80211.c
372
struct rsi_hw *adapter = hw->priv;
drivers/net/wireless/rsi/rsi_91x_mac80211.c
373
struct rsi_common *common = adapter->priv;
drivers/net/wireless/rsi/rsi_91x_mac80211.c
392
struct rsi_hw *adapter = hw->priv;
drivers/net/wireless/rsi/rsi_91x_mac80211.c
393
struct rsi_common *common = adapter->priv;
drivers/net/wireless/rsi/rsi_91x_mac80211.c
399
adapter->host_intf_ops->reinit_device(adapter);
drivers/net/wireless/rsi/rsi_91x_mac80211.c
400
wait_for_completion(&adapter->priv->wlan_init_completion);
drivers/net/wireless/rsi/rsi_91x_mac80211.c
419
struct rsi_hw *adapter = hw->priv;
drivers/net/wireless/rsi/rsi_91x_mac80211.c
420
struct rsi_common *common = adapter->priv;
drivers/net/wireless/rsi/rsi_91x_mac80211.c
462
struct rsi_hw *adapter = hw->priv;
drivers/net/wireless/rsi/rsi_91x_mac80211.c
463
struct rsi_common *common = adapter->priv;
drivers/net/wireless/rsi/rsi_91x_mac80211.c
487
if (!adapter->vifs[i] ||
drivers/net/wireless/rsi/rsi_91x_mac80211.c
488
!memcmp(vif->addr, adapter->vifs[i]->addr, ETH_ALEN)) {
drivers/net/wireless/rsi/rsi_91x_mac80211.c
499
adapter->vifs[vap_idx] = vif;
drivers/net/wireless/rsi/rsi_91x_mac80211.c
500
adapter->sc_nvifs++;
drivers/net/wireless/rsi/rsi_91x_mac80211.c
533
struct rsi_hw *adapter = hw->priv;
drivers/net/wireless/rsi/rsi_91x_mac80211.c
534
struct rsi_common *common = adapter->priv;
drivers/net/wireless/rsi/rsi_91x_mac80211.c
542
if (adapter->sc_nvifs <= 0) {
drivers/net/wireless/rsi/rsi_91x_mac80211.c
554
if (!adapter->vifs[i])
drivers/net/wireless/rsi/rsi_91x_mac80211.c
556
if (vif == adapter->vifs[i]) {
drivers/net/wireless/rsi/rsi_91x_mac80211.c
559
adapter->sc_nvifs--;
drivers/net/wireless/rsi/rsi_91x_mac80211.c
560
adapter->vifs[i] = NULL;
drivers/net/wireless/rsi/rsi_91x_mac80211.c
576
struct rsi_hw *adapter = hw->priv;
drivers/net/wireless/rsi/rsi_91x_mac80211.c
577
struct rsi_common *common = adapter->priv;
drivers/net/wireless/rsi/rsi_91x_mac80211.c
591
vif = adapter->vifs[i];
drivers/net/wireless/rsi/rsi_91x_mac80211.c
612
status = rsi_set_channel(adapter->priv, curchan);
drivers/net/wireless/rsi/rsi_91x_mac80211.c
634
struct rsi_hw *adapter = hw->priv;
drivers/net/wireless/rsi/rsi_91x_mac80211.c
635
struct rsi_common *common = adapter->priv;
drivers/net/wireless/rsi/rsi_91x_mac80211.c
638
if (adapter->sc_nvifs <= 0) {
drivers/net/wireless/rsi/rsi_91x_mac80211.c
668
struct rsi_hw *adapter = hw->priv;
drivers/net/wireless/rsi/rsi_91x_mac80211.c
669
struct rsi_common *common = adapter->priv;
drivers/net/wireless/rsi/rsi_91x_mac80211.c
692
vif = adapter->vifs[i];
drivers/net/wireless/rsi/rsi_91x_mac80211.c
707
spin_lock_irqsave(&adapter->ps_lock, flags);
drivers/net/wireless/rsi/rsi_91x_mac80211.c
709
rsi_enable_ps(adapter, sta_vif);
drivers/net/wireless/rsi/rsi_91x_mac80211.c
711
rsi_disable_ps(adapter, sta_vif);
drivers/net/wireless/rsi/rsi_91x_mac80211.c
712
spin_unlock_irqrestore(&adapter->ps_lock, flags);
drivers/net/wireless/rsi/rsi_91x_mac80211.c
754
static void rsi_switch_channel(struct rsi_hw *adapter,
drivers/net/wireless/rsi/rsi_91x_mac80211.c
757
struct rsi_common *common = adapter->priv;
drivers/net/wireless/rsi/rsi_91x_mac80211.c
791
struct rsi_hw *adapter = hw->priv;
drivers/net/wireless/rsi/rsi_91x_mac80211.c
792
struct rsi_common *common = adapter->priv;
drivers/net/wireless/rsi/rsi_91x_mac80211.c
816
adapter->ps_info.dtim_interval_duration = bss->dtim_period;
drivers/net/wireless/rsi/rsi_91x_mac80211.c
817
adapter->ps_info.listen_interval = conf->listen_interval;
drivers/net/wireless/rsi/rsi_91x_mac80211.c
823
rsi_conf_uapsd(adapter, vif);
drivers/net/wireless/rsi/rsi_91x_mac80211.c
852
adapter->ps_info.listen_interval =
drivers/net/wireless/rsi/rsi_91x_mac80211.c
853
bss->beacon_int * adapter->ps_info.num_bcns_per_lis_int;
drivers/net/wireless/rsi/rsi_91x_mac80211.c
906
struct rsi_hw *adapter = hw->priv;
drivers/net/wireless/rsi/rsi_91x_mac80211.c
907
struct rsi_common *common = adapter->priv;
drivers/net/wireless/rsi/rsi_91x_mac80211.c
966
struct rsi_hw *adapter = hw->priv;
drivers/net/wireless/rsi/rsi_91x_mac80211.c
983
rsta = rsi_find_sta(adapter->priv, sta->addr);
drivers/net/wireless/rsi/rsi_91x_mac80211.c
987
adapter->priv->key = key;
drivers/net/wireless/rsi/rsi_91x_mac80211.c
991
status = rsi_hal_load_key(adapter->priv,
drivers/net/wireless/rsi/rsi_91x_main.c
255
struct rsi_hw *adapter = common->priv;
drivers/net/wireless/rsi/rsi_91x_main.c
259
if (adapter->determine_event_timeout)
drivers/net/wireless/rsi/rsi_91x_main.c
260
timeout = adapter->determine_event_timeout(adapter);
drivers/net/wireless/rsi/rsi_91x_main.c
303
struct rsi_hw *adapter = NULL;
drivers/net/wireless/rsi/rsi_91x_main.c
307
adapter = kzalloc_obj(*adapter);
drivers/net/wireless/rsi/rsi_91x_main.c
308
if (!adapter)
drivers/net/wireless/rsi/rsi_91x_main.c
311
adapter->priv = kzalloc_obj(*common);
drivers/net/wireless/rsi/rsi_91x_main.c
312
if (adapter->priv == NULL) {
drivers/net/wireless/rsi/rsi_91x_main.c
315
kfree(adapter);
drivers/net/wireless/rsi/rsi_91x_main.c
318
common = adapter->priv;
drivers/net/wireless/rsi/rsi_91x_main.c
319
common->priv = adapter;
drivers/net/wireless/rsi/rsi_91x_main.c
339
rsi_default_ps_params(adapter);
drivers/net/wireless/rsi/rsi_91x_main.c
341
spin_lock_init(&adapter->ps_lock);
drivers/net/wireless/rsi/rsi_91x_main.c
344
adapter->device_model = RSI_DEV_9113;
drivers/net/wireless/rsi/rsi_91x_main.c
371
adapter->device_model = RSI_DEV_9113;
drivers/net/wireless/rsi/rsi_91x_main.c
383
return adapter;
drivers/net/wireless/rsi/rsi_91x_main.c
387
kfree(adapter);
drivers/net/wireless/rsi/rsi_91x_main.c
398
void rsi_91x_deinit(struct rsi_hw *adapter)
drivers/net/wireless/rsi/rsi_91x_main.c
400
struct rsi_common *common = adapter->priv;
drivers/net/wireless/rsi/rsi_91x_main.c
423
kfree(adapter->rsi_dev);
drivers/net/wireless/rsi/rsi_91x_main.c
424
kfree(adapter);
drivers/net/wireless/rsi/rsi_91x_mgmt.c
1062
struct rsi_hw *adapter = common->priv;
drivers/net/wireless/rsi/rsi_91x_mgmt.c
1063
struct ieee80211_hw *hw = adapter->hw;
drivers/net/wireless/rsi/rsi_91x_mgmt.c
1098
if (adapter->device_model == RSI_DEV_9116)
drivers/net/wireless/rsi/rsi_91x_mgmt.c
1521
struct rsi_hw *adapter = common->priv;
drivers/net/wireless/rsi/rsi_91x_mgmt.c
1542
cpu_to_le32((adapter->eeprom.length << RSI_EEPROM_LEN_OFFSET) &
drivers/net/wireless/rsi/rsi_91x_mgmt.c
1548
mgmt_frame->eeprom_offset = cpu_to_le32(adapter->eeprom.offset);
drivers/net/wireless/rsi/rsi_91x_mgmt.c
1633
int rsi_send_ps_request(struct rsi_hw *adapter, bool enable,
drivers/net/wireless/rsi/rsi_91x_mgmt.c
1636
struct rsi_common *common = adapter->priv;
drivers/net/wireless/rsi/rsi_91x_mgmt.c
1648
ps_info = &adapter->ps_info;
drivers/net/wireless/rsi/rsi_91x_mgmt.c
1939
struct rsi_hw *adapter = common->priv;
drivers/net/wireless/rsi/rsi_91x_mgmt.c
1949
if (adapter->device_model == RSI_DEV_9116) {
drivers/net/wireless/rsi/rsi_91x_mgmt.c
1958
adapter->eeprom.length =
drivers/net/wireless/rsi/rsi_91x_mgmt.c
1962
adapter->eeprom.offset = WLAN_MAC_EEPROM_ADDR;
drivers/net/wireless/rsi/rsi_91x_mgmt.c
1995
adapter->eeprom.length =
drivers/net/wireless/rsi/rsi_91x_mgmt.c
1997
adapter->eeprom.offset = WLAN_EEPROM_RFTYPE_ADDR;
drivers/net/wireless/rsi/rsi_91x_mgmt.c
2047
if (adapter->device_model == RSI_DEV_9116 &&
drivers/net/wireless/rsi/rsi_91x_mgmt.c
2099
return rsi_handle_ps_confirm(adapter, msg);
drivers/net/wireless/rsi/rsi_91x_mgmt.c
2109
ieee80211_scan_completed(adapter->hw, &info);
drivers/net/wireless/rsi/rsi_91x_mgmt.c
373
struct rsi_hw *adapter = common->priv;
drivers/net/wireless/rsi/rsi_91x_mgmt.c
407
struct ieee80211_hw *hw = adapter->hw;
drivers/net/wireless/rsi/rsi_91x_mgmt.c
427
if (adapter->device_model == RSI_DEV_9116 &&
drivers/net/wireless/rsi/rsi_91x_mgmt.c
487
struct rsi_hw *adapter = common->priv;
drivers/net/wireless/rsi/rsi_91x_mgmt.c
493
if (!adapter->sc_nvifs)
drivers/net/wireless/rsi/rsi_91x_mgmt.c
719
struct rsi_hw *adapter = common->priv;
drivers/net/wireless/rsi/rsi_91x_mgmt.c
720
struct ieee80211_hw *hw = adapter->hw;
drivers/net/wireless/rsi/rsi_91x_ps.c
104
rsi_modify_ps_state(adapter, PS_DISABLE_REQ_SENT);
drivers/net/wireless/rsi/rsi_91x_ps.c
107
void rsi_conf_uapsd(struct rsi_hw *adapter, struct ieee80211_vif *vif)
drivers/net/wireless/rsi/rsi_91x_ps.c
111
if (adapter->ps_state != PS_ENABLED)
drivers/net/wireless/rsi/rsi_91x_ps.c
114
ret = rsi_send_ps_request(adapter, false, vif);
drivers/net/wireless/rsi/rsi_91x_ps.c
116
ret = rsi_send_ps_request(adapter, true, vif);
drivers/net/wireless/rsi/rsi_91x_ps.c
123
int rsi_handle_ps_confirm(struct rsi_hw *adapter, u8 *msg)
drivers/net/wireless/rsi/rsi_91x_ps.c
129
if (adapter->ps_state == PS_ENABLE_REQ_SENT)
drivers/net/wireless/rsi/rsi_91x_ps.c
130
rsi_modify_ps_state(adapter, PS_ENABLED);
drivers/net/wireless/rsi/rsi_91x_ps.c
133
if (adapter->ps_state == PS_DISABLE_REQ_SENT)
drivers/net/wireless/rsi/rsi_91x_ps.c
134
rsi_modify_ps_state(adapter, PS_NONE);
drivers/net/wireless/rsi/rsi_91x_ps.c
139
cfm_type, str_psstate(adapter->ps_state));
drivers/net/wireless/rsi/rsi_91x_ps.c
40
static inline void rsi_modify_ps_state(struct rsi_hw *adapter,
drivers/net/wireless/rsi/rsi_91x_ps.c
44
str_psstate(adapter->ps_state),
drivers/net/wireless/rsi/rsi_91x_ps.c
47
adapter->ps_state = nstate;
drivers/net/wireless/rsi/rsi_91x_ps.c
50
void rsi_default_ps_params(struct rsi_hw *adapter)
drivers/net/wireless/rsi/rsi_91x_ps.c
52
struct rsi_ps_info *ps_info = &adapter->ps_info;
drivers/net/wireless/rsi/rsi_91x_ps.c
68
void rsi_enable_ps(struct rsi_hw *adapter, struct ieee80211_vif *vif)
drivers/net/wireless/rsi/rsi_91x_ps.c
70
if (adapter->ps_state != PS_NONE) {
drivers/net/wireless/rsi/rsi_91x_ps.c
73
__func__, str_psstate(adapter->ps_state));
drivers/net/wireless/rsi/rsi_91x_ps.c
77
if (rsi_send_ps_request(adapter, true, vif)) {
drivers/net/wireless/rsi/rsi_91x_ps.c
84
rsi_modify_ps_state(adapter, PS_ENABLE_REQ_SENT);
drivers/net/wireless/rsi/rsi_91x_ps.c
88
void rsi_disable_ps(struct rsi_hw *adapter, struct ieee80211_vif *vif)
drivers/net/wireless/rsi/rsi_91x_ps.c
90
if (adapter->ps_state != PS_ENABLED) {
drivers/net/wireless/rsi/rsi_91x_ps.c
93
__func__, str_psstate(adapter->ps_state));
drivers/net/wireless/rsi/rsi_91x_ps.c
97
if (rsi_send_ps_request(adapter, false, vif)) {
drivers/net/wireless/rsi/rsi_91x_sdio.c
1004
struct rsi_hw *adapter;
drivers/net/wireless/rsi/rsi_91x_sdio.c
1010
adapter = rsi_91x_init(dev_oper_mode);
drivers/net/wireless/rsi/rsi_91x_sdio.c
1011
if (!adapter) {
drivers/net/wireless/rsi/rsi_91x_sdio.c
1016
adapter->rsi_host_intf = RSI_HOST_INTF_SDIO;
drivers/net/wireless/rsi/rsi_91x_sdio.c
1017
adapter->host_intf_ops = &sdio_host_intf_ops;
drivers/net/wireless/rsi/rsi_91x_sdio.c
1019
if (rsi_init_sdio_interface(adapter, pfunction)) {
drivers/net/wireless/rsi/rsi_91x_sdio.c
1028
adapter->device_model = RSI_DEV_9113;
drivers/net/wireless/rsi/rsi_91x_sdio.c
1031
adapter->device_model = RSI_DEV_9116;
drivers/net/wireless/rsi/rsi_91x_sdio.c
1039
sdev = adapter->rsi_dev;
drivers/net/wireless/rsi/rsi_91x_sdio.c
1041
status = rsi_create_kthread(adapter->priv, &sdev->rx_thread,
drivers/net/wireless/rsi/rsi_91x_sdio.c
1058
if (rsi_hal_device_init(adapter)) {
drivers/net/wireless/rsi/rsi_91x_sdio.c
1065
if (rsi_sdio_master_access_msword(adapter, MISC_CFG_BASE_ADDR)) {
drivers/net/wireless/rsi/rsi_91x_sdio.c
1071
adapter->priv->hibernate_resume = false;
drivers/net/wireless/rsi/rsi_91x_sdio.c
1072
adapter->priv->reinit_hw = false;
drivers/net/wireless/rsi/rsi_91x_sdio.c
1086
rsi_91x_deinit(adapter);
drivers/net/wireless/rsi/rsi_91x_sdio.c
1091
static void ulp_read_write(struct rsi_hw *adapter, u16 addr, u32 data,
drivers/net/wireless/rsi/rsi_91x_sdio.c
1094
rsi_sdio_master_reg_write(adapter, RSI_GSPI_DATA_REG1,
drivers/net/wireless/rsi/rsi_91x_sdio.c
1096
rsi_sdio_master_reg_write(adapter, RSI_GSPI_DATA_REG0,
drivers/net/wireless/rsi/rsi_91x_sdio.c
1098
rsi_sdio_master_reg_write(adapter, RSI_GSPI_CTRL_REG0,
drivers/net/wireless/rsi/rsi_91x_sdio.c
1100
rsi_sdio_master_reg_write(adapter, RSI_GSPI_CTRL_REG1,
drivers/net/wireless/rsi/rsi_91x_sdio.c
1106
static void rsi_reset_chip(struct rsi_hw *adapter)
drivers/net/wireless/rsi/rsi_91x_sdio.c
1118
ret = rsi_sdio_write_register(adapter, 0, SDIO_WAKEUP_REG, &request);
drivers/net/wireless/rsi/rsi_91x_sdio.c
1125
ret = rsi_sdio_read_register(adapter, RSI_FN1_INT_REGISTER,
drivers/net/wireless/rsi/rsi_91x_sdio.c
1136
if (rsi_sdio_master_access_msword(adapter, TA_BASE_ADDR)) {
drivers/net/wireless/rsi/rsi_91x_sdio.c
1144
if (rsi_sdio_write_register_multiple(adapter, TA_HOLD_THREAD_REG |
drivers/net/wireless/rsi/rsi_91x_sdio.c
1157
if (adapter->device_model != RSI_DEV_9116) {
drivers/net/wireless/rsi/rsi_91x_sdio.c
1158
ulp_read_write(adapter, RSI_ULP_RESET_REG, RSI_ULP_WRITE_0, 32);
drivers/net/wireless/rsi/rsi_91x_sdio.c
1159
ulp_read_write(adapter,
drivers/net/wireless/rsi/rsi_91x_sdio.c
1161
ulp_read_write(adapter, RSI_WATCH_DOG_TIMER_2, RSI_ULP_WRITE_0,
drivers/net/wireless/rsi/rsi_91x_sdio.c
1163
ulp_read_write(adapter, RSI_WATCH_DOG_DELAY_TIMER_1,
drivers/net/wireless/rsi/rsi_91x_sdio.c
1165
ulp_read_write(adapter, RSI_WATCH_DOG_DELAY_TIMER_2,
drivers/net/wireless/rsi/rsi_91x_sdio.c
1167
ulp_read_write(adapter, RSI_WATCH_DOG_TIMER_ENABLE,
drivers/net/wireless/rsi/rsi_91x_sdio.c
1170
if ((rsi_sdio_master_reg_write(adapter,
drivers/net/wireless/rsi/rsi_91x_sdio.c
1176
if ((rsi_sdio_master_reg_write(adapter,
drivers/net/wireless/rsi/rsi_91x_sdio.c
1183
if ((rsi_sdio_master_reg_write(adapter,
drivers/net/wireless/rsi/rsi_91x_sdio.c
1209
struct rsi_hw *adapter = sdio_get_drvdata(pfunction);
drivers/net/wireless/rsi/rsi_91x_sdio.c
1212
if (!adapter)
drivers/net/wireless/rsi/rsi_91x_sdio.c
1215
dev = adapter->rsi_dev;
drivers/net/wireless/rsi/rsi_91x_sdio.c
1223
rsi_mac80211_detach(adapter);
drivers/net/wireless/rsi/rsi_91x_sdio.c
1226
if (IS_ENABLED(CONFIG_RSI_COEX) && adapter->priv->coex_mode > 1 &&
drivers/net/wireless/rsi/rsi_91x_sdio.c
1227
adapter->priv->bt_adapter) {
drivers/net/wireless/rsi/rsi_91x_sdio.c
1228
rsi_bt_ops.detach(adapter->priv->bt_adapter);
drivers/net/wireless/rsi/rsi_91x_sdio.c
1229
adapter->priv->bt_adapter = NULL;
drivers/net/wireless/rsi/rsi_91x_sdio.c
1233
rsi_reset_chip(adapter);
drivers/net/wireless/rsi/rsi_91x_sdio.c
1241
rsi_91x_deinit(adapter);
drivers/net/wireless/rsi/rsi_91x_sdio.c
1247
static int rsi_set_sdio_pm_caps(struct rsi_hw *adapter)
drivers/net/wireless/rsi/rsi_91x_sdio.c
1249
struct rsi_91x_sdiodev *dev = adapter->rsi_dev;
drivers/net/wireless/rsi/rsi_91x_sdio.c
1262
struct rsi_hw *adapter = sdio_get_drvdata(pfunc);
drivers/net/wireless/rsi/rsi_91x_sdio.c
1270
rsi_sdio_read_register(adapter, RSI_FN1_INT_REGISTER,
drivers/net/wireless/rsi/rsi_91x_sdio.c
1311
struct rsi_hw *adapter = sdio_get_drvdata(pfunc);
drivers/net/wireless/rsi/rsi_91x_sdio.c
1312
struct rsi_common *common = adapter->priv;
drivers/net/wireless/rsi/rsi_91x_sdio.c
1354
struct rsi_hw *adapter = sdio_get_drvdata(pfunction);
drivers/net/wireless/rsi/rsi_91x_sdio.c
1357
if (!adapter) {
drivers/net/wireless/rsi/rsi_91x_sdio.c
1361
common = adapter->priv;
drivers/net/wireless/rsi/rsi_91x_sdio.c
1364
ret = rsi_set_sdio_pm_caps(adapter);
drivers/net/wireless/rsi/rsi_91x_sdio.c
1376
struct rsi_hw *adapter = sdio_get_drvdata(pfunction);
drivers/net/wireless/rsi/rsi_91x_sdio.c
1377
struct rsi_common *common = adapter->priv;
drivers/net/wireless/rsi/rsi_91x_sdio.c
1389
struct rsi_hw *adapter = sdio_get_drvdata(pfunction);
drivers/net/wireless/rsi/rsi_91x_sdio.c
1395
if (!adapter) {
drivers/net/wireless/rsi/rsi_91x_sdio.c
1399
common = adapter->priv;
drivers/net/wireless/rsi/rsi_91x_sdio.c
1400
sdev = adapter->rsi_dev;
drivers/net/wireless/rsi/rsi_91x_sdio.c
1418
ret = rsi_set_sdio_pm_caps(adapter);
drivers/net/wireless/rsi/rsi_91x_sdio.c
1430
struct rsi_hw *adapter = sdio_get_drvdata(pfunction);
drivers/net/wireless/rsi/rsi_91x_sdio.c
1431
struct rsi_common *common = adapter->priv;
drivers/net/wireless/rsi/rsi_91x_sdio.c
1448
struct rsi_hw *adapter = sdio_get_drvdata(pfunction);
drivers/net/wireless/rsi/rsi_91x_sdio.c
1449
struct rsi_91x_sdiodev *sdev = adapter->rsi_dev;
drivers/net/wireless/rsi/rsi_91x_sdio.c
1450
struct ieee80211_hw *hw = adapter->hw;
drivers/net/wireless/rsi/rsi_91x_sdio.c
1455
if (rsi_config_wowlan(adapter, hw->wiphy->wowlan_config))
drivers/net/wireless/rsi/rsi_91x_sdio.c
1459
if (IS_ENABLED(CONFIG_RSI_COEX) && adapter->priv->coex_mode > 1 &&
drivers/net/wireless/rsi/rsi_91x_sdio.c
146
struct rsi_hw *adapter = sdio_get_drvdata(function);
drivers/net/wireless/rsi/rsi_91x_sdio.c
1460
adapter->priv->bt_adapter) {
drivers/net/wireless/rsi/rsi_91x_sdio.c
1461
rsi_bt_ops.detach(adapter->priv->bt_adapter);
drivers/net/wireless/rsi/rsi_91x_sdio.c
1462
adapter->priv->bt_adapter = NULL;
drivers/net/wireless/rsi/rsi_91x_sdio.c
147
struct rsi_91x_sdiodev *dev = adapter->rsi_dev;
drivers/net/wireless/rsi/rsi_91x_sdio.c
1476
struct rsi_hw *adapter = sdio_get_drvdata(pfunction);
drivers/net/wireless/rsi/rsi_91x_sdio.c
1477
struct rsi_common *common = adapter->priv;
drivers/net/wireless/rsi/rsi_91x_sdio.c
1484
adapter->sc_nvifs = 0;
drivers/net/wireless/rsi/rsi_91x_sdio.c
1485
adapter->ps_state = PS_NONE;
drivers/net/wireless/rsi/rsi_91x_sdio.c
149
if (adapter->priv->fsm_state == FSM_FW_NOT_LOADED)
drivers/net/wireless/rsi/rsi_91x_sdio.c
337
static void rsi_setclock(struct rsi_hw *adapter, u32 freq)
drivers/net/wireless/rsi/rsi_91x_sdio.c
339
struct rsi_91x_sdiodev *dev = adapter->rsi_dev;
drivers/net/wireless/rsi/rsi_91x_sdio.c
357
static int rsi_setblocklength(struct rsi_hw *adapter, u32 length)
drivers/net/wireless/rsi/rsi_91x_sdio.c
359
struct rsi_91x_sdiodev *dev = adapter->rsi_dev;
drivers/net/wireless/rsi/rsi_91x_sdio.c
365
adapter->block_size = dev->pfunction->max_blksize;
drivers/net/wireless/rsi/rsi_91x_sdio.c
378
static int rsi_setupcard(struct rsi_hw *adapter)
drivers/net/wireless/rsi/rsi_91x_sdio.c
380
struct rsi_91x_sdiodev *dev = adapter->rsi_dev;
drivers/net/wireless/rsi/rsi_91x_sdio.c
383
rsi_setclock(adapter, 50000);
drivers/net/wireless/rsi/rsi_91x_sdio.c
386
status = rsi_setblocklength(adapter, dev->tx_blk_size);
drivers/net/wireless/rsi/rsi_91x_sdio.c
402
int rsi_sdio_read_register(struct rsi_hw *adapter,
drivers/net/wireless/rsi/rsi_91x_sdio.c
406
struct rsi_91x_sdiodev *dev = adapter->rsi_dev;
drivers/net/wireless/rsi/rsi_91x_sdio.c
434
int rsi_sdio_write_register(struct rsi_hw *adapter,
drivers/net/wireless/rsi/rsi_91x_sdio.c
439
struct rsi_91x_sdiodev *dev = adapter->rsi_dev;
drivers/net/wireless/rsi/rsi_91x_sdio.c
463
void rsi_sdio_ack_intr(struct rsi_hw *adapter, u8 int_bit)
drivers/net/wireless/rsi/rsi_91x_sdio.c
466
status = rsi_sdio_write_register(adapter,
drivers/net/wireless/rsi/rsi_91x_sdio.c
487
static int rsi_sdio_read_register_multiple(struct rsi_hw *adapter,
drivers/net/wireless/rsi/rsi_91x_sdio.c
492
struct rsi_91x_sdiodev *dev = adapter->rsi_dev;
drivers/net/wireless/rsi/rsi_91x_sdio.c
518
int rsi_sdio_write_register_multiple(struct rsi_hw *adapter,
drivers/net/wireless/rsi/rsi_91x_sdio.c
523
struct rsi_91x_sdiodev *dev = adapter->rsi_dev;
drivers/net/wireless/rsi/rsi_91x_sdio.c
556
static int rsi_sdio_load_data_master_write(struct rsi_hw *adapter,
drivers/net/wireless/rsi/rsi_91x_sdio.c
578
status = rsi_sdio_master_access_msword(adapter, msb_address);
drivers/net/wireless/rsi/rsi_91x_sdio.c
588
(adapter,
drivers/net/wireless/rsi/rsi_91x_sdio.c
602
status = rsi_sdio_master_access_msword(adapter,
drivers/net/wireless/rsi/rsi_91x_sdio.c
619
(adapter,
drivers/net/wireless/rsi/rsi_91x_sdio.c
637
static int rsi_sdio_master_reg_read(struct rsi_hw *adapter, u32 addr,
drivers/net/wireless/rsi/rsi_91x_sdio.c
649
status = rsi_sdio_master_access_msword(adapter, ms_addr);
drivers/net/wireless/rsi/rsi_91x_sdio.c
667
(adapter,
drivers/net/wireless/rsi/rsi_91x_sdio.c
699
static int rsi_sdio_master_reg_write(struct rsi_hw *adapter,
drivers/net/wireless/rsi/rsi_91x_sdio.c
722
status = rsi_sdio_master_access_msword(adapter, (addr >> 16));
drivers/net/wireless/rsi/rsi_91x_sdio.c
734
(adapter,
drivers/net/wireless/rsi/rsi_91x_sdio.c
753
static int rsi_sdio_host_intf_write_pkt(struct rsi_hw *adapter,
drivers/net/wireless/rsi/rsi_91x_sdio.c
757
struct rsi_91x_sdiodev *dev = adapter->rsi_dev;
drivers/net/wireless/rsi/rsi_91x_sdio.c
775
status = rsi_sdio_write_register_multiple(adapter,
drivers/net/wireless/rsi/rsi_91x_sdio.c
795
int rsi_sdio_host_intf_read_pkt(struct rsi_hw *adapter,
drivers/net/wireless/rsi/rsi_91x_sdio.c
806
status = rsi_sdio_read_register_multiple(adapter,
drivers/net/wireless/rsi/rsi_91x_sdio.c
825
static int rsi_init_sdio_interface(struct rsi_hw *adapter,
drivers/net/wireless/rsi/rsi_91x_sdio.c
835
adapter->rsi_dev = rsi_91x_dev;
drivers/net/wireless/rsi/rsi_91x_sdio.c
850
adapter->device = &pfunction->dev;
drivers/net/wireless/rsi/rsi_91x_sdio.c
852
sdio_set_drvdata(pfunction, adapter);
drivers/net/wireless/rsi/rsi_91x_sdio.c
854
status = rsi_setupcard(adapter);
drivers/net/wireless/rsi/rsi_91x_sdio.c
862
status = rsi_init_sdio_slave_regs(adapter);
drivers/net/wireless/rsi/rsi_91x_sdio.c
869
adapter->determine_event_timeout = rsi_sdio_determine_event_timeout;
drivers/net/wireless/rsi/rsi_91x_sdio.c
870
adapter->check_hw_queue_status = rsi_sdio_check_buffer_status;
drivers/net/wireless/rsi/rsi_91x_sdio.c
873
adapter->num_debugfs_entries = MAX_DEBUGFS_ENTRIES;
drivers/net/wireless/rsi/rsi_91x_sdio.c
882
static int rsi_sdio_reinit_device(struct rsi_hw *adapter)
drivers/net/wireless/rsi/rsi_91x_sdio.c
884
struct rsi_91x_sdiodev *sdev = adapter->rsi_dev;
drivers/net/wireless/rsi/rsi_91x_sdio.c
889
skb_queue_purge(&adapter->priv->tx_queue[ii]);
drivers/net/wireless/rsi/rsi_91x_sdio.c
898
rsi_setupcard(adapter);
drivers/net/wireless/rsi/rsi_91x_sdio.c
899
rsi_init_sdio_slave_regs(adapter);
drivers/net/wireless/rsi/rsi_91x_sdio.c
901
rsi_hal_device_init(adapter);
drivers/net/wireless/rsi/rsi_91x_sdio.c
908
static int rsi_sdio_ta_reset(struct rsi_hw *adapter)
drivers/net/wireless/rsi/rsi_91x_sdio.c
918
status = rsi_sdio_master_access_msword(adapter, TA_BASE_ADDR);
drivers/net/wireless/rsi/rsi_91x_sdio.c
928
status = rsi_sdio_write_register_multiple(adapter, addr,
drivers/net/wireless/rsi/rsi_91x_sdio.c
938
status = rsi_sdio_write_register_multiple(adapter, addr,
drivers/net/wireless/rsi/rsi_91x_sdio.c
948
status = rsi_sdio_write_register_multiple(adapter, addr,
drivers/net/wireless/rsi/rsi_91x_sdio.c
959
status = rsi_sdio_write_register_multiple(adapter, addr,
drivers/net/wireless/rsi/rsi_91x_sdio.c
967
status = rsi_sdio_master_access_msword(adapter, MISC_CFG_BASE_ADDR);
drivers/net/wireless/rsi/rsi_91x_sdio_ops.c
101
status = rsi_sdio_read_register(adapter,
drivers/net/wireless/rsi/rsi_91x_sdio_ops.c
123
status = rsi_sdio_host_intf_read_pkt(adapter, dev->pktbuffer,
drivers/net/wireless/rsi/rsi_91x_sdio_ops.c
147
int rsi_init_sdio_slave_regs(struct rsi_hw *adapter)
drivers/net/wireless/rsi/rsi_91x_sdio_ops.c
149
struct rsi_91x_sdiodev *dev = adapter->rsi_dev;
drivers/net/wireless/rsi/rsi_91x_sdio_ops.c
156
status = rsi_sdio_write_register(adapter,
drivers/net/wireless/rsi/rsi_91x_sdio_ops.c
172
status = rsi_sdio_write_register(adapter,
drivers/net/wireless/rsi/rsi_91x_sdio_ops.c
188
status = rsi_sdio_write_register(adapter,
drivers/net/wireless/rsi/rsi_91x_sdio_ops.c
201
status = rsi_sdio_write_register(adapter,
drivers/net/wireless/rsi/rsi_91x_sdio_ops.c
212
status = rsi_sdio_write_register(adapter,
drivers/net/wireless/rsi/rsi_91x_sdio_ops.c
231
static void rsi_rx_handler(struct rsi_hw *adapter)
drivers/net/wireless/rsi/rsi_91x_sdio_ops.c
233
struct rsi_common *common = adapter->priv;
drivers/net/wireless/rsi/rsi_91x_sdio_ops.c
234
struct rsi_91x_sdiodev *dev = adapter->rsi_dev;
drivers/net/wireless/rsi/rsi_91x_sdio_ops.c
253
adapter->interrupt_status = isr_status;
drivers/net/wireless/rsi/rsi_91x_sdio_ops.c
267
status = rsi_sdio_check_buffer_status(adapter, 0);
drivers/net/wireless/rsi/rsi_91x_sdio_ops.c
31
int rsi_sdio_master_access_msword(struct rsi_hw *adapter, u16 ms_word)
drivers/net/wireless/rsi/rsi_91x_sdio_ops.c
336
int rsi_sdio_check_buffer_status(struct rsi_hw *adapter, u8 q_num)
drivers/net/wireless/rsi/rsi_91x_sdio_ops.c
338
struct rsi_common *common = adapter->priv;
drivers/net/wireless/rsi/rsi_91x_sdio_ops.c
339
struct rsi_91x_sdiodev *dev = adapter->rsi_dev;
drivers/net/wireless/rsi/rsi_91x_sdio_ops.c
406
int rsi_sdio_determine_event_timeout(struct rsi_hw *adapter)
drivers/net/wireless/rsi/rsi_91x_sdio_ops.c
408
struct rsi_91x_sdiodev *dev = adapter->rsi_dev;
drivers/net/wireless/rsi/rsi_91x_sdio_ops.c
42
status = rsi_sdio_write_register(adapter,
drivers/net/wireless/rsi/rsi_91x_sdio_ops.c
56
status = rsi_sdio_write_register(adapter,
drivers/net/wireless/rsi/rsi_91x_sdio_ops.c
63
static void rsi_rx_handler(struct rsi_hw *adapter);
drivers/net/wireless/rsi/rsi_91x_sdio_ops.c
67
struct rsi_hw *adapter = common->priv;
drivers/net/wireless/rsi/rsi_91x_sdio_ops.c
68
struct rsi_91x_sdiodev *sdev = adapter->rsi_dev;
drivers/net/wireless/rsi/rsi_91x_sdio_ops.c
73
rsi_rx_handler(adapter);
drivers/net/wireless/rsi/rsi_91x_sdio_ops.c
90
struct rsi_hw *adapter = common->priv;
drivers/net/wireless/rsi/rsi_91x_sdio_ops.c
91
struct rsi_91x_sdiodev *dev = adapter->rsi_dev;
drivers/net/wireless/rsi/rsi_91x_sdio_ops.c
97
num_blks = ((adapter->interrupt_status & 1) |
drivers/net/wireless/rsi/rsi_91x_sdio_ops.c
98
((adapter->interrupt_status >> RECV_NUM_BLOCKS) << 1));
drivers/net/wireless/rsi/rsi_91x_usb.c
110
struct rsi_hw *adapter)
drivers/net/wireless/rsi/rsi_91x_usb.c
112
struct rsi_91x_usbdev *dev = adapter->rsi_dev;
drivers/net/wireless/rsi/rsi_91x_usb.c
154
if (adapter->priv->coex_mode > 1) {
drivers/net/wireless/rsi/rsi_91x_usb.c
30
static int rsi_rx_urb_submit(struct rsi_hw *adapter, u8 ep_num, gfp_t flags);
drivers/net/wireless/rsi/rsi_91x_usb.c
307
static void rsi_rx_urb_kill(struct rsi_hw *adapter, u8 ep_num)
drivers/net/wireless/rsi/rsi_91x_usb.c
309
struct rsi_91x_usbdev *dev = adapter->rsi_dev;
drivers/net/wireless/rsi/rsi_91x_usb.c
324
static int rsi_rx_urb_submit(struct rsi_hw *adapter, u8 ep_num, gfp_t mem_flags)
drivers/net/wireless/rsi/rsi_91x_usb.c
326
struct rsi_91x_usbdev *dev = adapter->rsi_dev;
drivers/net/wireless/rsi/rsi_91x_usb.c
362
static int rsi_usb_read_register_multiple(struct rsi_hw *adapter, u32 addr,
drivers/net/wireless/rsi/rsi_91x_usb.c
365
struct rsi_91x_usbdev *dev = adapter->rsi_dev;
drivers/net/wireless/rsi/rsi_91x_usb.c
41
static int rsi_usb_card_write(struct rsi_hw *adapter,
drivers/net/wireless/rsi/rsi_91x_usb.c
412
static int rsi_usb_write_register_multiple(struct rsi_hw *adapter, u32 addr,
drivers/net/wireless/rsi/rsi_91x_usb.c
415
struct rsi_91x_usbdev *dev = adapter->rsi_dev;
drivers/net/wireless/rsi/rsi_91x_usb.c
46
struct rsi_91x_usbdev *dev = adapter->rsi_dev;
drivers/net/wireless/rsi/rsi_91x_usb.c
461
static int rsi_usb_host_intf_write_pkt(struct rsi_hw *adapter,
drivers/net/wireless/rsi/rsi_91x_usb.c
471
return rsi_write_multiple(adapter,
drivers/net/wireless/rsi/rsi_91x_usb.c
477
static int rsi_usb_master_reg_read(struct rsi_hw *adapter, u32 reg,
drivers/net/wireless/rsi/rsi_91x_usb.c
481
((struct rsi_91x_usbdev *)adapter->rsi_dev)->usbdev;
drivers/net/wireless/rsi/rsi_91x_usb.c
493
static int rsi_usb_master_reg_write(struct rsi_hw *adapter,
drivers/net/wireless/rsi/rsi_91x_usb.c
498
((struct rsi_91x_usbdev *)adapter->rsi_dev)->usbdev;
drivers/net/wireless/rsi/rsi_91x_usb.c
503
static int rsi_usb_load_data_master_write(struct rsi_hw *adapter,
drivers/net/wireless/rsi/rsi_91x_usb.c
518
status = rsi_usb_write_register_multiple(adapter, base_address,
drivers/net/wireless/rsi/rsi_91x_usb.c
533
(adapter, base_address,
drivers/net/wireless/rsi/rsi_91x_usb.c
560
static void rsi_deinit_usb_interface(struct rsi_hw *adapter)
drivers/net/wireless/rsi/rsi_91x_usb.c
562
struct rsi_91x_usbdev *dev = adapter->rsi_dev;
drivers/net/wireless/rsi/rsi_91x_usb.c
567
if (adapter->priv->coex_mode > 1)
drivers/net/wireless/rsi/rsi_91x_usb.c
573
static int rsi_usb_init_rx(struct rsi_hw *adapter)
drivers/net/wireless/rsi/rsi_91x_usb.c
575
struct rsi_91x_usbdev *dev = adapter->rsi_dev;
drivers/net/wireless/rsi/rsi_91x_usb.c
579
num_rx_cb = (adapter->priv->coex_mode > 1 ? 2 : 1);
drivers/net/wireless/rsi/rsi_91x_usb.c
594
if (rsi_create_kthread(adapter->priv, &dev->rx_thread,
drivers/net/wireless/rsi/rsi_91x_usb.c
604
if (adapter->priv->coex_mode > 1)
drivers/net/wireless/rsi/rsi_91x_usb.c
617
static int rsi_init_usb_interface(struct rsi_hw *adapter,
drivers/net/wireless/rsi/rsi_91x_usb.c
627
adapter->rsi_dev = rsi_dev;
drivers/net/wireless/rsi/rsi_91x_usb.c
629
rsi_dev->priv = (void *)adapter;
drivers/net/wireless/rsi/rsi_91x_usb.c
631
if (rsi_find_bulk_in_and_out_endpoints(pfunction, adapter)) {
drivers/net/wireless/rsi/rsi_91x_usb.c
636
adapter->device = &pfunction->dev;
drivers/net/wireless/rsi/rsi_91x_usb.c
637
usb_set_intfdata(pfunction, adapter);
drivers/net/wireless/rsi/rsi_91x_usb.c
645
if (rsi_usb_init_rx(adapter)) {
drivers/net/wireless/rsi/rsi_91x_usb.c
652
adapter->block_size = rsi_dev->tx_blk_size;
drivers/net/wireless/rsi/rsi_91x_usb.c
655
adapter->check_hw_queue_status = rsi_usb_check_queue_status;
drivers/net/wireless/rsi/rsi_91x_usb.c
656
adapter->determine_event_timeout = rsi_usb_event_timeout;
drivers/net/wireless/rsi/rsi_91x_usb.c
657
adapter->rsi_host_intf = RSI_HOST_INTF_USB;
drivers/net/wireless/rsi/rsi_91x_usb.c
658
adapter->host_intf_ops = &usb_host_intf_ops;
drivers/net/wireless/rsi/rsi_91x_usb.c
662
adapter->num_debugfs_entries = (MAX_DEBUGFS_ENTRIES - 1);
drivers/net/wireless/rsi/rsi_91x_usb.c
676
static int usb_ulp_read_write(struct rsi_hw *adapter, u16 addr, u32 data,
drivers/net/wireless/rsi/rsi_91x_usb.c
682
(adapter, RSI_GSPI_DATA_REG1,
drivers/net/wireless/rsi/rsi_91x_usb.c
687
ret = rsi_usb_master_reg_write(adapter, RSI_GSPI_DATA_REG0,
drivers/net/wireless/rsi/rsi_91x_usb.c
693
rsi_usb_master_reg_write(adapter, RSI_GSPI_CTRL_REG0,
drivers/net/wireless/rsi/rsi_91x_usb.c
696
ret = rsi_usb_master_reg_write(adapter, RSI_GSPI_CTRL_REG1,
drivers/net/wireless/rsi/rsi_91x_usb.c
706
static int rsi_reset_card(struct rsi_hw *adapter)
drivers/net/wireless/rsi/rsi_91x_usb.c
711
rsi_usb_master_reg_write(adapter, RSI_TA_HOLD_REG, 0xE, 4);
drivers/net/wireless/rsi/rsi_91x_usb.c
718
ret = rsi_usb_master_reg_write(adapter, SWBL_REGOUT,
drivers/net/wireless/rsi/rsi_91x_usb.c
726
if (adapter->device_model != RSI_DEV_9116) {
drivers/net/wireless/rsi/rsi_91x_usb.c
727
ret = usb_ulp_read_write(adapter, RSI_WATCH_DOG_TIMER_1,
drivers/net/wireless/rsi/rsi_91x_usb.c
731
ret = usb_ulp_read_write(adapter, RSI_WATCH_DOG_TIMER_2,
drivers/net/wireless/rsi/rsi_91x_usb.c
735
ret = usb_ulp_read_write(adapter, RSI_WATCH_DOG_DELAY_TIMER_1,
drivers/net/wireless/rsi/rsi_91x_usb.c
739
ret = usb_ulp_read_write(adapter, RSI_WATCH_DOG_DELAY_TIMER_2,
drivers/net/wireless/rsi/rsi_91x_usb.c
743
ret = usb_ulp_read_write(adapter, RSI_WATCH_DOG_TIMER_ENABLE,
drivers/net/wireless/rsi/rsi_91x_usb.c
748
ret = rsi_usb_master_reg_write(adapter,
drivers/net/wireless/rsi/rsi_91x_usb.c
754
ret = rsi_usb_master_reg_write(adapter,
drivers/net/wireless/rsi/rsi_91x_usb.c
760
ret = rsi_usb_master_reg_write(adapter,
drivers/net/wireless/rsi/rsi_91x_usb.c
788
struct rsi_hw *adapter;
drivers/net/wireless/rsi/rsi_91x_usb.c
795
adapter = rsi_91x_init(dev_oper_mode);
drivers/net/wireless/rsi/rsi_91x_usb.c
796
if (!adapter) {
drivers/net/wireless/rsi/rsi_91x_usb.c
801
adapter->rsi_host_intf = RSI_HOST_INTF_USB;
drivers/net/wireless/rsi/rsi_91x_usb.c
803
status = rsi_init_usb_interface(adapter, pfunction);
drivers/net/wireless/rsi/rsi_91x_usb.c
81
static int rsi_write_multiple(struct rsi_hw *adapter,
drivers/net/wireless/rsi/rsi_91x_usb.c
814
adapter->device_model = RSI_DEV_9113;
drivers/net/wireless/rsi/rsi_91x_usb.c
817
adapter->device_model = RSI_DEV_9116;
drivers/net/wireless/rsi/rsi_91x_usb.c
825
dev = adapter->rsi_dev;
drivers/net/wireless/rsi/rsi_91x_usb.c
835
status = rsi_hal_device_init(adapter);
drivers/net/wireless/rsi/rsi_91x_usb.c
844
status = rsi_rx_urb_submit(adapter, WLAN_EP, GFP_KERNEL);
drivers/net/wireless/rsi/rsi_91x_usb.c
848
if (adapter->priv->coex_mode > 1) {
drivers/net/wireless/rsi/rsi_91x_usb.c
849
status = rsi_rx_urb_submit(adapter, BT_EP, GFP_KERNEL);
drivers/net/wireless/rsi/rsi_91x_usb.c
857
rsi_rx_urb_kill(adapter, WLAN_EP);
drivers/net/wireless/rsi/rsi_91x_usb.c
859
rsi_deinit_usb_interface(adapter);
drivers/net/wireless/rsi/rsi_91x_usb.c
861
rsi_91x_deinit(adapter);
drivers/net/wireless/rsi/rsi_91x_usb.c
875
struct rsi_hw *adapter = usb_get_intfdata(pfunction);
drivers/net/wireless/rsi/rsi_91x_usb.c
877
if (!adapter)
drivers/net/wireless/rsi/rsi_91x_usb.c
88
if (!adapter)
drivers/net/wireless/rsi/rsi_91x_usb.c
880
rsi_mac80211_detach(adapter);
drivers/net/wireless/rsi/rsi_91x_usb.c
882
if (IS_ENABLED(CONFIG_RSI_COEX) && adapter->priv->coex_mode > 1 &&
drivers/net/wireless/rsi/rsi_91x_usb.c
883
adapter->priv->bt_adapter) {
drivers/net/wireless/rsi/rsi_91x_usb.c
884
rsi_bt_ops.detach(adapter->priv->bt_adapter);
drivers/net/wireless/rsi/rsi_91x_usb.c
885
adapter->priv->bt_adapter = NULL;
drivers/net/wireless/rsi/rsi_91x_usb.c
888
if (adapter->priv->coex_mode > 1)
drivers/net/wireless/rsi/rsi_91x_usb.c
889
rsi_rx_urb_kill(adapter, BT_EP);
drivers/net/wireless/rsi/rsi_91x_usb.c
890
rsi_rx_urb_kill(adapter, WLAN_EP);
drivers/net/wireless/rsi/rsi_91x_usb.c
892
rsi_reset_card(adapter);
drivers/net/wireless/rsi/rsi_91x_usb.c
893
rsi_deinit_usb_interface(adapter);
drivers/net/wireless/rsi/rsi_91x_usb.c
894
rsi_91x_deinit(adapter);
drivers/net/wireless/rsi/rsi_91x_usb.c
94
dev = adapter->rsi_dev;
drivers/net/wireless/rsi/rsi_91x_usb.c
98
return rsi_usb_card_write(adapter, data, count, endpoint);
drivers/net/wireless/rsi/rsi_91x_usb_ops.c
30
struct rsi_hw *adapter = common->priv;
drivers/net/wireless/rsi/rsi_91x_usb_ops.c
31
struct rsi_91x_usbdev *dev = adapter->rsi_dev;
drivers/net/wireless/rsi/rsi_common.h
84
void rsi_91x_deinit(struct rsi_hw *adapter);
drivers/net/wireless/rsi/rsi_common.h
87
int rsi_config_wowlan(struct rsi_hw *adapter, struct cfg80211_wowlan *wowlan);
drivers/net/wireless/rsi/rsi_common.h
90
struct ieee80211_vif *rsi_get_vif(struct rsi_hw *adapter, u8 *mac);
drivers/net/wireless/rsi/rsi_debugfs.h
24
static inline int rsi_init_dbgfs(struct rsi_hw *adapter)
drivers/net/wireless/rsi/rsi_debugfs.h
29
static inline void rsi_remove_dbgfs(struct rsi_hw *adapter)
drivers/net/wireless/rsi/rsi_debugfs.h
44
int rsi_init_dbgfs(struct rsi_hw *adapter);
drivers/net/wireless/rsi/rsi_debugfs.h
45
void rsi_remove_dbgfs(struct rsi_hw *adapter);
drivers/net/wireless/rsi/rsi_hal.h
223
int rsi_hal_device_init(struct rsi_hw *adapter);
drivers/net/wireless/rsi/rsi_main.h
384
int (*check_hw_queue_status)(struct rsi_hw *adapter, u8 q_num);
drivers/net/wireless/rsi/rsi_main.h
385
int (*determine_event_timeout)(struct rsi_hw *adapter);
drivers/net/wireless/rsi/rsi_main.h
391
int (*read_pkt)(struct rsi_hw *adapter, u8 *pkt, u32 len);
drivers/net/wireless/rsi/rsi_main.h
392
int (*write_pkt)(struct rsi_hw *adapter, u8 *pkt, u32 len);
drivers/net/wireless/rsi/rsi_main.h
393
int (*master_access_msword)(struct rsi_hw *adapter, u16 ms_word);
drivers/net/wireless/rsi/rsi_main.h
394
int (*read_reg_multiple)(struct rsi_hw *adapter, u32 addr,
drivers/net/wireless/rsi/rsi_main.h
396
int (*write_reg_multiple)(struct rsi_hw *adapter, u32 addr,
drivers/net/wireless/rsi/rsi_main.h
398
int (*master_reg_read)(struct rsi_hw *adapter, u32 addr,
drivers/net/wireless/rsi/rsi_main.h
400
int (*master_reg_write)(struct rsi_hw *adapter,
drivers/net/wireless/rsi/rsi_main.h
403
int (*load_data_master_write)(struct rsi_hw *adapter, u32 addr,
drivers/net/wireless/rsi/rsi_main.h
406
int (*reinit_device)(struct rsi_hw *adapter);
drivers/net/wireless/rsi/rsi_main.h
407
int (*ta_reset)(struct rsi_hw *adapter);
drivers/net/wireless/rsi/rsi_mgmt.h
752
int rsi_send_ps_request(struct rsi_hw *adapter, bool enable,
drivers/net/wireless/rsi/rsi_ps.h
58
void rsi_enable_ps(struct rsi_hw *adapter, struct ieee80211_vif *vif);
drivers/net/wireless/rsi/rsi_ps.h
59
void rsi_disable_ps(struct rsi_hw *adapter, struct ieee80211_vif *vif);
drivers/net/wireless/rsi/rsi_ps.h
60
int rsi_handle_ps_confirm(struct rsi_hw *adapter, u8 *msg);
drivers/net/wireless/rsi/rsi_ps.h
62
void rsi_conf_uapsd(struct rsi_hw *adapter, struct ieee80211_vif *vif);
drivers/net/wireless/rsi/rsi_sdio.h
126
int rsi_init_sdio_slave_regs(struct rsi_hw *adapter);
drivers/net/wireless/rsi/rsi_sdio.h
127
int rsi_sdio_read_register(struct rsi_hw *adapter, u32 addr, u8 *data);
drivers/net/wireless/rsi/rsi_sdio.h
128
int rsi_sdio_host_intf_read_pkt(struct rsi_hw *adapter, u8 *pkt, u32 length);
drivers/net/wireless/rsi/rsi_sdio.h
129
int rsi_sdio_write_register(struct rsi_hw *adapter, u8 function,
drivers/net/wireless/rsi/rsi_sdio.h
131
int rsi_sdio_write_register_multiple(struct rsi_hw *adapter, u32 addr,
drivers/net/wireless/rsi/rsi_sdio.h
133
int rsi_sdio_master_access_msword(struct rsi_hw *adapter, u16 ms_word);
drivers/net/wireless/rsi/rsi_sdio.h
134
void rsi_sdio_ack_intr(struct rsi_hw *adapter, u8 int_bit);
drivers/net/wireless/rsi/rsi_sdio.h
135
int rsi_sdio_determine_event_timeout(struct rsi_hw *adapter);
drivers/net/wireless/rsi/rsi_sdio.h
136
int rsi_sdio_check_buffer_status(struct rsi_hw *adapter, u8 q_num);
drivers/net/wireless/rsi/rsi_usb.h
73
static inline int rsi_usb_check_queue_status(struct rsi_hw *adapter, u8 q_num)
drivers/net/wireless/rsi/rsi_usb.h
79
static inline int rsi_usb_event_timeout(struct rsi_hw *adapter)
drivers/nfc/fdp/i2c.c
287
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) {
drivers/nfc/nfcmrvl/i2c.c
193
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) {
drivers/nfc/nxp-nci/i2c.c
272
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) {
drivers/nfc/pn533/i2c.c
172
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) {
drivers/nfc/pn544/i2c.c
873
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) {
drivers/nfc/st-nci/i2c.c
204
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) {
drivers/nfc/st21nfca/i2c.c
495
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) {
drivers/of/unittest.c
3195
struct i2c_adapter *adap = client->adapter;
drivers/pci/pwrctrl/pci-pwrctrl-tc9563.c
113
struct i2c_adapter *adapter;
drivers/pci/pwrctrl/pci-pwrctrl-tc9563.c
182
ret = i2c_transfer(client->adapter, &msg, 1);
drivers/pci/pwrctrl/pci-pwrctrl-tc9563.c
209
ret = i2c_transfer(client->adapter, &msg[0], 2);
drivers/pci/pwrctrl/pci-pwrctrl-tc9563.c
552
tc9563->adapter = of_find_i2c_adapter_by_node(i2c_node);
drivers/pci/pwrctrl/pci-pwrctrl-tc9563.c
554
if (!tc9563->adapter)
drivers/pci/pwrctrl/pci-pwrctrl-tc9563.c
557
tc9563->client = i2c_new_dummy_device(tc9563->adapter, addr);
drivers/pci/pwrctrl/pci-pwrctrl-tc9563.c
560
put_device(&tc9563->adapter->dev);
drivers/pci/pwrctrl/pci-pwrctrl-tc9563.c
628
put_device(&tc9563->adapter->dev);
drivers/pci/pwrctrl/pci-pwrctrl-tc9563.c
640
put_device(&tc9563->adapter->dev);
drivers/pinctrl/pinctrl-aw9523.c
982
lockdep_set_subclass(&awi->i2c_lock, i2c_adapter_depth(client->adapter));
drivers/pinctrl/pinctrl-cy8c95x0.c
1375
struct i2c_adapter *adapter = client->adapter;
drivers/pinctrl/pinctrl-cy8c95x0.c
1379
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/pinctrl/pinctrl-sx150x.c
1127
if (!i2c_check_functionality(client->adapter, i2c_funcs))
drivers/platform/arm64/huawei-gaokun-ec.c
145
ret = i2c_transfer(client->adapter, msgs, ARRAY_SIZE(msgs));
drivers/platform/arm64/lenovo-thinkpad-t14s.c
150
i2c_lock_bus(client->adapter, I2C_LOCK_SEGMENT);
drivers/platform/arm64/lenovo-thinkpad-t14s.c
152
ret = __i2c_transfer(client->adapter, &request, 1);
drivers/platform/arm64/lenovo-thinkpad-t14s.c
156
ret = __i2c_transfer(client->adapter, &response, 1);
drivers/platform/arm64/lenovo-thinkpad-t14s.c
164
i2c_unlock_bus(client->adapter, I2C_LOCK_SEGMENT);
drivers/platform/arm64/lenovo-thinkpad-t14s.c
190
i2c_lock_bus(client->adapter, I2C_LOCK_SEGMENT);
drivers/platform/arm64/lenovo-thinkpad-t14s.c
192
ret = __i2c_transfer(client->adapter, &request, 1);
drivers/platform/arm64/lenovo-thinkpad-t14s.c
196
ret = __i2c_transfer(client->adapter, &response, 1);
drivers/platform/arm64/lenovo-thinkpad-t14s.c
205
i2c_unlock_bus(client->adapter, I2C_LOCK_SEGMENT);
drivers/platform/chrome/chromeos_laptop.c
103
dummy = i2c_new_scanned_device(adapter, &dummy_info,
drivers/platform/chrome/chromeos_laptop.c
107
adapter->nr, info->addr, dummy->addr);
drivers/platform/chrome/chromeos_laptop.c
109
client = i2c_new_client_device(adapter, info);
drivers/platform/chrome/chromeos_laptop.c
116
adapter->nr, info->addr);
drivers/platform/chrome/chromeos_laptop.c
119
adapter->nr, info->addr);
drivers/platform/chrome/chromeos_laptop.c
136
static void chromeos_laptop_check_adapter(struct i2c_adapter *adapter)
drivers/platform/chrome/chromeos_laptop.c
148
if (strncmp(adapter->name, i2c_adapter_names[i2c_dev->type],
drivers/platform/chrome/chromeos_laptop.c
153
!chromeos_laptop_match_adapter_devid(adapter->dev.parent,
drivers/platform/chrome/chromeos_laptop.c
159
chromes_laptop_instantiate_i2c_device(adapter,
drivers/platform/chrome/chromeos_laptop.c
81
chromes_laptop_instantiate_i2c_device(struct i2c_adapter *adapter,
drivers/platform/chrome/chromeos_laptop.c
93
client = i2c_new_scanned_device(adapter, info, addr_list, NULL);
drivers/platform/chrome/cros_ec_i2c.c
103
ret = i2c_transfer(client->adapter, i2c_msg, 2);
drivers/platform/chrome/cros_ec_i2c.c
241
ret = i2c_transfer(client->adapter, i2c_msg, 2);
drivers/platform/chrome/cros_ec_i2c.c
304
ec_dev->phys_name = client->adapter->name;
drivers/platform/cznic/turris-omnia-mcu-base.c
47
ret = i2c_transfer(client->adapter, msgs, num);
drivers/platform/mellanox/mlxreg-dpu.c
533
data->hpdev.adapter = i2c_get_adapter(data->hpdev.nr);
drivers/platform/mellanox/mlxreg-dpu.c
534
if (!data->hpdev.adapter)
drivers/platform/mellanox/mlxreg-dpu.c
544
data->hpdev.client = i2c_new_client_device(data->hpdev.adapter,
drivers/platform/mellanox/mlxreg-dpu.c
586
i2c_put_adapter(data->hpdev.adapter);
drivers/platform/mellanox/mlxreg-dpu.c
597
i2c_put_adapter(data->hpdev.adapter);
drivers/platform/mellanox/mlxreg-hotplug.c
121
data->hpdev.adapter = i2c_get_adapter(data->hpdev.nr +
drivers/platform/mellanox/mlxreg-hotplug.c
123
if (!data->hpdev.adapter) {
drivers/platform/mellanox/mlxreg-hotplug.c
133
client = i2c_new_client_device(data->hpdev.adapter,
drivers/platform/mellanox/mlxreg-hotplug.c
140
i2c_put_adapter(data->hpdev.adapter);
drivers/platform/mellanox/mlxreg-hotplug.c
141
data->hpdev.adapter = NULL;
drivers/platform/mellanox/mlxreg-hotplug.c
190
if (data->hpdev.adapter) {
drivers/platform/mellanox/mlxreg-hotplug.c
191
i2c_put_adapter(data->hpdev.adapter);
drivers/platform/mellanox/mlxreg-hotplug.c
192
data->hpdev.adapter = NULL;
drivers/platform/mellanox/mlxreg-lc.c
420
dev->client = i2c_new_client_device(dev->adapter, dev->brdinfo);
drivers/platform/mellanox/mlxreg-lc.c
425
dev->adapter = NULL;
drivers/platform/mellanox/mlxreg-lc.c
652
aux_dev->adapter = adapters[aux_dev->nr];
drivers/platform/mellanox/mlxreg-lc.c
664
main_dev->adapter = adapters[main_dev->nr];
drivers/platform/mellanox/mlxreg-lc.c
831
data->hpdev.adapter = i2c_get_adapter(data->hpdev.nr);
drivers/platform/mellanox/mlxreg-lc.c
832
if (!data->hpdev.adapter) {
drivers/platform/mellanox/mlxreg-lc.c
840
data->hpdev.client = i2c_new_client_device(data->hpdev.adapter,
drivers/platform/mellanox/mlxreg-lc.c
899
i2c_put_adapter(data->hpdev.adapter);
drivers/platform/mellanox/mlxreg-lc.c
900
data->hpdev.adapter = NULL;
drivers/platform/mellanox/mlxreg-lc.c
940
i2c_put_adapter(data->hpdev.adapter);
drivers/platform/mellanox/mlxreg-lc.c
941
data->hpdev.adapter = NULL;
drivers/platform/mellanox/nvsw-sn2201.c
1011
dev->adapter = NULL;
drivers/platform/mellanox/nvsw-sn2201.c
1027
i2c_put_adapter(dev->adapter);
drivers/platform/mellanox/nvsw-sn2201.c
1028
dev->adapter = NULL;
drivers/platform/mellanox/nvsw-sn2201.c
1052
sn2201_dev->adapter = i2c_get_adapter(sn2201_dev->nr);
drivers/platform/mellanox/nvsw-sn2201.c
1053
if (!sn2201_dev->adapter)
drivers/platform/mellanox/nvsw-sn2201.c
1055
i2c_put_adapter(sn2201_dev->adapter);
drivers/platform/mellanox/nvsw-sn2201.c
1180
nvsw_sn2201->main_mux_devs->adapter = i2c_get_adapter(nvsw_sn2201->main_mux_devs->nr);
drivers/platform/mellanox/nvsw-sn2201.c
1181
if (!nvsw_sn2201->main_mux_devs->adapter) {
drivers/platform/mellanox/nvsw-sn2201.c
1196
nvsw_sn2201->cpld_devs->adapter = i2c_get_adapter(nvsw_sn2201->cpld_devs->nr);
drivers/platform/mellanox/nvsw-sn2201.c
1197
if (!nvsw_sn2201->cpld_devs->adapter) {
drivers/platform/mellanox/nvsw-sn2201.c
1205
nvsw_sn2201->cpld_devs->client = i2c_new_dummy_device(nvsw_sn2201->cpld_devs->adapter,
drivers/platform/mellanox/nvsw-sn2201.c
1257
i2c_put_adapter(nvsw_sn2201->cpld_devs->adapter);
drivers/platform/mellanox/nvsw-sn2201.c
1258
nvsw_sn2201->cpld_devs->adapter = NULL;
drivers/platform/mellanox/nvsw-sn2201.c
1267
i2c_put_adapter(nvsw_sn2201->main_mux_devs->adapter);
drivers/platform/mellanox/nvsw-sn2201.c
1339
i2c_put_adapter(nvsw_sn2201->cpld_devs->adapter);
drivers/platform/mellanox/nvsw-sn2201.c
1340
nvsw_sn2201->cpld_devs->adapter = NULL;
drivers/platform/mellanox/nvsw-sn2201.c
992
dev->client = i2c_new_client_device(dev->adapter, dev->brdinfo);
drivers/platform/mellanox/nvsw-sn2201.c
998
dev->adapter = NULL;
drivers/platform/x86/amd/amd_isp4.c
302
dev_dbg(&client->adapter->dev, "amdisp i2c_client removed\n");
drivers/platform/x86/asus-tf103c-dock.c
191
ret = i2c_transfer(client->adapter, msgs, ARRAY_SIZE(msgs));
drivers/platform/x86/asus-tf103c-dock.c
499
dock->tp_client = i2c_new_client_device(dock->ec_client->adapter, &board_info);
drivers/platform/x86/asus-tf103c-dock.c
802
dock->intr_client = i2c_new_client_device(client->adapter, &board_info);
drivers/platform/x86/asus-tf103c-dock.c
810
dock->kbd_client = i2c_new_client_device(client->adapter, &board_info);
drivers/platform/x86/dell/dell-lis3lv02d.c
187
dev_dbg(&client->adapter->dev, "lis3lv02d i2c_client removed\n");
drivers/platform/x86/mxm-wmi.c
30
int mxm_wmi_call_mxds(int adapter)
drivers/platform/x86/mxm-wmi.c
40
printk("calling mux switch %d\n", adapter);
drivers/platform/x86/mxm-wmi.c
42
status = wmi_evaluate_method(MXM_WMMX_GUID, 0x0, adapter, &input, NULL);
drivers/platform/x86/mxm-wmi.c
53
int mxm_wmi_call_mxmx(int adapter)
drivers/platform/x86/mxm-wmi.c
63
printk("calling mux switch %d\n", adapter);
drivers/platform/x86/mxm-wmi.c
65
status = wmi_evaluate_method(MXM_WMMX_GUID, 0x0, adapter, &input, NULL);
drivers/power/supply/bq2415x_charger.c
195
if (!client->adapter)
drivers/power/supply/bq2415x_charger.c
208
ret = i2c_transfer(client->adapter, msg, ARRAY_SIZE(msg));
drivers/power/supply/bq2415x_charger.c
259
ret = i2c_transfer(client->adapter, msg, ARRAY_SIZE(msg));
drivers/power/supply/bq24190_charger.c
2065
struct i2c_adapter *adapter = client->adapter;
drivers/power/supply/bq24190_charger.c
2071
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA)) {
drivers/power/supply/bq24257_charger.c
945
struct i2c_adapter *adapter = client->adapter;
drivers/power/supply/bq24257_charger.c
951
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA)) {
drivers/power/supply/bq27xxx_battery_i2c.c
111
if (!client->adapter)
drivers/power/supply/bq27xxx_battery_i2c.c
130
if (!client->adapter)
drivers/power/supply/bq27xxx_battery_i2c.c
141
ret = i2c_transfer(client->adapter, &msg, 1);
drivers/power/supply/bq27xxx_battery_i2c.c
37
if (!client->adapter)
drivers/power/supply/bq27xxx_battery_i2c.c
53
ret = i2c_transfer(client->adapter, msg, ARRAY_SIZE(msg));
drivers/power/supply/bq27xxx_battery_i2c.c
81
if (!client->adapter)
drivers/power/supply/bq27xxx_battery_i2c.c
97
ret = i2c_transfer(client->adapter, &msg, 1);
drivers/power/supply/lp8727_charger.c
530
if (!i2c_check_functionality(cl->adapter, I2C_FUNC_SMBUS_I2C_BLOCK))
drivers/power/supply/ltc2941-battery-gauge.c
113
ret = i2c_transfer(client->adapter, &msgs[0], 2);
drivers/power/supply/ltc4162-l-charger.c
1135
struct i2c_adapter *adapter = client->adapter;
drivers/power/supply/ltc4162-l-charger.c
1144
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_WORD_DATA)) {
drivers/power/supply/max14656_charger_detector.c
239
struct i2c_adapter *adapter = client->adapter;
drivers/power/supply/max14656_charger_detector.c
251
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA)) {
drivers/power/supply/max17040_battery.c
457
struct i2c_adapter *adapter = client->adapter;
drivers/power/supply/max17040_battery.c
464
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE))
drivers/power/supply/max17042_battery.c
1038
struct i2c_adapter *adapter = client->adapter;
drivers/power/supply/max17042_battery.c
1046
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_WORD_DATA))
drivers/power/supply/mm8013.c
256
if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_WORD_DATA))
drivers/power/supply/rt5033_battery.c
143
struct i2c_adapter *adapter = client->adapter;
drivers/power/supply/rt5033_battery.c
147
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE))
drivers/power/supply/rt9455_charger.c
1587
struct i2c_adapter *adapter = client->adapter;
drivers/power/supply/rt9455_charger.c
1601
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA)) {
drivers/power/supply/sbs-battery.c
372
if (!i2c_check_functionality(client->adapter,
drivers/power/supply/sbs-battery.c
432
if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_READ_BLOCK_DATA)) {
drivers/power/supply/sbs-manager.c
261
device_for_each_child(&sbsm->muxc->adapter[i]->dev,
drivers/power/supply/sbs-manager.c
321
struct i2c_adapter *adapter = client->adapter;
drivers/power/supply/sbs-manager.c
332
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_WORD_DATA))
drivers/power/supply/sbs-manager.c
348
data->muxc = i2c_mux_alloc(adapter, dev, SBSM_MAX_BATS, 0,
drivers/regulator/88pm886-regulator.c
350
page = devm_i2c_new_dummy_device(dev, chip->client->adapter,
drivers/regulator/isl6271a-regulator.c
109
if (!i2c_check_functionality(i2c->adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/regulator/lp8755.c
365
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) {
drivers/regulator/max8952.c
176
struct i2c_adapter *adapter = client->adapter;
drivers/regulator/max8952.c
194
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE))
drivers/regulator/raa215300.c
160
rtc_client = i2c_new_client_device(client->adapter, &info);
drivers/regulator/rpi-panel-attiny-regulator.c
252
ret = i2c_transfer(client->adapter, msgs, ARRAY_SIZE(msgs));
drivers/regulator/rpi-panel-attiny-regulator.c
264
ret = i2c_transfer(client->adapter, msgs, ARRAY_SIZE(msgs));
drivers/rtc/rtc-ab-b5ze-s3.c
827
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C |
drivers/rtc/rtc-ab-eoz9.c
476
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C |
drivers/rtc/rtc-abx80x.c
783
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C))
drivers/rtc/rtc-bq32k.c
260
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C))
drivers/rtc/rtc-bq32k.c
70
if (i2c_transfer(client->adapter, msgs, 2) == 2)
drivers/rtc/rtc-ds1672.c
116
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C))
drivers/rtc/rtc-ds1672.c
48
if ((i2c_transfer(client->adapter, &msgs[0], 2)) != 2) {
drivers/rtc/rtc-ds1672.c
62
if ((i2c_transfer(client->adapter, &msgs[0], 2)) != 2) {
drivers/rtc/rtc-em3027.c
101
if ((i2c_transfer(client->adapter, &msg, 1)) != 1) {
drivers/rtc/rtc-em3027.c
118
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C))
drivers/rtc/rtc-em3027.c
64
if ((i2c_transfer(client->adapter, &msgs[0], 2)) != 2) {
drivers/rtc/rtc-fm3130.c
107
tmp = i2c_transfer(fm3130->client->adapter, fm3130->msg, 2);
drivers/rtc/rtc-fm3130.c
199
tmp = i2c_transfer(fm3130->client->adapter, &fm3130->msg[2], 2);
drivers/rtc/rtc-fm3130.c
348
struct i2c_adapter *adapter = client->adapter;
drivers/rtc/rtc-fm3130.c
350
if (!i2c_check_functionality(adapter,
drivers/rtc/rtc-fm3130.c
389
tmp = i2c_transfer(adapter, fm3130->msg, 4);
drivers/rtc/rtc-isl12022.c
557
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C))
drivers/rtc/rtc-isl12026.c
123
ret = i2c_transfer(client->adapter, &msg, 1);
drivers/rtc/rtc-isl12026.c
150
ret = i2c_transfer(client->adapter, &msg, 1);
drivers/rtc/rtc-isl12026.c
191
ret = i2c_transfer(client->adapter, &msg, 1);
drivers/rtc/rtc-isl12026.c
228
ret = i2c_transfer(client->adapter, msgs, ARRAY_SIZE(msgs));
drivers/rtc/rtc-isl12026.c
246
ret = i2c_transfer(client->adapter, msgs, ARRAY_SIZE(msgs));
drivers/rtc/rtc-isl12026.c
308
ret = i2c_transfer(priv->nvm_client->adapter, msgs, ARRAY_SIZE(msgs));
drivers/rtc/rtc-isl12026.c
358
ret = i2c_transfer(priv->nvm_client->adapter,
drivers/rtc/rtc-isl12026.c
445
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C))
drivers/rtc/rtc-isl12026.c
456
priv->nvm_client = i2c_new_dummy_device(client->adapter, ISL12026_EEPROM_ADDR);
drivers/rtc/rtc-isl12026.c
62
ret = i2c_transfer(client->adapter, msgs, ARRAY_SIZE(msgs));
drivers/rtc/rtc-isl12026.c
89
ret = i2c_transfer(client->adapter, &msg, 1);
drivers/rtc/rtc-isl12026.c
99
ret = i2c_transfer(client->adapter, &msg, 1);
drivers/rtc/rtc-isl1208.c
864
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C))
drivers/rtc/rtc-m41t80.c
676
i2c_transfer(save_client->adapter, msgs1, 1);
drivers/rtc/rtc-m41t80.c
709
i2c_transfer(save_client->adapter, msgs0, 2);
drivers/rtc/rtc-m41t80.c
713
i2c_transfer(save_client->adapter, msgs1, 1);
drivers/rtc/rtc-m41t80.c
909
struct i2c_adapter *adapter = client->adapter;
drivers/rtc/rtc-m41t80.c
915
if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_I2C_BLOCK |
drivers/rtc/rtc-m41t80.c
917
dev_err(&adapter->dev, "doesn't support I2C_FUNC_SMBUS_BYTE_DATA | I2C_FUNC_SMBUS_I2C_BLOCK\n");
drivers/rtc/rtc-max6900.c
119
rc = i2c_transfer(client->adapter, century_msgs,
drivers/rtc/rtc-max6900.c
128
rc = i2c_transfer(client->adapter, burst_msgs, ARRAY_SIZE(burst_msgs));
drivers/rtc/rtc-max6900.c
204
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C))
drivers/rtc/rtc-max6900.c
83
rc = i2c_transfer(client->adapter, msgs, ARRAY_SIZE(msgs));
drivers/rtc/rtc-max77686.c
716
client = devm_i2c_new_dummy_device(info->dev, parent_i2c->adapter,
drivers/rtc/rtc-nct3018y.c
499
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C |
drivers/rtc/rtc-pcf2127.c
1469
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C))
drivers/rtc/rtc-pcf8523.c
424
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C))
drivers/rtc/rtc-pcf8563.c
480
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C))
drivers/rtc/rtc-pcf8583.c
154
return i2c_transfer(client->adapter, msgs, 2) == 2 ? 0 : -EIO;
drivers/rtc/rtc-pcf8583.c
282
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C))
drivers/rtc/rtc-pcf8583.c
69
ret = i2c_transfer(client->adapter, msgs, 2);
drivers/rtc/rtc-rs5c372.c
166
if ((i2c_transfer(client->adapter, msgs, 1)) != 1) {
drivers/rtc/rtc-rs5c372.c
802
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C |
drivers/rtc/rtc-rs5c372.c
808
if (i2c_check_functionality(client->adapter,
drivers/rtc/rtc-rv3029c2.c
796
if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_I2C_BLOCK |
drivers/rtc/rtc-rv8803.c
644
struct i2c_adapter *adapter = client->adapter;
drivers/rtc/rtc-rv8803.c
657
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA |
drivers/rtc/rtc-rv8803.c
659
dev_err(&adapter->dev, "doesn't support I2C_FUNC_SMBUS_BYTE_DATA | I2C_FUNC_SMBUS_I2C_BLOCK\n");
drivers/rtc/rtc-rx6110.c
420
struct i2c_adapter *adapter = client->adapter;
drivers/rtc/rtc-rx6110.c
423
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA
drivers/rtc/rtc-rx6110.c
425
dev_err(&adapter->dev,
drivers/rtc/rtc-rx8025.c
526
struct i2c_adapter *adapter = client->adapter;
drivers/rtc/rtc-rx8025.c
530
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA
drivers/rtc/rtc-rx8025.c
532
dev_err(&adapter->dev,
drivers/rtc/rtc-s35390a.c
455
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C))
drivers/rtc/rtc-s35390a.c
468
client->adapter,
drivers/rtc/rtc-s35390a.c
81
if ((i2c_transfer(client->adapter, msg, 1)) != 1)
drivers/rtc/rtc-s35390a.c
99
if ((i2c_transfer(client->adapter, msg, 1)) != 1)
drivers/rtc/rtc-s5m.c
705
s5m87xx->i2c->adapter,
drivers/rtc/rtc-sd2405al.c
174
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C))
drivers/rtc/rtc-sd3078.c
160
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C))
drivers/rtc/rtc-x1205.c
110
if (i2c_transfer(client->adapter, &msgs[0], 2) != 2) {
drivers/rtc/rtc-x1205.c
164
if (i2c_transfer(client->adapter, &msgs[0], 2) != 2) {
drivers/rtc/rtc-x1205.c
313
if (i2c_transfer(client->adapter, &msgs[0], 2) != 2) {
drivers/rtc/rtc-x1205.c
354
if (i2c_transfer(client->adapter, &msgs[0], 2) != 2) {
drivers/rtc/rtc-x1205.c
430
xfer = i2c_transfer(client->adapter, msgs, 2);
drivers/rtc/rtc-x1205.c
468
xfer = i2c_transfer(client->adapter, msgs, 2);
drivers/rtc/rtc-x1205.c
515
if (i2c_transfer(client->adapter, &msgs[0], 2) != 2) {
drivers/rtc/rtc-x1205.c
625
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C))
drivers/s390/scsi/zfcp_aux.c
188
struct zfcp_port *zfcp_get_port_by_wwpn(struct zfcp_adapter *adapter,
drivers/s390/scsi/zfcp_aux.c
194
read_lock_irqsave(&adapter->port_list_lock, flags);
drivers/s390/scsi/zfcp_aux.c
195
list_for_each_entry(port, &adapter->port_list, list)
drivers/s390/scsi/zfcp_aux.c
199
read_unlock_irqrestore(&adapter->port_list_lock, flags);
drivers/s390/scsi/zfcp_aux.c
202
read_unlock_irqrestore(&adapter->port_list_lock, flags);
drivers/s390/scsi/zfcp_aux.c
206
static int zfcp_allocate_low_mem_buffers(struct zfcp_adapter *adapter)
drivers/s390/scsi/zfcp_aux.c
208
adapter->pool.erp_req =
drivers/s390/scsi/zfcp_aux.c
210
if (!adapter->pool.erp_req)
drivers/s390/scsi/zfcp_aux.c
213
adapter->pool.gid_pn_req =
drivers/s390/scsi/zfcp_aux.c
215
if (!adapter->pool.gid_pn_req)
drivers/s390/scsi/zfcp_aux.c
218
adapter->pool.scsi_req =
drivers/s390/scsi/zfcp_aux.c
220
if (!adapter->pool.scsi_req)
drivers/s390/scsi/zfcp_aux.c
223
adapter->pool.scsi_abort =
drivers/s390/scsi/zfcp_aux.c
225
if (!adapter->pool.scsi_abort)
drivers/s390/scsi/zfcp_aux.c
228
adapter->pool.status_read_req =
drivers/s390/scsi/zfcp_aux.c
231
if (!adapter->pool.status_read_req)
drivers/s390/scsi/zfcp_aux.c
234
adapter->pool.qtcb_pool =
drivers/s390/scsi/zfcp_aux.c
236
if (!adapter->pool.qtcb_pool)
drivers/s390/scsi/zfcp_aux.c
240
adapter->pool.sr_data =
drivers/s390/scsi/zfcp_aux.c
242
if (!adapter->pool.sr_data)
drivers/s390/scsi/zfcp_aux.c
245
adapter->pool.gid_pn =
drivers/s390/scsi/zfcp_aux.c
247
if (!adapter->pool.gid_pn)
drivers/s390/scsi/zfcp_aux.c
253
static void zfcp_free_low_mem_buffers(struct zfcp_adapter *adapter)
drivers/s390/scsi/zfcp_aux.c
255
mempool_destroy(adapter->pool.erp_req);
drivers/s390/scsi/zfcp_aux.c
256
mempool_destroy(adapter->pool.scsi_req);
drivers/s390/scsi/zfcp_aux.c
257
mempool_destroy(adapter->pool.scsi_abort);
drivers/s390/scsi/zfcp_aux.c
258
mempool_destroy(adapter->pool.qtcb_pool);
drivers/s390/scsi/zfcp_aux.c
259
mempool_destroy(adapter->pool.status_read_req);
drivers/s390/scsi/zfcp_aux.c
260
mempool_destroy(adapter->pool.sr_data);
drivers/s390/scsi/zfcp_aux.c
261
mempool_destroy(adapter->pool.gid_pn);
drivers/s390/scsi/zfcp_aux.c
273
int zfcp_status_read_refill(struct zfcp_adapter *adapter)
drivers/s390/scsi/zfcp_aux.c
275
while (atomic_add_unless(&adapter->stat_miss, -1, 0))
drivers/s390/scsi/zfcp_aux.c
276
if (zfcp_fsf_status_read(adapter->qdio)) {
drivers/s390/scsi/zfcp_aux.c
277
atomic_inc(&adapter->stat_miss); /* undo add -1 */
drivers/s390/scsi/zfcp_aux.c
278
if (atomic_read(&adapter->stat_miss) >=
drivers/s390/scsi/zfcp_aux.c
279
adapter->stat_read_buf_num) {
drivers/s390/scsi/zfcp_aux.c
280
zfcp_erp_adapter_reopen(adapter, 0, "axsref1");
drivers/s390/scsi/zfcp_aux.c
296
struct zfcp_adapter *adapter = container_of(work, struct zfcp_adapter,
drivers/s390/scsi/zfcp_aux.c
299
zfcp_fsf_exchange_config_data_sync(adapter->qdio, NULL);
drivers/s390/scsi/zfcp_aux.c
304
struct zfcp_adapter *adapter =
drivers/s390/scsi/zfcp_aux.c
308
dev_name(&adapter->ccw_device->dev),
drivers/s390/scsi/zfcp_aux.c
309
adapter->fsf_lic_version);
drivers/s390/scsi/zfcp_aux.c
312
static int zfcp_setup_adapter_work_queue(struct zfcp_adapter *adapter)
drivers/s390/scsi/zfcp_aux.c
314
adapter->work_queue =
drivers/s390/scsi/zfcp_aux.c
316
dev_name(&adapter->ccw_device->dev));
drivers/s390/scsi/zfcp_aux.c
317
if (!adapter->work_queue)
drivers/s390/scsi/zfcp_aux.c
323
static void zfcp_destroy_adapter_work_queue(struct zfcp_adapter *adapter)
drivers/s390/scsi/zfcp_aux.c
325
if (adapter->work_queue)
drivers/s390/scsi/zfcp_aux.c
326
destroy_workqueue(adapter->work_queue);
drivers/s390/scsi/zfcp_aux.c
327
adapter->work_queue = NULL;
drivers/s390/scsi/zfcp_aux.c
342
struct zfcp_adapter *adapter;
drivers/s390/scsi/zfcp_aux.c
347
adapter = kzalloc_obj(struct zfcp_adapter);
drivers/s390/scsi/zfcp_aux.c
348
if (!adapter) {
drivers/s390/scsi/zfcp_aux.c
353
kref_init(&adapter->ref);
drivers/s390/scsi/zfcp_aux.c
356
adapter->ccw_device = ccw_device;
drivers/s390/scsi/zfcp_aux.c
358
INIT_WORK(&adapter->stat_work, _zfcp_status_read_scheduler);
drivers/s390/scsi/zfcp_aux.c
359
INIT_DELAYED_WORK(&adapter->scan_work, zfcp_fc_scan_ports);
drivers/s390/scsi/zfcp_aux.c
360
INIT_WORK(&adapter->ns_up_work, zfcp_fc_sym_name_update);
drivers/s390/scsi/zfcp_aux.c
361
INIT_WORK(&adapter->version_change_lost_work,
drivers/s390/scsi/zfcp_aux.c
364
adapter->next_port_scan = jiffies;
drivers/s390/scsi/zfcp_aux.c
366
adapter->erp_action.adapter = adapter;
drivers/s390/scsi/zfcp_aux.c
368
if (zfcp_diag_adapter_setup(adapter))
drivers/s390/scsi/zfcp_aux.c
371
if (zfcp_qdio_setup(adapter))
drivers/s390/scsi/zfcp_aux.c
374
if (zfcp_allocate_low_mem_buffers(adapter))
drivers/s390/scsi/zfcp_aux.c
377
adapter->req_list = zfcp_reqlist_alloc();
drivers/s390/scsi/zfcp_aux.c
378
if (!adapter->req_list)
drivers/s390/scsi/zfcp_aux.c
381
if (zfcp_dbf_adapter_register(adapter))
drivers/s390/scsi/zfcp_aux.c
384
if (zfcp_setup_adapter_work_queue(adapter))
drivers/s390/scsi/zfcp_aux.c
387
if (zfcp_fc_gs_setup(adapter))
drivers/s390/scsi/zfcp_aux.c
390
rwlock_init(&adapter->port_list_lock);
drivers/s390/scsi/zfcp_aux.c
391
INIT_LIST_HEAD(&adapter->port_list);
drivers/s390/scsi/zfcp_aux.c
393
INIT_LIST_HEAD(&adapter->events.list);
drivers/s390/scsi/zfcp_aux.c
394
INIT_WORK(&adapter->events.work, zfcp_fc_post_event);
drivers/s390/scsi/zfcp_aux.c
395
spin_lock_init(&adapter->events.list_lock);
drivers/s390/scsi/zfcp_aux.c
397
init_waitqueue_head(&adapter->erp_ready_wq);
drivers/s390/scsi/zfcp_aux.c
398
init_waitqueue_head(&adapter->erp_done_wqh);
drivers/s390/scsi/zfcp_aux.c
400
INIT_LIST_HEAD(&adapter->erp_ready_head);
drivers/s390/scsi/zfcp_aux.c
401
INIT_LIST_HEAD(&adapter->erp_running_head);
drivers/s390/scsi/zfcp_aux.c
403
rwlock_init(&adapter->erp_lock);
drivers/s390/scsi/zfcp_aux.c
404
rwlock_init(&adapter->abort_lock);
drivers/s390/scsi/zfcp_aux.c
406
if (zfcp_erp_thread_setup(adapter))
drivers/s390/scsi/zfcp_aux.c
409
adapter->service_level.seq_print = zfcp_print_sl;
drivers/s390/scsi/zfcp_aux.c
411
dev_set_drvdata(&ccw_device->dev, adapter);
drivers/s390/scsi/zfcp_aux.c
417
adapter->ccw_device->dev.dma_parms = &adapter->dma_parms;
drivers/s390/scsi/zfcp_aux.c
419
adapter->stat_read_buf_num = FSF_STATUS_READS_RECOM;
drivers/s390/scsi/zfcp_aux.c
421
return adapter;
drivers/s390/scsi/zfcp_aux.c
426
cancel_delayed_work_sync(&adapter->scan_work);
drivers/s390/scsi/zfcp_aux.c
427
cancel_work_sync(&adapter->stat_work);
drivers/s390/scsi/zfcp_aux.c
428
cancel_work_sync(&adapter->ns_up_work);
drivers/s390/scsi/zfcp_aux.c
429
cancel_work_sync(&adapter->version_change_lost_work);
drivers/s390/scsi/zfcp_aux.c
430
zfcp_destroy_adapter_work_queue(adapter);
drivers/s390/scsi/zfcp_aux.c
432
zfcp_fc_wka_ports_force_offline(adapter->gs);
drivers/s390/scsi/zfcp_aux.c
433
zfcp_scsi_adapter_unregister(adapter);
drivers/s390/scsi/zfcp_aux.c
435
zfcp_erp_thread_kill(adapter);
drivers/s390/scsi/zfcp_aux.c
436
zfcp_dbf_adapter_unregister(adapter);
drivers/s390/scsi/zfcp_aux.c
437
zfcp_qdio_destroy(adapter->qdio);
drivers/s390/scsi/zfcp_aux.c
439
zfcp_ccw_adapter_put(adapter); /* final put to release */
drivers/s390/scsi/zfcp_aux.c
443
void zfcp_adapter_unregister(struct zfcp_adapter *adapter)
drivers/s390/scsi/zfcp_aux.c
445
struct ccw_device *cdev = adapter->ccw_device;
drivers/s390/scsi/zfcp_aux.c
447
cancel_delayed_work_sync(&adapter->scan_work);
drivers/s390/scsi/zfcp_aux.c
448
cancel_work_sync(&adapter->stat_work);
drivers/s390/scsi/zfcp_aux.c
449
cancel_work_sync(&adapter->ns_up_work);
drivers/s390/scsi/zfcp_aux.c
450
cancel_work_sync(&adapter->version_change_lost_work);
drivers/s390/scsi/zfcp_aux.c
451
zfcp_destroy_adapter_work_queue(adapter);
drivers/s390/scsi/zfcp_aux.c
453
zfcp_fc_wka_ports_force_offline(adapter->gs);
drivers/s390/scsi/zfcp_aux.c
454
zfcp_scsi_adapter_unregister(adapter);
drivers/s390/scsi/zfcp_aux.c
457
zfcp_erp_thread_kill(adapter);
drivers/s390/scsi/zfcp_aux.c
458
zfcp_dbf_adapter_unregister(adapter);
drivers/s390/scsi/zfcp_aux.c
459
zfcp_qdio_destroy(adapter->qdio);
drivers/s390/scsi/zfcp_aux.c
461
zfcp_ccw_adapter_put(adapter); /* final put to release */
drivers/s390/scsi/zfcp_aux.c
471
struct zfcp_adapter *adapter = container_of(ref, struct zfcp_adapter,
drivers/s390/scsi/zfcp_aux.c
473
struct ccw_device *cdev = adapter->ccw_device;
drivers/s390/scsi/zfcp_aux.c
475
dev_set_drvdata(&adapter->ccw_device->dev, NULL);
drivers/s390/scsi/zfcp_aux.c
476
zfcp_fc_gs_destroy(adapter);
drivers/s390/scsi/zfcp_aux.c
477
zfcp_free_low_mem_buffers(adapter);
drivers/s390/scsi/zfcp_aux.c
478
zfcp_diag_adapter_free(adapter);
drivers/s390/scsi/zfcp_aux.c
479
kfree(adapter->req_list);
drivers/s390/scsi/zfcp_aux.c
480
kfree(adapter->fc_stats);
drivers/s390/scsi/zfcp_aux.c
481
kfree(adapter->stats_reset_data);
drivers/s390/scsi/zfcp_aux.c
482
kfree(adapter);
drivers/s390/scsi/zfcp_aux.c
490
zfcp_ccw_adapter_put(port->adapter);
drivers/s390/scsi/zfcp_aux.c
506
struct zfcp_port *zfcp_port_enqueue(struct zfcp_adapter *adapter, u64 wwpn,
drivers/s390/scsi/zfcp_aux.c
512
kref_get(&adapter->ref);
drivers/s390/scsi/zfcp_aux.c
514
port = zfcp_get_port_by_wwpn(adapter, wwpn);
drivers/s390/scsi/zfcp_aux.c
533
port->adapter = adapter;
drivers/s390/scsi/zfcp_aux.c
537
port->dev.parent = &adapter->ccw_device->dev;
drivers/s390/scsi/zfcp_aux.c
541
port->erp_action.adapter = adapter;
drivers/s390/scsi/zfcp_aux.c
555
write_lock_irq(&adapter->port_list_lock);
drivers/s390/scsi/zfcp_aux.c
556
list_add_tail(&port->list, &adapter->port_list);
drivers/s390/scsi/zfcp_aux.c
557
write_unlock_irq(&adapter->port_list_lock);
drivers/s390/scsi/zfcp_aux.c
564
zfcp_ccw_adapter_put(adapter);
drivers/s390/scsi/zfcp_aux.c
60
struct zfcp_adapter *adapter;
drivers/s390/scsi/zfcp_aux.c
70
adapter = zfcp_ccw_adapter_by_cdev(cdev);
drivers/s390/scsi/zfcp_aux.c
71
if (!adapter)
drivers/s390/scsi/zfcp_aux.c
74
port = zfcp_get_port_by_wwpn(adapter, wwpn);
drivers/s390/scsi/zfcp_aux.c
83
zfcp_ccw_adapter_put(adapter);
drivers/s390/scsi/zfcp_ccw.c
113
struct zfcp_adapter *adapter;
drivers/s390/scsi/zfcp_ccw.c
121
adapter = zfcp_ccw_adapter_by_cdev(cdev);
drivers/s390/scsi/zfcp_ccw.c
122
if (!adapter)
drivers/s390/scsi/zfcp_ccw.c
125
write_lock_irq(&adapter->port_list_lock);
drivers/s390/scsi/zfcp_ccw.c
126
list_for_each_entry(port, &adapter->port_list, list) {
drivers/s390/scsi/zfcp_ccw.c
131
list_splice_init(&adapter->port_list, &port_remove_lh);
drivers/s390/scsi/zfcp_ccw.c
132
write_unlock_irq(&adapter->port_list_lock);
drivers/s390/scsi/zfcp_ccw.c
133
zfcp_ccw_adapter_put(adapter); /* put from zfcp_ccw_adapter_by_cdev */
drivers/s390/scsi/zfcp_ccw.c
141
zfcp_adapter_unregister(adapter);
drivers/s390/scsi/zfcp_ccw.c
159
struct zfcp_adapter *adapter = zfcp_ccw_adapter_by_cdev(cdev);
drivers/s390/scsi/zfcp_ccw.c
161
if (!adapter) {
drivers/s390/scsi/zfcp_ccw.c
162
adapter = zfcp_adapter_enqueue(cdev);
drivers/s390/scsi/zfcp_ccw.c
164
if (IS_ERR(adapter)) {
drivers/s390/scsi/zfcp_ccw.c
168
return PTR_ERR(adapter);
drivers/s390/scsi/zfcp_ccw.c
170
kref_get(&adapter->ref);
drivers/s390/scsi/zfcp_ccw.c
174
BUG_ON(!zfcp_reqlist_isempty(adapter->req_list));
drivers/s390/scsi/zfcp_ccw.c
175
adapter->req_no = 0;
drivers/s390/scsi/zfcp_ccw.c
189
zfcp_fc_inverse_conditional_port_scan(adapter);
drivers/s390/scsi/zfcp_ccw.c
190
flush_delayed_work(&adapter->scan_work);
drivers/s390/scsi/zfcp_ccw.c
191
zfcp_ccw_adapter_put(adapter);
drivers/s390/scsi/zfcp_ccw.c
204
struct zfcp_adapter *adapter = zfcp_ccw_adapter_by_cdev(cdev);
drivers/s390/scsi/zfcp_ccw.c
206
if (!adapter)
drivers/s390/scsi/zfcp_ccw.c
209
zfcp_erp_set_adapter_status(adapter, 0);
drivers/s390/scsi/zfcp_ccw.c
210
zfcp_erp_adapter_shutdown(adapter, 0, "ccsoff1");
drivers/s390/scsi/zfcp_ccw.c
211
zfcp_erp_wait(adapter);
drivers/s390/scsi/zfcp_ccw.c
213
zfcp_ccw_adapter_put(adapter);
drivers/s390/scsi/zfcp_ccw.c
22
struct zfcp_adapter *adapter;
drivers/s390/scsi/zfcp_ccw.c
227
struct zfcp_adapter *adapter = zfcp_ccw_adapter_by_cdev(cdev);
drivers/s390/scsi/zfcp_ccw.c
229
if (!adapter)
drivers/s390/scsi/zfcp_ccw.c
235
zfcp_erp_adapter_shutdown(adapter, 0, "ccnoti1");
drivers/s390/scsi/zfcp_ccw.c
240
zfcp_erp_adapter_shutdown(adapter, 0, "ccnoti2");
drivers/s390/scsi/zfcp_ccw.c
244
zfcp_erp_set_adapter_status(adapter,
drivers/s390/scsi/zfcp_ccw.c
246
zfcp_erp_adapter_reopen(adapter, ZFCP_STATUS_COMMON_ERP_FAILED,
drivers/s390/scsi/zfcp_ccw.c
252
zfcp_erp_adapter_shutdown(adapter, 0, "ccnoti5");
drivers/s390/scsi/zfcp_ccw.c
256
zfcp_ccw_adapter_put(adapter);
drivers/s390/scsi/zfcp_ccw.c
26
adapter = dev_get_drvdata(&cdev->dev);
drivers/s390/scsi/zfcp_ccw.c
266
struct zfcp_adapter *adapter = zfcp_ccw_adapter_by_cdev(cdev);
drivers/s390/scsi/zfcp_ccw.c
268
if (!adapter)
drivers/s390/scsi/zfcp_ccw.c
27
if (adapter)
drivers/s390/scsi/zfcp_ccw.c
271
zfcp_erp_adapter_shutdown(adapter, 0, "ccshut1");
drivers/s390/scsi/zfcp_ccw.c
272
zfcp_erp_wait(adapter);
drivers/s390/scsi/zfcp_ccw.c
273
zfcp_erp_thread_kill(adapter);
drivers/s390/scsi/zfcp_ccw.c
275
zfcp_ccw_adapter_put(adapter);
drivers/s390/scsi/zfcp_ccw.c
28
kref_get(&adapter->ref);
drivers/s390/scsi/zfcp_ccw.c
30
return adapter;
drivers/s390/scsi/zfcp_ccw.c
33
void zfcp_ccw_adapter_put(struct zfcp_adapter *adapter)
drivers/s390/scsi/zfcp_ccw.c
38
kref_put(&adapter->ref, zfcp_adapter_release);
drivers/s390/scsi/zfcp_ccw.c
50
struct zfcp_adapter *adapter = zfcp_ccw_adapter_by_cdev(cdev);
drivers/s390/scsi/zfcp_ccw.c
52
if (!adapter)
drivers/s390/scsi/zfcp_ccw.c
55
zfcp_erp_clear_adapter_status(adapter, clear);
drivers/s390/scsi/zfcp_ccw.c
56
zfcp_erp_set_adapter_status(adapter, ZFCP_STATUS_COMMON_RUNNING);
drivers/s390/scsi/zfcp_ccw.c
57
zfcp_erp_adapter_reopen(adapter, ZFCP_STATUS_COMMON_ERP_FAILED,
drivers/s390/scsi/zfcp_ccw.c
73
zfcp_erp_wait(adapter);
drivers/s390/scsi/zfcp_ccw.c
74
flush_delayed_work(&adapter->scan_work);
drivers/s390/scsi/zfcp_ccw.c
76
zfcp_ccw_adapter_put(adapter);
drivers/s390/scsi/zfcp_dbf.c
117
struct zfcp_dbf *dbf = req->adapter->dbf;
drivers/s390/scsi/zfcp_dbf.c
155
struct zfcp_adapter *const adapter,
drivers/s390/scsi/zfcp_dbf.c
158
struct zfcp_dbf *const dbf = adapter->dbf;
drivers/s390/scsi/zfcp_dbf.c
196
struct zfcp_dbf *dbf = req->adapter->dbf;
drivers/s390/scsi/zfcp_dbf.c
243
struct zfcp_dbf *dbf = req->adapter->dbf;
drivers/s390/scsi/zfcp_dbf.c
274
void zfcp_dbf_hba_def_err(struct zfcp_adapter *adapter, u64 req_id, u16 scount,
drivers/s390/scsi/zfcp_dbf.c
277
struct zfcp_dbf *dbf = adapter->dbf;
drivers/s390/scsi/zfcp_dbf.c
308
struct zfcp_adapter *adapter,
drivers/s390/scsi/zfcp_dbf.c
312
rec->adapter_status = atomic_read(&adapter->status);
drivers/s390/scsi/zfcp_dbf.c
336
void zfcp_dbf_rec_trig(char *tag, struct zfcp_adapter *adapter,
drivers/s390/scsi/zfcp_dbf.c
340
struct zfcp_dbf *dbf = adapter->dbf;
drivers/s390/scsi/zfcp_dbf.c
346
lockdep_assert_held(&adapter->erp_lock);
drivers/s390/scsi/zfcp_dbf.c
356
zfcp_dbf_set_common(rec, adapter, port, sdev);
drivers/s390/scsi/zfcp_dbf.c
358
list_for_each(entry, &adapter->erp_ready_head)
drivers/s390/scsi/zfcp_dbf.c
361
list_for_each(entry, &adapter->erp_running_head)
drivers/s390/scsi/zfcp_dbf.c
382
void zfcp_dbf_rec_trig_lock(char *tag, struct zfcp_adapter *adapter,
drivers/s390/scsi/zfcp_dbf.c
388
read_lock_irqsave(&adapter->erp_lock, flags);
drivers/s390/scsi/zfcp_dbf.c
389
zfcp_dbf_rec_trig(tag, adapter, port, sdev, want, need);
drivers/s390/scsi/zfcp_dbf.c
390
read_unlock_irqrestore(&adapter->erp_lock, flags);
drivers/s390/scsi/zfcp_dbf.c
401
struct zfcp_dbf *dbf = erp->adapter->dbf;
drivers/s390/scsi/zfcp_dbf.c
413
zfcp_dbf_set_common(rec, erp->adapter, erp->port, erp->sdev);
drivers/s390/scsi/zfcp_dbf.c
426
rec->u.run.rec_count = atomic_read(&erp->adapter->erp_counter);
drivers/s390/scsi/zfcp_dbf.c
451
struct zfcp_dbf *dbf = wka_port->adapter->dbf;
drivers/s390/scsi/zfcp_dbf.c
545
struct zfcp_dbf *dbf = fsf->adapter->dbf;
drivers/s390/scsi/zfcp_dbf.c
626
struct zfcp_dbf *dbf = fsf->adapter->dbf;
drivers/s390/scsi/zfcp_dbf.c
646
struct zfcp_dbf *dbf = fsf->adapter->dbf;
drivers/s390/scsi/zfcp_dbf.c
673
struct zfcp_adapter *adapter =
drivers/s390/scsi/zfcp_dbf.c
675
struct zfcp_dbf *dbf = adapter->dbf;
drivers/s390/scsi/zfcp_dbf.c
71
struct zfcp_dbf *dbf = req->adapter->dbf;
drivers/s390/scsi/zfcp_dbf.c
752
void zfcp_dbf_scsi_eh(char *tag, struct zfcp_adapter *adapter,
drivers/s390/scsi/zfcp_dbf.c
755
struct zfcp_dbf *dbf = adapter->dbf;
drivers/s390/scsi/zfcp_dbf.c
760
if (unlikely(!debug_level_enabled(adapter->dbf->scsi, level)))
drivers/s390/scsi/zfcp_dbf.c
814
int zfcp_dbf_adapter_register(struct zfcp_adapter *adapter)
drivers/s390/scsi/zfcp_dbf.c
830
sprintf(name, "zfcp_%s_rec", dev_name(&adapter->ccw_device->dev));
drivers/s390/scsi/zfcp_dbf.c
836
sprintf(name, "zfcp_%s_hba", dev_name(&adapter->ccw_device->dev));
drivers/s390/scsi/zfcp_dbf.c
842
sprintf(name, "zfcp_%s_pay", dev_name(&adapter->ccw_device->dev));
drivers/s390/scsi/zfcp_dbf.c
848
sprintf(name, "zfcp_%s_san", dev_name(&adapter->ccw_device->dev));
drivers/s390/scsi/zfcp_dbf.c
854
sprintf(name, "zfcp_%s_scsi", dev_name(&adapter->ccw_device->dev));
drivers/s390/scsi/zfcp_dbf.c
859
adapter->dbf = dbf;
drivers/s390/scsi/zfcp_dbf.c
871
void zfcp_dbf_adapter_unregister(struct zfcp_adapter *adapter)
drivers/s390/scsi/zfcp_dbf.c
873
struct zfcp_dbf *dbf = adapter->dbf;
drivers/s390/scsi/zfcp_dbf.c
875
adapter->dbf = NULL;
drivers/s390/scsi/zfcp_dbf.h
348
if (debug_level_enabled(req->adapter->dbf->hba, level))
drivers/s390/scsi/zfcp_dbf.h
390
struct zfcp_adapter *adapter = (struct zfcp_adapter *)
drivers/s390/scsi/zfcp_dbf.h
393
if (debug_level_enabled(adapter->dbf->scsi, level))
drivers/s390/scsi/zfcp_dbf.h
447
struct zfcp_adapter *adapter = (struct zfcp_adapter *)
drivers/s390/scsi/zfcp_dbf.h
452
if (unlikely(!debug_level_enabled(adapter->dbf->scsi, level)))
drivers/s390/scsi/zfcp_def.h
127
struct zfcp_adapter *adapter; /* device which should be recovered */
drivers/s390/scsi/zfcp_def.h
210
struct zfcp_adapter *adapter; /* adapter used to access port */
drivers/s390/scsi/zfcp_def.h
329
struct zfcp_adapter *adapter;
drivers/s390/scsi/zfcp_def.h
343
int zfcp_adapter_multi_buffer_active(struct zfcp_adapter *adapter)
drivers/s390/scsi/zfcp_def.h
345
return atomic_read(&adapter->status) & ZFCP_STATUS_ADAPTER_MB_ACT;
drivers/s390/scsi/zfcp_diag.c
122
int zfcp_diag_update_port_data_buffer(struct zfcp_adapter *const adapter)
drivers/s390/scsi/zfcp_diag.c
126
rc = zfcp_fsf_exchange_port_data_sync(adapter->qdio, NULL);
drivers/s390/scsi/zfcp_diag.c
152
int zfcp_diag_update_config_data_buffer(struct zfcp_adapter *const adapter)
drivers/s390/scsi/zfcp_diag.c
156
rc = zfcp_fsf_exchange_config_data_sync(adapter->qdio, NULL);
drivers/s390/scsi/zfcp_diag.c
165
static int __zfcp_diag_update_buffer(struct zfcp_adapter *const adapter,
drivers/s390/scsi/zfcp_diag.c
183
rc = buffer_update(adapter);
drivers/s390/scsi/zfcp_diag.c
242
int zfcp_diag_update_buffer_limited(struct zfcp_adapter *const adapter,
drivers/s390/scsi/zfcp_diag.c
252
!__zfcp_diag_test_buffer_age_isfresh(adapter->diagnostics, hdr);
drivers/s390/scsi/zfcp_diag.c
254
rc = __zfcp_diag_update_buffer(adapter, hdr, buffer_update,
drivers/s390/scsi/zfcp_diag.c
34
int zfcp_diag_adapter_setup(struct zfcp_adapter *const adapter)
drivers/s390/scsi/zfcp_diag.c
63
adapter->diagnostics = diag;
drivers/s390/scsi/zfcp_diag.c
74
void zfcp_diag_adapter_free(struct zfcp_adapter *const adapter)
drivers/s390/scsi/zfcp_diag.c
76
kfree(adapter->diagnostics);
drivers/s390/scsi/zfcp_diag.c
77
adapter->diagnostics = NULL;
drivers/s390/scsi/zfcp_diag.h
65
int zfcp_diag_adapter_setup(struct zfcp_adapter *const adapter);
drivers/s390/scsi/zfcp_diag.h
66
void zfcp_diag_adapter_free(struct zfcp_adapter *const adapter);
drivers/s390/scsi/zfcp_diag.h
75
typedef int (*zfcp_diag_update_buffer_func)(struct zfcp_adapter *const adapter);
drivers/s390/scsi/zfcp_diag.h
77
int zfcp_diag_update_config_data_buffer(struct zfcp_adapter *const adapter);
drivers/s390/scsi/zfcp_diag.h
78
int zfcp_diag_update_port_data_buffer(struct zfcp_adapter *const adapter);
drivers/s390/scsi/zfcp_diag.h
79
int zfcp_diag_update_buffer_limited(struct zfcp_adapter *const adapter,
drivers/s390/scsi/zfcp_diag.h
89
zfcp_diag_support_sfp(const struct zfcp_adapter *const adapter)
drivers/s390/scsi/zfcp_diag.h
91
return !!(adapter->adapter_features & FSF_FEATURE_REPORT_SFP_DATA);
drivers/s390/scsi/zfcp_erp.c
102
spin_unlock(port->adapter->scsi_host->host_lock);
drivers/s390/scsi/zfcp_erp.c
1029
struct zfcp_adapter *adapter = act->adapter;
drivers/s390/scsi/zfcp_erp.c
1032
if (port->wwpn != adapter->peer_wwpn) {
drivers/s390/scsi/zfcp_erp.c
1036
port->d_id = adapter->peer_d_id;
drivers/s390/scsi/zfcp_erp.c
1043
struct zfcp_adapter *adapter = act->adapter;
drivers/s390/scsi/zfcp_erp.c
1051
if (fc_host_port_type(adapter->scsi_host) == FC_PORTTYPE_PTP)
drivers/s390/scsi/zfcp_erp.c
106
static void zfcp_erp_action_dismiss_adapter(struct zfcp_adapter *adapter)
drivers/s390/scsi/zfcp_erp.c
110
if (atomic_read(&adapter->status) & ZFCP_STATUS_COMMON_ERP_INUSE)
drivers/s390/scsi/zfcp_erp.c
111
zfcp_erp_action_dismiss(&adapter->erp_action);
drivers/s390/scsi/zfcp_erp.c
113
read_lock(&adapter->port_list_lock);
drivers/s390/scsi/zfcp_erp.c
114
list_for_each_entry(port, &adapter->port_list, list)
drivers/s390/scsi/zfcp_erp.c
116
read_unlock(&adapter->port_list_lock);
drivers/s390/scsi/zfcp_erp.c
1195
dev_err(&zfcp_sdev->port->adapter->ccw_device->dev,
drivers/s390/scsi/zfcp_erp.c
121
enum zfcp_erp_act_type want, struct zfcp_adapter *adapter,
drivers/s390/scsi/zfcp_erp.c
1235
dev_err(&port->adapter->ccw_device->dev,
drivers/s390/scsi/zfcp_erp.c
1258
struct zfcp_adapter *adapter, enum zfcp_erp_act_result result)
drivers/s390/scsi/zfcp_erp.c
1262
atomic_set(&adapter->erp_counter, 0);
drivers/s390/scsi/zfcp_erp.c
1263
zfcp_erp_adapter_unblock(adapter);
drivers/s390/scsi/zfcp_erp.c
1267
atomic_inc(&adapter->erp_counter);
drivers/s390/scsi/zfcp_erp.c
1268
if (atomic_read(&adapter->erp_counter) > ZFCP_MAX_ERPS) {
drivers/s390/scsi/zfcp_erp.c
1269
dev_err(&adapter->ccw_device->dev,
drivers/s390/scsi/zfcp_erp.c
1272
zfcp_erp_set_adapter_status(adapter,
drivers/s390/scsi/zfcp_erp.c
1284
if (atomic_read(&adapter->status) & ZFCP_STATUS_COMMON_ERP_FAILED) {
drivers/s390/scsi/zfcp_erp.c
1285
zfcp_erp_adapter_block(adapter, 0);
drivers/s390/scsi/zfcp_erp.c
1294
struct zfcp_adapter *adapter = erp_action->adapter;
drivers/s390/scsi/zfcp_erp.c
1310
result = zfcp_erp_strategy_check_adapter(adapter, result);
drivers/s390/scsi/zfcp_erp.c
1335
struct zfcp_adapter *adapter = act->adapter;
drivers/s390/scsi/zfcp_erp.c
1343
if (zfcp_erp_strat_change_det(&adapter->status, erp_status)) {
drivers/s390/scsi/zfcp_erp.c
1344
_zfcp_erp_adapter_reopen(adapter,
drivers/s390/scsi/zfcp_erp.c
1376
struct zfcp_adapter *adapter = erp_action->adapter;
drivers/s390/scsi/zfcp_erp.c
1379
adapter->erp_total_count--;
drivers/s390/scsi/zfcp_erp.c
1381
adapter->erp_low_mem_count--;
drivers/s390/scsi/zfcp_erp.c
1403
&erp_action->adapter->status);
drivers/s390/scsi/zfcp_erp.c
1415
struct zfcp_adapter *adapter = port->adapter;
drivers/s390/scsi/zfcp_erp.c
1417
struct Scsi_Host *shost = adapter->scsi_host;
drivers/s390/scsi/zfcp_erp.c
1420
write_lock_irqsave(&adapter->erp_lock, flags);
drivers/s390/scsi/zfcp_erp.c
1429
write_unlock_irqrestore(&adapter->erp_lock, flags);
drivers/s390/scsi/zfcp_erp.c
1455
write_unlock_irqrestore(&adapter->erp_lock, flags);
drivers/s390/scsi/zfcp_erp.c
1464
write_unlock_irqrestore(&adapter->erp_lock, flags);
drivers/s390/scsi/zfcp_erp.c
147
if (atomic_read(&adapter->status) &
drivers/s390/scsi/zfcp_erp.c
1470
struct zfcp_adapter *adapter = act->adapter;
drivers/s390/scsi/zfcp_erp.c
1497
register_service_level(&adapter->service_level);
drivers/s390/scsi/zfcp_erp.c
1498
zfcp_fc_conditional_port_scan(adapter);
drivers/s390/scsi/zfcp_erp.c
1499
queue_work(adapter->work_queue, &adapter->ns_up_work);
drivers/s390/scsi/zfcp_erp.c
1501
unregister_service_level(&adapter->service_level);
drivers/s390/scsi/zfcp_erp.c
1503
kref_put(&adapter->ref, zfcp_adapter_release);
drivers/s390/scsi/zfcp_erp.c
152
adapter, ZFCP_STATUS_COMMON_ERP_FAILED);
drivers/s390/scsi/zfcp_erp.c
1529
struct zfcp_adapter *adapter = erp_action->adapter;
drivers/s390/scsi/zfcp_erp.c
1531
kref_get(&adapter->ref);
drivers/s390/scsi/zfcp_erp.c
1533
write_lock_irqsave(&adapter->erp_lock, flags);
drivers/s390/scsi/zfcp_erp.c
1550
write_unlock_irqrestore(&adapter->erp_lock, flags);
drivers/s390/scsi/zfcp_erp.c
1552
write_lock_irqsave(&adapter->erp_lock, flags);
drivers/s390/scsi/zfcp_erp.c
1560
++adapter->erp_low_mem_count;
drivers/s390/scsi/zfcp_erp.c
1563
if (adapter->erp_total_count == adapter->erp_low_mem_count)
drivers/s390/scsi/zfcp_erp.c
1564
_zfcp_erp_adapter_reopen(adapter, 0, "erstgy1");
drivers/s390/scsi/zfcp_erp.c
1573
--adapter->erp_low_mem_count;
drivers/s390/scsi/zfcp_erp.c
1597
write_unlock_irqrestore(&adapter->erp_lock, flags);
drivers/s390/scsi/zfcp_erp.c
1602
kref_put(&adapter->ref, zfcp_adapter_release);
drivers/s390/scsi/zfcp_erp.c
1608
struct zfcp_adapter *adapter = (struct zfcp_adapter *) data;
drivers/s390/scsi/zfcp_erp.c
161
struct zfcp_adapter *adapter,
drivers/s390/scsi/zfcp_erp.c
1613
wait_event_interruptible(adapter->erp_ready_wq,
drivers/s390/scsi/zfcp_erp.c
1614
!list_empty(&adapter->erp_ready_head) ||
drivers/s390/scsi/zfcp_erp.c
1620
write_lock_irqsave(&adapter->erp_lock, flags);
drivers/s390/scsi/zfcp_erp.c
1621
act = list_first_entry_or_null(&adapter->erp_ready_head,
drivers/s390/scsi/zfcp_erp.c
1623
write_unlock_irqrestore(&adapter->erp_lock, flags);
drivers/s390/scsi/zfcp_erp.c
1628
zfcp_erp_wakeup(adapter);
drivers/s390/scsi/zfcp_erp.c
1641
int zfcp_erp_thread_setup(struct zfcp_adapter *adapter)
drivers/s390/scsi/zfcp_erp.c
1645
thread = kthread_run(zfcp_erp_thread, adapter, "zfcperp%s",
drivers/s390/scsi/zfcp_erp.c
1646
dev_name(&adapter->ccw_device->dev));
drivers/s390/scsi/zfcp_erp.c
1648
dev_err(&adapter->ccw_device->dev,
drivers/s390/scsi/zfcp_erp.c
1653
adapter->erp_thread = thread;
drivers/s390/scsi/zfcp_erp.c
1666
void zfcp_erp_thread_kill(struct zfcp_adapter *adapter)
drivers/s390/scsi/zfcp_erp.c
1668
kthread_stop(adapter->erp_thread);
drivers/s390/scsi/zfcp_erp.c
1669
adapter->erp_thread = NULL;
drivers/s390/scsi/zfcp_erp.c
1670
WARN_ON(!list_empty(&adapter->erp_ready_head));
drivers/s390/scsi/zfcp_erp.c
1671
WARN_ON(!list_empty(&adapter->erp_running_head));
drivers/s390/scsi/zfcp_erp.c
1678
void zfcp_erp_wait(struct zfcp_adapter *adapter)
drivers/s390/scsi/zfcp_erp.c
1680
wait_event(adapter->erp_done_wqh,
drivers/s390/scsi/zfcp_erp.c
1681
!(atomic_read(&adapter->status) &
drivers/s390/scsi/zfcp_erp.c
1692
void zfcp_erp_set_adapter_status(struct zfcp_adapter *adapter, u32 mask)
drivers/s390/scsi/zfcp_erp.c
1699
atomic_or(mask, &adapter->status);
drivers/s390/scsi/zfcp_erp.c
1704
read_lock_irqsave(&adapter->port_list_lock, flags);
drivers/s390/scsi/zfcp_erp.c
1705
list_for_each_entry(port, &adapter->port_list, list)
drivers/s390/scsi/zfcp_erp.c
1707
read_unlock_irqrestore(&adapter->port_list_lock, flags);
drivers/s390/scsi/zfcp_erp.c
1713
if (adapter->scsi_host == NULL)
drivers/s390/scsi/zfcp_erp.c
1716
spin_lock_irqsave(adapter->scsi_host->host_lock, flags);
drivers/s390/scsi/zfcp_erp.c
1717
__shost_for_each_device(sdev, adapter->scsi_host)
drivers/s390/scsi/zfcp_erp.c
1719
spin_unlock_irqrestore(adapter->scsi_host->host_lock, flags);
drivers/s390/scsi/zfcp_erp.c
1729
void zfcp_erp_clear_adapter_status(struct zfcp_adapter *adapter, u32 mask)
drivers/s390/scsi/zfcp_erp.c
1737
atomic_andnot(mask, &adapter->status);
drivers/s390/scsi/zfcp_erp.c
1743
atomic_set(&adapter->erp_counter, 0);
drivers/s390/scsi/zfcp_erp.c
1745
read_lock_irqsave(&adapter->port_list_lock, flags);
drivers/s390/scsi/zfcp_erp.c
1746
list_for_each_entry(port, &adapter->port_list, list) {
drivers/s390/scsi/zfcp_erp.c
1751
read_unlock_irqrestore(&adapter->port_list_lock, flags);
drivers/s390/scsi/zfcp_erp.c
1757
if (adapter->scsi_host == NULL)
drivers/s390/scsi/zfcp_erp.c
1760
spin_lock_irqsave(adapter->scsi_host->host_lock, flags);
drivers/s390/scsi/zfcp_erp.c
1761
__shost_for_each_device(sdev, adapter->scsi_host) {
drivers/s390/scsi/zfcp_erp.c
1766
spin_unlock_irqrestore(adapter->scsi_host->host_lock, flags);
drivers/s390/scsi/zfcp_erp.c
1787
spin_lock_irqsave(port->adapter->scsi_host->host_lock, flags);
drivers/s390/scsi/zfcp_erp.c
1788
__shost_for_each_device(sdev, port->adapter->scsi_host)
drivers/s390/scsi/zfcp_erp.c
1792
spin_unlock_irqrestore(port->adapter->scsi_host->host_lock, flags);
drivers/s390/scsi/zfcp_erp.c
1817
spin_lock_irqsave(port->adapter->scsi_host->host_lock, flags);
drivers/s390/scsi/zfcp_erp.c
1818
__shost_for_each_device(sdev, port->adapter->scsi_host)
drivers/s390/scsi/zfcp_erp.c
1825
spin_unlock_irqrestore(port->adapter->scsi_host->host_lock, flags);
drivers/s390/scsi/zfcp_erp.c
1860
void zfcp_erp_adapter_reset_sync(struct zfcp_adapter *adapter, char *dbftag)
drivers/s390/scsi/zfcp_erp.c
1862
zfcp_erp_set_adapter_status(adapter, ZFCP_STATUS_COMMON_RUNNING);
drivers/s390/scsi/zfcp_erp.c
1863
zfcp_erp_adapter_reopen(adapter, ZFCP_STATUS_COMMON_ERP_FAILED, dbftag);
drivers/s390/scsi/zfcp_erp.c
1864
zfcp_erp_wait(adapter);
drivers/s390/scsi/zfcp_erp.c
191
a_status = atomic_read(&adapter->status);
drivers/s390/scsi/zfcp_erp.c
201
a_status = atomic_read(&adapter->status);
drivers/s390/scsi/zfcp_erp.c
214
struct zfcp_adapter *adapter,
drivers/s390/scsi/zfcp_erp.c
257
kref_get(&adapter->ref);
drivers/s390/scsi/zfcp_erp.c
258
zfcp_erp_action_dismiss_adapter(adapter);
drivers/s390/scsi/zfcp_erp.c
259
atomic_or(ZFCP_STATUS_COMMON_ERP_INUSE, &adapter->status);
drivers/s390/scsi/zfcp_erp.c
260
erp_action = &adapter->erp_action;
drivers/s390/scsi/zfcp_erp.c
263
if (!(atomic_read(&adapter->status) &
drivers/s390/scsi/zfcp_erp.c
269
WARN_ON_ONCE(erp_action->adapter != adapter);
drivers/s390/scsi/zfcp_erp.c
281
struct zfcp_adapter *adapter,
drivers/s390/scsi/zfcp_erp.c
289
need = zfcp_erp_handle_failed(want, adapter, port, sdev);
drivers/s390/scsi/zfcp_erp.c
295
if (!adapter->erp_thread) {
drivers/s390/scsi/zfcp_erp.c
300
need = zfcp_erp_required_act(want, adapter, port, sdev);
drivers/s390/scsi/zfcp_erp.c
304
act = zfcp_erp_setup_act(need, act_status, adapter, port, sdev);
drivers/s390/scsi/zfcp_erp.c
309
atomic_or(ZFCP_STATUS_ADAPTER_ERP_PENDING, &adapter->status);
drivers/s390/scsi/zfcp_erp.c
310
++adapter->erp_total_count;
drivers/s390/scsi/zfcp_erp.c
311
list_add_tail(&act->list, &adapter->erp_ready_head);
drivers/s390/scsi/zfcp_erp.c
312
wake_up(&adapter->erp_ready_wq);
drivers/s390/scsi/zfcp_erp.c
314
zfcp_dbf_rec_trig(dbftag, adapter, port, sdev, want, need);
drivers/s390/scsi/zfcp_erp.c
318
struct zfcp_adapter *adapter,
drivers/s390/scsi/zfcp_erp.c
324
write_lock_irqsave(&adapter->erp_lock, flags);
drivers/s390/scsi/zfcp_erp.c
332
zfcp_dbf_rec_trig(dbftag, adapter, &tmpport, NULL,
drivers/s390/scsi/zfcp_erp.c
335
write_unlock_irqrestore(&adapter->erp_lock, flags);
drivers/s390/scsi/zfcp_erp.c
338
static void _zfcp_erp_adapter_reopen(struct zfcp_adapter *adapter,
drivers/s390/scsi/zfcp_erp.c
341
zfcp_erp_adapter_block(adapter, clear_mask);
drivers/s390/scsi/zfcp_erp.c
342
zfcp_scsi_schedule_rports_block(adapter);
drivers/s390/scsi/zfcp_erp.c
345
adapter, NULL, NULL, dbftag, 0);
drivers/s390/scsi/zfcp_erp.c
354
void zfcp_erp_adapter_reopen(struct zfcp_adapter *adapter, int clear,
drivers/s390/scsi/zfcp_erp.c
359
zfcp_erp_adapter_block(adapter, clear);
drivers/s390/scsi/zfcp_erp.c
360
zfcp_scsi_schedule_rports_block(adapter);
drivers/s390/scsi/zfcp_erp.c
362
write_lock_irqsave(&adapter->erp_lock, flags);
drivers/s390/scsi/zfcp_erp.c
363
zfcp_erp_action_enqueue(ZFCP_ERP_ACTION_REOPEN_ADAPTER, adapter,
drivers/s390/scsi/zfcp_erp.c
365
write_unlock_irqrestore(&adapter->erp_lock, flags);
drivers/s390/scsi/zfcp_erp.c
374
void zfcp_erp_adapter_shutdown(struct zfcp_adapter *adapter, int clear,
drivers/s390/scsi/zfcp_erp.c
378
zfcp_erp_adapter_reopen(adapter, clear | flags, dbftag);
drivers/s390/scsi/zfcp_erp.c
406
port->adapter, port, NULL, dbftag, 0);
drivers/s390/scsi/zfcp_erp.c
419
struct zfcp_adapter *adapter = port->adapter;
drivers/s390/scsi/zfcp_erp.c
421
write_lock_irqsave(&adapter->erp_lock, flags);
drivers/s390/scsi/zfcp_erp.c
423
write_unlock_irqrestore(&adapter->erp_lock, flags);
drivers/s390/scsi/zfcp_erp.c
433
port->adapter, port, NULL, dbftag, 0);
drivers/s390/scsi/zfcp_erp.c
445
struct zfcp_adapter *adapter = port->adapter;
drivers/s390/scsi/zfcp_erp.c
447
write_lock_irqsave(&adapter->erp_lock, flags);
drivers/s390/scsi/zfcp_erp.c
449
write_unlock_irqrestore(&adapter->erp_lock, flags);
drivers/s390/scsi/zfcp_erp.c
462
struct zfcp_adapter *adapter = zfcp_sdev->port->adapter;
drivers/s390/scsi/zfcp_erp.c
466
zfcp_erp_action_enqueue(ZFCP_ERP_ACTION_REOPEN_LUN, adapter,
drivers/s390/scsi/zfcp_erp.c
483
struct zfcp_adapter *adapter = port->adapter;
drivers/s390/scsi/zfcp_erp.c
485
write_lock_irqsave(&adapter->erp_lock, flags);
drivers/s390/scsi/zfcp_erp.c
487
write_unlock_irqrestore(&adapter->erp_lock, flags);
drivers/s390/scsi/zfcp_erp.c
50
static void zfcp_erp_adapter_block(struct zfcp_adapter *adapter, int mask)
drivers/s390/scsi/zfcp_erp.c
517
struct zfcp_adapter *adapter = port->adapter;
drivers/s390/scsi/zfcp_erp.c
52
zfcp_erp_clear_adapter_status(adapter,
drivers/s390/scsi/zfcp_erp.c
520
write_lock_irqsave(&adapter->erp_lock, flags);
drivers/s390/scsi/zfcp_erp.c
522
write_unlock_irqrestore(&adapter->erp_lock, flags);
drivers/s390/scsi/zfcp_erp.c
524
zfcp_erp_wait(adapter);
drivers/s390/scsi/zfcp_erp.c
532
static void zfcp_erp_adapter_unblock(struct zfcp_adapter *adapter)
drivers/s390/scsi/zfcp_erp.c
535
&adapter->status))
drivers/s390/scsi/zfcp_erp.c
536
zfcp_dbf_rec_run("eraubl1", &adapter->erp_action);
drivers/s390/scsi/zfcp_erp.c
537
atomic_or(ZFCP_STATUS_COMMON_UNBLOCKED, &adapter->status);
drivers/s390/scsi/zfcp_erp.c
560
list_move(&erp_action->list, &erp_action->adapter->erp_running_head);
drivers/s390/scsi/zfcp_erp.c
566
struct zfcp_adapter *adapter = act->adapter;
drivers/s390/scsi/zfcp_erp.c
572
spin_lock(&adapter->req_list->lock);
drivers/s390/scsi/zfcp_erp.c
573
req = _zfcp_reqlist_find(adapter->req_list, act->fsf_req_id);
drivers/s390/scsi/zfcp_erp.c
590
spin_unlock(&adapter->req_list->lock);
drivers/s390/scsi/zfcp_erp.c
60
list_for_each_entry(curr_act, &act->adapter->erp_running_head, list)
drivers/s390/scsi/zfcp_erp.c
600
struct zfcp_adapter *adapter = erp_action->adapter;
drivers/s390/scsi/zfcp_erp.c
603
write_lock_irqsave(&adapter->erp_lock, flags);
drivers/s390/scsi/zfcp_erp.c
608
write_unlock_irqrestore(&adapter->erp_lock, flags);
drivers/s390/scsi/zfcp_erp.c
643
void zfcp_erp_port_forced_reopen_all(struct zfcp_adapter *adapter,
drivers/s390/scsi/zfcp_erp.c
649
write_lock_irqsave(&adapter->erp_lock, flags);
drivers/s390/scsi/zfcp_erp.c
650
read_lock(&adapter->port_list_lock);
drivers/s390/scsi/zfcp_erp.c
651
list_for_each_entry(port, &adapter->port_list, list)
drivers/s390/scsi/zfcp_erp.c
653
read_unlock(&adapter->port_list_lock);
drivers/s390/scsi/zfcp_erp.c
654
write_unlock_irqrestore(&adapter->erp_lock, flags);
drivers/s390/scsi/zfcp_erp.c
657
static void _zfcp_erp_port_reopen_all(struct zfcp_adapter *adapter,
drivers/s390/scsi/zfcp_erp.c
662
read_lock(&adapter->port_list_lock);
drivers/s390/scsi/zfcp_erp.c
663
list_for_each_entry(port, &adapter->port_list, list)
drivers/s390/scsi/zfcp_erp.c
665
read_unlock(&adapter->port_list_lock);
drivers/s390/scsi/zfcp_erp.c
673
spin_lock(port->adapter->scsi_host->host_lock);
drivers/s390/scsi/zfcp_erp.c
674
__shost_for_each_device(sdev, port->adapter->scsi_host)
drivers/s390/scsi/zfcp_erp.c
677
spin_unlock(port->adapter->scsi_host->host_lock);
drivers/s390/scsi/zfcp_erp.c
68
struct zfcp_adapter *adapter = act->adapter;
drivers/s390/scsi/zfcp_erp.c
684
_zfcp_erp_adapter_reopen(act->adapter, 0, "ersff_1");
drivers/s390/scsi/zfcp_erp.c
70
list_move(&act->list, &adapter->erp_ready_head);
drivers/s390/scsi/zfcp_erp.c
702
_zfcp_erp_port_reopen_all(act->adapter, 0, "ersfs_1");
drivers/s390/scsi/zfcp_erp.c
716
static void zfcp_erp_wakeup(struct zfcp_adapter *adapter)
drivers/s390/scsi/zfcp_erp.c
72
wake_up(&adapter->erp_ready_wq);
drivers/s390/scsi/zfcp_erp.c
720
read_lock_irqsave(&adapter->erp_lock, flags);
drivers/s390/scsi/zfcp_erp.c
721
if (list_empty(&adapter->erp_ready_head) &&
drivers/s390/scsi/zfcp_erp.c
722
list_empty(&adapter->erp_running_head)) {
drivers/s390/scsi/zfcp_erp.c
724
&adapter->status);
drivers/s390/scsi/zfcp_erp.c
725
wake_up(&adapter->erp_done_wqh);
drivers/s390/scsi/zfcp_erp.c
727
read_unlock_irqrestore(&adapter->erp_lock, flags);
drivers/s390/scsi/zfcp_erp.c
730
static void zfcp_erp_enqueue_ptp_port(struct zfcp_adapter *adapter)
drivers/s390/scsi/zfcp_erp.c
733
port = zfcp_port_enqueue(adapter, adapter->peer_wwpn, 0,
drivers/s390/scsi/zfcp_erp.c
734
adapter->peer_d_id);
drivers/s390/scsi/zfcp_erp.c
745
struct zfcp_adapter *adapter = erp_action->adapter;
drivers/s390/scsi/zfcp_erp.c
747
atomic_andnot(ZFCP_STATUS_ADAPTER_XCONFIG_OK, &adapter->status);
drivers/s390/scsi/zfcp_erp.c
751
&adapter->status);
drivers/s390/scsi/zfcp_erp.c
752
write_lock_irq(&adapter->erp_lock);
drivers/s390/scsi/zfcp_erp.c
754
write_unlock_irq(&adapter->erp_lock);
drivers/s390/scsi/zfcp_erp.c
757
&adapter->status);
drivers/s390/scsi/zfcp_erp.c
761
wait_event(adapter->erp_ready_wq,
drivers/s390/scsi/zfcp_erp.c
762
!list_empty(&adapter->erp_ready_head));
drivers/s390/scsi/zfcp_erp.c
766
if (!(atomic_read(&adapter->status) &
drivers/s390/scsi/zfcp_erp.c
775
&adapter->status);
drivers/s390/scsi/zfcp_erp.c
777
if (!(atomic_read(&adapter->status) & ZFCP_STATUS_ADAPTER_XCONFIG_OK))
drivers/s390/scsi/zfcp_erp.c
784
zfcp_erp_adapter_strategy_open_ptp_port(struct zfcp_adapter *const adapter)
drivers/s390/scsi/zfcp_erp.c
786
if (fc_host_port_type(adapter->scsi_host) == FC_PORTTYPE_PTP)
drivers/s390/scsi/zfcp_erp.c
787
zfcp_erp_enqueue_ptp_port(adapter);
drivers/s390/scsi/zfcp_erp.c
794
struct zfcp_adapter *adapter = act->adapter;
drivers/s390/scsi/zfcp_erp.c
796
write_lock_irq(&adapter->erp_lock);
drivers/s390/scsi/zfcp_erp.c
798
write_unlock_irq(&adapter->erp_lock);
drivers/s390/scsi/zfcp_erp.c
807
wait_event(adapter->erp_ready_wq,
drivers/s390/scsi/zfcp_erp.c
808
!list_empty(&adapter->erp_ready_head));
drivers/s390/scsi/zfcp_erp.c
817
zfcp_erp_adapter_strategy_alloc_shost(struct zfcp_adapter *const adapter)
drivers/s390/scsi/zfcp_erp.c
820
&adapter->diagnostics->config_data;
drivers/s390/scsi/zfcp_erp.c
822
&adapter->diagnostics->port_data;
drivers/s390/scsi/zfcp_erp.c
826
rc = zfcp_scsi_adapter_register(adapter);
drivers/s390/scsi/zfcp_erp.c
844
zfcp_scsi_shost_update_config_data(adapter, &config_data->data,
drivers/s390/scsi/zfcp_erp.c
848
if (adapter->adapter_features & FSF_FEATURE_HBAAPI_MANAGEMENT) {
drivers/s390/scsi/zfcp_erp.c
850
zfcp_scsi_shost_update_port_data(adapter, &port_data->data);
drivers/s390/scsi/zfcp_erp.c
864
zfcp_fsf_fc_host_link_down(adapter);
drivers/s390/scsi/zfcp_erp.c
878
if (zfcp_erp_adapter_strategy_alloc_shost(act->adapter) ==
drivers/s390/scsi/zfcp_erp.c
882
zfcp_erp_adapter_strategy_open_ptp_port(act->adapter);
drivers/s390/scsi/zfcp_erp.c
884
if (mempool_resize(act->adapter->pool.sr_data,
drivers/s390/scsi/zfcp_erp.c
885
act->adapter->stat_read_buf_num))
drivers/s390/scsi/zfcp_erp.c
888
if (mempool_resize(act->adapter->pool.status_read_req,
drivers/s390/scsi/zfcp_erp.c
889
act->adapter->stat_read_buf_num))
drivers/s390/scsi/zfcp_erp.c
892
atomic_set(&act->adapter->stat_miss, act->adapter->stat_read_buf_num);
drivers/s390/scsi/zfcp_erp.c
893
if (zfcp_status_read_refill(act->adapter))
drivers/s390/scsi/zfcp_erp.c
901
struct zfcp_adapter *adapter = act->adapter;
drivers/s390/scsi/zfcp_erp.c
904
zfcp_qdio_close(adapter->qdio);
drivers/s390/scsi/zfcp_erp.c
905
zfcp_fsf_req_dismiss_all(adapter);
drivers/s390/scsi/zfcp_erp.c
906
adapter->fsf_req_seq_no = 0;
drivers/s390/scsi/zfcp_erp.c
907
zfcp_fc_wka_ports_force_offline(adapter->gs);
drivers/s390/scsi/zfcp_erp.c
909
zfcp_erp_clear_adapter_status(adapter, ZFCP_STATUS_COMMON_OPEN);
drivers/s390/scsi/zfcp_erp.c
912
ZFCP_STATUS_ADAPTER_LINK_UNPLUGGED, &adapter->status);
drivers/s390/scsi/zfcp_erp.c
918
struct zfcp_adapter *adapter = act->adapter;
drivers/s390/scsi/zfcp_erp.c
920
if (zfcp_qdio_open(adapter->qdio)) {
drivers/s390/scsi/zfcp_erp.c
923
&adapter->status);
drivers/s390/scsi/zfcp_erp.c
932
atomic_or(ZFCP_STATUS_COMMON_OPEN, &adapter->status);
drivers/s390/scsi/zfcp_erp.c
940
struct zfcp_adapter *adapter = act->adapter;
drivers/s390/scsi/zfcp_erp.c
942
if (atomic_read(&adapter->status) & ZFCP_STATUS_COMMON_OPEN) {
drivers/s390/scsi/zfcp_erp.c
98
spin_lock(port->adapter->scsi_host->host_lock);
drivers/s390/scsi/zfcp_erp.c
99
__shost_for_each_device(sdev, port->adapter->scsi_host)
drivers/s390/scsi/zfcp_ext.h
132
extern int zfcp_status_read_refill(struct zfcp_adapter *adapter);
drivers/s390/scsi/zfcp_ext.h
139
extern void zfcp_fsf_fc_host_link_down(struct zfcp_adapter *adapter);
drivers/s390/scsi/zfcp_ext.h
159
extern void zfcp_qdio_shost_update(struct zfcp_adapter *const adapter,
drivers/s390/scsi/zfcp_ext.h
178
struct zfcp_adapter *const adapter,
drivers/s390/scsi/zfcp_ext.h
182
struct zfcp_adapter *const adapter,
drivers/s390/scsi/zfcp_ext.h
37
extern void zfcp_dbf_rec_trig_lock(char *tag, struct zfcp_adapter *adapter,
drivers/s390/scsi/zfcp_ext.h
50
struct zfcp_adapter *const adapter,
drivers/s390/scsi/zfcp_ext.h
60
extern void zfcp_dbf_scsi_eh(char *tag, struct zfcp_adapter *adapter,
drivers/s390/scsi/zfcp_ext.h
67
struct zfcp_adapter *adapter,
drivers/s390/scsi/zfcp_ext.h
77
extern void zfcp_erp_port_forced_reopen_all(struct zfcp_adapter *adapter,
drivers/s390/scsi/zfcp_ext.h
89
extern void zfcp_erp_adapter_reset_sync(struct zfcp_adapter *adapter,
drivers/s390/scsi/zfcp_fc.c
1004
adapter = (struct zfcp_adapter *) shost->hostdata[0];
drivers/s390/scsi/zfcp_fc.c
1008
return &adapter->gs->as;
drivers/s390/scsi/zfcp_fc.c
1010
return &adapter->gs->ms;
drivers/s390/scsi/zfcp_fc.c
1012
return &adapter->gs->ts;
drivers/s390/scsi/zfcp_fc.c
1015
return &adapter->gs->ds;
drivers/s390/scsi/zfcp_fc.c
1034
struct zfcp_adapter *adapter)
drivers/s390/scsi/zfcp_fc.c
104
struct zfcp_adapter *adapter = container_of(events, struct zfcp_adapter,
drivers/s390/scsi/zfcp_fc.c
1043
port = zfcp_get_port_by_wwpn(adapter, rport->port_name);
drivers/s390/scsi/zfcp_fc.c
1053
return zfcp_fsf_send_els(adapter, d_id, els, job->timeout / HZ);
drivers/s390/scsi/zfcp_fc.c
1057
struct zfcp_adapter *adapter)
drivers/s390/scsi/zfcp_fc.c
1082
struct zfcp_adapter *adapter;
drivers/s390/scsi/zfcp_fc.c
1088
adapter = (struct zfcp_adapter *)shost->hostdata[0];
drivers/s390/scsi/zfcp_fc.c
1090
if (!(atomic_read(&adapter->status) & ZFCP_STATUS_COMMON_OPEN))
drivers/s390/scsi/zfcp_fc.c
1100
return zfcp_fc_exec_els_job(job, adapter);
drivers/s390/scsi/zfcp_fc.c
1103
return zfcp_fc_exec_ct_job(job, adapter);
drivers/s390/scsi/zfcp_fc.c
1115
int zfcp_fc_gs_setup(struct zfcp_adapter *adapter)
drivers/s390/scsi/zfcp_fc.c
112
fc_host_post_event(adapter->scsi_host, fc_get_event_number(),
drivers/s390/scsi/zfcp_fc.c
1123
adapter->gs = wka_ports;
drivers/s390/scsi/zfcp_fc.c
1124
zfcp_fc_wka_port_init(&wka_ports->ms, FC_FID_MGMT_SERV, adapter);
drivers/s390/scsi/zfcp_fc.c
1125
zfcp_fc_wka_port_init(&wka_ports->ts, FC_FID_TIME_SERV, adapter);
drivers/s390/scsi/zfcp_fc.c
1126
zfcp_fc_wka_port_init(&wka_ports->ds, FC_FID_DIR_SERV, adapter);
drivers/s390/scsi/zfcp_fc.c
1127
zfcp_fc_wka_port_init(&wka_ports->as, FC_FID_ALIASES, adapter);
drivers/s390/scsi/zfcp_fc.c
1132
void zfcp_fc_gs_destroy(struct zfcp_adapter *adapter)
drivers/s390/scsi/zfcp_fc.c
1134
kfree(adapter->gs);
drivers/s390/scsi/zfcp_fc.c
1135
adapter->gs = NULL;
drivers/s390/scsi/zfcp_fc.c
126
void zfcp_fc_enqueue_event(struct zfcp_adapter *adapter,
drivers/s390/scsi/zfcp_fc.c
138
spin_lock(&adapter->events.list_lock);
drivers/s390/scsi/zfcp_fc.c
139
list_add_tail(&event->list, &adapter->events.list);
drivers/s390/scsi/zfcp_fc.c
140
spin_unlock(&adapter->events.list_lock);
drivers/s390/scsi/zfcp_fc.c
142
queue_work(adapter->work_queue, &adapter->events.work);
drivers/s390/scsi/zfcp_fc.c
204
queue_delayed_work(wka_port->adapter->work_queue, &wka_port->work,
drivers/s390/scsi/zfcp_fc.c
209
struct zfcp_adapter *adapter)
drivers/s390/scsi/zfcp_fc.c
214
wka_port->adapter = adapter;
drivers/s390/scsi/zfcp_fc.c
245
struct zfcp_adapter *adapter = fsf_req->adapter;
drivers/s390/scsi/zfcp_fc.c
248
read_lock_irqsave(&adapter->port_list_lock, flags);
drivers/s390/scsi/zfcp_fc.c
249
list_for_each_entry(port, &adapter->port_list, list) {
drivers/s390/scsi/zfcp_fc.c
253
read_unlock_irqrestore(&adapter->port_list_lock, flags);
drivers/s390/scsi/zfcp_fc.c
259
struct zfcp_adapter *adapter = fsf_req->adapter;
drivers/s390/scsi/zfcp_fc.c
278
read_lock_irqsave(&adapter->port_list_lock, flags);
drivers/s390/scsi/zfcp_fc.c
279
list_for_each_entry(port, &adapter->port_list, list) {
drivers/s390/scsi/zfcp_fc.c
286
read_unlock_irqrestore(&adapter->port_list_lock, flags);
drivers/s390/scsi/zfcp_fc.c
295
zfcp_fc_enqueue_event(fsf_req->adapter, FCH_EVT_RSCN,
drivers/s390/scsi/zfcp_fc.c
298
zfcp_fc_conditional_port_scan(fsf_req->adapter);
drivers/s390/scsi/zfcp_fc.c
304
struct zfcp_adapter *adapter = req->adapter;
drivers/s390/scsi/zfcp_fc.c
307
read_lock_irqsave(&adapter->port_list_lock, flags);
drivers/s390/scsi/zfcp_fc.c
308
list_for_each_entry(port, &adapter->port_list, list)
drivers/s390/scsi/zfcp_fc.c
313
read_unlock_irqrestore(&adapter->port_list_lock, flags);
drivers/s390/scsi/zfcp_fc.c
386
struct zfcp_adapter *adapter = port->adapter;
drivers/s390/scsi/zfcp_fc.c
405
ret = zfcp_fsf_send_ct(&adapter->gs->ds, &fc_req->ct_els,
drivers/s390/scsi/zfcp_fc.c
406
adapter->pool.gid_pn_req,
drivers/s390/scsi/zfcp_fc.c
424
struct zfcp_adapter *adapter = port->adapter;
drivers/s390/scsi/zfcp_fc.c
426
fc_req = mempool_alloc(adapter->pool.gid_pn, GFP_ATOMIC);
drivers/s390/scsi/zfcp_fc.c
432
ret = zfcp_fc_wka_port_get(&adapter->gs->ds);
drivers/s390/scsi/zfcp_fc.c
438
zfcp_fc_wka_port_put(&adapter->gs->ds);
drivers/s390/scsi/zfcp_fc.c
440
mempool_free(fc_req, adapter->pool.gid_pn);
drivers/s390/scsi/zfcp_fc.c
454
zfcp_erp_adapter_reopen(port->adapter, 0, "fcgpn_1");
drivers/s390/scsi/zfcp_fc.c
475
if (!queue_work(port->adapter->work_queue, &port->gid_pn_work))
drivers/s390/scsi/zfcp_fc.c
490
dev_warn(&port->adapter->ccw_device->dev,
drivers/s390/scsi/zfcp_fc.c
53
static void zfcp_fc_port_scan_time(struct zfcp_adapter *adapter)
drivers/s390/scsi/zfcp_fc.c
551
struct zfcp_adapter *adapter = port->adapter;
drivers/s390/scsi/zfcp_fc.c
552
struct Scsi_Host *shost = adapter->scsi_host;
drivers/s390/scsi/zfcp_fc.c
58
adapter->next_port_scan = jiffies + interval + backoff;
drivers/s390/scsi/zfcp_fc.c
586
ret = zfcp_fsf_send_els(adapter, d_id, &fc_req->ct_els,
drivers/s390/scsi/zfcp_fc.c
61
static void zfcp_fc_port_scan(struct zfcp_adapter *adapter)
drivers/s390/scsi/zfcp_fc.c
631
if (!queue_work(port->adapter->work_queue, &port->test_link_work))
drivers/s390/scsi/zfcp_fc.c
64
unsigned long next = adapter->next_port_scan;
drivers/s390/scsi/zfcp_fc.c
697
struct zfcp_adapter *adapter, int max_bytes)
drivers/s390/scsi/zfcp_fc.c
712
ret = zfcp_fsf_send_ct(&adapter->gs->ds, ct_els, NULL,
drivers/s390/scsi/zfcp_fc.c
734
struct zfcp_adapter *adapter, int max_entries)
drivers/s390/scsi/zfcp_fc.c
75
queue_delayed_work(adapter->work_queue, &adapter->scan_work, delay);
drivers/s390/scsi/zfcp_fc.c
756
dev_warn(&adapter->ccw_device->dev,
drivers/s390/scsi/zfcp_fc.c
777
fc_host_port_name(adapter->scsi_host))
drivers/s390/scsi/zfcp_fc.c
78
void zfcp_fc_conditional_port_scan(struct zfcp_adapter *adapter)
drivers/s390/scsi/zfcp_fc.c
780
port = zfcp_port_enqueue(adapter, be64_to_cpu(acc->fp_wwpn),
drivers/s390/scsi/zfcp_fc.c
788
zfcp_erp_wait(adapter);
drivers/s390/scsi/zfcp_fc.c
789
write_lock_irqsave(&adapter->port_list_lock, flags);
drivers/s390/scsi/zfcp_fc.c
790
list_for_each_entry_safe(port, tmp, &adapter->port_list, list)
drivers/s390/scsi/zfcp_fc.c
792
write_unlock_irqrestore(&adapter->port_list_lock, flags);
drivers/s390/scsi/zfcp_fc.c
809
struct zfcp_adapter *adapter = container_of(dw, struct zfcp_adapter,
drivers/s390/scsi/zfcp_fc.c
815
zfcp_fc_port_scan_time(adapter);
drivers/s390/scsi/zfcp_fc.c
817
chain = adapter->adapter_features & FSF_FEATURE_ELS_CT_CHAINED_SBALS;
drivers/s390/scsi/zfcp_fc.c
822
if (fc_host_port_type(adapter->scsi_host) != FC_PORTTYPE_NPORT &&
drivers/s390/scsi/zfcp_fc.c
823
fc_host_port_type(adapter->scsi_host) != FC_PORTTYPE_NPIV)
drivers/s390/scsi/zfcp_fc.c
826
if (zfcp_fc_wka_port_get(&adapter->gs->ds))
drivers/s390/scsi/zfcp_fc.c
83
zfcp_fc_port_scan(adapter);
drivers/s390/scsi/zfcp_fc.c
834
ret = zfcp_fc_send_gpn_ft(fc_req, adapter, max_bytes);
drivers/s390/scsi/zfcp_fc.c
836
ret = zfcp_fc_eval_gpn_ft(fc_req, adapter, max_entries);
drivers/s390/scsi/zfcp_fc.c
846
zfcp_fc_wka_port_put(&adapter->gs->ds);
drivers/s390/scsi/zfcp_fc.c
849
static int zfcp_fc_gspn(struct zfcp_adapter *adapter,
drivers/s390/scsi/zfcp_fc.c
86
void zfcp_fc_inverse_conditional_port_scan(struct zfcp_adapter *adapter)
drivers/s390/scsi/zfcp_fc.c
861
hton24(gspn_req->gspn.fp_fid, fc_host_port_id(adapter->scsi_host));
drivers/s390/scsi/zfcp_fc.c
871
ret = zfcp_fsf_send_ct(&adapter->gs->ds, ct_els, NULL,
drivers/s390/scsi/zfcp_fc.c
880
if (fc_host_port_type(adapter->scsi_host) == FC_PORTTYPE_NPIV &&
drivers/s390/scsi/zfcp_fc.c
882
snprintf(fc_host_symbolic_name(adapter->scsi_host),
drivers/s390/scsi/zfcp_fc.c
885
dev_name(&adapter->ccw_device->dev),
drivers/s390/scsi/zfcp_fc.c
888
strscpy(fc_host_symbolic_name(adapter->scsi_host),
drivers/s390/scsi/zfcp_fc.c
894
static void zfcp_fc_rspn(struct zfcp_adapter *adapter,
drivers/s390/scsi/zfcp_fc.c
898
struct Scsi_Host *shost = adapter->scsi_host;
drivers/s390/scsi/zfcp_fc.c
91
zfcp_fc_port_scan(adapter);
drivers/s390/scsi/zfcp_fc.c
930
ret = zfcp_fsf_send_ct(&adapter->gs->ds, ct_els, NULL,
drivers/s390/scsi/zfcp_fc.c
949
struct zfcp_adapter *adapter = container_of(work, struct zfcp_adapter,
drivers/s390/scsi/zfcp_fc.c
954
if (fc_host_port_type(adapter->scsi_host) != FC_PORTTYPE_NPORT &&
drivers/s390/scsi/zfcp_fc.c
955
fc_host_port_type(adapter->scsi_host) != FC_PORTTYPE_NPIV)
drivers/s390/scsi/zfcp_fc.c
962
ret = zfcp_fc_wka_port_get(&adapter->gs->ds);
drivers/s390/scsi/zfcp_fc.c
966
ret = zfcp_fc_gspn(adapter, fc_req);
drivers/s390/scsi/zfcp_fc.c
967
if (ret || fc_host_port_type(adapter->scsi_host) != FC_PORTTYPE_NPIV)
drivers/s390/scsi/zfcp_fc.c
971
zfcp_fc_rspn(adapter, fc_req);
drivers/s390/scsi/zfcp_fc.c
974
zfcp_fc_wka_port_put(&adapter->gs->ds);
drivers/s390/scsi/zfcp_fc.c
995
struct zfcp_adapter *adapter;
drivers/s390/scsi/zfcp_fc.h
198
struct zfcp_adapter *adapter;
drivers/s390/scsi/zfcp_fsf.c
1046
struct zfcp_qdio *qdio = zfcp_sdev->port->adapter->qdio;
drivers/s390/scsi/zfcp_fsf.c
1054
qdio->adapter->pool.scsi_abort);
drivers/s390/scsi/zfcp_fsf.c
1088
struct zfcp_adapter *adapter = req->adapter;
drivers/s390/scsi/zfcp_fsf.c
109
struct zfcp_adapter *adapter = req->adapter;
drivers/s390/scsi/zfcp_fsf.c
1117
zfcp_erp_adapter_reopen(adapter, 0, "fsscth1");
drivers/s390/scsi/zfcp_fsf.c
113
read_lock_irqsave(&adapter->port_list_lock, flags);
drivers/s390/scsi/zfcp_fsf.c
114
list_for_each_entry(port, &adapter->port_list, list)
drivers/s390/scsi/zfcp_fsf.c
1147
struct zfcp_adapter *adapter = req->adapter;
drivers/s390/scsi/zfcp_fsf.c
1148
struct zfcp_qdio *qdio = adapter->qdio;
drivers/s390/scsi/zfcp_fsf.c
1150
u32 feat = adapter->adapter_features;
drivers/s390/scsi/zfcp_fsf.c
1152
if (zfcp_adapter_multi_buffer_active(adapter)) {
drivers/s390/scsi/zfcp_fsf.c
119
read_unlock_irqrestore(&adapter->port_list_lock, flags);
drivers/s390/scsi/zfcp_fsf.c
122
void zfcp_fsf_fc_host_link_down(struct zfcp_adapter *adapter)
drivers/s390/scsi/zfcp_fsf.c
1228
struct zfcp_qdio *qdio = wka_port->adapter->qdio;
drivers/s390/scsi/zfcp_fsf.c
124
struct Scsi_Host *shost = adapter->scsi_host;
drivers/s390/scsi/zfcp_fsf.c
126
adapter->hydra_version = 0;
drivers/s390/scsi/zfcp_fsf.c
127
adapter->peer_wwpn = 0;
drivers/s390/scsi/zfcp_fsf.c
128
adapter->peer_wwnn = 0;
drivers/s390/scsi/zfcp_fsf.c
129
adapter->peer_d_id = 0;
drivers/s390/scsi/zfcp_fsf.c
1321
int zfcp_fsf_send_els(struct zfcp_adapter *adapter, u32 d_id,
drivers/s390/scsi/zfcp_fsf.c
1325
struct zfcp_qdio *qdio = adapter->qdio;
drivers/s390/scsi/zfcp_fsf.c
1342
if (!zfcp_adapter_multi_buffer_active(adapter))
drivers/s390/scsi/zfcp_fsf.c
1374
struct zfcp_qdio *qdio = erp_action->adapter->qdio;
drivers/s390/scsi/zfcp_fsf.c
1383
qdio->adapter->pool.erp_req);
drivers/s390/scsi/zfcp_fsf.c
146
struct zfcp_adapter *adapter = req->adapter;
drivers/s390/scsi/zfcp_fsf.c
148
if (atomic_read(&adapter->status) & ZFCP_STATUS_ADAPTER_LINK_UNPLUGGED)
drivers/s390/scsi/zfcp_fsf.c
1487
struct zfcp_qdio *qdio = erp_action->adapter->qdio;
drivers/s390/scsi/zfcp_fsf.c
1491
if (!(qdio->adapter->adapter_features & FSF_FEATURE_HBAAPI_MANAGEMENT))
drivers/s390/scsi/zfcp_fsf.c
1500
qdio->adapter->pool.erp_req);
drivers/s390/scsi/zfcp_fsf.c
151
atomic_or(ZFCP_STATUS_ADAPTER_LINK_UNPLUGGED, &adapter->status);
drivers/s390/scsi/zfcp_fsf.c
153
zfcp_scsi_schedule_rports_block(adapter);
drivers/s390/scsi/zfcp_fsf.c
1545
if (!(qdio->adapter->adapter_features & FSF_FEATURE_HBAAPI_MANAGEMENT))
drivers/s390/scsi/zfcp_fsf.c
155
zfcp_fsf_fc_host_link_down(adapter);
drivers/s390/scsi/zfcp_fsf.c
1619
dev_info(&port->adapter->ccw_device->dev,
drivers/s390/scsi/zfcp_fsf.c
162
dev_warn(&req->adapter->ccw_device->dev,
drivers/s390/scsi/zfcp_fsf.c
1624
dev_warn(&port->adapter->ccw_device->dev,
drivers/s390/scsi/zfcp_fsf.c
1629
dev_warn(&port->adapter->ccw_device->dev,
drivers/s390/scsi/zfcp_fsf.c
167
dev_warn(&req->adapter->ccw_device->dev,
drivers/s390/scsi/zfcp_fsf.c
1696
struct zfcp_adapter *adapter = req->adapter;
drivers/s390/scsi/zfcp_fsf.c
1709
dev_warn(&adapter->ccw_device->dev,
drivers/s390/scsi/zfcp_fsf.c
1718
zfcp_fsf_log_security_error(&req->adapter->ccw_device->dev,
drivers/s390/scsi/zfcp_fsf.c
172
dev_warn(&req->adapter->ccw_device->dev,
drivers/s390/scsi/zfcp_fsf.c
1736
if (adapter->adapter_features & FSF_FEATURE_FC_SECURITY)
drivers/s390/scsi/zfcp_fsf.c
177
dev_warn(&req->adapter->ccw_device->dev,
drivers/s390/scsi/zfcp_fsf.c
1780
struct zfcp_qdio *qdio = erp_action->adapter->qdio;
drivers/s390/scsi/zfcp_fsf.c
1791
qdio->adapter->pool.erp_req);
drivers/s390/scsi/zfcp_fsf.c
182
dev_warn(&req->adapter->ccw_device->dev,
drivers/s390/scsi/zfcp_fsf.c
1830
zfcp_erp_adapter_reopen(port->adapter, 0, "fscph_1");
drivers/s390/scsi/zfcp_fsf.c
1848
struct zfcp_qdio *qdio = erp_action->adapter->qdio;
drivers/s390/scsi/zfcp_fsf.c
1858
qdio->adapter->pool.erp_req);
drivers/s390/scsi/zfcp_fsf.c
187
dev_warn(&req->adapter->ccw_device->dev,
drivers/s390/scsi/zfcp_fsf.c
1898
dev_warn(&req->adapter->ccw_device->dev,
drivers/s390/scsi/zfcp_fsf.c
191
dev_warn(&req->adapter->ccw_device->dev,
drivers/s390/scsi/zfcp_fsf.c
1922
struct zfcp_qdio *qdio = wka_port->adapter->qdio;
drivers/s390/scsi/zfcp_fsf.c
1933
qdio->adapter->pool.erp_req);
drivers/s390/scsi/zfcp_fsf.c
195
dev_warn(&req->adapter->ccw_device->dev,
drivers/s390/scsi/zfcp_fsf.c
1967
zfcp_erp_adapter_reopen(wka_port->adapter, 0, "fscwph1");
drivers/s390/scsi/zfcp_fsf.c
1981
struct zfcp_qdio *qdio = wka_port->adapter->qdio;
drivers/s390/scsi/zfcp_fsf.c
1992
qdio->adapter->pool.erp_req);
drivers/s390/scsi/zfcp_fsf.c
200
dev_warn(&req->adapter->ccw_device->dev,
drivers/s390/scsi/zfcp_fsf.c
2031
zfcp_erp_adapter_reopen(port->adapter, 0, "fscpph1");
drivers/s390/scsi/zfcp_fsf.c
2038
shost_for_each_device(sdev, port->adapter->scsi_host)
drivers/s390/scsi/zfcp_fsf.c
205
dev_warn(&req->adapter->ccw_device->dev,
drivers/s390/scsi/zfcp_fsf.c
2060
shost_for_each_device(sdev, port->adapter->scsi_host)
drivers/s390/scsi/zfcp_fsf.c
2075
struct zfcp_qdio *qdio = erp_action->adapter->qdio;
drivers/s390/scsi/zfcp_fsf.c
2085
qdio->adapter->pool.erp_req);
drivers/s390/scsi/zfcp_fsf.c
210
dev_warn(&req->adapter->ccw_device->dev,
drivers/s390/scsi/zfcp_fsf.c
2115
struct zfcp_adapter *adapter = req->adapter;
drivers/s390/scsi/zfcp_fsf.c
2133
zfcp_erp_adapter_reopen(adapter, 0, "fsouh_1");
drivers/s390/scsi/zfcp_fsf.c
2146
dev_warn(&zfcp_sdev->port->adapter->ccw_device->dev,
drivers/s390/scsi/zfcp_fsf.c
215
dev_warn(&req->adapter->ccw_device->dev,
drivers/s390/scsi/zfcp_fsf.c
2159
dev_warn(&adapter->ccw_device->dev,
drivers/s390/scsi/zfcp_fsf.c
2194
struct zfcp_adapter *adapter = erp_action->adapter;
drivers/s390/scsi/zfcp_fsf.c
2195
struct zfcp_qdio *qdio = adapter->qdio;
drivers/s390/scsi/zfcp_fsf.c
220
dev_warn(&req->adapter->ccw_device->dev,
drivers/s390/scsi/zfcp_fsf.c
2205
adapter->pool.erp_req);
drivers/s390/scsi/zfcp_fsf.c
2222
if (!(adapter->connection_features & FSF_FEATURE_NPIV_MODE))
drivers/s390/scsi/zfcp_fsf.c
2249
zfcp_erp_adapter_reopen(zfcp_sdev->port->adapter, 0, "fscuh_1");
drivers/s390/scsi/zfcp_fsf.c
225
zfcp_erp_set_adapter_status(adapter, ZFCP_STATUS_COMMON_ERP_FAILED);
drivers/s390/scsi/zfcp_fsf.c
2286
struct zfcp_qdio *qdio = erp_action->adapter->qdio;
drivers/s390/scsi/zfcp_fsf.c
2297
qdio->adapter->pool.erp_req);
drivers/s390/scsi/zfcp_fsf.c
2339
int ticks = req->adapter->timer_ticks;
drivers/s390/scsi/zfcp_fsf.c
2350
if (req->adapter->adapter_features & FSF_FEATURE_MEASUREMENT_DATA &&
drivers/s390/scsi/zfcp_fsf.c
2404
zfcp_erp_adapter_reopen(req->adapter, 0, "fssfch1");
drivers/s390/scsi/zfcp_fsf.c
2416
dev_err(&req->adapter->ccw_device->dev,
drivers/s390/scsi/zfcp_fsf.c
2422
zfcp_erp_adapter_shutdown(req->adapter, 0, "fssfch3");
drivers/s390/scsi/zfcp_fsf.c
2426
dev_err(&req->adapter->ccw_device->dev,
drivers/s390/scsi/zfcp_fsf.c
2429
zfcp_erp_adapter_shutdown(req->adapter, 0, "fssfch4");
drivers/s390/scsi/zfcp_fsf.c
245
zfcp_fsf_status_read_version_change(struct zfcp_adapter *adapter,
drivers/s390/scsi/zfcp_fsf.c
2452
zfcp_fsf_log_security_error(&req->adapter->ccw_device->dev,
drivers/s390/scsi/zfcp_fsf.c
2467
read_lock_irqsave(&req->adapter->abort_lock, flags);
drivers/s390/scsi/zfcp_fsf.c
2471
read_unlock_irqrestore(&req->adapter->abort_lock, flags);
drivers/s390/scsi/zfcp_fsf.c
251
WRITE_ONCE(adapter->fsf_lic_version, version);
drivers/s390/scsi/zfcp_fsf.c
2513
read_unlock_irqrestore(&req->adapter->abort_lock, flags);
drivers/s390/scsi/zfcp_fsf.c
252
snprintf(fc_host_firmware_version(adapter->scsi_host),
drivers/s390/scsi/zfcp_fsf.c
2566
struct zfcp_adapter *adapter = zfcp_sdev->port->adapter;
drivers/s390/scsi/zfcp_fsf.c
2567
struct zfcp_qdio *qdio = adapter->qdio;
drivers/s390/scsi/zfcp_fsf.c
2585
sbtype, adapter->pool.scsi_req);
drivers/s390/scsi/zfcp_fsf.c
259
struct zfcp_adapter *adapter = req->adapter;
drivers/s390/scsi/zfcp_fsf.c
2633
zfcp_qdio_set_sbale_last(adapter->qdio, &req->qdio_req);
drivers/s390/scsi/zfcp_fsf.c
2634
if (zfcp_adapter_multi_buffer_active(adapter))
drivers/s390/scsi/zfcp_fsf.c
264
mempool_free(virt_to_page(sr_buf), adapter->pool.sr_data);
drivers/s390/scsi/zfcp_fsf.c
2681
struct zfcp_qdio *qdio = zfcp_sdev->port->adapter->qdio;
drivers/s390/scsi/zfcp_fsf.c
2693
qdio->adapter->pool.scsi_req);
drivers/s390/scsi/zfcp_fsf.c
2734
struct zfcp_adapter *adapter = qdio->adapter;
drivers/s390/scsi/zfcp_fsf.c
2745
fsf_req = zfcp_reqlist_find_rm(adapter->req_list, req_id);
drivers/s390/scsi/zfcp_fsf.c
2752
zfcp_qdio_siosl(adapter);
drivers/s390/scsi/zfcp_fsf.c
2754
req_id, dev_name(&adapter->ccw_device->dev));
drivers/s390/scsi/zfcp_fsf.c
283
dev_warn(&adapter->ccw_device->dev,
drivers/s390/scsi/zfcp_fsf.c
285
zfcp_erp_adapter_shutdown(adapter, 0, "fssrh_b");
drivers/s390/scsi/zfcp_fsf.c
287
dev_warn(&adapter->ccw_device->dev,
drivers/s390/scsi/zfcp_fsf.c
293
zfcp_fc_enqueue_event(adapter, FCH_EVT_LINKDOWN, 0);
drivers/s390/scsi/zfcp_fsf.c
296
dev_info(&adapter->ccw_device->dev,
drivers/s390/scsi/zfcp_fsf.c
299
zfcp_erp_set_adapter_status(adapter,
drivers/s390/scsi/zfcp_fsf.c
301
zfcp_erp_adapter_reopen(adapter,
drivers/s390/scsi/zfcp_fsf.c
305
zfcp_fc_enqueue_event(adapter, FCH_EVT_LINKUP, 0);
drivers/s390/scsi/zfcp_fsf.c
310
zfcp_fc_conditional_port_scan(adapter);
drivers/s390/scsi/zfcp_fsf.c
312
queue_work(adapter->work_queue,
drivers/s390/scsi/zfcp_fsf.c
313
&adapter->version_change_lost_work);
drivers/s390/scsi/zfcp_fsf.c
316
adapter->adapter_features = sr_buf->payload.word[0];
drivers/s390/scsi/zfcp_fsf.c
319
zfcp_fsf_status_read_version_change(adapter, sr_buf);
drivers/s390/scsi/zfcp_fsf.c
323
mempool_free(virt_to_page(sr_buf), adapter->pool.sr_data);
drivers/s390/scsi/zfcp_fsf.c
326
atomic_inc(&adapter->stat_miss);
drivers/s390/scsi/zfcp_fsf.c
327
queue_work(adapter->work_queue, &adapter->stat_work);
drivers/s390/scsi/zfcp_fsf.c
341
dev_err(&req->adapter->ccw_device->dev,
drivers/s390/scsi/zfcp_fsf.c
344
zfcp_qdio_siosl(req->adapter);
drivers/s390/scsi/zfcp_fsf.c
345
zfcp_erp_adapter_shutdown(req->adapter, 0, "fsfsqe1");
drivers/s390/scsi/zfcp_fsf.c
359
dev_err(&req->adapter->ccw_device->dev,
drivers/s390/scsi/zfcp_fsf.c
362
zfcp_erp_adapter_shutdown(req->adapter, 0, "fsfse_1");
drivers/s390/scsi/zfcp_fsf.c
373
struct zfcp_adapter *adapter = req->adapter;
drivers/s390/scsi/zfcp_fsf.c
389
dev_err(&adapter->ccw_device->dev,
drivers/s390/scsi/zfcp_fsf.c
39
struct zfcp_adapter *adapter = fsf_req->adapter;
drivers/s390/scsi/zfcp_fsf.c
393
zfcp_erp_adapter_shutdown(adapter, 0, "fspse_1");
drivers/s390/scsi/zfcp_fsf.c
397
zfcp_erp_adapter_reopen(adapter, 0, "fspse_2");
drivers/s390/scsi/zfcp_fsf.c
401
dev_err(&adapter->ccw_device->dev,
drivers/s390/scsi/zfcp_fsf.c
403
zfcp_erp_adapter_shutdown(adapter, 0, "fspse_3");
drivers/s390/scsi/zfcp_fsf.c
407
&adapter->status);
drivers/s390/scsi/zfcp_fsf.c
41
zfcp_qdio_siosl(adapter);
drivers/s390/scsi/zfcp_fsf.c
410
dev_err(&adapter->ccw_device->dev,
drivers/s390/scsi/zfcp_fsf.c
413
zfcp_erp_adapter_shutdown(adapter, 0, "fspse_4");
drivers/s390/scsi/zfcp_fsf.c
418
zfcp_erp_adapter_reopen(adapter, 0, "fspse_6");
drivers/s390/scsi/zfcp_fsf.c
42
zfcp_erp_adapter_reopen(adapter, ZFCP_STATUS_COMMON_ERP_FAILED,
drivers/s390/scsi/zfcp_fsf.c
422
zfcp_erp_set_adapter_status(adapter,
drivers/s390/scsi/zfcp_fsf.c
424
zfcp_erp_adapter_reopen(adapter,
drivers/s390/scsi/zfcp_fsf.c
430
dev_err(&adapter->ccw_device->dev,
drivers/s390/scsi/zfcp_fsf.c
433
zfcp_qdio_siosl(adapter);
drivers/s390/scsi/zfcp_fsf.c
434
zfcp_erp_adapter_shutdown(adapter, 0, "fspse_9");
drivers/s390/scsi/zfcp_fsf.c
484
void zfcp_fsf_req_dismiss_all(struct zfcp_adapter *adapter)
drivers/s390/scsi/zfcp_fsf.c
489
BUG_ON(atomic_read(&adapter->status) & ZFCP_STATUS_ADAPTER_QDIOUP);
drivers/s390/scsi/zfcp_fsf.c
490
zfcp_reqlist_move(adapter->req_list, &remove_queue);
drivers/s390/scsi/zfcp_fsf.c
539
struct zfcp_adapter *adapter = req->adapter;
drivers/s390/scsi/zfcp_fsf.c
549
adapter->timer_ticks = bottom->timer_interval & ZFCP_FSF_TIMER_INT_MASK;
drivers/s390/scsi/zfcp_fsf.c
550
adapter->stat_read_buf_num = max(bottom->status_read_buf_num,
drivers/s390/scsi/zfcp_fsf.c
558
adapter->hydra_version = bottom->adapter_type;
drivers/s390/scsi/zfcp_fsf.c
562
adapter->peer_d_id = ntoh24(bottom->peer_d_id);
drivers/s390/scsi/zfcp_fsf.c
563
adapter->peer_wwpn = be64_to_cpu(plogi->fl_wwpn);
drivers/s390/scsi/zfcp_fsf.c
564
adapter->peer_wwnn = be64_to_cpu(plogi->fl_wwnn);
drivers/s390/scsi/zfcp_fsf.c
570
dev_err(&adapter->ccw_device->dev,
drivers/s390/scsi/zfcp_fsf.c
573
zfcp_erp_adapter_shutdown(adapter, 0, "fsece_1");
drivers/s390/scsi/zfcp_fsf.c
582
struct zfcp_adapter *adapter = req->adapter;
drivers/s390/scsi/zfcp_fsf.c
584
&adapter->diagnostics->config_data.header;
drivers/s390/scsi/zfcp_fsf.c
591
adapter->fsf_lic_version = bottom->lic_version;
drivers/s390/scsi/zfcp_fsf.c
592
adapter->adapter_features = bottom->adapter_features;
drivers/s390/scsi/zfcp_fsf.c
593
adapter->connection_features = bottom->connection_features;
drivers/s390/scsi/zfcp_fsf.c
594
adapter->peer_wwpn = 0;
drivers/s390/scsi/zfcp_fsf.c
595
adapter->peer_wwnn = 0;
drivers/s390/scsi/zfcp_fsf.c
596
adapter->peer_d_id = 0;
drivers/s390/scsi/zfcp_fsf.c
606
zfcp_scsi_shost_update_config_data(adapter, bottom, false);
drivers/s390/scsi/zfcp_fsf.c
611
dev_err(&adapter->ccw_device->dev,
drivers/s390/scsi/zfcp_fsf.c
615
zfcp_erp_adapter_shutdown(adapter, 0, "fsecdh1");
drivers/s390/scsi/zfcp_fsf.c
619
&adapter->status);
drivers/s390/scsi/zfcp_fsf.c
628
&adapter->status);
drivers/s390/scsi/zfcp_fsf.c
632
zfcp_scsi_shost_update_config_data(adapter, bottom, true);
drivers/s390/scsi/zfcp_fsf.c
637
zfcp_erp_adapter_shutdown(adapter, 0, "fsecdh3");
drivers/s390/scsi/zfcp_fsf.c
641
if (adapter->adapter_features & FSF_FEATURE_HBAAPI_MANAGEMENT)
drivers/s390/scsi/zfcp_fsf.c
642
adapter->hardware_version = bottom->hardware_version;
drivers/s390/scsi/zfcp_fsf.c
645
dev_err(&adapter->ccw_device->dev,
drivers/s390/scsi/zfcp_fsf.c
648
zfcp_erp_adapter_shutdown(adapter, 0, "fsecdh4");
drivers/s390/scsi/zfcp_fsf.c
652
dev_err(&adapter->ccw_device->dev,
drivers/s390/scsi/zfcp_fsf.c
655
zfcp_erp_adapter_shutdown(adapter, 0, "fsecdh5");
drivers/s390/scsi/zfcp_fsf.c
736
static void zfcp_fsf_dbf_adapter_fc_security(struct zfcp_adapter *adapter,
drivers/s390/scsi/zfcp_fsf.c
739
if (adapter->fc_security_algorithms ==
drivers/s390/scsi/zfcp_fsf.c
740
adapter->fc_security_algorithms_old) {
drivers/s390/scsi/zfcp_fsf.c
746
adapter->fc_security_algorithms_old,
drivers/s390/scsi/zfcp_fsf.c
747
adapter->fc_security_algorithms);
drivers/s390/scsi/zfcp_fsf.c
749
adapter->fc_security_algorithms_old = adapter->fc_security_algorithms;
drivers/s390/scsi/zfcp_fsf.c
754
struct zfcp_adapter *adapter = req->adapter;
drivers/s390/scsi/zfcp_fsf.c
760
if (adapter->adapter_features & FSF_FEATURE_FC_SECURITY)
drivers/s390/scsi/zfcp_fsf.c
761
adapter->fc_security_algorithms =
drivers/s390/scsi/zfcp_fsf.c
764
adapter->fc_security_algorithms = 0;
drivers/s390/scsi/zfcp_fsf.c
765
zfcp_fsf_dbf_adapter_fc_security(adapter, req);
drivers/s390/scsi/zfcp_fsf.c
771
&req->adapter->diagnostics->port_data.header;
drivers/s390/scsi/zfcp_fsf.c
786
zfcp_scsi_shost_update_port_data(req->adapter, bottom);
drivers/s390/scsi/zfcp_fsf.c
796
zfcp_scsi_shost_update_port_data(req->adapter, bottom);
drivers/s390/scsi/zfcp_fsf.c
81
dev_err(&req->adapter->ccw_device->dev, "FCP device not "
drivers/s390/scsi/zfcp_fsf.c
83
zfcp_erp_adapter_shutdown(req->adapter, 0, "fscns_1");
drivers/s390/scsi/zfcp_fsf.c
839
struct zfcp_adapter *adapter = qdio->adapter;
drivers/s390/scsi/zfcp_fsf.c
845
if (adapter->req_no == 0)
drivers/s390/scsi/zfcp_fsf.c
846
adapter->req_no++;
drivers/s390/scsi/zfcp_fsf.c
851
req->adapter = adapter;
drivers/s390/scsi/zfcp_fsf.c
852
req->req_id = adapter->req_no;
drivers/s390/scsi/zfcp_fsf.c
857
adapter->pool.qtcb_pool);
drivers/s390/scsi/zfcp_fsf.c
866
req->qtcb->prefix.req_seq_no = adapter->fsf_req_seq_no;
drivers/s390/scsi/zfcp_fsf.c
875
zfcp_qdio_req_init(adapter->qdio, &req->qdio_req, req->req_id, sbtype,
drivers/s390/scsi/zfcp_fsf.c
884
struct zfcp_adapter *adapter = req->adapter;
drivers/s390/scsi/zfcp_fsf.c
885
struct zfcp_qdio *qdio = adapter->qdio;
drivers/s390/scsi/zfcp_fsf.c
888
zfcp_reqlist_add(adapter->req_list, req);
drivers/s390/scsi/zfcp_fsf.c
896
if (zfcp_reqlist_find_rm(adapter->req_list, req_id) == NULL)
drivers/s390/scsi/zfcp_fsf.c
897
zfcp_dbf_hba_fsf_reqid("fsrsrmf", 1, adapter, req_id);
drivers/s390/scsi/zfcp_fsf.c
899
zfcp_erp_adapter_reopen(adapter, 0, "fsrs__1");
drivers/s390/scsi/zfcp_fsf.c
917
adapter->fsf_req_seq_no++;
drivers/s390/scsi/zfcp_fsf.c
918
adapter->req_no++;
drivers/s390/scsi/zfcp_fsf.c
930
struct zfcp_adapter *adapter = qdio->adapter;
drivers/s390/scsi/zfcp_fsf.c
942
adapter->pool.status_read_req);
drivers/s390/scsi/zfcp_fsf.c
948
page = mempool_alloc(adapter->pool.sr_data, GFP_ATOMIC);
drivers/s390/scsi/zfcp_fsf.c
95
mempool_free(req->qtcb, req->adapter->pool.qtcb_pool);
drivers/s390/scsi/zfcp_fsf.c
969
mempool_free(virt_to_page(sr_buf), adapter->pool.sr_data);
drivers/s390/scsi/zfcp_fsf.c
992
zfcp_erp_adapter_reopen(zfcp_sdev->port->adapter, 0,
drivers/s390/scsi/zfcp_qdio.c
115
struct zfcp_adapter *adapter = qdio->adapter;
drivers/s390/scsi/zfcp_qdio.c
119
if (zfcp_adapter_multi_buffer_active(adapter)) {
drivers/s390/scsi/zfcp_qdio.c
138
zfcp_dbf_hba_def_err(adapter, req_id, scount, pl);
drivers/s390/scsi/zfcp_qdio.c
158
zfcp_erp_adapter_reopen(qdio->adapter, 0, "qdires2");
drivers/s390/scsi/zfcp_qdio.c
164
struct ccw_device *cdev = qdio->adapter->ccw_device;
drivers/s390/scsi/zfcp_qdio.c
268
!(atomic_read(&qdio->adapter->status) & ZFCP_STATUS_ADAPTER_QDIOUP))
drivers/s390/scsi/zfcp_qdio.c
28
struct zfcp_adapter *adapter = qdio->adapter;
drivers/s390/scsi/zfcp_qdio.c
290
if (!(atomic_read(&qdio->adapter->status) & ZFCP_STATUS_ADAPTER_QDIOUP))
drivers/s390/scsi/zfcp_qdio.c
299
zfcp_erp_adapter_reopen(qdio->adapter, 0, "qdsbg_1");
drivers/s390/scsi/zfcp_qdio.c
30
dev_warn(&adapter->ccw_device->dev, "A QDIO problem occurred\n");
drivers/s390/scsi/zfcp_qdio.c
329
retval = qdio_add_bufs_to_output_queue(qdio->adapter->ccw_device, 0,
drivers/s390/scsi/zfcp_qdio.c
33
zfcp_qdio_siosl(adapter);
drivers/s390/scsi/zfcp_qdio.c
34
zfcp_erp_adapter_shutdown(adapter, 0, dbftag);
drivers/s390/scsi/zfcp_qdio.c
37
zfcp_erp_adapter_reopen(adapter,
drivers/s390/scsi/zfcp_qdio.c
374
ret = qdio_allocate(qdio->adapter->ccw_device, 1, 1);
drivers/s390/scsi/zfcp_qdio.c
393
struct zfcp_adapter *adapter = qdio->adapter;
drivers/s390/scsi/zfcp_qdio.c
396
if (!(atomic_read(&adapter->status) & ZFCP_STATUS_ADAPTER_QDIOUP))
drivers/s390/scsi/zfcp_qdio.c
404
atomic_andnot(ZFCP_STATUS_ADAPTER_QDIOUP, &adapter->status);
drivers/s390/scsi/zfcp_qdio.c
412
qdio_stop_irq(adapter->ccw_device);
drivers/s390/scsi/zfcp_qdio.c
413
qdio_shutdown(adapter->ccw_device, QDIO_FLAG_CLEANUP_USING_CLEAR);
drivers/s390/scsi/zfcp_qdio.c
426
void zfcp_qdio_shost_update(struct zfcp_adapter *const adapter,
drivers/s390/scsi/zfcp_qdio.c
429
struct Scsi_Host *const shost = adapter->scsi_host;
drivers/s390/scsi/zfcp_qdio.c
449
struct zfcp_adapter *adapter = qdio->adapter;
drivers/s390/scsi/zfcp_qdio.c
450
struct ccw_device *cdev = adapter->ccw_device;
drivers/s390/scsi/zfcp_qdio.c
454
if (atomic_read(&adapter->status) & ZFCP_STATUS_ADAPTER_QDIOUP)
drivers/s390/scsi/zfcp_qdio.c
458
&qdio->adapter->status);
drivers/s390/scsi/zfcp_qdio.c
481
&qdio->adapter->status);
drivers/s390/scsi/zfcp_qdio.c
484
atomic_or(ZFCP_STATUS_ADAPTER_MB_ACT, &adapter->status);
drivers/s390/scsi/zfcp_qdio.c
487
atomic_andnot(ZFCP_STATUS_ADAPTER_MB_ACT, &adapter->status);
drivers/s390/scsi/zfcp_qdio.c
511
atomic_or(ZFCP_STATUS_ADAPTER_QDIOUP, &qdio->adapter->status);
drivers/s390/scsi/zfcp_qdio.c
520
zfcp_qdio_shost_update(adapter, qdio);
drivers/s390/scsi/zfcp_qdio.c
540
if (qdio->adapter->ccw_device)
drivers/s390/scsi/zfcp_qdio.c
541
qdio_free(qdio->adapter->ccw_device);
drivers/s390/scsi/zfcp_qdio.c
548
int zfcp_qdio_setup(struct zfcp_adapter *adapter)
drivers/s390/scsi/zfcp_qdio.c
556
qdio->adapter = adapter;
drivers/s390/scsi/zfcp_qdio.c
571
adapter->qdio = qdio;
drivers/s390/scsi/zfcp_qdio.c
586
void zfcp_qdio_siosl(struct zfcp_adapter *adapter)
drivers/s390/scsi/zfcp_qdio.c
590
if (atomic_read(&adapter->status) & ZFCP_STATUS_ADAPTER_SIOSL_ISSUED)
drivers/s390/scsi/zfcp_qdio.c
593
rc = ccw_device_siosl(adapter->ccw_device);
drivers/s390/scsi/zfcp_qdio.c
596
&adapter->status);
drivers/s390/scsi/zfcp_qdio.c
77
struct ccw_device *cdev = qdio->adapter->ccw_device;
drivers/s390/scsi/zfcp_qdio.h
54
struct zfcp_adapter *adapter;
drivers/s390/scsi/zfcp_scsi.c
116
struct zfcp_adapter *adapter =
drivers/s390/scsi/zfcp_scsi.c
121
int npiv = adapter->connection_features & FSF_FEATURE_NPIV_MODE;
drivers/s390/scsi/zfcp_scsi.c
123
zfcp_sdev->erp_action.adapter = adapter;
drivers/s390/scsi/zfcp_scsi.c
126
port = zfcp_get_port_by_wwpn(adapter, rport->port_name);
drivers/s390/scsi/zfcp_scsi.c
161
zfcp_erp_wait(port->adapter);
drivers/s390/scsi/zfcp_scsi.c
169
struct zfcp_adapter *adapter =
drivers/s390/scsi/zfcp_scsi.c
179
write_lock_irqsave(&adapter->abort_lock, flags);
drivers/s390/scsi/zfcp_scsi.c
181
old_req = zfcp_reqlist_find(adapter->req_list, old_reqid);
drivers/s390/scsi/zfcp_scsi.c
183
write_unlock_irqrestore(&adapter->abort_lock, flags);
drivers/s390/scsi/zfcp_scsi.c
190
write_unlock_irqrestore(&adapter->abort_lock, flags);
drivers/s390/scsi/zfcp_scsi.c
198
zfcp_erp_wait(adapter);
drivers/s390/scsi/zfcp_scsi.c
204
if (!(atomic_read(&adapter->status) &
drivers/s390/scsi/zfcp_scsi.c
261
struct zfcp_adapter *adapter = zsdev->port->adapter;
drivers/s390/scsi/zfcp_scsi.c
277
write_lock_irqsave(&adapter->abort_lock, flags);
drivers/s390/scsi/zfcp_scsi.c
278
zfcp_reqlist_apply_for_all(adapter->req_list, zfcp_scsi_forget_cmnd,
drivers/s390/scsi/zfcp_scsi.c
280
write_unlock_irqrestore(&adapter->abort_lock, flags);
drivers/s390/scsi/zfcp_scsi.c
292
struct zfcp_adapter *adapter = zfcp_sdev->port->adapter;
drivers/s390/scsi/zfcp_scsi.c
304
zfcp_erp_wait(adapter);
drivers/s390/scsi/zfcp_scsi.c
311
if (!(atomic_read(&adapter->status) &
drivers/s390/scsi/zfcp_scsi.c
349
struct zfcp_adapter *adapter =
drivers/s390/scsi/zfcp_scsi.c
361
zfcp_dbf_scsi_eh("tr_nosd", adapter, starget->id, ret);
drivers/s390/scsi/zfcp_scsi.c
377
struct zfcp_adapter *adapter = zfcp_sdev->port->adapter;
drivers/s390/scsi/zfcp_scsi.c
380
if (!(adapter->connection_features & FSF_FEATURE_NPIV_MODE)) {
drivers/s390/scsi/zfcp_scsi.c
381
zfcp_erp_port_forced_reopen_all(adapter, 0, "schrh_p");
drivers/s390/scsi/zfcp_scsi.c
382
zfcp_erp_wait(adapter);
drivers/s390/scsi/zfcp_scsi.c
384
zfcp_erp_adapter_reopen(adapter, 0, "schrh_1");
drivers/s390/scsi/zfcp_scsi.c
385
zfcp_erp_wait(adapter);
drivers/s390/scsi/zfcp_scsi.c
390
zfcp_dbf_scsi_eh("schrh_r", adapter, ~0, ret);
drivers/s390/scsi/zfcp_scsi.c
405
struct zfcp_adapter *adapter =
drivers/s390/scsi/zfcp_scsi.c
411
zfcp_dbf_scsi_eh("scshr_n", adapter, ~0, ret);
drivers/s390/scsi/zfcp_scsi.c
415
zfcp_erp_adapter_reset_sync(adapter, "scshr_y");
drivers/s390/scsi/zfcp_scsi.c
474
int zfcp_scsi_adapter_register(struct zfcp_adapter *adapter)
drivers/s390/scsi/zfcp_scsi.c
478
if (adapter->scsi_host)
drivers/s390/scsi/zfcp_scsi.c
481
ccw_device_get_id(adapter->ccw_device, &dev_id);
drivers/s390/scsi/zfcp_scsi.c
483
adapter->scsi_host = scsi_host_alloc(&zfcp_scsi_host_template,
drivers/s390/scsi/zfcp_scsi.c
485
if (!adapter->scsi_host)
drivers/s390/scsi/zfcp_scsi.c
489
adapter->scsi_host->max_id = 511;
drivers/s390/scsi/zfcp_scsi.c
490
adapter->scsi_host->max_lun = 0xFFFFFFFF;
drivers/s390/scsi/zfcp_scsi.c
491
adapter->scsi_host->max_channel = 0;
drivers/s390/scsi/zfcp_scsi.c
492
adapter->scsi_host->unique_id = dev_id.devno;
drivers/s390/scsi/zfcp_scsi.c
493
adapter->scsi_host->max_cmd_len = 16; /* in struct fcp_cmnd */
drivers/s390/scsi/zfcp_scsi.c
494
adapter->scsi_host->transportt = zfcp_scsi_transport_template;
drivers/s390/scsi/zfcp_scsi.c
497
zfcp_qdio_shost_update(adapter, adapter->qdio);
drivers/s390/scsi/zfcp_scsi.c
498
zfcp_scsi_set_prot(adapter);
drivers/s390/scsi/zfcp_scsi.c
500
adapter->scsi_host->hostdata[0] = (unsigned long) adapter;
drivers/s390/scsi/zfcp_scsi.c
502
if (scsi_add_host(adapter->scsi_host, &adapter->ccw_device->dev)) {
drivers/s390/scsi/zfcp_scsi.c
503
scsi_host_put(adapter->scsi_host);
drivers/s390/scsi/zfcp_scsi.c
509
adapter->scsi_host = NULL;
drivers/s390/scsi/zfcp_scsi.c
510
dev_err(&adapter->ccw_device->dev,
drivers/s390/scsi/zfcp_scsi.c
519
void zfcp_scsi_adapter_unregister(struct zfcp_adapter *adapter)
drivers/s390/scsi/zfcp_scsi.c
524
shost = adapter->scsi_host;
drivers/s390/scsi/zfcp_scsi.c
528
read_lock_irq(&adapter->port_list_lock);
drivers/s390/scsi/zfcp_scsi.c
529
list_for_each_entry(port, &adapter->port_list, list)
drivers/s390/scsi/zfcp_scsi.c
531
read_unlock_irq(&adapter->port_list_lock);
drivers/s390/scsi/zfcp_scsi.c
536
adapter->scsi_host = NULL;
drivers/s390/scsi/zfcp_scsi.c
540
zfcp_scsi_init_fc_host_stats(struct zfcp_adapter *adapter)
drivers/s390/scsi/zfcp_scsi.c
544
if (!adapter->fc_stats) {
drivers/s390/scsi/zfcp_scsi.c
548
adapter->fc_stats = fc_stats; /* freed in adapter_release */
drivers/s390/scsi/zfcp_scsi.c
550
memset(adapter->fc_stats, 0, sizeof(*adapter->fc_stats));
drivers/s390/scsi/zfcp_scsi.c
551
return adapter->fc_stats;
drivers/s390/scsi/zfcp_scsi.c
615
struct zfcp_adapter *adapter;
drivers/s390/scsi/zfcp_scsi.c
620
adapter = (struct zfcp_adapter *)host->hostdata[0];
drivers/s390/scsi/zfcp_scsi.c
621
fc_stats = zfcp_scsi_init_fc_host_stats(adapter);
drivers/s390/scsi/zfcp_scsi.c
629
ret = zfcp_fsf_exchange_port_data_sync(adapter->qdio, data);
drivers/s390/scsi/zfcp_scsi.c
635
if (adapter->stats_reset &&
drivers/s390/scsi/zfcp_scsi.c
636
((jiffies/HZ - adapter->stats_reset) <
drivers/s390/scsi/zfcp_scsi.c
639
adapter->stats_reset_data);
drivers/s390/scsi/zfcp_scsi.c
649
struct zfcp_adapter *adapter;
drivers/s390/scsi/zfcp_scsi.c
653
adapter = (struct zfcp_adapter *)shost->hostdata[0];
drivers/s390/scsi/zfcp_scsi.c
658
ret = zfcp_fsf_exchange_port_data_sync(adapter->qdio, data);
drivers/s390/scsi/zfcp_scsi.c
662
adapter->stats_reset = jiffies/HZ;
drivers/s390/scsi/zfcp_scsi.c
663
kfree(adapter->stats_reset_data);
drivers/s390/scsi/zfcp_scsi.c
664
adapter->stats_reset_data = data; /* finally freed in
drivers/s390/scsi/zfcp_scsi.c
671
struct zfcp_adapter *adapter =
drivers/s390/scsi/zfcp_scsi.c
673
int status = atomic_read(&adapter->status);
drivers/s390/scsi/zfcp_scsi.c
706
struct zfcp_adapter *adapter =
drivers/s390/scsi/zfcp_scsi.c
709
port = zfcp_get_port_by_wwpn(adapter, rport->port_name);
drivers/s390/scsi/zfcp_scsi.c
716
"sctrpin", adapter,
drivers/s390/scsi/zfcp_scsi.c
735
zfcp_dbf_rec_trig_lock("scpaddy", port->adapter, port, NULL,
drivers/s390/scsi/zfcp_scsi.c
738
rport = fc_remote_port_add(port->adapter->scsi_host, 0, &ids);
drivers/s390/scsi/zfcp_scsi.c
740
dev_err(&port->adapter->ccw_device->dev,
drivers/s390/scsi/zfcp_scsi.c
759
zfcp_dbf_rec_trig_lock("scpdely", port->adapter, port, NULL,
drivers/s390/scsi/zfcp_scsi.c
772
if (!queue_work(port->adapter->work_queue, &port->rport_work))
drivers/s390/scsi/zfcp_scsi.c
781
if (port->rport && queue_work(port->adapter->work_queue,
drivers/s390/scsi/zfcp_scsi.c
788
void zfcp_scsi_schedule_rports_block(struct zfcp_adapter *adapter)
drivers/s390/scsi/zfcp_scsi.c
793
read_lock_irqsave(&adapter->port_list_lock, flags);
drivers/s390/scsi/zfcp_scsi.c
794
list_for_each_entry(port, &adapter->port_list, list)
drivers/s390/scsi/zfcp_scsi.c
796
read_unlock_irqrestore(&adapter->port_list_lock, flags);
drivers/s390/scsi/zfcp_scsi.c
824
void zfcp_scsi_set_prot(struct zfcp_adapter *adapter)
drivers/s390/scsi/zfcp_scsi.c
828
struct Scsi_Host *shost = adapter->scsi_host;
drivers/s390/scsi/zfcp_scsi.c
830
data_div = atomic_read(&adapter->status) &
drivers/s390/scsi/zfcp_scsi.c
834
adapter->adapter_features & FSF_FEATURE_DIF_PROT_TYPE1)
drivers/s390/scsi/zfcp_scsi.c
838
adapter->adapter_features & FSF_FEATURE_DIX_PROT_TCPIP) {
drivers/s390/scsi/zfcp_scsi.c
841
shost->sg_prot_tablesize = adapter->qdio->max_sbale_per_req / 2;
drivers/s390/scsi/zfcp_scsi.c
842
shost->sg_tablesize = adapter->qdio->max_sbale_per_req / 2;
drivers/s390/scsi/zfcp_scsi.c
864
struct zfcp_adapter *const adapter,
drivers/s390/scsi/zfcp_scsi.c
868
struct Scsi_Host *const shost = adapter->scsi_host;
drivers/s390/scsi/zfcp_scsi.c
877
if (adapter->adapter_features & FSF_FEATURE_HBAAPI_MANAGEMENT) {
drivers/s390/scsi/zfcp_scsi.c
899
zfcp_scsi_set_prot(adapter);
drivers/s390/scsi/zfcp_scsi.c
934
struct zfcp_adapter *const adapter,
drivers/s390/scsi/zfcp_scsi.c
937
struct Scsi_Host *const shost = adapter->scsi_host;
drivers/s390/scsi/zfcp_sysfs.c
114
zfcp_erp_wait(port->adapter);
drivers/s390/scsi/zfcp_sysfs.c
156
zfcp_erp_wait(unit->port->adapter);
drivers/s390/scsi/zfcp_sysfs.c
171
struct zfcp_adapter *adapter = zfcp_ccw_adapter_by_cdev(cdev);
drivers/s390/scsi/zfcp_sysfs.c
174
if (!adapter)
drivers/s390/scsi/zfcp_sysfs.c
177
if (atomic_read(&adapter->status) & ZFCP_STATUS_COMMON_ERP_FAILED)
drivers/s390/scsi/zfcp_sysfs.c
182
zfcp_ccw_adapter_put(adapter);
drivers/s390/scsi/zfcp_sysfs.c
191
struct zfcp_adapter *adapter = zfcp_ccw_adapter_by_cdev(cdev);
drivers/s390/scsi/zfcp_sysfs.c
195
if (!adapter)
drivers/s390/scsi/zfcp_sysfs.c
203
zfcp_erp_adapter_reset_sync(adapter, "syafai2");
drivers/s390/scsi/zfcp_sysfs.c
205
zfcp_ccw_adapter_put(adapter);
drivers/s390/scsi/zfcp_sysfs.c
208
static ZFCP_DEV_ATTR(adapter, failed, S_IWUSR | S_IRUGO,
drivers/s390/scsi/zfcp_sysfs.c
217
struct zfcp_adapter *adapter = zfcp_ccw_adapter_by_cdev(cdev);
drivers/s390/scsi/zfcp_sysfs.c
220
if (!adapter)
drivers/s390/scsi/zfcp_sysfs.c
229
if (adapter->scsi_host == NULL) {
drivers/s390/scsi/zfcp_sysfs.c
239
queue_delayed_work(adapter->work_queue, &adapter->scan_work, 0);
drivers/s390/scsi/zfcp_sysfs.c
240
flush_delayed_work(&adapter->scan_work);
drivers/s390/scsi/zfcp_sysfs.c
242
zfcp_ccw_adapter_put(adapter);
drivers/s390/scsi/zfcp_sysfs.c
245
static ZFCP_DEV_ATTR(adapter, port_rescan, S_IWUSR, NULL,
drivers/s390/scsi/zfcp_sysfs.c
264
struct zfcp_adapter *const adapter = port->adapter;
drivers/s390/scsi/zfcp_sysfs.c
273
spin_lock_irqsave(adapter->scsi_host->host_lock, flags);
drivers/s390/scsi/zfcp_sysfs.c
274
__shost_for_each_device(sdev, adapter->scsi_host) {
drivers/s390/scsi/zfcp_sysfs.c
291
spin_unlock_irqrestore(adapter->scsi_host->host_lock, flags);
drivers/s390/scsi/zfcp_sysfs.c
302
struct zfcp_adapter *adapter = zfcp_ccw_adapter_by_cdev(cdev);
drivers/s390/scsi/zfcp_sysfs.c
307
if (!adapter)
drivers/s390/scsi/zfcp_sysfs.c
313
port = zfcp_get_port_by_wwpn(adapter, wwpn);
drivers/s390/scsi/zfcp_sysfs.c
325
write_lock_irq(&adapter->port_list_lock);
drivers/s390/scsi/zfcp_sysfs.c
327
write_unlock_irq(&adapter->port_list_lock);
drivers/s390/scsi/zfcp_sysfs.c
334
zfcp_ccw_adapter_put(adapter);
drivers/s390/scsi/zfcp_sysfs.c
337
static ZFCP_DEV_ATTR(adapter, port_remove, S_IWUSR, NULL,
drivers/s390/scsi/zfcp_sysfs.c
344
struct zfcp_adapter *adapter = zfcp_ccw_adapter_by_cdev(to_ccwdev(dev));
drivers/s390/scsi/zfcp_sysfs.c
347
if (!adapter)
drivers/s390/scsi/zfcp_sysfs.c
350
rc = sysfs_emit(buf, "%lu\n", adapter->diagnostics->max_age);
drivers/s390/scsi/zfcp_sysfs.c
352
zfcp_ccw_adapter_put(adapter);
drivers/s390/scsi/zfcp_sysfs.c
361
struct zfcp_adapter *adapter = zfcp_ccw_adapter_by_cdev(to_ccwdev(dev));
drivers/s390/scsi/zfcp_sysfs.c
365
if (!adapter)
drivers/s390/scsi/zfcp_sysfs.c
372
adapter->diagnostics->max_age = max_age;
drivers/s390/scsi/zfcp_sysfs.c
376
zfcp_ccw_adapter_put(adapter);
drivers/s390/scsi/zfcp_sysfs.c
379
static ZFCP_DEV_ATTR(adapter, diag_max_age, 0644,
drivers/s390/scsi/zfcp_sysfs.c
387
struct zfcp_adapter *adapter = zfcp_ccw_adapter_by_cdev(cdev);
drivers/s390/scsi/zfcp_sysfs.c
391
if (!adapter)
drivers/s390/scsi/zfcp_sysfs.c
400
status = atomic_read(&adapter->status);
drivers/s390/scsi/zfcp_sysfs.c
403
else if (!(adapter->adapter_features & FSF_FEATURE_FC_SECURITY))
drivers/s390/scsi/zfcp_sysfs.c
407
buf, PAGE_SIZE - 1, adapter->fc_security_algorithms,
drivers/s390/scsi/zfcp_sysfs.c
412
zfcp_ccw_adapter_put(adapter);
drivers/s390/scsi/zfcp_sysfs.c
415
static ZFCP_DEV_ATTR(adapter, fc_security, S_IRUGO,
drivers/s390/scsi/zfcp_sysfs.c
47
struct zfcp_adapter *adapter = zfcp_ccw_adapter_by_cdev(cdev); \
drivers/s390/scsi/zfcp_sysfs.c
483
struct zfcp_adapter *adapter = port->adapter;
drivers/s390/scsi/zfcp_sysfs.c
494
else if (!(adapter->adapter_features & FSF_FEATURE_FC_SECURITY))
drivers/s390/scsi/zfcp_sysfs.c
50
if (!adapter) \
drivers/s390/scsi/zfcp_sysfs.c
54
zfcp_ccw_adapter_put(adapter); \
drivers/s390/scsi/zfcp_sysfs.c
552
struct zfcp_adapter *adapter = zfcp_sdev->port->adapter; \
drivers/s390/scsi/zfcp_sysfs.c
556
fsum = lat->_name.fabric.sum * adapter->timer_ticks; \
drivers/s390/scsi/zfcp_sysfs.c
557
fmin = lat->_name.fabric.min * adapter->timer_ticks; \
drivers/s390/scsi/zfcp_sysfs.c
558
fmax = lat->_name.fabric.max * adapter->timer_ticks; \
drivers/s390/scsi/zfcp_sysfs.c
559
csum = lat->_name.channel.sum * adapter->timer_ticks; \
drivers/s390/scsi/zfcp_sysfs.c
560
cmin = lat->_name.channel.min * adapter->timer_ticks; \
drivers/s390/scsi/zfcp_sysfs.c
561
cmax = lat->_name.channel.max * adapter->timer_ticks; \
drivers/s390/scsi/zfcp_sysfs.c
57
static ZFCP_DEV_ATTR(adapter, _name, S_IRUGO, \
drivers/s390/scsi/zfcp_sysfs.c
60
ZFCP_DEFINE_A_ATTR(status, "0x%08x\n", atomic_read(&adapter->status));
drivers/s390/scsi/zfcp_sysfs.c
618
dev_name(&zfcp_sdev->port->adapter->ccw_device->dev));
drivers/s390/scsi/zfcp_sysfs.c
62
(unsigned long long) adapter->peer_wwnn);
drivers/s390/scsi/zfcp_sysfs.c
64
(unsigned long long) adapter->peer_wwpn);
drivers/s390/scsi/zfcp_sysfs.c
65
ZFCP_DEFINE_A_ATTR(peer_d_id, "0x%06x\n", adapter->peer_d_id);
drivers/s390/scsi/zfcp_sysfs.c
66
ZFCP_DEFINE_A_ATTR(card_version, "0x%04x\n", adapter->hydra_version);
drivers/s390/scsi/zfcp_sysfs.c
660
zfcp_erp_wait(sdev_to_zfcp(sdev)->port->adapter);
drivers/s390/scsi/zfcp_sysfs.c
67
ZFCP_DEFINE_A_ATTR(lic_version, "0x%08x\n", adapter->fsf_lic_version);
drivers/s390/scsi/zfcp_sysfs.c
68
ZFCP_DEFINE_A_ATTR(hardware_version, "0x%08x\n", adapter->hardware_version);
drivers/s390/scsi/zfcp_sysfs.c
69
ZFCP_DEFINE_A_ATTR(in_recovery, "%d\n", (atomic_read(&adapter->status) &
drivers/s390/scsi/zfcp_sysfs.c
704
struct zfcp_adapter *adapter;
drivers/s390/scsi/zfcp_sysfs.c
707
adapter = (struct zfcp_adapter *) scsi_host->hostdata[0];
drivers/s390/scsi/zfcp_sysfs.c
708
if (!(adapter->adapter_features & FSF_FEATURE_MEASUREMENT_DATA))
drivers/s390/scsi/zfcp_sysfs.c
715
retval = zfcp_fsf_exchange_port_data_sync(adapter->qdio, qtcb_port);
drivers/s390/scsi/zfcp_sysfs.c
729
struct zfcp_adapter *adapter;
drivers/s390/scsi/zfcp_sysfs.c
732
adapter = (struct zfcp_adapter *) scsi_host->hostdata[0];
drivers/s390/scsi/zfcp_sysfs.c
733
if (!(adapter->adapter_features & FSF_FEATURE_MEASUREMENT_DATA))
drivers/s390/scsi/zfcp_sysfs.c
740
retval = zfcp_fsf_exchange_config_data_sync(adapter->qdio, qtcb_config);
drivers/s390/scsi/zfcp_sysfs.c
815
struct zfcp_adapter *adapter = zfcp_ccw_adapter_by_cdev(to_ccwdev(dev));
drivers/s390/scsi/zfcp_sysfs.c
822
if (!adapter)
drivers/s390/scsi/zfcp_sysfs.c
825
status = atomic_read(&adapter->status);
drivers/s390/scsi/zfcp_sysfs.c
831
diag_hdr = &adapter->diagnostics->config_data.header;
drivers/s390/scsi/zfcp_sysfs.c
834
adapter, diag_hdr, zfcp_diag_update_config_data_buffer);
drivers/s390/scsi/zfcp_sysfs.c
841
adapter->diagnostics->config_data
drivers/s390/scsi/zfcp_sysfs.c
849
zfcp_ccw_adapter_put(adapter);
drivers/s390/scsi/zfcp_sysfs.c
859
struct zfcp_adapter *const adapter = \
drivers/s390/scsi/zfcp_sysfs.c
866
if (!adapter) \
drivers/s390/scsi/zfcp_sysfs.c
869
status = atomic_read(&adapter->status); \
drivers/s390/scsi/zfcp_sysfs.c
875
if (!zfcp_diag_support_sfp(adapter)) { \
drivers/s390/scsi/zfcp_sysfs.c
880
diag_hdr = &adapter->diagnostics->port_data.header; \
drivers/s390/scsi/zfcp_sysfs.c
883
adapter, diag_hdr, zfcp_diag_update_port_data_buffer); \
drivers/s390/scsi/zfcp_sysfs.c
890
adapter->diagnostics->port_data.data._qtcb_member); \
drivers/s390/scsi/zfcp_sysfs.c
894
zfcp_ccw_adapter_put(adapter); \
drivers/s390/scsi/zfcp_unit.c
203
shost = port->adapter->scsi_host;
drivers/s390/scsi/zfcp_unit.c
60
if (scsi_queue_work(port->adapter->scsi_host,
drivers/scsi/BusLogic.c
1000
blogic_err("While configuring BusLogic Host Adapter at I/O Address 0x%lX:\n", adapter, adapter->io_addr);
drivers/scsi/BusLogic.c
1001
blogic_err("%s FAILED - DETACHING\n", adapter, msg);
drivers/scsi/BusLogic.c
1003
blogic_err("ADDITIONAL FAILURE INFO - %s\n", adapter,
drivers/scsi/BusLogic.c
1013
static bool __init blogic_probe(struct blogic_adapter *adapter)
drivers/scsi/BusLogic.c
1021
if (blogic_flashpoint_type(adapter)) {
drivers/scsi/BusLogic.c
1022
struct fpoint_info *fpinfo = &adapter->fpinfo;
drivers/scsi/BusLogic.c
1023
fpinfo->base_addr = (u32) adapter->io_addr;
drivers/scsi/BusLogic.c
1024
fpinfo->irq_ch = adapter->irq_ch;
drivers/scsi/BusLogic.c
1028
blogic_err("BusLogic: FlashPoint Host Adapter detected at PCI Bus %d Device %d\n", adapter, adapter->bus, adapter->dev);
drivers/scsi/BusLogic.c
1029
blogic_err("BusLogic: I/O Address 0x%lX PCI Address 0x%lX, but FlashPoint\n", adapter, adapter->io_addr, adapter->pci_addr);
drivers/scsi/BusLogic.c
1030
blogic_err("BusLogic: Probe Function failed to validate it.\n", adapter);
drivers/scsi/BusLogic.c
1034
blogic_notice("BusLogic_Probe(0x%lX): FlashPoint Found\n", adapter, adapter->io_addr);
drivers/scsi/BusLogic.c
1047
statusreg.all = blogic_rdstatus(adapter);
drivers/scsi/BusLogic.c
1048
intreg.all = blogic_rdint(adapter);
drivers/scsi/BusLogic.c
1049
georeg.all = blogic_rdgeom(adapter);
drivers/scsi/BusLogic.c
1051
blogic_notice("BusLogic_Probe(0x%lX): Status 0x%02X, Interrupt 0x%02X, Geometry 0x%02X\n", adapter, adapter->io_addr, statusreg.all, intreg.all, georeg.all);
drivers/scsi/BusLogic.c
1089
static bool blogic_hwreset(struct blogic_adapter *adapter, bool hard_reset)
drivers/scsi/BusLogic.c
1097
if (blogic_flashpoint_type(adapter)) {
drivers/scsi/BusLogic.c
1098
struct fpoint_info *fpinfo = &adapter->fpinfo;
drivers/scsi/BusLogic.c
1101
adapter->cardhandle =
drivers/scsi/BusLogic.c
1103
if (adapter->cardhandle == (void *)FPOINT_BADCARD_HANDLE)
drivers/scsi/BusLogic.c
1116
blogic_hardreset(adapter);
drivers/scsi/BusLogic.c
1118
blogic_softreset(adapter);
drivers/scsi/BusLogic.c
1124
statusreg.all = blogic_rdstatus(adapter);
drivers/scsi/BusLogic.c
1130
blogic_notice("BusLogic_HardwareReset(0x%lX): Diagnostic Active, Status 0x%02X\n", adapter, adapter->io_addr, statusreg.all);
drivers/scsi/BusLogic.c
1144
statusreg.all = blogic_rdstatus(adapter);
drivers/scsi/BusLogic.c
1150
blogic_notice("BusLogic_HardwareReset(0x%lX): Diagnostic Completed, Status 0x%02X\n", adapter, adapter->io_addr, statusreg.all);
drivers/scsi/BusLogic.c
1159
statusreg.all = blogic_rdstatus(adapter);
drivers/scsi/BusLogic.c
1166
blogic_notice("BusLogic_HardwareReset(0x%lX): Host Adapter Ready, Status 0x%02X\n", adapter, adapter->io_addr, statusreg.all);
drivers/scsi/BusLogic.c
1177
blogic_failure(adapter, "HARD RESET DIAGNOSTICS");
drivers/scsi/BusLogic.c
1178
blogic_err("HOST ADAPTER STATUS REGISTER = %02X\n", adapter,
drivers/scsi/BusLogic.c
1181
blogic_err("HOST ADAPTER ERROR CODE = %d\n", adapter,
drivers/scsi/BusLogic.c
1182
blogic_rddatain(adapter));
drivers/scsi/BusLogic.c
1197
static bool __init blogic_checkadapter(struct blogic_adapter *adapter)
drivers/scsi/BusLogic.c
1205
if (blogic_flashpoint_type(adapter))
drivers/scsi/BusLogic.c
1214
if (blogic_cmd(adapter, BLOGIC_INQ_EXTSETUP, &req_replylen,
drivers/scsi/BusLogic.c
1222
blogic_notice("BusLogic_Check(0x%lX): MultiMaster %s\n", adapter,
drivers/scsi/BusLogic.c
1223
adapter->io_addr,
drivers/scsi/BusLogic.c
1234
static bool __init blogic_rdconfig(struct blogic_adapter *adapter)
drivers/scsi/BusLogic.c
1256
if (blogic_flashpoint_type(adapter)) {
drivers/scsi/BusLogic.c
1257
struct fpoint_info *fpinfo = &adapter->fpinfo;
drivers/scsi/BusLogic.c
1258
tgt = adapter->model;
drivers/scsi/BusLogic.c
1265
strcpy(adapter->fw_ver, FLASHPOINT_FW_VER);
drivers/scsi/BusLogic.c
1266
adapter->scsi_id = fpinfo->scsi_id;
drivers/scsi/BusLogic.c
1267
adapter->ext_trans_enable = fpinfo->ext_trans_enable;
drivers/scsi/BusLogic.c
1268
adapter->parity = fpinfo->parity;
drivers/scsi/BusLogic.c
1269
adapter->reset_enabled = !fpinfo->softreset;
drivers/scsi/BusLogic.c
1270
adapter->level_int = true;
drivers/scsi/BusLogic.c
1271
adapter->wide = fpinfo->wide;
drivers/scsi/BusLogic.c
1272
adapter->differential = false;
drivers/scsi/BusLogic.c
1273
adapter->scam = true;
drivers/scsi/BusLogic.c
1274
adapter->ultra = true;
drivers/scsi/BusLogic.c
1275
adapter->ext_lun = true;
drivers/scsi/BusLogic.c
1276
adapter->terminfo_valid = true;
drivers/scsi/BusLogic.c
1277
adapter->low_term = fpinfo->low_term;
drivers/scsi/BusLogic.c
1278
adapter->high_term = fpinfo->high_term;
drivers/scsi/BusLogic.c
1279
adapter->scam_enabled = fpinfo->scam_enabled;
drivers/scsi/BusLogic.c
1280
adapter->scam_lev2 = fpinfo->scam_lev2;
drivers/scsi/BusLogic.c
1281
adapter->drvr_sglimit = BLOGIC_SG_LIMIT;
drivers/scsi/BusLogic.c
1282
adapter->maxdev = (adapter->wide ? 16 : 8);
drivers/scsi/BusLogic.c
1283
adapter->maxlun = 32;
drivers/scsi/BusLogic.c
1284
adapter->initccbs = 4 * BLOGIC_CCB_GRP_ALLOCSIZE;
drivers/scsi/BusLogic.c
1285
adapter->inc_ccbs = BLOGIC_CCB_GRP_ALLOCSIZE;
drivers/scsi/BusLogic.c
1286
adapter->drvr_qdepth = 255;
drivers/scsi/BusLogic.c
1287
adapter->adapter_qdepth = adapter->drvr_qdepth;
drivers/scsi/BusLogic.c
1288
adapter->sync_ok = fpinfo->sync_ok;
drivers/scsi/BusLogic.c
1289
adapter->fast_ok = fpinfo->fast_ok;
drivers/scsi/BusLogic.c
1290
adapter->ultra_ok = fpinfo->ultra_ok;
drivers/scsi/BusLogic.c
1291
adapter->wide_ok = fpinfo->wide_ok;
drivers/scsi/BusLogic.c
1292
adapter->discon_ok = fpinfo->discon_ok;
drivers/scsi/BusLogic.c
1293
adapter->tagq_ok = 0xFFFF;
drivers/scsi/BusLogic.c
1299
if (blogic_cmd(adapter, BLOGIC_GET_BOARD_ID, NULL, 0, &id,
drivers/scsi/BusLogic.c
1301
return blogic_failure(adapter, "INQUIRE BOARD ID");
drivers/scsi/BusLogic.c
1305
if (blogic_cmd(adapter, BLOGIC_INQ_CONFIG, NULL, 0, &config,
drivers/scsi/BusLogic.c
1308
return blogic_failure(adapter, "INQUIRE CONFIGURATION");
drivers/scsi/BusLogic.c
1313
if (blogic_cmd(adapter, BLOGIC_INQ_SETUPINFO, &req_replylen,
drivers/scsi/BusLogic.c
1316
return blogic_failure(adapter, "INQUIRE SETUP INFORMATION");
drivers/scsi/BusLogic.c
1321
if (blogic_cmd(adapter, BLOGIC_INQ_EXTSETUP, &req_replylen,
drivers/scsi/BusLogic.c
1324
return blogic_failure(adapter,
drivers/scsi/BusLogic.c
1331
if (blogic_cmd(adapter, BLOGIC_INQ_FWVER_D3, NULL, 0,
drivers/scsi/BusLogic.c
1334
return blogic_failure(adapter,
drivers/scsi/BusLogic.c
1352
if (blogic_cmd(adapter, BLOGIC_INQ_MODELNO, &req_replylen,
drivers/scsi/BusLogic.c
1355
return blogic_failure(adapter,
drivers/scsi/BusLogic.c
136
static void blogic_announce_drvr(struct blogic_adapter *adapter)
drivers/scsi/BusLogic.c
1378
tgt = adapter->model;
drivers/scsi/BusLogic.c
138
blogic_announce("***** BusLogic SCSI Driver Version " blogic_drvr_version " of " blogic_drvr_date " *****\n", adapter);
drivers/scsi/BusLogic.c
139
blogic_announce("Copyright 1995-1998 by Leonard N. Zubkoff <lnz@dandelion.com>\n", adapter);
drivers/scsi/BusLogic.c
1392
tgt = adapter->fw_ver;
drivers/scsi/BusLogic.c
1402
if (strcmp(adapter->fw_ver, "3.3") >= 0) {
drivers/scsi/BusLogic.c
1403
if (blogic_cmd(adapter, BLOGIC_INQ_FWVER_LETTER, NULL, 0,
drivers/scsi/BusLogic.c
1406
return blogic_failure(adapter,
drivers/scsi/BusLogic.c
1415
adapter->scsi_id = config.id;
drivers/scsi/BusLogic.c
1421
adapter->adapter_bus_type =
drivers/scsi/BusLogic.c
1422
blogic_adater_bus_types[adapter->model[3] - '4'];
drivers/scsi/BusLogic.c
1423
if (adapter->irq_ch == 0) {
drivers/scsi/BusLogic.c
1425
adapter->irq_ch = 9;
drivers/scsi/BusLogic.c
1427
adapter->irq_ch = 10;
drivers/scsi/BusLogic.c
1429
adapter->irq_ch = 11;
drivers/scsi/BusLogic.c
1431
adapter->irq_ch = 12;
drivers/scsi/BusLogic.c
1433
adapter->irq_ch = 14;
drivers/scsi/BusLogic.c
1435
adapter->irq_ch = 15;
drivers/scsi/BusLogic.c
1441
georeg.all = blogic_rdgeom(adapter);
drivers/scsi/BusLogic.c
1442
adapter->ext_trans_enable = georeg.gr.ext_trans_enable;
drivers/scsi/BusLogic.c
1448
adapter->adapter_sglimit = ext_setupinfo.sg_limit;
drivers/scsi/BusLogic.c
1449
adapter->drvr_sglimit = adapter->adapter_sglimit;
drivers/scsi/BusLogic.c
1450
if (adapter->adapter_sglimit > BLOGIC_SG_LIMIT)
drivers/scsi/BusLogic.c
1451
adapter->drvr_sglimit = BLOGIC_SG_LIMIT;
drivers/scsi/BusLogic.c
1453
adapter->level_int = true;
drivers/scsi/BusLogic.c
1454
adapter->wide = ext_setupinfo.wide;
drivers/scsi/BusLogic.c
1455
adapter->differential = ext_setupinfo.differential;
drivers/scsi/BusLogic.c
1456
adapter->scam = ext_setupinfo.scam;
drivers/scsi/BusLogic.c
1457
adapter->ultra = ext_setupinfo.ultra;
drivers/scsi/BusLogic.c
1462
if (adapter->fw_ver[0] == '5' || (adapter->fw_ver[0] == '4' &&
drivers/scsi/BusLogic.c
1463
adapter->wide))
drivers/scsi/BusLogic.c
1464
adapter->ext_lun = true;
drivers/scsi/BusLogic.c
1469
if (adapter->fw_ver[0] == '5') {
drivers/scsi/BusLogic.c
1470
if (blogic_cmd(adapter, BLOGIC_INQ_PCI_INFO, NULL, 0,
drivers/scsi/BusLogic.c
1473
return blogic_failure(adapter,
drivers/scsi/BusLogic.c
1480
adapter->terminfo_valid = true;
drivers/scsi/BusLogic.c
1481
adapter->low_term = adapter_info.low_term;
drivers/scsi/BusLogic.c
1482
adapter->high_term = adapter_info.high_term;
drivers/scsi/BusLogic.c
1489
if (adapter->fw_ver[0] >= '4') {
drivers/scsi/BusLogic.c
1492
if (blogic_cmd(adapter, BLOGIC_FETCH_LOCALRAM, &fetch_localram,
drivers/scsi/BusLogic.c
1495
return blogic_failure(adapter,
drivers/scsi/BusLogic.c
150
struct blogic_adapter *adapter =
drivers/scsi/BusLogic.c
1501
adapter->parity = autoscsi.parity;
drivers/scsi/BusLogic.c
1502
adapter->reset_enabled = autoscsi.reset_enabled;
drivers/scsi/BusLogic.c
1503
if (adapter->fw_ver[0] == '4') {
drivers/scsi/BusLogic.c
1504
adapter->terminfo_valid = true;
drivers/scsi/BusLogic.c
1505
adapter->low_term = autoscsi.low_term;
drivers/scsi/BusLogic.c
1506
adapter->high_term = autoscsi.high_term;
drivers/scsi/BusLogic.c
1513
adapter->wide_ok = autoscsi.wide_ok;
drivers/scsi/BusLogic.c
1514
adapter->fast_ok = autoscsi.fast_ok;
drivers/scsi/BusLogic.c
1515
adapter->sync_ok = autoscsi.sync_ok;
drivers/scsi/BusLogic.c
1516
adapter->discon_ok = autoscsi.discon_ok;
drivers/scsi/BusLogic.c
1517
if (adapter->ultra)
drivers/scsi/BusLogic.c
1518
adapter->ultra_ok = autoscsi.ultra_ok;
drivers/scsi/BusLogic.c
1519
if (adapter->scam) {
drivers/scsi/BusLogic.c
152
return adapter->full_model;
drivers/scsi/BusLogic.c
1520
adapter->scam_enabled = autoscsi.scam_enabled;
drivers/scsi/BusLogic.c
1521
adapter->scam_lev2 = autoscsi.scam_lev2;
drivers/scsi/BusLogic.c
1528
if (adapter->fw_ver[0] < '4') {
drivers/scsi/BusLogic.c
1530
adapter->sync_ok = 0xFF;
drivers/scsi/BusLogic.c
1531
if (adapter->adapter_bus_type == BLOGIC_EISA_BUS) {
drivers/scsi/BusLogic.c
1533
adapter->fast_ok = 0xFF;
drivers/scsi/BusLogic.c
1534
if (strcmp(adapter->model, "BT-757") == 0)
drivers/scsi/BusLogic.c
1535
adapter->wide_ok = 0xFF;
drivers/scsi/BusLogic.c
1538
adapter->discon_ok = 0xFF;
drivers/scsi/BusLogic.c
1539
adapter->parity = setupinfo.parity;
drivers/scsi/BusLogic.c
1540
adapter->reset_enabled = true;
drivers/scsi/BusLogic.c
1546
adapter->maxdev = (adapter->wide ? 16 : 8);
drivers/scsi/BusLogic.c
1547
adapter->maxlun = (adapter->ext_lun ? 32 : 8);
drivers/scsi/BusLogic.c
1573
if (adapter->fw_ver[0] == '5')
drivers/scsi/BusLogic.c
1574
adapter->adapter_qdepth = 192;
drivers/scsi/BusLogic.c
1575
else if (adapter->fw_ver[0] == '4')
drivers/scsi/BusLogic.c
1576
adapter->adapter_qdepth = 100;
drivers/scsi/BusLogic.c
1578
adapter->adapter_qdepth = 30;
drivers/scsi/BusLogic.c
1579
if (strcmp(adapter->fw_ver, "3.31") >= 0) {
drivers/scsi/BusLogic.c
1580
adapter->strict_rr = true;
drivers/scsi/BusLogic.c
1581
adapter->mbox_count = BLOGIC_MAX_MAILBOX;
drivers/scsi/BusLogic.c
1583
adapter->strict_rr = false;
drivers/scsi/BusLogic.c
1584
adapter->mbox_count = 32;
drivers/scsi/BusLogic.c
1586
adapter->drvr_qdepth = adapter->mbox_count;
drivers/scsi/BusLogic.c
1587
adapter->initccbs = 4 * BLOGIC_CCB_GRP_ALLOCSIZE;
drivers/scsi/BusLogic.c
1588
adapter->inc_ccbs = BLOGIC_CCB_GRP_ALLOCSIZE;
drivers/scsi/BusLogic.c
1596
adapter->tagq_ok = 0;
drivers/scsi/BusLogic.c
1597
switch (adapter->fw_ver[0]) {
drivers/scsi/BusLogic.c
1599
adapter->tagq_ok = 0xFFFF;
drivers/scsi/BusLogic.c
1602
if (strcmp(adapter->fw_ver, "4.22") >= 0)
drivers/scsi/BusLogic.c
1603
adapter->tagq_ok = 0xFFFF;
drivers/scsi/BusLogic.c
1606
if (strcmp(adapter->fw_ver, "3.35") >= 0)
drivers/scsi/BusLogic.c
1607
adapter->tagq_ok = 0xFFFF;
drivers/scsi/BusLogic.c
161
static void blogic_init_ccbs(struct blogic_adapter *adapter, void *blk_pointer,
drivers/scsi/BusLogic.c
1615
adapter->bios_addr = ext_setupinfo.bios_addr << 12;
drivers/scsi/BusLogic.c
1623
if (adapter->bios_addr > 0 &&
drivers/scsi/BusLogic.c
1624
strcmp(adapter->model, "BT-445S") == 0 &&
drivers/scsi/BusLogic.c
1625
strcmp(adapter->fw_ver, "3.37") < 0)
drivers/scsi/BusLogic.c
1626
return blogic_failure(adapter, "Too old firmware");
drivers/scsi/BusLogic.c
1635
strcpy(adapter->full_model, "BusLogic ");
drivers/scsi/BusLogic.c
1636
strcat(adapter->full_model, adapter->model);
drivers/scsi/BusLogic.c
1646
if (adapter->drvr_opts != NULL &&
drivers/scsi/BusLogic.c
1647
adapter->drvr_opts->qdepth[tgt_id] > 0)
drivers/scsi/BusLogic.c
1648
qdepth = adapter->drvr_opts->qdepth[tgt_id];
drivers/scsi/BusLogic.c
1649
adapter->qdepth[tgt_id] = qdepth;
drivers/scsi/BusLogic.c
1651
adapter->untag_qdepth = BLOGIC_UNTAG_DEPTH;
drivers/scsi/BusLogic.c
1652
if (adapter->drvr_opts != NULL)
drivers/scsi/BusLogic.c
1653
adapter->common_qdepth = adapter->drvr_opts->common_qdepth;
drivers/scsi/BusLogic.c
1654
if (adapter->common_qdepth > 0 &&
drivers/scsi/BusLogic.c
1655
adapter->common_qdepth < adapter->untag_qdepth)
drivers/scsi/BusLogic.c
1656
adapter->untag_qdepth = adapter->common_qdepth;
drivers/scsi/BusLogic.c
1662
adapter->tagq_ok &= adapter->discon_ok;
drivers/scsi/BusLogic.c
1667
if (adapter->drvr_opts != NULL)
drivers/scsi/BusLogic.c
1668
adapter->tagq_ok = (adapter->drvr_opts->tagq_ok &
drivers/scsi/BusLogic.c
1669
adapter->drvr_opts->tagq_ok_mask) |
drivers/scsi/BusLogic.c
1670
(adapter->tagq_ok & ~adapter->drvr_opts->tagq_ok_mask);
drivers/scsi/BusLogic.c
1677
if (adapter->drvr_opts != NULL &&
drivers/scsi/BusLogic.c
1678
adapter->drvr_opts->bus_settle_time > 0)
drivers/scsi/BusLogic.c
1679
adapter->bus_settle_time = adapter->drvr_opts->bus_settle_time;
drivers/scsi/BusLogic.c
1681
adapter->bus_settle_time = BLOGIC_BUS_SETTLE_TIME;
drivers/scsi/BusLogic.c
1695
blogic_reportconfig(struct blogic_adapter *adapter)
drivers/scsi/BusLogic.c
1697
unsigned short alltgt_mask = (1 << adapter->maxdev) - 1;
drivers/scsi/BusLogic.c
171
ccb->adapter = adapter;
drivers/scsi/BusLogic.c
1712
blogic_info("Configuring BusLogic Model %s %s%s%s%s SCSI Host Adapter\n", adapter, adapter->model, blogic_adapter_busnames[adapter->adapter_bus_type], (adapter->wide ? " Wide" : ""), (adapter->differential ? " Differential" : ""), (adapter->ultra ? " Ultra" : ""));
drivers/scsi/BusLogic.c
1713
blogic_info(" Firmware Version: %s, I/O Address: 0x%lX, IRQ Channel: %d/%s\n", adapter, adapter->fw_ver, adapter->io_addr, adapter->irq_ch, (adapter->level_int ? "Level" : "Edge"));
drivers/scsi/BusLogic.c
1714
if (adapter->adapter_bus_type != BLOGIC_PCI_BUS) {
drivers/scsi/BusLogic.c
1715
blogic_info(" DMA Channel: None, ", adapter);
drivers/scsi/BusLogic.c
1716
if (adapter->bios_addr > 0)
drivers/scsi/BusLogic.c
1717
blogic_info("BIOS Address: 0x%X, ", adapter,
drivers/scsi/BusLogic.c
1718
adapter->bios_addr);
drivers/scsi/BusLogic.c
1720
blogic_info("BIOS Address: None, ", adapter);
drivers/scsi/BusLogic.c
1722
blogic_info(" PCI Bus: %d, Device: %d, Address: ", adapter,
drivers/scsi/BusLogic.c
1723
adapter->bus, adapter->dev);
drivers/scsi/BusLogic.c
1724
if (adapter->pci_addr > 0)
drivers/scsi/BusLogic.c
1725
blogic_info("0x%lX, ", adapter, adapter->pci_addr);
drivers/scsi/BusLogic.c
1727
blogic_info("Unassigned, ", adapter);
drivers/scsi/BusLogic.c
1729
blogic_info("Host Adapter SCSI ID: %d\n", adapter, adapter->scsi_id);
drivers/scsi/BusLogic.c
173
if (blogic_flashpoint_type(adapter)) {
drivers/scsi/BusLogic.c
1731
adapter, (adapter->parity ? "Enabled" : "Disabled"),
drivers/scsi/BusLogic.c
1732
(adapter->ext_trans_enable ? "Enabled" : "Disabled"));
drivers/scsi/BusLogic.c
1733
alltgt_mask &= ~(1 << adapter->scsi_id);
drivers/scsi/BusLogic.c
1734
sync_ok = adapter->sync_ok & alltgt_mask;
drivers/scsi/BusLogic.c
1735
fast_ok = adapter->fast_ok & alltgt_mask;
drivers/scsi/BusLogic.c
1736
ultra_ok = adapter->ultra_ok & alltgt_mask;
drivers/scsi/BusLogic.c
1737
if ((blogic_multimaster_type(adapter) &&
drivers/scsi/BusLogic.c
1738
(adapter->fw_ver[0] >= '4' ||
drivers/scsi/BusLogic.c
1739
adapter->adapter_bus_type == BLOGIC_EISA_BUS)) ||
drivers/scsi/BusLogic.c
1740
blogic_flashpoint_type(adapter)) {
drivers/scsi/BusLogic.c
175
ccb->base_addr = adapter->fpinfo.base_addr;
drivers/scsi/BusLogic.c
1760
for (tgt_id = 0; tgt_id < adapter->maxdev; tgt_id++)
drivers/scsi/BusLogic.c
1762
syncstr[adapter->scsi_id] = '#';
drivers/scsi/BusLogic.c
1763
syncstr[adapter->maxdev] = '\0';
drivers/scsi/BusLogic.c
1767
wide_ok = adapter->wide_ok & alltgt_mask;
drivers/scsi/BusLogic.c
177
ccb->next = adapter->free_ccbs;
drivers/scsi/BusLogic.c
1773
for (tgt_id = 0; tgt_id < adapter->maxdev; tgt_id++)
drivers/scsi/BusLogic.c
1775
widestr[adapter->scsi_id] = '#';
drivers/scsi/BusLogic.c
1776
widestr[adapter->maxdev] = '\0';
drivers/scsi/BusLogic.c
1778
discon_ok = adapter->discon_ok & alltgt_mask;
drivers/scsi/BusLogic.c
178
ccb->next_all = adapter->all_ccbs;
drivers/scsi/BusLogic.c
1784
for (tgt_id = 0; tgt_id < adapter->maxdev; tgt_id++)
drivers/scsi/BusLogic.c
1786
discon_str[adapter->scsi_id] = '#';
drivers/scsi/BusLogic.c
1787
discon_str[adapter->maxdev] = '\0';
drivers/scsi/BusLogic.c
1789
tagq_ok = adapter->tagq_ok & alltgt_mask;
drivers/scsi/BusLogic.c
179
adapter->free_ccbs = ccb;
drivers/scsi/BusLogic.c
1795
for (tgt_id = 0; tgt_id < adapter->maxdev; tgt_id++)
drivers/scsi/BusLogic.c
1797
tagq_str[adapter->scsi_id] = '#';
drivers/scsi/BusLogic.c
1798
tagq_str[adapter->maxdev] = '\0';
drivers/scsi/BusLogic.c
180
adapter->all_ccbs = ccb;
drivers/scsi/BusLogic.c
1801
adapter, syncmsg, widemsg);
drivers/scsi/BusLogic.c
1802
blogic_info(" Disconnect/Reconnect: %s, Tagged Queuing: %s\n", adapter,
drivers/scsi/BusLogic.c
1804
if (blogic_multimaster_type(adapter)) {
drivers/scsi/BusLogic.c
1805
blogic_info(" Scatter/Gather Limit: %d of %d segments, Mailboxes: %d\n", adapter, adapter->drvr_sglimit, adapter->adapter_sglimit, adapter->mbox_count);
drivers/scsi/BusLogic.c
1806
blogic_info(" Driver Queue Depth: %d, Host Adapter Queue Depth: %d\n", adapter, adapter->drvr_qdepth, adapter->adapter_qdepth);
drivers/scsi/BusLogic.c
1808
blogic_info(" Driver Queue Depth: %d, Scatter/Gather Limit: %d segments\n", adapter, adapter->drvr_qdepth, adapter->drvr_sglimit);
drivers/scsi/BusLogic.c
1809
blogic_info(" Tagged Queue Depth: ", adapter);
drivers/scsi/BusLogic.c
181
adapter->alloc_ccbs++;
drivers/scsi/BusLogic.c
1811
for (tgt_id = 1; tgt_id < adapter->maxdev; tgt_id++)
drivers/scsi/BusLogic.c
1812
if (adapter->qdepth[tgt_id] != adapter->qdepth[0]) {
drivers/scsi/BusLogic.c
1817
if (adapter->qdepth[0] > 0)
drivers/scsi/BusLogic.c
1818
blogic_info("%d", adapter, adapter->qdepth[0]);
drivers/scsi/BusLogic.c
1820
blogic_info("Automatic", adapter);
drivers/scsi/BusLogic.c
1822
blogic_info("Individual", adapter);
drivers/scsi/BusLogic.c
1823
blogic_info(", Untagged Queue Depth: %d\n", adapter,
drivers/scsi/BusLogic.c
1824
adapter->untag_qdepth);
drivers/scsi/BusLogic.c
1825
if (adapter->terminfo_valid) {
drivers/scsi/BusLogic.c
1826
if (adapter->wide)
drivers/scsi/BusLogic.c
1827
blogic_info(" SCSI Bus Termination: %s", adapter,
drivers/scsi/BusLogic.c
1828
(adapter->low_term ? (adapter->high_term ? "Both Enabled" : "Low Enabled") : (adapter->high_term ? "High Enabled" : "Both Disabled")));
drivers/scsi/BusLogic.c
1830
blogic_info(" SCSI Bus Termination: %s", adapter,
drivers/scsi/BusLogic.c
1831
(adapter->low_term ? "Enabled" : "Disabled"));
drivers/scsi/BusLogic.c
1832
if (adapter->scam)
drivers/scsi/BusLogic.c
1833
blogic_info(", SCAM: %s", adapter,
drivers/scsi/BusLogic.c
1834
(adapter->scam_enabled ? (adapter->scam_lev2 ? "Enabled, Level 2" : "Enabled, Level 1") : "Disabled"));
drivers/scsi/BusLogic.c
1835
blogic_info("\n", adapter);
drivers/scsi/BusLogic.c
1850
static bool __init blogic_getres(struct blogic_adapter *adapter)
drivers/scsi/BusLogic.c
1852
if (adapter->irq_ch == 0) {
drivers/scsi/BusLogic.c
1854
adapter);
drivers/scsi/BusLogic.c
1860
if (request_irq(adapter->irq_ch, blogic_inthandler, IRQF_SHARED,
drivers/scsi/BusLogic.c
1861
adapter->full_model, adapter) < 0) {
drivers/scsi/BusLogic.c
1863
adapter, adapter->irq_ch);
drivers/scsi/BusLogic.c
1866
adapter->irq_acquired = true;
drivers/scsi/BusLogic.c
1879
static void blogic_relres(struct blogic_adapter *adapter)
drivers/scsi/BusLogic.c
1884
if (adapter->irq_acquired)
drivers/scsi/BusLogic.c
1885
free_irq(adapter->irq_ch, adapter);
drivers/scsi/BusLogic.c
1889
if (adapter->mbox_space)
drivers/scsi/BusLogic.c
1890
dma_free_coherent(&adapter->pci_device->dev, adapter->mbox_sz,
drivers/scsi/BusLogic.c
1891
adapter->mbox_space, adapter->mbox_space_handle);
drivers/scsi/BusLogic.c
1892
pci_dev_put(adapter->pci_device);
drivers/scsi/BusLogic.c
1893
adapter->mbox_space = NULL;
drivers/scsi/BusLogic.c
1894
adapter->mbox_space_handle = 0;
drivers/scsi/BusLogic.c
1895
adapter->mbox_sz = 0;
drivers/scsi/BusLogic.c
1905
static bool blogic_initadapter(struct blogic_adapter *adapter)
drivers/scsi/BusLogic.c
1916
adapter->firstccb = NULL;
drivers/scsi/BusLogic.c
1917
adapter->lastccb = NULL;
drivers/scsi/BusLogic.c
192
static bool __init blogic_create_initccbs(struct blogic_adapter *adapter)
drivers/scsi/BusLogic.c
1924
for (tgt_id = 0; tgt_id < adapter->maxdev; tgt_id++) {
drivers/scsi/BusLogic.c
1925
adapter->bdr_pend[tgt_id] = NULL;
drivers/scsi/BusLogic.c
1926
adapter->tgt_flags[tgt_id].tagq_active = false;
drivers/scsi/BusLogic.c
1927
adapter->tgt_flags[tgt_id].cmd_good = false;
drivers/scsi/BusLogic.c
1928
adapter->active_cmds[tgt_id] = 0;
drivers/scsi/BusLogic.c
1929
adapter->cmds_since_rst[tgt_id] = 0;
drivers/scsi/BusLogic.c
1935
if (blogic_flashpoint_type(adapter))
drivers/scsi/BusLogic.c
1941
adapter->mbox_sz = adapter->mbox_count * (sizeof(struct blogic_outbox) + sizeof(struct blogic_inbox));
drivers/scsi/BusLogic.c
1942
adapter->mbox_space = dma_alloc_coherent(&adapter->pci_device->dev,
drivers/scsi/BusLogic.c
1943
adapter->mbox_sz, &adapter->mbox_space_handle,
drivers/scsi/BusLogic.c
1945
if (adapter->mbox_space == NULL)
drivers/scsi/BusLogic.c
1946
return blogic_failure(adapter, "MAILBOX ALLOCATION");
drivers/scsi/BusLogic.c
1947
adapter->first_outbox = (struct blogic_outbox *) adapter->mbox_space;
drivers/scsi/BusLogic.c
1948
adapter->last_outbox = adapter->first_outbox + adapter->mbox_count - 1;
drivers/scsi/BusLogic.c
1949
adapter->next_outbox = adapter->first_outbox;
drivers/scsi/BusLogic.c
1950
adapter->first_inbox = (struct blogic_inbox *) (adapter->last_outbox + 1);
drivers/scsi/BusLogic.c
1951
adapter->last_inbox = adapter->first_inbox + adapter->mbox_count - 1;
drivers/scsi/BusLogic.c
1952
adapter->next_inbox = adapter->first_inbox;
drivers/scsi/BusLogic.c
1957
memset(adapter->first_outbox, 0,
drivers/scsi/BusLogic.c
1958
adapter->mbox_count * sizeof(struct blogic_outbox));
drivers/scsi/BusLogic.c
1959
memset(adapter->first_inbox, 0,
drivers/scsi/BusLogic.c
1960
adapter->mbox_count * sizeof(struct blogic_inbox));
drivers/scsi/BusLogic.c
1966
extmbox_req.mbox_count = adapter->mbox_count;
drivers/scsi/BusLogic.c
1967
extmbox_req.base_mbox_addr = (u32) adapter->mbox_space_handle;
drivers/scsi/BusLogic.c
1968
if (blogic_cmd(adapter, BLOGIC_INIT_EXT_MBOX, &extmbox_req,
drivers/scsi/BusLogic.c
1970
return blogic_failure(adapter, "MAILBOX INITIALIZATION");
drivers/scsi/BusLogic.c
1979
if (adapter->strict_rr) {
drivers/scsi/BusLogic.c
198
while (adapter->alloc_ccbs < adapter->initccbs) {
drivers/scsi/BusLogic.c
1981
if (blogic_cmd(adapter, BLOGIC_STRICT_RR, &rr_req,
drivers/scsi/BusLogic.c
1983
return blogic_failure(adapter,
drivers/scsi/BusLogic.c
199
blk_pointer = dma_alloc_coherent(&adapter->pci_device->dev,
drivers/scsi/BusLogic.c
1991
if (adapter->ext_lun) {
drivers/scsi/BusLogic.c
1993
if (blogic_cmd(adapter, BLOGIC_SETCCB_FMT, &setccb_fmt,
drivers/scsi/BusLogic.c
1995
return blogic_failure(adapter, "SET CCB FORMAT");
drivers/scsi/BusLogic.c
2002
if (!adapter->adapter_initd) {
drivers/scsi/BusLogic.c
2003
blogic_info("*** %s Initialized Successfully ***\n", adapter,
drivers/scsi/BusLogic.c
2004
adapter->full_model);
drivers/scsi/BusLogic.c
2005
blogic_info("\n", adapter);
drivers/scsi/BusLogic.c
2007
blogic_warn("*** %s Initialized Successfully ***\n", adapter,
drivers/scsi/BusLogic.c
2008
adapter->full_model);
drivers/scsi/BusLogic.c
2009
adapter->adapter_initd = true;
drivers/scsi/BusLogic.c
2023
static bool __init blogic_inquiry(struct blogic_adapter *adapter)
drivers/scsi/BusLogic.c
203
adapter);
drivers/scsi/BusLogic.c
2038
blogic_delay(adapter->bus_settle_time);
drivers/scsi/BusLogic.c
2042
if (blogic_flashpoint_type(adapter))
drivers/scsi/BusLogic.c
2047
if (adapter->drvr_opts != NULL && adapter->drvr_opts->stop_tgt_inquiry)
drivers/scsi/BusLogic.c
2059
if (strcmp(adapter->fw_ver, "4.25") >= 0) {
drivers/scsi/BusLogic.c
206
blogic_init_ccbs(adapter, blk_pointer, blk_size, blkp);
drivers/scsi/BusLogic.c
2069
if (blogic_cmd(adapter, BLOGIC_INQ_DEV, NULL, 0,
drivers/scsi/BusLogic.c
2072
return blogic_failure(adapter, "INQUIRE TARGET DEVICES");
drivers/scsi/BusLogic.c
2073
for (tgt_id = 0; tgt_id < adapter->maxdev; tgt_id++)
drivers/scsi/BusLogic.c
2074
adapter->tgt_flags[tgt_id].tgt_exists =
drivers/scsi/BusLogic.c
2085
if (blogic_cmd(adapter, BLOGIC_INQ_DEV0TO7, NULL, 0,
drivers/scsi/BusLogic.c
2088
return blogic_failure(adapter,
drivers/scsi/BusLogic.c
2091
adapter->tgt_flags[tgt_id].tgt_exists =
drivers/scsi/BusLogic.c
2098
if (blogic_cmd(adapter, BLOGIC_INQ_SETUPINFO, &req_replylen,
drivers/scsi/BusLogic.c
2101
return blogic_failure(adapter, "INQUIRE SETUP INFORMATION");
drivers/scsi/BusLogic.c
2102
for (tgt_id = 0; tgt_id < adapter->maxdev; tgt_id++)
drivers/scsi/BusLogic.c
2103
adapter->sync_offset[tgt_id] = (tgt_id < 8 ? setupinfo.sync0to7[tgt_id].offset : setupinfo.sync8to15[tgt_id - 8].offset);
drivers/scsi/BusLogic.c
2104
if (strcmp(adapter->fw_ver, "5.06L") >= 0)
drivers/scsi/BusLogic.c
2105
for (tgt_id = 0; tgt_id < adapter->maxdev; tgt_id++)
drivers/scsi/BusLogic.c
2106
adapter->tgt_flags[tgt_id].wide_active = (tgt_id < 8 ? (setupinfo.wide_tx_active0to7 & (1 << tgt_id) ? true : false) : (setupinfo.wide_tx_active8to15 & (1 << (tgt_id - 8)) ? true : false));
drivers/scsi/BusLogic.c
2110
if (adapter->fw_ver[0] >= '3') {
drivers/scsi/BusLogic.c
2118
if (blogic_cmd(adapter, BLOGIC_INQ_SYNC_PERIOD, &req_replylen,
drivers/scsi/BusLogic.c
2121
return blogic_failure(adapter,
drivers/scsi/BusLogic.c
2123
for (tgt_id = 0; tgt_id < adapter->maxdev; tgt_id++)
drivers/scsi/BusLogic.c
2124
adapter->sync_period[tgt_id] = sync_period[tgt_id];
drivers/scsi/BusLogic.c
2126
for (tgt_id = 0; tgt_id < adapter->maxdev; tgt_id++)
drivers/scsi/BusLogic.c
2128
adapter->sync_period[tgt_id] = 20 + 5 * setupinfo.sync0to7[tgt_id].tx_period;
drivers/scsi/BusLogic.c
2144
static void __init blogic_inithoststruct(struct blogic_adapter *adapter,
drivers/scsi/BusLogic.c
2147
host->max_id = adapter->maxdev;
drivers/scsi/BusLogic.c
2148
host->max_lun = adapter->maxlun;
drivers/scsi/BusLogic.c
2150
host->unique_id = adapter->io_addr;
drivers/scsi/BusLogic.c
2151
host->this_id = adapter->scsi_id;
drivers/scsi/BusLogic.c
2152
host->can_queue = adapter->drvr_qdepth;
drivers/scsi/BusLogic.c
2153
host->sg_tablesize = adapter->drvr_sglimit;
drivers/scsi/BusLogic.c
2154
host->cmd_per_lun = adapter->untag_qdepth;
drivers/scsi/BusLogic.c
216
static void blogic_destroy_ccbs(struct blogic_adapter *adapter)
drivers/scsi/BusLogic.c
2168
struct blogic_adapter *adapter =
drivers/scsi/BusLogic.c
2171
int qdepth = adapter->qdepth[tgt_id];
drivers/scsi/BusLogic.c
2173
if (adapter->tgt_flags[tgt_id].tagq_ok &&
drivers/scsi/BusLogic.c
2174
(adapter->tagq_ok & (1 << tgt_id))) {
drivers/scsi/BusLogic.c
2177
adapter->qdepth[tgt_id] = qdepth;
drivers/scsi/BusLogic.c
218
struct blogic_ccb *next_ccb = adapter->all_ccbs, *ccb, *lastccb = NULL;
drivers/scsi/BusLogic.c
2180
adapter->tagq_ok &= ~(1 << tgt_id);
drivers/scsi/BusLogic.c
2181
qdepth = adapter->untag_qdepth;
drivers/scsi/BusLogic.c
2182
adapter->qdepth[tgt_id] = qdepth;
drivers/scsi/BusLogic.c
2186
for (tgt_id = 0; tgt_id < adapter->maxdev; tgt_id++)
drivers/scsi/BusLogic.c
2187
if (adapter->tgt_flags[tgt_id].tgt_exists)
drivers/scsi/BusLogic.c
2188
qdepth += adapter->qdepth[tgt_id];
drivers/scsi/BusLogic.c
2189
if (qdepth > adapter->alloc_ccbs)
drivers/scsi/BusLogic.c
219
adapter->all_ccbs = NULL;
drivers/scsi/BusLogic.c
2190
blogic_create_addlccbs(adapter, qdepth - adapter->alloc_ccbs,
drivers/scsi/BusLogic.c
220
adapter->free_ccbs = NULL;
drivers/scsi/BusLogic.c
2206
struct blogic_adapter *adapter;
drivers/scsi/BusLogic.c
2224
adapter = kzalloc_obj(struct blogic_adapter);
drivers/scsi/BusLogic.c
2225
if (adapter == NULL) {
drivers/scsi/BusLogic.c
2235
blogic_init_probeinfo_list(adapter);
drivers/scsi/BusLogic.c
2239
struct blogic_adapter *myadapter = adapter;
drivers/scsi/BusLogic.c
225
dma_free_coherent(&adapter->pci_device->dev,
drivers/scsi/BusLogic.c
2312
memcpy(myadapter, adapter, sizeof(struct blogic_adapter));
drivers/scsi/BusLogic.c
232
dma_free_coherent(&adapter->pci_device->dev,
drivers/scsi/BusLogic.c
2395
kfree(adapter);
drivers/scsi/BusLogic.c
2408
static int __exit blogic_deladapter(struct blogic_adapter *adapter)
drivers/scsi/BusLogic.c
2410
struct Scsi_Host *host = adapter->scsi_host;
drivers/scsi/BusLogic.c
2418
if (blogic_flashpoint_type(adapter))
drivers/scsi/BusLogic.c
2419
FlashPoint_ReleaseHostAdapter(adapter->cardhandle);
drivers/scsi/BusLogic.c
2424
blogic_destroy_ccbs(adapter);
drivers/scsi/BusLogic.c
2425
blogic_relres(adapter);
drivers/scsi/BusLogic.c
2429
release_region(adapter->io_addr, adapter->addr_count);
drivers/scsi/BusLogic.c
2434
list_del(&adapter->host_list);
drivers/scsi/BusLogic.c
2447
struct blogic_adapter *adapter = ccb->adapter;
drivers/scsi/BusLogic.c
245
static void blogic_create_addlccbs(struct blogic_adapter *adapter,
drivers/scsi/BusLogic.c
2451
if (adapter->firstccb == NULL) {
drivers/scsi/BusLogic.c
2452
adapter->firstccb = ccb;
drivers/scsi/BusLogic.c
2453
adapter->lastccb = ccb;
drivers/scsi/BusLogic.c
2455
adapter->lastccb->next = ccb;
drivers/scsi/BusLogic.c
2456
adapter->lastccb = ccb;
drivers/scsi/BusLogic.c
2458
adapter->active_cmds[ccb->tgt_id]--;
drivers/scsi/BusLogic.c
2467
static int blogic_resultcode(struct blogic_adapter *adapter,
drivers/scsi/BusLogic.c
2486
adapter, adapter_status);
drivers/scsi/BusLogic.c
249
int prev_alloc = adapter->alloc_ccbs;
drivers/scsi/BusLogic.c
2511
blogic_warn("Unknown Host Adapter Status 0x%02X\n", adapter,
drivers/scsi/BusLogic.c
2524
blogic_inbox_to_ccb(struct blogic_adapter *adapter, struct blogic_inbox *inbox)
drivers/scsi/BusLogic.c
2528
for (ccb = adapter->all_ccbs; ccb; ccb = ccb->next_all)
drivers/scsi/BusLogic.c
2539
static void blogic_scan_inbox(struct blogic_adapter *adapter)
drivers/scsi/BusLogic.c
254
while (adapter->alloc_ccbs - prev_alloc < addl_ccbs) {
drivers/scsi/BusLogic.c
255
blk_pointer = dma_alloc_coherent(&adapter->pci_device->dev,
drivers/scsi/BusLogic.c
2554
struct blogic_inbox *next_inbox = adapter->next_inbox;
drivers/scsi/BusLogic.c
2558
struct blogic_ccb *ccb = blogic_inbox_to_ccb(adapter, next_inbox);
drivers/scsi/BusLogic.c
2564
blogic_warn("Could not find CCB for dma address %x\n", adapter, next_inbox->ccb);
drivers/scsi/BusLogic.c
2581
blogic_warn("Illegal CCB #%ld status %d in Incoming Mailbox\n", adapter, ccb->serial, ccb->status);
drivers/scsi/BusLogic.c
2585
if (++next_inbox > adapter->last_inbox)
drivers/scsi/BusLogic.c
2586
next_inbox = adapter->first_inbox;
drivers/scsi/BusLogic.c
2588
adapter->next_inbox = next_inbox;
drivers/scsi/BusLogic.c
259
blogic_init_ccbs(adapter, blk_pointer, blk_size, blkp);
drivers/scsi/BusLogic.c
2599
static void blogic_process_ccbs(struct blogic_adapter *adapter)
drivers/scsi/BusLogic.c
2601
if (adapter->processing_ccbs)
drivers/scsi/BusLogic.c
2603
adapter->processing_ccbs = true;
drivers/scsi/BusLogic.c
2604
while (adapter->firstccb != NULL) {
drivers/scsi/BusLogic.c
2605
struct blogic_ccb *ccb = adapter->firstccb;
drivers/scsi/BusLogic.c
2607
adapter->firstccb = ccb->next;
drivers/scsi/BusLogic.c
2608
if (adapter->firstccb == NULL)
drivers/scsi/BusLogic.c
2609
adapter->lastccb = NULL;
drivers/scsi/BusLogic.c
261
if (adapter->alloc_ccbs > prev_alloc) {
drivers/scsi/BusLogic.c
2616
blogic_warn("Bus Device Reset CCB #%ld to Target %d Completed\n", adapter, ccb->serial, tgt_id);
drivers/scsi/BusLogic.c
2617
blogic_inc_count(&adapter->tgt_stats[tgt_id].bdr_done);
drivers/scsi/BusLogic.c
2618
adapter->tgt_flags[tgt_id].tagq_active = false;
drivers/scsi/BusLogic.c
2619
adapter->cmds_since_rst[tgt_id] = 0;
drivers/scsi/BusLogic.c
2620
adapter->last_resetdone[tgt_id] = jiffies;
drivers/scsi/BusLogic.c
263
blogic_notice("Allocated %d additional CCBs (total now %d)\n", adapter, adapter->alloc_ccbs - prev_alloc, adapter->alloc_ccbs);
drivers/scsi/BusLogic.c
2648
for (ccb = adapter->all_ccbs; ccb != NULL;
drivers/scsi/BusLogic.c
2654
adapter->active_cmds[tgt_id]--;
drivers/scsi/BusLogic.c
2658
adapter->bdr_pend[tgt_id] = NULL;
drivers/scsi/BusLogic.c
266
blogic_notice("Failed to allocate additional CCBs\n", adapter);
drivers/scsi/BusLogic.c
2669
blogic_warn("CCB #%ld to Target %d Impossible State\n", adapter, ccb->serial, ccb->tgt_id);
drivers/scsi/BusLogic.c
267
if (adapter->drvr_qdepth > adapter->alloc_ccbs - adapter->tgt_count) {
drivers/scsi/BusLogic.c
2672
adapter->tgt_stats[ccb->tgt_id]
drivers/scsi/BusLogic.c
2674
adapter->tgt_flags[ccb->tgt_id]
drivers/scsi/BusLogic.c
268
adapter->drvr_qdepth = adapter->alloc_ccbs - adapter->tgt_count;
drivers/scsi/BusLogic.c
2680
adapter, ccb->serial, ccb->tgt_id);
drivers/scsi/BusLogic.c
2681
blogic_inc_count(&adapter->tgt_stats[ccb->tgt_id].aborts_done);
drivers/scsi/BusLogic.c
2685
command->result = blogic_resultcode(adapter,
drivers/scsi/BusLogic.c
2688
adapter->tgt_stats[ccb->tgt_id]
drivers/scsi/BusLogic.c
269
adapter->scsi_host->can_queue = adapter->drvr_qdepth;
drivers/scsi/BusLogic.c
2693
"Adapter Status %02X Target Status %02X\n", adapter, ccb->serial, ccb->tgt_id, command->result, ccb->adapter_status, ccb->tgt_status);
drivers/scsi/BusLogic.c
2694
blogic_notice("CDB ", adapter);
drivers/scsi/BusLogic.c
2696
blogic_notice(" %02X", adapter, ccb->cdb[i]);
drivers/scsi/BusLogic.c
2697
blogic_notice("\n", adapter);
drivers/scsi/BusLogic.c
2698
blogic_notice("Sense ", adapter);
drivers/scsi/BusLogic.c
2700
blogic_notice(" %02X", adapter, command->sense_buffer[i]);
drivers/scsi/BusLogic.c
2701
blogic_notice("\n", adapter);
drivers/scsi/BusLogic.c
2714
&adapter->tgt_flags[ccb->tgt_id];
drivers/scsi/BusLogic.c
2731
adapter->processing_ccbs = false;
drivers/scsi/BusLogic.c
2742
struct blogic_adapter *adapter = (struct blogic_adapter *) devid;
drivers/scsi/BusLogic.c
2747
spin_lock_irqsave(adapter->scsi_host->host_lock, processor_flag);
drivers/scsi/BusLogic.c
2751
if (blogic_multimaster_type(adapter)) {
drivers/scsi/BusLogic.c
2756
intreg.all = blogic_rdint(adapter);
drivers/scsi/BusLogic.c
2762
blogic_intreset(adapter);
drivers/scsi/BusLogic.c
2770
adapter->adapter_extreset = true;
drivers/scsi/BusLogic.c
2772
blogic_scan_inbox(adapter);
drivers/scsi/BusLogic.c
2774
adapter->adapter_cmd_complete = true;
drivers/scsi/BusLogic.c
2780
if (FlashPoint_InterruptPending(adapter->cardhandle))
drivers/scsi/BusLogic.c
2781
switch (FlashPoint_HandleInterrupt(adapter->cardhandle)) {
drivers/scsi/BusLogic.c
2785
adapter->adapter_extreset = true;
drivers/scsi/BusLogic.c
2788
blogic_warn("Internal FlashPoint Error detected - Resetting Host Adapter\n", adapter);
drivers/scsi/BusLogic.c
2789
adapter->adapter_intern_err = true;
drivers/scsi/BusLogic.c
279
static struct blogic_ccb *blogic_alloc_ccb(struct blogic_adapter *adapter)
drivers/scsi/BusLogic.c
2796
if (adapter->firstccb != NULL)
drivers/scsi/BusLogic.c
2797
blogic_process_ccbs(adapter);
drivers/scsi/BusLogic.c
2801
if (adapter->adapter_extreset) {
drivers/scsi/BusLogic.c
2802
blogic_warn("Resetting %s due to External SCSI Bus Reset\n", adapter, adapter->full_model);
drivers/scsi/BusLogic.c
2803
blogic_inc_count(&adapter->ext_resets);
drivers/scsi/BusLogic.c
2804
blogic_resetadapter(adapter, false);
drivers/scsi/BusLogic.c
2805
adapter->adapter_extreset = false;
drivers/scsi/BusLogic.c
2806
} else if (adapter->adapter_intern_err) {
drivers/scsi/BusLogic.c
2807
blogic_warn("Resetting %s due to Host Adapter Internal Error\n", adapter, adapter->full_model);
drivers/scsi/BusLogic.c
2808
blogic_inc_count(&adapter->adapter_intern_errors);
drivers/scsi/BusLogic.c
2809
blogic_resetadapter(adapter, true);
drivers/scsi/BusLogic.c
2810
adapter->adapter_intern_err = false;
drivers/scsi/BusLogic.c
2815
spin_unlock_irqrestore(adapter->scsi_host->host_lock, processor_flag);
drivers/scsi/BusLogic.c
2826
static bool blogic_write_outbox(struct blogic_adapter *adapter,
drivers/scsi/BusLogic.c
283
ccb = adapter->free_ccbs;
drivers/scsi/BusLogic.c
2831
next_outbox = adapter->next_outbox;
drivers/scsi/BusLogic.c
2842
blogic_execmbox(adapter);
drivers/scsi/BusLogic.c
2843
if (++next_outbox > adapter->last_outbox)
drivers/scsi/BusLogic.c
2844
next_outbox = adapter->first_outbox;
drivers/scsi/BusLogic.c
2845
adapter->next_outbox = next_outbox;
drivers/scsi/BusLogic.c
2847
adapter->active_cmds[ccb->tgt_id]++;
drivers/scsi/BusLogic.c
2849
adapter->tgt_stats[ccb->tgt_id].cmds_tried++;
drivers/scsi/BusLogic.c
286
adapter->free_ccbs = ccb->next;
drivers/scsi/BusLogic.c
2860
struct blogic_adapter *adapter =
drivers/scsi/BusLogic.c
2864
struct blogic_tgt_stats *stats = &adapter->tgt_stats[id];
drivers/scsi/BusLogic.c
2871
rc = blogic_resetadapter(adapter, false);
drivers/scsi/BusLogic.c
288
if (adapter->free_ccbs == NULL)
drivers/scsi/BusLogic.c
2884
struct blogic_adapter *adapter =
drivers/scsi/BusLogic.c
2887
&adapter->tgt_flags[command->device->id];
drivers/scsi/BusLogic.c
2888
struct blogic_tgt_stats *tgt_stats = adapter->tgt_stats;
drivers/scsi/BusLogic.c
289
blogic_create_addlccbs(adapter, adapter->inc_ccbs,
drivers/scsi/BusLogic.c
2916
ccb = blogic_alloc_ccb(adapter);
drivers/scsi/BusLogic.c
2918
spin_unlock_irq(adapter->scsi_host->host_lock);
drivers/scsi/BusLogic.c
2920
spin_lock_irq(adapter->scsi_host->host_lock);
drivers/scsi/BusLogic.c
2921
ccb = blogic_alloc_ccb(adapter);
drivers/scsi/BusLogic.c
293
blogic_create_addlccbs(adapter, adapter->inc_ccbs, true);
drivers/scsi/BusLogic.c
294
ccb = adapter->free_ccbs;
drivers/scsi/BusLogic.c
2940
if (blogic_multimaster_type(adapter))
drivers/scsi/BusLogic.c
298
adapter->free_ccbs = ccb->next;
drivers/scsi/BusLogic.c
2999
if (adapter->cmds_since_rst[tgt_id]++ >= BLOGIC_MAX_TAG_DEPTH &&
drivers/scsi/BusLogic.c
3001
adapter->active_cmds[tgt_id] == 0
drivers/scsi/BusLogic.c
3003
(adapter->tagq_ok & (1 << tgt_id))) {
drivers/scsi/BusLogic.c
3006
adapter, tgt_id);
drivers/scsi/BusLogic.c
3025
if (adapter->active_cmds[tgt_id] == 0)
drivers/scsi/BusLogic.c
3026
adapter->last_seqpoint[tgt_id] = jiffies;
drivers/scsi/BusLogic.c
3028
adapter->last_seqpoint[tgt_id] + 4 * HZ)) {
drivers/scsi/BusLogic.c
3029
adapter->last_seqpoint[tgt_id] = jiffies;
drivers/scsi/BusLogic.c
3032
if (adapter->ext_lun) {
drivers/scsi/BusLogic.c
3043
sense_buf = dma_map_single(&adapter->pci_device->dev,
drivers/scsi/BusLogic.c
3046
if (dma_mapping_error(&adapter->pci_device->dev, sense_buf)) {
drivers/scsi/BusLogic.c
3048
adapter);
drivers/scsi/BusLogic.c
3053
if (blogic_multimaster_type(adapter)) {
drivers/scsi/BusLogic.c
3064
if (!blogic_write_outbox(adapter, BLOGIC_MBOX_START, ccb)) {
drivers/scsi/BusLogic.c
3065
spin_unlock_irq(adapter->scsi_host->host_lock);
drivers/scsi/BusLogic.c
3066
blogic_warn("Unable to write Outgoing Mailbox - Pausing for 1 second\n", adapter);
drivers/scsi/BusLogic.c
3068
spin_lock_irq(adapter->scsi_host->host_lock);
drivers/scsi/BusLogic.c
3069
if (!blogic_write_outbox(adapter, BLOGIC_MBOX_START,
drivers/scsi/BusLogic.c
3071
blogic_warn("Still unable to write Outgoing Mailbox - Host Adapter Dead?\n", adapter);
drivers/scsi/BusLogic.c
3083
adapter->active_cmds[tgt_id]++;
drivers/scsi/BusLogic.c
3085
FlashPoint_StartCCB(adapter->cardhandle, ccb);
drivers/scsi/BusLogic.c
3092
blogic_process_ccbs(adapter);
drivers/scsi/BusLogic.c
3106
struct blogic_adapter *adapter =
drivers/scsi/BusLogic.c
3111
blogic_inc_count(&adapter->tgt_stats[tgt_id].aborts_request);
drivers/scsi/BusLogic.c
3117
for (ccb = adapter->all_ccbs; ccb != NULL; ccb = ccb->next_all)
drivers/scsi/BusLogic.c
312
struct blogic_adapter *adapter = ccb->adapter;
drivers/scsi/BusLogic.c
3121
blogic_warn("Unable to Abort Command to Target %d - No CCB Found\n", adapter, tgt_id);
drivers/scsi/BusLogic.c
3124
blogic_warn("Unable to Abort Command to Target %d - CCB Completed\n", adapter, tgt_id);
drivers/scsi/BusLogic.c
3127
blogic_warn("Unable to Abort Command to Target %d - CCB Reset\n", adapter, tgt_id);
drivers/scsi/BusLogic.c
3130
if (blogic_multimaster_type(adapter)) {
drivers/scsi/BusLogic.c
3143
if (adapter->tgt_flags[tgt_id].tagq_active &&
drivers/scsi/BusLogic.c
3144
adapter->fw_ver[0] < '5') {
drivers/scsi/BusLogic.c
3145
blogic_warn("Unable to Abort CCB #%ld to Target %d - Abort Tag Not Supported\n", adapter, ccb->serial, tgt_id);
drivers/scsi/BusLogic.c
3147
} else if (blogic_write_outbox(adapter, BLOGIC_MBOX_ABORT,
drivers/scsi/BusLogic.c
3150
adapter, ccb->serial, tgt_id);
drivers/scsi/BusLogic.c
3151
blogic_inc_count(&adapter->tgt_stats[tgt_id].aborts_tried);
drivers/scsi/BusLogic.c
3154
blogic_warn("Unable to Abort CCB #%ld to Target %d - No Outgoing Mailboxes\n", adapter, ccb->serial, tgt_id);
drivers/scsi/BusLogic.c
3162
blogic_warn("Aborting CCB #%ld to Target %d\n", adapter,
drivers/scsi/BusLogic.c
3164
blogic_inc_count(&adapter->tgt_stats[tgt_id].aborts_tried);
drivers/scsi/BusLogic.c
3165
FlashPoint_AbortCCB(adapter->cardhandle, ccb);
drivers/scsi/BusLogic.c
317
dma_unmap_single(&adapter->pci_device->dev, ccb->sensedata,
drivers/scsi/BusLogic.c
3172
blogic_process_ccbs(adapter);
drivers/scsi/BusLogic.c
3184
static int blogic_resetadapter(struct blogic_adapter *adapter, bool hard_reset)
drivers/scsi/BusLogic.c
3193
if (!(blogic_hwreset(adapter, hard_reset) &&
drivers/scsi/BusLogic.c
3194
blogic_initadapter(adapter))) {
drivers/scsi/BusLogic.c
3195
blogic_err("Resetting %s Failed\n", adapter,
drivers/scsi/BusLogic.c
3196
adapter->full_model);
drivers/scsi/BusLogic.c
3204
for (ccb = adapter->all_ccbs; ccb != NULL; ccb = ccb->next_all)
drivers/scsi/BusLogic.c
3215
spin_unlock_irq(adapter->scsi_host->host_lock);
drivers/scsi/BusLogic.c
3216
blogic_delay(adapter->bus_settle_time);
drivers/scsi/BusLogic.c
3217
spin_lock_irq(adapter->scsi_host->host_lock);
drivers/scsi/BusLogic.c
322
ccb->next = adapter->free_ccbs;
drivers/scsi/BusLogic.c
3220
for (tgt_id = 0; tgt_id < adapter->maxdev; tgt_id++) {
drivers/scsi/BusLogic.c
3221
adapter->last_resettried[tgt_id] = jiffies;
drivers/scsi/BusLogic.c
3222
adapter->last_resetdone[tgt_id] = jiffies;
drivers/scsi/BusLogic.c
323
adapter->free_ccbs = ccb;
drivers/scsi/BusLogic.c
3247
struct blogic_adapter *adapter =
drivers/scsi/BusLogic.c
3252
if (adapter->ext_trans_enable && capacity >= 2 * 1024 * 1024 /* 1 GB in 512 byte sectors */) {
drivers/scsi/BusLogic.c
3305
blogic_warn("Adopting Geometry %d/%d from Partition Table\n", adapter, diskparam->heads, diskparam->sectors);
drivers/scsi/BusLogic.c
3307
blogic_warn("Warning: Partition Table appears to have Geometry %d/%d which is\n", adapter, part_end_head + 1, part_end_sector);
drivers/scsi/BusLogic.c
3308
blogic_warn("not compatible with current BusLogic Host Adapter Geometry %d/%d\n", adapter, diskparam->heads, diskparam->sectors);
drivers/scsi/BusLogic.c
3323
struct blogic_adapter *adapter =
drivers/scsi/BusLogic.c
3327
tgt_stats = adapter->tgt_stats;
drivers/scsi/BusLogic.c
3328
adapter->ext_resets = 0;
drivers/scsi/BusLogic.c
3329
adapter->adapter_intern_errors = 0;
drivers/scsi/BusLogic.c
3336
struct blogic_adapter *adapter = (struct blogic_adapter *) shost->hostdata;
drivers/scsi/BusLogic.c
3340
tgt_stats = adapter->tgt_stats;
drivers/scsi/BusLogic.c
3341
seq_write(m, adapter->msgbuf, adapter->msgbuflen);
drivers/scsi/BusLogic.c
3344
Currently Allocated CCBs: %d\n", adapter->drvr_qdepth, adapter->alloc_ccbs);
drivers/scsi/BusLogic.c
3350
for (tgt = 0; tgt < adapter->maxdev; tgt++) {
drivers/scsi/BusLogic.c
3351
struct blogic_tgt_flags *tgt_flags = &adapter->tgt_flags[tgt];
drivers/scsi/BusLogic.c
3354
seq_printf(m, " %2d %s", tgt, (tgt_flags->tagq_ok ? (tgt_flags->tagq_active ? " Active" : (adapter->tagq_ok & (1 << tgt)
drivers/scsi/BusLogic.c
3358
" %3d %3u %9u %9u\n", adapter->qdepth[tgt], adapter->active_cmds[tgt], tgt_stats[tgt].cmds_tried, tgt_stats[tgt].cmds_complete);
drivers/scsi/BusLogic.c
3363
for (tgt = 0; tgt < adapter->maxdev; tgt++) {
drivers/scsi/BusLogic.c
3364
struct blogic_tgt_flags *tgt_flags = &adapter->tgt_flags[tgt];
drivers/scsi/BusLogic.c
3380
for (tgt = 0; tgt < adapter->maxdev; tgt++) {
drivers/scsi/BusLogic.c
3381
struct blogic_tgt_flags *tgt_flags = &adapter->tgt_flags[tgt];
drivers/scsi/BusLogic.c
3396
for (tgt = 0; tgt < adapter->maxdev; tgt++) {
drivers/scsi/BusLogic.c
3397
struct blogic_tgt_flags *tgt_flags = &adapter->tgt_flags[tgt];
drivers/scsi/BusLogic.c
3416
for (tgt = 0; tgt < adapter->maxdev; tgt++) {
drivers/scsi/BusLogic.c
3417
struct blogic_tgt_flags *tgt_flags = &adapter->tgt_flags[tgt];
drivers/scsi/BusLogic.c
3431
seq_printf(m, "\nExternal Host Adapter Resets: %d\n", adapter->ext_resets);
drivers/scsi/BusLogic.c
3432
seq_printf(m, "Host Adapter Internal Errors: %d\n", adapter->adapter_intern_errors);
drivers/scsi/BusLogic.c
3442
struct blogic_adapter *adapter, ...)
drivers/scsi/BusLogic.c
3449
va_start(args, adapter);
drivers/scsi/BusLogic.c
345
static int blogic_cmd(struct blogic_adapter *adapter, enum blogic_opcode opcode,
drivers/scsi/BusLogic.c
3454
strcpy(&adapter->msgbuf[adapter->msgbuflen], buf);
drivers/scsi/BusLogic.c
3455
adapter->msgbuflen += len;
drivers/scsi/BusLogic.c
3459
strcpy(&adapter->msgbuf[adapter->msgbuflen], buf);
drivers/scsi/BusLogic.c
3460
adapter->msgbuflen += len;
drivers/scsi/BusLogic.c
3463
printk("%sscsi%d: %s", blogic_msglevelmap[msglevel], adapter->host_no, buf);
drivers/scsi/BusLogic.c
3468
if (adapter != NULL && adapter->adapter_initd)
drivers/scsi/BusLogic.c
3469
printk("%sscsi%d: %s", blogic_msglevelmap[msglevel], adapter->host_no, buf);
drivers/scsi/BusLogic.c
367
if (!adapter->irq_acquired)
drivers/scsi/BusLogic.c
376
statusreg.all = blogic_rdstatus(adapter);
drivers/scsi/BusLogic.c
390
adapter->adapter_cmd_complete = false;
drivers/scsi/BusLogic.c
391
blogic_setcmdparam(adapter, opcode);
drivers/scsi/BusLogic.c
413
intreg.all = blogic_rdint(adapter);
drivers/scsi/BusLogic.c
414
statusreg.all = blogic_rdstatus(adapter);
drivers/scsi/BusLogic.c
417
if (adapter->adapter_cmd_complete)
drivers/scsi/BusLogic.c
423
blogic_setcmdparam(adapter, *param_p++);
drivers/scsi/BusLogic.c
437
statusreg.all = blogic_rdstatus(adapter);
drivers/scsi/BusLogic.c
445
blogic_notice("blogic_cmd(%02X) Status = %02X: (Modify I/O Address)\n", adapter, opcode, statusreg.all);
drivers/scsi/BusLogic.c
471
intreg.all = blogic_rdint(adapter);
drivers/scsi/BusLogic.c
472
statusreg.all = blogic_rdstatus(adapter);
drivers/scsi/BusLogic.c
475
if (adapter->adapter_cmd_complete)
drivers/scsi/BusLogic.c
479
*reply_p++ = blogic_rddatain(adapter);
drivers/scsi/BusLogic.c
481
blogic_rddatain(adapter);
drivers/scsi/BusLogic.c
497
blogic_intreset(adapter);
drivers/scsi/BusLogic.c
504
adapter, opcode, statusreg.all, replylen,
drivers/scsi/BusLogic.c
509
blogic_notice(" %02X", adapter,
drivers/scsi/BusLogic.c
511
blogic_notice("\n", adapter);
drivers/scsi/BusLogic.c
527
statusreg.all = blogic_rdstatus(adapter);
drivers/scsi/BusLogic.c
535
blogic_softreset(adapter);
drivers/scsi/BusLogic.c
559
if (!adapter->irq_acquired)
drivers/scsi/BusLogic.c
609
static int __init blogic_init_mm_probeinfo(struct blogic_adapter *adapter)
drivers/scsi/BusLogic.c
640
struct blogic_adapter *host_adapter = adapter;
drivers/scsi/BusLogic.c
831
static int __init blogic_init_fp_probeinfo(struct blogic_adapter *adapter)
drivers/scsi/BusLogic.c
924
blogic_init_probeinfo_list(struct blogic_adapter *adapter)
drivers/scsi/BusLogic.c
933
blogic_init_mm_probeinfo(adapter);
drivers/scsi/BusLogic.c
934
blogic_init_fp_probeinfo(adapter);
drivers/scsi/BusLogic.c
936
blogic_init_fp_probeinfo(adapter);
drivers/scsi/BusLogic.c
937
blogic_init_mm_probeinfo(adapter);
drivers/scsi/BusLogic.c
939
int fpcount = blogic_init_fp_probeinfo(adapter);
drivers/scsi/BusLogic.c
940
int mmcount = blogic_init_mm_probeinfo(adapter);
drivers/scsi/BusLogic.c
944
struct blogic_adapter *myadapter = adapter;
drivers/scsi/BusLogic.c
992
static bool blogic_failure(struct blogic_adapter *adapter, char *msg)
drivers/scsi/BusLogic.c
994
blogic_announce_drvr(adapter);
drivers/scsi/BusLogic.c
995
if (adapter->adapter_bus_type == BLOGIC_PCI_BUS) {
drivers/scsi/BusLogic.c
997
adapter);
drivers/scsi/BusLogic.c
998
blogic_err("Bus %d Device %d I/O Address 0x%lX PCI Address 0x%lX:\n", adapter, adapter->bus, adapter->dev, adapter->io_addr, adapter->pci_addr);
drivers/scsi/BusLogic.h
1118
static inline void blogic_busreset(struct blogic_adapter *adapter)
drivers/scsi/BusLogic.h
1123
outb(cr.all, adapter->io_addr + BLOGIC_CNTRL_REG);
drivers/scsi/BusLogic.h
1126
static inline void blogic_intreset(struct blogic_adapter *adapter)
drivers/scsi/BusLogic.h
1131
outb(cr.all, adapter->io_addr + BLOGIC_CNTRL_REG);
drivers/scsi/BusLogic.h
1134
static inline void blogic_softreset(struct blogic_adapter *adapter)
drivers/scsi/BusLogic.h
1139
outb(cr.all, adapter->io_addr + BLOGIC_CNTRL_REG);
drivers/scsi/BusLogic.h
1142
static inline void blogic_hardreset(struct blogic_adapter *adapter)
drivers/scsi/BusLogic.h
1147
outb(cr.all, adapter->io_addr + BLOGIC_CNTRL_REG);
drivers/scsi/BusLogic.h
1150
static inline unsigned char blogic_rdstatus(struct blogic_adapter *adapter)
drivers/scsi/BusLogic.h
1152
return inb(adapter->io_addr + BLOGIC_STATUS_REG);
drivers/scsi/BusLogic.h
1155
static inline void blogic_setcmdparam(struct blogic_adapter *adapter,
drivers/scsi/BusLogic.h
1158
outb(value, adapter->io_addr + BLOGIC_CMD_PARM_REG);
drivers/scsi/BusLogic.h
1161
static inline unsigned char blogic_rddatain(struct blogic_adapter *adapter)
drivers/scsi/BusLogic.h
1163
return inb(adapter->io_addr + BLOGIC_DATAIN_REG);
drivers/scsi/BusLogic.h
1166
static inline unsigned char blogic_rdint(struct blogic_adapter *adapter)
drivers/scsi/BusLogic.h
1168
return inb(adapter->io_addr + BLOGIC_INT_REG);
drivers/scsi/BusLogic.h
1171
static inline unsigned char blogic_rdgeom(struct blogic_adapter *adapter)
drivers/scsi/BusLogic.h
1173
return inb(adapter->io_addr + BLOGIC_GEOMETRY_REG);
drivers/scsi/BusLogic.h
1182
static inline void blogic_execmbox(struct blogic_adapter *adapter)
drivers/scsi/BusLogic.h
1184
blogic_setcmdparam(adapter, BLOGIC_EXEC_MBOX_CMD);
drivers/scsi/BusLogic.h
159
#define blogic_multimaster_type(adapter) \
drivers/scsi/BusLogic.h
160
(adapter->adapter_type == BLOGIC_MULTIMASTER)
drivers/scsi/BusLogic.h
162
#define blogic_flashpoint_type(adapter) \
drivers/scsi/BusLogic.h
163
(adapter->adapter_type == BLOGIC_FLASHPOINT)
drivers/scsi/BusLogic.h
167
#define blogic_multimaster_type(adapter) (true)
drivers/scsi/BusLogic.h
168
#define blogic_flashpoint_type(adapter) (false)
drivers/scsi/BusLogic.h
846
struct blogic_adapter *adapter;
drivers/scsi/bfa/bfa_defs_svc.h
1434
struct bfa_adapter_aen_data_s adapter;
drivers/scsi/cxgbi/cxgb3i/cxgb3i.c
1306
struct adapter *adapter = tdev2adap(t3dev);
drivers/scsi/cxgbi/cxgb3i/cxgb3i.c
1314
cdev = cxgbi_device_register(0, adapter->params.nports);
drivers/scsi/cxgbi/cxgb3i/cxgb3i.c
1322
cdev->pdev = adapter->pdev;
drivers/scsi/cxgbi/cxgb3i/cxgb3i.c
1323
cdev->ports = adapter->port;
drivers/scsi/cxgbi/cxgb3i/cxgb3i.c
1324
cdev->nports = adapter->params.nports;
drivers/scsi/cxgbi/cxgb3i/cxgb3i.c
1325
cdev->mtus = adapter->params.mtus;
drivers/scsi/cxgbi/cxgb4i/cxgb4i.c
2196
static bool is_memfree(struct adapter *adap)
drivers/scsi/cxgbi/cxgb4i/cxgb4i.c
2216
struct adapter *adap;
drivers/scsi/esas2r/atioctl.h
661
void *adapter;
drivers/scsi/esas2r/esas2r.h
1168
sgc->adapter = a;
drivers/scsi/esas2r/esas2r.h
601
struct esas2r_adapter *adapter;
drivers/scsi/esas2r/esas2r_disc.c
1032
struct esas2r_adapter *a = sgc->adapter;
drivers/scsi/esas2r/esas2r_ioctl.c
103
struct esas2r_adapter *a = (struct esas2r_adapter *)sgc->adapter;
drivers/scsi/esas2r/esas2r_ioctl.c
1471
ioctl->data.modinfo.adapter = a;
drivers/scsi/esas2r/esas2r_ioctl.c
1811
struct esas2r_adapter *a = (struct esas2r_adapter *)sgc->adapter;
drivers/scsi/esas2r/esas2r_ioctl.c
1847
sgc.adapter = a;
drivers/scsi/esas2r/esas2r_ioctl.c
1930
struct esas2r_adapter *a = (struct esas2r_adapter *)sgc->adapter;
drivers/scsi/esas2r/esas2r_ioctl.c
94
struct esas2r_adapter *a = (struct esas2r_adapter *)sgc->adapter;
drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.c
2821
struct scsi_info *vscsi = cmd->adapter;
drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.c
2877
cmd->adapter = vscsi;
drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.c
3702
struct scsi_info *vscsi = cmd->adapter;
drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.c
3715
struct scsi_info *vscsi = cmd->adapter;
drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.c
3750
struct scsi_info *vscsi = cmd->adapter;
drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.c
3776
struct scsi_info *vscsi = cmd->adapter;
drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.c
3792
struct scsi_info *vscsi = cmd->adapter;
drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.c
3824
struct scsi_info *vscsi = cmd->adapter;
drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.h
161
struct scsi_info *adapter;
drivers/scsi/megaraid.c
1016
mega_prepare_extpassthru(adapter_t *adapter, scb_t *scb,
drivers/scsi/megaraid.c
1032
epthru->channel = (adapter->flag & BOARD_40LD) ? 0 : channel;
drivers/scsi/megaraid.c
1033
epthru->target = (adapter->flag & BOARD_40LD) ?
drivers/scsi/megaraid.c
1047
if(!(adapter->flag & (1L << cmd->device->channel))) {
drivers/scsi/megaraid.c
1049
dev_notice(&adapter->dev->dev,
drivers/scsi/megaraid.c
1052
adapter->host->host_no,
drivers/scsi/megaraid.c
1055
adapter->flag |= (1L << cmd->device->channel);
drivers/scsi/megaraid.c
1059
epthru->numsgelements = mega_build_sglist(adapter, scb,
drivers/scsi/megaraid.c
1068
__mega_runpendq(adapter_t *adapter)
drivers/scsi/megaraid.c
1074
list_for_each_safe(pos, next, &adapter->pending_list) {
drivers/scsi/megaraid.c
1080
if( issue_scb(adapter, scb) != 0 )
drivers/scsi/megaraid.c
1099
issue_scb(adapter_t *adapter, scb_t *scb)
drivers/scsi/megaraid.c
1101
volatile mbox64_t *mbox64 = adapter->mbox64;
drivers/scsi/megaraid.c
1102
volatile mbox_t *mbox = adapter->mbox;
drivers/scsi/megaraid.c
1125
atomic_inc(&adapter->pend_cmds);
drivers/scsi/megaraid.c
1146
if( likely(adapter->flag & BOARD_MEMMAP) ) {
drivers/scsi/megaraid.c
1149
WRINDOOR(adapter, adapter->mbox_dma | 0x1);
drivers/scsi/megaraid.c
1152
irq_enable(adapter);
drivers/scsi/megaraid.c
1153
issue_command(adapter);
drivers/scsi/megaraid.c
1163
mega_busywait_mbox (adapter_t *adapter)
drivers/scsi/megaraid.c
1165
if (adapter->mbox->m_in.busy)
drivers/scsi/megaraid.c
1166
return __mega_busywait_mbox(adapter);
drivers/scsi/megaraid.c
1178
issue_scb_block(adapter_t *adapter, u_char *raw_mbox)
drivers/scsi/megaraid.c
1180
volatile mbox64_t *mbox64 = adapter->mbox64;
drivers/scsi/megaraid.c
1181
volatile mbox_t *mbox = adapter->mbox;
drivers/scsi/megaraid.c
1185
if(mega_busywait_mbox (adapter))
drivers/scsi/megaraid.c
1207
if( likely(adapter->flag & BOARD_MEMMAP) ) {
drivers/scsi/megaraid.c
1212
WRINDOOR(adapter, adapter->mbox_dma | 0x1);
drivers/scsi/megaraid.c
1225
WRINDOOR(adapter, adapter->mbox_dma | 0x2);
drivers/scsi/megaraid.c
1227
while(RDINDOOR(adapter) & 0x2)
drivers/scsi/megaraid.c
1231
irq_disable(adapter);
drivers/scsi/megaraid.c
1232
issue_command(adapter);
drivers/scsi/megaraid.c
1234
while (!((byte = irq_state(adapter)) & INTR_VALID))
drivers/scsi/megaraid.c
1237
set_irq_state(adapter, byte);
drivers/scsi/megaraid.c
1238
irq_enable(adapter);
drivers/scsi/megaraid.c
1239
irq_ack(adapter);
drivers/scsi/megaraid.c
1245
dev_warn(&adapter->dev->dev, "Blocked mailbox......!!\n");
drivers/scsi/megaraid.c
1263
adapter_t *adapter = devp;
drivers/scsi/megaraid.c
1275
spin_lock_irqsave(&adapter->lock, flags);
drivers/scsi/megaraid.c
1279
byte = irq_state(adapter);
drivers/scsi/megaraid.c
1286
set_irq_state(adapter, byte);
drivers/scsi/megaraid.c
1288
while((nstatus = (volatile u8)adapter->mbox->m_in.numstatus)
drivers/scsi/megaraid.c
1291
adapter->mbox->m_in.numstatus = 0xFF;
drivers/scsi/megaraid.c
1293
status = adapter->mbox->m_in.status;
drivers/scsi/megaraid.c
1298
atomic_sub(nstatus, &adapter->pend_cmds);
drivers/scsi/megaraid.c
1300
memcpy(completed, (void *)adapter->mbox->m_in.completed,
drivers/scsi/megaraid.c
1304
irq_ack(adapter);
drivers/scsi/megaraid.c
1306
mega_cmd_done(adapter, completed, nstatus, status);
drivers/scsi/megaraid.c
1308
mega_rundoneq(adapter);
drivers/scsi/megaraid.c
1313
if(atomic_read(&adapter->quiescent) == 0) {
drivers/scsi/megaraid.c
1314
mega_runpendq(adapter);
drivers/scsi/megaraid.c
1321
spin_unlock_irqrestore(&adapter->lock, flags);
drivers/scsi/megaraid.c
1339
adapter_t *adapter = devp;
drivers/scsi/megaraid.c
1351
spin_lock_irqsave(&adapter->lock, flags);
drivers/scsi/megaraid.c
1355
dword = RDOUTDOOR(adapter);
drivers/scsi/megaraid.c
136
mega_setup_mailbox(adapter_t *adapter)
drivers/scsi/megaraid.c
1362
WROUTDOOR(adapter, 0x10001234);
drivers/scsi/megaraid.c
1364
while((nstatus = (volatile u8)adapter->mbox->m_in.numstatus)
drivers/scsi/megaraid.c
1368
adapter->mbox->m_in.numstatus = 0xFF;
drivers/scsi/megaraid.c
1370
status = adapter->mbox->m_in.status;
drivers/scsi/megaraid.c
1375
atomic_sub(nstatus, &adapter->pend_cmds);
drivers/scsi/megaraid.c
1377
memcpy(completed, (void *)adapter->mbox->m_in.completed,
drivers/scsi/megaraid.c
1381
WRINDOOR(adapter, 0x2);
drivers/scsi/megaraid.c
1385
while( RDINDOOR(adapter) & 0x02 )
drivers/scsi/megaraid.c
1388
mega_cmd_done(adapter, completed, nstatus, status);
drivers/scsi/megaraid.c
1390
mega_rundoneq(adapter);
drivers/scsi/megaraid.c
1393
if(atomic_read(&adapter->quiescent) == 0) {
drivers/scsi/megaraid.c
1394
mega_runpendq(adapter);
drivers/scsi/megaraid.c
140
adapter->una_mbox64 = dma_alloc_coherent(&adapter->dev->dev,
drivers/scsi/megaraid.c
1401
spin_unlock_irqrestore(&adapter->lock, flags);
drivers/scsi/megaraid.c
1415
mega_cmd_done(adapter_t *adapter, u8 completed[], int nstatus, int status)
drivers/scsi/megaraid.c
142
&adapter->una_mbox64_dma,
drivers/scsi/megaraid.c
1444
scb = &adapter->int_scb;
drivers/scsi/megaraid.c
145
if( !adapter->una_mbox64 ) return -1;
drivers/scsi/megaraid.c
1450
adapter->int_status = status;
drivers/scsi/megaraid.c
1451
complete(&adapter->int_waitq);
drivers/scsi/megaraid.c
1453
scb = &adapter->scb_list[cmdid];
drivers/scsi/megaraid.c
1459
dev_crit(&adapter->dev->dev, "invalid command "
drivers/scsi/megaraid.c
147
adapter->mbox = &adapter->una_mbox64->mbox;
drivers/scsi/megaraid.c
1471
dev_warn(&adapter->dev->dev,
drivers/scsi/megaraid.c
1478
&adapter->completed_list);
drivers/scsi/megaraid.c
1480
mega_free_scb(adapter, scb);
drivers/scsi/megaraid.c
149
adapter->mbox = (mbox_t *)((((unsigned long) adapter->mbox) + 15) &
drivers/scsi/megaraid.c
1490
dev_warn(&adapter->dev->dev,
drivers/scsi/megaraid.c
1497
&adapter->completed_list);
drivers/scsi/megaraid.c
1499
mega_free_scb (adapter, scb);
drivers/scsi/megaraid.c
1514
islogical = adapter->logdrv_chan[cmd->channel];
drivers/scsi/megaraid.c
152
adapter->mbox64 = (mbox64_t *)(((unsigned long)adapter->mbox) - 8);
drivers/scsi/megaraid.c
1527
adapter->rd_errors[logdrv%0x80]++;
drivers/scsi/megaraid.c
1537
adapter->wr_errors[logdrv%0x80]++;
drivers/scsi/megaraid.c
154
align = ((void *)adapter->mbox) - ((void *)&adapter->una_mbox64->mbox);
drivers/scsi/megaraid.c
1550
islogical = adapter->logdrv_chan[cmd->device->channel];
drivers/scsi/megaraid.c
1557
dev_warn(&adapter->dev->dev, "invalid sg\n");
drivers/scsi/megaraid.c
156
adapter->mbox_dma = adapter->una_mbox64_dma + 8 + align;
drivers/scsi/megaraid.c
1561
if(IS_RAID_CH(adapter, cmd->device->channel) &&
drivers/scsi/megaraid.c
161
if( adapter->flag & BOARD_IOMAP ) {
drivers/scsi/megaraid.c
163
outb(adapter->mbox_dma & 0xFF,
drivers/scsi/megaraid.c
1633
mega_free_scb(adapter, scb);
drivers/scsi/megaraid.c
1636
list_add_tail(SCSI_LIST(cmd), &adapter->completed_list);
drivers/scsi/megaraid.c
164
adapter->host->io_port + MBOX_PORT0);
drivers/scsi/megaraid.c
1647
mega_rundoneq (adapter_t *adapter)
drivers/scsi/megaraid.c
1651
list_for_each_entry(cmd_priv, &adapter->completed_list, entry)
drivers/scsi/megaraid.c
1654
INIT_LIST_HEAD(&adapter->completed_list);
drivers/scsi/megaraid.c
166
outb((adapter->mbox_dma >> 8) & 0xFF,
drivers/scsi/megaraid.c
1663
mega_free_scb(adapter_t *adapter, scb_t *scb)
drivers/scsi/megaraid.c
167
adapter->host->io_port + MBOX_PORT1);
drivers/scsi/megaraid.c
1686
list_add(&scb->list, &adapter->free_list);
drivers/scsi/megaraid.c
169
outb((adapter->mbox_dma >> 16) & 0xFF,
drivers/scsi/megaraid.c
1691
__mega_busywait_mbox (adapter_t *adapter)
drivers/scsi/megaraid.c
1693
volatile mbox_t *mbox = adapter->mbox;
drivers/scsi/megaraid.c
170
adapter->host->io_port + MBOX_PORT2);
drivers/scsi/megaraid.c
1710
mega_build_sglist(adapter_t *adapter, scb_t *scb, u32 *buf, u32 *len)
drivers/scsi/megaraid.c
172
outb((adapter->mbox_dma >> 24) & 0xFF,
drivers/scsi/megaraid.c
1728
BUG_ON(sgcnt > adapter->sglen || sgcnt < 0);
drivers/scsi/megaraid.c
173
adapter->host->io_port + MBOX_PORT3);
drivers/scsi/megaraid.c
1732
if (scsi_sg_count(cmd) == 1 && !adapter->has_64bit_addr) {
drivers/scsi/megaraid.c
1741
if (adapter->has_64bit_addr) {
drivers/scsi/megaraid.c
176
adapter->host->io_port + ENABLE_MBOX_REGION);
drivers/scsi/megaraid.c
178
irq_ack(adapter);
drivers/scsi/megaraid.c
1799
mega_free_sgl(adapter_t *adapter)
drivers/scsi/megaraid.c
180
irq_enable(adapter);
drivers/scsi/megaraid.c
1804
for(i = 0; i < adapter->max_cmds; i++) {
drivers/scsi/megaraid.c
1806
scb = &adapter->scb_list[i];
drivers/scsi/megaraid.c
1809
dma_free_coherent(&adapter->dev->dev,
drivers/scsi/megaraid.c
1810
sizeof(mega_sgl64) * adapter->sglen,
drivers/scsi/megaraid.c
1817
dma_free_coherent(&adapter->dev->dev,
drivers/scsi/megaraid.c
1825
dma_free_coherent(&adapter->dev->dev,
drivers/scsi/megaraid.c
1843
adapter_t *adapter;
drivers/scsi/megaraid.c
1845
adapter = (adapter_t *)host->hostdata;
drivers/scsi/megaraid.c
1849
adapter->fw_version, adapter->product_info.max_commands,
drivers/scsi/megaraid.c
1850
adapter->host->max_id, adapter->host->max_channel,
drivers/scsi/megaraid.c
1851
(u32)adapter->host->max_lun);
drivers/scsi/megaraid.c
1862
adapter_t *adapter;
drivers/scsi/megaraid.c
1865
adapter = (adapter_t *)cmd->device->host->hostdata;
drivers/scsi/megaraid.c
1867
rval = megaraid_abort_and_reset(adapter, cmd, SCB_ABORT);
drivers/scsi/megaraid.c
1873
mega_rundoneq(adapter);
drivers/scsi/megaraid.c
1882
adapter_t *adapter;
drivers/scsi/megaraid.c
1886
adapter = (adapter_t *)cmd->device->host->hostdata;
drivers/scsi/megaraid.c
1892
if( mega_internal_command(adapter, &mc, NULL) != 0 ) {
drivers/scsi/megaraid.c
1893
dev_warn(&adapter->dev->dev, "reservation reset failed\n");
drivers/scsi/megaraid.c
1896
dev_info(&adapter->dev->dev, "reservation reset\n");
drivers/scsi/megaraid.c
1900
spin_lock_irq(&adapter->lock);
drivers/scsi/megaraid.c
1902
rval = megaraid_abort_and_reset(adapter, NULL, SCB_RESET);
drivers/scsi/megaraid.c
1908
mega_rundoneq(adapter);
drivers/scsi/megaraid.c
1909
spin_unlock_irq(&adapter->lock);
drivers/scsi/megaraid.c
1924
megaraid_abort_and_reset(adapter_t *adapter, struct scsi_cmnd *cmd, int aor)
drivers/scsi/megaraid.c
1930
dev_warn(&adapter->dev->dev,
drivers/scsi/megaraid.c
1935
dev_warn(&adapter->dev->dev, "RESETTING\n");
drivers/scsi/megaraid.c
1937
if(list_empty(&adapter->pending_list))
drivers/scsi/megaraid.c
1940
list_for_each_safe(pos, next, &adapter->pending_list) {
drivers/scsi/megaraid.c
195
mega_query_adapter(adapter_t *adapter)
drivers/scsi/megaraid.c
1956
dev_warn(&adapter->dev->dev,
drivers/scsi/megaraid.c
1967
dev_warn(&adapter->dev->dev,
drivers/scsi/megaraid.c
1971
mega_free_scb(adapter, scb);
drivers/scsi/megaraid.c
1976
&adapter->completed_list);
drivers/scsi/megaraid.c
1987
make_local_pdev(adapter_t *adapter, struct pci_dev **pdev)
drivers/scsi/megaraid.c
1993
memcpy(*pdev, adapter->dev, sizeof(struct pci_dev));
drivers/scsi/megaraid.c
2046
adapter_t *adapter = m->private;
drivers/scsi/megaraid.c
2049
if(adapter->product_info.product_name[0])
drivers/scsi/megaraid.c
205
memset((void *)adapter->mega_buffer, 0, MEGA_BUFFER_SIZE);
drivers/scsi/megaraid.c
2050
seq_printf(m, "%s\n", adapter->product_info.product_name);
drivers/scsi/megaraid.c
2054
if( adapter->flag & BOARD_MEMMAP )
drivers/scsi/megaraid.c
2059
if(adapter->flag & BOARD_40LD)
drivers/scsi/megaraid.c
2062
if(adapter->flag & BOARD_64BIT)
drivers/scsi/megaraid.c
2064
if( adapter->has_64bit_addr )
drivers/scsi/megaraid.c
2070
adapter->base, adapter->host->irq);
drivers/scsi/megaraid.c
2073
adapter->numldrv, adapter->product_info.nchannels);
drivers/scsi/megaraid.c
2076
adapter->fw_version, adapter->bios_version,
drivers/scsi/megaraid.c
2077
adapter->product_info.dram_size);
drivers/scsi/megaraid.c
2080
adapter->product_info.max_commands, adapter->max_cmds);
drivers/scsi/megaraid.c
2082
seq_printf(m, "support_ext_cdb = %d\n", adapter->support_ext_cdb);
drivers/scsi/megaraid.c
2083
seq_printf(m, "support_random_del = %d\n", adapter->support_random_del);
drivers/scsi/megaraid.c
2084
seq_printf(m, "boot_ldrv_enabled = %d\n", adapter->boot_ldrv_enabled);
drivers/scsi/megaraid.c
2085
seq_printf(m, "boot_ldrv = %d\n", adapter->boot_ldrv);
drivers/scsi/megaraid.c
2086
seq_printf(m, "boot_pdrv_enabled = %d\n", adapter->boot_pdrv_enabled);
drivers/scsi/megaraid.c
2087
seq_printf(m, "boot_pdrv_ch = %d\n", adapter->boot_pdrv_ch);
drivers/scsi/megaraid.c
2088
seq_printf(m, "boot_pdrv_tgt = %d\n", adapter->boot_pdrv_tgt);
drivers/scsi/megaraid.c
2090
atomic_read(&adapter->quiescent));
drivers/scsi/megaraid.c
2091
seq_printf(m, "has_cluster = %d\n", adapter->has_cluster);
drivers/scsi/megaraid.c
2109
adapter_t *adapter = m->private;
drivers/scsi/megaraid.c
2115
seq_printf(m, "pend_cmds = %d\n", atomic_read(&adapter->pend_cmds));
drivers/scsi/megaraid.c
2117
for(i = 0; i < adapter->numldrv; i++) {
drivers/scsi/megaraid.c
2120
adapter->nreads[i], adapter->nwrites[i]);
drivers/scsi/megaraid.c
2122
adapter->nreadblocks[i], adapter->nwriteblocks[i]);
drivers/scsi/megaraid.c
2124
adapter->rd_errors[i], adapter->wr_errors[i]);
drivers/scsi/megaraid.c
213
mbox.xferaddr = (u32)adapter->buf_dma_handle;
drivers/scsi/megaraid.c
2144
adapter_t *adapter = m->private;
drivers/scsi/megaraid.c
2145
volatile mbox_t *mbox = adapter->mbox;
drivers/scsi/megaraid.c
215
inquiry3 = (mega_inquiry3 *)adapter->mega_buffer;
drivers/scsi/megaraid.c
2171
adapter_t *adapter = m->private;
drivers/scsi/megaraid.c
2176
if( make_local_pdev(adapter, &pdev) != 0 )
drivers/scsi/megaraid.c
2182
if( mega_adapinq(adapter, dma_handle) != 0 ) {
drivers/scsi/megaraid.c
2184
dev_warn(&adapter->dev->dev, "inquiry failed\n");
drivers/scsi/megaraid.c
2188
if( adapter->flag & BOARD_40LD )
drivers/scsi/megaraid.c
2214
adapter_t *adapter = m->private;
drivers/scsi/megaraid.c
222
if (issue_scb_block(adapter, raw_mbox)) {
drivers/scsi/megaraid.c
2220
if( make_local_pdev(adapter, &pdev) != 0 )
drivers/scsi/megaraid.c
2226
if( mega_adapinq(adapter, dma_handle) != 0 ) {
drivers/scsi/megaraid.c
2228
dev_warn(&adapter->dev->dev, "inquiry failed\n");
drivers/scsi/megaraid.c
2232
if( adapter->flag & BOARD_40LD ) {
drivers/scsi/megaraid.c
229
ext_inq = dma_alloc_coherent(&adapter->dev->dev,
drivers/scsi/megaraid.c
2316
proc_show_pdrv(struct seq_file *m, adapter_t *adapter, int channel)
drivers/scsi/megaraid.c
2329
if( make_local_pdev(adapter, &pdev) != 0 )
drivers/scsi/megaraid.c
2335
if( mega_adapinq(adapter, dma_handle) != 0 ) {
drivers/scsi/megaraid.c
2337
dev_warn(&adapter->dev->dev, "inquiry failed\n");
drivers/scsi/megaraid.c
2349
if( adapter->flag & BOARD_40LD ) {
drivers/scsi/megaraid.c
2357
max_channels = adapter->product_info.nchannels;
drivers/scsi/megaraid.c
2401
if( mega_internal_dev_inquiry(adapter, channel, tgt,
drivers/scsi/megaraid.c
242
issue_scb_block(adapter, raw_mbox);
drivers/scsi/megaraid.c
249
(mega_product_info *)&adapter->product_info);
drivers/scsi/megaraid.c
2491
proc_show_rdrv(struct seq_file *m, adapter_t *adapter, int start, int end )
drivers/scsi/megaraid.c
2505
if( make_local_pdev(adapter, &pdev) != 0 )
drivers/scsi/megaraid.c
251
dma_free_coherent(&adapter->dev->dev,
drivers/scsi/megaraid.c
2511
if( mega_adapinq(adapter, dma_handle) != 0 ) {
drivers/scsi/megaraid.c
2513
dev_warn(&adapter->dev->dev, "inquiry failed\n");
drivers/scsi/megaraid.c
2519
if( adapter->flag & BOARD_40LD ) {
drivers/scsi/megaraid.c
2546
if( adapter->flag & BOARD_40LD ) {
drivers/scsi/megaraid.c
2550
if( mega_internal_command(adapter, &mc, NULL) ) {
drivers/scsi/megaraid.c
2559
if( mega_internal_command(adapter, &mc, NULL) ) {
drivers/scsi/megaraid.c
256
adapter->flag |= BOARD_40LD;
drivers/scsi/megaraid.c
2561
if( mega_internal_command(adapter, &mc, NULL) ) {
drivers/scsi/megaraid.c
2570
if( adapter->flag & BOARD_40LD ) {
drivers/scsi/megaraid.c
262
prod_info_dma_handle = dma_map_single(&adapter->dev->dev,
drivers/scsi/megaraid.c
263
(void *)&adapter->product_info,
drivers/scsi/megaraid.c
272
if ((retval = issue_scb_block(adapter, raw_mbox)))
drivers/scsi/megaraid.c
273
dev_warn(&adapter->dev->dev,
drivers/scsi/megaraid.c
2730
adapter_t *adapter = hba_soft_state[index];
drivers/scsi/megaraid.c
2734
sprintf(string, "hba%d", adapter->host->host_no);
drivers/scsi/megaraid.c
2735
dir = proc_mkdir_data(string, 0, parent, adapter);
drivers/scsi/megaraid.c
2737
dev_warn(&adapter->dev->dev, "proc_mkdir failed\n");
drivers/scsi/megaraid.c
2742
proc_show_config, adapter);
drivers/scsi/megaraid.c
2744
proc_show_stat, adapter);
drivers/scsi/megaraid.c
2746
proc_show_mbox, adapter);
drivers/scsi/megaraid.c
2749
proc_show_rebuild_rate, adapter);
drivers/scsi/megaraid.c
2751
proc_show_battery, adapter);
drivers/scsi/megaraid.c
2753
proc_show_pdrv_ch0, adapter);
drivers/scsi/megaraid.c
2755
proc_show_pdrv_ch1, adapter);
drivers/scsi/megaraid.c
2757
proc_show_pdrv_ch2, adapter);
drivers/scsi/megaraid.c
2759
proc_show_pdrv_ch3, adapter);
drivers/scsi/megaraid.c
2761
proc_show_rdrv_10, adapter);
drivers/scsi/megaraid.c
2763
proc_show_rdrv_20, adapter);
drivers/scsi/megaraid.c
2765
proc_show_rdrv_30, adapter);
drivers/scsi/megaraid.c
2767
proc_show_rdrv_40, adapter);
drivers/scsi/megaraid.c
277
dma_unmap_single(&adapter->dev->dev, prod_info_dma_handle,
drivers/scsi/megaraid.c
2787
adapter_t *adapter;
drivers/scsi/megaraid.c
2793
adapter = (adapter_t *)sdev->host->hostdata;
drivers/scsi/megaraid.c
2795
if (IS_RAID_CH(adapter, sdev->channel)) {
drivers/scsi/megaraid.c
2820
dev_info(&adapter->dev->dev,
drivers/scsi/megaraid.c
285
adapter->host->max_channel =
drivers/scsi/megaraid.c
2854
mega_init_scb(adapter_t *adapter)
drivers/scsi/megaraid.c
2859
for( i = 0; i < adapter->max_cmds; i++ ) {
drivers/scsi/megaraid.c
286
adapter->product_info.nchannels + NVIRT_CHAN -1;
drivers/scsi/megaraid.c
2861
scb = &adapter->scb_list[i];
drivers/scsi/megaraid.c
2869
for( i = 0; i < adapter->max_cmds; i++ ) {
drivers/scsi/megaraid.c
2871
scb = &adapter->scb_list[i];
drivers/scsi/megaraid.c
2875
scb->sgl64 = dma_alloc_coherent(&adapter->dev->dev,
drivers/scsi/megaraid.c
2876
sizeof(mega_sgl64) * adapter->sglen,
drivers/scsi/megaraid.c
288
adapter->host->max_id = 16; /* max targets per channel */
drivers/scsi/megaraid.c
2882
dev_warn(&adapter->dev->dev, "RAID: Can't allocate sglist\n");
drivers/scsi/megaraid.c
2883
mega_free_sgl(adapter);
drivers/scsi/megaraid.c
2887
scb->pthru = dma_alloc_coherent(&adapter->dev->dev,
drivers/scsi/megaraid.c
2892
dev_warn(&adapter->dev->dev, "RAID: Can't allocate passthru\n");
drivers/scsi/megaraid.c
2893
mega_free_sgl(adapter);
drivers/scsi/megaraid.c
2897
scb->epthru = dma_alloc_coherent(&adapter->dev->dev,
drivers/scsi/megaraid.c
290
adapter->host->max_lun = 7; /* Up to 7 luns for non disk devices */
drivers/scsi/megaraid.c
2902
dev_warn(&adapter->dev->dev,
drivers/scsi/megaraid.c
2904
mega_free_sgl(adapter);
drivers/scsi/megaraid.c
2918
list_add(&scb->list, &adapter->free_list);
drivers/scsi/megaraid.c
292
adapter->host->cmd_per_lun = max_cmd_per_lun;
drivers/scsi/megaraid.c
294
adapter->numldrv = inquiry3->num_ldrv;
drivers/scsi/megaraid.c
2959
adapter_t *adapter;
drivers/scsi/megaraid.c
296
adapter->max_cmds = adapter->product_info.max_commands;
drivers/scsi/megaraid.c
298
if(adapter->max_cmds > MAX_COMMANDS)
drivers/scsi/megaraid.c
299
adapter->max_cmds = MAX_COMMANDS;
drivers/scsi/megaraid.c
301
adapter->host->can_queue = adapter->max_cmds - 1;
drivers/scsi/megaraid.c
3038
adapter = hba_soft_state[adapno];
drivers/scsi/megaraid.c
3050
if( copy_to_user(ustats->nreads, adapter->nreads,
drivers/scsi/megaraid.c
3054
if( copy_to_user(ustats->nreadblocks, adapter->nreadblocks,
drivers/scsi/megaraid.c
3058
if( copy_to_user(ustats->nwrites, adapter->nwrites,
drivers/scsi/megaraid.c
3062
if( copy_to_user(ustats->nwriteblocks, adapter->nwriteblocks,
drivers/scsi/megaraid.c
3066
if( copy_to_user(ustats->rd_errors, adapter->rd_errors,
drivers/scsi/megaraid.c
307
mega_get_max_sgl(adapter);
drivers/scsi/megaraid.c
3070
if( copy_to_user(ustats->wr_errors, adapter->wr_errors,
drivers/scsi/megaraid.c
3085
adapter = hba_soft_state[adapno];
drivers/scsi/megaraid.c
309
adapter->host->sg_tablesize = adapter->sglen;
drivers/scsi/megaraid.c
3097
if( !adapter->support_random_del ) {
drivers/scsi/megaraid.c
3098
dev_warn(&adapter->dev->dev, "logdrv "
drivers/scsi/megaraid.c
3104
rval = mega_del_logdrv( adapter, uioc.uioc_rmbox[3] );
drivers/scsi/megaraid.c
3123
dev_warn(&adapter->dev->dev, "rejected passthru\n");
drivers/scsi/megaraid.c
3132
if( make_local_pdev(adapter, &pdev) != 0 )
drivers/scsi/megaraid.c
315
if (adapter->product_info.subsysvid == PCI_VENDOR_ID_HP) {
drivers/scsi/megaraid.c
316
snprintf(adapter->fw_version, sizeof(adapter->fw_version),
drivers/scsi/megaraid.c
318
adapter->product_info.fw_version[2],
drivers/scsi/megaraid.c
320
adapter->product_info.fw_version[1] & 0x0f,
drivers/scsi/megaraid.c
3219
mega_internal_command(adapter, &mc, pthru);
drivers/scsi/megaraid.c
322
adapter->product_info.fw_version[0] & 0x0f);
drivers/scsi/megaraid.c
323
snprintf(adapter->bios_version, sizeof(adapter->fw_version),
drivers/scsi/megaraid.c
325
adapter->product_info.bios_version[2],
drivers/scsi/megaraid.c
327
adapter->product_info.bios_version[1] & 0x0f,
drivers/scsi/megaraid.c
329
adapter->product_info.bios_version[0] & 0x0f);
drivers/scsi/megaraid.c
3305
mega_internal_command(adapter, &mc, NULL);
drivers/scsi/megaraid.c
331
memcpy(adapter->fw_version,
drivers/scsi/megaraid.c
332
(char *)adapter->product_info.fw_version, 4);
drivers/scsi/megaraid.c
333
adapter->fw_version[4] = 0;
drivers/scsi/megaraid.c
335
memcpy(adapter->bios_version,
drivers/scsi/megaraid.c
336
(char *)adapter->product_info.bios_version, 4);
drivers/scsi/megaraid.c
338
adapter->bios_version[4] = 0;
drivers/scsi/megaraid.c
341
dev_notice(&adapter->dev->dev, "[%s:%s] detected %d logical drives\n",
drivers/scsi/megaraid.c
342
adapter->fw_version, adapter->bios_version, adapter->numldrv);
drivers/scsi/megaraid.c
347
adapter->support_ext_cdb = mega_support_ext_cdb(adapter);
drivers/scsi/megaraid.c
348
if (adapter->support_ext_cdb)
drivers/scsi/megaraid.c
349
dev_notice(&adapter->dev->dev, "supports extended CDBs\n");
drivers/scsi/megaraid.c
3563
mega_is_bios_enabled(adapter_t *adapter)
drivers/scsi/megaraid.c
3570
memset((void *)adapter->mega_buffer, 0, MEGA_BUFFER_SIZE);
drivers/scsi/megaraid.c
3572
mbox.xferaddr = (u32)adapter->buf_dma_handle;
drivers/scsi/megaraid.c
3577
issue_scb_block(adapter, raw_mbox);
drivers/scsi/megaraid.c
3579
return *(char *)adapter->mega_buffer;
drivers/scsi/megaraid.c
3592
mega_enum_raid_scsi(adapter_t *adapter)
drivers/scsi/megaraid.c
3606
memset((void *)adapter->mega_buffer, 0, MEGA_BUFFER_SIZE);
drivers/scsi/megaraid.c
3608
mbox.xferaddr = (u32)adapter->buf_dma_handle;
drivers/scsi/megaraid.c
3614
adapter->mega_ch_class = 0xFF;
drivers/scsi/megaraid.c
3616
if(!issue_scb_block(adapter, raw_mbox)) {
drivers/scsi/megaraid.c
3617
adapter->mega_ch_class = *((char *)adapter->mega_buffer);
drivers/scsi/megaraid.c
362
mega_runpendq(adapter_t *adapter)
drivers/scsi/megaraid.c
3621
for( i = 0; i < adapter->product_info.nchannels; i++ ) {
drivers/scsi/megaraid.c
3622
if( (adapter->mega_ch_class >> i) & 0x01 ) {
drivers/scsi/megaraid.c
3623
dev_info(&adapter->dev->dev, "channel[%d] is raid\n",
drivers/scsi/megaraid.c
3627
dev_info(&adapter->dev->dev, "channel[%d] is scsi\n",
drivers/scsi/megaraid.c
364
if(!list_empty(&adapter->pending_list))
drivers/scsi/megaraid.c
3644
mega_get_boot_drv(adapter_t *adapter)
drivers/scsi/megaraid.c
365
__mega_runpendq(adapter);
drivers/scsi/megaraid.c
3659
memset((void *)adapter->mega_buffer, 0, MEGA_BUFFER_SIZE);
drivers/scsi/megaraid.c
3661
mbox.xferaddr = (u32)adapter->buf_dma_handle;
drivers/scsi/megaraid.c
3663
adapter->boot_ldrv_enabled = 0;
drivers/scsi/megaraid.c
3664
adapter->boot_ldrv = 0;
drivers/scsi/megaraid.c
3666
adapter->boot_pdrv_enabled = 0;
drivers/scsi/megaraid.c
3667
adapter->boot_pdrv_ch = 0;
drivers/scsi/megaraid.c
3668
adapter->boot_pdrv_tgt = 0;
drivers/scsi/megaraid.c
3670
if(issue_scb_block(adapter, raw_mbox) == 0) {
drivers/scsi/megaraid.c
3672
(struct private_bios_data *)adapter->mega_buffer;
drivers/scsi/megaraid.c
3687
adapter->boot_pdrv_enabled = 1;
drivers/scsi/megaraid.c
3689
adapter->boot_pdrv_ch = boot_pdrv / 16;
drivers/scsi/megaraid.c
3690
adapter->boot_pdrv_tgt = boot_pdrv % 16;
drivers/scsi/megaraid.c
3693
adapter->boot_ldrv_enabled = 1;
drivers/scsi/megaraid.c
3694
adapter->boot_ldrv = prv_bios_data->boot_drv;
drivers/scsi/megaraid.c
3709
mega_support_random_del(adapter_t *adapter)
drivers/scsi/megaraid.c
3723
rval = issue_scb_block(adapter, raw_mbox);
drivers/scsi/megaraid.c
3736
mega_support_ext_cdb(adapter_t *adapter)
drivers/scsi/megaraid.c
3749
rval = issue_scb_block(adapter, raw_mbox);
drivers/scsi/megaraid.c
3764
mega_del_logdrv(adapter_t *adapter, int logdrv)
drivers/scsi/megaraid.c
377
adapter_t *adapter;
drivers/scsi/megaraid.c
3774
atomic_set(&adapter->quiescent, 1);
drivers/scsi/megaraid.c
3780
while (atomic_read(&adapter->pend_cmds) > 0 ||
drivers/scsi/megaraid.c
3781
!list_empty(&adapter->pending_list))
drivers/scsi/megaraid.c
3784
rval = mega_do_del_logdrv(adapter, logdrv);
drivers/scsi/megaraid.c
3786
spin_lock_irqsave(&adapter->lock, flags);
drivers/scsi/megaraid.c
3792
if (adapter->read_ldidmap) {
drivers/scsi/megaraid.c
3794
list_for_each(pos, &adapter->pending_list) {
drivers/scsi/megaraid.c
3801
atomic_set(&adapter->quiescent, 0);
drivers/scsi/megaraid.c
3803
mega_runpendq(adapter);
drivers/scsi/megaraid.c
3805
spin_unlock_irqrestore(&adapter->lock, flags);
drivers/scsi/megaraid.c
3812
mega_do_del_logdrv(adapter_t *adapter, int logdrv)
drivers/scsi/megaraid.c
382
adapter = (adapter_t *)scmd->device->host->hostdata;
drivers/scsi/megaraid.c
3823
rval = mega_internal_command(adapter, &mc, NULL);
drivers/scsi/megaraid.c
3827
dev_warn(&adapter->dev->dev, "Delete LD-%d failed", logdrv);
drivers/scsi/megaraid.c
3835
adapter->read_ldidmap = 1;
drivers/scsi/megaraid.c
3849
mega_get_max_sgl(adapter_t *adapter)
drivers/scsi/megaraid.c
3856
memset((void *)adapter->mega_buffer, 0, MEGA_BUFFER_SIZE);
drivers/scsi/megaraid.c
3858
mbox.xferaddr = (u32)adapter->buf_dma_handle;
drivers/scsi/megaraid.c
3864
if( issue_scb_block(adapter, raw_mbox) ) {
drivers/scsi/megaraid.c
3868
adapter->sglen = MIN_SGLIST;
drivers/scsi/megaraid.c
3871
adapter->sglen = *((char *)adapter->mega_buffer);
drivers/scsi/megaraid.c
3877
if ( adapter->sglen > MAX_SGLIST )
drivers/scsi/megaraid.c
3878
adapter->sglen = MAX_SGLIST;
drivers/scsi/megaraid.c
3892
mega_support_cluster(adapter_t *adapter)
drivers/scsi/megaraid.c
3899
memset((void *)adapter->mega_buffer, 0, MEGA_BUFFER_SIZE);
drivers/scsi/megaraid.c
3901
mbox.xferaddr = (u32)adapter->buf_dma_handle;
drivers/scsi/megaraid.c
3909
if( issue_scb_block(adapter, raw_mbox) == 0 ) {
drivers/scsi/megaraid.c
3915
adapter->this_id = *(u32 *)adapter->mega_buffer;
drivers/scsi/megaraid.c
3916
adapter->host->this_id = adapter->this_id;
drivers/scsi/megaraid.c
393
spin_lock_irqsave(&adapter->lock, flags);
drivers/scsi/megaraid.c
3935
mega_adapinq(adapter_t *adapter, dma_addr_t dma_handle)
drivers/scsi/megaraid.c
394
scb = mega_build_cmd(adapter, scmd, &busy);
drivers/scsi/megaraid.c
3941
if( adapter->flag & BOARD_40LD ) {
drivers/scsi/megaraid.c
3952
if ( mega_internal_command(adapter, &mc, NULL) != 0 ) {
drivers/scsi/megaraid.c
3970
mega_internal_dev_inquiry(adapter_t *adapter, u8 ch, u8 tgt,
drivers/scsi/megaraid.c
3984
if( make_local_pdev(adapter, &pdev) != 0 ) return -1;
drivers/scsi/megaraid.c
399
list_add_tail(&scb->list, &adapter->pending_list);
drivers/scsi/megaraid.c
3999
pthru->channel = (adapter->flag & BOARD_40LD) ? 0 : ch;
drivers/scsi/megaraid.c
4001
pthru->target = (adapter->flag & BOARD_40LD) ? (ch << 4)|tgt : tgt;
drivers/scsi/megaraid.c
4021
rval = mega_internal_command(adapter, &mc, pthru);
drivers/scsi/megaraid.c
4045
mega_internal_command(adapter_t *adapter, megacmd_t *mc, mega_passthru *pthru)
drivers/scsi/megaraid.c
4056
mutex_lock(&adapter->int_mtx);
drivers/scsi/megaraid.c
4058
scb = &adapter->int_scb;
drivers/scsi/megaraid.c
406
if (atomic_read(&adapter->quiescent) == 0)
drivers/scsi/megaraid.c
407
mega_runpendq(adapter);
drivers/scsi/megaraid.c
4072
spin_lock_irqsave(&adapter->lock, flags);
drivers/scsi/megaraid.c
4073
list_add_tail(&scb->list, &adapter->pending_list);
drivers/scsi/megaraid.c
4079
if (atomic_read(&adapter->quiescent) == 0)
drivers/scsi/megaraid.c
4080
mega_runpendq(adapter);
drivers/scsi/megaraid.c
4081
spin_unlock_irqrestore(&adapter->lock, flags);
drivers/scsi/megaraid.c
4083
wait_for_completion(&adapter->int_waitq);
drivers/scsi/megaraid.c
4085
mc->status = rval = adapter->int_status;
drivers/scsi/megaraid.c
4092
dev_info(&adapter->dev->dev, "cmd [%x, %x, %x] status:[%x]\n",
drivers/scsi/megaraid.c
4096
mutex_unlock(&adapter->int_mtx);
drivers/scsi/megaraid.c
411
spin_unlock_irqrestore(&adapter->lock, flags);
drivers/scsi/megaraid.c
4122
adapter_t *adapter;
drivers/scsi/megaraid.c
4210
adapter = (adapter_t *)host->hostdata;
drivers/scsi/megaraid.c
4211
memset(adapter, 0, sizeof(adapter_t));
drivers/scsi/megaraid.c
4217
adapter->base = mega_baseport;
drivers/scsi/megaraid.c
4219
adapter->mmio_base = (void __iomem *) mega_baseport;
drivers/scsi/megaraid.c
4221
INIT_LIST_HEAD(&adapter->free_list);
drivers/scsi/megaraid.c
4222
INIT_LIST_HEAD(&adapter->pending_list);
drivers/scsi/megaraid.c
4223
INIT_LIST_HEAD(&adapter->completed_list);
drivers/scsi/megaraid.c
4225
adapter->flag = flag;
drivers/scsi/megaraid.c
4226
spin_lock_init(&adapter->lock);
drivers/scsi/megaraid.c
4231
adapter->dev = pdev;
drivers/scsi/megaraid.c
4232
adapter->host = host;
drivers/scsi/megaraid.c
4234
adapter->host->irq = irq;
drivers/scsi/megaraid.c
4237
adapter->host->base = tbase;
drivers/scsi/megaraid.c
4239
adapter->host->io_port = tbase;
drivers/scsi/megaraid.c
4240
adapter->host->n_io_port = 16;
drivers/scsi/megaraid.c
4243
adapter->host->unique_id = (pci_bus << 8) | pci_dev_func;
drivers/scsi/megaraid.c
4248
adapter->mega_buffer = dma_alloc_coherent(&adapter->dev->dev,
drivers/scsi/megaraid.c
4250
&adapter->buf_dma_handle,
drivers/scsi/megaraid.c
4252
if (!adapter->mega_buffer) {
drivers/scsi/megaraid.c
4257
adapter->scb_list = kmalloc_objs(scb_t, MAX_COMMANDS);
drivers/scsi/megaraid.c
4258
if (!adapter->scb_list) {
drivers/scsi/megaraid.c
426
mega_allocate_scb(adapter_t *adapter, struct scsi_cmnd *cmd)
drivers/scsi/megaraid.c
4263
if (request_irq(irq, (adapter->flag & BOARD_MEMMAP) ?
drivers/scsi/megaraid.c
4265
IRQF_SHARED, "megaraid", adapter)) {
drivers/scsi/megaraid.c
4270
if (mega_setup_mailbox(adapter))
drivers/scsi/megaraid.c
4273
if (mega_query_adapter(adapter))
drivers/scsi/megaraid.c
428
struct list_head *head = &adapter->free_list;
drivers/scsi/megaraid.c
4283
if (!strcmp(adapter->fw_version, "3.00") ||
drivers/scsi/megaraid.c
4284
!strcmp(adapter->fw_version, "3.01")) {
drivers/scsi/megaraid.c
4316
if (!strcmp(adapter->fw_version, "H01.07") ||
drivers/scsi/megaraid.c
4317
!strcmp(adapter->fw_version, "H01.08") ||
drivers/scsi/megaraid.c
4318
!strcmp(adapter->fw_version, "H01.09") ) {
drivers/scsi/megaraid.c
4326
adapter->flag &= ~BOARD_64BIT;
drivers/scsi/megaraid.c
4330
if (mega_is_bios_enabled(adapter))
drivers/scsi/megaraid.c
4332
mega_hbas[hba_count].hostdata_addr = adapter;
drivers/scsi/megaraid.c
4338
mega_enum_raid_scsi(adapter);
drivers/scsi/megaraid.c
4348
mega_get_boot_drv(adapter);
drivers/scsi/megaraid.c
4350
if (adapter->boot_pdrv_enabled) {
drivers/scsi/megaraid.c
4351
j = adapter->product_info.nchannels;
drivers/scsi/megaraid.c
4353
adapter->logdrv_chan[i] = 0;
drivers/scsi/megaraid.c
4355
adapter->logdrv_chan[i] = 1;
drivers/scsi/megaraid.c
4358
adapter->logdrv_chan[i] = 1;
drivers/scsi/megaraid.c
4360
adapter->logdrv_chan[i] = 0;
drivers/scsi/megaraid.c
4361
adapter->mega_ch_class <<= NVIRT_CHAN;
drivers/scsi/megaraid.c
4368
adapter->read_ldidmap = 0; /* set it after first logdrv
drivers/scsi/megaraid.c
4370
adapter->support_random_del = mega_support_random_del(adapter);
drivers/scsi/megaraid.c
4373
if (mega_init_scb(adapter))
drivers/scsi/megaraid.c
4379
atomic_set(&adapter->pend_cmds, 0);
drivers/scsi/megaraid.c
4384
atomic_set(&adapter->quiescent, 0);
drivers/scsi/megaraid.c
4386
hba_soft_state[hba_count] = adapter;
drivers/scsi/megaraid.c
4397
mcontroller[i].numldrv = adapter->numldrv;
drivers/scsi/megaraid.c
4408
if ((adapter->flag & BOARD_64BIT) && (sizeof(dma_addr_t) == 8)) {
drivers/scsi/megaraid.c
4410
adapter->has_64bit_addr = 1;
drivers/scsi/megaraid.c
4413
adapter->has_64bit_addr = 0;
drivers/scsi/megaraid.c
4416
mutex_init(&adapter->int_mtx);
drivers/scsi/megaraid.c
4417
init_completion(&adapter->int_waitq);
drivers/scsi/megaraid.c
4419
adapter->this_id = DEFAULT_INITIATOR_ID;
drivers/scsi/megaraid.c
4420
adapter->host->this_id = DEFAULT_INITIATOR_ID;
drivers/scsi/megaraid.c
4430
adapter->has_cluster = mega_support_cluster(adapter);
drivers/scsi/megaraid.c
4431
if (adapter->has_cluster) {
drivers/scsi/megaraid.c
4434
adapter->this_id);
drivers/scsi/megaraid.c
4451
dma_free_coherent(&adapter->dev->dev, sizeof(mbox64_t),
drivers/scsi/megaraid.c
4452
adapter->una_mbox64, adapter->una_mbox64_dma);
drivers/scsi/megaraid.c
4454
free_irq(adapter->host->irq, adapter);
drivers/scsi/megaraid.c
4456
kfree(adapter->scb_list);
drivers/scsi/megaraid.c
4458
dma_free_coherent(&adapter->dev->dev, MEGA_BUFFER_SIZE,
drivers/scsi/megaraid.c
4459
adapter->mega_buffer, adapter->buf_dma_handle);
drivers/scsi/megaraid.c
4477
__megaraid_shutdown(adapter_t *adapter)
drivers/scsi/megaraid.c
4487
free_irq(adapter->host->irq, adapter);
drivers/scsi/megaraid.c
4490
issue_scb_block(adapter, raw_mbox);
drivers/scsi/megaraid.c
4497
issue_scb_block(adapter, raw_mbox);
drivers/scsi/megaraid.c
4499
if (atomic_read(&adapter->pend_cmds) > 0)
drivers/scsi/megaraid.c
4500
dev_warn(&adapter->dev->dev, "pending commands!!\n");
drivers/scsi/megaraid.c
4514
adapter_t *adapter = (adapter_t *)host->hostdata;
drivers/scsi/megaraid.c
4519
__megaraid_shutdown(adapter);
drivers/scsi/megaraid.c
4522
if (adapter->flag & BOARD_MEMMAP) {
drivers/scsi/megaraid.c
4523
iounmap((void *)adapter->base);
drivers/scsi/megaraid.c
4524
release_mem_region(adapter->host->base, 128);
drivers/scsi/megaraid.c
4526
release_region(adapter->base, 16);
drivers/scsi/megaraid.c
4528
mega_free_sgl(adapter);
drivers/scsi/megaraid.c
4530
sprintf(buf, "hba%d", adapter->host->host_no);
drivers/scsi/megaraid.c
4533
dma_free_coherent(&adapter->dev->dev, MEGA_BUFFER_SIZE,
drivers/scsi/megaraid.c
4534
adapter->mega_buffer, adapter->buf_dma_handle);
drivers/scsi/megaraid.c
4535
kfree(adapter->scb_list);
drivers/scsi/megaraid.c
4536
dma_free_coherent(&adapter->dev->dev, sizeof(mbox64_t),
drivers/scsi/megaraid.c
4537
adapter->una_mbox64, adapter->una_mbox64_dma);
drivers/scsi/megaraid.c
4549
adapter_t *adapter = (adapter_t *)host->hostdata;
drivers/scsi/megaraid.c
4551
__megaraid_shutdown(adapter);
drivers/scsi/megaraid.c
458
mega_get_ldrv_num(adapter_t *adapter, struct scsi_cmnd *cmd, int channel)
drivers/scsi/megaraid.c
465
if ( tgt > adapter->this_id )
drivers/scsi/megaraid.c
474
if( adapter->boot_ldrv_enabled ) {
drivers/scsi/megaraid.c
476
ldrv_num = adapter->boot_ldrv;
drivers/scsi/megaraid.c
479
if( ldrv_num <= adapter->boot_ldrv ) {
drivers/scsi/megaraid.c
495
if (adapter->support_random_del && adapter->read_ldidmap )
drivers/scsi/megaraid.c
521
mega_build_cmd(adapter_t *adapter, struct scsi_cmnd *cmd,
drivers/scsi/megaraid.c
537
islogical = adapter->logdrv_chan[cmd->device->channel];
drivers/scsi/megaraid.c
546
if( adapter->boot_pdrv_enabled ) {
drivers/scsi/megaraid.c
550
adapter->product_info.nchannels;
drivers/scsi/megaraid.c
563
target = adapter->boot_pdrv_tgt;
drivers/scsi/megaraid.c
565
else if( target == adapter->boot_pdrv_tgt ) {
drivers/scsi/megaraid.c
592
ldrv_num = mega_get_ldrv_num(adapter, cmd, channel);
drivers/scsi/megaraid.c
595
max_ldrv_num = (adapter->flag & BOARD_40LD) ?
drivers/scsi/megaraid.c
602
if(adapter->read_ldidmap)
drivers/scsi/megaraid.c
637
if( !adapter->has_cluster ) {
drivers/scsi/megaraid.c
643
if(!(scb = mega_allocate_scb(adapter, cmd))) {
drivers/scsi/megaraid.c
679
if(!(adapter->flag & (1L << cmd->device->channel))) {
drivers/scsi/megaraid.c
681
dev_notice(&adapter->dev->dev,
drivers/scsi/megaraid.c
684
adapter->host->host_no,
drivers/scsi/megaraid.c
687
adapter->flag |= (1L << cmd->device->channel);
drivers/scsi/megaraid.c
691
if(!(scb = mega_allocate_scb(adapter, cmd))) {
drivers/scsi/megaraid.c
709
if( adapter->has_64bit_addr ) {
drivers/scsi/megaraid.c
718
pthru->numsgelements = mega_build_sglist(adapter, scb,
drivers/scsi/megaraid.c
733
if(!(scb = mega_allocate_scb(adapter, cmd))) {
drivers/scsi/megaraid.c
746
if( adapter->has_64bit_addr ) {
drivers/scsi/megaraid.c
776
adapter->nreads[ldrv_num%0x80]++;
drivers/scsi/megaraid.c
777
adapter->nreadblocks[ldrv_num%0x80] +=
drivers/scsi/megaraid.c
780
adapter->nwrites[ldrv_num%0x80]++;
drivers/scsi/megaraid.c
781
adapter->nwriteblocks[ldrv_num%0x80] +=
drivers/scsi/megaraid.c
79
#define RDINDOOR(adapter) readl((adapter)->mmio_base + 0x20)
drivers/scsi/megaraid.c
80
#define RDOUTDOOR(adapter) readl((adapter)->mmio_base + 0x2C)
drivers/scsi/megaraid.c
802
adapter->nreads[ldrv_num%0x80]++;
drivers/scsi/megaraid.c
803
adapter->nreadblocks[ldrv_num%0x80] +=
drivers/scsi/megaraid.c
806
adapter->nwrites[ldrv_num%0x80]++;
drivers/scsi/megaraid.c
807
adapter->nwriteblocks[ldrv_num%0x80] +=
drivers/scsi/megaraid.c
81
#define WRINDOOR(adapter,value) writel(value, (adapter)->mmio_base + 0x20)
drivers/scsi/megaraid.c
82
#define WROUTDOOR(adapter,value) writel(value, (adapter)->mmio_base + 0x2C)
drivers/scsi/megaraid.c
831
adapter->nreads[ldrv_num%0x80]++;
drivers/scsi/megaraid.c
832
adapter->nreadblocks[ldrv_num%0x80] +=
drivers/scsi/megaraid.c
835
adapter->nwrites[ldrv_num%0x80]++;
drivers/scsi/megaraid.c
836
adapter->nwriteblocks[ldrv_num%0x80] +=
drivers/scsi/megaraid.c
853
mbox->m_out.numsgelements = mega_build_sglist(adapter, scb,
drivers/scsi/megaraid.c
865
if( ! adapter->has_cluster ) {
drivers/scsi/megaraid.c
873
if(!(scb = mega_allocate_scb(adapter, cmd))) {
drivers/scsi/megaraid.c
901
if(!(scb = mega_allocate_scb(adapter, cmd))) {
drivers/scsi/megaraid.c
909
if( adapter->support_ext_cdb ) {
drivers/scsi/megaraid.c
911
mega_prepare_extpassthru(adapter, scb, cmd,
drivers/scsi/megaraid.c
921
pthru = mega_prepare_passthru(adapter, scb, cmd,
drivers/scsi/megaraid.c
925
if( adapter->has_64bit_addr ) {
drivers/scsi/megaraid.c
952
mega_prepare_passthru(adapter_t *adapter, scb_t *scb, struct scsi_cmnd *cmd,
drivers/scsi/megaraid.c
967
pthru->channel = (adapter->flag & BOARD_40LD) ? 0 : channel;
drivers/scsi/megaraid.c
969
pthru->target = (adapter->flag & BOARD_40LD) ?
drivers/scsi/megaraid.c
984
if(!(adapter->flag & (1L << cmd->device->channel))) {
drivers/scsi/megaraid.c
986
dev_notice(&adapter->dev->dev,
drivers/scsi/megaraid.c
989
adapter->host->host_no,
drivers/scsi/megaraid.c
992
adapter->flag |= (1L << cmd->device->channel);
drivers/scsi/megaraid.c
996
pthru->numsgelements = mega_build_sglist(adapter, scb,
drivers/scsi/megaraid.h
932
#define issue_command(adapter) \
drivers/scsi/megaraid.h
933
outb_p(ISSUE_BYTE, (adapter)->base + CMD_PORT)
drivers/scsi/megaraid.h
935
#define irq_state(adapter) inb_p((adapter)->base + INTR_PORT)
drivers/scsi/megaraid.h
937
#define set_irq_state(adapter, value) \
drivers/scsi/megaraid.h
938
outb_p((value), (adapter)->base + INTR_PORT)
drivers/scsi/megaraid.h
940
#define irq_ack(adapter) \
drivers/scsi/megaraid.h
941
outb_p(ACK_BYTE, (adapter)->base + ACK_PORT)
drivers/scsi/megaraid.h
943
#define irq_enable(adapter) \
drivers/scsi/megaraid.h
944
outb_p(ENABLE_INTR_BYTE, (adapter)->base + TOGGLE_PORT)
drivers/scsi/megaraid.h
946
#define irq_disable(adapter) \
drivers/scsi/megaraid.h
947
outb_p(DISABLE_INTR_BYTE, (adapter)->base + TOGGLE_PORT)
drivers/scsi/megaraid.h
983
static int mega_build_sglist (adapter_t *adapter, scb_t *scb,
drivers/scsi/megaraid.h
988
static inline void mega_free_sgl (adapter_t *adapter);
drivers/scsi/megaraid/mega_common.h
192
#define SCSI_FREE_LIST_LOCK(adapter) (&adapter->kscb_pool_lock)
drivers/scsi/megaraid/mega_common.h
193
#define USER_FREE_LIST_LOCK(adapter) (&adapter->uscb_pool_lock)
drivers/scsi/megaraid/mega_common.h
194
#define PENDING_LIST_LOCK(adapter) (&adapter->pend_list_lock)
drivers/scsi/megaraid/mega_common.h
195
#define COMPLETED_LIST_LOCK(adapter) (&adapter->completed_list_lock)
drivers/scsi/megaraid/megaraid_mbox.c
1000
if (!adapter->ibuf) {
drivers/scsi/megaraid/megaraid_mbox.c
1020
adapter->kscb_list = kzalloc_objs(scb_t, MBOX_MAX_SCSI_CMDS);
drivers/scsi/megaraid/megaraid_mbox.c
1022
if (adapter->kscb_list == NULL) {
drivers/scsi/megaraid/megaraid_mbox.c
1030
if (megaraid_mbox_setup_dma_pools(adapter) != 0) {
drivers/scsi/megaraid/megaraid_mbox.c
1043
scb = adapter->kscb_list + i;
drivers/scsi/megaraid/megaraid_mbox.c
1083
list_add_tail(&scb->list, &adapter->kscb_pool);
drivers/scsi/megaraid/megaraid_mbox.c
1089
megaraid_mbox_teardown_dma_pools(adapter);
drivers/scsi/megaraid/megaraid_mbox.c
1091
kfree(adapter->kscb_list);
drivers/scsi/megaraid/megaraid_mbox.c
1093
dma_free_coherent(&pdev->dev, MBOX_IBUF_SIZE, (void *)adapter->ibuf,
drivers/scsi/megaraid/megaraid_mbox.c
1094
adapter->ibuf_dma_h);
drivers/scsi/megaraid/megaraid_mbox.c
1096
dma_free_coherent(&adapter->pdev->dev, sizeof(mbox64_t),
drivers/scsi/megaraid/megaraid_mbox.c
1110
megaraid_free_cmd_packets(adapter_t *adapter)
drivers/scsi/megaraid/megaraid_mbox.c
1112
mraid_device_t *raid_dev = ADAP2RAIDDEV(adapter);
drivers/scsi/megaraid/megaraid_mbox.c
1114
megaraid_mbox_teardown_dma_pools(adapter);
drivers/scsi/megaraid/megaraid_mbox.c
1116
kfree(adapter->kscb_list);
drivers/scsi/megaraid/megaraid_mbox.c
1118
dma_free_coherent(&adapter->pdev->dev, MBOX_IBUF_SIZE,
drivers/scsi/megaraid/megaraid_mbox.c
1119
(void *)adapter->ibuf, adapter->ibuf_dma_h);
drivers/scsi/megaraid/megaraid_mbox.c
1121
dma_free_coherent(&adapter->pdev->dev, sizeof(mbox64_t),
drivers/scsi/megaraid/megaraid_mbox.c
1135
megaraid_mbox_setup_dma_pools(adapter_t *adapter)
drivers/scsi/megaraid/megaraid_mbox.c
1137
mraid_device_t *raid_dev = ADAP2RAIDDEV(adapter);
drivers/scsi/megaraid/megaraid_mbox.c
1147
&adapter->pdev->dev,
drivers/scsi/megaraid/megaraid_mbox.c
1175
&adapter->pdev->dev, sizeof(mraid_epassthru_t), 128, 0);
drivers/scsi/megaraid/megaraid_mbox.c
1196
&adapter->pdev->dev,
drivers/scsi/megaraid/megaraid_mbox.c
1218
megaraid_mbox_teardown_dma_pools(adapter);
drivers/scsi/megaraid/megaraid_mbox.c
1231
megaraid_mbox_teardown_dma_pools(adapter_t *adapter)
drivers/scsi/megaraid/megaraid_mbox.c
1233
mraid_device_t *raid_dev = ADAP2RAIDDEV(adapter);
drivers/scsi/megaraid/megaraid_mbox.c
1276
megaraid_alloc_scb(adapter_t *adapter, struct scsi_cmnd *scp)
drivers/scsi/megaraid/megaraid_mbox.c
1278
struct list_head *head = &adapter->kscb_pool;
drivers/scsi/megaraid/megaraid_mbox.c
1283
spin_lock_irqsave(SCSI_FREE_LIST_LOCK(adapter), flags);
drivers/scsi/megaraid/megaraid_mbox.c
1286
spin_unlock_irqrestore(SCSI_FREE_LIST_LOCK(adapter), flags);
drivers/scsi/megaraid/megaraid_mbox.c
1293
spin_unlock_irqrestore(SCSI_FREE_LIST_LOCK(adapter), flags);
drivers/scsi/megaraid/megaraid_mbox.c
1314
megaraid_dealloc_scb(adapter_t *adapter, scb_t *scb)
drivers/scsi/megaraid/megaraid_mbox.c
1321
spin_lock_irqsave(SCSI_FREE_LIST_LOCK(adapter), flags);
drivers/scsi/megaraid/megaraid_mbox.c
1323
list_add(&scb->list, &adapter->kscb_pool);
drivers/scsi/megaraid/megaraid_mbox.c
1325
spin_unlock_irqrestore(SCSI_FREE_LIST_LOCK(adapter), flags);
drivers/scsi/megaraid/megaraid_mbox.c
1339
megaraid_mbox_mksgl(adapter_t *adapter, scb_t *scb)
drivers/scsi/megaraid/megaraid_mbox.c
1352
BUG_ON(sgcnt < 0 || sgcnt > adapter->sglen);
drivers/scsi/megaraid/megaraid_mbox.c
1378
mbox_post_cmd(adapter_t *adapter, scb_t *scb)
drivers/scsi/megaraid/megaraid_mbox.c
1380
mraid_device_t *raid_dev = ADAP2RAIDDEV(adapter);
drivers/scsi/megaraid/megaraid_mbox.c
1418
adapter->outstanding_cmds++;
drivers/scsi/megaraid/megaraid_mbox.c
1442
adapter_t *adapter;
drivers/scsi/megaraid/megaraid_mbox.c
1446
adapter = SCP2ADAPTER(scp);
drivers/scsi/megaraid/megaraid_mbox.c
1458
scb = megaraid_mbox_build_cmd(adapter, scp, &if_busy);
drivers/scsi/megaraid/megaraid_mbox.c
1464
megaraid_mbox_runpendq(adapter, scb);
drivers/scsi/megaraid/megaraid_mbox.c
1482
megaraid_mbox_build_cmd(adapter_t *adapter, struct scsi_cmnd *scp,
drivers/scsi/megaraid/megaraid_mbox.c
1485
mraid_device_t *rdev = ADAP2RAIDDEV(adapter);
drivers/scsi/megaraid/megaraid_mbox.c
1503
MRAID_GET_DEVICE_MAP(adapter, scp, channel, target, islogical);
drivers/scsi/megaraid/megaraid_mbox.c
1515
if (!adapter->ha) {
drivers/scsi/megaraid/megaraid_mbox.c
1520
if (!(scb = megaraid_alloc_scb(adapter, scp))) {
drivers/scsi/megaraid/megaraid_mbox.c
1570
adapter->host->host_no,
drivers/scsi/megaraid/megaraid_mbox.c
1603
if (!(scb = megaraid_alloc_scb(adapter, scp))) {
drivers/scsi/megaraid/megaraid_mbox.c
1629
pthru->numsge = megaraid_mbox_mksgl(adapter,
drivers/scsi/megaraid/megaraid_mbox.c
1648
if (!(scb = megaraid_alloc_scb(adapter, scp))) {
drivers/scsi/megaraid/megaraid_mbox.c
1714
megaraid_dealloc_scb(adapter, scb);
drivers/scsi/megaraid/megaraid_mbox.c
1724
mbox->numsge = megaraid_mbox_mksgl(adapter,
drivers/scsi/megaraid/megaraid_mbox.c
1736
if (!adapter->ha) {
drivers/scsi/megaraid/megaraid_mbox.c
1744
if (!(scb = megaraid_alloc_scb(adapter, scp))) {
drivers/scsi/megaraid/megaraid_mbox.c
1779
(SCP2CHANNEL(scp) == adapter->max_channel -1)) {
drivers/scsi/megaraid/megaraid_mbox.c
1783
adapter->host->host_no));
drivers/scsi/megaraid/megaraid_mbox.c
1796
adapter->host->host_no, ss, SCP2CHANNEL(scp),
drivers/scsi/megaraid/megaraid_mbox.c
1812
if (!(scb = megaraid_alloc_scb(adapter, scp))) {
drivers/scsi/megaraid/megaraid_mbox.c
1826
if (adapter->max_cdb_sz == 16) {
drivers/scsi/megaraid/megaraid_mbox.c
1829
megaraid_mbox_prepare_epthru(adapter, scb, scp);
drivers/scsi/megaraid/megaraid_mbox.c
1838
megaraid_mbox_prepare_pthru(adapter, scb, scp);
drivers/scsi/megaraid/megaraid_mbox.c
1865
megaraid_mbox_runpendq(adapter_t *adapter, scb_t *scb_q)
drivers/scsi/megaraid/megaraid_mbox.c
1870
spin_lock_irqsave(PENDING_LIST_LOCK(adapter), flags);
drivers/scsi/megaraid/megaraid_mbox.c
1874
list_add_tail(&scb_q->list, &adapter->pend_list);
drivers/scsi/megaraid/megaraid_mbox.c
1878
if (adapter->quiescent) {
drivers/scsi/megaraid/megaraid_mbox.c
1879
spin_unlock_irqrestore(PENDING_LIST_LOCK(adapter), flags);
drivers/scsi/megaraid/megaraid_mbox.c
1883
while (!list_empty(&adapter->pend_list)) {
drivers/scsi/megaraid/megaraid_mbox.c
1885
assert_spin_locked(PENDING_LIST_LOCK(adapter));
drivers/scsi/megaraid/megaraid_mbox.c
1887
scb = list_entry(adapter->pend_list.next, scb_t, list);
drivers/scsi/megaraid/megaraid_mbox.c
1895
spin_unlock_irqrestore(PENDING_LIST_LOCK(adapter), flags);
drivers/scsi/megaraid/megaraid_mbox.c
1903
if (mbox_post_cmd(adapter, scb) != 0) {
drivers/scsi/megaraid/megaraid_mbox.c
1905
spin_lock_irqsave(PENDING_LIST_LOCK(adapter), flags);
drivers/scsi/megaraid/megaraid_mbox.c
1909
list_add(&scb->list, &adapter->pend_list);
drivers/scsi/megaraid/megaraid_mbox.c
1911
spin_unlock_irqrestore(PENDING_LIST_LOCK(adapter),
drivers/scsi/megaraid/megaraid_mbox.c
1917
spin_lock_irqsave(PENDING_LIST_LOCK(adapter), flags);
drivers/scsi/megaraid/megaraid_mbox.c
1920
spin_unlock_irqrestore(PENDING_LIST_LOCK(adapter), flags);
drivers/scsi/megaraid/megaraid_mbox.c
1936
megaraid_mbox_prepare_pthru(adapter_t *adapter, scb_t *scb,
drivers/scsi/megaraid/megaraid_mbox.c
1964
pthru->numsge = megaraid_mbox_mksgl(adapter, scb);
drivers/scsi/megaraid/megaraid_mbox.c
1985
megaraid_mbox_prepare_epthru(adapter_t *adapter, scb_t *scb,
drivers/scsi/megaraid/megaraid_mbox.c
2013
epthru->numsge = megaraid_mbox_mksgl(adapter, scb);
drivers/scsi/megaraid/megaraid_mbox.c
2034
megaraid_ack_sequence(adapter_t *adapter)
drivers/scsi/megaraid/megaraid_mbox.c
2036
mraid_device_t *raid_dev = ADAP2RAIDDEV(adapter);
drivers/scsi/megaraid/megaraid_mbox.c
2079
adapter->outstanding_cmds -= nstatus;
drivers/scsi/megaraid/megaraid_mbox.c
2102
scb = adapter->uscb_list + (completed[i] -
drivers/scsi/megaraid/megaraid_mbox.c
2107
scb = adapter->kscb_list + completed[i];
drivers/scsi/megaraid/megaraid_mbox.c
2124
spin_lock_irqsave(COMPLETED_LIST_LOCK(adapter), flags);
drivers/scsi/megaraid/megaraid_mbox.c
2126
list_splice(&clist, &adapter->completed_list);
drivers/scsi/megaraid/megaraid_mbox.c
2128
spin_unlock_irqrestore(COMPLETED_LIST_LOCK(adapter), flags);
drivers/scsi/megaraid/megaraid_mbox.c
2133
tasklet_schedule(&adapter->dpc_h);
drivers/scsi/megaraid/megaraid_mbox.c
2149
adapter_t *adapter = devp;
drivers/scsi/megaraid/megaraid_mbox.c
2152
handled = megaraid_ack_sequence(adapter);
drivers/scsi/megaraid/megaraid_mbox.c
2155
if (!adapter->quiescent) {
drivers/scsi/megaraid/megaraid_mbox.c
2156
megaraid_mbox_runpendq(adapter, NULL);
drivers/scsi/megaraid/megaraid_mbox.c
2174
adapter_t *adapter = (adapter_t *)devp;
drivers/scsi/megaraid/megaraid_mbox.c
2194
if (!adapter) return;
drivers/scsi/megaraid/megaraid_mbox.c
2196
raid_dev = ADAP2RAIDDEV(adapter);
drivers/scsi/megaraid/megaraid_mbox.c
2201
spin_lock_irqsave(COMPLETED_LIST_LOCK(adapter), flags);
drivers/scsi/megaraid/megaraid_mbox.c
2203
list_splice_init(&adapter->completed_list, &clist);
drivers/scsi/megaraid/megaraid_mbox.c
2205
spin_unlock_irqrestore(COMPLETED_LIST_LOCK(adapter), flags);
drivers/scsi/megaraid/megaraid_mbox.c
2237
megaraid_mbox_mm_done(adapter, scb);
drivers/scsi/megaraid/megaraid_mbox.c
2257
islogical = MRAID_IS_LOGICAL(adapter, scp);
drivers/scsi/megaraid/megaraid_mbox.c
2353
megaraid_mbox_display_scb(adapter, scb);
drivers/scsi/megaraid/megaraid_mbox.c
2362
megaraid_dealloc_scb(adapter, scb);
drivers/scsi/megaraid/megaraid_mbox.c
2382
adapter_t *adapter;
drivers/scsi/megaraid/megaraid_mbox.c
2391
adapter = SCP2ADAPTER(scp);
drivers/scsi/megaraid/megaraid_mbox.c
2392
raid_dev = ADAP2RAIDDEV(adapter);
drivers/scsi/megaraid/megaraid_mbox.c
2411
spin_lock_irqsave(COMPLETED_LIST_LOCK(adapter), flags);
drivers/scsi/megaraid/megaraid_mbox.c
2412
list_for_each_entry_safe(scb, tmp, &adapter->completed_list, list) {
drivers/scsi/megaraid/megaraid_mbox.c
2425
megaraid_dealloc_scb(adapter, scb);
drivers/scsi/megaraid/megaraid_mbox.c
2427
spin_unlock_irqrestore(COMPLETED_LIST_LOCK(adapter),
drivers/scsi/megaraid/megaraid_mbox.c
2433
spin_unlock_irqrestore(COMPLETED_LIST_LOCK(adapter), flags);
drivers/scsi/megaraid/megaraid_mbox.c
2439
spin_lock_irqsave(PENDING_LIST_LOCK(adapter), flags);
drivers/scsi/megaraid/megaraid_mbox.c
2440
list_for_each_entry_safe(scb, tmp, &adapter->pend_list, list) {
drivers/scsi/megaraid/megaraid_mbox.c
2455
megaraid_dealloc_scb(adapter, scb);
drivers/scsi/megaraid/megaraid_mbox.c
2457
spin_unlock_irqrestore(PENDING_LIST_LOCK(adapter),
drivers/scsi/megaraid/megaraid_mbox.c
2463
spin_unlock_irqrestore(PENDING_LIST_LOCK(adapter), flags);
drivers/scsi/megaraid/megaraid_mbox.c
2471
spin_lock_irq(&adapter->lock);
drivers/scsi/megaraid/megaraid_mbox.c
2473
scb = adapter->kscb_list + i;
drivers/scsi/megaraid/megaraid_mbox.c
2492
spin_unlock_irq(&adapter->lock);
drivers/scsi/megaraid/megaraid_mbox.c
2520
adapter_t *adapter;
drivers/scsi/megaraid/megaraid_mbox.c
2531
adapter = SCP2ADAPTER(scp);
drivers/scsi/megaraid/megaraid_mbox.c
2532
raid_dev = ADAP2RAIDDEV(adapter);
drivers/scsi/megaraid/megaraid_mbox.c
2546
spin_lock_irqsave(PENDING_LIST_LOCK(adapter), flags);
drivers/scsi/megaraid/megaraid_mbox.c
2547
list_for_each_entry_safe(scb, tmp, &adapter->pend_list, list) {
drivers/scsi/megaraid/megaraid_mbox.c
2560
megaraid_mbox_mm_done(adapter, scb);
drivers/scsi/megaraid/megaraid_mbox.c
2575
megaraid_dealloc_scb(adapter, scb);
drivers/scsi/megaraid/megaraid_mbox.c
2578
spin_unlock_irqrestore(PENDING_LIST_LOCK(adapter), flags);
drivers/scsi/megaraid/megaraid_mbox.c
2580
if (adapter->outstanding_cmds) {
drivers/scsi/megaraid/megaraid_mbox.c
2583
adapter->outstanding_cmds,
drivers/scsi/megaraid/megaraid_mbox.c
2591
megaraid_ack_sequence(adapter);
drivers/scsi/megaraid/megaraid_mbox.c
2597
adapter->outstanding_cmds,
drivers/scsi/megaraid/megaraid_mbox.c
2602
if (adapter->outstanding_cmds == 0) {
drivers/scsi/megaraid/megaraid_mbox.c
2609
spin_lock(&adapter->lock);
drivers/scsi/megaraid/megaraid_mbox.c
2612
if (adapter->outstanding_cmds) {
drivers/scsi/megaraid/megaraid_mbox.c
2628
if (!adapter->ha) {
drivers/scsi/megaraid/megaraid_mbox.c
2638
if (mbox_post_sync_cmd_fast(adapter, raw_mbox) == 0) {
drivers/scsi/megaraid/megaraid_mbox.c
2649
spin_unlock(&adapter->lock);
drivers/scsi/megaraid/megaraid_mbox.c
2669
mbox_post_sync_cmd(adapter_t *adapter, uint8_t raw_mbox[])
drivers/scsi/megaraid/megaraid_mbox.c
2671
mraid_device_t *raid_dev = ADAP2RAIDDEV(adapter);
drivers/scsi/megaraid/megaraid_mbox.c
2799
mbox_post_sync_cmd_fast(adapter_t *adapter, uint8_t raw_mbox[])
drivers/scsi/megaraid/megaraid_mbox.c
2801
mraid_device_t *raid_dev = ADAP2RAIDDEV(adapter);
drivers/scsi/megaraid/megaraid_mbox.c
2874
megaraid_mbox_product_info(adapter_t *adapter)
drivers/scsi/megaraid/megaraid_mbox.c
2876
mraid_device_t *raid_dev = ADAP2RAIDDEV(adapter);
drivers/scsi/megaraid/megaraid_mbox.c
2892
pinfo = dma_alloc_coherent(&adapter->pdev->dev, sizeof(mraid_pinfo_t),
drivers/scsi/megaraid/megaraid_mbox.c
2902
mbox->xferaddr = (uint32_t)adapter->ibuf_dma_h;
drivers/scsi/megaraid/megaraid_mbox.c
2903
memset((void *)adapter->ibuf, 0, MBOX_IBUF_SIZE);
drivers/scsi/megaraid/megaraid_mbox.c
2910
if (mbox_post_sync_cmd(adapter, raw_mbox) != 0) {
drivers/scsi/megaraid/megaraid_mbox.c
2914
dma_free_coherent(&adapter->pdev->dev, sizeof(mraid_pinfo_t),
drivers/scsi/megaraid/megaraid_mbox.c
2925
mraid_inq3 = (mraid_inquiry3_t *)adapter->ibuf;
drivers/scsi/megaraid/megaraid_mbox.c
2940
if (mbox_post_sync_cmd(adapter, raw_mbox) != 0) {
drivers/scsi/megaraid/megaraid_mbox.c
2945
dma_free_coherent(&adapter->pdev->dev, sizeof(mraid_pinfo_t),
drivers/scsi/megaraid/megaraid_mbox.c
2954
adapter->max_channel = pinfo->nchannels;
drivers/scsi/megaraid/megaraid_mbox.c
2960
adapter->max_target = MAX_LOGICAL_DRIVES_40LD + 1;
drivers/scsi/megaraid/megaraid_mbox.c
2961
adapter->max_lun = 8; // up to 8 LUNs for non-disk devices
drivers/scsi/megaraid/megaraid_mbox.c
2966
adapter->max_cmds = MBOX_MAX_SCSI_CMDS;
drivers/scsi/megaraid/megaraid_mbox.c
2968
memset(adapter->fw_version, 0, VERSION_SIZE);
drivers/scsi/megaraid/megaraid_mbox.c
2969
memset(adapter->bios_version, 0, VERSION_SIZE);
drivers/scsi/megaraid/megaraid_mbox.c
2971
memcpy(adapter->fw_version, pinfo->fw_version, 4);
drivers/scsi/megaraid/megaraid_mbox.c
2972
adapter->fw_version[4] = 0;
drivers/scsi/megaraid/megaraid_mbox.c
2974
memcpy(adapter->bios_version, pinfo->bios_version, 4);
drivers/scsi/megaraid/megaraid_mbox.c
2975
adapter->bios_version[4] = 0;
drivers/scsi/megaraid/megaraid_mbox.c
2979
adapter->fw_version, adapter->bios_version));
drivers/scsi/megaraid/megaraid_mbox.c
2981
dma_free_coherent(&adapter->pdev->dev, sizeof(mraid_pinfo_t), pinfo,
drivers/scsi/megaraid/megaraid_mbox.c
2997
megaraid_mbox_extended_cdb(adapter_t *adapter)
drivers/scsi/megaraid/megaraid_mbox.c
3006
mbox->xferaddr = (uint32_t)adapter->ibuf_dma_h;
drivers/scsi/megaraid/megaraid_mbox.c
3008
memset((void *)adapter->ibuf, 0, MBOX_IBUF_SIZE);
drivers/scsi/megaraid/megaraid_mbox.c
3017
if (mbox_post_sync_cmd(adapter, raw_mbox) != 0) {
drivers/scsi/megaraid/megaraid_mbox.c
3033
megaraid_mbox_support_ha(adapter_t *adapter, uint16_t *init_id)
drivers/scsi/megaraid/megaraid_mbox.c
3044
mbox->xferaddr = (uint32_t)adapter->ibuf_dma_h;
drivers/scsi/megaraid/megaraid_mbox.c
3046
memset((void *)adapter->ibuf, 0, MBOX_IBUF_SIZE);
drivers/scsi/megaraid/megaraid_mbox.c
3053
if (mbox_post_sync_cmd(adapter, raw_mbox) == 0) {
drivers/scsi/megaraid/megaraid_mbox.c
3055
*init_id = *(uint8_t *)adapter->ibuf;
drivers/scsi/megaraid/megaraid_mbox.c
3076
megaraid_mbox_support_random_del(adapter_t *adapter)
drivers/scsi/megaraid/megaraid_mbox.c
3085
if (adapter->pdev->vendor == PCI_VENDOR_ID_AMI &&
drivers/scsi/megaraid/megaraid_mbox.c
3086
adapter->pdev->device == PCI_DEVICE_ID_AMI_MEGARAID3 &&
drivers/scsi/megaraid/megaraid_mbox.c
3087
adapter->pdev->subsystem_vendor == PCI_VENDOR_ID_DELL &&
drivers/scsi/megaraid/megaraid_mbox.c
3088
adapter->pdev->subsystem_device == PCI_SUBSYS_ID_CERC_ATA100_4CH &&
drivers/scsi/megaraid/megaraid_mbox.c
3089
(adapter->fw_version[0] > '6' ||
drivers/scsi/megaraid/megaraid_mbox.c
3090
(adapter->fw_version[0] == '6' &&
drivers/scsi/megaraid/megaraid_mbox.c
3091
adapter->fw_version[2] > '6') ||
drivers/scsi/megaraid/megaraid_mbox.c
3092
(adapter->fw_version[0] == '6'
drivers/scsi/megaraid/megaraid_mbox.c
3093
&& adapter->fw_version[2] == '6'
drivers/scsi/megaraid/megaraid_mbox.c
3094
&& adapter->fw_version[3] > '1'))) {
drivers/scsi/megaraid/megaraid_mbox.c
3106
if (mbox_post_sync_cmd(adapter, raw_mbox) == 0) {
drivers/scsi/megaraid/megaraid_mbox.c
3125
megaraid_mbox_get_max_sg(adapter_t *adapter)
drivers/scsi/megaraid/megaraid_mbox.c
3136
mbox->xferaddr = (uint32_t)adapter->ibuf_dma_h;
drivers/scsi/megaraid/megaraid_mbox.c
3138
memset((void *)adapter->ibuf, 0, MBOX_IBUF_SIZE);
drivers/scsi/megaraid/megaraid_mbox.c
3144
if (mbox_post_sync_cmd(adapter, raw_mbox) == 0) {
drivers/scsi/megaraid/megaraid_mbox.c
3145
nsg = *(uint8_t *)adapter->ibuf;
drivers/scsi/megaraid/megaraid_mbox.c
3165
megaraid_mbox_enum_raid_scsi(adapter_t *adapter)
drivers/scsi/megaraid/megaraid_mbox.c
3167
mraid_device_t *raid_dev = ADAP2RAIDDEV(adapter);
drivers/scsi/megaraid/megaraid_mbox.c
3176
mbox->xferaddr = (uint32_t)adapter->ibuf_dma_h;
drivers/scsi/megaraid/megaraid_mbox.c
3178
memset((void *)adapter->ibuf, 0, MBOX_IBUF_SIZE);
drivers/scsi/megaraid/megaraid_mbox.c
3186
if (mbox_post_sync_cmd(adapter, raw_mbox) == 0) {
drivers/scsi/megaraid/megaraid_mbox.c
3187
raid_dev->channel_class = *(uint8_t *)adapter->ibuf;
drivers/scsi/megaraid/megaraid_mbox.c
3201
megaraid_mbox_flush_cache(adapter_t *adapter)
drivers/scsi/megaraid/megaraid_mbox.c
3209
if (mbox_post_sync_cmd(adapter, raw_mbox) != 0) {
drivers/scsi/megaraid/megaraid_mbox.c
3215
if (mbox_post_sync_cmd(adapter, raw_mbox) != 0) {
drivers/scsi/megaraid/megaraid_mbox.c
3230
megaraid_mbox_fire_sync_cmd(adapter_t *adapter)
drivers/scsi/megaraid/megaraid_mbox.c
3234
mraid_device_t *raid_dev = ADAP2RAIDDEV(adapter);
drivers/scsi/megaraid/megaraid_mbox.c
3306
megaraid_mbox_display_scb(adapter_t *adapter, scb_t *scb)
drivers/scsi/megaraid/megaraid_mbox.c
3353
megaraid_mbox_setup_device_map(adapter_t *adapter)
drivers/scsi/megaraid/megaraid_mbox.c
3362
adapter->device_ids[adapter->max_channel][t] =
drivers/scsi/megaraid/megaraid_mbox.c
3363
(t < adapter->init_id) ? t : t - 1;
drivers/scsi/megaraid/megaraid_mbox.c
3365
adapter->device_ids[adapter->max_channel][adapter->init_id] = 0xFF;
drivers/scsi/megaraid/megaraid_mbox.c
3370
for (c = 0; c < adapter->max_channel; c++)
drivers/scsi/megaraid/megaraid_mbox.c
3372
adapter->device_ids[c][t] = (c << 8) | t;
drivers/scsi/megaraid/megaraid_mbox.c
3396
megaraid_cmm_register(adapter_t *adapter)
drivers/scsi/megaraid/megaraid_mbox.c
3398
mraid_device_t *raid_dev = ADAP2RAIDDEV(adapter);
drivers/scsi/megaraid/megaraid_mbox.c
3406
adapter->uscb_list = kzalloc_objs(scb_t, MBOX_MAX_USER_CMDS);
drivers/scsi/megaraid/megaraid_mbox.c
3408
if (adapter->uscb_list == NULL) {
drivers/scsi/megaraid/megaraid_mbox.c
3418
INIT_LIST_HEAD(&adapter->uscb_pool);
drivers/scsi/megaraid/megaraid_mbox.c
3420
spin_lock_init(USER_FREE_LIST_LOCK(adapter));
drivers/scsi/megaraid/megaraid_mbox.c
3430
scb = adapter->uscb_list + i;
drivers/scsi/megaraid/megaraid_mbox.c
3452
list_add_tail(&scb->list, &adapter->uscb_pool);
drivers/scsi/megaraid/megaraid_mbox.c
3455
adp.unique_id = adapter->unique_id;
drivers/scsi/megaraid/megaraid_mbox.c
3457
adp.drvr_data = (unsigned long)adapter;
drivers/scsi/megaraid/megaraid_mbox.c
3458
adp.pdev = adapter->pdev;
drivers/scsi/megaraid/megaraid_mbox.c
3468
kfree(adapter->uscb_list);
drivers/scsi/megaraid/megaraid_mbox.c
3484
megaraid_cmm_unregister(adapter_t *adapter)
drivers/scsi/megaraid/megaraid_mbox.c
3486
kfree(adapter->uscb_list);
drivers/scsi/megaraid/megaraid_mbox.c
3487
mraid_mm_unregister_adp(adapter->unique_id);
drivers/scsi/megaraid/megaraid_mbox.c
3505
adapter_t *adapter;
drivers/scsi/megaraid/megaraid_mbox.c
3514
adapter = (adapter_t *)drvr_data;
drivers/scsi/megaraid/megaraid_mbox.c
3517
if (atomic_read(&adapter->being_detached)) {
drivers/scsi/megaraid/megaraid_mbox.c
3527
kioc->status = gather_hbainfo(adapter, (mraid_hba_info_t *)
drivers/scsi/megaraid/megaraid_mbox.c
3536
return megaraid_mbox_mm_command(adapter, kioc);
drivers/scsi/megaraid/megaraid_mbox.c
3555
megaraid_mbox_mm_command(adapter_t *adapter, uioc_t *kioc)
drivers/scsi/megaraid/megaraid_mbox.c
3557
struct list_head *head = &adapter->uscb_pool;
drivers/scsi/megaraid/megaraid_mbox.c
3565
spin_lock_irqsave(USER_FREE_LIST_LOCK(adapter), flags);
drivers/scsi/megaraid/megaraid_mbox.c
3572
spin_unlock_irqrestore(USER_FREE_LIST_LOCK(adapter), flags);
drivers/scsi/megaraid/megaraid_mbox.c
3580
spin_unlock_irqrestore(USER_FREE_LIST_LOCK(adapter), flags);
drivers/scsi/megaraid/megaraid_mbox.c
3600
if (wait_till_fw_empty(adapter)) {
drivers/scsi/megaraid/megaraid_mbox.c
3608
megaraid_mbox_mm_done(adapter, scb);
drivers/scsi/megaraid/megaraid_mbox.c
3616
if (mbox_post_cmd(adapter, scb) != 0) {
drivers/scsi/megaraid/megaraid_mbox.c
3625
megaraid_mbox_mm_done(adapter, scb);
drivers/scsi/megaraid/megaraid_mbox.c
3634
megaraid_mbox_runpendq(adapter, scb);
drivers/scsi/megaraid/megaraid_mbox.c
3641
wait_till_fw_empty(adapter_t *adapter)
drivers/scsi/megaraid/megaraid_mbox.c
3650
spin_lock_irqsave(&adapter->lock, flags);
drivers/scsi/megaraid/megaraid_mbox.c
3651
adapter->quiescent++;
drivers/scsi/megaraid/megaraid_mbox.c
3652
spin_unlock_irqrestore(&adapter->lock, flags);
drivers/scsi/megaraid/megaraid_mbox.c
3658
for (i = 0; i < 60 && adapter->outstanding_cmds; i++) {
drivers/scsi/megaraid/megaraid_mbox.c
3661
adapter->outstanding_cmds));
drivers/scsi/megaraid/megaraid_mbox.c
3666
return adapter->outstanding_cmds;
drivers/scsi/megaraid/megaraid_mbox.c
3679
megaraid_mbox_mm_done(adapter_t *adapter, scb_t *scb)
drivers/scsi/megaraid/megaraid_mbox.c
3696
spin_lock_irqsave(USER_FREE_LIST_LOCK(adapter), flags);
drivers/scsi/megaraid/megaraid_mbox.c
3698
list_add(&scb->list, &adapter->uscb_pool);
drivers/scsi/megaraid/megaraid_mbox.c
3700
spin_unlock_irqrestore(USER_FREE_LIST_LOCK(adapter), flags);
drivers/scsi/megaraid/megaraid_mbox.c
3706
adapter->quiescent--;
drivers/scsi/megaraid/megaraid_mbox.c
3708
megaraid_mbox_runpendq(adapter, NULL);
drivers/scsi/megaraid/megaraid_mbox.c
3723
gather_hbainfo(adapter_t *adapter, mraid_hba_info_t *hinfo)
drivers/scsi/megaraid/megaraid_mbox.c
3725
hinfo->pci_vendor_id = adapter->pdev->vendor;
drivers/scsi/megaraid/megaraid_mbox.c
3726
hinfo->pci_device_id = adapter->pdev->device;
drivers/scsi/megaraid/megaraid_mbox.c
3727
hinfo->subsys_vendor_id = adapter->pdev->subsystem_vendor;
drivers/scsi/megaraid/megaraid_mbox.c
3728
hinfo->subsys_device_id = adapter->pdev->subsystem_device;
drivers/scsi/megaraid/megaraid_mbox.c
3730
hinfo->pci_bus = adapter->pdev->bus->number;
drivers/scsi/megaraid/megaraid_mbox.c
3731
hinfo->pci_dev_fn = adapter->pdev->devfn;
drivers/scsi/megaraid/megaraid_mbox.c
3732
hinfo->pci_slot = PCI_SLOT(adapter->pdev->devfn);
drivers/scsi/megaraid/megaraid_mbox.c
3733
hinfo->irq = adapter->host->irq;
drivers/scsi/megaraid/megaraid_mbox.c
3734
hinfo->baseport = ADAP2RAIDDEV(adapter)->baseport;
drivers/scsi/megaraid/megaraid_mbox.c
3736
hinfo->unique_id = (hinfo->pci_bus << 8) | adapter->pdev->devfn;
drivers/scsi/megaraid/megaraid_mbox.c
3737
hinfo->host_no = adapter->host->host_no;
drivers/scsi/megaraid/megaraid_mbox.c
3761
megaraid_sysfs_alloc_resources(adapter_t *adapter)
drivers/scsi/megaraid/megaraid_mbox.c
3763
mraid_device_t *raid_dev = ADAP2RAIDDEV(adapter);
drivers/scsi/megaraid/megaraid_mbox.c
3770
raid_dev->sysfs_buffer = dma_alloc_coherent(&adapter->pdev->dev,
drivers/scsi/megaraid/megaraid_mbox.c
3782
megaraid_sysfs_free_resources(adapter);
drivers/scsi/megaraid/megaraid_mbox.c
3800
megaraid_sysfs_free_resources(adapter_t *adapter)
drivers/scsi/megaraid/megaraid_mbox.c
3802
mraid_device_t *raid_dev = ADAP2RAIDDEV(adapter);
drivers/scsi/megaraid/megaraid_mbox.c
3808
dma_free_coherent(&adapter->pdev->dev, PAGE_SIZE,
drivers/scsi/megaraid/megaraid_mbox.c
3823
adapter_t *adapter = (adapter_t *)uioc->buf_vaddr;
drivers/scsi/megaraid/megaraid_mbox.c
3824
mraid_device_t *raid_dev = ADAP2RAIDDEV(adapter);
drivers/scsi/megaraid/megaraid_mbox.c
3844
adapter_t *adapter = (adapter_t *)uioc->buf_vaddr;
drivers/scsi/megaraid/megaraid_mbox.c
3845
mraid_device_t *raid_dev = ADAP2RAIDDEV(adapter);
drivers/scsi/megaraid/megaraid_mbox.c
3871
megaraid_sysfs_get_ldmap(adapter_t *adapter)
drivers/scsi/megaraid/megaraid_mbox.c
3873
mraid_device_t *raid_dev = ADAP2RAIDDEV(adapter);
drivers/scsi/megaraid/megaraid_mbox.c
3898
uioc->buf_vaddr = (caddr_t)adapter;
drivers/scsi/megaraid/megaraid_mbox.c
3924
rval = megaraid_mbox_mm_command(adapter, uioc);
drivers/scsi/megaraid/megaraid_mbox.c
3980
adapter_t *adapter = (adapter_t *)SCSIHOST2ADAP(shost);
drivers/scsi/megaraid/megaraid_mbox.c
3983
app_hndl = mraid_mm_adapter_app_handle(adapter->unique_id);
drivers/scsi/megaraid/megaraid_mbox.c
4008
adapter_t *adapter = (adapter_t *)SCSIHOST2ADAP(sdev->host);
drivers/scsi/megaraid/megaraid_mbox.c
4009
mraid_device_t *raid_dev = ADAP2RAIDDEV(adapter);
drivers/scsi/megaraid/megaraid_mbox.c
4019
MRAID_IS_LOGICAL_SDEV(adapter, sdev)) {
drivers/scsi/megaraid/megaraid_mbox.c
4021
rval = megaraid_sysfs_get_ldmap(adapter);
drivers/scsi/megaraid/megaraid_mbox.c
4028
if (sdev->id > adapter->init_id) {
drivers/scsi/megaraid/megaraid_mbox.c
4041
adapter->unique_id);
drivers/scsi/megaraid/megaraid_mbox.c
409
adapter_t *adapter;
drivers/scsi/megaraid/megaraid_mbox.c
432
adapter = kzalloc_obj(adapter_t);
drivers/scsi/megaraid/megaraid_mbox.c
434
if (adapter == NULL) {
drivers/scsi/megaraid/megaraid_mbox.c
443
adapter->unique_id = pci_dev_id(pdev);
drivers/scsi/megaraid/megaraid_mbox.c
444
adapter->irq = pdev->irq;
drivers/scsi/megaraid/megaraid_mbox.c
445
adapter->pdev = pdev;
drivers/scsi/megaraid/megaraid_mbox.c
447
atomic_set(&adapter->being_detached, 0);
drivers/scsi/megaraid/megaraid_mbox.c
451
if (dma_set_mask(&adapter->pdev->dev, DMA_BIT_MASK(32))) {
drivers/scsi/megaraid/megaraid_mbox.c
460
spin_lock_init(&adapter->lock);
drivers/scsi/megaraid/megaraid_mbox.c
464
INIT_LIST_HEAD(&adapter->kscb_pool);
drivers/scsi/megaraid/megaraid_mbox.c
465
spin_lock_init(SCSI_FREE_LIST_LOCK(adapter));
drivers/scsi/megaraid/megaraid_mbox.c
467
INIT_LIST_HEAD(&adapter->pend_list);
drivers/scsi/megaraid/megaraid_mbox.c
468
spin_lock_init(PENDING_LIST_LOCK(adapter));
drivers/scsi/megaraid/megaraid_mbox.c
470
INIT_LIST_HEAD(&adapter->completed_list);
drivers/scsi/megaraid/megaraid_mbox.c
471
spin_lock_init(COMPLETED_LIST_LOCK(adapter));
drivers/scsi/megaraid/megaraid_mbox.c
475
if (megaraid_init_mbox(adapter) != 0) {
drivers/scsi/megaraid/megaraid_mbox.c
483
if (megaraid_cmm_register(adapter) != 0) {
drivers/scsi/megaraid/megaraid_mbox.c
492
pci_set_drvdata(pdev, adapter);
drivers/scsi/megaraid/megaraid_mbox.c
495
if (megaraid_io_attach(adapter) != 0) {
drivers/scsi/megaraid/megaraid_mbox.c
505
megaraid_cmm_unregister(adapter);
drivers/scsi/megaraid/megaraid_mbox.c
507
megaraid_fini_mbox(adapter);
drivers/scsi/megaraid/megaraid_mbox.c
509
kfree(adapter);
drivers/scsi/megaraid/megaraid_mbox.c
530
adapter_t *adapter;
drivers/scsi/megaraid/megaraid_mbox.c
535
adapter = pci_get_drvdata(pdev);
drivers/scsi/megaraid/megaraid_mbox.c
537
if (!adapter) {
drivers/scsi/megaraid/megaraid_mbox.c
553
host = adapter->host;
drivers/scsi/megaraid/megaraid_mbox.c
559
atomic_set(&adapter->being_detached, 1);
drivers/scsi/megaraid/megaraid_mbox.c
562
megaraid_io_detach(adapter);
drivers/scsi/megaraid/megaraid_mbox.c
568
megaraid_cmm_unregister(adapter);
drivers/scsi/megaraid/megaraid_mbox.c
571
megaraid_fini_mbox(adapter);
drivers/scsi/megaraid/megaraid_mbox.c
573
kfree(adapter);
drivers/scsi/megaraid/megaraid_mbox.c
592
adapter_t *adapter = pci_get_drvdata(pdev);
drivers/scsi/megaraid/megaraid_mbox.c
595
if (!adapter) {
drivers/scsi/megaraid/megaraid_mbox.c
605
megaraid_mbox_flush_cache(adapter);
drivers/scsi/megaraid/megaraid_mbox.c
618
megaraid_io_attach(adapter_t *adapter)
drivers/scsi/megaraid/megaraid_mbox.c
631
SCSIHOST2ADAP(host) = (caddr_t)adapter;
drivers/scsi/megaraid/megaraid_mbox.c
632
adapter->host = host;
drivers/scsi/megaraid/megaraid_mbox.c
634
host->irq = adapter->irq;
drivers/scsi/megaraid/megaraid_mbox.c
635
host->unique_id = adapter->unique_id;
drivers/scsi/megaraid/megaraid_mbox.c
636
host->can_queue = adapter->max_cmds;
drivers/scsi/megaraid/megaraid_mbox.c
637
host->this_id = adapter->init_id;
drivers/scsi/megaraid/megaraid_mbox.c
638
host->sg_tablesize = adapter->sglen;
drivers/scsi/megaraid/megaraid_mbox.c
639
host->max_sectors = adapter->max_sectors;
drivers/scsi/megaraid/megaraid_mbox.c
640
host->cmd_per_lun = adapter->cmd_per_lun;
drivers/scsi/megaraid/megaraid_mbox.c
641
host->max_channel = adapter->max_channel;
drivers/scsi/megaraid/megaraid_mbox.c
642
host->max_id = adapter->max_target;
drivers/scsi/megaraid/megaraid_mbox.c
643
host->max_lun = adapter->max_lun;
drivers/scsi/megaraid/megaraid_mbox.c
647
if (scsi_add_host(host, &adapter->pdev->dev)) {
drivers/scsi/megaraid/megaraid_mbox.c
670
megaraid_io_detach(adapter_t *adapter)
drivers/scsi/megaraid/megaraid_mbox.c
676
host = adapter->host;
drivers/scsi/megaraid/megaraid_mbox.c
701
megaraid_init_mbox(adapter_t *adapter)
drivers/scsi/megaraid/megaraid_mbox.c
709
adapter->ito = MBOX_TIMEOUT;
drivers/scsi/megaraid/megaraid_mbox.c
710
pdev = adapter->pdev;
drivers/scsi/megaraid/megaraid_mbox.c
723
adapter->raid_device = (caddr_t)raid_dev;
drivers/scsi/megaraid/megaraid_mbox.c
752
if (megaraid_alloc_cmd_packets(adapter) != 0)
drivers/scsi/megaraid/megaraid_mbox.c
760
if (megaraid_mbox_fire_sync_cmd(adapter))
drivers/scsi/megaraid/megaraid_mbox.c
769
if (request_irq(adapter->irq, megaraid_isr, IRQF_SHARED, "megaraid",
drivers/scsi/megaraid/megaraid_mbox.c
770
adapter)) {
drivers/scsi/megaraid/megaraid_mbox.c
773
"megaraid: Couldn't register IRQ %d!\n", adapter->irq));
drivers/scsi/megaraid/megaraid_mbox.c
779
if (megaraid_mbox_product_info(adapter) != 0)
drivers/scsi/megaraid/megaraid_mbox.c
783
adapter->max_cdb_sz = 10;
drivers/scsi/megaraid/megaraid_mbox.c
784
if (megaraid_mbox_extended_cdb(adapter) == 0) {
drivers/scsi/megaraid/megaraid_mbox.c
785
adapter->max_cdb_sz = 16;
drivers/scsi/megaraid/megaraid_mbox.c
794
adapter->ha = 0;
drivers/scsi/megaraid/megaraid_mbox.c
795
adapter->init_id = -1;
drivers/scsi/megaraid/megaraid_mbox.c
796
if (megaraid_mbox_support_ha(adapter, &adapter->init_id) == 0) {
drivers/scsi/megaraid/megaraid_mbox.c
797
adapter->ha = 1;
drivers/scsi/megaraid/megaraid_mbox.c
806
megaraid_mbox_setup_device_map(adapter);
drivers/scsi/megaraid/megaraid_mbox.c
809
if (megaraid_mbox_support_random_del(adapter)) {
drivers/scsi/megaraid/megaraid_mbox.c
815
adapter->device_ids[adapter->max_channel][i] += 0x80;
drivers/scsi/megaraid/megaraid_mbox.c
817
adapter->device_ids[adapter->max_channel][adapter->init_id] =
drivers/scsi/megaraid/megaraid_mbox.c
827
adapter->sglen = megaraid_mbox_get_max_sg(adapter);
drivers/scsi/megaraid/megaraid_mbox.c
831
megaraid_mbox_enum_raid_scsi(adapter);
drivers/scsi/megaraid/megaraid_mbox.c
838
adapter->max_sectors = megaraid_max_sectors;
drivers/scsi/megaraid/megaraid_mbox.c
843
adapter->cmd_per_lun = megaraid_cmd_per_lun;
drivers/scsi/megaraid/megaraid_mbox.c
849
if (megaraid_sysfs_alloc_resources(adapter) != 0)
drivers/scsi/megaraid/megaraid_mbox.c
854
pci_read_config_dword(adapter->pdev, PCI_CONF_AMISIG64, &magic64);
drivers/scsi/megaraid/megaraid_mbox.c
857
((adapter->pdev->subsystem_device !=
drivers/scsi/megaraid/megaraid_mbox.c
859
(adapter->pdev->subsystem_device !=
drivers/scsi/megaraid/megaraid_mbox.c
861
(adapter->pdev->vendor == PCI_VENDOR_ID_LSI_LOGIC &&
drivers/scsi/megaraid/megaraid_mbox.c
862
adapter->pdev->device == PCI_DEVICE_ID_VERDE) ||
drivers/scsi/megaraid/megaraid_mbox.c
863
(adapter->pdev->vendor == PCI_VENDOR_ID_LSI_LOGIC &&
drivers/scsi/megaraid/megaraid_mbox.c
864
adapter->pdev->device == PCI_DEVICE_ID_DOBSON) ||
drivers/scsi/megaraid/megaraid_mbox.c
865
(adapter->pdev->vendor == PCI_VENDOR_ID_LSI_LOGIC &&
drivers/scsi/megaraid/megaraid_mbox.c
866
adapter->pdev->device == PCI_DEVICE_ID_LINDSAY) ||
drivers/scsi/megaraid/megaraid_mbox.c
867
(adapter->pdev->vendor == PCI_VENDOR_ID_DELL &&
drivers/scsi/megaraid/megaraid_mbox.c
868
adapter->pdev->device == PCI_DEVICE_ID_PERC4_DI_EVERGLADES) ||
drivers/scsi/megaraid/megaraid_mbox.c
869
(adapter->pdev->vendor == PCI_VENDOR_ID_DELL &&
drivers/scsi/megaraid/megaraid_mbox.c
870
adapter->pdev->device == PCI_DEVICE_ID_PERC4E_DI_KOBUK)) {
drivers/scsi/megaraid/megaraid_mbox.c
871
if (dma_set_mask(&adapter->pdev->dev, DMA_BIT_MASK(64))) {
drivers/scsi/megaraid/megaraid_mbox.c
875
if (dma_set_mask(&adapter->pdev->dev,
drivers/scsi/megaraid/megaraid_mbox.c
885
tasklet_init(&adapter->dpc_h, megaraid_mbox_dpc,
drivers/scsi/megaraid/megaraid_mbox.c
886
(unsigned long)adapter);
drivers/scsi/megaraid/megaraid_mbox.c
894
megaraid_sysfs_free_resources(adapter);
drivers/scsi/megaraid/megaraid_mbox.c
896
free_irq(adapter->irq, adapter);
drivers/scsi/megaraid/megaraid_mbox.c
898
megaraid_free_cmd_packets(adapter);
drivers/scsi/megaraid/megaraid_mbox.c
915
megaraid_fini_mbox(adapter_t *adapter)
drivers/scsi/megaraid/megaraid_mbox.c
917
mraid_device_t *raid_dev = ADAP2RAIDDEV(adapter);
drivers/scsi/megaraid/megaraid_mbox.c
920
megaraid_mbox_flush_cache(adapter);
drivers/scsi/megaraid/megaraid_mbox.c
922
tasklet_kill(&adapter->dpc_h);
drivers/scsi/megaraid/megaraid_mbox.c
924
megaraid_sysfs_free_resources(adapter);
drivers/scsi/megaraid/megaraid_mbox.c
926
megaraid_free_cmd_packets(adapter);
drivers/scsi/megaraid/megaraid_mbox.c
928
free_irq(adapter->irq, adapter);
drivers/scsi/megaraid/megaraid_mbox.c
932
pci_release_regions(adapter->pdev);
drivers/scsi/megaraid/megaraid_mbox.c
950
megaraid_alloc_cmd_packets(adapter_t *adapter)
drivers/scsi/megaraid/megaraid_mbox.c
952
mraid_device_t *raid_dev = ADAP2RAIDDEV(adapter);
drivers/scsi/megaraid/megaraid_mbox.c
962
pdev = adapter->pdev;
drivers/scsi/megaraid/megaraid_mbox.c
969
raid_dev->una_mbox64 = dma_alloc_coherent(&adapter->pdev->dev,
drivers/scsi/megaraid/megaraid_mbox.c
998
adapter->ibuf = dma_alloc_coherent(&pdev->dev, MBOX_IBUF_SIZE,
drivers/scsi/megaraid/megaraid_mbox.c
999
&adapter->ibuf_dma_h, GFP_KERNEL);
drivers/scsi/megaraid/megaraid_mm.c
1001
kioc = adapter->kioc_list + i;
drivers/scsi/megaraid/megaraid_mm.c
1003
dma_pool_free(adapter->pthru_dma_pool, kioc->pthru32,
drivers/scsi/megaraid/megaraid_mm.c
1010
kfree(adapter->kioc_list);
drivers/scsi/megaraid/megaraid_mm.c
1011
kfree(adapter->mbox_list);
drivers/scsi/megaraid/megaraid_mm.c
1013
dma_pool_destroy(adapter->pthru_dma_pool);
drivers/scsi/megaraid/megaraid_mm.c
1015
kfree(adapter);
drivers/scsi/megaraid/megaraid_mm.c
1035
mraid_mmadp_t *adapter;
drivers/scsi/megaraid/megaraid_mm.c
1039
list_for_each_entry_safe(adapter, tmp, &adapters_list_g, list) {
drivers/scsi/megaraid/megaraid_mm.c
1041
if (adapter->unique_id == unique_id) {
drivers/scsi/megaraid/megaraid_mm.c
1117
mraid_mmadp_t *adapter;
drivers/scsi/megaraid/megaraid_mm.c
1120
list_for_each_entry_safe(adapter, tmp, &adapters_list_g, list) {
drivers/scsi/megaraid/megaraid_mm.c
1123
if (adapter->unique_id == unique_id) {
drivers/scsi/megaraid/megaraid_mm.c
1127
list_del_init(&adapter->list);
drivers/scsi/megaraid/megaraid_mm.c
1129
mraid_mm_free_adp_resources(adapter);
drivers/scsi/megaraid/megaraid_mm.c
1131
kfree(adapter);
drivers/scsi/megaraid/megaraid_mm.c
237
mraid_mmadp_t *adapter;
drivers/scsi/megaraid/megaraid_mm.c
255
adapter = NULL;
drivers/scsi/megaraid/megaraid_mm.c
259
list_for_each_entry(adapter, &adapters_list_g, list) {
drivers/scsi/megaraid/megaraid_mm.c
271
return adapter;
drivers/scsi/megaraid/megaraid_mm.c
731
mraid_mmadp_t* adapter;
drivers/scsi/megaraid/megaraid_mm.c
753
adapter = NULL;
drivers/scsi/megaraid/megaraid_mm.c
760
list_for_each_entry(adapter, &adapters_list_g, list) {
drivers/scsi/megaraid/megaraid_mm.c
770
mraid_mm_dealloc_kioc( adapter, kioc );
drivers/scsi/megaraid/megaraid_mm.c
906
mraid_mmadp_t *adapter;
drivers/scsi/megaraid/megaraid_mm.c
916
adapter = kzalloc_obj(mraid_mmadp_t);
drivers/scsi/megaraid/megaraid_mm.c
918
if (!adapter)
drivers/scsi/megaraid/megaraid_mm.c
922
adapter->unique_id = lld_adp->unique_id;
drivers/scsi/megaraid/megaraid_mm.c
923
adapter->drvr_type = lld_adp->drvr_type;
drivers/scsi/megaraid/megaraid_mm.c
924
adapter->drvr_data = lld_adp->drvr_data;
drivers/scsi/megaraid/megaraid_mm.c
925
adapter->pdev = lld_adp->pdev;
drivers/scsi/megaraid/megaraid_mm.c
926
adapter->issue_uioc = lld_adp->issue_uioc;
drivers/scsi/megaraid/megaraid_mm.c
927
adapter->timeout = lld_adp->timeout;
drivers/scsi/megaraid/megaraid_mm.c
928
adapter->max_kioc = lld_adp->max_kioc;
drivers/scsi/megaraid/megaraid_mm.c
929
adapter->quiescent = 1;
drivers/scsi/megaraid/megaraid_mm.c
935
adapter->kioc_list = kmalloc_objs(uioc_t, lld_adp->max_kioc);
drivers/scsi/megaraid/megaraid_mm.c
936
adapter->mbox_list = kmalloc_objs(mbox64_t, lld_adp->max_kioc);
drivers/scsi/megaraid/megaraid_mm.c
937
adapter->pthru_dma_pool = dma_pool_create("megaraid mm pthru pool",
drivers/scsi/megaraid/megaraid_mm.c
938
&adapter->pdev->dev,
drivers/scsi/megaraid/megaraid_mm.c
942
if (!adapter->kioc_list || !adapter->mbox_list ||
drivers/scsi/megaraid/megaraid_mm.c
943
!adapter->pthru_dma_pool) {
drivers/scsi/megaraid/megaraid_mm.c
957
INIT_LIST_HEAD(&adapter->kioc_pool);
drivers/scsi/megaraid/megaraid_mm.c
958
spin_lock_init(&adapter->kioc_pool_lock);
drivers/scsi/megaraid/megaraid_mm.c
959
sema_init(&adapter->kioc_semaphore, lld_adp->max_kioc);
drivers/scsi/megaraid/megaraid_mm.c
961
mbox_list = (mbox64_t *)adapter->mbox_list;
drivers/scsi/megaraid/megaraid_mm.c
965
kioc = adapter->kioc_list + i;
drivers/scsi/megaraid/megaraid_mm.c
967
kioc->pthru32 = dma_pool_alloc(adapter->pthru_dma_pool,
drivers/scsi/megaraid/megaraid_mm.c
981
list_add_tail(&kioc->list, &adapter->kioc_pool);
drivers/scsi/megaraid/megaraid_mm.c
985
if ((rval = mraid_mm_setup_dma_pools(adapter)) != 0) {
drivers/scsi/megaraid/megaraid_mm.c
989
list_add_tail(&adapter->list, &adapters_list_g);
drivers/scsi/vmw_pvscsi.c
1005
struct pvscsi_adapter *adapter = shost_priv(host);
drivers/scsi/vmw_pvscsi.c
1009
"%u/%u/%u pages, cmd_per_lun=%u", adapter->rev,
drivers/scsi/vmw_pvscsi.c
1010
adapter->req_pages, adapter->cmp_pages, adapter->msg_pages,
drivers/scsi/vmw_pvscsi.c
1033
static void pvscsi_process_msg(const struct pvscsi_adapter *adapter,
drivers/scsi/vmw_pvscsi.c
1036
struct PVSCSIRingsState *s = adapter->rings_state;
drivers/scsi/vmw_pvscsi.c
1037
struct Scsi_Host *host = adapter->host;
drivers/scsi/vmw_pvscsi.c
1062
scsi_add_device(adapter->host, desc->bus,
drivers/scsi/vmw_pvscsi.c
1091
static int pvscsi_msg_pending(const struct pvscsi_adapter *adapter)
drivers/scsi/vmw_pvscsi.c
1093
struct PVSCSIRingsState *s = adapter->rings_state;
drivers/scsi/vmw_pvscsi.c
1098
static void pvscsi_process_msg_ring(const struct pvscsi_adapter *adapter)
drivers/scsi/vmw_pvscsi.c
1100
struct PVSCSIRingsState *s = adapter->rings_state;
drivers/scsi/vmw_pvscsi.c
1101
struct PVSCSIRingMsgDesc *ring = adapter->msg_ring;
drivers/scsi/vmw_pvscsi.c
1104
while (pvscsi_msg_pending(adapter)) {
drivers/scsi/vmw_pvscsi.c
1109
pvscsi_process_msg(adapter, e);
drivers/scsi/vmw_pvscsi.c
1117
struct pvscsi_adapter *adapter;
drivers/scsi/vmw_pvscsi.c
1119
adapter = container_of(data, struct pvscsi_adapter, work);
drivers/scsi/vmw_pvscsi.c
1121
pvscsi_process_msg_ring(adapter);
drivers/scsi/vmw_pvscsi.c
1124
static int pvscsi_setup_msg_workqueue(struct pvscsi_adapter *adapter)
drivers/scsi/vmw_pvscsi.c
1131
pvscsi_reg_write(adapter, PVSCSI_REG_OFFSET_COMMAND,
drivers/scsi/vmw_pvscsi.c
1134
if (pvscsi_reg_read(adapter, PVSCSI_REG_OFFSET_COMMAND_STATUS) == -1)
drivers/scsi/vmw_pvscsi.c
1138
"vmw_pvscsi_wq_%u", adapter->host->host_no);
drivers/scsi/vmw_pvscsi.c
1140
adapter->workqueue =
drivers/scsi/vmw_pvscsi.c
1142
if (!adapter->workqueue) {
drivers/scsi/vmw_pvscsi.c
1146
INIT_WORK(&adapter->work, pvscsi_msg_workqueue_handler);
drivers/scsi/vmw_pvscsi.c
1151
static bool pvscsi_setup_req_threshold(struct pvscsi_adapter *adapter,
drivers/scsi/vmw_pvscsi.c
1159
pvscsi_reg_write(adapter, PVSCSI_REG_OFFSET_COMMAND,
drivers/scsi/vmw_pvscsi.c
1161
val = pvscsi_reg_read(adapter, PVSCSI_REG_OFFSET_COMMAND_STATUS);
drivers/scsi/vmw_pvscsi.c
1171
pvscsi_write_cmd_desc(adapter,
drivers/scsi/vmw_pvscsi.c
1174
return pvscsi_reg_read(adapter,
drivers/scsi/vmw_pvscsi.c
1181
struct pvscsi_adapter *adapter = devp;
drivers/scsi/vmw_pvscsi.c
1184
spin_lock_irqsave(&adapter->hw_lock, flags);
drivers/scsi/vmw_pvscsi.c
1185
pvscsi_process_completion_ring(adapter);
drivers/scsi/vmw_pvscsi.c
1186
if (adapter->use_msg && pvscsi_msg_pending(adapter))
drivers/scsi/vmw_pvscsi.c
1187
queue_work(adapter->workqueue, &adapter->work);
drivers/scsi/vmw_pvscsi.c
1188
spin_unlock_irqrestore(&adapter->hw_lock, flags);
drivers/scsi/vmw_pvscsi.c
1195
struct pvscsi_adapter *adapter = devp;
drivers/scsi/vmw_pvscsi.c
1196
u32 val = pvscsi_read_intr_status(adapter);
drivers/scsi/vmw_pvscsi.c
1204
static void pvscsi_free_sgls(const struct pvscsi_adapter *adapter)
drivers/scsi/vmw_pvscsi.c
1206
struct pvscsi_ctx *ctx = adapter->cmd_map;
drivers/scsi/vmw_pvscsi.c
1209
for (i = 0; i < adapter->req_depth; ++i, ++ctx)
drivers/scsi/vmw_pvscsi.c
1213
static void pvscsi_shutdown_intr(struct pvscsi_adapter *adapter)
drivers/scsi/vmw_pvscsi.c
1215
free_irq(pci_irq_vector(adapter->dev, 0), adapter);
drivers/scsi/vmw_pvscsi.c
1216
pci_free_irq_vectors(adapter->dev);
drivers/scsi/vmw_pvscsi.c
1219
static void pvscsi_release_resources(struct pvscsi_adapter *adapter)
drivers/scsi/vmw_pvscsi.c
1221
if (adapter->workqueue)
drivers/scsi/vmw_pvscsi.c
1222
destroy_workqueue(adapter->workqueue);
drivers/scsi/vmw_pvscsi.c
1224
if (adapter->mmioBase)
drivers/scsi/vmw_pvscsi.c
1225
pci_iounmap(adapter->dev, adapter->mmioBase);
drivers/scsi/vmw_pvscsi.c
1227
pci_release_regions(adapter->dev);
drivers/scsi/vmw_pvscsi.c
1229
if (adapter->cmd_map) {
drivers/scsi/vmw_pvscsi.c
1230
pvscsi_free_sgls(adapter);
drivers/scsi/vmw_pvscsi.c
1231
kfree(adapter->cmd_map);
drivers/scsi/vmw_pvscsi.c
1234
if (adapter->rings_state)
drivers/scsi/vmw_pvscsi.c
1235
dma_free_coherent(&adapter->dev->dev, PAGE_SIZE,
drivers/scsi/vmw_pvscsi.c
1236
adapter->rings_state, adapter->ringStatePA);
drivers/scsi/vmw_pvscsi.c
1238
if (adapter->req_ring)
drivers/scsi/vmw_pvscsi.c
1239
dma_free_coherent(&adapter->dev->dev,
drivers/scsi/vmw_pvscsi.c
1240
adapter->req_pages * PAGE_SIZE,
drivers/scsi/vmw_pvscsi.c
1241
adapter->req_ring, adapter->reqRingPA);
drivers/scsi/vmw_pvscsi.c
1243
if (adapter->cmp_ring)
drivers/scsi/vmw_pvscsi.c
1244
dma_free_coherent(&adapter->dev->dev,
drivers/scsi/vmw_pvscsi.c
1245
adapter->cmp_pages * PAGE_SIZE,
drivers/scsi/vmw_pvscsi.c
1246
adapter->cmp_ring, adapter->cmpRingPA);
drivers/scsi/vmw_pvscsi.c
1248
if (adapter->msg_ring)
drivers/scsi/vmw_pvscsi.c
1249
dma_free_coherent(&adapter->dev->dev,
drivers/scsi/vmw_pvscsi.c
1250
adapter->msg_pages * PAGE_SIZE,
drivers/scsi/vmw_pvscsi.c
1251
adapter->msg_ring, adapter->msgRingPA);
drivers/scsi/vmw_pvscsi.c
1267
static int pvscsi_allocate_sg(struct pvscsi_adapter *adapter)
drivers/scsi/vmw_pvscsi.c
1272
ctx = adapter->cmd_map;
drivers/scsi/vmw_pvscsi.c
1275
for (i = 0; i < adapter->req_depth; ++i, ++ctx) {
drivers/scsi/vmw_pvscsi.c
1298
static u32 pvscsi_get_max_targets(struct pvscsi_adapter *adapter)
drivers/scsi/vmw_pvscsi.c
1307
dev = pvscsi_dev(adapter);
drivers/scsi/vmw_pvscsi.c
1308
config_page = dma_alloc_coherent(&adapter->dev->dev, PAGE_SIZE,
drivers/scsi/vmw_pvscsi.c
1331
pvscsi_write_cmd_desc(adapter, PVSCSI_CMD_CONFIG, &cmd, sizeof cmd);
drivers/scsi/vmw_pvscsi.c
1342
dma_free_coherent(&adapter->dev->dev, PAGE_SIZE, config_page,
drivers/scsi/vmw_pvscsi.c
1351
struct pvscsi_adapter *adapter;
drivers/scsi/vmw_pvscsi.c
1377
adapter = &adapter_temp;
drivers/scsi/vmw_pvscsi.c
1378
memset(adapter, 0, sizeof(*adapter));
drivers/scsi/vmw_pvscsi.c
1379
adapter->dev = pdev;
drivers/scsi/vmw_pvscsi.c
1380
adapter->rev = pdev->revision;
drivers/scsi/vmw_pvscsi.c
1403
adapter->mmioBase = pci_iomap(pdev, i, PVSCSI_MEM_SPACE_SIZE);
drivers/scsi/vmw_pvscsi.c
1405
if (!adapter->mmioBase) {
drivers/scsi/vmw_pvscsi.c
1418
max_id = pvscsi_get_max_targets(adapter);
drivers/scsi/vmw_pvscsi.c
1447
adapter = shost_priv(host);
drivers/scsi/vmw_pvscsi.c
1448
memset(adapter, 0, sizeof(*adapter));
drivers/scsi/vmw_pvscsi.c
1449
adapter->dev = pdev;
drivers/scsi/vmw_pvscsi.c
1450
adapter->host = host;
drivers/scsi/vmw_pvscsi.c
1454
adapter->rev = adapter_temp.rev;
drivers/scsi/vmw_pvscsi.c
1455
adapter->mmioBase = adapter_temp.mmioBase;
drivers/scsi/vmw_pvscsi.c
1457
spin_lock_init(&adapter->hw_lock);
drivers/scsi/vmw_pvscsi.c
1465
ll_adapter_reset(adapter);
drivers/scsi/vmw_pvscsi.c
1467
adapter->use_msg = pvscsi_setup_msg_workqueue(adapter);
drivers/scsi/vmw_pvscsi.c
1469
error = pvscsi_allocate_rings(adapter);
drivers/scsi/vmw_pvscsi.c
1479
pvscsi_setup_all_rings(adapter);
drivers/scsi/vmw_pvscsi.c
1481
adapter->cmd_map = kzalloc_objs(struct pvscsi_ctx, adapter->req_depth);
drivers/scsi/vmw_pvscsi.c
1482
if (!adapter->cmd_map) {
drivers/scsi/vmw_pvscsi.c
1488
INIT_LIST_HEAD(&adapter->cmd_pool);
drivers/scsi/vmw_pvscsi.c
1489
for (i = 0; i < adapter->req_depth; i++) {
drivers/scsi/vmw_pvscsi.c
149
pvscsi_dev(const struct pvscsi_adapter *adapter)
drivers/scsi/vmw_pvscsi.c
1490
struct pvscsi_ctx *ctx = adapter->cmd_map + i;
drivers/scsi/vmw_pvscsi.c
1491
list_add(&ctx->list, &adapter->cmd_pool);
drivers/scsi/vmw_pvscsi.c
1494
error = pvscsi_allocate_sg(adapter);
drivers/scsi/vmw_pvscsi.c
1505
error = pci_alloc_irq_vectors(adapter->dev, 1, 1, irq_flag);
drivers/scsi/vmw_pvscsi.c
1509
adapter->use_req_threshold = pvscsi_setup_req_threshold(adapter, true);
drivers/scsi/vmw_pvscsi.c
151
return &(adapter->dev->dev);
drivers/scsi/vmw_pvscsi.c
1511
adapter->use_req_threshold ? "en" : "dis");
drivers/scsi/vmw_pvscsi.c
1513
if (adapter->dev->msix_enabled || adapter->dev->msi_enabled) {
drivers/scsi/vmw_pvscsi.c
1515
adapter->dev->msix_enabled ? "-X" : "");
drivers/scsi/vmw_pvscsi.c
1517
0, "vmw_pvscsi", adapter);
drivers/scsi/vmw_pvscsi.c
1521
IRQF_SHARED, "vmw_pvscsi", adapter);
drivers/scsi/vmw_pvscsi.c
1538
adapter->rev, host->host_no);
drivers/scsi/vmw_pvscsi.c
1540
pvscsi_unmask_intr(adapter);
drivers/scsi/vmw_pvscsi.c
1547
ll_adapter_reset(adapter);
drivers/scsi/vmw_pvscsi.c
1549
pvscsi_shutdown_intr(adapter);
drivers/scsi/vmw_pvscsi.c
155
pvscsi_find_context(const struct pvscsi_adapter *adapter, struct scsi_cmnd *cmd)
drivers/scsi/vmw_pvscsi.c
1550
pvscsi_release_resources(adapter);
drivers/scsi/vmw_pvscsi.c
1558
pvscsi_shutdown_intr(adapter);
drivers/scsi/vmw_pvscsi.c
1559
pvscsi_release_resources(adapter);
drivers/scsi/vmw_pvscsi.c
1563
static void __pvscsi_shutdown(struct pvscsi_adapter *adapter)
drivers/scsi/vmw_pvscsi.c
1565
pvscsi_mask_intr(adapter);
drivers/scsi/vmw_pvscsi.c
1567
if (adapter->workqueue)
drivers/scsi/vmw_pvscsi.c
1568
flush_workqueue(adapter->workqueue);
drivers/scsi/vmw_pvscsi.c
1570
pvscsi_shutdown_intr(adapter);
drivers/scsi/vmw_pvscsi.c
1572
pvscsi_process_request_ring(adapter);
drivers/scsi/vmw_pvscsi.c
1573
pvscsi_process_completion_ring(adapter);
drivers/scsi/vmw_pvscsi.c
1574
ll_adapter_reset(adapter);
drivers/scsi/vmw_pvscsi.c
1580
struct pvscsi_adapter *adapter = shost_priv(host);
drivers/scsi/vmw_pvscsi.c
1582
__pvscsi_shutdown(adapter);
drivers/scsi/vmw_pvscsi.c
1588
struct pvscsi_adapter *adapter = shost_priv(host);
drivers/scsi/vmw_pvscsi.c
159
end = &adapter->cmd_map[adapter->req_depth];
drivers/scsi/vmw_pvscsi.c
1592
__pvscsi_shutdown(adapter);
drivers/scsi/vmw_pvscsi.c
1593
pvscsi_release_resources(adapter);
drivers/scsi/vmw_pvscsi.c
160
for (ctx = adapter->cmd_map; ctx < end; ctx++)
drivers/scsi/vmw_pvscsi.c
168
pvscsi_acquire_context(struct pvscsi_adapter *adapter, struct scsi_cmnd *cmd)
drivers/scsi/vmw_pvscsi.c
172
if (list_empty(&adapter->cmd_pool))
drivers/scsi/vmw_pvscsi.c
175
ctx = list_first_entry(&adapter->cmd_pool, struct pvscsi_ctx, list);
drivers/scsi/vmw_pvscsi.c
182
static void pvscsi_release_context(struct pvscsi_adapter *adapter,
drivers/scsi/vmw_pvscsi.c
187
list_add(&ctx->list, &adapter->cmd_pool);
drivers/scsi/vmw_pvscsi.c
195
static u64 pvscsi_map_context(const struct pvscsi_adapter *adapter,
drivers/scsi/vmw_pvscsi.c
198
return ctx - adapter->cmd_map + 1;
drivers/scsi/vmw_pvscsi.c
202
pvscsi_get_context(const struct pvscsi_adapter *adapter, u64 context)
drivers/scsi/vmw_pvscsi.c
204
return &adapter->cmd_map[context - 1];
drivers/scsi/vmw_pvscsi.c
207
static void pvscsi_reg_write(const struct pvscsi_adapter *adapter,
drivers/scsi/vmw_pvscsi.c
210
writel(val, adapter->mmioBase + offset);
drivers/scsi/vmw_pvscsi.c
213
static u32 pvscsi_reg_read(const struct pvscsi_adapter *adapter, u32 offset)
drivers/scsi/vmw_pvscsi.c
215
return readl(adapter->mmioBase + offset);
drivers/scsi/vmw_pvscsi.c
218
static u32 pvscsi_read_intr_status(const struct pvscsi_adapter *adapter)
drivers/scsi/vmw_pvscsi.c
220
return pvscsi_reg_read(adapter, PVSCSI_REG_OFFSET_INTR_STATUS);
drivers/scsi/vmw_pvscsi.c
223
static void pvscsi_write_intr_status(const struct pvscsi_adapter *adapter,
drivers/scsi/vmw_pvscsi.c
226
pvscsi_reg_write(adapter, PVSCSI_REG_OFFSET_INTR_STATUS, val);
drivers/scsi/vmw_pvscsi.c
229
static void pvscsi_unmask_intr(const struct pvscsi_adapter *adapter)
drivers/scsi/vmw_pvscsi.c
234
if (adapter->use_msg)
drivers/scsi/vmw_pvscsi.c
237
pvscsi_reg_write(adapter, PVSCSI_REG_OFFSET_INTR_MASK, intr_bits);
drivers/scsi/vmw_pvscsi.c
240
static void pvscsi_mask_intr(const struct pvscsi_adapter *adapter)
drivers/scsi/vmw_pvscsi.c
242
pvscsi_reg_write(adapter, PVSCSI_REG_OFFSET_INTR_MASK, 0);
drivers/scsi/vmw_pvscsi.c
245
static void pvscsi_write_cmd_desc(const struct pvscsi_adapter *adapter,
drivers/scsi/vmw_pvscsi.c
252
pvscsi_reg_write(adapter, PVSCSI_REG_OFFSET_COMMAND, cmd);
drivers/scsi/vmw_pvscsi.c
254
pvscsi_reg_write(adapter,
drivers/scsi/vmw_pvscsi.c
258
static void pvscsi_abort_cmd(const struct pvscsi_adapter *adapter,
drivers/scsi/vmw_pvscsi.c
264
cmd.context = pvscsi_map_context(adapter, ctx);
drivers/scsi/vmw_pvscsi.c
266
pvscsi_write_cmd_desc(adapter, PVSCSI_CMD_ABORT_CMD, &cmd, sizeof(cmd));
drivers/scsi/vmw_pvscsi.c
269
static void pvscsi_kick_rw_io(const struct pvscsi_adapter *adapter)
drivers/scsi/vmw_pvscsi.c
271
pvscsi_reg_write(adapter, PVSCSI_REG_OFFSET_KICK_RW_IO, 0);
drivers/scsi/vmw_pvscsi.c
274
static void pvscsi_process_request_ring(const struct pvscsi_adapter *adapter)
drivers/scsi/vmw_pvscsi.c
276
pvscsi_reg_write(adapter, PVSCSI_REG_OFFSET_KICK_NON_RW_IO, 0);
drivers/scsi/vmw_pvscsi.c
287
static void pvscsi_kick_io(const struct pvscsi_adapter *adapter,
drivers/scsi/vmw_pvscsi.c
291
struct PVSCSIRingsState *s = adapter->rings_state;
drivers/scsi/vmw_pvscsi.c
293
if (!adapter->use_req_threshold ||
drivers/scsi/vmw_pvscsi.c
295
pvscsi_kick_rw_io(adapter);
drivers/scsi/vmw_pvscsi.c
297
pvscsi_process_request_ring(adapter);
drivers/scsi/vmw_pvscsi.c
301
static void ll_adapter_reset(const struct pvscsi_adapter *adapter)
drivers/scsi/vmw_pvscsi.c
303
dev_dbg(pvscsi_dev(adapter), "Adapter Reset on %p\n", adapter);
drivers/scsi/vmw_pvscsi.c
305
pvscsi_write_cmd_desc(adapter, PVSCSI_CMD_ADAPTER_RESET, NULL, 0);
drivers/scsi/vmw_pvscsi.c
308
static void ll_bus_reset(const struct pvscsi_adapter *adapter)
drivers/scsi/vmw_pvscsi.c
310
dev_dbg(pvscsi_dev(adapter), "Resetting bus on %p\n", adapter);
drivers/scsi/vmw_pvscsi.c
312
pvscsi_write_cmd_desc(adapter, PVSCSI_CMD_RESET_BUS, NULL, 0);
drivers/scsi/vmw_pvscsi.c
315
static void ll_device_reset(const struct pvscsi_adapter *adapter, u32 target)
drivers/scsi/vmw_pvscsi.c
319
dev_dbg(pvscsi_dev(adapter), "Resetting device: target=%u\n", target);
drivers/scsi/vmw_pvscsi.c
323
pvscsi_write_cmd_desc(adapter, PVSCSI_CMD_RESET_DEVICE,
drivers/scsi/vmw_pvscsi.c
347
static int pvscsi_map_buffers(struct pvscsi_adapter *adapter,
drivers/scsi/vmw_pvscsi.c
373
ctx->sglPA = dma_map_single(&adapter->dev->dev,
drivers/scsi/vmw_pvscsi.c
375
if (dma_mapping_error(&adapter->dev->dev, ctx->sglPA)) {
drivers/scsi/vmw_pvscsi.c
390
ctx->dataPA = dma_map_single(&adapter->dev->dev, sg, bufflen,
drivers/scsi/vmw_pvscsi.c
392
if (dma_mapping_error(&adapter->dev->dev, ctx->dataPA)) {
drivers/scsi/vmw_pvscsi.c
414
static void pvscsi_unmap_buffers(const struct pvscsi_adapter *adapter,
drivers/scsi/vmw_pvscsi.c
429
dma_unmap_single(&adapter->dev->dev, ctx->sglPA,
drivers/scsi/vmw_pvscsi.c
434
dma_unmap_single(&adapter->dev->dev, ctx->dataPA,
drivers/scsi/vmw_pvscsi.c
438
dma_unmap_single(&adapter->dev->dev, ctx->sensePA,
drivers/scsi/vmw_pvscsi.c
442
static int pvscsi_allocate_rings(struct pvscsi_adapter *adapter)
drivers/scsi/vmw_pvscsi.c
444
adapter->rings_state = dma_alloc_coherent(&adapter->dev->dev, PAGE_SIZE,
drivers/scsi/vmw_pvscsi.c
445
&adapter->ringStatePA, GFP_KERNEL);
drivers/scsi/vmw_pvscsi.c
446
if (!adapter->rings_state)
drivers/scsi/vmw_pvscsi.c
449
adapter->req_pages = min(PVSCSI_MAX_NUM_PAGES_REQ_RING,
drivers/scsi/vmw_pvscsi.c
451
adapter->req_depth = adapter->req_pages
drivers/scsi/vmw_pvscsi.c
453
adapter->req_ring = dma_alloc_coherent(&adapter->dev->dev,
drivers/scsi/vmw_pvscsi.c
454
adapter->req_pages * PAGE_SIZE, &adapter->reqRingPA,
drivers/scsi/vmw_pvscsi.c
456
if (!adapter->req_ring)
drivers/scsi/vmw_pvscsi.c
459
adapter->cmp_pages = min(PVSCSI_MAX_NUM_PAGES_CMP_RING,
drivers/scsi/vmw_pvscsi.c
461
adapter->cmp_ring = dma_alloc_coherent(&adapter->dev->dev,
drivers/scsi/vmw_pvscsi.c
462
adapter->cmp_pages * PAGE_SIZE, &adapter->cmpRingPA,
drivers/scsi/vmw_pvscsi.c
464
if (!adapter->cmp_ring)
drivers/scsi/vmw_pvscsi.c
467
BUG_ON(!IS_ALIGNED(adapter->ringStatePA, PAGE_SIZE));
drivers/scsi/vmw_pvscsi.c
468
BUG_ON(!IS_ALIGNED(adapter->reqRingPA, PAGE_SIZE));
drivers/scsi/vmw_pvscsi.c
469
BUG_ON(!IS_ALIGNED(adapter->cmpRingPA, PAGE_SIZE));
drivers/scsi/vmw_pvscsi.c
471
if (!adapter->use_msg)
drivers/scsi/vmw_pvscsi.c
474
adapter->msg_pages = min(PVSCSI_MAX_NUM_PAGES_MSG_RING,
drivers/scsi/vmw_pvscsi.c
476
adapter->msg_ring = dma_alloc_coherent(&adapter->dev->dev,
drivers/scsi/vmw_pvscsi.c
477
adapter->msg_pages * PAGE_SIZE, &adapter->msgRingPA,
drivers/scsi/vmw_pvscsi.c
479
if (!adapter->msg_ring)
drivers/scsi/vmw_pvscsi.c
481
BUG_ON(!IS_ALIGNED(adapter->msgRingPA, PAGE_SIZE));
drivers/scsi/vmw_pvscsi.c
486
static void pvscsi_setup_all_rings(const struct pvscsi_adapter *adapter)
drivers/scsi/vmw_pvscsi.c
492
cmd.ringsStatePPN = adapter->ringStatePA >> PAGE_SHIFT;
drivers/scsi/vmw_pvscsi.c
493
cmd.reqRingNumPages = adapter->req_pages;
drivers/scsi/vmw_pvscsi.c
494
cmd.cmpRingNumPages = adapter->cmp_pages;
drivers/scsi/vmw_pvscsi.c
496
base = adapter->reqRingPA;
drivers/scsi/vmw_pvscsi.c
497
for (i = 0; i < adapter->req_pages; i++) {
drivers/scsi/vmw_pvscsi.c
502
base = adapter->cmpRingPA;
drivers/scsi/vmw_pvscsi.c
503
for (i = 0; i < adapter->cmp_pages; i++) {
drivers/scsi/vmw_pvscsi.c
508
memset(adapter->rings_state, 0, PAGE_SIZE);
drivers/scsi/vmw_pvscsi.c
509
memset(adapter->req_ring, 0, adapter->req_pages * PAGE_SIZE);
drivers/scsi/vmw_pvscsi.c
510
memset(adapter->cmp_ring, 0, adapter->cmp_pages * PAGE_SIZE);
drivers/scsi/vmw_pvscsi.c
512
pvscsi_write_cmd_desc(adapter, PVSCSI_CMD_SETUP_RINGS,
drivers/scsi/vmw_pvscsi.c
515
if (adapter->use_msg) {
drivers/scsi/vmw_pvscsi.c
518
cmd_msg.numPages = adapter->msg_pages;
drivers/scsi/vmw_pvscsi.c
520
base = adapter->msgRingPA;
drivers/scsi/vmw_pvscsi.c
521
for (i = 0; i < adapter->msg_pages; i++) {
drivers/scsi/vmw_pvscsi.c
525
memset(adapter->msg_ring, 0, adapter->msg_pages * PAGE_SIZE);
drivers/scsi/vmw_pvscsi.c
527
pvscsi_write_cmd_desc(adapter, PVSCSI_CMD_SETUP_MSG_RING,
drivers/scsi/vmw_pvscsi.c
543
static void pvscsi_complete_request(struct pvscsi_adapter *adapter,
drivers/scsi/vmw_pvscsi.c
552
ctx = pvscsi_get_context(adapter, e->context);
drivers/scsi/vmw_pvscsi.c
555
pvscsi_unmap_buffers(adapter, ctx);
drivers/scsi/vmw_pvscsi.c
558
pvscsi_release_context(adapter, ctx);
drivers/scsi/vmw_pvscsi.c
659
static void pvscsi_process_completion_ring(struct pvscsi_adapter *adapter)
drivers/scsi/vmw_pvscsi.c
661
struct PVSCSIRingsState *s = adapter->rings_state;
drivers/scsi/vmw_pvscsi.c
662
struct PVSCSIRingCmpDesc *ring = adapter->cmp_ring;
drivers/scsi/vmw_pvscsi.c
675
pvscsi_complete_request(adapter, e);
drivers/scsi/vmw_pvscsi.c
690
static int pvscsi_queue_ring(struct pvscsi_adapter *adapter,
drivers/scsi/vmw_pvscsi.c
698
s = adapter->rings_state;
drivers/scsi/vmw_pvscsi.c
717
e = adapter->req_ring + (s->reqProdIdx & MASK(req_entries));
drivers/scsi/vmw_pvscsi.c
725
ctx->sensePA = dma_map_single(&adapter->dev->dev,
drivers/scsi/vmw_pvscsi.c
728
if (dma_mapping_error(&adapter->dev->dev, ctx->sensePA)) {
drivers/scsi/vmw_pvscsi.c
755
if (pvscsi_map_buffers(adapter, ctx, cmd, e) != 0) {
drivers/scsi/vmw_pvscsi.c
757
dma_unmap_single(&adapter->dev->dev, ctx->sensePA,
drivers/scsi/vmw_pvscsi.c
765
e->context = pvscsi_map_context(adapter, ctx);
drivers/scsi/vmw_pvscsi.c
777
struct pvscsi_adapter *adapter = shost_priv(host);
drivers/scsi/vmw_pvscsi.c
782
spin_lock_irqsave(&adapter->hw_lock, flags);
drivers/scsi/vmw_pvscsi.c
784
ctx = pvscsi_acquire_context(adapter, cmd);
drivers/scsi/vmw_pvscsi.c
785
if (!ctx || pvscsi_queue_ring(adapter, ctx, cmd) != 0) {
drivers/scsi/vmw_pvscsi.c
787
pvscsi_release_context(adapter, ctx);
drivers/scsi/vmw_pvscsi.c
788
spin_unlock_irqrestore(&adapter->hw_lock, flags);
drivers/scsi/vmw_pvscsi.c
797
spin_unlock_irqrestore(&adapter->hw_lock, flags);
drivers/scsi/vmw_pvscsi.c
799
pvscsi_kick_io(adapter, op);
drivers/scsi/vmw_pvscsi.c
808
struct pvscsi_adapter *adapter = shost_priv(cmd->device->host);
drivers/scsi/vmw_pvscsi.c
816
adapter->host->host_no, cmd);
drivers/scsi/vmw_pvscsi.c
818
spin_lock_irqsave(&adapter->hw_lock, flags);
drivers/scsi/vmw_pvscsi.c
824
pvscsi_process_completion_ring(adapter);
drivers/scsi/vmw_pvscsi.c
830
ctx = pvscsi_find_context(adapter, cmd);
drivers/scsi/vmw_pvscsi.c
842
pvscsi_abort_cmd(adapter, ctx);
drivers/scsi/vmw_pvscsi.c
843
spin_unlock_irqrestore(&adapter->hw_lock, flags);
drivers/scsi/vmw_pvscsi.c
846
spin_lock_irqsave(&adapter->hw_lock, flags);
drivers/scsi/vmw_pvscsi.c
868
spin_unlock_irqrestore(&adapter->hw_lock, flags);
drivers/scsi/vmw_pvscsi.c
878
static void pvscsi_reset_all(struct pvscsi_adapter *adapter)
drivers/scsi/vmw_pvscsi.c
882
for (i = 0; i < adapter->req_depth; i++) {
drivers/scsi/vmw_pvscsi.c
883
struct pvscsi_ctx *ctx = &adapter->cmd_map[i];
drivers/scsi/vmw_pvscsi.c
888
pvscsi_unmap_buffers(adapter, ctx);
drivers/scsi/vmw_pvscsi.c
890
pvscsi_release_context(adapter, ctx);
drivers/scsi/vmw_pvscsi.c
900
struct pvscsi_adapter *adapter = shost_priv(host);
drivers/scsi/vmw_pvscsi.c
906
spin_lock_irqsave(&adapter->hw_lock, flags);
drivers/scsi/vmw_pvscsi.c
908
use_msg = adapter->use_msg;
drivers/scsi/vmw_pvscsi.c
911
adapter->use_msg = false;
drivers/scsi/vmw_pvscsi.c
912
spin_unlock_irqrestore(&adapter->hw_lock, flags);
drivers/scsi/vmw_pvscsi.c
918
flush_workqueue(adapter->workqueue);
drivers/scsi/vmw_pvscsi.c
919
spin_lock_irqsave(&adapter->hw_lock, flags);
drivers/scsi/vmw_pvscsi.c
928
pvscsi_process_request_ring(adapter);
drivers/scsi/vmw_pvscsi.c
930
ll_adapter_reset(adapter);
drivers/scsi/vmw_pvscsi.c
939
pvscsi_process_completion_ring(adapter);
drivers/scsi/vmw_pvscsi.c
941
pvscsi_reset_all(adapter);
drivers/scsi/vmw_pvscsi.c
942
adapter->use_msg = use_msg;
drivers/scsi/vmw_pvscsi.c
943
pvscsi_setup_all_rings(adapter);
drivers/scsi/vmw_pvscsi.c
944
pvscsi_unmask_intr(adapter);
drivers/scsi/vmw_pvscsi.c
946
spin_unlock_irqrestore(&adapter->hw_lock, flags);
drivers/scsi/vmw_pvscsi.c
954
struct pvscsi_adapter *adapter = shost_priv(host);
drivers/scsi/vmw_pvscsi.c
965
spin_lock_irqsave(&adapter->hw_lock, flags);
drivers/scsi/vmw_pvscsi.c
967
pvscsi_process_request_ring(adapter);
drivers/scsi/vmw_pvscsi.c
968
ll_bus_reset(adapter);
drivers/scsi/vmw_pvscsi.c
969
pvscsi_process_completion_ring(adapter);
drivers/scsi/vmw_pvscsi.c
971
spin_unlock_irqrestore(&adapter->hw_lock, flags);
drivers/scsi/vmw_pvscsi.c
979
struct pvscsi_adapter *adapter = shost_priv(host);
drivers/scsi/vmw_pvscsi.c
990
spin_lock_irqsave(&adapter->hw_lock, flags);
drivers/scsi/vmw_pvscsi.c
992
pvscsi_process_request_ring(adapter);
drivers/scsi/vmw_pvscsi.c
993
ll_device_reset(adapter, cmd->device->id);
drivers/scsi/vmw_pvscsi.c
994
pvscsi_process_completion_ring(adapter);
drivers/scsi/vmw_pvscsi.c
996
spin_unlock_irqrestore(&adapter->hw_lock, flags);
drivers/spi/spi-sc18is602.c
246
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C |
drivers/spi/spi-sc18is602.c
284
host->bus_num = dev_fwnode(dev) ? -1 : client->adapter->nr;
drivers/staging/greybus/i2c.c
23
struct i2c_adapter adapter;
drivers/staging/greybus/i2c.c
235
struct i2c_adapter *adapter;
drivers/staging/greybus/i2c.c
265
adapter = &gb_i2c_dev->adapter;
drivers/staging/greybus/i2c.c
266
adapter->owner = THIS_MODULE;
drivers/staging/greybus/i2c.c
267
adapter->class = I2C_CLASS_HWMON;
drivers/staging/greybus/i2c.c
268
adapter->algo = &gb_i2c_algorithm;
drivers/staging/greybus/i2c.c
270
adapter->dev.parent = &gbphy_dev->dev;
drivers/staging/greybus/i2c.c
271
snprintf(adapter->name, sizeof(adapter->name), "Greybus i2c adapter");
drivers/staging/greybus/i2c.c
272
i2c_set_adapdata(adapter, gb_i2c_dev);
drivers/staging/greybus/i2c.c
274
ret = i2c_add_adapter(adapter);
drivers/staging/greybus/i2c.c
301
i2c_del_adapter(&gb_i2c_dev->adapter);
drivers/staging/media/atomisp/i2c/atomisp-gc2235.c
36
if (!client->adapter) {
drivers/staging/media/atomisp/i2c/atomisp-gc2235.c
592
struct i2c_adapter *adapter = client->adapter;
drivers/staging/media/atomisp/i2c/atomisp-gc2235.c
596
if (!i2c_check_functionality(adapter, I2C_FUNC_I2C))
drivers/staging/media/atomisp/i2c/atomisp-gc2235.c
63
err = i2c_transfer(client->adapter, msg, 2);
drivers/staging/media/atomisp/i2c/atomisp-gc2235.c
90
ret = i2c_transfer(client->adapter, &msg, 1);
drivers/staging/media/atomisp/i2c/atomisp-ov2722.c
36
if (!client->adapter) {
drivers/staging/media/atomisp/i2c/atomisp-ov2722.c
65
err = i2c_transfer(client->adapter, msg, 2);
drivers/staging/media/atomisp/i2c/atomisp-ov2722.c
720
struct i2c_adapter *adapter = client->adapter;
drivers/staging/media/atomisp/i2c/atomisp-ov2722.c
725
if (!i2c_check_functionality(adapter, I2C_FUNC_I2C))
drivers/staging/media/atomisp/i2c/atomisp-ov2722.c
96
ret = i2c_transfer(client->adapter, &msg, 1);
drivers/staging/media/atomisp/pci/atomisp_gmin_platform.c
345
(*client)->name, (*client)->addr, (*client)->adapter->nr);
drivers/staging/rtl8723bs/core/rtw_ap.c
11
void init_mlme_ap_info(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_ap.c
1131
void rtw_set_macaddr_acl(struct adapter *padapter, int mode)
drivers/staging/rtl8723bs/core/rtw_ap.c
1139
int rtw_acl_add_sta(struct adapter *padapter, u8 *addr)
drivers/staging/rtl8723bs/core/rtw_ap.c
1196
void rtw_acl_remove_sta(struct adapter *padapter, u8 *addr)
drivers/staging/rtl8723bs/core/rtw_ap.c
1225
u8 rtw_ap_set_pairwise_key(struct adapter *padapter, struct sta_info *psta)
drivers/staging/rtl8723bs/core/rtw_ap.c
1260
static int rtw_ap_set_key(struct adapter *padapter,
drivers/staging/rtl8723bs/core/rtw_ap.c
1323
int rtw_ap_set_group_key(struct adapter *padapter, u8 *key, u8 alg, int keyid)
drivers/staging/rtl8723bs/core/rtw_ap.c
1328
int rtw_ap_set_wep_key(struct adapter *padapter,
drivers/staging/rtl8723bs/core/rtw_ap.c
1350
static void update_bcn_fixed_ie(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_ap.c
1354
static void update_bcn_erpinfo_ie(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_ap.c
1389
static void update_bcn_htcap_ie(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_ap.c
1393
static void update_bcn_htinfo_ie(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_ap.c
1397
static void update_bcn_rsn_ie(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_ap.c
1401
static void update_bcn_wpa_ie(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_ap.c
1405
static void update_bcn_wmm_ie(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_ap.c
1409
static void update_bcn_wps_ie(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_ap.c
1460
static void update_bcn_p2p_ie(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_ap.c
1464
static void update_bcn_vendor_spec_ie(struct adapter *padapter, u8 *oui)
drivers/staging/rtl8723bs/core/rtw_ap.c
1479
void update_beacon(struct adapter *padapter, u8 ie_id, u8 *oui, u8 tx)
drivers/staging/rtl8723bs/core/rtw_ap.c
1566
static int rtw_ht_operation_update(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_ap.c
1628
void associated_clients_update(struct adapter *padapter, u8 updated)
drivers/staging/rtl8723bs/core/rtw_ap.c
1651
void bss_cap_update_on_sta_join(struct adapter *padapter, struct sta_info *psta)
drivers/staging/rtl8723bs/core/rtw_ap.c
170
void expire_timeout_chk(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_ap.c
1771
u8 bss_cap_update_on_sta_leave(struct adapter *padapter, struct sta_info *psta)
drivers/staging/rtl8723bs/core/rtw_ap.c
1832
u8 ap_free_sta(struct adapter *padapter,
drivers/staging/rtl8723bs/core/rtw_ap.c
1875
void rtw_sta_flush(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_ap.c
1908
void sta_info_update(struct adapter *padapter, struct sta_info *psta)
drivers/staging/rtl8723bs/core/rtw_ap.c
1937
void ap_sta_info_defer_update(struct adapter *padapter, struct sta_info *psta)
drivers/staging/rtl8723bs/core/rtw_ap.c
1951
void rtw_ap_restore_network(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_ap.c
2015
void start_ap_mode(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_ap.c
2064
void stop_ap_mode(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_ap.c
28
void free_mlme_ap_info(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_ap.c
320
void add_ratid(struct adapter *padapter, struct sta_info *psta, u8 rssi_level)
drivers/staging/rtl8723bs/core/rtw_ap.c
367
void update_bmc_sta(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_ap.c
446
void update_sta_info_apmode(struct adapter *padapter, struct sta_info *psta)
drivers/staging/rtl8723bs/core/rtw_ap.c
52
static void update_BCNTIM(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_ap.c
558
static void update_ap_info(struct adapter *padapter, struct sta_info *psta)
drivers/staging/rtl8723bs/core/rtw_ap.c
601
static void update_hw_ht_param(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_ap.c
634
void start_bss_network(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_ap.c
799
int rtw_check_beacon_data(struct adapter *padapter, u8 *pbuf, int len)
drivers/staging/rtl8723bs/core/rtw_btcoex.c
11
void rtw_btcoex_MediaStatusNotify(struct adapter *padapter, u8 media_status)
drivers/staging/rtl8723bs/core/rtw_btcoex.c
21
void rtw_btcoex_HaltNotify(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_btcoex.c
35
void rtw_btcoex_RejectApAggregatedPacket(struct adapter *padapter, u8 enable)
drivers/staging/rtl8723bs/core/rtw_btcoex.c
52
void rtw_btcoex_LPS_Enter(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_btcoex.c
65
void rtw_btcoex_LPS_Leave(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_cmd.c
1005
u8 rtw_reset_securitypriv_cmd(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_cmd.c
1038
u8 rtw_free_assoc_resources_cmd(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_cmd.c
1071
u8 rtw_dynamic_chk_wk_cmd(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_cmd.c
1104
static void collect_traffic_statistics(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_cmd.c
1128
u8 traffic_status_watchdog(struct adapter *padapter, u8 from_timer)
drivers/staging/rtl8723bs/core/rtw_cmd.c
1228
static void dynamic_chk_wk_hdl(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_cmd.c
1257
void lps_ctrl_wk_hdl(struct adapter *padapter, u8 lps_ctrl_type);
drivers/staging/rtl8723bs/core/rtw_cmd.c
1258
void lps_ctrl_wk_hdl(struct adapter *padapter, u8 lps_ctrl_type)
drivers/staging/rtl8723bs/core/rtw_cmd.c
1310
u8 rtw_lps_ctrl_wk_cmd(struct adapter *padapter, u8 lps_ctrl_type, u8 enqueue)
drivers/staging/rtl8723bs/core/rtw_cmd.c
1349
static void rtw_dm_in_lps_hdl(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_cmd.c
1354
u8 rtw_dm_in_lps_wk_cmd(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_cmd.c
1387
static void rtw_lps_change_dtim_hdl(struct adapter *padapter, u8 dtim)
drivers/staging/rtl8723bs/core/rtw_cmd.c
1410
static void rtw_dm_ra_mask_hdl(struct adapter *padapter, struct sta_info *psta)
drivers/staging/rtl8723bs/core/rtw_cmd.c
1416
u8 rtw_dm_ra_mask_wk_cmd(struct adapter *padapter, u8 *psta)
drivers/staging/rtl8723bs/core/rtw_cmd.c
1450
u8 rtw_ps_cmd(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_cmd.c
1484
static void rtw_chk_hi_queue_hdl(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_cmd.c
1520
u8 rtw_chk_hi_queue_cmd(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_cmd.c
1587
static void rtw_btinfo_hdl(struct adapter *adapter, u8 *buf, u16 buf_len)
drivers/staging/rtl8723bs/core/rtw_cmd.c
1609
hal_btcoex_BtInfoNotify(adapter, len + 1, &buf[1]);
drivers/staging/rtl8723bs/core/rtw_cmd.c
1612
u8 rtw_c2h_packet_wk_cmd(struct adapter *padapter, u8 *pbuf, u16 length)
drivers/staging/rtl8723bs/core/rtw_cmd.c
1647
u8 rtw_c2h_wk_cmd(struct adapter *padapter, u8 *c2h_evt)
drivers/staging/rtl8723bs/core/rtw_cmd.c
1684
struct adapter *adapter = container_of(evtpriv, struct adapter, evtpriv);
drivers/staging/rtl8723bs/core/rtw_cmd.c
1686
c2h_id_filter ccx_id_filter = rtw_hal_c2h_id_filter_ccx(adapter);
drivers/staging/rtl8723bs/core/rtw_cmd.c
1694
c2h_evt_clear(adapter);
drivers/staging/rtl8723bs/core/rtw_cmd.c
1699
if (c2h_evt_read_88xx(adapter, c2h_evt) != _SUCCESS) {
drivers/staging/rtl8723bs/core/rtw_cmd.c
1710
if (!rtw_hal_c2h_valid(adapter, c2h_evt)) {
drivers/staging/rtl8723bs/core/rtw_cmd.c
1717
rtw_hal_c2h_handler(adapter, c2h_evt);
drivers/staging/rtl8723bs/core/rtw_cmd.c
1721
rtw_c2h_wk_cmd(adapter, c2h_evt);
drivers/staging/rtl8723bs/core/rtw_cmd.c
1728
u8 rtw_drvextra_cmd_hdl(struct adapter *padapter, unsigned char *pbuf)
drivers/staging/rtl8723bs/core/rtw_cmd.c
1782
void rtw_survey_cmd_callback(struct adapter *padapter, struct cmd_obj *pcmd)
drivers/staging/rtl8723bs/core/rtw_cmd.c
1795
void rtw_disassoc_cmd_callback(struct adapter *padapter, struct cmd_obj *pcmd)
drivers/staging/rtl8723bs/core/rtw_cmd.c
1810
void rtw_joinbss_cmd_callback(struct adapter *padapter, struct cmd_obj *pcmd)
drivers/staging/rtl8723bs/core/rtw_cmd.c
1822
void rtw_createbss_cmd_callback(struct adapter *padapter, struct cmd_obj *pcmd)
drivers/staging/rtl8723bs/core/rtw_cmd.c
1885
void rtw_setstaKey_cmdrsp_callback(struct adapter *padapter, struct cmd_obj *pcmd)
drivers/staging/rtl8723bs/core/rtw_cmd.c
1898
void rtw_setassocsta_cmdrsp_callback(struct adapter *padapter, struct cmd_obj *pcmd)
drivers/staging/rtl8723bs/core/rtw_cmd.c
316
struct adapter *padapter = pcmdpriv->padapter;
drivers/staging/rtl8723bs/core/rtw_cmd.c
362
void rtw_stop_cmd_thread(struct adapter *adapter)
drivers/staging/rtl8723bs/core/rtw_cmd.c
364
if (adapter->cmdThread &&
drivers/staging/rtl8723bs/core/rtw_cmd.c
365
atomic_read(&adapter->cmdpriv.cmdthd_running) &&
drivers/staging/rtl8723bs/core/rtw_cmd.c
366
adapter->cmdpriv.stop_req == 0) {
drivers/staging/rtl8723bs/core/rtw_cmd.c
367
adapter->cmdpriv.stop_req = 1;
drivers/staging/rtl8723bs/core/rtw_cmd.c
368
complete(&adapter->cmdpriv.cmd_queue_comp);
drivers/staging/rtl8723bs/core/rtw_cmd.c
369
wait_for_completion(&adapter->cmdpriv.terminate_cmdthread_comp);
drivers/staging/rtl8723bs/core/rtw_cmd.c
378
u8 (*cmd_hdl)(struct adapter *padapter, u8 *pbuf);
drivers/staging/rtl8723bs/core/rtw_cmd.c
379
void (*pcmd_callback)(struct adapter *dev, struct cmd_obj *pcmd);
drivers/staging/rtl8723bs/core/rtw_cmd.c
380
struct adapter *padapter = context;
drivers/staging/rtl8723bs/core/rtw_cmd.c
524
u8 rtw_sitesurvey_cmd(struct adapter *padapter, struct ndis_802_11_ssid *ssid, int ssid_num,
drivers/staging/rtl8723bs/core/rtw_cmd.c
590
void rtw_getbbrfreg_cmdrsp_callback(struct adapter *padapter, struct cmd_obj *pcmd)
drivers/staging/rtl8723bs/core/rtw_cmd.c
597
u8 rtw_createbss_cmd(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_cmd.c
625
int rtw_startbss_cmd(struct adapter *padapter, int flags)
drivers/staging/rtl8723bs/core/rtw_cmd.c
671
u8 rtw_joinbss_cmd(struct adapter *padapter, struct wlan_network *pnetwork)
drivers/staging/rtl8723bs/core/rtw_cmd.c
790
u8 rtw_disassoc_cmd(struct adapter *padapter, u32 deauth_timeout_ms, bool enqueue) /* for sta_mode */
drivers/staging/rtl8723bs/core/rtw_cmd.c
826
u8 rtw_setopmode_cmd(struct adapter *padapter, enum ndis_802_11_network_infrastructure networktype, bool enqueue)
drivers/staging/rtl8723bs/core/rtw_cmd.c
859
u8 rtw_setstakey_cmd(struct adapter *padapter, struct sta_info *sta, u8 unicast_key, bool enqueue)
drivers/staging/rtl8723bs/core/rtw_cmd.c
918
u8 rtw_clearstakey_cmd(struct adapter *padapter, struct sta_info *sta, u8 enqueue)
drivers/staging/rtl8723bs/core/rtw_cmd.c
971
u8 rtw_addbareq_cmd(struct adapter *padapter, u8 tid, u8 *addr)
drivers/staging/rtl8723bs/core/rtw_efuse.c
105
struct adapter *padapter,
drivers/staging/rtl8723bs/core/rtw_efuse.c
160
static void Efuse_ReadAllMap(struct adapter *padapter, u8 efuseType, u8 *Efuse)
drivers/staging/rtl8723bs/core/rtw_efuse.c
191
static void efuse_ShadowRead1Byte(struct adapter *padapter, u16 Offset, u8 *Value)
drivers/staging/rtl8723bs/core/rtw_efuse.c
200
static void efuse_ShadowRead2Byte(struct adapter *padapter, u16 Offset, u16 *Value)
drivers/staging/rtl8723bs/core/rtw_efuse.c
210
static void efuse_ShadowRead4Byte(struct adapter *padapter, u16 Offset, u32 *Value)
drivers/staging/rtl8723bs/core/rtw_efuse.c
237
void EFUSE_ShadowMapUpdate(struct adapter *padapter, u8 efuseType)
drivers/staging/rtl8723bs/core/rtw_efuse.c
270
void EFUSE_ShadowRead(struct adapter *padapter, u8 Type, u16 Offset, u32 *Value)
drivers/staging/rtl8723bs/core/rtw_efuse.c
64
struct adapter *Adapter,
drivers/staging/rtl8723bs/core/rtw_io.c
106
u32 rtw_write_port(struct adapter *adapter, u32 addr, u32 cnt, u8 *pmem)
drivers/staging/rtl8723bs/core/rtw_io.c
109
struct io_priv *pio_priv = &adapter->iopriv;
drivers/staging/rtl8723bs/core/rtw_io.c
117
int rtw_init_io_priv(struct adapter *padapter, void (*set_intf_ops)(struct adapter *padapter, struct _io_ops *pops))
drivers/staging/rtl8723bs/core/rtw_io.c
28
u8 rtw_read8(struct adapter *adapter, u32 addr)
drivers/staging/rtl8723bs/core/rtw_io.c
31
struct io_priv *pio_priv = &adapter->iopriv;
drivers/staging/rtl8723bs/core/rtw_io.c
40
u16 rtw_read16(struct adapter *adapter, u32 addr)
drivers/staging/rtl8723bs/core/rtw_io.c
43
struct io_priv *pio_priv = &adapter->iopriv;
drivers/staging/rtl8723bs/core/rtw_io.c
52
u32 rtw_read32(struct adapter *adapter, u32 addr)
drivers/staging/rtl8723bs/core/rtw_io.c
55
struct io_priv *pio_priv = &adapter->iopriv;
drivers/staging/rtl8723bs/core/rtw_io.c
64
int rtw_write8(struct adapter *adapter, u32 addr, u8 val)
drivers/staging/rtl8723bs/core/rtw_io.c
67
struct io_priv *pio_priv = &adapter->iopriv;
drivers/staging/rtl8723bs/core/rtw_io.c
78
int rtw_write16(struct adapter *adapter, u32 addr, u16 val)
drivers/staging/rtl8723bs/core/rtw_io.c
81
struct io_priv *pio_priv = &adapter->iopriv;
drivers/staging/rtl8723bs/core/rtw_io.c
91
int rtw_write32(struct adapter *adapter, u32 addr, u32 val)
drivers/staging/rtl8723bs/core/rtw_io.c
94
struct io_priv *pio_priv = &adapter->iopriv;
drivers/staging/rtl8723bs/core/rtw_ioctl_set.c
137
u8 rtw_set_802_11_ssid(struct adapter *padapter, struct ndis_802_11_ssid *ssid)
drivers/staging/rtl8723bs/core/rtw_ioctl_set.c
224
u8 rtw_set_802_11_connect(struct adapter *padapter, u8 *bssid, struct ndis_802_11_ssid *ssid)
drivers/staging/rtl8723bs/core/rtw_ioctl_set.c
287
u8 rtw_set_802_11_infrastructure_mode(struct adapter *padapter,
drivers/staging/rtl8723bs/core/rtw_ioctl_set.c
349
u8 rtw_set_802_11_disassociate(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_ioctl_set.c
368
u8 rtw_set_802_11_bssid_list_scan(struct adapter *padapter, struct ndis_802_11_ssid *pssid, int ssid_max_num)
drivers/staging/rtl8723bs/core/rtw_ioctl_set.c
37
u8 rtw_do_join(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_ioctl_set.c
402
u8 rtw_set_802_11_authentication_mode(struct adapter *padapter, enum ndis_802_11_authentication_mode authmode)
drivers/staging/rtl8723bs/core/rtw_ioctl_set.c
423
u8 rtw_set_802_11_add_wep(struct adapter *padapter, struct ndis_802_11_wep *wep)
drivers/staging/rtl8723bs/core/rtw_ioctl_set.c
470
u16 rtw_get_cur_max_rate(struct adapter *adapter)
drivers/staging/rtl8723bs/core/rtw_ioctl_set.c
474
struct mlme_priv *pmlmepriv = &adapter->mlmepriv;
drivers/staging/rtl8723bs/core/rtw_ioctl_set.c
483
psta = rtw_get_stainfo(&adapter->stapriv, get_bssid(pmlmepriv));
drivers/staging/rtl8723bs/core/rtw_mlme.c
1044
static void rtw_joinbss_update_network(struct adapter *padapter, struct wlan_network *ptarget_wlan, struct wlan_network *pnetwork)
drivers/staging/rtl8723bs/core/rtw_mlme.c
1091
void rtw_reset_securitypriv(struct adapter *adapter)
drivers/staging/rtl8723bs/core/rtw_mlme.c
1097
struct mlme_ext_priv *pmlmeext = &adapter->mlmeextpriv;
drivers/staging/rtl8723bs/core/rtw_mlme.c
1099
spin_lock_bh(&adapter->security_key_mutex);
drivers/staging/rtl8723bs/core/rtw_mlme.c
1101
if (adapter->securitypriv.dot11AuthAlgrthm == dot11AuthAlgrthm_8021X) {
drivers/staging/rtl8723bs/core/rtw_mlme.c
1109
memcpy(&backupPMKIDList[0], &adapter->securitypriv.PMKIDList[0], sizeof(struct rt_pmkid_list) * NUM_PMKID_CACHE);
drivers/staging/rtl8723bs/core/rtw_mlme.c
1110
backupPMKIDIndex = adapter->securitypriv.PMKIDIndex;
drivers/staging/rtl8723bs/core/rtw_mlme.c
1111
backupTKIPCountermeasure = adapter->securitypriv.btkip_countermeasure;
drivers/staging/rtl8723bs/core/rtw_mlme.c
1112
backupTKIPcountermeasure_time = adapter->securitypriv.btkip_countermeasure_time;
drivers/staging/rtl8723bs/core/rtw_mlme.c
1117
memset((unsigned char *)&adapter->securitypriv, 0, sizeof(struct security_priv));
drivers/staging/rtl8723bs/core/rtw_mlme.c
1121
memcpy(&adapter->securitypriv.PMKIDList[0], &backupPMKIDList[0], sizeof(struct rt_pmkid_list) * NUM_PMKID_CACHE);
drivers/staging/rtl8723bs/core/rtw_mlme.c
1122
adapter->securitypriv.PMKIDIndex = backupPMKIDIndex;
drivers/staging/rtl8723bs/core/rtw_mlme.c
1123
adapter->securitypriv.btkip_countermeasure = backupTKIPCountermeasure;
drivers/staging/rtl8723bs/core/rtw_mlme.c
1124
adapter->securitypriv.btkip_countermeasure_time = backupTKIPcountermeasure_time;
drivers/staging/rtl8723bs/core/rtw_mlme.c
1126
adapter->securitypriv.ndisauthtype = Ndis802_11AuthModeOpen;
drivers/staging/rtl8723bs/core/rtw_mlme.c
1127
adapter->securitypriv.ndisencryptstatus = Ndis802_11WEPDisabled;
drivers/staging/rtl8723bs/core/rtw_mlme.c
1133
struct security_priv *psec_priv = &adapter->securitypriv;
drivers/staging/rtl8723bs/core/rtw_mlme.c
1147
spin_unlock_bh(&adapter->security_key_mutex);
drivers/staging/rtl8723bs/core/rtw_mlme.c
1158
void rtw_joinbss_event_prehandle(struct adapter *adapter, u8 *pbuf)
drivers/staging/rtl8723bs/core/rtw_mlme.c
1162
struct sta_priv *pstapriv = &adapter->stapriv;
drivers/staging/rtl8723bs/core/rtw_mlme.c
1163
struct mlme_priv *pmlmepriv = &adapter->mlmepriv;
drivers/staging/rtl8723bs/core/rtw_mlme.c
1195
rtw_free_stainfo(adapter, pcur_sta);
drivers/staging/rtl8723bs/core/rtw_mlme.c
1214
rtw_joinbss_update_network(adapter, ptarget_wlan, pnetwork);
drivers/staging/rtl8723bs/core/rtw_mlme.c
1216
netdev_dbg(adapter->pnetdev,
drivers/staging/rtl8723bs/core/rtw_mlme.c
1224
ptarget_sta = rtw_joinbss_update_stainfo(adapter, pnetwork);
drivers/staging/rtl8723bs/core/rtw_mlme.c
1234
rtw_indicate_connect(adapter);
drivers/staging/rtl8723bs/core/rtw_mlme.c
1247
rtw_reset_securitypriv(adapter);
drivers/staging/rtl8723bs/core/rtw_mlme.c
1266
rtw_indicate_connect(adapter);
drivers/staging/rtl8723bs/core/rtw_mlme.c
1284
void rtw_joinbss_event_callback(struct adapter *adapter, u8 *pbuf)
drivers/staging/rtl8723bs/core/rtw_mlme.c
1288
mlmeext_joinbss_event_callback(adapter, pnetwork->join_res);
drivers/staging/rtl8723bs/core/rtw_mlme.c
1290
rtw_os_xmit_schedule(adapter);
drivers/staging/rtl8723bs/core/rtw_mlme.c
1294
void rtw_sta_media_status_rpt(struct adapter *adapter, struct sta_info *psta, u32 mstatus)
drivers/staging/rtl8723bs/core/rtw_mlme.c
1302
rtw_hal_set_hwreg(adapter, HW_VAR_H2C_MEDIA_STATUS_RPT, (u8 *)&media_status_rpt);
drivers/staging/rtl8723bs/core/rtw_mlme.c
1305
void rtw_stassoc_event_callback(struct adapter *adapter, u8 *pbuf)
drivers/staging/rtl8723bs/core/rtw_mlme.c
1308
struct mlme_priv *pmlmepriv = &adapter->mlmepriv;
drivers/staging/rtl8723bs/core/rtw_mlme.c
1313
if (rtw_access_ctrl(adapter, pstassoc->macaddr) == false)
drivers/staging/rtl8723bs/core/rtw_mlme.c
1317
psta = rtw_get_stainfo(&adapter->stapriv, pstassoc->macaddr);
drivers/staging/rtl8723bs/core/rtw_mlme.c
1322
rtw_sta_media_status_rpt(adapter, psta, 1);
drivers/staging/rtl8723bs/core/rtw_mlme.c
1324
ap_sta_info_defer_update(adapter, psta);
drivers/staging/rtl8723bs/core/rtw_mlme.c
1341
rtw_cfg80211_indicate_sta_assoc(adapter, passoc_req, assoc_req_len);
drivers/staging/rtl8723bs/core/rtw_mlme.c
1350
psta = rtw_get_stainfo(&adapter->stapriv, pstassoc->macaddr);
drivers/staging/rtl8723bs/core/rtw_mlme.c
1357
psta = rtw_alloc_stainfo(&adapter->stapriv, pstassoc->macaddr);
drivers/staging/rtl8723bs/core/rtw_mlme.c
1366
rtw_hal_set_odm_var(adapter, HAL_ODM_STA_INFO, psta, true);
drivers/staging/rtl8723bs/core/rtw_mlme.c
1368
rtw_sta_media_status_rpt(adapter, psta, 1);
drivers/staging/rtl8723bs/core/rtw_mlme.c
1370
if (adapter->securitypriv.dot11AuthAlgrthm == dot11AuthAlgrthm_8021X)
drivers/staging/rtl8723bs/core/rtw_mlme.c
1371
psta->dot118021XPrivacy = adapter->securitypriv.dot11PrivacyAlgrthm;
drivers/staging/rtl8723bs/core/rtw_mlme.c
1379
if (adapter->stapriv.asoc_sta_count == 2) {
drivers/staging/rtl8723bs/core/rtw_mlme.c
1387
rtw_indicate_connect(adapter);
drivers/staging/rtl8723bs/core/rtw_mlme.c
1393
mlmeext_sta_add_event_callback(adapter, psta);
drivers/staging/rtl8723bs/core/rtw_mlme.c
1396
void rtw_stadel_event_callback(struct adapter *adapter, u8 *pbuf)
drivers/staging/rtl8723bs/core/rtw_mlme.c
14
struct adapter *adapter =
drivers/staging/rtl8723bs/core/rtw_mlme.c
1403
struct mlme_priv *pmlmepriv = &adapter->mlmepriv;
drivers/staging/rtl8723bs/core/rtw_mlme.c
1406
struct mlme_ext_priv *pmlmeext = &adapter->mlmeextpriv;
drivers/staging/rtl8723bs/core/rtw_mlme.c
1409
psta = rtw_get_stainfo(&adapter->stapriv, pstadel->macaddr);
drivers/staging/rtl8723bs/core/rtw_mlme.c
1420
rtw_hal_set_hwreg(adapter, HW_VAR_H2C_MEDIA_STATUS_RPT, (u8 *)&media_status);
drivers/staging/rtl8723bs/core/rtw_mlme.c
1427
mlmeext_sta_del_event_callback(adapter);
drivers/staging/rtl8723bs/core/rtw_mlme.c
1436
if (adapter->registrypriv.wifi_spec == 1) {
drivers/staging/rtl8723bs/core/rtw_mlme.c
1438
} else if (reason == WLAN_REASON_EXPIRATION_CHK && rtw_chk_roam_flags(adapter, RTW_ROAM_ON_EXPIRED)) {
drivers/staging/rtl8723bs/core/rtw_mlme.c
1440
} else if (reason == WLAN_REASON_ACTIVE_ROAM && rtw_chk_roam_flags(adapter, RTW_ROAM_ACTIVE)) {
drivers/staging/rtl8723bs/core/rtw_mlme.c
1446
if (rtw_to_roam(adapter) > 0)
drivers/staging/rtl8723bs/core/rtw_mlme.c
1447
rtw_dec_to_roam(adapter); /* this stadel_event is caused by roaming, decrease to_roam */
drivers/staging/rtl8723bs/core/rtw_mlme.c
1448
else if (rtw_to_roam(adapter) == 0)
drivers/staging/rtl8723bs/core/rtw_mlme.c
1449
rtw_set_to_roam(adapter, adapter->registrypriv.max_roaming_times);
drivers/staging/rtl8723bs/core/rtw_mlme.c
1451
rtw_set_to_roam(adapter, 0);
drivers/staging/rtl8723bs/core/rtw_mlme.c
1454
rtw_free_uc_swdec_pending_queue(adapter);
drivers/staging/rtl8723bs/core/rtw_mlme.c
1456
rtw_free_assoc_resources(adapter, 1);
drivers/staging/rtl8723bs/core/rtw_mlme.c
1457
rtw_indicate_disconnect(adapter);
drivers/staging/rtl8723bs/core/rtw_mlme.c
1464
rtw_free_network_nolock(adapter, pwlan);
drivers/staging/rtl8723bs/core/rtw_mlme.c
1468
_rtw_roaming(adapter, roam_target);
drivers/staging/rtl8723bs/core/rtw_mlme.c
1473
rtw_free_stainfo(adapter, psta);
drivers/staging/rtl8723bs/core/rtw_mlme.c
1475
if (adapter->stapriv.asoc_sta_count == 1) {/* a sta + bc/mc_stainfo (not Ibss_stainfo) */
drivers/staging/rtl8723bs/core/rtw_mlme.c
1483
rtw_free_network_nolock(adapter, pwlan);
drivers/staging/rtl8723bs/core/rtw_mlme.c
1487
pdev_network = &adapter->registrypriv.dev_network;
drivers/staging/rtl8723bs/core/rtw_mlme.c
1488
pibss = adapter->registrypriv.dev_network.mac_address;
drivers/staging/rtl8723bs/core/rtw_mlme.c
1494
rtw_update_registrypriv_dev_network(adapter);
drivers/staging/rtl8723bs/core/rtw_mlme.c
15
timer_container_of(adapter, t, mlmepriv.dynamic_chk_timer);
drivers/staging/rtl8723bs/core/rtw_mlme.c
1503
ret = rtw_createbss_cmd(adapter);
drivers/staging/rtl8723bs/core/rtw_mlme.c
1513
void rtw_cpwm_event_callback(struct adapter *padapter, u8 *pbuf)
drivers/staging/rtl8723bs/core/rtw_mlme.c
1522
void rtw_wmm_event_callback(struct adapter *padapter, u8 *pbuf)
drivers/staging/rtl8723bs/core/rtw_mlme.c
1533
struct adapter *adapter = timer_container_of(adapter, t,
drivers/staging/rtl8723bs/core/rtw_mlme.c
1535
struct mlme_priv *pmlmepriv = &adapter->mlmepriv;
drivers/staging/rtl8723bs/core/rtw_mlme.c
1537
if (adapter->bDriverStopped || adapter->bSurpriseRemoved)
drivers/staging/rtl8723bs/core/rtw_mlme.c
1542
if (rtw_to_roam(adapter) > 0) { /* join timeout caused by roaming */
drivers/staging/rtl8723bs/core/rtw_mlme.c
1544
rtw_dec_to_roam(adapter);
drivers/staging/rtl8723bs/core/rtw_mlme.c
1545
if (rtw_to_roam(adapter) != 0) { /* try another */
drivers/staging/rtl8723bs/core/rtw_mlme.c
1548
do_join_r = rtw_do_join(adapter);
drivers/staging/rtl8723bs/core/rtw_mlme.c
1555
rtw_indicate_disconnect(adapter);
drivers/staging/rtl8723bs/core/rtw_mlme.c
1560
rtw_indicate_disconnect(adapter);
drivers/staging/rtl8723bs/core/rtw_mlme.c
1564
rtw_cfg80211_indicate_disconnect(adapter);
drivers/staging/rtl8723bs/core/rtw_mlme.c
1576
struct adapter *adapter = timer_container_of(adapter, t,
drivers/staging/rtl8723bs/core/rtw_mlme.c
1578
struct mlme_priv *pmlmepriv = &adapter->mlmepriv;
drivers/staging/rtl8723bs/core/rtw_mlme.c
1586
rtw_indicate_scan_done(adapter, true);
drivers/staging/rtl8723bs/core/rtw_mlme.c
1589
void rtw_mlme_reset_auto_scan_int(struct adapter *adapter)
drivers/staging/rtl8723bs/core/rtw_mlme.c
1591
struct mlme_priv *mlme = &adapter->mlmepriv;
drivers/staging/rtl8723bs/core/rtw_mlme.c
1592
struct mlme_ext_priv *pmlmeext = &adapter->mlmeextpriv;
drivers/staging/rtl8723bs/core/rtw_mlme.c
1597
else if (adapter->registrypriv.wifi_spec && is_client_associated_to_ap(adapter) == true)
drivers/staging/rtl8723bs/core/rtw_mlme.c
1599
else if (rtw_chk_roam_flags(adapter, RTW_ROAM_ACTIVE)) {
drivers/staging/rtl8723bs/core/rtw_mlme.c
1606
static void rtw_auto_scan_handler(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_mlme.c
1629
void rtw_dynamic_check_timer_handler(struct adapter *adapter)
drivers/staging/rtl8723bs/core/rtw_mlme.c
1631
if (!adapter)
drivers/staging/rtl8723bs/core/rtw_mlme.c
1634
if (!adapter->hw_init_completed)
drivers/staging/rtl8723bs/core/rtw_mlme.c
1637
if (adapter->bDriverStopped || adapter->bSurpriseRemoved)
drivers/staging/rtl8723bs/core/rtw_mlme.c
1640
if (adapter->net_closed)
drivers/staging/rtl8723bs/core/rtw_mlme.c
1643
if ((adapter_to_pwrctl(adapter)->fw_current_in_ps_mode)
drivers/staging/rtl8723bs/core/rtw_mlme.c
1644
&& !(hal_btcoex_IsBtControlLps(adapter))
drivers/staging/rtl8723bs/core/rtw_mlme.c
1648
linked_status_chk(adapter);
drivers/staging/rtl8723bs/core/rtw_mlme.c
1650
bEnterPS = traffic_status_watchdog(adapter, 1);
drivers/staging/rtl8723bs/core/rtw_mlme.c
1653
rtw_hal_dm_watchdog_in_lps(adapter);
drivers/staging/rtl8723bs/core/rtw_mlme.c
1659
rtw_dynamic_chk_wk_cmd(adapter);
drivers/staging/rtl8723bs/core/rtw_mlme.c
1663
rtw_auto_scan_handler(adapter);
drivers/staging/rtl8723bs/core/rtw_mlme.c
1666
inline bool rtw_is_scan_deny(struct adapter *adapter)
drivers/staging/rtl8723bs/core/rtw_mlme.c
1668
struct mlme_priv *mlmepriv = &adapter->mlmepriv;
drivers/staging/rtl8723bs/core/rtw_mlme.c
1673
inline void rtw_clear_scan_deny(struct adapter *adapter)
drivers/staging/rtl8723bs/core/rtw_mlme.c
1675
struct mlme_priv *mlmepriv = &adapter->mlmepriv;
drivers/staging/rtl8723bs/core/rtw_mlme.c
1680
void rtw_set_scan_deny(struct adapter *adapter, u32 ms)
drivers/staging/rtl8723bs/core/rtw_mlme.c
1682
struct mlme_priv *mlmepriv = &adapter->mlmepriv;
drivers/staging/rtl8723bs/core/rtw_mlme.c
1697
struct adapter *adapter = container_of(mlme, struct adapter, mlmepriv);
drivers/staging/rtl8723bs/core/rtw_mlme.c
17
rtw_dynamic_check_timer_handler(adapter);
drivers/staging/rtl8723bs/core/rtw_mlme.c
1702
if (rtw_is_desired_network(adapter, competitor) == false)
drivers/staging/rtl8723bs/core/rtw_mlme.c
1778
struct adapter *adapter = container_of(mlme, struct adapter, mlmepriv);
drivers/staging/rtl8723bs/core/rtw_mlme.c
1794
if (rtw_is_desired_network(adapter, competitor) == false)
drivers/staging/rtl8723bs/core/rtw_mlme.c
1797
if (rtw_to_roam(adapter) > 0) {
drivers/staging/rtl8723bs/core/rtw_mlme.c
1824
struct adapter *adapter;
drivers/staging/rtl8723bs/core/rtw_mlme.c
1829
adapter = (struct adapter *)pmlmepriv->nic_hdl;
drivers/staging/rtl8723bs/core/rtw_mlme.c
1858
rtw_disassoc_cmd(adapter, 0, true);
drivers/staging/rtl8723bs/core/rtw_mlme.c
1859
rtw_indicate_disconnect(adapter);
drivers/staging/rtl8723bs/core/rtw_mlme.c
1860
rtw_free_assoc_resources(adapter, 0);
drivers/staging/rtl8723bs/core/rtw_mlme.c
1864
ret = rtw_joinbss_cmd(adapter, candidate);
drivers/staging/rtl8723bs/core/rtw_mlme.c
1871
signed int rtw_set_auth(struct adapter *adapter, struct security_priv *psecuritypriv)
drivers/staging/rtl8723bs/core/rtw_mlme.c
1875
struct cmd_priv *pcmdpriv = &adapter->cmdpriv;
drivers/staging/rtl8723bs/core/rtw_mlme.c
19
_set_timer(&adapter->mlmepriv.dynamic_chk_timer, 2000);
drivers/staging/rtl8723bs/core/rtw_mlme.c
1907
signed int rtw_set_key(struct adapter *adapter, struct security_priv *psecuritypriv, signed int keyid, u8 set_tx, bool enqueue)
drivers/staging/rtl8723bs/core/rtw_mlme.c
1912
struct cmd_priv *pcmdpriv = &adapter->cmdpriv;
drivers/staging/rtl8723bs/core/rtw_mlme.c
1929
adapter->securitypriv.key_mask |= BIT(psetkeyparm->keyid);
drivers/staging/rtl8723bs/core/rtw_mlme.c
1974
setkey_hdl(adapter, (u8 *)psetkeyparm);
drivers/staging/rtl8723bs/core/rtw_mlme.c
1982
int rtw_restruct_wmm_ie(struct adapter *adapter, u8 *in_ie, u8 *out_ie, uint in_len, uint initial_out_len)
drivers/staging/rtl8723bs/core/rtw_mlme.c
2022
static int SecIsInPMKIDList(struct adapter *Adapter, u8 *bssid)
drivers/staging/rtl8723bs/core/rtw_mlme.c
2042
static int rtw_append_pmkid(struct adapter *Adapter, int iEntry, u8 *ie, uint ie_len)
drivers/staging/rtl8723bs/core/rtw_mlme.c
2059
static void rtw_report_sec_ie(struct adapter *adapter, u8 authmode, u8 *sec_ie)
drivers/staging/rtl8723bs/core/rtw_mlme.c
2092
signed int rtw_restruct_sec_ie(struct adapter *adapter, u8 *in_ie, u8 *out_ie, uint in_len)
drivers/staging/rtl8723bs/core/rtw_mlme.c
2098
struct mlme_priv *pmlmepriv = &adapter->mlmepriv;
drivers/staging/rtl8723bs/core/rtw_mlme.c
2099
struct security_priv *psecuritypriv = &adapter->securitypriv;
drivers/staging/rtl8723bs/core/rtw_mlme.c
2118
rtw_report_sec_ie(adapter, authmode, psecuritypriv->supplicant_ie);
drivers/staging/rtl8723bs/core/rtw_mlme.c
2121
iEntry = SecIsInPMKIDList(adapter, pmlmepriv->assoc_bssid);
drivers/staging/rtl8723bs/core/rtw_mlme.c
2126
ielength = rtw_append_pmkid(adapter, iEntry, out_ie, ielength);
drivers/staging/rtl8723bs/core/rtw_mlme.c
2131
void rtw_init_registrypriv_dev_network(struct adapter *adapter)
drivers/staging/rtl8723bs/core/rtw_mlme.c
2133
struct registry_priv *pregistrypriv = &adapter->registrypriv;
drivers/staging/rtl8723bs/core/rtw_mlme.c
2134
struct eeprom_priv *peepriv = &adapter->eeprompriv;
drivers/staging/rtl8723bs/core/rtw_mlme.c
2146
void rtw_update_registrypriv_dev_network(struct adapter *adapter)
drivers/staging/rtl8723bs/core/rtw_mlme.c
2149
struct registry_priv *pregistrypriv = &adapter->registrypriv;
drivers/staging/rtl8723bs/core/rtw_mlme.c
2151
struct security_priv *psecuritypriv = &adapter->securitypriv;
drivers/staging/rtl8723bs/core/rtw_mlme.c
2152
struct wlan_network *cur_network = &adapter->mlmepriv.cur_network;
drivers/staging/rtl8723bs/core/rtw_mlme.c
2196
void rtw_joinbss_reset(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_mlme.c
2225
void rtw_ht_use_default_setting(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_mlme.c
2278
void rtw_build_wmm_ie_ht(struct adapter *padapter, u8 *out_ie, uint *pout_len)
drivers/staging/rtl8723bs/core/rtw_mlme.c
2293
unsigned int rtw_restructure_ht_ie(struct adapter *padapter, u8 *in_ie, u8 *out_ie, uint in_len, uint *pout_len, u8 channel)
drivers/staging/rtl8723bs/core/rtw_mlme.c
24
struct adapter *adapter =
drivers/staging/rtl8723bs/core/rtw_mlme.c
2416
void rtw_update_ht_cap(struct adapter *padapter, u8 *pie, uint ie_len, u8 channel)
drivers/staging/rtl8723bs/core/rtw_mlme.c
246
void rtw_free_network_queue(struct adapter *padapter, u8 isfreeall)
drivers/staging/rtl8723bs/core/rtw_mlme.c
25
timer_container_of(adapter, t, mlmepriv.set_scan_deny_timer);
drivers/staging/rtl8723bs/core/rtw_mlme.c
2501
void rtw_issue_addbareq_cmd(struct adapter *padapter, struct xmit_frame *pxmitframe)
drivers/staging/rtl8723bs/core/rtw_mlme.c
2539
void rtw_append_exented_cap(struct adapter *padapter, u8 *out_ie, uint *pout_len)
drivers/staging/rtl8723bs/core/rtw_mlme.c
2551
inline void rtw_set_to_roam(struct adapter *adapter, u8 to_roam)
drivers/staging/rtl8723bs/core/rtw_mlme.c
2554
adapter->mlmepriv.to_join = false;
drivers/staging/rtl8723bs/core/rtw_mlme.c
2555
adapter->mlmepriv.to_roam = to_roam;
drivers/staging/rtl8723bs/core/rtw_mlme.c
2558
inline u8 rtw_dec_to_roam(struct adapter *adapter)
drivers/staging/rtl8723bs/core/rtw_mlme.c
2560
adapter->mlmepriv.to_roam--;
drivers/staging/rtl8723bs/core/rtw_mlme.c
2561
return adapter->mlmepriv.to_roam;
drivers/staging/rtl8723bs/core/rtw_mlme.c
2564
inline u8 rtw_to_roam(struct adapter *adapter)
drivers/staging/rtl8723bs/core/rtw_mlme.c
2566
return adapter->mlmepriv.to_roam;
drivers/staging/rtl8723bs/core/rtw_mlme.c
2569
void rtw_roaming(struct adapter *padapter, struct wlan_network *tgt_network)
drivers/staging/rtl8723bs/core/rtw_mlme.c
2578
void _rtw_roaming(struct adapter *padapter, struct wlan_network *tgt_network)
drivers/staging/rtl8723bs/core/rtw_mlme.c
2598
signed int rtw_linked_check(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_mlme.c
265
signed int rtw_if_up(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_mlme.c
27
rtw_clear_scan_deny(adapter);
drivers/staging/rtl8723bs/core/rtw_mlme.c
30
static void rtw_init_mlme_timer(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_mlme.c
314
void rtw_free_network_nolock(struct adapter *padapter, struct wlan_network *pnetwork);
drivers/staging/rtl8723bs/core/rtw_mlme.c
315
void rtw_free_network_nolock(struct adapter *padapter, struct wlan_network *pnetwork)
drivers/staging/rtl8723bs/core/rtw_mlme.c
333
int rtw_is_same_ibss(struct adapter *adapter, struct wlan_network *pnetwork)
drivers/staging/rtl8723bs/core/rtw_mlme.c
336
struct security_priv *psecuritypriv = &adapter->securitypriv;
drivers/staging/rtl8723bs/core/rtw_mlme.c
419
struct adapter *padapter, bool update_ie)
drivers/staging/rtl8723bs/core/rtw_mlme.c
42
int rtw_init_mlme_priv(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_mlme.c
463
static void update_current_network(struct adapter *adapter, struct wlan_bssid_ex *pnetwork)
drivers/staging/rtl8723bs/core/rtw_mlme.c
465
struct mlme_priv *pmlmepriv = &adapter->mlmepriv;
drivers/staging/rtl8723bs/core/rtw_mlme.c
473
update_network(&pmlmepriv->cur_network.network, pnetwork, adapter, true);
drivers/staging/rtl8723bs/core/rtw_mlme.c
474
rtw_update_protection(adapter, (pmlmepriv->cur_network.network.ies) + sizeof(struct ndis_802_11_fix_ie),
drivers/staging/rtl8723bs/core/rtw_mlme.c
480
void rtw_update_scanned_network(struct adapter *adapter, struct wlan_bssid_ex *target)
drivers/staging/rtl8723bs/core/rtw_mlme.c
484
struct mlme_priv *pmlmepriv = &adapter->mlmepriv;
drivers/staging/rtl8723bs/core/rtw_mlme.c
503
if (rtw_roam_flags(adapter)) {
drivers/staging/rtl8723bs/core/rtw_mlme.c
576
update_network(&pnetwork->network, target, adapter, update_ie);
drivers/staging/rtl8723bs/core/rtw_mlme.c
583
void rtw_add_network(struct adapter *adapter, struct wlan_bssid_ex *pnetwork);
drivers/staging/rtl8723bs/core/rtw_mlme.c
584
void rtw_add_network(struct adapter *adapter, struct wlan_bssid_ex *pnetwork)
drivers/staging/rtl8723bs/core/rtw_mlme.c
586
update_current_network(adapter, pnetwork);
drivers/staging/rtl8723bs/core/rtw_mlme.c
587
rtw_update_scanned_network(adapter, pnetwork);
drivers/staging/rtl8723bs/core/rtw_mlme.c
598
int rtw_is_desired_network(struct adapter *adapter, struct wlan_network *pnetwork);
drivers/staging/rtl8723bs/core/rtw_mlme.c
599
int rtw_is_desired_network(struct adapter *adapter, struct wlan_network *pnetwork)
drivers/staging/rtl8723bs/core/rtw_mlme.c
601
struct security_priv *psecuritypriv = &adapter->securitypriv;
drivers/staging/rtl8723bs/core/rtw_mlme.c
602
struct mlme_priv *pmlmepriv = &adapter->mlmepriv;
drivers/staging/rtl8723bs/core/rtw_mlme.c
617
if (adapter->registrypriv.wifi_spec == 1) { /* for correct flow of 8021X to do.... */
drivers/staging/rtl8723bs/core/rtw_mlme.c
645
void rtw_atimdone_event_callback(struct adapter *adapter, u8 *pbuf)
drivers/staging/rtl8723bs/core/rtw_mlme.c
649
void rtw_survey_event_callback(struct adapter *adapter, u8 *pbuf)
drivers/staging/rtl8723bs/core/rtw_mlme.c
653
struct mlme_priv *pmlmepriv = &adapter->mlmepriv;
drivers/staging/rtl8723bs/core/rtw_mlme.c
684
rtw_add_network(adapter, pnetwork);
drivers/staging/rtl8723bs/core/rtw_mlme.c
692
void rtw_surveydone_event_callback(struct adapter *adapter, u8 *pbuf)
drivers/staging/rtl8723bs/core/rtw_mlme.c
694
struct mlme_priv *pmlmepriv = &adapter->mlmepriv;
drivers/staging/rtl8723bs/core/rtw_mlme.c
710
rtw_set_signal_stat_timer(&adapter->recvpriv);
drivers/staging/rtl8723bs/core/rtw_mlme.c
721
struct wlan_bssid_ex *pdev_network = &adapter->registrypriv.dev_network;
drivers/staging/rtl8723bs/core/rtw_mlme.c
722
u8 *pibss = adapter->registrypriv.dev_network.mac_address;
drivers/staging/rtl8723bs/core/rtw_mlme.c
729
rtw_update_registrypriv_dev_network(adapter);
drivers/staging/rtl8723bs/core/rtw_mlme.c
736
ret = rtw_createbss_cmd(adapter);
drivers/staging/rtl8723bs/core/rtw_mlme.c
751
rtw_indicate_connect(adapter);
drivers/staging/rtl8723bs/core/rtw_mlme.c
753
if (rtw_to_roam(adapter) != 0) {
drivers/staging/rtl8723bs/core/rtw_mlme.c
754
if (rtw_dec_to_roam(adapter) == 0
drivers/staging/rtl8723bs/core/rtw_mlme.c
755
|| _SUCCESS != rtw_sitesurvey_cmd(adapter, &pmlmepriv->assoc_ssid, 1, NULL, 0)
drivers/staging/rtl8723bs/core/rtw_mlme.c
757
rtw_set_to_roam(adapter, 0);
drivers/staging/rtl8723bs/core/rtw_mlme.c
758
rtw_free_assoc_resources(adapter, 1);
drivers/staging/rtl8723bs/core/rtw_mlme.c
759
rtw_indicate_disconnect(adapter);
drivers/staging/rtl8723bs/core/rtw_mlme.c
764
rtw_indicate_disconnect(adapter);
drivers/staging/rtl8723bs/core/rtw_mlme.c
770
if (rtw_chk_roam_flags(adapter, RTW_ROAM_ACTIVE)) {
drivers/staging/rtl8723bs/core/rtw_mlme.c
774
receive_disconnect(adapter, pmlmepriv->cur_network.network.mac_address
drivers/staging/rtl8723bs/core/rtw_mlme.c
784
rtw_os_xmit_schedule(adapter);
drivers/staging/rtl8723bs/core/rtw_mlme.c
786
rtw_cfg80211_surveydone_event_callback(adapter);
drivers/staging/rtl8723bs/core/rtw_mlme.c
788
rtw_indicate_scan_done(adapter, false);
drivers/staging/rtl8723bs/core/rtw_mlme.c
791
void rtw_dummy_event_callback(struct adapter *adapter, u8 *pbuf)
drivers/staging/rtl8723bs/core/rtw_mlme.c
795
void rtw_fwdbg_event_callback(struct adapter *adapter, u8 *pbuf)
drivers/staging/rtl8723bs/core/rtw_mlme.c
822
static void find_network(struct adapter *adapter)
drivers/staging/rtl8723bs/core/rtw_mlme.c
825
struct mlme_priv *pmlmepriv = &adapter->mlmepriv;
drivers/staging/rtl8723bs/core/rtw_mlme.c
835
(adapter->stapriv.asoc_sta_count == 1))
drivers/staging/rtl8723bs/core/rtw_mlme.c
836
rtw_free_network_nolock(adapter, pwlan);
drivers/staging/rtl8723bs/core/rtw_mlme.c
840
void rtw_free_assoc_resources(struct adapter *adapter, int lock_scanned_queue)
drivers/staging/rtl8723bs/core/rtw_mlme.c
842
struct mlme_priv *pmlmepriv = &adapter->mlmepriv;
drivers/staging/rtl8723bs/core/rtw_mlme.c
848
psta = rtw_get_stainfo(&adapter->stapriv, tgt_network->network.mac_address);
drivers/staging/rtl8723bs/core/rtw_mlme.c
849
rtw_free_stainfo(adapter, psta);
drivers/staging/rtl8723bs/core/rtw_mlme.c
855
rtw_free_all_stainfo(adapter);
drivers/staging/rtl8723bs/core/rtw_mlme.c
857
psta = rtw_get_bcmc_stainfo(adapter);
drivers/staging/rtl8723bs/core/rtw_mlme.c
858
rtw_free_stainfo(adapter, psta);
drivers/staging/rtl8723bs/core/rtw_mlme.c
860
rtw_init_bcmc_stainfo(adapter);
drivers/staging/rtl8723bs/core/rtw_mlme.c
863
find_network(adapter);
drivers/staging/rtl8723bs/core/rtw_mlme.c
866
adapter->securitypriv.key_mask = 0;
drivers/staging/rtl8723bs/core/rtw_mlme.c
870
void rtw_indicate_connect(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_mlme.c
897
void rtw_indicate_disconnect(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_mlme.c
926
inline void rtw_indicate_scan_done(struct adapter *padapter, bool aborted)
drivers/staging/rtl8723bs/core/rtw_mlme.c
938
void rtw_scan_abort(struct adapter *adapter)
drivers/staging/rtl8723bs/core/rtw_mlme.c
941
struct mlme_priv *pmlmepriv = &adapter->mlmepriv;
drivers/staging/rtl8723bs/core/rtw_mlme.c
942
struct mlme_ext_priv *pmlmeext = &adapter->mlmeextpriv;
drivers/staging/rtl8723bs/core/rtw_mlme.c
948
if (adapter->bDriverStopped || adapter->bSurpriseRemoved)
drivers/staging/rtl8723bs/core/rtw_mlme.c
955
rtw_indicate_scan_done(adapter, true);
drivers/staging/rtl8723bs/core/rtw_mlme.c
960
static struct sta_info *rtw_joinbss_update_stainfo(struct adapter *padapter, struct wlan_network *pnetwork)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
1355
unsigned int OnAssocRsp(struct adapter *padapter, union recv_frame *precv_frame)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
1445
unsigned int OnDeAuth(struct adapter *padapter, union recv_frame *precv_frame)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
1518
unsigned int OnDisassoc(struct adapter *padapter, union recv_frame *precv_frame)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
1571
unsigned int OnAtim(struct adapter *padapter, union recv_frame *precv_frame)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
1576
unsigned int on_action_spct(struct adapter *padapter, union recv_frame *precv_frame)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
1610
unsigned int OnAction_back(struct adapter *padapter, union recv_frame *precv_frame)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
1704
struct adapter *adapter = recv_frame->u.hdr.adapter;
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
1705
struct mlme_ext_priv *mlmeext = &(adapter->mlmeextpriv);
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
1764
struct adapter *adapter = precv_frame->u.hdr.adapter;
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
1773
rtw_cfg80211_rx_action(adapter, pframe, frame_len, msg);
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
1781
unsigned int on_action_public(struct adapter *padapter, union recv_frame *precv_frame)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
1810
unsigned int OnAction_ht(struct adapter *padapter, union recv_frame *precv_frame)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
1837
unsigned int OnAction_sa_query(struct adapter *padapter, union recv_frame *precv_frame)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
1859
unsigned int OnAction(struct adapter *padapter, union recv_frame *precv_frame)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
186
int init_hw_mlme_ext(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
1883
unsigned int DoReserved(struct adapter *padapter, union recv_frame *precv_frame)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
1925
void update_mgnt_tx_rate(struct adapter *padapter, u8 rate)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
1932
void update_mgntframe_attrib(struct adapter *padapter, struct pkt_attrib *pattrib)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
194
void init_mlme_default_rate_set(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
1971
void update_mgntframe_attrib_addr(struct adapter *padapter, struct xmit_frame *pmgntframe)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
1982
void dump_mgntframe(struct adapter *padapter, struct xmit_frame *pmgntframe)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
1994
s32 dump_mgntframe_and_wait(struct adapter *padapter, struct xmit_frame *pmgntframe, int timeout_ms)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
2024
s32 dump_mgntframe_and_wait_ack(struct adapter *padapter, struct xmit_frame *pmgntframe)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
208
static void init_mlme_ext_priv_value(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
2086
void issue_beacon(struct adapter *padapter, int timeout_ms)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
2231
void issue_probersp(struct adapter *padapter, unsigned char *da, u8 is_valid_p2p_probereq)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
2425
static int _issue_probereq(struct adapter *padapter,
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
2519
inline void issue_probereq(struct adapter *padapter, struct ndis_802_11_ssid *pssid, u8 *da)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
2524
int issue_probereq_ex(struct adapter *padapter, struct ndis_802_11_ssid *pssid, u8 *da, u8 ch, bool append_wps,
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
2556
void issue_auth(struct adapter *padapter, struct sta_info *psta, unsigned short status)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
2685
void issue_asocrsp(struct adapter *padapter, unsigned short status, struct sta_info *pstat, int pkt_type)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
270
static void init_channel_list(struct adapter *padapter, struct rt_channel_info *channel_set,
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
2812
void issue_assocreq(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
2988
static int _issue_nulldata(struct adapter *padapter, unsigned char *da,
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
3063
int issue_nulldata(struct adapter *padapter, unsigned char *da, unsigned int power_mode, int try_cnt, int wait_ms)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
3116
s32 issue_nulldata_in_interrupt(struct adapter *padapter, u8 *da)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
3133
static int _issue_qos_nulldata(struct adapter *padapter, unsigned char *da,
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
3208
int issue_qos_nulldata(struct adapter *padapter, unsigned char *da, u16 tid, int try_cnt, int wait_ms)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
322
static u8 init_channel_set(struct adapter *padapter, u8 ChannelPlan, struct rt_channel_info *channel_set)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
3243
static int _issue_deauth(struct adapter *padapter, unsigned char *da,
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
3302
int issue_deauth(struct adapter *padapter, unsigned char *da, unsigned short reason)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
3307
int issue_deauth_ex(struct adapter *padapter, u8 *da, unsigned short reason, int try_cnt,
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
3337
void issue_action_SA_Query(struct adapter *padapter, unsigned char *raddr, unsigned char action, unsigned short tid)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
3404
void issue_action_BA(struct adapter *padapter, unsigned char *raddr, unsigned char action, unsigned short status)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
3555
static void issue_action_BSSCoexistPacket(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
367
static void init_mlme_ext_timer(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
3698
unsigned int send_delba(struct adapter *padapter, u8 initiator, u8 *addr)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
3738
unsigned int send_beacon(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
376
void init_mlme_ext_priv(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
3768
void site_survey(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
3886
u8 collect_bss_info(struct adapter *padapter, union recv_frame *precv_frame, struct wlan_bssid_ex *bssid)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
4041
void start_create_ibss(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
408
struct adapter *padapter = pmlmeext->padapter;
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
4096
void start_clnt_join(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
4155
void start_clnt_auth(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
4180
void start_clnt_assoc(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
4195
unsigned int receive_disconnect(struct adapter *padapter, unsigned char *MacAddr, unsigned short reason)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
420
static void _mgt_dispatcher(struct adapter *padapter, struct mlme_handler *ptable, union recv_frame *precv_frame)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
4218
static void process_80211d(struct adapter *padapter, struct wlan_bssid_ex *bssid)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
434
void mgt_dispatcher(struct adapter *padapter, union recv_frame *precv_frame)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
4361
void report_survey_event(struct adapter *padapter, union recv_frame *precv_frame)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
4422
void report_surveydone_event(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
4466
void report_join_res(struct adapter *padapter, int res)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
4516
void report_wmm_edca_update(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
4560
void report_del_sta_event(struct adapter *padapter, unsigned char *MacAddr, unsigned short reason)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
4613
void report_add_sta_event(struct adapter *padapter, unsigned char *MacAddr, int cam_idx)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
4658
void update_sta_info(struct adapter *padapter, struct sta_info *psta)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
4718
static void rtw_mlmeext_disconnect(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
4765
void mlmeext_joinbss_event_callback(struct adapter *padapter, int join_res)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
4843
void mlmeext_sta_add_event_callback(struct adapter *padapter, struct sta_info *psta)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
4895
void mlmeext_sta_del_event_callback(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
4903
void _linked_info_dump(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
4928
static u8 chk_ap_is_alive(struct adapter *padapter, struct sta_info *psta)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
4946
void linked_status_chk(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
499
unsigned int OnProbeReq(struct adapter *padapter, union recv_frame *precv_frame)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
5059
struct adapter *padapter =
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
5094
struct adapter *padapter =
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
5146
struct adapter *padapter =
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
5161
u8 NULL_hdl(struct adapter *padapter, u8 *pbuf)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
5166
u8 setopmode_hdl(struct adapter *padapter, u8 *pbuf)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
5199
u8 createbss_hdl(struct adapter *padapter, u8 *pbuf)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
5256
u8 join_cmd_hdl(struct adapter *padapter, u8 *pbuf)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
5400
u8 disconnect_hdl(struct adapter *padapter, unsigned char *pbuf)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
5424
static int rtw_scan_ch_decision(struct adapter *padapter, struct rtw_ieee80211_channel *out,
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
544
unsigned int OnProbeRsp(struct adapter *padapter, union recv_frame *precv_frame)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
5484
u8 sitesurvey_cmd_hdl(struct adapter *padapter, u8 *pbuf)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
5559
u8 setauth_hdl(struct adapter *padapter, unsigned char *pbuf)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
557
unsigned int OnBeacon(struct adapter *padapter, union recv_frame *precv_frame)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
5571
u8 setkey_hdl(struct adapter *padapter, u8 *pbuf)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
5611
u8 set_stakey_hdl(struct adapter *padapter, u8 *pbuf)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
5661
u8 add_ba_hdl(struct adapter *padapter, unsigned char *pbuf)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
5686
u8 chk_bmc_sleepq_cmd(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
5706
u8 set_tx_beacon_cmd(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
5775
u8 mlme_evt_hdl(struct adapter *padapter, unsigned char *pbuf)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
5780
void (*event_callback)(struct adapter *dev, u8 *pbuf);
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
5814
u8 h2c_msg_hdl(struct adapter *padapter, unsigned char *pbuf)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
5822
u8 chk_bmc_sleepq_hdl(struct adapter *padapter, unsigned char *pbuf)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
5872
u8 tx_beacon_hdl(struct adapter *padapter, unsigned char *pbuf)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
5883
int rtw_chk_start_clnt_join(struct adapter *padapter, u8 *ch, u8 *bw, u8 *offset)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
5905
u8 set_ch_hdl(struct adapter *padapter, u8 *pbuf)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
5924
u8 set_chplan_hdl(struct adapter *padapter, unsigned char *pbuf)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
5952
u8 set_csa_hdl(struct adapter *padapter, unsigned char *pbuf)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
5968
u8 tdls_hdl(struct adapter *padapter, unsigned char *pbuf)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
5973
u8 run_in_thread_hdl(struct adapter *padapter, u8 *pbuf)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
670
unsigned int OnAuth(struct adapter *padapter, union recv_frame *precv_frame)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
852
unsigned int OnAuthClient(struct adapter *padapter, union recv_frame *precv_frame)
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
929
unsigned int OnAssocReq(struct adapter *padapter, union recv_frame *precv_frame)
drivers/staging/rtl8723bs/core/rtw_pwrctrl.c
1004
int _rtw_pwr_wakeup(struct adapter *padapter, u32 ips_deffer_ms, const char *caller)
drivers/staging/rtl8723bs/core/rtw_pwrctrl.c
1074
int rtw_pm_set_lps(struct adapter *padapter, u8 mode)
drivers/staging/rtl8723bs/core/rtw_pwrctrl.c
1096
int rtw_pm_set_ips(struct adapter *padapter, u8 mode)
drivers/staging/rtl8723bs/core/rtw_pwrctrl.c
11
void _ips_enter(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_pwrctrl.c
1117
void rtw_ps_deny(struct adapter *padapter, enum ps_deny_reason reason)
drivers/staging/rtl8723bs/core/rtw_pwrctrl.c
1132
void rtw_ps_deny_cancel(struct adapter *padapter, enum ps_deny_reason reason)
drivers/staging/rtl8723bs/core/rtw_pwrctrl.c
1148
u32 rtw_ps_deny_get(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_pwrctrl.c
119
netdev_dbg(adapter->pnetdev,
drivers/staging/rtl8723bs/core/rtw_pwrctrl.c
121
netdev_dbg(adapter->pnetdev,
drivers/staging/rtl8723bs/core/rtw_pwrctrl.c
139
void rtw_ps_processor(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_pwrctrl.c
175
struct adapter *padapter = pwrctrlpriv->adapter;
drivers/staging/rtl8723bs/core/rtw_pwrctrl.c
180
void traffic_check_for_leave_lps(struct adapter *padapter, u8 tx, u32 tx_packets)
drivers/staging/rtl8723bs/core/rtw_pwrctrl.c
231
void rtw_set_rpwm(struct adapter *padapter, u8 pslv)
drivers/staging/rtl8723bs/core/rtw_pwrctrl.c
300
static u8 PS_RDY_CHECK(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_pwrctrl.c
334
void rtw_set_ps_mode(struct adapter *padapter, u8 ps_mode, u8 smart_ps, u8 bcn_ant_mode, const char *msg)
drivers/staging/rtl8723bs/core/rtw_pwrctrl.c
35
void ips_enter(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_pwrctrl.c
401
s32 LPS_RF_ON_check(struct adapter *padapter, u32 delay_ms)
drivers/staging/rtl8723bs/core/rtw_pwrctrl.c
430
void LPS_Enter(struct adapter *padapter, const char *msg)
drivers/staging/rtl8723bs/core/rtw_pwrctrl.c
463
void LPS_Leave(struct adapter *padapter, const char *msg)
drivers/staging/rtl8723bs/core/rtw_pwrctrl.c
47
int _ips_leave(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_pwrctrl.c
487
void LeaveAllPowerSaveModeDirect(struct adapter *Adapter)
drivers/staging/rtl8723bs/core/rtw_pwrctrl.c
489
struct adapter *pri_padapter = GET_PRIMARY_ADAPTER(Adapter);
drivers/staging/rtl8723bs/core/rtw_pwrctrl.c
518
void LeaveAllPowerSaveMode(struct adapter *Adapter)
drivers/staging/rtl8723bs/core/rtw_pwrctrl.c
545
void LPS_Leave_check(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_pwrctrl.c
585
void cpwm_int_hdl(struct adapter *padapter, struct reportpwrstate_parm *preportpwrstate)
drivers/staging/rtl8723bs/core/rtw_pwrctrl.c
616
struct adapter *adapter = dvobj->if1;
drivers/staging/rtl8723bs/core/rtw_pwrctrl.c
620
cpwm_int_hdl(adapter, &report);
drivers/staging/rtl8723bs/core/rtw_pwrctrl.c
625
struct adapter *padapter;
drivers/staging/rtl8723bs/core/rtw_pwrctrl.c
69
int ips_leave(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_pwrctrl.c
702
s32 rtw_register_task_alive(struct adapter *padapter, u32 task)
drivers/staging/rtl8723bs/core/rtw_pwrctrl.c
744
void rtw_unregister_task_alive(struct adapter *padapter, u32 task)
drivers/staging/rtl8723bs/core/rtw_pwrctrl.c
787
s32 rtw_register_tx_alive(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_pwrctrl.c
832
s32 rtw_register_cmd_alive(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_pwrctrl.c
84
static bool rtw_pwr_unassociated_idle(struct adapter *adapter)
drivers/staging/rtl8723bs/core/rtw_pwrctrl.c
86
struct adapter *buddy = adapter->pbuddy_adapter;
drivers/staging/rtl8723bs/core/rtw_pwrctrl.c
87
struct mlme_priv *pmlmepriv = &(adapter->mlmepriv);
drivers/staging/rtl8723bs/core/rtw_pwrctrl.c
871
void rtw_unregister_tx_alive(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_pwrctrl.c
88
struct xmit_priv *pxmit_priv = &adapter->xmitpriv;
drivers/staging/rtl8723bs/core/rtw_pwrctrl.c
907
void rtw_unregister_cmd_alive(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_pwrctrl.c
92
if (adapter_to_pwrctl(adapter)->bpower_saving)
drivers/staging/rtl8723bs/core/rtw_pwrctrl.c
937
void rtw_init_pwrctrl_priv(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_pwrctrl.c
95
if (time_before(jiffies, adapter_to_pwrctl(adapter)->ips_deny_time))
drivers/staging/rtl8723bs/core/rtw_pwrctrl.c
977
pwrctrlpriv->adapter = padapter;
drivers/staging/rtl8723bs/core/rtw_pwrctrl.c
987
void rtw_free_pwrctrl_priv(struct adapter *adapter)
drivers/staging/rtl8723bs/core/rtw_pwrctrl.c
991
inline void rtw_set_ips_deny(struct adapter *padapter, u32 ms)
drivers/staging/rtl8723bs/core/rtw_recv.c
1074
static union recv_frame *recvframe_defrag(struct adapter *adapter,
drivers/staging/rtl8723bs/core/rtw_recv.c
1085
pfree_recv_queue = &adapter->recvpriv.free_recv_queue;
drivers/staging/rtl8723bs/core/rtw_recv.c
1152
static union recv_frame *recvframe_chk_defrag(struct adapter *padapter, union recv_frame *precv_frame)
drivers/staging/rtl8723bs/core/rtw_recv.c
121
struct adapter *padapter;
drivers/staging/rtl8723bs/core/rtw_recv.c
1250
static signed int validate_recv_mgnt_frame(struct adapter *padapter, union recv_frame *precv_frame)
drivers/staging/rtl8723bs/core/rtw_recv.c
1286
static signed int validate_recv_data_frame(struct adapter *adapter, union recv_frame *precv_frame)
drivers/staging/rtl8723bs/core/rtw_recv.c
1293
struct security_priv *psecuritypriv = &adapter->securitypriv;
drivers/staging/rtl8723bs/core/rtw_recv.c
1315
ret = sta2sta_data_frame(adapter, precv_frame, &psta);
drivers/staging/rtl8723bs/core/rtw_recv.c
1321
ret = ap2sta_data_frame(adapter, precv_frame, &psta);
drivers/staging/rtl8723bs/core/rtw_recv.c
1327
ret = sta2ap_data_frame(adapter, precv_frame, &psta);
drivers/staging/rtl8723bs/core/rtw_recv.c
134
padapter = precvframe->u.hdr.adapter;
drivers/staging/rtl8723bs/core/rtw_recv.c
1369
adapter->recvpriv.bIsAnyNonBEPkts = true;
drivers/staging/rtl8723bs/core/rtw_recv.c
1401
static signed int validate_80211w_mgmt(struct adapter *adapter, union recv_frame *precv_frame)
drivers/staging/rtl8723bs/core/rtw_recv.c
1403
struct mlme_priv *pmlmepriv = &adapter->mlmepriv;
drivers/staging/rtl8723bs/core/rtw_recv.c
1412
adapter->securitypriv.binstallBIPkey == true) {
drivers/staging/rtl8723bs/core/rtw_recv.c
1431
precv_frame = decryptor(adapter, precv_frame);
drivers/staging/rtl8723bs/core/rtw_recv.c
1445
BIP_ret = rtw_BIP_verify(adapter, (u8 *)precv_frame);
drivers/staging/rtl8723bs/core/rtw_recv.c
1450
issue_action_SA_Query(adapter, NULL, 0, 0);
drivers/staging/rtl8723bs/core/rtw_recv.c
1465
issue_action_SA_Query(adapter, NULL, 0, 0);
drivers/staging/rtl8723bs/core/rtw_recv.c
1477
static signed int validate_recv_frame(struct adapter *adapter, union recv_frame *precv_frame)
drivers/staging/rtl8723bs/core/rtw_recv.c
1512
rtw_hal_get_def_var(adapter, HAL_DEF_DBG_DUMP_RXPKT, &(bDumpRxPkt));
drivers/staging/rtl8723bs/core/rtw_recv.c
1516
if (validate_80211w_mgmt(adapter, precv_frame) == _FAIL) {
drivers/staging/rtl8723bs/core/rtw_recv.c
1521
retval = validate_recv_mgnt_frame(adapter, precv_frame);
drivers/staging/rtl8723bs/core/rtw_recv.c
1525
retval = validate_recv_ctrl_frame(adapter, precv_frame);
drivers/staging/rtl8723bs/core/rtw_recv.c
1530
retval = validate_recv_data_frame(adapter, precv_frame);
drivers/staging/rtl8723bs/core/rtw_recv.c
1532
struct recv_priv *precvpriv = &adapter->recvpriv;
drivers/staging/rtl8723bs/core/rtw_recv.c
1541
rtw_hal_get_def_var(adapter, HAL_DEF_DBG_DUMP_RXPKT, &(bDumpRxPkt));
drivers/staging/rtl8723bs/core/rtw_recv.c
1566
struct adapter *adapter = precvframe->u.hdr.adapter;
drivers/staging/rtl8723bs/core/rtw_recv.c
1567
struct mlme_priv *pmlmepriv = &adapter->mlmepriv;
drivers/staging/rtl8723bs/core/rtw_recv.c
159
struct adapter *padapter = precvframe->u.hdr.adapter;
drivers/staging/rtl8723bs/core/rtw_recv.c
1665
static void rtw_recv_indicate_pkt(struct adapter *padapter, struct sk_buff *pkt, struct rx_pkt_attrib *pattrib)
drivers/staging/rtl8723bs/core/rtw_recv.c
1712
static int amsdu_to_msdu(struct adapter *padapter, union recv_frame *prframe)
drivers/staging/rtl8723bs/core/rtw_recv.c
1860
static int rtw_recv_indicatepkt(struct adapter *padapter, union recv_frame *precv_frame)
drivers/staging/rtl8723bs/core/rtw_recv.c
189
struct adapter *padapter = precvframe->u.hdr.adapter;
drivers/staging/rtl8723bs/core/rtw_recv.c
1897
static int recv_indicatepkts_in_order(struct adapter *padapter, struct recv_reorder_ctrl *preorder_ctrl, int bforced)
drivers/staging/rtl8723bs/core/rtw_recv.c
1978
static int recv_indicatepkt_reorder(struct adapter *padapter, union recv_frame *prframe)
drivers/staging/rtl8723bs/core/rtw_recv.c
2069
struct adapter *padapter = preorder_ctrl->padapter;
drivers/staging/rtl8723bs/core/rtw_recv.c
2085
static int process_recv_indicatepkts(struct adapter *padapter, union recv_frame *prframe)
drivers/staging/rtl8723bs/core/rtw_recv.c
2123
static int recv_func_prehandle(struct adapter *padapter, union recv_frame *rframe)
drivers/staging/rtl8723bs/core/rtw_recv.c
2139
static int recv_func_posthandle(struct adapter *padapter, union recv_frame *prframe)
drivers/staging/rtl8723bs/core/rtw_recv.c
2175
static int recv_func(struct adapter *padapter, union recv_frame *rframe)
drivers/staging/rtl8723bs/core/rtw_recv.c
2223
struct adapter *padapter;
drivers/staging/rtl8723bs/core/rtw_recv.c
2227
padapter = precvframe->u.hdr.adapter;
drivers/staging/rtl8723bs/core/rtw_recv.c
2246
struct adapter *adapter =
drivers/staging/rtl8723bs/core/rtw_recv.c
2247
timer_container_of(adapter, t, recvpriv.signal_stat_timer);
drivers/staging/rtl8723bs/core/rtw_recv.c
2248
struct recv_priv *recvpriv = &adapter->recvpriv;
drivers/staging/rtl8723bs/core/rtw_recv.c
2257
if (adapter->recvpriv.is_signal_dbg) {
drivers/staging/rtl8723bs/core/rtw_recv.c
2259
adapter->recvpriv.signal_strength = adapter->recvpriv.signal_strength_dbg;
drivers/staging/rtl8723bs/core/rtw_recv.c
2260
adapter->recvpriv.rssi = (s8)translate_percentage_to_dbm((u8)adapter->recvpriv.signal_strength_dbg);
drivers/staging/rtl8723bs/core/rtw_recv.c
2278
if (rtw_get_on_cur_ch_time(adapter) == 0 ||
drivers/staging/rtl8723bs/core/rtw_recv.c
2279
jiffies_to_msecs(jiffies - rtw_get_on_cur_ch_time(adapter)) < 2 * adapter->mlmeextpriv.mlmext_info.bcn_interval
drivers/staging/rtl8723bs/core/rtw_recv.c
2285
if (check_fwstate(&adapter->mlmepriv, _FW_UNDER_SURVEY) == true ||
drivers/staging/rtl8723bs/core/rtw_recv.c
2286
check_fwstate(&adapter->mlmepriv, _FW_LINKED) == false
drivers/staging/rtl8723bs/core/rtw_recv.c
247
u32 rtw_free_uc_swdec_pending_queue(struct adapter *adapter)
drivers/staging/rtl8723bs/core/rtw_recv.c
252
while ((pending_frame = rtw_alloc_recvframe(&adapter->recvpriv.uc_swdec_pending_queue))) {
drivers/staging/rtl8723bs/core/rtw_recv.c
253
rtw_free_recvframe(pending_frame, &adapter->recvpriv.free_recv_queue);
drivers/staging/rtl8723bs/core/rtw_recv.c
31
signed int _rtw_init_recv_priv(struct recv_priv *precvpriv, struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_recv.c
311
static void rtw_handle_tkip_mic_err(struct adapter *padapter, u8 bgroup)
drivers/staging/rtl8723bs/core/rtw_recv.c
355
static signed int recvframe_chkmic(struct adapter *adapter, union recv_frame *precvframe)
drivers/staging/rtl8723bs/core/rtw_recv.c
367
struct security_priv *psecuritypriv = &adapter->securitypriv;
drivers/staging/rtl8723bs/core/rtw_recv.c
369
struct mlme_ext_priv *pmlmeext = &adapter->mlmeextpriv;
drivers/staging/rtl8723bs/core/rtw_recv.c
372
stainfo = rtw_get_stainfo(&adapter->stapriv, &prxattrib->ta[0]);
drivers/staging/rtl8723bs/core/rtw_recv.c
416
rtw_handle_tkip_mic_err(adapter, (u8)is_multicast_ether_addr(prxattrib->ra));
drivers/staging/rtl8723bs/core/rtw_recv.c
438
static union recv_frame *decryptor(struct adapter *padapter, union recv_frame *precv_frame)
drivers/staging/rtl8723bs/core/rtw_recv.c
46
precvpriv->adapter = padapter;
drivers/staging/rtl8723bs/core/rtw_recv.c
500
static union recv_frame *portctrl(struct adapter *adapter, union recv_frame *precv_frame)
drivers/staging/rtl8723bs/core/rtw_recv.c
513
pstapriv = &adapter->stapriv;
drivers/staging/rtl8723bs/core/rtw_recv.c
515
auth_alg = adapter->securitypriv.dot11AuthAlgrthm;
drivers/staging/rtl8723bs/core/rtw_recv.c
544
rtw_free_recvframe(precv_frame, &adapter->recvpriv.free_recv_queue);
drivers/staging/rtl8723bs/core/rtw_recv.c
588
static void process_pwrbit_data(struct adapter *padapter, union recv_frame *precv_frame)
drivers/staging/rtl8723bs/core/rtw_recv.c
621
static void process_wmmps_data(struct adapter *padapter, union recv_frame *precv_frame)
drivers/staging/rtl8723bs/core/rtw_recv.c
672
static void count_rx_stats(struct adapter *padapter, union recv_frame *prframe, struct sta_info *sta)
drivers/staging/rtl8723bs/core/rtw_recv.c
703
static signed int sta2sta_data_frame(struct adapter *adapter, union recv_frame *precv_frame,
drivers/staging/rtl8723bs/core/rtw_recv.c
709
struct sta_priv *pstapriv = &adapter->stapriv;
drivers/staging/rtl8723bs/core/rtw_recv.c
710
struct mlme_priv *pmlmepriv = &adapter->mlmepriv;
drivers/staging/rtl8723bs/core/rtw_recv.c
712
u8 *myhwaddr = myid(&adapter->eeprompriv);
drivers/staging/rtl8723bs/core/rtw_recv.c
74
precvframe->u.hdr.adapter = padapter;
drivers/staging/rtl8723bs/core/rtw_recv.c
778
*psta = rtw_get_bcmc_stainfo(adapter);
drivers/staging/rtl8723bs/core/rtw_recv.c
791
static signed int ap2sta_data_frame(struct adapter *adapter, union recv_frame *precv_frame,
drivers/staging/rtl8723bs/core/rtw_recv.c
797
struct sta_priv *pstapriv = &adapter->stapriv;
drivers/staging/rtl8723bs/core/rtw_recv.c
798
struct mlme_priv *pmlmepriv = &adapter->mlmepriv;
drivers/staging/rtl8723bs/core/rtw_recv.c
800
u8 *myhwaddr = myid(&adapter->eeprompriv);
drivers/staging/rtl8723bs/core/rtw_recv.c
827
issue_deauth(adapter, pattrib->bssid, WLAN_REASON_CLASS3_FRAME_FROM_NONASSOC_STA);
drivers/staging/rtl8723bs/core/rtw_recv.c
834
*psta = rtw_get_bcmc_stainfo(adapter);
drivers/staging/rtl8723bs/core/rtw_recv.c
845
count_rx_stats(adapter, precv_frame, *psta);
drivers/staging/rtl8723bs/core/rtw_recv.c
884
issue_deauth(adapter, pattrib->bssid, WLAN_REASON_CLASS3_FRAME_FROM_NONASSOC_STA);
drivers/staging/rtl8723bs/core/rtw_recv.c
896
static signed int sta2ap_data_frame(struct adapter *adapter, union recv_frame *precv_frame,
drivers/staging/rtl8723bs/core/rtw_recv.c
901
struct sta_priv *pstapriv = &adapter->stapriv;
drivers/staging/rtl8723bs/core/rtw_recv.c
902
struct mlme_priv *pmlmepriv = &adapter->mlmepriv;
drivers/staging/rtl8723bs/core/rtw_recv.c
915
issue_deauth(adapter, pattrib->src, WLAN_REASON_CLASS3_FRAME_FROM_NONASSOC_STA);
drivers/staging/rtl8723bs/core/rtw_recv.c
921
process_pwrbit_data(adapter, precv_frame);
drivers/staging/rtl8723bs/core/rtw_recv.c
924
process_wmmps_data(adapter, precv_frame);
drivers/staging/rtl8723bs/core/rtw_recv.c
928
count_rx_stats(adapter, precv_frame, *psta);
drivers/staging/rtl8723bs/core/rtw_recv.c
933
u8 *myhwaddr = myid(&adapter->eeprompriv);
drivers/staging/rtl8723bs/core/rtw_recv.c
939
issue_deauth(adapter, pattrib->src, WLAN_REASON_CLASS3_FRAME_FROM_NONASSOC_STA);
drivers/staging/rtl8723bs/core/rtw_recv.c
948
static signed int validate_recv_ctrl_frame(struct adapter *padapter, union recv_frame *precv_frame)
drivers/staging/rtl8723bs/core/rtw_recv.c
96
struct adapter *padapter = precvpriv->adapter;
drivers/staging/rtl8723bs/core/rtw_security.c
1199
u32 rtw_aes_decrypt(struct adapter *padapter, u8 *precvframe)
drivers/staging/rtl8723bs/core/rtw_security.c
1283
u32 rtw_BIP_verify(struct adapter *padapter, u8 *precvframe)
drivers/staging/rtl8723bs/core/rtw_security.c
1463
void rtw_sec_restore_wep_key(struct adapter *adapter)
drivers/staging/rtl8723bs/core/rtw_security.c
1465
struct security_priv *securitypriv = &(adapter->securitypriv);
drivers/staging/rtl8723bs/core/rtw_security.c
1472
rtw_set_key(adapter, securitypriv, keyid, 1, false);
drivers/staging/rtl8723bs/core/rtw_security.c
1474
rtw_set_key(adapter, securitypriv, keyid, 0, false);
drivers/staging/rtl8723bs/core/rtw_security.c
1480
u8 rtw_handle_tkip_countermeasure(struct adapter *adapter, const char *caller)
drivers/staging/rtl8723bs/core/rtw_security.c
1482
struct security_priv *securitypriv = &(adapter->securitypriv);
drivers/staging/rtl8723bs/core/rtw_security.c
1489
netdev_dbg(adapter->pnetdev,
drivers/staging/rtl8723bs/core/rtw_security.c
1491
caller, ADPT_ARG(adapter),
drivers/staging/rtl8723bs/core/rtw_security.c
1496
netdev_dbg(adapter->pnetdev,
drivers/staging/rtl8723bs/core/rtw_security.c
1498
caller, ADPT_ARG(adapter),
drivers/staging/rtl8723bs/core/rtw_security.c
35
void rtw_wep_encrypt(struct adapter *padapter, u8 *pxmitframe)
drivers/staging/rtl8723bs/core/rtw_security.c
428
u32 rtw_tkip_encrypt(struct adapter *padapter, u8 *pxmitframe)
drivers/staging/rtl8723bs/core/rtw_security.c
504
u32 rtw_tkip_decrypt(struct adapter *padapter, u8 *precvframe)
drivers/staging/rtl8723bs/core/rtw_security.c
93
void rtw_wep_decrypt(struct adapter *padapter, u8 *precvframe)
drivers/staging/rtl8723bs/core/rtw_security.c
949
u32 rtw_aes_encrypt(struct adapter *padapter, u8 *pxmitframe)
drivers/staging/rtl8723bs/core/rtw_sta_mgt.c
270
u32 rtw_free_stainfo(struct adapter *padapter, struct sta_info *psta)
drivers/staging/rtl8723bs/core/rtw_sta_mgt.c
423
void rtw_free_all_stainfo(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_sta_mgt.c
491
u32 rtw_init_bcmc_stainfo(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_sta_mgt.c
510
struct sta_info *rtw_get_bcmc_stainfo(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_sta_mgt.c
518
u8 rtw_access_ctrl(struct adapter *padapter, u8 *mac_addr)
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
1005
void HTOnAssocRsp(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
1035
void ERP_IE_handler(struct adapter *padapter, struct ndis_80211_var_ie *pIE)
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
1047
void VCS_update(struct adapter *padapter, struct sta_info *psta)
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
1101
int rtw_check_bcn_info(struct adapter *Adapter, u8 *pframe, u32 packet_len)
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
111
int is_basicrate(struct adapter *padapter, unsigned char rate);
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
112
int is_basicrate(struct adapter *padapter, unsigned char rate)
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
1281
void update_beacon_info(struct adapter *padapter, u8 *pframe, uint pkt_len, struct sta_info *psta)
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
129
unsigned int ratetbl2rateset(struct adapter *padapter, unsigned char *rateset);
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
130
unsigned int ratetbl2rateset(struct adapter *padapter, unsigned char *rateset)
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
1319
unsigned int is_ap_in_tkip(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
1356
int support_short_GI(struct adapter *padapter, struct HT_caps_element *pHT_caps, u8 bwmode)
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
1388
void Update_RA_Entry(struct adapter *padapter, struct sta_info *psta)
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
1393
void set_sta_rate(struct adapter *padapter, struct sta_info *psta)
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
1463
void update_IOT_info(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
1493
void update_capinfo(struct adapter *Adapter, u16 updateCap)
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
1543
void update_wireless_mode(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
1592
int update_sta_support_rate(struct adapter *padapter, u8 *pvar_ie, uint var_ie_len, int cam_idx)
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
161
void get_rate_set(struct adapter *padapter, unsigned char *pbssrate, int *bssrate_len)
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
1616
void process_addba_req(struct adapter *padapter, u8 *paddba_req, u8 *addr)
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
1655
void correct_TSF(struct adapter *padapter, struct mlme_ext_priv *pmlmeext)
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
1723
void rtw_alloc_macid(struct adapter *padapter, struct sta_info *psta)
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
1751
void rtw_release_macid(struct adapter *padapter, struct sta_info *psta)
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
183
void update_basic_rate_table(struct adapter *Adapter, u8 *mBratesOS)
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
223
void Save_DM_Func_Flag(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
230
void Restore_DM_Func_Flag(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
237
void Switch_DM_Func(struct adapter *padapter, u32 mode, u8 enable)
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
245
void set_msr(struct adapter *padapter, u8 type)
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
250
inline u8 rtw_get_oper_ch(struct adapter *adapter)
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
252
return adapter_to_dvobj(adapter)->oper_channel;
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
255
inline void rtw_set_oper_ch(struct adapter *adapter, u8 ch)
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
263
struct dvobj_priv *dvobj = adapter_to_dvobj(adapter);
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
272
struct adapter *iface = dvobj->padapters[i];
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
292
inline void rtw_set_oper_bw(struct adapter *adapter, u8 bw)
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
294
adapter_to_dvobj(adapter)->oper_bwmode = bw;
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
297
inline void rtw_set_oper_choffset(struct adapter *adapter, u8 offset)
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
299
adapter_to_dvobj(adapter)->oper_ch_offset = offset;
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
316
inline unsigned long rtw_get_on_cur_ch_time(struct adapter *adapter)
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
318
if (adapter->mlmeextpriv.cur_channel == adapter_to_dvobj(adapter)->oper_channel)
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
319
return adapter_to_dvobj(adapter)->on_oper_ch_time;
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
324
void r8723bs_select_channel(struct adapter *padapter, unsigned char channel)
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
337
void set_channel_bwmode(struct adapter *padapter, unsigned char channel, unsigned char channel_offset, unsigned short bwmode)
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
372
int is_client_associated_to_ap(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
389
int is_client_associated_to_ibss(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
400
int is_IBSS_empty(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
424
void invalidate_cam_all(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
437
void _write_cam(struct adapter *padapter, u8 entry, u16 ctrl, u8 *mac, u8 *key)
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
46
u8 networktype_to_raid_ex(struct adapter *adapter, struct sta_info *psta)
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
466
void _clear_cam_entry(struct adapter *padapter, u8 entry)
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
474
inline void write_cam(struct adapter *adapter, u8 id, u16 ctrl, u8 *mac, u8 *key)
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
476
_write_cam(adapter, id, ctrl, mac, key);
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
477
write_cam_cache(adapter, id, ctrl, mac, key);
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
480
inline void clear_cam_entry(struct adapter *adapter, u8 id)
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
482
_clear_cam_entry(adapter, id);
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
483
clear_cam_cache(adapter, id);
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
486
void write_cam_cache(struct adapter *adapter, u8 id, u16 ctrl, u8 *mac, u8 *key)
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
488
struct dvobj_priv *dvobj = adapter_to_dvobj(adapter);
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
500
void clear_cam_cache(struct adapter *adapter, u8 id)
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
502
struct dvobj_priv *dvobj = adapter_to_dvobj(adapter);
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
512
static bool _rtw_camid_is_gk(struct adapter *adapter, u8 cam_id)
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
514
struct dvobj_priv *dvobj = adapter_to_dvobj(adapter);
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
530
static s16 _rtw_camid_search(struct adapter *adapter, u8 *addr, s16 kid)
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
532
struct dvobj_priv *dvobj = adapter_to_dvobj(adapter);
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
549
s16 rtw_camid_search(struct adapter *adapter, u8 *addr, s16 kid)
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
551
struct dvobj_priv *dvobj = adapter_to_dvobj(adapter);
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
556
cam_id = _rtw_camid_search(adapter, addr, kid);
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
562
s16 rtw_camid_alloc(struct adapter *adapter, struct sta_info *sta, u8 kid)
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
564
struct dvobj_priv *dvobj = adapter_to_dvobj(adapter);
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
571
mlmeinfo = &adapter->mlmeextpriv.mlmext_info;
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
577
netdev_dbg(adapter->pnetdev,
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
579
FUNC_ADPT_ARG(adapter), kid);
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
595
addr = get_bssid(&adapter->mlmepriv);
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
598
i = _rtw_camid_search(adapter, addr, kid);
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
601
if (sta || _rtw_camid_is_gk(adapter, i))
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
604
netdev_dbg(adapter->pnetdev,
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
606
FUNC_ADPT_ARG(adapter), kid);
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
616
netdev_dbg(adapter->pnetdev,
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
618
FUNC_ADPT_ARG(adapter),
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
621
netdev_dbg(adapter->pnetdev,
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
623
FUNC_ADPT_ARG(adapter), kid);
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
640
void rtw_camid_free(struct adapter *adapter, u8 cam_id)
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
642
struct dvobj_priv *dvobj = adapter_to_dvobj(adapter);
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
653
int allocate_fw_sta_entry(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
670
void flush_all_cam_entry(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
682
int WMM_param_handler(struct adapter *padapter, struct ndis_80211_var_ie *pIE)
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
729
void WMMOnAssocRsp(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
833
static void bwmode_update_check(struct adapter *padapter, struct ndis_80211_var_ie *pIE)
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
919
void HT_caps_handler(struct adapter *padapter, struct ndis_80211_var_ie *pIE)
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
985
void HT_info_handler(struct adapter *padapter, struct ndis_80211_var_ie *pIE)
drivers/staging/rtl8723bs/core/rtw_xmit.c
1013
s32 rtw_txframes_pending(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_xmit.c
1050
s32 rtw_xmitframe_coalesce(struct adapter *padapter, struct sk_buff *pkt, struct xmit_frame *pxmitframe)
drivers/staging/rtl8723bs/core/rtw_xmit.c
1177
s32 rtw_mgmt_xmitframe_coalesce(struct adapter *padapter, struct sk_buff *pkt, struct xmit_frame *pxmitframe)
drivers/staging/rtl8723bs/core/rtw_xmit.c
1369
void rtw_update_protection(struct adapter *padapter, u8 *ie, uint ie_len)
drivers/staging/rtl8723bs/core/rtw_xmit.c
1406
void rtw_count_tx_stats(struct adapter *padapter, struct xmit_frame *pxmitframe, int sz)
drivers/staging/rtl8723bs/core/rtw_xmit.c
1708
pxframe->padapter = pxmitpriv->adapter;
drivers/staging/rtl8723bs/core/rtw_xmit.c
1725
struct adapter *padapter = pxmitpriv->adapter;
drivers/staging/rtl8723bs/core/rtw_xmit.c
1782
s32 rtw_xmitframe_enqueue(struct adapter *padapter, struct xmit_frame *pxmitframe)
drivers/staging/rtl8723bs/core/rtw_xmit.c
1790
struct tx_servq *rtw_get_sta_pending(struct adapter *padapter, struct sta_info *psta, signed int up, u8 *ac)
drivers/staging/rtl8723bs/core/rtw_xmit.c
1828
s32 rtw_xmit_classifier(struct adapter *padapter, struct xmit_frame *pxmitframe)
drivers/staging/rtl8723bs/core/rtw_xmit.c
1863
s32 rtw_alloc_hwxmits(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_xmit.c
1903
void rtw_free_hwxmits(struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_xmit.c
1955
static void do_queue_select(struct adapter *padapter, struct pkt_attrib *pattrib)
drivers/staging/rtl8723bs/core/rtw_xmit.c
1972
s32 rtw_xmit(struct adapter *padapter, struct sk_buff **ppkt)
drivers/staging/rtl8723bs/core/rtw_xmit.c
2023
struct adapter *adapter = xmitframe->padapter;
drivers/staging/rtl8723bs/core/rtw_xmit.c
2024
struct registry_priv *registry = &adapter->registrypriv;
drivers/staging/rtl8723bs/core/rtw_xmit.c
2044
signed int xmitframe_enqueue_for_sleeping_sta(struct adapter *padapter, struct xmit_frame *pxmitframe)
drivers/staging/rtl8723bs/core/rtw_xmit.c
2159
static void dequeue_xmitframes_to_sleeping_queue(struct adapter *padapter, struct sta_info *psta, struct __queue *pframequeue)
drivers/staging/rtl8723bs/core/rtw_xmit.c
2189
void stop_sta_xmit(struct adapter *padapter, struct sta_info *psta)
drivers/staging/rtl8723bs/core/rtw_xmit.c
2227
void wakeup_sta_to_xmit(struct adapter *padapter, struct sta_info *psta)
drivers/staging/rtl8723bs/core/rtw_xmit.c
2345
void xmit_delivery_enabled_frames(struct adapter *padapter, struct sta_info *psta)
drivers/staging/rtl8723bs/core/rtw_xmit.c
2412
struct adapter *pri_adapter = pxmitpriv->adapter;
drivers/staging/rtl8723bs/core/rtw_xmit.c
2520
struct adapter *padapter;
drivers/staging/rtl8723bs/core/rtw_xmit.c
278
struct adapter *padapter = pxmitpriv->adapter;
drivers/staging/rtl8723bs/core/rtw_xmit.c
34
s32 _rtw_init_xmit_priv(struct xmit_priv *pxmitpriv, struct adapter *padapter)
drivers/staging/rtl8723bs/core/rtw_xmit.c
356
static void update_attrib_vcs_info(struct adapter *padapter, struct xmit_frame *pxmitframe)
drivers/staging/rtl8723bs/core/rtw_xmit.c
438
static void update_attrib_phy_info(struct adapter *padapter, struct pkt_attrib *pattrib, struct sta_info *psta)
drivers/staging/rtl8723bs/core/rtw_xmit.c
474
static s32 update_attrib_sec_info(struct adapter *padapter, struct pkt_attrib *pattrib, struct sta_info *psta)
drivers/staging/rtl8723bs/core/rtw_xmit.c
50
pxmitpriv->adapter = padapter;
drivers/staging/rtl8723bs/core/rtw_xmit.c
630
static s32 update_attrib(struct adapter *padapter, struct sk_buff *pkt, struct pkt_attrib *pattrib)
drivers/staging/rtl8723bs/core/rtw_xmit.c
780
static s32 xmitframe_addmic(struct adapter *padapter, struct xmit_frame *pxmitframe)
drivers/staging/rtl8723bs/core/rtw_xmit.c
862
static s32 xmitframe_swencrypt(struct adapter *padapter, struct xmit_frame *pxmitframe)
drivers/staging/rtl8723bs/core/rtw_xmit.c
886
s32 rtw_make_wlanhdr(struct adapter *padapter, u8 *hdr, struct pkt_attrib *pattrib)
drivers/staging/rtl8723bs/hal/HalPhyRf.c
58
void ODM_TXPowerTrackingCallback_ThermalMeter(struct adapter *Adapter)
drivers/staging/rtl8723bs/hal/HalPhyRf.h
38
void ODM_TXPowerTrackingCallback_ThermalMeter(struct adapter *Adapter);
drivers/staging/rtl8723bs/hal/HalPhyRf_8723B.c
1104
static bool ODM_CheckPowerStatus(struct adapter *Adapter)
drivers/staging/rtl8723bs/hal/HalPhyRf_8723B.c
1110
struct adapter *padapter,
drivers/staging/rtl8723bs/hal/HalPhyRf_8723B.c
1130
struct adapter *padapter, u32 *MACReg, u32 *MACBackup
drivers/staging/rtl8723bs/hal/HalPhyRf_8723B.c
1146
struct adapter *padapter,
drivers/staging/rtl8723bs/hal/HalPhyRf_8723B.c
1162
struct adapter *padapter, u32 *MACReg, u32 *MACBackup
drivers/staging/rtl8723bs/hal/HalPhyRf_8723B.c
1175
struct adapter *padapter,
drivers/staging/rtl8723bs/hal/HalPhyRf_8723B.c
1200
struct adapter *padapter, u32 *MACReg, u32 *MACBackup
drivers/staging/rtl8723bs/hal/HalPhyRf_8723B.c
1217
struct adapter *padapter,
drivers/staging/rtl8723bs/hal/HalPhyRf_8723B.c
1300
struct adapter *padapter,
drivers/staging/rtl8723bs/hal/HalPhyRf_8723B.c
1501
struct adapter *padapter = pDM_Odm->Adapter;
drivers/staging/rtl8723bs/hal/HalPhyRf_8723B.c
1561
struct adapter *padapter,
drivers/staging/rtl8723bs/hal/HalPhyRf_8723B.c
169
struct adapter *Adapter = pDM_Odm->Adapter;
drivers/staging/rtl8723bs/hal/HalPhyRf_8723B.c
211
struct adapter *Adapter = pDM_Odm->Adapter;
drivers/staging/rtl8723bs/hal/HalPhyRf_8723B.c
310
struct adapter *Adapter = pDM_Odm->Adapter;
drivers/staging/rtl8723bs/hal/HalPhyRf_8723B.c
356
struct adapter *padapter, bool configPathB, u8 RF_Path
drivers/staging/rtl8723bs/hal/HalPhyRf_8723B.c
457
struct adapter *padapter, bool configPathB, u8 RF_Path
drivers/staging/rtl8723bs/hal/HalPhyRf_8723B.c
644
static u8 phy_PathB_IQK_8723B(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/HalPhyRf_8723B.c
737
static u8 phy_PathB_RxIQK8723B(struct adapter *padapter, bool configPathB)
drivers/staging/rtl8723bs/hal/HalPhyRf_8723B.c
924
struct adapter *padapter,
drivers/staging/rtl8723bs/hal/HalPhyRf_8723B.c
998
struct adapter *padapter,
drivers/staging/rtl8723bs/hal/HalPhyRf_8723B.h
30
struct adapter *Adapter,
drivers/staging/rtl8723bs/hal/HalPhyRf_8723B.h
47
void PHY_DigitalPredistortion_8723B(struct adapter *padapter);
drivers/staging/rtl8723bs/hal/HalPhyRf_8723B.h
51
struct adapter *padapter,
drivers/staging/rtl8723bs/hal/HalPhyRf_8723B.h
58
struct adapter *padapter,
drivers/staging/rtl8723bs/hal/HalPhyRf_8723B.h
65
struct adapter *padapter, u32 *MACReg, u32 *MACBackup
drivers/staging/rtl8723bs/hal/HalPwrSeqCmd.c
37
struct adapter *padapter,
drivers/staging/rtl8723bs/hal/hal_btcoex.c
111
struct adapter *padapter;
drivers/staging/rtl8723bs/hal/hal_btcoex.c
1142
void hal_btcoex_SetBTCoexist(struct adapter *padapter, u8 bBtExist)
drivers/staging/rtl8723bs/hal/hal_btcoex.c
1159
bool hal_btcoex_IsBtExist(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/hal_btcoex.c
1168
bool hal_btcoex_IsBtDisabled(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/hal_btcoex.c
1179
void hal_btcoex_SetPgAntNum(struct adapter *padapter, u8 antNum)
drivers/staging/rtl8723bs/hal/hal_btcoex.c
1190
void hal_btcoex_SetSingleAntPath(struct adapter *padapter, u8 singleAntPath)
drivers/staging/rtl8723bs/hal/hal_btcoex.c
1195
void hal_btcoex_PowerOnSetting(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/hal_btcoex.c
1200
void hal_btcoex_InitHwConfig(struct adapter *padapter, u8 bWifiOnly)
drivers/staging/rtl8723bs/hal/hal_btcoex.c
1209
void hal_btcoex_IpsNotify(struct adapter *padapter, u8 type)
drivers/staging/rtl8723bs/hal/hal_btcoex.c
1214
void hal_btcoex_LpsNotify(struct adapter *padapter, u8 type)
drivers/staging/rtl8723bs/hal/hal_btcoex.c
1219
void hal_btcoex_ScanNotify(struct adapter *padapter, u8 type)
drivers/staging/rtl8723bs/hal/hal_btcoex.c
1224
void hal_btcoex_ConnectNotify(struct adapter *padapter, u8 action)
drivers/staging/rtl8723bs/hal/hal_btcoex.c
1229
void hal_btcoex_MediaStatusNotify(struct adapter *padapter, u8 mediaStatus)
drivers/staging/rtl8723bs/hal/hal_btcoex.c
1234
void hal_btcoex_SpecialPacketNotify(struct adapter *padapter, u8 pktType)
drivers/staging/rtl8723bs/hal/hal_btcoex.c
1239
void hal_btcoex_IQKNotify(struct adapter *padapter, u8 state)
drivers/staging/rtl8723bs/hal/hal_btcoex.c
1244
void hal_btcoex_BtInfoNotify(struct adapter *padapter, u8 length, u8 *tmpBuf)
drivers/staging/rtl8723bs/hal/hal_btcoex.c
1252
void hal_btcoex_SuspendNotify(struct adapter *padapter, u8 state)
drivers/staging/rtl8723bs/hal/hal_btcoex.c
1262
void hal_btcoex_HaltNotify(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/hal_btcoex.c
1267
void hal_btcoex_Handler(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/hal_btcoex.c
1272
s32 hal_btcoex_IsBTCoexCtrlAMPDUSize(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/hal_btcoex.c
1277
bool hal_btcoex_IsBtControlLps(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/hal_btcoex.c
129
struct adapter *padapter;
drivers/staging/rtl8723bs/hal/hal_btcoex.c
1291
bool hal_btcoex_IsLpsOn(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/hal_btcoex.c
1305
u8 hal_btcoex_RpwmVal(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/hal_btcoex.c
1310
u8 hal_btcoex_LpsVal(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/hal_btcoex.c
1315
u32 hal_btcoex_GetRaMask(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/hal_btcoex.c
1329
void hal_btcoex_RecordPwrMode(struct adapter *padapter, u8 *pCmdBuf, u8 cmdLen)
drivers/staging/rtl8723bs/hal/hal_btcoex.c
160
static u8 halbtcoutsrc_IsWifiBusy(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/hal_btcoex.c
177
static u32 _halbtcoutsrc_GetWifiLinkStatus(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/hal_btcoex.c
213
struct adapter *padapter;
drivers/staging/rtl8723bs/hal/hal_btcoex.c
238
static s32 halbtcoutsrc_GetWifiRssi(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/hal_btcoex.c
245
static u8 halbtcoutsrc_GetWifiScanAPNum(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/hal_btcoex.c
265
struct adapter *padapter;
drivers/staging/rtl8723bs/hal/hal_btcoex.c
31
struct adapter *padapter;
drivers/staging/rtl8723bs/hal/hal_btcoex.c
429
struct adapter *padapter;
drivers/staging/rtl8723bs/hal/hal_btcoex.c
44
struct adapter *padapter;
drivers/staging/rtl8723bs/hal/hal_btcoex.c
569
struct adapter *padapter;
drivers/staging/rtl8723bs/hal/hal_btcoex.c
57
struct adapter *padapter;
drivers/staging/rtl8723bs/hal/hal_btcoex.c
581
struct adapter *padapter;
drivers/staging/rtl8723bs/hal/hal_btcoex.c
593
struct adapter *padapter;
drivers/staging/rtl8723bs/hal/hal_btcoex.c
605
struct adapter *padapter;
drivers/staging/rtl8723bs/hal/hal_btcoex.c
617
struct adapter *padapter;
drivers/staging/rtl8723bs/hal/hal_btcoex.c
645
struct adapter *padapter;
drivers/staging/rtl8723bs/hal/hal_btcoex.c
657
struct adapter *padapter;
drivers/staging/rtl8723bs/hal/hal_btcoex.c
669
struct adapter *Adapter = pBtCoexist->Adapter;
drivers/staging/rtl8723bs/hal/hal_btcoex.c
680
struct adapter *padapter;
drivers/staging/rtl8723bs/hal/hal_btcoex.c
693
struct adapter *padapter;
drivers/staging/rtl8723bs/hal/hal_btcoex.c
705
struct adapter *padapter;
drivers/staging/rtl8723bs/hal/hal_btcoex.c
717
struct adapter *padapter;
drivers/staging/rtl8723bs/hal/hal_btcoex.c
729
struct adapter *padapter;
drivers/staging/rtl8723bs/hal/hal_btcoex.c
76
struct adapter *padapter;
drivers/staging/rtl8723bs/hal/hal_btcoex.c
765
struct adapter *padapter;
drivers/staging/rtl8723bs/hal/hal_com.c
134
bool HAL_IsLegalChannel(struct adapter *adapter, u32 Channel)
drivers/staging/rtl8723bs/hal/hal_com.c
139
if (is_supported_24g(adapter->registrypriv.wireless_mode) == false)
drivers/staging/rtl8723bs/hal/hal_com.c
14
u8 rtw_hal_data_init(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/hal_com.c
24
void rtw_hal_data_deinit(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/hal_com.c
292
void HalSetBrateCfg(struct adapter *Adapter, u8 *mBratesOS, u16 *pBrateCfg)
drivers/staging/rtl8723bs/hal/hal_com.c
344
static void _OneOutPipeMapping(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/hal_com.c
359
static void _TwoOutPipeMapping(struct adapter *padapter, bool bWIFICfg)
drivers/staging/rtl8723bs/hal/hal_com.c
400
static void _ThreeOutPipeMapping(struct adapter *padapter, bool bWIFICfg)
drivers/staging/rtl8723bs/hal/hal_com.c
440
bool Hal_MappingOutPipe(struct adapter *padapter, u8 NumOutPipe)
drivers/staging/rtl8723bs/hal/hal_com.c
468
void hal_init_macaddr(struct adapter *adapter)
drivers/staging/rtl8723bs/hal/hal_com.c
470
rtw_hal_set_hwreg(adapter, HW_VAR_MAC_ADDR, adapter->eeprompriv.mac_addr);
drivers/staging/rtl8723bs/hal/hal_com.c
473
void rtw_init_hal_com_default_value(struct adapter *Adapter)
drivers/staging/rtl8723bs/hal/hal_com.c
486
void c2h_evt_clear(struct adapter *adapter)
drivers/staging/rtl8723bs/hal/hal_com.c
488
rtw_write8(adapter, REG_C2HEVT_CLEAR, C2H_EVT_HOST_CLOSE);
drivers/staging/rtl8723bs/hal/hal_com.c
496
s32 c2h_evt_read_88xx(struct adapter *adapter, u8 *buf)
drivers/staging/rtl8723bs/hal/hal_com.c
506
trigger = rtw_read8(adapter, REG_C2HEVT_CLEAR);
drivers/staging/rtl8723bs/hal/hal_com.c
517
c2h_evt->id = rtw_read8(adapter, REG_C2HEVT_MSG_NORMAL);
drivers/staging/rtl8723bs/hal/hal_com.c
518
c2h_evt->seq = rtw_read8(adapter, REG_C2HEVT_CMD_SEQ_88XX);
drivers/staging/rtl8723bs/hal/hal_com.c
519
c2h_evt->plen = rtw_read8(adapter, REG_C2HEVT_CMD_LEN_88XX);
drivers/staging/rtl8723bs/hal/hal_com.c
523
c2h_evt->payload[i] = rtw_read8(adapter, REG_C2HEVT_MSG_NORMAL + 2 + i);
drivers/staging/rtl8723bs/hal/hal_com.c
532
c2h_evt_clear(adapter);
drivers/staging/rtl8723bs/hal/hal_com.c
537
u8 rtw_get_mgntframe_raid(struct adapter *adapter, unsigned char network_type)
drivers/staging/rtl8723bs/hal/hal_com.c
542
void rtw_hal_update_sta_rate_mask(struct adapter *padapter, struct sta_info *psta)
drivers/staging/rtl8723bs/hal/hal_com.c
572
void SetHwReg(struct adapter *adapter, u8 variable, u8 *val)
drivers/staging/rtl8723bs/hal/hal_com.c
574
struct hal_com_data *hal_data = GET_HAL_DATA(adapter);
drivers/staging/rtl8723bs/hal/hal_com.c
585
reg_scr = rtw_read16(adapter, REG_SECCFG);
drivers/staging/rtl8723bs/hal/hal_com.c
586
rtw_write16(adapter, REG_SECCFG, reg_scr|SCR_CHK_KEYID|SCR_RxDecEnable|SCR_TxEncEnable);
drivers/staging/rtl8723bs/hal/hal_com.c
591
struct security_priv *sec = &adapter->securitypriv;
drivers/staging/rtl8723bs/hal/hal_com.c
592
u8 reg_scr = rtw_read8(adapter, REG_SECCFG);
drivers/staging/rtl8723bs/hal/hal_com.c
601
rtw_write8(adapter, REG_SECCFG, reg_scr);
drivers/staging/rtl8723bs/hal/hal_com.c
639
netdev_dbg(adapter->pnetdev,
drivers/staging/rtl8723bs/hal/hal_com.c
641
FUNC_ADPT_ARG(adapter), variable);
drivers/staging/rtl8723bs/hal/hal_com.c
646
void GetHwReg(struct adapter *adapter, u8 variable, u8 *val)
drivers/staging/rtl8723bs/hal/hal_com.c
648
struct hal_com_data *hal_data = GET_HAL_DATA(adapter);
drivers/staging/rtl8723bs/hal/hal_com.c
659
netdev_dbg(adapter->pnetdev,
drivers/staging/rtl8723bs/hal/hal_com.c
661
FUNC_ADPT_ARG(adapter), variable);
drivers/staging/rtl8723bs/hal/hal_com.c
667
struct adapter *adapter, enum hal_def_variable variable, void *value
drivers/staging/rtl8723bs/hal/hal_com.c
670
struct hal_com_data *hal_data = GET_HAL_DATA(adapter);
drivers/staging/rtl8723bs/hal/hal_com.c
680
pmlmepriv = &adapter->mlmepriv;
drivers/staging/rtl8723bs/hal/hal_com.c
681
pstapriv = &adapter->stapriv;
drivers/staging/rtl8723bs/hal/hal_com.c
706
netdev_dbg(adapter->pnetdev,
drivers/staging/rtl8723bs/hal/hal_com.c
717
struct adapter *Adapter,
drivers/staging/rtl8723bs/hal/hal_com.c
783
void rtw_hal_check_rxfifo_full(struct adapter *adapter)
drivers/staging/rtl8723bs/hal/hal_com.c
786
rtw_write8(adapter, REG_RXERR_RPT+3, rtw_read8(adapter, REG_RXERR_RPT+3)|0xf0);
drivers/staging/rtl8723bs/hal/hal_com.c
805
void rtw_bb_rf_gain_offset(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/hal_com.c
96
struct adapter *padapter,
drivers/staging/rtl8723bs/hal/hal_com_phycfg.c
12
u8 PHY_GetTxPowerByRateBase(struct adapter *Adapter, u8 RfPath,
drivers/staging/rtl8723bs/hal/hal_com_phycfg.c
135
struct adapter *padapter,
drivers/staging/rtl8723bs/hal/hal_com_phycfg.c
314
static void PHY_StoreTxPowerByRateNew(struct adapter *padapter, u32 RfPath,
drivers/staging/rtl8723bs/hal/hal_com_phycfg.c
332
struct adapter *padapter, u32 RegAddr, u32 BitMask, u32 Data
drivers/staging/rtl8723bs/hal/hal_com_phycfg.c
341
void PHY_InitTxPowerByRate(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/hal_com_phycfg.c
352
struct adapter *padapter,
drivers/staging/rtl8723bs/hal/hal_com_phycfg.c
371
struct adapter *padapter
drivers/staging/rtl8723bs/hal/hal_com_phycfg.c
39
phy_SetTxPowerByRateBase(struct adapter *Adapter, u8 RfPath,
drivers/staging/rtl8723bs/hal/hal_com_phycfg.c
412
void PHY_TxPowerByRateConfiguration(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/hal_com_phycfg.c
419
struct adapter *padapter, u8 RFPath, u8 Channel, u8 RateSection
drivers/staging/rtl8723bs/hal/hal_com_phycfg.c
449
struct adapter *padapter,
drivers/staging/rtl8723bs/hal/hal_com_phycfg.c
483
s8 PHY_GetTxPowerTrackingOffset(struct adapter *padapter, u8 RFPath, u8 Rate)
drivers/staging/rtl8723bs/hal/hal_com_phycfg.c
570
s8 PHY_GetTxPowerByRate(struct adapter *padapter, u8 RFPath, u8 Rate)
drivers/staging/rtl8723bs/hal/hal_com_phycfg.c
592
struct adapter *padapter,
drivers/staging/rtl8723bs/hal/hal_com_phycfg.c
610
void PHY_SetTxPowerLevelByPath(struct adapter *Adapter, u8 channel, u8 path)
drivers/staging/rtl8723bs/hal/hal_com_phycfg.c
619
struct adapter *padapter,
drivers/staging/rtl8723bs/hal/hal_com_phycfg.c
62
static void phy_StoreTxPowerByRateBase(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/hal_com_phycfg.c
682
s8 phy_get_tx_pwr_lmt(struct adapter *adapter, u32 reg_pwr_tbl_sel,
drivers/staging/rtl8723bs/hal/hal_com_phycfg.c
691
struct hal_com_data *hal_data = GET_HAL_DATA(adapter);
drivers/staging/rtl8723bs/hal/hal_com_phycfg.c
694
if (((adapter->registrypriv.reg_enable_tx_power_limit == 2) &&
drivers/staging/rtl8723bs/hal/hal_com_phycfg.c
696
(adapter->registrypriv.reg_enable_tx_power_limit == 0))
drivers/staging/rtl8723bs/hal/hal_com_phycfg.c
699
switch (adapter->registrypriv.reg_pwr_tbl_sel) {
drivers/staging/rtl8723bs/hal/hal_com_phycfg.c
752
void PHY_ConvertTxPowerLimitToPowerIndex(struct adapter *Adapter)
drivers/staging/rtl8723bs/hal/hal_com_phycfg.c
789
void PHY_InitTxPowerLimit(struct adapter *Adapter)
drivers/staging/rtl8723bs/hal/hal_com_phycfg.c
79
struct adapter *padapter, u32 RegAddr, u32 BitMask
drivers/staging/rtl8723bs/hal/hal_com_phycfg.c
804
struct adapter *Adapter,
drivers/staging/rtl8723bs/hal/hal_com_phycfg.c
856
void Hal_ChannelPlanToRegulation(struct adapter *Adapter, u16 ChannelPlan)
drivers/staging/rtl8723bs/hal/hal_intf.c
10
void rtw_hal_chip_configure(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/hal_intf.c
103
void rtw_hal_set_hwreg(struct adapter *padapter, u8 variable, u8 *val)
drivers/staging/rtl8723bs/hal/hal_intf.c
108
void rtw_hal_get_hwreg(struct adapter *padapter, u8 variable, u8 *val)
drivers/staging/rtl8723bs/hal/hal_intf.c
113
void rtw_hal_set_hwreg_with_buf(struct adapter *padapter, u8 variable, u8 *pbuf, int len)
drivers/staging/rtl8723bs/hal/hal_intf.c
118
u8 rtw_hal_get_def_var(struct adapter *padapter, enum hal_def_variable eVariable, void *pValue)
drivers/staging/rtl8723bs/hal/hal_intf.c
123
void rtw_hal_set_odm_var(struct adapter *padapter, enum hal_odm_variable eVariable, void *pValue1, bool bSet)
drivers/staging/rtl8723bs/hal/hal_intf.c
128
void rtw_hal_enable_interrupt(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/hal_intf.c
133
void rtw_hal_disable_interrupt(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/hal_intf.c
138
u8 rtw_hal_check_ips_status(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/hal_intf.c
143
s32 rtw_hal_xmitframe_enqueue(struct adapter *padapter, struct xmit_frame *pxmitframe)
drivers/staging/rtl8723bs/hal/hal_intf.c
148
s32 rtw_hal_xmit(struct adapter *padapter, struct xmit_frame *pxmitframe)
drivers/staging/rtl8723bs/hal/hal_intf.c
15
void rtw_hal_read_chip_info(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/hal_intf.c
156
s32 rtw_hal_mgnt_xmit(struct adapter *padapter, struct xmit_frame *pmgntframe)
drivers/staging/rtl8723bs/hal/hal_intf.c
177
s32 rtw_hal_init_xmit_priv(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/hal_intf.c
182
void rtw_hal_free_xmit_priv(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/hal_intf.c
187
s32 rtw_hal_init_recv_priv(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/hal_intf.c
192
void rtw_hal_free_recv_priv(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/hal_intf.c
199
struct adapter *padapter;
drivers/staging/rtl8723bs/hal/hal_intf.c
20
void rtw_hal_read_chip_version(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/hal_intf.c
216
void rtw_hal_add_ra_tid(struct adapter *padapter, u32 bitmap, u8 *arg, u8 rssi_level)
drivers/staging/rtl8723bs/hal/hal_intf.c
221
u32 rtw_hal_read_bbreg(struct adapter *padapter, u32 RegAddr, u32 BitMask)
drivers/staging/rtl8723bs/hal/hal_intf.c
225
void rtw_hal_write_bbreg(struct adapter *padapter, u32 RegAddr, u32 BitMask, u32 Data)
drivers/staging/rtl8723bs/hal/hal_intf.c
230
u32 rtw_hal_read_rfreg(struct adapter *padapter, u32 eRFPath, u32 RegAddr, u32 BitMask)
drivers/staging/rtl8723bs/hal/hal_intf.c
234
void rtw_hal_write_rfreg(struct adapter *padapter, u32 eRFPath, u32 RegAddr, u32 BitMask, u32 Data)
drivers/staging/rtl8723bs/hal/hal_intf.c
239
void rtw_hal_set_chan(struct adapter *padapter, u8 channel)
drivers/staging/rtl8723bs/hal/hal_intf.c
244
void rtw_hal_set_chnl_bw(struct adapter *padapter, u8 channel,
drivers/staging/rtl8723bs/hal/hal_intf.c
25
void rtw_hal_def_value_init(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/hal_intf.c
250
void rtw_hal_dm_watchdog(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/hal_intf.c
255
void rtw_hal_dm_watchdog_in_lps(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/hal_intf.c
262
void beacon_timing_control(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/hal_intf.c
268
s32 rtw_hal_xmit_thread_handler(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/hal_intf.c
273
void rtw_hal_notch_filter(struct adapter *adapter, bool enable)
drivers/staging/rtl8723bs/hal/hal_intf.c
275
hal_notch_filter_8723b(adapter, enable);
drivers/staging/rtl8723bs/hal/hal_intf.c
278
bool rtw_hal_c2h_valid(struct adapter *adapter, u8 *buf)
drivers/staging/rtl8723bs/hal/hal_intf.c
283
s32 rtw_hal_c2h_handler(struct adapter *adapter, u8 *c2h_evt)
drivers/staging/rtl8723bs/hal/hal_intf.c
285
return c2h_handler_8723b(adapter, c2h_evt);
drivers/staging/rtl8723bs/hal/hal_intf.c
288
c2h_id_filter rtw_hal_c2h_id_filter_ccx(struct adapter *adapter)
drivers/staging/rtl8723bs/hal/hal_intf.c
293
s32 rtw_hal_macid_sleep(struct adapter *padapter, u32 macid)
drivers/staging/rtl8723bs/hal/hal_intf.c
30
void rtw_hal_free_data(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/hal_intf.c
307
s32 rtw_hal_macid_wakeup(struct adapter *padapter, u32 macid)
drivers/staging/rtl8723bs/hal/hal_intf.c
321
s32 rtw_hal_fill_h2c_cmd(struct adapter *padapter, u8 ElementID, u32 CmdLen, u8 *pCmdBuffer)
drivers/staging/rtl8723bs/hal/hal_intf.c
36
void rtw_hal_dm_init(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/hal_intf.c
41
static void rtw_hal_init_opmode(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/hal_intf.c
61
uint rtw_hal_init(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/hal_intf.c
88
uint rtw_hal_deinit(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/hal_sdio.c
11
u8 rtw_hal_sdio_max_txoqt_free_space(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/hal_sdio.c
22
struct adapter *padapter, u8 PageIdx, u8 RequiredPageNum
drivers/staging/rtl8723bs/hal/hal_sdio.c
34
struct adapter *padapter, u8 PageIdx, u8 RequiredPageNum
drivers/staging/rtl8723bs/hal/hal_sdio.c
57
struct adapter *padapter, u8 numHQ, u8 numNQ, u8 numLQ, u8 numPubQ
drivers/staging/rtl8723bs/hal/hal_sdio.c
78
u32 rtw_hal_get_sdio_tx_max_length(struct adapter *padapter, u8 queue_idx)
drivers/staging/rtl8723bs/hal/odm.c
258
struct adapter *padapter = pDM_Odm->Adapter;
drivers/staging/rtl8723bs/hal/odm.c
375
static void FindMinimumRSSI(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/odm.c
394
struct adapter *Adapter = pDM_Odm->Adapter;
drivers/staging/rtl8723bs/hal/odm.c
486
struct adapter *Adapter = pDM_Odm->Adapter;
drivers/staging/rtl8723bs/hal/odm.c
512
struct adapter *Adapter = pDM_Odm->Adapter;
drivers/staging/rtl8723bs/hal/odm.c
551
struct adapter *Adapter = pDM_Odm->Adapter;
drivers/staging/rtl8723bs/hal/odm.h
664
struct adapter *Adapter; /* For CE/NIC team */
drivers/staging/rtl8723bs/hal/odm.h
743
struct adapter *adapter_temp;
drivers/staging/rtl8723bs/hal/odm.h
765
struct adapter **pBuddyAdapter;
drivers/staging/rtl8723bs/hal/odm_CfoTracking.c
34
struct adapter *Adapter = pDM_Odm->Adapter;
drivers/staging/rtl8723bs/hal/odm_DynamicTxPower.c
14
struct adapter *Adapter = pDM_Odm->Adapter;
drivers/staging/rtl8723bs/hal/odm_EdcaTurboCheck.c
35
struct adapter *Adapter = pDM_Odm->Adapter;
drivers/staging/rtl8723bs/hal/odm_EdcaTurboCheck.c
59
struct adapter *Adapter = pDM_Odm->Adapter;
drivers/staging/rtl8723bs/hal/rtl8723b_cmd.c
106
static void ConstructBeacon(struct adapter *padapter, u8 *pframe, u32 *pLength)
drivers/staging/rtl8723bs/hal/rtl8723b_cmd.c
19
static u8 _is_fw_read_cmd_down(struct adapter *padapter, u8 msgbox_num)
drivers/staging/rtl8723bs/hal/rtl8723b_cmd.c
194
static void ConstructPSPoll(struct adapter *padapter, u8 *pframe, u32 *pLength)
drivers/staging/rtl8723bs/hal/rtl8723b_cmd.c
222
struct adapter *padapter,
drivers/staging/rtl8723bs/hal/rtl8723b_cmd.c
289
static void rtl8723b_set_FwRsvdPage_cmd(struct adapter *padapter, struct rsvdpage_loc *rsvdpageloc)
drivers/staging/rtl8723bs/hal/rtl8723b_cmd.c
302
void rtl8723b_set_FwMediaStatusRpt_cmd(struct adapter *padapter, u8 mstatus, u8 macid)
drivers/staging/rtl8723bs/hal/rtl8723b_cmd.c
315
void rtl8723b_set_FwMacIdConfig_cmd(struct adapter *padapter, u8 mac_id, u8 raid, u8 bw, u8 sgi, u32 mask)
drivers/staging/rtl8723bs/hal/rtl8723b_cmd.c
331
void rtl8723b_set_rssi_cmd(struct adapter *padapter, u8 *param)
drivers/staging/rtl8723bs/hal/rtl8723b_cmd.c
345
void rtl8723b_set_FwPwrMode_cmd(struct adapter *padapter, u8 psmode)
drivers/staging/rtl8723bs/hal/rtl8723b_cmd.c
442
void rtl8723b_set_FwPsTuneParam_cmd(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/rtl8723b_cmd.c
459
void rtl8723b_set_FwPwrModeInIPS_cmd(struct adapter *padapter, u8 cmd_param)
drivers/staging/rtl8723bs/hal/rtl8723b_cmd.c
46
s32 FillH2CCmd8723B(struct adapter *padapter, u8 ElementID, u32 CmdLen, u8 *pCmdBuffer)
drivers/staging/rtl8723bs/hal/rtl8723b_cmd.c
480
struct adapter *padapter, bool bDLFinished
drivers/staging/rtl8723bs/hal/rtl8723b_cmd.c
613
void rtl8723b_download_rsvd_page(struct adapter *padapter, u8 mstatus)
drivers/staging/rtl8723bs/hal/rtl8723b_cmd.c
701
void rtl8723b_set_FwJoinBssRpt_cmd(struct adapter *padapter, u8 mstatus)
drivers/staging/rtl8723bs/hal/rtl8723b_cmd.c
712
struct adapter *padapter,
drivers/staging/rtl8723bs/hal/rtl8723b_cmd.c
741
struct adapter *padapter,
drivers/staging/rtl8723bs/hal/rtl8723b_cmd.c
795
static void SetFwRsvdPagePkt_BTCoex(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/rtl8723b_cmd.c
878
void rtl8723b_download_BTCoex_AP_mode_rsvd_page(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/rtl8723b_dm.c
107
void rtl8723b_InitHalDm(struct adapter *Adapter)
drivers/staging/rtl8723bs/hal/rtl8723b_dm.c
125
void rtl8723b_HalDmWatchDog(struct adapter *Adapter)
drivers/staging/rtl8723bs/hal/rtl8723b_dm.c
176
void rtl8723b_hal_dm_in_lps(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/rtl8723b_dm.c
18
static void Init_ODM_ComInfo_8723b(struct adapter *Adapter)
drivers/staging/rtl8723bs/hal/rtl8723b_dm.c
199
void rtl8723b_HalDmWatchDog_in_LPS(struct adapter *Adapter)
drivers/staging/rtl8723bs/hal/rtl8723b_dm.c
257
void rtl8723b_init_dm_priv(struct adapter *Adapter)
drivers/staging/rtl8723bs/hal/rtl8723b_dm.c
53
static void Update_ODM_ComInfo_8723b(struct adapter *Adapter)
drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
1014
void hal_notch_filter_8723b(struct adapter *adapter, bool enable)
drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
1017
rtw_write8(adapter, rOFDM0_RxDSP+1, rtw_read8(adapter, rOFDM0_RxDSP+1) | BIT1);
drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
1019
rtw_write8(adapter, rOFDM0_RxDSP+1, rtw_read8(adapter, rOFDM0_RxDSP+1) & ~BIT1);
drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
1022
void UpdateHalRAMask8723B(struct adapter *padapter, u32 mac_id, u8 rssi_level)
drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
1059
void rtl8723b_InitAntenna_Selection(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
1069
void rtl8723b_init_default_value(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
1120
u8 GetEEPROMSize8723B(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
113
static int _WriteFW(struct adapter *padapter, void *buffer, u32 size)
drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
1137
s32 rtl8723b_InitLLTTable(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
1180
void Hal_InitPGData(struct adapter *padapter, u8 *PROMContent)
drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
1197
void Hal_EfuseParseIDCode(struct adapter *padapter, u8 *hwinfo)
drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
1213
struct adapter *Adapter,
drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
1328
struct adapter *padapter, u8 *PROMContent, bool AutoLoadFail
drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
1369
struct adapter *padapter, u8 *hwinfo, bool AutoLoadFail
drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
14
static void _FWDownloadEnable(struct adapter *padapter, bool enable)
drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
1428
struct adapter *padapter, u8 *hwinfo, bool AutoLoadFail
drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
1442
struct adapter *padapter, u8 *hwinfo, bool AutoLoadFail
drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
1476
struct adapter *padapter, u8 *hwinfo, bool AutoLoadFail
drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
1486
struct adapter *padapter, u8 *hwinfo, bool AutoLoadFail
drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
1501
struct adapter *padapter, u8 *hwinfo, bool AutoLoadFail
drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
1513
struct adapter *padapter, u8 *hwinfo, bool AutoLoadFail
drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
152
void _8051Reset8723(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
1528
struct adapter *padapter, u8 *PROMContent, u8 AutoLoadFail
drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
1549
struct adapter *Adapter, u8 *PROMContent, bool AutoloadFail
drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
1565
u8 BWMapping_8723B(struct adapter *Adapter, struct pkt_attrib *pattrib)
drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
1584
u8 SCMapping_8723B(struct adapter *Adapter, struct pkt_attrib *pattrib)
drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
1656
static void fill_txdesc_vcs_8723b(struct adapter *padapter, struct pkt_attrib *pattrib, struct txdesc_8723b *ptxdesc)
drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
1687
static void fill_txdesc_phy_8723b(struct adapter *padapter, struct pkt_attrib *pattrib, struct txdesc_8723b *ptxdesc)
drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
1700
struct adapter *padapter;
drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
183
struct adapter *adapter, u32 min_cnt, u32 timeout_ms
drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
1867
struct adapter *padapter,
drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
1935
static void hw_var_set_opmode(struct adapter *padapter, u8 variable, u8 *val)
drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
194
value32 = rtw_read32(adapter, REG_MCUFWDL);
drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
195
if (value32 & FWDL_ChkSum_rpt || adapter->bSurpriseRemoved || adapter->bDriverStopped)
drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
2008
static void hw_var_set_macaddr(struct adapter *padapter, u8 variable, u8 *val)
drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
2017
static void hw_var_set_bssid(struct adapter *padapter, u8 variable, u8 *val)
drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
2026
static void hw_var_set_bcn_func(struct adapter *padapter, u8 variable, u8 *val)
drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
2045
static void hw_var_set_correct_tsf(struct adapter *padapter, u8 variable, u8 *val)
drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
2082
static void hw_var_set_mlme_disconnect(struct adapter *padapter, u8 variable, u8 *val)
drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
2100
static void hw_var_set_mlme_sitesurvey(struct adapter *padapter, u8 variable, u8 *val)
drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
2161
static void hw_var_set_mlme_join(struct adapter *padapter, u8 variable, u8 *val)
drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
218
static s32 _FWFreeToGo(struct adapter *adapter, u32 min_cnt, u32 timeout_ms)
drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
2206
void CCX_FwC2HTxRpt_8723b(struct adapter *padapter, u8 *pdata, u8 len)
drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
2235
s32 c2h_handler_8723b(struct adapter *padapter, u8 *buf)
drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
225
value32 = rtw_read32(adapter, REG_MCUFWDL);
drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
228
rtw_write32(adapter, REG_MCUFWDL, value32);
drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
2280
static void process_c2h_event(struct adapter *padapter, struct c2h_evt_hdr_t *pC2hEvent, u8 *c2hBuf)
drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
230
_8051Reset8723(adapter);
drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
2313
void C2HPacketHandler_8723B(struct adapter *padapter, u8 *pbuffer, u16 length)
drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
2326
void SetHwReg8723B(struct adapter *padapter, u8 variable, u8 *val)
drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
235
value32 = rtw_read32(adapter, REG_MCUFWDL);
drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
236
if (value32 & WINTINI_RDY || adapter->bSurpriseRemoved || adapter->bDriverStopped)
drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
259
void rtl8723b_FirmwareSelfReset(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
2763
void GetHwReg8723B(struct adapter *padapter, u8 variable, u8 *val)
drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
2843
u8 GetHalDefVar8723B(struct adapter *padapter, enum hal_def_variable variable, void *pval)
drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
293
s32 rtl8723b_FirmwareDownload(struct adapter *padapter, bool bUsedWoWLANFw)
drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
425
void rtl8723b_InitializeFirmwareVars(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
44
static int _BlockWrite(struct adapter *padapter, void *buffer, u32 buffSize)
drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
446
struct adapter *padapter, u8 bank
drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
476
struct adapter *padapter,
drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
570
struct adapter *padapter, u8 PwrState
drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
624
struct adapter *padapter,
drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
710
struct adapter *padapter,
drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
813
struct adapter *padapter,
drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
826
static struct hal_version ReadChipVersion8723B(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
862
void rtl8723b_read_chip_version(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
867
void rtl8723b_InitBeaconParameters(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
900
void _InitBurstPktLen_8723BS(struct adapter *Adapter)
drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
925
static void ResumeTxBeacon(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
936
static void StopTxBeacon(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
947
static void _BeaconFunctionEnable(struct adapter *padapter, u8 Enable, u8 Linked)
drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
953
void rtl8723b_SetBeaconRelatedRegisters(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
98
struct adapter *padapter,
drivers/staging/rtl8723bs/hal/rtl8723b_phycfg.c
185
struct adapter *Adapter,
drivers/staging/rtl8723bs/hal/rtl8723b_phycfg.c
228
struct adapter *Adapter,
drivers/staging/rtl8723bs/hal/rtl8723b_phycfg.c
256
struct adapter *Adapter,
drivers/staging/rtl8723bs/hal/rtl8723b_phycfg.c
290
s32 PHY_MACConfig8723B(struct adapter *Adapter)
drivers/staging/rtl8723bs/hal/rtl8723b_phycfg.c
305
static void phy_InitBBRFRegisterDefinition(struct adapter *Adapter)
drivers/staging/rtl8723bs/hal/rtl8723b_phycfg.c
335
static int phy_BB8723b_Config_ParaFile(struct adapter *Adapter)
drivers/staging/rtl8723bs/hal/rtl8723b_phycfg.c
377
int PHY_BBConfig8723B(struct adapter *Adapter)
drivers/staging/rtl8723bs/hal/rtl8723b_phycfg.c
41
u32 PHY_QueryBBReg_8723B(struct adapter *Adapter, u32 RegAddr, u32 BitMask)
drivers/staging/rtl8723bs/hal/rtl8723b_phycfg.c
414
static void phy_LCK_8723B(struct adapter *Adapter)
drivers/staging/rtl8723bs/hal/rtl8723b_phycfg.c
422
int PHY_RFConfig8723B(struct adapter *Adapter)
drivers/staging/rtl8723bs/hal/rtl8723b_phycfg.c
444
struct adapter *Adapter,
drivers/staging/rtl8723bs/hal/rtl8723b_phycfg.c
524
struct adapter *padapter,
drivers/staging/rtl8723bs/hal/rtl8723b_phycfg.c
557
void PHY_SetTxPowerLevel8723B(struct adapter *Adapter, u8 Channel)
drivers/staging/rtl8723bs/hal/rtl8723b_phycfg.c
574
struct adapter *Adapter, enum channel_width CurrentBW
drivers/staging/rtl8723bs/hal/rtl8723b_phycfg.c
595
static u8 phy_GetSecondaryChnl_8723B(struct adapter *Adapter)
drivers/staging/rtl8723bs/hal/rtl8723b_phycfg.c
610
static void phy_PostSetBwMode8723B(struct adapter *Adapter)
drivers/staging/rtl8723bs/hal/rtl8723b_phycfg.c
657
static void phy_SwChnl8723B(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/rtl8723b_phycfg.c
669
static void phy_SwChnlAndSetBwMode8723B(struct adapter *Adapter)
drivers/staging/rtl8723bs/hal/rtl8723b_phycfg.c
67
struct adapter *Adapter,
drivers/staging/rtl8723bs/hal/rtl8723b_phycfg.c
690
struct adapter *Adapter,
drivers/staging/rtl8723bs/hal/rtl8723b_phycfg.c
759
void PHY_SwChnl8723B(struct adapter *Adapter, u8 channel)
drivers/staging/rtl8723bs/hal/rtl8723b_phycfg.c
765
struct adapter *Adapter,
drivers/staging/rtl8723bs/hal/rtl8723b_phycfg.c
92
struct adapter *Adapter, enum rf_path eRFPath, u32 Offset
drivers/staging/rtl8723bs/hal/rtl8723b_rf6052.c
152
int PHY_RF6052_Config8723B(struct adapter *Adapter)
drivers/staging/rtl8723bs/hal/rtl8723b_rf6052.c
58
struct adapter *Adapter, enum channel_width Bandwidth
drivers/staging/rtl8723bs/hal/rtl8723b_rf6052.c
82
static int phy_RF6052_Config_ParaFile(struct adapter *Adapter)
drivers/staging/rtl8723bs/hal/rtl8723b_rxdesc.c
10
static void process_rssi(struct adapter *padapter, union recv_frame *prframe)
drivers/staging/rtl8723bs/hal/rtl8723b_rxdesc.c
30
static void process_link_qual(struct adapter *padapter, union recv_frame *prframe)
drivers/staging/rtl8723bs/hal/rtl8723b_rxdesc.c
53
void rtl8723b_process_phy_info(struct adapter *padapter, void *prframe)
drivers/staging/rtl8723bs/hal/rtl8723bs_recv.c
11
static void initrecvbuf(struct recv_buf *precvbuf, struct adapter *padapter)
drivers/staging/rtl8723bs/hal/rtl8723bs_recv.c
153
static void rtl8723bs_c2h_packet_handler(struct adapter *padapter,
drivers/staging/rtl8723bs/hal/rtl8723bs_recv.c
16
precvbuf->adapter = padapter;
drivers/staging/rtl8723bs/hal/rtl8723bs_recv.c
19
static void update_recvframe_attrib(struct adapter *padapter,
drivers/staging/rtl8723bs/hal/rtl8723bs_recv.c
218
struct adapter *padapter = from_tasklet(padapter, t,
drivers/staging/rtl8723bs/hal/rtl8723bs_recv.c
366
s32 rtl8723bs_init_recv_priv(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/rtl8723bs_recv.c
451
void rtl8723bs_free_recv_priv(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/rtl8723bs_recv.c
77
struct adapter *padapter = precvframe->u.hdr.adapter;
drivers/staging/rtl8723bs/hal/rtl8723bs_xmit.c
11
static u8 rtw_sdio_wait_enough_TxOQT_space(struct adapter *padapter, u8 agg_num)
drivers/staging/rtl8723bs/hal/rtl8723bs_xmit.c
121
s32 rtl8723bs_xmit_buf_handler(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/rtl8723bs_xmit.c
166
static s32 xmit_xmitframes(struct adapter *padapter, struct xmit_priv *pxmitpriv)
drivers/staging/rtl8723bs/hal/rtl8723bs_xmit.c
355
static s32 rtl8723bs_xmit_handler(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/rtl8723bs_xmit.c
36
static s32 rtl8723_dequeue_writeport(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/rtl8723bs_xmit.c
406
struct adapter *padapter = context;
drivers/staging/rtl8723bs/hal/rtl8723bs_xmit.c
42
struct adapter *pri_padapter = padapter;
drivers/staging/rtl8723bs/hal/rtl8723bs_xmit.c
424
struct adapter *padapter, struct xmit_frame *pmgntframe
drivers/staging/rtl8723bs/hal/rtl8723bs_xmit.c
469
struct adapter *padapter, struct xmit_frame *pxmitframe
drivers/staging/rtl8723bs/hal/rtl8723bs_xmit.c
505
struct adapter *padapter, struct xmit_frame *pxmitframe
drivers/staging/rtl8723bs/hal/rtl8723bs_xmit.c
530
s32 rtl8723bs_init_xmit_priv(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/rtl8723bs_xmit.c
545
void rtl8723bs_free_xmit_priv(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/sdio_halinit.c
1008
struct adapter *padapter, u8 *hwinfo, bool AutoLoadFail
drivers/staging/rtl8723bs/hal/sdio_halinit.c
1022
struct adapter *padapter, u8 *hwinfo, bool AutoLoadFail
drivers/staging/rtl8723bs/hal/sdio_halinit.c
1035
static void _ReadEfuseInfo8723BS(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/sdio_halinit.c
1071
static void _ReadPROMContent(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/sdio_halinit.c
1094
static s32 _ReadAdapterInfo8723BS(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/sdio_halinit.c
1119
void ReadAdapterInfo8723BS(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/sdio_halinit.c
1131
void SetHwReg8723BS(struct adapter *padapter, u8 variable, u8 *val)
drivers/staging/rtl8723bs/hal/sdio_halinit.c
114
static void _init_available_page_threshold(struct adapter *padapter, u8 numHQ, u8 numNQ, u8 numLQ, u8 numPubQ)
drivers/staging/rtl8723bs/hal/sdio_halinit.c
1172
void GetHwReg8723BS(struct adapter *padapter, u8 variable, u8 *val)
drivers/staging/rtl8723bs/hal/sdio_halinit.c
1191
void SetHwRegWithBuf8723B(struct adapter *padapter, u8 variable, u8 *pbuf, int len)
drivers/staging/rtl8723bs/hal/sdio_halinit.c
1207
struct adapter *Adapter, enum hal_def_variable eVariable, void *pValue
drivers/staging/rtl8723bs/hal/sdio_halinit.c
132
static void _InitQueueReservedPage(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/sdio_halinit.c
168
static void _InitTxBufferBoundary(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/sdio_halinit.c
19
static u8 CardEnable(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/sdio_halinit.c
190
struct adapter *Adapter,
drivers/staging/rtl8723bs/hal/sdio_halinit.c
212
static void _InitNormalChipOneOutEpPriority(struct adapter *Adapter)
drivers/staging/rtl8723bs/hal/sdio_halinit.c
237
static void _InitNormalChipTwoOutEpPriority(struct adapter *Adapter)
drivers/staging/rtl8723bs/hal/sdio_halinit.c
285
static void _InitNormalChipThreeOutEpPriority(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/sdio_halinit.c
310
static void _InitQueuePriority(struct adapter *Adapter)
drivers/staging/rtl8723bs/hal/sdio_halinit.c
331
static void _InitPageBoundary(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/sdio_halinit.c
339
static void _InitTransferPageSize(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/sdio_halinit.c
348
static void _InitDriverInfoSize(struct adapter *padapter, u8 drvInfoSize)
drivers/staging/rtl8723bs/hal/sdio_halinit.c
353
static void _InitNetworkType(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/sdio_halinit.c
366
static void _InitWMACSetting(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/sdio_halinit.c
400
static void _InitAdaptiveCtrl(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/sdio_halinit.c
423
static void _InitEDCA(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/sdio_halinit.c
43
u8 _InitPowerOn_8723BS(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/sdio_halinit.c
442
static void _InitRetryFunction(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/sdio_halinit.c
454
static void HalRxAggr8723BSdio(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/sdio_halinit.c
466
static void sdio_AggSettingRxUpdate(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/sdio_halinit.c
483
static void _initSdioAggregationSetting(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/sdio_halinit.c
499
static void _InitOperationMode(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/sdio_halinit.c
534
static void _InitInterrupt(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/sdio_halinit.c
553
static void _InitRFType(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/sdio_halinit.c
560
static void _RfPowerSave(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/sdio_halinit.c
568
static bool HalDetectPwrDownMode(struct adapter *Adapter)
drivers/staging/rtl8723bs/hal/sdio_halinit.c
586
u32 rtl8723bs_hal_init(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/sdio_halinit.c
849
static void CardDisableRTL8723BSdio(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/sdio_halinit.c
887
u32 rtl8723bs_hal_deinit(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/sdio_halinit.c
934
void rtl8723bs_init_default_value(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/sdio_halinit.c
947
void rtl8723bs_interface_configure(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/sdio_halinit.c
990
static void _EfuseCellSel(struct adapter *padapter)
drivers/staging/rtl8723bs/hal/sdio_halinit.c
999
static void _ReadRFType(struct adapter *Adapter)
drivers/staging/rtl8723bs/hal/sdio_ops.c
1002
void HalQueryTxOQTBufferStatus8723BSdio(struct adapter *adapter)
drivers/staging/rtl8723bs/hal/sdio_ops.c
1004
struct hal_com_data *haldata = GET_HAL_DATA(adapter);
drivers/staging/rtl8723bs/hal/sdio_ops.c
1006
haldata->SdioTxOQTFreeSpace = SdioLocalCmd52Read1Byte(adapter, SDIO_REG_OQT_FREE_PG);
drivers/staging/rtl8723bs/hal/sdio_ops.c
154
struct adapter *adapter;
drivers/staging/rtl8723bs/hal/sdio_ops.c
164
adapter = intfhdl->padapter;
drivers/staging/rtl8723bs/hal/sdio_ops.c
167
rtw_hal_get_hwreg(adapter, HW_VAR_APFM_ON_MAC, &mac_pwr_ctrl_on);
drivers/staging/rtl8723bs/hal/sdio_ops.c
17
struct adapter *adapter,
drivers/staging/rtl8723bs/hal/sdio_ops.c
171
(adapter_to_pwrctl(adapter)->fw_current_in_ps_mode)
drivers/staging/rtl8723bs/hal/sdio_ops.c
200
struct adapter *adapter;
drivers/staging/rtl8723bs/hal/sdio_ops.c
208
adapter = intfhdl->padapter;
drivers/staging/rtl8723bs/hal/sdio_ops.c
213
rtw_hal_get_hwreg(adapter, HW_VAR_APFM_ON_MAC, &mac_pwr_ctrl_on);
drivers/staging/rtl8723bs/hal/sdio_ops.c
217
(adapter_to_pwrctl(adapter)->fw_current_in_ps_mode)
drivers/staging/rtl8723bs/hal/sdio_ops.c
266
struct adapter *adapter;
drivers/staging/rtl8723bs/hal/sdio_ops.c
275
adapter = intfhdl->padapter;
drivers/staging/rtl8723bs/hal/sdio_ops.c
280
rtw_hal_get_hwreg(adapter, HW_VAR_APFM_ON_MAC, &mac_pwr_ctrl_on);
drivers/staging/rtl8723bs/hal/sdio_ops.c
284
(adapter_to_pwrctl(adapter)->fw_current_in_ps_mode)
drivers/staging/rtl8723bs/hal/sdio_ops.c
304
struct adapter *adapter;
drivers/staging/rtl8723bs/hal/sdio_ops.c
312
adapter = intfhdl->padapter;
drivers/staging/rtl8723bs/hal/sdio_ops.c
317
rtw_hal_get_hwreg(adapter, HW_VAR_APFM_ON_MAC, &mac_pwr_ctrl_on);
drivers/staging/rtl8723bs/hal/sdio_ops.c
321
(adapter_to_pwrctl(adapter)->fw_current_in_ps_mode)
drivers/staging/rtl8723bs/hal/sdio_ops.c
392
struct adapter *adapter;
drivers/staging/rtl8723bs/hal/sdio_ops.c
397
adapter = intfhdl->padapter;
drivers/staging/rtl8723bs/hal/sdio_ops.c
398
psdio = &adapter_to_dvobj(adapter)->intf_data;
drivers/staging/rtl8723bs/hal/sdio_ops.c
399
hal = GET_HAL_DATA(adapter);
drivers/staging/rtl8723bs/hal/sdio_ops.c
401
hal_sdio_get_cmd_addr_8723b(adapter, addr, hal->SdioRxFIFOCnt++, &addr);
drivers/staging/rtl8723bs/hal/sdio_ops.c
436
struct adapter *adapter;
drivers/staging/rtl8723bs/hal/sdio_ops.c
441
adapter = intfhdl->padapter;
drivers/staging/rtl8723bs/hal/sdio_ops.c
442
psdio = &adapter_to_dvobj(adapter)->intf_data;
drivers/staging/rtl8723bs/hal/sdio_ops.c
444
if (!adapter->hw_init_completed)
drivers/staging/rtl8723bs/hal/sdio_ops.c
448
hal_sdio_get_cmd_addr_8723b(adapter, addr, cnt >> 2, &addr);
drivers/staging/rtl8723bs/hal/sdio_ops.c
465
void sdio_set_intf_ops(struct adapter *adapter, struct _io_ops *ops)
drivers/staging/rtl8723bs/hal/sdio_ops.c
485
struct adapter *adapter,
drivers/staging/rtl8723bs/hal/sdio_ops.c
497
intfhdl = &adapter->iopriv.intf;
drivers/staging/rtl8723bs/hal/sdio_ops.c
499
hal_sdio_get_cmd_addr_8723b(adapter, SDIO_LOCAL_DEVICE_ID, addr, &addr);
drivers/staging/rtl8723bs/hal/sdio_ops.c
501
rtw_hal_get_hwreg(adapter, HW_VAR_APFM_ON_MAC, &mac_pwr_ctrl_on);
drivers/staging/rtl8723bs/hal/sdio_ops.c
523
struct adapter *adapter,
drivers/staging/rtl8723bs/hal/sdio_ops.c
535
intfhdl = &adapter->iopriv.intf;
drivers/staging/rtl8723bs/hal/sdio_ops.c
537
hal_sdio_get_cmd_addr_8723b(adapter, SDIO_LOCAL_DEVICE_ID, addr, &addr);
drivers/staging/rtl8723bs/hal/sdio_ops.c
539
rtw_hal_get_hwreg(adapter, HW_VAR_APFM_ON_MAC, &mac_pwr_ctrl_on);
drivers/staging/rtl8723bs/hal/sdio_ops.c
542
(adapter_to_pwrctl(adapter)->fw_current_in_ps_mode)
drivers/staging/rtl8723bs/hal/sdio_ops.c
564
struct adapter *adapter,
drivers/staging/rtl8723bs/hal/sdio_ops.c
575
intfhdl = &adapter->iopriv.intf;
drivers/staging/rtl8723bs/hal/sdio_ops.c
577
hal_sdio_get_cmd_addr_8723b(adapter, SDIO_LOCAL_DEVICE_ID, addr, &addr);
drivers/staging/rtl8723bs/hal/sdio_ops.c
579
rtw_hal_get_hwreg(adapter, HW_VAR_APFM_ON_MAC, &mac_pwr_ctrl_on);
drivers/staging/rtl8723bs/hal/sdio_ops.c
582
(adapter_to_pwrctl(adapter)->fw_current_in_ps_mode)
drivers/staging/rtl8723bs/hal/sdio_ops.c
599
u8 SdioLocalCmd52Read1Byte(struct adapter *adapter, u32 addr)
drivers/staging/rtl8723bs/hal/sdio_ops.c
602
struct intf_hdl *intfhdl = &adapter->iopriv.intf;
drivers/staging/rtl8723bs/hal/sdio_ops.c
604
hal_sdio_get_cmd_addr_8723b(adapter, SDIO_LOCAL_DEVICE_ID, addr, &addr);
drivers/staging/rtl8723bs/hal/sdio_ops.c
610
static u16 sdio_local_cmd52_read2byte(struct adapter *adapter, u32 addr)
drivers/staging/rtl8723bs/hal/sdio_ops.c
613
struct intf_hdl *intfhdl = &adapter->iopriv.intf;
drivers/staging/rtl8723bs/hal/sdio_ops.c
615
hal_sdio_get_cmd_addr_8723b(adapter, SDIO_LOCAL_DEVICE_ID, addr, &addr);
drivers/staging/rtl8723bs/hal/sdio_ops.c
621
static u32 sdio_local_cmd53_read4byte(struct adapter *adapter, u32 addr)
drivers/staging/rtl8723bs/hal/sdio_ops.c
626
struct intf_hdl *intfhdl = &adapter->iopriv.intf;
drivers/staging/rtl8723bs/hal/sdio_ops.c
629
hal_sdio_get_cmd_addr_8723b(adapter, SDIO_LOCAL_DEVICE_ID, addr, &addr);
drivers/staging/rtl8723bs/hal/sdio_ops.c
630
rtw_hal_get_hwreg(adapter, HW_VAR_APFM_ON_MAC, &mac_pwr_ctrl_on);
drivers/staging/rtl8723bs/hal/sdio_ops.c
631
if (!mac_pwr_ctrl_on || adapter_to_pwrctl(adapter)->fw_current_in_ps_mode) {
drivers/staging/rtl8723bs/hal/sdio_ops.c
640
void SdioLocalCmd52Write1Byte(struct adapter *adapter, u32 addr, u8 v)
drivers/staging/rtl8723bs/hal/sdio_ops.c
642
struct intf_hdl *intfhdl = &adapter->iopriv.intf;
drivers/staging/rtl8723bs/hal/sdio_ops.c
644
hal_sdio_get_cmd_addr_8723b(adapter, SDIO_LOCAL_DEVICE_ID, addr, &addr);
drivers/staging/rtl8723bs/hal/sdio_ops.c
648
static void sdio_local_cmd52_write4byte(struct adapter *adapter, u32 addr, u32 v)
drivers/staging/rtl8723bs/hal/sdio_ops.c
650
struct intf_hdl *intfhdl = &adapter->iopriv.intf;
drivers/staging/rtl8723bs/hal/sdio_ops.c
653
hal_sdio_get_cmd_addr_8723b(adapter, SDIO_LOCAL_DEVICE_ID, addr, &addr);
drivers/staging/rtl8723bs/hal/sdio_ops.c
658
static s32 read_interrupt_8723b_sdio(struct adapter *adapter, u32 *phisr)
drivers/staging/rtl8723bs/hal/sdio_ops.c
666
himr = GET_HAL_DATA(adapter)->sdio_himr;
drivers/staging/rtl8723bs/hal/sdio_ops.c
678
val8 = SdioLocalCmd52Read1Byte(adapter, SDIO_REG_HISR + hisr_len);
drivers/staging/rtl8723bs/hal/sdio_ops.c
696
void InitInterrupt8723BSdio(struct adapter *adapter)
drivers/staging/rtl8723bs/hal/sdio_ops.c
700
haldata = GET_HAL_DATA(adapter);
drivers/staging/rtl8723bs/hal/sdio_ops.c
712
void InitSysInterrupt8723BSdio(struct adapter *adapter)
drivers/staging/rtl8723bs/hal/sdio_ops.c
716
haldata = GET_HAL_DATA(adapter);
drivers/staging/rtl8723bs/hal/sdio_ops.c
731
void EnableInterrupt8723BSdio(struct adapter *adapter)
drivers/staging/rtl8723bs/hal/sdio_ops.c
737
haldata = GET_HAL_DATA(adapter);
drivers/staging/rtl8723bs/hal/sdio_ops.c
740
sdio_local_write(adapter, SDIO_REG_HIMR, 4, (u8 *)&himr);
drivers/staging/rtl8723bs/hal/sdio_ops.c
743
tmp = rtw_read32(adapter, REG_HSIMR);
drivers/staging/rtl8723bs/hal/sdio_ops.c
744
rtw_write32(adapter, REG_HSIMR, tmp | haldata->SysIntrMask);
drivers/staging/rtl8723bs/hal/sdio_ops.c
751
rtw_write8(adapter, REG_C2HEVT_CLEAR, C2H_EVT_HOST_CLOSE);
drivers/staging/rtl8723bs/hal/sdio_ops.c
763
void DisableInterrupt8723BSdio(struct adapter *adapter)
drivers/staging/rtl8723bs/hal/sdio_ops.c
768
sdio_local_write(adapter, SDIO_REG_HIMR, 4, (u8 *)&himr);
drivers/staging/rtl8723bs/hal/sdio_ops.c
780
u8 CheckIPSStatus(struct adapter *adapter)
drivers/staging/rtl8723bs/hal/sdio_ops.c
782
if (rtw_read8(adapter, 0x100) == 0xEA)
drivers/staging/rtl8723bs/hal/sdio_ops.c
788
static struct recv_buf *sd_recv_rxfifo(struct adapter *adapter, u32 size)
drivers/staging/rtl8723bs/hal/sdio_ops.c
800
recv_priv = &adapter->recvpriv;
drivers/staging/rtl8723bs/hal/sdio_ops.c
803
netdev_err(adapter->pnetdev, "%s: alloc recvbuf FAIL!\n",
drivers/staging/rtl8723bs/hal/sdio_ops.c
817
recvbuf->pskb->dev = adapter->pnetdev;
drivers/staging/rtl8723bs/hal/sdio_ops.c
826
ret = sdio_read_port(&adapter->iopriv.intf, WLAN_RX0FF_DEVICE_ID, readsize, readbuf);
drivers/staging/rtl8723bs/hal/sdio_ops.c
841
static void sd_rxhandler(struct adapter *adapter, struct recv_buf *recvbuf)
drivers/staging/rtl8723bs/hal/sdio_ops.c
846
recv_priv = &adapter->recvpriv;
drivers/staging/rtl8723bs/hal/sdio_ops.c
856
void sd_int_dpc(struct adapter *adapter)
drivers/staging/rtl8723bs/hal/sdio_ops.c
860
struct intf_hdl *intfhdl = &adapter->iopriv.intf;
drivers/staging/rtl8723bs/hal/sdio_ops.c
863
hal = GET_HAL_DATA(adapter);
drivers/staging/rtl8723bs/hal/sdio_ops.c
864
dvobj = adapter_to_dvobj(adapter);
drivers/staging/rtl8723bs/hal/sdio_ops.c
870
_sdio_local_read(adapter, SDIO_REG_FREE_TXPG, 4, freepage);
drivers/staging/rtl8723bs/hal/sdio_ops.c
871
complete(&(adapter->xmitpriv.xmit_comp));
drivers/staging/rtl8723bs/hal/sdio_ops.c
877
SdioLocalCmd52Read1Byte(adapter, SDIO_REG_HCPWM1_8723B);
drivers/staging/rtl8723bs/hal/sdio_ops.c
889
hal_sdio_get_cmd_addr_8723b(adapter, WLAN_IOREG_DEVICE_ID, addr, &addr);
drivers/staging/rtl8723bs/hal/sdio_ops.c
901
if (c2h_evt_read_88xx(adapter, (u8 *)c2h_evt) == _SUCCESS) {
drivers/staging/rtl8723bs/hal/sdio_ops.c
904
rtw_hal_c2h_handler(adapter, (u8 *)c2h_evt);
drivers/staging/rtl8723bs/hal/sdio_ops.c
907
rtw_c2h_wk_cmd(adapter, (u8 *)c2h_evt);
drivers/staging/rtl8723bs/hal/sdio_ops.c
914
rtw_cbuf_push(adapter->evtpriv.c2h_queue, NULL);
drivers/staging/rtl8723bs/hal/sdio_ops.c
915
_set_workitem(&adapter->evtpriv.c2h_wk);
drivers/staging/rtl8723bs/hal/sdio_ops.c
926
hal->SdioRxFIFOSize = sdio_local_cmd52_read2byte(adapter, SDIO_REG_RX0_REQ_LEN);
drivers/staging/rtl8723bs/hal/sdio_ops.c
928
recvbuf = sd_recv_rxfifo(adapter, hal->SdioRxFIFOSize);
drivers/staging/rtl8723bs/hal/sdio_ops.c
930
sd_rxhandler(adapter, recvbuf);
drivers/staging/rtl8723bs/hal/sdio_ops.c
941
read_interrupt_8723b_sdio(adapter, &hisr);
drivers/staging/rtl8723bs/hal/sdio_ops.c
949
void sd_int_hdl(struct adapter *adapter)
drivers/staging/rtl8723bs/hal/sdio_ops.c
954
(adapter->bDriverStopped) || (adapter->bSurpriseRemoved)
drivers/staging/rtl8723bs/hal/sdio_ops.c
958
hal = GET_HAL_DATA(adapter);
drivers/staging/rtl8723bs/hal/sdio_ops.c
961
read_interrupt_8723b_sdio(adapter, &hal->sdio_hisr);
drivers/staging/rtl8723bs/hal/sdio_ops.c
971
sdio_local_cmd52_write4byte(adapter, SDIO_REG_HISR, v32);
drivers/staging/rtl8723bs/hal/sdio_ops.c
973
sd_int_dpc(adapter);
drivers/staging/rtl8723bs/hal/sdio_ops.c
987
u8 HalQueryTxBufferStatus8723BSdio(struct adapter *adapter)
drivers/staging/rtl8723bs/hal/sdio_ops.c
992
hal = GET_HAL_DATA(adapter);
drivers/staging/rtl8723bs/hal/sdio_ops.c
994
numof_free_page = sdio_local_cmd53_read4byte(adapter, SDIO_REG_FREE_TXPG);
drivers/staging/rtl8723bs/include/HalPwrSeqCmd.h
105
struct adapter *padapter,
drivers/staging/rtl8723bs/include/drv_types.h
172
#define GET_PRIMARY_ADAPTER(padapter) (((struct adapter *)padapter)->dvobj->if1)
drivers/staging/rtl8723bs/include/drv_types.h
173
#define GET_IFACE_NUMS(padapter) (((struct adapter *)padapter)->dvobj->iface_nums)
drivers/staging/rtl8723bs/include/drv_types.h
174
#define GET_ADAPTER(padapter, iface_id) (((struct adapter *)padapter)->dvobj->padapters[iface_id])
drivers/staging/rtl8723bs/include/drv_types.h
207
struct adapter *if1; /* PRIMARY_ADAPTER */
drivers/staging/rtl8723bs/include/drv_types.h
226
struct adapter *padapters;
drivers/staging/rtl8723bs/include/drv_types.h
324
void (*intf_start)(struct adapter *adapter);
drivers/staging/rtl8723bs/include/drv_types.h
325
void (*intf_stop)(struct adapter *adapter);
drivers/staging/rtl8723bs/include/drv_types.h
362
struct adapter *pbuddy_adapter;
drivers/staging/rtl8723bs/include/drv_types.h
379
#define adapter_to_dvobj(adapter) (adapter->dvobj)
drivers/staging/rtl8723bs/include/drv_types.h
380
#define adapter_to_pwrctl(adapter) (dvobj_to_pwrctl(adapter->dvobj))
drivers/staging/rtl8723bs/include/drv_types.h
381
#define adapter_wdev_data(adapter) (&((adapter)->wdev_data))
drivers/staging/rtl8723bs/include/drv_types.h
392
static inline void RTW_ENABLE_FUNC(struct adapter *padapter, int func_bit)
drivers/staging/rtl8723bs/include/hal_btcoex.h
23
void hal_btcoex_SetBTCoexist(struct adapter *padapter, u8 bBtExist);
drivers/staging/rtl8723bs/include/hal_btcoex.h
24
bool hal_btcoex_IsBtExist(struct adapter *padapter);
drivers/staging/rtl8723bs/include/hal_btcoex.h
25
bool hal_btcoex_IsBtDisabled(struct adapter *);
drivers/staging/rtl8723bs/include/hal_btcoex.h
26
void hal_btcoex_SetPgAntNum(struct adapter *padapter, u8 antNum);
drivers/staging/rtl8723bs/include/hal_btcoex.h
27
void hal_btcoex_SetSingleAntPath(struct adapter *padapter, u8 singleAntPath);
drivers/staging/rtl8723bs/include/hal_btcoex.h
30
void hal_btcoex_PowerOnSetting(struct adapter *padapter);
drivers/staging/rtl8723bs/include/hal_btcoex.h
31
void hal_btcoex_InitHwConfig(struct adapter *padapter, u8 bWifiOnly);
drivers/staging/rtl8723bs/include/hal_btcoex.h
33
void hal_btcoex_IpsNotify(struct adapter *padapter, u8 type);
drivers/staging/rtl8723bs/include/hal_btcoex.h
34
void hal_btcoex_LpsNotify(struct adapter *padapter, u8 type);
drivers/staging/rtl8723bs/include/hal_btcoex.h
35
void hal_btcoex_ScanNotify(struct adapter *padapter, u8 type);
drivers/staging/rtl8723bs/include/hal_btcoex.h
36
void hal_btcoex_ConnectNotify(struct adapter *padapter, u8 action);
drivers/staging/rtl8723bs/include/hal_btcoex.h
37
void hal_btcoex_MediaStatusNotify(struct adapter *padapter, u8 mediaStatus);
drivers/staging/rtl8723bs/include/hal_btcoex.h
38
void hal_btcoex_SpecialPacketNotify(struct adapter *padapter, u8 pktType);
drivers/staging/rtl8723bs/include/hal_btcoex.h
39
void hal_btcoex_IQKNotify(struct adapter *padapter, u8 state);
drivers/staging/rtl8723bs/include/hal_btcoex.h
40
void hal_btcoex_BtInfoNotify(struct adapter *padapter, u8 length, u8 *tmpBuf);
drivers/staging/rtl8723bs/include/hal_btcoex.h
41
void hal_btcoex_SuspendNotify(struct adapter *padapter, u8 state);
drivers/staging/rtl8723bs/include/hal_btcoex.h
42
void hal_btcoex_HaltNotify(struct adapter *padapter);
drivers/staging/rtl8723bs/include/hal_btcoex.h
44
void hal_btcoex_Handler(struct adapter *padapter);
drivers/staging/rtl8723bs/include/hal_btcoex.h
46
s32 hal_btcoex_IsBTCoexCtrlAMPDUSize(struct adapter *padapter);
drivers/staging/rtl8723bs/include/hal_btcoex.h
47
bool hal_btcoex_IsBtControlLps(struct adapter *padapter);
drivers/staging/rtl8723bs/include/hal_btcoex.h
48
bool hal_btcoex_IsLpsOn(struct adapter *padapter);
drivers/staging/rtl8723bs/include/hal_btcoex.h
49
u8 hal_btcoex_RpwmVal(struct adapter *);
drivers/staging/rtl8723bs/include/hal_btcoex.h
50
u8 hal_btcoex_LpsVal(struct adapter *);
drivers/staging/rtl8723bs/include/hal_btcoex.h
51
u32 hal_btcoex_GetRaMask(struct adapter *);
drivers/staging/rtl8723bs/include/hal_btcoex.h
52
void hal_btcoex_RecordPwrMode(struct adapter *padapter, u8 *pCmdBuf, u8 cmdLen);
drivers/staging/rtl8723bs/include/hal_com.h
108
struct adapter *Adapter,
drivers/staging/rtl8723bs/include/hal_com.h
117
struct adapter *Adapter,
drivers/staging/rtl8723bs/include/hal_com.h
123
struct adapter *padapter,
drivers/staging/rtl8723bs/include/hal_com.h
127
void hal_init_macaddr(struct adapter *adapter);
drivers/staging/rtl8723bs/include/hal_com.h
129
void rtw_init_hal_com_default_value(struct adapter *Adapter);
drivers/staging/rtl8723bs/include/hal_com.h
131
void c2h_evt_clear(struct adapter *adapter);
drivers/staging/rtl8723bs/include/hal_com.h
132
s32 c2h_evt_read_88xx(struct adapter *adapter, u8 *buf);
drivers/staging/rtl8723bs/include/hal_com.h
134
u8 rtw_get_mgntframe_raid(struct adapter *adapter, unsigned char network_type);
drivers/staging/rtl8723bs/include/hal_com.h
135
void rtw_hal_update_sta_rate_mask(struct adapter *padapter, struct sta_info *psta);
drivers/staging/rtl8723bs/include/hal_com.h
137
void SetHwReg(struct adapter *padapter, u8 variable, u8 *val);
drivers/staging/rtl8723bs/include/hal_com.h
138
void GetHwReg(struct adapter *padapter, u8 variable, u8 *val);
drivers/staging/rtl8723bs/include/hal_com.h
139
void rtw_hal_check_rxfifo_full(struct adapter *adapter);
drivers/staging/rtl8723bs/include/hal_com.h
141
u8 GetHalDefVar(struct adapter *adapter, enum hal_def_variable variable,
drivers/staging/rtl8723bs/include/hal_com.h
150
void rtw_bb_rf_gain_offset(struct adapter *padapter);
drivers/staging/rtl8723bs/include/hal_com.h
153
struct adapter *Adapter,
drivers/staging/rtl8723bs/include/hal_com.h
92
u8 rtw_hal_data_init(struct adapter *padapter);
drivers/staging/rtl8723bs/include/hal_com.h
93
void rtw_hal_data_deinit(struct adapter *padapter);
drivers/staging/rtl8723bs/include/hal_com.h
99
struct adapter *padapter,
drivers/staging/rtl8723bs/include/hal_com_phycfg.h
100
void PHY_ConvertTxPowerLimitToPowerIndex(struct adapter *Adapter);
drivers/staging/rtl8723bs/include/hal_com_phycfg.h
102
void PHY_InitTxPowerLimit(struct adapter *Adapter);
drivers/staging/rtl8723bs/include/hal_com_phycfg.h
104
s8 PHY_GetTxPowerTrackingOffset(struct adapter *padapter, u8 Rate, u8 RFPath);
drivers/staging/rtl8723bs/include/hal_com_phycfg.h
106
void Hal_ChannelPlanToRegulation(struct adapter *Adapter, u16 ChannelPlan);
drivers/staging/rtl8723bs/include/hal_com_phycfg.h
57
u8 PHY_GetTxPowerByRateBase(struct adapter *Adapter, u8 RfPath,
drivers/staging/rtl8723bs/include/hal_com_phycfg.h
60
u8 PHY_GetRateSectionIndexOfTxPowerByRate(struct adapter *padapter, u32 RegAddr,
drivers/staging/rtl8723bs/include/hal_com_phycfg.h
63
void PHY_GetRateValuesOfTxPowerByRate(struct adapter *padapter, u32 RegAddr,
drivers/staging/rtl8723bs/include/hal_com_phycfg.h
69
void PHY_SetTxPowerIndexByRateSection(struct adapter *padapter, u8 RFPath, u8 Channel,
drivers/staging/rtl8723bs/include/hal_com_phycfg.h
72
s8 PHY_GetTxPowerByRate(struct adapter *padapter, u8 RFPath, u8 RateIndex);
drivers/staging/rtl8723bs/include/hal_com_phycfg.h
74
void PHY_SetTxPowerByRate(struct adapter *padapter, u8 RFPath, u8 Rate,
drivers/staging/rtl8723bs/include/hal_com_phycfg.h
77
void PHY_SetTxPowerLevelByPath(struct adapter *Adapter, u8 channel, u8 path);
drivers/staging/rtl8723bs/include/hal_com_phycfg.h
79
void PHY_SetTxPowerIndexByRateArray(struct adapter *padapter, u8 RFPath,
drivers/staging/rtl8723bs/include/hal_com_phycfg.h
83
void PHY_InitTxPowerByRate(struct adapter *padapter);
drivers/staging/rtl8723bs/include/hal_com_phycfg.h
85
void PHY_StoreTxPowerByRate(struct adapter *padapter, u32 RfPath,
drivers/staging/rtl8723bs/include/hal_com_phycfg.h
88
void PHY_TxPowerByRateConfiguration(struct adapter *padapter);
drivers/staging/rtl8723bs/include/hal_com_phycfg.h
90
u8 PHY_GetTxPowerIndexBase(struct adapter *padapter, u8 RFPath, u8 Rate,
drivers/staging/rtl8723bs/include/hal_com_phycfg.h
93
s8 phy_get_tx_pwr_lmt(struct adapter *adapter, u32 RegPwrTblSel,
drivers/staging/rtl8723bs/include/hal_com_phycfg.h
97
void PHY_SetTxPowerLimit(struct adapter *Adapter, u8 *Regulation, u8 *Bandwidth,
drivers/staging/rtl8723bs/include/hal_intf.h
169
#define GET_EEPROM_EFUSE_PRIV(adapter) (&adapter->eeprompriv)
drivers/staging/rtl8723bs/include/hal_intf.h
170
#define is_boot_from_eeprom(adapter) (adapter->eeprompriv.EepromOrEfuse)
drivers/staging/rtl8723bs/include/hal_intf.h
184
void rtw_hal_def_value_init(struct adapter *padapter);
drivers/staging/rtl8723bs/include/hal_intf.h
186
void rtw_hal_free_data(struct adapter *padapter);
drivers/staging/rtl8723bs/include/hal_intf.h
188
void rtw_hal_dm_init(struct adapter *padapter);
drivers/staging/rtl8723bs/include/hal_intf.h
190
uint rtw_hal_init(struct adapter *padapter);
drivers/staging/rtl8723bs/include/hal_intf.h
191
uint rtw_hal_deinit(struct adapter *padapter);
drivers/staging/rtl8723bs/include/hal_intf.h
192
void rtw_hal_stop(struct adapter *padapter);
drivers/staging/rtl8723bs/include/hal_intf.h
193
void rtw_hal_set_hwreg(struct adapter *padapter, u8 variable, u8 *val);
drivers/staging/rtl8723bs/include/hal_intf.h
194
void rtw_hal_get_hwreg(struct adapter *padapter, u8 variable, u8 *val);
drivers/staging/rtl8723bs/include/hal_intf.h
196
void rtw_hal_set_hwreg_with_buf(struct adapter *padapter, u8 variable, u8 *pbuf, int len);
drivers/staging/rtl8723bs/include/hal_intf.h
198
void rtw_hal_chip_configure(struct adapter *padapter);
drivers/staging/rtl8723bs/include/hal_intf.h
199
void rtw_hal_read_chip_info(struct adapter *padapter);
drivers/staging/rtl8723bs/include/hal_intf.h
200
void rtw_hal_read_chip_version(struct adapter *padapter);
drivers/staging/rtl8723bs/include/hal_intf.h
202
u8 rtw_hal_get_def_var(struct adapter *padapter, enum hal_def_variable eVariable, void *pValue);
drivers/staging/rtl8723bs/include/hal_intf.h
204
void rtw_hal_set_odm_var(struct adapter *padapter, enum hal_odm_variable eVariable, void *pValue1, bool bSet);
drivers/staging/rtl8723bs/include/hal_intf.h
206
void rtw_hal_enable_interrupt(struct adapter *padapter);
drivers/staging/rtl8723bs/include/hal_intf.h
207
void rtw_hal_disable_interrupt(struct adapter *padapter);
drivers/staging/rtl8723bs/include/hal_intf.h
209
u8 rtw_hal_check_ips_status(struct adapter *padapter);
drivers/staging/rtl8723bs/include/hal_intf.h
211
s32 rtw_hal_xmitframe_enqueue(struct adapter *padapter, struct xmit_frame *pxmitframe);
drivers/staging/rtl8723bs/include/hal_intf.h
212
s32 rtw_hal_xmit(struct adapter *padapter, struct xmit_frame *pxmitframe);
drivers/staging/rtl8723bs/include/hal_intf.h
213
s32 rtw_hal_mgnt_xmit(struct adapter *padapter, struct xmit_frame *pmgntframe);
drivers/staging/rtl8723bs/include/hal_intf.h
215
s32 rtw_hal_init_xmit_priv(struct adapter *padapter);
drivers/staging/rtl8723bs/include/hal_intf.h
216
void rtw_hal_free_xmit_priv(struct adapter *padapter);
drivers/staging/rtl8723bs/include/hal_intf.h
218
s32 rtw_hal_init_recv_priv(struct adapter *padapter);
drivers/staging/rtl8723bs/include/hal_intf.h
219
void rtw_hal_free_recv_priv(struct adapter *padapter);
drivers/staging/rtl8723bs/include/hal_intf.h
222
void rtw_hal_add_ra_tid(struct adapter *padapter, u32 bitmap, u8 *arg, u8 rssi_level);
drivers/staging/rtl8723bs/include/hal_intf.h
224
void beacon_timing_control(struct adapter *padapter);
drivers/staging/rtl8723bs/include/hal_intf.h
226
u32 rtw_hal_read_bbreg(struct adapter *padapter, u32 RegAddr, u32 BitMask);
drivers/staging/rtl8723bs/include/hal_intf.h
227
void rtw_hal_write_bbreg(struct adapter *padapter, u32 RegAddr, u32 BitMask, u32 Data);
drivers/staging/rtl8723bs/include/hal_intf.h
228
u32 rtw_hal_read_rfreg(struct adapter *padapter, u32 eRFPath, u32 RegAddr, u32 BitMask);
drivers/staging/rtl8723bs/include/hal_intf.h
229
void rtw_hal_write_rfreg(struct adapter *padapter, u32 eRFPath, u32 RegAddr, u32 BitMask, u32 Data);
drivers/staging/rtl8723bs/include/hal_intf.h
239
void rtw_hal_set_chan(struct adapter *padapter, u8 channel);
drivers/staging/rtl8723bs/include/hal_intf.h
240
void rtw_hal_set_chnl_bw(struct adapter *padapter, u8 channel, enum channel_width Bandwidth, u8 Offset40, u8 Offset80);
drivers/staging/rtl8723bs/include/hal_intf.h
241
void rtw_hal_dm_watchdog(struct adapter *padapter);
drivers/staging/rtl8723bs/include/hal_intf.h
242
void rtw_hal_dm_watchdog_in_lps(struct adapter *padapter);
drivers/staging/rtl8723bs/include/hal_intf.h
244
s32 rtw_hal_xmit_thread_handler(struct adapter *padapter);
drivers/staging/rtl8723bs/include/hal_intf.h
246
void rtw_hal_notch_filter(struct adapter *adapter, bool enable);
drivers/staging/rtl8723bs/include/hal_intf.h
248
bool rtw_hal_c2h_valid(struct adapter *adapter, u8 *buf);
drivers/staging/rtl8723bs/include/hal_intf.h
249
s32 rtw_hal_c2h_handler(struct adapter *adapter, u8 *c2h_evt);
drivers/staging/rtl8723bs/include/hal_intf.h
250
c2h_id_filter rtw_hal_c2h_id_filter_ccx(struct adapter *adapter);
drivers/staging/rtl8723bs/include/hal_intf.h
252
s32 rtw_hal_macid_sleep(struct adapter *padapter, u32 macid);
drivers/staging/rtl8723bs/include/hal_intf.h
253
s32 rtw_hal_macid_wakeup(struct adapter *padapter, u32 macid);
drivers/staging/rtl8723bs/include/hal_intf.h
255
s32 rtw_hal_fill_h2c_cmd(struct adapter *, u8 ElementID, u32 CmdLen, u8 *pCmdBuffer);
drivers/staging/rtl8723bs/include/hal_intf.h
257
void SetHwReg8723BS(struct adapter *padapter, u8 variable, u8 *val);
drivers/staging/rtl8723bs/include/hal_intf.h
258
void GetHwReg8723BS(struct adapter *padapter, u8 variable, u8 *val);
drivers/staging/rtl8723bs/include/hal_intf.h
259
void SetHwRegWithBuf8723B(struct adapter *padapter, u8 variable, u8 *pbuf, int len);
drivers/staging/rtl8723bs/include/hal_intf.h
260
u8 GetHalDefVar8723BSDIO(struct adapter *Adapter, enum hal_def_variable eVariable, void *pValue);
drivers/staging/rtl8723bs/include/hal_intf.h
261
void UpdateHalRAMask8723B(struct adapter *padapter, u32 mac_id, u8 rssi_level);
drivers/staging/rtl8723bs/include/hal_intf.h
262
void rtl8723b_SetBeaconRelatedRegisters(struct adapter *padapter);
drivers/staging/rtl8723bs/include/hal_intf.h
263
void Hal_EfusePowerSwitch(struct adapter *padapter, u8 PwrState);
drivers/staging/rtl8723bs/include/hal_intf.h
264
void Hal_ReadEFuse(struct adapter *padapter, u8 efuseType, u16 _offset,
drivers/staging/rtl8723bs/include/hal_intf.h
266
void Hal_GetEfuseDefinition(struct adapter *padapter, u8 efuseType, u8 type,
drivers/staging/rtl8723bs/include/hal_intf.h
268
void hal_notch_filter_8723b(struct adapter *adapter, bool enable);
drivers/staging/rtl8723bs/include/hal_phy_cfg.h
28
u32 PHY_QueryBBReg_8723B(struct adapter *Adapter, u32 RegAddr, u32 BitMask);
drivers/staging/rtl8723bs/include/hal_phy_cfg.h
30
void PHY_SetBBReg_8723B(struct adapter *Adapter, u32 RegAddr,
drivers/staging/rtl8723bs/include/hal_phy_cfg.h
33
u32 PHY_QueryRFReg_8723B(struct adapter *Adapter, u8 eRFPath,
drivers/staging/rtl8723bs/include/hal_phy_cfg.h
36
void PHY_SetRFReg_8723B(struct adapter *Adapter, u8 eRFPath,
drivers/staging/rtl8723bs/include/hal_phy_cfg.h
40
int PHY_BBConfig8723B(struct adapter *Adapter);
drivers/staging/rtl8723bs/include/hal_phy_cfg.h
42
int PHY_RFConfig8723B(struct adapter *Adapter);
drivers/staging/rtl8723bs/include/hal_phy_cfg.h
44
s32 PHY_MACConfig8723B(struct adapter *padapter);
drivers/staging/rtl8723bs/include/hal_phy_cfg.h
46
void PHY_SetTxPowerIndex(struct adapter *Adapter, u32 PowerIndex,
drivers/staging/rtl8723bs/include/hal_phy_cfg.h
49
u8 PHY_GetTxPowerIndex(struct adapter *padapter, u8 RFPath, u8 Rate,
drivers/staging/rtl8723bs/include/hal_phy_cfg.h
52
void PHY_SetTxPowerLevel8723B(struct adapter *Adapter, u8 channel);
drivers/staging/rtl8723bs/include/hal_phy_cfg.h
55
void PHY_SwChnl8723B(struct adapter *Adapter, u8 channel);
drivers/staging/rtl8723bs/include/hal_phy_cfg.h
57
void PHY_SetSwChnlBWMode8723B(struct adapter *Adapter, u8 channel,
drivers/staging/rtl8723bs/include/hal_sdio.h
12
u8 rtw_hal_sdio_max_txoqt_free_space(struct adapter *padapter);
drivers/staging/rtl8723bs/include/hal_sdio.h
13
u8 rtw_hal_sdio_query_tx_freepage(struct adapter *padapter, u8 PageIdx, u8 RequiredPageNum);
drivers/staging/rtl8723bs/include/hal_sdio.h
14
void rtw_hal_sdio_update_tx_freepage(struct adapter *padapter, u8 PageIdx, u8 RequiredPageNum);
drivers/staging/rtl8723bs/include/hal_sdio.h
15
void rtw_hal_set_sdio_tx_max_length(struct adapter *padapter, u8 numHQ, u8 numNQ, u8 numLQ, u8 numPubQ);
drivers/staging/rtl8723bs/include/hal_sdio.h
16
u32 rtw_hal_get_sdio_tx_max_length(struct adapter *padapter, u8 queue_idx);
drivers/staging/rtl8723bs/include/ioctl_cfg80211.h
100
void rtw_cfg80211_ibss_indicate_connect(struct adapter *padapter);
drivers/staging/rtl8723bs/include/ioctl_cfg80211.h
101
void rtw_cfg80211_indicate_connect(struct adapter *padapter);
drivers/staging/rtl8723bs/include/ioctl_cfg80211.h
102
void rtw_cfg80211_indicate_disconnect(struct adapter *padapter);
drivers/staging/rtl8723bs/include/ioctl_cfg80211.h
103
void rtw_cfg80211_indicate_scan_done(struct adapter *adapter, bool aborted);
drivers/staging/rtl8723bs/include/ioctl_cfg80211.h
105
void rtw_cfg80211_indicate_sta_assoc(struct adapter *padapter, u8 *pmgmt_frame, uint frame_len);
drivers/staging/rtl8723bs/include/ioctl_cfg80211.h
106
void rtw_cfg80211_indicate_sta_disassoc(struct adapter *padapter, unsigned char *da, unsigned short reason);
drivers/staging/rtl8723bs/include/ioctl_cfg80211.h
108
void rtw_cfg80211_rx_action(struct adapter *adapter, u8 *frame, uint frame_len, const char *msg);
drivers/staging/rtl8723bs/include/ioctl_cfg80211.h
110
bool rtw_cfg80211_pwr_mgmt(struct adapter *adapter);
drivers/staging/rtl8723bs/include/ioctl_cfg80211.h
112
#define rtw_cfg80211_rx_mgmt(adapter, freq, sig_dbm, buf, len, gfp) cfg80211_rx_mgmt((adapter)->rtw_wdev, freq, sig_dbm, buf, len, 0)
drivers/staging/rtl8723bs/include/ioctl_cfg80211.h
113
#define rtw_cfg80211_send_rx_assoc(adapter, bss, buf, len) cfg80211_send_rx_assoc((adapter)->pnetdev, bss, buf, len)
drivers/staging/rtl8723bs/include/ioctl_cfg80211.h
114
#define rtw_cfg80211_mgmt_tx_status(adapter, cookie, buf, len, ack, gfp) cfg80211_mgmt_tx_status((adapter)->rtw_wdev, cookie, buf, len, ack, gfp)
drivers/staging/rtl8723bs/include/ioctl_cfg80211.h
115
#define rtw_cfg80211_ready_on_channel(adapter, cookie, chan, channel_type, duration, gfp) cfg80211_ready_on_channel((adapter)->rtw_wdev, cookie, chan, duration, gfp)
drivers/staging/rtl8723bs/include/ioctl_cfg80211.h
116
#define rtw_cfg80211_remain_on_channel_expired(adapter, cookie, chan, chan_type, gfp) cfg80211_remain_on_channel_expired((adapter)->rtw_wdev, cookie, chan, gfp)
drivers/staging/rtl8723bs/include/ioctl_cfg80211.h
65
struct adapter *padapter;
drivers/staging/rtl8723bs/include/ioctl_cfg80211.h
85
#define wiphy_to_adapter(x) (*((struct adapter **)wiphy_priv(x)))
drivers/staging/rtl8723bs/include/ioctl_cfg80211.h
89
int rtw_wdev_alloc(struct adapter *padapter, struct device *dev);
drivers/staging/rtl8723bs/include/ioctl_cfg80211.h
93
void rtw_cfg80211_init_wiphy(struct adapter *padapter);
drivers/staging/rtl8723bs/include/ioctl_cfg80211.h
95
void rtw_cfg80211_unlink_bss(struct adapter *padapter, struct wlan_network *pnetwork);
drivers/staging/rtl8723bs/include/ioctl_cfg80211.h
96
void rtw_cfg80211_surveydone_event_callback(struct adapter *padapter);
drivers/staging/rtl8723bs/include/ioctl_cfg80211.h
98
struct cfg80211_bss *rtw_cfg80211_inform_bss(struct adapter *padapter, struct wlan_network *pnetwork);
drivers/staging/rtl8723bs/include/ioctl_cfg80211.h
99
int rtw_cfg80211_check_bss(struct adapter *padapter);
drivers/staging/rtl8723bs/include/osdep_intf.h
14
u8 rtw_init_drv_sw(struct adapter *padapter);
drivers/staging/rtl8723bs/include/osdep_intf.h
15
u8 rtw_free_drv_sw(struct adapter *padapter);
drivers/staging/rtl8723bs/include/osdep_intf.h
16
void rtw_reset_drv_sw(struct adapter *padapter);
drivers/staging/rtl8723bs/include/osdep_intf.h
17
void rtw_dev_unload(struct adapter *padapter);
drivers/staging/rtl8723bs/include/osdep_intf.h
19
u32 rtw_start_drv_threads(struct adapter *padapter);
drivers/staging/rtl8723bs/include/osdep_intf.h
20
void rtw_stop_drv_threads(struct adapter *padapter);
drivers/staging/rtl8723bs/include/osdep_intf.h
21
void rtw_cancel_all_timer(struct adapter *padapter);
drivers/staging/rtl8723bs/include/osdep_intf.h
24
struct net_device *rtw_init_netdev(struct adapter *padapter);
drivers/staging/rtl8723bs/include/osdep_intf.h
29
void rtw_ips_dev_unload(struct adapter *padapter);
drivers/staging/rtl8723bs/include/osdep_intf.h
31
int rtw_ips_pwr_up(struct adapter *padapter);
drivers/staging/rtl8723bs/include/osdep_intf.h
32
void rtw_ips_pwr_down(struct adapter *padapter);
drivers/staging/rtl8723bs/include/osdep_intf.h
34
int rtw_drv_register_netdev(struct adapter *padapter);
drivers/staging/rtl8723bs/include/osdep_intf.h
37
void rtw_suspend_common(struct adapter *padapter);
drivers/staging/rtl8723bs/include/osdep_intf.h
38
int rtw_resume_common(struct adapter *padapter);
drivers/staging/rtl8723bs/include/osdep_service_linux.h
102
#define ADPT_ARG(adapter) adapter->pnetdev->name
drivers/staging/rtl8723bs/include/osdep_service_linux.h
106
#define FUNC_ADPT_ARG(adapter) __func__, adapter->pnetdev->name
drivers/staging/rtl8723bs/include/osdep_service_linux.h
113
static inline struct adapter *rtw_netdev_priv(struct net_device *netdev)
drivers/staging/rtl8723bs/include/rtl8723b_cmd.h
166
void rtl8723b_set_FwPwrMode_cmd(struct adapter *padapter, u8 Mode);
drivers/staging/rtl8723bs/include/rtl8723b_cmd.h
167
void rtl8723b_set_FwJoinBssRpt_cmd(struct adapter *padapter, u8 mstatus);
drivers/staging/rtl8723bs/include/rtl8723b_cmd.h
168
void rtl8723b_set_rssi_cmd(struct adapter *padapter, u8 *param);
drivers/staging/rtl8723bs/include/rtl8723b_cmd.h
169
void rtl8723b_Add_RateATid(struct adapter *padapter, u32 bitmap, u8 *arg, u8 rssi_level);
drivers/staging/rtl8723bs/include/rtl8723b_cmd.h
170
void rtl8723b_fw_try_ap_cmd(struct adapter *padapter, u32 need_ack);
drivers/staging/rtl8723bs/include/rtl8723b_cmd.h
172
void rtl8723b_set_FwPsTuneParam_cmd(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtl8723b_cmd.h
173
void rtl8723b_set_FwMacIdConfig_cmd(struct adapter *padapter, u8 mac_id, u8 raid, u8 bw, u8 sgi, u32 mask);
drivers/staging/rtl8723bs/include/rtl8723b_cmd.h
174
void rtl8723b_set_FwMediaStatusRpt_cmd(struct adapter *padapter, u8 mstatus, u8 macid);
drivers/staging/rtl8723bs/include/rtl8723b_cmd.h
175
void rtl8723b_download_rsvd_page(struct adapter *padapter, u8 mstatus);
drivers/staging/rtl8723bs/include/rtl8723b_cmd.h
176
void rtl8723b_download_BTCoex_AP_mode_rsvd_page(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtl8723b_cmd.h
178
void rtl8723b_set_FwPwrModeInIPS_cmd(struct adapter *padapter, u8 cmd_param);
drivers/staging/rtl8723bs/include/rtl8723b_cmd.h
180
s32 FillH2CCmd8723B(struct adapter *padapter, u8 ElementID, u32 CmdLen, u8 *pCmdBuffer);
drivers/staging/rtl8723bs/include/rtl8723b_dm.h
25
void rtl8723b_init_dm_priv(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtl8723b_dm.h
27
void rtl8723b_InitHalDm(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtl8723b_dm.h
28
void rtl8723b_HalDmWatchDog(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtl8723b_dm.h
29
void rtl8723b_HalDmWatchDog_in_LPS(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtl8723b_dm.h
30
void rtl8723b_hal_dm_in_lps(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtl8723b_hal.h
190
s32 rtl8723b_FirmwareDownload(struct adapter *padapter, bool bUsedWoWLANFw);
drivers/staging/rtl8723bs/include/rtl8723b_hal.h
191
void rtl8723b_FirmwareSelfReset(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtl8723b_hal.h
192
void rtl8723b_InitializeFirmwareVars(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtl8723b_hal.h
194
void rtl8723b_InitAntenna_Selection(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtl8723b_hal.h
195
void rtl8723b_init_default_value(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtl8723b_hal.h
197
s32 rtl8723b_InitLLTTable(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtl8723b_hal.h
200
u8 GetEEPROMSize8723B(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtl8723b_hal.h
201
void Hal_InitPGData(struct adapter *padapter, u8 *PROMContent);
drivers/staging/rtl8723bs/include/rtl8723b_hal.h
202
void Hal_EfuseParseIDCode(struct adapter *padapter, u8 *hwinfo);
drivers/staging/rtl8723bs/include/rtl8723b_hal.h
203
void Hal_EfuseParseTxPowerInfo_8723B(struct adapter *padapter, u8 *PROMContent,
drivers/staging/rtl8723bs/include/rtl8723b_hal.h
205
void Hal_EfuseParseBTCoexistInfo_8723B(struct adapter *padapter, u8 *hwinfo,
drivers/staging/rtl8723bs/include/rtl8723b_hal.h
207
void Hal_EfuseParseEEPROMVer_8723B(struct adapter *padapter, u8 *hwinfo,
drivers/staging/rtl8723bs/include/rtl8723b_hal.h
209
void Hal_EfuseParseChnlPlan_8723B(struct adapter *padapter, u8 *hwinfo,
drivers/staging/rtl8723bs/include/rtl8723b_hal.h
211
void Hal_EfuseParseCustomerID_8723B(struct adapter *padapter, u8 *hwinfo,
drivers/staging/rtl8723bs/include/rtl8723b_hal.h
213
void Hal_EfuseParseXtal_8723B(struct adapter *padapter, u8 *hwinfo,
drivers/staging/rtl8723bs/include/rtl8723b_hal.h
215
void Hal_EfuseParseThermalMeter_8723B(struct adapter *padapter, u8 *hwinfo,
drivers/staging/rtl8723bs/include/rtl8723b_hal.h
217
void Hal_EfuseParsePackageType_8723B(struct adapter *padapter, u8 *hwinfo,
drivers/staging/rtl8723bs/include/rtl8723b_hal.h
219
void Hal_EfuseParseVoltage_8723B(struct adapter *padapter, u8 *hwinfo,
drivers/staging/rtl8723bs/include/rtl8723b_hal.h
222
void C2HPacketHandler_8723B(struct adapter *padapter, u8 *pbuffer, u16 length);
drivers/staging/rtl8723bs/include/rtl8723b_hal.h
224
void SetHwReg8723B(struct adapter *padapter, u8 variable, u8 *val);
drivers/staging/rtl8723bs/include/rtl8723b_hal.h
225
void GetHwReg8723B(struct adapter *padapter, u8 variable, u8 *val);
drivers/staging/rtl8723bs/include/rtl8723b_hal.h
226
u8 GetHalDefVar8723B(struct adapter *padapter, enum hal_def_variable variable,
drivers/staging/rtl8723bs/include/rtl8723b_hal.h
230
void rtl8723b_InitBeaconParameters(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtl8723b_hal.h
231
void _InitBurstPktLen_8723BS(struct adapter *adapter);
drivers/staging/rtl8723bs/include/rtl8723b_hal.h
232
void _8051Reset8723(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtl8723b_hal.h
234
int FirmwareDownloadBT(struct adapter *adapter, struct rt_firmware *firmware);
drivers/staging/rtl8723bs/include/rtl8723b_hal.h
236
void CCX_FwC2HTxRpt_8723b(struct adapter *padapter, u8 *pdata, u8 len);
drivers/staging/rtl8723bs/include/rtl8723b_hal.h
238
s32 c2h_handler_8723b(struct adapter *padapter, u8 *pC2hEvent);
drivers/staging/rtl8723bs/include/rtl8723b_hal.h
242
void Hal_ReadRFGainOffset(struct adapter *padapter, u8 *hwinfo,
drivers/staging/rtl8723bs/include/rtl8723b_recv.h
84
s32 rtl8723bs_init_recv_priv(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtl8723b_recv.h
85
void rtl8723bs_free_recv_priv(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtl8723b_recv.h
88
void rtl8723b_process_phy_info(struct adapter *padapter, void *prframe);
drivers/staging/rtl8723bs/include/rtl8723b_recv.h
90
void rtl8723b_read_chip_version(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtl8723b_recv.h
91
void rtl8723bs_init_default_value(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtl8723b_recv.h
92
void rtl8723bs_interface_configure(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtl8723b_recv.h
93
void ReadAdapterInfo8723BS(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtl8723b_rf.h
11
int PHY_RF6052_Config8723B(struct adapter *Adapter);
drivers/staging/rtl8723bs/include/rtl8723b_rf.h
14
PHY_RF6052SetBandwidth8723B(struct adapter *Adapter,
drivers/staging/rtl8723bs/include/rtl8723b_xmit.h
406
void rtl8723b_fill_fake_txdesc(struct adapter *padapter, u8 *pDesc, u32 BufferLen, u8 IsPsPoll, u8 IsBTQosNull, u8 bDataFrame);
drivers/staging/rtl8723bs/include/rtl8723b_xmit.h
408
u32 rtl8723bs_hal_init(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtl8723b_xmit.h
409
u32 rtl8723bs_hal_deinit(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtl8723b_xmit.h
410
s32 rtl8723bs_init_xmit_priv(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtl8723b_xmit.h
411
void rtl8723bs_free_xmit_priv(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtl8723b_xmit.h
412
s32 rtl8723bs_hal_xmit(struct adapter *padapter, struct xmit_frame *pxmitframe);
drivers/staging/rtl8723bs/include/rtl8723b_xmit.h
413
s32 rtl8723bs_mgnt_xmit(struct adapter *padapter, struct xmit_frame *pmgntframe);
drivers/staging/rtl8723bs/include/rtl8723b_xmit.h
414
s32 rtl8723bs_hal_xmitframe_enqueue(struct adapter *padapter, struct xmit_frame *pxmitframe);
drivers/staging/rtl8723bs/include/rtl8723b_xmit.h
415
s32 rtl8723bs_xmit_buf_handler(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtl8723b_xmit.h
418
u8 BWMapping_8723B(struct adapter *Adapter, struct pkt_attrib *pattrib);
drivers/staging/rtl8723bs/include/rtl8723b_xmit.h
419
u8 SCMapping_8723B(struct adapter *Adapter, struct pkt_attrib *pattrib);
drivers/staging/rtl8723bs/include/rtw_ap.h
10
void init_mlme_ap_info(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtw_ap.h
11
void free_mlme_ap_info(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtw_ap.h
13
void update_beacon(struct adapter *padapter, u8 ie_id, u8 *oui, u8 tx);
drivers/staging/rtl8723bs/include/rtw_ap.h
14
void add_ratid(struct adapter *padapter, struct sta_info *psta, u8 rssi_level);
drivers/staging/rtl8723bs/include/rtw_ap.h
15
void expire_timeout_chk(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtw_ap.h
16
void update_sta_info_apmode(struct adapter *padapter, struct sta_info *psta);
drivers/staging/rtl8723bs/include/rtw_ap.h
17
void start_bss_network(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtw_ap.h
18
int rtw_check_beacon_data(struct adapter *padapter, u8 *pbuf, int len);
drivers/staging/rtl8723bs/include/rtw_ap.h
19
void rtw_ap_restore_network(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtw_ap.h
20
void rtw_set_macaddr_acl(struct adapter *padapter, int mode);
drivers/staging/rtl8723bs/include/rtw_ap.h
21
int rtw_acl_add_sta(struct adapter *padapter, u8 *addr);
drivers/staging/rtl8723bs/include/rtw_ap.h
22
void rtw_acl_remove_sta(struct adapter *padapter, u8 *addr);
drivers/staging/rtl8723bs/include/rtw_ap.h
24
u8 rtw_ap_set_pairwise_key(struct adapter *padapter, struct sta_info *psta);
drivers/staging/rtl8723bs/include/rtw_ap.h
25
int rtw_ap_set_group_key(struct adapter *padapter, u8 *key, u8 alg, int keyid);
drivers/staging/rtl8723bs/include/rtw_ap.h
26
int rtw_ap_set_wep_key(struct adapter *padapter, u8 *key, u8 keylen, int keyid, u8 set_tx);
drivers/staging/rtl8723bs/include/rtw_ap.h
28
void associated_clients_update(struct adapter *padapter, u8 updated);
drivers/staging/rtl8723bs/include/rtw_ap.h
29
void bss_cap_update_on_sta_join(struct adapter *padapter, struct sta_info *psta);
drivers/staging/rtl8723bs/include/rtw_ap.h
30
u8 bss_cap_update_on_sta_leave(struct adapter *padapter, struct sta_info *psta);
drivers/staging/rtl8723bs/include/rtw_ap.h
31
void sta_info_update(struct adapter *padapter, struct sta_info *psta);
drivers/staging/rtl8723bs/include/rtw_ap.h
32
void ap_sta_info_defer_update(struct adapter *padapter, struct sta_info *psta);
drivers/staging/rtl8723bs/include/rtw_ap.h
33
u8 ap_free_sta(struct adapter *padapter, struct sta_info *psta, bool active, u16 reason);
drivers/staging/rtl8723bs/include/rtw_ap.h
34
void rtw_sta_flush(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtw_ap.h
35
void start_ap_mode(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtw_ap.h
36
void stop_ap_mode(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtw_ap.h
39
void update_bmc_sta(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtw_btcoex.h
18
void rtw_btcoex_MediaStatusNotify(struct adapter *, u8 mediaStatus);
drivers/staging/rtl8723bs/include/rtw_btcoex.h
19
void rtw_btcoex_HaltNotify(struct adapter *);
drivers/staging/rtl8723bs/include/rtw_btcoex.h
24
void rtw_btcoex_RejectApAggregatedPacket(struct adapter *, u8 enable);
drivers/staging/rtl8723bs/include/rtw_btcoex.h
25
void rtw_btcoex_LPS_Enter(struct adapter *);
drivers/staging/rtl8723bs/include/rtw_btcoex.h
26
void rtw_btcoex_LPS_Leave(struct adapter *);
drivers/staging/rtl8723bs/include/rtw_cmd.h
114
void rtw_stop_cmd_thread(struct adapter *adapter);
drivers/staging/rtl8723bs/include/rtw_cmd.h
23
struct adapter *padapter;
drivers/staging/rtl8723bs/include/rtw_cmd.h
55
struct adapter *padapter;
drivers/staging/rtl8723bs/include/rtw_cmd.h
579
u8 rtw_sitesurvey_cmd(struct adapter *padapter, struct ndis_802_11_ssid *ssid, int ssid_num, struct rtw_ieee80211_channel *ch, int ch_num);
drivers/staging/rtl8723bs/include/rtw_cmd.h
580
extern u8 rtw_createbss_cmd(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtw_cmd.h
581
int rtw_startbss_cmd(struct adapter *padapter, int flags);
drivers/staging/rtl8723bs/include/rtw_cmd.h
584
extern u8 rtw_setstakey_cmd(struct adapter *padapter, struct sta_info *sta, u8 unicast_key, bool enqueue);
drivers/staging/rtl8723bs/include/rtw_cmd.h
585
extern u8 rtw_clearstakey_cmd(struct adapter *padapter, struct sta_info *sta, u8 enqueue);
drivers/staging/rtl8723bs/include/rtw_cmd.h
587
extern u8 rtw_joinbss_cmd(struct adapter *padapter, struct wlan_network *pnetwork);
drivers/staging/rtl8723bs/include/rtw_cmd.h
588
u8 rtw_disassoc_cmd(struct adapter *padapter, u32 deauth_timeout_ms, bool enqueue);
drivers/staging/rtl8723bs/include/rtw_cmd.h
589
extern u8 rtw_setopmode_cmd(struct adapter *padapter, enum ndis_802_11_network_infrastructure networktype, bool enqueue);
drivers/staging/rtl8723bs/include/rtw_cmd.h
590
extern u8 rtw_setrfintfs_cmd(struct adapter *padapter, u8 mode);
drivers/staging/rtl8723bs/include/rtw_cmd.h
592
extern u8 rtw_gettssi_cmd(struct adapter *padapter, u8 offset, u8 *pval);
drivers/staging/rtl8723bs/include/rtw_cmd.h
593
extern u8 rtw_setfwdig_cmd(struct adapter *padapter, u8 type);
drivers/staging/rtl8723bs/include/rtw_cmd.h
594
extern u8 rtw_setfwra_cmd(struct adapter *padapter, u8 type);
drivers/staging/rtl8723bs/include/rtw_cmd.h
596
extern u8 rtw_addbareq_cmd(struct adapter *padapter, u8 tid, u8 *addr);
drivers/staging/rtl8723bs/include/rtw_cmd.h
598
extern u8 rtw_reset_securitypriv_cmd(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtw_cmd.h
599
extern u8 rtw_free_assoc_resources_cmd(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtw_cmd.h
600
extern u8 rtw_dynamic_chk_wk_cmd(struct adapter *adapter);
drivers/staging/rtl8723bs/include/rtw_cmd.h
602
u8 rtw_lps_ctrl_wk_cmd(struct adapter *padapter, u8 lps_ctrl_type, u8 enqueue);
drivers/staging/rtl8723bs/include/rtw_cmd.h
603
u8 rtw_dm_in_lps_wk_cmd(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtw_cmd.h
605
u8 rtw_dm_ra_mask_wk_cmd(struct adapter *padapter, u8 *psta);
drivers/staging/rtl8723bs/include/rtw_cmd.h
607
extern u8 rtw_ps_cmd(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtw_cmd.h
609
u8 rtw_chk_hi_queue_cmd(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtw_cmd.h
611
extern u8 rtw_c2h_packet_wk_cmd(struct adapter *padapter, u8 *pbuf, u16 length);
drivers/staging/rtl8723bs/include/rtw_cmd.h
612
extern u8 rtw_c2h_wk_cmd(struct adapter *padapter, u8 *c2h_evt);
drivers/staging/rtl8723bs/include/rtw_cmd.h
614
u8 rtw_drvextra_cmd_hdl(struct adapter *padapter, unsigned char *pbuf);
drivers/staging/rtl8723bs/include/rtw_cmd.h
616
extern void rtw_survey_cmd_callback(struct adapter *padapter, struct cmd_obj *pcmd);
drivers/staging/rtl8723bs/include/rtw_cmd.h
617
extern void rtw_disassoc_cmd_callback(struct adapter *padapter, struct cmd_obj *pcmd);
drivers/staging/rtl8723bs/include/rtw_cmd.h
618
extern void rtw_joinbss_cmd_callback(struct adapter *padapter, struct cmd_obj *pcmd);
drivers/staging/rtl8723bs/include/rtw_cmd.h
619
extern void rtw_createbss_cmd_callback(struct adapter *padapter, struct cmd_obj *pcmd);
drivers/staging/rtl8723bs/include/rtw_cmd.h
620
extern void rtw_getbbrfreg_cmdrsp_callback(struct adapter *padapter, struct cmd_obj *pcmd);
drivers/staging/rtl8723bs/include/rtw_cmd.h
622
extern void rtw_setstaKey_cmdrsp_callback(struct adapter *padapter, struct cmd_obj *pcmd);
drivers/staging/rtl8723bs/include/rtw_cmd.h
623
extern void rtw_setassocsta_cmdrsp_callback(struct adapter *padapter, struct cmd_obj *pcmd);
drivers/staging/rtl8723bs/include/rtw_cmd.h
624
extern void rtw_getrttbl_cmdrsp_callback(struct adapter *padapter, struct cmd_obj *pcmd);
drivers/staging/rtl8723bs/include/rtw_cmd.h
629
void (*callback)(struct adapter *padapter, struct cmd_obj *cmd);
drivers/staging/rtl8723bs/include/rtw_efuse.h
91
u8 efuse_OneByteRead(struct adapter *padapter, u16 addr, u8 *data);
drivers/staging/rtl8723bs/include/rtw_efuse.h
93
u8 EFUSE_Read1Byte(struct adapter *padapter, u16 Address);
drivers/staging/rtl8723bs/include/rtw_efuse.h
94
void EFUSE_ShadowMapUpdate(struct adapter *padapter, u8 efuseType);
drivers/staging/rtl8723bs/include/rtw_efuse.h
95
void EFUSE_ShadowRead(struct adapter *padapter, u8 Type, u16 Offset, u32 *Value);
drivers/staging/rtl8723bs/include/rtw_efuse.h
96
void Rtw_Hal_ReadMACAddrFromFile(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtw_efuse.h
97
u32 Rtw_Hal_readPGDataFromConfigFile(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtw_event.h
73
void (*event_callback)(struct adapter *dev, u8 *pbuf);
drivers/staging/rtl8723bs/include/rtw_io.h
42
struct adapter *padapter;
drivers/staging/rtl8723bs/include/rtw_io.h
56
struct adapter *padapter;
drivers/staging/rtl8723bs/include/rtw_io.h
62
extern u8 rtw_read8(struct adapter *adapter, u32 addr);
drivers/staging/rtl8723bs/include/rtw_io.h
63
extern u16 rtw_read16(struct adapter *adapter, u32 addr);
drivers/staging/rtl8723bs/include/rtw_io.h
64
extern u32 rtw_read32(struct adapter *adapter, u32 addr);
drivers/staging/rtl8723bs/include/rtw_io.h
66
extern int rtw_write8(struct adapter *adapter, u32 addr, u8 val);
drivers/staging/rtl8723bs/include/rtw_io.h
67
extern int rtw_write16(struct adapter *adapter, u32 addr, u16 val);
drivers/staging/rtl8723bs/include/rtw_io.h
68
extern int rtw_write32(struct adapter *adapter, u32 addr, u32 val);
drivers/staging/rtl8723bs/include/rtw_io.h
70
extern u32 rtw_write_port(struct adapter *adapter, u32 addr, u32 cnt, u8 *pmem);
drivers/staging/rtl8723bs/include/rtw_io.h
72
int rtw_init_io_priv(struct adapter *padapter, void (*set_intf_ops)(struct adapter *padapter, struct _io_ops *pops));
drivers/staging/rtl8723bs/include/rtw_ioctl_set.h
13
u8 rtw_set_802_11_authentication_mode(struct adapter *pdapter, enum ndis_802_11_authentication_mode authmode);
drivers/staging/rtl8723bs/include/rtw_ioctl_set.h
14
u8 rtw_set_802_11_add_wep(struct adapter *padapter, struct ndis_802_11_wep *wep);
drivers/staging/rtl8723bs/include/rtw_ioctl_set.h
15
u8 rtw_set_802_11_disassociate(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtw_ioctl_set.h
16
u8 rtw_set_802_11_bssid_list_scan(struct adapter *padapter, struct ndis_802_11_ssid *pssid, int ssid_max_num);
drivers/staging/rtl8723bs/include/rtw_ioctl_set.h
17
u8 rtw_set_802_11_infrastructure_mode(struct adapter *padapter, enum ndis_802_11_network_infrastructure networktype);
drivers/staging/rtl8723bs/include/rtw_ioctl_set.h
18
u8 rtw_set_802_11_ssid(struct adapter *padapter, struct ndis_802_11_ssid *ssid);
drivers/staging/rtl8723bs/include/rtw_ioctl_set.h
19
u8 rtw_set_802_11_connect(struct adapter *padapter, u8 *bssid, struct ndis_802_11_ssid *ssid);
drivers/staging/rtl8723bs/include/rtw_ioctl_set.h
24
u8 rtw_do_join(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtw_ioctl_set.h
26
u16 rtw_get_cur_max_rate(struct adapter *adapter);
drivers/staging/rtl8723bs/include/rtw_mlme.h
244
void rtw_mlme_reset_auto_scan_int(struct adapter *adapter);
drivers/staging/rtl8723bs/include/rtw_mlme.h
247
struct adapter *padapter;
drivers/staging/rtl8723bs/include/rtw_mlme.h
250
extern int hostapd_mode_init(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtw_mlme.h
251
extern void hostapd_mode_unload(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtw_mlme.h
253
extern void rtw_joinbss_event_prehandle(struct adapter *adapter, u8 *pbuf);
drivers/staging/rtl8723bs/include/rtw_mlme.h
254
extern void rtw_survey_event_callback(struct adapter *adapter, u8 *pbuf);
drivers/staging/rtl8723bs/include/rtw_mlme.h
255
extern void rtw_surveydone_event_callback(struct adapter *adapter, u8 *pbuf);
drivers/staging/rtl8723bs/include/rtw_mlme.h
256
extern void rtw_joinbss_event_callback(struct adapter *adapter, u8 *pbuf);
drivers/staging/rtl8723bs/include/rtw_mlme.h
257
extern void rtw_stassoc_event_callback(struct adapter *adapter, u8 *pbuf);
drivers/staging/rtl8723bs/include/rtw_mlme.h
258
extern void rtw_stadel_event_callback(struct adapter *adapter, u8 *pbuf);
drivers/staging/rtl8723bs/include/rtw_mlme.h
259
extern void rtw_atimdone_event_callback(struct adapter *adapter, u8 *pbuf);
drivers/staging/rtl8723bs/include/rtw_mlme.h
260
extern void rtw_cpwm_event_callback(struct adapter *adapter, u8 *pbuf);
drivers/staging/rtl8723bs/include/rtw_mlme.h
261
extern void rtw_wmm_event_callback(struct adapter *padapter, u8 *pbuf);
drivers/staging/rtl8723bs/include/rtw_mlme.h
268
extern void rtw_free_network_queue(struct adapter *adapter, u8 isfreeall);
drivers/staging/rtl8723bs/include/rtw_mlme.h
269
extern int rtw_init_mlme_priv(struct adapter *adapter);/* (struct mlme_priv *pmlmepriv); */
drivers/staging/rtl8723bs/include/rtw_mlme.h
275
extern signed int rtw_set_key(struct adapter *adapter, struct security_priv *psecuritypriv, signed int keyid, u8 set_tx, bool enqueue);
drivers/staging/rtl8723bs/include/rtw_mlme.h
276
extern signed int rtw_set_auth(struct adapter *adapter, struct security_priv *psecuritypriv);
drivers/staging/rtl8723bs/include/rtw_mlme.h
321
extern void rtw_update_scanned_network(struct adapter *adapter, struct wlan_bssid_ex *target);
drivers/staging/rtl8723bs/include/rtw_mlme.h
322
extern void rtw_disconnect_hdl_under_linked(struct adapter *adapter, struct sta_info *psta, u8 free_assoc);
drivers/staging/rtl8723bs/include/rtw_mlme.h
328
extern void rtw_free_assoc_resources(struct adapter *adapter, int lock_scanned_queue);
drivers/staging/rtl8723bs/include/rtw_mlme.h
329
extern void rtw_indicate_disconnect(struct adapter *adapter);
drivers/staging/rtl8723bs/include/rtw_mlme.h
330
extern void rtw_indicate_connect(struct adapter *adapter);
drivers/staging/rtl8723bs/include/rtw_mlme.h
331
void rtw_indicate_scan_done(struct adapter *padapter, bool aborted);
drivers/staging/rtl8723bs/include/rtw_mlme.h
332
void rtw_scan_abort(struct adapter *adapter);
drivers/staging/rtl8723bs/include/rtw_mlme.h
334
extern int rtw_restruct_sec_ie(struct adapter *adapter, u8 *in_ie, u8 *out_ie, uint in_len);
drivers/staging/rtl8723bs/include/rtw_mlme.h
335
extern int rtw_restruct_wmm_ie(struct adapter *adapter, u8 *in_ie, u8 *out_ie, uint in_len, uint initial_out_len);
drivers/staging/rtl8723bs/include/rtw_mlme.h
336
extern void rtw_init_registrypriv_dev_network(struct adapter *adapter);
drivers/staging/rtl8723bs/include/rtw_mlme.h
338
extern void rtw_update_registrypriv_dev_network(struct adapter *adapter);
drivers/staging/rtl8723bs/include/rtw_mlme.h
343
extern void rtw_dynamic_check_timer_handler(struct adapter *adapter);
drivers/staging/rtl8723bs/include/rtw_mlme.h
344
bool rtw_is_scan_deny(struct adapter *adapter);
drivers/staging/rtl8723bs/include/rtw_mlme.h
345
void rtw_clear_scan_deny(struct adapter *adapter);
drivers/staging/rtl8723bs/include/rtw_mlme.h
346
void rtw_set_scan_deny(struct adapter *adapter, u32 ms);
drivers/staging/rtl8723bs/include/rtw_mlme.h
363
extern signed int rtw_if_up(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtw_mlme.h
365
signed int rtw_linked_check(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtw_mlme.h
371
void rtw_joinbss_reset(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtw_mlme.h
373
void rtw_ht_use_default_setting(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtw_mlme.h
374
void rtw_build_wmm_ie_ht(struct adapter *padapter, u8 *out_ie, uint *pout_len);
drivers/staging/rtl8723bs/include/rtw_mlme.h
375
unsigned int rtw_restructure_ht_ie(struct adapter *padapter, u8 *in_ie, u8 *out_ie, uint in_len, uint *pout_len, u8 channel);
drivers/staging/rtl8723bs/include/rtw_mlme.h
376
void rtw_update_ht_cap(struct adapter *padapter, u8 *pie, uint ie_len, u8 channel);
drivers/staging/rtl8723bs/include/rtw_mlme.h
377
void rtw_issue_addbareq_cmd(struct adapter *padapter, struct xmit_frame *pxmitframe);
drivers/staging/rtl8723bs/include/rtw_mlme.h
378
void rtw_append_exented_cap(struct adapter *padapter, u8 *out_ie, uint *pout_len);
drivers/staging/rtl8723bs/include/rtw_mlme.h
380
int rtw_is_same_ibss(struct adapter *adapter, struct wlan_network *pnetwork);
drivers/staging/rtl8723bs/include/rtw_mlme.h
383
#define rtw_roam_flags(adapter) ((adapter)->mlmepriv.roam_flags)
drivers/staging/rtl8723bs/include/rtw_mlme.h
384
#define rtw_chk_roam_flags(adapter, flags) ((adapter)->mlmepriv.roam_flags & flags)
drivers/staging/rtl8723bs/include/rtw_mlme.h
386
void _rtw_roaming(struct adapter *adapter, struct wlan_network *tgt_network);
drivers/staging/rtl8723bs/include/rtw_mlme.h
387
void rtw_roaming(struct adapter *adapter, struct wlan_network *tgt_network);
drivers/staging/rtl8723bs/include/rtw_mlme.h
388
void rtw_set_to_roam(struct adapter *adapter, u8 to_roam);
drivers/staging/rtl8723bs/include/rtw_mlme.h
389
u8 rtw_dec_to_roam(struct adapter *adapter);
drivers/staging/rtl8723bs/include/rtw_mlme.h
390
u8 rtw_to_roam(struct adapter *adapter);
drivers/staging/rtl8723bs/include/rtw_mlme.h
393
void rtw_sta_media_status_rpt(struct adapter *adapter, struct sta_info *psta, u32 mstatus);
drivers/staging/rtl8723bs/include/rtw_mlme.h
394
void rtw_reset_securitypriv(struct adapter *adapter);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
212
unsigned int (*func)(struct adapter *padapter, union recv_frame *precv_frame);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
218
unsigned int (*func)(struct adapter *padapter, union recv_frame *precv_frame);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
365
struct adapter *padapter;
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
425
void init_mlme_default_rate_set(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
426
void init_mlme_ext_priv(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
427
int init_hw_mlme_ext(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
433
u8 networktype_to_raid_ex(struct adapter *adapter, struct sta_info *psta);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
435
void get_rate_set(struct adapter *padapter, unsigned char *pbssrate, int *bssrate_len);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
437
void update_basic_rate_table(struct adapter *padapter, u8 *mBratesOS);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
440
void Save_DM_Func_Flag(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
441
void Restore_DM_Func_Flag(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
442
void Switch_DM_Func(struct adapter *padapter, u32 mode, u8 enable);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
444
void set_msr(struct adapter *padapter, u8 type);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
446
u8 rtw_get_oper_ch(struct adapter *adapter);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
447
void rtw_set_oper_ch(struct adapter *adapter, u8 ch);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
448
void rtw_set_oper_bw(struct adapter *adapter, u8 bw);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
449
void rtw_set_oper_choffset(struct adapter *adapter, u8 offset);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
451
unsigned long rtw_get_on_cur_ch_time(struct adapter *adapter);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
453
void set_channel_bwmode(struct adapter *padapter, unsigned char channel, unsigned char channel_offset, unsigned short bwmode);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
454
void r8723bs_select_channel(struct adapter *padapter, unsigned char channel);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
459
void _write_cam(struct adapter *padapter, u8 entry, u16 ctrl, u8 *mac, u8 *key);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
460
void _clear_cam_entry(struct adapter *padapter, u8 entry);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
463
void write_cam(struct adapter *padapter, u8 id, u16 ctrl, u8 *mac, u8 *key);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
464
void clear_cam_entry(struct adapter *padapter, u8 id);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
467
void write_cam_cache(struct adapter *adapter, u8 id, u16 ctrl, u8 *mac, u8 *key);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
468
void clear_cam_cache(struct adapter *adapter, u8 id);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
470
void invalidate_cam_all(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
473
int allocate_fw_sta_entry(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
474
void flush_all_cam_entry(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
476
void site_survey(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
477
u8 collect_bss_info(struct adapter *padapter, union recv_frame *precv_frame, struct wlan_bssid_ex *bssid);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
478
void update_network(struct wlan_bssid_ex *dst, struct wlan_bssid_ex *src, struct adapter *padapter, bool update_ie);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
483
int is_client_associated_to_ap(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
484
int is_client_associated_to_ibss(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
485
int is_IBSS_empty(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
489
int WMM_param_handler(struct adapter *padapter, struct ndis_80211_var_ie *pIE);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
490
void WMMOnAssocRsp(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
492
void HT_caps_handler(struct adapter *padapter, struct ndis_80211_var_ie *pIE);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
493
void HT_info_handler(struct adapter *padapter, struct ndis_80211_var_ie *pIE);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
494
void HTOnAssocRsp(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
496
void ERP_IE_handler(struct adapter *padapter, struct ndis_80211_var_ie *pIE);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
497
void VCS_update(struct adapter *padapter, struct sta_info *psta);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
500
void update_beacon_info(struct adapter *padapter, u8 *pframe, uint len, struct sta_info *psta);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
501
int rtw_check_bcn_info(struct adapter *Adapter, u8 *pframe, u32 packet_len);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
502
void update_IOT_info(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
503
void update_capinfo(struct adapter *Adapter, u16 updateCap);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
504
void update_wireless_mode(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
506
int update_sta_support_rate(struct adapter *padapter, u8 *pvar_ie, uint var_ie_len, int cam_idx);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
509
void update_sta_info(struct adapter *padapter, struct sta_info *psta);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
510
void Update_RA_Entry(struct adapter *padapter, struct sta_info *psta);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
511
void set_sta_rate(struct adapter *padapter, struct sta_info *psta);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
513
unsigned int receive_disconnect(struct adapter *padapter, unsigned char *MacAddr, unsigned short reason);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
516
int support_short_GI(struct adapter *padapter, struct HT_caps_element *pHT_caps, u8 bwmode);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
517
unsigned int is_ap_in_tkip(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
519
s16 rtw_camid_search(struct adapter *adapter, u8 *addr, s16 kid);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
520
s16 rtw_camid_alloc(struct adapter *adapter, struct sta_info *sta, u8 kid);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
521
void rtw_camid_free(struct adapter *adapter, u8 cam_id);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
523
extern void rtw_alloc_macid(struct adapter *padapter, struct sta_info *psta);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
524
extern void rtw_release_macid(struct adapter *padapter, struct sta_info *psta);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
526
void report_join_res(struct adapter *padapter, int res);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
527
void report_survey_event(struct adapter *padapter, union recv_frame *precv_frame);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
528
void report_surveydone_event(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
529
void report_del_sta_event(struct adapter *padapter, unsigned char *MacAddr, unsigned short reason);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
530
void report_add_sta_event(struct adapter *padapter, unsigned char *MacAddr, int cam_idx);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
531
void report_wmm_edca_update(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
533
u8 chk_bmc_sleepq_cmd(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
534
extern u8 set_tx_beacon_cmd(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
535
unsigned int setup_beacon_frame(struct adapter *padapter, unsigned char *beacon_frame);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
536
void update_mgnt_tx_rate(struct adapter *padapter, u8 rate);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
537
void update_mgntframe_attrib(struct adapter *padapter, struct pkt_attrib *pattrib);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
538
void update_mgntframe_attrib_addr(struct adapter *padapter, struct xmit_frame *pmgntframe);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
539
void dump_mgntframe(struct adapter *padapter, struct xmit_frame *pmgntframe);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
540
s32 dump_mgntframe_and_wait(struct adapter *padapter, struct xmit_frame *pmgntframe, int timeout_ms);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
541
s32 dump_mgntframe_and_wait_ack(struct adapter *padapter, struct xmit_frame *pmgntframe);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
543
void issue_beacon(struct adapter *padapter, int timeout_ms);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
544
void issue_probersp(struct adapter *padapter, unsigned char *da, u8 is_valid_p2p_probereq);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
545
void issue_assocreq(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
546
void issue_asocrsp(struct adapter *padapter, unsigned short status, struct sta_info *pstat, int pkt_type);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
547
void issue_auth(struct adapter *padapter, struct sta_info *psta, unsigned short status);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
548
void issue_probereq(struct adapter *padapter, struct ndis_802_11_ssid *pssid, u8 *da);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
549
s32 issue_probereq_ex(struct adapter *padapter, struct ndis_802_11_ssid *pssid, u8 *da, u8 ch, bool append_wps, int try_cnt, int wait_ms);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
550
int issue_nulldata(struct adapter *padapter, unsigned char *da, unsigned int power_mode, int try_cnt, int wait_ms);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
551
s32 issue_nulldata_in_interrupt(struct adapter *padapter, u8 *da);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
552
int issue_qos_nulldata(struct adapter *padapter, unsigned char *da, u16 tid, int try_cnt, int wait_ms);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
553
int issue_deauth(struct adapter *padapter, unsigned char *da, unsigned short reason);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
554
int issue_deauth_ex(struct adapter *padapter, u8 *da, unsigned short reason, int try_cnt, int wait_ms);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
555
void issue_action_BA(struct adapter *padapter, unsigned char *raddr, unsigned char action, unsigned short status);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
556
void issue_action_SA_Query(struct adapter *padapter, unsigned char *raddr, unsigned char action, unsigned short tid);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
557
unsigned int send_delba(struct adapter *padapter, u8 initiator, u8 *addr);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
558
unsigned int send_beacon(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
560
void start_clnt_assoc(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
561
void start_clnt_auth(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
562
void start_clnt_join(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
563
void start_create_ibss(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
565
unsigned int OnAssocReq(struct adapter *padapter, union recv_frame *precv_frame);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
566
unsigned int OnAssocRsp(struct adapter *padapter, union recv_frame *precv_frame);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
567
unsigned int OnProbeReq(struct adapter *padapter, union recv_frame *precv_frame);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
568
unsigned int OnProbeRsp(struct adapter *padapter, union recv_frame *precv_frame);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
569
unsigned int DoReserved(struct adapter *padapter, union recv_frame *precv_frame);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
570
unsigned int OnBeacon(struct adapter *padapter, union recv_frame *precv_frame);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
571
unsigned int OnAtim(struct adapter *padapter, union recv_frame *precv_frame);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
572
unsigned int OnDisassoc(struct adapter *padapter, union recv_frame *precv_frame);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
573
unsigned int OnAuth(struct adapter *padapter, union recv_frame *precv_frame);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
574
unsigned int OnAuthClient(struct adapter *padapter, union recv_frame *precv_frame);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
575
unsigned int OnDeAuth(struct adapter *padapter, union recv_frame *precv_frame);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
576
unsigned int OnAction(struct adapter *padapter, union recv_frame *precv_frame);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
578
unsigned int on_action_spct(struct adapter *padapter, union recv_frame *precv_frame);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
579
unsigned int OnAction_back(struct adapter *padapter, union recv_frame *precv_frame);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
580
unsigned int on_action_public(struct adapter *padapter, union recv_frame *precv_frame);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
581
unsigned int OnAction_ht(struct adapter *padapter, union recv_frame *precv_frame);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
582
unsigned int OnAction_sa_query(struct adapter *padapter, union recv_frame *precv_frame);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
584
void mlmeext_joinbss_event_callback(struct adapter *padapter, int join_res);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
585
void mlmeext_sta_del_event_callback(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
586
void mlmeext_sta_add_event_callback(struct adapter *padapter, struct sta_info *psta);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
588
void linked_status_chk(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
590
void _linked_info_dump(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
613
extern void process_addba_req(struct adapter *padapter, u8 *paddba_req, u8 *addr);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
616
extern void correct_TSF(struct adapter *padapter, struct mlme_ext_priv *pmlmeext);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
618
extern u8 traffic_status_watchdog(struct adapter *padapter, u8 from_timer);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
620
int rtw_chk_start_clnt_join(struct adapter *padapter, u8 *ch, u8 *bw, u8 *offset);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
624
u8 (*h2cfuns)(struct adapter *padapter, u8 *pbuf);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
628
u8 read_macreg_hdl(struct adapter *padapter, u8 *pbuf);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
629
u8 write_macreg_hdl(struct adapter *padapter, u8 *pbuf);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
630
u8 read_bbreg_hdl(struct adapter *padapter, u8 *pbuf);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
631
u8 write_bbreg_hdl(struct adapter *padapter, u8 *pbuf);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
632
u8 read_rfreg_hdl(struct adapter *padapter, u8 *pbuf);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
633
u8 write_rfreg_hdl(struct adapter *padapter, u8 *pbuf);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
636
u8 NULL_hdl(struct adapter *padapter, u8 *pbuf);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
637
u8 join_cmd_hdl(struct adapter *padapter, u8 *pbuf);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
638
u8 disconnect_hdl(struct adapter *padapter, u8 *pbuf);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
639
u8 createbss_hdl(struct adapter *padapter, u8 *pbuf);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
640
u8 setopmode_hdl(struct adapter *padapter, u8 *pbuf);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
641
u8 sitesurvey_cmd_hdl(struct adapter *padapter, u8 *pbuf);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
642
u8 setauth_hdl(struct adapter *padapter, u8 *pbuf);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
643
u8 setkey_hdl(struct adapter *padapter, u8 *pbuf);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
644
u8 set_stakey_hdl(struct adapter *padapter, u8 *pbuf);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
645
u8 set_assocsta_hdl(struct adapter *padapter, u8 *pbuf);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
646
u8 del_assocsta_hdl(struct adapter *padapter, u8 *pbuf);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
647
u8 add_ba_hdl(struct adapter *padapter, unsigned char *pbuf);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
649
u8 mlme_evt_hdl(struct adapter *padapter, unsigned char *pbuf);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
650
u8 h2c_msg_hdl(struct adapter *padapter, unsigned char *pbuf);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
651
u8 chk_bmc_sleepq_hdl(struct adapter *padapter, unsigned char *pbuf);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
652
u8 tx_beacon_hdl(struct adapter *padapter, unsigned char *pbuf);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
653
u8 set_ch_hdl(struct adapter *padapter, u8 *pbuf);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
654
u8 set_chplan_hdl(struct adapter *padapter, unsigned char *pbuf);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
655
u8 set_csa_hdl(struct adapter *padapter, unsigned char *pbuf); /* Kurt: Handling DFS channel switch announcement ie. */
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
656
u8 tdls_hdl(struct adapter *padapter, unsigned char *pbuf);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
657
u8 run_in_thread_hdl(struct adapter *padapter, u8 *pbuf);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
678
void rtw_dummy_event_callback(struct adapter *adapter, u8 *pbuf);
drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
679
void rtw_fwdbg_event_callback(struct adapter *adapter, u8 *pbuf);
drivers/staging/rtl8723bs/include/rtw_pwrctrl.h
188
struct adapter *adapter;
drivers/staging/rtl8723bs/include/rtw_pwrctrl.h
215
extern void rtw_init_pwrctrl_priv(struct adapter *adapter);
drivers/staging/rtl8723bs/include/rtw_pwrctrl.h
216
extern void rtw_free_pwrctrl_priv(struct adapter *adapter);
drivers/staging/rtl8723bs/include/rtw_pwrctrl.h
218
s32 rtw_register_task_alive(struct adapter *, u32 task);
drivers/staging/rtl8723bs/include/rtw_pwrctrl.h
219
void rtw_unregister_task_alive(struct adapter *, u32 task);
drivers/staging/rtl8723bs/include/rtw_pwrctrl.h
220
extern s32 rtw_register_tx_alive(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtw_pwrctrl.h
221
extern void rtw_unregister_tx_alive(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtw_pwrctrl.h
222
extern s32 rtw_register_cmd_alive(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtw_pwrctrl.h
223
extern void rtw_unregister_cmd_alive(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtw_pwrctrl.h
224
extern void cpwm_int_hdl(struct adapter *padapter, struct reportpwrstate_parm *preportpwrstate);
drivers/staging/rtl8723bs/include/rtw_pwrctrl.h
225
extern void LPS_Leave_check(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtw_pwrctrl.h
227
extern void LeaveAllPowerSaveMode(struct adapter *Adapter);
drivers/staging/rtl8723bs/include/rtw_pwrctrl.h
228
extern void LeaveAllPowerSaveModeDirect(struct adapter *Adapter);
drivers/staging/rtl8723bs/include/rtw_pwrctrl.h
229
void _ips_enter(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtw_pwrctrl.h
230
void ips_enter(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtw_pwrctrl.h
231
int _ips_leave(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtw_pwrctrl.h
232
int ips_leave(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtw_pwrctrl.h
234
void rtw_ps_processor(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtw_pwrctrl.h
236
s32 LPS_RF_ON_check(struct adapter *padapter, u32 delay_ms);
drivers/staging/rtl8723bs/include/rtw_pwrctrl.h
237
void LPS_Enter(struct adapter *padapter, const char *msg);
drivers/staging/rtl8723bs/include/rtw_pwrctrl.h
238
void LPS_Leave(struct adapter *padapter, const char *msg);
drivers/staging/rtl8723bs/include/rtw_pwrctrl.h
239
void traffic_check_for_leave_lps(struct adapter *padapter, u8 tx, u32 tx_packets);
drivers/staging/rtl8723bs/include/rtw_pwrctrl.h
240
void rtw_set_ps_mode(struct adapter *padapter, u8 ps_mode, u8 smart_ps, u8 bcn_ant_mode, const char *msg);
drivers/staging/rtl8723bs/include/rtw_pwrctrl.h
241
void rtw_set_rpwm(struct adapter *padapter, u8 val8);
drivers/staging/rtl8723bs/include/rtw_pwrctrl.h
243
void rtw_set_ips_deny(struct adapter *padapter, u32 ms);
drivers/staging/rtl8723bs/include/rtw_pwrctrl.h
244
int _rtw_pwr_wakeup(struct adapter *padapter, u32 ips_deffer_ms, const char *caller);
drivers/staging/rtl8723bs/include/rtw_pwrctrl.h
245
#define rtw_pwr_wakeup(adapter) _rtw_pwr_wakeup(adapter, RTW_PWR_STATE_CHK_INTERVAL, __func__)
drivers/staging/rtl8723bs/include/rtw_pwrctrl.h
246
#define rtw_pwr_wakeup_ex(adapter, ips_deffer_ms) _rtw_pwr_wakeup(adapter, ips_deffer_ms, __func__)
drivers/staging/rtl8723bs/include/rtw_pwrctrl.h
247
int rtw_pm_set_ips(struct adapter *padapter, u8 mode);
drivers/staging/rtl8723bs/include/rtw_pwrctrl.h
248
int rtw_pm_set_lps(struct adapter *padapter, u8 mode);
drivers/staging/rtl8723bs/include/rtw_pwrctrl.h
250
void rtw_ps_deny(struct adapter *padapter, enum ps_deny_reason reason);
drivers/staging/rtl8723bs/include/rtw_pwrctrl.h
251
void rtw_ps_deny_cancel(struct adapter *padapter, enum ps_deny_reason reason);
drivers/staging/rtl8723bs/include/rtw_pwrctrl.h
252
u32 rtw_ps_deny_get(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtw_recv.h
180
struct adapter *adapter;
drivers/staging/rtl8723bs/include/rtw_recv.h
249
struct adapter *adapter;
drivers/staging/rtl8723bs/include/rtw_recv.h
285
struct adapter *adapter;
drivers/staging/rtl8723bs/include/rtw_recv.h
30
struct adapter *padapter;
drivers/staging/rtl8723bs/include/rtw_recv.h
337
u32 rtw_free_uc_swdec_pending_queue(struct adapter *adapter);
drivers/staging/rtl8723bs/include/rtw_recv.h
345
signed int _rtw_init_recv_priv(struct recv_priv *precvpriv, struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtw_recv.h
455
extern void mgt_dispatcher(struct adapter *padapter, union recv_frame *precv_frame);
drivers/staging/rtl8723bs/include/rtw_security.h
260
u32 rtw_aes_encrypt(struct adapter *padapter, u8 *pxmitframe);
drivers/staging/rtl8723bs/include/rtw_security.h
261
u32 rtw_tkip_encrypt(struct adapter *padapter, u8 *pxmitframe);
drivers/staging/rtl8723bs/include/rtw_security.h
262
void rtw_wep_encrypt(struct adapter *padapter, u8 *pxmitframe);
drivers/staging/rtl8723bs/include/rtw_security.h
264
u32 rtw_aes_decrypt(struct adapter *padapter, u8 *precvframe);
drivers/staging/rtl8723bs/include/rtw_security.h
265
u32 rtw_tkip_decrypt(struct adapter *padapter, u8 *precvframe);
drivers/staging/rtl8723bs/include/rtw_security.h
266
void rtw_wep_decrypt(struct adapter *padapter, u8 *precvframe);
drivers/staging/rtl8723bs/include/rtw_security.h
267
u32 rtw_BIP_verify(struct adapter *padapter, u8 *precvframe);
drivers/staging/rtl8723bs/include/rtw_security.h
269
void rtw_sec_restore_wep_key(struct adapter *adapter);
drivers/staging/rtl8723bs/include/rtw_security.h
270
u8 rtw_handle_tkip_countermeasure(struct adapter *adapter, const char *caller);
drivers/staging/rtl8723bs/include/rtw_xmit.h
234
struct adapter *padapter;
drivers/staging/rtl8723bs/include/rtw_xmit.h
274
struct adapter *padapter;
drivers/staging/rtl8723bs/include/rtw_xmit.h
376
struct adapter *adapter;
drivers/staging/rtl8723bs/include/rtw_xmit.h
430
void rtw_count_tx_stats(struct adapter *padapter, struct xmit_frame *pxmitframe, int sz);
drivers/staging/rtl8723bs/include/rtw_xmit.h
431
extern void rtw_update_protection(struct adapter *padapter, u8 *ie, uint ie_len);
drivers/staging/rtl8723bs/include/rtw_xmit.h
432
extern s32 rtw_make_wlanhdr(struct adapter *padapter, u8 *hdr, struct pkt_attrib *pattrib);
drivers/staging/rtl8723bs/include/rtw_xmit.h
440
struct tx_servq *rtw_get_sta_pending(struct adapter *padapter, struct sta_info *psta, signed int up, u8 *ac);
drivers/staging/rtl8723bs/include/rtw_xmit.h
441
extern s32 rtw_xmitframe_enqueue(struct adapter *padapter, struct xmit_frame *pxmitframe);
drivers/staging/rtl8723bs/include/rtw_xmit.h
443
extern s32 rtw_xmit_classifier(struct adapter *padapter, struct xmit_frame *pxmitframe);
drivers/staging/rtl8723bs/include/rtw_xmit.h
446
extern s32 rtw_xmitframe_coalesce(struct adapter *padapter, struct sk_buff *pkt, struct xmit_frame *pxmitframe);
drivers/staging/rtl8723bs/include/rtw_xmit.h
447
extern s32 rtw_mgmt_xmitframe_coalesce(struct adapter *padapter, struct sk_buff *pkt, struct xmit_frame *pxmitframe);
drivers/staging/rtl8723bs/include/rtw_xmit.h
452
s32 rtw_txframes_pending(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtw_xmit.h
456
s32 _rtw_init_xmit_priv(struct xmit_priv *pxmitpriv, struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtw_xmit.h
460
s32 rtw_alloc_hwxmits(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtw_xmit.h
461
void rtw_free_hwxmits(struct adapter *padapter);
drivers/staging/rtl8723bs/include/rtw_xmit.h
464
s32 rtw_xmit(struct adapter *padapter, struct sk_buff **pkt);
drivers/staging/rtl8723bs/include/rtw_xmit.h
467
signed int xmitframe_enqueue_for_sleeping_sta(struct adapter *padapter, struct xmit_frame *pxmitframe);
drivers/staging/rtl8723bs/include/rtw_xmit.h
468
void stop_sta_xmit(struct adapter *padapter, struct sta_info *psta);
drivers/staging/rtl8723bs/include/rtw_xmit.h
469
void wakeup_sta_to_xmit(struct adapter *padapter, struct sta_info *psta);
drivers/staging/rtl8723bs/include/rtw_xmit.h
470
void xmit_delivery_enabled_frames(struct adapter *padapter, struct sta_info *psta);
drivers/staging/rtl8723bs/include/sdio_hal.h
10
u8 sd_int_isr(struct adapter *padapter);
drivers/staging/rtl8723bs/include/sdio_hal.h
11
void sd_int_dpc(struct adapter *padapter);
drivers/staging/rtl8723bs/include/sdio_hal.h
12
void rtw_set_hal_ops(struct adapter *padapter);
drivers/staging/rtl8723bs/include/sdio_ops.h
13
extern void sdio_set_intf_ops(struct adapter *padapter, struct _io_ops *pops);
drivers/staging/rtl8723bs/include/sdio_ops.h
17
extern u8 SdioLocalCmd52Read1Byte(struct adapter *padapter, u32 addr);
drivers/staging/rtl8723bs/include/sdio_ops.h
18
extern void SdioLocalCmd52Write1Byte(struct adapter *padapter, u32 addr, u8 v);
drivers/staging/rtl8723bs/include/sdio_ops.h
19
extern s32 sdio_local_read(struct adapter *padapter, u32 addr, u32 cnt, u8 *pbuf);
drivers/staging/rtl8723bs/include/sdio_ops.h
20
extern s32 sdio_local_write(struct adapter *padapter, u32 addr, u32 cnt, u8 *pbuf);
drivers/staging/rtl8723bs/include/sdio_ops.h
22
u32 _sdio_read32(struct adapter *padapter, u32 addr);
drivers/staging/rtl8723bs/include/sdio_ops.h
23
s32 _sdio_write32(struct adapter *padapter, u32 addr, u32 val);
drivers/staging/rtl8723bs/include/sdio_ops.h
25
extern void sd_int_hdl(struct adapter *padapter);
drivers/staging/rtl8723bs/include/sdio_ops.h
26
extern u8 CheckIPSStatus(struct adapter *padapter);
drivers/staging/rtl8723bs/include/sdio_ops.h
28
extern void InitInterrupt8723BSdio(struct adapter *padapter);
drivers/staging/rtl8723bs/include/sdio_ops.h
29
extern void InitSysInterrupt8723BSdio(struct adapter *padapter);
drivers/staging/rtl8723bs/include/sdio_ops.h
30
extern void EnableInterrupt8723BSdio(struct adapter *padapter);
drivers/staging/rtl8723bs/include/sdio_ops.h
31
extern void DisableInterrupt8723BSdio(struct adapter *padapter);
drivers/staging/rtl8723bs/include/sdio_ops.h
32
extern u8 HalQueryTxBufferStatus8723BSdio(struct adapter *padapter);
drivers/staging/rtl8723bs/include/sdio_ops.h
33
extern void HalQueryTxOQTBufferStatus8723BSdio(struct adapter *padapter);
drivers/staging/rtl8723bs/include/sta_info.h
269
struct adapter *padapter;
drivers/staging/rtl8723bs/include/sta_info.h
323
extern u32 rtw_free_stainfo(struct adapter *padapter, struct sta_info *psta);
drivers/staging/rtl8723bs/include/sta_info.h
324
extern void rtw_free_all_stainfo(struct adapter *padapter);
drivers/staging/rtl8723bs/include/sta_info.h
326
extern u32 rtw_init_bcmc_stainfo(struct adapter *padapter);
drivers/staging/rtl8723bs/include/sta_info.h
327
extern struct sta_info *rtw_get_bcmc_stainfo(struct adapter *padapter);
drivers/staging/rtl8723bs/include/sta_info.h
328
extern u8 rtw_access_ctrl(struct adapter *padapter, u8 *mac_addr);
drivers/staging/rtl8723bs/include/sta_info.h
75
struct adapter *padapter;
drivers/staging/rtl8723bs/include/xmit_osdep.h
31
void rtw_os_xmit_schedule(struct adapter *padapter);
drivers/staging/rtl8723bs/include/xmit_osdep.h
33
int rtw_os_xmit_resource_alloc(struct adapter *padapter, struct xmit_buf *pxmitbuf, u32 alloc_sz, u8 flag);
drivers/staging/rtl8723bs/include/xmit_osdep.h
34
void rtw_os_xmit_resource_free(struct adapter *padapter, struct xmit_buf *pxmitbuf, u32 free_sz, u8 flag);
drivers/staging/rtl8723bs/include/xmit_osdep.h
41
extern void rtw_os_pkt_complete(struct adapter *padapter, struct sk_buff *pkt);
drivers/staging/rtl8723bs/include/xmit_osdep.h
42
extern void rtw_os_xmit_complete(struct adapter *padapter, struct xmit_frame *pxframe);
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
1029
struct adapter *padapter = rtw_netdev_priv(ndev);
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
1088
void rtw_cfg80211_indicate_scan_done(struct adapter *adapter, bool aborted)
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
1090
struct rtw_wdev_priv *pwdev_priv = adapter_wdev_data(adapter);
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
1106
void rtw_cfg80211_unlink_bss(struct adapter *padapter, struct wlan_network *pnetwork)
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
1125
void rtw_cfg80211_surveydone_event_callback(struct adapter *padapter)
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
1150
static int rtw_cfg80211_set_probe_req_wpsp2pie(struct adapter *padapter, char *buf, int len)
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
1192
struct adapter *padapter;
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
1412
static int rtw_cfg80211_set_wpa_ie(struct adapter *padapter, u8 *pie, size_t ielen)
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
1548
struct adapter *padapter = rtw_netdev_priv(ndev);
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
1598
struct adapter *padapter = rtw_netdev_priv(ndev);
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
1631
struct adapter *padapter = rtw_netdev_priv(ndev);
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
1781
struct adapter *padapter = rtw_netdev_priv(ndev);
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
1814
inline bool rtw_cfg80211_pwr_mgmt(struct adapter *adapter)
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
1816
struct rtw_wdev_priv *rtw_wdev_priv = adapter_wdev_data(adapter);
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
1825
struct adapter *padapter = rtw_netdev_priv(ndev);
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
1841
struct adapter *padapter = rtw_netdev_priv(ndev);
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
1878
struct adapter *padapter = rtw_netdev_priv(ndev);
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
1904
struct adapter *padapter = rtw_netdev_priv(ndev);
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
1913
void rtw_cfg80211_indicate_sta_assoc(struct adapter *padapter, u8 *pmgmt_frame, uint frame_len)
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
1933
void rtw_cfg80211_indicate_sta_disassoc(struct adapter *padapter, unsigned char *da, unsigned short reason)
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
1940
static u8 rtw_get_chan_type(struct adapter *adapter)
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
1942
struct mlme_ext_priv *mlme_ext = &adapter->mlmeextpriv;
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
1946
if (is_supported_ht(adapter->registrypriv.wireless_mode))
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
1966
struct adapter *adapter = wiphy_to_adapter(wiphy);
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
1967
struct registry_priv *registrypriv = &adapter->registrypriv;
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
1973
if (!adapter->rtw_wdev)
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
1976
channel = rtw_get_oper_ch(adapter);
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
1982
chan = ieee80211_get_channel(adapter->rtw_wdev->wiphy, freq);
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
1985
chan_type = rtw_get_chan_type(adapter);
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
2006
struct adapter *padapter = rtw_netdev_priv(ndev);
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
210
struct cfg80211_bss *rtw_cfg80211_inform_bss(struct adapter *padapter, struct wlan_network *pnetwork)
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
2112
static int rtw_cfg80211_add_monitor_if(struct adapter *padapter, char *name, struct net_device **ndev)
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
2145
pnpi->sizeof_priv = sizeof(struct adapter);
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
2189
struct adapter *padapter = wiphy_to_adapter(wiphy);
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
2223
struct adapter *adapter;
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
2231
adapter = rtw_netdev_priv(ndev);
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
2232
pwdev_priv = adapter_wdev_data(adapter);
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
2245
static int rtw_add_beacon(struct adapter *adapter, const u8 *head, size_t head_len, const u8 *tail, size_t tail_len)
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
2250
struct mlme_priv *pmlmepriv = &(adapter->mlmepriv);
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
2274
if (rtw_check_beacon_data(adapter, pbuf, len) == _SUCCESS)
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
2288
struct adapter *adapter = rtw_netdev_priv(ndev);
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
2290
ret = rtw_add_beacon(adapter, settings->beacon.head,
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
2294
adapter->mlmeextpriv.mlmext_info.hidden_ssid_mode = settings->hidden_ssid;
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
2297
struct wlan_bssid_ex *pbss_network = &adapter->mlmepriv.cur_network.network;
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
2298
struct wlan_bssid_ex *pbss_network_ext = &adapter->mlmeextpriv.mlmext_info.network;
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
2312
struct adapter *adapter = rtw_netdev_priv(ndev);
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
2314
return rtw_add_beacon(adapter, info->beacon.head,
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
2340
struct adapter *padapter = rtw_netdev_priv(ndev);
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
2424
struct adapter *padapter = rtw_netdev_priv(ndev);
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
2443
void rtw_cfg80211_rx_action(struct adapter *adapter, u8 *frame, uint frame_len, const char *msg)
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
2449
channel = rtw_get_oper_ch(adapter);
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
2455
rtw_cfg80211_rx_mgmt(adapter, freq, 0, frame, frame_len, GFP_ATOMIC);
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
2458
static int _cfg80211_rtw_mgmt_tx(struct adapter *padapter, u8 tx_ch, const u8 *buf, size_t len)
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
2536
struct adapter *padapter;
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
2609
void rtw_cfg80211_init_wiphy(struct adapter *padapter)
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
2625
static void rtw_cfg80211_preinit_wiphy(struct adapter *padapter, struct wiphy *wiphy)
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
2703
int rtw_wdev_alloc(struct adapter *padapter, struct device *dev)
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
2712
wiphy = wiphy_new(&rtw_cfg80211_ops, sizeof(struct adapter *));
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
2718
*((struct adapter **)wiphy_priv(wiphy)) = padapter;
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
2789
struct adapter *adapter;
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
2798
adapter = rtw_netdev_priv(ndev);
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
2799
pwdev_priv = adapter_wdev_data(adapter);
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
2801
rtw_cfg80211_indicate_scan_done(adapter, true);
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
336
int rtw_cfg80211_check_bss(struct adapter *padapter)
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
359
void rtw_cfg80211_ibss_indicate_connect(struct adapter *padapter)
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
401
void rtw_cfg80211_indicate_connect(struct adapter *padapter)
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
471
void rtw_cfg80211_indicate_disconnect(struct adapter *padapter)
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
501
struct adapter *padapter = rtw_netdev_priv(dev);
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
702
struct adapter *padapter = rtw_netdev_priv(dev);
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
842
struct adapter *padapter = rtw_netdev_priv(ndev);
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
925
struct adapter *padapter = rtw_netdev_priv(ndev);
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
941
struct adapter *padapter = rtw_netdev_priv(ndev);
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
968
struct adapter *padapter = rtw_netdev_priv(ndev);
drivers/staging/rtl8723bs/os_dep/os_intfs.c
1023
static int rtw_suspend_free_assoc_resource(struct adapter *padapter)
drivers/staging/rtl8723bs/os_dep/os_intfs.c
1060
static void rtw_suspend_normal(struct adapter *padapter)
drivers/staging/rtl8723bs/os_dep/os_intfs.c
1083
void rtw_suspend_common(struct adapter *padapter)
drivers/staging/rtl8723bs/os_dep/os_intfs.c
1123
static int rtw_resume_process_normal(struct adapter *padapter)
drivers/staging/rtl8723bs/os_dep/os_intfs.c
1177
int rtw_resume_common(struct adapter *padapter)
drivers/staging/rtl8723bs/os_dep/os_intfs.c
179
static void loadparam(struct adapter *padapter, struct net_device *pnetdev)
drivers/staging/rtl8723bs/os_dep/os_intfs.c
275
struct adapter *padapter = rtw_netdev_priv(pnetdev);
drivers/staging/rtl8723bs/os_dep/os_intfs.c
290
struct adapter *padapter = rtw_netdev_priv(pnetdev);
drivers/staging/rtl8723bs/os_dep/os_intfs.c
342
struct adapter *padapter = rtw_netdev_priv(dev);
drivers/staging/rtl8723bs/os_dep/os_intfs.c
382
struct adapter *adapter = rtw_netdev_priv(dev);
drivers/staging/rtl8723bs/os_dep/os_intfs.c
384
netdev_dbg(dev, FUNC_ADPT_FMT "\n", FUNC_ADPT_ARG(adapter));
drivers/staging/rtl8723bs/os_dep/os_intfs.c
385
strscpy(adapter->old_ifname, dev->name);
drivers/staging/rtl8723bs/os_dep/os_intfs.c
392
struct adapter *adapter = rtw_netdev_priv(dev);
drivers/staging/rtl8723bs/os_dep/os_intfs.c
394
netdev_dbg(dev, FUNC_ADPT_FMT "\n", FUNC_ADPT_ARG(adapter));
drivers/staging/rtl8723bs/os_dep/os_intfs.c
420
struct net_device *rtw_init_netdev(struct adapter *old_padapter)
drivers/staging/rtl8723bs/os_dep/os_intfs.c
422
struct adapter *padapter;
drivers/staging/rtl8723bs/os_dep/os_intfs.c
426
pnetdev = rtw_alloc_etherdev_with_old_priv(sizeof(struct adapter), (void *)old_padapter);
drivers/staging/rtl8723bs/os_dep/os_intfs.c
428
pnetdev = rtw_alloc_etherdev(sizeof(struct adapter));
drivers/staging/rtl8723bs/os_dep/os_intfs.c
452
struct adapter *padapter = NULL;
drivers/staging/rtl8723bs/os_dep/os_intfs.c
467
u32 rtw_start_drv_threads(struct adapter *padapter)
drivers/staging/rtl8723bs/os_dep/os_intfs.c
491
void rtw_stop_drv_threads(struct adapter *padapter)
drivers/staging/rtl8723bs/os_dep/os_intfs.c
507
static void rtw_init_default_value(struct adapter *padapter)
drivers/staging/rtl8723bs/os_dep/os_intfs.c
606
void rtw_reset_drv_sw(struct adapter *padapter)
drivers/staging/rtl8723bs/os_dep/os_intfs.c
638
u8 rtw_init_drv_sw(struct adapter *padapter)
drivers/staging/rtl8723bs/os_dep/os_intfs.c
702
void rtw_cancel_all_timer(struct adapter *padapter)
drivers/staging/rtl8723bs/os_dep/os_intfs.c
718
u8 rtw_free_drv_sw(struct adapter *padapter)
drivers/staging/rtl8723bs/os_dep/os_intfs.c
753
static int _rtw_drv_register_netdev(struct adapter *padapter, char *name)
drivers/staging/rtl8723bs/os_dep/os_intfs.c
781
int rtw_drv_register_netdev(struct adapter *if1)
drivers/staging/rtl8723bs/os_dep/os_intfs.c
784
struct adapter *padapter = dvobj->padapters;
drivers/staging/rtl8723bs/os_dep/os_intfs.c
793
struct adapter *padapter = rtw_netdev_priv(pnetdev);
drivers/staging/rtl8723bs/os_dep/os_intfs.c
850
struct adapter *padapter = rtw_netdev_priv(pnetdev);
drivers/staging/rtl8723bs/os_dep/os_intfs.c
865
static int ips_netdrv_open(struct adapter *padapter)
drivers/staging/rtl8723bs/os_dep/os_intfs.c
893
int rtw_ips_pwr_up(struct adapter *padapter)
drivers/staging/rtl8723bs/os_dep/os_intfs.c
898
void rtw_ips_pwr_down(struct adapter *padapter)
drivers/staging/rtl8723bs/os_dep/os_intfs.c
907
void rtw_ips_dev_unload(struct adapter *padapter)
drivers/staging/rtl8723bs/os_dep/os_intfs.c
917
struct adapter *padapter = rtw_netdev_priv(pnetdev);
drivers/staging/rtl8723bs/os_dep/os_intfs.c
933
struct adapter *padapter = rtw_netdev_priv(pnetdev);
drivers/staging/rtl8723bs/os_dep/os_intfs.c
973
void rtw_dev_unload(struct adapter *padapter)
drivers/staging/rtl8723bs/os_dep/sdio_intf.c
200
void rtw_set_hal_ops(struct adapter *padapter)
drivers/staging/rtl8723bs/os_dep/sdio_intf.c
206
static void sd_intf_start(struct adapter *padapter)
drivers/staging/rtl8723bs/os_dep/sdio_intf.c
215
static void sd_intf_stop(struct adapter *padapter)
drivers/staging/rtl8723bs/os_dep/sdio_intf.c
225
static struct adapter *rtw_sdio_if1_init(struct dvobj_priv *dvobj, const struct sdio_device_id *pdid)
drivers/staging/rtl8723bs/os_dep/sdio_intf.c
229
struct adapter *padapter = NULL;
drivers/staging/rtl8723bs/os_dep/sdio_intf.c
315
static void rtw_sdio_if1_deinit(struct adapter *if1)
drivers/staging/rtl8723bs/os_dep/sdio_intf.c
349
struct adapter *if1 = NULL;
drivers/staging/rtl8723bs/os_dep/sdio_intf.c
385
struct adapter *padapter = dvobj->if1;
drivers/staging/rtl8723bs/os_dep/sdio_intf.c
421
struct adapter *padapter = psdpriv->if1;
drivers/staging/rtl8723bs/os_dep/sdio_intf.c
434
static int rtw_resume_process(struct adapter *padapter)
drivers/staging/rtl8723bs/os_dep/sdio_intf.c
448
struct adapter *padapter = psdpriv->if1;
drivers/staging/rtl8723bs/os_dep/sdio_ops_linux.c
129
struct adapter *padapter;
drivers/staging/rtl8723bs/os_dep/sdio_ops_linux.c
157
struct adapter *padapter;
drivers/staging/rtl8723bs/os_dep/sdio_ops_linux.c
185
struct adapter *padapter;
drivers/staging/rtl8723bs/os_dep/sdio_ops_linux.c
238
struct adapter *padapter;
drivers/staging/rtl8723bs/os_dep/sdio_ops_linux.c
263
struct adapter *padapter;
drivers/staging/rtl8723bs/os_dep/sdio_ops_linux.c
328
struct adapter *padapter;
drivers/staging/rtl8723bs/os_dep/sdio_ops_linux.c
34
struct adapter *padapter;
drivers/staging/rtl8723bs/os_dep/sdio_ops_linux.c
377
struct adapter *padapter;
drivers/staging/rtl8723bs/os_dep/sdio_ops_linux.c
420
struct adapter *padapter;
drivers/staging/rtl8723bs/os_dep/sdio_ops_linux.c
472
struct adapter *padapter;
drivers/staging/rtl8723bs/os_dep/sdio_ops_linux.c
65
struct adapter *padapter;
drivers/staging/rtl8723bs/os_dep/sdio_ops_linux.c
98
struct adapter *padapter;
drivers/staging/rtl8723bs/os_dep/wifi_regd.c
46
struct adapter *padapter = wiphy_to_adapter(wiphy);
drivers/staging/rtl8723bs/os_dep/xmit_linux.c
107
static void rtw_check_xmit_resource(struct adapter *padapter, struct sk_buff *pkt)
drivers/staging/rtl8723bs/os_dep/xmit_linux.c
125
static int rtw_mlcst2unicst(struct adapter *padapter, struct sk_buff *skb)
drivers/staging/rtl8723bs/os_dep/xmit_linux.c
186
struct adapter *padapter = rtw_netdev_priv(pnetdev);
drivers/staging/rtl8723bs/os_dep/xmit_linux.c
49
int rtw_os_xmit_resource_alloc(struct adapter *padapter, struct xmit_buf *pxmitbuf, u32 alloc_sz, u8 flag)
drivers/staging/rtl8723bs/os_dep/xmit_linux.c
62
void rtw_os_xmit_resource_free(struct adapter *padapter, struct xmit_buf *pxmitbuf, u32 free_sz, u8 flag)
drivers/staging/rtl8723bs/os_dep/xmit_linux.c
70
void rtw_os_pkt_complete(struct adapter *padapter, struct sk_buff *pkt)
drivers/staging/rtl8723bs/os_dep/xmit_linux.c
88
void rtw_os_xmit_complete(struct adapter *padapter, struct xmit_frame *pxframe)
drivers/staging/rtl8723bs/os_dep/xmit_linux.c
96
void rtw_os_xmit_schedule(struct adapter *padapter)
drivers/staging/rtl8723bs/os_dep/xmit_linux.c
98
struct adapter *pri_adapter = padapter;
drivers/tee/optee/rpc.c
102
ret = i2c_transfer(adapter, &msg, 1);
drivers/tee/optee/rpc.c
115
i2c_put_adapter(adapter);
drivers/tee/optee/rpc.c
42
struct i2c_adapter *adapter;
drivers/tee/optee/rpc.c
73
adapter = i2c_get_adapter(params[0].u.value.b);
drivers/tee/optee/rpc.c
74
if (!adapter)
drivers/tee/optee/rpc.c
78
if (!i2c_check_functionality(adapter,
drivers/tee/optee/rpc.c
80
i2c_put_adapter(adapter);
drivers/tee/optee/rpc.c
98
i2c_put_adapter(adapter);
drivers/tty/serial/icom.c
1313
kref_get(&icom_port->adapter->kref);
drivers/tty/serial/icom.c
1317
kref_put(&icom_port->adapter->kref, icom_kref_release);
drivers/tty/serial/icom.c
1338
kref_put(&icom_port->adapter->kref, icom_kref_release);
drivers/tty/serial/icom.c
1616
icom_port->adapter = icom_adapter;
drivers/tty/serial/icom.c
1620
dev_err(&icom_port->adapter->pci_dev->dev,
drivers/tty/serial/icom.c
1779
icom_port->uart_port.irq = icom_port->adapter->pci_dev->irq;
drivers/tty/serial/icom.c
274
struct icom_adapter *adapter;
drivers/tty/serial/icom.c
386
dev_info(&icom_port->adapter->pci_dev->dev, ":%d:%s - %lx\n",
drivers/tty/serial/icom.c
396
struct pci_dev *dev = icom_port->adapter->pci_dev;
drivers/tty/serial/icom.c
428
struct pci_dev *dev = icom_port->adapter->pci_dev;
drivers/tty/serial/icom.c
547
dev_err(&icom_port->adapter->pci_dev->dev,
drivers/tty/serial/icom.c
578
dev_err(&icom_port->adapter->pci_dev->dev,
drivers/tty/serial/icom.c
609
struct pci_dev *dev = icom_port->adapter->pci_dev;
drivers/tty/serial/icom.c
663
if (icom_port->adapter->version == ADAPTER_V2)
drivers/tty/serial/icom.c
756
dev_err(&icom_port->adapter->pci_dev->dev,"Port not operational\n");
drivers/tty/serial/icom.c
774
dev_err(&icom_port->adapter->pci_dev->dev,
drivers/tty/serial/icom.c
809
dev_err(&icom_port->adapter->pci_dev->dev,
drivers/tty/serial/icom.c
850
dev_err(&icom_port->adapter->pci_dev->dev,
drivers/tty/serial/max310x.c
1655
client->adapter,
drivers/usb/misc/onboard_usb_dev.c
329
ret = i2c_transfer(client->adapter, msg, 1);
drivers/usb/misc/onboard_usb_dev.c
338
ret = i2c_transfer(client->adapter, msg, 1);
drivers/usb/misc/onboard_usb_dev.c
351
ret = i2c_transfer(client->adapter, msg, 2);
drivers/usb/misc/onboard_usb_dev.c
374
ret = i2c_transfer(client->adapter, msg, 1);
drivers/usb/misc/onboard_usb_dev.c
383
ret = i2c_transfer(client->adapter, msg, 1);
drivers/usb/misc/usb-ljca.c
382
return ljca_send(client->adapter, client->type, cmd,
drivers/usb/misc/usb-ljca.c
391
return ljca_send(client->adapter, client->type, cmd, obuf,
drivers/usb/misc/usb-ljca.c
540
client->adapter = adap;
drivers/usb/misc/usb251xb.c
258
adap = hub->i2c->adapter;
drivers/usb/misc/usb251xb.c
280
i2c_lock_bus(hub->i2c->adapter, I2C_LOCK_SEGMENT);
drivers/usb/misc/usb251xb.c
290
i2c_unlock_bus(hub->i2c->adapter, I2C_LOCK_SEGMENT);
drivers/usb/typec/anx7411.c
1004
ctx->spi_client = i2c_new_dummy_device(client->adapter,
drivers/usb/typec/anx7411.c
1468
if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_I2C_BLOCK))
drivers/usb/typec/tcpm/fusb302.c
1691
struct i2c_adapter *adapter = client->adapter;
drivers/usb/typec/tcpm/fusb302.c
1696
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_I2C_BLOCK)) {
drivers/usb/typec/tcpm/tcpci_maxim_core.c
228
ret = i2c_transfer(i2c->adapter, msgs, 1);
drivers/usb/typec/tipd/core.c
1360
timeout = client->adapter->timeout;
drivers/usb/typec/tipd/core.c
1366
client->adapter->timeout = msecs_to_jiffies(5000);
drivers/usb/typec/tipd/core.c
1372
client->adapter->timeout = timeout;
drivers/usb/typec/tipd/core.c
1781
if (i2c_check_functionality(client->adapter, I2C_FUNC_I2C))
drivers/usb/typec/ucsi/ucsi_ccg.c
241
const struct i2c_adapter_quirks *quirks = client->adapter->quirks;
drivers/usb/typec/ucsi/ucsi_ccg.c
269
status = i2c_transfer(client->adapter, msgs, ARRAY_SIZE(msgs));
drivers/usb/typec/ucsi/ucsi_ccg.c
306
status = i2c_transfer(client->adapter, msgs, ARRAY_SIZE(msgs));
drivers/usb/typec/ucsi/ucsi_stm32g0.c
142
ret = i2c_transfer(client->adapter, msg, ARRAY_SIZE(msg));
drivers/usb/typec/ucsi/ucsi_stm32g0.c
174
ret = i2c_transfer(client->adapter, msg, ARRAY_SIZE(msg));
drivers/usb/typec/ucsi/ucsi_stm32g0.c
211
ret = i2c_transfer(client->adapter, msg, ARRAY_SIZE(msg));
drivers/usb/typec/ucsi/ucsi_stm32g0.c
349
ret = i2c_transfer(client->adapter, msg, ARRAY_SIZE(msg));
drivers/usb/typec/ucsi/ucsi_stm32g0.c
396
ret = i2c_transfer(client->adapter, msg, ARRAY_SIZE(msg));
drivers/usb/typec/ucsi/ucsi_stm32g0.c
585
g0->i2c_bl = i2c_new_dummy_device(g0->client->adapter, STM32G0_I2C_BL_ADDR);
drivers/usb/typec/ucsi/ucsi_stm32g0.c
97
ret = i2c_transfer(client->adapter, msg, ARRAY_SIZE(msg));
drivers/vdpa/ifcvf/ifcvf_base.h
102
struct ifcvf_adapter *adapter;
drivers/vdpa/ifcvf/ifcvf_main.c
359
struct ifcvf_adapter *adapter = vdpa_to_adapter(vdpa_dev);
drivers/vdpa/ifcvf/ifcvf_main.c
361
return adapter->vf;
drivers/vdpa/ifcvf/ifcvf_main.c
366
struct ifcvf_adapter *adapter = vdpa_to_adapter(vdpa_dev);
drivers/vdpa/ifcvf/ifcvf_main.c
368
struct pci_dev *pdev = adapter->pdev;
drivers/vdpa/ifcvf/ifcvf_main.c
544
struct ifcvf_adapter *adapter = vdpa_to_adapter(vdpa_dev);
drivers/vdpa/ifcvf/ifcvf_main.c
545
struct pci_dev *pdev = adapter->pdev;
drivers/vdpa/ifcvf/ifcvf_main.c
697
struct ifcvf_adapter *adapter;
drivers/vdpa/ifcvf/ifcvf_main.c
707
adapter = vdpa_alloc_device(struct ifcvf_adapter, vdpa,
drivers/vdpa/ifcvf/ifcvf_main.c
710
if (IS_ERR(adapter)) {
drivers/vdpa/ifcvf/ifcvf_main.c
712
return PTR_ERR(adapter);
drivers/vdpa/ifcvf/ifcvf_main.c
715
ifcvf_mgmt_dev->adapter = adapter;
drivers/vdpa/ifcvf/ifcvf_main.c
716
adapter->pdev = pdev;
drivers/vdpa/ifcvf/ifcvf_main.c
717
adapter->vdpa.vmap.dma_dev = &pdev->dev;
drivers/vdpa/ifcvf/ifcvf_main.c
718
adapter->vdpa.mdev = mdev;
drivers/vdpa/ifcvf/ifcvf_main.c
719
adapter->vf = vf;
drivers/vdpa/ifcvf/ifcvf_main.c
720
vdpa_dev = &adapter->vdpa;
drivers/vdpa/ifcvf/ifcvf_main.c
738
ret = _vdpa_register_device(&adapter->vdpa, vf->nr_vring);
drivers/vdpa/ifcvf/ifcvf_main.c
740
put_device(&adapter->vdpa.dev);
drivers/vdpa/ifcvf/ifcvf_main.c
754
ifcvf_mgmt_dev->adapter = NULL;
drivers/video/backlight/adp8860_bl.c
661
if (!i2c_check_functionality(client->adapter,
drivers/video/backlight/adp8870_bl.c
849
if (!i2c_check_functionality(client->adapter,
drivers/video/backlight/arcxcnn_bl.c
246
if (!i2c_check_functionality(cl->adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/video/backlight/bd6107.c
127
if (!i2c_check_functionality(client->adapter,
drivers/video/backlight/lm3509_bl.c
221
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) {
drivers/video/backlight/lm3630a_bl.c
501
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) {
drivers/video/backlight/lm3639_bl.c
306
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) {
drivers/video/backlight/lp855x_bl.c
403
if (!i2c_check_functionality(cl->adapter, I2C_FUNC_SMBUS_I2C_BLOCK))
drivers/video/backlight/lv5207lp.c
90
if (!i2c_check_functionality(client->adapter,
drivers/video/backlight/mp3309c.c
327
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C))
drivers/video/fbdev/aty/radeon_i2c.c
105
rinfo->i2c[0].adapter.class = I2C_CLASS_HWMON;
drivers/video/fbdev/aty/radeon_i2c.c
125
i2c_del_adapter(&rinfo->i2c[0].adapter);
drivers/video/fbdev/aty/radeon_i2c.c
129
i2c_del_adapter(&rinfo->i2c[1].adapter);
drivers/video/fbdev/aty/radeon_i2c.c
133
i2c_del_adapter(&rinfo->i2c[2].adapter);
drivers/video/fbdev/aty/radeon_i2c.c
137
i2c_del_adapter(&rinfo->i2c[3].adapter);
drivers/video/fbdev/aty/radeon_i2c.c
146
edid = fb_ddc_read(&rinfo->i2c[conn-1].adapter);
drivers/video/fbdev/aty/radeon_i2c.c
72
snprintf(chan->adapter.name, sizeof(chan->adapter.name),
drivers/video/fbdev/aty/radeon_i2c.c
74
chan->adapter.owner = THIS_MODULE;
drivers/video/fbdev/aty/radeon_i2c.c
75
chan->adapter.algo_data = &chan->algo;
drivers/video/fbdev/aty/radeon_i2c.c
76
chan->adapter.dev.parent = &chan->rinfo->pdev->dev;
drivers/video/fbdev/aty/radeon_i2c.c
85
i2c_set_adapdata(&chan->adapter, chan);
drivers/video/fbdev/aty/radeon_i2c.c
92
rc = i2c_bit_add_bus(&chan->adapter);
drivers/video/fbdev/aty/radeonfb.h
275
struct i2c_adapter adapter;
drivers/video/fbdev/core/fb_ddc.c
23
static unsigned char *fb_do_probe_ddc_edid(struct i2c_adapter *adapter)
drivers/video/fbdev/core/fb_ddc.c
42
dev_warn(&adapter->dev, "unable to allocate memory for EDID "
drivers/video/fbdev/core/fb_ddc.c
47
if (i2c_transfer(adapter, msgs, 2) == 2)
drivers/video/fbdev/core/fb_ddc.c
50
dev_warn(&adapter->dev, "unable to read EDID block.\n");
drivers/video/fbdev/core/fb_ddc.c
55
unsigned char *fb_ddc_read(struct i2c_adapter *adapter)
drivers/video/fbdev/core/fb_ddc.c
57
struct i2c_algo_bit_data *algo_data = adapter->algo_data;
drivers/video/fbdev/core/fb_ddc.c
91
edid = fb_do_probe_ddc_edid(adapter);
drivers/video/fbdev/i810/i810-i2c.c
106
i2c_set_adapdata(&chan->adapter, chan);
drivers/video/fbdev/i810/i810-i2c.c
113
rc = i2c_bit_add_bus(&chan->adapter);
drivers/video/fbdev/i810/i810-i2c.c
143
i2c_del_adapter(&par->chan[0].adapter);
drivers/video/fbdev/i810/i810-i2c.c
147
i2c_del_adapter(&par->chan[1].adapter);
drivers/video/fbdev/i810/i810-i2c.c
151
i2c_del_adapter(&par->chan[2].adapter);
drivers/video/fbdev/i810/i810-i2c.c
162
edid = fb_ddc_read(&par->chan[conn].adapter);
drivers/video/fbdev/i810/i810-i2c.c
94
strcpy(chan->adapter.name, name);
drivers/video/fbdev/i810/i810-i2c.c
95
chan->adapter.owner = THIS_MODULE;
drivers/video/fbdev/i810/i810-i2c.c
96
chan->adapter.algo_data = &chan->algo;
drivers/video/fbdev/i810/i810-i2c.c
97
chan->adapter.dev.parent = &chan->par->dev->dev;
drivers/video/fbdev/i810/i810.h
248
struct i2c_adapter adapter;
drivers/video/fbdev/matrox/i2c-matroxfb.c
110
b->adapter.owner = THIS_MODULE;
drivers/video/fbdev/matrox/i2c-matroxfb.c
111
snprintf(b->adapter.name, sizeof(b->adapter.name), name,
drivers/video/fbdev/matrox/i2c-matroxfb.c
113
i2c_set_adapdata(&b->adapter, b);
drivers/video/fbdev/matrox/i2c-matroxfb.c
114
b->adapter.algo_data = &b->bac;
drivers/video/fbdev/matrox/i2c-matroxfb.c
115
b->adapter.dev.parent = &minfo->pcidev->dev;
drivers/video/fbdev/matrox/i2c-matroxfb.c
118
err = i2c_bit_add_bus(&b->adapter);
drivers/video/fbdev/matrox/i2c-matroxfb.c
125
i2c_del_adapter(&b->adapter);
drivers/video/fbdev/matrox/i2c-matroxfb.c
189
i2c_new_scanned_device(&m2info->maven.adapter,
drivers/video/fbdev/matrox/matroxfb_maven.c
1203
struct matrox_fb_info *minfo = container_of(clnt->adapter,
drivers/video/fbdev/matrox/matroxfb_maven.c
1205
adapter)->minfo;
drivers/video/fbdev/matrox/matroxfb_maven.c
1254
struct i2c_adapter *adapter = client->adapter;
drivers/video/fbdev/matrox/matroxfb_maven.c
1258
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_WRITE_WORD_DATA |
drivers/video/fbdev/matrox/matroxfb_maven.c
157
err = i2c_transfer(c->adapter, msgs, 2);
drivers/video/fbdev/matrox/matroxfb_maven.h
11
struct i2c_adapter adapter;
drivers/video/fbdev/nvidia/nv_i2c.c
102
i2c_set_adapdata(&chan->adapter, chan);
drivers/video/fbdev/nvidia/nv_i2c.c
109
rc = i2c_bit_add_bus(&chan->adapter);
drivers/video/fbdev/nvidia/nv_i2c.c
147
i2c_del_adapter(&par->chan[i].adapter);
drivers/video/fbdev/nvidia/nv_i2c.c
158
edid = fb_ddc_read(&par->chan[conn - 1].adapter);
drivers/video/fbdev/nvidia/nv_i2c.c
89
strscpy(chan->adapter.name, name, sizeof(chan->adapter.name));
drivers/video/fbdev/nvidia/nv_i2c.c
90
chan->adapter.owner = THIS_MODULE;
drivers/video/fbdev/nvidia/nv_i2c.c
91
chan->adapter.class = i2c_class;
drivers/video/fbdev/nvidia/nv_i2c.c
92
chan->adapter.algo_data = &chan->algo;
drivers/video/fbdev/nvidia/nv_i2c.c
93
chan->adapter.dev.parent = &chan->par->pci_dev->dev;
drivers/video/fbdev/nvidia/nv_type.h
44
struct i2c_adapter adapter;
drivers/video/fbdev/omap2/omapfb/displays/connector-dvi.c
137
static int dvic_ddc_read(struct i2c_adapter *adapter,
drivers/video/fbdev/omap2/omapfb/displays/connector-dvi.c
157
r = i2c_transfer(adapter, msgs, 2);
drivers/video/fbdev/omap2/omapfb/displays/connector-dvi.c
236
struct i2c_adapter *adapter;
drivers/video/fbdev/omap2/omapfb/displays/connector-dvi.c
248
adapter = of_get_i2c_adapter_by_node(adapter_node);
drivers/video/fbdev/omap2/omapfb/displays/connector-dvi.c
250
if (adapter == NULL) {
drivers/video/fbdev/omap2/omapfb/displays/connector-dvi.c
256
ddata->i2c_adapter = adapter;
drivers/video/fbdev/riva/rivafb-i2c.c
107
i2c_set_adapdata(&chan->adapter, chan);
drivers/video/fbdev/riva/rivafb-i2c.c
114
rc = i2c_bit_add_bus(&chan->adapter);
drivers/video/fbdev/riva/rivafb-i2c.c
147
i2c_del_adapter(&par->chan[i].adapter);
drivers/video/fbdev/riva/rivafb-i2c.c
157
edid = fb_ddc_read(&par->chan[conn].adapter);
drivers/video/fbdev/riva/rivafb-i2c.c
94
strcpy(chan->adapter.name, name);
drivers/video/fbdev/riva/rivafb-i2c.c
95
chan->adapter.owner = THIS_MODULE;
drivers/video/fbdev/riva/rivafb-i2c.c
96
chan->adapter.class = i2c_class;
drivers/video/fbdev/riva/rivafb-i2c.c
97
chan->adapter.algo_data = &chan->algo;
drivers/video/fbdev/riva/rivafb-i2c.c
98
chan->adapter.dev.parent = &chan->par->pdev->dev;
drivers/video/fbdev/riva/rivafb.h
40
struct i2c_adapter adapter;
drivers/video/fbdev/savage/savagefb-i2c.c
139
strcpy(chan->adapter.name, name);
drivers/video/fbdev/savage/savagefb-i2c.c
140
chan->adapter.owner = THIS_MODULE;
drivers/video/fbdev/savage/savagefb-i2c.c
141
chan->adapter.algo_data = &chan->algo;
drivers/video/fbdev/savage/savagefb-i2c.c
142
chan->adapter.dev.parent = &chan->par->pcidev->dev;
drivers/video/fbdev/savage/savagefb-i2c.c
147
i2c_set_adapdata(&chan->adapter, chan);
drivers/video/fbdev/savage/savagefb-i2c.c
154
rc = i2c_bit_add_bus(&chan->adapter);
drivers/video/fbdev/savage/savagefb-i2c.c
213
i2c_del_adapter(&par->chan.adapter);
drivers/video/fbdev/savage/savagefb-i2c.c
224
edid = fb_ddc_read(&par->chan.adapter);
drivers/video/fbdev/savage/savagefb.h
183
struct i2c_adapter adapter;
drivers/video/fbdev/tdfxfb.c
1268
strscpy(chan->adapter.name, name, sizeof(chan->adapter.name));
drivers/video/fbdev/tdfxfb.c
1269
chan->adapter.owner = THIS_MODULE;
drivers/video/fbdev/tdfxfb.c
1270
chan->adapter.algo_data = &chan->algo;
drivers/video/fbdev/tdfxfb.c
1271
chan->adapter.dev.parent = dev;
drivers/video/fbdev/tdfxfb.c
1280
i2c_set_adapdata(&chan->adapter, chan);
drivers/video/fbdev/tdfxfb.c
1282
rc = i2c_bit_add_bus(&chan->adapter);
drivers/video/fbdev/tdfxfb.c
1296
strscpy(chan->adapter.name, name, sizeof(chan->adapter.name));
drivers/video/fbdev/tdfxfb.c
1297
chan->adapter.owner = THIS_MODULE;
drivers/video/fbdev/tdfxfb.c
1298
chan->adapter.algo_data = &chan->algo;
drivers/video/fbdev/tdfxfb.c
1299
chan->adapter.dev.parent = dev;
drivers/video/fbdev/tdfxfb.c
1308
i2c_set_adapdata(&chan->adapter, chan);
drivers/video/fbdev/tdfxfb.c
1310
rc = i2c_bit_add_bus(&chan->adapter);
drivers/video/fbdev/tdfxfb.c
1336
i2c_del_adapter(&par->chan[0].adapter);
drivers/video/fbdev/tdfxfb.c
1340
i2c_del_adapter(&par->chan[1].adapter);
drivers/video/fbdev/tdfxfb.c
1351
edid = fb_ddc_read(&par->chan[0].adapter);
drivers/video/fbdev/via/via_i2c.c
123
ret = i2c_transfer(&via_i2c_par[adap].adapter, msgs, 2);
drivers/video/fbdev/via/via_i2c.c
144
ret = i2c_transfer(&via_i2c_par[adap].adapter, &msgs, 1);
drivers/video/fbdev/via/via_i2c.c
167
ret = i2c_transfer(&via_i2c_par[adap].adapter, msgs, 2);
drivers/video/fbdev/via/via_i2c.c
184
return &stuff->adapter;
drivers/video/fbdev/via/via_i2c.c
189
static int create_i2c_bus(struct i2c_adapter *adapter,
drivers/video/fbdev/via/via_i2c.c
202
sprintf(adapter->name, "viafb i2c io_port idx 0x%02x",
drivers/video/fbdev/via/via_i2c.c
204
adapter->owner = THIS_MODULE;
drivers/video/fbdev/via/via_i2c.c
205
adapter->algo_data = algo;
drivers/video/fbdev/via/via_i2c.c
207
adapter->dev.parent = &pdev->dev;
drivers/video/fbdev/via/via_i2c.c
209
adapter->dev.parent = NULL;
drivers/video/fbdev/via/via_i2c.c
217
return i2c_bit_add_bus(adapter);
drivers/video/fbdev/via/via_i2c.c
235
ret = create_i2c_bus(&i2c_stuff->adapter,
drivers/video/fbdev/via/via_i2c.c
260
i2c_del_adapter(&i2c_stuff->adapter);
drivers/w1/masters/ds2482.c
451
if (!i2c_check_functionality(client->adapter,
drivers/w1/slaves/w1_ds28e17.c
346
static int w1_f19_i2c_master_transfer(struct i2c_adapter *adapter,
drivers/w1/slaves/w1_ds28e17.c
349
struct w1_slave *sl = (struct w1_slave *) adapter->algo_data;
drivers/w1/slaves/w1_ds28e17.c
467
static u32 w1_f19_i2c_functionality(struct i2c_adapter *adapter)
drivers/w1/slaves/w1_ds28e17.c
719
data->adapter.owner = THIS_MODULE;
drivers/w1/slaves/w1_ds28e17.c
720
data->adapter.algo = &w1_f19_i2c_algorithm;
drivers/w1/slaves/w1_ds28e17.c
721
data->adapter.algo_data = sl;
drivers/w1/slaves/w1_ds28e17.c
722
scnprintf(data->adapter.name, sizeof(data->adapter.name), "w1-%s",
drivers/w1/slaves/w1_ds28e17.c
724
data->adapter.dev.parent = &sl->dev;
drivers/w1/slaves/w1_ds28e17.c
725
data->adapter.quirks = &w1_f19_i2c_adapter_quirks;
drivers/w1/slaves/w1_ds28e17.c
727
return i2c_add_adapter(&data->adapter);
drivers/w1/slaves/w1_ds28e17.c
735
i2c_del_adapter(&family_data->adapter);
drivers/w1/slaves/w1_ds28e17.c
80
struct i2c_adapter adapter;
drivers/watchdog/da9062_wdt.c
168
ret = __i2c_smbus_xfer(client->adapter, client->addr, client->flags,
drivers/watchdog/da9063_wdt.c
186
ret = __i2c_smbus_xfer(client->adapter, client->addr, client->flags,
drivers/watchdog/ziirave_wdt.c
605
if (!i2c_check_functionality(client->adapter,
include/drm/display/drm_dp_dual_mode_helper.h
108
drm_dp_dual_mode_detect(const struct drm_device *dev, struct i2c_adapter *adapter);
include/drm/display/drm_dp_dual_mode_helper.h
110
struct i2c_adapter *adapter);
include/drm/display/drm_dp_dual_mode_helper.h
112
struct i2c_adapter *adapter, bool *enabled);
include/drm/display/drm_dp_dual_mode_helper.h
114
struct i2c_adapter *adapter, bool enable);
include/drm/display/drm_dp_dual_mode_helper.h
117
int drm_lspcon_get_mode(const struct drm_device *dev, struct i2c_adapter *adapter,
include/drm/display/drm_dp_dual_mode_helper.h
119
int drm_lspcon_set_mode(const struct drm_device *dev, struct i2c_adapter *adapter,
include/drm/display/drm_dp_dual_mode_helper.h
68
ssize_t drm_dp_dual_mode_read(struct i2c_adapter *adapter,
include/drm/display/drm_dp_dual_mode_helper.h
70
ssize_t drm_dp_dual_mode_write(struct i2c_adapter *adapter,
include/drm/display/drm_scdc_helper.h
34
ssize_t drm_scdc_read(struct i2c_adapter *adapter, u8 offset, void *buffer,
include/drm/display/drm_scdc_helper.h
36
ssize_t drm_scdc_write(struct i2c_adapter *adapter, u8 offset,
include/drm/display/drm_scdc_helper.h
51
static inline int drm_scdc_readb(struct i2c_adapter *adapter, u8 offset,
include/drm/display/drm_scdc_helper.h
54
return drm_scdc_read(adapter, offset, value, sizeof(*value));
include/drm/display/drm_scdc_helper.h
69
static inline int drm_scdc_writeb(struct i2c_adapter *adapter, u8 offset,
include/drm/display/drm_scdc_helper.h
72
return drm_scdc_write(adapter, offset, &value, sizeof(value));
include/drm/drm_edid.h
438
bool drm_probe_ddc(struct i2c_adapter *adapter);
include/drm/drm_edid.h
440
struct i2c_adapter *adapter);
include/drm/drm_edid.h
442
struct i2c_adapter *adapter);
include/drm/drm_edid.h
474
struct i2c_adapter *adapter);
include/drm/drm_edid.h
478
const struct drm_edid *drm_edid_read_base_block(struct i2c_adapter *adapter);
include/drm/drm_edid.h
480
struct i2c_adapter *adapter);
include/linux/fb.h
802
extern unsigned char *fb_ddc_read(struct i2c_adapter *adapter);
include/linux/i2c-mux.h
32
struct i2c_adapter *adapter[];
include/linux/i2c-smbus.h
29
struct i2c_client *i2c_new_smbus_alert_device(struct i2c_adapter *adapter,
include/linux/i2c-smbus.h
34
struct i2c_client *i2c_new_slave_host_notify_device(struct i2c_adapter *adapter);
include/linux/i2c-smbus.h
37
static inline struct i2c_client *i2c_new_slave_host_notify_device(struct i2c_adapter *adapter)
include/linux/i2c.h
139
s32 i2c_smbus_xfer(struct i2c_adapter *adapter, u16 addr,
include/linux/i2c.h
144
s32 __i2c_smbus_xfer(struct i2c_adapter *adapter, u16 addr,
include/linux/i2c.h
346
struct i2c_adapter *adapter; /* the adapter we sit on */
include/linux/i2c.h
477
i2c_new_dummy_device(struct i2c_adapter *adapter, u16 address);
include/linux/i2c.h
594
void (*lock_bus)(struct i2c_adapter *adapter, unsigned int flags);
include/linux/i2c.h
595
int (*trylock_bus)(struct i2c_adapter *adapter, unsigned int flags);
include/linux/i2c.h
596
void (*unlock_bus)(struct i2c_adapter *adapter, unsigned int flags);
include/linux/i2c.h
782
i2c_parent_is_i2c_adapter(const struct i2c_adapter *adapter)
include/linux/i2c.h
785
struct device *parent = adapter->dev.parent;
include/linux/i2c.h
807
i2c_lock_bus(struct i2c_adapter *adapter, unsigned int flags)
include/linux/i2c.h
809
adapter->lock_ops->lock_bus(adapter, flags);
include/linux/i2c.h
821
i2c_trylock_bus(struct i2c_adapter *adapter, unsigned int flags)
include/linux/i2c.h
823
return adapter->lock_ops->trylock_bus(adapter, flags);
include/linux/i2c.h
833
i2c_unlock_bus(struct i2c_adapter *adapter, unsigned int flags)
include/linux/i2c.h
835
adapter->lock_ops->unlock_bus(adapter, flags);
include/linux/i2c.h
889
int devm_i2c_add_adapter(struct device *dev, struct i2c_adapter *adapter);
include/linux/i2c.h
912
unsigned int i2c_adapter_depth(struct i2c_adapter *adapter);
include/linux/kvm_host.h
684
struct kvm_s390_adapter_int adapter;
include/linux/mxm-wmi.h
16
int mxm_wmi_call_mxds(int adapter);
include/linux/mxm-wmi.h
17
int mxm_wmi_call_mxmx(int adapter);
include/linux/platform_data/mlxreg.h
102
struct i2c_adapter *adapter;
include/linux/usb/ljca.h
52
struct ljca_adapter *adapter;
include/linux/via_i2c.h
16
struct i2c_adapter adapter;
include/media/dvbdev.h
166
struct dvb_adapter *adapter;
include/media/v4l2-async.h
243
#define v4l2_async_nf_add_i2c(notifier, adapter, address, type) \
include/media/v4l2-async.h
244
((type *)__v4l2_async_nf_add_i2c(notifier, adapter, address, \
include/media/v4l2-common.h
154
struct i2c_adapter *adapter, const char *client_type,
include/media/v4l2-common.h
171
struct i2c_adapter *adapter, struct i2c_board_info *info,
include/media/v4l2-common.h
228
struct i2c_adapter *adapter, const char *client_type,
include/media/v4l2-common.h
23
#define v4l_printk(level, name, adapter, addr, fmt, arg...) \
include/media/v4l2-common.h
236
struct i2c_adapter *adapter, struct i2c_board_info *info,
include/media/v4l2-common.h
24
printk(level "%s %d-%04x: " fmt, name, i2c_adapter_id(adapter), addr , ## arg)
include/media/v4l2-common.h
27
v4l_printk(level, (client)->dev.driver->name, (client)->adapter, \
include/media/videobuf2-dvb.h
48
struct dvb_adapter adapter;
include/trace/events/fsi_master_i2cr.h
21
__entry->bus = client->adapter->nr;
include/trace/events/fsi_master_i2cr.h
40
__entry->bus = client->adapter->nr;
include/trace/events/fsi_master_i2cr.h
59
__entry->bus = client->adapter->nr;
include/trace/events/fsi_master_i2cr.h
79
__entry->bus = client->adapter->nr;
include/trace/events/fsi_master_i2cr.h
96
__entry->bus = client->adapter->nr;
include/trace/events/i2c_slave.h
43
__entry->adapter_nr = client->adapter->nr;
include/uapi/linux/cycx_cfm.h
66
unsigned short adapter[CFM_MAX_CYCX];
include/uapi/linux/kvm.h
1044
struct kvm_irq_routing_s390_adapter adapter;
include/video/tdfx.h
191
struct i2c_adapter adapter;
sound/pci/asihpi/asihpi.c
1154
card->hpi->adapter->index, substream->number);
sound/pci/asihpi/asihpi.c
1157
hpi_instream_open(card->hpi->adapter->index,
sound/pci/asihpi/asihpi.c
1243
err = hpi_adapter_get_info(asihpi->hpi->adapter->index,
sound/pci/asihpi/asihpi.c
2536
hpi_mixer_open(asihpi->hpi->adapter->index,
sound/pci/asihpi/asihpi.c
2667
hpi_handle_error(hpi_adapter_get_info(asihpi->hpi->adapter->index,
sound/pci/asihpi/asihpi.c
2674
type, asihpi->hpi->adapter->index,
sound/pci/asihpi/asihpi.c
2784
adapter_index = hpi->adapter->index;
sound/pci/asihpi/asihpi.c
2895
asihpi->hpi->adapter->type);
sound/pci/asihpi/asihpi.c
2918
hpi_handle_error(hpi_adapter_set_property(hpi->adapter->index,
sound/pci/asihpi/asihpi.c
535
hpi_handle_error(hpi_adapter_set_property(card->hpi->adapter->index,
sound/pci/asihpi/asihpi.c
546
hpi_handle_error(hpi_adapter_set_property(card->hpi->adapter->index,
sound/pci/asihpi/asihpi.c
982
err = hpi_outstream_open(card->hpi->adapter->index,
sound/pci/asihpi/hpi6000.h
40
#define HPI_HIF_PACK_ADAPTER_INFO(adapter, version_major, version_minor) \
sound/pci/asihpi/hpi6000.h
41
((adapter << 16) | (version_major << 8) | version_minor)
sound/pci/asihpi/hpicmn.c
104
if (adapters.adapter[pao->index].type)
sound/pci/asihpi/hpicmn.c
106
memset(&adapters.adapter[pao->index], 0, sizeof(adapters.adapter[0]));
sound/pci/asihpi/hpicmn.c
126
pao = &adapters.adapter[adapter_index];
sound/pci/asihpi/hpicmn.c
159
if (adapters.adapter[index].type) {
sound/pci/asihpi/hpicmn.c
167
phr->u.s.adapter_index = adapters.adapter[index].index;
sound/pci/asihpi/hpicmn.c
168
phr->u.s.adapter_type = adapters.adapter[index].type;
sound/pci/asihpi/hpicmn.c
24
struct hpi_adapter_obj adapter[HPI_MAX_ADAPTERS];
sound/pci/asihpi/hpicmn.c
71
if (adapters.adapter[pao->index].type) {
sound/pci/asihpi/hpicmn.c
74
if (!adapters.adapter[a].type) {
sound/pci/asihpi/hpicmn.c
87
adapters.adapter[pao->index] = *pao;
sound/pci/asihpi/hpicmn.c
88
hpios_dsplock_init(&adapters.adapter[pao->index]);
sound/pci/asihpi/hpidspcd.c
23
short hpi_dsp_code_open(u32 adapter, void *os_data, struct dsp_code *dsp_code,
sound/pci/asihpi/hpidspcd.c
33
sprintf(fw_name, "asihpi/dsp%04x.bin", adapter);
sound/pci/asihpi/hpidspcd.c
49
(header.adapter != adapter)
sound/pci/asihpi/hpidspcd.h
31
u32 adapter;
sound/pci/asihpi/hpidspcd.h
64
u32 adapter, void *pci_dev,
sound/pci/asihpi/hpifunc.c
1136
u16 adapter;
sound/pci/asihpi/hpifunc.c
1146
if (hpi_handle_indexes(h_stream, &adapter,
sound/pci/asihpi/hpifunc.c
1161
if (adapter != hm.adapter_index)
sound/pci/asihpi/hpifunc.c
781
u16 adapter;
sound/pci/asihpi/hpifunc.c
790
if (hpi_handle_indexes(h_stream, &adapter,
sound/pci/asihpi/hpifunc.c
803
if (adapter != hm.adapter_index)
sound/pci/asihpi/hpimsgx.c
571
static u16 adapter_prepare(u16 adapter)
sound/pci/asihpi/hpimsgx.c
582
hm.adapter_index = adapter;
sound/pci/asihpi/hpimsgx.c
584
memcpy(&rESP_HPI_ADAPTER_OPEN[adapter].h, &hr,
sound/pci/asihpi/hpimsgx.c
585
sizeof(rESP_HPI_ADAPTER_OPEN[adapter].h));
sound/pci/asihpi/hpimsgx.c
586
memcpy(&rESP_HPI_ADAPTER_OPEN[adapter].a, &hr.u.ax.info,
sound/pci/asihpi/hpimsgx.c
587
sizeof(rESP_HPI_ADAPTER_OPEN[adapter].a));
sound/pci/asihpi/hpimsgx.c
594
hm.adapter_index = adapter;
sound/pci/asihpi/hpimsgx.c
599
aDAPTER_INFO[adapter].num_outstreams = hr.u.ax.info.num_outstreams;
sound/pci/asihpi/hpimsgx.c
600
aDAPTER_INFO[adapter].num_instreams = hr.u.ax.info.num_instreams;
sound/pci/asihpi/hpimsgx.c
601
aDAPTER_INFO[adapter].type = hr.u.ax.info.adapter_type;
sound/pci/asihpi/hpimsgx.c
604
for (i = 0; i < aDAPTER_INFO[adapter].num_outstreams; i++) {
sound/pci/asihpi/hpimsgx.c
607
hm.adapter_index = adapter;
sound/pci/asihpi/hpimsgx.c
610
memcpy(&rESP_HPI_OSTREAM_OPEN[adapter][i], &hr,
sound/pci/asihpi/hpimsgx.c
612
outstream_user_open[adapter][i].open_flag = 0;
sound/pci/asihpi/hpimsgx.c
613
outstream_user_open[adapter][i].h_owner = NULL;
sound/pci/asihpi/hpimsgx.c
617
for (i = 0; i < aDAPTER_INFO[adapter].num_instreams; i++) {
sound/pci/asihpi/hpimsgx.c
620
hm.adapter_index = adapter;
sound/pci/asihpi/hpimsgx.c
623
memcpy(&rESP_HPI_ISTREAM_OPEN[adapter][i], &hr,
sound/pci/asihpi/hpimsgx.c
625
instream_user_open[adapter][i].open_flag = 0;
sound/pci/asihpi/hpimsgx.c
626
instream_user_open[adapter][i].h_owner = NULL;
sound/pci/asihpi/hpimsgx.c
631
hm.adapter_index = adapter;
sound/pci/asihpi/hpimsgx.c
633
memcpy(&rESP_HPI_MIXER_OPEN[adapter], &hr,
sound/pci/asihpi/hpimsgx.c
642
u16 adapter;
sound/pci/asihpi/hpimsgx.c
646
for (adapter = 0; adapter < HPI_MAX_ADAPTERS; adapter++) {
sound/pci/asihpi/hpimsgx.c
650
memcpy(&rESP_HPI_ADAPTER_OPEN[adapter], &hr,
sound/pci/asihpi/hpimsgx.c
651
sizeof(rESP_HPI_ADAPTER_OPEN[adapter]));
sound/pci/asihpi/hpimsgx.c
655
memcpy(&rESP_HPI_MIXER_OPEN[adapter], &hr,
sound/pci/asihpi/hpimsgx.c
656
sizeof(rESP_HPI_MIXER_OPEN[adapter]));
sound/pci/asihpi/hpimsgx.c
662
memcpy(&rESP_HPI_OSTREAM_OPEN[adapter][i],
sound/pci/asihpi/hpimsgx.c
664
sizeof(rESP_HPI_OSTREAM_OPEN[adapter]
sound/pci/asihpi/hpimsgx.c
669
memcpy(&rESP_HPI_ISTREAM_OPEN[adapter][i],
sound/pci/asihpi/hpimsgx.c
671
sizeof(rESP_HPI_ISTREAM_OPEN[adapter]
sound/pci/asihpi/hpimsgx.c
729
int i, adapter, adapter_limit;
sound/pci/asihpi/hpimsgx.c
735
adapter = 0;
sound/pci/asihpi/hpimsgx.c
738
adapter = adapter_index;
sound/pci/asihpi/hpimsgx.c
739
adapter_limit = adapter + 1;
sound/pci/asihpi/hpimsgx.c
742
for (; adapter < adapter_limit; adapter++) {
sound/pci/asihpi/hpimsgx.c
746
outstream_user_open[adapter][i].h_owner) {
sound/pci/asihpi/hpimsgx.c
752
adapter, i);
sound/pci/asihpi/hpimsgx.c
756
hm.adapter_index = (u16)adapter;
sound/pci/asihpi/hpimsgx.c
766
outstream_user_open[adapter][i].open_flag = 0;
sound/pci/asihpi/hpimsgx.c
767
outstream_user_open[adapter][i].h_owner =
sound/pci/asihpi/hpimsgx.c
770
if (h_owner == instream_user_open[adapter][i].h_owner) {
sound/pci/asihpi/hpimsgx.c
776
adapter, i);
sound/pci/asihpi/hpimsgx.c
780
hm.adapter_index = (u16)adapter;
sound/pci/asihpi/hpimsgx.c
790
instream_user_open[adapter][i].open_flag = 0;
sound/pci/asihpi/hpimsgx.c
791
instream_user_open[adapter][i].h_owner = NULL;
sound/pci/asihpi/hpioctl.c
186
if (!pa || !pa->adapter || !pa->adapter->type) {
sound/pci/asihpi/hpioctl.c
316
if (!a->adapter->irq_query_and_clear) {
sound/pci/asihpi/hpioctl.c
317
pr_err("asihpi_isr ASI%04X:%d no handler\n", a->adapter->type,
sound/pci/asihpi/hpioctl.c
318
a->adapter->index);
sound/pci/asihpi/hpioctl.c
322
handled = a->adapter->irq_query_and_clear(a->adapter, 0);
sound/pci/asihpi/hpioctl.c
354
struct hpi_adapter adapter;
sound/pci/asihpi/hpioctl.c
357
memset(&adapter, 0, sizeof(adapter));
sound/pci/asihpi/hpioctl.c
409
adapter.adapter = hpi_find_adapter(adapter_index);
sound/pci/asihpi/hpioctl.c
412
adapter.p_buffer = vmalloc(prealloc_stream_buf);
sound/pci/asihpi/hpioctl.c
413
if (!adapter.p_buffer) {
sound/pci/asihpi/hpioctl.c
424
hm.adapter_index = adapter.adapter->index;
sound/pci/asihpi/hpioctl.c
435
hm.adapter_index = adapter.adapter->index;
sound/pci/asihpi/hpioctl.c
444
adapter.adapter->index);
sound/pci/asihpi/hpioctl.c
449
hm.adapter_index = adapter.adapter->index;
sound/pci/asihpi/hpioctl.c
455
adapter.adapter->index);
sound/pci/asihpi/hpioctl.c
463
adapters[adapter_index] = adapter;
sound/pci/asihpi/hpioctl.c
468
if (!adapter.adapter->irq_query_and_clear) {
sound/pci/asihpi/hpioctl.c
471
adapter.adapter->index);
sound/pci/asihpi/hpioctl.c
478
hm.adapter_index = adapter.adapter->index;
sound/pci/asihpi/hpioctl.c
507
adapter.adapter->type, adapter_index);
sound/pci/asihpi/hpioctl.c
519
if (adapter.p_buffer) {
sound/pci/asihpi/hpioctl.c
520
adapter.buffer_size = 0;
sound/pci/asihpi/hpioctl.c
521
vfree(adapter.p_buffer);
sound/pci/asihpi/hpioctl.c
537
pci = pa->adapter->pci;
sound/pci/asihpi/hpioctl.c
542
hm.adapter_index = pa->adapter->index;
sound/pci/asihpi/hpioctl.c
550
hm.adapter_index = pa->adapter->index;
sound/pci/asihpi/hpioctl.c
567
pci_dev->devfn, pa->adapter->index);
sound/pci/asihpi/hpios.h
140
struct hpi_adapter_obj *adapter;
sound/ppc/keywest.c
34
static int keywest_attach_adapter(struct i2c_adapter *adapter)
sound/ppc/keywest.c
42
if (strncmp(adapter->name, "mac-io", 6))
sound/ppc/keywest.c
48
client = i2c_new_client_device(adapter, &info);
sound/soc/codecs/adau1701.c
239
ret = i2c_transfer(client->adapter, msgs, ARRAY_SIZE(msgs));
sound/soc/codecs/aw87390.c
547
ret = i2c_check_functionality(i2c->adapter, I2C_FUNC_I2C);
sound/soc/codecs/aw88081.c
1256
ret = i2c_check_functionality(i2c->adapter, I2C_FUNC_I2C);
sound/soc/codecs/aw88166.c
1767
if (!i2c_check_functionality(i2c->adapter, I2C_FUNC_I2C))
sound/soc/codecs/aw88261.c
1240
ret = i2c_check_functionality(i2c->adapter, I2C_FUNC_I2C);
sound/soc/codecs/aw88395/aw88395.c
512
if (!i2c_check_functionality(i2c->adapter, I2C_FUNC_I2C)) {
sound/soc/codecs/aw88395/aw88395_lib.c
498
if ((aw_dev->i2c->adapter->nr == cfg_dde[i].dev_bus) &&
sound/soc/codecs/aw88395/aw88395_lib.c
768
(aw_dev->i2c->adapter->nr == cfg_dde[i].dev_bus) &&
sound/soc/codecs/aw88395/aw88395_lib.c
884
if ((aw_dev->i2c->adapter->nr == cfg_dde[i].dev_bus) &&
sound/soc/codecs/aw88399.c
2112
if (!i2c_check_functionality(i2c->adapter, I2C_FUNC_I2C))
sound/soc/codecs/cx2072x.c
553
ret = i2c_transfer(client->adapter, msgs, ARRAY_SIZE(msgs));
sound/soc/codecs/max98390.c
1015
struct i2c_adapter *adapter = i2c->adapter;
sound/soc/codecs/max98390.c
1018
ret = i2c_check_functionality(adapter,
sound/soc/codecs/max98520.c
682
struct i2c_adapter *adapter = to_i2c_adapter(i2c->dev.parent);
sound/soc/codecs/max98520.c
684
ret = i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE | I2C_FUNC_SMBUS_BYTE_DATA);
sound/soc/codecs/pcm6240.c
1335
struct i2c_adapter *adap = pcm_dev->client->adapter;
sound/soc/codecs/pcm6240.c
1408
struct i2c_adapter *adap = pcm_dev->client->adapter;
sound/soc/codecs/pcm6240.c
1585
struct i2c_adapter *adap = pcm_dev->client->adapter;
sound/soc/codecs/rl6347a.c
94
ret = i2c_transfer(client->adapter, xfer, 2);
sound/soc/codecs/sigmadsp-i2c.c
59
ret = i2c_transfer(client->adapter, msgs, ARRAY_SIZE(msgs));
sound/soc/codecs/tas5086.c
218
ret = i2c_transfer(client->adapter, msgs, ARRAY_SIZE(msgs));
sound/soc/codecs/tas571x.c
126
ret = i2c_transfer(client->adapter, msgs, ARRAY_SIZE(msgs));
sound/soc/codecs/tas571x.c
202
ret = i2c_transfer(client->adapter, msgs, ARRAY_SIZE(msgs));
sound/soc/codecs/tlv320aic23-i2c.c
23
if (!i2c_check_functionality(i2c->adapter, I2C_FUNC_SMBUS_BYTE_DATA))
tools/include/uapi/linux/kvm.h
1044
struct kvm_irq_routing_s390_adapter adapter;
tools/testing/selftests/kvm/s390/irq_routing.c
44
routing->entries[0].u.adapter.summary_addr = (uintptr_t)mem;
tools/testing/selftests/kvm/s390/irq_routing.c
45
routing->entries[0].u.adapter.ind_addr = (uintptr_t)mem;
tools/testing/selftests/kvm/s390/irq_routing.c
47
routing->entries[0].u.adapter.summary_offset = 4096 * 8;
tools/testing/selftests/kvm/s390/irq_routing.c
51
routing->entries[0].u.adapter.summary_offset -= 4;
tools/testing/selftests/kvm/s390/irq_routing.c
55
routing->entries[0].u.adapter.ind_offset = 4096 * 8;
tools/testing/selftests/kvm/s390/irq_routing.c
59
routing->entries[0].u.adapter.ind_offset -= 4;
tools/testing/selftests/kvm/s390/ucontrol_test.c
785
.u.adapter = (struct kvm_irq_routing_s390_adapter) {