]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
perf/arm-cmn: Remove CMN-600 DTC domain special case
authorRobin Murphy <robin.murphy@arm.com>
Tue, 18 Mar 2025 14:32:10 +0000 (14:32 +0000)
committerWill Deacon <will@kernel.org>
Thu, 17 Apr 2025 13:08:10 +0000 (14:08 +0100)
The special case for trying to infer the DTC domain for DTC-adjacent
nodes on CMN-600 is fragile and buggy - currently resulting in subtly
messed up DTC counter allocation - and the theoretical benefit it
offers to a tiny minority of use-cases arguably doesn't outweigh the
inconsistency it offers to others anyway. Just get rid of it.

Fixes: ab33c66fd8f1 ("perf/arm-cmn: Enable per-DTC counter allocation")
Signed-off-by: Robin Murphy <robin.murphy@arm.com>
Link: https://lore.kernel.org/r/67985e39f53b56385d79a4f1264cf7f9cacedb58.1742308248.git.robin.murphy@arm.com
Signed-off-by: Will Deacon <will@kernel.org>
drivers/perf/arm-cmn.c

index d4fe30ff225b6a54d4d821c9b5b392f7bf106923..92720592fee9aaad03bb0b2bf0daa5c3390bfa2f 100644 (file)
@@ -2167,13 +2167,6 @@ static int arm_cmn_init_dtcs(struct arm_cmn *cmn)
 
        cmn->xps = arm_cmn_node(cmn, CMN_TYPE_XP);
 
-       if (cmn->part == PART_CMN600 && cmn->num_dtcs > 1) {
-               /* We do at least know that a DTC's XP must be in that DTC's domain */
-               dn = arm_cmn_node(cmn, CMN_TYPE_DTC);
-               for (int i = 0; i < cmn->num_dtcs; i++)
-                       arm_cmn_node_to_xp(cmn, dn + i)->dtc = i;
-       }
-
        for (dn = cmn->dns; dn->type; dn++) {
                if (dn->type == CMN_TYPE_XP)
                        continue;