powerpc/perf: Fix unit_sel/cache_sel checks
authorMadhavan Srinivasan <maddy@linux.vnet.ibm.com>
Mon, 9 Oct 2017 14:12:40 +0000 (19:42 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 5 Dec 2019 14:37:41 +0000 (15:37 +0100)
commita910cb308dc5c63c52c671eb14926fdc35c948cf
tree74029f870d970c615bcd980479bb9eec2f54988e
parent9e477ef5cddfa70e7f66b06bc517b7bd0edc424d
powerpc/perf: Fix unit_sel/cache_sel checks

[ Upstream commit 2d46d4877b1afd14059393a48bdb8ce27955174c ]

Raw event code has couple of fields "unit" and "cache" in it, to capture
the "unit" to monitor for a given pmcxsel and cache reload qualifier to
program in MMCR1.

isa207_get_constraint() refers "unit" field to update the MMCRC (L2/L3)
Event bus control fields with "cache" bits of the raw event code.
These are power8 specific and not supported by PowerISA v3.0 pmu. So wrap
the checks to be power8 specific. Also, "cache" bit field is referred to
update MMCR1[16:17] and this check can be power8 specific.

Fixes: 7ffd948fae4cd ('powerpc/perf: factor out power8 pmu functions')
Signed-off-by: Madhavan Srinivasan <maddy@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Signed-off-by: Sasha Levin <sashal@kernel.org>
arch/powerpc/perf/isa207-common.c
arch/powerpc/perf/isa207-common.h