On Fri, Feb 05, 2021 at 05:39:27PM +0800, Weihang Li wrote: > diff --git a/drivers/infiniband/hw/hns/hns_roce_hw_v2.h b/drivers/infiniband/hw/hns/hns_roce_hw_v2.h > index f29438c..1da980c 100644 > +++ b/drivers/infiniband/hw/hns/hns_roce_hw_v2.h > @@ -1255,15 +1255,15 @@ struct hns_roce_v2_rc_send_wqe { > > #define V2_RC_SEND_WQE_BYTE_4_INLINE_S 12 > > -#define V2_RC_FRMR_WQE_BYTE_4_BIND_EN_S 19 > +#define V2_RC_FRMR_WQE_BYTE_40_BIND_EN_S 10 > > -#define V2_RC_FRMR_WQE_BYTE_4_ATOMIC_S 20 > +#define V2_RC_FRMR_WQE_BYTE_40_ATOMIC_S 11 > > -#define V2_RC_FRMR_WQE_BYTE_4_RR_S 21 > +#define V2_RC_FRMR_WQE_BYTE_40_RR_S 12 > > -#define V2_RC_FRMR_WQE_BYTE_4_RW_S 22 > +#define V2_RC_FRMR_WQE_BYTE_40_RW_S 13 > > -#define V2_RC_FRMR_WQE_BYTE_4_LW_S 23 > +#define V2_RC_FRMR_WQE_BYTE_40_LW_S 14 > > #define V2_RC_SEND_WQE_BYTE_4_FLAG_S 31 > > @@ -1280,7 +1280,7 @@ struct hns_roce_v2_rc_send_wqe { > > struct hns_roce_wqe_frmr_seg { > __le32 pbl_size; > - __le32 mode_buf_pg_sz; > + __le32 byte_40; > }; This stuff is HW API isn't it? I didn't see anything to negotiate compatability with existing HW? What happens if the kernel is updated and run on old HW/FW? If you tightly couple you still need to check and refuse to load the driver. Jason