Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

bus: arm-ccn: Provide required event arguments

Since 688d4dfcdd624192cbf03c08402e444d1d11f294 "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: Pawel Moll <pawel.moll@arm.com>

+18 -1
+1 -1
Documentation/arm/CCN.txt
··· 45 45 / # perf list | grep ccn 46 46 ccn/cycles/ [Kernel PMU event] 47 47 <...> 48 - ccn/xp_valid_flit/ [Kernel PMU event] 48 + ccn/xp_valid_flit,xp=?,port=?,vc=?,dir=?/ [Kernel PMU event] 49 49 <...> 50 50 51 51 / # perf stat -a -e ccn/cycles/,ccn/xp_valid_flit,xp=1,port=0,vc=1,dir=1/ \
+17
drivers/bus/arm-ccn.c
··· 340 340 if (event->mask) 341 341 res += snprintf(buf + res, PAGE_SIZE - res, ",mask=0x%x", 342 342 event->mask); 343 + 344 + /* Arguments required by an event */ 345 + switch (event->type) { 346 + case CCN_TYPE_CYCLES: 347 + break; 348 + case CCN_TYPE_XP: 349 + res += snprintf(buf + res, PAGE_SIZE - res, 350 + ",xp=?,port=?,vc=?,dir=?"); 351 + if (event->event == CCN_EVENT_WATCHPOINT) 352 + res += snprintf(buf + res, PAGE_SIZE - res, 353 + ",cmp_l=?,cmp_h=?,mask=?"); 354 + break; 355 + default: 356 + res += snprintf(buf + res, PAGE_SIZE - res, ",node=?"); 357 + break; 358 + } 359 + 343 360 res += snprintf(buf + res, PAGE_SIZE - res, "\n"); 344 361 345 362 return res;