IB/isert: use T10-PI check mask definitions from core layer
authorMax Gurtovoy <maxg@mellanox.com>
Thu, 31 May 2018 08:05:26 +0000 (11:05 +0300)
committerJason Gunthorpe <jgg@mellanox.com>
Mon, 4 Jun 2018 15:19:24 +0000 (09:19 -0600)
No reason to use hard-coded protection information checks in ib_isert
driver. Use check masks from RDMA core driver.
Also, while we here, reduce the number of instructions made for setting
the check mask (no need to do bitwise or with 0 since we zero the mask
in the beginning of the function).

Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Sagi Grimberg <sagi@grimberg.me>
Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Max Gurtovoy <maxg@mellanox.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
drivers/infiniband/ulp/isert/ib_isert.c

index 3130698..f2f9318 100644 (file)
@@ -2114,10 +2114,13 @@ isert_set_sig_attrs(struct se_cmd *se_cmd, struct ib_sig_attrs *sig_attrs)
                return -EINVAL;
        }
 
-       sig_attrs->check_mask =
-              (se_cmd->prot_checks & TARGET_DIF_CHECK_GUARD  ? 0xc0 : 0) |
-              (se_cmd->prot_checks & TARGET_DIF_CHECK_APPTAG ? 0x30 : 0) |
-              (se_cmd->prot_checks & TARGET_DIF_CHECK_REFTAG ? 0x0f : 0);
+       if (se_cmd->prot_checks & TARGET_DIF_CHECK_GUARD)
+               sig_attrs->check_mask |= IB_SIG_CHECK_GUARD;
+       if (se_cmd->prot_checks & TARGET_DIF_CHECK_APPTAG)
+               sig_attrs->check_mask |= IB_SIG_CHECK_APPTAG;
+       if (se_cmd->prot_checks & TARGET_DIF_CHECK_REFTAG)
+               sig_attrs->check_mask |= IB_SIG_CHECK_REFTAG;
+
        return 0;
 }