Skip to contentSkip to conversation

crypto: caam/qi2 - reset the DPSECI at probe only when enabled

PATCH In review Vincent Jardin 2 participants 2 messages Sep 28 – Oct 8

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 crypto: caam/qi2 - reset the DPSECI at probe only when enabled

Since the commit
060ce5037d5f ("crypto: caam/qi2 - add support for dpseci_reset()")
probe resets every DPSECI.

On a DPSECI the MC has just created from the DPL, never enabled, MC 10.40.x then logs for each of its queues:

[E, qbman_rec_isr:396, QBMAN] QBMAN recoverable event 0x1000000
[E, dpmng_dump_rerr_fqid:1335, QBMAN] REL_FQ (FQ[0]) has 1 messages, dumping up to 16:
[W, DPSECI] DPSECI ID[0]: Flush on queue 43 not confirmed

That is 16 error lines for an 8-queue DPSECI, at every boot, although there is nothing to flush: a disabled DPSECI has no request in flight.

The reset at remove is unchanged.

---
 drivers/crypto/caam/caamalg_qi2.c | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)
drivers/crypto/caam/caamalg_qi2.c +13 -2
index 6b47bcc16a50..6dccbd3b27a3 100644
@@ -5041,11 +5041,22 @@ static int __cold dpaa2_dpseci_setup(struct fsl_mc_device *ls_dev)
 	dev_info(dev, "dpseci v%d.%d\n", priv->major_ver, priv->minor_ver);
 
 	if (DPSECI_VER(priv->major_ver, priv->minor_ver) > DPSECI_VER(5, 3)) {
-		err = dpseci_reset(priv->mc_io, 0, ls_dev->mc_handle);
+		int enabled;
+
+		err = dpseci_is_enabled(priv->mc_io, 0, ls_dev->mc_handle,
+					&enabled);
 		if (err) {
-			dev_err(dev, "dpseci_reset() failed\n");
+			dev_err(dev, "dpseci_is_enabled() failed\n");
 			goto err_get_vers;
 		}
+
+		if (enabled) {
+			err = dpseci_reset(priv->mc_io, 0, ls_dev->mc_handle);
+			if (err) {
+				dev_err(dev, "dpseci_reset() failed\n");
+				goto err_get_vers;
+			}
+		}
 	}
 
 	err = dpseci_get_attributes(priv->mc_io, 0, ls_dev->mc_handle,

---
base-commit: 67aefeccc4101a93627f36abbd049f191b54f903
change-id: 20260928-for-upstream-caam-qi2-dpseci-reset-5971d83f4b4f

Best regards,

Signature · 1 line
Vincent Jardin <[email protected]>
maintainer
#1 lore raw
Quoted 16 lines · On Mon, Sep 28, 2026 at 04:06:56PM +0200, Vincent Jardin via B4 Relay wrote:

From: Vincent Jardin <[email protected]>

Since the commit
060ce5037d5f ("crypto: caam/qi2 - add support for dpseci_reset()")
probe resets every DPSECI.

On a DPSECI the MC has just created from the DPL, never enabled, MC 10.40.x then logs for each of its queues:

[E, qbman_rec_isr:396, QBMAN] QBMAN recoverable event 0x1000000
[E, dpmng_dump_rerr_fqid:1335, QBMAN] REL_FQ (FQ[0]) has 1 messages, dumping up to 16:
[W, DPSECI] DPSECI ID[0]: Flush on queue 43 not confirmed

That is 16 error lines for an 8-queue DPSECI, at every boot, although there is nothing to flush: a disabled DPSECI has no request in flight.

Quoted 6 lines

The reset at remove is unchanged.

---
 drivers/crypto/caam/caamalg_qi2.c | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

Patch applied. Thanks.

Signature · 3 lines
Email: Herbert Xu <[email protected]>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt