From: Ayush Sawal Date: Fri, 13 Dec 2019 11:38:52 +0000 (+0530) Subject: crypto: chelsio - calculating tx_channel_id as per the max number of channels X-Git-Tag: v5.10.7~3034^2~131 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=27896aff15d66c241a87402bea81dc03c9fb80bd;p=platform%2Fkernel%2Flinux-rpi.git crypto: chelsio - calculating tx_channel_id as per the max number of channels chcr driver was not using the number of channels from lld and assuming that there are always two channels available. With following patch chcr will use number of channel as passed by cxgb4. Signed-off-by: Ayush Sawal Signed-off-by: Herbert Xu --- diff --git a/drivers/crypto/chelsio/chcr_algo.c b/drivers/crypto/chelsio/chcr_algo.c index 1b4a566..586dbc6 100644 --- a/drivers/crypto/chelsio/chcr_algo.c +++ b/drivers/crypto/chelsio/chcr_algo.c @@ -1379,7 +1379,8 @@ static int chcr_device_init(struct chcr_context *ctx) txq_perchan = ntxq / u_ctx->lldi.nchan; spin_lock(&ctx->dev->lock_chcr_dev); ctx->tx_chan_id = ctx->dev->tx_channel_id; - ctx->dev->tx_channel_id = !ctx->dev->tx_channel_id; + ctx->dev->tx_channel_id = + (ctx->dev->tx_channel_id + 1) % u_ctx->lldi.nchan; spin_unlock(&ctx->dev->lock_chcr_dev); rxq_idx = ctx->tx_chan_id * rxq_perchan; rxq_idx += id % rxq_perchan;