mirror of
https://github.com/torvalds/linux.git
synced 2024-11-23 20:51:44 +00:00
powerpc/perf: Update the PMU group constraints for l2l3 events in power10
In Power9, L2/L3 bus events are always available as a "bank" of 4 events. To obtain the counts for any of the l2/l3 bus events in a given bank, the user will have to program PMC4 with corresponding l2/l3 bus event for that bank. Commit59029136d7
("powerpc/perf: Add constraints for power9 l2/l3 bus events") enforced this rule in Power9. But this is not valid for Power10, since in Power10 Monitor Mode Control Register2 (MMCR2) has bits to configure l2/l3 event bits. Hence remove this PMC4 constraint check from power10. Since the l2/l3 bits in MMCR2 are not per-pmc, patch handles group constrints checks for l2/l3 bits in MMCR2. Fixes:a64e697cef
("powerpc/perf: power10 Performance Monitoring support") Signed-off-by: Athira Rajeev <atrajeev@linux.vnet.ibm.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://lore.kernel.org/r/1606409684-1589-3-git-send-email-atrajeev@linux.vnet.ibm.com
This commit is contained in:
parent
d3afd28cd2
commit
e924be7b0b
@ -311,9 +311,11 @@ int isa207_get_constraint(u64 event, unsigned long *maskp, unsigned long *valp)
|
||||
}
|
||||
|
||||
if (unit >= 6 && unit <= 9) {
|
||||
if (cpu_has_feature(CPU_FTR_ARCH_31) && (unit == 6)) {
|
||||
mask |= CNST_L2L3_GROUP_MASK;
|
||||
value |= CNST_L2L3_GROUP_VAL(event >> p10_L2L3_EVENT_SHIFT);
|
||||
if (cpu_has_feature(CPU_FTR_ARCH_31)) {
|
||||
if (unit == 6) {
|
||||
mask |= CNST_L2L3_GROUP_MASK;
|
||||
value |= CNST_L2L3_GROUP_VAL(event >> p10_L2L3_EVENT_SHIFT);
|
||||
}
|
||||
} else if (cpu_has_feature(CPU_FTR_ARCH_300)) {
|
||||
mask |= CNST_CACHE_GROUP_MASK;
|
||||
value |= CNST_CACHE_GROUP_VAL(event & 0xff);
|
||||
|
Loading…
Reference in New Issue
Block a user