Commit 031bc3e8 authored by Ovidiu Panait's avatar Ovidiu Panait Committed by Herbert Xu
Browse files

crypto: sun8i-ce-cipher - use IS_ENABLED() checks for debugfs stats



Add IS_ENABLED(CONFIG_CRYPTO_DEV_SUN8I_CE_DEBUG) checks before the
fallback counter updates to make sure the code is not included when
debugfs statistics support is not enabled.

Also, drop the existing ifdef guards, since 'struct sun8i_ce_alg_template'
is always defined, even with CONFIG_CRYPTO_DEV_SUN8I_CE_DEBUG disabled.

Signed-off-by: default avatarOvidiu Panait <ovidiu.panait.oss@gmail.com>
Tested-by: default avatarCorentin LABBE <clabbe.montjoie@gmail.com>
Acked-by: default avatarCorentin LABBE <clabbe.montjoie@gmail.com>
Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
parent 8e379e8f
Loading
Loading
Loading
Loading
+30 −16
Original line number Diff line number Diff line
@@ -33,22 +33,30 @@ static int sun8i_ce_cipher_need_fallback(struct skcipher_request *areq)

	if (sg_nents_for_len(areq->src, areq->cryptlen) > MAX_SG ||
	    sg_nents_for_len(areq->dst, areq->cryptlen) > MAX_SG) {
		if (IS_ENABLED(CONFIG_CRYPTO_DEV_SUN8I_CE_DEBUG))
			algt->stat_fb_maxsg++;

		return true;
	}

	if (areq->cryptlen < crypto_skcipher_ivsize(tfm)) {
		if (IS_ENABLED(CONFIG_CRYPTO_DEV_SUN8I_CE_DEBUG))
			algt->stat_fb_leniv++;

		return true;
	}

	if (areq->cryptlen == 0) {
		if (IS_ENABLED(CONFIG_CRYPTO_DEV_SUN8I_CE_DEBUG))
			algt->stat_fb_len0++;

		return true;
	}

	if (areq->cryptlen % 16) {
		if (IS_ENABLED(CONFIG_CRYPTO_DEV_SUN8I_CE_DEBUG))
			algt->stat_fb_mod16++;

		return true;
	}

@@ -56,12 +64,16 @@ static int sun8i_ce_cipher_need_fallback(struct skcipher_request *areq)
	sg = areq->src;
	while (sg) {
		if (!IS_ALIGNED(sg->offset, sizeof(u32))) {
			if (IS_ENABLED(CONFIG_CRYPTO_DEV_SUN8I_CE_DEBUG))
				algt->stat_fb_srcali++;

			return true;
		}
		todo = min(len, sg->length);
		if (todo % 4) {
			if (IS_ENABLED(CONFIG_CRYPTO_DEV_SUN8I_CE_DEBUG))
				algt->stat_fb_srclen++;

			return true;
		}
		len -= todo;
@@ -72,12 +84,16 @@ static int sun8i_ce_cipher_need_fallback(struct skcipher_request *areq)
	sg = areq->dst;
	while (sg) {
		if (!IS_ALIGNED(sg->offset, sizeof(u32))) {
			if (IS_ENABLED(CONFIG_CRYPTO_DEV_SUN8I_CE_DEBUG))
				algt->stat_fb_dstali++;

			return true;
		}
		todo = min(len, sg->length);
		if (todo % 4) {
			if (IS_ENABLED(CONFIG_CRYPTO_DEV_SUN8I_CE_DEBUG))
				algt->stat_fb_dstlen++;

			return true;
		}
		len -= todo;
@@ -100,9 +116,7 @@ static int sun8i_ce_cipher_fallback(struct skcipher_request *areq)
		algt = container_of(alg, struct sun8i_ce_alg_template,
				    alg.skcipher.base);

#ifdef CONFIG_CRYPTO_DEV_SUN8I_CE_DEBUG
		algt->stat_fb++;
#endif
	}

	skcipher_request_set_tfm(&rctx->fallback_req, op->fallback_tfm);
@@ -146,9 +160,8 @@ static int sun8i_ce_cipher_prepare(struct crypto_engine *engine, void *async_req
		rctx->op_dir, areq->iv, crypto_skcipher_ivsize(tfm),
		op->keylen);

#ifdef CONFIG_CRYPTO_DEV_SUN8I_CE_DEBUG
	if (IS_ENABLED(CONFIG_CRYPTO_DEV_SUN8I_CE_DEBUG))
		algt->stat_req++;
#endif

	flow = rctx->flow;

@@ -437,6 +450,7 @@ int sun8i_ce_cipher_init(struct crypto_tfm *tfm)
	crypto_skcipher_set_reqsize(sktfm, sizeof(struct sun8i_cipher_req_ctx) +
				    crypto_skcipher_reqsize(op->fallback_tfm));

	if (IS_ENABLED(CONFIG_CRYPTO_DEV_SUN8I_CE_DEBUG))
		memcpy(algt->fbname,
		       crypto_skcipher_driver_name(op->fallback_tfm),
		       CRYPTO_MAX_ALG_NAME);