[SRU][Q:linux-gcp][PATCH 4/6] RDMA/irdma: Add enum defs for reserved CQs/QPs
Ian Whitfield
ian.whitfield at canonical.com
Wed Mar 25 23:21:47 UTC 2026
From: Jacob Moroni <jmoroni at google.com>
BugLink: https://bugs.launchpad.net/bugs/2146168
Added definitions for the special reserved CQs and QPs.
Signed-off-by: Jacob Moroni <jmoroni at google.com>
Link: https://patch.msgid.link/20260120212546.1893076-1-jmoroni@google.com
Signed-off-by: Leon Romanovsky <leon at kernel.org>
(cherry picked from commit 2b7c2ba1308a545a2be2d3d041c2c1cde95b700a)
Signed-off-by: Ian Whitfield <ian.whitfield at canonical.com>
---
drivers/infiniband/hw/irdma/hw.c | 20 ++++++++++----------
drivers/infiniband/hw/irdma/type.h | 12 ++++++++++++
2 files changed, 22 insertions(+), 10 deletions(-)
diff --git a/drivers/infiniband/hw/irdma/hw.c b/drivers/infiniband/hw/irdma/hw.c
index 7bad0e38786a..da63e00b4264 100644
--- a/drivers/infiniband/hw/irdma/hw.c
+++ b/drivers/infiniband/hw/irdma/hw.c
@@ -1532,8 +1532,8 @@ static int irdma_initialize_ilq(struct irdma_device *iwdev)
int status;
info.type = IRDMA_PUDA_RSRC_TYPE_ILQ;
- info.cq_id = 1;
- info.qp_id = 1;
+ info.cq_id = IRDMA_RSVD_CQ_ID_ILQ;
+ info.qp_id = IRDMA_RSVD_QP_ID_GSI_ILQ;
info.count = 1;
info.pd_id = 1;
info.abi_ver = IRDMA_ABI_VER;
@@ -1562,7 +1562,7 @@ static int irdma_initialize_ieq(struct irdma_device *iwdev)
int status;
info.type = IRDMA_PUDA_RSRC_TYPE_IEQ;
- info.cq_id = 2;
+ info.cq_id = IRDMA_RSVD_CQ_ID_IEQ;
info.qp_id = iwdev->vsi.exception_lan_q;
info.count = 1;
info.pd_id = 2;
@@ -1868,7 +1868,7 @@ int irdma_rt_init_hw(struct irdma_device *iwdev,
vsi_info.pf_data_vsi_num = iwdev->vsi_num;
vsi_info.register_qset = rf->gen_ops.register_qset;
vsi_info.unregister_qset = rf->gen_ops.unregister_qset;
- vsi_info.exception_lan_q = 2;
+ vsi_info.exception_lan_q = IRDMA_RSVD_QP_ID_IEQ;
irdma_sc_vsi_init(&iwdev->vsi, &vsi_info);
status = irdma_setup_cm_core(iwdev, rf->rdma_ver);
@@ -2099,18 +2099,18 @@ u32 irdma_initialize_hw_rsrc(struct irdma_pci_f *rf)
irdma_set_hw_rsrc(rf);
set_bit(0, rf->allocated_mrs);
- set_bit(0, rf->allocated_qps);
- set_bit(0, rf->allocated_cqs);
+ set_bit(IRDMA_RSVD_QP_ID_0, rf->allocated_qps);
+ set_bit(IRDMA_RSVD_CQ_ID_CQP, rf->allocated_cqs);
set_bit(0, rf->allocated_srqs);
set_bit(0, rf->allocated_pds);
set_bit(0, rf->allocated_arps);
set_bit(0, rf->allocated_ahs);
set_bit(0, rf->allocated_mcgs);
- set_bit(2, rf->allocated_qps); /* qp 2 IEQ */
- set_bit(1, rf->allocated_qps); /* qp 1 ILQ */
- set_bit(1, rf->allocated_cqs);
+ set_bit(IRDMA_RSVD_QP_ID_IEQ, rf->allocated_qps);
+ set_bit(IRDMA_RSVD_QP_ID_GSI_ILQ, rf->allocated_qps);
+ set_bit(IRDMA_RSVD_CQ_ID_ILQ, rf->allocated_cqs);
set_bit(1, rf->allocated_pds);
- set_bit(2, rf->allocated_cqs);
+ set_bit(IRDMA_RSVD_CQ_ID_IEQ, rf->allocated_cqs);
set_bit(2, rf->allocated_pds);
INIT_LIST_HEAD(&rf->mc_qht_list.list);
diff --git a/drivers/infiniband/hw/irdma/type.h b/drivers/infiniband/hw/irdma/type.h
index c1b8f81ea283..613505115e5d 100644
--- a/drivers/infiniband/hw/irdma/type.h
+++ b/drivers/infiniband/hw/irdma/type.h
@@ -239,6 +239,18 @@ enum irdma_queue_type {
IRDMA_QUEUE_TYPE_SRQ,
};
+enum irdma_rsvd_cq_id {
+ IRDMA_RSVD_CQ_ID_CQP,
+ IRDMA_RSVD_CQ_ID_ILQ,
+ IRDMA_RSVD_CQ_ID_IEQ,
+};
+
+enum irdma_rsvd_qp_id {
+ IRDMA_RSVD_QP_ID_0,
+ IRDMA_RSVD_QP_ID_GSI_ILQ,
+ IRDMA_RSVD_QP_ID_IEQ,
+};
+
struct irdma_sc_dev;
struct irdma_vsi_pestat;
--
2.43.0
More information about the kernel-team
mailing list