RDMA/qedr: notify user application if DPM is supported
Direct Packet Mode support may be disabled, e.g, due to limited resources. Notifying the user application prevents wasting cycles on attempting to send these kind of packets. Signed-off-by: Ram Amrani <Ram.Amrani@cavium.com> Signed-off-by: Doug Ledford <dledford@redhat.com>
This commit is contained in:
Родитель
9c2d33d44d
Коммит
ad84dad216
|
@ -777,6 +777,7 @@ static struct qedr_dev *qedr_add(struct qed_dev *cdev, struct pci_dev *pdev,
|
|||
if (rc)
|
||||
goto init_err;
|
||||
|
||||
dev->user_dpm_enabled = dev_info.user_dpm_enabled;
|
||||
dev->num_hwfns = dev_info.common.num_hwfns;
|
||||
dev->rdma_ctx = dev->ops->rdma_get_rdma_ctx(cdev);
|
||||
|
||||
|
|
|
@ -162,6 +162,8 @@ struct qedr_dev {
|
|||
struct qedr_qp *gsi_qp;
|
||||
|
||||
unsigned long enet_state;
|
||||
|
||||
u8 user_dpm_enabled;
|
||||
};
|
||||
|
||||
#define QEDR_MAX_SQ_PBL (0x8000)
|
||||
|
|
|
@ -376,6 +376,7 @@ struct ib_ucontext *qedr_alloc_ucontext(struct ib_device *ibdev,
|
|||
|
||||
memset(&uresp, 0, sizeof(uresp));
|
||||
|
||||
uresp.dpm_enabled = dev->user_dpm_enabled;
|
||||
uresp.db_pa = ctx->dpi_phys_addr;
|
||||
uresp.db_size = ctx->dpi_size;
|
||||
uresp.max_send_wr = dev->attr.max_sqe;
|
||||
|
|
|
@ -49,6 +49,7 @@ struct qedr_alloc_ucontext_resp {
|
|||
__u32 sges_per_recv_wr;
|
||||
__u32 sges_per_srq_wr;
|
||||
__u32 max_cqes;
|
||||
__u8 dpm_enabled;
|
||||
};
|
||||
|
||||
struct qedr_alloc_pd_ureq {
|
||||
|
|
Загрузка…
Ссылка в новой задаче