Torsten Duwe f1348f
From 0aeda694f1870f50900603c276423ffc05035f90 Mon Sep 17 00:00:00 2001
Torsten Duwe f1348f
From: Marco Chiappero <marco.chiappero@intel.com>
Torsten Duwe f1348f
Date: Thu, 16 Dec 2021 09:13:19 +0000
Torsten Duwe f1348f
Subject: [PATCH] crypto: qat - set PFVF_MSGORIGIN just before sending
Torsten Duwe f1348f
Git-commit: 0aeda694f1870f50900603c276423ffc05035f90
Torsten Duwe f1348f
Patch-mainline: v5.17-rc1
Torsten Duwe f1348f
References: jsc#PED-1073
Torsten Duwe f1348f
Torsten Duwe f1348f
In this implementation of the PFVF protocol every egressing message must
Torsten Duwe f1348f
include the ADF_PFVF_MSGORIGIN_SYSTEM flag. However, this flag can be set
Torsten Duwe f1348f
on all the outbound messages just before sending them rather than at
Torsten Duwe f1348f
message build time, as currently done.
Torsten Duwe f1348f
Torsten Duwe f1348f
Remove the unnecessary code duplication by setting the
Torsten Duwe f1348f
ADF_PFVF_MSGORIGIN_SYSTEM flag only once at send time in
Torsten Duwe f1348f
adf_gen2_pfvf_send().
Torsten Duwe f1348f
Torsten Duwe f1348f
Signed-off-by: Marco Chiappero <marco.chiappero@intel.com>
Torsten Duwe f1348f
Reviewed-by: Giovanni Cabiddu <giovanni.cabiddu@intel.com>
Torsten Duwe f1348f
Reviewed-by: Fiona Trahe <fiona.trahe@intel.com>
Torsten Duwe f1348f
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Torsten Duwe f1348f
Signed-off-by: Torsten Duwe <duwe@suse.de>
Torsten Duwe f1348f
Torsten Duwe f1348f
---
Torsten Duwe f1348f
 drivers/crypto/qat/qat_common/adf_gen2_pfvf.c     |  1 +
Torsten Duwe f1348f
 drivers/crypto/qat/qat_common/adf_pfvf_pf_msg.c   |  3 +--
Torsten Duwe f1348f
 drivers/crypto/qat/qat_common/adf_pfvf_pf_proto.c |  2 --
Torsten Duwe f1348f
 drivers/crypto/qat/qat_common/adf_pfvf_vf_msg.c   | 12 +++++-------
Torsten Duwe f1348f
 4 files changed, 7 insertions(+), 11 deletions(-)
