On Mon, Oct 28, 2024 at 10:20:00PM +0530, Selvin Xavier wrote: > On Mon, Oct 28, 2024 at 5:29 PM Leon Romanovsky <leon@xxxxxxxxxx> wrote: > > > > On Mon, Oct 14, 2024 at 10:55:58AM -0700, Selvin Xavier wrote: > > > From: Kalesh AP <kalesh-anakkur.purayil@xxxxxxxxxxxx> > > > > > > Modify QP improvements are for state transitions > > > from INIT -> RTR and RTR -> RTS. > > > In order to support the Modify QP Optimization feature, > > > the driver is expected to check for the feature support > > > in the CMDQ_QUERY_FUNC and register its support for this > > > feature with the FW in CMDQ_INITIALIZE_FIRMWARE. > > > > > > Additionally, the driver is required to specify the new > > > fields and attribute masks for the transitions as follows: > > > 1. INIT -> RTR: > > > - New fields: srq_used, type. > > > - enable srq_used when RC QP is configured to use SRQ. > > > - set the type based on the QP type. > > > - Mandatory masks: > > > - RC: CMDQ_MODIFY_QP_MODIFY_MASK_ACCESS, > > > CMDQ_MODIFY_QP_MODIFY_MASK_PKEY > > > - UD QP and QP1: CMDQ_MODIFY_QP_MODIFY_MASK_PKEY, > > > CMDQ_MODIFY_QP_MODIFY_MASK_QKEY > > > 2. RTR -> RTS: > > > - New fields: type > > > - set the type based on the QP type. > > > - Mandatory masks: > > > - RC: CMDQ_MODIFY_QP_MODIFY_MASK_ACCESS > > > - UD QP and QP1: CMDQ_MODIFY_QP_MODIFY_MASK_QKEY > > > > > > Reviewed-by: Saravanan Vajravel <saravanan.vajravel@xxxxxxxxxxxx> > > > Reviewed-by: Tushar Rane <tushar.rane@xxxxxxxxxxxx> > > > Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@xxxxxxxxxxxx> > > > Signed-off-by: Selvin Xavier <selvin.xavier@xxxxxxxxxxxx> > > > --- > > > drivers/infiniband/hw/bnxt_re/qplib_fp.c | 40 ++++++++++++++++++++++++++++++ > > > drivers/infiniband/hw/bnxt_re/qplib_rcfw.c | 6 ++++- > > > drivers/infiniband/hw/bnxt_re/qplib_res.h | 5 ++++ > > > drivers/infiniband/hw/bnxt_re/roce_hsi.h | 3 +++ > > > 4 files changed, 53 insertions(+), 1 deletion(-) > > > > <...> > > > > > diff --git a/drivers/infiniband/hw/bnxt_re/roce_hsi.h b/drivers/infiniband/hw/bnxt_re/roce_hsi.h > > > index 3ec8952..69d50d7 100644 > > > --- a/drivers/infiniband/hw/bnxt_re/roce_hsi.h > > > +++ b/drivers/infiniband/hw/bnxt_re/roce_hsi.h > > > @@ -216,6 +216,8 @@ struct cmdq_initialize_fw { > > > __le16 flags; > > > #define CMDQ_INITIALIZE_FW_FLAGS_MRAV_RESERVATION_SPLIT 0x1UL > > > #define CMDQ_INITIALIZE_FW_FLAGS_HW_REQUESTER_RETX_SUPPORTED 0x2UL > > > + #define CMDQ_INITIALIZE_FW_FLAGS_DRV_VERSION 0x4UL > > > > Where is this define used? > We are not using this field now. This is structure fields are copied > from an autogenerated file. Since we updated this structure, we have > copied all update to that structure. The value we > are currently interested in is 0x8UL. > > Do you want me to repost the series after removing the above define? I will remove it by myself, no need to repost. Thanks > > > > > + #define CMDQ_INITIALIZE_FW_FLAGS_OPTIMIZE_MODIFY_QP_SUPPORTED 0x8UL > > > > Thanks