|
Torsten Duwe |
93b5f1 |
From 4d03135faa059443a2cfcbee758d9db8bada7fe1 Mon Sep 17 00:00:00 2001
|
|
Torsten Duwe |
93b5f1 |
From: Marco Chiappero <marco.chiappero@intel.com>
|
|
Torsten Duwe |
93b5f1 |
Date: Thu, 16 Dec 2021 09:13:24 +0000
|
|
Torsten Duwe |
93b5f1 |
Subject: [PATCH] crypto: qat - store the PFVF protocol version of the
|
|
Torsten Duwe |
93b5f1 |
endpoints
|
|
Torsten Duwe |
93b5f1 |
Git-commit: 4d03135faa059443a2cfcbee758d9db8bada7fe1
|
|
Torsten Duwe |
93b5f1 |
Patch-mainline: v5.17-rc1
|
|
Torsten Duwe |
93b5f1 |
References: jsc#PED-1073
|
|
Torsten Duwe |
93b5f1 |
|
|
Torsten Duwe |
93b5f1 |
This patch adds an entry for storing the PFVF protocol version for both
|
|
Torsten Duwe |
93b5f1 |
PF and VFs. While not currently used, knowing and storing the remote
|
|
Torsten Duwe |
93b5f1 |
protocol version enables more complex compatibility checks and/or newer
|
|
Torsten Duwe |
93b5f1 |
features for compatible PFVF endpoints in the future.
|
|
Torsten Duwe |
93b5f1 |
|
|
Torsten Duwe |
93b5f1 |
Signed-off-by: Marco Chiappero <marco.chiappero@intel.com>
|
|
Torsten Duwe |
93b5f1 |
Reviewed-by: Giovanni Cabiddu <giovanni.cabiddu@intel.com>
|
|
Torsten Duwe |
93b5f1 |
Reviewed-by: Fiona Trahe <fiona.trahe@intel.com>
|
|
Torsten Duwe |
93b5f1 |
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
|
|
Torsten Duwe |
93b5f1 |
Signed-off-by: Torsten Duwe <duwe@suse.de>
|
|
Torsten Duwe |
93b5f1 |
|
|
Torsten Duwe |
93b5f1 |
---
|
|
Torsten Duwe |
93b5f1 |
drivers/crypto/qat/qat_common/adf_accel_devices.h | 3 ++-
|
|
Torsten Duwe |
93b5f1 |
drivers/crypto/qat/qat_common/adf_pfvf_pf_proto.c | 5 +++++
|
|
Torsten Duwe |
93b5f1 |
drivers/crypto/qat/qat_common/adf_pfvf_vf_msg.c | 2 +-
|
|
Torsten Duwe |
93b5f1 |
drivers/crypto/qat/qat_common/adf_sriov.c | 1 +
|
|
Torsten Duwe |
93b5f1 |
4 files changed, 9 insertions(+), 2 deletions(-)
|
|
Torsten Duwe |
93b5f1 |
|
|
Torsten Duwe |
93b5f1 |
diff --git a/drivers/crypto/qat/qat_common/adf_accel_devices.h b/drivers/crypto/qat/qat_common/adf_accel_devices.h
|
|
Torsten Duwe |
93b5f1 |
index d5ccefc041535..1fb32f3e78df6 100644
|
|
Torsten Duwe |
93b5f1 |
--- a/drivers/crypto/qat/qat_common/adf_accel_devices.h
|
|
Torsten Duwe |
93b5f1 |
+++ b/drivers/crypto/qat/qat_common/adf_accel_devices.h
|
|
Torsten Duwe |
93b5f1 |
@@ -249,6 +249,7 @@ struct adf_accel_vf_info {
|
|
Torsten Duwe |
93b5f1 |
struct ratelimit_state vf2pf_ratelimit;
|
|
Torsten Duwe |
93b5f1 |
u32 vf_nr;
|
|
Torsten Duwe |
93b5f1 |
bool init;
|
|
Torsten Duwe |
93b5f1 |
+ u8 vf_compat_ver;
|
|
Torsten Duwe |
93b5f1 |
};
|
|
Torsten Duwe |
93b5f1 |
|
|
Torsten Duwe |
93b5f1 |
struct adf_accel_dev {
|
|
Torsten Duwe |
93b5f1 |
@@ -278,7 +279,7 @@ struct adf_accel_dev {
|
|
Torsten Duwe |
93b5f1 |
struct mutex vf2pf_lock; /* protect CSR access */
|
|
Torsten Duwe |
93b5f1 |
struct completion msg_received;
|
|
Torsten Duwe |
93b5f1 |
struct pfvf_message response; /* temp field holding pf2vf response */
|
|
Torsten Duwe |
93b5f1 |
- u8 pf_version;
|
|
Torsten Duwe |
93b5f1 |
+ u8 pf_compat_ver;
|
|
Torsten Duwe |
93b5f1 |
} vf;
|
|
Torsten Duwe |
93b5f1 |
};
|
|
Torsten Duwe |
93b5f1 |
bool is_vf;
|
|
Torsten Duwe |
93b5f1 |
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 |
93b5f1 |
index 8785b9d1df91a..f461aa0a95c7e 100644
|
|
Torsten Duwe |
93b5f1 |
--- a/drivers/crypto/qat/qat_common/adf_pfvf_pf_proto.c
|
|
Torsten Duwe |
93b5f1 |
+++ b/drivers/crypto/qat/qat_common/adf_pfvf_pf_proto.c
|
|
Torsten Duwe |
93b5f1 |
@@ -64,6 +64,8 @@ static int adf_handle_vf2pf_msg(struct adf_accel_dev *accel_dev, u8 vf_nr,
|
|
Torsten Duwe |
93b5f1 |
else
|
|
Torsten Duwe |
93b5f1 |
compat = ADF_PF2VF_VF_COMPAT_UNKNOWN;
|
|
Torsten Duwe |
93b5f1 |
|
|
Torsten Duwe |
93b5f1 |
+ vf_info->vf_compat_ver = vf_compat_ver;
|
|
Torsten Duwe |
93b5f1 |
+
|
|
Torsten Duwe |
93b5f1 |
resp->type = ADF_PF2VF_MSGTYPE_VERSION_RESP;
|
|
Torsten Duwe |
93b5f1 |
resp->data = FIELD_PREP(ADF_PF2VF_VERSION_RESP_VERS_MASK,
|
|
Torsten Duwe |
93b5f1 |
ADF_PFVF_COMPAT_THIS_VERSION) |
|
|
Torsten Duwe |
93b5f1 |
@@ -78,6 +80,9 @@ static int adf_handle_vf2pf_msg(struct adf_accel_dev *accel_dev, u8 vf_nr,
|
|
Torsten Duwe |
93b5f1 |
"Legacy VersionRequest received from VF%d to PF (vers 1.1)\n",
|
|
Torsten Duwe |
93b5f1 |
vf_nr);
|
|
Torsten Duwe |
93b5f1 |
|
|
Torsten Duwe |
93b5f1 |
+ /* legacy driver, VF compat_ver is 0 */
|
|
Torsten Duwe |
93b5f1 |
+ vf_info->vf_compat_ver = 0;
|
|
Torsten Duwe |
93b5f1 |
+
|
|
Torsten Duwe |
93b5f1 |
/* PF always newer than legacy VF */
|
|
Torsten Duwe |
93b5f1 |
compat = ADF_PF2VF_VF_COMPATIBLE;
|
|
Torsten Duwe |
93b5f1 |
|
|
Torsten Duwe |
93b5f1 |
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 |
93b5f1 |
index 130d7b9c12ea7..307d593042f3e 100644
|
|
Torsten Duwe |
93b5f1 |
--- a/drivers/crypto/qat/qat_common/adf_pfvf_vf_msg.c
|
|
Torsten Duwe |
93b5f1 |
+++ b/drivers/crypto/qat/qat_common/adf_pfvf_vf_msg.c
|
|
Torsten Duwe |
93b5f1 |
@@ -89,6 +89,6 @@ int adf_vf2pf_request_version(struct adf_accel_dev *accel_dev)
|
|
Torsten Duwe |
93b5f1 |
return -EINVAL;
|
|
Torsten Duwe |
93b5f1 |
}
|
|
Torsten Duwe |
93b5f1 |
|
|
Torsten Duwe |
93b5f1 |
- accel_dev->vf.pf_version = pf_version;
|
|
Torsten Duwe |
93b5f1 |
+ accel_dev->vf.pf_compat_ver = pf_version;
|
|
Torsten Duwe |
93b5f1 |
return 0;
|
|
Torsten Duwe |
93b5f1 |
}
|
|
Torsten Duwe |
93b5f1 |
diff --git a/drivers/crypto/qat/qat_common/adf_sriov.c b/drivers/crypto/qat/qat_common/adf_sriov.c
|
|
Torsten Duwe |
93b5f1 |
index 429990c5e0f34..6366622ff8fd1 100644
|
|
Torsten Duwe |
93b5f1 |
--- a/drivers/crypto/qat/qat_common/adf_sriov.c
|
|
Torsten Duwe |
93b5f1 |
+++ b/drivers/crypto/qat/qat_common/adf_sriov.c
|
|
Torsten Duwe |
93b5f1 |
@@ -58,6 +58,7 @@ static int adf_enable_sriov(struct adf_accel_dev *accel_dev)
|
|
Torsten Duwe |
93b5f1 |
/* This ptr will be populated when VFs will be created */
|
|
Torsten Duwe |
93b5f1 |
vf_info->accel_dev = accel_dev;
|
|
Torsten Duwe |
93b5f1 |
vf_info->vf_nr = i;
|
|
Torsten Duwe |
93b5f1 |
+ vf_info->vf_compat_ver = 0;
|
|
Torsten Duwe |
93b5f1 |
|
|
Torsten Duwe |
93b5f1 |
mutex_init(&vf_info->pf2vf_lock);
|
|
Torsten Duwe |
93b5f1 |
ratelimit_state_init(&vf_info->vf2pf_ratelimit,
|
|
Torsten Duwe |
93b5f1 |
--
|
|
Torsten Duwe |
93b5f1 |
2.35.3
|
|
Torsten Duwe |
93b5f1 |
|