linux-acpi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/4] arm64: SPE ACPI enablement
@ 2019-03-26 22:39 Jeremy Linton
  2019-03-26 22:39 ` [PATCH 1/4] ACPI/PPTT: Add function to return ACPI 6.3 Identical tokens Jeremy Linton
                   ` (3 more replies)
  0 siblings, 4 replies; 20+ messages in thread
From: Jeremy Linton @ 2019-03-26 22:39 UTC (permalink / raw)
  To: linux-arm-kernel
  Cc: linux-acpi, linux-kernel, catalin.marinas, will.deacon, rjw,
	lenb, mark.rutland, sudeep.holla, james.morse, lorenzo.pieralisi,
	linuxarm, Jeremy Linton

This patch series enables the Arm Statistical Profiling
Extension (SPE) on ACPI platforms.

This is possible because ACPI 6.3 uses a previously
reserved field in the MADT to store the SPE interrupt
number, similarly to how the normal PMU is described.
If a consistent valid interrupt exists across all the
cores in the system, a platform device is registered.
That then triggers the SPE module, which runs as normal.

This version also adds the ability to parse the PPTT for
IDENTICAL cores. We then use this to sanity check the
single SPE device we create. This creates a bit of a
problem with respect to the specification though. The
specification says that its legal for multiple tree's
to exist in the PPTT. We handle this fine, but what
happens in the case of multiple tree's is that the lack
of a common node with IDENTICAL set forces us to assume
that there are multiple non IDENTICAL cores in the
machine.

Jeremy Linton (4):
  ACPI/PPTT: Add function to return ACPI 6.3 Identical tokens
  ACPI/PPTT: Modify node flag detection to find last IDENTICAL
  arm_pmu: acpi: spe: Add initial MADT/SPE probing
  perf: arm_spe: Enable ACPI/Platform automatic module loading

 arch/arm64/include/asm/acpi.h |  3 ++
 drivers/acpi/pptt.c           | 82 ++++++++++++++++++++++++++++++-----
 drivers/perf/arm_pmu_acpi.c   | 69 +++++++++++++++++++++++++++++
 drivers/perf/arm_spe_pmu.c    | 11 ++++-
 include/linux/acpi.h          |  5 +++
 5 files changed, 157 insertions(+), 13 deletions(-)

-- 
2.20.1

^ permalink raw reply	[flat|nested] 20+ messages in thread
* [PATCH v4 0/4] arm64: SPE ACPI enablement
@ 2019-06-15  1:09 Jeremy Linton
  2019-06-15  1:09 ` [PATCH 4/4] perf: arm_spe: Enable ACPI/Platform automatic module loading Jeremy Linton
  0 siblings, 1 reply; 20+ messages in thread
From: Jeremy Linton @ 2019-06-15  1:09 UTC (permalink / raw)
  To: linux-arm-kernel
  Cc: linux-acpi, linux-kernel, catalin.marinas, will.deacon, rjw,
	lenb, mark.rutland, lorenzo.pieralisi, sudeep.holla,
	Jeremy Linton

This patch series enables the Arm Statistical Profiling
Extension (SPE) on ACPI platforms.

This is possible because ACPI 6.3 uses a previously
reserved field in the MADT to store the SPE interrupt
number, similarly to how the normal PMU is described.
If a consistent valid interrupt exists across all the
cores in the system, a platform device is registered.
That then triggers the SPE module, which runs as normal.

We also add the ability to parse the PPTT for IDENTICAL
cores. We then use this to sanity check the single SPE
device we create. This creates a bit of a problem with
respect to the specification though. The specification
says that its legal for multiple tree's to exist in the
PPTT. We handle this fine, but what happens in the
case of multiple tree's is that the lack of a common
node with IDENTICAL set forces us to assume that there
are multiple non-IDENTICAL cores in the machine.

v3->v4: Rebase to 5.2.
	Minor formatting, patch rearrangement.
	Add missing `inline` in static header definition.
	Drop ARM_SPE_ACPI and just use ARM_SPE_PMU.

v2->v3: Previously a function pointer was being used
	  to handle the more complex node checking
	  required by the IDENTICAL flag. This version
	  simply checks for the IDENTICAL flag and calls
	  flag_identical() to preform the revision
	  and next node checks. (I think after reading
	  Raphael's comments for the Nth time, this is
	  actually what he was suggesting, which I
	  initially miss interpreted).
	Modify subject of first patch so that its clear
	  a that its a capitalization change rather,
	  than a logical C 'case' change.

v1->v2: Wrap the code which creates the SPE device in
	    a new CONFIG_ARM_SPE_ACPI ifdef.
	Move arm,spe-v1 device name into common header file
	Some comment/case sensitivity/function name changes.

Jeremy Linton (4):
  ACPI/PPTT: Modify node flag detection to find last IDENTICAL
  ACPI/PPTT: Add function to return ACPI 6.3 Identical tokens
  arm_pmu: acpi: spe: Add initial MADT/SPE probing
  perf: arm_spe: Enable ACPI/Platform automatic module loading

 arch/arm64/include/asm/acpi.h |  3 ++
 drivers/acpi/pptt.c           | 61 +++++++++++++++++++++++++---
 drivers/perf/arm_pmu_acpi.c   | 75 +++++++++++++++++++++++++++++++++++
 drivers/perf/arm_spe_pmu.c    | 12 +++++-
 include/linux/acpi.h          |  5 +++
 include/linux/perf/arm_pmu.h  |  2 +
 6 files changed, 150 insertions(+), 8 deletions(-)

-- 
2.21.0


^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2019-06-15  1:11 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-03-26 22:39 [PATCH 0/4] arm64: SPE ACPI enablement Jeremy Linton
2019-03-26 22:39 ` [PATCH 1/4] ACPI/PPTT: Add function to return ACPI 6.3 Identical tokens Jeremy Linton
2019-03-28 10:04   ` Rafael J. Wysocki
2019-03-28 15:20     ` Jeremy Linton
2019-03-26 22:39 ` [PATCH 2/4] ACPI/PPTT: Modify node flag detection to find last IDENTICAL Jeremy Linton
2019-03-26 22:39 ` [PATCH 3/4] arm_pmu: acpi: spe: Add initial MADT/SPE probing Jeremy Linton
2019-03-28 12:40   ` John Garry
2019-04-02 19:14     ` Jeremy Linton
2019-04-05  9:23       ` John Garry
2019-04-05  9:23         ` John Garry
2019-03-26 22:39 ` [PATCH 4/4] perf: arm_spe: Enable ACPI/Platform automatic module loading Jeremy Linton
2019-04-04 17:04   ` Will Deacon
2019-04-04 17:24     ` Jeremy Linton
2019-04-16 13:50       ` Will Deacon
2019-04-16 13:50         ` Will Deacon
2019-04-26  0:58         ` Jeremy Linton
2019-04-26  0:58           ` Jeremy Linton
2019-04-26  8:04           ` Will Deacon
2019-04-26  8:04             ` Will Deacon
2019-06-15  1:09 [PATCH v4 0/4] arm64: SPE ACPI enablement Jeremy Linton
2019-06-15  1:09 ` [PATCH 4/4] perf: arm_spe: Enable ACPI/Platform automatic module loading Jeremy Linton

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).