Lines Matching refs:edev
27 static int bnxt_register_dev(struct bnxt_en_dev *edev, int ulp_id, in bnxt_register_dev() argument
30 struct net_device *dev = edev->net; in bnxt_register_dev()
38 ulp = &edev->ulp_tbl[ulp_id]; in bnxt_register_dev()
64 static int bnxt_unregister_dev(struct bnxt_en_dev *edev, int ulp_id) in bnxt_unregister_dev() argument
66 struct net_device *dev = edev->net; in bnxt_unregister_dev()
75 ulp = &edev->ulp_tbl[ulp_id]; in bnxt_unregister_dev()
81 edev->en_ops->bnxt_free_msix(edev, ulp_id); in bnxt_unregister_dev()
99 struct bnxt_en_dev *edev = bp->edev; in bnxt_fill_msix_vecs() local
102 num_msix = edev->ulp_tbl[BNXT_ROCE_ULP].msix_requested; in bnxt_fill_msix_vecs()
103 idx = edev->ulp_tbl[BNXT_ROCE_ULP].msix_base; in bnxt_fill_msix_vecs()
117 static int bnxt_req_msix_vecs(struct bnxt_en_dev *edev, int ulp_id, in bnxt_req_msix_vecs() argument
120 struct net_device *dev = edev->net; in bnxt_req_msix_vecs()
135 if (edev->ulp_tbl[ulp_id].msix_requested) in bnxt_req_msix_vecs()
151 edev->ulp_tbl[ulp_id].msix_base = idx; in bnxt_req_msix_vecs()
152 edev->ulp_tbl[ulp_id].msix_requested = avail_msix; in bnxt_req_msix_vecs()
165 edev->ulp_tbl[ulp_id].msix_requested = 0; in bnxt_req_msix_vecs()
174 edev->ulp_tbl[ulp_id].msix_requested = avail_msix; in bnxt_req_msix_vecs()
177 edev->flags |= BNXT_EN_FLAG_MSIX_REQUESTED; in bnxt_req_msix_vecs()
181 static int bnxt_free_msix_vecs(struct bnxt_en_dev *edev, int ulp_id) in bnxt_free_msix_vecs() argument
183 struct net_device *dev = edev->net; in bnxt_free_msix_vecs()
190 if (!(edev->flags & BNXT_EN_FLAG_MSIX_REQUESTED)) in bnxt_free_msix_vecs()
193 edev->ulp_tbl[ulp_id].msix_requested = 0; in bnxt_free_msix_vecs()
194 edev->flags &= ~BNXT_EN_FLAG_MSIX_REQUESTED; in bnxt_free_msix_vecs()
195 if (netif_running(dev) && !(edev->flags & BNXT_EN_FLAG_ULP_STOPPED)) { in bnxt_free_msix_vecs()
204 if (bnxt_ulp_registered(bp->edev, BNXT_ROCE_ULP)) { in bnxt_get_ulp_msix_num()
205 struct bnxt_en_dev *edev = bp->edev; in bnxt_get_ulp_msix_num() local
207 return edev->ulp_tbl[BNXT_ROCE_ULP].msix_requested; in bnxt_get_ulp_msix_num()
214 if (bnxt_ulp_registered(bp->edev, BNXT_ROCE_ULP)) { in bnxt_get_ulp_msix_base()
215 struct bnxt_en_dev *edev = bp->edev; in bnxt_get_ulp_msix_base() local
217 if (edev->ulp_tbl[BNXT_ROCE_ULP].msix_requested) in bnxt_get_ulp_msix_base()
218 return edev->ulp_tbl[BNXT_ROCE_ULP].msix_base; in bnxt_get_ulp_msix_base()
225 if (bnxt_ulp_registered(bp->edev, BNXT_ROCE_ULP)) in bnxt_get_ulp_stat_ctxs()
231 static int bnxt_send_msg(struct bnxt_en_dev *edev, int ulp_id, in bnxt_send_msg() argument
234 struct net_device *dev = edev->net; in bnxt_send_msg()
272 struct bnxt_en_dev *edev = bp->edev; in bnxt_ulp_stop() local
276 if (!edev) in bnxt_ulp_stop()
279 edev->flags |= BNXT_EN_FLAG_ULP_STOPPED; in bnxt_ulp_stop()
281 struct bnxt_ulp *ulp = &edev->ulp_tbl[i]; in bnxt_ulp_stop()
292 struct bnxt_en_dev *edev = bp->edev; in bnxt_ulp_start() local
296 if (!edev) in bnxt_ulp_start()
299 edev->flags &= ~BNXT_EN_FLAG_ULP_STOPPED; in bnxt_ulp_start()
305 struct bnxt_ulp *ulp = &edev->ulp_tbl[i]; in bnxt_ulp_start()
316 struct bnxt_en_dev *edev = bp->edev; in bnxt_ulp_sriov_cfg() local
320 if (!edev) in bnxt_ulp_sriov_cfg()
324 struct bnxt_ulp *ulp = &edev->ulp_tbl[i]; in bnxt_ulp_sriov_cfg()
341 struct bnxt_en_dev *edev = bp->edev; in bnxt_ulp_shutdown() local
345 if (!edev) in bnxt_ulp_shutdown()
349 struct bnxt_ulp *ulp = &edev->ulp_tbl[i]; in bnxt_ulp_shutdown()
360 struct bnxt_en_dev *edev = bp->edev; in bnxt_ulp_irq_stop() local
363 if (!edev || !(edev->flags & BNXT_EN_FLAG_MSIX_REQUESTED)) in bnxt_ulp_irq_stop()
366 if (bnxt_ulp_registered(bp->edev, BNXT_ROCE_ULP)) { in bnxt_ulp_irq_stop()
367 struct bnxt_ulp *ulp = &edev->ulp_tbl[BNXT_ROCE_ULP]; in bnxt_ulp_irq_stop()
381 struct bnxt_en_dev *edev = bp->edev; in bnxt_ulp_irq_restart() local
384 if (!edev || !(edev->flags & BNXT_EN_FLAG_MSIX_REQUESTED)) in bnxt_ulp_irq_restart()
387 if (bnxt_ulp_registered(bp->edev, BNXT_ROCE_ULP)) { in bnxt_ulp_irq_restart()
388 struct bnxt_ulp *ulp = &edev->ulp_tbl[BNXT_ROCE_ULP]; in bnxt_ulp_irq_restart()
413 struct bnxt_en_dev *edev = bp->edev; in bnxt_ulp_async_events() local
417 if (!edev) in bnxt_ulp_async_events()
422 struct bnxt_ulp *ulp = &edev->ulp_tbl[i]; in bnxt_ulp_async_events()
439 static int bnxt_register_async_events(struct bnxt_en_dev *edev, int ulp_id, in bnxt_register_async_events() argument
442 struct net_device *dev = edev->net; in bnxt_register_async_events()
449 ulp = &edev->ulp_tbl[ulp_id]; in bnxt_register_async_events()
470 struct bnxt_en_dev *edev; in bnxt_ulp_probe() local
472 edev = bp->edev; in bnxt_ulp_probe()
473 if (!edev) { in bnxt_ulp_probe()
474 edev = kzalloc(sizeof(*edev), GFP_KERNEL); in bnxt_ulp_probe()
475 if (!edev) in bnxt_ulp_probe()
477 edev->en_ops = &bnxt_en_ops_tbl; in bnxt_ulp_probe()
479 edev->flags |= BNXT_EN_FLAG_ROCEV1_CAP; in bnxt_ulp_probe()
481 edev->flags |= BNXT_EN_FLAG_ROCEV2_CAP; in bnxt_ulp_probe()
482 edev->net = dev; in bnxt_ulp_probe()
483 edev->pdev = bp->pdev; in bnxt_ulp_probe()
484 edev->l2_db_size = bp->db_size; in bnxt_ulp_probe()
485 edev->l2_db_size_nc = bp->db_size; in bnxt_ulp_probe()
486 bp->edev = edev; in bnxt_ulp_probe()
488 return bp->edev; in bnxt_ulp_probe()