aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/infiniband/hw/hfi1/verbs.h
diff options
context:
space:
mode:
authorKaike Wan <kaike.wan@intel.com>2019-01-23 21:50:14 -0800
committerDoug Ledford <dledford@redhat.com>2019-02-05 18:07:43 -0500
commit9e93e967f7b452e6c9e4a33d0b42ff64fa7293c4 (patch)
tree8c76aa42fed96f25a4c434b57f9d748fc51386d5 /drivers/infiniband/hw/hfi1/verbs.h
parentIB/hfi1: Add a function to build TID RDMA ACK packet (diff)
downloadlinux-dev-9e93e967f7b452e6c9e4a33d0b42ff64fa7293c4.tar.xz
linux-dev-9e93e967f7b452e6c9e4a33d0b42ff64fa7293c4.zip
IB/hfi1: Add a function to receive TID RDMA ACK packet
This patch adds a function to receive TID RDMA ACK packet, which could be an acknowledge to either a TID RDMA WRITE DATA packet or an TID RDMA RESYNC packet. For an ACK to TID RDMA WRITE DATA packet, the request segments are completed appropriately. For an ACK to a TID RDMA RESYNC packet, any pending segment flow information is updated accordingly. 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.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/infiniband/hw/hfi1/verbs.h b/drivers/infiniband/hw/hfi1/verbs.h
index 3a97a39aeba4..30e3f5af5cf1 100644
--- a/drivers/infiniband/hw/hfi1/verbs.h
+++ b/drivers/infiniband/hw/hfi1/verbs.h
@@ -170,9 +170,12 @@ struct hfi1_qp_priv {
struct tid_rdma_qp_params tid_rdma;
struct rvt_qp *owner;
u8 hdr_type; /* 9B or 16B */
+ atomic_t n_tid_requests; /* # of sent TID RDMA requests */
unsigned long tid_timer_timeout_jiffies;
/* variables for the TID RDMA SE state machine */
+ u8 s_state;
+ u8 s_retry;
u8 rnr_nak_state; /* RNR NAK state */
u8 s_nak_state;
u32 s_nak_psn;
@@ -197,6 +200,7 @@ struct hfi1_qp_priv {
u32 r_next_psn_kdeth;
u32 r_next_psn_kdeth_save;
+ u32 s_resync_psn;
u8 sync_pt; /* Set when QP reaches sync point */
u8 resync;
};