crypto: engine - remove request batching support
Remove request batching support from crypto_engine, as there are no drivers using this feature and it doesn't really work that well. Instead of doing batching based on backlog, a more optimal approach would be for the user to handle the batching (similar to how IPsec can hook into GSO to get 64K of data each time or how block encryption can use unit sizes much greater than 4K). Suggested-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: Ovidiu Panait <ovidiu.panait.oss@gmail.com> Reviewed-by: Horia Geantă <horia.geanta@nxp.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
committed by
Herbert Xu
parent
3d4df408ba
commit
c470ffa6f4
@@ -195,17 +195,6 @@ retry:
|
||||
out:
|
||||
spin_unlock_irqrestore(&engine->queue_lock, flags);
|
||||
|
||||
/*
|
||||
* Batch requests is possible only if
|
||||
* hardware can enqueue multiple requests
|
||||
*/
|
||||
if (engine->do_batch_requests) {
|
||||
ret = engine->do_batch_requests(engine);
|
||||
if (ret)
|
||||
dev_err(engine->dev, "failed to do batch requests: %d\n",
|
||||
ret);
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -462,12 +451,6 @@ EXPORT_SYMBOL_GPL(crypto_engine_stop);
|
||||
* crypto-engine queue.
|
||||
* @dev: the device attached with one hardware engine
|
||||
* @retry_support: whether hardware has support for retry mechanism
|
||||
* @cbk_do_batch: pointer to a callback function to be invoked when executing
|
||||
* a batch of requests.
|
||||
* This has the form:
|
||||
* callback(struct crypto_engine *engine)
|
||||
* where:
|
||||
* engine: the crypto engine structure.
|
||||
* @rt: whether this queue is set to run as a realtime task
|
||||
* @qlen: maximum size of the crypto-engine queue
|
||||
*
|
||||
@@ -476,7 +459,6 @@ EXPORT_SYMBOL_GPL(crypto_engine_stop);
|
||||
*/
|
||||
struct crypto_engine *crypto_engine_alloc_init_and_set(struct device *dev,
|
||||
bool retry_support,
|
||||
int (*cbk_do_batch)(struct crypto_engine *engine),
|
||||
bool rt, int qlen)
|
||||
{
|
||||
struct crypto_engine *engine;
|
||||
@@ -495,11 +477,6 @@ struct crypto_engine *crypto_engine_alloc_init_and_set(struct device *dev,
|
||||
engine->idling = false;
|
||||
engine->retry_support = retry_support;
|
||||
engine->priv_data = dev;
|
||||
/*
|
||||
* Batch requests is possible only if
|
||||
* hardware has support for retry mechanism.
|
||||
*/
|
||||
engine->do_batch_requests = retry_support ? cbk_do_batch : NULL;
|
||||
|
||||
snprintf(engine->name, sizeof(engine->name),
|
||||
"%s-engine", dev_name(dev));
|
||||
@@ -534,7 +511,7 @@ EXPORT_SYMBOL_GPL(crypto_engine_alloc_init_and_set);
|
||||
*/
|
||||
struct crypto_engine *crypto_engine_alloc_init(struct device *dev, bool rt)
|
||||
{
|
||||
return crypto_engine_alloc_init_and_set(dev, false, NULL, rt,
|
||||
return crypto_engine_alloc_init_and_set(dev, false, rt,
|
||||
CRYPTO_ENGINE_MAX_QLEN);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(crypto_engine_alloc_init);
|
||||
|
||||
Reference in New Issue
Block a user