| From 8f7b9e4489216117fac8b8c99b2eb7da7a7ffe31 Mon Sep 17 00:00:00 2001 |
| From: Jacob Moroni <jmoroni@google.com> |
| Date: Tue, 20 Jan 2026 21:25:45 +0000 |
| Subject: [PATCH 27/28] RDMA/irdma: Add enum defs for reserved CQs/QPs |
| |
| Added definitions for the special reserved CQs and QPs. |
| |
| Signed-off-by: Jacob Moroni <jmoroni@google.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 d1fc5726b979..5d418ef5cdca 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 aa09bb0bca33..3949c90e8612 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.53.0.rc1.225.gd81095ad13-goog |
| |