crypto: ccree - remove cc7x3 obsoleted AXIM configs
authorOfir Drang <ofir.drang@arm.com>
Thu, 18 Apr 2019 13:39:07 +0000 (16:39 +0300)
committerHerbert Xu <herbert@gondor.apana.org.au>
Thu, 25 Apr 2019 07:38:16 +0000 (15:38 +0800)
AXIM configuration register modified in cc7x3 and no longer
includes AXI interrupt masking fields.

Signed-off-by: Ofir Drang <ofir.drang@arm.com>
Signed-off-by: Gilad Ben-Yossef <gilad@benyossef.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/crypto/ccree/cc_driver.c

index a285481..902f196 100644 (file)
@@ -193,11 +193,14 @@ int init_cc_regs(struct cc_drvdata *drvdata, bool is_probe)
        unsigned int val, cache_params;
        struct device *dev = drvdata_to_dev(drvdata);
 
-       /* Unmask all AXI interrupt sources AXI_CFG1 register */
-       val = cc_ioread(drvdata, CC_REG(AXIM_CFG));
-       cc_iowrite(drvdata, CC_REG(AXIM_CFG), val & ~CC_AXI_IRQ_MASK);
-       dev_dbg(dev, "AXIM_CFG=0x%08X\n",
-               cc_ioread(drvdata, CC_REG(AXIM_CFG)));
+       /* Unmask all AXI interrupt sources AXI_CFG1 register   */
+       /* AXI interrupt config are obsoleted startign at cc7x3 */
+       if (drvdata->hw_rev <= CC_HW_REV_712) {
+               val = cc_ioread(drvdata, CC_REG(AXIM_CFG));
+               cc_iowrite(drvdata, CC_REG(AXIM_CFG), val & ~CC_AXI_IRQ_MASK);
+               dev_dbg(dev, "AXIM_CFG=0x%08X\n",
+                       cc_ioread(drvdata, CC_REG(AXIM_CFG)));
+       }
 
        /* Clear all pending interrupts */
        val = cc_ioread(drvdata, CC_REG(HOST_IRR));