From nobody Sun Oct 5 23:52:02 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 455D721FF38; Mon, 28 Jul 2025 06:07:57 +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=1753682879; cv=none; b=s7O1J1nZ8zM1O0yirIOvlL3hoT37zF5lEIxcFkkMZsWCVpifkze2qwSCjl0ZlbgSuiqP68nj/IpNuKazfWPmzvt06F1sWLg7HaIXZHGPV39IiG00M0H8OAMdaE5ncoJwIfZ015HxgcpBazgF6V3k3Wu31JuJouPj4I47bCWFEjs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753682879; c=relaxed/simple; bh=JhryCQPIHZMBHN4Dh3iGOODDbabwR0S+i4gukSM6ud0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=rPUGZ8vbP1iuZRnBlMFr6BrNjSMS+k0seUeRiYD6D8GZBt0u7LtdyrojIG244po5M2K/vex+rmFnHR7i/MGXDoFaLrr57xfOa3wtoHfBHtSf4rkotmCxWCSJxMj/uqa9ltI1FMghAPgq/v0A3etHfj4pliyIrYj3b9ShAAJj5hg= 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=UtKV27C/; 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="UtKV27C/" Received: by mail-wm1-f43.google.com with SMTP id 5b1f17b1804b1-4555f89b236so32655475e9.1; Sun, 27 Jul 2025 23:07:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1753682875; x=1754287675; 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=UtKV27C/S0vhBpKifmaPgblYxagYjr3kRl8mdKk/4VkjQUqiPu94E5oh1NKhhDoCI1 ygYI2X1z8/+zJbFc76SOGQ6ZA5CeRXuoTx2s6j8JYeTm3Y06KeEvSjtPNJiSKPaqL4W5 rj41FTfH0YSrAkEyEAx6bq70P+63l7VjzESYcg5tRWxkLNX5vNbAVyr9QNz1Il5Cqcsd I6BFn4SoZhNFxAQSaDLTFqHc/iBbUWL8ndaOP2zvOsH/bR9pIuqw5OxBfZ8UGYeyaNje +LmouIw4RlbjH8CwVFVygfiVAStyCY6kmrTfOofvESmd2ReDwXaOTmBDzQVP+5hOLteu WNag== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753682875; x=1754287675; 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=qRTcsO+1KyiLu/dh8Tm4r4vzmncXhSvx9SErsSSvgoVqirqapw/pgqJYEZ15KTAsM2 jdUWEm0pCBO7PATcu9cwyU1aLSsGgdmWnD7wMZGnDTCCUIvz76YO3wAgyPJiFI6aeqEd 41c61iTIuIkhqK2PxYdbN5lwhwQtQymKRtw+yR5lJZ/AJnU8D4ELQOyfzh8sMTqj5SzX g+o9Yk1nxh2nTh+byb6BvrTwvjhy8Ad+NfpKSnA9GeHvl+rG/5cuna3uRShye6kIWM7y NWTMJrzrqnGnGEkmk5fxlpb5TAX1DEEpUEJ3kjlMmqX5UdXnHRBeRQ4wbWXP8k11obpD v4MA== X-Forwarded-Encrypted: i=1; AJvYcCWKg+NbKMqPyUWxeh0/JXJFyKomYEvUAI6ROqsX++vWdqkxYzPK7FkyAAKF3oKG3mfIExcYFzvDBS5q0unu@vger.kernel.org, AJvYcCWlAzJsXZ4oEXgQ2JoDJU85rg4GtzYQaofkVY37hq0oPjpi4Vi0OHCB9t7pRnFpSall9v6SD6Y2ZM0Kkxc=@vger.kernel.org X-Gm-Message-State: AOJu0YwXzkG7Ts9THUyPGRiJULWTlnMpZpfXicVi0zBNIHdpm5h6mZFH dTzXoNQ8/8j1Q0UPDcx/6Plr/nq3kA8rddyQclibF1jMGprCqT/FfOXY X-Gm-Gg: ASbGncvxTGadESgou6JnsMyMsvhbvY+L7BOWOvWr6jMOjbVQhBEWNpPu/dV8VBB6HwS 5/OvvIDn4Wo1ax0TFLhhOX+CwY9N7mOkhEyLALdy5eQPwB9aU9Ei6fSA54J/a9P4XQatLEXo1w1 SO1hqokTKuaESDlbCarF+cw4Eltyq7YMKNN5PdAjZOUXF64+1IhQJRki77AFwUTp5zdin2MNuu9 In4KEA9/dyInGAvijazF2WdQrBzRjDCnIQa9MPFxEXIw6Z/h8AL2NYkHCX9ktS/CSdemGKfCpsQ NtVxV31b295uZFhY2vMoafwvsc0dhItnVG18+KFCjyPpOX6TDFyDua/09tpQ6PNecw3hbQ3eH+3 aXAQGuEHbxwhHy+o2WurR4decRP5kl5cXTA== X-Google-Smtp-Source: AGHT+IHqPCaG3R/59IYXjBcGJJCe3DhN/AsfRtBjv+Iqv+7bPs2nkDA/DLavuu+09pT2v/lTOUM3GA== X-Received: by 2002:a05:600c:8b11:b0:456:1d34:97a with SMTP id 5b1f17b1804b1-4587631561fmr92141855e9.9.1753682875203; Sun, 27 Jul 2025 23:07:55 -0700 (PDT) Received: from ws-linux01 ([2a02:2f0e:ca0d:f700:1210:b727:adc8:716]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4587abe6ba0sm86195215e9.9.2025.07.27.23.07.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Jul 2025 23:07:54 -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 1/9] crypto: sun8i-ce - remove channel timeout field Date: Mon, 28 Jul 2025 09:06:53 +0300 Message-ID: <20250728060701.1787607-2-ovidiu.panait.oss@gmail.com> X-Mailer: git-send-email 2.50.0 In-Reply-To: <20250728060701.1787607-1-ovidiu.panait.oss@gmail.com> References: <20250728060701.1787607-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 23:52:02 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 479DD220F3F; Mon, 28 Jul 2025 06:07:58 +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=1753682879; cv=none; b=KIoMVQ5fWemkr+IpgPFhrDvNo1bHXVpm69nbwJZwjo1zPyxOZVi3P90rMHmQ/grWy4j2W25mO/kS/1InZX2QShwNdQPL5oQbxGndkHZlrZg4nUhE5y3jD42Zen58Y9GQVH2VUcYqa3rpZ4Sd8SjtByhGaqHYIY/dmJvLxz+sb4Q= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753682879; c=relaxed/simple; bh=kyASvvV0C6502P156s4uvhgiJ2anCkqmkQU+DPnmJLM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=QTpHj/qZXCqbs7PVIBXQzTMY1a6JMNB3VvVP0JrHqVH6LOc6ktXYg1zDUa1yCLuY5Plkh2z7Xgxp4fFsjRokNmTifFpi+eNn1vHhSdIeQVuy+4WdRtiLFtltijiWy9NFa6pUof4PMDaXjjVR5OHnJa4EbJMLmys7OEmYs+R3AJw= 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=Wcn8NKTW; 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="Wcn8NKTW" Received: by mail-wm1-f43.google.com with SMTP id 5b1f17b1804b1-4561514c7f0so39360275e9.0; Sun, 27 Jul 2025 23:07:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1753682877; x=1754287677; 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=Wcn8NKTWYIDkuAxuKpbcM4BOzGYoatTcmPt8r1DRjJQ22juXC+ahub3x/YF3vkyVrj 5SNYmv7DiR1wtXksyDLsxAc7HdtZXNAlci8sLGOQU79cYpEyj3Bbs9xHQMp1zku4r3Qh ZlEsVtdacGNpIhmK/79tBKR1JyrqsAKMjEgTpN7HSSqXIu0TqcfHif/+ZWnsX921NNs9 bHXfn8iGIAFABIrtQllKexOmvfnwf/MAtltq1yBBZsEv40PoRbKtaJsnMCp1Fb+1m231 fCoKAbCusodKOwpfYikEI+N8QK1FAQEsWmDhDp/32Y/m5sl+IiHQl4unhKCv54QrNioT Npzg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753682877; x=1754287677; 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=bzADD9NhRQjKpKhZDYX/sGVoT+HcT7rL1glmegeWUoS24TcldpLgBnYB1mn3aVYIW6 YksZ9xNwSFZ9R78Ksu+IRIjY1WcMJZwZuFuyWdbfpdOxIqpOKraj+GAd7sAxy6wOQhii lNKig7rvqFI1hTtibAo0HK7O1hx49P5ocMWzzOqxFNXY6nReyAb/svDKDMKfHBzL4+/j AMYBe7EAtXtIzWoHl4SzGox1+przasapsKZx8YygJW5BLjKNh711RfjGjoDqVwkI+S35 08MDaM9u0b84n555T/eQbIqH3coewjvjXPxVoxUKyHyf1dNZPZWB8TO5ukZMrMzKcEqz mdBw== X-Forwarded-Encrypted: i=1; AJvYcCUc7GdmntMAvS5LcKr1iE+CmwJlWnMCyB38mJWT1SM12A0ps6cwK/zr2bJ6Di2l1cyvMCddGWp3fWjCyurK@vger.kernel.org, AJvYcCUrOrGWliBeQI/EQP5Db/BDE2L5G2pwK/aKsICVs5lUuUbGmvLH9OoyYQ7WqLE1MQLYoMEoIqb6VhYlke8=@vger.kernel.org X-Gm-Message-State: AOJu0YxPSbGmwVbGtQr/1iFOImXvvhuEAoMO/LB4OWGazmPBMNqyLsXm F5pPHsIQ4YeQUCfEc0vnsvQGT4O4y9wKGQGoaObsYlV59D6rwuQtZurk X-Gm-Gg: ASbGncsftmrfb57BvYfVhwaO2WfkewIU52/kS9bi5QVJSMdOE1v4qeWG09O7gdEfroy wor6dOTIwZquWGMEAB2SBzVVLno4vFKFb/JyB3XX+nnv1tZ+8ApuZLPSB8A8QpLYhY1NwbTbN81 vzJqfNcqeIw70QTpwjA/FkgIAyMHv5AWvfK5YW5kncb0ftaD2/0KUW8vfPEGdFyvLJDpFUIlZA4 NLFCwor4hCUMYPHnnJIpfl/kiQ4MYViLCAltW/8O13vUB8J7XwhZnCh/dsE88FKXhvUN0vgqFuT laEaoPEd9n1zjAN5NzsiwDLhHKHOtcsm4ISQSrWkTq6yMfkpgMODaWqWeEFVBHBSXu9dSTd3H17 0N7owrhUcoRvMD0hycI42zaX82Bq3KlxauQ== X-Google-Smtp-Source: AGHT+IFJw3EbsUDLtQA1ecwg56WxcbMEO+eyP+FEUWh83ffWtoZBkFf3rr8tJhzBHJdAJ6osjr0sWQ== X-Received: by 2002:a05:600c:1e1d:b0:450:d4a6:799d with SMTP id 5b1f17b1804b1-45877445e1bmr70270965e9.7.1753682876514; Sun, 27 Jul 2025 23:07:56 -0700 (PDT) Received: from ws-linux01 ([2a02:2f0e:ca0d:f700:1210:b727:adc8:716]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4587abe6ba0sm86195215e9.9.2025.07.27.23.07.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Jul 2025 23:07:56 -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 2/9] crypto: sun8i-ce - remove boilerplate in sun8i_ce_hash_digest() Date: Mon, 28 Jul 2025 09:06:54 +0300 Message-ID: <20250728060701.1787607-3-ovidiu.panait.oss@gmail.com> X-Mailer: git-send-email 2.50.0 In-Reply-To: <20250728060701.1787607-1-ovidiu.panait.oss@gmail.com> References: <20250728060701.1787607-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 23:52:02 2025 Received: from mail-wm1-f45.google.com (mail-wm1-f45.google.com [209.85.128.45]) (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 A9270221FC4; Mon, 28 Jul 2025 06:07:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.45 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753682881; cv=none; b=TG7HPDGtnqxkkCUqVKeHBJvX/VWau+GFqnosPFoMq3pGOveLswvjK6eWvGb700xE9qu4dvTkNVEbSA1JVREbEJZL6fXX22DZ/8OkLtYEbRbILXC1rBJXpGsHqObCal8hJTonDtbDQfmMI9tNvvMZtA8UEv6zNJY5XNMoMPIQVIk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753682881; c=relaxed/simple; bh=4zJMhQ+VcPBQ76ASBvFai/gasWQveJW54RMGe/zEYD0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=CW9S8SIGF+xVgzgs2qsHg315m06tEqcplIWR+zIvcKzculXSky4LiAd5DQQM2FtGK2lRFuYHfBRRJ8cqPnvBHjbqOJO8h4C9ME1e6RWpNw1gp57L20njLHubr1AAIDO0EHwydj1560Se6PHc3BONvvzt/YsNc7EfT3j5JqlJow4= 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=LGpgnINZ; arc=none smtp.client-ip=209.85.128.45 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="LGpgnINZ" Received: by mail-wm1-f45.google.com with SMTP id 5b1f17b1804b1-456108bf94bso22401055e9.0; Sun, 27 Jul 2025 23:07:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1753682878; x=1754287678; 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=j2K/bAbM7b4hD+UZ1sY7e2X2nlDeVKcJvl2Epy7suEc=; b=LGpgnINZeihBfuUzyvGWLniXRs5uPRfuRZpwiNZUscJSv3u7GAUApG7UMnkRQlPlVO SzR50DAnGo1/37/ABTT/bBRZMwi12grgr2J91RBLNFcxtnp8m7ppxPeNAHndlDbKW6Pu SHAzLO2GQSQ5X9NO46OQKk6yS3dFQCyZwg6uElMZbx00C3ENquyXpfgo0j1e3stWpnB6 SYaufPGeaIxwU8QckXqAd8woanoAQYWOkSb5ynnE7iYZhhHhRgcyTMPhaumsxxoNxWgs 5LYJE8T4adL/FoInJYuv12KI7GA3BSu1V+P1Xx639sI6GCgcwmEs09KctkPEBQrYGMEx NCeQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753682878; x=1754287678; 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=j2K/bAbM7b4hD+UZ1sY7e2X2nlDeVKcJvl2Epy7suEc=; b=ht/kcx4xwBtok4km8v+7L5lGc7RPp5QlXtRgdGXZjntOvFIbGLe6t1QbD9yhBbe8VH 7uEgElgZl1unyb/dKgbQM34Vl9SM4cMxNyRwuIdNPZ3arsHLtWjQWu4oTK4QjgdcUeWG 2Y+z9KsRw2F5sFwr1ihFvl9hh3KFFjgBpS/8GmVFP7AWld3J6KfE8KJqBHybPPiEgYIt bd1VGnj6v0YDoY6Q2QUGwRBRJ661YmEQx58SDO0w14pzRwexSl17Pd35PiCQ41wlChm/ GplYxrV0NDsjoz0GX+S2M4E+kaTBpeI4BK+zgCsELlFXOdqKLi+ljoJvnn2mrJd/1AJ7 /SNQ== X-Forwarded-Encrypted: i=1; AJvYcCURD/mvzyrTsckDmXHkSBoe+K6Vxu5fQ55lgQ630KCZVZM+cIyQ6/8YOd/e9Bl7SgkjDVFAwDl8cXIc32Q=@vger.kernel.org, AJvYcCV5XWUaMWB6SChnI3c/zwfQmNgFGznNxOI81o0RNhlITXE6jalxDQB/3LWr9TSl/kC7EDAwwfzJt0/uEdup@vger.kernel.org X-Gm-Message-State: AOJu0Yz2XzCq1nsfOFRFS8GE8onQxtTOmYLAV2miCRRIhcxFeSExRzlW uvxYlSoD4LHw041rNrKP4AEgblgdyOX1INTDshzQ3fUqfImQbx4ginxD X-Gm-Gg: ASbGncvELjrZn8Jj4EK8lAWMq9MLQNba0j1AnYX8S3USrj9Oru8PZXVHVt2JO1hi9pu 3lWEsxXl1WsDplngZNYEWUaS4jrm0SNz5d0YrrE5sQc6BdH46PVx3eWmnk3khUPtBpHo6ZQGRZ/ Bh4HsmEy+2YENO98pCRTsGB6ZPSIwMRKEGAu2lt9W+AJD1ehJcGO21/uvwEXK/gStju1c/3nYKA BnJou6EvKXCLTvT7hiEH0YKIiWNWbZTYCTRA8I7vxSkj/BtZVnpVSbzeLr5/cP3I5POg8I1ULye i6X8pgEYsl+iEzcrTHBRpa1w4rcWgvBPB2bKjkQULaBrrOPCJ7sG13/iC/uVIgQUbyEDmZFPRlS RSG/azfczwLWlHbqLqVlQJfp9WEGzA0Stcg== X-Google-Smtp-Source: AGHT+IES0WVeYiOQzgvF9uZ/F/ZuRvB9DCBVa5KoIGMgW6lVQFOUgMPsAT/Es0z6LGY/i4jb9SI8lQ== X-Received: by 2002:a05:600c:1d1e:b0:456:3b21:ad1e with SMTP id 5b1f17b1804b1-45876442799mr90886165e9.17.1753682877810; Sun, 27 Jul 2025 23:07:57 -0700 (PDT) Received: from ws-linux01 ([2a02:2f0e:ca0d:f700:1210:b727:adc8:716]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4587abe6ba0sm86195215e9.9.2025.07.27.23.07.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Jul 2025 23:07:57 -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 3/9] crypto: sun8i-ce - remove unnecessary __maybe_unused annotations Date: Mon, 28 Jul 2025 09:06:55 +0300 Message-ID: <20250728060701.1787607-4-ovidiu.panait.oss@gmail.com> X-Mailer: git-send-email 2.50.0 In-Reply-To: <20250728060701.1787607-1-ovidiu.panait.oss@gmail.com> References: <20250728060701.1787607-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 4 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 | 4 ++-- drivers/crypto/allwinner/sun8i-ce/sun8i-ce-hash.c | 2 +- 3 files changed, 4 insertions(+), 4 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..326d9c988bb1 100644 --- a/drivers/crypto/allwinner/sun8i-ce/sun8i-ce-core.c +++ b/drivers/crypto/allwinner/sun8i-ce/sun8i-ce-core.c @@ -1062,8 +1062,8 @@ 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_stats __maybe_unused; + struct dentry *dbgfs_dir; + struct dentry *dbgfs_stats; =20 /* Ignore error of debugfs */ dbgfs_dir =3D debugfs_create_dir("sun8i-ce", NULL); 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 23:52:02 2025 Received: from mail-wm1-f52.google.com (mail-wm1-f52.google.com [209.85.128.52]) (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 02C73224896; Mon, 28 Jul 2025 06:08:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.52 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753682882; cv=none; b=WHr1lyFeW+O7r4WCT4r84OO1JsNBNZLcWOMMFUDW4ikCGQ+vLtWpb8aBKY5fiy4Txc9l85f5I9GxHJlCVnAuyxI1iEulnuLKseQJDPrcMHas3nCRtNEXErLv1XFjS/mP6I/QywiLgy+BYCbDRGyblMRXEO9q7EH84cFkutx8RNU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753682882; c=relaxed/simple; bh=b3yfadSxlQTuuUjecZzGWQXT1ppEt7Mr1bmdx41N2Jk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=IPVrt7a6zJkt+WxNoLpSXOHaS9WJ4T/4XHQlzCvdZYLI9L+pgAlTvUjSVTOielcRzfz+LOvMr+gtp6b6GO7rwqJytzZtRG+PmvyQKH/sv4/KNsZeskem5xvoWrknzd2avb+MOt7YNDAKZzX+JoHjmtWulquHoisur3HldaySOr8= 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=MBYQyu/b; arc=none smtp.client-ip=209.85.128.52 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="MBYQyu/b" Received: by mail-wm1-f52.google.com with SMTP id 5b1f17b1804b1-451d3f72391so37785145e9.3; Sun, 27 Jul 2025 23:08:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1753682879; x=1754287679; 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=eJtO1nuKB/731gs+IWxyxQBo+tSaie/TO/30jHleAGw=; b=MBYQyu/bqp7TAna6nI9G0OnOZ2s81LZqkaHu6ZMJ4p+Vuf8scFcSqDUoH5dMW9clS1 hwPiImKz+uBd8rNr9qcJoOOYLfj3UFpq7rHPXUxvsT50iYFaeY6MYNsmZ6XpxIHOQnCZ Chz10e34Ty9pP49aa7+9D7d7DxpMaLCqSgh/A1XTwzcmeTay3Kiq/ykN1auhX0kWqyFA GE7VSuZJcgt8QpIoM/x6EkhBCGCj+KVgrdelrN7Gfr/LDHuENyHqEgqFGQCuykQvJXee bq4tqo/WK+JxMpz617tjUC836wL0Y633O20TsZSglVR9tN8OhOBx2yR1D7QU1KMJNm/w 2hsQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753682879; x=1754287679; 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=eJtO1nuKB/731gs+IWxyxQBo+tSaie/TO/30jHleAGw=; b=TBhgfmD3YBe0up9XnI+dtjDCr2pIQ81iN9WYWgiBEvk8Az39igrsTdWgkpzEca3Q8Q YeeltbnuSAzJpB6Qn1r+KU+Vv1E97XKRMQcZ74X02TKWA3pa/FFocFAge9YSPNdtfnwv pHJZkkoXlzmX2FPLRAas/M5DJyW7mQkMUHB8k+G7dQvUA3OxHjD7tMQkUpaKJ4OaYBMm bIky8etN/+MmxAuH7twrRmV2MCcRO9XO1GQD1Ua35g7vobACOz3SgIy+hUOFu6k4GV43 XLDcKbFZz+JFc1tSwZJ6L8p3N2VrzZNwCqoYiHGGffKvdhji70q0xoWss3TcC/isXue2 EdXg== X-Forwarded-Encrypted: i=1; AJvYcCU9/Pamz81o3FT5bgDV29WfoEf8/E//B+/rXllXziOZaDYyK0J/URxaicsCzcsQCx4wdhltWSRjmVZ0okU=@vger.kernel.org, AJvYcCXj5Yz991y1eQqizhJvWCjTk5XH9qv/nLbn9odYoPqdhCIQDb5q8ZvP0jmk0aJ+ct8tsUDYyhuSHYHmatgK@vger.kernel.org X-Gm-Message-State: AOJu0Yydagn+K3b6QRQ0C6xSkb2NU6C70aG65Nk7kreD2L8v1sEgqxoq /bbgRKpQwo+05LP5zsajIZwoYjmqKyMWzKNwYLMEIn+9bQHPG8hzpIHKSvU5Lg== X-Gm-Gg: ASbGncv3cioIVQcrVyBHuA8d5zzW2V5RJOmiXGOQ4tBMuYzIeiuk6E7sK3rs359LKuy JcKCuAcpmgE+hSE4TXy2Go3Ruy7TNpD4SnHNkS3+i+JLEXdaSiu/I64oQi5FOiSpXl3rOJ7W6Wn Or0RFtpxqkPqzogcvEeC/kNFw+uQ5b4t/hR1W1NiEXlhtZcvmPykTIB8IbDHYsbjqWv/YJINLVA CYp+PNlczdWAQjYN6uMu+4T8NP4UBsDShsJ01STDv5BjjDSI0k4Q7HRlB5sBI6SFikFsw37mFBb XKyhyo2nWx/iLJ5ZwNJfMDShyx3plw9Kbyaj6rfUZdqTyE0QEsRC2351S0oBb8yCncNYmDIxiz5 HzqRhUJBB+nC1+hJbSUtheVifYm4L/4Ga+JjAU0vPDWhV X-Google-Smtp-Source: AGHT+IHcuqZDSycBlmjS65wGUlNSERplHlPi6V2vucApJV8xzGnmPFaJnpc/De5ZHaB9MzmHrkvGag== X-Received: by 2002:a05:600c:4590:b0:43c:f8fe:dd82 with SMTP id 5b1f17b1804b1-4587643ec92mr86897145e9.18.1753682879129; Sun, 27 Jul 2025 23:07:59 -0700 (PDT) Received: from ws-linux01 ([2a02:2f0e:ca0d:f700:1210:b727:adc8:716]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4587abe6ba0sm86195215e9.9.2025.07.27.23.07.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Jul 2025 23:07:58 -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 4/9] crypto: sun8i-ce - add a new function for dumping task descriptors Date: Mon, 28 Jul 2025 09:06:56 +0300 Message-ID: <20250728060701.1787607-5-ovidiu.panait.oss@gmail.com> X-Mailer: git-send-email 2.50.0 In-Reply-To: <20250728060701.1787607-1-ovidiu.panait.oss@gmail.com> References: <20250728060701.1787607-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 326d9c988bb1..d94304a439d3 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 23:52:02 2025 Received: from mail-wm1-f44.google.com (mail-wm1-f44.google.com [209.85.128.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 6D258229B2A; Mon, 28 Jul 2025 06:08:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753682884; cv=none; b=ZFAj398uruagj88NfIld374c4e0xD/bIKsG6CfqNg9ixoHfpphobcTb/A41Top33j4bWTVSEpzb3Jgjvwn81SIeJoS+1MLyAO8xSRXcUNja4tw0LppeelldYll6mCdKPTAfOIMvZK+D/n/RMl0Dsn4tiq0JutGPrsCIdje0ZNZs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753682884; c=relaxed/simple; bh=xmk9NUUKau69JXd8j/FyZNIhFMPQAiXB84NiNB/WsI4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ZaN46XSnI1/rPa5g1hXIGaUcHL11qv1zRqoAWNe7a7eZeyEj4P57mcZmsUN+g3i++maplrWhHbmFB2SmGrnhxV/FLgyYwj43eK2akt3gGP3vyh9CWAMXu4rDgLaUkxW4YlM/i7N18GQ81CTNzSJ76m2o8wbHXCBwJwhBGFpktYQ= 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=meyQPxnc; arc=none smtp.client-ip=209.85.128.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="meyQPxnc" Received: by mail-wm1-f44.google.com with SMTP id 5b1f17b1804b1-4563cfac2d2so42757575e9.3; Sun, 27 Jul 2025 23:08:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1753682881; x=1754287681; 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=sdqdaaScOBYi48Kijra/+QGBgmA2GIY7lfOSgwcV1kY=; b=meyQPxnckyjRPIELJw4O1JVIuJ2CY6SZ5W0iqT7KyG5QKbakOm63cAgWu9cBoq2nrM OLSeQPvz0smQNdi0Iq0qFn54tjk4My7rNR5ODab0hCI3WO+prdGtwOYzXwiMS77oZRqV XoaOaKsHOE5CAUsu55kUVDyuDPaE/5A8VmL5W+GzfBYs/voQCkxNTiq3M3IjDl/LajzE Q9uh4CbIrbBUs0RtSJni9c6SYtfGlOmHmII3V9S01OXMMvFZwJltBwhMZ3UvWisRj/BX dva5rCNqYMc+edaSXigev7jtCV1iqt9tLzP4l8sPMW3BaCYsXMVejTg/g+QdEhqNeWXJ ZEMg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753682881; x=1754287681; 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=sdqdaaScOBYi48Kijra/+QGBgmA2GIY7lfOSgwcV1kY=; b=dq9VIifhkXGItO6Y/aHmuK8YT4g5FjRkT7hB9sSDo/XverbRFzWHkPYE8h0J9acHDf hZmwfgdTh7ApYwwEslmwBzcv28O+mSGzDVR3VgahCsspS/szFr+vqvyGMjLm9adlNrQj 6YLXjHaE9tgTqm8OIjhxs/m4K9ZRYcLwLO8G9+ywMn9zfk5Ypm/1PYmqceajUo1uQN8p /LQxLE/cSi12714AsieP0CriHb3zdc1ULWgBDrKapSSC9JvItLbig6S2hk714qO94aiN /2nXq9hwBBEd0okbVSdS2QG0IL8IXSHKa6CJ+vKXFBXbOkE/PGJe86rKiFGpto0tIdVc d6jQ== X-Forwarded-Encrypted: i=1; AJvYcCUdOWjRe6Cve1x7oLPJCiijEuiBUkXASiYL2bHcKlNyhEy+tYmMpzy2L2GCsA1ezGRUta01ffmrAGN2KbSn@vger.kernel.org, AJvYcCWEVSq7a3IaJL+rcjN7yth54jYIZKD6ZcmiTxE5gxNWtlc1AWlUEry+EiVtSOZ3YQjKnHw2H7v411VVEQ4=@vger.kernel.org X-Gm-Message-State: AOJu0Yw+iBNQ8NFO0Hb0lI/1qkwlU9Mw7o6cVF/tTsMi7Q609yKMZsh1 D5NNHOoVcFc+MoCXHox4DruG4Umx9Woii/2x6oTDEhao+Xi5U7qhg+43 X-Gm-Gg: ASbGnctAdFuv6BLsi3wvyHh7CN/qGr+W1q3fwF46VmjroAx4HWse0ms7At54VDUUJ1b rZz3uZ38YuKQY8fDQFQoLVwTZtMBBpysW9pcdBszPRsxKa6H7w0M4sB9LYMw5VMgenTDN7SCrtH bkY9fE1nVwyWVvTibEO1n5w605dcQl1duqRp29a/BaitaLvdFfuvb1s8p0ADGXAkDrubbNM3eyM zbr1EaYe4tcMBeRTlKX371bW0+xLrbAz+KlLiKXqTKWRF7uJysYfYDjNZailNwp9mtq6RPEFHZL 50PW0N0RR1gtscC3E/C4BLTUREWJiL6hAsoHHBqqE9yOdf2dkAgp+2XF+9GmslF26qflQLKnafq YzacZ6N/xb8fouX987/FdWTQNLk1wG4+mEQ== X-Google-Smtp-Source: AGHT+IHZ+61CYtmRgVeRSYGGn06dcWJ7qkkpNHOxwMUzzATXNR8lg1Va00usgycivkfePU3GB9B7Ig== X-Received: by 2002:a05:600c:5027:b0:456:1a87:a6ba with SMTP id 5b1f17b1804b1-4587666af1amr70261495e9.33.1753682880486; Sun, 27 Jul 2025 23:08:00 -0700 (PDT) Received: from ws-linux01 ([2a02:2f0e:ca0d:f700:1210:b727:adc8:716]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4587abe6ba0sm86195215e9.9.2025.07.27.23.07.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Jul 2025 23:08:00 -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 5/9] crypto: sun8i-ce - move bounce_iv and backup_iv to request context Date: Mon, 28 Jul 2025 09:06:57 +0300 Message-ID: <20250728060701.1787607-6-ovidiu.panait.oss@gmail.com> X-Mailer: git-send-email 2.50.0 In-Reply-To: <20250728060701.1787607-1-ovidiu.panait.oss@gmail.com> References: <20250728060701.1787607-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 d94304a439d3..ac29e3f4e099 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 23:52:02 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 CA3AA22DFBA; Mon, 28 Jul 2025 06:08:03 +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=1753682885; cv=none; b=YH9qmwL1nP+Fry5s/Un1jMTHvXpD+MnZbbNy3z/DHwLraa2Qg/ezIly0poxw6KGOblHqkWW6ktRGhsYvtpNF/U8MilmMKmWG2tcXAG9Bu5fNSNBAA+WoFfyuES4sSfDSlBOLdacpupKhrudydCf5OeV6qdgwOHf14CLprPPyIkY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753682885; c=relaxed/simple; bh=VLxVkCzDUptZN3MLV6XyYZWlwBVycUnPTFTRKmIikGY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=jCdnzRH3IzXQ6RTNmOy4Gf5hTpv07WvLoafHOg0N2DNT/xdSVdOcmrr0Ri8dTk4AM+ijXnLo4pU2Bxomp58jE3sOkClXcTzIgB+AB/uvGQfnmB881VVfyqb/QRV/HJ6LfoK1OUT6ubzr0p876k27BAm+/yveAI+UHS0fQuKgezk= 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=XwUZTu6s; 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="XwUZTu6s" Received: by mail-wm1-f50.google.com with SMTP id 5b1f17b1804b1-45619d70c72so36292795e9.0; Sun, 27 Jul 2025 23:08:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1753682882; x=1754287682; 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=XwUZTu6sFswh4N/D9axZdSgzyQNUF/5z3vMf6VYQ7bJ77oFB8GFT0QxPC4G9tfH3Y8 OMkPpyuTN14GK1YgtyS33fRK91XtW3smz6iN/BDWqrjE8gjXq6KSpD07XpBvAIQOQWcR ZX2QCgh+0jl53R+KBw8DuQGQ4bMEEL8N+y/K8e0Z4YIC/Bk5/wYY4f8owkLJbBs2yNof hlD4oaw36dmqOGLPdElplfKuUYH14bP6GoeW4h8cT9/4TsuLQ1syGqpZrdDsRsvVec6I 5mfWhg5TrJPXn6+vVoQepgPF92w+skTbc/XggYAmYiCgX4QBqBnKatUZmyaU+TOjdzYp nYZw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753682882; x=1754287682; 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=vceAFXJkJF7LEcbafGZoU+l/s4oqh9rOASI2ihfhz8n4hU8DSAjIflr4wcLQPOr90O TbO+mSue7dMhAAn/4aBH+uTvi4wYs9kN2g9HnDDiMcJuQzaQrLjk8mlp6DxPoqVp6g/R dpeoSe7Wcpuk7uC8R7O9PBbiiKw0r9Ze5Wld8w8YSyj//Bhaf7KsziGD2EaoZoq1Pyzo juaJhwtAHUwKg1TAUPTQ1WPFhHXKfgXPYHBgbTMqjNlV3B2m0s5ftE6Rrny5ah34hg2e poNk0iO5xB1toa6URZe6XOP7vz4B4QX9lgl56VWs8czgx+3qN83romlPyYl/Wm8Qs/w5 d/sA== X-Forwarded-Encrypted: i=1; AJvYcCVZJvMN1A+e8WMTbnJlmshPZpKS8oG+5A5bVZhylKS7106eKdbrer216OCFM9fGXrHzG2sdrJIUrFE3Luk=@vger.kernel.org, AJvYcCVkqlo2YuDWHD0Vxfw47BgMpncaBd8FXmpvpx19SsEtJ/ldY7dcNjfrUhLHjihoKBSayWE+Ue9i7hiKNAJo@vger.kernel.org X-Gm-Message-State: AOJu0Yz7moLXeRtfo7qfZZfh1OXtNo1gNzxO8inZ3wYiwWRViCBbgLYj AYKWuicGmtzUTGKGE8RXfG8iyxuX517OczWi+wGOfslkGwRmCv5STP+s X-Gm-Gg: ASbGncuO1frqPRNSbjpkU23z8D6CLzCLgBAzrAi1Jzn8NaVOfLJO8UNGHl188XS98mX vbnWO+Na343w7tLm08Pgb/qx6Q5pw3qhAy+XT6Rq//yUOm6Kuc2sv5EJauFHR1LA+ZnC+l5nsdX JPpUbbDTa79EoCbigj/5qnNFM2YMNsaYTnjg39coC6SLU9LNu9Ye6yOyB4VmP8Agq/OXfJ+TXJl ot1+P5YZTbAcYbQiA8klcvZzStjDU67z6eZUuS3nETbt/teHDT40FVicihprA1ALJmvJk4GY3JG ZOSnEi55Nk5X5N7I1jEvFunzJimbGJNAYa1xLewhbDxr8gMlWO5/9IHsoy9NCgyBidqz9FrWBUd jNf0oX9ssl9GhDB8WrZzDq4RFVmiU1MIW9w== X-Google-Smtp-Source: AGHT+IGpFevRNhf2Vrq4L9a0rQ+pWGEn25CUoR7Gcz+cBTBQUtLy+n5N/VX74UxKawJZYUhaHpYi5w== X-Received: by 2002:a05:600c:1ca9:b0:450:c9e3:91fe with SMTP id 5b1f17b1804b1-458754bbe03mr80560255e9.0.1753682881878; Sun, 27 Jul 2025 23:08:01 -0700 (PDT) Received: from ws-linux01 ([2a02:2f0e:ca0d:f700:1210:b727:adc8:716]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4587abe6ba0sm86195215e9.9.2025.07.27.23.08.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Jul 2025 23:08:01 -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 6/9] crypto: sun8i-ce - fold sun8i_ce_cipher_run() into sun8i_ce_cipher_do_one() Date: Mon, 28 Jul 2025 09:06:58 +0300 Message-ID: <20250728060701.1787607-7-ovidiu.panait.oss@gmail.com> X-Mailer: git-send-email 2.50.0 In-Reply-To: <20250728060701.1787607-1-ovidiu.panait.oss@gmail.com> References: <20250728060701.1787607-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 23:52:02 2025 Received: from mail-wm1-f45.google.com (mail-wm1-f45.google.com [209.85.128.45]) (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 14CF8233128; Mon, 28 Jul 2025 06:08:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.45 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753682886; cv=none; b=q+Xb/1vWDFPdCYGtnTtBNuoW39q14640Uwg/UtywSa7H7hHA98My2ObnNlCtY97xaP9aXDrOTJAkzXJhHmdkYgQiqWtX3PTt4QbZcKypRQFmlCES96ntJdoLfSchZF7Ox/TGd7MdIhrFbWQBeNCPJCGr6Mld9jvgst03+rTDUS0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753682886; c=relaxed/simple; bh=f6FBfJ2O2GQ3lk7rvtQvn1UblRaOsewFE81eXurpKa8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=SFtFkkSwvvivhFhXlqHjKMbwJuOUodCyFTy8jUIdOV+VXEOvcyPC2zbwlvgh8MLPMJOF8wJgMddoCC9cH2HCRqAE37SSTpDWX69juRUIqIHIBlMG+RSXHQVVw2fCH5f5NhxZAvWWMJAU0jKv9c7PE11tj8XRs33x79xpjzdpSDA= 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=cxShXArQ; arc=none smtp.client-ip=209.85.128.45 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="cxShXArQ" Received: by mail-wm1-f45.google.com with SMTP id 5b1f17b1804b1-4550709f2c1so32242835e9.3; Sun, 27 Jul 2025 23:08:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1753682883; x=1754287683; 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=cxShXArQ/7kFZcNJbVw8U+tq2wdcUKJpk+6pW5bKBaDCfXaMACPTyX2YgACVQ7k8Pi vqYrhZFuQL9F9vfbvAsPfWtyW8tpEwth27y6HFDBBDKe1sLgJ3cGmcNyDIl50JjNhOOF wMAqaSV3V8aiIuSlvFJs5kY3ciwOg4KQ6VmHjibxG9K8F7BJ9NWFadLvGn8X5sG9HNQj +C/rHyTFZ9piSHq5pcBZCRZCz/+JZzEqg6SdnLQc1bLSQZBY3RD0ARZdV60Y8WklJ2gA aWknJZUtI7neKgA+1YB3RVUMOzpOZTwHLVfFsY9O1+5VJ2rUBXuqcc0SGRJKJgSnR+5g 79cA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753682883; x=1754287683; 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=Ntrd/m9zKU+aAGSyJWatKDt98TrFjEXWJ40PFL3bIsqKV+vYFBE9Tm2RvvwJkGZTah Cm0/4wyiCl7y1VdAGOeNWi29QLh0jVj5MrNWSiczPv4A2dpr1RCrAguGtmqhGIFc8Trr +l5Wy2EvZZNMvmexJM4HT2EK85SgiryGBQzIOL6gZ57bmrYhgQ1ew9vsf/XNFoL6llsC rEZqsMnketxPIizjVAoOUcGHLdu8Llvh0EfV4r1bhXdN4Yp9Z8ckfJV7e+171CX7tFQz MAm2PD/p1DY96UKk2Wwh1G2ZHk0AS2cBvtPp4woOL2G65Ik4tcwimDKR1wz3cqfl6rJ8 NgvQ== X-Forwarded-Encrypted: i=1; AJvYcCUqgHan367IalOsXOkBbYY19mbF+kGpfBt/rmWNq9MNR4k7f1rz3HgLQttjvNSM8pdRnJs1/KbIswvx66zy@vger.kernel.org, AJvYcCWzJmBVq/gu3fr4yMDmAE8cHIVJWIqgEiIDRiAq2ZUfRQiPtBUiLUENGI9mi2R0R3lY4+pB/sPfOHfaAvQ=@vger.kernel.org X-Gm-Message-State: AOJu0YzaUWfvDQmbleeesgKppBmjquMGa34dSPEE3Jeo/Aj/LoiiexMV DTNNcEPUnmZvnoYk9ztq7vV17XncmcmXu4eJdazILGq27kUcrmYeuxN2 X-Gm-Gg: ASbGnct+7xVCiTs5Alp0JF/wCRgtrnPl6CidENY37BpZxsIcpaGyYdSdcPMGhB01j0H OSj0IcWDH6A1ZOF1cUQ8Wyvwcy00h2zkkkfSI2v0B8yI8fiOqXM29gzuA1XUHmTGSEqNLieZ2fV qOLBMHvQFGpyuOZWJ2/smaVVe01SfiWZPLK9sqPrSh94kH+GXhNoHSKulrbxgDeDrgh+1RF2BvE r0vhb6qtLkjqGPc2IIT0bYU53L8A3mlQODkMKcu57FeVRbqBjW08t/5bPbOGbBCGhr093wCS2n6 Ln7uw3mSgCBHnvB3eZt0Ut1N9aIEe72Tn4YwZS7j7vKUpNa203CAEO7AX/v0hdWm7PnhazoTnFH 1QzCWlnAqiuowvoCezfm8eW38C6CW313EDw== X-Google-Smtp-Source: AGHT+IF4uUDpr1nH7CAsFxI85U0J21VbGx+Pa4bqECbTdmTZSrvcjVZKnUakIVKf5iSA2kR6TptSZw== X-Received: by 2002:a05:600c:6309:b0:456:207e:fd86 with SMTP id 5b1f17b1804b1-4588459921cmr31627685e9.2.1753682883194; Sun, 27 Jul 2025 23:08:03 -0700 (PDT) Received: from ws-linux01 ([2a02:2f0e:ca0d:f700:1210:b727:adc8:716]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4587abe6ba0sm86195215e9.9.2025.07.27.23.08.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Jul 2025 23:08: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 7/9] crypto: sun8i-ce - pass task descriptor to cipher prepare/unprepare Date: Mon, 28 Jul 2025 09:06:59 +0300 Message-ID: <20250728060701.1787607-8-ovidiu.panait.oss@gmail.com> X-Mailer: git-send-email 2.50.0 In-Reply-To: <20250728060701.1787607-1-ovidiu.panait.oss@gmail.com> References: <20250728060701.1787607-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 23:52:02 2025 Received: from mail-wm1-f46.google.com (mail-wm1-f46.google.com [209.85.128.46]) (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 5DB6823535E; Mon, 28 Jul 2025 06:08:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.46 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753682889; cv=none; b=dJz/LfQeO4EPf8GisVVPw+F8yMBA92Ud74AlRLVZAAM2r0IVM4rAHQnl8lbVpRwfFhi3B7zOBkMUuQuMwqa+FagpPGAyeVzaFIjPwXqK1L3c1lDC0VQa4UfhoET7Th+7j1N3HTjZnL2RMBfKAgcv8OtsflA/8ruoHh8DRby+1Y8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753682889; c=relaxed/simple; bh=B65GIV3its2xp1R6jcBGC4dXubBGAt9T//wtW+mLfK0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=r1S6b/EwYBT8+Gbwy0CLEtS5/J4/p4XxOU/YF6YBq8PMKGlpAIEDWSo9UpsjANYn0hrvQFmjnDCVvpcnj18fFBaUF9SXzqUvFuAa9vcMWDJ0yJi3Ex/YUAd9StCr29GIA8hTNPdzda2azh08lRiIuhNCXGpa+qSjsLI+tQe4dYM= 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=RjA39pra; arc=none smtp.client-ip=209.85.128.46 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="RjA39pra" Received: by mail-wm1-f46.google.com with SMTP id 5b1f17b1804b1-4560cdf235cso19478215e9.1; Sun, 27 Jul 2025 23:08:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1753682885; x=1754287685; 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=RjA39praTinLkV6vAB4b9TuNQZixcBudVDyNWMXSDDdw8gzAUSnM3arIB5R+MF6W0L OeLr9h0EnWb/MLRSLMelZWlliv7KC5fTwwoC2WViMDWZUIOn07x1XnwYjckj6AL/n1sz U47GSjWW7EVlnhwdJCI7hWaF6E21lYlcVnlWWAmtb7bZbnaWKHqJ62+VXhHPSv9UPpYR 4Ywq019AY4RhFSVHXKvYC3vcjmiSFncL25rLd1vh6lVhGqKmwIreL0A719qOSPnJGli5 S+SeI8SzjtExXEEhYTGr3kt/lO03CUvXK8cRJwKrYYwP43kyK9pyAnw2Nj6OiwW+wEWA 0KIQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753682885; x=1754287685; 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=QkAcV6rH7Ua8ggAJ4dgVELAHXQc6+e+uX19fJQSDs1plEoY8uy1yjmfJ7H9BGGzp4L cle5tXzOYsNyEQHinhewapIlSvmwhQdNzDRrZVqcHz2rpwru1TorqQje6+Q7+z6mEIxd AXqfnxpeyh/m3qL1NNYGme4TT86pYTyIsjj8YMFjFVafcMFT90oh3aSdSY7k8p8P1PxO VI3BGWZVRBQsdVOjSJSkMgwM6rG2sy3ZJRWpZ/UNgAJ8FaEZ3MsE4wdqwkNTI/jAPPaY 5BbPibA3A6XLe1UrLTNOEiCqdN5RCqyPMMcFQxhxfdfHN1/DSb2AtELWg4GVgftcr4WO BVTg== X-Forwarded-Encrypted: i=1; AJvYcCUbeoWGPoOE5wChrZZXElwyZHF8m8fT4o41+7I+byu0Hk4A3nFbadfSGMKC4vUtku+yJh7NIzmrzkvQnYMv@vger.kernel.org, AJvYcCXDCdh1FG9PWAecOqgKUWjGZqZNO6c2FvI3YHUuz8EEZS9adzagKb/0/ThRrbvgyVfE38iiMe5C33RIWRo=@vger.kernel.org X-Gm-Message-State: AOJu0YwmlcC15cNbXhfQW5deka2CdxOjKiwS1yTkp3nNRD10sQMZXRNo FSGIW/SNKygCC4h53QNdKVUc+UboHD7c+Z5cbpVdUEQNQNxHVBoCf3SV X-Gm-Gg: ASbGncthBYk3MtZqsW22SoA9wKWoUtlJbpFu3s0HOQK9oDEk/lnELigb+mXB/sKz1bo g5MnwBCEB/aIWq1Gg/B72+GrQKPGI9TjN+vebKB9HVf3/MEmd0Au1uQkaX+T7dXfnWYhWpu15Lz vem3wk5MvM3LbBNtHwtqqPFzbPRO+nFfVr5NBC5CX+X5IsZ9Je4Y3MzTeohJnMtQsquUINbXbmA xNlW0lubtdBP+ec4ZlCobPxiWbq+uJ8Ei8BbZMv+YSv7cq4mJ8iHETfG5+k2NpjuOFqCkKRFV30 frXH9/xgquQCM3AMy9aEgTkVPAgt+PUU9IPCJkQijmPJLY1mSNB9zSkaOetYGOUPR3qh8RvRxyz Q/BVz3OIbcUV6JSYP6Q0KY/WANwPq8fjNJQ== X-Google-Smtp-Source: AGHT+IGNHmqJIpVWF51P/BJHTnOzhLLnt+a4s0Kx90Y6aX/0rcrlD4mW+DwtiXOJokQk4AhF1Jdd9Q== X-Received: by 2002:a05:600c:674f:b0:455:ed48:144f with SMTP id 5b1f17b1804b1-4587630921cmr85129635e9.14.1753682884424; Sun, 27 Jul 2025 23:08:04 -0700 (PDT) Received: from ws-linux01 ([2a02:2f0e:ca0d:f700:1210:b727:adc8:716]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4587abe6ba0sm86195215e9.9.2025.07.27.23.08.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Jul 2025 23:08:04 -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 8/9] crypto: sun8i-ce - save hash buffers and dma info to request context Date: Mon, 28 Jul 2025 09:07:00 +0300 Message-ID: <20250728060701.1787607-9-ovidiu.panait.oss@gmail.com> X-Mailer: git-send-email 2.50.0 In-Reply-To: <20250728060701.1787607-1-ovidiu.panait.oss@gmail.com> References: <20250728060701.1787607-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 23:52:02 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 95A45236A9F; Mon, 28 Jul 2025 06:08:07 +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=1753682889; cv=none; b=jad6r4hcmbE7hE7vt1173qktXTy+zS/VfgxWTnYzSETZnRApJLmqA5P8+8obzCZHVnKMpZwPhYnjILj2DoVr2gvlfxSXXdS+m6RFjq7YOSeCYlhSsHwQS0WruSAQY8GchT39IFzQWUiGqC4YHgRGGXxu4kzd6lQ9ext+XYWCf0Y= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753682889; c=relaxed/simple; bh=J9ebtys+gOadsS+t9/vBdipuMTDeR7aQZjcVU3lSpuI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=skxjnnguncRxbHusmA8Iev9rirY0+SOovoPu5N3hw0WU17y2lmrFdyPzdQ4EoW21WPiImqvBMO/4MLbJeb5TKuWAtZm/bPcVpBcnC2uIBQ4NQxXeStM8/uVif/SNyRbAr5ktFPNXdujVtJWgiHSr7BCjQ7y5ZnK7XvUzAEu2T+w= 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=Sj/pNWho; 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="Sj/pNWho" Received: by mail-wr1-f49.google.com with SMTP id ffacd0b85a97d-3a4ef2c2ef3so3439245f8f.2; Sun, 27 Jul 2025 23:08:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1753682886; x=1754287686; 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=Sj/pNWhoMVk/1aeBH+clcLoqbD+ho2P9m0r3U7cL2qBhNzkwq6NqATt+5sFMSqwr2C bgzp8H5e1Jsr/3QrSVuZdqbdSbXnPIjiMFLtZ/BFwq1H1FMDcXvodYZdbidybmPcQb1x z3m/tpDdJNpmSRcnWkvDa4gV+sLSUJjrPNRIxmXLhDcxnvsprimW05Zw7slsgwFoAhLX 38VgavtSCXmfQDNOlGOHy6XupncQdg0h+p1viGrsEEcObmjUP0B6mWU3mVx8zt31awZo G18IEgC5s6w2rx8Ty+iIVGAauUHp+NBCwFhZVHADGtuMmlMNBo7QyGXZsY0Edg1UDfxt 3u0Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753682886; x=1754287686; 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=R0yQ7+2hAug1nFgcSyChddqQkeIm06zxnOmC4VXbaBLtZdCFwP/n0LhmkiUyvt+T8i v7GdHF4quTCDWwXWW0O8MllM7hQrd/5GzaAlWVm54sdkRuh7FyIwFF8NuCtk1sEMyaok LBHpE9tz97g7iZ4XGde8PvYbc2zdCaXKhoPwLBsi+hoOE+NKRXytcXs+aYbj8ivogY4P nMjHEDTJSwnKP6VKjvIIXjC3FPvxnMoRooeBFuwjRvk5/lDgwoswo3ByYvmiKFF4w6us iqMt2O5j0mp+Mq+onfjnI/Ej+7PEg/RtDFCkZIXlLWatZ5QzOWd45QUKKMgcx4jy8wtv l1hA== X-Forwarded-Encrypted: i=1; AJvYcCVnE+lT+6yU5Tux2Bl67k0r878XOhJ1coWNbwtlhAfsBXv7GJhgEHOrTmifckjNm7HbApW0ZLsxzQ7HBcaE@vger.kernel.org, AJvYcCVnKdQ9y3YxGyP94srIZOTYZwbncPG4BFhIpR7YEFs7KURz9f/GidLQsp2Jm8vYOyCNIjg9X1A8iwmdBM4=@vger.kernel.org X-Gm-Message-State: AOJu0YwDE9CW3b5q3eQs0i3Foa/9AIFmTgCTdJKoMQzZRlJKVBipb5FV 6D4f7WVwtbjF+3uGI3p/intdb3fZydPKYE+7PrGnW38AsnGbdprPOcfD X-Gm-Gg: ASbGnctMn9PQmF6Op/JJR0ODVG7X/Q2NEV7KBuiRWUS9/7po/JwmumdaLsW0aa1c5tg 5ZB0zthOsf7L10JE+9SMhGs92NLwhAnirYMgY41cxy5xyzUWFD1oKgYiFd+UF/vRVDFzC4BfQM9 nVEw92gCRpMuAeG8ugCEkpTEbsF3/h6bELvNGM6kA174Qv9EyreN/iGk4Scao5W6P1YWaRrnzIL oIg9dqmzP1hbrjOH/pusII/lxwfg7INA/PtRsuLRyvCSuJMY/YkSm08DO9acHfKJ7mgV6wrajYE RXOi4GLu8Wxdbiq3xKjBMgVGMoTLp4Apku0OlitNLJn86qY2SWp97XQQhN0PxgGBNJQSV2C4czS 24S3Wul7Pkvy5tciuokBDgWMP1QR1pq25fA== X-Google-Smtp-Source: AGHT+IGmdqX9IZttVYna5BJ5xmHOnuGw9/sYW7r7das3xWFHBQfvmW7jivr0ZkUOFKLeiH33vIEMqw== X-Received: by 2002:a05:6000:2011:b0:3b7:88a1:19f4 with SMTP id ffacd0b85a97d-3b788a11e12mr1371642f8f.27.1753682885748; Sun, 27 Jul 2025 23:08:05 -0700 (PDT) Received: from ws-linux01 ([2a02:2f0e:ca0d:f700:1210:b727:adc8:716]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4587abe6ba0sm86195215e9.9.2025.07.27.23.08.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Jul 2025 23:08: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 9/9] crytpo: sun8i-ce - factor out prepare/unprepare from sun8i_ce_hash_run() Date: Mon, 28 Jul 2025 09:07:01 +0300 Message-ID: <20250728060701.1787607-10-ovidiu.panait.oss@gmail.com> X-Mailer: git-send-email 2.50.0 In-Reply-To: <20250728060701.1787607-1-ovidiu.panait.oss@gmail.com> References: <20250728060701.1787607-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