Torsten Duwe f1348f
Torsten Duwe f1348f
diff --git a/drivers/crypto/qat/qat_common/adf_gen2_pfvf.c b/drivers/crypto/qat/qat_common/adf_gen2_pfvf.c
Torsten Duwe f1348f
index 1e45f3230c19e..97bef41ddc474 100644
Torsten Duwe f1348f
--- a/drivers/crypto/qat/qat_common/adf_gen2_pfvf.c
Torsten Duwe f1348f
+++ b/drivers/crypto/qat/qat_common/adf_gen2_pfvf.c
Torsten Duwe f1348f
@@ -149,6 +149,7 @@ static int adf_gen2_pfvf_send(struct adf_accel_dev *accel_dev, u32 msg,
Torsten Duwe f1348f
 	/* Pre-calculate message, shifting it in place and setting
Torsten Duwe f1348f
 	 * the in use pattern
Torsten Duwe f1348f
 	 */
Torsten Duwe f1348f
+	msg |= ADF_PFVF_MSGORIGIN_SYSTEM;
Torsten Duwe f1348f
 	msg = gen2_csr_msg_to_position(msg, local_offset);
Torsten Duwe f1348f
 	gen2_csr_set_in_use(&msg, remote_offset);
Torsten Duwe f1348f
 
Torsten Duwe f1348f
diff --git a/drivers/crypto/qat/qat_common/adf_pfvf_pf_msg.c b/drivers/crypto/qat/qat_common/adf_pfvf_pf_msg.c
Torsten Duwe f1348f
index 4057d7d74d620..f6d05cd29a823 100644
Torsten Duwe f1348f
--- a/drivers/crypto/qat/qat_common/adf_pfvf_pf_msg.c
Torsten Duwe f1348f
+++ b/drivers/crypto/qat/qat_common/adf_pfvf_pf_msg.c
Torsten Duwe f1348f
@@ -9,8 +9,7 @@
Torsten Duwe f1348f
 void adf_pf2vf_notify_restarting(struct adf_accel_dev *accel_dev)
Torsten Duwe f1348f
 {
Torsten Duwe f1348f
 	struct adf_accel_vf_info *vf;
Torsten Duwe f1348f
-	u32 msg = (ADF_PFVF_MSGORIGIN_SYSTEM |
Torsten Duwe f1348f
-		(ADF_PF2VF_MSGTYPE_RESTARTING << ADF_PFVF_MSGTYPE_SHIFT));
Torsten Duwe f1348f
+	u32 msg = ADF_PF2VF_MSGTYPE_RESTARTING << ADF_PFVF_MSGTYPE_SHIFT;
Torsten Duwe f1348f
 	int i, num_vfs = pci_num_vf(accel_to_pci_dev(accel_dev));
Torsten Duwe f1348f
 
Torsten Duwe f1348f
 	for (i = 0, vf = accel_dev->pf.vf_info; i < num_vfs; i++, vf++) {
Torsten Duwe f1348f
diff --git a/drivers/crypto/qat/qat_common/adf_pfvf_pf_proto.c b/drivers/crypto/qat/qat_common/adf_pfvf_pf_proto.c
Torsten Duwe f1348f
index 4e4daec2ae345..9f4baa9b14fc3 100644
Torsten Duwe f1348f
--- a/drivers/crypto/qat/qat_common/adf_pfvf_pf_proto.c
Torsten Duwe f1348f
+++ b/drivers/crypto/qat/qat_common/adf_pfvf_pf_proto.c
Torsten Duwe f1348f
@@ -64,7 +64,6 @@ static int adf_handle_vf2pf_msg(struct adf_accel_dev *accel_dev, u32 vf_nr,
Torsten Duwe f1348f
 		else
Torsten Duwe f1348f
 			compat = ADF_PF2VF_VF_COMPAT_UNKNOWN;
Torsten Duwe f1348f
 
Torsten Duwe f1348f
-		resp =  ADF_PFVF_MSGORIGIN_SYSTEM;
Torsten Duwe f1348f
 		resp |= ADF_PF2VF_MSGTYPE_VERSION_RESP <<
Torsten Duwe f1348f
 			ADF_PFVF_MSGTYPE_SHIFT;
Torsten Duwe f1348f
 		resp |= ADF_PFVF_COMPAT_THIS_VERSION <<
Torsten Duwe f1348f
@@ -83,7 +82,6 @@ static int adf_handle_vf2pf_msg(struct adf_accel_dev *accel_dev, u32 vf_nr,
Torsten Duwe f1348f
 		/* PF always newer than legacy VF */
Torsten Duwe f1348f
 		compat = ADF_PF2VF_VF_COMPATIBLE;
Torsten Duwe f1348f
 
Torsten Duwe f1348f
-		resp = ADF_PFVF_MSGORIGIN_SYSTEM;
Torsten Duwe f1348f
 		resp |= ADF_PF2VF_MSGTYPE_VERSION_RESP <<
Torsten Duwe f1348f
 			ADF_PFVF_MSGTYPE_SHIFT;
Torsten Duwe f1348f
 		/* Set legacy major and minor version num */
Torsten Duwe f1348f
diff --git a/drivers/crypto/qat/qat_common/adf_pfvf_vf_msg.c b/drivers/crypto/qat/qat_common/adf_pfvf_vf_msg.c
Torsten Duwe f1348f
index c9e929651a7d8..0463743a8d43f 100644
Torsten Duwe f1348f
--- a/drivers/crypto/qat/qat_common/adf_pfvf_vf_msg.c
Torsten Duwe f1348f
+++ b/drivers/crypto/qat/qat_common/adf_pfvf_vf_msg.c
Torsten Duwe f1348f
@@ -16,8 +16,7 @@
Torsten Duwe f1348f
  */
Torsten Duwe f1348f
 int adf_vf2pf_notify_init(struct adf_accel_dev *accel_dev)
Torsten Duwe f1348f
 {
Torsten Duwe f1348f
-	u32 msg = (ADF_PFVF_MSGORIGIN_SYSTEM |
Torsten Duwe f1348f
-		(ADF_VF2PF_MSGTYPE_INIT << ADF_PFVF_MSGTYPE_SHIFT));
Torsten Duwe f1348f
+	u32 msg = ADF_VF2PF_MSGTYPE_INIT << ADF_PFVF_MSGTYPE_SHIFT;
Torsten Duwe f1348f
 
Torsten Duwe f1348f
 	if (adf_send_vf2pf_msg(accel_dev, msg)) {
Torsten Duwe f1348f
 		dev_err(&GET_DEV(accel_dev),
Torsten Duwe f1348f
@@ -39,8 +38,7 @@ EXPORT_SYMBOL_GPL(adf_vf2pf_notify_init);
Torsten Duwe f1348f
  */
Torsten Duwe f1348f
 void adf_vf2pf_notify_shutdown(struct adf_accel_dev *accel_dev)
Torsten Duwe f1348f
 {
Torsten Duwe f1348f
-	u32 msg = (ADF_PFVF_MSGORIGIN_SYSTEM |
Torsten Duwe f1348f
-	    (ADF_VF2PF_MSGTYPE_SHUTDOWN << ADF_PFVF_MSGTYPE_SHIFT));
Torsten Duwe f1348f
+	u32 msg = ADF_VF2PF_MSGTYPE_SHUTDOWN << ADF_PFVF_MSGTYPE_SHIFT;
Torsten Duwe f1348f
 
Torsten Duwe f1348f
 	if (test_bit(ADF_STATUS_PF_RUNNING, &accel_dev->status))
Torsten Duwe f1348f
 		if (adf_send_vf2pf_msg(accel_dev, msg))
Torsten Duwe f1348f
@@ -57,9 +55,9 @@ int adf_vf2pf_request_version(struct adf_accel_dev *accel_dev)
Torsten Duwe f1348f
 	u32 resp;
Torsten Duwe f1348f
 	int ret;
Torsten Duwe f1348f
 
Torsten Duwe f1348f
-	msg = ADF_PFVF_MSGORIGIN_SYSTEM;
Torsten Duwe f1348f
-	msg |= ADF_VF2PF_MSGTYPE_COMPAT_VER_REQ << ADF_PFVF_MSGTYPE_SHIFT;
Torsten Duwe f1348f
-	msg |= ADF_PFVF_COMPAT_THIS_VERSION << ADF_VF2PF_COMPAT_VER_REQ_SHIFT;
Torsten Duwe f1348f
+	msg = ADF_VF2PF_MSGTYPE_COMPAT_VER_REQ << ADF_PFVF_MSGTYPE_SHIFT |
Torsten Duwe f1348f
+	      ADF_PFVF_COMPAT_THIS_VERSION << ADF_VF2PF_COMPAT_VER_REQ_SHIFT;
Torsten Duwe f1348f
+
Torsten Duwe f1348f
 	BUILD_BUG_ON(ADF_PFVF_COMPAT_THIS_VERSION > 255);
Torsten Duwe f1348f
 
Torsten Duwe f1348f
 	ret = adf_send_vf2pf_req(accel_dev, msg, &resp);
Torsten Duwe f1348f
-- 
Torsten Duwe f1348f
2.35.3
Torsten Duwe f1348f