qcom: llcc/edac: Fix the base address used for accessing LLCC banks
[platform/kernel/linux-starfive.git] / drivers / edac / qcom_edac.c
index 2c91cef..b1f5b9a 100644 (file)
@@ -215,7 +215,7 @@ dump_syn_reg_values(struct llcc_drv_data *drv, u32 bank, int err_type)
 
        for (i = 0; i < reg_data.reg_cnt; i++) {
                synd_reg = reg_data.synd_reg + (i * 4);
-               ret = regmap_read(drv->regmap, drv->offsets[bank] + synd_reg,
+               ret = regmap_read(drv->regmaps[bank], synd_reg,
                                  &synd_val);
                if (ret)
                        goto clear;
@@ -224,8 +224,7 @@ dump_syn_reg_values(struct llcc_drv_data *drv, u32 bank, int err_type)
                            reg_data.name, i, synd_val);
        }
 
-       ret = regmap_read(drv->regmap,
-                         drv->offsets[bank] + reg_data.count_status_reg,
+       ret = regmap_read(drv->regmaps[bank], reg_data.count_status_reg,
                          &err_cnt);
        if (ret)
                goto clear;
@@ -235,8 +234,7 @@ dump_syn_reg_values(struct llcc_drv_data *drv, u32 bank, int err_type)
        edac_printk(KERN_CRIT, EDAC_LLCC, "%s: Error count: 0x%4x\n",
                    reg_data.name, err_cnt);
 
-       ret = regmap_read(drv->regmap,
-                         drv->offsets[bank] + reg_data.ways_status_reg,
+       ret = regmap_read(drv->regmaps[bank], reg_data.ways_status_reg,
                          &err_ways);
        if (ret)
                goto clear;
@@ -297,8 +295,7 @@ static irqreturn_t llcc_ecc_irq_handler(int irq, void *edev_ctl)
 
        /* Iterate over the banks and look for Tag RAM or Data RAM errors */
        for (i = 0; i < drv->num_banks; i++) {
-               ret = regmap_read(drv->regmap,
-                                 drv->offsets[i] + DRP_INTERRUPT_STATUS,
+               ret = regmap_read(drv->regmaps[i], DRP_INTERRUPT_STATUS,
                                  &drp_error);
 
                if (!ret && (drp_error & SB_ECC_ERROR)) {
@@ -313,8 +310,7 @@ static irqreturn_t llcc_ecc_irq_handler(int irq, void *edev_ctl)
                if (!ret)
                        irq_rc = IRQ_HANDLED;
 
-               ret = regmap_read(drv->regmap,
-                                 drv->offsets[i] + TRP_INTERRUPT_0_STATUS,
+               ret = regmap_read(drv->regmaps[i], TRP_INTERRUPT_0_STATUS,
                                  &trp_error);
 
                if (!ret && (trp_error & SB_ECC_ERROR)) {