Lines Matching refs:edev
34 struct bnxt_en_dev *edev = bp->edev; in bnxt_fill_msix_vecs() local
37 if (!edev->ulp_tbl->msix_requested) { in bnxt_fill_msix_vecs()
41 num_msix = edev->ulp_tbl->msix_requested; in bnxt_fill_msix_vecs()
54 if (bp->edev) in bnxt_get_ulp_msix_num()
55 return bp->edev->ulp_num_msix_vec; in bnxt_get_ulp_msix_num()
61 if (bp->edev) in bnxt_set_ulp_msix_num()
62 bp->edev->ulp_num_msix_vec = num; in bnxt_set_ulp_msix_num()
67 if (bnxt_ulp_registered(bp->edev)) in bnxt_get_ulp_msix_num_in_use()
68 return bp->edev->ulp_num_msix_vec; in bnxt_get_ulp_msix_num_in_use()
74 if (bp->edev) in bnxt_get_ulp_stat_ctxs()
75 return bp->edev->ulp_num_ctxs; in bnxt_get_ulp_stat_ctxs()
81 if (bp->edev) in bnxt_set_ulp_stat_ctxs()
82 bp->edev->ulp_num_ctxs = num_ulp_ctx; in bnxt_set_ulp_stat_ctxs()
87 if (bnxt_ulp_registered(bp->edev)) in bnxt_get_ulp_stat_ctxs_in_use()
88 return bp->edev->ulp_num_ctxs; in bnxt_get_ulp_stat_ctxs_in_use()
94 if (bp->edev) { in bnxt_set_dflt_ulp_stat_ctxs()
95 bp->edev->ulp_num_ctxs = BNXT_MIN_ROCE_STAT_CTXS; in bnxt_set_dflt_ulp_stat_ctxs()
102 bp->edev->ulp_num_ctxs++; in bnxt_set_dflt_ulp_stat_ctxs()
106 int bnxt_register_dev(struct bnxt_en_dev *edev, in bnxt_register_dev() argument
110 struct net_device *dev = edev->net; in bnxt_register_dev()
117 mutex_lock(&edev->en_dev_lock); in bnxt_register_dev()
129 ulp = edev->ulp_tbl; in bnxt_register_dev()
136 edev->ulp_tbl->msix_requested = bnxt_get_ulp_msix_num(bp); in bnxt_register_dev()
138 bnxt_fill_msix_vecs(bp, bp->edev->msix_entries); in bnxt_register_dev()
139 edev->flags |= BNXT_EN_FLAG_MSIX_REQUESTED; in bnxt_register_dev()
141 mutex_unlock(&edev->en_dev_lock); in bnxt_register_dev()
147 void bnxt_unregister_dev(struct bnxt_en_dev *edev) in bnxt_unregister_dev() argument
149 struct net_device *dev = edev->net; in bnxt_unregister_dev()
153 ulp = edev->ulp_tbl; in bnxt_unregister_dev()
155 mutex_lock(&edev->en_dev_lock); in bnxt_unregister_dev()
157 edev->flags &= ~BNXT_EN_FLAG_MSIX_REQUESTED; in bnxt_unregister_dev()
158 edev->ulp_tbl->msix_requested = 0; in bnxt_unregister_dev()
167 mutex_unlock(&edev->en_dev_lock); in bnxt_unregister_dev()
188 int bnxt_send_msg(struct bnxt_en_dev *edev, in bnxt_send_msg() argument
191 struct net_device *dev = edev->net; in bnxt_send_msg()
228 struct bnxt_en_dev *edev = bp->edev; in bnxt_ulp_stop() local
230 if (!edev) in bnxt_ulp_stop()
233 mutex_lock(&edev->en_dev_lock); in bnxt_ulp_stop()
234 if (!bnxt_ulp_registered(edev) || in bnxt_ulp_stop()
235 (edev->flags & BNXT_EN_FLAG_ULP_STOPPED)) in bnxt_ulp_stop()
238 edev->flags |= BNXT_EN_FLAG_ULP_STOPPED; in bnxt_ulp_stop()
248 edev->en_state = bp->state; in bnxt_ulp_stop()
253 mutex_unlock(&edev->en_dev_lock); in bnxt_ulp_stop()
259 struct bnxt_en_dev *edev = bp->edev; in bnxt_ulp_start() local
261 if (!edev || err) in bnxt_ulp_start()
264 mutex_lock(&edev->en_dev_lock); in bnxt_ulp_start()
265 if (!bnxt_ulp_registered(edev) || in bnxt_ulp_start()
266 !(edev->flags & BNXT_EN_FLAG_ULP_STOPPED)) in bnxt_ulp_start()
269 if (edev->ulp_tbl->msix_requested) in bnxt_ulp_start()
270 bnxt_fill_msix_vecs(bp, edev->msix_entries); in bnxt_ulp_start()
280 edev->en_state = bp->state; in bnxt_ulp_start()
285 edev->flags &= ~BNXT_EN_FLAG_ULP_STOPPED; in bnxt_ulp_start()
286 mutex_unlock(&edev->en_dev_lock); in bnxt_ulp_start()
291 struct bnxt_en_dev *edev = bp->edev; in bnxt_ulp_irq_stop() local
295 if (!edev || !(edev->flags & BNXT_EN_FLAG_MSIX_REQUESTED)) in bnxt_ulp_irq_stop()
298 if (bnxt_ulp_registered(bp->edev)) { in bnxt_ulp_irq_stop()
299 struct bnxt_ulp *ulp = edev->ulp_tbl; in bnxt_ulp_irq_stop()
315 struct bnxt_en_dev *edev = bp->edev; in bnxt_ulp_irq_restart() local
318 if (!edev || !(edev->flags & BNXT_EN_FLAG_MSIX_REQUESTED)) in bnxt_ulp_irq_restart()
321 if (bnxt_ulp_registered(bp->edev)) { in bnxt_ulp_irq_restart()
322 struct bnxt_ulp *ulp = edev->ulp_tbl; in bnxt_ulp_irq_restart()
347 struct bnxt_en_dev *edev = bp->edev; in bnxt_ulp_async_events() local
351 if (!bnxt_ulp_registered(edev)) in bnxt_ulp_async_events()
353 ulp = edev->ulp_tbl; in bnxt_ulp_async_events()
372 void bnxt_register_async_events(struct bnxt_en_dev *edev, in bnxt_register_async_events() argument
375 struct net_device *dev = edev->net; in bnxt_register_async_events()
379 ulp = edev->ulp_tbl; in bnxt_register_async_events()
406 struct bnxt *bp = netdev_priv(aux_priv->edev->net); in bnxt_aux_dev_release()
409 kfree(aux_priv->edev->ulp_tbl); in bnxt_aux_dev_release()
410 bp->edev = NULL; in bnxt_aux_dev_release()
411 kfree(aux_priv->edev); in bnxt_aux_dev_release()
418 if (!bp->edev) in bnxt_rdma_aux_device_del()
424 static void bnxt_set_edev_info(struct bnxt_en_dev *edev, struct bnxt *bp) in bnxt_set_edev_info() argument
426 edev->net = bp->dev; in bnxt_set_edev_info()
427 edev->pdev = bp->pdev; in bnxt_set_edev_info()
428 edev->l2_db_size = bp->db_size; in bnxt_set_edev_info()
429 edev->l2_db_size_nc = bp->db_size; in bnxt_set_edev_info()
430 edev->l2_db_offset = bp->db_offset; in bnxt_set_edev_info()
431 mutex_init(&edev->en_dev_lock); in bnxt_set_edev_info()
434 edev->flags |= BNXT_EN_FLAG_ROCEV1_CAP; in bnxt_set_edev_info()
436 edev->flags |= BNXT_EN_FLAG_ROCEV2_CAP; in bnxt_set_edev_info()
438 edev->flags |= BNXT_EN_FLAG_VF; in bnxt_set_edev_info()
440 edev->flags |= BNXT_EN_FLAG_ROCE_VF_RES_MGMT; in bnxt_set_edev_info()
442 edev->flags |= BNXT_EN_FLAG_SW_RES_LMT; in bnxt_set_edev_info()
444 edev->chip_num = bp->chip_num; in bnxt_set_edev_info()
445 edev->hw_ring_stats_size = bp->hw_ring_stats_size; in bnxt_set_edev_info()
446 edev->pf_port_id = bp->pf.port_id; in bnxt_set_edev_info()
447 edev->en_state = bp->state; in bnxt_set_edev_info()
448 edev->bar0 = bp->bar0; in bnxt_set_edev_info()
456 if (!bp->edev) in bnxt_rdma_aux_device_add()
472 struct bnxt_en_dev *edev; in bnxt_rdma_aux_device_init() local
509 edev = kzalloc(sizeof(*edev), GFP_KERNEL); in bnxt_rdma_aux_device_init()
510 if (!edev) in bnxt_rdma_aux_device_init()
513 aux_priv->edev = edev; in bnxt_rdma_aux_device_init()
519 edev->ulp_tbl = ulp; in bnxt_rdma_aux_device_init()
520 bp->edev = edev; in bnxt_rdma_aux_device_init()
521 bnxt_set_edev_info(edev, bp); in bnxt_rdma_aux_device_init()