1. 08 3月, 2014 3 次提交
    • S
      IB/mlx5: Collect signature error completion · d5436ba0
      Sagi Grimberg 提交于
      This commit takes care of the generated signature error CQE generated
      by the HW (if happened).  The underlying mlx5 driver will handle
      signature error completions and will mark the relevant memory region
      as dirty.
      
      Once the consumer gets the completion for the transaction, it must
      check for signature errors on signature memory region using a new
      lightweight verb ib_check_mr_status().
      
      In case the user doesn't check for signature error (i.e. doesn't call
      ib_check_mr_status() with status check IB_MR_CHECK_SIG_STATUS), the
      memory region cannot be used for another signature operation
      (REG_SIG_MR work request will fail).
      Signed-off-by: NSagi Grimberg <sagig@mellanox.com>
      Signed-off-by: NRoland Dreier <roland@purestorage.com>
      d5436ba0
    • S
      IB/mlx5: Support IB_WR_REG_SIG_MR · e6631814
      Sagi Grimberg 提交于
      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: NSagi Grimberg <sagig@mellanox.com>
      Signed-off-by: NRoland Dreier <roland@purestorage.com>
      e6631814
    • S
      IB/mlx5: Initialize mlx5_ib_qp signature-related members · e1e66cc2
      Sagi Grimberg 提交于
      If user requested signature enable we initialize relevant mlx5_ib_qp
      members.  We mark the qp as sig_enable and we increase the effective
      SQ size, but still limit the user max_send_wr to original size
      computed.  We also allow the create_qp routine to accept sig_enable
      create flag.
      Signed-off-by: NSagi Grimberg <sagig@mellanox.com>
      Signed-off-by: NRoland Dreier <roland@purestorage.com>
      e1e66cc2
  2. 23 1月, 2014 1 次提交
  3. 09 7月, 2013 1 次提交