[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250619122316.2587236-1-ovidiu.panait.oss@gmail.com>
Date: Thu, 19 Jun 2025 15:23:06 +0300
From: Ovidiu Panait <ovidiu.panait.oss@...il.com>
To: clabbe.montjoie@...il.com,
herbert@...dor.apana.org.au,
davem@...emloft.net,
linux-crypto@...r.kernel.org
Cc: wens@...e.org,
jernej.skrabec@...il.com,
samuel@...lland.org,
linux-arm-kernel@...ts.infradead.org,
linux-sunxi@...ts.linux.dev,
linux-kernel@...r.kernel.org,
Ovidiu Panait <ovidiu.panait.oss@...il.com>
Subject: [PATCH 00/10] crypto: sun8i-ce - implement request batching
The Allwinner crypto engine can process multiple requests at a time,
if they are chained together using the task descriptor's 'next' field.
Having multiple requests processed in one go can reduce the number
of interrupts generated and also improve throughput.
When compared to the existing non-batching implementation, the tcrypt
multibuffer benchmark shows an increase in throughput of ~85% for 16 byte
AES blocks (when testing with 8 data streams on the OrangePi Zero2 board).
Patches 1-9 perform refactoring work on the existing do_one_request()
callbacks, to make them more modular and easier to integrate with the
request batching workflow.
Patch 10 implements the actual request batching.
Ovidiu Panait (10):
crypto: sun8i-ce - remove channel timeout field
crypto: sun8i-ce - remove boilerplate in sun8i_ce_hash_digest()
crypto: sun8i-ce - move bounce_iv and backup_iv to request context
crypto: sun8i-ce - save hash buffers and dma info to request context
crytpo: sun8i-ce - factor out prepare/unprepare code from ahash
do_one_request
crypto: sun8i-ce - fold sun8i_ce_cipher_run() into
sun8i_ce_cipher_do_one()
crypto: sun8i-ce - pass task descriptor to cipher prepare/unprepare
crypto: sun8i-ce - factor out public versions of finalize request
crypto: sun8i-ce - add a new function for dumping task descriptors
crypto: sun8i-ce - implement request batching
.../allwinner/sun8i-ce/sun8i-ce-cipher.c | 90 +++++------
.../crypto/allwinner/sun8i-ce/sun8i-ce-core.c | 152 ++++++++++++++----
.../crypto/allwinner/sun8i-ce/sun8i-ce-hash.c | 140 +++++++++-------
.../crypto/allwinner/sun8i-ce/sun8i-ce-prng.c | 1 -
.../crypto/allwinner/sun8i-ce/sun8i-ce-trng.c | 1 -
drivers/crypto/allwinner/sun8i-ce/sun8i-ce.h | 84 +++++++++-
6 files changed, 327 insertions(+), 141 deletions(-)
--
2.49.0
Powered by blists - more mailing lists