From: Robin Murphy Date: Thu, 24 Feb 2022 18:41:21 +0000 (+0000) Subject: perf/arm-cmn: Hide XP PUB events for CMN-600 X-Git-Tag: v5.17.2~872 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=9776106c235da478ba375fffded4fd43b7fc2d1f;p=users%2Fdwmw2%2Flinux.git perf/arm-cmn: Hide XP PUB events for CMN-600 [ 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 Link: https://lore.kernel.org/r/4c108d39a0513def63acccf09ab52b328f242aeb.1645727871.git.robin.murphy@arm.com Signed-off-by: Will Deacon Signed-off-by: Sasha Levin --- diff --git a/drivers/perf/arm-cmn.c b/drivers/perf/arm-cmn.c index 0e48adce57ef3..d45e8c17e1f80 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;