Commit 8f06c51f authored by Pawel Moll's avatar Pawel Moll

bus: arm-ccn: Provide required event arguments

Since 688d4dfc "perf tools: Support
parsing parameterized events" the perf userspace tools understands
"argument=?" syntax in the events file, making sure that required
arguments are provided by the user and not defaulting to 0, causing
confusion.

This patch adds the required arguments lists for CCN events.
Signed-off-by: default avatarPawel Moll <pawel.moll@arm.com>
parent ffa41524
...@@ -45,7 +45,7 @@ Example of perf tool use: ...@@ -45,7 +45,7 @@ Example of perf tool use:
/ # perf list | grep ccn / # perf list | grep ccn
ccn/cycles/ [Kernel PMU event] ccn/cycles/ [Kernel PMU event]
<...> <...>
ccn/xp_valid_flit/ [Kernel PMU event] ccn/xp_valid_flit,xp=?,port=?,vc=?,dir=?/ [Kernel PMU event]
<...> <...>
/ # perf stat -a -e ccn/cycles/,ccn/xp_valid_flit,xp=1,port=0,vc=1,dir=1/ \ / # perf stat -a -e ccn/cycles/,ccn/xp_valid_flit,xp=1,port=0,vc=1,dir=1/ \
......
...@@ -340,6 +340,23 @@ static ssize_t arm_ccn_pmu_event_show(struct device *dev, ...@@ -340,6 +340,23 @@ static ssize_t arm_ccn_pmu_event_show(struct device *dev,
if (event->mask) if (event->mask)
res += snprintf(buf + res, PAGE_SIZE - res, ",mask=0x%x", res += snprintf(buf + res, PAGE_SIZE - res, ",mask=0x%x",
event->mask); event->mask);
/* Arguments required by an event */
switch (event->type) {
case CCN_TYPE_CYCLES:
break;
case CCN_TYPE_XP:
res += snprintf(buf + res, PAGE_SIZE - res,
",xp=?,port=?,vc=?,dir=?");
if (event->event == CCN_EVENT_WATCHPOINT)
res += snprintf(buf + res, PAGE_SIZE - res,
",cmp_l=?,cmp_h=?,mask=?");
break;
default:
res += snprintf(buf + res, PAGE_SIZE - res, ",node=?");
break;
}
res += snprintf(buf + res, PAGE_SIZE - res, "\n"); res += snprintf(buf + res, PAGE_SIZE - res, "\n");
return res; return res;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment