From nobody Sun Oct 5 14:34:05 2025 Received: from mail-wr1-f41.google.com (mail-wr1-f41.google.com [209.85.221.41]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B45791DE8B5; Sun, 3 Aug 2025 19:11:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.41 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754248266; cv=none; b=l23t5src95ocrMbgb8akoa2/E1/yFEUDCm83aPmQjfgJGZoPGfeiGPumCqHdltugVRegk7bIOFnMyv3vAEcZYkJMHhOe5jyb5Z3IwjU0rsXPtNfhrn//XiWEXzDghCHQDrJLajT1+5gMXSikQcI//R7FVH2CUylb3z3XuPOJlcI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754248266; c=relaxed/simple; bh=JhryCQPIHZMBHN4Dh3iGOODDbabwR0S+i4gukSM6ud0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=iWL0ECy5WUyF7A7Dy0R6R1y4XpSD3HGqehJ6tYCu+H7LXR+icbET2PFpEAS9wGPi0LNSVBw23Dy69Q4TOhCMCchR9O+LmRJXSq7g/a3eDsdehGp6vCJQlSsxzhtovotB3jMVzNSBgGNlxopnGi/YPQeDniB/vXbZVtmvnFbjBpQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=EKhFhjIm; arc=none smtp.client-ip=209.85.221.41 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="EKhFhjIm" Received: by mail-wr1-f41.google.com with SMTP id ffacd0b85a97d-3b77b8750acso2313595f8f.0; Sun, 03 Aug 2025 12:11:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1754248263; x=1754853063; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=yzXOYoDcw0s4gQ4w74V4qvU2nwkX5U7En2+CKV1FmvU=; b=EKhFhjImTQFy/j+toRRyW8x2T7oe7KVpsl9vLpJZ8uTgZa5VQKhDGetzkGzveAvtYn qZtyj/gel3JYKYDsHeccID/F4Sln128RsBboc4PwpngcT8W7E81zce+e39GTMe8BJc3L bSRZ9S2OrMpV3TR3K7UVU0oWqUZgSVpKc0vREPh745TOJMxDLmxKy3pUI2SbLzhbsJOh UiH03SVlim5MD+LOG0Acrx0mb2qR58YVO7YPiSJuvB4+IrnLj8ivWVPYpe4OEagPDk5d rD2iTpcOdF3YUS8vVcPoQkrr4E/D0f8VRasj0p6LiAbd5H9JtL6NVHJksbPurge8F9xZ 1Clw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754248263; x=1754853063; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=yzXOYoDcw0s4gQ4w74V4qvU2nwkX5U7En2+CKV1FmvU=; b=ol2PnyN3NLGu8LGAew9VVmuv2gutSp+uoko1DHkIbsTr8cH4unF5CsZQ2lRU6cECXf 7qmiMNNQziAKTGLVSM4hExv5b5lxUN9wl1OBCgrI1aFzaeku26jvAaTOVN4f85SfTADf weNzQK/kQGIS6iRvCeO6rk7txgHUIhQiNKMoenkV4MuE2q8ObXHNCL+5SYBRcGHFFN9/ HfySOUCdS5t3HV+jWfn6VHF1oKbPZqaUd6m80d+oQxJziXPPoPNmW5ivxwoLvV0Xd7dF QUpwqWmL5cDNUK9AZ0lc6OnyW6sl5v+S0vVjBzK32hPkUADkQ0vAQRyyRd+i58VTbBT9 R5iQ== X-Forwarded-Encrypted: i=1; AJvYcCUXWe+q1eYXxGkzPCp4+1fj8qEVZucWMv10qs65FXjM3o+0QtdO538E8/NK+geke1CGo909G5ML7qF3I1ln@vger.kernel.org, AJvYcCWQ/9+rSTr6XTkEutAE8hYz+QZcjyP5IKdQrPL0S//dvW3wY+Kn6w616LsDbwLwAqai15InbxML/V6vzNg=@vger.kernel.org X-Gm-Message-State: AOJu0YyBx8yLMuQYq/Kv+5KGe3xDKS7GETI/z1fFaEHFSVSYW1SQyA0P r/+I7bgaX4gsQsMywXRJOgvE2oTXjKnvcymLrRHTo/U7FlCDrZOllIQr X-Gm-Gg: ASbGncvFNRxpiWN5Vk/+ik7chqPoaCbMudEhz/wjw30iFsQCm+xRgUqcgXsV2+rtWqw lOYhHhclyWojxtFoGskT8IazWC6MbXqjQVH13W+qNEyJ2+ma8QH3fsdJmJ7/re3b4gbVkXZrOeW z+Sv9wkXKm7PlRXmfFHr/3ev9lmhykt4W0Tcu4rprGhjqcLWUxCd/K4LBvTEzBW1BvaZGsBIVVg PvLTxsPZ4/e4yL4SP2kjRXRxrY5SWmZVnc0rApWOhHmLeS2Xtwp57A9iIIINQ7+0nO1HD9B5rvc t8NMRDbPPditWK3Jt3u8H0izDc6a6vlJeP+hXIDG5LSX9Fwtllx6kjcA8ipuHxkG1LdZTXkQDDx /+R0NnekCChJHt95ewCPxROfnpC+roDv942LcSVENrmjE X-Google-Smtp-Source: AGHT+IG9wEYs4+lgjHCzhOPCxH3cmlxe163baafRUi6P07GZhQb6rgYttNhQt1qtCDkr7AuXCuEO3g== X-Received: by 2002:a05:6000:420d:b0:3a4:f7dd:6fad with SMTP id ffacd0b85a97d-3b8d959d43cmr5579015f8f.14.1754248262831; Sun, 03 Aug 2025 12:11:02 -0700 (PDT) Received: from ws-linux01 ([2a02:2f0e:ca0d:f700:1210:b727:adc8:716]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b79c45346asm13099210f8f.39.2025.08.03.12.11.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 03 Aug 2025 12:11:02 -0700 (PDT) From: Ovidiu Panait To: clabbe.montjoie@gmail.com, herbert@gondor.apana.org.au, davem@davemloft.net, linux-crypto@vger.kernel.org Cc: wens@csie.org, jernej.skrabec@gmail.com, samuel@sholland.org, linux-arm-kernel@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-kernel@vger.kernel.org, Ovidiu Panait Subject: [PATCH v2 1/9] crypto: sun8i-ce - remove channel timeout field Date: Sun, 3 Aug 2025 22:10:21 +0300 Message-ID: <20250803191029.3592987-2-ovidiu.panait.oss@gmail.com> X-Mailer: git-send-email 2.50.0 In-Reply-To: <20250803191029.3592987-1-ovidiu.panait.oss@gmail.com> References: <20250803191029.3592987-1-ovidiu.panait.oss@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Using the number of bytes in the request as DMA timeout is really inconsistent, as large requests could possibly set a timeout of hundreds of seconds. Remove the per-channel timeout field and use a single, static DMA timeout of 3 seconds for all requests. Signed-off-by: Ovidiu Panait Tested-by: Corentin LABBE Reviewed-by: Corentin LABBE --- drivers/crypto/allwinner/sun8i-ce/sun8i-ce-cipher.c | 1 - drivers/crypto/allwinner/sun8i-ce/sun8i-ce-core.c | 5 ++--- drivers/crypto/allwinner/sun8i-ce/sun8i-ce-hash.c | 2 -- drivers/crypto/allwinner/sun8i-ce/sun8i-ce-prng.c | 1 - drivers/crypto/allwinner/sun8i-ce/sun8i-ce-trng.c | 1 - drivers/crypto/allwinner/sun8i-ce/sun8i-ce.h | 2 +- 6 files changed, 3 insertions(+), 9 deletions(-) diff --git a/drivers/crypto/allwinner/sun8i-ce/sun8i-ce-cipher.c b/drivers/= crypto/allwinner/sun8i-ce/sun8i-ce-cipher.c index 5663df49dd81..113a1100f2ae 100644 --- a/drivers/crypto/allwinner/sun8i-ce/sun8i-ce-cipher.c +++ b/drivers/crypto/allwinner/sun8i-ce/sun8i-ce-cipher.c @@ -276,7 +276,6 @@ static int sun8i_ce_cipher_prepare(struct crypto_engine= *engine, void *async_req goto theend_sgs; } =20 - chan->timeout =3D areq->cryptlen; rctx->nr_sgs =3D ns; rctx->nr_sgd =3D nd; return 0; diff --git a/drivers/crypto/allwinner/sun8i-ce/sun8i-ce-core.c b/drivers/cr= ypto/allwinner/sun8i-ce/sun8i-ce-core.c index 658f520cee0c..79ec172e5c99 100644 --- a/drivers/crypto/allwinner/sun8i-ce/sun8i-ce-core.c +++ b/drivers/crypto/allwinner/sun8i-ce/sun8i-ce-core.c @@ -210,11 +210,10 @@ int sun8i_ce_run_task(struct sun8i_ce_dev *ce, int fl= ow, const char *name) mutex_unlock(&ce->mlock); =20 wait_for_completion_interruptible_timeout(&ce->chanlist[flow].complete, - msecs_to_jiffies(ce->chanlist[flow].timeout)); + msecs_to_jiffies(CE_DMA_TIMEOUT_MS)); =20 if (ce->chanlist[flow].status =3D=3D 0) { - dev_err(ce->dev, "DMA timeout for %s (tm=3D%d) on flow %d\n", name, - ce->chanlist[flow].timeout, flow); + dev_err(ce->dev, "DMA timeout for %s on flow %d\n", name, flow); err =3D -EFAULT; } /* No need to lock for this read, the channel is locked so diff --git a/drivers/crypto/allwinner/sun8i-ce/sun8i-ce-hash.c b/drivers/cr= ypto/allwinner/sun8i-ce/sun8i-ce-hash.c index 13bdfb8a2c62..b26f5427c1e0 100644 --- a/drivers/crypto/allwinner/sun8i-ce/sun8i-ce-hash.c +++ b/drivers/crypto/allwinner/sun8i-ce/sun8i-ce-hash.c @@ -446,8 +446,6 @@ int sun8i_ce_hash_run(struct crypto_engine *engine, voi= d *breq) else cet->t_dlen =3D cpu_to_le32(areq->nbytes / 4 + j); =20 - chan->timeout =3D areq->nbytes; - err =3D sun8i_ce_run_task(ce, flow, crypto_ahash_alg_name(tfm)); =20 dma_unmap_single(ce->dev, addr_pad, j * 4, DMA_TO_DEVICE); diff --git a/drivers/crypto/allwinner/sun8i-ce/sun8i-ce-prng.c b/drivers/cr= ypto/allwinner/sun8i-ce/sun8i-ce-prng.c index 762459867b6c..d0a1ac66738b 100644 --- a/drivers/crypto/allwinner/sun8i-ce/sun8i-ce-prng.c +++ b/drivers/crypto/allwinner/sun8i-ce/sun8i-ce-prng.c @@ -137,7 +137,6 @@ int sun8i_ce_prng_generate(struct crypto_rng *tfm, cons= t u8 *src, =20 cet->t_dst[0].addr =3D desc_addr_val_le32(ce, dma_dst); cet->t_dst[0].len =3D cpu_to_le32(todo / 4); - ce->chanlist[flow].timeout =3D 2000; =20 err =3D sun8i_ce_run_task(ce, 3, "PRNG"); mutex_unlock(&ce->rnglock); diff --git a/drivers/crypto/allwinner/sun8i-ce/sun8i-ce-trng.c b/drivers/cr= ypto/allwinner/sun8i-ce/sun8i-ce-trng.c index e1e8bc15202e..244529bf0616 100644 --- a/drivers/crypto/allwinner/sun8i-ce/sun8i-ce-trng.c +++ b/drivers/crypto/allwinner/sun8i-ce/sun8i-ce-trng.c @@ -79,7 +79,6 @@ static int sun8i_ce_trng_read(struct hwrng *rng, void *da= ta, size_t max, bool wa =20 cet->t_dst[0].addr =3D desc_addr_val_le32(ce, dma_dst); cet->t_dst[0].len =3D cpu_to_le32(todo / 4); - ce->chanlist[flow].timeout =3D todo; =20 err =3D sun8i_ce_run_task(ce, 3, "TRNG"); mutex_unlock(&ce->rnglock); diff --git a/drivers/crypto/allwinner/sun8i-ce/sun8i-ce.h b/drivers/crypto/= allwinner/sun8i-ce/sun8i-ce.h index 0f9a89067016..f12c32d1843f 100644 --- a/drivers/crypto/allwinner/sun8i-ce/sun8i-ce.h +++ b/drivers/crypto/allwinner/sun8i-ce/sun8i-ce.h @@ -106,6 +106,7 @@ #define MAX_SG 8 =20 #define CE_MAX_CLOCKS 4 +#define CE_DMA_TIMEOUT_MS 3000 =20 #define MAXFLOW 4 =20 @@ -196,7 +197,6 @@ struct sun8i_ce_flow { struct completion complete; int status; dma_addr_t t_phy; - int timeout; struct ce_task *tl; void *backup_iv; void *bounce_iv; --=20 2.50.0 From nobody Sun Oct 5 14:34:05 2025 Received: from mail-wm1-f43.google.com (mail-wm1-f43.google.com [209.85.128.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E46131EDA2A; Sun, 3 Aug 2025 19:11:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.43 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754248267; cv=none; b=Brirx4EZ8rqelGByhEHXqCDBK06NsNlguqCk2EGSbADCbO0yjW/dlaxOjCiaBZ8qzFw3/IKmU+whwZx2xTv5BMj4TLNR4uapOG0P3OmYoVpL3O+OKjgmm7TdrlM4/mNwDXhCq+hRS+M3hxhSfvl0xesryREyMOcgJtz/3yhGRSk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754248267; c=relaxed/simple; bh=kyASvvV0C6502P156s4uvhgiJ2anCkqmkQU+DPnmJLM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=PaKQeJNrOytBPll3HuiUDqXAY1HjZZhKIjUUX+uVSQGaXCUAJ2Ggcelcb/K62IugB9rrx1TK4CCu7OamAjlBTT01bQ++bj+i2nXO7MwhtAjJxIOnQVRt70qHn5wEy+DJdPSitE6ZzHnwnFkZHfS43QjzqSakLEekOrMYMjssT9s= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=dKhJfz18; arc=none smtp.client-ip=209.85.128.43 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="dKhJfz18" Received: by mail-wm1-f43.google.com with SMTP id 5b1f17b1804b1-458baf449cbso13490245e9.0; Sun, 03 Aug 2025 12:11:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1754248264; x=1754853064; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=6ElWdGUyg9Q9uvasE/0knQrvGqeT+AHFO5zlC/AHADc=; b=dKhJfz18VAaT2rMb1Guh5q9yy3zAvedGz8rRPa6cFPRMJb+PpNsTGi/clKLtiFgh2A lTrBVfsPIuO+QVp7s0wAYJSHqYDQY7FkFB+k2avx+1QsKufXkarq+0o4Yg5uEWgQz+ld frxM0tUVgses9eo/GhXlKfVPX/BoB3lPtufhEMkdhEvMayXqI2tHFlAnjlOCZN3MXdXa OFQH6bcJ/5aURwpSL2Mt0Xby4sN/Ojr1dGJirgOrZBCGJcgNwEbZ3xEmJ/DMYLPAzxMU 0JTzS54otcNCdFsoprZ8E8Cd6iUzbqXo4Loi17eF+EsIJS+RvsxJBEDzF5DxzfNV+bMQ tIfg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754248264; x=1754853064; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=6ElWdGUyg9Q9uvasE/0knQrvGqeT+AHFO5zlC/AHADc=; b=ndfpzlQ0KBWMACfZUkdL4xGS6BIgCc/ATDE6dEgQvMsO1Drf92bnQniIU2gASgWjdW OKMDEAyHiUdIrn6QAB34BsyRGuFnuwS8NBS5LHIqUPdmdmWCxxCjo8fIp5BPJYsf1Xr9 q6xKoyB09Fc9laR7lL4dltcz7jzfU6k/8ZRfbgATKUNc6euAJo0BA1+Q/+H6RJ14E/d9 N9/ikXVFwkAX5w+A9wzxJKoZzwFcaLxRPIiBsVkTPhdSNnSWonbvae5Jq92lQnaBIXhK Sc/5cJmLNuN+j558xv59/e2SAsizvafVva6lM/rjhsOPqjQmIJB/vZ1eplybtiDpRqF4 ZrZg== X-Forwarded-Encrypted: i=1; AJvYcCVnmTUWWiI5cNoNtssz4+l8oKk2sjTd5jsWYqC0v6foeiVdHFA+/EmbXpRscmiVcds6Lifw5RfV9Ljkdug=@vger.kernel.org, AJvYcCX2yYkgZtV/rknsVstqakhkL3JEmqaIE/BiQCjmAV+m5jXh5Osu4nzWvujbgrgsMxWDcRsX1h3ezqe7v8HJ@vger.kernel.org X-Gm-Message-State: AOJu0Yw5aXvwTHHX4fsMzjqiLT+jneh//d3rCT1j5FLavGIjldReMoRz Qbwl8iuGWHdDY+MUTPgPetJTrbbCvg5XIRYohmUUosydO1ATr9ZOORUt X-Gm-Gg: ASbGnctFjBtmGQgNXqEj7T7+8BScYZfS5rmq4cuhCHRc8Ep/s5NEH11PyK/OyoYWX4a kbqJ0K/FdWfEXxvrwc598vawb9R47zVYzHCB39x0FzO4boltmBDW7y1YYag2gZBD3UBiEdzEDeQ g50uAuePeB26Leke3G70uRazx0smC3qK7xyjdLhxHxBm7I3TafvxzykbhxB2mxdqVdcRFgoD4VY s4rLuNgMWr6ZXpKoqHj85r3ZVmpSt1mocoje6hJNHHGeQopr3EYLw6OXUb2T/KHLoB9BpFhojpW jKe+rJSfg5fTOwSJBgQMGURD7wLHn9uRXoWPRjW9q5Fs73y/Iq237EAN5mRdqZi9VKNCmLqn6LK 5Jyqdsa33TT8vOiFZeFi49RsVo7eFyV/lEw== X-Google-Smtp-Source: AGHT+IEuwtHoQB0DUIyO/0Z1tXMmBf/alEdLn9qmJWqD0USge+nGe1p/Rv0Bwaf6WNGkHFKl9ruVMA== X-Received: by 2002:a05:6000:310c:b0:3b7:93d3:f478 with SMTP id ffacd0b85a97d-3b8d94ce4a7mr4645712f8f.51.1754248264043; Sun, 03 Aug 2025 12:11:04 -0700 (PDT) Received: from ws-linux01 ([2a02:2f0e:ca0d:f700:1210:b727:adc8:716]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b79c45346asm13099210f8f.39.2025.08.03.12.11.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 03 Aug 2025 12:11:03 -0700 (PDT) From: Ovidiu Panait To: clabbe.montjoie@gmail.com, herbert@gondor.apana.org.au, davem@davemloft.net, linux-crypto@vger.kernel.org Cc: wens@csie.org, jernej.skrabec@gmail.com, samuel@sholland.org, linux-arm-kernel@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-kernel@vger.kernel.org, Ovidiu Panait Subject: [PATCH v2 2/9] crypto: sun8i-ce - remove boilerplate in sun8i_ce_hash_digest() Date: Sun, 3 Aug 2025 22:10:22 +0300 Message-ID: <20250803191029.3592987-3-ovidiu.panait.oss@gmail.com> X-Mailer: git-send-email 2.50.0 In-Reply-To: <20250803191029.3592987-1-ovidiu.panait.oss@gmail.com> References: <20250803191029.3592987-1-ovidiu.panait.oss@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Retrieve the dev pointer from tfm context to eliminate some boilerplate code in sun8i_ce_hash_digest(). Signed-off-by: Ovidiu Panait Tested-by: Corentin LABBE Reviewed-by: Corentin LABBE --- drivers/crypto/allwinner/sun8i-ce/sun8i-ce-hash.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/drivers/crypto/allwinner/sun8i-ce/sun8i-ce-hash.c b/drivers/cr= ypto/allwinner/sun8i-ce/sun8i-ce-hash.c index b26f5427c1e0..61e8d968fdcc 100644 --- a/drivers/crypto/allwinner/sun8i-ce/sun8i-ce-hash.c +++ b/drivers/crypto/allwinner/sun8i-ce/sun8i-ce-hash.c @@ -238,19 +238,15 @@ static bool sun8i_ce_hash_need_fallback(struct ahash_= request *areq) int sun8i_ce_hash_digest(struct ahash_request *areq) { struct crypto_ahash *tfm =3D crypto_ahash_reqtfm(areq); - struct ahash_alg *alg =3D __crypto_ahash_alg(tfm->base.__crt_alg); + struct sun8i_ce_hash_tfm_ctx *ctx =3D crypto_ahash_ctx(tfm); struct sun8i_ce_hash_reqctx *rctx =3D ahash_request_ctx(areq); - struct sun8i_ce_alg_template *algt; - struct sun8i_ce_dev *ce; + struct sun8i_ce_dev *ce =3D ctx->ce; struct crypto_engine *engine; int e; =20 if (sun8i_ce_hash_need_fallback(areq)) return sun8i_ce_hash_digest_fb(areq); =20 - algt =3D container_of(alg, struct sun8i_ce_alg_template, alg.hash.base); - ce =3D algt->ce; - e =3D sun8i_ce_get_engine_number(ce); rctx->flow =3D e; engine =3D ce->chanlist[e].engine; --=20 2.50.0 From nobody Sun Oct 5 14:34:05 2025 Received: from mail-wr1-f53.google.com (mail-wr1-f53.google.com [209.85.221.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4E2B01F4617; Sun, 3 Aug 2025 19:11:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.53 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754248268; cv=none; b=Pw8JxCO/75wLY5KgV3PH5E4TD83ZaxQgpClejbHGe9Rd19I66eRlBBanCYsMJlgNrwIrRA+weIkRWoCCnbd1I6vS5hWz81K6UhukMxYbOlSuXlg2TqWZBvP7lL5bsh5CE4lbtJf+xvQExpOnIiOX9Imj3MYOxAYqVwYZy1S2/mg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754248268; c=relaxed/simple; bh=bsrtN/UNG9iIkOTFtbf/aBs98lsRgQ3mXT6PfL4G5aE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=VBEZXQKFv8HNv/KsMwJULwW9tYyoE77ErpkUow/0SIhR5Cv7iTZK9QCKGlj7IBUKcRaNB7Gm5wn0U/ptb31p+MFSkzUpSlqZMYOJGNUq1F3yKVPjo1ogNNPtBs66HHIkYbmN1FkdPzDzOGLY1MCKVJDXrsuGhMdsGBcTjpWlALY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=N5hJJtBO; arc=none smtp.client-ip=209.85.221.53 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="N5hJJtBO" Received: by mail-wr1-f53.google.com with SMTP id ffacd0b85a97d-3b8d0f1fb49so1751205f8f.2; Sun, 03 Aug 2025 12:11:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1754248266; x=1754853066; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=9SQo1VWDa8L0gOXuwTFV8cUa7G4/T2C+1QUOVeEgYOo=; b=N5hJJtBOxSPXciwE78Cav4PEeI8lySy5i909p5TfFeTOTpiAzcJTQ45lcyBXvFMlX0 931y1+pcUpLZd0naK3zl+XMf5y4Ueor+9w0el8k9Np9cPLQ/a9IKrQSaRfRVrBJ7r1f1 ckQ6OgDrGtbuH5BiuSfLTPQXwDqMqMHjFFMg5wgcIcFXf85kRIa+udeflFigs2TihOoK SAcLKEjHbV7Cr9vkveWD1Zz1sOQw2D2Gm1as6w8biT6PJH/OIkEhqJ9pvTxmjdHtOfYf JPcq8cPrX+H8VE5CdTtgfJUfMWFkfff48nSw00il5izr4MIIjgo5HX7+5S1JjiHHBo5l smSA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754248266; x=1754853066; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=9SQo1VWDa8L0gOXuwTFV8cUa7G4/T2C+1QUOVeEgYOo=; b=RG6KH11pPtLqthqsvIXQy/q2vt9AF1Quo+7R5i7uJymNbs6JBbt3S45rDfs9gA+IqU 0AYUvBD8iAgWudheDTRYfpvWPYiwLUAI9sC5gEDs/s7eOiXV9N0++iMPxkr//bNp79ld AuZ8483bAVgNXiC1g4hGzH/C3Rk8cu3GG+66WfTnixIxg0ye/gOPHaAXPOyhxUrIb/VT 6jTUUSWxXQ1CJPAJuVJkdy+EaEC94RsZZ92HziThecM1rLabMuaXHA/Q7+7Ui92dGWdr x6jdMNToi7KxXODb4ycHkhJ/t9sx8YiCm0SbfiF+yLvaRbQD4tMq+eisv/WOTudGjT24 1d0w== X-Forwarded-Encrypted: i=1; AJvYcCVuFHGf6SFXCyBJElznuZLNe4RbXQhHEYEirlXFMCfuxGggo0KVdbrZp61xuozZQHWl1Lvua7mtAGriM7c=@vger.kernel.org, AJvYcCXHBNKNN7BuJ/i2iCrDB4D63xs8a/VFeBBzJnzcwAqzJZ0TcSKKvtSbAyzQwzPAuIRO6NRIRg+YZyF82hBn@vger.kernel.org X-Gm-Message-State: AOJu0YwgO9yAeuH8/aWzhJRy1p9s/TURmWirCDbA0WpnGadYGmknxs6l V29gALiykSiAxtP91D0Opt8sS7iBXxu27oAApxZgzo7480nH0gjMGWz1 X-Gm-Gg: ASbGncsBpph7IJOFLVMmFCkiUUvu8oMhzW/heBptM+6KrSnNotEpOzUbO7qzwi2Eqz3 YzOMF9mzKZT6s35zM9xpGyO/MVb5KeOAAp0S2eZYstPBJdl+rs0cFothKduPLOm6SWv80yw/ZA4 KYBajgqsOCxUEnn6Nn7RTV3Wv0NvIjT0fDrBtSqqvrJ+4YG7k2Whvw+nIRyTfKXUiKofGDaLaYB SxlooCCeQrg56u07/sswx3o7qz1mL/4DtBvEuc7v83crGgZuyLTbqZcAP+KaoLof/NAEiVTvVKy Z/798GBoacj6PADY49s4aWOav6GbPRMrviuAr+43vTa6x49JL8YX6EihGF+ux0ByPMb7/b9alHZ U6akzu8EdLKhdGs9b3ae25h3LVnkuuWc6Rg== X-Google-Smtp-Source: AGHT+IGAkLXj89d8+BSh3EqnA4GVIsKBPznnVnW8s4SI6ImldpUHqZ4tb20/Ec2WyIE1Q5fljBDFvA== X-Received: by 2002:a5d:584e:0:b0:3a4:dfc2:bb60 with SMTP id ffacd0b85a97d-3b8d9481972mr4970990f8f.26.1754248265452; Sun, 03 Aug 2025 12:11:05 -0700 (PDT) Received: from ws-linux01 ([2a02:2f0e:ca0d:f700:1210:b727:adc8:716]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b79c45346asm13099210f8f.39.2025.08.03.12.11.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 03 Aug 2025 12:11:05 -0700 (PDT) From: Ovidiu Panait To: clabbe.montjoie@gmail.com, herbert@gondor.apana.org.au, davem@davemloft.net, linux-crypto@vger.kernel.org Cc: wens@csie.org, jernej.skrabec@gmail.com, samuel@sholland.org, linux-arm-kernel@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-kernel@vger.kernel.org, Ovidiu Panait Subject: [PATCH v2 3/9] crypto: sun8i-ce - remove unnecessary __maybe_unused annotations Date: Sun, 3 Aug 2025 22:10:23 +0300 Message-ID: <20250803191029.3592987-4-ovidiu.panait.oss@gmail.com> X-Mailer: git-send-email 2.50.0 In-Reply-To: <20250803191029.3592987-1-ovidiu.panait.oss@gmail.com> References: <20250803191029.3592987-1-ovidiu.panait.oss@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" There are 3 instances of '__maybe_unused' annotations that are not needed, as the variables are always used, so remove them. Signed-off-by: Ovidiu Panait --- drivers/crypto/allwinner/sun8i-ce/sun8i-ce-cipher.c | 2 +- drivers/crypto/allwinner/sun8i-ce/sun8i-ce-core.c | 2 +- drivers/crypto/allwinner/sun8i-ce/sun8i-ce-hash.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/crypto/allwinner/sun8i-ce/sun8i-ce-cipher.c b/drivers/= crypto/allwinner/sun8i-ce/sun8i-ce-cipher.c index 113a1100f2ae..c57c64a1a388 100644 --- a/drivers/crypto/allwinner/sun8i-ce/sun8i-ce-cipher.c +++ b/drivers/crypto/allwinner/sun8i-ce/sun8i-ce-cipher.c @@ -111,7 +111,7 @@ static int sun8i_ce_cipher_fallback(struct skcipher_req= uest *areq) =20 if (IS_ENABLED(CONFIG_CRYPTO_DEV_SUN8I_CE_DEBUG)) { struct skcipher_alg *alg =3D crypto_skcipher_alg(tfm); - struct sun8i_ce_alg_template *algt __maybe_unused; + struct sun8i_ce_alg_template *algt; =20 algt =3D container_of(alg, struct sun8i_ce_alg_template, alg.skcipher.base); diff --git a/drivers/crypto/allwinner/sun8i-ce/sun8i-ce-core.c b/drivers/cr= ypto/allwinner/sun8i-ce/sun8i-ce-core.c index 79ec172e5c99..ba30859e749c 100644 --- a/drivers/crypto/allwinner/sun8i-ce/sun8i-ce-core.c +++ b/drivers/crypto/allwinner/sun8i-ce/sun8i-ce-core.c @@ -1062,7 +1062,7 @@ static int sun8i_ce_probe(struct platform_device *pde= v) pm_runtime_put_sync(ce->dev); =20 if (IS_ENABLED(CONFIG_CRYPTO_DEV_SUN8I_CE_DEBUG)) { - struct dentry *dbgfs_dir __maybe_unused; + struct dentry *dbgfs_dir; struct dentry *dbgfs_stats __maybe_unused; =20 /* Ignore error of debugfs */ diff --git a/drivers/crypto/allwinner/sun8i-ce/sun8i-ce-hash.c b/drivers/cr= ypto/allwinner/sun8i-ce/sun8i-ce-hash.c index 61e8d968fdcc..df2acef9c679 100644 --- a/drivers/crypto/allwinner/sun8i-ce/sun8i-ce-hash.c +++ b/drivers/crypto/allwinner/sun8i-ce/sun8i-ce-hash.c @@ -26,7 +26,7 @@ static void sun8i_ce_hash_stat_fb_inc(struct crypto_ahash *tfm) { if (IS_ENABLED(CONFIG_CRYPTO_DEV_SUN8I_CE_DEBUG)) { - struct sun8i_ce_alg_template *algt __maybe_unused; + struct sun8i_ce_alg_template *algt; struct ahash_alg *alg =3D crypto_ahash_alg(tfm); =20 algt =3D container_of(alg, struct sun8i_ce_alg_template, --=20 2.50.0 From nobody Sun Oct 5 14:34:05 2025 Received: from mail-wm1-f50.google.com (mail-wm1-f50.google.com [209.85.128.50]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9DE461FDA92; Sun, 3 Aug 2025 19:11:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754248270; cv=none; b=YL9kvgz2AGLzX2CTI63wQKCQir8zqCyFZJHgptBmmyzOipKEwG8gwG+YkR1XYAEor+HDZ1u7ed+05KHlnm16qhp2KqDUeFOMrAG7G/VWViboTHTF5hkHc4M9z2fVyR4geVQCEgilDBCgx+w13Opc6U78vHHysIfFzTf5AcpdztE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754248270; c=relaxed/simple; bh=NuYFEKMaNu1hQjN2Md5xNm1r7h0CNUWlhKkPh3zc5MU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ZG3k9PCxwy+AzPXqipsP8plMlvDUEmCTvaZZeG3IO8edgfbE7fhdL34olymH2zc7VdekULKS8dIwfu3VK2azG0doY7tO3vOvuOf3TDC9ystB8cPVBqHIHXwOrZwXSKd68gidUt0nv3dBifjcoiRyiR0wGN6V6Tw5ryBQ+wlxFu0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=J0wVtLdJ; arc=none smtp.client-ip=209.85.128.50 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="J0wVtLdJ" Received: by mail-wm1-f50.google.com with SMTP id 5b1f17b1804b1-458bece40fcso5525005e9.3; Sun, 03 Aug 2025 12:11:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1754248267; x=1754853067; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Qolo47kLruRZDje5v7puvJiYv8DgcRb8St2Hs5XCLlg=; b=J0wVtLdJGMPvfZ7XNeWwSdv22DkHtZD7ybiModzFB3TIPDmhuWLJNcCBNX7FNLhSiy +ddzXLSvm9bjHXeb+6T3A7RSlA+5RrNArGDPUxNIOPCGAIdvtu0kaiV46WXZhe75l9Ve wjp0RF0GQS1Hc5cffmN4RsdGVgy6fQZin/ABEphZ2S3+QSWxMk3EAdnGiTcuAFAVTD0v iBfrs7ncA71gXXEdWUSI1RSLQzBdgzXoEAG3J2omwCEF7kXmRWtLem/MgGYv2X4Xj0lQ lgTY2rFW11JvIL2XDnlmFfd/2j/Nqs4Kfrc4OW1a6JL2eSjtZYY/6ZzLrWH9UFG3XYvg 6Trw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754248267; x=1754853067; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Qolo47kLruRZDje5v7puvJiYv8DgcRb8St2Hs5XCLlg=; b=tm/fAe401DG5W9BsLstKWhIXSRcrVVmbKppX/5q4KL+7jxbQ2zays7UZgdneLvC148 tZTH7vjPEU3UBTLcjp45hDX1ZzIVr0dJvmnUrVHLU8LCSwdRsAA+zYe2inGT2v88XltS ybZ+IEPfbnluG4at/+pllrKNUuwKF3fIPWFFD7OX1EliDWreH1m95AyY5luMZ+i4zjAM 52ZvBmdHZBHTPw/sxRo/yYunbM4tKsseCcfNMZhFV5HkVQ3HexFc/p7K0BukocqEHw88 m2ZEgv76WWwAPjTfHjs9UTrmUP5kQmxtkX9d+dfHBn6Edu0Wn46g6ocp7ilyouFOaqP7 wOZg== X-Forwarded-Encrypted: i=1; AJvYcCW0Rq6nwX4nHuXu9C1tTEjO2ddC09ZIRjkuzHie4tKGGReG2qojJrA5cvD9gNn5syoLkdsEF19p4SXrWdg=@vger.kernel.org, AJvYcCWYZxaQkYA8q0npddNY46SpbKDZ5cAVAdCLRXFbct8Pq4n1+l+jAGiYdpigjsvetIh4P/x5/OUwG0T+K2sL@vger.kernel.org X-Gm-Message-State: AOJu0Yx8KsKxcq8HpULZ6nwN3LdOJdi/wvt2AAE84yH83WwJT+MDPEUP ZHEjGS+2VzlBds9snfc8Gxrg6vIWN5AwmDY7TX1H3tpDrORiAfBwZ6ep X-Gm-Gg: ASbGncsN2NfdTqqaLJuGpKU85YbsGSIBBnWCPw5iXFa308R1wqDRW2ddrYulQLQQMS5 ro0CzcyEw99pbaqy5f4CJDaYF7UO6e4AQo4whphBOILes1AfZDK8phRFl8YA6rYubyN4Lv2Iwb6 VyNXWYh3fxgfPwugxTDLYn4c7mug+8nExoipYh2a87aVue8cP0wx4sicSm0W6Yk77q2SV/jXK4a eP2A0WcV4O0UVHrUFTB7x4eg7dy2B2NjZusk7Az5GzVayMbFxm+HpG+Na7rTaHiKjBpKEtybT7U Nd/Psan9tX1ZhAQFjEPSTbidDlccMUyXYKBn82elTJF3+deoJAF3P66e0fGGzYB8QY9zbU+MMwp fvbqLac583ckXqzcPG+HuLMTP/0II4cdnXw== X-Google-Smtp-Source: AGHT+IHJPGckbzUmSSL2cgE0cCZx9wW/o8POt8Pcz8H/fgdDIEL5DMDINIkmWcO6ymEP+suWYNdLTw== X-Received: by 2002:a05:600c:4692:b0:456:1a69:94fa with SMTP id 5b1f17b1804b1-458b69dd831mr46823935e9.13.1754248266873; Sun, 03 Aug 2025 12:11:06 -0700 (PDT) Received: from ws-linux01 ([2a02:2f0e:ca0d:f700:1210:b727:adc8:716]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b79c45346asm13099210f8f.39.2025.08.03.12.11.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 03 Aug 2025 12:11:06 -0700 (PDT) From: Ovidiu Panait To: clabbe.montjoie@gmail.com, herbert@gondor.apana.org.au, davem@davemloft.net, linux-crypto@vger.kernel.org Cc: wens@csie.org, jernej.skrabec@gmail.com, samuel@sholland.org, linux-arm-kernel@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-kernel@vger.kernel.org, Ovidiu Panait Subject: [PATCH v2 4/9] crypto: sun8i-ce - add a new function for dumping task descriptors Date: Sun, 3 Aug 2025 22:10:24 +0300 Message-ID: <20250803191029.3592987-5-ovidiu.panait.oss@gmail.com> X-Mailer: git-send-email 2.50.0 In-Reply-To: <20250803191029.3592987-1-ovidiu.panait.oss@gmail.com> References: <20250803191029.3592987-1-ovidiu.panait.oss@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" In order to remove code duplication, factor out task descriptor dumping to a new function sun8i_ce_dump_task_descriptors(). Signed-off-by: Ovidiu Panait --- .../crypto/allwinner/sun8i-ce/sun8i-ce-core.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/drivers/crypto/allwinner/sun8i-ce/sun8i-ce-core.c b/drivers/cr= ypto/allwinner/sun8i-ce/sun8i-ce-core.c index ba30859e749c..b7093fbb8e9d 100644 --- a/drivers/crypto/allwinner/sun8i-ce/sun8i-ce-core.c +++ b/drivers/crypto/allwinner/sun8i-ce/sun8i-ce-core.c @@ -169,6 +169,12 @@ static const struct ce_variant ce_r40_variant =3D { .trng =3D CE_ID_NOTSUPP, }; =20 +static void sun8i_ce_dump_task_descriptors(struct sun8i_ce_flow *chan) +{ + print_hex_dump(KERN_INFO, "TASK: ", DUMP_PREFIX_NONE, 16, 4, + chan->tl, sizeof(struct ce_task), false); +} + /* * sun8i_ce_get_engine_number() get the next channel slot * This is a simple round-robin way of getting the next channel @@ -183,7 +189,6 @@ int sun8i_ce_run_task(struct sun8i_ce_dev *ce, int flow= , const char *name) { u32 v; int err =3D 0; - struct ce_task *cet =3D ce->chanlist[flow].tl; =20 #ifdef CONFIG_CRYPTO_DEV_SUN8I_CE_DEBUG ce->chanlist[flow].stat_req++; @@ -225,9 +230,8 @@ int sun8i_ce_run_task(struct sun8i_ce_dev *ce, int flow= , const char *name) /* Sadly, the error bit is not per flow */ if (v) { dev_err(ce->dev, "CE ERROR: %x for flow %x\n", v, flow); + sun8i_ce_dump_task_descriptors(&ce->chanlist[flow]); err =3D -EFAULT; - print_hex_dump(KERN_INFO, "TASK: ", DUMP_PREFIX_NONE, 16, 4, - cet, sizeof(struct ce_task), false); } if (v & CE_ERR_ALGO_NOTSUP) dev_err(ce->dev, "CE ERROR: algorithm not supported\n"); @@ -244,9 +248,8 @@ int sun8i_ce_run_task(struct sun8i_ce_dev *ce, int flow= , const char *name) v &=3D 0xF; if (v) { dev_err(ce->dev, "CE ERROR: %x for flow %x\n", v, flow); + sun8i_ce_dump_task_descriptors(&ce->chanlist[flow]); err =3D -EFAULT; - print_hex_dump(KERN_INFO, "TASK: ", DUMP_PREFIX_NONE, 16, 4, - cet, sizeof(struct ce_task), false); } if (v & CE_ERR_ALGO_NOTSUP) dev_err(ce->dev, "CE ERROR: algorithm not supported\n"); @@ -260,9 +263,8 @@ int sun8i_ce_run_task(struct sun8i_ce_dev *ce, int flow= , const char *name) v &=3D 0xFF; if (v) { dev_err(ce->dev, "CE ERROR: %x for flow %x\n", v, flow); + sun8i_ce_dump_task_descriptors(&ce->chanlist[flow]); err =3D -EFAULT; - print_hex_dump(KERN_INFO, "TASK: ", DUMP_PREFIX_NONE, 16, 4, - cet, sizeof(struct ce_task), false); } if (v & CE_ERR_ALGO_NOTSUP) dev_err(ce->dev, "CE ERROR: algorithm not supported\n"); --=20 2.50.0 From nobody Sun Oct 5 14:34:05 2025 Received: from mail-wr1-f44.google.com (mail-wr1-f44.google.com [209.85.221.44]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id EE3221EDA2A; Sun, 3 Aug 2025 19:11:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754248272; cv=none; b=rpMTXwVr9OMLH+/kwUY2Ef18jfoTfrjQ79czHWUVDhRAMoG7HKMVqCqXdSR27xAzphFjDcu92aYINx196dXSyYKebHOnG8TWTmcbO6d6KDrxxKR3bjSqJsSCh9kSf7xClWWIlXtOiGjd08/XVQ1rjXq3CFp+YkZ6Lr+0kvo49Bo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754248272; c=relaxed/simple; bh=4gturWBm9llQ03CvUeU357O9qcWzGD7EQUK/d5jFGRE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Noy+tXNGHh3fdZgCOACjVy5aN2EthpQa/Glx/1eBMiwJvnDzI+EX3Ykcr+mBjkeeO6kDAY6jFKYj4u7weLLt/jxUkQWcSSm4MVAL3M/VijEtGQJ+FA6PfTkMXI5jXxepoAB52cDnx2VRJJALRg6DJ82Hbnvuza2dXCl6UaBLPkM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=ThDZCANB; arc=none smtp.client-ip=209.85.221.44 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="ThDZCANB" Received: by mail-wr1-f44.google.com with SMTP id ffacd0b85a97d-3b782cca9a0so1968085f8f.1; Sun, 03 Aug 2025 12:11:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1754248268; x=1754853068; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=+X8fG0ywPfrmQVR6r26O20nKFt/URQggWx0ndoBVaZQ=; b=ThDZCANBm/NhB8vhImGUKHH6uS4+1DA+5F5Z46c7JaMCyoXOYrRetQHRipZcbSac8i Eawug6ial7m1rA+TW7z+A3AkDjnzBa2pomfX7uM5OzsDqa1wNzeWDXeQ4zTvsWas/kse G3/TI0rS5bVOR3ZIdGwBSrFpUIi+taTMJhQQixbb750koj2hOKEFAvV8yMXx1DSeqFz2 On5TUgXYa+9PRVFH6M8K67sz+yoA7u90Oyxzd3Moz5LYTXtuyCwzK0jGGknPMs2vgvoB CibVk8HTag1ZEC5qtf4WDn7RdEuffICZx4ZKdDVdbrz7cCf3YFRF0TykmnpqduJPwid2 2FSw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754248268; x=1754853068; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=+X8fG0ywPfrmQVR6r26O20nKFt/URQggWx0ndoBVaZQ=; b=F1zPRiwih0YQy65C1eNohvV2anRcJwasSR3EfovkcBY8qBglTZR98+cxiKAtMTeuqZ FgqAZadiiKiHYb0dBCwxnlDuPBNHLa9NtzHReEgauO/mB3/2sfRvVhwDfu9UYXD7RhVt V85HQ3TD5MMEIvkaAmKjQMaqiEzbaNPhL1SfmJXxlNN66jAvxq6T4NiAI+aY9f1vjBnZ F6LmE5DNDvX8i91UcZ0TO2Nz3wbd+toMBVtiFLNuEOqcq/1PiCmQCeBRVRHF8iemzXgo 2Mxxs7hCsG9fRa1NcgZ/js7E3ETdyO5cxYpLgSgqP7x//aNX6hv07vGkVM4zxWKMyw1F dZ9Q== X-Forwarded-Encrypted: i=1; AJvYcCVDw/TvJB6wBSlYMehXg3iu/3Zk91J5mEs/I39AdF/UDRUcjbN07XhmolRGMEkAlriUH27KtBp6qgmtQDIn@vger.kernel.org, AJvYcCWMvEsRj/e0b/M+No0fg43x/l77ghWxe8DZrTXmsre1NxVCP4yYXiI2TAoPAHxFFVdkbFwmss3nouHGcHI=@vger.kernel.org X-Gm-Message-State: AOJu0YylxOOm7CtoxlYgtlTIJB8vaetEJ9dTVjEkX1gM4A8/1X7uxiF2 c5u0ADP+9eA1o1rCApwXDoYZLrffbU27amZEvDnnAhf3hF9UxSsk5YQy X-Gm-Gg: ASbGncsgzgoeBIhH2P2XuFhNThwD/5fFIF2nz5U5psK7hNjMN/IePK4/ljSHMunUziB P9IE20xIAIxOItuZBQ4WlIoFI5fGGkb+pFmw5Y6dZnEp4mWe3Eprr2SIc1viznWBPu2GSwDao97 Y7xsnFy4GJgYLW9afDR5m5MGYDqX0LZ572SjizmCzf+U4pZdkA6s2lCbzlx8YjKyl4DuKWnreiJ 78XDEciwOl1fod9RXo8lSn51rSOI3qpG32yo8tHrHTEjClmPzORl8dKkV7dmPhMJK5yx/XeGfo+ fYYd1+9p8n4g4+cVojZqC9jGXINGLyczR54NfaQgal/dOGVaki9wSZm3Cy4+pJkjGrvPaZkp04Y cWeBw3iVofDiy45BzCayjGms7S8hFlSwVaA== X-Google-Smtp-Source: AGHT+IHmU63nL7KhrYVgzX7obJHqRHaKsmdzwuH3zpDNrqoBJQ2FLJGMFWpvAfGKl736d20CpxhjUQ== X-Received: by 2002:a05:6000:290c:b0:3b7:97c8:da97 with SMTP id ffacd0b85a97d-3b8d94baa99mr5568207f8f.43.1754248268189; Sun, 03 Aug 2025 12:11:08 -0700 (PDT) Received: from ws-linux01 ([2a02:2f0e:ca0d:f700:1210:b727:adc8:716]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b79c45346asm13099210f8f.39.2025.08.03.12.11.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 03 Aug 2025 12:11:07 -0700 (PDT) From: Ovidiu Panait To: clabbe.montjoie@gmail.com, herbert@gondor.apana.org.au, davem@davemloft.net, linux-crypto@vger.kernel.org Cc: wens@csie.org, jernej.skrabec@gmail.com, samuel@sholland.org, linux-arm-kernel@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-kernel@vger.kernel.org, Ovidiu Panait Subject: [PATCH v2 5/9] crypto: sun8i-ce - move bounce_iv and backup_iv to request context Date: Sun, 3 Aug 2025 22:10:25 +0300 Message-ID: <20250803191029.3592987-6-ovidiu.panait.oss@gmail.com> X-Mailer: git-send-email 2.50.0 In-Reply-To: <20250803191029.3592987-1-ovidiu.panait.oss@gmail.com> References: <20250803191029.3592987-1-ovidiu.panait.oss@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Currently, the iv buffers are allocated once per flow during driver probe. However, the iv buffers hold request-specific data, so they should be part of the request context. Therefore, allocate iv buffers per request, rather than per flow. Signed-off-by: Ovidiu Panait --- .../allwinner/sun8i-ce/sun8i-ce-cipher.c | 18 +++++++++--------- .../crypto/allwinner/sun8i-ce/sun8i-ce-core.c | 12 ------------ drivers/crypto/allwinner/sun8i-ce/sun8i-ce.h | 8 ++++---- 3 files changed, 13 insertions(+), 25 deletions(-) diff --git a/drivers/crypto/allwinner/sun8i-ce/sun8i-ce-cipher.c b/drivers/= crypto/allwinner/sun8i-ce/sun8i-ce-cipher.c index c57c64a1a388..69ba8236cf2d 100644 --- a/drivers/crypto/allwinner/sun8i-ce/sun8i-ce-cipher.c +++ b/drivers/crypto/allwinner/sun8i-ce/sun8i-ce-cipher.c @@ -209,11 +209,11 @@ static int sun8i_ce_cipher_prepare(struct crypto_engi= ne *engine, void *async_req if (areq->iv && ivsize > 0) { if (rctx->op_dir & CE_DECRYPTION) { offset =3D areq->cryptlen - ivsize; - scatterwalk_map_and_copy(chan->backup_iv, areq->src, + scatterwalk_map_and_copy(rctx->backup_iv, areq->src, offset, ivsize, 0); } - memcpy(chan->bounce_iv, areq->iv, ivsize); - rctx->addr_iv =3D dma_map_single(ce->dev, chan->bounce_iv, ivsize, + memcpy(rctx->bounce_iv, areq->iv, ivsize); + rctx->addr_iv =3D dma_map_single(ce->dev, rctx->bounce_iv, ivsize, DMA_TO_DEVICE); if (dma_mapping_error(ce->dev, rctx->addr_iv)) { dev_err(ce->dev, "Cannot DMA MAP IV\n"); @@ -299,13 +299,13 @@ static int sun8i_ce_cipher_prepare(struct crypto_engi= ne *engine, void *async_req =20 offset =3D areq->cryptlen - ivsize; if (rctx->op_dir & CE_DECRYPTION) { - memcpy(areq->iv, chan->backup_iv, ivsize); - memzero_explicit(chan->backup_iv, ivsize); + memcpy(areq->iv, rctx->backup_iv, ivsize); + memzero_explicit(rctx->backup_iv, ivsize); } else { scatterwalk_map_and_copy(areq->iv, areq->dst, offset, ivsize, 0); } - memzero_explicit(chan->bounce_iv, ivsize); + memzero_explicit(rctx->bounce_iv, ivsize); } =20 dma_unmap_single(ce->dev, rctx->addr_key, op->keylen, DMA_TO_DEVICE); @@ -348,13 +348,13 @@ static void sun8i_ce_cipher_unprepare(struct crypto_e= ngine *engine, DMA_TO_DEVICE); offset =3D areq->cryptlen - ivsize; if (rctx->op_dir & CE_DECRYPTION) { - memcpy(areq->iv, chan->backup_iv, ivsize); - memzero_explicit(chan->backup_iv, ivsize); + memcpy(areq->iv, rctx->backup_iv, ivsize); + memzero_explicit(rctx->backup_iv, ivsize); } else { scatterwalk_map_and_copy(areq->iv, areq->dst, offset, ivsize, 0); } - memzero_explicit(chan->bounce_iv, ivsize); + memzero_explicit(rctx->bounce_iv, ivsize); } =20 dma_unmap_single(ce->dev, rctx->addr_key, op->keylen, DMA_TO_DEVICE); diff --git a/drivers/crypto/allwinner/sun8i-ce/sun8i-ce-core.c b/drivers/cr= ypto/allwinner/sun8i-ce/sun8i-ce-core.c index b7093fbb8e9d..c16bb6ce6ee3 100644 --- a/drivers/crypto/allwinner/sun8i-ce/sun8i-ce-core.c +++ b/drivers/crypto/allwinner/sun8i-ce/sun8i-ce-core.c @@ -759,18 +759,6 @@ static int sun8i_ce_allocate_chanlist(struct sun8i_ce_= dev *ce) err =3D -ENOMEM; goto error_engine; } - ce->chanlist[i].bounce_iv =3D devm_kmalloc(ce->dev, AES_BLOCK_SIZE, - GFP_KERNEL | GFP_DMA); - if (!ce->chanlist[i].bounce_iv) { - err =3D -ENOMEM; - goto error_engine; - } - ce->chanlist[i].backup_iv =3D devm_kmalloc(ce->dev, AES_BLOCK_SIZE, - GFP_KERNEL); - if (!ce->chanlist[i].backup_iv) { - err =3D -ENOMEM; - goto error_engine; - } } return 0; error_engine: diff --git a/drivers/crypto/allwinner/sun8i-ce/sun8i-ce.h b/drivers/crypto/= allwinner/sun8i-ce/sun8i-ce.h index f12c32d1843f..0d46531c475c 100644 --- a/drivers/crypto/allwinner/sun8i-ce/sun8i-ce.h +++ b/drivers/crypto/allwinner/sun8i-ce/sun8i-ce.h @@ -188,8 +188,6 @@ struct ce_task { * @status: set to 1 by interrupt if task is done * @t_phy: Physical address of task * @tl: pointer to the current ce_task for this flow - * @backup_iv: buffer which contain the next IV to store - * @bounce_iv: buffer which contain the IV * @stat_req: number of request done by this flow */ struct sun8i_ce_flow { @@ -198,8 +196,6 @@ struct sun8i_ce_flow { int status; dma_addr_t t_phy; struct ce_task *tl; - void *backup_iv; - void *bounce_iv; #ifdef CONFIG_CRYPTO_DEV_SUN8I_CE_DEBUG unsigned long stat_req; #endif @@ -264,6 +260,8 @@ static inline __le32 desc_addr_val_le32(struct sun8i_ce= _dev *dev, * @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 * @addr_key: The key addr returned by dma_map_single, need to unmap later + * @bounce_iv: Current IV buffer + * @backup_iv: Next IV buffer * @fallback_req: request struct for invoking the fallback skcipher TFM */ struct sun8i_cipher_req_ctx { @@ -273,6 +271,8 @@ struct sun8i_cipher_req_ctx { int nr_sgd; dma_addr_t addr_iv; dma_addr_t addr_key; + u8 bounce_iv[AES_BLOCK_SIZE] ____cacheline_aligned; + u8 backup_iv[AES_BLOCK_SIZE] ____cacheline_aligned; struct skcipher_request fallback_req; // keep at the end }; =20 --=20 2.50.0 From nobody Sun Oct 5 14:34:05 2025 Received: from mail-wm1-f48.google.com (mail-wm1-f48.google.com [209.85.128.48]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 38E25212F98; Sun, 3 Aug 2025 19:11:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.48 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754248274; cv=none; b=tVaaq662EXhXNkCFRGjBEKMDfPchYCwZVwffoSeasrgTaeYWwS/9bhS11hbG752xZ5C5bUUmEqMoEb4YL8tT7C6/hhYk0TZcwN6ll2DBB8z2mptpyOLi718GKC02wOm5HxhHNe4z0IfOpNZoeVekNcRi+J1KfGef987jJD5AfRI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754248274; c=relaxed/simple; bh=VLxVkCzDUptZN3MLV6XyYZWlwBVycUnPTFTRKmIikGY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=WyixRnT82dcthX3KK50sLJ6EyNzJUYJ8b2Xt5oVcu3noxjldfuDxZrrowIfN7/EjTiF0sOQFKrr83u8nS/LGB8lMpTRo6oLNOZ4XldC5cXbOd+vTBlLIzOZUEZHf/Lem0awyurn/qcCq0fjiAGXo4T/SU1jDa76iYKBsrOeyguo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=AKskXXl8; arc=none smtp.client-ip=209.85.128.48 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="AKskXXl8" Received: by mail-wm1-f48.google.com with SMTP id 5b1f17b1804b1-458b49c98a7so11995875e9.1; Sun, 03 Aug 2025 12:11:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1754248270; x=1754853070; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=dlcibDkuEhs59MfzxPNpL2Xe4LDD/D/d8iw52Y6RVVM=; b=AKskXXl8DGL9ir/m6who0hh5PkHdAR6hDSs5WBYkFKLfmqyrnsZFEHMA0RRIJYFh4z dHhbmQknv94PS/rWuX/3GonXZiBah0gpiqwxCO11c0evtoSH/JudwPCfBeDQDuyv5H6+ 6ZVXqgzN+8oePmn5rkJpnPq9EWgPDpDjwhClKx9dqQNSsgjkxpQR995eH3I2NMsYAODI R7pNPJigK+I3slg0/g84W89qt7wnNUP1OeJjUhfPH9ytyyx/qHvZNQOK+3mV2E9MRXcs EEhxOQTDxAdbd6chHPcnvU5URB+xSKTQMT+c0JF9tJYEkh2bbmzSVkYOcGq+1FY0Rue2 OTPQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754248270; x=1754853070; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=dlcibDkuEhs59MfzxPNpL2Xe4LDD/D/d8iw52Y6RVVM=; b=c3D4l0cVXYhlHyyKQyCELANWmwCjx2YbTrEimdbcuPdPS0AV+3gIrxPZIjEJLG7dZn 1/IGvb096Hazrd6bu3WPMH9dz6mOrHWGeMoIH3XAs6QjGZ4MaQnqu+XDa5UELDbN+hUe MrQI2hwiTAL4oTo221qqU/CW6jAs39z9uLQl+9ljqwhpTiZclRAG3NLunCb5AXJobbd2 Z2SjRUHUNCHpa/YFULTil/iefFHTQGnJov/1AyJtSYjPSLsyQlbLwG1vponxRNk3DG+j wk63yUxECulxmfnZKfi5ZyVXf7vXzKLy5MDUinEEsj/SBS9VvMQMCFUEBd47f4E8sUSC SF8Q== X-Forwarded-Encrypted: i=1; AJvYcCUviwJrnyfIsKyUvJTe15TGxrDwsgXQ+zGo7pSjcnUIY39qGRhGi0z2y5CbVBISoVpGAd3DmXN7ZdfNu3c=@vger.kernel.org, AJvYcCXTxCerree0qY9Pp8KCrNOUEXyv77eFtzooT3l85C53pqMIsCGIYJ7SU6R0R+5IhKHT+XAs2tatUfgZ7YN7@vger.kernel.org X-Gm-Message-State: AOJu0YzJIz2VT2AfeWyruX4+cO7rN3f0ckKXTXP+C8GhbK/2a4MM3TpQ NISHs4gx6PlB4Bai3yjm/kXAtMiBuUGEDikbrp5xo3wMrrwx+AELNjkb X-Gm-Gg: ASbGnctB5qDiBM4HpndXQ4lSC5Rz0BnW1wSXBCwZ5510W7h5XI1UD+6J+ueRA7beBMA K31poLKEebZsE4zU91Os0WYnDryIBJbOOCk6tKRQsmZ+6gxWi9JpoZXUAhTPojnvKXxKcsETzjp gbSOvDEM5Mum0ab460UI5tJDLDRFGhUIM1TuqUlfiFy4pGdzKeYK7oewG0rUNPcQHK8o4J+b2+A z09xZKFhUmrYHkwtOsl/QH8tC9Hq+1OhzqpJjqvwxnfBvmOZjPvRsnLIcXONvESkwAL/YceeoOZ DzksACsQbZaKvWtPMxLKjTlBF9A2Qhhw634/DJyyvMKDjxtXA3KBN6H4E1oM+6qOO9oC2dREtFf QygkU84MYOvCWv1TluhNMcjDDgm3MMH8r5+3L5t3AORBi X-Google-Smtp-Source: AGHT+IHtfKq4zUbwXfC6aQHk7cG+DjOfnqmfBGllrsesIhnmsE+kULjZ44WqEg9ZZudwAxTaMk52SA== X-Received: by 2002:a05:600c:19c9:b0:459:d494:faf9 with SMTP id 5b1f17b1804b1-459d494fd04mr22075015e9.10.1754248269489; Sun, 03 Aug 2025 12:11:09 -0700 (PDT) Received: from ws-linux01 ([2a02:2f0e:ca0d:f700:1210:b727:adc8:716]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b79c45346asm13099210f8f.39.2025.08.03.12.11.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 03 Aug 2025 12:11:09 -0700 (PDT) From: Ovidiu Panait To: clabbe.montjoie@gmail.com, herbert@gondor.apana.org.au, davem@davemloft.net, linux-crypto@vger.kernel.org Cc: wens@csie.org, jernej.skrabec@gmail.com, samuel@sholland.org, linux-arm-kernel@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-kernel@vger.kernel.org, Ovidiu Panait Subject: [PATCH v2 6/9] crypto: sun8i-ce - fold sun8i_ce_cipher_run() into sun8i_ce_cipher_do_one() Date: Sun, 3 Aug 2025 22:10:26 +0300 Message-ID: <20250803191029.3592987-7-ovidiu.panait.oss@gmail.com> X-Mailer: git-send-email 2.50.0 In-Reply-To: <20250803191029.3592987-1-ovidiu.panait.oss@gmail.com> References: <20250803191029.3592987-1-ovidiu.panait.oss@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Fold sun8i_ce_cipher_run() into it's only caller, sun8i_ce_cipher_do_one(), to eliminate a bit of boilerplate. Signed-off-by: Ovidiu Panait --- .../allwinner/sun8i-ce/sun8i-ce-cipher.c | 35 +++++++++---------- 1 file changed, 16 insertions(+), 19 deletions(-) diff --git a/drivers/crypto/allwinner/sun8i-ce/sun8i-ce-cipher.c b/drivers/= crypto/allwinner/sun8i-ce/sun8i-ce-cipher.c index 69ba8236cf2d..f63d21cd1e52 100644 --- a/drivers/crypto/allwinner/sun8i-ce/sun8i-ce-cipher.c +++ b/drivers/crypto/allwinner/sun8i-ce/sun8i-ce-cipher.c @@ -360,31 +360,28 @@ static void sun8i_ce_cipher_unprepare(struct crypto_e= ngine *engine, dma_unmap_single(ce->dev, rctx->addr_key, op->keylen, DMA_TO_DEVICE); } =20 -static void sun8i_ce_cipher_run(struct crypto_engine *engine, void *areq) -{ - struct skcipher_request *breq =3D container_of(areq, struct skcipher_requ= est, base); - struct crypto_skcipher *tfm =3D crypto_skcipher_reqtfm(breq); - struct sun8i_cipher_tfm_ctx *op =3D crypto_skcipher_ctx(tfm); - struct sun8i_ce_dev *ce =3D op->ce; - struct sun8i_cipher_req_ctx *rctx =3D skcipher_request_ctx(breq); - int flow, err; - - flow =3D rctx->flow; - err =3D sun8i_ce_run_task(ce, flow, crypto_tfm_alg_name(breq->base.tfm)); - sun8i_ce_cipher_unprepare(engine, areq); - local_bh_disable(); - crypto_finalize_skcipher_request(engine, breq, err); - local_bh_enable(); -} - int sun8i_ce_cipher_do_one(struct crypto_engine *engine, void *areq) { - int err =3D sun8i_ce_cipher_prepare(engine, areq); + struct skcipher_request *req =3D skcipher_request_cast(areq); + struct sun8i_cipher_req_ctx *rctx =3D skcipher_request_ctx(req); + struct crypto_skcipher *tfm =3D crypto_skcipher_reqtfm(req); + struct sun8i_cipher_tfm_ctx *ctx =3D crypto_skcipher_ctx(tfm); + struct sun8i_ce_dev *ce =3D ctx->ce; + int err; =20 + err =3D sun8i_ce_cipher_prepare(engine, areq); if (err) return err; =20 - sun8i_ce_cipher_run(engine, areq); + err =3D sun8i_ce_run_task(ce, rctx->flow, + crypto_tfm_alg_name(req->base.tfm)); + + sun8i_ce_cipher_unprepare(engine, areq); + + local_bh_disable(); + crypto_finalize_skcipher_request(engine, req, err); + local_bh_enable(); + return 0; } =20 --=20 2.50.0 From nobody Sun Oct 5 14:34:05 2025 Received: from mail-wm1-f41.google.com (mail-wm1-f41.google.com [209.85.128.41]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5A3E0214814; Sun, 3 Aug 2025 19:11:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.41 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754248274; cv=none; b=uSvAMxoMDM1TX8jFMNewoh0kYUhD9dOz84RhPqQ9cd8fSLCT3mIhXMTYr9uB5ojVNnzViknqF0UHlk2OAwP+3z1YVW/KhsRSlM8jFBSVbFen8H7nCf+fYOIPPulCENR9yT+05yNZnyMleG6zgavSBtkPXPGfJhmfuJmriR3oriU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754248274; c=relaxed/simple; bh=f6FBfJ2O2GQ3lk7rvtQvn1UblRaOsewFE81eXurpKa8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Vb6E9nDg7xD5GU8GUb5d80jXquxOsjAXRgABdkjI2VgbvaKZ4cEkFOWaorOn0jf/XHP7wr81u/56Ziu9xWhXAmmHaUKHbXjhxLUNXA4fPMaGwkCDC+sKQz0LUIALNpk8KBZtDAfaXf5g1Uvc74iVkBCwm5WlEEzOUgW3hweve+M= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=ifkfe/Nn; arc=none smtp.client-ip=209.85.128.41 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="ifkfe/Nn" Received: by mail-wm1-f41.google.com with SMTP id 5b1f17b1804b1-454f428038eso31245395e9.2; Sun, 03 Aug 2025 12:11:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1754248271; x=1754853071; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=XM9OSoT7EEhuPBZA6neX1BQbhTIUd6+o400NZdJKrYY=; b=ifkfe/NnMapXq21xYKYdFK93Il8cMsjKakbDdFAYrK/hjlBxevX/LdDPt7Yp/MMWnI BOqMSf2TmF59riwFhGLO5injL/Zs6la8V3aPu147lDEgqeH80itHSccQaIy3321A2OWx WSaNlHwEikdeafQshmnZ2rne5MN7TAhp1VyZvI9hi+nTNycmNdoheAeyIBBiOJuMKzhZ DJakXK5WHaZnhfNl3E8sZLuFHifAmx3/FHTzwvaX/nOLh2cuLxo7/0sDFtq7RDk7BGZy ibnQtT8F3zeS6CEUAc5HhiSAjVrfheZYw7rDD/w7gVqy/MUDKe24Sce6R40KXnrxNCeM luXQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754248271; x=1754853071; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=XM9OSoT7EEhuPBZA6neX1BQbhTIUd6+o400NZdJKrYY=; b=rn1zfEhVV9nSzUu24BdhWMsYuJmKPdb1vLrCXjCw/kUSOWZZe1IRGwCP7KJ7L8R9z/ HD4nU7LJV5U23gsfdth76+TxzPKbB8APQksfWUeT8sJAb4QT2sPmdsxu0GreUa9ShnQJ Gw4emzdWLxN+MoMK+PmtMWcDVGdJBENiLhs3+ep39Jar5TAuCtqWVCVQn47QvUqjnF1F RQyRJpI174+j075MTo8z/ibMjcmw/AsZZ0Oa3NC1q+7bVFD0A+J2bNgTH5PADZNqyjf9 N9hvgq3cYzp790XisdlcurAUKfdD1WGolJNVvZZxIIIg2V5PI0YK33r/VqkAEbSHuuCj fDjw== X-Forwarded-Encrypted: i=1; AJvYcCVyl/y2pTb7rJ49BBjHJJGO4ILkhOb4zfHRH7bcKKbvsm6xR3WkbI3v/zRDWLkGm5mEVTtqXgJjMcan7XI=@vger.kernel.org, AJvYcCXD8DIwUfm0ILlCNIz3twnUA37AvbrxE/lXR/ACO432e9PswMiMON4RShFYJuoBDfTvF/Ozn1cJxYLa7l7b@vger.kernel.org X-Gm-Message-State: AOJu0Yxi2APAm34FEmwyVSXhewQujr570dMcqDVKoxEshZ0qzwfXTueV 1ZCZr2toZFbSH5xj3HTlWyJEDEnNr16szySSZl7CA3mG5Iyt+xi8L9Du X-Gm-Gg: ASbGncsQcEbwYhghNlO1lh9w1uH4uz+IRyuFTibqA0Je9fjYlwvyf5EQu3ID/s+OBvG r4mPwBJH9cA9ze9HeYpTWFzZ52ueMPM0k9fwlYhB7T8V74BFjmbaavZuLC4IFj4gfOZLSXqqjrk T75HB0puXjzdpriDAd/DtEvnBX6xJ1EZ56WaDVgqeVr1VxAZ1sIWnVA8tURmQpXDaGtAwF29xmU bnibc7HhzL18F3RRVfpHVFAsaHhVcusORJXgZyQti0Wxyxz98k+KHr+G1tgHCk9tqeJ728FzwAQ P/I9F2qsTOdYcZGjpgW4iKqfADyGRMzHPfzsFBkgkycexjgTIFuucPWuhyMnjjVshCDx3h0eW1K dnyeoMr8NJOKKdHNl8sDV0rZKJ5dwr25vag== X-Google-Smtp-Source: AGHT+IFrM0QM4YzPRURXac5BvBdFWZFGquBGzZldZ3BzPlquCbea+9B7z4XeK2D+7m4BeFHALnhLcg== X-Received: by 2002:a05:600c:1c25:b0:456:27a4:50ac with SMTP id 5b1f17b1804b1-458b6b3d871mr47422325e9.23.1754248270728; Sun, 03 Aug 2025 12:11:10 -0700 (PDT) Received: from ws-linux01 ([2a02:2f0e:ca0d:f700:1210:b727:adc8:716]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b79c45346asm13099210f8f.39.2025.08.03.12.11.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 03 Aug 2025 12:11:10 -0700 (PDT) From: Ovidiu Panait To: clabbe.montjoie@gmail.com, herbert@gondor.apana.org.au, davem@davemloft.net, linux-crypto@vger.kernel.org Cc: wens@csie.org, jernej.skrabec@gmail.com, samuel@sholland.org, linux-arm-kernel@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-kernel@vger.kernel.org, Ovidiu Panait Subject: [PATCH v2 7/9] crypto: sun8i-ce - pass task descriptor to cipher prepare/unprepare Date: Sun, 3 Aug 2025 22:10:27 +0300 Message-ID: <20250803191029.3592987-8-ovidiu.panait.oss@gmail.com> X-Mailer: git-send-email 2.50.0 In-Reply-To: <20250803191029.3592987-1-ovidiu.panait.oss@gmail.com> References: <20250803191029.3592987-1-ovidiu.panait.oss@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" To remove some duplicated code, directly pass 'struct skcipher_request' and 'struct ce_task' pointers to sun8i_ce_cipher_{prepare,unprepare}. Signed-off-by: Ovidiu Panait --- .../allwinner/sun8i-ce/sun8i-ce-cipher.c | 33 +++++++------------ 1 file changed, 11 insertions(+), 22 deletions(-) diff --git a/drivers/crypto/allwinner/sun8i-ce/sun8i-ce-cipher.c b/drivers/= crypto/allwinner/sun8i-ce/sun8i-ce-cipher.c index f63d21cd1e52..021614b65e39 100644 --- a/drivers/crypto/allwinner/sun8i-ce/sun8i-ce-cipher.c +++ b/drivers/crypto/allwinner/sun8i-ce/sun8i-ce-cipher.c @@ -131,21 +131,19 @@ static int sun8i_ce_cipher_fallback(struct skcipher_r= equest *areq) return err; } =20 -static int sun8i_ce_cipher_prepare(struct crypto_engine *engine, void *asy= nc_req) +static int sun8i_ce_cipher_prepare(struct skcipher_request *areq, + struct ce_task *cet) { - struct skcipher_request *areq =3D container_of(async_req, struct skcipher= _request, base); struct crypto_skcipher *tfm =3D crypto_skcipher_reqtfm(areq); struct sun8i_cipher_tfm_ctx *op =3D crypto_skcipher_ctx(tfm); struct sun8i_ce_dev *ce =3D op->ce; struct sun8i_cipher_req_ctx *rctx =3D skcipher_request_ctx(areq); struct skcipher_alg *alg =3D crypto_skcipher_alg(tfm); struct sun8i_ce_alg_template *algt; - struct sun8i_ce_flow *chan; - struct ce_task *cet; struct scatterlist *sg; unsigned int todo, len, offset, ivsize; u32 common, sym; - int flow, i; + int i; int nr_sgs =3D 0; int nr_sgd =3D 0; int err =3D 0; @@ -163,14 +161,9 @@ static int sun8i_ce_cipher_prepare(struct crypto_engin= e *engine, void *async_req if (IS_ENABLED(CONFIG_CRYPTO_DEV_SUN8I_CE_DEBUG)) algt->stat_req++; =20 - flow =3D rctx->flow; - - chan =3D &ce->chanlist[flow]; - - cet =3D chan->tl; memset(cet, 0, sizeof(struct ce_task)); =20 - cet->t_id =3D cpu_to_le32(flow); + cet->t_id =3D cpu_to_le32(rctx->flow); common =3D ce->variant->alg_cipher[algt->ce_algo_id]; common |=3D rctx->op_dir | CE_COMM_INT; cet->t_common_ctl =3D cpu_to_le32(common); @@ -314,24 +307,17 @@ static int sun8i_ce_cipher_prepare(struct crypto_engi= ne *engine, void *async_req return err; } =20 -static void sun8i_ce_cipher_unprepare(struct crypto_engine *engine, - void *async_req) +static void sun8i_ce_cipher_unprepare(struct skcipher_request *areq, + struct ce_task *cet) { - struct skcipher_request *areq =3D container_of(async_req, struct skcipher= _request, base); struct crypto_skcipher *tfm =3D crypto_skcipher_reqtfm(areq); struct sun8i_cipher_tfm_ctx *op =3D crypto_skcipher_ctx(tfm); struct sun8i_ce_dev *ce =3D op->ce; struct sun8i_cipher_req_ctx *rctx =3D skcipher_request_ctx(areq); - struct sun8i_ce_flow *chan; - struct ce_task *cet; unsigned int ivsize, offset; int nr_sgs =3D rctx->nr_sgs; int nr_sgd =3D rctx->nr_sgd; - int flow; =20 - flow =3D rctx->flow; - chan =3D &ce->chanlist[flow]; - cet =3D chan->tl; ivsize =3D crypto_skcipher_ivsize(tfm); =20 if (areq->src =3D=3D areq->dst) { @@ -367,16 +353,19 @@ int sun8i_ce_cipher_do_one(struct crypto_engine *engi= ne, void *areq) struct crypto_skcipher *tfm =3D crypto_skcipher_reqtfm(req); struct sun8i_cipher_tfm_ctx *ctx =3D crypto_skcipher_ctx(tfm); struct sun8i_ce_dev *ce =3D ctx->ce; + struct sun8i_ce_flow *chan; int err; =20 - err =3D sun8i_ce_cipher_prepare(engine, areq); + chan =3D &ce->chanlist[rctx->flow]; + + err =3D sun8i_ce_cipher_prepare(req, chan->tl); if (err) return err; =20 err =3D sun8i_ce_run_task(ce, rctx->flow, crypto_tfm_alg_name(req->base.tfm)); =20 - sun8i_ce_cipher_unprepare(engine, areq); + sun8i_ce_cipher_unprepare(req, chan->tl); =20 local_bh_disable(); crypto_finalize_skcipher_request(engine, req, err); --=20 2.50.0 From nobody Sun Oct 5 14:34:05 2025 Received: from mail-wr1-f49.google.com (mail-wr1-f49.google.com [209.85.221.49]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id DFF5F218EB1; Sun, 3 Aug 2025 19:11:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.49 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754248275; cv=none; b=OUvx4oMo+ih7ZO7mI3K9xD4taoKH2bARV8TK/vxnbVXqSg0LxgEaa2l8r9N9eNSRBjI5w14rz02s7qILLznCd3zCbbGqpekG4/uSpeKmBMJv8YbXq2zF3sndSE6AfZT6hnGQCVXQADl3rCAVHPA1PJgIghhOiX0CyCSszv7SPj4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754248275; c=relaxed/simple; bh=B65GIV3its2xp1R6jcBGC4dXubBGAt9T//wtW+mLfK0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=NvOC7A0KloWmPdG6uQPohXCahPGuJ1chLuTaS8qN5uSzq0N2o6xF21sSiMfj7oIA4Cz6sYqVO8ltYBrgKP9G5gTUNeE6U0mQgGjEBoNNHdBUcFAgvIf6cqJr8gHGm1Y7FYIq94OlEkyelDcCTcXPAf54jp1Zuyt6sIithTuWdOw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=XqKkTvRp; arc=none smtp.client-ip=209.85.221.49 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="XqKkTvRp" Received: by mail-wr1-f49.google.com with SMTP id ffacd0b85a97d-3a6cd1a6fecso3283257f8f.3; Sun, 03 Aug 2025 12:11:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1754248272; x=1754853072; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=yPkkvVwxFYU+2Mr615PFvFXGtNmnnnpM8am4NYDPd7Y=; b=XqKkTvRpjZ6zcXUerB+gwSaH1kbYm0/SX70yMFrYBTWsTe89CeLjYtcOFeqU+bUVD3 keNjminvpUjA79acPcIgZhFIDpCgf/HqkK0WaanDVibq9sCxpXRKgiOuubogwDRGlfBV iwrAoAbQEzbbOgios4V+5Lo0a/Y/pfFoT2DYjReeZKidufvtMCrqPV+Wmj+mc6iYAWoa i4RvtijOlu4iHa7U38iKa/PdTZhC7UB4UtmeGVD9OjT+w/xxEYdmdV0e2xiiLLjd6VMs SwWFak2sSP6ici8+PTfVndEfH4wzEuSS4zXYJ77bXhX3AMZ591DhDVJoF8iwsoXguvoV qN9g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754248272; x=1754853072; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=yPkkvVwxFYU+2Mr615PFvFXGtNmnnnpM8am4NYDPd7Y=; b=D+pN2rZ4eGJRKNQqPLZeCG6fdvE+dO7QFgSWDArD86XtuxBQzc+WAY422hOiTCwvCs O3O0K/Lspqsvkv6hSLI2MaOWMwsP+JJuZcy5mmguBihQF04F9BeUrc4d7tXJAre2YsFb mYkIFjFOG5Bi1xme0Qo9nB5CQFQLfbg0/WCtMyBmrzIcx7oEp5znWmIwBTFOlXeuAh8S q5F90RPfQx69DNQLpBIUGN9l3vpufwuPV5HjabtyJe0j/DnOlmrpNytJdkZNGDOHjYlZ ICxWK+TF7jWJen7atWmuunlGthZJDsAaoRLIr9R88E/hQbG3pk/OlRG0ZXd8C9k2obl1 2EwQ== X-Forwarded-Encrypted: i=1; AJvYcCV86ap/73awyFE0UzdTQqu2FiUUaDJN+Ap+ynWu+Q2dJBkqsgYfgrUZkvIzdjRqZ2vCZv5aEuPc2ZGtvbPa@vger.kernel.org, AJvYcCXE72BgwrpHF38ElBll/DdcoFp2g/LifHCWuJjaI+VHFNDlZ2+XbHU4sGlL5eHcuJwieMkI9jdzEl+v9sg=@vger.kernel.org X-Gm-Message-State: AOJu0YxKFe7Bw2jkjJz0CV8ctH/RwDgJn2c5yHoyvmaK9Lu+LUKxHhd4 9YARsa3fHzTWhCs63bTtbyHftrur8hKExMt+ddcT8ce2OhZ9Bie9fRG6 X-Gm-Gg: ASbGncvLiBHyc8rfY8ls5V52W4wwhjrDxSo9tJwjkavuL3nfuctXOflCix3iyuHKTYF 7zWUEtTnd/5N1RzG2vBNgVGC2Crc0FP1PhKFzT1Q3qbIHQOWJr08HA50H6NROmaMM80G1fOPv+A GGboHRgvidh/f+JONPVhSY5vK/jY8JLjFTzN9GA/HGmDQmbeg7CK87P7dwfClm7Ey8iTbx9fb5f cjA5tIoD4OuMaG1Jyed3YIQ0oXlV4FNYKT4jfuHUPZbsVY6jvEmwqBPiJjimkIGc/fgG3djJ0nV j8Xdm2uC/UUTw8RybDiqLkttUEC99Tk1mS0tCsVLcx5fpHYKZIDCP7rE9YK9f+iiXUowGvRtTaG GUfgeg9FR/+FoV7AXLpwe0fWTn7rmZp8j+A== X-Google-Smtp-Source: AGHT+IE6MhL7+I58bcS8THCFfl9pcCuQ6d4eZ/cd8pKuwSLCaUyMm7M6/8UMIKCzZ6nMlHDZh0bvtw== X-Received: by 2002:a5d:5d0f:0:b0:3a3:65b5:51d7 with SMTP id ffacd0b85a97d-3b8d94838a3mr5271879f8f.26.1754248272003; Sun, 03 Aug 2025 12:11:12 -0700 (PDT) Received: from ws-linux01 ([2a02:2f0e:ca0d:f700:1210:b727:adc8:716]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b79c45346asm13099210f8f.39.2025.08.03.12.11.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 03 Aug 2025 12:11:11 -0700 (PDT) From: Ovidiu Panait To: clabbe.montjoie@gmail.com, herbert@gondor.apana.org.au, davem@davemloft.net, linux-crypto@vger.kernel.org Cc: wens@csie.org, jernej.skrabec@gmail.com, samuel@sholland.org, linux-arm-kernel@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-kernel@vger.kernel.org, Ovidiu Panait Subject: [PATCH v2 8/9] crypto: sun8i-ce - save hash buffers and dma info to request context Date: Sun, 3 Aug 2025 22:10:28 +0300 Message-ID: <20250803191029.3592987-9-ovidiu.panait.oss@gmail.com> X-Mailer: git-send-email 2.50.0 In-Reply-To: <20250803191029.3592987-1-ovidiu.panait.oss@gmail.com> References: <20250803191029.3592987-1-ovidiu.panait.oss@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Similar to sun8i-ce skcipher code, move all request-specific data to request context. This simplifies sun8i_ce_hash_run() and it eliminates the remaining kmalloc() calls from the digest path. It also makes it easier to split the monolithic sun8i_ce_hash_run() function in the next commit. Signed-off-by: Ovidiu Panait --- .../crypto/allwinner/sun8i-ce/sun8i-ce-hash.c | 56 +++++++------------ drivers/crypto/allwinner/sun8i-ce/sun8i-ce.h | 17 ++++++ 2 files changed, 38 insertions(+), 35 deletions(-) diff --git a/drivers/crypto/allwinner/sun8i-ce/sun8i-ce-hash.c b/drivers/cr= ypto/allwinner/sun8i-ce/sun8i-ce-hash.c index df2acef9c679..e28100c07b86 100644 --- a/drivers/crypto/allwinner/sun8i-ce/sun8i-ce-hash.c +++ b/drivers/crypto/allwinner/sun8i-ce/sun8i-ce-hash.c @@ -328,12 +328,9 @@ int sun8i_ce_hash_run(struct crypto_engine *engine, vo= id *breq) u32 common; u64 byte_count; __le32 *bf; - void *buf, *result; int j, i, todo; u64 bs; int digestsize; - dma_addr_t addr_res, addr_pad; - int ns =3D sg_nents_for_len(areq->src, areq->nbytes); =20 algt =3D container_of(alg, struct sun8i_ce_alg_template, alg.hash.base); ce =3D algt->ce; @@ -345,19 +342,7 @@ int sun8i_ce_hash_run(struct crypto_engine *engine, vo= id *breq) if (digestsize =3D=3D SHA384_DIGEST_SIZE) digestsize =3D SHA512_DIGEST_SIZE; =20 - /* the padding could be up to two block. */ - buf =3D kcalloc(2, bs, GFP_KERNEL | GFP_DMA); - if (!buf) { - err =3D -ENOMEM; - goto err_out; - } - bf =3D (__le32 *)buf; - - result =3D kzalloc(digestsize, GFP_KERNEL | GFP_DMA); - if (!result) { - err =3D -ENOMEM; - goto err_free_buf; - } + bf =3D (__le32 *)rctx->pad; =20 flow =3D rctx->flow; chan =3D &ce->chanlist[flow]; @@ -378,11 +363,12 @@ int sun8i_ce_hash_run(struct crypto_engine *engine, v= oid *breq) cet->t_sym_ctl =3D 0; cet->t_asym_ctl =3D 0; =20 - nr_sgs =3D dma_map_sg(ce->dev, areq->src, ns, DMA_TO_DEVICE); + rctx->nr_sgs =3D sg_nents_for_len(areq->src, areq->nbytes); + nr_sgs =3D dma_map_sg(ce->dev, areq->src, rctx->nr_sgs, DMA_TO_DEVICE); if (nr_sgs <=3D 0 || nr_sgs > MAX_SG) { dev_err(ce->dev, "Invalid sg number %d\n", nr_sgs); err =3D -EINVAL; - goto err_free_result; + goto err_out; } =20 len =3D areq->nbytes; @@ -397,10 +383,13 @@ int sun8i_ce_hash_run(struct crypto_engine *engine, v= oid *breq) err =3D -EINVAL; goto err_unmap_src; } - addr_res =3D dma_map_single(ce->dev, result, digestsize, DMA_FROM_DEVICE); - cet->t_dst[0].addr =3D desc_addr_val_le32(ce, addr_res); - cet->t_dst[0].len =3D cpu_to_le32(digestsize / 4); - if (dma_mapping_error(ce->dev, addr_res)) { + + rctx->result_len =3D digestsize; + rctx->addr_res =3D dma_map_single(ce->dev, rctx->result, rctx->result_len, + DMA_FROM_DEVICE); + cet->t_dst[0].addr =3D desc_addr_val_le32(ce, rctx->addr_res); + cet->t_dst[0].len =3D cpu_to_le32(rctx->result_len / 4); + if (dma_mapping_error(ce->dev, rctx->addr_res)) { dev_err(ce->dev, "DMA map dest\n"); err =3D -EINVAL; goto err_unmap_src; @@ -428,10 +417,12 @@ int sun8i_ce_hash_run(struct crypto_engine *engine, v= oid *breq) goto err_unmap_result; } =20 - addr_pad =3D dma_map_single(ce->dev, buf, j * 4, DMA_TO_DEVICE); - cet->t_src[i].addr =3D desc_addr_val_le32(ce, addr_pad); + rctx->pad_len =3D j * 4; + rctx->addr_pad =3D dma_map_single(ce->dev, rctx->pad, rctx->pad_len, + DMA_TO_DEVICE); + cet->t_src[i].addr =3D desc_addr_val_le32(ce, rctx->addr_pad); cet->t_src[i].len =3D cpu_to_le32(j); - if (dma_mapping_error(ce->dev, addr_pad)) { + if (dma_mapping_error(ce->dev, rctx->addr_pad)) { dev_err(ce->dev, "DMA error on padding SG\n"); err =3D -EINVAL; goto err_unmap_result; @@ -444,21 +435,16 @@ int sun8i_ce_hash_run(struct crypto_engine *engine, v= oid *breq) =20 err =3D sun8i_ce_run_task(ce, flow, crypto_ahash_alg_name(tfm)); =20 - dma_unmap_single(ce->dev, addr_pad, j * 4, DMA_TO_DEVICE); + dma_unmap_single(ce->dev, rctx->addr_pad, rctx->pad_len, DMA_TO_DEVICE); =20 err_unmap_result: - dma_unmap_single(ce->dev, addr_res, digestsize, DMA_FROM_DEVICE); + dma_unmap_single(ce->dev, rctx->addr_res, rctx->result_len, + DMA_FROM_DEVICE); if (!err) - memcpy(areq->result, result, crypto_ahash_digestsize(tfm)); + memcpy(areq->result, rctx->result, crypto_ahash_digestsize(tfm)); =20 err_unmap_src: - dma_unmap_sg(ce->dev, areq->src, ns, DMA_TO_DEVICE); - -err_free_result: - kfree(result); - -err_free_buf: - kfree(buf); + dma_unmap_sg(ce->dev, areq->src, rctx->nr_sgs, DMA_TO_DEVICE); =20 err_out: local_bh_disable(); diff --git a/drivers/crypto/allwinner/sun8i-ce/sun8i-ce.h b/drivers/crypto/= allwinner/sun8i-ce/sun8i-ce.h index 0d46531c475c..90b955787d37 100644 --- a/drivers/crypto/allwinner/sun8i-ce/sun8i-ce.h +++ b/drivers/crypto/allwinner/sun8i-ce/sun8i-ce.h @@ -110,6 +110,9 @@ =20 #define MAXFLOW 4 =20 +#define CE_MAX_HASH_DIGEST_SIZE SHA512_DIGEST_SIZE +#define CE_MAX_HASH_BLOCK_SIZE SHA512_BLOCK_SIZE + /* * struct ce_clock - Describe clocks used by sun8i-ce * @name: Name of clock needed by this variant @@ -304,9 +307,23 @@ struct sun8i_ce_hash_tfm_ctx { * struct sun8i_ce_hash_reqctx - context for an ahash request * @fallback_req: pre-allocated fallback request * @flow: the flow to use for this request + * @nr_sgs: number of entries in the source scatterlist + * @result_len: result length in bytes + * @pad_len: padding length in bytes + * @addr_res: DMA address of the result buffer, returned by dma_map_single= () + * @addr_pad: DMA address of the padding buffer, returned by dma_map_singl= e() + * @result: per-request result buffer + * @pad: per-request padding buffer (up to 2 blocks) */ struct sun8i_ce_hash_reqctx { int flow; + int nr_sgs; + size_t result_len; + size_t pad_len; + dma_addr_t addr_res; + dma_addr_t addr_pad; + u8 result[CE_MAX_HASH_DIGEST_SIZE] ____cacheline_aligned; + u8 pad[2 * CE_MAX_HASH_BLOCK_SIZE] ____cacheline_aligned; struct ahash_request fallback_req; // keep at the end }; =20 --=20 2.50.0 From nobody Sun Oct 5 14:34:05 2025 Received: from mail-wm1-f48.google.com (mail-wm1-f48.google.com [209.85.128.48]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1BEFD21C188; Sun, 3 Aug 2025 19:11:14 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.48 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754248276; cv=none; b=jjKl1XTeoIIZQExeejZDfq6/jE3EBIx1N6xzseS+v/AxR6qpnYvW/jPRvCGyW6/6WUDvsqnD9vYQOXS9VZOmesmWBs2FVFUdUjJ1ZkLwAuhTwa4PLeLgJlB9fzwvbcNkVaM1L1v6JQt2AijWq3pYinRKP+Cp17ic2/sys0cExgM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754248276; c=relaxed/simple; bh=J9ebtys+gOadsS+t9/vBdipuMTDeR7aQZjcVU3lSpuI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=tI0UdAq+cZjiPM0TFWCXQB36gLbCptjmZ+ptALIV1cWi9KQGjy7dsFtcO85SBzU2g4SPSlcZJgpBoC+imPHLQxkUsg8m9w6OiBsfMyFJthBOHQ4jhgODOPTgof/0oxiGk6fxwcyeAhYxAzE/Bkhxt5pjLwn9Fe2T6qnpH0IHYe8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=doxBc1tg; arc=none smtp.client-ip=209.85.128.48 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="doxBc1tg" Received: by mail-wm1-f48.google.com with SMTP id 5b1f17b1804b1-451d3f72391so32270725e9.3; Sun, 03 Aug 2025 12:11:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1754248273; x=1754853073; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=5OquH3bzsfHd+3HPbbgh3jCNSZfVC5bnpDs/2otunY4=; b=doxBc1tgP4sE1Xcwb5GCt2x0Mt/LUZC70VyVU2Y+/frfBUqvIEl1OBt94uhiNGty4v cw3y7O7lFl4/znHKGk+W/3ZnBYcKv+dSpHbsiRbUn7OXpePMmD59NUiAhQokrWlbPmhV e/DwJE7ivz+kFgKgXePJYx2uIAdo4bn1ZfNNpqewTPVqCqOGxa8torPl1XszHt/IqWMx /uTkll83HnG5k1cUOjX7EmZhxc5/4Kg7WRayb2tyo7N84RcaR7Dv4vJJPUKJ7xJZOqEG yLpDS/tXuQgHNPXO1/vidmoEpthgLjfpgmuKF524rsiNavcuVStrs74j1jEdfwqsdBm6 saFg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754248273; x=1754853073; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=5OquH3bzsfHd+3HPbbgh3jCNSZfVC5bnpDs/2otunY4=; b=t+YHOekOTPd0Izxr0MwVtEqpEVQAYrJiybhZy3TsH7LqWmADHJOtaqOeWQRAdLCEtU hkjkIi9/WpTNWMZd8nyOYpoTTgg94/HZ/qVh2XkLXVbPt2fJN+IaQvvzgtNS5micXd13 7nOp4lyNmWLn+hWNgYu6ZVTgg98cfg20LxLOu9kozaMCb+4+y20o9s/628NuIYq9ZS/O KX6ni2VmlrZbs4yBvVnBKWKP3El/159HNQlPG+hpcXvSHzWBfYfCzUYaP0hhdhVza7qU 09KlUuwtMwimYTTc8eWg02mNtVB6RlsUxcegITlwJ4lysLsC3ZWPYHO71sFMeHlhLYSf meCA== X-Forwarded-Encrypted: i=1; AJvYcCVdslYgYSXQIucDWQnkTOgLz9PS8+7ZiXb4Pa8OG6j7L3QYuKH036z9mikOy/k3a0Jlt4XtOHG7EvJSJq7C@vger.kernel.org, AJvYcCWZZDCe7d68LdbEMkpvlQzaXptE53sX/36oH0gCL8kV5VjXBDesYxfUkx5LDrMsrHWXQp4jpZEUB8Ulv7c=@vger.kernel.org X-Gm-Message-State: AOJu0YyiM/k8BqUbTYRvKGlmG0IA0dSJ4Iz6CoREaDUW+DC1QbRi9Wpy JGSTC0RPwSxghd2d45xD51OoEAiY5GyBOCCFmGSrwGZPS63tsF26+t/3 X-Gm-Gg: ASbGnctdyIIw4+Q48FUFB58CV5DjaEb5ZUte2liBJ0A1nA/6vnxcrZe517hWTAc2NU0 bIm34n+hwcsrzctXBMxri5k6ldBEvji/oomSJ5NZ0qiCIxymdFWri/0Mg47lQKTd7QjE+DOwrKo m0y/zHIM+HY9eBIeDgO9xlAOw0obcwiPwYPcHVXjJ87d09ixED9+eY+rHMxtso/YO9g1kJ8daYs ynAOXyTE6FWe40G3dJIzrJC2NLs+Ev4JBPHGLGoIbVGU6thRlTdC3vrf/JYJirZBoj5D1RVY02t 5p4bmdXtO1pEeiUaB6Gmc85Kwj0QbtWsh1/3brtjEWs5agi+hMNcEGeHbXKYBODQ7ICgcPq7tJF K324L5GpZkQPN6ouz08NBJqFdSQQ220AOiIe6b6dgUjeq X-Google-Smtp-Source: AGHT+IGpjk4CRmkJ8M4LqTsc8/ENOgpA5it89IFM3cfJG0O++/wGGjyhzDfblVGHm0OKLzdq4SaUOQ== X-Received: by 2002:a05:6000:2f85:b0:3a4:e68e:d33c with SMTP id ffacd0b85a97d-3b8d94c4caamr5017378f8f.47.1754248273270; Sun, 03 Aug 2025 12:11:13 -0700 (PDT) Received: from ws-linux01 ([2a02:2f0e:ca0d:f700:1210:b727:adc8:716]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b79c45346asm13099210f8f.39.2025.08.03.12.11.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 03 Aug 2025 12:11:12 -0700 (PDT) From: Ovidiu Panait To: clabbe.montjoie@gmail.com, herbert@gondor.apana.org.au, davem@davemloft.net, linux-crypto@vger.kernel.org Cc: wens@csie.org, jernej.skrabec@gmail.com, samuel@sholland.org, linux-arm-kernel@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-kernel@vger.kernel.org, Ovidiu Panait Subject: [PATCH v2 9/9] crytpo: sun8i-ce - factor out prepare/unprepare from sun8i_ce_hash_run() Date: Sun, 3 Aug 2025 22:10:29 +0300 Message-ID: <20250803191029.3592987-10-ovidiu.panait.oss@gmail.com> X-Mailer: git-send-email 2.50.0 In-Reply-To: <20250803191029.3592987-1-ovidiu.panait.oss@gmail.com> References: <20250803191029.3592987-1-ovidiu.panait.oss@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" In order to make the ahash code more clear and modular, split the monolithic sun8i_ce_hash_run() callback into two parts, prepare and unprepare (therefore aligning it with the sun8i-ce skcipher code). Signed-off-by: Ovidiu Panait --- .../crypto/allwinner/sun8i-ce/sun8i-ce-hash.c | 62 ++++++++++++++----- 1 file changed, 46 insertions(+), 16 deletions(-) diff --git a/drivers/crypto/allwinner/sun8i-ce/sun8i-ce-hash.c b/drivers/cr= ypto/allwinner/sun8i-ce/sun8i-ce-hash.c index e28100c07b86..70c761baf847 100644 --- a/drivers/crypto/allwinner/sun8i-ce/sun8i-ce-hash.c +++ b/drivers/crypto/allwinner/sun8i-ce/sun8i-ce-hash.c @@ -312,18 +312,15 @@ static u64 hash_pad(__le32 *buf, unsigned int bufsize= , u64 padi, u64 byte_count, return j; } =20 -int sun8i_ce_hash_run(struct crypto_engine *engine, void *breq) +static int sun8i_ce_hash_prepare(struct ahash_request *areq, struct ce_tas= k *cet) { - struct ahash_request *areq =3D container_of(breq, struct ahash_request, b= ase); struct crypto_ahash *tfm =3D crypto_ahash_reqtfm(areq); struct ahash_alg *alg =3D __crypto_ahash_alg(tfm->base.__crt_alg); struct sun8i_ce_hash_reqctx *rctx =3D ahash_request_ctx(areq); struct sun8i_ce_alg_template *algt; struct sun8i_ce_dev *ce; - struct sun8i_ce_flow *chan; - struct ce_task *cet; struct scatterlist *sg; - int nr_sgs, flow, err; + int nr_sgs, err; unsigned int len; u32 common; u64 byte_count; @@ -344,18 +341,14 @@ int sun8i_ce_hash_run(struct crypto_engine *engine, v= oid *breq) =20 bf =3D (__le32 *)rctx->pad; =20 - flow =3D rctx->flow; - chan =3D &ce->chanlist[flow]; - if (IS_ENABLED(CONFIG_CRYPTO_DEV_SUN8I_CE_DEBUG)) algt->stat_req++; =20 dev_dbg(ce->dev, "%s %s len=3D%d\n", __func__, crypto_tfm_alg_name(areq->= base.tfm), areq->nbytes); =20 - cet =3D chan->tl; memset(cet, 0, sizeof(struct ce_task)); =20 - cet->t_id =3D cpu_to_le32(flow); + cet->t_id =3D cpu_to_le32(rctx->flow); common =3D ce->variant->alg_hash[algt->ce_algo_id]; common |=3D CE_COMM_INT; cet->t_common_ctl =3D cpu_to_le32(common); @@ -433,22 +426,59 @@ int sun8i_ce_hash_run(struct crypto_engine *engine, v= oid *breq) else cet->t_dlen =3D cpu_to_le32(areq->nbytes / 4 + j); =20 - err =3D sun8i_ce_run_task(ce, flow, crypto_ahash_alg_name(tfm)); - - dma_unmap_single(ce->dev, rctx->addr_pad, rctx->pad_len, DMA_TO_DEVICE); + return 0; =20 err_unmap_result: dma_unmap_single(ce->dev, rctx->addr_res, rctx->result_len, DMA_FROM_DEVICE); - if (!err) - memcpy(areq->result, rctx->result, crypto_ahash_digestsize(tfm)); =20 err_unmap_src: dma_unmap_sg(ce->dev, areq->src, rctx->nr_sgs, DMA_TO_DEVICE); =20 err_out: + return err; +} + +static void sun8i_ce_hash_unprepare(struct ahash_request *areq, + struct ce_task *cet) +{ + struct sun8i_ce_hash_reqctx *rctx =3D ahash_request_ctx(areq); + struct crypto_ahash *tfm =3D crypto_ahash_reqtfm(areq); + struct sun8i_ce_hash_tfm_ctx *ctx =3D crypto_ahash_ctx(tfm); + struct sun8i_ce_dev *ce =3D ctx->ce; + + dma_unmap_single(ce->dev, rctx->addr_pad, rctx->pad_len, DMA_TO_DEVICE); + dma_unmap_single(ce->dev, rctx->addr_res, rctx->result_len, + DMA_FROM_DEVICE); + dma_unmap_sg(ce->dev, areq->src, rctx->nr_sgs, DMA_TO_DEVICE); +} + +int sun8i_ce_hash_run(struct crypto_engine *engine, void *async_req) +{ + struct ahash_request *areq =3D ahash_request_cast(async_req); + struct crypto_ahash *tfm =3D crypto_ahash_reqtfm(areq); + struct sun8i_ce_hash_tfm_ctx *ctx =3D crypto_ahash_ctx(tfm); + struct sun8i_ce_hash_reqctx *rctx =3D ahash_request_ctx(areq); + struct sun8i_ce_dev *ce =3D ctx->ce; + struct sun8i_ce_flow *chan; + int err; + + chan =3D &ce->chanlist[rctx->flow]; + + err =3D sun8i_ce_hash_prepare(areq, chan->tl); + if (err) + return err; + + err =3D sun8i_ce_run_task(ce, rctx->flow, crypto_ahash_alg_name(tfm)); + + sun8i_ce_hash_unprepare(areq, chan->tl); + + if (!err) + memcpy(areq->result, rctx->result, + crypto_ahash_digestsize(tfm)); + local_bh_disable(); - crypto_finalize_hash_request(engine, breq, err); + crypto_finalize_hash_request(engine, async_req, err); local_bh_enable(); =20 return 0; --=20 2.50.0