diff options
19 files changed, 170 insertions, 1603 deletions
diff --git a/recipes-extended/qat/files/0001-qat-fix-for-cross-compilation-issue.patch b/recipes-extended/qat/files/0001-qat-fix-for-cross-compilation-issue.patch new file mode 100644 index 0000000..45689a9 --- /dev/null +++ b/recipes-extended/qat/files/0001-qat-fix-for-cross-compilation-issue.patch | |||
@@ -0,0 +1,61 @@ | |||
1 | From 563cc2fc8d1b120a63aa9d157effed04d39bd58f Mon Sep 17 00:00:00 2001 | ||
2 | From: venkatasubramanian pattu <venkatasubramanianx.pattu@intel.com> | ||
3 | Date: Mon, 6 Jul 2015 15:57:20 +0800 | ||
4 | Subject: [PATCH 01/11] qat: fix for cross-compilation issue | ||
5 | |||
6 | Upstream-Status: Inappropriate [Configuration] | ||
7 | |||
8 | Ensure that we are not using host compiler. | ||
9 | |||
10 | Signed-off-by: venkatasubramanian pattu <venkatasubramanianx.pattu@intel.com> | ||
11 | Signed-off-by: Anuj Mittal <anujx.mittal@intel.com> | ||
12 | [YL: modified for patching to qat17_4.12.0-00011] | ||
13 | Signed-off-by: Yongxin Liu <yongxin.liu@windriver.com> | ||
14 | --- | ||
15 | quickassist/lookaside/access_layer/src/sample_code/functional/common.mk | 2 +- | ||
16 | .../access_layer/src/sample_code/functional/dc/dc_dp_sample/Makefile | 2 +- | ||
17 | quickassist/lookaside/access_layer/src/sample_code/performance/Makefile | 2 +- | ||
18 | 3 files changed, 3 insertions(+), 3 deletions(-) | ||
19 | |||
20 | diff --git a/quickassist/lookaside/access_layer/src/sample_code/functional/common.mk b/quickassist/lookaside/access_layer/src/sample_code/functional/common.mk | ||
21 | index 8c2fa3c..9402873 100644 | ||
22 | --- a/quickassist/lookaside/access_layer/src/sample_code/functional/common.mk | ||
23 | +++ b/quickassist/lookaside/access_layer/src/sample_code/functional/common.mk | ||
24 | @@ -150,7 +150,7 @@ ifeq ($(ICP_OS_LEVEL),user_space) | ||
25 | ############################################################ | ||
26 | |||
27 | ifneq ($(PREBUILD_BINS),0) | ||
28 | - ADDITIONAL_OBJECTS += -L/usr/Lib -L$(ICP_BUILD_OUTPUT) | ||
29 | + ADDITIONAL_OBJECTS += -L$(ICP_BUILD_OUTPUT) | ||
30 | |||
31 | ifeq ($(WITH_UPSTREAM),1) | ||
32 | ifeq ($(WITH_ICP_TARGET),1) | ||
33 | diff --git a/quickassist/lookaside/access_layer/src/sample_code/functional/dc/dc_dp_sample/Makefile b/quickassist/lookaside/access_layer/src/sample_code/functional/dc/dc_dp_sample/Makefile | ||
34 | index 7a4d593..06cbc3d 100644 | ||
35 | --- a/quickassist/lookaside/access_layer/src/sample_code/functional/dc/dc_dp_sample/Makefile | ||
36 | +++ b/quickassist/lookaside/access_layer/src/sample_code/functional/dc/dc_dp_sample/Makefile | ||
37 | @@ -70,7 +70,7 @@ ifeq ($(ICP_OS_LEVEL),user_space) | ||
38 | # Build user space executible | ||
39 | # | ||
40 | ############################################################ | ||
41 | -ADDITIONAL_OBJECTS += -L/usr/Lib -lpthread -lcrypto | ||
42 | +ADDITIONAL_OBJECTS += -lpthread -lcrypto | ||
43 | |||
44 | USER_SOURCE_FILES += ../../common/cpa_sample_utils.c cpa_dc_dp_sample.c | ||
45 | USER_SOURCE_FILES += cpa_dc_dp_sample_user.c | ||
46 | diff --git a/quickassist/lookaside/access_layer/src/sample_code/performance/Makefile b/quickassist/lookaside/access_layer/src/sample_code/performance/Makefile | ||
47 | index 4b6857f..3914c1b 100644 | ||
48 | --- a/quickassist/lookaside/access_layer/src/sample_code/performance/Makefile | ||
49 | +++ b/quickassist/lookaside/access_layer/src/sample_code/performance/Makefile | ||
50 | @@ -341,7 +341,7 @@ endif | ||
51 | |||
52 | |||
53 | |||
54 | -ADDITIONAL_OBJECTS += -L/Lib -lpthread | ||
55 | +ADDITIONAL_OBJECTS += -lpthread | ||
56 | ADDITIONAL_OBJECTS += -lcrypto | ||
57 | ifeq ($(WITH_UPSTREAM),1) | ||
58 | ifeq ($(OS),linux) | ||
59 | -- | ||
60 | 2.14.5 | ||
61 | |||
diff --git a/recipes-extended/qat/files/qat16_2.3.0-34-qat-remove-local-path-from-makefile.patch b/recipes-extended/qat/files/0002-qat-remove-local-path-from-makefile.patch index 96791cb..f3aa726 100644 --- a/recipes-extended/qat/files/qat16_2.3.0-34-qat-remove-local-path-from-makefile.patch +++ b/recipes-extended/qat/files/0002-qat-remove-local-path-from-makefile.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From 1e29afc0e69fb9118cb0dcb924cdffa9db730572 Mon Sep 17 00:00:00 2001 | 1 | From b71895c04981f59bf90de608c08ca389b65ad5e9 Mon Sep 17 00:00:00 2001 |
2 | From: Anuj Mittal <anujx.mittal@intel.com> | 2 | From: Anuj Mittal <anujx.mittal@intel.com> |
3 | Date: Wed, 8 Jul 2015 11:11:32 +0800 | 3 | Date: Wed, 8 Jul 2015 11:11:32 +0800 |
4 | Subject: [PATCH] qat: remove local path from makefile | 4 | Subject: [PATCH 02/11] qat: remove local path from makefile |
5 | 5 | ||
6 | Upstream-Status: Inappropriate [Configuration] | 6 | Upstream-Status: Inappropriate [Configuration] |
7 | 7 | ||
@@ -13,7 +13,7 @@ Signed-off-by: Anuj Mittal <anujx.mittal@intel.com> | |||
13 | 1 file changed, 1 insertion(+), 2 deletions(-) | 13 | 1 file changed, 1 insertion(+), 2 deletions(-) |
14 | 14 | ||
15 | diff --git a/quickassist/build_system/build_files/env_files/linux_2.6_user_space.mk b/quickassist/build_system/build_files/env_files/linux_2.6_user_space.mk | 15 | diff --git a/quickassist/build_system/build_files/env_files/linux_2.6_user_space.mk b/quickassist/build_system/build_files/env_files/linux_2.6_user_space.mk |
16 | index f7f18a5..e8c9f18 100644 | 16 | index c1504e1..7a27739 100644 |
17 | --- a/quickassist/build_system/build_files/env_files/linux_2.6_user_space.mk | 17 | --- a/quickassist/build_system/build_files/env_files/linux_2.6_user_space.mk |
18 | +++ b/quickassist/build_system/build_files/env_files/linux_2.6_user_space.mk | 18 | +++ b/quickassist/build_system/build_files/env_files/linux_2.6_user_space.mk |
19 | @@ -46,8 +46,7 @@ | 19 | @@ -46,8 +46,7 @@ |
@@ -27,5 +27,5 @@ index f7f18a5..e8c9f18 100644 | |||
27 | -I$(OSAL_DIR)/include \ | 27 | -I$(OSAL_DIR)/include \ |
28 | -I$(OSAL_DIR)/src/linux/user_space/include | 28 | -I$(OSAL_DIR)/src/linux/user_space/include |
29 | -- | 29 | -- |
30 | 2.14.4 | 30 | 2.14.5 |
31 | 31 | ||
diff --git a/recipes-extended/qat/files/qat16_2.6.0-65-qat-override-CC-LD-AR-only-when-it-is-not-define.patch b/recipes-extended/qat/files/0003-qat-override-CC-LD-AR-only-when-it-is-not-define.patch index a25fdae..f3b8fe6 100644 --- a/recipes-extended/qat/files/qat16_2.6.0-65-qat-override-CC-LD-AR-only-when-it-is-not-define.patch +++ b/recipes-extended/qat/files/0003-qat-override-CC-LD-AR-only-when-it-is-not-define.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From b21929c42aca4bc80f6c48b5ac31bf20165b2f3e Mon Sep 17 00:00:00 2001 | 1 | From 0a881aefea89006f21b82fcafc5a422b04fc0c9a Mon Sep 17 00:00:00 2001 |
2 | From: Rahul Kumar Gupta <rahul.kumarxx.gupta@intel.com> | 2 | From: Rahul Kumar Gupta <rahul.kumarxx.gupta@intel.com> |
3 | Date: Fri, 25 Mar 2016 18:02:37 +0800 | 3 | Date: Mon, 12 Apr 2021 08:40:47 +0800 |
4 | Subject: [PATCH] qat: override CC LD AR only when it is not define | 4 | Subject: [PATCH 03/11] qat: override CC LD AR only when it is not define |
5 | 5 | ||
6 | Upstream-Status: Inappropriate [Configuration] | 6 | Upstream-Status: Inappropriate [Configuration] |
7 | 7 | ||
@@ -14,7 +14,7 @@ Signed-off-by: Rahul Kumar Gupta <rahul.kumarxx.gupta@intel.com> | |||
14 | 1 file changed, 3 insertions(+), 3 deletions(-) | 14 | 1 file changed, 3 insertions(+), 3 deletions(-) |
15 | 15 | ||
16 | diff --git a/quickassist/build_system/build_files/Core/ia.mk b/quickassist/build_system/build_files/Core/ia.mk | 16 | diff --git a/quickassist/build_system/build_files/Core/ia.mk b/quickassist/build_system/build_files/Core/ia.mk |
17 | index 4a4d123..f9aca23 100755 | 17 | index 230ee0f..f6fc755 100644 |
18 | --- a/quickassist/build_system/build_files/Core/ia.mk | 18 | --- a/quickassist/build_system/build_files/Core/ia.mk |
19 | +++ b/quickassist/build_system/build_files/Core/ia.mk | 19 | +++ b/quickassist/build_system/build_files/Core/ia.mk |
20 | @@ -67,9 +67,9 @@ | 20 | @@ -67,9 +67,9 @@ |
@@ -29,6 +29,7 @@ index 4a4d123..f9aca23 100755 | |||
29 | +AR ?= $(CROSS_COMPILE)ar | 29 | +AR ?= $(CROSS_COMPILE)ar |
30 | else | 30 | else |
31 | $(error MACHINE is undefined. Please set your target i.e. x86_64 \ | 31 | $(error MACHINE is undefined. Please set your target i.e. x86_64 \ |
32 | "-> setenv MACHINE x86_64 or export MACHINE=x86_64") | 32 | "-> setenv MACHINE x86_64 or export MACHINE=x86_64") |
33 | -- | 33 | -- |
34 | 1.9.1 | 34 | 2.14.5 |
35 | |||
diff --git a/recipes-extended/qat/files/qat17_0.6.0-1-qat-update-KDIR-for-cross-compilation.patch b/recipes-extended/qat/files/0004-update-KDIR-for-cross-compilation.patch index 78fc44b..8812a96 100644 --- a/recipes-extended/qat/files/qat17_0.6.0-1-qat-update-KDIR-for-cross-compilation.patch +++ b/recipes-extended/qat/files/0004-update-KDIR-for-cross-compilation.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From ae306d58c1bfc3d1c01d0e54ecfbfbbce39a0d4e Mon Sep 17 00:00:00 2001 | 1 | From 2d73ce79ef1b05d11868c89f0095ce5920171593 Mon Sep 17 00:00:00 2001 |
2 | From: "Tan, Raymond" <raymond.tan@intel.com> | 2 | From: "Tan, Raymond" <raymond.tan@intel.com> |
3 | Date: Wed, 30 May 2018 22:17:58 +0800 | 3 | Date: Wed, 30 May 2018 22:17:58 +0800 |
4 | Subject: [PATCH] update KDIR for cross-compilation | 4 | Subject: [PATCH 04/11] update KDIR for cross-compilation |
5 | 5 | ||
6 | Upstream-Status: Inappropriate [Configuration] | 6 | Upstream-Status: Inappropriate [Configuration] |
7 | 7 | ||
@@ -14,12 +14,12 @@ Signed-off-by: Tan, Raymond <raymond.tan@intel.com> | |||
14 | 1 file changed, 3 insertions(+), 3 deletions(-) | 14 | 1 file changed, 3 insertions(+), 3 deletions(-) |
15 | 15 | ||
16 | diff --git a/quickassist/qat/Makefile b/quickassist/qat/Makefile | 16 | diff --git a/quickassist/qat/Makefile b/quickassist/qat/Makefile |
17 | index ab9a381..8608378 100644 | 17 | index b31829a..2e490ba 100644 |
18 | --- a/quickassist/qat/Makefile | 18 | --- a/quickassist/qat/Makefile |
19 | +++ b/quickassist/qat/Makefile | 19 | +++ b/quickassist/qat/Makefile |
20 | @@ -61,13 +61,13 @@ $(info Compiling with Heartbeat Failure Simulation feature) | 20 | @@ -63,13 +63,13 @@ $(info Compiling with Heartbeat Failure Simulation feature) |
21 | endif | 21 | endif |
22 | 22 | ||
23 | ifeq ($(KERNELRELEASE),) | 23 | ifeq ($(KERNELRELEASE),) |
24 | -KDIR ?= $(INSTALL_MOD_PATH)/lib/modules/$(shell uname -r)/build | 24 | -KDIR ?= $(INSTALL_MOD_PATH)/lib/modules/$(shell uname -r)/build |
25 | -ifneq ($(shell if [ -e $(KDIR)/include/config/auto.conf ]; then echo 1; fi),1) | 25 | -ifneq ($(shell if [ -e $(KDIR)/include/config/auto.conf ]; then echo 1; fi),1) |
@@ -32,7 +32,8 @@ index ab9a381..8608378 100644 | |||
32 | -include $(KDIR)/include/config/auto.conf | 32 | -include $(KDIR)/include/config/auto.conf |
33 | +include $(KERNEL_BUILDDIR)/include/config/auto.conf | 33 | +include $(KERNEL_BUILDDIR)/include/config/auto.conf |
34 | INSTALL_FW_PATH ?= $(INSTALL_MOD_PATH)/lib/firmware | 34 | INSTALL_FW_PATH ?= $(INSTALL_MOD_PATH)/lib/firmware |
35 | 35 | ||
36 | default: modules | 36 | default: modules |
37 | -- | 37 | -- |
38 | 1.9.1 | 38 | 2.14.5 |
39 | |||
diff --git a/recipes-extended/qat/files/qat17_0.8.0-37-qat-added-include-dir-path.patch b/recipes-extended/qat/files/0005-Added-include-dir-path.patch index 431d5f7..237abb6 100644 --- a/recipes-extended/qat/files/qat17_0.8.0-37-qat-added-include-dir-path.patch +++ b/recipes-extended/qat/files/0005-Added-include-dir-path.patch | |||
@@ -1,28 +1,28 @@ | |||
1 | From bb3de86f5511d25dffb1722f9c82379c91a3bb16 Mon Sep 17 00:00:00 2001 | 1 | From 667d9fd3542fbeedadf949143e2abf3776cf2336 Mon Sep 17 00:00:00 2001 |
2 | From: "Goh, Wen Sen" <wen.sen.goh@intel.com> | 2 | From: "Goh, Wen Sen" <wen.sen.goh@intel.com> |
3 | Date: Tue, 24 May 2016 16:05:12 +0800 | 3 | Date: Tue, 24 May 2016 16:05:12 +0800 |
4 | Subject: [PATCH] Added include dir path | 4 | Subject: [PATCH 05/11] Added include dir path |
5 | 5 | ||
6 | Upstream-Status: Inappropriate [Configuration] | 6 | Upstream-Status: Inappropriate [Configuration] |
7 | 7 | ||
8 | Make sure that we point to the correct include path to the local | 8 | Make sure that we point to the correct include path to the local |
9 | headers | 9 | headers |
10 | |||
11 | --- | 10 | --- |
12 | quickassist/build_system/build_files/env_files/linux_2.6_user_space.mk | 1 + | 11 | quickassist/build_system/build_files/env_files/linux_2.6_user_space.mk | 1 + |
13 | 1 file changed, 1 insertion(+) | 12 | 1 file changed, 1 insertion(+) |
14 | 13 | ||
15 | diff --git a/quickassist/build_system/build_files/env_files/linux_2.6_user_space.mk b/quickassist/build_system/build_files/env_files/linux_2.6_user_space.mk | 14 | diff --git a/quickassist/build_system/build_files/env_files/linux_2.6_user_space.mk b/quickassist/build_system/build_files/env_files/linux_2.6_user_space.mk |
16 | index 493d6e9..67b252a 100755 | 15 | index 7a27739..2f935ec 100644 |
17 | --- a/quickassist/build_system/build_files/env_files/linux_2.6_user_space.mk | 16 | --- a/quickassist/build_system/build_files/env_files/linux_2.6_user_space.mk |
18 | +++ b/quickassist/build_system/build_files/env_files/linux_2.6_user_space.mk | 17 | +++ b/quickassist/build_system/build_files/env_files/linux_2.6_user_space.mk |
19 | @@ -84,6 +84,7 @@ INCLUDES+=-I$(API_DIR) \ | 18 | @@ -59,6 +59,7 @@ INCLUDES+=-I$(API_DIR) \ |
20 | 19 | ||
21 | EXTRA_CFLAGS += $(cmd_line_cflags) | 20 | EXTRA_CFLAGS += $(cmd_line_cflags) |
22 | EXTRA_CFLAGS += -fno-strict-aliasing | 21 | EXTRA_CFLAGS += -fno-strict-aliasing |
23 | +EXTRA_CFLAGS += $(INCLUDES) | 22 | +EXTRA_CFLAGS += $(INCLUDES) |
24 | EXTRA_LDFLAGS +=-whole-archive | 23 | EXTRA_LDFLAGS +=-whole-archive |
25 | 24 | ||
26 | ifeq ($(ARCH), i386) | 25 | ifeq ($(ARCH), i386) |
27 | -- | 26 | -- |
28 | 2.8.3 | 27 | 2.14.5 |
28 | |||
diff --git a/recipes-extended/qat/files/qat17_0.9.0-4-qat-add-install-target-and-add-folder.patch b/recipes-extended/qat/files/0006-qat-add-install-target-and-add-folder.patch index a810cfc..62d25e0 100644 --- a/recipes-extended/qat/files/qat17_0.9.0-4-qat-add-install-target-and-add-folder.patch +++ b/recipes-extended/qat/files/0006-qat-add-install-target-and-add-folder.patch | |||
@@ -1,23 +1,22 @@ | |||
1 | From a94af9df0fa6f2c41efaf7ef6c17d0e5bb8aa80d Mon Sep 17 00:00:00 2001 | 1 | From fc2ae28063d10721282a4e6009cec9143ce37c80 Mon Sep 17 00:00:00 2001 |
2 | From: "Tan, Raymond" <raymond.tan@intel.com> | 2 | From: "Tan, Raymond" <raymond.tan@intel.com> |
3 | Date: Mon, 4 Jun 2018 09:26:33 +0800 | 3 | Date: Mon, 4 Jun 2018 09:26:33 +0800 |
4 | Subject: [PATCH] qat-add-install-target-and-add-folder | 4 | Subject: [PATCH 06/11] qat-add-install-target-and-add-folder |
5 | 5 | ||
6 | Upstream-Status: Inappropriate [Configuration] | 6 | Upstream-Status: Inappropriate [Configuration] |
7 | 7 | ||
8 | Modify Makefile to add install target and add folder | 8 | Modify Makefile to add install target and add folder |
9 | 9 | ||
10 | Signed-off-by: Tan, Raymond <raymond.tan@intel.com> | 10 | Signed-off-by: Tan, Raymond <raymond.tan@intel.com> |
11 | |||
12 | --- | 11 | --- |
13 | quickassist/Makefile | 25 ++++++++++++++++++++++--- | 12 | quickassist/Makefile | 25 ++++++++++++++++++++++--- |
14 | 1 file changed, 22 insertions(+), 3 deletions(-) | 13 | 1 file changed, 22 insertions(+), 3 deletions(-) |
15 | 14 | ||
16 | diff --git a/quickassist/Makefile b/quickassist/Makefile | 15 | diff --git a/quickassist/Makefile b/quickassist/Makefile |
17 | index 93990f2..70a4353 100644 | 16 | index 558f85d..4cc0f2b 100644 |
18 | --- a/quickassist/Makefile | 17 | --- a/quickassist/Makefile |
19 | +++ b/quickassist/Makefile | 18 | +++ b/quickassist/Makefile |
20 | @@ -97,6 +97,7 @@ ICP_BUILD_OUTPUT?=build_$(DATE) | 19 | @@ -96,6 +96,7 @@ ICP_BUILD_OUTPUT?=build_$(DATE) |
21 | ICP_TOP_ENV=$(ICP_BUILDSYSTEM_PATH)/build_files/env_files/ | 20 | ICP_TOP_ENV=$(ICP_BUILDSYSTEM_PATH)/build_files/env_files/ |
22 | export ICP_ACCEL_INC=YES | 21 | export ICP_ACCEL_INC=YES |
23 | LAC_LIB_DIR=$(LAC_PATH)/build/libs | 22 | LAC_LIB_DIR=$(LAC_PATH)/build/libs |
@@ -25,7 +24,7 @@ index 93990f2..70a4353 100644 | |||
25 | 24 | ||
26 | #Release Package build steps | 25 | #Release Package build steps |
27 | ALL_TARGETS = lac_user lac_kernel | 26 | ALL_TARGETS = lac_user lac_kernel |
28 | @@ -114,10 +115,14 @@ all: $(ALL_TARGETS) | 27 | @@ -113,10 +114,14 @@ all: $(ALL_TARGETS) |
29 | 28 | ||
30 | user: lac_lib_dir libosal_user lac_user | 29 | user: lac_lib_dir libosal_user lac_user |
31 | 30 | ||
@@ -42,7 +41,7 @@ index 93990f2..70a4353 100644 | |||
42 | 41 | ||
43 | # | 42 | # |
44 | # Common memory driver | 43 | # Common memory driver |
45 | @@ -200,8 +205,22 @@ ifeq ($(ICP_NO_CLEAN),) | 44 | @@ -199,8 +204,22 @@ ifeq ($(ICP_NO_CLEAN),) |
46 | endif | 45 | endif |
47 | 46 | ||
48 | 47 | ||
@@ -66,3 +65,6 @@ index 93990f2..70a4353 100644 | |||
66 | 65 | ||
67 | lac_lib_dir: clean | 66 | lac_lib_dir: clean |
68 | test -d $(LAC_LIB_DIR) || mkdir -p $(LAC_LIB_DIR); | 67 | test -d $(LAC_LIB_DIR) || mkdir -p $(LAC_LIB_DIR); |
68 | -- | ||
69 | 2.14.5 | ||
70 | |||
diff --git a/recipes-extended/qat/files/qat17_4.1.0-00022-qat-use-static-lib-for-linking.patch b/recipes-extended/qat/files/0007-qat-use-static-lib-for-linking-under-cpa-sample-code.patch index f786a10..fc8828e 100644 --- a/recipes-extended/qat/files/qat17_4.1.0-00022-qat-use-static-lib-for-linking.patch +++ b/recipes-extended/qat/files/0007-qat-use-static-lib-for-linking-under-cpa-sample-code.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From 026fd275834ac4e345464c8ce2b0163d052d0262 Mon Sep 17 00:00:00 2001 | 1 | From 54d537415c88b52c6cc682db17ecd0b6c077a8bf Mon Sep 17 00:00:00 2001 |
2 | From: "Tan, Raymond" <raymond.tan@intel.com> | 2 | From: "Tan, Raymond" <raymond.tan@intel.com> |
3 | Date: Wed, 30 May 2018 13:27:03 +0800 | 3 | Date: Mon, 12 Apr 2021 08:52:17 +0800 |
4 | Subject: [PATCH] qat-use-static-lib-for-linking-under-cpa-sample-code | 4 | Subject: [PATCH 07/11] qat-use-static-lib-for-linking-under-cpa-sample-code |
5 | 5 | ||
6 | Upstream-Status: Inappropriate [Configuration] | 6 | Upstream-Status: Inappropriate [Configuration] |
7 | 7 | ||
@@ -14,17 +14,18 @@ Signed-off-by: Tan, Raymond <raymond.tan@intel.com> | |||
14 | 1 file changed, 1 insertion(+), 1 deletion(-) | 14 | 1 file changed, 1 insertion(+), 1 deletion(-) |
15 | 15 | ||
16 | diff --git a/quickassist/lookaside/access_layer/src/sample_code/performance/Makefile b/quickassist/lookaside/access_layer/src/sample_code/performance/Makefile | 16 | diff --git a/quickassist/lookaside/access_layer/src/sample_code/performance/Makefile b/quickassist/lookaside/access_layer/src/sample_code/performance/Makefile |
17 | index 3a0fb37..5b7b3fa 100644 | 17 | index 3914c1b..a22e366 100644 |
18 | --- a/quickassist/lookaside/access_layer/src/sample_code/performance/Makefile | 18 | --- a/quickassist/lookaside/access_layer/src/sample_code/performance/Makefile |
19 | +++ b/quickassist/lookaside/access_layer/src/sample_code/performance/Makefile | 19 | +++ b/quickassist/lookaside/access_layer/src/sample_code/performance/Makefile |
20 | @@ -209,7 +209,7 @@ ifeq ($(WITH_CMDRV),1) | 20 | @@ -319,7 +319,7 @@ ifneq ($(PREBUILD_BINS),0) |
21 | ifeq ($(WITH_ICP_TARGET),1) | 21 | ifeq ($(WITH_ICP_TARGET),1) |
22 | ADDITIONAL_OBJECTS += $(ICP_BUILD_OUTPUT)/libqae_mem.a | 22 | ADDITIONAL_OBJECTS += $(ICP_BUILD_OUTPUT)/libqae_mem.a |
23 | else | 23 | else |
24 | - ADDITIONAL_OBJECTS += $(ICP_BUILD_OUTPUT)/libusdm_drv_s.so | 24 | - ADDITIONAL_OBJECTS += $(ICP_BUILD_OUTPUT)/libusdm_drv_s.so |
25 | + ADDITIONAL_OBJECTS += $(ICP_BUILD_OUTPUT)/libusdm_drv.a | 25 | + ADDITIONAL_OBJECTS += $(ICP_BUILD_OUTPUT)/libusdm_drv.a |
26 | endif | 26 | endif |
27 | endif | 27 | endif |
28 | #endif | 28 | #endif |
29 | -- | 29 | -- |
30 | 1.9.1 | 30 | 2.14.5 |
31 | |||
diff --git a/recipes-extended/qat/files/qat17_4.7.0-00006-overwrite-KBUILD_BUILTIN-in-kernel-s-Makefile.patch b/recipes-extended/qat/files/0008-qat-overwrite-KBUILD_BUILTIN-in-kernel-s-Makefile.patch index 6af5a6a..b511473 100644 --- a/recipes-extended/qat/files/qat17_4.7.0-00006-overwrite-KBUILD_BUILTIN-in-kernel-s-Makefile.patch +++ b/recipes-extended/qat/files/0008-qat-overwrite-KBUILD_BUILTIN-in-kernel-s-Makefile.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From bf4053e4685bbbf84e6f91d18809dbf4487d03d9 Mon Sep 17 00:00:00 2001 | 1 | From 315838f92b83da62afd2800b57eddd03d0cfde58 Mon Sep 17 00:00:00 2001 |
2 | From: Yongxin Liu <yongxin.liu@windriver.com> | 2 | From: Yongxin Liu <yongxin.liu@windriver.com> |
3 | Date: Wed, 25 Nov 2020 07:58:07 +0800 | 3 | Date: Wed, 25 Nov 2020 07:58:07 +0800 |
4 | Subject: [PATCH] qat: overwrite KBUILD_BUILTIN in kernel's Makefile | 4 | Subject: [PATCH 08/11] qat: overwrite KBUILD_BUILTIN in kernel's Makefile |
5 | 5 | ||
6 | Since kernel v5.10-rc1, commit 6212804f2d78 ("kbuild: do not create | 6 | Since kernel v5.10-rc1, commit 6212804f2d78 ("kbuild: do not create |
7 | built-in objects for external module builds"), QAT static libraries | 7 | built-in objects for external module builds"), QAT static libraries |
@@ -16,7 +16,7 @@ Signed-off-by: Yongxin Liu <yongxin.liu@windriver.com> | |||
16 | 1 file changed, 1 insertion(+), 1 deletion(-) | 16 | 1 file changed, 1 insertion(+), 1 deletion(-) |
17 | 17 | ||
18 | diff --git a/quickassist/build_system/build_files/OS/linux_2.6_kernel_space_rules.mk b/quickassist/build_system/build_files/OS/linux_2.6_kernel_space_rules.mk | 18 | diff --git a/quickassist/build_system/build_files/OS/linux_2.6_kernel_space_rules.mk b/quickassist/build_system/build_files/OS/linux_2.6_kernel_space_rules.mk |
19 | index a692b37..302ae19 100644 | 19 | index 71bbeb7..8a5cfbc 100644 |
20 | --- a/quickassist/build_system/build_files/OS/linux_2.6_kernel_space_rules.mk | 20 | --- a/quickassist/build_system/build_files/OS/linux_2.6_kernel_space_rules.mk |
21 | +++ b/quickassist/build_system/build_files/OS/linux_2.6_kernel_space_rules.mk | 21 | +++ b/quickassist/build_system/build_files/OS/linux_2.6_kernel_space_rules.mk |
22 | @@ -72,7 +72,7 @@ endif | 22 | @@ -72,7 +72,7 @@ endif |
@@ -29,5 +29,5 @@ index a692b37..302ae19 100644 | |||
29 | test -f lib.a && (ar -t lib.a | xargs ar -rcsD $(LIB_STATIC)); \ | 29 | test -f lib.a && (ar -t lib.a | xargs ar -rcsD $(LIB_STATIC)); \ |
30 | test -f $(LIB_STATIC) && mv -f $(LIB_STATIC) $($(PROG_ACY)_FINAL_OUTPUT_DIR)/$(LIB_STATIC); \ | 30 | test -f $(LIB_STATIC) && mv -f $(LIB_STATIC) $($(PROG_ACY)_FINAL_OUTPUT_DIR)/$(LIB_STATIC); \ |
31 | -- | 31 | -- |
32 | 2.14.4 | 32 | 2.14.5 |
33 | 33 | ||
diff --git a/recipes-extended/qat/files/qat17_4.7.0-00006-crypto-qat-Silence-smp_processor_id-warning.patch b/recipes-extended/qat/files/0009-crypto-qat-Silence-smp_processor_id-warning.patch index 262651f..d619cc3 100644 --- a/recipes-extended/qat/files/qat17_4.7.0-00006-crypto-qat-Silence-smp_processor_id-warning.patch +++ b/recipes-extended/qat/files/0009-crypto-qat-Silence-smp_processor_id-warning.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From 21b67ec634271aafd73cffb3e73c0ba494dce3cd Mon Sep 17 00:00:00 2001 | 1 | From a79112f8673c3d4912bb28592e64a90f237a31e5 Mon Sep 17 00:00:00 2001 |
2 | From: Alexander Sverdlin <alexander.sverdlin@nokia.com> | 2 | From: Alexander Sverdlin <alexander.sverdlin@nokia.com> |
3 | Date: Tue, 23 Jul 2019 07:24:01 +0000 | 3 | Date: Tue, 23 Jul 2019 07:24:01 +0000 |
4 | Subject: [PATCH] crypto: qat - Silence smp_processor_id() warning | 4 | Subject: [PATCH 09/11] crypto: qat - Silence smp_processor_id() warning |
5 | 5 | ||
6 | It seems that smp_processor_id() is only used for a best-effort | 6 | It seems that smp_processor_id() is only used for a best-effort |
7 | load-balancing, refer to qat_crypto_get_instance_node(). It's not feasible | 7 | load-balancing, refer to qat_crypto_get_instance_node(). It's not feasible |
@@ -55,7 +55,7 @@ Signed-off-by: Yongxin Liu <yongxin.liu@windriver.com> | |||
55 | 1 file changed, 1 insertion(+), 1 deletion(-) | 55 | 1 file changed, 1 insertion(+), 1 deletion(-) |
56 | 56 | ||
57 | diff --git a/quickassist/qat/drivers/crypto/qat/qat_common/adf_common_drv.h b/quickassist/qat/drivers/crypto/qat/qat_common/adf_common_drv.h | 57 | diff --git a/quickassist/qat/drivers/crypto/qat/qat_common/adf_common_drv.h b/quickassist/qat/drivers/crypto/qat/qat_common/adf_common_drv.h |
58 | index 08e3519..87dd5f1 100644 | 58 | index 8d57925..38bad69 100644 |
59 | --- a/quickassist/qat/drivers/crypto/qat/qat_common/adf_common_drv.h | 59 | --- a/quickassist/qat/drivers/crypto/qat/qat_common/adf_common_drv.h |
60 | +++ b/quickassist/qat/drivers/crypto/qat/qat_common/adf_common_drv.h | 60 | +++ b/quickassist/qat/drivers/crypto/qat/qat_common/adf_common_drv.h |
61 | @@ -100,7 +100,7 @@ struct service_hndl { | 61 | @@ -100,7 +100,7 @@ struct service_hndl { |
@@ -68,5 +68,5 @@ index 08e3519..87dd5f1 100644 | |||
68 | 68 | ||
69 | int adf_service_register(struct service_hndl *service); | 69 | int adf_service_register(struct service_hndl *service); |
70 | -- | 70 | -- |
71 | 2.14.4 | 71 | 2.14.5 |
72 | 72 | ||
diff --git a/recipes-extended/qat/files/qat17_4.7.0-00006-qat-include-sha1.h-and-sha2.h-instead-of-sha.h-in-ke.patch b/recipes-extended/qat/files/0010-qat-include-sha1.h-and-sha2.h-instead-of-sha.h-in-ke.patch index cf22fa1..b86d1db 100644 --- a/recipes-extended/qat/files/qat17_4.7.0-00006-qat-include-sha1.h-and-sha2.h-instead-of-sha.h-in-ke.patch +++ b/recipes-extended/qat/files/0010-qat-include-sha1.h-and-sha2.h-instead-of-sha.h-in-ke.patch | |||
@@ -1,8 +1,8 @@ | |||
1 | From f27fe17a282206b6d4e8c3ad8d5aac8757f38ab5 Mon Sep 17 00:00:00 2001 | 1 | From c9e04ec8d8be3a1f21a5bdc6c5c79f50191d57dd Mon Sep 17 00:00:00 2001 |
2 | From: Yongxin Liu <yongxin.liu@windriver.com> | 2 | From: Yongxin Liu <yongxin.liu@windriver.com> |
3 | Date: Thu, 28 Jan 2021 13:07:59 +0800 | 3 | Date: Thu, 28 Jan 2021 13:07:59 +0800 |
4 | Subject: [PATCH] qat: include sha1.h and sha2.h instead of sha.h in kernel | 4 | Subject: [PATCH 10/11] qat: include sha1.h and sha2.h instead of sha.h in |
5 | v5.11 | 5 | kernel v5.11 |
6 | 6 | ||
7 | In kernel commit a24d22b225ce ("crypto: sha - split sha.h into sha1.h and sha2.h"), | 7 | In kernel commit a24d22b225ce ("crypto: sha - split sha.h into sha1.h and sha2.h"), |
8 | <crypto/sha.h> was split into two headers <crypto/sha1.h> and <crypto/sha2.h>. | 8 | <crypto/sha.h> was split into two headers <crypto/sha1.h> and <crypto/sha2.h>. |
@@ -11,17 +11,17 @@ Upstream-Status: Inappropriate [Code released in tarball form only] | |||
11 | 11 | ||
12 | Signed-off-by: Yongxin Liu <yongxin.liu@windriver.com> | 12 | Signed-off-by: Yongxin Liu <yongxin.liu@windriver.com> |
13 | --- | 13 | --- |
14 | quickassist/qat/drivers/crypto/qat/qat_common/qat_algs.c | 5 +++++ | 14 | quickassist/qat/drivers/crypto/qat/qat_common/qat_algs.c | 5 +++++ |
15 | .../utilities/osal/src/linux/kernel_space/OsalCryptoInterface.c | 7 +++++-- | 15 | .../utilities/osal/src/linux/kernel_space/OsalCryptoInterface.c | 5 +++++ |
16 | 2 files changed, 10 insertions(+), 2 deletions(-) | 16 | 2 files changed, 10 insertions(+) |
17 | 17 | ||
18 | diff --git a/quickassist/qat/drivers/crypto/qat/qat_common/qat_algs.c b/quickassist/qat/drivers/crypto/qat/qat_common/qat_algs.c | 18 | diff --git a/quickassist/qat/drivers/crypto/qat/qat_common/qat_algs.c b/quickassist/qat/drivers/crypto/qat/qat_common/qat_algs.c |
19 | index c4edb3c..a7961a4 100644 | 19 | index 37ac11e..08680ca 100644 |
20 | --- a/quickassist/qat/drivers/crypto/qat/qat_common/qat_algs.c | 20 | --- a/quickassist/qat/drivers/crypto/qat/qat_common/qat_algs.c |
21 | +++ b/quickassist/qat/drivers/crypto/qat/qat_common/qat_algs.c | 21 | +++ b/quickassist/qat/drivers/crypto/qat/qat_common/qat_algs.c |
22 | @@ -50,7 +50,12 @@ | 22 | @@ -52,7 +52,12 @@ |
23 | #include <linux/crypto.h> | ||
24 | #include <crypto/internal/aead.h> | 23 | #include <crypto/internal/aead.h> |
24 | #include <crypto/internal/skcipher.h> | ||
25 | #include <crypto/aes.h> | 25 | #include <crypto/aes.h> |
26 | +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,11,0)) | 26 | +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,11,0)) |
27 | +#include <crypto/sha1.h> | 27 | +#include <crypto/sha1.h> |
@@ -33,27 +33,19 @@ index c4edb3c..a7961a4 100644 | |||
33 | #include <crypto/algapi.h> | 33 | #include <crypto/algapi.h> |
34 | #include <crypto/authenc.h> | 34 | #include <crypto/authenc.h> |
35 | diff --git a/quickassist/utilities/osal/src/linux/kernel_space/OsalCryptoInterface.c b/quickassist/utilities/osal/src/linux/kernel_space/OsalCryptoInterface.c | 35 | diff --git a/quickassist/utilities/osal/src/linux/kernel_space/OsalCryptoInterface.c b/quickassist/utilities/osal/src/linux/kernel_space/OsalCryptoInterface.c |
36 | index 92ee35b..483aef2 100644 | 36 | index 9d2e85c..de24fa0 100644 |
37 | --- a/quickassist/utilities/osal/src/linux/kernel_space/OsalCryptoInterface.c | 37 | --- a/quickassist/utilities/osal/src/linux/kernel_space/OsalCryptoInterface.c |
38 | +++ b/quickassist/utilities/osal/src/linux/kernel_space/OsalCryptoInterface.c | 38 | +++ b/quickassist/utilities/osal/src/linux/kernel_space/OsalCryptoInterface.c |
39 | @@ -66,15 +66,18 @@ | 39 | @@ -69,7 +69,12 @@ |
40 | 40 | #include <linux/version.h> | |
41 | #include "Osal.h" | 41 | #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,29)) |
42 | #include <linux/crypto.h> | 42 | #include <crypto/internal/hash.h> |
43 | -#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,8,0)) | ||
44 | +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,11,0)) | 43 | +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,11,0)) |
45 | +#include <crypto/sha1.h> | 44 | +#include <crypto/sha1.h> |
46 | +#include <crypto/sha2.h> | 45 | +#include <crypto/sha2.h> |
47 | +#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(5,8,0)) | 46 | +#else |
48 | #include <crypto/sha.h> | 47 | #include <crypto/sha.h> |
49 | #else | 48 | +#endif |
50 | #include <linux/cryptohash.h> | ||
51 | +#include <crypto/sha.h> | ||
52 | #endif | ||
53 | #include <linux/version.h> | ||
54 | #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,29)) | ||
55 | #include <crypto/internal/hash.h> | ||
56 | -#include <crypto/sha.h> | ||
57 | 49 | ||
58 | #define OSAL_MAX_SHASH_DECSIZE 512 | 50 | #define OSAL_MAX_SHASH_DECSIZE 512 |
59 | 51 | ||
diff --git a/recipes-extended/qat/files/qat17_4.7.0-00006-qat17-use-namespace-CRYPTO_INTERNAL.patch b/recipes-extended/qat/files/0011-qat17-use-namespace-CRYPTO_INTERNAL.patch index a4fad3c..1a7a647 100644 --- a/recipes-extended/qat/files/qat17_4.7.0-00006-qat17-use-namespace-CRYPTO_INTERNAL.patch +++ b/recipes-extended/qat/files/0011-qat17-use-namespace-CRYPTO_INTERNAL.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From 3b45583612822851a0841cff8381d8795c831a23 Mon Sep 17 00:00:00 2001 | 1 | From 9b2b7a79fc9d9323fe9ec44de7619ea175c45bc1 Mon Sep 17 00:00:00 2001 |
2 | From: Yongxin Liu <yongxin.liu@windriver.com> | 2 | From: Yongxin Liu <yongxin.liu@windriver.com> |
3 | Date: Tue, 23 Mar 2021 09:31:25 +0000 | 3 | Date: Tue, 23 Mar 2021 09:31:25 +0000 |
4 | Subject: [PATCH] qat17: use namespace CRYPTO_INTERNAL | 4 | Subject: [PATCH 11/11] qat17: use namespace CRYPTO_INTERNAL |
5 | 5 | ||
6 | Due to kernel commit 0eb76ba29d16 ("crypto: remove cipher routines from | 6 | Due to kernel commit 0eb76ba29d16 ("crypto: remove cipher routines from |
7 | public crypto API") in v5.12-rc1, some crypto APIs are exported into a new | 7 | public crypto API") in v5.12-rc1, some crypto APIs are exported into a new |
@@ -11,12 +11,12 @@ Upstream-Status: Inappropriate [Code released in tarball form only] | |||
11 | 11 | ||
12 | Signed-off-by: Yongxin Liu <yongxin.liu@windriver.com> | 12 | Signed-off-by: Yongxin Liu <yongxin.liu@windriver.com> |
13 | --- | 13 | --- |
14 | quickassist/lookaside/access_layer/src/linux/icp_qa_module.c | 3 +++ | 14 | quickassist/lookaside/access_layer/src/linux/icp_qa_module.c | 3 +++ |
15 | .../osal/src/linux/kernel_space/OsalCryptoInterface.c | 5 +++++ | 15 | .../utilities/osal/src/linux/kernel_space/OsalCryptoInterface.c | 5 +++++ |
16 | 2 files changed, 8 insertions(+) | 16 | 2 files changed, 8 insertions(+) |
17 | 17 | ||
18 | diff --git a/quickassist/lookaside/access_layer/src/linux/icp_qa_module.c b/quickassist/lookaside/access_layer/src/linux/icp_qa_module.c | 18 | diff --git a/quickassist/lookaside/access_layer/src/linux/icp_qa_module.c b/quickassist/lookaside/access_layer/src/linux/icp_qa_module.c |
19 | index c9c6946..a9dd704 100644 | 19 | index 413eb07..f3a371e 100644 |
20 | --- a/quickassist/lookaside/access_layer/src/linux/icp_qa_module.c | 20 | --- a/quickassist/lookaside/access_layer/src/linux/icp_qa_module.c |
21 | +++ b/quickassist/lookaside/access_layer/src/linux/icp_qa_module.c | 21 | +++ b/quickassist/lookaside/access_layer/src/linux/icp_qa_module.c |
22 | @@ -120,3 +120,6 @@ module_exit(kapi_mod_exit); | 22 | @@ -120,3 +120,6 @@ module_exit(kapi_mod_exit); |
@@ -27,21 +27,21 @@ index c9c6946..a9dd704 100644 | |||
27 | +MODULE_IMPORT_NS(CRYPTO_INTERNAL); | 27 | +MODULE_IMPORT_NS(CRYPTO_INTERNAL); |
28 | +#endif | 28 | +#endif |
29 | diff --git a/quickassist/utilities/osal/src/linux/kernel_space/OsalCryptoInterface.c b/quickassist/utilities/osal/src/linux/kernel_space/OsalCryptoInterface.c | 29 | diff --git a/quickassist/utilities/osal/src/linux/kernel_space/OsalCryptoInterface.c b/quickassist/utilities/osal/src/linux/kernel_space/OsalCryptoInterface.c |
30 | index 483aef2..a150a86 100644 | 30 | index de24fa0..96c29c0 100644 |
31 | --- a/quickassist/utilities/osal/src/linux/kernel_space/OsalCryptoInterface.c | 31 | --- a/quickassist/utilities/osal/src/linux/kernel_space/OsalCryptoInterface.c |
32 | +++ b/quickassist/utilities/osal/src/linux/kernel_space/OsalCryptoInterface.c | 32 | +++ b/quickassist/utilities/osal/src/linux/kernel_space/OsalCryptoInterface.c |
33 | @@ -66,6 +66,11 @@ | 33 | @@ -75,6 +75,11 @@ |
34 | 34 | #else | |
35 | #include "Osal.h" | 35 | #include <crypto/sha.h> |
36 | #include <linux/crypto.h> | 36 | #endif |
37 | +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,12,0)) | 37 | +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,12,0)) |
38 | +#include <crypto/internal/cipher.h> | 38 | +#include <crypto/internal/cipher.h> |
39 | +#include <linux/module.h> | 39 | +#include <linux/module.h> |
40 | +MODULE_IMPORT_NS(CRYPTO_INTERNAL); | 40 | +MODULE_IMPORT_NS(CRYPTO_INTERNAL); |
41 | +#endif | 41 | +#endif |
42 | #if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,11,0)) | 42 | |
43 | #include <crypto/sha1.h> | 43 | #define OSAL_MAX_SHASH_DECSIZE 512 |
44 | #include <crypto/sha2.h> | 44 | |
45 | -- | 45 | -- |
46 | 2.29.2 | 46 | 2.14.5 |
47 | 47 | ||
diff --git a/recipes-extended/qat/files/qat17_4.7.0-00006-Drop-pr_warning-definition.patch b/recipes-extended/qat/files/qat17_4.7.0-00006-Drop-pr_warning-definition.patch deleted file mode 100644 index 6b816df..0000000 --- a/recipes-extended/qat/files/qat17_4.7.0-00006-Drop-pr_warning-definition.patch +++ /dev/null | |||
@@ -1,31 +0,0 @@ | |||
1 | From 058673d6798b835dce7f27fe172b7727bbaf30cf Mon Sep 17 00:00:00 2001 | ||
2 | From: Yongxin Liu <yongxin.liu@windriver.com> | ||
3 | Date: Wed, 15 Jan 2020 15:25:15 +0000 | ||
4 | Subject: [PATCH] qat: Drop pr_warning definition | ||
5 | |||
6 | In mainline kernel commit 61ff72f40168 ("printk: Drop pr_warning | ||
7 | definition"), pr_warning was dropped. | ||
8 | |||
9 | Upstream-Status: Inappropriate [Code released in tarball form only] | ||
10 | |||
11 | Signed-off-by: Yongxin Liu <yongxin.liu@windriver.com> | ||
12 | --- | ||
13 | quickassist/utilities/libusdm_drv/linux/include/qae_mem_utils.h | 2 +- | ||
14 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
15 | |||
16 | diff --git a/quickassist/utilities/libusdm_drv/linux/include/qae_mem_utils.h b/quickassist/utilities/libusdm_drv/linux/include/qae_mem_utils.h | ||
17 | index f4a56dc..d88e762 100644 | ||
18 | --- a/quickassist/utilities/libusdm_drv/linux/include/qae_mem_utils.h | ||
19 | +++ b/quickassist/utilities/libusdm_drv/linux/include/qae_mem_utils.h | ||
20 | @@ -93,7 +93,7 @@ MALLOC_DECLARE(M_QAE_MEM); | ||
21 | |||
22 | #define mm_info(...) pr_info(USDM_MOD __VA_ARGS__) | ||
23 | |||
24 | -#define mm_warning(...) pr_warning(USDM_MOD __VA_ARGS__) | ||
25 | +#define mm_warning(...) pr_warn(USDM_MOD __VA_ARGS__) | ||
26 | |||
27 | /*define types which need to vary between 32 and 64 bit*/ | ||
28 | #define QAE_PAGE_SHIFT 12 | ||
29 | -- | ||
30 | 2.24.1 | ||
31 | |||
diff --git a/recipes-extended/qat/files/qat17_4.7.0-00006-Link-driver-with-object-files.patch b/recipes-extended/qat/files/qat17_4.7.0-00006-Link-driver-with-object-files.patch deleted file mode 100644 index 0780426..0000000 --- a/recipes-extended/qat/files/qat17_4.7.0-00006-Link-driver-with-object-files.patch +++ /dev/null | |||
@@ -1,91 +0,0 @@ | |||
1 | From 555a4b3605e983e492f8c67e38a094933bc7efcd Mon Sep 17 00:00:00 2001 | ||
2 | From: Yongxin Liu <yongxin.liu@windriver.com> | ||
3 | Date: Mon, 6 Jan 2020 09:26:39 +0800 | ||
4 | Subject: [PATCH] qat: Link driver with object files instead of archived files | ||
5 | |||
6 | Due to mainline kernel commit 69ea912fda7 ("kbuild: remove unneeded | ||
7 | link_multi_deps"), modules cannot link *.a archives. So change .a to | ||
8 | .o files. | ||
9 | |||
10 | Upstream-Status: Inappropriate [Temporary workaround for kernel later than | ||
11 | v4.19-rc3] | ||
12 | |||
13 | Signed-off-by: Yongxin Liu <yongxin.liu@windriver.com> | ||
14 | |||
15 | --- | ||
16 | quickassist/Makefile | 2 ++ | ||
17 | .../lookaside/access_layer/src/Makefile | 21 +++++++++---------- | ||
18 | 2 files changed, 12 insertions(+), 11 deletions(-) | ||
19 | |||
20 | diff --git a/quickassist/Makefile b/quickassist/Makefile | ||
21 | index 70a4353..5f6ee46 100644 | ||
22 | --- a/quickassist/Makefile | ||
23 | +++ b/quickassist/Makefile | ||
24 | @@ -154,6 +154,7 @@ libosal_kernel: clean output_dir lac_lib_dir | ||
25 | echo ; echo 'Copying OSAL library'; | ||
26 | cp $(OSAL_PATH)/src/linux/kernel_space/build/linux_2.6/kernel_space/libosal.a $(ICP_BUILD_OUTPUT)/libosal_kernel.a; | ||
27 | cp $(OSAL_PATH)/src/linux/kernel_space/build/linux_2.6/kernel_space/libosal.a $(LAC_LIB_DIR)/; | ||
28 | + cp $(OSAL_PATH)/src/linux/kernel_space/build/linux_2.6/kernel_space/*.o $(LAC_LIB_DIR)/; | ||
29 | |||
30 | |||
31 | #build linux qat_direct layer | ||
32 | @@ -169,6 +170,7 @@ qat_kernel: clean output_dir lac_lib_dir libosal_kernel cmn_ko | ||
33 | echo ; echo 'Copying qat_kernel library'; | ||
34 | cp $(KERNEL_PATH)/src/build/linux_2.6/kernel_space/libadf_kernel.a $(ICP_BUILD_OUTPUT)/; | ||
35 | cp $(KERNEL_PATH)/src/build/linux_2.6/kernel_space/libadf_kernel.a $(LAC_LIB_DIR)/; | ||
36 | + cp $(KERNEL_PATH)/src/build/linux_2.6/kernel_space/*.o $(LAC_LIB_DIR)/; | ||
37 | |||
38 | |||
39 | lac_user: clean output_dir qat_direct libosal_user cmn_user cmn_ko | ||
40 | diff --git a/quickassist/lookaside/access_layer/src/Makefile b/quickassist/lookaside/access_layer/src/Makefile | ||
41 | index cc8cf2f..b8ec93c 100644 | ||
42 | --- a/quickassist/lookaside/access_layer/src/Makefile | ||
43 | +++ b/quickassist/lookaside/access_layer/src/Makefile | ||
44 | @@ -112,13 +112,13 @@ LIB_STATIC=$(OUTPUT_NAME).a | ||
45 | LIB_SHARED=$(OUTPUT_NAME).so | ||
46 | |||
47 | # add the path and list of source libraries, | ||
48 | -ADDITIONAL_KERNEL_LIBS= common/utils/$(ICP_BUILD_OUTPUT_DIR)/utils.a \ | ||
49 | - common/ctrl/$(ICP_BUILD_OUTPUT_DIR)/init.a \ | ||
50 | - common/compression/$(ICP_BUILD_OUTPUT_DIR)/compression.a | ||
51 | +ADDITIONAL_KERNEL_LIBS= common/utils/$(ICP_BUILD_OUTPUT_DIR)/*.o \ | ||
52 | + common/ctrl/$(ICP_BUILD_OUTPUT_DIR)/*.o \ | ||
53 | + common/compression/$(ICP_BUILD_OUTPUT_DIR)/*.o | ||
54 | ifndef ICP_DC_ONLY | ||
55 | -ADDITIONAL_KERNEL_LIBS += common/crypto/sym/$(ICP_BUILD_OUTPUT_DIR)/sym.a \ | ||
56 | - common/crypto/sym/qat/$(ICP_BUILD_OUTPUT_DIR)/sym_qat.a \ | ||
57 | - common/crypto/sym/key/$(ICP_BUILD_OUTPUT_DIR)/sym_key.a | ||
58 | +ADDITIONAL_KERNEL_LIBS += common/crypto/sym/$(ICP_BUILD_OUTPUT_DIR)/*.o \ | ||
59 | + common/crypto/sym/qat/$(ICP_BUILD_OUTPUT_DIR)/*.o \ | ||
60 | + common/crypto/sym/key/$(ICP_BUILD_OUTPUT_DIR)/*.o | ||
61 | ifeq ($(ICP_OS_LEVEL), user_space) | ||
62 | ADDITIONAL_KERNEL_LIBS += common/crypto/asym/pke_common/$(ICP_BUILD_OUTPUT_DIR)/pke_common.a \ | ||
63 | common/crypto/asym/diffie_hellman/$(ICP_BUILD_OUTPUT_DIR)/diffie_hellman.a \ | ||
64 | @@ -128,14 +128,14 @@ ADDITIONAL_KERNEL_LIBS += common/crypto/asym/pke_common/$(ICP_BUILD_OUTPUT_DIR)/ | ||
65 | common/crypto/asym/large_number/$(ICP_BUILD_OUTPUT_DIR)/ln.a \ | ||
66 | common/crypto/asym/ecc/$(ICP_BUILD_OUTPUT_DIR)/elliptic_curve.a | ||
67 | else | ||
68 | -ADDITIONAL_KERNEL_LIBS += common/stubs/$(ICP_BUILD_OUTPUT_DIR)/lib_lac_stubs.a | ||
69 | +ADDITIONAL_KERNEL_LIBS += common/stubs/$(ICP_BUILD_OUTPUT_DIR)/*.o | ||
70 | endif | ||
71 | else | ||
72 | ifeq ($(ICP_OS_LEVEL), kernel_space) | ||
73 | -ADDITIONAL_KERNEL_LIBS += common/stubs/$(ICP_BUILD_OUTPUT_DIR)/lib_lac_stubs.a | ||
74 | +ADDITIONAL_KERNEL_LIBS += common/stubs/$(ICP_BUILD_OUTPUT_DIR)/*.o | ||
75 | endif | ||
76 | endif | ||
77 | -ADDITIONAL_KERNEL_LIBS += common/qat_comms/$(ICP_BUILD_OUTPUT_DIR)/qat_comms.a | ||
78 | +ADDITIONAL_KERNEL_LIBS += common/qat_comms/$(ICP_BUILD_OUTPUT_DIR)/*.o | ||
79 | |||
80 | ifeq ($(ICP_OS_LEVEL), user_space) | ||
81 | ifdef KPT | ||
82 | @@ -145,8 +145,7 @@ endif | ||
83 | endif | ||
84 | |||
85 | ifeq ($(ICP_OS_LEVEL), kernel_space) | ||
86 | - ADDITIONAL_OBJECTS = ../build/libs/libadf_kernel.a | ||
87 | - ADDITIONAL_OBJECTS += ../build/libs/libosal.a | ||
88 | + ADDITIONAL_OBJECTS += ../build/libs/*.o | ||
89 | endif | ||
90 | |||
91 | ifeq ($(ICP_OS_LEVEL), user_space) | ||
diff --git a/recipes-extended/qat/files/qat17_4.7.0-00006-Switch-to-skcipher-API.patch b/recipes-extended/qat/files/qat17_4.7.0-00006-Switch-to-skcipher-API.patch deleted file mode 100644 index aa2f890..0000000 --- a/recipes-extended/qat/files/qat17_4.7.0-00006-Switch-to-skcipher-API.patch +++ /dev/null | |||
@@ -1,1158 +0,0 @@ | |||
1 | From d12ae3d48d429e24ad4b0f219a16e09af8da3b1a Mon Sep 17 00:00:00 2001 | ||
2 | From: Yongxin Liu <yongxin.liu@windriver.com> | ||
3 | Date: Thu, 28 Jan 2021 10:02:22 +0000 | ||
4 | Subject: [PATCH] qat: Switch to skcipher API | ||
5 | |||
6 | The patch is derived from mainline kernel commit 7fe948a52287 | ||
7 | ("crypto: qat - switch to skcipher API"). | ||
8 | |||
9 | Upstream-Status: Inappropriate [Code released in tarball form only] | ||
10 | |||
11 | Signed-off-by: Yongxin Liu <yongxin.liu@windriver.com> | ||
12 | --- | ||
13 | .../drivers/crypto/qat/qat_common/qat_algs.c | 674 ++++++++++-------- | ||
14 | .../crypto/qat/qat_common/qat_crypto.h | 6 +- | ||
15 | 2 files changed, 394 insertions(+), 286 deletions(-) | ||
16 | |||
17 | diff --git a/quickassist/qat/drivers/crypto/qat/qat_common/qat_algs.c b/quickassist/qat/drivers/crypto/qat/qat_common/qat_algs.c | ||
18 | index a7961a4..f600ad3 100644 | ||
19 | --- a/quickassist/qat/drivers/crypto/qat/qat_common/qat_algs.c | ||
20 | +++ b/quickassist/qat/drivers/crypto/qat/qat_common/qat_algs.c | ||
21 | @@ -49,6 +49,7 @@ | ||
22 | #include <linux/slab.h> | ||
23 | #include <linux/crypto.h> | ||
24 | #include <crypto/internal/aead.h> | ||
25 | +#include <crypto/internal/skcipher.h> | ||
26 | #include <crypto/aes.h> | ||
27 | #if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,11,0)) | ||
28 | #include <crypto/sha1.h> | ||
29 | @@ -57,6 +58,7 @@ | ||
30 | #include <crypto/sha.h> | ||
31 | #endif | ||
32 | #include <crypto/hash.h> | ||
33 | +#include <crypto/hmac.h> | ||
34 | #include <crypto/algapi.h> | ||
35 | #include <crypto/authenc.h> | ||
36 | #include <linux/dma-mapping.h> | ||
37 | @@ -118,11 +120,16 @@ struct qat_alg_aead_ctx { | ||
38 | struct crypto_shash *hash_tfm; | ||
39 | enum icp_qat_hw_auth_algo qat_hash_alg; | ||
40 | struct qat_crypto_instance *inst; | ||
41 | - char ipad[SHA512_BLOCK_SIZE]; | ||
42 | + union { | ||
43 | + struct sha1_state sha1; | ||
44 | + struct sha256_state sha256; | ||
45 | + struct sha512_state sha512; | ||
46 | + }; | ||
47 | + char ipad[SHA512_BLOCK_SIZE]; /* sufficient for SHA-1/SHA-256 as well */ | ||
48 | char opad[SHA512_BLOCK_SIZE]; | ||
49 | }; | ||
50 | |||
51 | -struct qat_alg_ablkcipher_ctx { | ||
52 | +struct qat_alg_skcipher_ctx { | ||
53 | struct icp_qat_hw_cipher_algo_blk *enc_cd; | ||
54 | struct icp_qat_hw_cipher_algo_blk *dec_cd; | ||
55 | dma_addr_t enc_cd_paddr; | ||
56 | @@ -130,7 +137,7 @@ struct qat_alg_ablkcipher_ctx { | ||
57 | struct icp_qat_fw_la_bulk_req enc_fw_req; | ||
58 | struct icp_qat_fw_la_bulk_req dec_fw_req; | ||
59 | struct qat_crypto_instance *inst; | ||
60 | - struct crypto_tfm *tfm; | ||
61 | + struct crypto_skcipher *tfm; | ||
62 | }; | ||
63 | |||
64 | static int qat_get_inter_state_size(enum icp_qat_hw_auth_algo qat_hash_alg) | ||
65 | @@ -154,9 +161,6 @@ static int qat_alg_do_precomputes(struct icp_qat_hw_auth_algo_blk *hash, | ||
66 | unsigned int auth_keylen) | ||
67 | { | ||
68 | SHASH_DESC_ON_STACK(shash, ctx->hash_tfm); | ||
69 | - struct sha1_state sha1; | ||
70 | - struct sha256_state sha256; | ||
71 | - struct sha512_state sha512; | ||
72 | int block_size = crypto_shash_blocksize(ctx->hash_tfm); | ||
73 | int digest_size = crypto_shash_digestsize(ctx->hash_tfm); | ||
74 | __be32 *hash_state_out; | ||
75 | @@ -165,7 +169,6 @@ static int qat_alg_do_precomputes(struct icp_qat_hw_auth_algo_blk *hash, | ||
76 | |||
77 | memset(ctx->ipad, 0, block_size); | ||
78 | memset(ctx->opad, 0, block_size); | ||
79 | - memset(shash, 0, sizeof(struct shash_desc)); | ||
80 | shash->tfm = ctx->hash_tfm; | ||
81 | |||
82 | if (auth_keylen > block_size) { | ||
83 | @@ -183,8 +186,8 @@ static int qat_alg_do_precomputes(struct icp_qat_hw_auth_algo_blk *hash, | ||
84 | for (i = 0; i < block_size; i++) { | ||
85 | char *ipad_ptr = ctx->ipad + i; | ||
86 | char *opad_ptr = ctx->opad + i; | ||
87 | - *ipad_ptr ^= 0x36; | ||
88 | - *opad_ptr ^= 0x5C; | ||
89 | + *ipad_ptr ^= HMAC_IPAD_VALUE; | ||
90 | + *opad_ptr ^= HMAC_OPAD_VALUE; | ||
91 | } | ||
92 | |||
93 | if (crypto_shash_init(shash)) | ||
94 | @@ -198,22 +201,22 @@ static int qat_alg_do_precomputes(struct icp_qat_hw_auth_algo_blk *hash, | ||
95 | |||
96 | switch (ctx->qat_hash_alg) { | ||
97 | case ICP_QAT_HW_AUTH_ALGO_SHA1: | ||
98 | - if (crypto_shash_export(shash, &sha1)) | ||
99 | + if (crypto_shash_export(shash, &ctx->sha1)) | ||
100 | return -EFAULT; | ||
101 | for (i = 0; i < digest_size >> 2; i++, hash_state_out++) | ||
102 | - *hash_state_out = cpu_to_be32(*(sha1.state + i)); | ||
103 | + *hash_state_out = cpu_to_be32(ctx->sha1.state[i]); | ||
104 | break; | ||
105 | case ICP_QAT_HW_AUTH_ALGO_SHA256: | ||
106 | - if (crypto_shash_export(shash, &sha256)) | ||
107 | + if (crypto_shash_export(shash, &ctx->sha256)) | ||
108 | return -EFAULT; | ||
109 | for (i = 0; i < digest_size >> 2; i++, hash_state_out++) | ||
110 | - *hash_state_out = cpu_to_be32(*(sha256.state + i)); | ||
111 | + *hash_state_out = cpu_to_be32(ctx->sha256.state[i]); | ||
112 | break; | ||
113 | case ICP_QAT_HW_AUTH_ALGO_SHA512: | ||
114 | - if (crypto_shash_export(shash, &sha512)) | ||
115 | + if (crypto_shash_export(shash, &ctx->sha512)) | ||
116 | return -EFAULT; | ||
117 | for (i = 0; i < digest_size >> 3; i++, hash512_state_out++) | ||
118 | - *hash512_state_out = cpu_to_be64(*(sha512.state + i)); | ||
119 | + *hash512_state_out = cpu_to_be64(ctx->sha512.state[i]); | ||
120 | break; | ||
121 | default: | ||
122 | return -EFAULT; | ||
123 | @@ -234,22 +237,22 @@ static int qat_alg_do_precomputes(struct icp_qat_hw_auth_algo_blk *hash, | ||
124 | |||
125 | switch (ctx->qat_hash_alg) { | ||
126 | case ICP_QAT_HW_AUTH_ALGO_SHA1: | ||
127 | - if (crypto_shash_export(shash, &sha1)) | ||
128 | + if (crypto_shash_export(shash, &ctx->sha1)) | ||
129 | return -EFAULT; | ||
130 | for (i = 0; i < digest_size >> 2; i++, hash_state_out++) | ||
131 | - *hash_state_out = cpu_to_be32(*(sha1.state + i)); | ||
132 | + *hash_state_out = cpu_to_be32(ctx->sha1.state[i]); | ||
133 | break; | ||
134 | case ICP_QAT_HW_AUTH_ALGO_SHA256: | ||
135 | - if (crypto_shash_export(shash, &sha256)) | ||
136 | + if (crypto_shash_export(shash, &ctx->sha256)) | ||
137 | return -EFAULT; | ||
138 | for (i = 0; i < digest_size >> 2; i++, hash_state_out++) | ||
139 | - *hash_state_out = cpu_to_be32(*(sha256.state + i)); | ||
140 | + *hash_state_out = cpu_to_be32(ctx->sha256.state[i]); | ||
141 | break; | ||
142 | case ICP_QAT_HW_AUTH_ALGO_SHA512: | ||
143 | - if (crypto_shash_export(shash, &sha512)) | ||
144 | + if (crypto_shash_export(shash, &ctx->sha512)) | ||
145 | return -EFAULT; | ||
146 | for (i = 0; i < digest_size >> 3; i++, hash512_state_out++) | ||
147 | - *hash512_state_out = cpu_to_be64(*(sha512.state + i)); | ||
148 | + *hash512_state_out = cpu_to_be64(ctx->sha512.state[i]); | ||
149 | break; | ||
150 | default: | ||
151 | return -EFAULT; | ||
152 | @@ -259,7 +262,24 @@ static int qat_alg_do_precomputes(struct icp_qat_hw_auth_algo_blk *hash, | ||
153 | return 0; | ||
154 | } | ||
155 | |||
156 | -static void qat_alg_init_common_hdr(struct icp_qat_fw_comn_req_hdr *header) | ||
157 | +static void qat_alg_init_hdr_iv_updt(struct icp_qat_fw_comn_req_hdr *header) | ||
158 | +{ | ||
159 | + ICP_QAT_FW_LA_CIPH_IV_FLD_FLAG_SET(header->serv_specif_flags, | ||
160 | + ICP_QAT_FW_CIPH_IV_64BIT_PTR); | ||
161 | + ICP_QAT_FW_LA_UPDATE_STATE_SET(header->serv_specif_flags, | ||
162 | + ICP_QAT_FW_LA_UPDATE_STATE); | ||
163 | +} | ||
164 | + | ||
165 | +static void qat_alg_init_hdr_no_iv_updt(struct icp_qat_fw_comn_req_hdr *header) | ||
166 | +{ | ||
167 | + ICP_QAT_FW_LA_CIPH_IV_FLD_FLAG_SET(header->serv_specif_flags, | ||
168 | + ICP_QAT_FW_CIPH_IV_16BYTE_DATA); | ||
169 | + ICP_QAT_FW_LA_UPDATE_STATE_SET(header->serv_specif_flags, | ||
170 | + ICP_QAT_FW_LA_NO_UPDATE_STATE); | ||
171 | +} | ||
172 | + | ||
173 | +static void qat_alg_init_common_hdr(struct icp_qat_fw_comn_req_hdr *header, | ||
174 | + int aead) | ||
175 | { | ||
176 | header->hdr_flags = | ||
177 | ICP_QAT_FW_COMN_HDR_FLAGS_BUILD(ICP_QAT_FW_COMN_REQ_FLAG_SET); | ||
178 | @@ -269,12 +289,12 @@ static void qat_alg_init_common_hdr(struct icp_qat_fw_comn_req_hdr *header) | ||
179 | QAT_COMN_PTR_TYPE_SGL); | ||
180 | ICP_QAT_FW_LA_PARTIAL_SET(header->serv_specif_flags, | ||
181 | ICP_QAT_FW_LA_PARTIAL_NONE); | ||
182 | - ICP_QAT_FW_LA_CIPH_IV_FLD_FLAG_SET(header->serv_specif_flags, | ||
183 | - ICP_QAT_FW_CIPH_IV_16BYTE_DATA); | ||
184 | + if (aead) | ||
185 | + qat_alg_init_hdr_no_iv_updt(header); | ||
186 | + else | ||
187 | + qat_alg_init_hdr_iv_updt(header); | ||
188 | ICP_QAT_FW_LA_PROTO_SET(header->serv_specif_flags, | ||
189 | ICP_QAT_FW_LA_NO_PROTO); | ||
190 | - ICP_QAT_FW_LA_UPDATE_STATE_SET(header->serv_specif_flags, | ||
191 | - ICP_QAT_FW_LA_NO_UPDATE_STATE); | ||
192 | } | ||
193 | |||
194 | static int qat_alg_aead_init_enc_session(struct crypto_aead *aead_tfm, | ||
195 | @@ -309,7 +329,7 @@ static int qat_alg_aead_init_enc_session(struct crypto_aead *aead_tfm, | ||
196 | return -EFAULT; | ||
197 | |||
198 | /* Request setup */ | ||
199 | - qat_alg_init_common_hdr(header); | ||
200 | + qat_alg_init_common_hdr(header, 1); | ||
201 | header->service_cmd_id = ICP_QAT_FW_LA_CMD_CIPHER_HASH; | ||
202 | ICP_QAT_FW_LA_DIGEST_IN_BUFFER_SET(header->serv_specif_flags, | ||
203 | ICP_QAT_FW_LA_DIGEST_IN_BUFFER); | ||
204 | @@ -396,7 +416,7 @@ static int qat_alg_aead_init_dec_session(struct crypto_aead *aead_tfm, | ||
205 | return -EFAULT; | ||
206 | |||
207 | /* Request setup */ | ||
208 | - qat_alg_init_common_hdr(header); | ||
209 | + qat_alg_init_common_hdr(header, 1); | ||
210 | header->service_cmd_id = ICP_QAT_FW_LA_CMD_HASH_CIPHER; | ||
211 | ICP_QAT_FW_LA_DIGEST_IN_BUFFER_SET(header->serv_specif_flags, | ||
212 | ICP_QAT_FW_LA_DIGEST_IN_BUFFER); | ||
213 | @@ -450,17 +470,17 @@ static int qat_alg_aead_init_dec_session(struct crypto_aead *aead_tfm, | ||
214 | return 0; | ||
215 | } | ||
216 | |||
217 | -static void qat_alg_ablkcipher_init_com(struct qat_alg_ablkcipher_ctx *ctx, | ||
218 | - struct icp_qat_fw_la_bulk_req *req, | ||
219 | - struct icp_qat_hw_cipher_algo_blk *cd, | ||
220 | - const uint8_t *key, unsigned int keylen) | ||
221 | +static void qat_alg_skcipher_init_com(struct qat_alg_skcipher_ctx *ctx, | ||
222 | + struct icp_qat_fw_la_bulk_req *req, | ||
223 | + struct icp_qat_hw_cipher_algo_blk *cd, | ||
224 | + const uint8_t *key, unsigned int keylen) | ||
225 | { | ||
226 | struct icp_qat_fw_comn_req_hdr_cd_pars *cd_pars = &req->cd_pars; | ||
227 | struct icp_qat_fw_comn_req_hdr *header = &req->comn_hdr; | ||
228 | struct icp_qat_fw_cipher_cd_ctrl_hdr *cd_ctrl = (void *)&req->cd_ctrl; | ||
229 | |||
230 | memcpy(cd->aes.key, key, keylen); | ||
231 | - qat_alg_init_common_hdr(header); | ||
232 | + qat_alg_init_common_hdr(header, 0); | ||
233 | header->service_cmd_id = ICP_QAT_FW_LA_CMD_CIPHER; | ||
234 | cd_pars->u.s.content_desc_params_sz = | ||
235 | sizeof(struct icp_qat_hw_cipher_algo_blk) >> 3; | ||
236 | @@ -472,28 +492,28 @@ static void qat_alg_ablkcipher_init_com(struct qat_alg_ablkcipher_ctx *ctx, | ||
237 | ICP_QAT_FW_COMN_NEXT_ID_SET(cd_ctrl, ICP_QAT_FW_SLICE_DRAM_WR); | ||
238 | } | ||
239 | |||
240 | -static void qat_alg_ablkcipher_init_enc(struct qat_alg_ablkcipher_ctx *ctx, | ||
241 | - int alg, const uint8_t *key, | ||
242 | - unsigned int keylen, int mode) | ||
243 | +static void qat_alg_skcipher_init_enc(struct qat_alg_skcipher_ctx *ctx, | ||
244 | + int alg, const uint8_t *key, | ||
245 | + unsigned int keylen, int mode) | ||
246 | { | ||
247 | struct icp_qat_hw_cipher_algo_blk *enc_cd = ctx->enc_cd; | ||
248 | struct icp_qat_fw_la_bulk_req *req = &ctx->enc_fw_req; | ||
249 | struct icp_qat_fw_comn_req_hdr_cd_pars *cd_pars = &req->cd_pars; | ||
250 | |||
251 | - qat_alg_ablkcipher_init_com(ctx, req, enc_cd, key, keylen); | ||
252 | + qat_alg_skcipher_init_com(ctx, req, enc_cd, key, keylen); | ||
253 | cd_pars->u.s.content_desc_addr = ctx->enc_cd_paddr; | ||
254 | enc_cd->aes.cipher_config.val = QAT_AES_HW_CONFIG_ENC(alg, mode); | ||
255 | } | ||
256 | |||
257 | -static void qat_alg_ablkcipher_init_dec(struct qat_alg_ablkcipher_ctx *ctx, | ||
258 | - int alg, const uint8_t *key, | ||
259 | - unsigned int keylen, int mode) | ||
260 | +static void qat_alg_skcipher_init_dec(struct qat_alg_skcipher_ctx *ctx, | ||
261 | + int alg, const uint8_t *key, | ||
262 | + unsigned int keylen, int mode) | ||
263 | { | ||
264 | struct icp_qat_hw_cipher_algo_blk *dec_cd = ctx->dec_cd; | ||
265 | struct icp_qat_fw_la_bulk_req *req = &ctx->dec_fw_req; | ||
266 | struct icp_qat_fw_comn_req_hdr_cd_pars *cd_pars = &req->cd_pars; | ||
267 | |||
268 | - qat_alg_ablkcipher_init_com(ctx, req, dec_cd, key, keylen); | ||
269 | + qat_alg_skcipher_init_com(ctx, req, dec_cd, key, keylen); | ||
270 | cd_pars->u.s.content_desc_addr = ctx->dec_cd_paddr; | ||
271 | |||
272 | if (mode != ICP_QAT_HW_CIPHER_CTR_MODE) | ||
273 | @@ -553,86 +573,110 @@ static int qat_alg_aead_init_sessions(struct crypto_aead *tfm, const u8 *key, | ||
274 | if (qat_alg_aead_init_dec_session(tfm, alg, &keys, mode)) | ||
275 | goto error; | ||
276 | |||
277 | + memzero_explicit(&keys, sizeof(keys)); | ||
278 | return 0; | ||
279 | bad_key: | ||
280 | crypto_aead_set_flags(tfm, CRYPTO_TFM_RES_BAD_KEY_LEN); | ||
281 | + memzero_explicit(&keys, sizeof(keys)); | ||
282 | return -EINVAL; | ||
283 | error: | ||
284 | + memzero_explicit(&keys, sizeof(keys)); | ||
285 | return -EFAULT; | ||
286 | } | ||
287 | |||
288 | -static int qat_alg_ablkcipher_init_sessions(struct qat_alg_ablkcipher_ctx *ctx, | ||
289 | - const uint8_t *key, | ||
290 | - unsigned int keylen, | ||
291 | - int mode) | ||
292 | +static int qat_alg_skcipher_init_sessions(struct qat_alg_skcipher_ctx *ctx, | ||
293 | + const uint8_t *key, | ||
294 | + unsigned int keylen, | ||
295 | + int mode) | ||
296 | { | ||
297 | int alg; | ||
298 | |||
299 | if (qat_alg_validate_key(keylen, &alg, mode)) | ||
300 | goto bad_key; | ||
301 | |||
302 | - qat_alg_ablkcipher_init_enc(ctx, alg, key, keylen, mode); | ||
303 | - qat_alg_ablkcipher_init_dec(ctx, alg, key, keylen, mode); | ||
304 | + qat_alg_skcipher_init_enc(ctx, alg, key, keylen, mode); | ||
305 | + qat_alg_skcipher_init_dec(ctx, alg, key, keylen, mode); | ||
306 | return 0; | ||
307 | bad_key: | ||
308 | - crypto_tfm_set_flags(ctx->tfm, CRYPTO_TFM_RES_BAD_KEY_LEN); | ||
309 | + crypto_skcipher_set_flags(ctx->tfm, CRYPTO_TFM_RES_BAD_KEY_LEN); | ||
310 | return -EINVAL; | ||
311 | } | ||
312 | |||
313 | -static int qat_alg_aead_setkey(struct crypto_aead *tfm, const uint8_t *key, | ||
314 | +static int qat_alg_aead_rekey(struct crypto_aead *tfm, const uint8_t *key, | ||
315 | + unsigned int keylen) | ||
316 | +{ | ||
317 | + struct qat_alg_aead_ctx *ctx = crypto_aead_ctx(tfm); | ||
318 | + | ||
319 | + memset(ctx->enc_cd, 0, sizeof(*ctx->enc_cd)); | ||
320 | + memset(ctx->dec_cd, 0, sizeof(*ctx->dec_cd)); | ||
321 | + memset(&ctx->enc_fw_req, 0, sizeof(ctx->enc_fw_req)); | ||
322 | + memset(&ctx->dec_fw_req, 0, sizeof(ctx->dec_fw_req)); | ||
323 | + | ||
324 | + return qat_alg_aead_init_sessions(tfm, key, keylen, | ||
325 | + ICP_QAT_HW_CIPHER_CBC_MODE); | ||
326 | +} | ||
327 | + | ||
328 | +static int qat_alg_aead_newkey(struct crypto_aead *tfm, const uint8_t *key, | ||
329 | unsigned int keylen) | ||
330 | { | ||
331 | struct qat_alg_aead_ctx *ctx = crypto_aead_ctx(tfm); | ||
332 | + struct qat_crypto_instance *inst = NULL; | ||
333 | + int node = get_current_node(); | ||
334 | struct device *dev; | ||
335 | + int ret; | ||
336 | |||
337 | - if (ctx->enc_cd) { | ||
338 | - /* rekeying */ | ||
339 | - dev = &GET_DEV(ctx->inst->accel_dev); | ||
340 | - memset(ctx->enc_cd, 0, sizeof(*ctx->enc_cd)); | ||
341 | - memset(ctx->dec_cd, 0, sizeof(*ctx->dec_cd)); | ||
342 | - memset(&ctx->enc_fw_req, 0, sizeof(ctx->enc_fw_req)); | ||
343 | - memset(&ctx->dec_fw_req, 0, sizeof(ctx->dec_fw_req)); | ||
344 | - } else { | ||
345 | - /* new key */ | ||
346 | - int node = get_current_node(); | ||
347 | - struct qat_crypto_instance *inst = | ||
348 | - qat_crypto_get_instance_node(node); | ||
349 | - if (!inst) { | ||
350 | - return -EINVAL; | ||
351 | - } | ||
352 | - | ||
353 | - dev = &GET_DEV(inst->accel_dev); | ||
354 | - ctx->inst = inst; | ||
355 | - ctx->enc_cd = dma_alloc_coherent(dev, sizeof(*ctx->enc_cd), | ||
356 | - &ctx->enc_cd_paddr, | ||
357 | - GFP_ATOMIC); | ||
358 | - if (!ctx->enc_cd) { | ||
359 | - return -ENOMEM; | ||
360 | - } | ||
361 | - ctx->dec_cd = dma_alloc_coherent(dev, sizeof(*ctx->dec_cd), | ||
362 | - &ctx->dec_cd_paddr, | ||
363 | - GFP_ATOMIC); | ||
364 | - if (!ctx->dec_cd) { | ||
365 | - goto out_free_enc; | ||
366 | - } | ||
367 | + inst = qat_crypto_get_instance_node(node); | ||
368 | + if (!inst) | ||
369 | + return -EINVAL; | ||
370 | + dev = &GET_DEV(inst->accel_dev); | ||
371 | + ctx->inst = inst; | ||
372 | + ctx->enc_cd = dma_alloc_coherent(dev, sizeof(*ctx->enc_cd), | ||
373 | + &ctx->enc_cd_paddr, | ||
374 | + GFP_ATOMIC); | ||
375 | + if (!ctx->enc_cd) { | ||
376 | + ret = -ENOMEM; | ||
377 | + goto out_free_inst; | ||
378 | } | ||
379 | - if (qat_alg_aead_init_sessions(tfm, key, keylen, | ||
380 | - ICP_QAT_HW_CIPHER_CBC_MODE)) | ||
381 | + ctx->dec_cd = dma_alloc_coherent(dev, sizeof(*ctx->dec_cd), | ||
382 | + &ctx->dec_cd_paddr, | ||
383 | + GFP_ATOMIC); | ||
384 | + if (!ctx->dec_cd) { | ||
385 | + ret = -ENOMEM; | ||
386 | + goto out_free_enc; | ||
387 | + } | ||
388 | + | ||
389 | + ret = qat_alg_aead_init_sessions(tfm, key, keylen, | ||
390 | + ICP_QAT_HW_CIPHER_CBC_MODE); | ||
391 | + if (ret) | ||
392 | goto out_free_all; | ||
393 | |||
394 | return 0; | ||
395 | |||
396 | out_free_all: | ||
397 | - memzero_explicit(ctx->dec_cd, sizeof(struct qat_alg_cd)); | ||
398 | + memset(ctx->dec_cd, 0, sizeof(struct qat_alg_cd)); | ||
399 | dma_free_coherent(dev, sizeof(struct qat_alg_cd), | ||
400 | ctx->dec_cd, ctx->dec_cd_paddr); | ||
401 | ctx->dec_cd = NULL; | ||
402 | out_free_enc: | ||
403 | - memzero_explicit(ctx->enc_cd, sizeof(struct qat_alg_cd)); | ||
404 | + memset(ctx->enc_cd, 0, sizeof(struct qat_alg_cd)); | ||
405 | dma_free_coherent(dev, sizeof(struct qat_alg_cd), | ||
406 | ctx->enc_cd, ctx->enc_cd_paddr); | ||
407 | ctx->enc_cd = NULL; | ||
408 | - return -ENOMEM; | ||
409 | +out_free_inst: | ||
410 | + ctx->inst = NULL; | ||
411 | + qat_crypto_put_instance(inst); | ||
412 | + return ret; | ||
413 | +} | ||
414 | + | ||
415 | +static int qat_alg_aead_setkey(struct crypto_aead *tfm, const uint8_t *key, | ||
416 | + unsigned int keylen) | ||
417 | +{ | ||
418 | + struct qat_alg_aead_ctx *ctx = crypto_aead_ctx(tfm); | ||
419 | + | ||
420 | + if (ctx->enc_cd) | ||
421 | + return qat_alg_aead_rekey(tfm, key, keylen); | ||
422 | + else | ||
423 | + return qat_alg_aead_newkey(tfm, key, keylen); | ||
424 | } | ||
425 | |||
426 | static void qat_alg_free_bufl(struct qat_crypto_instance *inst, | ||
427 | @@ -680,8 +724,7 @@ static int qat_alg_sgl_to_bufl(struct qat_crypto_instance *inst, | ||
428 | dma_addr_t blp; | ||
429 | dma_addr_t bloutp = 0; | ||
430 | struct scatterlist *sg; | ||
431 | - size_t sz_out, sz = sizeof(struct qat_alg_buf_list) + | ||
432 | - ((1 + n) * sizeof(struct qat_alg_buf)); | ||
433 | + size_t sz_out, sz = struct_size(bufl, bufers, n + 1); | ||
434 | |||
435 | if (unlikely(!n)) | ||
436 | return -EINVAL; | ||
437 | @@ -693,7 +736,7 @@ static int qat_alg_sgl_to_bufl(struct qat_crypto_instance *inst, | ||
438 | |||
439 | blp = dma_map_single(dev, bufl, sz, DMA_TO_DEVICE); | ||
440 | if (unlikely(dma_mapping_error(dev, blp))) | ||
441 | - goto err; | ||
442 | + goto err_in; | ||
443 | |||
444 | for_each_sg(sgl, sg, n, i) { | ||
445 | int y = sg_nctr; | ||
446 | @@ -706,7 +749,7 @@ static int qat_alg_sgl_to_bufl(struct qat_crypto_instance *inst, | ||
447 | DMA_BIDIRECTIONAL); | ||
448 | bufl->bufers[y].len = sg->length; | ||
449 | if (unlikely(dma_mapping_error(dev, bufl->bufers[y].addr))) | ||
450 | - goto err; | ||
451 | + goto err_in; | ||
452 | sg_nctr++; | ||
453 | } | ||
454 | bufl->num_bufs = sg_nctr; | ||
455 | @@ -718,16 +761,15 @@ static int qat_alg_sgl_to_bufl(struct qat_crypto_instance *inst, | ||
456 | struct qat_alg_buf *bufers; | ||
457 | |||
458 | n = sg_nents(sglout); | ||
459 | - sz_out = sizeof(struct qat_alg_buf_list) + | ||
460 | - ((1 + n) * sizeof(struct qat_alg_buf)); | ||
461 | + sz_out = struct_size(buflout, bufers, n + 1); | ||
462 | sg_nctr = 0; | ||
463 | buflout = kzalloc_node(sz_out, GFP_ATOMIC, | ||
464 | dev_to_node(&GET_DEV(inst->accel_dev))); | ||
465 | if (unlikely(!buflout)) | ||
466 | - goto err; | ||
467 | + goto err_in; | ||
468 | bloutp = dma_map_single(dev, buflout, sz_out, DMA_TO_DEVICE); | ||
469 | if (unlikely(dma_mapping_error(dev, bloutp))) | ||
470 | - goto err; | ||
471 | + goto err_out; | ||
472 | bufers = buflout->bufers; | ||
473 | for_each_sg(sglout, sg, n, i) { | ||
474 | int y = sg_nctr; | ||
475 | @@ -739,7 +781,7 @@ static int qat_alg_sgl_to_bufl(struct qat_crypto_instance *inst, | ||
476 | sg->length, | ||
477 | DMA_BIDIRECTIONAL); | ||
478 | if (unlikely(dma_mapping_error(dev, bufers[y].addr))) | ||
479 | - goto err; | ||
480 | + goto err_out; | ||
481 | bufers[y].len = sg->length; | ||
482 | sg_nctr++; | ||
483 | } | ||
484 | @@ -754,8 +796,20 @@ static int qat_alg_sgl_to_bufl(struct qat_crypto_instance *inst, | ||
485 | qat_req->buf.sz_out = 0; | ||
486 | } | ||
487 | return 0; | ||
488 | -err: | ||
489 | - dev_err(dev, "Failed to map buf for dma\n"); | ||
490 | + | ||
491 | +err_out: | ||
492 | + n = sg_nents(sglout); | ||
493 | + for (i = 0; i < n; i++) | ||
494 | + if (!dma_mapping_error(dev, buflout->bufers[i].addr)) | ||
495 | + dma_unmap_single(dev, buflout->bufers[i].addr, | ||
496 | + buflout->bufers[i].len, | ||
497 | + DMA_BIDIRECTIONAL); | ||
498 | + if (!dma_mapping_error(dev, bloutp)) | ||
499 | + dma_unmap_single(dev, bloutp, sz_out, DMA_TO_DEVICE); | ||
500 | + kfree(buflout); | ||
501 | + | ||
502 | +err_in: | ||
503 | + n = sg_nents(sgl); | ||
504 | for (i = 0; i < n; i++) | ||
505 | if (!dma_mapping_error(dev, bufl->bufers[i].addr)) | ||
506 | dma_unmap_single(dev, bufl->bufers[i].addr, | ||
507 | @@ -765,17 +819,8 @@ err: | ||
508 | if (!dma_mapping_error(dev, blp)) | ||
509 | dma_unmap_single(dev, blp, sz, DMA_TO_DEVICE); | ||
510 | kfree(bufl); | ||
511 | - if (sgl != sglout && buflout) { | ||
512 | - n = sg_nents(sglout); | ||
513 | - for (i = 0; i < n; i++) | ||
514 | - if (!dma_mapping_error(dev, buflout->bufers[i].addr)) | ||
515 | - dma_unmap_single(dev, buflout->bufers[i].addr, | ||
516 | - buflout->bufers[i].len, | ||
517 | - DMA_BIDIRECTIONAL); | ||
518 | - if (!dma_mapping_error(dev, bloutp)) | ||
519 | - dma_unmap_single(dev, bloutp, sz_out, DMA_TO_DEVICE); | ||
520 | - kfree(buflout); | ||
521 | - } | ||
522 | + | ||
523 | + dev_err(dev, "Failed to map buf for dma\n"); | ||
524 | return -ENOMEM; | ||
525 | } | ||
526 | |||
527 | @@ -794,19 +839,25 @@ static void qat_aead_alg_callback(struct icp_qat_fw_la_resp *qat_resp, | ||
528 | areq->base.complete(&areq->base, res); | ||
529 | } | ||
530 | |||
531 | -static void qat_ablkcipher_alg_callback(struct icp_qat_fw_la_resp *qat_resp, | ||
532 | - struct qat_crypto_request *qat_req) | ||
533 | +static void qat_skcipher_alg_callback(struct icp_qat_fw_la_resp *qat_resp, | ||
534 | + struct qat_crypto_request *qat_req) | ||
535 | { | ||
536 | - struct qat_alg_ablkcipher_ctx *ctx = qat_req->ablkcipher_ctx; | ||
537 | + struct qat_alg_skcipher_ctx *ctx = qat_req->skcipher_ctx; | ||
538 | struct qat_crypto_instance *inst = ctx->inst; | ||
539 | - struct ablkcipher_request *areq = qat_req->ablkcipher_req; | ||
540 | + struct skcipher_request *sreq = qat_req->skcipher_req; | ||
541 | uint8_t stat_filed = qat_resp->comn_resp.comn_status; | ||
542 | + struct device *dev = &GET_DEV(ctx->inst->accel_dev); | ||
543 | int res = 0, qat_res = ICP_QAT_FW_COMN_RESP_CRYPTO_STAT_GET(stat_filed); | ||
544 | |||
545 | qat_alg_free_bufl(inst, qat_req); | ||
546 | if (unlikely(qat_res != ICP_QAT_FW_COMN_STATUS_FLAG_OK)) | ||
547 | res = -EINVAL; | ||
548 | - areq->base.complete(&areq->base, res); | ||
549 | + | ||
550 | + memcpy(sreq->iv, qat_req->iv, AES_BLOCK_SIZE); | ||
551 | + dma_free_coherent(dev, AES_BLOCK_SIZE, qat_req->iv, | ||
552 | + qat_req->iv_paddr); | ||
553 | + | ||
554 | + sreq->base.complete(&sreq->base, res); | ||
555 | } | ||
556 | |||
557 | void qat_alg_callback(void *resp) | ||
558 | @@ -828,7 +879,7 @@ static int qat_alg_aead_dec(struct aead_request *areq) | ||
559 | struct icp_qat_fw_la_auth_req_params *auth_param; | ||
560 | struct icp_qat_fw_la_bulk_req *msg; | ||
561 | int digst_size = crypto_aead_authsize(aead_tfm); | ||
562 | - int ret; | ||
563 | + int ret, ctr = 0; | ||
564 | |||
565 | ret = qat_alg_sgl_to_bufl(ctx->inst, areq->src, areq->dst, qat_req); | ||
566 | if (unlikely(ret)) | ||
567 | @@ -849,13 +900,14 @@ static int qat_alg_aead_dec(struct aead_request *areq) | ||
568 | auth_param = (void *)((uint8_t *)cipher_param + sizeof(*cipher_param)); | ||
569 | auth_param->auth_off = 0; | ||
570 | auth_param->auth_len = areq->assoclen + cipher_param->cipher_length; | ||
571 | - | ||
572 | do { | ||
573 | ret = adf_send_message(ctx->inst->sym_tx, (uint32_t *)msg); | ||
574 | - if (ret) | ||
575 | - cond_resched(); | ||
576 | - } while (ret == -EAGAIN); | ||
577 | + } while (ret == -EAGAIN && ctr++ < 10); | ||
578 | |||
579 | + if (ret == -EAGAIN) { | ||
580 | + qat_alg_free_bufl(ctx->inst, qat_req); | ||
581 | + return -EBUSY; | ||
582 | + } | ||
583 | return -EINPROGRESS; | ||
584 | } | ||
585 | |||
586 | @@ -869,7 +921,7 @@ static int qat_alg_aead_enc(struct aead_request *areq) | ||
587 | struct icp_qat_fw_la_auth_req_params *auth_param; | ||
588 | struct icp_qat_fw_la_bulk_req *msg; | ||
589 | uint8_t *iv = areq->iv; | ||
590 | - int ret; | ||
591 | + int ret, ctr = 0; | ||
592 | |||
593 | ret = qat_alg_sgl_to_bufl(ctx->inst, areq->src, areq->dst, qat_req); | ||
594 | if (unlikely(ret)) | ||
595 | @@ -895,159 +947,230 @@ static int qat_alg_aead_enc(struct aead_request *areq) | ||
596 | |||
597 | do { | ||
598 | ret = adf_send_message(ctx->inst->sym_tx, (uint32_t *)msg); | ||
599 | - if (ret) | ||
600 | - cond_resched(); | ||
601 | - } while (ret == -EAGAIN); | ||
602 | + } while (ret == -EAGAIN && ctr++ < 10); | ||
603 | |||
604 | + if (ret == -EAGAIN) { | ||
605 | + qat_alg_free_bufl(ctx->inst, qat_req); | ||
606 | + return -EBUSY; | ||
607 | + } | ||
608 | return -EINPROGRESS; | ||
609 | } | ||
610 | |||
611 | -static int qat_alg_ablkcipher_setkey(struct crypto_ablkcipher *tfm, | ||
612 | - const u8 *key, unsigned int keylen, | ||
613 | - int mode) | ||
614 | +static int qat_alg_skcipher_rekey(struct qat_alg_skcipher_ctx *ctx, | ||
615 | + const u8 *key, unsigned int keylen, | ||
616 | + int mode) | ||
617 | { | ||
618 | - struct qat_alg_ablkcipher_ctx *ctx = crypto_ablkcipher_ctx(tfm); | ||
619 | - struct device *dev; | ||
620 | + memset(ctx->enc_cd, 0, sizeof(*ctx->enc_cd)); | ||
621 | + memset(ctx->dec_cd, 0, sizeof(*ctx->dec_cd)); | ||
622 | + memset(&ctx->enc_fw_req, 0, sizeof(ctx->enc_fw_req)); | ||
623 | + memset(&ctx->dec_fw_req, 0, sizeof(ctx->dec_fw_req)); | ||
624 | |||
625 | - if (ctx->enc_cd) { | ||
626 | - /* rekeying */ | ||
627 | - dev = &GET_DEV(ctx->inst->accel_dev); | ||
628 | - memset(ctx->enc_cd, 0, sizeof(*ctx->enc_cd)); | ||
629 | - memset(ctx->dec_cd, 0, sizeof(*ctx->dec_cd)); | ||
630 | - memset(&ctx->enc_fw_req, 0, sizeof(ctx->enc_fw_req)); | ||
631 | - memset(&ctx->dec_fw_req, 0, sizeof(ctx->dec_fw_req)); | ||
632 | - } else { | ||
633 | - /* new key */ | ||
634 | - int node = get_current_node(); | ||
635 | - struct qat_crypto_instance *inst = | ||
636 | - qat_crypto_get_instance_node(node); | ||
637 | - if (!inst) | ||
638 | - return -EINVAL; | ||
639 | + return qat_alg_skcipher_init_sessions(ctx, key, keylen, mode); | ||
640 | +} | ||
641 | + | ||
642 | +static int qat_alg_skcipher_newkey(struct qat_alg_skcipher_ctx *ctx, | ||
643 | + const u8 *key, unsigned int keylen, | ||
644 | + int mode) | ||
645 | +{ | ||
646 | + struct qat_crypto_instance *inst = NULL; | ||
647 | + struct device *dev; | ||
648 | + int node = get_current_node(); | ||
649 | + int ret; | ||
650 | |||
651 | - dev = &GET_DEV(inst->accel_dev); | ||
652 | - ctx->inst = inst; | ||
653 | - ctx->enc_cd = dma_alloc_coherent(dev, sizeof(*ctx->enc_cd), | ||
654 | - &ctx->enc_cd_paddr, | ||
655 | - GFP_ATOMIC); | ||
656 | - if (!ctx->enc_cd) | ||
657 | - return -ENOMEM; | ||
658 | - ctx->dec_cd = dma_alloc_coherent(dev, sizeof(*ctx->dec_cd), | ||
659 | - &ctx->dec_cd_paddr, | ||
660 | - GFP_ATOMIC); | ||
661 | - if (!ctx->dec_cd) | ||
662 | - goto out_free_enc; | ||
663 | + inst = qat_crypto_get_instance_node(node); | ||
664 | + if (!inst) | ||
665 | + return -EINVAL; | ||
666 | + dev = &GET_DEV(inst->accel_dev); | ||
667 | + ctx->inst = inst; | ||
668 | + ctx->enc_cd = dma_alloc_coherent(dev, sizeof(*ctx->enc_cd), | ||
669 | + &ctx->enc_cd_paddr, | ||
670 | + GFP_ATOMIC); | ||
671 | + if (!ctx->enc_cd) { | ||
672 | + ret = -ENOMEM; | ||
673 | + goto out_free_instance; | ||
674 | + } | ||
675 | + ctx->dec_cd = dma_alloc_coherent(dev, sizeof(*ctx->dec_cd), | ||
676 | + &ctx->dec_cd_paddr, | ||
677 | + GFP_ATOMIC); | ||
678 | + if (!ctx->dec_cd) { | ||
679 | + ret = -ENOMEM; | ||
680 | + goto out_free_enc; | ||
681 | } | ||
682 | - if (qat_alg_ablkcipher_init_sessions(ctx, key, keylen, mode)) | ||
683 | + | ||
684 | + ret = qat_alg_skcipher_init_sessions(ctx, key, keylen, mode); | ||
685 | + if (ret) | ||
686 | goto out_free_all; | ||
687 | |||
688 | return 0; | ||
689 | |||
690 | out_free_all: | ||
691 | - memzero_explicit(ctx->dec_cd, sizeof(*ctx->dec_cd)); | ||
692 | + memset(ctx->dec_cd, 0, sizeof(*ctx->dec_cd)); | ||
693 | dma_free_coherent(dev, sizeof(*ctx->dec_cd), | ||
694 | ctx->dec_cd, ctx->dec_cd_paddr); | ||
695 | ctx->dec_cd = NULL; | ||
696 | out_free_enc: | ||
697 | - memzero_explicit(ctx->enc_cd, sizeof(*ctx->enc_cd)); | ||
698 | + memset(ctx->enc_cd, 0, sizeof(*ctx->enc_cd)); | ||
699 | dma_free_coherent(dev, sizeof(*ctx->enc_cd), | ||
700 | ctx->enc_cd, ctx->enc_cd_paddr); | ||
701 | ctx->enc_cd = NULL; | ||
702 | - return -ENOMEM; | ||
703 | +out_free_instance: | ||
704 | + ctx->inst = NULL; | ||
705 | + qat_crypto_put_instance(inst); | ||
706 | + return ret; | ||
707 | } | ||
708 | |||
709 | -static int qat_alg_ablkcipher_cbc_setkey(struct crypto_ablkcipher *tfm, | ||
710 | - const u8 *key, unsigned int keylen) | ||
711 | +static int qat_alg_skcipher_setkey(struct crypto_skcipher *tfm, | ||
712 | + const u8 *key, unsigned int keylen, | ||
713 | + int mode) | ||
714 | { | ||
715 | - return qat_alg_ablkcipher_setkey(tfm, key, keylen, | ||
716 | - ICP_QAT_HW_CIPHER_CBC_MODE); | ||
717 | + struct qat_alg_skcipher_ctx *ctx = crypto_skcipher_ctx(tfm); | ||
718 | + | ||
719 | + if (ctx->enc_cd) | ||
720 | + return qat_alg_skcipher_rekey(ctx, key, keylen, mode); | ||
721 | + else | ||
722 | + return qat_alg_skcipher_newkey(ctx, key, keylen, mode); | ||
723 | +} | ||
724 | + | ||
725 | +static int qat_alg_skcipher_cbc_setkey(struct crypto_skcipher *tfm, | ||
726 | + const u8 *key, unsigned int keylen) | ||
727 | +{ | ||
728 | + return qat_alg_skcipher_setkey(tfm, key, keylen, | ||
729 | + ICP_QAT_HW_CIPHER_CBC_MODE); | ||
730 | } | ||
731 | |||
732 | -static int qat_alg_ablkcipher_ctr_setkey(struct crypto_ablkcipher *tfm, | ||
733 | - const u8 *key, unsigned int keylen) | ||
734 | +static int qat_alg_skcipher_ctr_setkey(struct crypto_skcipher *tfm, | ||
735 | + const u8 *key, unsigned int keylen) | ||
736 | { | ||
737 | - return qat_alg_ablkcipher_setkey(tfm, key, keylen, | ||
738 | - ICP_QAT_HW_CIPHER_CTR_MODE); | ||
739 | + return qat_alg_skcipher_setkey(tfm, key, keylen, | ||
740 | + ICP_QAT_HW_CIPHER_CTR_MODE); | ||
741 | } | ||
742 | |||
743 | -static int qat_alg_ablkcipher_xts_setkey(struct crypto_ablkcipher *tfm, | ||
744 | - const u8 *key, unsigned int keylen) | ||
745 | +static int qat_alg_skcipher_xts_setkey(struct crypto_skcipher *tfm, | ||
746 | + const u8 *key, unsigned int keylen) | ||
747 | { | ||
748 | - return qat_alg_ablkcipher_setkey(tfm, key, keylen, | ||
749 | - ICP_QAT_HW_CIPHER_XTS_MODE); | ||
750 | + return qat_alg_skcipher_setkey(tfm, key, keylen, | ||
751 | + ICP_QAT_HW_CIPHER_XTS_MODE); | ||
752 | } | ||
753 | |||
754 | -static int qat_alg_ablkcipher_encrypt(struct ablkcipher_request *req) | ||
755 | +static int qat_alg_skcipher_encrypt(struct skcipher_request *req) | ||
756 | { | ||
757 | - struct crypto_ablkcipher *atfm = crypto_ablkcipher_reqtfm(req); | ||
758 | - struct crypto_tfm *tfm = crypto_ablkcipher_tfm(atfm); | ||
759 | - struct qat_alg_ablkcipher_ctx *ctx = crypto_tfm_ctx(tfm); | ||
760 | - struct qat_crypto_request *qat_req = ablkcipher_request_ctx(req); | ||
761 | + struct crypto_skcipher *stfm = crypto_skcipher_reqtfm(req); | ||
762 | + struct crypto_tfm *tfm = crypto_skcipher_tfm(stfm); | ||
763 | + struct qat_alg_skcipher_ctx *ctx = crypto_tfm_ctx(tfm); | ||
764 | + struct qat_crypto_request *qat_req = skcipher_request_ctx(req); | ||
765 | struct icp_qat_fw_la_cipher_req_params *cipher_param; | ||
766 | struct icp_qat_fw_la_bulk_req *msg; | ||
767 | - int ret; | ||
768 | + struct device *dev = &GET_DEV(ctx->inst->accel_dev); | ||
769 | + int ret, ctr = 0; | ||
770 | + | ||
771 | + if (req->cryptlen == 0) | ||
772 | + return 0; | ||
773 | + | ||
774 | + qat_req->iv = dma_alloc_coherent(dev, AES_BLOCK_SIZE, | ||
775 | + &qat_req->iv_paddr, GFP_ATOMIC); | ||
776 | + if (!qat_req->iv) | ||
777 | + return -ENOMEM; | ||
778 | |||
779 | ret = qat_alg_sgl_to_bufl(ctx->inst, req->src, req->dst, qat_req); | ||
780 | - if (unlikely(ret)) | ||
781 | + if (unlikely(ret)) { | ||
782 | + dma_free_coherent(dev, AES_BLOCK_SIZE, qat_req->iv, | ||
783 | + qat_req->iv_paddr); | ||
784 | return ret; | ||
785 | + } | ||
786 | |||
787 | msg = &qat_req->req; | ||
788 | *msg = ctx->enc_fw_req; | ||
789 | - qat_req->ablkcipher_ctx = ctx; | ||
790 | - qat_req->ablkcipher_req = req; | ||
791 | - qat_req->cb = qat_ablkcipher_alg_callback; | ||
792 | + qat_req->skcipher_ctx = ctx; | ||
793 | + qat_req->skcipher_req = req; | ||
794 | + qat_req->cb = qat_skcipher_alg_callback; | ||
795 | qat_req->req.comn_mid.opaque_data = (uint64_t)(__force long)qat_req; | ||
796 | qat_req->req.comn_mid.src_data_addr = qat_req->buf.blp; | ||
797 | qat_req->req.comn_mid.dest_data_addr = qat_req->buf.bloutp; | ||
798 | cipher_param = (void *)&qat_req->req.serv_specif_rqpars; | ||
799 | - cipher_param->cipher_length = req->nbytes; | ||
800 | + cipher_param->cipher_length = req->cryptlen; | ||
801 | cipher_param->cipher_offset = 0; | ||
802 | - memcpy(cipher_param->u.cipher_IV_array, req->info, AES_BLOCK_SIZE); | ||
803 | - | ||
804 | + cipher_param->u.s.cipher_IV_ptr = qat_req->iv_paddr; | ||
805 | + memcpy(qat_req->iv, req->iv, AES_BLOCK_SIZE); | ||
806 | do { | ||
807 | ret = adf_send_message(ctx->inst->sym_tx, (uint32_t *)msg); | ||
808 | - if (ret) | ||
809 | - cond_resched(); | ||
810 | - } while (ret == -EAGAIN); | ||
811 | + } while (ret == -EAGAIN && ctr++ < 10); | ||
812 | |||
813 | + if (ret == -EAGAIN) { | ||
814 | + qat_alg_free_bufl(ctx->inst, qat_req); | ||
815 | + dma_free_coherent(dev, AES_BLOCK_SIZE, qat_req->iv, | ||
816 | + qat_req->iv_paddr); | ||
817 | + return -EBUSY; | ||
818 | + } | ||
819 | return -EINPROGRESS; | ||
820 | } | ||
821 | |||
822 | -static int qat_alg_ablkcipher_decrypt(struct ablkcipher_request *req) | ||
823 | +static int qat_alg_skcipher_blk_encrypt(struct skcipher_request *req) | ||
824 | +{ | ||
825 | + if (req->cryptlen % AES_BLOCK_SIZE != 0) | ||
826 | + return -EINVAL; | ||
827 | + | ||
828 | + return qat_alg_skcipher_encrypt(req); | ||
829 | +} | ||
830 | + | ||
831 | +static int qat_alg_skcipher_decrypt(struct skcipher_request *req) | ||
832 | { | ||
833 | - struct crypto_ablkcipher *atfm = crypto_ablkcipher_reqtfm(req); | ||
834 | - struct crypto_tfm *tfm = crypto_ablkcipher_tfm(atfm); | ||
835 | - struct qat_alg_ablkcipher_ctx *ctx = crypto_tfm_ctx(tfm); | ||
836 | - struct qat_crypto_request *qat_req = ablkcipher_request_ctx(req); | ||
837 | + struct crypto_skcipher *stfm = crypto_skcipher_reqtfm(req); | ||
838 | + struct crypto_tfm *tfm = crypto_skcipher_tfm(stfm); | ||
839 | + struct qat_alg_skcipher_ctx *ctx = crypto_tfm_ctx(tfm); | ||
840 | + struct qat_crypto_request *qat_req = skcipher_request_ctx(req); | ||
841 | struct icp_qat_fw_la_cipher_req_params *cipher_param; | ||
842 | struct icp_qat_fw_la_bulk_req *msg; | ||
843 | - int ret; | ||
844 | + struct device *dev = &GET_DEV(ctx->inst->accel_dev); | ||
845 | + int ret, ctr = 0; | ||
846 | + | ||
847 | + if (req->cryptlen == 0) | ||
848 | + return 0; | ||
849 | + | ||
850 | + qat_req->iv = dma_alloc_coherent(dev, AES_BLOCK_SIZE, | ||
851 | + &qat_req->iv_paddr, GFP_ATOMIC); | ||
852 | + if (!qat_req->iv) | ||
853 | + return -ENOMEM; | ||
854 | |||
855 | ret = qat_alg_sgl_to_bufl(ctx->inst, req->src, req->dst, qat_req); | ||
856 | - if (unlikely(ret)) | ||
857 | + if (unlikely(ret)) { | ||
858 | + dma_free_coherent(dev, AES_BLOCK_SIZE, qat_req->iv, | ||
859 | + qat_req->iv_paddr); | ||
860 | return ret; | ||
861 | + } | ||
862 | |||
863 | msg = &qat_req->req; | ||
864 | *msg = ctx->dec_fw_req; | ||
865 | - qat_req->ablkcipher_ctx = ctx; | ||
866 | - qat_req->ablkcipher_req = req; | ||
867 | - qat_req->cb = qat_ablkcipher_alg_callback; | ||
868 | + qat_req->skcipher_ctx = ctx; | ||
869 | + qat_req->skcipher_req = req; | ||
870 | + qat_req->cb = qat_skcipher_alg_callback; | ||
871 | qat_req->req.comn_mid.opaque_data = (uint64_t)(__force long)qat_req; | ||
872 | qat_req->req.comn_mid.src_data_addr = qat_req->buf.blp; | ||
873 | qat_req->req.comn_mid.dest_data_addr = qat_req->buf.bloutp; | ||
874 | cipher_param = (void *)&qat_req->req.serv_specif_rqpars; | ||
875 | - cipher_param->cipher_length = req->nbytes; | ||
876 | + cipher_param->cipher_length = req->cryptlen; | ||
877 | cipher_param->cipher_offset = 0; | ||
878 | - memcpy(cipher_param->u.cipher_IV_array, req->info, AES_BLOCK_SIZE); | ||
879 | - | ||
880 | + cipher_param->u.s.cipher_IV_ptr = qat_req->iv_paddr; | ||
881 | + memcpy(qat_req->iv, req->iv, AES_BLOCK_SIZE); | ||
882 | do { | ||
883 | ret = adf_send_message(ctx->inst->sym_tx, (uint32_t *)msg); | ||
884 | - if (ret) | ||
885 | - cond_resched(); | ||
886 | - } while (ret == -EAGAIN); | ||
887 | + } while (ret == -EAGAIN && ctr++ < 10); | ||
888 | |||
889 | + if (ret == -EAGAIN) { | ||
890 | + qat_alg_free_bufl(ctx->inst, qat_req); | ||
891 | + dma_free_coherent(dev, AES_BLOCK_SIZE, qat_req->iv, | ||
892 | + qat_req->iv_paddr); | ||
893 | + return -EBUSY; | ||
894 | + } | ||
895 | return -EINPROGRESS; | ||
896 | } | ||
897 | |||
898 | +static int qat_alg_skcipher_blk_decrypt(struct skcipher_request *req) | ||
899 | +{ | ||
900 | + if (req->cryptlen % AES_BLOCK_SIZE != 0) | ||
901 | + return -EINVAL; | ||
902 | + | ||
903 | + return qat_alg_skcipher_decrypt(req); | ||
904 | +} | ||
905 | static int qat_alg_aead_init(struct crypto_aead *tfm, | ||
906 | enum icp_qat_hw_auth_algo hash, | ||
907 | const char *hash_name) | ||
908 | @@ -1090,30 +1213,30 @@ static void qat_alg_aead_exit(struct crypto_aead *tfm) | ||
909 | |||
910 | dev = &GET_DEV(inst->accel_dev); | ||
911 | if (ctx->enc_cd) { | ||
912 | - memzero_explicit(ctx->enc_cd, sizeof(struct qat_alg_cd)); | ||
913 | + memset(ctx->enc_cd, 0, sizeof(struct qat_alg_cd)); | ||
914 | dma_free_coherent(dev, sizeof(struct qat_alg_cd), | ||
915 | ctx->enc_cd, ctx->enc_cd_paddr); | ||
916 | } | ||
917 | if (ctx->dec_cd) { | ||
918 | - memzero_explicit(ctx->dec_cd, sizeof(struct qat_alg_cd)); | ||
919 | + memset(ctx->dec_cd, 0, sizeof(struct qat_alg_cd)); | ||
920 | dma_free_coherent(dev, sizeof(struct qat_alg_cd), | ||
921 | ctx->dec_cd, ctx->dec_cd_paddr); | ||
922 | } | ||
923 | qat_crypto_put_instance(inst); | ||
924 | } | ||
925 | |||
926 | -static int qat_alg_ablkcipher_init(struct crypto_tfm *tfm) | ||
927 | +static int qat_alg_skcipher_init_tfm(struct crypto_skcipher *tfm) | ||
928 | { | ||
929 | - struct qat_alg_ablkcipher_ctx *ctx = crypto_tfm_ctx(tfm); | ||
930 | + struct qat_alg_skcipher_ctx *ctx = crypto_skcipher_ctx(tfm); | ||
931 | |||
932 | - tfm->crt_ablkcipher.reqsize = sizeof(struct qat_crypto_request); | ||
933 | + crypto_skcipher_set_reqsize(tfm, sizeof(struct qat_crypto_request)); | ||
934 | ctx->tfm = tfm; | ||
935 | return 0; | ||
936 | } | ||
937 | |||
938 | -static void qat_alg_ablkcipher_exit(struct crypto_tfm *tfm) | ||
939 | +static void qat_alg_skcipher_exit_tfm(struct crypto_skcipher *tfm) | ||
940 | { | ||
941 | - struct qat_alg_ablkcipher_ctx *ctx = crypto_tfm_ctx(tfm); | ||
942 | + struct qat_alg_skcipher_ctx *ctx = crypto_skcipher_ctx(tfm); | ||
943 | struct qat_crypto_instance *inst = ctx->inst; | ||
944 | struct device *dev; | ||
945 | |||
946 | @@ -1122,15 +1245,15 @@ static void qat_alg_ablkcipher_exit(struct crypto_tfm *tfm) | ||
947 | |||
948 | dev = &GET_DEV(inst->accel_dev); | ||
949 | if (ctx->enc_cd) { | ||
950 | - memzero_explicit(ctx->enc_cd, | ||
951 | - sizeof(struct icp_qat_hw_cipher_algo_blk)); | ||
952 | + memset(ctx->enc_cd, 0, | ||
953 | + sizeof(struct icp_qat_hw_cipher_algo_blk)); | ||
954 | dma_free_coherent(dev, | ||
955 | sizeof(struct icp_qat_hw_cipher_algo_blk), | ||
956 | ctx->enc_cd, ctx->enc_cd_paddr); | ||
957 | } | ||
958 | if (ctx->dec_cd) { | ||
959 | - memzero_explicit(ctx->dec_cd, | ||
960 | - sizeof(struct icp_qat_hw_cipher_algo_blk)); | ||
961 | + memset(ctx->dec_cd, 0, | ||
962 | + sizeof(struct icp_qat_hw_cipher_algo_blk)); | ||
963 | dma_free_coherent(dev, | ||
964 | sizeof(struct icp_qat_hw_cipher_algo_blk), | ||
965 | ctx->dec_cd, ctx->dec_cd_paddr); | ||
966 | @@ -1192,92 +1315,75 @@ static struct aead_alg qat_aeads[] = { { | ||
967 | .maxauthsize = SHA512_DIGEST_SIZE, | ||
968 | } }; | ||
969 | |||
970 | -static struct crypto_alg qat_algs[] = { { | ||
971 | - .cra_name = "cbc(aes)", | ||
972 | - .cra_driver_name = "qat_aes_cbc", | ||
973 | - .cra_priority = 4001, | ||
974 | - .cra_flags = CRYPTO_ALG_TYPE_ABLKCIPHER | CRYPTO_ALG_ASYNC, | ||
975 | - .cra_blocksize = AES_BLOCK_SIZE, | ||
976 | - .cra_ctxsize = sizeof(struct qat_alg_ablkcipher_ctx), | ||
977 | - .cra_alignmask = 0, | ||
978 | - .cra_type = &crypto_ablkcipher_type, | ||
979 | - .cra_module = THIS_MODULE, | ||
980 | - .cra_init = qat_alg_ablkcipher_init, | ||
981 | - .cra_exit = qat_alg_ablkcipher_exit, | ||
982 | - .cra_u = { | ||
983 | - .ablkcipher = { | ||
984 | - .setkey = qat_alg_ablkcipher_cbc_setkey, | ||
985 | - .decrypt = qat_alg_ablkcipher_decrypt, | ||
986 | - .encrypt = qat_alg_ablkcipher_encrypt, | ||
987 | - .min_keysize = AES_MIN_KEY_SIZE, | ||
988 | - .max_keysize = AES_MAX_KEY_SIZE, | ||
989 | - .ivsize = AES_BLOCK_SIZE, | ||
990 | - }, | ||
991 | - }, | ||
992 | +static struct skcipher_alg qat_skciphers[] = { { | ||
993 | + .base.cra_name = "cbc(aes)", | ||
994 | + .base.cra_driver_name = "qat_aes_cbc", | ||
995 | + .base.cra_priority = 4001, | ||
996 | + .base.cra_flags = CRYPTO_ALG_ASYNC, | ||
997 | + .base.cra_blocksize = AES_BLOCK_SIZE, | ||
998 | + .base.cra_ctxsize = sizeof(struct qat_alg_skcipher_ctx), | ||
999 | + .base.cra_alignmask = 0, | ||
1000 | + .base.cra_module = THIS_MODULE, | ||
1001 | + | ||
1002 | + .init = qat_alg_skcipher_init_tfm, | ||
1003 | + .exit = qat_alg_skcipher_exit_tfm, | ||
1004 | + .setkey = qat_alg_skcipher_cbc_setkey, | ||
1005 | + .decrypt = qat_alg_skcipher_blk_decrypt, | ||
1006 | + .encrypt = qat_alg_skcipher_blk_encrypt, | ||
1007 | + .min_keysize = AES_MIN_KEY_SIZE, | ||
1008 | + .max_keysize = AES_MAX_KEY_SIZE, | ||
1009 | + .ivsize = AES_BLOCK_SIZE, | ||
1010 | }, { | ||
1011 | - .cra_name = "ctr(aes)", | ||
1012 | - .cra_driver_name = "qat_aes_ctr", | ||
1013 | - .cra_priority = 4001, | ||
1014 | - .cra_flags = CRYPTO_ALG_TYPE_ABLKCIPHER | CRYPTO_ALG_ASYNC, | ||
1015 | - .cra_blocksize = AES_BLOCK_SIZE, | ||
1016 | - .cra_ctxsize = sizeof(struct qat_alg_ablkcipher_ctx), | ||
1017 | - .cra_alignmask = 0, | ||
1018 | - .cra_type = &crypto_ablkcipher_type, | ||
1019 | - .cra_module = THIS_MODULE, | ||
1020 | - .cra_init = qat_alg_ablkcipher_init, | ||
1021 | - .cra_exit = qat_alg_ablkcipher_exit, | ||
1022 | - .cra_u = { | ||
1023 | - .ablkcipher = { | ||
1024 | - .setkey = qat_alg_ablkcipher_ctr_setkey, | ||
1025 | - .decrypt = qat_alg_ablkcipher_decrypt, | ||
1026 | - .encrypt = qat_alg_ablkcipher_encrypt, | ||
1027 | - .min_keysize = AES_MIN_KEY_SIZE, | ||
1028 | - .max_keysize = AES_MAX_KEY_SIZE, | ||
1029 | - .ivsize = AES_BLOCK_SIZE, | ||
1030 | - }, | ||
1031 | - }, | ||
1032 | + .base.cra_name = "ctr(aes)", | ||
1033 | + .base.cra_driver_name = "qat_aes_ctr", | ||
1034 | + .base.cra_priority = 4001, | ||
1035 | + .base.cra_flags = CRYPTO_ALG_ASYNC, | ||
1036 | + .base.cra_blocksize = 1, | ||
1037 | + .base.cra_ctxsize = sizeof(struct qat_alg_skcipher_ctx), | ||
1038 | + .base.cra_alignmask = 0, | ||
1039 | + .base.cra_module = THIS_MODULE, | ||
1040 | + | ||
1041 | + .init = qat_alg_skcipher_init_tfm, | ||
1042 | + .exit = qat_alg_skcipher_exit_tfm, | ||
1043 | + .setkey = qat_alg_skcipher_ctr_setkey, | ||
1044 | + .decrypt = qat_alg_skcipher_decrypt, | ||
1045 | + .encrypt = qat_alg_skcipher_encrypt, | ||
1046 | + .min_keysize = AES_MIN_KEY_SIZE, | ||
1047 | + .max_keysize = AES_MAX_KEY_SIZE, | ||
1048 | + .ivsize = AES_BLOCK_SIZE, | ||
1049 | }, { | ||
1050 | - .cra_name = "xts(aes)", | ||
1051 | - .cra_driver_name = "qat_aes_xts", | ||
1052 | - .cra_priority = 4001, | ||
1053 | - .cra_flags = CRYPTO_ALG_TYPE_ABLKCIPHER | CRYPTO_ALG_ASYNC, | ||
1054 | - .cra_blocksize = AES_BLOCK_SIZE, | ||
1055 | - .cra_ctxsize = sizeof(struct qat_alg_ablkcipher_ctx), | ||
1056 | - .cra_alignmask = 0, | ||
1057 | - .cra_type = &crypto_ablkcipher_type, | ||
1058 | - .cra_module = THIS_MODULE, | ||
1059 | - .cra_init = qat_alg_ablkcipher_init, | ||
1060 | - .cra_exit = qat_alg_ablkcipher_exit, | ||
1061 | - .cra_u = { | ||
1062 | - .ablkcipher = { | ||
1063 | - .setkey = qat_alg_ablkcipher_xts_setkey, | ||
1064 | - .decrypt = qat_alg_ablkcipher_decrypt, | ||
1065 | - .encrypt = qat_alg_ablkcipher_encrypt, | ||
1066 | - .min_keysize = 2 * AES_MIN_KEY_SIZE, | ||
1067 | - .max_keysize = 2 * AES_MAX_KEY_SIZE, | ||
1068 | - .ivsize = AES_BLOCK_SIZE, | ||
1069 | - }, | ||
1070 | - }, | ||
1071 | + .base.cra_name = "xts(aes)", | ||
1072 | + .base.cra_driver_name = "qat_aes_xts", | ||
1073 | + .base.cra_priority = 4001, | ||
1074 | + .base.cra_flags = CRYPTO_ALG_ASYNC, | ||
1075 | + .base.cra_blocksize = AES_BLOCK_SIZE, | ||
1076 | + .base.cra_ctxsize = sizeof(struct qat_alg_skcipher_ctx), | ||
1077 | + .base.cra_alignmask = 0, | ||
1078 | + .base.cra_module = THIS_MODULE, | ||
1079 | + | ||
1080 | + .init = qat_alg_skcipher_init_tfm, | ||
1081 | + .exit = qat_alg_skcipher_exit_tfm, | ||
1082 | + .setkey = qat_alg_skcipher_xts_setkey, | ||
1083 | + .decrypt = qat_alg_skcipher_blk_decrypt, | ||
1084 | + .encrypt = qat_alg_skcipher_blk_encrypt, | ||
1085 | + .min_keysize = 2 * AES_MIN_KEY_SIZE, | ||
1086 | + .max_keysize = 2 * AES_MAX_KEY_SIZE, | ||
1087 | + .ivsize = AES_BLOCK_SIZE, | ||
1088 | } }; | ||
1089 | |||
1090 | int qat_algs_register(void) | ||
1091 | { | ||
1092 | - int ret = 0, i; | ||
1093 | + int ret = 0; | ||
1094 | |||
1095 | mutex_lock(&algs_lock); | ||
1096 | if (++active_devs != 1) | ||
1097 | goto unlock; | ||
1098 | |||
1099 | - for (i = 0; i < ARRAY_SIZE(qat_algs); i++) | ||
1100 | - qat_algs[i].cra_flags = CRYPTO_ALG_TYPE_ABLKCIPHER | CRYPTO_ALG_ASYNC; | ||
1101 | - | ||
1102 | - ret = crypto_register_algs(qat_algs, ARRAY_SIZE(qat_algs)); | ||
1103 | + ret = crypto_register_skciphers(qat_skciphers, | ||
1104 | + ARRAY_SIZE(qat_skciphers)); | ||
1105 | if (ret) | ||
1106 | goto unlock; | ||
1107 | |||
1108 | - for (i = 0; i < ARRAY_SIZE(qat_aeads); i++) | ||
1109 | - qat_aeads[i].base.cra_flags = CRYPTO_ALG_ASYNC; | ||
1110 | - | ||
1111 | ret = crypto_register_aeads(qat_aeads, ARRAY_SIZE(qat_aeads)); | ||
1112 | if (ret) | ||
1113 | goto unreg_algs; | ||
1114 | @@ -1287,7 +1393,7 @@ unlock: | ||
1115 | return ret; | ||
1116 | |||
1117 | unreg_algs: | ||
1118 | - crypto_unregister_algs(qat_algs, ARRAY_SIZE(qat_algs)); | ||
1119 | + crypto_unregister_skciphers(qat_skciphers, ARRAY_SIZE(qat_skciphers)); | ||
1120 | goto unlock; | ||
1121 | } | ||
1122 | |||
1123 | @@ -1298,7 +1404,7 @@ void qat_algs_unregister(void) | ||
1124 | goto unlock; | ||
1125 | |||
1126 | crypto_unregister_aeads(qat_aeads, ARRAY_SIZE(qat_aeads)); | ||
1127 | - crypto_unregister_algs(qat_algs, ARRAY_SIZE(qat_algs)); | ||
1128 | + crypto_unregister_skciphers(qat_skciphers, ARRAY_SIZE(qat_skciphers)); | ||
1129 | |||
1130 | unlock: | ||
1131 | mutex_unlock(&algs_lock); | ||
1132 | diff --git a/quickassist/qat/drivers/crypto/qat/qat_common/qat_crypto.h b/quickassist/qat/drivers/crypto/qat/qat_common/qat_crypto.h | ||
1133 | index dc0273f..300bb91 100644 | ||
1134 | --- a/quickassist/qat/drivers/crypto/qat/qat_common/qat_crypto.h | ||
1135 | +++ b/quickassist/qat/drivers/crypto/qat/qat_common/qat_crypto.h | ||
1136 | @@ -79,15 +79,17 @@ struct qat_crypto_request { | ||
1137 | struct icp_qat_fw_la_bulk_req req; | ||
1138 | union { | ||
1139 | struct qat_alg_aead_ctx *aead_ctx; | ||
1140 | - struct qat_alg_ablkcipher_ctx *ablkcipher_ctx; | ||
1141 | + struct qat_alg_skcipher_ctx *skcipher_ctx; | ||
1142 | }; | ||
1143 | union { | ||
1144 | struct aead_request *aead_req; | ||
1145 | - struct ablkcipher_request *ablkcipher_req; | ||
1146 | + struct skcipher_request *skcipher_req; | ||
1147 | }; | ||
1148 | struct qat_crypto_request_buffs buf; | ||
1149 | void (*cb)(struct icp_qat_fw_la_resp *resp, | ||
1150 | struct qat_crypto_request *req); | ||
1151 | + void *iv; | ||
1152 | + dma_addr_t iv_paddr; | ||
1153 | }; | ||
1154 | |||
1155 | #endif | ||
1156 | -- | ||
1157 | 2.29.2 | ||
1158 | |||
diff --git a/recipes-extended/qat/files/qat17_4.7.0-00006-crypto-qat-adf_aer-Remove-pci_cleanup_aer_uncorrect_.patch b/recipes-extended/qat/files/qat17_4.7.0-00006-crypto-qat-adf_aer-Remove-pci_cleanup_aer_uncorrect_.patch deleted file mode 100644 index dc8a53d..0000000 --- a/recipes-extended/qat/files/qat17_4.7.0-00006-crypto-qat-adf_aer-Remove-pci_cleanup_aer_uncorrect_.patch +++ /dev/null | |||
@@ -1,32 +0,0 @@ | |||
1 | From db44bce60b322754e6a8b96d93218135db00b46a Mon Sep 17 00:00:00 2001 | ||
2 | From: Yongxin Liu <yongxin.liu@windriver.com> | ||
3 | Date: Sun, 31 May 2020 10:56:27 +0800 | ||
4 | Subject: [PATCH] crypto: qat/adf_aer - Remove | ||
5 | pci_cleanup_aer_uncorrect_error_status() | ||
6 | |||
7 | In kernel upstream commit 62b36c3ea664 ("PCI/AER: Remove | ||
8 | pci_cleanup_aer_uncorrect_error_status() calls"), AER interfaces | ||
9 | to clear error status registers were removed from device dirver. | ||
10 | |||
11 | Upstream-Status: Inappropriate [Code released in tarball form only] | ||
12 | |||
13 | Signed-off-by: Yongxin Liu <yongxin.liu@windriver.com> | ||
14 | --- | ||
15 | quickassist/qat/drivers/crypto/qat/qat_common/adf_aer.c | 1 - | ||
16 | 1 file changed, 1 deletion(-) | ||
17 | |||
18 | diff --git a/quickassist/qat/drivers/crypto/qat/qat_common/adf_aer.c b/quickassist/qat/drivers/crypto/qat/qat_common/adf_aer.c | ||
19 | index 5e98b70..3935d77 100644 | ||
20 | --- a/quickassist/qat/drivers/crypto/qat/qat_common/adf_aer.c | ||
21 | +++ b/quickassist/qat/drivers/crypto/qat/qat_common/adf_aer.c | ||
22 | @@ -281,7 +281,6 @@ static pci_ers_result_t adf_slot_reset(struct pci_dev *pdev) | ||
23 | pr_err("QAT: Can't find acceleration device\n"); | ||
24 | return PCI_ERS_RESULT_DISCONNECT; | ||
25 | } | ||
26 | - pci_cleanup_aer_uncorrect_error_status(pdev); | ||
27 | if (adf_dev_aer_schedule_reset(accel_dev, ADF_DEV_RESET_SYNC)) | ||
28 | return PCI_ERS_RESULT_DISCONNECT; | ||
29 | |||
30 | -- | ||
31 | 2.14.4 | ||
32 | |||
diff --git a/recipes-extended/qat/files/qat17_4.7.0-00006-make-it-compatible-with-kernel-5.6.patch b/recipes-extended/qat/files/qat17_4.7.0-00006-make-it-compatible-with-kernel-5.6.patch deleted file mode 100644 index 0851724..0000000 --- a/recipes-extended/qat/files/qat17_4.7.0-00006-make-it-compatible-with-kernel-5.6.patch +++ /dev/null | |||
@@ -1,96 +0,0 @@ | |||
1 | From 75fe2382f42ac42333a28445bb54132afd9a27a1 Mon Sep 17 00:00:00 2001 | ||
2 | From: Yongxin Liu <yongxin.liu@windriver.com> | ||
3 | Date: Tue, 31 Mar 2020 19:44:25 +0000 | ||
4 | Subject: [PATCH] qat17: make it compatible with kernel 5.6 | ||
5 | |||
6 | 1) In kernel commit c766d1472c70 ("y2038: hide timeval/timespec/itimerval | ||
7 | /itimerspec types"), timespec was hiden, so change timespec to timespec64. | ||
8 | |||
9 | 2) CRYPTO_TFM_RES_BAD_KEY_LEN was removed in kernel commit 674f368a952c | ||
10 | ("crypto: remove CRYPTO_TFM_RES_BAD_KEY_LEN"). Add it back, since qat driver | ||
11 | needs it. | ||
12 | |||
13 | Upstream-Status: Inappropriate [Code released in tarball form only] | ||
14 | |||
15 | Signed-off-by: Yongxin Liu <yongxin.liu@windriver.com> | ||
16 | --- | ||
17 | .../drivers/crypto/qat/qat_common/adf_clock.c | 18 +++++++++--------- | ||
18 | .../drivers/crypto/qat/qat_common/qat_algs.c | 2 ++ | ||
19 | 2 files changed, 11 insertions(+), 9 deletions(-) | ||
20 | |||
21 | diff --git a/quickassist/qat/drivers/crypto/qat/qat_common/adf_clock.c b/quickassist/qat/drivers/crypto/qat/qat_common/adf_clock.c | ||
22 | index 8785f67..be3d9b8 100644 | ||
23 | --- a/quickassist/qat/drivers/crypto/qat/qat_common/adf_clock.c | ||
24 | +++ b/quickassist/qat/drivers/crypto/qat/qat_common/adf_clock.c | ||
25 | @@ -113,7 +113,7 @@ int adf_clock_debugfs_add(struct adf_accel_dev *accel_dev) | ||
26 | #endif | ||
27 | EXPORT_SYMBOL_GPL(adf_clock_debugfs_add); | ||
28 | |||
29 | -static inline s64 timespec_to_us(const struct timespec *ts) | ||
30 | +static inline s64 timespec_to_us(const struct timespec64 *ts) | ||
31 | { | ||
32 | return ((s64)ts->tv_sec * USEC_PER_SEC + | ||
33 | (ts->tv_nsec + NSEC_PER_USEC / 2) / NSEC_PER_USEC); | ||
34 | @@ -129,10 +129,10 @@ static inline s64 timespec_to_us(const struct timespec *ts) | ||
35 | static int measure_clock(struct adf_accel_dev *accel_dev, | ||
36 | u32 *frequency) | ||
37 | { | ||
38 | - struct timespec ts1; | ||
39 | - struct timespec ts2; | ||
40 | - struct timespec ts3; | ||
41 | - struct timespec ts4; | ||
42 | + struct timespec64 ts1; | ||
43 | + struct timespec64 ts2; | ||
44 | + struct timespec64 ts3; | ||
45 | + struct timespec64 ts4; | ||
46 | u64 delta_us = 0; | ||
47 | u64 timestamp1 = 0; | ||
48 | u64 timestamp2 = 0; | ||
49 | @@ -143,13 +143,13 @@ static int measure_clock(struct adf_accel_dev *accel_dev, | ||
50 | return -EIO; | ||
51 | |||
52 | do { | ||
53 | - getnstimeofday(&ts1); | ||
54 | + ktime_get_real_ts64(&ts1); | ||
55 | if (adf_get_fw_timestamp(accel_dev, ×tamp1)) { | ||
56 | dev_err(&GET_DEV(accel_dev), | ||
57 | "Failed to get fw timestamp\n"); | ||
58 | return -EIO; | ||
59 | } | ||
60 | - getnstimeofday(&ts2); | ||
61 | + ktime_get_real_ts64(&ts2); | ||
62 | delta_us = timespec_to_us(&ts2) - timespec_to_us(&ts1); | ||
63 | } while (delta_us > MEASURE_CLOCK_DELTA_THRESHOLD && | ||
64 | ++tries < MEASURE_CLOCK_RETRIES); | ||
65 | @@ -162,13 +162,13 @@ static int measure_clock(struct adf_accel_dev *accel_dev, | ||
66 | |||
67 | tries = 0; | ||
68 | do { | ||
69 | - getnstimeofday(&ts3); | ||
70 | + ktime_get_real_ts64(&ts3); | ||
71 | if (adf_get_fw_timestamp(accel_dev, ×tamp2)) { | ||
72 | dev_err(&GET_DEV(accel_dev), | ||
73 | "Failed to get fw timestamp\n"); | ||
74 | return -EIO; | ||
75 | } | ||
76 | - getnstimeofday(&ts4); | ||
77 | + ktime_get_real_ts64(&ts4); | ||
78 | delta_us = timespec_to_us(&ts4) - timespec_to_us(&ts3); | ||
79 | } while (delta_us > MEASURE_CLOCK_DELTA_THRESHOLD && | ||
80 | ++tries < MEASURE_CLOCK_RETRIES); | ||
81 | diff --git a/quickassist/qat/drivers/crypto/qat/qat_common/qat_algs.c b/quickassist/qat/drivers/crypto/qat/qat_common/qat_algs.c | ||
82 | index c4edb3c..b509dca 100644 | ||
83 | --- a/quickassist/qat/drivers/crypto/qat/qat_common/qat_algs.c | ||
84 | +++ b/quickassist/qat/drivers/crypto/qat/qat_common/qat_algs.c | ||
85 | @@ -73,6 +73,8 @@ | ||
86 | ICP_QAT_HW_CIPHER_KEY_CONVERT, \ | ||
87 | ICP_QAT_HW_CIPHER_DECRYPT) | ||
88 | |||
89 | +#define CRYPTO_TFM_RES_BAD_KEY_LEN 0x00200000 | ||
90 | + | ||
91 | static DEFINE_MUTEX(algs_lock); | ||
92 | static unsigned int active_devs; | ||
93 | |||
94 | -- | ||
95 | 2.24.1 | ||
96 | |||
diff --git a/recipes-extended/qat/files/qat17_4.7.0-00006-qat-replace-linux-cryptohash.h-with-crypto-sha.h-for.patch b/recipes-extended/qat/files/qat17_4.7.0-00006-qat-replace-linux-cryptohash.h-with-crypto-sha.h-for.patch deleted file mode 100644 index 27055ed..0000000 --- a/recipes-extended/qat/files/qat17_4.7.0-00006-qat-replace-linux-cryptohash.h-with-crypto-sha.h-for.patch +++ /dev/null | |||
@@ -1,35 +0,0 @@ | |||
1 | From fcc9a80e47f1a9945987e398626074bddfc705c0 Mon Sep 17 00:00:00 2001 | ||
2 | From: Yongxin Liu <yongxin.liu@windriver.com> | ||
3 | Date: Fri, 24 Jul 2020 09:27:48 +0800 | ||
4 | Subject: [PATCH] qat: replace linux/cryptohash.h with crypto/sha.h for kernel | ||
5 | v5.8 | ||
6 | |||
7 | This is to accommodate kernel commit 228c4f265c6e ("crypto: | ||
8 | lib/sha1 - fold linux/cryptohash.h into crypto/sha.h"). | ||
9 | |||
10 | Upstream-Status: Inappropriate [Code released in tarball form only] | ||
11 | |||
12 | Signed-off-by: Yongxin Liu <yongxin.liu@windriver.com> | ||
13 | --- | ||
14 | .../utilities/osal/src/linux/kernel_space/OsalCryptoInterface.c | 4 ++++ | ||
15 | 1 file changed, 4 insertions(+) | ||
16 | |||
17 | diff --git a/quickassist/utilities/osal/src/linux/kernel_space/OsalCryptoInterface.c b/quickassist/utilities/osal/src/linux/kernel_space/OsalCryptoInterface.c | ||
18 | index 2d5b233..92ee35b 100644 | ||
19 | --- a/quickassist/utilities/osal/src/linux/kernel_space/OsalCryptoInterface.c | ||
20 | +++ b/quickassist/utilities/osal/src/linux/kernel_space/OsalCryptoInterface.c | ||
21 | @@ -66,7 +66,11 @@ | ||
22 | |||
23 | #include "Osal.h" | ||
24 | #include <linux/crypto.h> | ||
25 | +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,8,0)) | ||
26 | +#include <crypto/sha.h> | ||
27 | +#else | ||
28 | #include <linux/cryptohash.h> | ||
29 | +#endif | ||
30 | #include <linux/version.h> | ||
31 | #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,29)) | ||
32 | #include <crypto/internal/hash.h> | ||
33 | -- | ||
34 | 2.14.4 | ||
35 | |||
diff --git a/recipes-extended/qat/files/use-CC-for-LD.patch b/recipes-extended/qat/files/use-CC-for-LD.patch deleted file mode 100644 index 36ceedf..0000000 --- a/recipes-extended/qat/files/use-CC-for-LD.patch +++ /dev/null | |||
@@ -1,17 +0,0 @@ | |||
1 | Use CC to do the linking, helps in linking with gold or bfd linker | ||
2 | |||
3 | Upstream-Status: Inappropriate [OE-Specific] | ||
4 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
5 | Index: QAT1.6/quickassist/build_system/build_files/OS/linux_2.6.mk | ||
6 | =================================================================== | ||
7 | --- QAT1.6.orig/quickassist/build_system/build_files/OS/linux_2.6.mk | ||
8 | +++ QAT1.6/quickassist/build_system/build_files/OS/linux_2.6.mk | ||
9 | @@ -89,7 +89,7 @@ EXTRA_CFLAGS+= -Wno-div-by-zero -Wfloat- | ||
10 | endif | ||
11 | |||
12 | |||
13 | -LIB_SHARED_FLAGS+=-shared -soname $(LIB_SHARED) | ||
14 | +LIB_SHARED_FLAGS+=-shared -Wl,-soname,$(LIB_SHARED) | ||
15 | LIB_STATIC_FLAGS= | ||
16 | EXE_FLAGS?= | ||
17 | |||
diff --git a/recipes-extended/qat/qat17_4.7.0-00006.bb b/recipes-extended/qat/qat17_4.12.0-00011.bb index e9fb85d..28bcad7 100644 --- a/recipes-extended/qat/qat17_4.7.0-00006.bb +++ b/recipes-extended/qat/qat17_4.12.0-00011.bb | |||
@@ -12,56 +12,24 @@ PROVIDES += "virtual/qat" | |||
12 | 12 | ||
13 | TARGET_CC_ARCH += "${LDFLAGS}" | 13 | TARGET_CC_ARCH += "${LDFLAGS}" |
14 | 14 | ||
15 | SRC_URI = "https://01.org/sites/default/files/downloads/qat1.7.l.4.7.0-00006.tar.gz;subdir=qat17 \ | 15 | SRC_URI = "https://01.org/sites/default/files/downloads//qat1.7.l.4.12.0-00011.tar.gz;subdir=qat17 \ |
16 | file://qat16_2.3.0-34-qat-remove-local-path-from-makefile.patch \ | 16 | file://0001-qat-fix-for-cross-compilation-issue.patch \ |
17 | file://qat16_2.6.0-65-qat-override-CC-LD-AR-only-when-it-is-not-define.patch \ | 17 | file://0002-qat-remove-local-path-from-makefile.patch \ |
18 | file://qat17_0.6.0-1-qat-update-KDIR-for-cross-compilation.patch \ | 18 | file://0003-qat-override-CC-LD-AR-only-when-it-is-not-define.patch \ |
19 | file://qat17_0.8.0-37-qat-added-include-dir-path.patch \ | 19 | file://0004-update-KDIR-for-cross-compilation.patch \ |
20 | file://qat17_0.9.0-4-qat-add-install-target-and-add-folder.patch \ | 20 | file://0005-Added-include-dir-path.patch \ |
21 | file://qat17_4.1.0-00022-qat-use-static-lib-for-linking.patch \ | 21 | file://0006-qat-add-install-target-and-add-folder.patch \ |
22 | file://qat17_4.7.0-00006-Link-driver-with-object-files.patch \ | 22 | file://0007-qat-use-static-lib-for-linking-under-cpa-sample-code.patch \ |
23 | file://qat17_4.7.0-00006-Drop-pr_warning-definition.patch \ | 23 | file://0008-qat-overwrite-KBUILD_BUILTIN-in-kernel-s-Makefile.patch \ |
24 | file://qat17_4.7.0-00006-Switch-to-skcipher-API.patch;apply=0 \ | 24 | file://0009-crypto-qat-Silence-smp_processor_id-warning.patch \ |
25 | file://qat17_4.7.0-00006-make-it-compatible-with-kernel-5.6.patch;apply=0 \ | 25 | file://0010-qat-include-sha1.h-and-sha2.h-instead-of-sha.h-in-ke.patch \ |
26 | file://qat17_4.7.0-00006-crypto-qat-adf_aer-Remove-pci_cleanup_aer_uncorrect_.patch \ | 26 | file://0011-qat17-use-namespace-CRYPTO_INTERNAL.patch \ |
27 | file://qat17_4.7.0-00006-qat-replace-linux-cryptohash.h-with-crypto-sha.h-for.patch \ | ||
28 | file://qat17_4.7.0-00006-overwrite-KBUILD_BUILTIN-in-kernel-s-Makefile.patch \ | ||
29 | file://qat17_4.7.0-00006-crypto-qat-Silence-smp_processor_id-warning.patch \ | ||
30 | file://qat17_4.7.0-00006-qat-include-sha1.h-and-sha2.h-instead-of-sha.h-in-ke.patch \ | ||
31 | file://qat17_4.7.0-00006-qat17-use-namespace-CRYPTO_INTERNAL.patch \ | ||
32 | " | 27 | " |
33 | 28 | ||
34 | do_patch[depends] += "virtual/kernel:do_shared_workdir" | 29 | do_configure[depends] += "virtual/kernel:do_shared_workdir" |
35 | 30 | ||
36 | do_patch_append () { | 31 | SRC_URI[md5sum] = "23d962944ae22ef14ff880fdbff4223b" |
37 | kernel_version = int(d.getVar("KERNEL_VERSION").split(".")[0]) | 32 | SRC_URI[sha256sum] = "6b8d643780b2640d084f5bd50546c8dae4ae9ec50cf167660a0ebdc55619eb2e" |
38 | kernel_patchlevel = int(d.getVar("KERNEL_VERSION").split(".")[1]) | ||
39 | |||
40 | if kernel_version >= 5 and kernel_patchlevel >= 5: | ||
41 | bb.build.exec_func('do_switch_to_skcipher_api', d) | ||
42 | if kernel_version >= 5 and kernel_patchlevel >= 6: | ||
43 | bb.build.exec_func('do_patch_for_kernel_5_6', d) | ||
44 | } | ||
45 | |||
46 | do_switch_to_skcipher_api () { | ||
47 | if [ ! -e ${S}/patches/qat17_4.7.0-00006-Switch-to-skcipher-API.patch.applied ]; then | ||
48 | cd "${S}" | ||
49 | patch -p1 < "${WORKDIR}/qat17_4.7.0-00006-Switch-to-skcipher-API.patch" | ||
50 | touch ${S}/patches/qat17_4.7.0-00006-Switch-to-skcipher-API.patch.applied | ||
51 | fi | ||
52 | } | ||
53 | |||
54 | do_patch_for_kernel_5_6 () { | ||
55 | if [ ! -e ${S}/patches/qat17_4.7.0-00006-make-it-compatible-with-kernel-5.6.patch.applied ]; then | ||
56 | cd "${S}" | ||
57 | patch -p1 < "${WORKDIR}/qat17_4.7.0-00006-make-it-compatible-with-kernel-5.6.patch" | ||
58 | touch ${S}/patches/qat17_4.7.0-00006-make-it-compatible-with-kernel-5.6.patch.applied | ||
59 | fi | ||
60 | } | ||
61 | |||
62 | |||
63 | SRC_URI[md5sum] = "ac939b51cc8836c182e31e309c065002" | ||
64 | SRC_URI[sha256sum] = "5c8bdc35fd7a42f212f1f87eb9e3d8584df7af56dae366debc487981e531fa5c" | ||
65 | 33 | ||
66 | COMPATIBLE_MACHINE = "null" | 34 | COMPATIBLE_MACHINE = "null" |
67 | COMPATIBLE_HOST_x86-x32 = 'null' | 35 | COMPATIBLE_HOST_x86-x32 = 'null' |
@@ -90,6 +58,7 @@ export WITH_UPSTREAM = "1" | |||
90 | export WITH_CMDRV = "1" | 58 | export WITH_CMDRV = "1" |
91 | export KERNEL_SOURCE_DIR = "${ICP_ROOT}/quickassist/qat/" | 59 | export KERNEL_SOURCE_DIR = "${ICP_ROOT}/quickassist/qat/" |
92 | export ICP_NO_CLEAN = "1" | 60 | export ICP_NO_CLEAN = "1" |
61 | export ICP_QDM_IOMMU = "1" | ||
93 | 62 | ||
94 | inherit module | 63 | inherit module |
95 | inherit update-rc.d | 64 | inherit update-rc.d |