Skip to content

Commit

Permalink
crypto: omap-aes - Add support for multiple cores
Browse files Browse the repository at this point in the history
Some SoCs like omap4/omap5/dra7 contain multiple AES crypto accelerator
cores. Adapt the driver to support this. The driver picks the last used
device from a list of AES devices.

Signed-off-by: Lokesh Vutla <[email protected]>
[[email protected]: forward ported to 4.7 kernel]
Signed-off-by: Tero Kristo <[email protected]>
Signed-off-by: Herbert Xu <[email protected]>
  • Loading branch information
lokeshvutla authored and herbertx committed Sep 13, 2016
1 parent f303b45 commit 164f3ef
Showing 1 changed file with 6 additions and 14 deletions.
20 changes: 6 additions & 14 deletions drivers/crypto/omap-aes.c
Original file line number Diff line number Diff line change
Expand Up @@ -330,20 +330,12 @@ static void omap_aes_dma_stop(struct omap_aes_dev *dd)

static struct omap_aes_dev *omap_aes_find_dev(struct omap_aes_ctx *ctx)
{
struct omap_aes_dev *dd = NULL, *tmp;
struct omap_aes_dev *dd;

spin_lock_bh(&list_lock);
if (!ctx->dd) {
list_for_each_entry(tmp, &dev_list, list) {
/* FIXME: take fist available aes core */
dd = tmp;
break;
}
ctx->dd = dd;
} else {
/* already found before */
dd = ctx->dd;
}
dd = list_first_entry(&dev_list, struct omap_aes_dev, list);
list_move_tail(&dd->list, &dev_list);
ctx->dd = dd;
spin_unlock_bh(&list_lock);

return dd;
Expand Down Expand Up @@ -616,7 +608,7 @@ static int omap_aes_prepare_req(struct crypto_engine *engine,
{
struct omap_aes_ctx *ctx = crypto_ablkcipher_ctx(
crypto_ablkcipher_reqtfm(req));
struct omap_aes_dev *dd = omap_aes_find_dev(ctx);
struct omap_aes_dev *dd = ctx->dd;
struct omap_aes_reqctx *rctx;

if (!dd)
Expand Down Expand Up @@ -662,7 +654,7 @@ static int omap_aes_crypt_req(struct crypto_engine *engine,
{
struct omap_aes_ctx *ctx = crypto_ablkcipher_ctx(
crypto_ablkcipher_reqtfm(req));
struct omap_aes_dev *dd = omap_aes_find_dev(ctx);
struct omap_aes_dev *dd = ctx->dd;

if (!dd)
return -ENODEV;
Expand Down

0 comments on commit 164f3ef

Please sign in to comment.