crypto: engine - permit to enqueue ashash_request
The current crypto engine allow only ablkcipher_request to be enqueued. Thus denying any use of it for hardware that also handle hash algo. This patch modify the API for allowing to enqueue ciphers and hash. Since omap-aes/omap-des are the only users, this patch also convert them to the new cryptoengine API. Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:

committad av
Herbert Xu

förälder
2589ad8404
incheckning
4cba7cf025
@@ -520,7 +520,7 @@ static void omap_aes_finish_req(struct omap_aes_dev *dd, int err)
|
||||
|
||||
pr_debug("err: %d\n", err);
|
||||
|
||||
crypto_finalize_request(dd->engine, req, err);
|
||||
crypto_finalize_cipher_request(dd->engine, req, err);
|
||||
}
|
||||
|
||||
static int omap_aes_crypt_dma_stop(struct omap_aes_dev *dd)
|
||||
@@ -593,7 +593,7 @@ static int omap_aes_handle_queue(struct omap_aes_dev *dd,
|
||||
struct ablkcipher_request *req)
|
||||
{
|
||||
if (req)
|
||||
return crypto_transfer_request_to_engine(dd->engine, req);
|
||||
return crypto_transfer_cipher_request_to_engine(dd->engine, req);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -1209,8 +1209,8 @@ static int omap_aes_probe(struct platform_device *pdev)
|
||||
if (!dd->engine)
|
||||
goto err_algs;
|
||||
|
||||
dd->engine->prepare_request = omap_aes_prepare_req;
|
||||
dd->engine->crypt_one_request = omap_aes_crypt_req;
|
||||
dd->engine->prepare_cipher_request = omap_aes_prepare_req;
|
||||
dd->engine->cipher_one_request = omap_aes_crypt_req;
|
||||
err = crypto_engine_start(dd->engine);
|
||||
if (err)
|
||||
goto err_engine;
|
||||
|
@@ -507,7 +507,7 @@ static void omap_des_finish_req(struct omap_des_dev *dd, int err)
|
||||
pr_debug("err: %d\n", err);
|
||||
|
||||
pm_runtime_put(dd->dev);
|
||||
crypto_finalize_request(dd->engine, req, err);
|
||||
crypto_finalize_cipher_request(dd->engine, req, err);
|
||||
}
|
||||
|
||||
static int omap_des_crypt_dma_stop(struct omap_des_dev *dd)
|
||||
@@ -575,7 +575,7 @@ static int omap_des_handle_queue(struct omap_des_dev *dd,
|
||||
struct ablkcipher_request *req)
|
||||
{
|
||||
if (req)
|
||||
return crypto_transfer_request_to_engine(dd->engine, req);
|
||||
return crypto_transfer_cipher_request_to_engine(dd->engine, req);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -1099,8 +1099,8 @@ static int omap_des_probe(struct platform_device *pdev)
|
||||
if (!dd->engine)
|
||||
goto err_algs;
|
||||
|
||||
dd->engine->prepare_request = omap_des_prepare_req;
|
||||
dd->engine->crypt_one_request = omap_des_crypt_req;
|
||||
dd->engine->prepare_cipher_request = omap_des_prepare_req;
|
||||
dd->engine->cipher_one_request = omap_des_crypt_req;
|
||||
err = crypto_engine_start(dd->engine);
|
||||
if (err)
|
||||
goto err_engine;
|
||||
|
Referens i nytt ärende
Block a user