All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH RFC 0/4] crypto: engine - Permit to enqueue all async requests
@ 2017-11-29  8:41 ` Corentin Labbe
  0 siblings, 0 replies; 46+ messages in thread
From: Corentin Labbe @ 2017-11-29  8:41 UTC (permalink / raw)
  To: herbert, alexandre.torgue, arei.gonglei, davem, jasowang,
	mcoquelin.stm32, mst, fabien.dessenne
  Cc: linux-arm-kernel, linux-crypto, linux-kernel, virtualization,
	Corentin Labbe

Hello

The current crypto_engine support only ahash and ablkcipher.
My first patch which try to add skcipher was Nacked, it will add too many functions
and adding other algs(aead, asymetric_key) will make the situation worst.

This patchset remove all algs specific stuff and now only process generic crypto_async_request.

The requests handler function pointer are now moved out of struct engine and
are now stored directly in a crypto_engine_reqctx.

The original proposal of Herbert [1] cannot be done completly since the crypto_engine
could only dequeue crypto_async_request and it is impossible to access any request_ctx
without knowing the underlying request type.

So I do something near that was requested: adding crypto_engine_reqctx in TFM context.
Note that the current implementation expect that crypto_engine_reqctx
is the first member of the context.

The first patch convert the crypto engine with the new way,
while the following patchs convert the 3 existing users of crypto_engine.
Note that this split break bisection, so probably the final commit will be all merged.

The 3 latest patch were compile tested only, but the first is tested successfully
with my new sun8i-ce driver.

Regards

[1] https://www.mail-archive.com/linux-kernel@vger.kernel.org/msg1474434.html

Corentin Labbe (4):
  crypto: engine - Permit to enqueue all async requests
  crypto: omap: convert to new crypto engine API
  crypto: virtio: convert to new crypto engine API
  crypto: stm32: convert to the new crypto engine API

 crypto/crypto_engine.c                       | 188 ++++++---------------------
 drivers/crypto/omap-aes.c                    |  21 ++-
 drivers/crypto/omap-aes.h                    |   3 +
 drivers/crypto/omap-des.c                    |  24 +++-
 drivers/crypto/stm32/stm32-hash.c            |  22 +++-
 drivers/crypto/virtio/virtio_crypto_algs.c   |  15 ++-
 drivers/crypto/virtio/virtio_crypto_common.h |   2 +-
 drivers/crypto/virtio/virtio_crypto_core.c   |   3 -
 include/crypto/engine.h                      |  46 +++----
 9 files changed, 122 insertions(+), 202 deletions(-)

-- 
2.13.6

^ permalink raw reply	[flat|nested] 46+ messages in thread

end of thread, other threads:[~2017-12-22  9:34 UTC | newest]

Thread overview: 46+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-11-29  8:41 [PATCH RFC 0/4] crypto: engine - Permit to enqueue all async requests Corentin Labbe
2017-11-29  8:41 ` Corentin Labbe
2017-11-29  8:41 ` [PATCH RFC 1/4] " Corentin Labbe
2017-11-29  8:41   ` Corentin Labbe
2017-11-29  8:41   ` Corentin Labbe
2017-12-06 11:02   ` Fabien DESSENNE
2017-12-06 11:02     ` Fabien DESSENNE
2017-12-06 11:02     ` Fabien DESSENNE
2017-12-07  9:24     ` Corentin Labbe
2017-12-07  9:24       ` Corentin Labbe
2017-12-07  9:24       ` Corentin Labbe
2017-12-06 11:02   ` Fabien DESSENNE
2017-12-22  6:57   ` Herbert Xu
2017-12-22  6:57   ` Herbert Xu
2017-12-22  6:57     ` Herbert Xu
2017-12-22  8:41     ` Corentin Labbe
2017-12-22  8:41       ` Corentin Labbe
2017-12-22  9:06       ` Herbert Xu
2017-12-22  9:06         ` Herbert Xu
2017-12-22  9:06         ` Herbert Xu
2017-12-22  9:34         ` Corentin Labbe
2017-12-22  9:34           ` Corentin Labbe
2017-12-22  9:34           ` Corentin Labbe
2017-12-22  8:41     ` Corentin Labbe
2017-11-29  8:41 ` Corentin Labbe
2017-11-29  8:41 ` [PATCH RFC 2/4] crypto: omap: convert to new crypto engine API Corentin Labbe
2017-11-29  8:41   ` Corentin Labbe
2017-11-29  8:41   ` Corentin Labbe
2017-11-29  8:41 ` [PATCH RFC 3/4] crypto: virtio: " Corentin Labbe
2017-11-29  8:41   ` Corentin Labbe
2017-11-29  8:41 ` Corentin Labbe
2017-11-29  8:41 ` [PATCH RFC 4/4] crypto: stm32: convert to the " Corentin Labbe
2017-11-29  8:41   ` Corentin Labbe
2017-12-06 11:03   ` Fabien DESSENNE
2017-12-06 11:03     ` Fabien DESSENNE
2017-12-06 11:03     ` Fabien DESSENNE
2017-12-06 11:03   ` Fabien DESSENNE
2017-11-29  8:41 ` Corentin Labbe
2017-12-06 10:59 ` [PATCH RFC 0/4] crypto: engine - Permit to enqueue all async requests Fabien DESSENNE
2017-12-06 10:59 ` Fabien DESSENNE
2017-12-06 10:59   ` Fabien DESSENNE
2017-12-06 10:59   ` Fabien DESSENNE
2017-12-07  9:37   ` Corentin Labbe
2017-12-07  9:37   ` Corentin Labbe
2017-12-07  9:37     ` Corentin Labbe
2017-12-07  9:37     ` Corentin Labbe

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.