RDMA/bnxt_re: Update ABI to pass wqe-mode to user space
Changing ucontext ABI response structure to pass wqe_mode to user library. A flag in comp_mask has been set to indicate presence of wqe_mode. Moved wqe-mode ABI to uapi/rdma/bnxt_re-abi.h Link: https://lore.kernel.org/r/20210616202817.1185276-1-devesh.sharma@broadcom.com Signed-off-by: Devesh Sharma <devesh.sharma@broadcom.com> Reviewed-by: Leon Romanovsky <leonro@nvidia.com> Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
This commit is contained in:
parent
84dcd8c7ea
commit
879740517d
@ -3882,6 +3882,9 @@ int bnxt_re_alloc_ucontext(struct ib_ucontext *ctx, struct ib_udata *udata)
|
|||||||
resp.max_cqd = dev_attr->max_cq_wqes;
|
resp.max_cqd = dev_attr->max_cq_wqes;
|
||||||
resp.rsvd = 0;
|
resp.rsvd = 0;
|
||||||
|
|
||||||
|
resp.comp_mask |= BNXT_RE_UCNTX_CMASK_HAVE_MODE;
|
||||||
|
resp.mode = rdev->chip_ctx->modes.wqe_mode;
|
||||||
|
|
||||||
rc = ib_copy_to_udata(udata, &resp, min(udata->outlen, sizeof(resp)));
|
rc = ib_copy_to_udata(udata, &resp, min(udata->outlen, sizeof(resp)));
|
||||||
if (rc) {
|
if (rc) {
|
||||||
ibdev_err(ibdev, "Failed to copy user context");
|
ibdev_err(ibdev, "Failed to copy user context");
|
||||||
|
@ -39,6 +39,8 @@
|
|||||||
#ifndef __BNXT_QPLIB_FP_H__
|
#ifndef __BNXT_QPLIB_FP_H__
|
||||||
#define __BNXT_QPLIB_FP_H__
|
#define __BNXT_QPLIB_FP_H__
|
||||||
|
|
||||||
|
#include <rdma/bnxt_re-abi.h>
|
||||||
|
|
||||||
/* Few helper structures temporarily defined here
|
/* Few helper structures temporarily defined here
|
||||||
* should get rid of these when roce_hsi.h is updated
|
* should get rid of these when roce_hsi.h is updated
|
||||||
* in original code base
|
* in original code base
|
||||||
|
@ -45,12 +45,6 @@ extern const struct bnxt_qplib_gid bnxt_qplib_gid_zero;
|
|||||||
#define CHIP_NUM_57504 0x1751
|
#define CHIP_NUM_57504 0x1751
|
||||||
#define CHIP_NUM_57502 0x1752
|
#define CHIP_NUM_57502 0x1752
|
||||||
|
|
||||||
enum bnxt_qplib_wqe_mode {
|
|
||||||
BNXT_QPLIB_WQE_MODE_STATIC = 0x00,
|
|
||||||
BNXT_QPLIB_WQE_MODE_VARIABLE = 0x01,
|
|
||||||
BNXT_QPLIB_WQE_MODE_INVALID = 0x02
|
|
||||||
};
|
|
||||||
|
|
||||||
struct bnxt_qplib_drv_modes {
|
struct bnxt_qplib_drv_modes {
|
||||||
u8 wqe_mode;
|
u8 wqe_mode;
|
||||||
/* Other modes to follow here */
|
/* Other modes to follow here */
|
||||||
|
@ -49,7 +49,14 @@
|
|||||||
#define BNXT_RE_CHIP_ID0_CHIP_MET_SFT 0x18
|
#define BNXT_RE_CHIP_ID0_CHIP_MET_SFT 0x18
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
BNXT_RE_UCNTX_CMASK_HAVE_CCTX = 0x1ULL
|
BNXT_RE_UCNTX_CMASK_HAVE_CCTX = 0x1ULL,
|
||||||
|
BNXT_RE_UCNTX_CMASK_HAVE_MODE = 0x02ULL,
|
||||||
|
};
|
||||||
|
|
||||||
|
enum bnxt_re_wqe_mode {
|
||||||
|
BNXT_QPLIB_WQE_MODE_STATIC = 0x00,
|
||||||
|
BNXT_QPLIB_WQE_MODE_VARIABLE = 0x01,
|
||||||
|
BNXT_QPLIB_WQE_MODE_INVALID = 0x02,
|
||||||
};
|
};
|
||||||
|
|
||||||
struct bnxt_re_uctx_resp {
|
struct bnxt_re_uctx_resp {
|
||||||
@ -62,6 +69,8 @@ struct bnxt_re_uctx_resp {
|
|||||||
__aligned_u64 comp_mask;
|
__aligned_u64 comp_mask;
|
||||||
__u32 chip_id0;
|
__u32 chip_id0;
|
||||||
__u32 chip_id1;
|
__u32 chip_id1;
|
||||||
|
__u32 mode;
|
||||||
|
__u32 rsvd1; /* padding */
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
Loading…
x
Reference in New Issue
Block a user