Lines Matching refs:edev

28 static int bnxt_register_dev(struct bnxt_en_dev *edev, int ulp_id,  in bnxt_register_dev()  argument
31 struct net_device *dev = edev->net; in bnxt_register_dev()
39 ulp = &edev->ulp_tbl[ulp_id]; in bnxt_register_dev()
65 static int bnxt_unregister_dev(struct bnxt_en_dev *edev, int ulp_id) in bnxt_unregister_dev() argument
67 struct net_device *dev = edev->net; in bnxt_unregister_dev()
76 ulp = &edev->ulp_tbl[ulp_id]; in bnxt_unregister_dev()
82 edev->en_ops->bnxt_free_msix(edev, ulp_id); in bnxt_unregister_dev()
100 struct bnxt_en_dev *edev = bp->edev; in bnxt_fill_msix_vecs() local
103 num_msix = edev->ulp_tbl[BNXT_ROCE_ULP].msix_requested; in bnxt_fill_msix_vecs()
104 idx = edev->ulp_tbl[BNXT_ROCE_ULP].msix_base; in bnxt_fill_msix_vecs()
118 static int bnxt_req_msix_vecs(struct bnxt_en_dev *edev, int ulp_id, in bnxt_req_msix_vecs() argument
121 struct net_device *dev = edev->net; in bnxt_req_msix_vecs()
136 if (edev->ulp_tbl[ulp_id].msix_requested) in bnxt_req_msix_vecs()
152 edev->ulp_tbl[ulp_id].msix_base = idx; in bnxt_req_msix_vecs()
153 edev->ulp_tbl[ulp_id].msix_requested = avail_msix; in bnxt_req_msix_vecs()
166 edev->ulp_tbl[ulp_id].msix_requested = 0; in bnxt_req_msix_vecs()
175 edev->ulp_tbl[ulp_id].msix_requested = avail_msix; in bnxt_req_msix_vecs()
178 edev->flags |= BNXT_EN_FLAG_MSIX_REQUESTED; in bnxt_req_msix_vecs()
182 static int bnxt_free_msix_vecs(struct bnxt_en_dev *edev, int ulp_id) in bnxt_free_msix_vecs() argument
184 struct net_device *dev = edev->net; in bnxt_free_msix_vecs()
191 if (!(edev->flags & BNXT_EN_FLAG_MSIX_REQUESTED)) in bnxt_free_msix_vecs()
194 edev->ulp_tbl[ulp_id].msix_requested = 0; in bnxt_free_msix_vecs()
195 edev->flags &= ~BNXT_EN_FLAG_MSIX_REQUESTED; in bnxt_free_msix_vecs()
196 if (netif_running(dev) && !(edev->flags & BNXT_EN_FLAG_ULP_STOPPED)) { in bnxt_free_msix_vecs()
205 if (bnxt_ulp_registered(bp->edev, BNXT_ROCE_ULP)) { in bnxt_get_ulp_msix_num()
206 struct bnxt_en_dev *edev = bp->edev; in bnxt_get_ulp_msix_num() local
208 return edev->ulp_tbl[BNXT_ROCE_ULP].msix_requested; in bnxt_get_ulp_msix_num()
215 if (bnxt_ulp_registered(bp->edev, BNXT_ROCE_ULP)) { in bnxt_get_ulp_msix_base()
216 struct bnxt_en_dev *edev = bp->edev; in bnxt_get_ulp_msix_base() local
218 if (edev->ulp_tbl[BNXT_ROCE_ULP].msix_requested) in bnxt_get_ulp_msix_base()
219 return edev->ulp_tbl[BNXT_ROCE_ULP].msix_base; in bnxt_get_ulp_msix_base()
226 if (bnxt_ulp_registered(bp->edev, BNXT_ROCE_ULP)) { in bnxt_get_ulp_stat_ctxs()
227 struct bnxt_en_dev *edev = bp->edev; in bnxt_get_ulp_stat_ctxs() local
229 if (edev->ulp_tbl[BNXT_ROCE_ULP].msix_requested) in bnxt_get_ulp_stat_ctxs()
236 static int bnxt_send_msg(struct bnxt_en_dev *edev, int ulp_id, in bnxt_send_msg() argument
239 struct net_device *dev = edev->net; in bnxt_send_msg()
283 struct bnxt_en_dev *edev = bp->edev; in bnxt_ulp_stop() local
287 if (!edev) in bnxt_ulp_stop()
290 edev->flags |= BNXT_EN_FLAG_ULP_STOPPED; in bnxt_ulp_stop()
292 struct bnxt_ulp *ulp = &edev->ulp_tbl[i]; in bnxt_ulp_stop()
303 struct bnxt_en_dev *edev = bp->edev; in bnxt_ulp_start() local
307 if (!edev) in bnxt_ulp_start()
310 edev->flags &= ~BNXT_EN_FLAG_ULP_STOPPED; in bnxt_ulp_start()
316 struct bnxt_ulp *ulp = &edev->ulp_tbl[i]; in bnxt_ulp_start()
327 struct bnxt_en_dev *edev = bp->edev; in bnxt_ulp_sriov_cfg() local
331 if (!edev) in bnxt_ulp_sriov_cfg()
335 struct bnxt_ulp *ulp = &edev->ulp_tbl[i]; in bnxt_ulp_sriov_cfg()
352 struct bnxt_en_dev *edev = bp->edev; in bnxt_ulp_shutdown() local
356 if (!edev) in bnxt_ulp_shutdown()
360 struct bnxt_ulp *ulp = &edev->ulp_tbl[i]; in bnxt_ulp_shutdown()
371 struct bnxt_en_dev *edev = bp->edev; in bnxt_ulp_irq_stop() local
374 if (!edev || !(edev->flags & BNXT_EN_FLAG_MSIX_REQUESTED)) in bnxt_ulp_irq_stop()
377 if (bnxt_ulp_registered(bp->edev, BNXT_ROCE_ULP)) { in bnxt_ulp_irq_stop()
378 struct bnxt_ulp *ulp = &edev->ulp_tbl[BNXT_ROCE_ULP]; in bnxt_ulp_irq_stop()
392 struct bnxt_en_dev *edev = bp->edev; in bnxt_ulp_irq_restart() local
395 if (!edev || !(edev->flags & BNXT_EN_FLAG_MSIX_REQUESTED)) in bnxt_ulp_irq_restart()
398 if (bnxt_ulp_registered(bp->edev, BNXT_ROCE_ULP)) { in bnxt_ulp_irq_restart()
399 struct bnxt_ulp *ulp = &edev->ulp_tbl[BNXT_ROCE_ULP]; in bnxt_ulp_irq_restart()
424 struct bnxt_en_dev *edev = bp->edev; in bnxt_ulp_async_events() local
428 if (!edev) in bnxt_ulp_async_events()
433 struct bnxt_ulp *ulp = &edev->ulp_tbl[i]; in bnxt_ulp_async_events()
450 static int bnxt_register_async_events(struct bnxt_en_dev *edev, int ulp_id, in bnxt_register_async_events() argument
453 struct net_device *dev = edev->net; in bnxt_register_async_events()
460 ulp = &edev->ulp_tbl[ulp_id]; in bnxt_register_async_events()
481 struct bnxt_en_dev *edev; in bnxt_ulp_probe() local
483 edev = bp->edev; in bnxt_ulp_probe()
484 if (!edev) { in bnxt_ulp_probe()
485 edev = kzalloc(sizeof(*edev), GFP_KERNEL); in bnxt_ulp_probe()
486 if (!edev) in bnxt_ulp_probe()
488 edev->en_ops = &bnxt_en_ops_tbl; in bnxt_ulp_probe()
489 edev->net = dev; in bnxt_ulp_probe()
490 edev->pdev = bp->pdev; in bnxt_ulp_probe()
491 edev->l2_db_size = bp->db_size; in bnxt_ulp_probe()
492 edev->l2_db_size_nc = bp->db_size; in bnxt_ulp_probe()
493 bp->edev = edev; in bnxt_ulp_probe()
495 edev->flags &= ~BNXT_EN_FLAG_ROCE_CAP; in bnxt_ulp_probe()
497 edev->flags |= BNXT_EN_FLAG_ROCEV1_CAP; in bnxt_ulp_probe()
499 edev->flags |= BNXT_EN_FLAG_ROCEV2_CAP; in bnxt_ulp_probe()
500 return bp->edev; in bnxt_ulp_probe()