[PATCH 1/4] crypto: hisilicon - dynamic configuration 'err_info'

2021-04-12 Thread Weili Qian
'err_info' does not support dynamic configuration since it is const type. Therefore, in order to support new error type later, 'err_info' is changed to dynamic configuration. Signed-off-by: Weili Qian --- drivers/crypto/hisilicon/hpre/hpre_main.c | 26 -- drivers/crypto

[PATCH 2/4] crypto: hisilicon - support new error types for ZIP

2021-04-12 Thread Weili Qian
Kunpeng930 ZIP adds 'zip_axi_poison_err' 'zip_sva_err' and 'QM_ACC_DO_TASK_TIMEOUT' hardware error types. This patch enables the error types and configures the error types as NFE. Signed-off-by: Weili Qian --- drivers/crypto/hisilicon/zip/zip_main.c | 9 +++-- 1 file changed, 7 insertions

[PATCH 4/4] crypto: hisilicon - enable new error types for QM

2021-04-12 Thread Weili Qian
QM adds 'qm_mailbox_timeout' and 'qm_flr_timeout' hardware error types on Kunpeng930. This patch enables the new error types and configures the error types as NFE. Signed-off-by: Weili Qian --- drivers/crypto/hisilicon/qm.c | 6 -- drivers/crypto/hisilicon/qm.h | 5 - 2 files changed, 8

[PATCH 0/4] crypto: hisilicon - adapt hardware error type

2021-04-12 Thread Weili Qian
This patchset changes 'err_info' to dynamic configuration and enables new hardware error types for Kunpeng930. Weili Qian (4): crypto: hisilicon - dynamic configuration 'err_info' crypto: hisilicon - support new error types for ZIP crypto: hisilicon - add new error type for SEC crypto

[PATCH 3/4] crypto: hisilicon - add new error type for SEC

2021-04-12 Thread Weili Qian
Kunpeng930 SEC adds several new hardware error types. This patch enables the new error types and configures the error types as NFE. Signed-off-by: Weili Qian --- drivers/crypto/hisilicon/sec2/sec_main.c | 26 +++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff

[PATCH] crypto: hisilicon/trng - add version to adapt new algorithm

2021-04-07 Thread Weili Qian
Kunpeng930 supports trng and prng, but Kunpeng920 only supports trng. Therefore, version information is added to ensure that prng is not registered to Crypto subsystem on Kunpeng920. Signed-off-by: Weili Qian --- drivers/crypto/hisilicon/trng/trng.c | 13 ++--- 1 file changed, 10

[PATCH] crypto: hisilicon/qm - add stop queue by hardware

2021-04-06 Thread Weili Qian
. Call 'stop_qp' to drain the tasks in device before releasing queue. Signed-off-by: Weili Qian Reviewed-by: Longfang Liu --- drivers/crypto/hisilicon/qm.c | 29 - 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/drivers/crypto/hisilicon/qm.c b/drivers

[PATCH 4/4] crypto: hisilicon/qm - add queue isolation support for Kunpeng930

2021-03-20 Thread Weili Qian
Kunpeng930 supports doorbell isolation to ensure that each queue has an independent doorbell address space. Signed-off-by: Weili Qian --- drivers/crypto/hisilicon/qm.c | 161 +++--- drivers/crypto/hisilicon/qm.h | 4 +- include/uapi/misc/uacce/hisi_qm.h

[PATCH 3/4] crypto: hisilicon/qm - set the number of queues for function

2021-03-20 Thread Weili Qian
that the number of VF queues does not exceed 'max_qp_num'. Signed-off-by: Weili Qian --- drivers/crypto/hisilicon/qm.c | 100 +++--- drivers/crypto/hisilicon/qm.h | 4 ++ 2 files changed, 78 insertions(+), 26 deletions(-) diff --git a/drivers/crypto/hisilicon/qm.c b

[PATCH 2/4] crypto: hisilicon/qm - move 'CURRENT_QM' code to qm.c

2021-03-20 Thread Weili Qian
Since the code related to 'CURRENT_QM' debugfs is exactly same in sec/hpre/zip driver, move 'CURRENT_QM' to qm.c to reduce duplicate code. Signed-off-by: Weili Qian --- drivers/crypto/hisilicon/hpre/hpre.h | 1 - drivers/crypto/hisilicon/hpre/hpre_main.c | 61

[PATCH 1/4] crypto: hisilicon/qm - set the total number of queues

