diff options
Diffstat (limited to 'drivers/crypto/caam/ctrl.c')
-rw-r--r-- | drivers/crypto/caam/ctrl.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/crypto/caam/ctrl.c b/drivers/crypto/caam/ctrl.c index 7a22427..321deb0 100644 --- a/drivers/crypto/caam/ctrl.c +++ b/drivers/crypto/caam/ctrl.c @@ -480,6 +480,7 @@ static int caam_probe(struct platform_device *pdev) { int ret, ring, rspec; u64 caam_id; + u32 caam_id_ms; struct device *dev; struct device_node *nprop, *np; struct caam_ctrl __iomem *ctrl; @@ -660,7 +661,12 @@ static int caam_probe(struct platform_device *pdev) /* NOTE: RTIC detection ought to go here, around Si time */ ctrlpriv->era = caam_get_era(); - caam_id = (u64)rd_reg32(&ctrl->perfmon.caam_id_ms) << 32 | + + caam_id_ms = rd_reg32(&ctrl->perfmon.caam_id_ms); + if (caam_id_ms == SEC_ID_MS_T1040) + ctrlpriv->errata |= SEC_ERRATUM_A_006899; + + caam_id = (u64)caam_id_ms << 32 | (u64)rd_reg32(&ctrl->perfmon.caam_id_ls); /* Report "alive" for developer to see */ |