Commit dafcdf5e authored by Ajit Khaparde's avatar Ajit Khaparde

bnxt_en: Remove usage of ulp_id

Since the driver continues to use the single ULP model,
the extra complexity and indirection is unnecessary.
Remove the usage of ulp_id from the code.
Suggested-by: default avatarLeon Romanovsky <leonro@nvidia.com>
Signed-off-by: default avatarAjit Khaparde <ajit.khaparde@broadcom.com>
Reviewed-by: default avatarAndy Gospodarek <andrew.gospodarek@broadcom.com>
Reviewed-by: default avatarSelvin Xavier <selvin.xavier@broadcom.com>
Reviewed-by: default avatarLeon Romanovsky <leonro@nvidia.com>
parent 6d758147
...@@ -363,8 +363,7 @@ static int bnxt_re_unregister_netdev(struct bnxt_re_dev *rdev) ...@@ -363,8 +363,7 @@ static int bnxt_re_unregister_netdev(struct bnxt_re_dev *rdev)
en_dev = rdev->en_dev; en_dev = rdev->en_dev;
rc = en_dev->en_ops->bnxt_unregister_device(rdev->en_dev, rc = en_dev->en_ops->bnxt_unregister_device(rdev->en_dev);
BNXT_ROCE_ULP);
return rc; return rc;
} }
...@@ -375,7 +374,7 @@ static int bnxt_re_register_netdev(struct bnxt_re_dev *rdev) ...@@ -375,7 +374,7 @@ static int bnxt_re_register_netdev(struct bnxt_re_dev *rdev)
en_dev = rdev->en_dev; en_dev = rdev->en_dev;
rc = en_dev->en_ops->bnxt_register_device(en_dev, BNXT_ROCE_ULP, rc = en_dev->en_ops->bnxt_register_device(en_dev,
&bnxt_re_ulp_ops, rdev); &bnxt_re_ulp_ops, rdev);
rdev->qplib_res.pdev = rdev->en_dev->pdev; rdev->qplib_res.pdev = rdev->en_dev->pdev;
return rc; return rc;
...@@ -384,16 +383,15 @@ static int bnxt_re_register_netdev(struct bnxt_re_dev *rdev) ...@@ -384,16 +383,15 @@ static int bnxt_re_register_netdev(struct bnxt_re_dev *rdev)
static int bnxt_re_free_msix(struct bnxt_re_dev *rdev) static int bnxt_re_free_msix(struct bnxt_re_dev *rdev)
{ {
struct bnxt_en_dev *en_dev; struct bnxt_en_dev *en_dev;
int rc;
if (!rdev) if (!rdev)
return -EINVAL; return -EINVAL;
en_dev = rdev->en_dev; en_dev = rdev->en_dev;
rc = en_dev->en_ops->bnxt_free_msix(rdev->en_dev, BNXT_ROCE_ULP); en_dev->en_ops->bnxt_free_msix(rdev->en_dev);
return rc; return 0;
} }
static int bnxt_re_request_msix(struct bnxt_re_dev *rdev) static int bnxt_re_request_msix(struct bnxt_re_dev *rdev)
...@@ -405,7 +403,7 @@ static int bnxt_re_request_msix(struct bnxt_re_dev *rdev) ...@@ -405,7 +403,7 @@ static int bnxt_re_request_msix(struct bnxt_re_dev *rdev)
num_msix_want = min_t(u32, BNXT_RE_MAX_MSIX, num_online_cpus()); num_msix_want = min_t(u32, BNXT_RE_MAX_MSIX, num_online_cpus());
num_msix_got = en_dev->en_ops->bnxt_request_msix(en_dev, BNXT_ROCE_ULP, num_msix_got = en_dev->en_ops->bnxt_request_msix(en_dev,
rdev->msix_entries, rdev->msix_entries,
num_msix_want); num_msix_want);
if (num_msix_got < BNXT_RE_MIN_MSIX) { if (num_msix_got < BNXT_RE_MIN_MSIX) {
...@@ -468,7 +466,7 @@ static int bnxt_re_net_ring_free(struct bnxt_re_dev *rdev, ...@@ -468,7 +466,7 @@ static int bnxt_re_net_ring_free(struct bnxt_re_dev *rdev,
req.ring_id = cpu_to_le16(fw_ring_id); req.ring_id = cpu_to_le16(fw_ring_id);
bnxt_re_fill_fw_msg(&fw_msg, (void *)&req, sizeof(req), (void *)&resp, bnxt_re_fill_fw_msg(&fw_msg, (void *)&req, sizeof(req), (void *)&resp,
sizeof(resp), DFLT_HWRM_CMD_TIMEOUT); sizeof(resp), DFLT_HWRM_CMD_TIMEOUT);
rc = en_dev->en_ops->bnxt_send_fw_msg(en_dev, BNXT_ROCE_ULP, &fw_msg); rc = en_dev->en_ops->bnxt_send_fw_msg(en_dev, &fw_msg);
if (rc) if (rc)
ibdev_err(&rdev->ibdev, "Failed to free HW ring:%d :%#x", ibdev_err(&rdev->ibdev, "Failed to free HW ring:%d :%#x",
req.ring_id, rc); req.ring_id, rc);
...@@ -505,7 +503,7 @@ static int bnxt_re_net_ring_alloc(struct bnxt_re_dev *rdev, ...@@ -505,7 +503,7 @@ static int bnxt_re_net_ring_alloc(struct bnxt_re_dev *rdev,
req.int_mode = ring_attr->mode; req.int_mode = ring_attr->mode;
bnxt_re_fill_fw_msg(&fw_msg, (void *)&req, sizeof(req), (void *)&resp, bnxt_re_fill_fw_msg(&fw_msg, (void *)&req, sizeof(req), (void *)&resp,
sizeof(resp), DFLT_HWRM_CMD_TIMEOUT); sizeof(resp), DFLT_HWRM_CMD_TIMEOUT);
rc = en_dev->en_ops->bnxt_send_fw_msg(en_dev, BNXT_ROCE_ULP, &fw_msg); rc = en_dev->en_ops->bnxt_send_fw_msg(en_dev, &fw_msg);
if (!rc) if (!rc)
*fw_ring_id = le16_to_cpu(resp.ring_id); *fw_ring_id = le16_to_cpu(resp.ring_id);
...@@ -533,7 +531,7 @@ static int bnxt_re_net_stats_ctx_free(struct bnxt_re_dev *rdev, ...@@ -533,7 +531,7 @@ static int bnxt_re_net_stats_ctx_free(struct bnxt_re_dev *rdev,
req.stat_ctx_id = cpu_to_le32(fw_stats_ctx_id); req.stat_ctx_id = cpu_to_le32(fw_stats_ctx_id);
bnxt_re_fill_fw_msg(&fw_msg, (void *)&req, sizeof(req), (void *)&resp, bnxt_re_fill_fw_msg(&fw_msg, (void *)&req, sizeof(req), (void *)&resp,
sizeof(resp), DFLT_HWRM_CMD_TIMEOUT); sizeof(resp), DFLT_HWRM_CMD_TIMEOUT);
rc = en_dev->en_ops->bnxt_send_fw_msg(en_dev, BNXT_ROCE_ULP, &fw_msg); rc = en_dev->en_ops->bnxt_send_fw_msg(en_dev, &fw_msg);
if (rc) if (rc)
ibdev_err(&rdev->ibdev, "Failed to free HW stats context %#x", ibdev_err(&rdev->ibdev, "Failed to free HW stats context %#x",
rc); rc);
...@@ -566,7 +564,7 @@ static int bnxt_re_net_stats_ctx_alloc(struct bnxt_re_dev *rdev, ...@@ -566,7 +564,7 @@ static int bnxt_re_net_stats_ctx_alloc(struct bnxt_re_dev *rdev,
req.stat_ctx_flags = STAT_CTX_ALLOC_REQ_STAT_CTX_FLAGS_ROCE; req.stat_ctx_flags = STAT_CTX_ALLOC_REQ_STAT_CTX_FLAGS_ROCE;
bnxt_re_fill_fw_msg(&fw_msg, (void *)&req, sizeof(req), (void *)&resp, bnxt_re_fill_fw_msg(&fw_msg, (void *)&req, sizeof(req), (void *)&resp,
sizeof(resp), DFLT_HWRM_CMD_TIMEOUT); sizeof(resp), DFLT_HWRM_CMD_TIMEOUT);
rc = en_dev->en_ops->bnxt_send_fw_msg(en_dev, BNXT_ROCE_ULP, &fw_msg); rc = en_dev->en_ops->bnxt_send_fw_msg(en_dev, &fw_msg);
if (!rc) if (!rc)
*fw_stats_ctx_id = le32_to_cpu(resp.stat_ctx_id); *fw_stats_ctx_id = le32_to_cpu(resp.stat_ctx_id);
...@@ -1052,7 +1050,7 @@ static int bnxt_re_query_hwrm_pri2cos(struct bnxt_re_dev *rdev, u8 dir, ...@@ -1052,7 +1050,7 @@ static int bnxt_re_query_hwrm_pri2cos(struct bnxt_re_dev *rdev, u8 dir,
bnxt_re_fill_fw_msg(&fw_msg, (void *)&req, sizeof(req), (void *)&resp, bnxt_re_fill_fw_msg(&fw_msg, (void *)&req, sizeof(req), (void *)&resp,
sizeof(resp), DFLT_HWRM_CMD_TIMEOUT); sizeof(resp), DFLT_HWRM_CMD_TIMEOUT);
rc = en_dev->en_ops->bnxt_send_fw_msg(en_dev, BNXT_ROCE_ULP, &fw_msg); rc = en_dev->en_ops->bnxt_send_fw_msg(en_dev, &fw_msg);
if (rc) if (rc)
return rc; return rc;
...@@ -1235,7 +1233,7 @@ static void bnxt_re_query_hwrm_intf_version(struct bnxt_re_dev *rdev) ...@@ -1235,7 +1233,7 @@ static void bnxt_re_query_hwrm_intf_version(struct bnxt_re_dev *rdev)
req.hwrm_intf_upd = HWRM_VERSION_UPDATE; req.hwrm_intf_upd = HWRM_VERSION_UPDATE;
bnxt_re_fill_fw_msg(&fw_msg, (void *)&req, sizeof(req), (void *)&resp, bnxt_re_fill_fw_msg(&fw_msg, (void *)&req, sizeof(req), (void *)&resp,
sizeof(resp), DFLT_HWRM_CMD_TIMEOUT); sizeof(resp), DFLT_HWRM_CMD_TIMEOUT);
rc = en_dev->en_ops->bnxt_send_fw_msg(en_dev, BNXT_ROCE_ULP, &fw_msg); rc = en_dev->en_ops->bnxt_send_fw_msg(en_dev, &fw_msg);
if (rc) { if (rc) {
ibdev_err(&rdev->ibdev, "Failed to query HW version, rc = 0x%x", ibdev_err(&rdev->ibdev, "Failed to query HW version, rc = 0x%x",
rc); rc);
......
...@@ -5538,7 +5538,7 @@ int bnxt_hwrm_vnic_cfg(struct bnxt *bp, u16 vnic_id) ...@@ -5538,7 +5538,7 @@ int bnxt_hwrm_vnic_cfg(struct bnxt *bp, u16 vnic_id)
#endif #endif
if ((bp->flags & BNXT_FLAG_STRIP_VLAN) || def_vlan) if ((bp->flags & BNXT_FLAG_STRIP_VLAN) || def_vlan)
req->flags |= cpu_to_le32(VNIC_CFG_REQ_FLAGS_VLAN_STRIP_MODE); req->flags |= cpu_to_le32(VNIC_CFG_REQ_FLAGS_VLAN_STRIP_MODE);
if (!vnic_id && bnxt_ulp_registered(bp->edev, BNXT_ROCE_ULP)) if (!vnic_id && bnxt_ulp_registered(bp->edev))
req->flags |= cpu_to_le32(bnxt_get_roce_vnic_mode(bp)); req->flags |= cpu_to_le32(bnxt_get_roce_vnic_mode(bp));
return hwrm_req_send(bp, req); return hwrm_req_send(bp, req);
......
...@@ -64,7 +64,7 @@ struct bnxt_en_dev { ...@@ -64,7 +64,7 @@ struct bnxt_en_dev {
#define BNXT_EN_FLAG_MSIX_REQUESTED 0x4 #define BNXT_EN_FLAG_MSIX_REQUESTED 0x4
#define BNXT_EN_FLAG_ULP_STOPPED 0x8 #define BNXT_EN_FLAG_ULP_STOPPED 0x8
const struct bnxt_en_ops *en_ops; const struct bnxt_en_ops *en_ops;
struct bnxt_ulp ulp_tbl[BNXT_MAX_ULP]; struct bnxt_ulp *ulp_tbl;
int l2_db_size; /* Doorbell BAR size in int l2_db_size; /* Doorbell BAR size in
* bytes mapped by L2 * bytes mapped by L2
* driver. * driver.
...@@ -76,21 +76,21 @@ struct bnxt_en_dev { ...@@ -76,21 +76,21 @@ struct bnxt_en_dev {
}; };
struct bnxt_en_ops { struct bnxt_en_ops {
int (*bnxt_register_device)(struct bnxt_en_dev *, unsigned int, int (*bnxt_register_device)(struct bnxt_en_dev *edev,
struct bnxt_ulp_ops *, void *); struct bnxt_ulp_ops *ulp_ops, void *handle);
int (*bnxt_unregister_device)(struct bnxt_en_dev *, unsigned int); int (*bnxt_unregister_device)(struct bnxt_en_dev *edev);
int (*bnxt_request_msix)(struct bnxt_en_dev *, unsigned int, int (*bnxt_request_msix)(struct bnxt_en_dev *edev,
struct bnxt_msix_entry *, int); struct bnxt_msix_entry *ent, int num_msix);
int (*bnxt_free_msix)(struct bnxt_en_dev *, unsigned int); void (*bnxt_free_msix)(struct bnxt_en_dev *edev);
int (*bnxt_send_fw_msg)(struct bnxt_en_dev *, unsigned int, int (*bnxt_send_fw_msg)(struct bnxt_en_dev *edev,
struct bnxt_fw_msg *); struct bnxt_fw_msg *fw_msg);
int (*bnxt_register_fw_async_events)(struct bnxt_en_dev *, unsigned int, int (*bnxt_register_fw_async_events)(struct bnxt_en_dev *edev,
unsigned long *, u16); unsigned long *events_bmap, u16 max_id);
}; };
static inline bool bnxt_ulp_registered(struct bnxt_en_dev *edev, int ulp_id) static inline bool bnxt_ulp_registered(struct bnxt_en_dev *edev)
{ {
if (edev && rcu_access_pointer(edev->ulp_tbl[ulp_id].ulp_ops)) if (edev && edev->ulp_tbl)
return true; return true;
return false; return false;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment