linux/drivers/infiniband/hw/mlx5
Sagi Grimberg e6631814fb IB/mlx5: Support IB_WR_REG_SIG_MR
This patch implements IB_WR_REG_SIG_MR posted by the user.

Baisically this WR involves 3 WQEs in order to prepare and properly
register the signature layout:

1. post UMR WR to register the sig_mr in one of two possible ways:
    * In case the user registered a single MR for data so the UMR data segment
      consists of:
      - single klm (data MR) passed by the user
      - BSF with signature attributes requested by the user.
    * In case the user registered 2 MRs, one for data and one for protection,
      the UMR consists of:
      - strided block format which includes data and protection MRs and
        their repetitive block format.
      - BSF with signature attributes requested by the user.

2. post SET_PSV in order to set the memory domain initial
   signature parameters passed by the user.
   SET_PSV is not signaled and solicited CQE.

3. post SET_PSV in order to set the wire domain initial
   signature parameters passed by the user.
   SET_PSV is not signaled and solicited CQE.

* After this compound WR we place a small fence for next WR to come.

This patch also introduces some helper functions to set the BSF correctly
and determining the signature format selectors.

Signed-off-by: Sagi Grimberg <sagig@mellanox.com>
Signed-off-by: Roland Dreier <roland@purestorage.com>
2014-03-07 11:39:51 -08:00
..
ah.c
cq.c IB/mlx5: Verify reserved fields are cleared 2014-01-22 23:23:54 -08:00
doorbell.c IB: Refactor umem to use linear SG table 2014-03-04 10:34:28 -08:00
Kconfig IB/mlx5: Remove dependency on X86 2014-02-13 20:48:02 -08:00
mad.c
main.c mlx5: Implement create_mr and destroy_mr 2014-03-07 11:26:49 -08:00
Makefile
mem.c IB: Refactor umem to use linear SG table 2014-03-04 10:34:28 -08:00
mlx5_ib.h IB/mlx5: Initialize mlx5_ib_qp signature-related members 2014-03-07 11:26:49 -08:00
mr.c mlx5: Implement create_mr and destroy_mr 2014-03-07 11:26:49 -08:00
qp.c IB/mlx5: Support IB_WR_REG_SIG_MR 2014-03-07 11:39:51 -08:00
srq.c mlx5: Use enum to indicate adapter page size 2013-11-08 14:43:01 -08:00
user.h IB/mlx5: Fix binary compatibility with libmlx5 2014-02-06 23:00:48 -08:00