From: Robin Murphy robin.murphy@arm.com
[ Upstream commit 205295c7e1abba9c1db1f9fe075f22f71351887f ]
CMN-600 doesn't have XP events for the PUB channel, but we missed the appropriate check to avoid exposing them.
Fixes: 60d1504070c2 ("perf/arm-cmn: Support new IP features") Signed-off-by: Robin Murphy robin.murphy@arm.com Link: https://lore.kernel.org/r/4c108d39a0513def63acccf09ab52b328f242aeb.164572787... Signed-off-by: Will Deacon will@kernel.org Signed-off-by: Sasha Levin sashal@kernel.org --- drivers/perf/arm-cmn.c | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/drivers/perf/arm-cmn.c b/drivers/perf/arm-cmn.c index 0e48adce57ef..d45e8c17e1f8 100644 --- a/drivers/perf/arm-cmn.c +++ b/drivers/perf/arm-cmn.c @@ -595,6 +595,9 @@ static umode_t arm_cmn_event_attr_is_visible(struct kobject *kobj, if ((intf & 4) && !(cmn->ports_used & BIT(intf & 3))) return 0;
+ if (chan == 4 && cmn->model == CMN600) + return 0; + if ((chan == 5 && cmn->rsp_vc_num < 2) || (chan == 6 && cmn->dat_vc_num < 2)) return 0;