2021-03-20 Thread Weili Qian
Move the configuration of the total number of queues 'ctrl_qp_num' from sec2/hpre/zip to qm.c. And get the total number of queues from the hardware register for Kunpeng930. Signed-off-by: Weili Qian --- drivers/crypto/hisilicon/hpre/hpre_main.c | 3 --- drivers/crypto/hisilicon/qm.c

[PATCH 0/4] crypto: hisilicon/qm - support doorbell isolation and queue number configuration

2021-03-20 Thread Weili Qian
Kunpeng930 supports getting the number of queues from hardware registers and queue doorbell isolation. This patchset configures the total number of hardware queues and the maximum number of function queues, and supports queue doorbell isolation. Weili Qian (4): crypto: hisilicon/qm - set

[PATCH 3/6] crypto: hisilicon/qm - fix the value of 'QM_SQC_VFT_BASE_MASK_V2'

2021-02-05 Thread Weili Qian
Since the size of base number is 16 bits, update the value of 'QM_SQC_VFT_BASE_MASK_V2' as 'GENMASK(15, 0)'. Signed-off-by: Weili Qian Reviewed-by: Zaibo Xu --- drivers/crypto/hisilicon/qm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/crypto/hisilicon/qm.c b

[PATCH 2/6] crypto: hisilicon/qm - fix request missing error

2021-02-05 Thread Weili Qian
Add 'qp_stop_fail_cb' to ensure it is called as device is resetting. Signed-off-by: Weili Qian Reviewed-by: Zaibo Xu --- drivers/crypto/hisilicon/qm.c | 28 1 file changed, 28 insertions(+) diff --git a/drivers/crypto/hisilicon/qm.c b/drivers/crypto/hisilicon/qm.c

[PATCH 0/6] crypto: hisilicon/qm - misc fixes

2021-02-05 Thread Weili Qian
printing format issue. Sihang Chen (1): crypto: hisilicon/qm - update irqflag Weili Qian (5): crypto: hisilicon/qm - removing driver after reset crypto: hisilicon/qm - fix request missing error crypto: hisilicon/qm - fix the value of 'QM_SQC_VFT_BASE_MASK_V2' crypto: hisilicon/qm - do

[PATCH 1/6] crypto: hisilicon/qm - removing driver after reset

2021-02-05 Thread Weili Qian
Add waiting logic for resetting as removing driver, otherwise call trace will occur due to releasing resource. Signed-off-by: Weili Qian Reviewed-by: Zaibo Xu --- drivers/crypto/hisilicon/hpre/hpre_main.c | 2 +- drivers/crypto/hisilicon/qm.c | 48

[PATCH 4/6] crypto: hisilicon/qm - update irqflag

2021-02-05 Thread Weili Qian
From: Sihang Chen There is no need to share IRQ among several devices, and set 'irqflag' as 0. Signed-off-by: Sihang Chen Signed-off-by: Weili Qian Reviewed-by: Zaibo Xu --- drivers/crypto/hisilicon/qm.c | 7 +++ 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/drivers

[PATCH 5/6] crypto: hisilicon/qm - do not reset hardware when CE happens

2021-02-05 Thread Weili Qian
There is no need to reset hardware when Corrected Error(CE) happens. Signed-off-by: Weili Qian Reviewed-by: Zaibo Xu --- drivers/crypto/hisilicon/hpre/hpre_main.c | 1 + drivers/crypto/hisilicon/qm.c | 23 +-- drivers/crypto/hisilicon/qm.h | 1

[PATCH 6/6] crypto: hisilicon/qm - fix printing format issue

2021-02-05 Thread Weili Qian
This patch fixes inconsistent of printing format with argument type. Signed-off-by: Weili Qian Reviewed-by: Zaibo Xu --- drivers/crypto/hisilicon/qm.c | 16 drivers/crypto/hisilicon/qm.h | 2 +- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/drivers/crypto

[PATCH 3/4] crypto: hisilicon/trng - add support for PRNG

2020-11-20 Thread Weili Qian
This patch adds support for pseudo random number generator(PRNG) in Crypto subsystem. Signed-off-by: Weili Qian Reviewed-by: Zaibo Xu --- drivers/crypto/hisilicon/Kconfig | 1 + drivers/crypto/hisilicon/trng/trng.c | 241 ++- 2 files changed, 239

[PATCH 4/4] MAINTAINERS: Move HiSilicon TRNG V2 driver

2020-11-20 Thread Weili Qian
Move HiSilicon TRNG V2 driver into 'drivers/crypto/hisilicon/trng' with some updating on 'MAINTAINERS'. Signed-off-by: Weili Qian Reviewed-by: Zaibo Xu --- MAINTAINERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MAINTAINERS b/MAINTAINERS index e73636b..a835a74 100644

