Commit 67a4ad04 authored by Ovidiu Panait's avatar Ovidiu Panait Committed by Herbert Xu
Browse files

crypto: sun8i-ce - remove ivlen field of sun8i_cipher_req_ctx



Remove `ivlen` field of `sun8i_cipher_req_ctx`, as it is not really useful.

The iv length returned by crypto_skcipher_ivsize() is already available
everywhere and can be used instead.

Signed-off-by: default avatarOvidiu Panait <ovidiu.panait.oss@gmail.com>
Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
parent b6cd3cfb
Loading
Loading
Loading
Loading
+6 −5
Original line number Diff line number Diff line
@@ -206,15 +206,14 @@ static int sun8i_ce_cipher_prepare(struct crypto_engine *engine, void *async_req
	cet->t_key = desc_addr_val_le32(ce, rctx->addr_key);

	ivsize = crypto_skcipher_ivsize(tfm);
	if (areq->iv && crypto_skcipher_ivsize(tfm) > 0) {
		rctx->ivlen = ivsize;
	if (areq->iv && ivsize > 0) {
		if (rctx->op_dir & CE_DECRYPTION) {
			offset = areq->cryptlen - ivsize;
			scatterwalk_map_and_copy(chan->backup_iv, areq->src,
						 offset, ivsize, 0);
		}
		memcpy(chan->bounce_iv, areq->iv, ivsize);
		rctx->addr_iv = dma_map_single(ce->dev, chan->bounce_iv, rctx->ivlen,
		rctx->addr_iv = dma_map_single(ce->dev, chan->bounce_iv, ivsize,
					       DMA_TO_DEVICE);
		if (dma_mapping_error(ce->dev, rctx->addr_iv)) {
			dev_err(ce->dev, "Cannot DMA MAP IV\n");
@@ -296,7 +295,8 @@ static int sun8i_ce_cipher_prepare(struct crypto_engine *engine, void *async_req
theend_iv:
	if (areq->iv && ivsize > 0) {
		if (!dma_mapping_error(ce->dev, rctx->addr_iv))
			dma_unmap_single(ce->dev, rctx->addr_iv, rctx->ivlen, DMA_TO_DEVICE);
			dma_unmap_single(ce->dev, rctx->addr_iv, ivsize,
					 DMA_TO_DEVICE);

		offset = areq->cryptlen - ivsize;
		if (rctx->op_dir & CE_DECRYPTION) {
@@ -345,7 +345,8 @@ static void sun8i_ce_cipher_unprepare(struct crypto_engine *engine,

	if (areq->iv && ivsize > 0) {
		if (cet->t_iv)
			dma_unmap_single(ce->dev, rctx->addr_iv, rctx->ivlen, DMA_TO_DEVICE);
			dma_unmap_single(ce->dev, rctx->addr_iv, ivsize,
					 DMA_TO_DEVICE);
		offset = areq->cryptlen - ivsize;
		if (rctx->op_dir & CE_DECRYPTION) {
			memcpy(areq->iv, chan->backup_iv, ivsize);
+0 −2
Original line number Diff line number Diff line
@@ -260,7 +260,6 @@ static inline __le32 desc_addr_val_le32(struct sun8i_ce_dev *dev,
 * struct sun8i_cipher_req_ctx - context for a skcipher request
 * @op_dir:		direction (encrypt vs decrypt) for this request
 * @flow:		the flow to use for this request
 * @ivlen:		size of bounce_iv
 * @nr_sgs:		The number of source SG (as given by dma_map_sg())
 * @nr_sgd:		The number of destination SG (as given by dma_map_sg())
 * @addr_iv:		The IV addr returned by dma_map_single, need to unmap later
@@ -270,7 +269,6 @@ static inline __le32 desc_addr_val_le32(struct sun8i_ce_dev *dev,
struct sun8i_cipher_req_ctx {
	u32 op_dir;
	int flow;
	unsigned int ivlen;
	int nr_sgs;
	int nr_sgd;
	dma_addr_t addr_iv;