Message ID | 1473099435-28198-3-git-send-email-wxt@rock-chips.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Am Dienstag, 6. September 2016, 02:17:15 CEST schrieb Caesar Wang: > This patch adds to enable the ARM Performance Monitor Units for rk3399. > ARM cores often have a PMU for counting cpu and cache events like cache > misses and hits. > > Also, as the Marc posted the patches [0] to support Partitioning per-cpu > interrupts. Let's add this patch to match it on rk3399 SoCs. > > [0]: > https://lkml.org/lkml/2016/4/11/182 > > Signed-off-by: Caesar Wang <wxt@rock-chips.com> > Acked-by: Mark Rutland <mark.rutland@arm.com> > Cc: Heiko Stuebner <heiko@sntech.de> > Cc: Marc Zyngier <marc.zyngier@arm.com> > CC: linux-arm-kernel@lists.infradead.org I've applied this one but did some corrections [0]: - ppi-partitions is supposed to be a subnode of the gic, that is why the code also start search for it starting from the gic node - I've moved it - I've renamed the phandles taking part0/part1 from the example feels a bit to generic, so it's now ppi_cluster0 and ppi_cluster1 matching the cpu-clusters I've gave this a spin on my rk3399evb and the ppi-partitions got recognized as well as the pmu instances got created, but please also double check again. Thanks Heiko [0] https://git.kernel.org/cgit/linux/kernel/git/mmind/linux-rockchip.git/ commit/?id=48120b1af6f072bfd6b075bf9be560ad6fda2faa
On 2016年09月06日 06:27, Heiko Stuebner wrote: > Am Dienstag, 6. September 2016, 02:17:15 CEST schrieb Caesar Wang: >> This patch adds to enable the ARM Performance Monitor Units for rk3399. >> ARM cores often have a PMU for counting cpu and cache events like cache >> misses and hits. >> >> Also, as the Marc posted the patches [0] to support Partitioning per-cpu >> interrupts. Let's add this patch to match it on rk3399 SoCs. >> >> [0]: >> https://lkml.org/lkml/2016/4/11/182 >> >> Signed-off-by: Caesar Wang <wxt@rock-chips.com> >> Acked-by: Mark Rutland <mark.rutland@arm.com> >> Cc: Heiko Stuebner <heiko@sntech.de> >> Cc: Marc Zyngier <marc.zyngier@arm.com> >> CC: linux-arm-kernel@lists.infradead.org > I've applied this one but did some corrections [0]: > > - ppi-partitions is supposed to be a subnode of the gic, that is why the code > also start search for it starting from the gic node - I've moved it > - I've renamed the phandles taking part0/part1 from the example feels a bit to > generic, so it's now ppi_cluster0 and ppi_cluster1 matching the cpu-clusters > > I've gave this a spin on my rk3399evb and the ppi-partitions got recognized > as well as the pmu instances got created, but please also double check again. Yup, thanks the fixes. > > > Thanks > Heiko > > > [0] https://git.kernel.org/cgit/linux/kernel/git/mmind/linux-rockchip.git/ > commit/?id=48120b1af6f072bfd6b075bf9be560ad6fda2faa > > > _______________________________________________ > Linux-rockchip mailing list > Linux-rockchip@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-rockchip
diff --git a/arch/arm64/boot/dts/rockchip/rk3399.dtsi b/arch/arm64/boot/dts/rockchip/rk3399.dtsi index e9e22fe..4e65f3b 100644 --- a/arch/arm64/boot/dts/rockchip/rk3399.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3399.dtsi @@ -166,6 +166,16 @@ <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW 0>; }; + pmu_a53 { + compatible = "arm,cortex-a53-pmu"; + interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_LOW &part0>; + }; + + pmu_a72 { + compatible = "arm,cortex-a72-pmu"; + interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_LOW &part1>; + }; + xin24m: xin24m { compatible = "fixed-clock"; clock-frequency = <24000000>; @@ -354,6 +364,16 @@ status = "disabled"; }; + ppi-partitions { + part0: interrupt-partition-0 { + affinity = <&cpu_l0 &cpu_l1 &cpu_l2 &cpu_l3>; + }; + + part1: interrupt-partition-1 { + affinity = <&cpu_b0 &cpu_b1>; + }; + }; + i2c1: i2c@ff110000 { compatible = "rockchip,rk3399-i2c"; reg = <0x0 0xff110000 0x0 0x1000>;