linux_dsm_epyc7002/drivers/infiniband/hw/mlx5
Haggai Eran ea6dc20362 IB/mlx5: Reorder GSI completions
The emulated GSI QP's send completions are generated by multiple hardware
QPs, so their completions could arrive out of order with respect to the
order their work request were submitted.

Reorder the completions by keeping a list of the posted work request and
their completions. A newly received completion from the hardware updates
the list and marks its work request as completed. However, the completions
are only reported to the client according to the list order.

In order to support that, create a new private CQ to handle the hardware
completions.

Signed-off-by: Haggai Eran <haggaie@mellanox.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
2016-03-01 11:04:07 -05:00
..
ah.c IB/mlx5: Add RoCE fields to Address Vector 2015-12-23 12:07:37 -05:00
cq.c IB/mlx5: Generate completions in software 2016-03-01 11:04:07 -05:00
doorbell.c IB/mlx5: Fix Mellanox copyright note 2015-04-02 16:33:42 -04:00
gsi.c IB/mlx5: Reorder GSI completions 2016-03-01 11:04:07 -05:00
Kconfig net/mlx5: Extend mlx5_core to support ConnectX-4 Ethernet functionality 2015-05-30 18:24:51 -07:00
mad.c IB/mlx5: Modify MAD reading counters method to use counter registers 2016-03-01 10:57:15 -05:00
main.c IB/mlx5: Create GSI transmission QPs when P_Key table is changed 2016-03-01 11:04:07 -05:00
Makefile IB/mlx5: Add GSI QP wrapper 2016-03-01 11:03:41 -05:00
mem.c IB/mlx5: Fix Mellanox copyright note 2015-04-02 16:33:42 -04:00
mlx5_ib.h IB/mlx5: Generate completions in software 2016-03-01 11:04:07 -05:00
mr.c IB/mlx5: Postpone remove_keys under knowledge of coming preemption 2015-12-08 16:55:31 -05:00
odp.c IB/mlx5: Refactor mlx5_ib_qp to accommodate other QP types 2016-01-21 12:01:09 -05:00
qp.c IB/mlx5: Add GSI QP wrapper 2016-03-01 11:03:41 -05:00
srq.c IB/mlx5: Add CQE version 1 support to user QPs and SRQs 2016-01-21 12:01:08 -05:00
user.h IB/mlx5: Add create and destroy functionality for Raw Packet QP 2016-01-21 12:01:09 -05:00