[PATCH 2/4] crypto: hisilicon/trng - add HiSilicon TRNG driver support

2020-11-20 Thread Weili Qian
Move existing char/hw_random/hisi-trng-v2.c to crypto/hisilicon/trng.c. Signed-off-by: Weili Qian Reviewed-by: Zaibo Xu --- arch/arm64/configs/defconfig | 1 + drivers/crypto/hisilicon/Kconfig | 7 +++ drivers/crypto/hisilicon/Makefile | 1 + drivers/crypto/hisilicon

[PATCH 1/4] hwrng: hisi - remove HiSilicon TRNG driver

2020-11-20 Thread Weili Qian
TRNG better. Signed-off-by: Weili Qian Reviewed-by: Zaibo Xu --- drivers/char/hw_random/Kconfig| 13 - drivers/char/hw_random/Makefile | 1 - drivers/char/hw_random/hisi-trng-v2.c | 99 --- 3 files changed, 113 deletions(-) delete mode 100644

[PATCH 0/4] crypto: hisilicon/trng - add HiSilicon TRNG driver support

2020-11-20 Thread Weili Qian
1. Move HiSilicon TRNG driver form 'drivers/char/hw_random/' to 'drivers/crypto/hisilicon/'. 2. Add support for PRNG in Crypto subsystem. Weili Qian (4): hwrng: hisi - remove HiSilicon TRNG driver crypto: hisilicon/trng - add HiSilicon TRNG driver support crypto: hisilicon/trng - add

[PATCH 1/8] crypto: hisilicon/qm - numbers are replaced by macros

2020-10-31 Thread Weili Qian
Some numbers are replaced by macros to avoid incomprehension. Signed-off-by: Weili Qian Reviewed-by: Zhou Wang --- drivers/crypto/hisilicon/qm.c | 19 --- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/drivers/crypto/hisilicon/qm.c b/drivers/crypto/hisilicon

[PATCH 4/8] crypto: hisilicon/qm - modify return type of 'qm_set_sqctype'

2020-10-31 Thread Weili Qian
Since 'qm_set_sqctype' always returns 0, change it as 'void'. Signed-off-by: Weili Qian Reviewed-by: Zhou Wang --- drivers/crypto/hisilicon/qm.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/drivers/crypto/hisilicon/qm.c b/drivers/crypto/hisilicon/qm.c index 627479f

[PATCH 7/8] crypto: hisilicon/qm - split 'qm_eq_ctx_cfg' into smaller pieces

2020-10-31 Thread Weili Qian
'qm_eq_ctx_cfg' initializes configuration of EQ and AEQ, split it into two pieces to improve code readability. Signed-off-by: Weili Qian Reviewed-by: Zhou Wang --- drivers/crypto/hisilicon/qm.c | 44 +++ 1 file changed, 32 insertions(+), 12 deletions

[PATCH 0/8] crypto: hisilicon/qm - misc clean up

2020-10-31 Thread Weili Qian
This patchset makes some clean up, please see comments in each patch. Weili Qian (8): crypto: hisilicon/qm - numbers are replaced by macros crypto: hisilicon/qm - modify the return type of function crypto: hisilicon/qm - modify the return type of debugfs interface crypto: hisilicon/qm

[PATCH 8/8] crypto: hisilicon/qm - split 'hisi_qm_init' into smaller pieces

2020-10-31 Thread Weili Qian
'hisi_qm_init' initializes configuration of QM. To improve code readability, split it into two pieces. Signed-off-by: Weili Qian Reviewed-by: Zhou Wang --- drivers/crypto/hisilicon/qm.c | 86 ++- 1 file changed, 53 insertions(+), 33 deletions(-) diff

[PATCH 3/8] crypto: hisilicon/qm - modify the return type of debugfs interface

2020-10-31 Thread Weili Qian
Since 'qm_create_debugfs_file' always returns 0, change it as 'void'. Signed-off-by: Weili Qian Reviewed-by: Zhou Wang --- drivers/crypto/hisilicon/hpre/hpre_main.c | 4 +--- drivers/crypto/hisilicon/qm.c | 19 --- drivers/crypto/hisilicon/qm.h | 2

[PATCH 2/8] crypto: hisilicon/qm - modify the return type of function

