Lines Matching defs:edev

33 	struct bnxt_en_dev *edev = bp->edev;
36 if (!edev->ulp_tbl->msix_requested) {
40 num_msix = edev->ulp_tbl->msix_requested;
53 if (bp->edev)
54 return bp->edev->ulp_num_msix_vec;
60 if (bp->edev)
61 bp->edev->ulp_num_msix_vec = num;
66 if (bnxt_ulp_registered(bp->edev))
67 return bp->edev->ulp_num_msix_vec;
73 if (bp->edev)
74 return bp->edev->ulp_num_ctxs;
80 if (bp->edev)
81 bp->edev->ulp_num_ctxs = num_ulp_ctx;
86 if (bnxt_ulp_registered(bp->edev))
87 return bp->edev->ulp_num_ctxs;
93 if (bp->edev) {
94 bp->edev->ulp_num_ctxs = BNXT_MIN_ROCE_STAT_CTXS;
101 bp->edev->ulp_num_ctxs++;
105 int bnxt_register_dev(struct bnxt_en_dev *edev,
109 struct net_device *dev = edev->net;
116 mutex_lock(&edev->en_dev_lock);
128 ulp = edev->ulp_tbl;
135 edev->ulp_tbl->msix_requested = bnxt_get_ulp_msix_num(bp);
137 bnxt_fill_msix_vecs(bp, bp->edev->msix_entries);
138 edev->flags |= BNXT_EN_FLAG_MSIX_REQUESTED;
140 mutex_unlock(&edev->en_dev_lock);
146 void bnxt_unregister_dev(struct bnxt_en_dev *edev)
148 struct net_device *dev = edev->net;
153 ulp = edev->ulp_tbl;
155 mutex_lock(&edev->en_dev_lock);
157 edev->flags &= ~BNXT_EN_FLAG_MSIX_REQUESTED;
158 edev->ulp_tbl->msix_requested = 0;
171 mutex_unlock(&edev->en_dev_lock);
186 int bnxt_send_msg(struct bnxt_en_dev *edev,
189 struct net_device *dev = edev->net;
225 struct bnxt_en_dev *edev = bp->edev;
227 if (!edev)
230 mutex_lock(&edev->en_dev_lock);
231 if (!bnxt_ulp_registered(edev)) {
232 mutex_unlock(&edev->en_dev_lock);
236 edev->flags |= BNXT_EN_FLAG_ULP_STOPPED;
246 edev->en_state = bp->state;
250 mutex_unlock(&edev->en_dev_lock);
256 struct bnxt_en_dev *edev = bp->edev;
258 if (!edev)
261 edev->flags &= ~BNXT_EN_FLAG_ULP_STOPPED;
266 mutex_lock(&edev->en_dev_lock);
267 if (!bnxt_ulp_registered(edev)) {
268 mutex_unlock(&edev->en_dev_lock);
272 if (edev->ulp_tbl->msix_requested)
273 bnxt_fill_msix_vecs(bp, edev->msix_entries);
283 edev->en_state = bp->state;
287 mutex_unlock(&edev->en_dev_lock);
292 struct bnxt_en_dev *edev = bp->edev;
295 if (!edev || !(edev->flags & BNXT_EN_FLAG_MSIX_REQUESTED))
298 if (bnxt_ulp_registered(bp->edev)) {
299 struct bnxt_ulp *ulp = edev->ulp_tbl;
313 struct bnxt_en_dev *edev = bp->edev;
316 if (!edev || !(edev->flags & BNXT_EN_FLAG_MSIX_REQUESTED))
319 if (bnxt_ulp_registered(bp->edev)) {
320 struct bnxt_ulp *ulp = edev->ulp_tbl;
342 int bnxt_register_async_events(struct bnxt_en_dev *edev,
346 struct net_device *dev = edev->net;
350 ulp = edev->ulp_tbl;
378 struct bnxt *bp = netdev_priv(aux_priv->edev->net);
381 kfree(aux_priv->edev->ulp_tbl);
382 bp->edev = NULL;
383 kfree(aux_priv->edev);
390 if (!bp->edev)
396 static void bnxt_set_edev_info(struct bnxt_en_dev *edev, struct bnxt *bp)
398 edev->net = bp->dev;
399 edev->pdev = bp->pdev;
400 edev->l2_db_size = bp->db_size;
401 edev->l2_db_size_nc = bp->db_size;
402 edev->l2_db_offset = bp->db_offset;
403 mutex_init(&edev->en_dev_lock);
406 edev->flags |= BNXT_EN_FLAG_ROCEV1_CAP;
408 edev->flags |= BNXT_EN_FLAG_ROCEV2_CAP;
410 edev->flags |= BNXT_EN_FLAG_VF;
412 edev->chip_num = bp->chip_num;
413 edev->hw_ring_stats_size = bp->hw_ring_stats_size;
414 edev->pf_port_id = bp->pf.port_id;
415 edev->en_state = bp->state;
416 edev->bar0 = bp->bar0;
424 if (!bp->edev)
440 struct bnxt_en_dev *edev;
477 edev = kzalloc(sizeof(*edev), GFP_KERNEL);
478 if (!edev)
481 aux_priv->edev = edev;
487 edev->ulp_tbl = ulp;
488 bp->edev = edev;
489 bnxt_set_edev_info(edev, bp);