perf/arm_cspmu: Decouple APMT dependency
authorRobin Murphy <robin.murphy@arm.com>
Mon, 5 Jun 2023 17:01:34 +0000 (18:01 +0100)
committerWill Deacon <will@kernel.org>
Fri, 9 Jun 2023 10:26:47 +0000 (11:26 +0100)
commitd2e3bb51281875be23cb4726a59b03d0a53eb0d3
tree2a4c021a0675f5b1b8d99632e38703bce8d297a1
parentf9bd34e3753ea8f1433a3ba70f03a165a1416f98
perf/arm_cspmu: Decouple APMT dependency

The functional paths of the driver need not care about ACPI, so abstract
the property of atomic doubleword access as its own flag (repacking the
structure for a better fit). We also do not need to go poking directly
at the APMT for standard resources which the ACPI layer has already
dealt with, so deal with the optional MMIO page and interrupt in the
normal firmware-agnostic manner. The few remaining portions of probing
that *are* APMT-specific can still easily retrieve the APMT pointer as
needed without us having to carry a duplicate copy around everywhere.

Reviewed-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Signed-off-by: Robin Murphy <robin.murphy@arm.com>
Reviewed-and-tested-by: Ilkka Koskinen <ilkka@os.amperecomputing.com>
Link: https://lore.kernel.org/r/88f97268603e1aa6016d178982a1dc2861f6770d.1685983270.git.robin.murphy@arm.com
Signed-off-by: Will Deacon <will@kernel.org>
drivers/perf/arm_cspmu/arm_cspmu.c
drivers/perf/arm_cspmu/arm_cspmu.h