drivers/net/ethernet/brocade/bna/bna.h
104
void (*cbfn)(struct bnad *, struct bna_rx *); \
drivers/net/ethernet/brocade/bna/bna.h
105
struct bnad *cbarg; \
drivers/net/ethernet/brocade/bna/bna.h
260
void bna_init(struct bna *bna, struct bnad *bnad,
drivers/net/ethernet/brocade/bna/bna.h
308
struct bna_tx *bna_tx_create(struct bna *bna, struct bnad *bnad,
drivers/net/ethernet/brocade/bna/bna.h
345
struct bna_rx *bna_rx_create(struct bna *bna, struct bnad *bnad,
drivers/net/ethernet/brocade/bna/bna.h
361
void (*cbfn)(struct bnad *,
drivers/net/ethernet/brocade/bna/bna.h
391
void (*cbfn)(struct bnad *));
drivers/net/ethernet/brocade/bna/bna.h
404
void bnad_cb_ethport_link_status(struct bnad *bnad,
drivers/net/ethernet/brocade/bna/bna.h
408
void bnad_cb_ioceth_ready(struct bnad *bnad);
drivers/net/ethernet/brocade/bna/bna.h
409
void bnad_cb_ioceth_failed(struct bnad *bnad);
drivers/net/ethernet/brocade/bna/bna.h
410
void bnad_cb_ioceth_disabled(struct bnad *bnad);
drivers/net/ethernet/brocade/bna/bna.h
411
void bnad_cb_mbox_intr_enable(struct bnad *bnad);
drivers/net/ethernet/brocade/bna/bna.h
412
void bnad_cb_mbox_intr_disable(struct bnad *bnad);
drivers/net/ethernet/brocade/bna/bna.h
415
void bnad_cb_stats_get(struct bnad *bnad, enum bna_cb_status status,
drivers/net/ethernet/brocade/bna/bna_enet.c
119
ethport->link_cbfn(ethport->bna->bnad, BNA_LINK_DOWN);
drivers/net/ethernet/brocade/bna/bna_enet.c
1274
(*cbfn)(enet->bna->bnad);
drivers/net/ethernet/brocade/bna/bna_enet.c
1279
enet->stop_cbarg = enet->bna->bnad;
drivers/net/ethernet/brocade/bna/bna_enet.c
1297
void (*cbfn)(struct bnad *))
drivers/net/ethernet/brocade/bna/bna_enet.c
1318
bnad_cb_mbox_intr_enable((_ioceth)->bna->bnad); \
drivers/net/ethernet/brocade/bna/bna_enet.c
1325
bnad_cb_mbox_intr_disable((_ioceth)->bna->bnad); \
drivers/net/ethernet/brocade/bna/bna_enet.c
1331
void (*cbfn)(struct bnad *); \
drivers/net/ethernet/brocade/bna/bna_enet.c
1332
struct bnad *cbarg; \
drivers/net/ethernet/brocade/bna/bna_enet.c
1486
bnad_cb_ioceth_ready(ioceth->bna->bnad);
drivers/net/ethernet/brocade/bna/bna_enet.c
1593
bnad_cb_ioceth_failed(ioceth->bna->bnad);
drivers/net/ethernet/brocade/bna/bna_enet.c
1755
bnad_cb_ioceth_ready(ioceth->bna->bnad);
drivers/net/ethernet/brocade/bna/bna_enet.c
1767
bnad_cb_ioceth_disabled(ioceth->bna->bnad);
drivers/net/ethernet/brocade/bna/bna_enet.c
1772
ioceth->stop_cbarg = ioceth->bna->bnad;
drivers/net/ethernet/brocade/bna/bna_enet.c
1966
bna_init(struct bna *bna, struct bnad *bnad,
drivers/net/ethernet/brocade/bna/bna_enet.c
1969
bna->bnad = bnad;
drivers/net/ethernet/brocade/bna/bna_enet.c
2022
bna->bnad = NULL;
drivers/net/ethernet/brocade/bna/bna_enet.c
2085
bnad_cb_stats_get(bna->bnad, BNA_CB_FAIL, &bna->stats);
drivers/net/ethernet/brocade/bna/bna_enet.c
2089
bnad_cb_stats_get(bna->bnad, BNA_CB_BUSY, &bna->stats);
drivers/net/ethernet/brocade/bna/bna_enet.c
229
bnad_cb_stats_get(bna->bnad, BNA_CB_SUCCESS, &bna->stats);
drivers/net/ethernet/brocade/bna/bna_enet.c
239
ethport->link_cbfn(ethport->bna->bnad, ethport->link_status);
drivers/net/ethernet/brocade/bna/bna_enet.c
249
ethport->link_cbfn(ethport->bna->bnad, BNA_LINK_DOWN);
drivers/net/ethernet/brocade/bna/bna_enet.c
397
void (*cbfn)(struct bnad *, enum bna_cb_status); \
drivers/net/ethernet/brocade/bna/bna_enet.c
400
cbfn((ethport)->bna->bnad, status); \
drivers/net/ethernet/brocade/bna/bna_enet.c
773
ethport->link_cbfn(ethport->bna->bnad, BNA_LINK_DOWN);
drivers/net/ethernet/brocade/bna/bna_enet.c
882
void (*cbfn)(struct bnad *); \
drivers/net/ethernet/brocade/bna/bna_enet.c
885
cbfn((enet)->bna->bnad); \
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
1286
(rx)->rx_stall_cbfn((rx)->bna->bnad, (rx)); \
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
1370
rx->rx_cleanup_cbfn(rx->bna->bnad, rx);
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
1407
rx->rx_post_cbfn(rx->bna->bnad, rx);
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
1424
rx->rx_cleanup_cbfn(rx->bna->bnad, rx);
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
1495
rx->rx_cleanup_cbfn(rx->bna->bnad, rx);
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
1516
rx->rx_cleanup_cbfn(rx->bna->bnad, rx);
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
2250
bna_rx_create(struct bna *bna, struct bnad *bnad,
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
2391
q0->rcb->bnad = bna->bnad;
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
2401
rx->rcb_setup_cbfn(bnad, q0->rcb);
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
2417
q1->rcb->bnad = bna->bnad;
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
2431
rx->rcb_setup_cbfn(bnad, q1->rcb);
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
2461
rxp->cq.ccb->bnad = bna->bnad;
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
2468
rx->ccb_setup_cbfn(bnad, rxp->cq.ccb);
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
2498
rx->rcb_destroy_cbfn(rx->bna->bnad, q0->rcb);
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
2506
rx->rcb_destroy_cbfn(rx->bna->bnad, q1->rcb);
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
2516
rx->ccb_destroy_cbfn(rx->bna->bnad, rxp->cq.ccb);
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
2552
(*cbfn)(rx->bna->bnad, rx);
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
2555
rx->stop_cbarg = rx->bna->bnad;
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
2651
rxf->cam_fltr_cbarg = rx->bna->bnad;
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
2878
tx->tx_resume_cbfn(tx->bna->bnad, tx);
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
2887
tx->tx_stall_cbfn(tx->bna->bnad, tx);
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
2893
tx->tx_stall_cbfn(tx->bna->bnad, tx);
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
2894
tx->tx_cleanup_cbfn(tx->bna->bnad, tx);
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
2918
tx->tx_cleanup_cbfn(tx->bna->bnad, tx);
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
2964
tx->tx_stall_cbfn(tx->bna->bnad, tx);
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
2978
tx->tx_cleanup_cbfn(tx->bna->bnad, tx);
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
2997
tx->tx_cleanup_cbfn(tx->bna->bnad, tx);
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
3363
bna_tx_create(struct bna *bna, struct bnad *bnad,
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
3475
txq->tcb->bnad = bnad;
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
3487
(tx->tcb_setup_cbfn)(bna->bnad, txq->tcb);
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
3517
(tx->tcb_destroy_cbfn)(tx->bna->bnad, txq->tcb);
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
3540
(*cbfn)(tx->bna->bnad, tx);
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
3545
tx->stop_cbarg = tx->bna->bnad;
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
738
rxf->cam_fltr_cbarg = rx->bna->bnad;
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
747
void (*cbfn)(struct bnad *, struct bna_rx *))
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
756
cbfn(rx->bna->bnad, rx);
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
767
rxf->cam_fltr_cbarg = rx->bna->bnad;
drivers/net/ethernet/brocade/bna/bna_types.h
30
struct bnad;
drivers/net/ethernet/brocade/bna/bna_types.h
325
void (*stop_cbfn)(struct bnad *bnad);
drivers/net/ethernet/brocade/bna/bna_types.h
326
struct bnad *stop_cbarg;
drivers/net/ethernet/brocade/bna/bna_types.h
355
void (*mtu_cbfn)(struct bnad *);
drivers/net/ethernet/brocade/bna/bna_types.h
379
void (*adminup_cbfn)(struct bnad *, enum bna_cb_status);
drivers/net/ethernet/brocade/bna/bna_types.h
381
void (*link_cbfn)(struct bnad *, enum bna_link_status);
drivers/net/ethernet/brocade/bna/bna_types.h
433
struct bnad *bnad;
drivers/net/ethernet/brocade/bna/bna_types.h
482
void (*tcb_setup_cbfn)(struct bnad *, struct bna_tcb *);
drivers/net/ethernet/brocade/bna/bna_types.h
483
void (*tcb_destroy_cbfn)(struct bnad *, struct bna_tcb *);
drivers/net/ethernet/brocade/bna/bna_types.h
484
void (*tx_stall_cbfn)(struct bnad *, struct bna_tx *);
drivers/net/ethernet/brocade/bna/bna_types.h
485
void (*tx_resume_cbfn)(struct bnad *, struct bna_tx *);
drivers/net/ethernet/brocade/bna/bna_types.h
486
void (*tx_cleanup_cbfn)(struct bnad *, struct bna_tx *);
drivers/net/ethernet/brocade/bna/bna_types.h
513
void (*tcb_setup_cbfn)(struct bnad *, struct bna_tcb *);
drivers/net/ethernet/brocade/bna/bna_types.h
514
void (*tcb_destroy_cbfn)(struct bnad *, struct bna_tcb *);
drivers/net/ethernet/brocade/bna/bna_types.h
516
void (*tx_stall_cbfn)(struct bnad *, struct bna_tx *);
drivers/net/ethernet/brocade/bna/bna_types.h
517
void (*tx_resume_cbfn)(struct bnad *, struct bna_tx *);
drivers/net/ethernet/brocade/bna/bna_types.h
518
void (*tx_cleanup_cbfn)(struct bnad *, struct bna_tx *);
drivers/net/ethernet/brocade/bna/bna_types.h
564
struct bnad *bnad;
drivers/net/ethernet/brocade/bna/bna_types.h
633
struct bnad *bnad;
drivers/net/ethernet/brocade/bna/bna_types.h
742
void (*cam_fltr_cbfn)(struct bnad *bnad, struct bna_rx *rx);
drivers/net/ethernet/brocade/bna/bna_types.h
743
struct bnad *cam_fltr_cbarg;
drivers/net/ethernet/brocade/bna/bna_types.h
814
void (*rcb_setup_cbfn)(struct bnad *, struct bna_rcb *);
drivers/net/ethernet/brocade/bna/bna_types.h
815
void (*rcb_destroy_cbfn)(struct bnad *, struct bna_rcb *);
drivers/net/ethernet/brocade/bna/bna_types.h
816
void (*ccb_setup_cbfn)(struct bnad *, struct bna_ccb *);
drivers/net/ethernet/brocade/bna/bna_types.h
817
void (*ccb_destroy_cbfn)(struct bnad *, struct bna_ccb *);
drivers/net/ethernet/brocade/bna/bna_types.h
818
void (*rx_stall_cbfn)(struct bnad *, struct bna_rx *);
drivers/net/ethernet/brocade/bna/bna_types.h
819
void (*rx_cleanup_cbfn)(struct bnad *, struct bna_rx *);
drivers/net/ethernet/brocade/bna/bna_types.h
820
void (*rx_post_cbfn)(struct bnad *, struct bna_rx *);
drivers/net/ethernet/brocade/bna/bna_types.h
832
void (*rcb_setup_cbfn)(struct bnad *, struct bna_rcb *);
drivers/net/ethernet/brocade/bna/bna_types.h
833
void (*rcb_destroy_cbfn)(struct bnad *, struct bna_rcb *);
drivers/net/ethernet/brocade/bna/bna_types.h
834
void (*ccb_setup_cbfn)(struct bnad *, struct bna_ccb *);
drivers/net/ethernet/brocade/bna/bna_types.h
835
void (*ccb_destroy_cbfn)(struct bnad *, struct bna_ccb *);
drivers/net/ethernet/brocade/bna/bna_types.h
836
void (*rx_stall_cbfn)(struct bnad *, struct bna_rx *);
drivers/net/ethernet/brocade/bna/bna_types.h
838
void (*rx_cleanup_cbfn)(struct bnad *, struct bna_rx *);
drivers/net/ethernet/brocade/bna/bna_types.h
839
void (*rx_post_cbfn)(struct bnad *, struct bna_rx *);
drivers/net/ethernet/brocade/bna/bna_types.h
944
struct bnad *bnad;
drivers/net/ethernet/brocade/bna/bnad.c
1000
bnad_cb_tcb_setup(struct bnad *bnad, struct bna_tcb *tcb)
drivers/net/ethernet/brocade/bna/bnad.c
1010
bnad_cb_tcb_destroy(struct bnad *bnad, struct bna_tcb *tcb)
drivers/net/ethernet/brocade/bna/bnad.c
1020
bnad_cb_ccb_setup(struct bnad *bnad, struct bna_ccb *ccb)
drivers/net/ethernet/brocade/bna/bnad.c
1030
bnad_cb_ccb_destroy(struct bnad *bnad, struct bna_ccb *ccb)
drivers/net/ethernet/brocade/bna/bnad.c
1039
bnad_cb_tx_stall(struct bnad *bnad, struct bna_tx *tx)
drivers/net/ethernet/brocade/bna/bnad.c
104
dma_unmap_single(&bnad->pcidev->dev,
drivers/net/ethernet/brocade/bna/bnad.c
1052
netif_stop_subqueue(bnad->netdev, txq_id);
drivers/net/ethernet/brocade/bna/bnad.c
1057
bnad_cb_tx_resume(struct bnad *bnad, struct bna_tx *tx)
drivers/net/ethernet/brocade/bna/bnad.c
1074
if (netif_carrier_ok(bnad->netdev)) {
drivers/net/ethernet/brocade/bna/bnad.c
1075
netif_wake_subqueue(bnad->netdev, txq_id);
drivers/net/ethernet/brocade/bna/bnad.c
1076
BNAD_UPDATE_CTR(bnad, netif_queue_wakeup);
drivers/net/ethernet/brocade/bna/bnad.c
1085
if (is_zero_ether_addr(bnad->perm_addr)) {
drivers/net/ethernet/brocade/bna/bnad.c
1086
bna_enet_perm_mac_get(&bnad->bna.enet, bnad->perm_addr);
drivers/net/ethernet/brocade/bna/bnad.c
1087
bnad_set_netdev_perm_addr(bnad);
drivers/net/ethernet/brocade/bna/bnad.c
1099
struct bnad *bnad = NULL;
drivers/net/ethernet/brocade/bna/bnad.c
1109
bnad = tcb->bnad;
drivers/net/ethernet/brocade/bna/bnad.c
1116
bnad_txq_cleanup(bnad, tcb);
drivers/net/ethernet/brocade/bna/bnad.c
1123
queue_delayed_work(bnad->work_q, &tx_info->tx_cleanup_work,
drivers/net/ethernet/brocade/bna/bnad.c
1128
spin_lock_irqsave(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
1130
spin_unlock_irqrestore(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
1134
bnad_cb_tx_cleanup(struct bnad *bnad, struct bna_tx *tx)
drivers/net/ethernet/brocade/bna/bnad.c
1146
queue_delayed_work(bnad->work_q, &tx_info->tx_cleanup_work, 0);
drivers/net/ethernet/brocade/bna/bnad.c
1150
bnad_cb_rx_stall(struct bnad *bnad, struct bna_rx *rx)
drivers/net/ethernet/brocade/bna/bnad.c
1179
struct bnad *bnad = NULL;
drivers/net/ethernet/brocade/bna/bnad.c
1189
bnad = rx_ctrl->ccb->bnad;
drivers/net/ethernet/brocade/bna/bnad.c
119
dma_unmap_page(&bnad->pcidev->dev,
drivers/net/ethernet/brocade/bna/bnad.c
1197
bnad_cq_cleanup(bnad, rx_ctrl->ccb);
drivers/net/ethernet/brocade/bna/bnad.c
1198
bnad_rxq_cleanup(bnad, rx_ctrl->ccb->rcb[0]);
drivers/net/ethernet/brocade/bna/bnad.c
1200
bnad_rxq_cleanup(bnad, rx_ctrl->ccb->rcb[1]);
drivers/net/ethernet/brocade/bna/bnad.c
1203
spin_lock_irqsave(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
1205
spin_unlock_irqrestore(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
1209
bnad_cb_rx_cleanup(struct bnad *bnad, struct bna_rx *rx)
drivers/net/ethernet/brocade/bna/bnad.c
1228
queue_work(bnad->work_q, &rx_info->rx_cleanup_work);
drivers/net/ethernet/brocade/bna/bnad.c
1232
bnad_cb_rx_post(struct bnad *bnad, struct bna_rx *rx)
drivers/net/ethernet/brocade/bna/bnad.c
1253
bnad_rxq_alloc_init(bnad, rcb);
drivers/net/ethernet/brocade/bna/bnad.c
1256
bnad_rxq_post(bnad, rcb);
drivers/net/ethernet/brocade/bna/bnad.c
1264
struct bnad *bnad = (struct bnad *)arg;
drivers/net/ethernet/brocade/bna/bnad.c
1266
complete(&bnad->bnad_completions.rx_comp);
drivers/net/ethernet/brocade/bna/bnad.c
1270
bnad_cb_rx_mcast_add(struct bnad *bnad, struct bna_rx *rx)
drivers/net/ethernet/brocade/bna/bnad.c
1272
bnad->bnad_completions.mcast_comp_status = BNA_CB_SUCCESS;
drivers/net/ethernet/brocade/bna/bnad.c
1273
complete(&bnad->bnad_completions.mcast_comp);
drivers/net/ethernet/brocade/bna/bnad.c
1277
bnad_cb_stats_get(struct bnad *bnad, enum bna_cb_status status,
drivers/net/ethernet/brocade/bna/bnad.c
1281
BNAD_UPDATE_CTR(bnad, hw_stats_updates);
drivers/net/ethernet/brocade/bna/bnad.c
1283
if (!netif_running(bnad->netdev) ||
drivers/net/ethernet/brocade/bna/bnad.c
1284
!test_bit(BNAD_RF_STATS_TIMER_RUNNING, &bnad->run_flags))
drivers/net/ethernet/brocade/bna/bnad.c
1287
mod_timer(&bnad->stats_timer,
drivers/net/ethernet/brocade/bna/bnad.c
1292
bnad_cb_enet_mtu_set(struct bnad *bnad)
drivers/net/ethernet/brocade/bna/bnad.c
1294
bnad->bnad_completions.mtu_comp_status = BNA_CB_SUCCESS;
drivers/net/ethernet/brocade/bna/bnad.c
1295
complete(&bnad->bnad_completions.mtu_comp);
drivers/net/ethernet/brocade/bna/bnad.c
1311
bnad_mem_free(struct bnad *bnad,
drivers/net/ethernet/brocade/bna/bnad.c
1325
dma_free_coherent(&bnad->pcidev->dev,
drivers/net/ethernet/brocade/bna/bnad.c
1337
bnad_mem_alloc(struct bnad *bnad,
drivers/net/ethernet/brocade/bna/bnad.c
1356
dma_alloc_coherent(&bnad->pcidev->dev,
drivers/net/ethernet/brocade/bna/bnad.c
1378
bnad_mem_free(bnad, mem_info);
drivers/net/ethernet/brocade/bna/bnad.c
138
bnad_txq_cleanup(struct bnad *bnad, struct bna_tcb *tcb)
drivers/net/ethernet/brocade/bna/bnad.c
1384
bnad_mbox_irq_free(struct bnad *bnad)
drivers/net/ethernet/brocade/bna/bnad.c
1389
spin_lock_irqsave(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
1390
bnad_disable_mbox_irq(bnad);
drivers/net/ethernet/brocade/bna/bnad.c
1391
spin_unlock_irqrestore(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
1393
irq = BNAD_GET_MBOX_IRQ(bnad);
drivers/net/ethernet/brocade/bna/bnad.c
1394
free_irq(irq, bnad);
drivers/net/ethernet/brocade/bna/bnad.c
1403
bnad_mbox_irq_alloc(struct bnad *bnad)
drivers/net/ethernet/brocade/bna/bnad.c
1410
spin_lock_irqsave(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
1411
if (bnad->cfg_flags & BNAD_CF_MSIX) {
drivers/net/ethernet/brocade/bna/bnad.c
1413
irq = bnad->msix_table[BNAD_MAILBOX_MSIX_INDEX].vector;
drivers/net/ethernet/brocade/bna/bnad.c
1417
irq = bnad->pcidev->irq;
drivers/net/ethernet/brocade/bna/bnad.c
1421
spin_unlock_irqrestore(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
1422
sprintf(bnad->mbox_irq_name, "%s", BNAD_NAME);
drivers/net/ethernet/brocade/bna/bnad.c
1428
set_bit(BNAD_RF_MBOX_IRQ_DISABLED, &bnad->run_flags);
drivers/net/ethernet/brocade/bna/bnad.c
1430
BNAD_UPDATE_CTR(bnad, mbox_intr_disabled);
drivers/net/ethernet/brocade/bna/bnad.c
1433
bnad->mbox_irq_name, bnad);
drivers/net/ethernet/brocade/bna/bnad.c
1439
bnad_txrx_irq_free(struct bnad *bnad, struct bna_intr_info *intr_info)
drivers/net/ethernet/brocade/bna/bnad.c
1447
bnad_txrx_irq_alloc(struct bnad *bnad, enum bnad_intr_source src,
drivers/net/ethernet/brocade/bna/bnad.c
1454
spin_lock_irqsave(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
1455
cfg_flags = bnad->cfg_flags;
drivers/net/ethernet/brocade/bna/bnad.c
1456
spin_unlock_irqrestore(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
1472
(bnad->num_tx * bnad->num_txq_per_tx) +
drivers/net/ethernet/brocade/bna/bnad.c
148
bnad_tx_buff_unmap(bnad, unmap_q, tcb->q_depth, i);
drivers/net/ethernet/brocade/bna/bnad.c
1507
bnad_tx_msix_unregister(struct bnad *bnad, struct bnad_tx_info *tx_info,
drivers/net/ethernet/brocade/bna/bnad.c
1518
free_irq(bnad->msix_table[vector_num].vector, tx_info->tcb[i]);
drivers/net/ethernet/brocade/bna/bnad.c
1526
bnad_tx_msix_register(struct bnad *bnad, struct bnad_tx_info *tx_info,
drivers/net/ethernet/brocade/bna/bnad.c
1536
bnad->netdev->name,
drivers/net/ethernet/brocade/bna/bnad.c
1538
err = request_irq(bnad->msix_table[vector_num].vector,
drivers/net/ethernet/brocade/bna/bnad.c
1550
bnad_tx_msix_unregister(bnad, tx_info, (i - 1));
drivers/net/ethernet/brocade/bna/bnad.c
1558
bnad_rx_msix_unregister(struct bnad *bnad, struct bnad_rx_info *rx_info,
drivers/net/ethernet/brocade/bna/bnad.c
1569
free_irq(bnad->msix_table[vector_num].vector,
drivers/net/ethernet/brocade/bna/bnad.c
1578
bnad_rx_msix_register(struct bnad *bnad, struct bnad_rx_info *rx_info,
drivers/net/ethernet/brocade/bna/bnad.c
1588
"%s CQ %d", bnad->netdev->name,
drivers/net/ethernet/brocade/bna/bnad.c
1590
err = request_irq(bnad->msix_table[vector_num].vector,
drivers/net/ethernet/brocade/bna/bnad.c
160
bnad_txcmpl_process(struct bnad *bnad, struct bna_tcb *tcb)
drivers/net/ethernet/brocade/bna/bnad.c
1602
bnad_rx_msix_unregister(bnad, rx_info, (i - 1));
drivers/net/ethernet/brocade/bna/bnad.c
1608
bnad_tx_res_free(struct bnad *bnad, struct bna_res_info *res_info)
drivers/net/ethernet/brocade/bna/bnad.c
1614
bnad_mem_free(bnad, &res_info[i].res_u.mem_info);
drivers/net/ethernet/brocade/bna/bnad.c
1616
bnad_txrx_irq_free(bnad, &res_info[i].res_u.intr_info);
drivers/net/ethernet/brocade/bna/bnad.c
1622
bnad_tx_res_alloc(struct bnad *bnad, struct bna_res_info *res_info,
drivers/net/ethernet/brocade/bna/bnad.c
1629
err = bnad_mem_alloc(bnad,
drivers/net/ethernet/brocade/bna/bnad.c
1632
err = bnad_txrx_irq_alloc(bnad, BNAD_INTR_TX, tx_id,
drivers/net/ethernet/brocade/bna/bnad.c
1640
bnad_tx_res_free(bnad, res_info);
drivers/net/ethernet/brocade/bna/bnad.c
1646
bnad_rx_res_free(struct bnad *bnad, struct bna_res_info *res_info)
drivers/net/ethernet/brocade/bna/bnad.c
1652
bnad_mem_free(bnad, &res_info[i].res_u.mem_info);
drivers/net/ethernet/brocade/bna/bnad.c
1654
bnad_txrx_irq_free(bnad, &res_info[i].res_u.intr_info);
drivers/net/ethernet/brocade/bna/bnad.c
1660
bnad_rx_res_alloc(struct bnad *bnad, struct bna_res_info *res_info,
drivers/net/ethernet/brocade/bna/bnad.c
1668
err = bnad_mem_alloc(bnad,
drivers/net/ethernet/brocade/bna/bnad.c
1671
err = bnad_txrx_irq_alloc(bnad, BNAD_INTR_RX, rx_id,
drivers/net/ethernet/brocade/bna/bnad.c
1679
bnad_rx_res_free(bnad, res_info);
drivers/net/ethernet/brocade/bna/bnad.c
1688
struct bnad *bnad = timer_container_of(bnad, t,
drivers/net/ethernet/brocade/bna/bnad.c
1692
spin_lock_irqsave(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
1693
bfa_nw_ioc_timeout(&bnad->bna.ioceth.ioc);
drivers/net/ethernet/brocade/bna/bnad.c
1694
spin_unlock_irqrestore(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
1700
struct bnad *bnad = timer_container_of(bnad, t,
drivers/net/ethernet/brocade/bna/bnad.c
1704
spin_lock_irqsave(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
1705
bfa_nw_ioc_hb_check(&bnad->bna.ioceth.ioc);
drivers/net/ethernet/brocade/bna/bnad.c
1706
spin_unlock_irqrestore(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
1712
struct bnad *bnad = timer_container_of(bnad, t,
drivers/net/ethernet/brocade/bna/bnad.c
1716
spin_lock_irqsave(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
1717
bfa_nw_iocpf_timeout(&bnad->bna.ioceth.ioc);
drivers/net/ethernet/brocade/bna/bnad.c
1718
spin_unlock_irqrestore(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
1724
struct bnad *bnad = timer_container_of(bnad, t,
drivers/net/ethernet/brocade/bna/bnad.c
1728
spin_lock_irqsave(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
1729
bfa_nw_iocpf_sem_timeout(&bnad->bna.ioceth.ioc);
drivers/net/ethernet/brocade/bna/bnad.c
1730
spin_unlock_irqrestore(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
1747
struct bnad *bnad = timer_container_of(bnad, t, dim_timer);
drivers/net/ethernet/brocade/bna/bnad.c
1753
if (!netif_carrier_ok(bnad->netdev))
drivers/net/ethernet/brocade/bna/bnad.c
1756
spin_lock_irqsave(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
1757
for (i = 0; i < bnad->num_rx; i++) {
drivers/net/ethernet/brocade/bna/bnad.c
1758
rx_info = &bnad->rx_info[i];
drivers/net/ethernet/brocade/bna/bnad.c
1761
for (j = 0; j < bnad->num_rxp_per_rx; j++) {
drivers/net/ethernet/brocade/bna/bnad.c
1770
if (test_bit(BNAD_RF_DIM_TIMER_RUNNING, &bnad->run_flags))
drivers/net/ethernet/brocade/bna/bnad.c
1771
mod_timer(&bnad->dim_timer,
drivers/net/ethernet/brocade/bna/bnad.c
1773
spin_unlock_irqrestore(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
1780
struct bnad *bnad = timer_container_of(bnad, t, stats_timer);
drivers/net/ethernet/brocade/bna/bnad.c
1783
if (!netif_running(bnad->netdev) ||
drivers/net/ethernet/brocade/bna/bnad.c
1784
!test_bit(BNAD_RF_STATS_TIMER_RUNNING, &bnad->run_flags))
drivers/net/ethernet/brocade/bna/bnad.c
1787
spin_lock_irqsave(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
1788
bna_hw_stats_get(&bnad->bna);
drivers/net/ethernet/brocade/bna/bnad.c
1789
spin_unlock_irqrestore(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
1797
bnad_dim_timer_start(struct bnad *bnad)
drivers/net/ethernet/brocade/bna/bnad.c
1799
if (bnad->cfg_flags & BNAD_CF_DIM_ENABLED &&
drivers/net/ethernet/brocade/bna/bnad.c
1800
!test_bit(BNAD_RF_DIM_TIMER_RUNNING, &bnad->run_flags)) {
drivers/net/ethernet/brocade/bna/bnad.c
1801
timer_setup(&bnad->dim_timer, bnad_dim_timeout, 0);
drivers/net/ethernet/brocade/bna/bnad.c
1802
set_bit(BNAD_RF_DIM_TIMER_RUNNING, &bnad->run_flags);
drivers/net/ethernet/brocade/bna/bnad.c
1803
mod_timer(&bnad->dim_timer,
drivers/net/ethernet/brocade/bna/bnad.c
1813
bnad_stats_timer_start(struct bnad *bnad)
drivers/net/ethernet/brocade/bna/bnad.c
1817
spin_lock_irqsave(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
1818
if (!test_and_set_bit(BNAD_RF_STATS_TIMER_RUNNING, &bnad->run_flags)) {
drivers/net/ethernet/brocade/bna/bnad.c
1819
timer_setup(&bnad->stats_timer, bnad_stats_timeout, 0);
drivers/net/ethernet/brocade/bna/bnad.c
1820
mod_timer(&bnad->stats_timer,
drivers/net/ethernet/brocade/bna/bnad.c
1823
spin_unlock_irqrestore(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
1831
bnad_stats_timer_stop(struct bnad *bnad)
drivers/net/ethernet/brocade/bna/bnad.c
1836
spin_lock_irqsave(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
1837
if (test_and_clear_bit(BNAD_RF_STATS_TIMER_RUNNING, &bnad->run_flags))
drivers/net/ethernet/brocade/bna/bnad.c
1839
spin_unlock_irqrestore(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
1841
timer_delete_sync(&bnad->stats_timer);
drivers/net/ethernet/brocade/bna/bnad.c
1863
struct bnad *bnad = rx_ctrl->bnad;
drivers/net/ethernet/brocade/bna/bnad.c
1868
if (!netif_carrier_ok(bnad->netdev))
drivers/net/ethernet/brocade/bna/bnad.c
1871
rcvd = bnad_cq_process(bnad, rx_ctrl->ccb, budget);
drivers/net/ethernet/brocade/bna/bnad.c
1887
bnad_napi_add(struct bnad *bnad, u32 rx_id)
drivers/net/ethernet/brocade/bna/bnad.c
1893
for (i = 0; i < bnad->num_rxp_per_rx; i++) {
drivers/net/ethernet/brocade/bna/bnad.c
1894
rx_ctrl = &bnad->rx_info[rx_id].rx_ctrl[i];
drivers/net/ethernet/brocade/bna/bnad.c
1895
netif_napi_add(bnad->netdev, &rx_ctrl->napi,
drivers/net/ethernet/brocade/bna/bnad.c
1901
bnad_napi_delete(struct bnad *bnad, u32 rx_id)
drivers/net/ethernet/brocade/bna/bnad.c
1906
for (i = 0; i < bnad->num_rxp_per_rx; i++)
drivers/net/ethernet/brocade/bna/bnad.c
1907
netif_napi_del(&bnad->rx_info[rx_id].rx_ctrl[i].napi);
drivers/net/ethernet/brocade/bna/bnad.c
191
cons = bnad_tx_buff_unmap(bnad, unmap_q, q_depth, cons);
drivers/net/ethernet/brocade/bna/bnad.c
1912
bnad_destroy_tx(struct bnad *bnad, u32 tx_id)
drivers/net/ethernet/brocade/bna/bnad.c
1914
struct bnad_tx_info *tx_info = &bnad->tx_info[tx_id];
drivers/net/ethernet/brocade/bna/bnad.c
1915
struct bna_res_info *res_info = &bnad->tx_res_info[tx_id].res_info[0];
drivers/net/ethernet/brocade/bna/bnad.c
1921
init_completion(&bnad->bnad_completions.tx_comp);
drivers/net/ethernet/brocade/bna/bnad.c
1922
spin_lock_irqsave(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
1924
spin_unlock_irqrestore(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
1925
wait_for_completion(&bnad->bnad_completions.tx_comp);
drivers/net/ethernet/brocade/bna/bnad.c
1928
bnad_tx_msix_unregister(bnad, tx_info,
drivers/net/ethernet/brocade/bna/bnad.c
1929
bnad->num_txq_per_tx);
drivers/net/ethernet/brocade/bna/bnad.c
1931
spin_lock_irqsave(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
1933
spin_unlock_irqrestore(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
1938
bnad_tx_res_free(bnad, res_info);
drivers/net/ethernet/brocade/bna/bnad.c
1943
bnad_setup_tx(struct bnad *bnad, u32 tx_id)
drivers/net/ethernet/brocade/bna/bnad.c
1946
struct bnad_tx_info *tx_info = &bnad->tx_info[tx_id];
drivers/net/ethernet/brocade/bna/bnad.c
1947
struct bna_res_info *res_info = &bnad->tx_res_info[tx_id].res_info[0];
drivers/net/ethernet/brocade/bna/bnad.c
1950
struct bna_tx_config *tx_config = &bnad->tx_config[tx_id];
drivers/net/ethernet/brocade/bna/bnad.c
1965
tx_config->num_txq = bnad->num_txq_per_tx;
drivers/net/ethernet/brocade/bna/bnad.c
1966
tx_config->txq_depth = bnad->txq_depth;
drivers/net/ethernet/brocade/bna/bnad.c
1968
tx_config->coalescing_timeo = bnad->tx_coalescing_timeo;
drivers/net/ethernet/brocade/bna/bnad.c
1971
spin_lock_irqsave(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
1972
bna_tx_res_req(bnad->num_txq_per_tx,
drivers/net/ethernet/brocade/bna/bnad.c
1973
bnad->txq_depth, res_info);
drivers/net/ethernet/brocade/bna/bnad.c
1974
spin_unlock_irqrestore(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
1978
bnad->num_txq_per_tx, (sizeof(struct bnad_tx_unmap) *
drivers/net/ethernet/brocade/bna/bnad.c
1979
bnad->txq_depth));
drivers/net/ethernet/brocade/bna/bnad.c
1982
err = bnad_tx_res_alloc(bnad, res_info, tx_id);
drivers/net/ethernet/brocade/bna/bnad.c
1987
spin_lock_irqsave(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
1988
tx = bna_tx_create(&bnad->bna, bnad, tx_config, &tx_cbfn, res_info,
drivers/net/ethernet/brocade/bna/bnad.c
1990
spin_unlock_irqrestore(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
2001
err = bnad_tx_msix_register(bnad, tx_info,
drivers/net/ethernet/brocade/bna/bnad.c
2002
tx_id, bnad->num_txq_per_tx);
drivers/net/ethernet/brocade/bna/bnad.c
2007
spin_lock_irqsave(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
2009
spin_unlock_irqrestore(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
2014
spin_lock_irqsave(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
2016
spin_unlock_irqrestore(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
2020
bnad_tx_res_free(bnad, res_info);
drivers/net/ethernet/brocade/bna/bnad.c
2027
bnad_init_rx_config(struct bnad *bnad, struct bna_rx_config *rx_config)
drivers/net/ethernet/brocade/bna/bnad.c
2031
rx_config->num_paths = bnad->num_rxp_per_rx;
drivers/net/ethernet/brocade/bna/bnad.c
2032
rx_config->coalescing_timeo = bnad->rx_coalescing_timeo;
drivers/net/ethernet/brocade/bna/bnad.c
2034
if (bnad->num_rxp_per_rx > 1) {
drivers/net/ethernet/brocade/bna/bnad.c
2042
bnad->num_rxp_per_rx - 1;
drivers/net/ethernet/brocade/bna/bnad.c
205
bnad_tx_complete(struct bnad *bnad, struct bna_tcb *tcb)
drivers/net/ethernet/brocade/bna/bnad.c
2051
rx_config->frame_size = BNAD_FRAME_SIZE(bnad->netdev->mtu);
drivers/net/ethernet/brocade/bna/bnad.c
2061
if (BNAD_PCI_DEV_IS_CAT2(bnad) &&
drivers/net/ethernet/brocade/bna/bnad.c
207
struct net_device *netdev = bnad->netdev;
drivers/net/ethernet/brocade/bna/bnad.c
2070
rx_config->q0_depth = bnad->rxq_depth * rx_config->q0_num_vecs;
drivers/net/ethernet/brocade/bna/bnad.c
2075
rx_config->q0_depth = bnad->rxq_depth;
drivers/net/ethernet/brocade/bna/bnad.c
2080
rx_config->q1_depth = bnad->rxq_depth;
drivers/net/ethernet/brocade/bna/bnad.c
2085
(bnad->netdev->features & NETIF_F_HW_VLAN_CTAG_RX) ?
drivers/net/ethernet/brocade/bna/bnad.c
2090
bnad_rx_ctrl_init(struct bnad *bnad, u32 rx_id)
drivers/net/ethernet/brocade/bna/bnad.c
2092
struct bnad_rx_info *rx_info = &bnad->rx_info[rx_id];
drivers/net/ethernet/brocade/bna/bnad.c
2095
for (i = 0; i < bnad->num_rxp_per_rx; i++)
drivers/net/ethernet/brocade/bna/bnad.c
2096
rx_info->rx_ctrl[i].bnad = bnad;
drivers/net/ethernet/brocade/bna/bnad.c
2101
bnad_reinit_rx(struct bnad *bnad)
drivers/net/ethernet/brocade/bna/bnad.c
2103
struct net_device *netdev = bnad->netdev;
drivers/net/ethernet/brocade/bna/bnad.c
2109
for (rx_id = 0; rx_id < bnad->num_rx; rx_id++) {
drivers/net/ethernet/brocade/bna/bnad.c
2110
if (!bnad->rx_info[rx_id].rx)
drivers/net/ethernet/brocade/bna/bnad.c
2112
bnad_destroy_rx(bnad, rx_id);
drivers/net/ethernet/brocade/bna/bnad.c
2115
spin_lock_irqsave(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
2116
bna_enet_mtu_set(&bnad->bna.enet,
drivers/net/ethernet/brocade/bna/bnad.c
2117
BNAD_FRAME_SIZE(bnad->netdev->mtu), NULL);
drivers/net/ethernet/brocade/bna/bnad.c
2118
spin_unlock_irqrestore(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
2120
for (rx_id = 0; rx_id < bnad->num_rx; rx_id++) {
drivers/net/ethernet/brocade/bna/bnad.c
2122
current_err = bnad_setup_rx(bnad, rx_id);
drivers/net/ethernet/brocade/bna/bnad.c
213
sent = bnad_txcmpl_process(bnad, tcb);
drivers/net/ethernet/brocade/bna/bnad.c
2130
if (bnad->rx_info[0].rx && !err) {
drivers/net/ethernet/brocade/bna/bnad.c
2131
bnad_restore_vlans(bnad, 0);
drivers/net/ethernet/brocade/bna/bnad.c
2132
bnad_enable_default_bcast(bnad);
drivers/net/ethernet/brocade/bna/bnad.c
2133
spin_lock_irqsave(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
2134
bnad_mac_addr_set_locked(bnad, netdev->dev_addr);
drivers/net/ethernet/brocade/bna/bnad.c
2135
spin_unlock_irqrestore(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
2144
bnad_destroy_rx(struct bnad *bnad, u32 rx_id)
drivers/net/ethernet/brocade/bna/bnad.c
2146
struct bnad_rx_info *rx_info = &bnad->rx_info[rx_id];
drivers/net/ethernet/brocade/bna/bnad.c
2147
struct bna_rx_config *rx_config = &bnad->rx_config[rx_id];
drivers/net/ethernet/brocade/bna/bnad.c
2148
struct bna_res_info *res_info = &bnad->rx_res_info[rx_id].res_info[0];
drivers/net/ethernet/brocade/bna/bnad.c
2156
spin_lock_irqsave(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
2157
if (bnad->cfg_flags & BNAD_CF_DIM_ENABLED &&
drivers/net/ethernet/brocade/bna/bnad.c
2158
test_bit(BNAD_RF_DIM_TIMER_RUNNING, &bnad->run_flags)) {
drivers/net/ethernet/brocade/bna/bnad.c
2159
clear_bit(BNAD_RF_DIM_TIMER_RUNNING, &bnad->run_flags);
drivers/net/ethernet/brocade/bna/bnad.c
2162
spin_unlock_irqrestore(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
2164
timer_delete_sync(&bnad->dim_timer);
drivers/net/ethernet/brocade/bna/bnad.c
2167
init_completion(&bnad->bnad_completions.rx_comp);
drivers/net/ethernet/brocade/bna/bnad.c
2168
spin_lock_irqsave(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
2170
spin_unlock_irqrestore(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
2171
wait_for_completion(&bnad->bnad_completions.rx_comp);
drivers/net/ethernet/brocade/bna/bnad.c
2174
bnad_rx_msix_unregister(bnad, rx_info, rx_config->num_paths);
drivers/net/ethernet/brocade/bna/bnad.c
2176
bnad_napi_delete(bnad, rx_id);
drivers/net/ethernet/brocade/bna/bnad.c
2178
spin_lock_irqsave(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
2183
spin_unlock_irqrestore(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
2185
bnad_rx_res_free(bnad, res_info);
drivers/net/ethernet/brocade/bna/bnad.c
2190
bnad_setup_rx(struct bnad *bnad, u32 rx_id)
drivers/net/ethernet/brocade/bna/bnad.c
2193
struct bnad_rx_info *rx_info = &bnad->rx_info[rx_id];
drivers/net/ethernet/brocade/bna/bnad.c
2194
struct bna_res_info *res_info = &bnad->rx_res_info[rx_id].res_info[0];
drivers/net/ethernet/brocade/bna/bnad.c
2197
struct bna_rx_config *rx_config = &bnad->rx_config[rx_id];
drivers/net/ethernet/brocade/bna/bnad.c
221
BNAD_UPDATE_CTR(bnad, netif_queue_wakeup);
drivers/net/ethernet/brocade/bna/bnad.c
2213
bnad_init_rx_config(bnad, rx_config);
drivers/net/ethernet/brocade/bna/bnad.c
2216
spin_lock_irqsave(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
2218
spin_unlock_irqrestore(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
2235
err = bnad_rx_res_alloc(bnad, res_info, rx_id);
drivers/net/ethernet/brocade/bna/bnad.c
2239
bnad_rx_ctrl_init(bnad, rx_id);
drivers/net/ethernet/brocade/bna/bnad.c
2242
spin_lock_irqsave(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
2243
rx = bna_rx_create(&bnad->bna, bnad, rx_config, &rx_cbfn, res_info,
drivers/net/ethernet/brocade/bna/bnad.c
2247
spin_unlock_irqrestore(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
2251
spin_unlock_irqrestore(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
2259
bnad_napi_add(bnad, rx_id);
drivers/net/ethernet/brocade/bna/bnad.c
2263
err = bnad_rx_msix_register(bnad, rx_info, rx_id,
drivers/net/ethernet/brocade/bna/bnad.c
2269
spin_lock_irqsave(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
2272
if (bnad->cfg_flags & BNAD_CF_DIM_ENABLED)
drivers/net/ethernet/brocade/bna/bnad.c
2273
bna_rx_dim_reconfig(&bnad->bna, bna_napi_dim_vector);
drivers/net/ethernet/brocade/bna/bnad.c
2279
bnad_dim_timer_start(bnad);
drivers/net/ethernet/brocade/bna/bnad.c
2283
spin_unlock_irqrestore(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
2288
bnad_destroy_rx(bnad, rx_id);
drivers/net/ethernet/brocade/bna/bnad.c
2294
bnad_tx_coalescing_timeo_set(struct bnad *bnad)
drivers/net/ethernet/brocade/bna/bnad.c
2298
tx_info = &bnad->tx_info[0];
drivers/net/ethernet/brocade/bna/bnad.c
2302
bna_tx_coalescing_timeo_set(tx_info->tx, bnad->tx_coalescing_timeo);
drivers/net/ethernet/brocade/bna/bnad.c
2307
bnad_rx_coalescing_timeo_set(struct bnad *bnad)
drivers/net/ethernet/brocade/bna/bnad.c
2312
for (i = 0; i < bnad->num_rx; i++) {
drivers/net/ethernet/brocade/bna/bnad.c
2313
rx_info = &bnad->rx_info[i];
drivers/net/ethernet/brocade/bna/bnad.c
2317
bnad->rx_coalescing_timeo);
drivers/net/ethernet/brocade/bna/bnad.c
2325
bnad_mac_addr_set_locked(struct bnad *bnad, const u8 *mac_addr)
drivers/net/ethernet/brocade/bna/bnad.c
2333
if (!bnad->rx_info[0].rx)
drivers/net/ethernet/brocade/bna/bnad.c
2336
ret = bna_rx_ucast_set(bnad->rx_info[0].rx, mac_addr);
drivers/net/ethernet/brocade/bna/bnad.c
2345
bnad_enable_default_bcast(struct bnad *bnad)
drivers/net/ethernet/brocade/bna/bnad.c
2347
struct bnad_rx_info *rx_info = &bnad->rx_info[0];
drivers/net/ethernet/brocade/bna/bnad.c
2351
init_completion(&bnad->bnad_completions.mcast_comp);
drivers/net/ethernet/brocade/bna/bnad.c
2353
spin_lock_irqsave(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
2356
spin_unlock_irqrestore(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
2359
wait_for_completion(&bnad->bnad_completions.mcast_comp);
drivers/net/ethernet/brocade/bna/bnad.c
2363
if (bnad->bnad_completions.mcast_comp_status != BNA_CB_SUCCESS)
drivers/net/ethernet/brocade/bna/bnad.c
2371
bnad_restore_vlans(struct bnad *bnad, u32 rx_id)
drivers/net/ethernet/brocade/bna/bnad.c
2376
for_each_set_bit(vid, bnad->active_vlans, VLAN_N_VID) {
drivers/net/ethernet/brocade/bna/bnad.c
2377
spin_lock_irqsave(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
2378
bna_rx_vlan_add(bnad->rx_info[rx_id].rx, vid);
drivers/net/ethernet/brocade/bna/bnad.c
2379
spin_unlock_irqrestore(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
2385
bnad_netdev_qstats_fill(struct bnad *bnad, struct rtnl_link_stats64 *stats)
drivers/net/ethernet/brocade/bna/bnad.c
2389
for (i = 0; i < bnad->num_rx; i++) {
drivers/net/ethernet/brocade/bna/bnad.c
2390
for (j = 0; j < bnad->num_rxp_per_rx; j++) {
drivers/net/ethernet/brocade/bna/bnad.c
2391
if (bnad->rx_info[i].rx_ctrl[j].ccb) {
drivers/net/ethernet/brocade/bna/bnad.c
2392
stats->rx_packets += bnad->rx_info[i].
drivers/net/ethernet/brocade/bna/bnad.c
2394
stats->rx_bytes += bnad->rx_info[i].
drivers/net/ethernet/brocade/bna/bnad.c
2396
if (bnad->rx_info[i].rx_ctrl[j].ccb->rcb[1] &&
drivers/net/ethernet/brocade/bna/bnad.c
2397
bnad->rx_info[i].rx_ctrl[j].ccb->
drivers/net/ethernet/brocade/bna/bnad.c
240
struct bnad *bnad = tcb->bnad;
drivers/net/ethernet/brocade/bna/bnad.c
2400
bnad->rx_info[i].rx_ctrl[j].
drivers/net/ethernet/brocade/bna/bnad.c
2403
bnad->rx_info[i].rx_ctrl[j].
drivers/net/ethernet/brocade/bna/bnad.c
2409
for (i = 0; i < bnad->num_tx; i++) {
drivers/net/ethernet/brocade/bna/bnad.c
2410
for (j = 0; j < bnad->num_txq_per_tx; j++) {
drivers/net/ethernet/brocade/bna/bnad.c
2411
if (bnad->tx_info[i].tcb[j]) {
drivers/net/ethernet/brocade/bna/bnad.c
2413
bnad->tx_info[i].tcb[j]->txq->tx_packets;
drivers/net/ethernet/brocade/bna/bnad.c
2415
bnad->tx_info[i].tcb[j]->txq->tx_bytes;
drivers/net/ethernet/brocade/bna/bnad.c
242
bnad_tx_complete(bnad, tcb);
drivers/net/ethernet/brocade/bna/bnad.c
2425
bnad_netdev_hwstats_fill(struct bnad *bnad, struct rtnl_link_stats64 *stats)
drivers/net/ethernet/brocade/bna/bnad.c
2431
mac_stats = &bnad->stats.bna_stats->hw_stats.mac_stats;
drivers/net/ethernet/brocade/bna/bnad.c
2450
bmap = bna_rx_rid_mask(&bnad->bna);
drivers/net/ethernet/brocade/bna/bnad.c
2454
bnad->stats.bna_stats->
drivers/net/ethernet/brocade/bna/bnad.c
2463
bnad_mbox_irq_sync(struct bnad *bnad)
drivers/net/ethernet/brocade/bna/bnad.c
2468
spin_lock_irqsave(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
2469
if (bnad->cfg_flags & BNAD_CF_MSIX)
drivers/net/ethernet/brocade/bna/bnad.c
2470
irq = bnad->msix_table[BNAD_MAILBOX_MSIX_INDEX].vector;
drivers/net/ethernet/brocade/bna/bnad.c
2472
irq = bnad->pcidev->irq;
drivers/net/ethernet/brocade/bna/bnad.c
2473
spin_unlock_irqrestore(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
248
bnad_rxq_alloc_uninit(struct bnad *bnad, struct bna_rcb *rcb)
drivers/net/ethernet/brocade/bna/bnad.c
2480
bnad_tso_prepare(struct bnad *bnad, struct sk_buff *skb)
drivers/net/ethernet/brocade/bna/bnad.c
2486
BNAD_UPDATE_CTR(bnad, tso_err);
drivers/net/ethernet/brocade/bna/bnad.c
2504
BNAD_UPDATE_CTR(bnad, tso4);
drivers/net/ethernet/brocade/bna/bnad.c
2507
BNAD_UPDATE_CTR(bnad, tso6);
drivers/net/ethernet/brocade/bna/bnad.c
2519
bnad_q_num_init(struct bnad *bnad)
drivers/net/ethernet/brocade/bna/bnad.c
2526
if (!(bnad->cfg_flags & BNAD_CF_MSIX))
drivers/net/ethernet/brocade/bna/bnad.c
2529
bnad->num_rx = 1;
drivers/net/ethernet/brocade/bna/bnad.c
2530
bnad->num_tx = 1;
drivers/net/ethernet/brocade/bna/bnad.c
2531
bnad->num_rxp_per_rx = rxps;
drivers/net/ethernet/brocade/bna/bnad.c
2532
bnad->num_txq_per_tx = BNAD_TXQ_NUM;
drivers/net/ethernet/brocade/bna/bnad.c
2542
bnad_q_num_adjust(struct bnad *bnad, int msix_vectors, int temp)
drivers/net/ethernet/brocade/bna/bnad.c
2544
bnad->num_txq_per_tx = 1;
drivers/net/ethernet/brocade/bna/bnad.c
2545
if ((msix_vectors >= (bnad->num_tx * bnad->num_txq_per_tx) +
drivers/net/ethernet/brocade/bna/bnad.c
2547
(bnad->cfg_flags & BNAD_CF_MSIX)) {
drivers/net/ethernet/brocade/bna/bnad.c
2548
bnad->num_rxp_per_rx = msix_vectors -
drivers/net/ethernet/brocade/bna/bnad.c
2549
(bnad->num_tx * bnad->num_txq_per_tx) -
drivers/net/ethernet/brocade/bna/bnad.c
2552
bnad->num_rxp_per_rx = 1;
drivers/net/ethernet/brocade/bna/bnad.c
2557
bnad_ioceth_disable(struct bnad *bnad)
drivers/net/ethernet/brocade/bna/bnad.c
2562
spin_lock_irqsave(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
2563
init_completion(&bnad->bnad_completions.ioc_comp);
drivers/net/ethernet/brocade/bna/bnad.c
2564
bna_ioceth_disable(&bnad->bna.ioceth, BNA_HARD_CLEANUP);
drivers/net/ethernet/brocade/bna/bnad.c
2565
spin_unlock_irqrestore(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
2567
wait_for_completion_timeout(&bnad->bnad_completions.ioc_comp,
drivers/net/ethernet/brocade/bna/bnad.c
2570
err = bnad->bnad_completions.ioc_comp_status;
drivers/net/ethernet/brocade/bna/bnad.c
2575
bnad_ioceth_enable(struct bnad *bnad)
drivers/net/ethernet/brocade/bna/bnad.c
2580
spin_lock_irqsave(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
2581
init_completion(&bnad->bnad_completions.ioc_comp);
drivers/net/ethernet/brocade/bna/bnad.c
2582
bnad->bnad_completions.ioc_comp_status = BNA_CB_WAITING;
drivers/net/ethernet/brocade/bna/bnad.c
2583
bna_ioceth_enable(&bnad->bna.ioceth);
drivers/net/ethernet/brocade/bna/bnad.c
2584
spin_unlock_irqrestore(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
2586
wait_for_completion_timeout(&bnad->bnad_completions.ioc_comp,
drivers/net/ethernet/brocade/bna/bnad.c
2589
err = bnad->bnad_completions.ioc_comp_status;
drivers/net/ethernet/brocade/bna/bnad.c
2596
bnad_res_free(struct bnad *bnad, struct bna_res_info *res_info,
drivers/net/ethernet/brocade/bna/bnad.c
260
bnad_rxq_alloc_init(struct bnad *bnad, struct bna_rcb *rcb)
drivers/net/ethernet/brocade/bna/bnad.c
2602
bnad_mem_free(bnad, &res_info[i].res_u.mem_info);
drivers/net/ethernet/brocade/bna/bnad.c
2607
bnad_res_alloc(struct bnad *bnad, struct bna_res_info *res_info,
drivers/net/ethernet/brocade/bna/bnad.c
2613
err = bnad_mem_alloc(bnad, &res_info[i].res_u.mem_info);
drivers/net/ethernet/brocade/bna/bnad.c
2620
bnad_res_free(bnad, res_info, res_val_max);
drivers/net/ethernet/brocade/bna/bnad.c
2626
bnad_enable_msix(struct bnad *bnad)
drivers/net/ethernet/brocade/bna/bnad.c
2631
spin_lock_irqsave(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
2632
if (!(bnad->cfg_flags & BNAD_CF_MSIX)) {
drivers/net/ethernet/brocade/bna/bnad.c
2633
spin_unlock_irqrestore(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
2636
spin_unlock_irqrestore(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
2638
if (bnad->msix_table)
drivers/net/ethernet/brocade/bna/bnad.c
2641
bnad->msix_table =
drivers/net/ethernet/brocade/bna/bnad.c
2642
kzalloc_objs(struct msix_entry, bnad->msix_num);
drivers/net/ethernet/brocade/bna/bnad.c
2644
if (!bnad->msix_table)
drivers/net/ethernet/brocade/bna/bnad.c
2647
for (i = 0; i < bnad->msix_num; i++)
drivers/net/ethernet/brocade/bna/bnad.c
2648
bnad->msix_table[i].entry = i;
drivers/net/ethernet/brocade/bna/bnad.c
265
bnad_rxq_alloc_uninit(bnad, rcb);
drivers/net/ethernet/brocade/bna/bnad.c
2650
ret = pci_enable_msix_range(bnad->pcidev, bnad->msix_table,
drivers/net/ethernet/brocade/bna/bnad.c
2651
1, bnad->msix_num);
drivers/net/ethernet/brocade/bna/bnad.c
2654
} else if (ret < bnad->msix_num) {
drivers/net/ethernet/brocade/bna/bnad.c
2655
dev_warn(&bnad->pcidev->dev,
drivers/net/ethernet/brocade/bna/bnad.c
2657
ret, bnad->msix_num);
drivers/net/ethernet/brocade/bna/bnad.c
2659
spin_lock_irqsave(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
2661
bnad_q_num_adjust(bnad, (ret - BNAD_MAILBOX_MSIX_VECTORS) / 2,
drivers/net/ethernet/brocade/bna/bnad.c
2663
spin_unlock_irqrestore(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
2665
bnad->msix_num = BNAD_NUM_TXQ + BNAD_NUM_RXP +
drivers/net/ethernet/brocade/bna/bnad.c
2668
if (bnad->msix_num > ret) {
drivers/net/ethernet/brocade/bna/bnad.c
2669
pci_disable_msix(bnad->pcidev);
drivers/net/ethernet/brocade/bna/bnad.c
2674
pci_intx(bnad->pcidev, 0);
drivers/net/ethernet/brocade/bna/bnad.c
2679
dev_warn(&bnad->pcidev->dev,
drivers/net/ethernet/brocade/bna/bnad.c
2682
kfree(bnad->msix_table);
drivers/net/ethernet/brocade/bna/bnad.c
2683
bnad->msix_table = NULL;
drivers/net/ethernet/brocade/bna/bnad.c
2684
bnad->msix_num = 0;
drivers/net/ethernet/brocade/bna/bnad.c
2685
spin_lock_irqsave(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
2686
bnad->cfg_flags &= ~BNAD_CF_MSIX;
drivers/net/ethernet/brocade/bna/bnad.c
2687
bnad_q_num_init(bnad);
drivers/net/ethernet/brocade/bna/bnad.c
2688
spin_unlock_irqrestore(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
2692
bnad_disable_msix(struct bnad *bnad)
drivers/net/ethernet/brocade/bna/bnad.c
2697
spin_lock_irqsave(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
2698
cfg_flags = bnad->cfg_flags;
drivers/net/ethernet/brocade/bna/bnad.c
2699
if (bnad->cfg_flags & BNAD_CF_MSIX)
drivers/net/ethernet/brocade/bna/bnad.c
2700
bnad->cfg_flags &= ~BNAD_CF_MSIX;
drivers/net/ethernet/brocade/bna/bnad.c
2701
spin_unlock_irqrestore(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
2704
pci_disable_msix(bnad->pcidev);
drivers/net/ethernet/brocade/bna/bnad.c
2705
kfree(bnad->msix_table);
drivers/net/ethernet/brocade/bna/bnad.c
2706
bnad->msix_table = NULL;
drivers/net/ethernet/brocade/bna/bnad.c
2715
struct bnad *bnad = netdev_priv(netdev);
drivers/net/ethernet/brocade/bna/bnad.c
2719
mutex_lock(&bnad->conf_mutex);
drivers/net/ethernet/brocade/bna/bnad.c
2722
err = bnad_setup_tx(bnad, 0);
drivers/net/ethernet/brocade/bna/bnad.c
2727
err = bnad_setup_rx(bnad, 0);
drivers/net/ethernet/brocade/bna/bnad.c
2735
spin_lock_irqsave(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
2736
bna_enet_mtu_set(&bnad->bna.enet,
drivers/net/ethernet/brocade/bna/bnad.c
2737
BNAD_FRAME_SIZE(bnad->netdev->mtu), NULL);
drivers/net/ethernet/brocade/bna/bnad.c
2738
bna_enet_pause_config(&bnad->bna.enet, &pause_config);
drivers/net/ethernet/brocade/bna/bnad.c
2739
bna_enet_enable(&bnad->bna.enet);
drivers/net/ethernet/brocade/bna/bnad.c
2740
spin_unlock_irqrestore(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
2743
bnad_enable_default_bcast(bnad);
drivers/net/ethernet/brocade/bna/bnad.c
2746
bnad_restore_vlans(bnad, 0);
drivers/net/ethernet/brocade/bna/bnad.c
2749
spin_lock_irqsave(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
2750
bnad_mac_addr_set_locked(bnad, netdev->dev_addr);
drivers/net/ethernet/brocade/bna/bnad.c
2751
spin_unlock_irqrestore(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
2754
bnad_stats_timer_start(bnad);
drivers/net/ethernet/brocade/bna/bnad.c
2756
mutex_unlock(&bnad->conf_mutex);
drivers/net/ethernet/brocade/bna/bnad.c
2761
bnad_destroy_tx(bnad, 0);
drivers/net/ethernet/brocade/bna/bnad.c
2764
mutex_unlock(&bnad->conf_mutex);
drivers/net/ethernet/brocade/bna/bnad.c
2771
struct bnad *bnad = netdev_priv(netdev);
drivers/net/ethernet/brocade/bna/bnad.c
2774
mutex_lock(&bnad->conf_mutex);
drivers/net/ethernet/brocade/bna/bnad.c
2777
bnad_stats_timer_stop(bnad);
drivers/net/ethernet/brocade/bna/bnad.c
2779
init_completion(&bnad->bnad_completions.enet_comp);
drivers/net/ethernet/brocade/bna/bnad.c
2781
spin_lock_irqsave(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
2782
bna_enet_disable(&bnad->bna.enet, BNA_HARD_CLEANUP,
drivers/net/ethernet/brocade/bna/bnad.c
2784
spin_unlock_irqrestore(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
2786
wait_for_completion(&bnad->bnad_completions.enet_comp);
drivers/net/ethernet/brocade/bna/bnad.c
2788
bnad_destroy_tx(bnad, 0);
drivers/net/ethernet/brocade/bna/bnad.c
2789
bnad_destroy_rx(bnad, 0);
drivers/net/ethernet/brocade/bna/bnad.c
2792
bnad_mbox_irq_sync(bnad);
drivers/net/ethernet/brocade/bna/bnad.c
2794
mutex_unlock(&bnad->conf_mutex);
drivers/net/ethernet/brocade/bna/bnad.c
2802
bnad_txq_wi_prepare(struct bnad *bnad, struct bna_tcb *tcb,
drivers/net/ethernet/brocade/bna/bnad.c
2813
if (test_bit(BNAD_RF_CEE_RUNNING, &bnad->run_flags)) {
drivers/net/ethernet/brocade/bna/bnad.c
2822
if (unlikely(gso_size > bnad->netdev->mtu)) {
drivers/net/ethernet/brocade/bna/bnad.c
2823
BNAD_UPDATE_CTR(bnad, tx_skb_mss_too_long);
drivers/net/ethernet/brocade/bna/bnad.c
2829
BNAD_UPDATE_CTR(bnad, tx_skb_tso_too_short);
drivers/net/ethernet/brocade/bna/bnad.c
2835
if (bnad_tso_prepare(bnad, skb)) {
drivers/net/ethernet/brocade/bna/bnad.c
2836
BNAD_UPDATE_CTR(bnad, tx_skb_tso_prepare);
drivers/net/ethernet/brocade/bna/bnad.c
2848
if (unlikely(skb->len > (bnad->netdev->mtu + VLAN_ETH_HLEN))) {
drivers/net/ethernet/brocade/bna/bnad.c
2849
BNAD_UPDATE_CTR(bnad, tx_skb_non_tso_too_long);
drivers/net/ethernet/brocade/bna/bnad.c
2871
BNAD_UPDATE_CTR(bnad, tcpcsum_offload);
drivers/net/ethernet/brocade/bna/bnad.c
2875
BNAD_UPDATE_CTR(bnad, tx_skb_tcp_hdr);
drivers/net/ethernet/brocade/bna/bnad.c
2884
BNAD_UPDATE_CTR(bnad, udpcsum_offload);
drivers/net/ethernet/brocade/bna/bnad.c
2888
BNAD_UPDATE_CTR(bnad, tx_skb_udp_hdr);
drivers/net/ethernet/brocade/bna/bnad.c
2893
BNAD_UPDATE_CTR(bnad, tx_skb_csum_err);
drivers/net/ethernet/brocade/bna/bnad.c
2913
struct bnad *bnad = netdev_priv(netdev);
drivers/net/ethernet/brocade/bna/bnad.c
2929
BNAD_UPDATE_CTR(bnad, tx_skb_too_short);
drivers/net/ethernet/brocade/bna/bnad.c
293
bnad_rxq_cleanup_page(struct bnad *bnad, struct bnad_rx_unmap *unmap)
drivers/net/ethernet/brocade/bna/bnad.c
2934
BNAD_UPDATE_CTR(bnad, tx_skb_headlen_zero);
drivers/net/ethernet/brocade/bna/bnad.c
2939
BNAD_UPDATE_CTR(bnad, tx_skb_headlen_zero);
drivers/net/ethernet/brocade/bna/bnad.c
2943
tcb = bnad->tx_info[0].tcb[txq_id];
drivers/net/ethernet/brocade/bna/bnad.c
2951
BNAD_UPDATE_CTR(bnad, tx_skb_stopping);
drivers/net/ethernet/brocade/bna/bnad.c
2964
BNAD_UPDATE_CTR(bnad, tx_skb_max_vectors);
drivers/net/ethernet/brocade/bna/bnad.c
2973
sent = bnad_txcmpl_process(bnad, tcb);
drivers/net/ethernet/brocade/bna/bnad.c
298
dma_unmap_page(&bnad->pcidev->dev,
drivers/net/ethernet/brocade/bna/bnad.c
2980
BNAD_UPDATE_CTR(bnad, netif_queue_stop);
drivers/net/ethernet/brocade/bna/bnad.c
2990
BNAD_UPDATE_CTR(bnad, netif_queue_stop);
drivers/net/ethernet/brocade/bna/bnad.c
2994
BNAD_UPDATE_CTR(bnad, netif_queue_wakeup);
drivers/net/ethernet/brocade/bna/bnad.c
3002
if (bnad_txq_wi_prepare(bnad, tcb, skb, txqent)) {
drivers/net/ethernet/brocade/bna/bnad.c
3014
dma_addr = dma_map_single(&bnad->pcidev->dev, skb->data,
drivers/net/ethernet/brocade/bna/bnad.c
3016
if (dma_mapping_error(&bnad->pcidev->dev, dma_addr)) {
drivers/net/ethernet/brocade/bna/bnad.c
3018
BNAD_UPDATE_CTR(bnad, tx_skb_map_failed);
drivers/net/ethernet/brocade/bna/bnad.c
3032
bnad_tx_buff_unmap(bnad, unmap_q, q_depth,
drivers/net/ethernet/brocade/bna/bnad.c
3035
BNAD_UPDATE_CTR(bnad, tx_skb_frag_zero);
drivers/net/ethernet/brocade/bna/bnad.c
3050
dma_addr = skb_frag_dma_map(&bnad->pcidev->dev, frag,
drivers/net/ethernet/brocade/bna/bnad.c
3052
if (dma_mapping_error(&bnad->pcidev->dev, dma_addr)) {
drivers/net/ethernet/brocade/bna/bnad.c
3054
bnad_tx_buff_unmap(bnad, unmap_q, q_depth,
drivers/net/ethernet/brocade/bna/bnad.c
3057
BNAD_UPDATE_CTR(bnad, tx_skb_map_failed);
drivers/net/ethernet/brocade/bna/bnad.c
3071
bnad_tx_buff_unmap(bnad, unmap_q, q_depth, tcb->producer_index);
drivers/net/ethernet/brocade/bna/bnad.c
3073
BNAD_UPDATE_CTR(bnad, tx_skb_len_mismatch);
drivers/net/ethernet/brocade/bna/bnad.c
308
bnad_rxq_cleanup_skb(struct bnad *bnad, struct bnad_rx_unmap *unmap)
drivers/net/ethernet/brocade/bna/bnad.c
3099
struct bnad *bnad = netdev_priv(netdev);
drivers/net/ethernet/brocade/bna/bnad.c
3102
spin_lock_irqsave(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
3104
bnad_netdev_qstats_fill(bnad, stats);
drivers/net/ethernet/brocade/bna/bnad.c
3105
bnad_netdev_hwstats_fill(bnad, stats);
drivers/net/ethernet/brocade/bna/bnad.c
3107
spin_unlock_irqrestore(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
3111
bnad_set_rx_ucast_fltr(struct bnad *bnad)
drivers/net/ethernet/brocade/bna/bnad.c
3113
struct net_device *netdev = bnad->netdev;
drivers/net/ethernet/brocade/bna/bnad.c
3120
if (netdev_uc_empty(bnad->netdev)) {
drivers/net/ethernet/brocade/bna/bnad.c
3121
bna_rx_ucast_listset(bnad->rx_info[0].rx, 0, NULL);
drivers/net/ethernet/brocade/bna/bnad.c
3125
if (uc_count > bna_attr(&bnad->bna)->num_ucmac)
drivers/net/ethernet/brocade/bna/bnad.c
313
dma_unmap_single(&bnad->pcidev->dev,
drivers/net/ethernet/brocade/bna/bnad.c
3138
ret = bna_rx_ucast_listset(bnad->rx_info[0].rx, entry, mac_list);
drivers/net/ethernet/brocade/bna/bnad.c
3148
bnad->cfg_flags |= BNAD_CF_DEFAULT;
drivers/net/ethernet/brocade/bna/bnad.c
3149
bna_rx_ucast_listset(bnad->rx_info[0].rx, 0, NULL);
drivers/net/ethernet/brocade/bna/bnad.c
3153
bnad_set_rx_mcast_fltr(struct bnad *bnad)
drivers/net/ethernet/brocade/bna/bnad.c
3155
struct net_device *netdev = bnad->netdev;
drivers/net/ethernet/brocade/bna/bnad.c
3166
if (mc_count > bna_attr(&bnad->bna)->num_mcmac)
drivers/net/ethernet/brocade/bna/bnad.c
3178
ret = bna_rx_mcast_listset(bnad->rx_info[0].rx, mc_count + 1, mac_list);
drivers/net/ethernet/brocade/bna/bnad.c
3187
bnad->cfg_flags |= BNAD_CF_ALLMULTI;
drivers/net/ethernet/brocade/bna/bnad.c
3188
bna_rx_mcast_delall(bnad->rx_info[0].rx);
drivers/net/ethernet/brocade/bna/bnad.c
3194
struct bnad *bnad = netdev_priv(netdev);
drivers/net/ethernet/brocade/bna/bnad.c
3198
spin_lock_irqsave(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
3200
if (bnad->rx_info[0].rx == NULL) {
drivers/net/ethernet/brocade/bna/bnad.c
3201
spin_unlock_irqrestore(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
3206
bnad->cfg_flags &= ~(BNAD_CF_PROMISC | BNAD_CF_DEFAULT |
drivers/net/ethernet/brocade/bna/bnad.c
3212
bnad->cfg_flags |= BNAD_CF_PROMISC;
drivers/net/ethernet/brocade/bna/bnad.c
3214
bnad_set_rx_mcast_fltr(bnad);
drivers/net/ethernet/brocade/bna/bnad.c
3216
if (bnad->cfg_flags & BNAD_CF_ALLMULTI)
drivers/net/ethernet/brocade/bna/bnad.c
3219
bnad_set_rx_ucast_fltr(bnad);
drivers/net/ethernet/brocade/bna/bnad.c
3221
if (bnad->cfg_flags & BNAD_CF_DEFAULT)
drivers/net/ethernet/brocade/bna/bnad.c
3227
bna_rx_mode_set(bnad->rx_info[0].rx, new_mode, mode_mask);
drivers/net/ethernet/brocade/bna/bnad.c
3229
spin_unlock_irqrestore(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
323
bnad_rxq_cleanup(struct bnad *bnad, struct bna_rcb *rcb)
drivers/net/ethernet/brocade/bna/bnad.c
3241
struct bnad *bnad = netdev_priv(netdev);
drivers/net/ethernet/brocade/bna/bnad.c
3245
spin_lock_irqsave(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
3247
err = bnad_mac_addr_set_locked(bnad, sa->sa_data);
drivers/net/ethernet/brocade/bna/bnad.c
3251
spin_unlock_irqrestore(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
3257
bnad_mtu_set(struct bnad *bnad, int frame_size)
drivers/net/ethernet/brocade/bna/bnad.c
3261
init_completion(&bnad->bnad_completions.mtu_comp);
drivers/net/ethernet/brocade/bna/bnad.c
3263
spin_lock_irqsave(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
3264
bna_enet_mtu_set(&bnad->bna.enet, frame_size, bnad_cb_enet_mtu_set);
drivers/net/ethernet/brocade/bna/bnad.c
3265
spin_unlock_irqrestore(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
3267
wait_for_completion(&bnad->bnad_completions.mtu_comp);
drivers/net/ethernet/brocade/bna/bnad.c
3269
return bnad->bnad_completions.mtu_comp_status;
drivers/net/ethernet/brocade/bna/bnad.c
3276
struct bnad *bnad = netdev_priv(netdev);
drivers/net/ethernet/brocade/bna/bnad.c
3279
mutex_lock(&bnad->conf_mutex);
drivers/net/ethernet/brocade/bna/bnad.c
3288
if (BNAD_PCI_DEV_IS_CAT2(bnad) &&
drivers/net/ethernet/brocade/bna/bnad.c
3289
netif_running(bnad->netdev)) {
drivers/net/ethernet/brocade/bna/bnad.c
3293
bnad_reinit_rx(bnad);
drivers/net/ethernet/brocade/bna/bnad.c
3296
err = bnad_mtu_set(bnad, new_frame);
drivers/net/ethernet/brocade/bna/bnad.c
3300
mutex_unlock(&bnad->conf_mutex);
drivers/net/ethernet/brocade/bna/bnad.c
3307
struct bnad *bnad = netdev_priv(netdev);
drivers/net/ethernet/brocade/bna/bnad.c
3310
if (!bnad->rx_info[0].rx)
drivers/net/ethernet/brocade/bna/bnad.c
3313
mutex_lock(&bnad->conf_mutex);
drivers/net/ethernet/brocade/bna/bnad.c
3315
spin_lock_irqsave(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
3316
bna_rx_vlan_add(bnad->rx_info[0].rx, vid);
drivers/net/ethernet/brocade/bna/bnad.c
3317
set_bit(vid, bnad->active_vlans);
drivers/net/ethernet/brocade/bna/bnad.c
3318
spin_unlock_irqrestore(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
332
bnad_rxq_cleanup_skb(bnad, unmap);
drivers/net/ethernet/brocade/bna/bnad.c
3320
mutex_unlock(&bnad->conf_mutex);
drivers/net/ethernet/brocade/bna/bnad.c
3328
struct bnad *bnad = netdev_priv(netdev);
drivers/net/ethernet/brocade/bna/bnad.c
3331
if (!bnad->rx_info[0].rx)
drivers/net/ethernet/brocade/bna/bnad.c
3334
mutex_lock(&bnad->conf_mutex);
drivers/net/ethernet/brocade/bna/bnad.c
3336
spin_lock_irqsave(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
3337
clear_bit(vid, bnad->active_vlans);
drivers/net/ethernet/brocade/bna/bnad.c
3338
bna_rx_vlan_del(bnad->rx_info[0].rx, vid);
drivers/net/ethernet/brocade/bna/bnad.c
3339
spin_unlock_irqrestore(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
334
bnad_rxq_cleanup_page(bnad, unmap);
drivers/net/ethernet/brocade/bna/bnad.c
3341
mutex_unlock(&bnad->conf_mutex);
drivers/net/ethernet/brocade/bna/bnad.c
3348
struct bnad *bnad = netdev_priv(dev);
drivers/net/ethernet/brocade/bna/bnad.c
3354
spin_lock_irqsave(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
3357
bna_rx_vlan_strip_enable(bnad->rx_info[0].rx);
drivers/net/ethernet/brocade/bna/bnad.c
3359
bna_rx_vlan_strip_disable(bnad->rx_info[0].rx);
drivers/net/ethernet/brocade/bna/bnad.c
336
bnad_rxq_alloc_uninit(bnad, rcb);
drivers/net/ethernet/brocade/bna/bnad.c
3361
spin_unlock_irqrestore(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
3371
struct bnad *bnad = netdev_priv(netdev);
drivers/net/ethernet/brocade/bna/bnad.c
3377
if (!(bnad->cfg_flags & BNAD_CF_MSIX)) {
drivers/net/ethernet/brocade/bna/bnad.c
3378
bna_intx_disable(&bnad->bna, curr_mask);
drivers/net/ethernet/brocade/bna/bnad.c
3379
bnad_isr(bnad->pcidev->irq, netdev);
drivers/net/ethernet/brocade/bna/bnad.c
3380
bna_intx_enable(&bnad->bna, curr_mask);
drivers/net/ethernet/brocade/bna/bnad.c
3388
for (i = 0; i < bnad->num_rx; i++) {
drivers/net/ethernet/brocade/bna/bnad.c
3389
rx_info = &bnad->rx_info[i];
drivers/net/ethernet/brocade/bna/bnad.c
3392
for (j = 0; j < bnad->num_rxp_per_rx; j++) {
drivers/net/ethernet/brocade/bna/bnad.c
3395
bnad_netif_rx_schedule_poll(bnad,
drivers/net/ethernet/brocade/bna/bnad.c
340
bnad_rxq_refill_page(struct bnad *bnad, struct bna_rcb *rcb, u32 nalloc)
drivers/net/ethernet/brocade/bna/bnad.c
3421
bnad_netdev_init(struct bnad *bnad)
drivers/net/ethernet/brocade/bna/bnad.c
3423
struct net_device *netdev = bnad->netdev;
drivers/net/ethernet/brocade/bna/bnad.c
3437
netdev->mem_start = bnad->mmio_start;
drivers/net/ethernet/brocade/bna/bnad.c
3438
netdev->mem_end = bnad->mmio_start + bnad->mmio_len - 1;
drivers/net/ethernet/brocade/bna/bnad.c
3455
bnad_init(struct bnad *bnad,
drivers/net/ethernet/brocade/bna/bnad.c
3463
bnad->netdev = netdev;
drivers/net/ethernet/brocade/bna/bnad.c
3464
bnad->pcidev = pdev;
drivers/net/ethernet/brocade/bna/bnad.c
3465
bnad->mmio_start = pci_resource_start(pdev, 0);
drivers/net/ethernet/brocade/bna/bnad.c
3466
bnad->mmio_len = pci_resource_len(pdev, 0);
drivers/net/ethernet/brocade/bna/bnad.c
3467
bnad->bar0 = ioremap(bnad->mmio_start, bnad->mmio_len);
drivers/net/ethernet/brocade/bna/bnad.c
3468
if (!bnad->bar0) {
drivers/net/ethernet/brocade/bna/bnad.c
3472
dev_info(&pdev->dev, "bar0 mapped to %p, len %llu\n", bnad->bar0,
drivers/net/ethernet/brocade/bna/bnad.c
3473
(unsigned long long) bnad->mmio_len);
drivers/net/ethernet/brocade/bna/bnad.c
3475
spin_lock_irqsave(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
3477
bnad->cfg_flags = BNAD_CF_MSIX;
drivers/net/ethernet/brocade/bna/bnad.c
3479
bnad->cfg_flags |= BNAD_CF_DIM_ENABLED;
drivers/net/ethernet/brocade/bna/bnad.c
3481
bnad_q_num_init(bnad);
drivers/net/ethernet/brocade/bna/bnad.c
3482
spin_unlock_irqrestore(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
3484
bnad->msix_num = (bnad->num_tx * bnad->num_txq_per_tx) +
drivers/net/ethernet/brocade/bna/bnad.c
3485
(bnad->num_rx * bnad->num_rxp_per_rx) +
drivers/net/ethernet/brocade/bna/bnad.c
3488
bnad->txq_depth = BNAD_TXQ_DEPTH;
drivers/net/ethernet/brocade/bna/bnad.c
3489
bnad->rxq_depth = BNAD_RXQ_DEPTH;
drivers/net/ethernet/brocade/bna/bnad.c
3491
bnad->tx_coalescing_timeo = BFI_TX_COALESCING_TIMEO;
drivers/net/ethernet/brocade/bna/bnad.c
3492
bnad->rx_coalescing_timeo = BFI_RX_COALESCING_TIMEO;
drivers/net/ethernet/brocade/bna/bnad.c
3494
sprintf(bnad->wq_name, "%s_wq_%d", BNAD_NAME, bnad->id);
drivers/net/ethernet/brocade/bna/bnad.c
3495
bnad->work_q = create_singlethread_workqueue(bnad->wq_name);
drivers/net/ethernet/brocade/bna/bnad.c
3496
if (!bnad->work_q) {
drivers/net/ethernet/brocade/bna/bnad.c
3497
iounmap(bnad->bar0);
drivers/net/ethernet/brocade/bna/bnad.c
3510
bnad_uninit(struct bnad *bnad)
drivers/net/ethernet/brocade/bna/bnad.c
3512
if (bnad->work_q) {
drivers/net/ethernet/brocade/bna/bnad.c
3513
destroy_workqueue(bnad->work_q);
drivers/net/ethernet/brocade/bna/bnad.c
3514
bnad->work_q = NULL;
drivers/net/ethernet/brocade/bna/bnad.c
3517
if (bnad->bar0)
drivers/net/ethernet/brocade/bna/bnad.c
3518
iounmap(bnad->bar0);
drivers/net/ethernet/brocade/bna/bnad.c
3528
bnad_lock_init(struct bnad *bnad)
drivers/net/ethernet/brocade/bna/bnad.c
3530
spin_lock_init(&bnad->bna_lock);
drivers/net/ethernet/brocade/bna/bnad.c
3531
mutex_init(&bnad->conf_mutex);
drivers/net/ethernet/brocade/bna/bnad.c
3535
bnad_lock_uninit(struct bnad *bnad)
drivers/net/ethernet/brocade/bna/bnad.c
3537
mutex_destroy(&bnad->conf_mutex);
drivers/net/ethernet/brocade/bna/bnad.c
3542
bnad_pci_init(struct bnad *bnad, struct pci_dev *pdev)
drivers/net/ethernet/brocade/bna/bnad.c
3578
struct bnad *bnad;
drivers/net/ethernet/brocade/bna/bnad.c
3596
netdev = alloc_etherdev(sizeof(struct bnad));
drivers/net/ethernet/brocade/bna/bnad.c
3601
bnad = netdev_priv(netdev);
drivers/net/ethernet/brocade/bna/bnad.c
3602
bnad_lock_init(bnad);
drivers/net/ethernet/brocade/bna/bnad.c
3603
bnad->id = atomic_inc_return(&bna_id) - 1;
drivers/net/ethernet/brocade/bna/bnad.c
3605
mutex_lock(&bnad->conf_mutex);
drivers/net/ethernet/brocade/bna/bnad.c
3607
err = bnad_pci_init(bnad, pdev);
drivers/net/ethernet/brocade/bna/bnad.c
3615
err = bnad_init(bnad, pdev, netdev);
drivers/net/ethernet/brocade/bna/bnad.c
3620
bnad_netdev_init(bnad);
drivers/net/ethernet/brocade/bna/bnad.c
3627
bnad_debugfs_init(bnad);
drivers/net/ethernet/brocade/bna/bnad.c
3630
spin_lock_irqsave(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
3631
bna_res_req(&bnad->res_info[0]);
drivers/net/ethernet/brocade/bna/bnad.c
3632
spin_unlock_irqrestore(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
3635
err = bnad_res_alloc(bnad, &bnad->res_info[0], BNA_RES_T_MAX);
drivers/net/ethernet/brocade/bna/bnad.c
3639
bna = &bnad->bna;
drivers/net/ethernet/brocade/bna/bnad.c
3642
pcidev_info.pci_slot = PCI_SLOT(bnad->pcidev->devfn);
drivers/net/ethernet/brocade/bna/bnad.c
3643
pcidev_info.pci_func = PCI_FUNC(bnad->pcidev->devfn);
drivers/net/ethernet/brocade/bna/bnad.c
3644
pcidev_info.device_id = bnad->pcidev->device;
drivers/net/ethernet/brocade/bna/bnad.c
3645
pcidev_info.pci_bar_kva = bnad->bar0;
drivers/net/ethernet/brocade/bna/bnad.c
3647
spin_lock_irqsave(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
3648
bna_init(bna, bnad, &pcidev_info, &bnad->res_info[0]);
drivers/net/ethernet/brocade/bna/bnad.c
3649
spin_unlock_irqrestore(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
3651
bnad->stats.bna_stats = &bna->stats;
drivers/net/ethernet/brocade/bna/bnad.c
3653
bnad_enable_msix(bnad);
drivers/net/ethernet/brocade/bna/bnad.c
3654
err = bnad_mbox_irq_alloc(bnad);
drivers/net/ethernet/brocade/bna/bnad.c
3659
timer_setup(&bnad->bna.ioceth.ioc.ioc_timer, bnad_ioc_timeout, 0);
drivers/net/ethernet/brocade/bna/bnad.c
3660
timer_setup(&bnad->bna.ioceth.ioc.hb_timer, bnad_ioc_hb_check, 0);
drivers/net/ethernet/brocade/bna/bnad.c
3661
timer_setup(&bnad->bna.ioceth.ioc.iocpf_timer, bnad_iocpf_timeout, 0);
drivers/net/ethernet/brocade/bna/bnad.c
3662
timer_setup(&bnad->bna.ioceth.ioc.sem_timer, bnad_iocpf_sem_timeout,
drivers/net/ethernet/brocade/bna/bnad.c
3670
err = bnad_ioceth_enable(bnad);
drivers/net/ethernet/brocade/bna/bnad.c
3676
spin_lock_irqsave(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
3679
bnad_q_num_adjust(bnad, bna_attr(bna)->num_txq - 1,
drivers/net/ethernet/brocade/bna/bnad.c
3685
spin_unlock_irqrestore(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
3689
spin_lock_irqsave(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
3690
bna_mod_res_req(&bnad->bna, &bnad->mod_res_info[0]);
drivers/net/ethernet/brocade/bna/bnad.c
3691
spin_unlock_irqrestore(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
3693
err = bnad_res_alloc(bnad, &bnad->mod_res_info[0], BNA_MOD_RES_T_MAX);
drivers/net/ethernet/brocade/bna/bnad.c
3699
spin_lock_irqsave(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
3700
bna_mod_init(&bnad->bna, &bnad->mod_res_info[0]);
drivers/net/ethernet/brocade/bna/bnad.c
3701
spin_unlock_irqrestore(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
3704
spin_lock_irqsave(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
3705
bna_enet_perm_mac_get(&bna->enet, bnad->perm_addr);
drivers/net/ethernet/brocade/bna/bnad.c
3706
bnad_set_netdev_perm_addr(bnad);
drivers/net/ethernet/brocade/bna/bnad.c
3707
spin_unlock_irqrestore(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
3709
mutex_unlock(&bnad->conf_mutex);
drivers/net/ethernet/brocade/bna/bnad.c
371
BNAD_UPDATE_CTR(bnad, rxbuf_alloc_failed);
drivers/net/ethernet/brocade/bna/bnad.c
3717
set_bit(BNAD_RF_NETDEV_REGISTERED, &bnad->run_flags);
drivers/net/ethernet/brocade/bna/bnad.c
3722
mutex_unlock(&bnad->conf_mutex);
drivers/net/ethernet/brocade/bna/bnad.c
3726
mutex_lock(&bnad->conf_mutex);
drivers/net/ethernet/brocade/bna/bnad.c
3727
bnad_res_free(bnad, &bnad->mod_res_info[0], BNA_MOD_RES_T_MAX);
drivers/net/ethernet/brocade/bna/bnad.c
3729
bnad_ioceth_disable(bnad);
drivers/net/ethernet/brocade/bna/bnad.c
3730
timer_delete_sync(&bnad->bna.ioceth.ioc.ioc_timer);
drivers/net/ethernet/brocade/bna/bnad.c
3731
timer_delete_sync(&bnad->bna.ioceth.ioc.sem_timer);
drivers/net/ethernet/brocade/bna/bnad.c
3732
timer_delete_sync(&bnad->bna.ioceth.ioc.hb_timer);
drivers/net/ethernet/brocade/bna/bnad.c
3733
spin_lock_irqsave(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
3735
spin_unlock_irqrestore(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
3736
bnad_mbox_irq_free(bnad);
drivers/net/ethernet/brocade/bna/bnad.c
3737
bnad_disable_msix(bnad);
drivers/net/ethernet/brocade/bna/bnad.c
3739
bnad_res_free(bnad, &bnad->res_info[0], BNA_RES_T_MAX);
drivers/net/ethernet/brocade/bna/bnad.c
3742
kfree(bnad->regdata);
drivers/net/ethernet/brocade/bna/bnad.c
3743
bnad_debugfs_uninit(bnad);
drivers/net/ethernet/brocade/bna/bnad.c
3744
bnad_uninit(bnad);
drivers/net/ethernet/brocade/bna/bnad.c
3748
mutex_unlock(&bnad->conf_mutex);
drivers/net/ethernet/brocade/bna/bnad.c
3749
bnad_lock_uninit(bnad);
drivers/net/ethernet/brocade/bna/bnad.c
3758
struct bnad *bnad;
drivers/net/ethernet/brocade/bna/bnad.c
376
dma_addr = dma_map_page(&bnad->pcidev->dev, page, page_offset,
drivers/net/ethernet/brocade/bna/bnad.c
3765
bnad = netdev_priv(netdev);
drivers/net/ethernet/brocade/bna/bnad.c
3766
bna = &bnad->bna;
drivers/net/ethernet/brocade/bna/bnad.c
3768
if (test_and_clear_bit(BNAD_RF_NETDEV_REGISTERED, &bnad->run_flags))
drivers/net/ethernet/brocade/bna/bnad.c
3771
mutex_lock(&bnad->conf_mutex);
drivers/net/ethernet/brocade/bna/bnad.c
3772
bnad_ioceth_disable(bnad);
drivers/net/ethernet/brocade/bna/bnad.c
3773
timer_delete_sync(&bnad->bna.ioceth.ioc.ioc_timer);
drivers/net/ethernet/brocade/bna/bnad.c
3774
timer_delete_sync(&bnad->bna.ioceth.ioc.sem_timer);
drivers/net/ethernet/brocade/bna/bnad.c
3775
timer_delete_sync(&bnad->bna.ioceth.ioc.hb_timer);
drivers/net/ethernet/brocade/bna/bnad.c
3776
spin_lock_irqsave(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
3778
spin_unlock_irqrestore(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
378
if (dma_mapping_error(&bnad->pcidev->dev, dma_addr)) {
drivers/net/ethernet/brocade/bna/bnad.c
3780
bnad_res_free(bnad, &bnad->mod_res_info[0], BNA_MOD_RES_T_MAX);
drivers/net/ethernet/brocade/bna/bnad.c
3781
bnad_res_free(bnad, &bnad->res_info[0], BNA_RES_T_MAX);
drivers/net/ethernet/brocade/bna/bnad.c
3782
bnad_mbox_irq_free(bnad);
drivers/net/ethernet/brocade/bna/bnad.c
3783
bnad_disable_msix(bnad);
drivers/net/ethernet/brocade/bna/bnad.c
3785
mutex_unlock(&bnad->conf_mutex);
drivers/net/ethernet/brocade/bna/bnad.c
3786
bnad_lock_uninit(bnad);
drivers/net/ethernet/brocade/bna/bnad.c
3788
kfree(bnad->regdata);
drivers/net/ethernet/brocade/bna/bnad.c
3789
bnad_debugfs_uninit(bnad);
drivers/net/ethernet/brocade/bna/bnad.c
3790
bnad_uninit(bnad);
drivers/net/ethernet/brocade/bna/bnad.c
380
BNAD_UPDATE_CTR(bnad, rxbuf_map_failed);
drivers/net/ethernet/brocade/bna/bnad.c
414
bnad_rxq_refill_skb(struct bnad *bnad, struct bna_rcb *rcb, u32 nalloc)
drivers/net/ethernet/brocade/bna/bnad.c
431
skb = netdev_alloc_skb_ip_align(bnad->netdev, buff_sz);
drivers/net/ethernet/brocade/bna/bnad.c
434
BNAD_UPDATE_CTR(bnad, rxbuf_alloc_failed);
drivers/net/ethernet/brocade/bna/bnad.c
439
dma_addr = dma_map_single(&bnad->pcidev->dev, skb->data,
drivers/net/ethernet/brocade/bna/bnad.c
441
if (dma_mapping_error(&bnad->pcidev->dev, dma_addr)) {
drivers/net/ethernet/brocade/bna/bnad.c
443
BNAD_UPDATE_CTR(bnad, rxbuf_map_failed);
drivers/net/ethernet/brocade/bna/bnad.c
470
bnad_rxq_post(struct bnad *bnad, struct bna_rcb *rcb)
drivers/net/ethernet/brocade/bna/bnad.c
480
bnad_rxq_refill_skb(bnad, rcb, to_alloc);
drivers/net/ethernet/brocade/bna/bnad.c
482
bnad_rxq_refill_page(bnad, rcb, to_alloc);
drivers/net/ethernet/brocade/bna/bnad.c
500
bnad_cq_drop_packet(struct bnad *bnad, struct bna_rcb *rcb,
drivers/net/ethernet/brocade/bna/bnad.c
513
bnad_rxq_cleanup_skb(bnad, unmap);
drivers/net/ethernet/brocade/bna/bnad.c
515
bnad_rxq_cleanup_page(bnad, unmap);
drivers/net/ethernet/brocade/bna/bnad.c
523
struct bnad *bnad;
drivers/net/ethernet/brocade/bna/bnad.c
534
bnad = rcb->bnad;
drivers/net/ethernet/brocade/bna/bnad.c
548
dma_unmap_page(&bnad->pcidev->dev,
drivers/net/ethernet/brocade/bna/bnad.c
571
bnad_cq_setup_skb(struct bnad *bnad, struct sk_buff *skb,
drivers/net/ethernet/brocade/bna/bnad.c
576
dma_unmap_single(&bnad->pcidev->dev,
drivers/net/ethernet/brocade/bna/bnad.c
581
skb->protocol = eth_type_trans(skb, bnad->netdev);
drivers/net/ethernet/brocade/bna/bnad.c
588
bnad_cq_process(struct bnad *bnad, struct bna_ccb *ccb, int budget)
drivers/net/ethernet/brocade/bna/bnad.c
601
prefetch(bnad->netdev);
drivers/net/ethernet/brocade/bna/bnad.c
684
bnad_cq_drop_packet(bnad, rcb, sop_ci, nvecs);
drivers/net/ethernet/brocade/bna/bnad.c
691
bnad_cq_setup_skb(bnad, skb, unmap, len);
drivers/net/ethernet/brocade/bna/bnad.c
702
((bnad->netdev->features & NETIF_F_RXCSUM) &&
drivers/net/ethernet/brocade/bna/bnad.c
712
(bnad->netdev->features & NETIF_F_HW_VLAN_CTAG_RX))
drivers/net/ethernet/brocade/bna/bnad.c
733
bnad_rxq_post(bnad, ccb->rcb[0]);
drivers/net/ethernet/brocade/bna/bnad.c
735
bnad_rxq_post(bnad, ccb->rcb[1]);
drivers/net/ethernet/brocade/bna/bnad.c
74
bnad_cq_cleanup(struct bnad *bnad, struct bna_ccb *ccb)
drivers/net/ethernet/brocade/bna/bnad.c
741
bnad_netif_rx_schedule_poll(struct bnad *bnad, struct bna_ccb *ccb)
drivers/net/ethernet/brocade/bna/bnad.c
760
bnad_netif_rx_schedule_poll(ccb->bnad, ccb);
drivers/net/ethernet/brocade/bna/bnad.c
774
struct bnad *bnad = (struct bnad *)data;
drivers/net/ethernet/brocade/bna/bnad.c
776
spin_lock_irqsave(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
777
if (unlikely(test_bit(BNAD_RF_MBOX_IRQ_DISABLED, &bnad->run_flags))) {
drivers/net/ethernet/brocade/bna/bnad.c
778
spin_unlock_irqrestore(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
782
bna_intr_status_get(&bnad->bna, intr_status);
drivers/net/ethernet/brocade/bna/bnad.c
784
if (BNA_IS_MBOX_ERR_INTR(&bnad->bna, intr_status))
drivers/net/ethernet/brocade/bna/bnad.c
785
bna_mbox_handler(&bnad->bna, intr_status);
drivers/net/ethernet/brocade/bna/bnad.c
787
spin_unlock_irqrestore(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
798
struct bnad *bnad = (struct bnad *)data;
drivers/net/ethernet/brocade/bna/bnad.c
803
spin_lock_irqsave(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
804
if (unlikely(test_bit(BNAD_RF_MBOX_IRQ_DISABLED, &bnad->run_flags))) {
drivers/net/ethernet/brocade/bna/bnad.c
805
spin_unlock_irqrestore(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
809
bna_intr_status_get(&bnad->bna, intr_status);
drivers/net/ethernet/brocade/bna/bnad.c
812
spin_unlock_irqrestore(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
816
if (BNA_IS_MBOX_ERR_INTR(&bnad->bna, intr_status))
drivers/net/ethernet/brocade/bna/bnad.c
817
bna_mbox_handler(&bnad->bna, intr_status);
drivers/net/ethernet/brocade/bna/bnad.c
819
spin_unlock_irqrestore(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad.c
826
for (i = 0; i < bnad->num_tx; i++) {
drivers/net/ethernet/brocade/bna/bnad.c
827
for (j = 0; j < bnad->num_txq_per_tx; j++) {
drivers/net/ethernet/brocade/bna/bnad.c
828
tcb = bnad->tx_info[i].tcb[j];
drivers/net/ethernet/brocade/bna/bnad.c
830
bnad_tx_complete(bnad, bnad->tx_info[i].tcb[j]);
drivers/net/ethernet/brocade/bna/bnad.c
834
for (i = 0; i < bnad->num_rx; i++) {
drivers/net/ethernet/brocade/bna/bnad.c
835
rx_info = &bnad->rx_info[i];
drivers/net/ethernet/brocade/bna/bnad.c
838
for (j = 0; j < bnad->num_rxp_per_rx; j++) {
drivers/net/ethernet/brocade/bna/bnad.c
841
bnad_netif_rx_schedule_poll(bnad,
drivers/net/ethernet/brocade/bna/bnad.c
853
bnad_enable_mbox_irq(struct bnad *bnad)
drivers/net/ethernet/brocade/bna/bnad.c
855
clear_bit(BNAD_RF_MBOX_IRQ_DISABLED, &bnad->run_flags);
drivers/net/ethernet/brocade/bna/bnad.c
857
BNAD_UPDATE_CTR(bnad, mbox_intr_enabled);
drivers/net/ethernet/brocade/bna/bnad.c
865
bnad_disable_mbox_irq(struct bnad *bnad)
drivers/net/ethernet/brocade/bna/bnad.c
867
set_bit(BNAD_RF_MBOX_IRQ_DISABLED, &bnad->run_flags);
drivers/net/ethernet/brocade/bna/bnad.c
869
BNAD_UPDATE_CTR(bnad, mbox_intr_disabled);
drivers/net/ethernet/brocade/bna/bnad.c
873
bnad_set_netdev_perm_addr(struct bnad *bnad)
drivers/net/ethernet/brocade/bna/bnad.c
875
struct net_device *netdev = bnad->netdev;
drivers/net/ethernet/brocade/bna/bnad.c
877
ether_addr_copy(netdev->perm_addr, bnad->perm_addr);
drivers/net/ethernet/brocade/bna/bnad.c
879
eth_hw_addr_set(netdev, bnad->perm_addr);
drivers/net/ethernet/brocade/bna/bnad.c
886
bnad_cb_mbox_intr_enable(struct bnad *bnad)
drivers/net/ethernet/brocade/bna/bnad.c
888
bnad_enable_mbox_irq(bnad);
drivers/net/ethernet/brocade/bna/bnad.c
892
bnad_cb_mbox_intr_disable(struct bnad *bnad)
drivers/net/ethernet/brocade/bna/bnad.c
894
bnad_disable_mbox_irq(bnad);
drivers/net/ethernet/brocade/bna/bnad.c
898
bnad_cb_ioceth_ready(struct bnad *bnad)
drivers/net/ethernet/brocade/bna/bnad.c
90
bnad_tx_buff_unmap(struct bnad *bnad,
drivers/net/ethernet/brocade/bna/bnad.c
900
bnad->bnad_completions.ioc_comp_status = BNA_CB_SUCCESS;
drivers/net/ethernet/brocade/bna/bnad.c
901
complete(&bnad->bnad_completions.ioc_comp);
drivers/net/ethernet/brocade/bna/bnad.c
905
bnad_cb_ioceth_failed(struct bnad *bnad)
drivers/net/ethernet/brocade/bna/bnad.c
907
bnad->bnad_completions.ioc_comp_status = BNA_CB_FAIL;
drivers/net/ethernet/brocade/bna/bnad.c
908
complete(&bnad->bnad_completions.ioc_comp);
drivers/net/ethernet/brocade/bna/bnad.c
912
bnad_cb_ioceth_disabled(struct bnad *bnad)
drivers/net/ethernet/brocade/bna/bnad.c
914
bnad->bnad_completions.ioc_comp_status = BNA_CB_SUCCESS;
drivers/net/ethernet/brocade/bna/bnad.c
915
complete(&bnad->bnad_completions.ioc_comp);
drivers/net/ethernet/brocade/bna/bnad.c
921
struct bnad *bnad = (struct bnad *)arg;
drivers/net/ethernet/brocade/bna/bnad.c
923
netif_carrier_off(bnad->netdev);
drivers/net/ethernet/brocade/bna/bnad.c
924
complete(&bnad->bnad_completions.enet_comp);
drivers/net/ethernet/brocade/bna/bnad.c
928
bnad_cb_ethport_link_status(struct bnad *bnad,
drivers/net/ethernet/brocade/bna/bnad.c
936
if (!test_bit(BNAD_RF_CEE_RUNNING, &bnad->run_flags))
drivers/net/ethernet/brocade/bna/bnad.c
937
BNAD_UPDATE_CTR(bnad, cee_toggle);
drivers/net/ethernet/brocade/bna/bnad.c
938
set_bit(BNAD_RF_CEE_RUNNING, &bnad->run_flags);
drivers/net/ethernet/brocade/bna/bnad.c
940
if (test_bit(BNAD_RF_CEE_RUNNING, &bnad->run_flags))
drivers/net/ethernet/brocade/bna/bnad.c
941
BNAD_UPDATE_CTR(bnad, cee_toggle);
drivers/net/ethernet/brocade/bna/bnad.c
942
clear_bit(BNAD_RF_CEE_RUNNING, &bnad->run_flags);
drivers/net/ethernet/brocade/bna/bnad.c
946
if (!netif_carrier_ok(bnad->netdev)) {
drivers/net/ethernet/brocade/bna/bnad.c
948
netdev_info(bnad->netdev, "link up\n");
drivers/net/ethernet/brocade/bna/bnad.c
949
netif_carrier_on(bnad->netdev);
drivers/net/ethernet/brocade/bna/bnad.c
950
BNAD_UPDATE_CTR(bnad, link_toggle);
drivers/net/ethernet/brocade/bna/bnad.c
951
for (tx_id = 0; tx_id < bnad->num_tx; tx_id++) {
drivers/net/ethernet/brocade/bna/bnad.c
952
for (tcb_id = 0; tcb_id < bnad->num_txq_per_tx;
drivers/net/ethernet/brocade/bna/bnad.c
955
bnad->tx_info[tx_id].tcb[tcb_id];
drivers/net/ethernet/brocade/bna/bnad.c
968
bnad->netdev,
drivers/net/ethernet/brocade/bna/bnad.c
970
BNAD_UPDATE_CTR(bnad,
drivers/net/ethernet/brocade/bna/bnad.c
974
bnad->netdev,
drivers/net/ethernet/brocade/bna/bnad.c
976
BNAD_UPDATE_CTR(bnad,
drivers/net/ethernet/brocade/bna/bnad.c
983
if (netif_carrier_ok(bnad->netdev)) {
drivers/net/ethernet/brocade/bna/bnad.c
984
netdev_info(bnad->netdev, "link down\n");
drivers/net/ethernet/brocade/bna/bnad.c
985
netif_carrier_off(bnad->netdev);
drivers/net/ethernet/brocade/bna/bnad.c
986
BNAD_UPDATE_CTR(bnad, link_toggle);
drivers/net/ethernet/brocade/bna/bnad.c
994
struct bnad *bnad = (struct bnad *)arg;
drivers/net/ethernet/brocade/bna/bnad.c
996
complete(&bnad->bnad_completions.tx_comp);
drivers/net/ethernet/brocade/bna/bnad.h
117
struct bnad *bnad;
drivers/net/ethernet/brocade/bna/bnad.h
377
int bnad_mac_addr_set_locked(struct bnad *bnad, const u8 *mac_addr);
drivers/net/ethernet/brocade/bna/bnad.h
378
int bnad_enable_default_bcast(struct bnad *bnad);
drivers/net/ethernet/brocade/bna/bnad.h
379
void bnad_restore_vlans(struct bnad *bnad, u32 rx_id);
drivers/net/ethernet/brocade/bna/bnad.h
384
void bnad_tx_coalescing_timeo_set(struct bnad *bnad);
drivers/net/ethernet/brocade/bna/bnad.h
385
void bnad_rx_coalescing_timeo_set(struct bnad *bnad);
drivers/net/ethernet/brocade/bna/bnad.h
387
int bnad_setup_rx(struct bnad *bnad, u32 rx_id);
drivers/net/ethernet/brocade/bna/bnad.h
388
int bnad_setup_tx(struct bnad *bnad, u32 tx_id);
drivers/net/ethernet/brocade/bna/bnad.h
389
void bnad_destroy_tx(struct bnad *bnad, u32 tx_id);
drivers/net/ethernet/brocade/bna/bnad.h
390
void bnad_destroy_rx(struct bnad *bnad, u32 rx_id);
drivers/net/ethernet/brocade/bna/bnad.h
393
void bnad_dim_timer_start(struct bnad *bnad);
drivers/net/ethernet/brocade/bna/bnad.h
396
void bnad_netdev_qstats_fill(struct bnad *bnad,
drivers/net/ethernet/brocade/bna/bnad.h
398
void bnad_netdev_hwstats_fill(struct bnad *bnad,
drivers/net/ethernet/brocade/bna/bnad.h
402
void bnad_debugfs_init(struct bnad *bnad);
drivers/net/ethernet/brocade/bna/bnad.h
403
void bnad_debugfs_uninit(struct bnad *bnad);
drivers/net/ethernet/brocade/bna/bnad.h
48
struct bnad *bnad;
drivers/net/ethernet/brocade/bna/bnad.h
95
#define BNAD_NUM_TXQ (bnad->num_tx * bnad->num_txq_per_tx)
drivers/net/ethernet/brocade/bna/bnad.h
96
#define BNAD_NUM_RXP (bnad->num_rx * bnad->num_rxp_per_rx)
drivers/net/ethernet/brocade/bna/bnad_debugfs.c
101
spin_lock_irqsave(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad_debugfs.c
102
rc = bfa_nw_ioc_debug_fwsave(&bnad->bna.ioceth.ioc,
drivers/net/ethernet/brocade/bna/bnad_debugfs.c
105
spin_unlock_irqrestore(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad_debugfs.c
111
netdev_warn(bnad->netdev, "failed to collect fwsave\n");
drivers/net/ethernet/brocade/bna/bnad_debugfs.c
137
bnad_get_debug_drvinfo(struct bnad *bnad, void *buffer, u32 len)
drivers/net/ethernet/brocade/bna/bnad_debugfs.c
145
spin_lock_irqsave(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad_debugfs.c
146
bfa_nw_ioc_get_attr(&bnad->bna.ioceth.ioc, &drvinfo->ioc_attr);
drivers/net/ethernet/brocade/bna/bnad_debugfs.c
147
spin_unlock_irqrestore(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad_debugfs.c
150
fcomp.bnad = bnad;
drivers/net/ethernet/brocade/bna/bnad_debugfs.c
153
spin_lock_irqsave(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad_debugfs.c
154
ret = bfa_nw_cee_get_attr(&bnad->bna.cee, &drvinfo->cee_attr,
drivers/net/ethernet/brocade/bna/bnad_debugfs.c
157
spin_unlock_irqrestore(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad_debugfs.c
160
spin_unlock_irqrestore(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad_debugfs.c
167
spin_lock_irqsave(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad_debugfs.c
168
ret = bfa_nw_flash_get_attr(&bnad->bna.flash, &drvinfo->flash_attr,
drivers/net/ethernet/brocade/bna/bnad_debugfs.c
171
spin_unlock_irqrestore(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad_debugfs.c
174
spin_unlock_irqrestore(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad_debugfs.c
184
struct bnad *bnad = inode->i_private;
drivers/net/ethernet/brocade/bna/bnad_debugfs.c
201
mutex_lock(&bnad->conf_mutex);
drivers/net/ethernet/brocade/bna/bnad_debugfs.c
202
rc = bnad_get_debug_drvinfo(bnad, drv_info->debug_buffer,
drivers/net/ethernet/brocade/bna/bnad_debugfs.c
204
mutex_unlock(&bnad->conf_mutex);
drivers/net/ethernet/brocade/bna/bnad_debugfs.c
210
netdev_warn(bnad->netdev, "failed to collect drvinfo\n");
drivers/net/ethernet/brocade/bna/bnad_debugfs.c
282
struct bnad *bnad = (struct bnad *)regrd_debug->i_private;
drivers/net/ethernet/brocade/bna/bnad_debugfs.c
285
if (!bnad->regdata)
drivers/net/ethernet/brocade/bna/bnad_debugfs.c
289
bnad->regdata, bnad->reglen);
drivers/net/ethernet/brocade/bna/bnad_debugfs.c
291
if ((*pos + nbytes) >= bnad->reglen) {
drivers/net/ethernet/brocade/bna/bnad_debugfs.c
292
kfree(bnad->regdata);
drivers/net/ethernet/brocade/bna/bnad_debugfs.c
293
bnad->regdata = NULL;
drivers/net/ethernet/brocade/bna/bnad_debugfs.c
294
bnad->reglen = 0;
drivers/net/ethernet/brocade/bna/bnad_debugfs.c
305
struct bnad *bnad = (struct bnad *)regrd_debug->i_private;
drivers/net/ethernet/brocade/bna/bnad_debugfs.c
306
struct bfa_ioc *ioc = &bnad->bna.ioceth.ioc;
drivers/net/ethernet/brocade/bna/bnad_debugfs.c
321
netdev_warn(bnad->netdev, "failed to read user buffer\n");
drivers/net/ethernet/brocade/bna/bnad_debugfs.c
327
kfree(bnad->regdata);
drivers/net/ethernet/brocade/bna/bnad_debugfs.c
328
bnad->reglen = 0;
drivers/net/ethernet/brocade/bna/bnad_debugfs.c
330
bnad->regdata = kzalloc(len << 2, GFP_KERNEL);
drivers/net/ethernet/brocade/bna/bnad_debugfs.c
331
if (!bnad->regdata)
drivers/net/ethernet/brocade/bna/bnad_debugfs.c
334
bnad->reglen = len << 2;
drivers/net/ethernet/brocade/bna/bnad_debugfs.c
341
netdev_warn(bnad->netdev, "failed reg offset check\n");
drivers/net/ethernet/brocade/bna/bnad_debugfs.c
342
kfree(bnad->regdata);
drivers/net/ethernet/brocade/bna/bnad_debugfs.c
343
bnad->regdata = NULL;
drivers/net/ethernet/brocade/bna/bnad_debugfs.c
344
bnad->reglen = 0;
drivers/net/ethernet/brocade/bna/bnad_debugfs.c
349
regbuf = (u32 *)bnad->regdata;
drivers/net/ethernet/brocade/bna/bnad_debugfs.c
350
spin_lock_irqsave(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad_debugfs.c
356
spin_unlock_irqrestore(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad_debugfs.c
366
struct bnad *bnad = (struct bnad *)debug->i_private;
drivers/net/ethernet/brocade/bna/bnad_debugfs.c
367
struct bfa_ioc *ioc = &bnad->bna.ioceth.ioc;
drivers/net/ethernet/brocade/bna/bnad_debugfs.c
381
netdev_warn(bnad->netdev, "failed to read user buffer\n");
drivers/net/ethernet/brocade/bna/bnad_debugfs.c
392
netdev_warn(bnad->netdev, "failed reg offset check\n");
drivers/net/ethernet/brocade/bna/bnad_debugfs.c
397
spin_lock_irqsave(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad_debugfs.c
399
spin_unlock_irqrestore(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad_debugfs.c
43
struct bnad *bnad = inode->i_private;
drivers/net/ethernet/brocade/bna/bnad_debugfs.c
493
bnad_debugfs_init(struct bnad *bnad)
drivers/net/ethernet/brocade/bna/bnad_debugfs.c
506
snprintf(name, sizeof(name), "pci_dev:%s", pci_name(bnad->pcidev));
drivers/net/ethernet/brocade/bna/bnad_debugfs.c
507
if (!bnad->port_debugfs_root) {
drivers/net/ethernet/brocade/bna/bnad_debugfs.c
508
bnad->port_debugfs_root =
drivers/net/ethernet/brocade/bna/bnad_debugfs.c
517
bnad->port_debugfs_root,
drivers/net/ethernet/brocade/bna/bnad_debugfs.c
518
bnad,
drivers/net/ethernet/brocade/bna/bnad_debugfs.c
526
bnad_debugfs_uninit(struct bnad *bnad)
drivers/net/ethernet/brocade/bna/bnad_debugfs.c
529
if (bnad->port_debugfs_root) {
drivers/net/ethernet/brocade/bna/bnad_debugfs.c
530
debugfs_remove(bnad->port_debugfs_root);
drivers/net/ethernet/brocade/bna/bnad_debugfs.c
531
bnad->port_debugfs_root = NULL;
drivers/net/ethernet/brocade/bna/bnad_debugfs.c
61
spin_lock_irqsave(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad_debugfs.c
62
rc = bfa_nw_ioc_debug_fwtrc(&bnad->bna.ioceth.ioc,
drivers/net/ethernet/brocade/bna/bnad_debugfs.c
65
spin_unlock_irqrestore(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad_debugfs.c
71
netdev_warn(bnad->netdev, "failed to collect fwtrc\n");
drivers/net/ethernet/brocade/bna/bnad_debugfs.c
83
struct bnad *bnad = inode->i_private;
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
1001
flash_part = bnad_get_flash_partition_by_offset(bnad,
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
1006
fcomp.bnad = bnad;
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
1010
spin_lock_irqsave(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
1011
ret = bfa_nw_flash_update_part(&bnad->bna.flash, flash_part,
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
1012
bnad->id, bytes, eeprom->len,
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
1016
spin_unlock_irqrestore(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
1020
spin_unlock_irqrestore(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
1030
struct bnad *bnad = netdev_priv(netdev);
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
1035
ret = request_firmware(&fw, eflash->data, &bnad->pcidev->dev);
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
1041
fcomp.bnad = bnad;
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
1045
spin_lock_irq(&bnad->bna_lock);
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
1046
ret = bfa_nw_flash_update_part(&bnad->bna.flash, BFA_FLASH_PART_FWIMG,
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
1047
bnad->id, (u8 *)fw->data, fw->size, 0,
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
1052
spin_unlock_irq(&bnad->bna_lock);
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
1056
spin_unlock_irq(&bnad->bna_lock);
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
282
struct bnad *bnad = netdev_priv(netdev);
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
290
spin_lock_irqsave(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
291
bfa_nw_ioc_get_attr(&bnad->bna.ioceth.ioc, ioc_attr);
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
292
spin_unlock_irqrestore(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
299
strscpy(drvinfo->bus_info, pci_name(bnad->pcidev),
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
315
struct bnad *bnad = netdev_priv(netdev);
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
319
spin_lock_irqsave(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
321
(bnad->cfg_flags & BNAD_CF_DIM_ENABLED) ? true : false;
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
322
spin_unlock_irqrestore(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
324
coalesce->rx_coalesce_usecs = bnad->rx_coalescing_timeo *
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
326
coalesce->tx_coalesce_usecs = bnad->tx_coalescing_timeo *
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
338
struct bnad *bnad = netdev_priv(netdev);
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
352
mutex_lock(&bnad->conf_mutex);
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
358
spin_lock_irqsave(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
360
if (!(bnad->cfg_flags & BNAD_CF_DIM_ENABLED)) {
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
361
bnad->cfg_flags |= BNAD_CF_DIM_ENABLED;
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
362
bnad_dim_timer_start(bnad);
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
365
if (bnad->cfg_flags & BNAD_CF_DIM_ENABLED) {
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
366
bnad->cfg_flags &= ~BNAD_CF_DIM_ENABLED;
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
367
if (bnad->cfg_flags & BNAD_CF_DIM_ENABLED &&
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
369
&bnad->run_flags)) {
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
371
&bnad->run_flags);
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
374
spin_unlock_irqrestore(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
376
timer_delete_sync(&bnad->dim_timer);
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
377
spin_lock_irqsave(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
378
bnad_rx_coalescing_timeo_set(bnad);
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
381
if (bnad->tx_coalescing_timeo != coalesce->tx_coalesce_usecs /
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
383
bnad->tx_coalescing_timeo = coalesce->tx_coalesce_usecs /
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
385
bnad_tx_coalescing_timeo_set(bnad);
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
388
if (bnad->rx_coalescing_timeo != coalesce->rx_coalesce_usecs /
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
390
bnad->rx_coalescing_timeo = coalesce->rx_coalesce_usecs /
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
393
if (!(bnad->cfg_flags & BNAD_CF_DIM_ENABLED))
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
394
bnad_rx_coalescing_timeo_set(bnad);
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
400
spin_unlock_irqrestore(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
402
mutex_unlock(&bnad->conf_mutex);
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
412
struct bnad *bnad = netdev_priv(netdev);
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
417
ringparam->rx_pending = bnad->rxq_depth;
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
418
ringparam->tx_pending = bnad->txq_depth;
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
428
struct bnad *bnad = netdev_priv(netdev);
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
431
mutex_lock(&bnad->conf_mutex);
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
432
if (ringparam->rx_pending == bnad->rxq_depth &&
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
433
ringparam->tx_pending == bnad->txq_depth) {
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
434
mutex_unlock(&bnad->conf_mutex);
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
441
mutex_unlock(&bnad->conf_mutex);
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
447
mutex_unlock(&bnad->conf_mutex);
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
451
if (ringparam->rx_pending != bnad->rxq_depth) {
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
452
bnad->rxq_depth = ringparam->rx_pending;
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
454
mutex_unlock(&bnad->conf_mutex);
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
458
for (i = 0; i < bnad->num_rx; i++) {
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
459
if (!bnad->rx_info[i].rx)
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
461
bnad_destroy_rx(bnad, i);
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
462
current_err = bnad_setup_rx(bnad, i);
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
467
if (!err && bnad->rx_info[0].rx) {
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
469
bnad_restore_vlans(bnad, 0);
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
470
bnad_enable_default_bcast(bnad);
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
471
spin_lock_irqsave(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
472
bnad_mac_addr_set_locked(bnad, netdev->dev_addr);
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
473
spin_unlock_irqrestore(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
474
bnad->cfg_flags &= ~(BNAD_CF_ALLMULTI |
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
479
if (ringparam->tx_pending != bnad->txq_depth) {
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
480
bnad->txq_depth = ringparam->tx_pending;
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
482
mutex_unlock(&bnad->conf_mutex);
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
486
for (i = 0; i < bnad->num_tx; i++) {
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
487
if (!bnad->tx_info[i].tx)
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
489
bnad_destroy_tx(bnad, i);
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
490
current_err = bnad_setup_tx(bnad, i);
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
496
mutex_unlock(&bnad->conf_mutex);
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
504
struct bnad *bnad = netdev_priv(netdev);
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
507
pauseparam->rx_pause = bnad->bna.enet.pause_config.rx_pause;
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
508
pauseparam->tx_pause = bnad->bna.enet.pause_config.tx_pause;
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
515
struct bnad *bnad = netdev_priv(netdev);
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
522
mutex_lock(&bnad->conf_mutex);
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
523
if (pauseparam->rx_pause != bnad->bna.enet.pause_config.rx_pause ||
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
524
pauseparam->tx_pause != bnad->bna.enet.pause_config.tx_pause) {
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
527
spin_lock_irqsave(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
528
bna_enet_pause_config(&bnad->bna.enet, &pause_config);
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
529
spin_unlock_irqrestore(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
531
mutex_unlock(&bnad->conf_mutex);
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
600
struct bnad *bnad = netdev_priv(netdev);
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
607
mutex_lock(&bnad->conf_mutex);
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
614
bmap = bna_tx_rid_mask(&bnad->bna);
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
621
bmap = bna_rx_rid_mask(&bnad->bna);
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
629
for (i = 0; i < bnad->num_rx; i++) {
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
630
if (!bnad->rx_info[i].rx)
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
632
for (j = 0; j < bnad->num_rxp_per_rx; j++)
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
637
for (i = 0; i < bnad->num_rx; i++) {
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
638
if (!bnad->rx_info[i].rx)
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
640
for (j = 0; j < bnad->num_rxp_per_rx; j++) {
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
642
if (bnad->rx_info[i].rx_ctrl[j].ccb &&
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
643
bnad->rx_info[i].rx_ctrl[j].ccb->rcb[1] &&
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
644
bnad->rx_info[i].rx_ctrl[j].ccb->rcb[1]->rxq)
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
650
for (i = 0; i < bnad->num_tx; i++) {
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
651
if (!bnad->tx_info[i].tx)
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
653
for (j = 0; j < bnad->num_txq_per_tx; j++)
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
657
mutex_unlock(&bnad->conf_mutex);
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
663
struct bnad *bnad = netdev_priv(netdev);
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
667
bmap = bna_tx_rid_mask(&bnad->bna);
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
673
bmap = bna_rx_rid_mask(&bnad->bna);
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
683
for (i = 0; i < bnad->num_rx; i++) {
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
684
if (!bnad->rx_info[i].rx)
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
686
count += bnad->num_rxp_per_rx * BNAD_NUM_CQ_COUNTERS;
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
687
count += bnad->num_rxp_per_rx * BNAD_NUM_RXQ_COUNTERS;
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
688
for (j = 0; j < bnad->num_rxp_per_rx; j++)
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
689
if (bnad->rx_info[i].rx_ctrl[j].ccb &&
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
690
bnad->rx_info[i].rx_ctrl[j].ccb->rcb[1] &&
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
691
bnad->rx_info[i].rx_ctrl[j].ccb->rcb[1]->rxq)
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
695
for (i = 0; i < bnad->num_tx; i++) {
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
696
if (!bnad->tx_info[i].tx)
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
698
count += bnad->num_txq_per_tx * BNAD_NUM_TXQ_COUNTERS;
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
704
bnad_per_q_stats_fill(struct bnad *bnad, u64 *buf, int bi)
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
710
for (i = 0; i < bnad->num_rx; i++) {
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
711
if (!bnad->rx_info[i].rx)
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
713
for (j = 0; j < bnad->num_rxp_per_rx; j++)
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
714
if (bnad->rx_info[i].rx_ctrl[j].ccb &&
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
715
bnad->rx_info[i].rx_ctrl[j].ccb->rcb[0] &&
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
716
bnad->rx_info[i].rx_ctrl[j].ccb->rcb[0]->rxq) {
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
717
buf[bi++] = bnad->rx_info[i].rx_ctrl[j].
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
720
buf[bi++] = *(bnad->rx_info[i].rx_ctrl[j].
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
723
buf[bi++] = bnad->rx_info[i].
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
725
buf[bi++] = bnad->rx_info[i].
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
727
buf[bi++] = bnad->rx_info[i].
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
729
buf[bi++] = bnad->rx_info[i].
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
731
buf[bi++] = bnad->rx_info[i].
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
735
for (i = 0; i < bnad->num_rx; i++) {
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
736
if (!bnad->rx_info[i].rx)
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
738
for (j = 0; j < bnad->num_rxp_per_rx; j++)
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
739
if (bnad->rx_info[i].rx_ctrl[j].ccb) {
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
740
if (bnad->rx_info[i].rx_ctrl[j].ccb->rcb[0] &&
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
741
bnad->rx_info[i].rx_ctrl[j].ccb->
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
743
rcb = bnad->rx_info[i].rx_ctrl[j].
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
755
if (bnad->rx_info[i].rx_ctrl[j].ccb->rcb[1] &&
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
756
bnad->rx_info[i].rx_ctrl[j].ccb->
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
758
rcb = bnad->rx_info[i].rx_ctrl[j].
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
773
for (i = 0; i < bnad->num_tx; i++) {
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
774
if (!bnad->tx_info[i].tx)
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
776
for (j = 0; j < bnad->num_txq_per_tx; j++)
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
777
if (bnad->tx_info[i].tcb[j] &&
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
778
bnad->tx_info[i].tcb[j]->txq) {
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
779
tcb = bnad->tx_info[i].tcb[j];
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
795
struct bnad *bnad = netdev_priv(netdev);
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
802
mutex_lock(&bnad->conf_mutex);
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
804
mutex_unlock(&bnad->conf_mutex);
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
812
spin_lock_irqsave(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
815
bnad_netdev_qstats_fill(bnad, &net_stats64);
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
816
bnad_netdev_hwstats_fill(bnad, &net_stats64);
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
834
bnad->stats.drv_stats.netif_queue_stopped = netif_queue_stopped(netdev);
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
837
stats64 = (u64 *)&bnad->stats.drv_stats;
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
842
stats64 = (u64 *) &bnad->stats.bna_stats->hw_stats;
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
850
bmap = bna_tx_rid_mask(&bnad->bna);
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
853
stats64 = (u64 *)&bnad->stats.bna_stats->
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
863
bmap = bna_rx_rid_mask(&bnad->bna);
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
866
stats64 = (u64 *)&bnad->stats.bna_stats->
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
876
bi = bnad_per_q_stats_fill(bnad, buf, bi);
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
878
spin_unlock_irqrestore(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
880
mutex_unlock(&bnad->conf_mutex);
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
895
bnad_get_flash_partition_by_offset(struct bnad *bnad, u32 offset,
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
907
fcomp.bnad = bnad;
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
911
spin_lock_irqsave(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
912
ret = bfa_nw_flash_get_attr(&bnad->bna.flash, flash_attr,
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
915
spin_unlock_irqrestore(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
919
spin_unlock_irqrestore(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
949
struct bnad *bnad = netdev_priv(netdev);
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
956
eeprom->magic = bnad->pcidev->vendor | (bnad->pcidev->device << 16);
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
959
flash_part = bnad_get_flash_partition_by_offset(bnad,
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
964
fcomp.bnad = bnad;
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
968
spin_lock_irqsave(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
969
ret = bfa_nw_flash_read_part(&bnad->bna.flash, flash_part,
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
970
bnad->id, bytes, eeprom->len,
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
974
spin_unlock_irqrestore(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
978
spin_unlock_irqrestore(&bnad->bna_lock, flags);
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
989
struct bnad *bnad = netdev_priv(netdev);
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
996
if (eeprom->magic != (bnad->pcidev->vendor |
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
997
(bnad->pcidev->device << 16)))