Skip to content
/ linux Public

Commit f4ac729

Browse files
rmurphy-armSasha Levin
authored andcommitted
perf/arm-cmn: Support CMN-600AE
[ Upstream commit 12a9495 ] The functional safety features of CMN-600AE have little to no impact on the PMU relative to the base CMN-600 design, so for simplicity we can reasonably just treat it as the same thing. The only obvious difference is that the revision numbers aren't aligned, so we may hide some aliases for events which do actually exist, but those can still be specified via the underlying "type,eventid" format so it's not too big a deal. Signed-off-by: Robin Murphy <robin.murphy@arm.com> Reviewed-by: Ilkka Koskinen <ilkka@os.amperecomputing.com> Tested-by: Michal Simek <michal.simek@amd.com> Signed-off-by: Will Deacon <will@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
1 parent 8c7fdc3 commit f4ac729

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

drivers/perf/arm-cmn.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -210,6 +210,7 @@ enum cmn_model {
210210
enum cmn_part {
211211
PART_CMN600 = 0x434,
212212
PART_CMN650 = 0x436,
213+
PART_CMN600AE = 0x438,
213214
PART_CMN700 = 0x43c,
214215
PART_CI700 = 0x43a,
215216
PART_CMN_S3 = 0x43e,
@@ -2266,6 +2267,9 @@ static int arm_cmn_discover(struct arm_cmn *cmn, unsigned int rgn_offset)
22662267
reg = readq_relaxed(cfg_region + CMN_CFGM_PERIPH_ID_01);
22672268
part = FIELD_GET(CMN_CFGM_PID0_PART_0, reg);
22682269
part |= FIELD_GET(CMN_CFGM_PID1_PART_1, reg) << 8;
2270+
/* 600AE is close enough that it's not really worth more complexity */
2271+
if (part == PART_CMN600AE)
2272+
part = PART_CMN600;
22692273
if (cmn->part && cmn->part != part)
22702274
dev_warn(cmn->dev,
22712275
"Firmware binding mismatch: expected part number 0x%x, found 0x%x\n",

0 commit comments

Comments
 (0)