2020-10-31 Thread Weili Qian
The returns of 'qm_get_hw_error_status' and 'qm_get_dev_err_status' are values from the hardware registers, which should not be defined as 'int', so update as 'u32'. Signed-off-by: Weili Qian Reviewed-by: Zhou Wang --- drivers/crypto/hisilicon/qm.c | 4 ++-- 1 file changed, 2 insertions(+), 2

[PATCH 5/8] crypto: hisilicon/qm - replace 'sprintf' with 'scnprintf'

2020-10-31 Thread Weili Qian
Replace 'sprintf' with 'scnprintf' to avoid overrun. Signed-off-by: Weili Qian Reviewed-by: Zhou Wang --- drivers/crypto/hisilicon/qm.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/crypto/hisilicon/qm.c b/drivers/crypto/hisilicon/qm.c index 17f84db..25c5414

[PATCH 6/8] crypto: hisilicon/qm - split 'qm_qp_ctx_cfg' into smaller pieces

2020-10-31 Thread Weili Qian
'qm_qp_ctx_cfg' initializes configuration of SQ and CQ, split it into two pieces to improve code readability. Signed-off-by: Weili Qian Reviewed-by: Zhou Wang --- drivers/crypto/hisilicon/qm.c | 36 1 file changed, 28 insertions(+), 8 deletions(-) diff

[PATCH 1/2] crypto: hisilicon/qm - fix wrong return type of 'pci_get_drvdata'

2020-09-19 Thread Weili Qian
From: Yang Shen The parameter type of 'pci_set_drvdata' is 'struct hisi_qm', so here the return type of 'pci_get_drvdata' should be 'struct hisi_qm' too. Signed-off-by: Yang Shen Signed-off-by: Weili Qian Reviewed-by: Zhou Wang --- drivers/crypto/hisilicon/hpre/hpre_main.c | 3 +-- drivers

[PATCH 0/2] crypto: hisilicon/qm - misc fixes

2020-09-19 Thread Weili Qian
This patchset fix some driver bugs Resend this patch series because it depends on https://patchwork.kernel.org/cover/11760159/ (crypto: hisilicon/zip - misc clean up). Now the patch series has been applied. Weili Qian (1): crypto: hisilicon/qm - remove the update of flags Yang Shen (1

[PATCH 2/2] crypto: hisilicon/qm - remove the update of flags

2020-09-19 Thread Weili Qian
'qm_init_qp_status' is just a help function to initiate some 'QP' status. 'QP' status should be updated separately. This patch removes the updating flags in 'QP' status. Signed-off-by: Weili Qian Reviewed-by: Zhou Wang --- drivers/crypto/hisilicon/qm.c | 1 - 1 file changed, 1 deletion

Re: [PATCH 1/2] crypto: hisilicon/qm - fix wrong return type of 'pci_get_drvdata'

2020-09-04 Thread Weili Qian
applied to the wrong git tree, kindly drop us a note. > And when submitting patch, we suggest to use '--base' as documented in > https://git-scm.com/docs/git-format-patch] > > url: > https://github.com/0day-ci/linux/commits/Weili-Qian/crypto-hisilicon-misc-fixes/20200903-200547 >

[PATCH 0/2] crypto: hisilicon - misc fixes

2020-09-03 Thread Weili Qian
This patchset fix some driver bugs Weili Qian (1): crypto: hisilicon/qm - remove the update of flags Yang Shen (1): crypto: hisilicon/qm - fix wrong return type of 'pci_get_drvdata' drivers/crypto/hisilicon/hpre/hpre_main.c | 3 +-- drivers/crypto/hisilicon/qm.c | 1 - drivers

[PATCH 2/2] crypto: hisilicon/qm - remove the update of flags

2020-09-03 Thread Weili Qian
'qm_init_qp_status' is just a help function to initiate some 'QP' status. 'QP' status should be updated separately. This patch removes the updating flags in 'QP' status. Signed-off-by: Weili Qian Reviewed-by: Zhou Wang --- drivers/crypto/hisilicon/qm.c | 1 - 1 file changed, 1 deletion

[PATCH 1/2] crypto: hisilicon/qm - fix wrong return type of 'pci_get_drvdata'

2020-09-03 Thread Weili Qian
From: Yang Shen The parameter type of 'pci_set_drvdata' is 'struct hisi_qm', so here the return type of 'pci_get_drvdata' should be 'struct hisi_qm' too. Signed-off-by: Yang Shen Signed-off-by: Weili Qian Reviewed-by: Zhou Wang --- drivers/crypto/hisilicon/hpre/hpre_main.c | 3 +-- drivers