On Fri, Nov 23, 2018 at 04:26:36PM +0800, Lijun Ou wrote: > This patch refactors the code of implementing qp state transition. > > Signed-off-by: Lijun Ou <oulijun@xxxxxxxxxx> > --- > drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 16 +--------------- > drivers/infiniband/hw/hns/hns_roce_hw_v2.h | 19 +++++++++++++++++++ > 2 files changed, 20 insertions(+), 15 deletions(-) "Refactor the code" means that it improves something, like line count or readability. Sometimes, it is needed to remove code duplication, but in your case, you simply moved a couple of lines from one place to another. Thanks > > diff --git a/drivers/infiniband/hw/hns/hns_roce_hw_v2.c b/drivers/infiniband/hw/hns/hns_roce_hw_v2.c > index 3528f2f..66d66e9 100644 > --- a/drivers/infiniband/hw/hns/hns_roce_hw_v2.c > +++ b/drivers/infiniband/hw/hns/hns_roce_hw_v2.c > @@ -3846,21 +3846,7 @@ static int hns_roce_v2_modify_qp(struct ib_qp *ibqp, > qpc_mask); > if (ret) > goto out; > - } else if ((cur_state == IB_QPS_RTS && new_state == IB_QPS_RTS) || > - (cur_state == IB_QPS_SQE && new_state == IB_QPS_RTS) || > - (cur_state == IB_QPS_RTS && new_state == IB_QPS_SQD) || > - (cur_state == IB_QPS_SQD && new_state == IB_QPS_SQD) || > - (cur_state == IB_QPS_SQD && new_state == IB_QPS_RTS) || > - (cur_state == IB_QPS_INIT && new_state == IB_QPS_RESET) || > - (cur_state == IB_QPS_RTR && new_state == IB_QPS_RESET) || > - (cur_state == IB_QPS_RTS && new_state == IB_QPS_RESET) || > - (cur_state == IB_QPS_ERR && new_state == IB_QPS_RESET) || > - (cur_state == IB_QPS_INIT && new_state == IB_QPS_ERR) || > - (cur_state == IB_QPS_RTR && new_state == IB_QPS_ERR) || > - (cur_state == IB_QPS_RTS && new_state == IB_QPS_ERR) || > - (cur_state == IB_QPS_SQD && new_state == IB_QPS_ERR) || > - (cur_state == IB_QPS_SQE && new_state == IB_QPS_ERR) || > - (cur_state == IB_QPS_ERR && new_state == IB_QPS_ERR)) { > + } else if (V2_QP_SUPPORT_STATE(cur_state, new_state)) { > /* Nothing */ > ; > } else { > diff --git a/drivers/infiniband/hw/hns/hns_roce_hw_v2.h b/drivers/infiniband/hw/hns/hns_roce_hw_v2.h > index e6e3d8fb..7b308ac 100644 > --- a/drivers/infiniband/hw/hns/hns_roce_hw_v2.h > +++ b/drivers/infiniband/hw/hns/hns_roce_hw_v2.h > @@ -133,6 +133,25 @@ > (step_idx == 1 && hop_num == 1) || \ > (step_idx == 2 && hop_num == 2)) > > +#define V2_QP_SUPPORT_STATE(cur_state, new_state) \ > + ((cur_state == IB_QPS_RTS && new_state == IB_QPS_RTS) || \ > + (cur_state == IB_QPS_SQE && new_state == IB_QPS_RTS) || \ > + (cur_state == IB_QPS_RTS && new_state == IB_QPS_SQD) || \ > + (cur_state == IB_QPS_SQD && new_state == IB_QPS_SQD) || \ > + (cur_state == IB_QPS_SQD && new_state == IB_QPS_RTS) || \ > + (cur_state == IB_QPS_INIT && new_state == IB_QPS_RESET) || \ > + (cur_state == IB_QPS_RTR && new_state == IB_QPS_RESET) || \ > + (cur_state == IB_QPS_RTS && new_state == IB_QPS_RESET) || \ > + (cur_state == IB_QPS_ERR && new_state == IB_QPS_RESET) || \ > + (cur_state == IB_QPS_SQD && new_state == IB_QPS_RESET) || \ > + (cur_state == IB_QPS_SQE && new_state == IB_QPS_RESET) || \ > + (cur_state == IB_QPS_INIT && new_state == IB_QPS_ERR) || \ > + (cur_state == IB_QPS_RTR && new_state == IB_QPS_ERR) || \ > + (cur_state == IB_QPS_RTS && new_state == IB_QPS_ERR) || \ > + (cur_state == IB_QPS_SQD && new_state == IB_QPS_ERR) || \ > + (cur_state == IB_QPS_SQE && new_state == IB_QPS_ERR) || \ > + (cur_state == IB_QPS_ERR && new_state == IB_QPS_ERR)) > + > #define CMD_CSQ_DESC_NUM 1024 > #define CMD_CRQ_DESC_NUM 1024 > > -- > 1.9.1 >
Attachment:
signature.asc
Description: PGP signature