hc
2024-01-03 2f7c68cb55ecb7331f2381deb497c27155f32faf
kernel/drivers/perf/arm-cmn.c
....@@ -1254,9 +1254,10 @@
12541254 if (dtc->irq < 0)
12551255 return dtc->irq;
12561256
1257
- writel_relaxed(0, dtc->base + CMN_DT_PMCR);
1257
+ writel_relaxed(CMN_DT_DTC_CTL_DT_EN, dtc->base + CMN_DT_DTC_CTL);
1258
+ writel_relaxed(CMN_DT_PMCR_PMU_EN | CMN_DT_PMCR_OVFL_INTR_EN, dtc->base + CMN_DT_PMCR);
1259
+ writeq_relaxed(0, dtc->base + CMN_DT_PMCCNTR);
12581260 writel_relaxed(0x1ff, dtc->base + CMN_DT_PMOVSR_CLR);
1259
- writel_relaxed(CMN_DT_PMCR_OVFL_INTR_EN, dtc->base + CMN_DT_PMCR);
12601261
12611262 /* We do at least know that a DTC's XP must be in that DTC's domain */
12621263 xp = arm_cmn_node_to_xp(dn);
....@@ -1303,7 +1304,7 @@
13031304 dn->type = CMN_TYPE_RNI;
13041305 }
13051306
1306
- writel_relaxed(CMN_DT_DTC_CTL_DT_EN, cmn->dtc[0].base + CMN_DT_DTC_CTL);
1307
+ arm_cmn_set_state(cmn, CMN_STATE_DISABLED);
13071308
13081309 return 0;
13091310 }