This driver will soon be getting more features so show it some refactoring love in the meantime. Switching to using a workqueue and sleeping locks improves cryptsetup benchmark results for AES encryption. Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@xxxxxxxxxx> --- Bartosz Golaszewski (9): crypto: qce - fix goto jump in error path crypto: qce - unregister previously registered algos in error path crypto: qce - remove unneeded call to icc_set_bw() in error path crypto: qce - shrink code with devres clk helpers crypto: qce - convert qce_dma_request() to use devres crypto: qce - make qce_register_algs() a managed interface crypto: qce - use __free() for a buffer that's always freed crypto: qce - convert tasklet to workqueue crypto: qce - switch to using a mutex drivers/crypto/qce/core.c | 131 ++++++++++++++++------------------------------ drivers/crypto/qce/core.h | 9 ++-- drivers/crypto/qce/dma.c | 22 ++++---- drivers/crypto/qce/dma.h | 3 +- drivers/crypto/qce/sha.c | 6 +-- 5 files changed, 68 insertions(+), 103 deletions(-) --- base-commit: f486c8aa16b8172f63bddc70116a0c897a7f3f02 change-id: 20241128-crypto-qce-refactor-ab58869eec34 Best regards, -- Bartosz Golaszewski <bartosz.golaszewski@xxxxxxxxxx>