Commit 877745b4 authored by Max Gurtovoy's avatar Max Gurtovoy Committed by Jason Gunthorpe
Browse files

IB/iser: Simplify prot_caps setting

Reduce the number of instructions made for setting protection caps. No
need to do bitwise OR with 0 since we can zero the return value in the
beginning of the function.

Link: https://lore.kernel.org/r/20210111145754.56727-5-mgurtovoy@nvidia.com


Reviewed-by: default avatarIsrael Rukshin <israelr@nvidia.com>
Signed-off-by: default avatarMax Gurtovoy <mgurtovoy@nvidia.com>
Reviewed-by: default avatarSagi Grimberg <sagi@grimberg.me>
Signed-off-by: default avatarJason Gunthorpe <jgg@nvidia.com>
parent 6bd898ba
Loading
Loading
Loading
Loading
+14 −7
Original line number Diff line number Diff line
@@ -590,13 +590,20 @@ iscsi_iser_session_destroy(struct iscsi_cls_session *cls_session)
static inline unsigned int
iser_dif_prot_caps(int prot_caps)
{
	return ((prot_caps & IB_PROT_T10DIF_TYPE_1) ?
		SHOST_DIF_TYPE1_PROTECTION | SHOST_DIX_TYPE0_PROTECTION |
		SHOST_DIX_TYPE1_PROTECTION : 0) |
	       ((prot_caps & IB_PROT_T10DIF_TYPE_2) ?
		SHOST_DIF_TYPE2_PROTECTION | SHOST_DIX_TYPE2_PROTECTION : 0) |
	       ((prot_caps & IB_PROT_T10DIF_TYPE_3) ?
		SHOST_DIF_TYPE3_PROTECTION | SHOST_DIX_TYPE3_PROTECTION : 0);
	int ret = 0;

	if (prot_caps & IB_PROT_T10DIF_TYPE_1)
		ret |= SHOST_DIF_TYPE1_PROTECTION |
		       SHOST_DIX_TYPE0_PROTECTION |
		       SHOST_DIX_TYPE1_PROTECTION;
	if (prot_caps & IB_PROT_T10DIF_TYPE_2)
		ret |= SHOST_DIF_TYPE2_PROTECTION |
		       SHOST_DIX_TYPE2_PROTECTION;
	if (prot_caps & IB_PROT_T10DIF_TYPE_3)
		ret |= SHOST_DIF_TYPE3_PROTECTION |
		       SHOST_DIX_TYPE3_PROTECTION;

	return ret;
}

/**