diff options
author | Joachim Fenkes <fenkes@de.ibm.com> | 2008-01-17 15:07:24 +0100 |
---|---|---|
committer | Roland Dreier <rolandd@cisco.com> | 2008-01-25 14:15:44 -0800 |
commit | 2ec8e662416cc9a171cdfe3d75e1ff00ba757859 (patch) | |
tree | dbc881205c3177db9a7816385b4fdda762bdb04c /drivers/infiniband/hw/ehca/ehca_classes.h | |
parent | bbdd267ef2796e96b461b8447b2026ce06e6ec4b (diff) | |
download | blackbird-op-linux-2ec8e662416cc9a171cdfe3d75e1ff00ba757859.tar.gz blackbird-op-linux-2ec8e662416cc9a171cdfe3d75e1ff00ba757859.zip |
IB/ehca: Prevent RDMA-related connection failures on some eHCA2 hardware
Some HW revisions of eHCA2 may cause an RC connection to break if they
received RDMA Reads over that connection before. This can be
prevented by assuring that, after the first RDMA Read, the QP receives
a new RDMA Read every few million link packets.
Include code into the driver that inserts an empty (size 0) RDMA Read
into the message stream every now and then if the consumer doesn't
post them frequently enough.
Signed-off-by: Joachim Fenkes <fenkes@de.ibm.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
Diffstat (limited to 'drivers/infiniband/hw/ehca/ehca_classes.h')
-rw-r--r-- | drivers/infiniband/hw/ehca/ehca_classes.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/infiniband/hw/ehca/ehca_classes.h b/drivers/infiniband/hw/ehca/ehca_classes.h index 2502366e845f..f281d16040f5 100644 --- a/drivers/infiniband/hw/ehca/ehca_classes.h +++ b/drivers/infiniband/hw/ehca/ehca_classes.h @@ -183,6 +183,11 @@ struct ehca_qp { u32 mm_count_squeue; u32 mm_count_rqueue; u32 mm_count_galpa; + /* unsolicited ack circumvention */ + int unsol_ack_circ; + int mtu_shift; + u32 message_count; + u32 packet_count; }; #define IS_SRQ(qp) (qp->ext_type == EQPT_SRQ) |