summaryrefslogtreecommitdiff
path: root/drivers/infiniband/hw/ehca/ehca_classes.h
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2008-08-12 16:38:45 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2008-08-12 16:38:45 -0700
commitdae816835e8d1276c9e50d9c4dba75b7705fe66c (patch)
tree0df2e2aeb3d2ac7ba8deb4352e83cf8d306a91aa /drivers/infiniband/hw/ehca/ehca_classes.h
parentddc752a4068088bfc5558a3f72e4f7cca3fc1210 (diff)
parent3a3eae0d66591572f771b9383e96ecacacee0abd (diff)
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: IB/ehca: Discard double CQE for one WR IB/ehca: Check idr_find() return value IB/ehca: Repoll CQ on invalid opcode IB/ehca: Rename goto label in ehca_poll_cq_one() IB/ehca: Update qp_state on cached modify_qp() IPoIB/cm: Use vmalloc() to allocate rx_rings
Diffstat (limited to 'drivers/infiniband/hw/ehca/ehca_classes.h')
-rw-r--r--drivers/infiniband/hw/ehca/ehca_classes.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/infiniband/hw/ehca/ehca_classes.h b/drivers/infiniband/hw/ehca/ehca_classes.h
index 0b0618edd645..1ab919f836a8 100644
--- a/drivers/infiniband/hw/ehca/ehca_classes.h
+++ b/drivers/infiniband/hw/ehca/ehca_classes.h
@@ -156,6 +156,14 @@ struct ehca_mod_qp_parm {
#define EHCA_MOD_QP_PARM_MAX 4
+#define QMAP_IDX_MASK 0xFFFFULL
+
+/* struct for tracking if cqes have been reported to the application */
+struct ehca_qmap_entry {
+ u16 app_wr_id;
+ u16 reported;
+};
+
struct ehca_qp {
union {
struct ib_qp ib_qp;
@@ -165,6 +173,7 @@ struct ehca_qp {
enum ehca_ext_qp_type ext_type;
enum ib_qp_state state;
struct ipz_queue ipz_squeue;
+ struct ehca_qmap_entry *sq_map;
struct ipz_queue ipz_rqueue;
struct h_galpas galpas;
u32 qkey;