Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ad84dad2 authored by Amrani, Ram's avatar Amrani, Ram Committed by Doug Ledford
Browse files

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: default avatarRam Amrani <Ram.Amrani@cavium.com>
Signed-off-by: default avatarDoug Ledford <dledford@redhat.com>
parent 9c2d33d4
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -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);

+2 −0
Original line number Diff line number Diff line
@@ -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)
+1 −0
Original line number Diff line number Diff line
@@ -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;
+1 −0
Original line number Diff line number Diff line
@@ -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 {