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

Since the commit
  060ce5037d ("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.

Signed-off-by: Vincent Jardin <vjardin@free.fr>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
Vincent Jardin 2026-09-28 16:06:56 +02:00 committed by Herbert Xu
parent 4c3ca7c8c1
commit 87bb7ce07a

View File

@ -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,