perf/imx_ddr: Add support for AXI ID filtering
authorJoakim Zhang <qiangqing.zhang@nxp.com>
Wed, 28 Aug 2019 12:07:52 +0000 (12:07 +0000)
committerWill Deacon <will@kernel.org>
Wed, 28 Aug 2019 13:16:55 +0000 (14:16 +0100)
commitc12c0288e35a4693b1606e229dab54a62f1ad568
tree0311e23b069b69131b2ad23889008076f5f170ad
parent3c9347351a6ea1234aa647b36f89052de050d2a2
perf/imx_ddr: Add support for AXI ID filtering

AXI filtering is used by events 0x41 and 0x42 to count reads or writes
with an ARID or AWID matching a specified filter. The filter is exposed
to userspace as an (ID, MASK) pair, where each set bit in the mask
causes the corresponding bit in the ID to be ignored when matching
against the ID of memory transactions for the purposes of incrementing
the counter.

For example:

  # perf stat -a -e imx8_ddr0/axid-read,axi_mask=0xff,axi_id=0x800/ cmd

will count all read transactions from AXI IDs 0x800 - 0x8ff. If the
'axi_mask' is omitted, then it is treated as 0x0 which means that the
'axi_id' will be matched exactly.

Signed-off-by: Joakim Zhang <qiangqing.zhang@nxp.com>
Signed-off-by: Will Deacon <will@kernel.org>
drivers/perf/fsl_imx8_ddr_perf.c