aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/infiniband/hw/hfi1/verbs.h
diff options
context:
space:
mode:
authorKaike Wan <kaike.wan@intel.com>2019-01-23 21:49:51 -0800
committerDoug Ledford <dledford@redhat.com>2019-02-05 18:07:43 -0500
commitd72fe7d5008b5600a11f03a0dcb743fd7acb0085 (patch)
tree89605cdb79a065b98632a86ced310123054d4d83 /drivers/infiniband/hw/hfi1/verbs.h
parentIB/hfi1: Add a function to build TID RDMA WRITE DATA packet (diff)
downloadlinux-dev-d72fe7d5008b5600a11f03a0dcb743fd7acb0085.tar.xz
linux-dev-d72fe7d5008b5600a11f03a0dcb743fd7acb0085.zip
IB/hfi1: Add a function to receive TID RDMA WRITE DATA packet
This patch adds a function to receive TID RDMA WRITE DATA packet, which is in the KDETH PSN space in packet ordering. Due to the use of header suppression, software is generally only notified when the last data packet for a segment is received. This patch also adds code to handle KDETH EFLAGS errors for ingress TID RDMA WRITE DATA packets. Signed-off-by: Mitko Haralanov <mitko.haralanov@intel.com> Signed-off-by: Mike Marciniszyn <mike.marciniszyn@intel.com> Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com> Signed-off-by: Kaike Wan <kaike.wan@intel.com> Signed-off-by: Dennis Dalessandro <dennis.dalessandro@intel.com> Signed-off-by: Doug Ledford <dledford@redhat.com>
Diffstat (limited to 'drivers/infiniband/hw/hfi1/verbs.h')
-rw-r--r--drivers/infiniband/hw/hfi1/verbs.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/infiniband/hw/hfi1/verbs.h b/drivers/infiniband/hw/hfi1/verbs.h
index b2096c7c1132..eec6e822635b 100644
--- a/drivers/infiniband/hw/hfi1/verbs.h
+++ b/drivers/infiniband/hw/hfi1/verbs.h
@@ -174,6 +174,8 @@ struct hfi1_qp_priv {
/* variables for the TID RDMA SE state machine */
u8 rnr_nak_state; /* RNR NAK state */
+ u8 s_nak_state;
+ u32 s_nak_psn;
u32 s_flags;
u32 s_tid_cur;
u32 s_tid_head;
@@ -193,6 +195,7 @@ struct hfi1_qp_priv {
u16 pkts_ps; /* packets per segment */
u8 timeout_shift; /* account for number of packets per segment */
+ u32 r_next_psn_kdeth;
u8 sync_pt; /* Set when QP reaches sync point */
};