linux/drivers/crypto/marvell
Romain Perier bf8f91e711 crypto: marvell - Add load balancing between engines
This commits adds support for fine grained load balancing on
multi-engine IPs. The engine is pre-selected based on its current load
and on the weight of the crypto request that is about to be processed.
The global crypto queue is also moved to each engine. These changes are
required to allow chaining crypto requests at the DMA level. By using
a crypto queue per engine, we make sure that we keep the state of the
tdma chain synchronized with the crypto queue. We also reduce contention
on 'cesa_dev->lock' and improve parallelism.

Signed-off-by: Romain Perier <romain.perier@free-electrons.com>
Acked-by: Boris Brezillon <boris.brezillon@free-electrons.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2016-06-23 18:29:51 +08:00
..
cesa.c crypto: marvell - Add load balancing between engines 2016-06-23 18:29:51 +08:00
cesa.h crypto: marvell - Add load balancing between engines 2016-06-23 18:29:51 +08:00
cipher.c crypto: marvell - Add load balancing between engines 2016-06-23 18:29:51 +08:00
hash.c crypto: marvell - Add load balancing between engines 2016-06-23 18:29:51 +08:00
Makefile crypto: marvell/cesa - add TDMA support 2015-06-19 22:18:03 +08:00
tdma.c crypto: marvell - Move tdma chain out of mv_cesa_tdma_req and remove it 2016-06-23 18:17:23 +08:00