|
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 |
|