|
Torsten Duwe |
bd87c8 |
From c2a1b91e47984e477298912ffd55570095d67318 Mon Sep 17 00:00:00 2001
|
|
Torsten Duwe |
bd87c8 |
From: Andre Przywara <andre.przywara@arm.com>
|
|
Torsten Duwe |
bd87c8 |
Date: Fri, 17 Jun 2022 09:59:44 +0000
|
|
Torsten Duwe |
bd87c8 |
Subject: [PATCH] crypto: qat - replace get_current_node() with numa_node_id()
|
|
Torsten Duwe |
bd87c8 |
Git-commit: c2a1b91e47984e477298912ffd55570095d67318
|
|
Torsten Duwe |
bd87c8 |
Patch-mainline: v6.0-rc1
|
|
Torsten Duwe |
bd87c8 |
References: jsc#PED-1073
|
|
Torsten Duwe |
bd87c8 |
|
|
Torsten Duwe |
bd87c8 |
Currently the QAT driver code uses a self-defined wrapper function
|
|
Torsten Duwe |
bd87c8 |
called get_current_node() when it wants to learn the current NUMA node.
|
|
Torsten Duwe |
bd87c8 |
This implementation references the topology_physical_package_id[] array,
|
|
Torsten Duwe |
bd87c8 |
which more or less coincidentally contains the NUMA node id, at least
|
|
Torsten Duwe |
bd87c8 |
on x86.
|
|
Torsten Duwe |
bd87c8 |
|
|
Torsten Duwe |
bd87c8 |
Because this is not universal, and Linux offers a direct function to
|
|
Torsten Duwe |
bd87c8 |
learn the NUMA node ID, replace that function with a call to
|
|
Torsten Duwe |
bd87c8 |
numa_node_id(), which would work everywhere.
|
|
Torsten Duwe |
bd87c8 |
|
|
Torsten Duwe |
bd87c8 |
This fixes the QAT driver operation on arm64 machines.
|
|
Torsten Duwe |
bd87c8 |
|
|
Torsten Duwe |
bd87c8 |
Reported-by: Yoan Picchi <Yoan.Picchi@arm.com>
|
|
Torsten Duwe |
bd87c8 |
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
|
|
Torsten Duwe |
bd87c8 |
Signed-off-by: Yoan Picchi <yoan.picchi@arm.com>
|
|
Torsten Duwe |
bd87c8 |
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
|
|
Torsten Duwe |
bd87c8 |
Signed-off-by: Torsten Duwe <duwe@suse.de>
|
|
Torsten Duwe |
bd87c8 |
|
|
Torsten Duwe |
bd87c8 |
---
|
|
Torsten Duwe |
bd87c8 |
drivers/crypto/qat/qat_common/adf_common_drv.h | 5 -----
|
|
Torsten Duwe |
bd87c8 |
drivers/crypto/qat/qat_common/qat_algs.c | 4 ++--
|
|
Torsten Duwe |
bd87c8 |
drivers/crypto/qat/qat_common/qat_asym_algs.c | 4 ++--
|
|
Torsten Duwe |
bd87c8 |
3 files changed, 4 insertions(+), 9 deletions(-)
|
|
Torsten Duwe |
bd87c8 |
|
|
Torsten Duwe |
bd87c8 |
diff --git a/drivers/crypto/qat/qat_common/adf_common_drv.h b/drivers/crypto/qat/qat_common/adf_common_drv.h
|
|
Torsten Duwe |
bd87c8 |
index 0464fa2579295..b364bc06c732a 100644
|
|
Torsten Duwe |
bd87c8 |
--- a/drivers/crypto/qat/qat_common/adf_common_drv.h
|
|
Torsten Duwe |
bd87c8 |
+++ b/drivers/crypto/qat/qat_common/adf_common_drv.h
|
|
Torsten Duwe |
bd87c8 |
@@ -49,11 +49,6 @@ struct service_hndl {
|
|
Torsten Duwe |
bd87c8 |
struct list_head list;
|
|
Torsten Duwe |
bd87c8 |
};
|
|
Torsten Duwe |
bd87c8 |
|
|
Torsten Duwe |
bd87c8 |
-static inline int get_current_node(void)
|
|
Torsten Duwe |
bd87c8 |
-{
|
|
Torsten Duwe |
bd87c8 |
- return topology_physical_package_id(raw_smp_processor_id());
|
|
Torsten Duwe |
bd87c8 |
-}
|
|
Torsten Duwe |
bd87c8 |
-
|
|
Torsten Duwe |
bd87c8 |
int adf_service_register(struct service_hndl *service);
|
|
Torsten Duwe |
bd87c8 |
int adf_service_unregister(struct service_hndl *service);
|
|
Torsten Duwe |
bd87c8 |
|
|
Torsten Duwe |
bd87c8 |
diff --git a/drivers/crypto/qat/qat_common/qat_algs.c b/drivers/crypto/qat/qat_common/qat_algs.c
|
|
Torsten Duwe |
bd87c8 |
index 148edbe379e31..fb45fa83841c5 100644
|
|
Torsten Duwe |
bd87c8 |
--- a/drivers/crypto/qat/qat_common/qat_algs.c
|
|
Torsten Duwe |
bd87c8 |
+++ b/drivers/crypto/qat/qat_common/qat_algs.c
|
|
Torsten Duwe |
bd87c8 |
@@ -605,7 +605,7 @@ static int qat_alg_aead_newkey(struct crypto_aead *tfm, const u8 *key,
|
|
Torsten Duwe |
bd87c8 |
{
|
|
Torsten Duwe |
bd87c8 |
struct qat_alg_aead_ctx *ctx = crypto_aead_ctx(tfm);
|
|
Torsten Duwe |
bd87c8 |
struct qat_crypto_instance *inst = NULL;
|
|
Torsten Duwe |
bd87c8 |
- int node = get_current_node();
|
|
Torsten Duwe |
bd87c8 |
+ int node = numa_node_id();
|
|
Torsten Duwe |
bd87c8 |
struct device *dev;
|
|
Torsten Duwe |
bd87c8 |
int ret;
|
|
Torsten Duwe |
bd87c8 |
|
|
Torsten Duwe |
bd87c8 |
@@ -1065,7 +1065,7 @@ static int qat_alg_skcipher_newkey(struct qat_alg_skcipher_ctx *ctx,
|
|
Torsten Duwe |
bd87c8 |
{
|
|
Torsten Duwe |
bd87c8 |
struct qat_crypto_instance *inst = NULL;
|
|
Torsten Duwe |
bd87c8 |
struct device *dev;
|
|
Torsten Duwe |
bd87c8 |
- int node = get_current_node();
|
|
Torsten Duwe |
bd87c8 |
+ int node = numa_node_id();
|
|
Torsten Duwe |
bd87c8 |
int ret;
|
|
Torsten Duwe |
bd87c8 |
|
|
Torsten Duwe |
bd87c8 |
inst = qat_crypto_get_instance_node(node);
|
|
Torsten Duwe |
bd87c8 |
diff --git a/drivers/crypto/qat/qat_common/qat_asym_algs.c b/drivers/crypto/qat/qat_common/qat_asym_algs.c
|
|
Torsten Duwe |
bd87c8 |
index 16d97db9ea15f..095ed2a404d2f 100644
|
|
Torsten Duwe |
bd87c8 |
--- a/drivers/crypto/qat/qat_common/qat_asym_algs.c
|
|
Torsten Duwe |
bd87c8 |
+++ b/drivers/crypto/qat/qat_common/qat_asym_algs.c
|
|
Torsten Duwe |
bd87c8 |
@@ -489,7 +489,7 @@ static int qat_dh_init_tfm(struct crypto_kpp *tfm)
|
|
Torsten Duwe |
bd87c8 |
{
|
|
Torsten Duwe |
bd87c8 |
struct qat_dh_ctx *ctx = kpp_tfm_ctx(tfm);
|
|
Torsten Duwe |
bd87c8 |
struct qat_crypto_instance *inst =
|
|
Torsten Duwe |
bd87c8 |
- qat_crypto_get_instance_node(get_current_node());
|
|
Torsten Duwe |
bd87c8 |
+ qat_crypto_get_instance_node(numa_node_id());
|
|
Torsten Duwe |
bd87c8 |
|
|
Torsten Duwe |
bd87c8 |
if (!inst)
|
|
Torsten Duwe |
bd87c8 |
return -EINVAL;
|
|
Torsten Duwe |
bd87c8 |
@@ -1225,7 +1225,7 @@ static int qat_rsa_init_tfm(struct crypto_akcipher *tfm)
|
|
Torsten Duwe |
bd87c8 |
{
|
|
Torsten Duwe |
bd87c8 |
struct qat_rsa_ctx *ctx = akcipher_tfm_ctx(tfm);
|
|
Torsten Duwe |
bd87c8 |
struct qat_crypto_instance *inst =
|
|
Torsten Duwe |
bd87c8 |
- qat_crypto_get_instance_node(get_current_node());
|
|
Torsten Duwe |
bd87c8 |
+ qat_crypto_get_instance_node(numa_node_id());
|
|
Torsten Duwe |
bd87c8 |
|
|
Torsten Duwe |
bd87c8 |
if (!inst)
|
|
Torsten Duwe |
bd87c8 |
return -EINVAL;
|
|
Torsten Duwe |
bd87c8 |
--
|
|
Torsten Duwe |
bd87c8 |
2.35.3
|
|
Torsten Duwe |
bd87c8 |
|