[PATCH 2/2] arm64: dts: Add PMU node for APM X-Gene Storm SOC
Ming Lei
ming.lei at canonical.com
Mon Jun 23 19:47:41 PDT 2014
Hi Vinayak,
On Thu, Mar 20, 2014 at 5:47 PM, Vinayak Kale <vkale at apm.com> wrote:
> This patch adds the PMU device tree node for APM X-Gene Storm SOC.
>
> Please note that this patch has dependancy on a GIC driver patch [1] which is
> yet to be approved by maintainers.
>
> [1]- https://lkml.org/lkml/2014/2/27/605
> (irqchip:gic: change access of gicc_ctrl register to read modify write)
>
> Signed-off-by: Vinayak Kale <vkale at apm.com>
> ---
> arch/arm64/boot/dts/apm-storm.dtsi | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/apm-storm.dtsi b/arch/arm64/boot/dts/apm-storm.dtsi
> index d37d736..5edb16a 100644
> --- a/arch/arm64/boot/dts/apm-storm.dtsi
> +++ b/arch/arm64/boot/dts/apm-storm.dtsi
> @@ -97,6 +97,11 @@
> clock-frequency = <50000000>;
> };
>
> + pmu {
> + compatible = "apm,potenza-pmu", "arm,armv8-pmuv3";
> + interrupts = <1 12 0xff04>;
> + };
> +
> soc {
> compatible = "simple-bus";
> #address-cells = <2>;
> --
> 1.7.9.5
No matter if Feng Kan's gic patch is applied or not, perf(PMU)
still can't work well with your patch, and the failure[1] will be
triggered when 'perf top' is started.
The failure happened during the 1st pmu overflow interrupt.
I test several mustang boards, and all has the problem with
upstream kernel.
Could you take a look the issue?
[1], perf segmentation log
[ 98.862963] Bad mode in FIQ handler detected, code 0x92000007
[ 98.868688] CPU: 2 PID: 3979 Comm: perf Not tainted 3.15.0-next-20140610+ #26
[ 98.875787] task: ffffffc3eec4c080 ti: ffffffc3ea27c000 task.ti:
ffffffc3ea27c000
[ 98.883232] PC is at 0x7fb177f3ec
[ 98.886527] LR is at 0x45f280
[ 98.889478] pc : [<0000007fb177f3ec>] lr : [<000000000045f280>]
pstate: 80000000
[ 98.896834] sp : ffffffc3ea27fff0
[ 98.900130] x29: 0000007ff2519ba0 x28: 0000000000521000
[ 98.905434] x27: 0000000026dced90 x26: 0000000000000000
[ 98.910738] x25: 0000000026dcd830 x24: 0000007ff251ada0
[ 98.916041] x23: 0000000000000003 x22: 000000000000275a
[ 98.921344] x21: 0000000026dcd390 x20: 0000000000011f0d
[ 98.926648] x19: 0000000000011f0d x18: 0000007ff2519910
[ 98.931952] x17: 0000007fb177f3a8 x16: 0000000000519000
[ 98.937255] x15: 0000007fb11ce5a0 x14: 6632383931646363
[ 98.942560] x13: 0000000001000000 x12: 0000000000000004
[ 98.947865] x11: 0000000000000002 x10: 0101010101010101
[ 98.953169] x9 : 0000000007cb19c0 x8 : 7f7f7f7f7f7f7f7f
[ 98.958474] x7 : 0000007f96a1cc33 x6 : 3a043a1c11766963
[ 98.963779] x5 : ffffffc0009b2648 x4 : 000000000000275a
[ 98.969083] x3 : 000000000011f0d0 x2 : 0000007ff2519c90
[ 98.974387] x1 : 000000000000275a x0 : 0000000026dced90
[ 98.979692]
[ 98.981177] Bad mode in Synchronous Abort handler detected, code 0x8600000f
[ 98.988103] CPU: 2 PID: 3979 Comm: perf Not tainted 3.15.0-next-20140610+ #26
[ 98.995200] task: ffffffc3eec4c080 ti: ffffffc3ea27c000 task.ti:
ffffffc3ea27c000
[ 99.002642] PC is at 0x45f280
[ 99.005592] LR is at 0x45f280
[ 99.008542] pc : [<000000000045f280>] lr : [<000000000045f280>]
pstate: 600003c5
[ 99.015897] sp : ffffffc3ea27fed0
[ 99.019192] x29: 0000007ff2519ba0 x28: 0000000000521000
[ 99.024495] x27: 0000000026dced90 x26: 0000000000000000
[ 99.029799] x25: 0000000026dcd830 x24: 0000007ff251ada0
[ 99.035103] x23: 0000000080000000 x22: 0000007fb177f3ec
[ 99.040407] x21: ffffffc3ea27fff0 x20: 0000000000011f0d
[ 99.045711] x19: 0000000000011f0d x18: 0000007ff2519910
[ 99.051016] x17: 0000007fb177f3a8 x16: 0000000000519000
[ 99.056320] x15: 0000007fb11ce5a0 x14: 3030303030303038
[ 99.061623] x13: 203a657461747370 x12: 205d3e3038326635
[ 99.066927] x11: 0000000000000002 x10: 0000000000000420
[ 99.072232] x9 : 0000000000000421 x8 : 0000000000000006
[ 99.077537] x7 : ffffffc0000812cc x6 : ffffffc3ea27fea0
[ 99.082842] x5 : 00000000000003c0 x4 : 0000000000000001
[ 99.088147] x3 : ffffffc3ea27fcf0 x2 : 00000000dead4ead
[ 99.093452] x1 : 000000000000005e x0 : 0000000000000000
[ 99.098757]
[ 99.100240] Internal error: Oops - bad mode: 0 [#1] SMP
[ 99.105436] Modules linked in:
[ 99.108483] CPU: 2 PID: 3979 Comm: perf Not tainted 3.15.0-next-20140610+ #26
[ 99.115581] task: ffffffc3eec4c080 ti: ffffffc3ea27c000 task.ti:
ffffffc3ea27c000
[ 99.123024] PC is at 0x45f280
[ 99.125974] LR is at 0x45f280
[ 99.128923] pc : [<000000000045f280>] lr : [<000000000045f280>]
pstate: 600003c5
[ 99.136279] sp : ffffffc3ea27fed0
[ 99.139574] x29: 0000007ff2519ba0 x28: 0000000000521000
[ 99.144875] x27: 0000000026dced90 x26: 0000000000000000
[ 99.150179] x25: 0000000026dcd830 x24: 0000007ff251ada0
[ 99.155483] x23: 0000000080000000 x22: 0000007fb177f3ec
[ 99.160788] x21: ffffffc3ea27fff0 x20: 0000000000011f0d
[ 99.166092] x19: 0000000000011f0d x18: 0000007ff2519910
[ 99.171397] x17: 0000007fb177f3a8 x16: 0000000000519000
[ 99.176702] x15: 0000007fb11ce5a0 x14: 3030303030303038
[ 99.182007] x13: 203a657461747370 x12: 205d3e3038326635
[ 99.187312] x11: 0000000000000002 x10: 0000000000000420
[ 99.192616] x9 : 0000000000000421 x8 : 0000000000000006
[ 99.197922] x7 : ffffffc0000812cc [ 99.198976] Bad mode in FIQ
handler detected, code 0x56000000
[ 99.198980] CPU: 1 PID: 1891 Comm: mongod Not tainted
3.15.0-next-20140610+ #26
[ 99.198982] task: ffffffc3e9c12040 ti: ffffffc3ea200000 task.ti:
ffffffc3ea200000
[ 99.198984] PC is at 0x7f93059410
[ 99.198985] LR is at 0x90e120
[ 99.198986] pc : [<0000007f93059410>] lr : [<000000000090e120>]
pstate: 60000000
[ 99.198987] sp : ffffffc3ea203ff0
[ 99.198988] x29: 0000007f72ffe2b0 x28: 0000000000000001
[ 99.198990] x27: 0000007f72ffe3a0 x26: 000000000000000a
[ 99.198992] x25: 0000007f600019d4 x24: 0000007f72ffe520
[ 99.198994] x23: 0000007f72ffe440 x22: 0000000000000400
[ 99.198996] x21: 0000007f72ffe448 x20: 0000007f600019d4
[ 99.198998] x19: 0000007f72ffe3c0 x18: 0000007f72ffe010
[ 99.199000] x17: 0000007f93059410 x16: 0000000000b9c078
[ 99.199001] x15: 0001504794000000 x14: 6f697463656e6e6f
[ 99.199003] x13: 6320726f6620676e x12: 0000000000000000
[ 99.199005] x11: 000000000000001b x10: 00000000ffffffff
[ 99.199007] x9 : fefefefefefefeff x8 : 0000000000000048
[ 99.199008] x7 : 0000000000000000 x6 : 00000000ffffffbb
[ 99.199010] x5 : 0000000000002710 x4 : 0000007f72ffe380
[ 99.199012] x3 : 0000000000000000 x2 : 0000000000000000
[ 99.199014] x1 : 0000007f72ffe3c0 x0 : 000000000000000b
[ 99.199015]
[ 99.199018] Bad mode in Synchronous Abort handler detected, code 0x8600000f
[ 99.199020] CPU: 1 PID: 1891 Comm: mongod Not tainted
3.15.0-next-20140610+ #26
[ 99.199022] task: ffffffc3e9c12040 ti: ffffffc3ea200000 task.ti:
ffffffc3ea200000
[ 99.199022] PC is at 0x90e120
[ 99.199023] LR is at 0x90e120
[ 99.199024] pc : [<000000000090e120>] lr : [<000000000090e120>]
pstate: 600003c5
[ 99.199025] sp : ffffffc3ea203ed0
[ 99.199026] x29: 0000007f72ffe2b0 x28: 0000000000000001
[ 99.199028] x27: 0000007f72ffe3a0 x26: 000000000000000a
[ 99.199030] x25: 0000007f600019d4 x24: 0000007f72ffe520
[ 99.199031] x23: 0000000060000000 x22: 0000007f93059410
[ 99.199033] x21: ffffffc3ea203ff0 x20: 0000007f600019d4
[ 99.199035] x19: 0000007f72ffe3c0 x18: 0000007f72ffe010
[ 99.199036] x17: 0000007f93059410 x16: 0000000000b9c078
[ 99.199038] x15: 0001504794000000 x14: 30303036203a6574
[ 99.199040] x13: 61747370205d3e30 x12: 3231653039303030
[ 99.199042] x11: ffffffc000981000 x10: ffffffc0009f14a0
[ 99.199044] x9 : 00000000000f0e14 x8 : ffffffc000a013f4
[ 99.199045] x7 : 0000000000000015 x6 : 0000000080000000
[ 99.199047] x5 : 00000000000003c0 x4 : 0000000000000001
[ 99.199049] x3 : ffffffc3ea203cf0 x2 : 00000000dead4ead
[ 99.199050] x1 : 00000000000000c3 x0 : 0000000000000000
[ 99.199052]
[ 99.438632] x6 : ffffffc3ea27fea0
[ 99.442208] x5 : 00000000000003c0 x4 : 0000000000000001
[ 99.447512] x3 : ffffffc3ea27fcf0 x2 : 00000000dead4ead
[ 99.452816] x1 : 000000000000005e x0 : 0000000000000000
[ 99.458121]
[ 99.459602] Process perf (pid: 3979, stack limit = 0xffffffc3ea27c058)
[ 99.466095] Stack: (0xffffffc3ea27fed0 to 0xffffffc3ea280000)
[ 99.471812] fec0: 26dced90
00000000 0000275a 00000000
[ 99.479948] fee0: f2519c90 0000007f 0011f0d0 00000000 0000275a
00000000 009b2648 ffffffc0
[ 99.488083] ff00: 11766963 3a043a1c 96a1cc33 0000007f 7f7f7f7f
7f7f7f7f 07cb19c0 00000000
[ 99.496217] ff20: 01010101 01010101 00000002 00000000 00000004
00000000 01000000 00000000
[ 99.504352] ff40: 31646363 66323839 b11ce5a0 0000007f 00519000
00000000 b177f3a8 0000007f
[ 99.512486] ff60: f2519910 0000007f 00011f0d 00000000 00011f0d
00000000 26dcd390 00000000
[ 99.520620] ff80: 0000275a 00000000 00000003 00000000 f251ada0
0000007f 26dcd830 00000000
[ 99.528755] ffa0: 00000000 00000000 26dced90 00000000 00521000
00000000 f2519ba0 0000007f
[ 99.536890] ffc0: 0045f280 00000000 ea27fff0 ffffffc3 b177f3ec
0000007f 80000000 00000000
[ 99.545024] ffe0: 00000000 00000000 ffffffff ffffffff eda1d668
ffffffbc eda1d6a0 ffffffbc
[ 99.553158] Call trace:
[ 99.555592] Code: aa1b03e0 2a1603e1 910383a2 97fed479 (6b16029f)
[ 99.561655] Internal error: Oops - bad mode: 0 [#2] SMP
[ 99.561687] ---[ end trace 8a63b73eb5685762 ]---
[ 99.561915] Bad mode in FIQ handler detected, code 0x56000000
[ 99.561918] CPU: 0 PID: 1580 Comm: in:imklog Tainted: G D
3.15.0-next-20140610+ #26
[ 99.561920] task: ffffffc3ef270000 ti: ffffffc3ea094000 task.ti:
ffffffc3ea094000
[ 99.561921] PC is at 0x40d950
[ 99.561922] LR is at 0x442b90
[ 99.561924] pc : [<000000000040d950>] lr : [<0000000000442b90>]
pstate: 60000000
[ 99.561925] sp : ffffffc3ea097ff0
[ 99.561927] x29: 0000007fb5c42e80 x28: 0000000000001f9f
[ 99.561929] x27: 0000007fb64bef28 x26: 0000007fb64d0520
[ 99.561931] x25: 0000007fb5c43fdf x24: 0000000000465a20
[ 99.561932] x23: 0000000000465ad0 x22: 0000000000000000
[ 99.561934] x21: 0000000000483940 x20: 000000000047c000
[ 99.561936] x19: 000000003d9a40d0 x18: 000000000000000d
[ 99.561937] x17: 0000007fb672fa2c x16: 000000000047d268
[ 99.561939] x15: ffffffffffffffed x14: 000000000000000d
[ 99.561941] x13: fffffffffffffe09 x12: 0000000000000018
[ 99.561943] x11: 0101010101010101 x10: 7f7f7f7f7fffff7f
[ 99.561944] x9 : 0000000000000000 x8 : 0000000000000000
[ 99.561946] x7 : 0000000000000000 x6 : 0000007fb5c64890
[ 99.561948] x5 : 0000000000000000 x4 : 0000000000000001
[ 99.561949] x3 : 00000000ffffffff x2 : 0000000000000000
[ 99.561951] x1 : 0000000000000000 x0 : 000000003d9a4410
[ 99.561951]
[ 99.561955] Bad mode in Synchronous Abort handler detected, code 0x8600000f
[ 99.561957] CPU: 0 PID: 1580 Comm: in:imklog Tainted: G D
3.15.0-next-20140610+ #26
[ 99.561958] task: ffffffc3ef270000 ti: ffffffc3ea094000 task.ti:
ffffffc3ea094000
[ 99.561959] PC is at 0x442b90
[ 99.561960] LR is at 0x442b90
[ 99.561961] pc : [<0000000000442b90>] lr : [<0000000000442b90>]
pstate: 600003c5
[ 99.561961] sp : ffffffc3ea097ed0
[ 99.561963] x29: 0000007fb5c42e80 x28: 0000000000001f9f
[ 99.561965] x27: 0000007fb64bef28 x26: 0000007fb64d0520
[ 99.561967] x25: 0000007fb5c43fdf x24: 0000000000465a20
[ 99.561969] x23: 0000000060000000 x22: 000000000040d950
[ 99.561970] x21: ffffffc3ea097ff0 x20: 000000000047c000
[ 99.561972] x19: 000000003d9a40d0 x18: 000000000000000d
[ 99.561974] x17: 0000007fb672fa2c x16: 000000000047d268
[ 99.561976] x15: ffffffffffffffed x14: 30303036203a6574
[ 99.561977] x13: 61747370205d3e30 x12: 3962323434303030
[ 99.561979] x11: ffffffc000981000 x10: ffffffc0009f14a0
[ 99.561981] x9 : 00000000000efb2c x8 : ffffffc000a026dc
[ 99.561982] x7 : 0000007fb672fadc x6 : ffffffffffffffff
[ 99.561984] x5 : 00000000000003c0 x4 : 0000000000000001
[ 99.561986] x3 : ffffffc3ea097cf0 x2 : 00000000dead4ead
[ 99.561987] x1 : 00000000000000b7 x0 : 0000000000000000
[ 99.561988]
[ 99.810579] Modules linked in:
[ 99.813626] CPU: 1 PID: 1891 Comm: mongod Tainted: G D
3.15.0-next-20140610+ #26
[ 99.821933] task: ffffffc3e9c12040 ti: ffffffc3ea200000 task.ti:
ffffffc3ea200000
[ 99.829375] PC is at 0x90e120
[ 99.832325] LR is at 0x90e120
[ 99.835275] pc : [<000000000090e120>] lr : [<000000000090e120>]
pstate: 600003c5
[ 99.842630] sp : ffffffc3ea203ed0
[ 99.845925] x29: 0000007f72ffe2b0 x28: 0000000000000001
[ 99.851229] x27: 0000007f72ffe3a0 x26: 000000000000000a
[ 99.856532] x25: 0000007f600019d4 x24: 0000007f72ffe520
[ 99.861835] x23: 0000000060000000 x22: 0000007f93059410
[ 99.867139] x21: ffffffc3ea203ff0 x20: 0000007f600019d4
[ 99.872444] x19: 0000007f72ffe3c0 x18: 0000007f72ffe010
[ 99.877749] x17: 0000007f93059410 x16: 0000000000b9c078
[ 99.883054] x15: 0001504794000000 x14: 30303036203a6574
[ 99.888359] x13: 61747370205d3e30 x12: 3231653039303030
[ 99.893663] x11: ffffffc000981000 x10: ffffffc0009f14a0
[ 99.898968] x9 : 00000000000f0e14 x8 : ffffffc000a013f4
[ 99.904273] x7 : 0000000000000015 x6 : 0000000080000000
[ 99.909578] x5 : 00000000000003c0 x4 : 0000000000000001
[ 99.914882] x3 : ffffffc3ea203cf0 x2 : 00000000dead4ead
[ 99.920186] x1 : 00000000000000c3 x0 : 0000000000000000
[ 99.925490]
[ 99.926971] Process mongod (pid: 1891, stack limit = 0xffffffc3ea200058)
[ 99.933636] Stack: (0xffffffc3ea203ed0 to 0xffffffc3ea204000)
[ 99.939353] 3ec0: 0000000b
00000000 72ffe3c0 0000007f
[ 99.947489] 3ee0: 00000000 00000000 00000000 00000000 72ffe380
0000007f 00002710 00000000
[ 99.955623] 3f00: ffffffbb 00000000 00000000 00000000 00000048
00000000 fefefeff fefefefe
[ 99.963758] 3f20: ffffffff 00000000 0000001b 00000000 00000000
00000000 6620676e 6320726f
[ 99.971893] 3f40: 656e6e6f 6f697463 94000000 00015047 00b9c078
00000000 93059410 0000007f
[ 99.980028] 3f60: 72ffe010 0000007f 72ffe3c0 0000007f 600019d4
0000007f 72ffe448 0000007f
[ 99.988162] 3f80: 00000400 00000000 72ffe440 0000007f 72ffe520
0000007f 600019d4 0000007f
[ 99.996298] 3fa0: 0000000a 00000000 72ffe3a0 0000007f 00000001
00000000 72ffe2b0 0000007f
[ 100.004432] 3fc0: 0090e120 00000000 ea203ff0 ffffffc3 93059410
0000007f 60000000 00000000
[ 100.012568] 3fe0: 0000000b 00000000 00000048 00000000 020004c0
00000000 0a480040 00000000
[ 100.020701] Call trace:
[ 100.023133] Code: 910343a4 f9006ba2 f9006fa5 97f14ff9 (6b1f001f)
[ 100.029194] Internal error: Oops - bad mode: 0 [#3] SMP
[ 100.029215] ---[ end trace 8a63b73eb5685763 ]---
[ 100.038982] Modules linked in:
[ 100.042031] CPU: 0 PID: 1580 Comm: in:imklog Tainted: G D
3.15.0-next-20140610+ #26
[ 100.050598] task: ffffffc3ef270000 ti: ffffffc3ea094000 task.ti:
ffffffc3ea094000
[ 100.058041] PC is at 0x442b90
[ 100.060991] LR is at 0x442b90
[ 100.063941] pc : [<0000000000442b90>] lr : [<0000000000442b90>]
pstate: 600003c5
[ 100.071296] sp : ffffffc3ea097ed0
[ 100.074591] x29: 0000007fb5c42e80 x28: 0000000000001f9f
[ 100.079894] x27: 0000007fb64bef28 x26: 0000007fb64d0520
[ 100.085198] x25: 0000007fb5c43fdf x24: 0000000000465a20
[ 100.090503] x23: 0000000060000000 x22: 000000000040d950
[ 100.095806] x21: ffffffc3ea097ff0 x20: 000000000047c000
[ 100.101111] x19: 000000003d9a40d0 x18: 000000000000000d
[ 100.106416] x17: 0000007fb672fa2c x16: 000000000047d268
[ 100.111722] x15: ffffffffffffffed x14: 30303036203a6574
[ 100.117025] x13: 61747370205d3e30 x12: 3962323434303030
[ 100.122329] x11: ffffffc000981000 x10: ffffffc0009f14a0
[ 100.127633] x9 : 00000000000efb2c x8 : ffffffc000a026dc
[ 100.132935] x7 : 0000007fb672fadc x6 : ffffffffffffffff
[ 100.138240] x5 : 00000000000003c0 x4 : 0000000000000001
[ 100.143545] x3 : ffffffc3ea097cf0 x2 : 00000000dead4ead
[ 100.148850] x1 : 00000000000000b7 x0 : 0000000000000000
[ 100.154154]
[ 100.155635] Process in:imklog (pid: 1580, stack limit = 0xffffffc3ea094058)
[ 100.162559] Stack: (0xffffffc3ea097ed0 to 0xffffffc3ea098000)
[ 100.168275] 7ec0: 3d9a4410
00000000 00000000 00000000
[ 100.176410] 7ee0: 00000000 00000000 ffffffff 00000000 00000001
00000000 00000000 00000000
[ 100.184544] 7f00: b5c64890 0000007f 00000000 00000000 00000000
00000000 00000000 00000000
[ 100.192678] 7f20: 7fffff7f 7f7f7f7f 01010101 01010101 00000018
00000000 fffffe09 ffffffff
[ 100.200813] 7f40: 0000000d 00000000 ffffffed ffffffff 0047d268
00000000 b672fa2c 0000007f
[ 100.208948] 7f60: 0000000d 00000000 3d9a40d0 00000000 0047c000
00000000 00483940 00000000
[ 100.217082] 7f80: 00000000 00000000 00465ad0 00000000 00465a20
00000000 b5c43fdf 0000007f
[ 100.225216] 7fa0: b64d0520 0000007f b64bef28 0000007f 00001f9f
00000000 b5c42e80 0000007f
[ 100.233352] 7fc0: 00442b90 00000000 ea097ff0 ffffffc3 0040d950
00000000 60000000 00000000
[ 100.241486] 7fe0: 3d9a421c 00000000 00000062 00000000 00000000
00000000 00000000 00000000
[ 100.249619] Call trace:
[ 100.252051] Code: d00001d4 97ffee28 f9408a60 97ff2b71 (b94067a0)
[ 100.258146] ---[ end trace 8a63b73eb5685764 ]---
Thanks,
More information about the linux-arm-kernel
mailing list