Subject: [PATCH 05/10] arm64: dts: r8a7795: Add pmu device nodes

From: [email-masked] (Mark Rutland)
Date: Mon, 11 Jan 2016 10:39:17 +0000

On Sat, Jan 09, 2016 at 07:36:42AM +0100, Dirk Behme wrote:
> On 18.12.2015 11:47, Sudeep Holla wrote:
> >
> >
> >On 18/12/15 10:44, Dirk Behme wrote:
> >>On 18.12.2015 11:16, Sudeep Holla wrote:
> >>>
> >>>
> >>>On 18/12/15 02:29, Simon Horman wrote:
> >>>>From: Yoshifumi Hosoya <[email-masked]>
> >>>>
> >>>>Enabling the performance monitor unit on r8a7795.
> >>>>
> >>>>Signed-off-by: Masaru Nagai <[email-masked]>
> >>>>Signed-off-by: Yoshifumi Hosoya <[email-masked]>
> >>>>Signed-off-by: Dirk Behme <[email-masked]>
> >>>>Signed-off-by: Simon Horman <[email-masked]>
> >>>>---
> >>>>  arch/arm64/boot/dts/renesas/r8a7795.dtsi | 12 ++++++++++++
> >>>>  1 file changed, 12 insertions(+)
> >>>>
> >>>>diff --git a/arch/arm64/boot/dts/renesas/r8a7795.dtsi
> >>>>b/arch/arm64/boot/dts/renesas/r8a7795.dtsi
> >>>>index 4d43cf31418f..b9229a49dabc 100644
> >>>>--- a/arch/arm64/boot/dts/renesas/r8a7795.dtsi
> >>>>+++ b/arch/arm64/boot/dts/renesas/r8a7795.dtsi
> >>>>@@ -230,6 +230,18 @@
> >>>>              power-domains = <&cpg>;
> >>>>          };
> >>>>
> >>>>+        pmu {
> >>>>+            compatible = "arm,armv8-pmuv3";
> >>>
> >>>Please use arm,cortex-a57-pmu to be more specific. IIRC I mentioned
> >>>this
> >>>for some shmobile platform recently.
> >>
> >>
> >>Yes. But as this patch has been applied already to some branches, I
> >>incorporated your a57-pmu hint with an additional update patch:
> >>
> >>http://marc.info/?l=linux-sh&m=145011467914857
> >>
> >>Feel free to squash if still possible.
> >>
> >
> >Ah OK, I didn't know the exact dts name, sorry for the noise.
> >Better if it was posted as part of this series :)
> 
> 
> I finally found some time to test this
> 
> http://marc.info/?l=linux-sh&m=145011467914857
> 
> and surprisingly it doesn't seem to work:
> 
> Using "arm,cortex-a57-pmu" results in
> 
> hw perfevents: enabled with armv8_cortex_a57 PMU driver, 7 counters
> available

This means all the probing logic worked for the A57 PMU.

> hw perfevents: failed to probe PMU!
> hw perfevents: failed to register PMU devices!

These are printed in arm_pmu_device_probe, and following the logic we
must have succesfully allocated the struct pmu, but failed in either
of_pmu_irq_cfg or init_fn (AKA armv8_a53_pmu_init).

In armv8_a53_pmu_init we call armv8pmu_probe_num_events, which will try
to SMP cross-call to an A53 core to probe the number of countesr
implemented. Perhaps the cross-call is failing.

Were the A53s online at this point?

Thanks,
Mark.