arm64: dts: Add PMU node for APM X-Gene Storm SOC

Mark Rutland mark.rutland at
Tue Mar 18 09:37:12 EDT 2014

On Tue, Mar 18, 2014 at 01:17:46PM +0000, Ashwin Chaugle wrote:
>    Hi Vinayak, Mark,
>    On 17 March 2014 07:22, Vinayak Kale <[1]vkale at> wrote:
>      > Do Potenza CPUs only have the PMUv3 events, and nothing
>      > Potenza-specific?
>      On top of PMUv3 events, Potenza CPU do have few implementation defined
>      events.
>      >
>      > I would have expected something like:
>      >
>      > compatible = "apm,potenza-pmu", "arm,armv8-pmuv3";
>      PMUv3 allows to have implementation defined events. And as such the
>      driver doesn't have any dependency on such events. Do you still think
>      we need additional compatible string for Potenza CPU?
>    Can't these implementation specific events be used as raw perf events, or
>    extending that event space? (Or is that interface gone?) I may be missing
>    the details here, but I'm wondering if the method to program and count
>    these extra events is similar to ARM architected events, then why add
>    another DT binding?

It would be possible to use raw events, however that's a software level
detail, and not something that matters to the hardware description.

The hardware description should be as explicit as possible to allow the
software stack to change in future. For example, we might want to expose
implementation-specific events under sysfs in future, for which having
the implementation-specific compatible string in addition to the more
generic fallback is helpful.

This is why the compatible string exists. Making good use of it today
means a platform is more likely to have good support in future.

Having the string now is cheap, and makes it easier to tailor the
software stack more to the hardware in future. Not having the string
makes it harder. There is no reason not to have the more specific
compatible string.


More information about the linux-arm-kernel mailing list