Merge branch 'qedr' into k.o/for-next
Signed-off-by: Doug Ledford <dledford@redhat.com>
This commit is contained in:
@@ -33,6 +33,7 @@
|
||||
#define __QEDR_H__
|
||||
|
||||
#include <linux/pci.h>
|
||||
#include <linux/idr.h>
|
||||
#include <rdma/ib_addr.h>
|
||||
#include <linux/qed/qed_if.h>
|
||||
#include <linux/qed/qed_chain.h>
|
||||
@@ -43,6 +44,8 @@
|
||||
|
||||
#define QEDR_NODE_DESC "QLogic 579xx RoCE HCA"
|
||||
#define DP_NAME(dev) ((dev)->ibdev.name)
|
||||
#define IS_IWARP(_dev) ((_dev)->rdma_type == QED_RDMA_TYPE_IWARP)
|
||||
#define IS_ROCE(_dev) ((_dev)->rdma_type == QED_RDMA_TYPE_ROCE)
|
||||
|
||||
#define DP_DEBUG(dev, module, fmt, ...) \
|
||||
pr_debug("(%s) " module ": " fmt, \
|
||||
@@ -56,6 +59,7 @@
|
||||
#define QEDR_MSG_SQ " SQ"
|
||||
#define QEDR_MSG_QP " QP"
|
||||
#define QEDR_MSG_GSI " GSI"
|
||||
#define QEDR_MSG_IWARP " IW"
|
||||
|
||||
#define QEDR_CQ_MAGIC_NUMBER (0x11223344)
|
||||
|
||||
@@ -160,6 +164,11 @@ struct qedr_dev {
|
||||
struct qedr_cq *gsi_sqcq;
|
||||
struct qedr_cq *gsi_rqcq;
|
||||
struct qedr_qp *gsi_qp;
|
||||
enum qed_rdma_type rdma_type;
|
||||
spinlock_t idr_lock; /* Protect qpidr data-structure */
|
||||
struct idr qpidr;
|
||||
struct workqueue_struct *iwarp_wq;
|
||||
u16 iwarp_max_mtu;
|
||||
|
||||
unsigned long enet_state;
|
||||
|
||||
@@ -317,6 +326,9 @@ struct qedr_qp_hwq_info {
|
||||
/* DB */
|
||||
void __iomem *db;
|
||||
union db_prod32 db_data;
|
||||
|
||||
void __iomem *iwarp_db2;
|
||||
union db_prod32 iwarp_db2_data;
|
||||
};
|
||||
|
||||
#define QEDR_INC_SW_IDX(p_info, index) \
|
||||
@@ -337,7 +349,7 @@ enum qedr_qp_err_bitmap {
|
||||
struct qedr_qp {
|
||||
struct ib_qp ibqp; /* must be first */
|
||||
struct qedr_dev *dev;
|
||||
|
||||
struct qedr_iw_ep *ep;
|
||||
struct qedr_qp_hwq_info sq;
|
||||
struct qedr_qp_hwq_info rq;
|
||||
|
||||
@@ -394,6 +406,8 @@ struct qedr_qp {
|
||||
/* Relevant to qps created from user space only (applications) */
|
||||
struct qedr_userq usq;
|
||||
struct qedr_userq urq;
|
||||
atomic_t refcnt;
|
||||
bool destroyed;
|
||||
};
|
||||
|
||||
struct qedr_ah {
|
||||
@@ -474,6 +488,21 @@ static inline int qedr_get_dmac(struct qedr_dev *dev,
|
||||
return 0;
|
||||
}
|
||||
|
||||
struct qedr_iw_listener {
|
||||
struct qedr_dev *dev;
|
||||
struct iw_cm_id *cm_id;
|
||||
int backlog;
|
||||
void *qed_handle;
|
||||
};
|
||||
|
||||
struct qedr_iw_ep {
|
||||
struct qedr_dev *dev;
|
||||
struct iw_cm_id *cm_id;
|
||||
struct qedr_qp *qp;
|
||||
void *qed_context;
|
||||
u8 during_connect;
|
||||
};
|
||||
|
||||
static inline
|
||||
struct qedr_ucontext *get_qedr_ucontext(struct ib_ucontext *ibucontext)
|
||||
{
|
||||
|
Reference in New Issue
Block a user