* [PATCH v3 00/12] Initial Tegra186 support
From: Pavel Machek @ 2016-11-26 13:39 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <20160819173233.13260-1-thierry.reding@gmail.com>
Hi!
> From: Thierry Reding <treding@nvidia.com>
>
> Hi everyone,
>
> This is a set of patches to add initial support for Tegra186. It is
> based on Joseph's patches but I rewrote some of the drivers to be a
> little easier to comprehend and maintain (hopefully). I've also
> included clock and reset drivers as a proof of concept.
Is there any phone/tablet on the market with this chipset?
Pavel
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
^ permalink raw reply
* net: stmmac: Meson GXBB: attempting to execute userspace memory
From: Heinrich Schuchardt @ 2016-11-26 12:38 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <CAFBinCChPSTGp-1sez7rzOa3dw3A6X863FpPmUcjntiQ3-+o+Q@mail.gmail.com>
On 11/26/2016 10:08 AM, Martin Blumenstingl wrote:
> Hello Heinrich,
>
> On Sat, Nov 26, 2016 at 8:53 AM, Heinrich Schuchardt
> <heinrich.schuchardt@gmx.de> wrote:
>> For Odroid C2 I have compiled kernel
>> 4.9.0-rc6-next-20161124-00001-gbf7e142
>> with one additional patch
>> https://github.com/xypron/kernel-odroid-c2/blob/master/patch/0001-stmmac-RTL8211F-Meson-GXBB-TX-throughput-problems.patch
>>
>> I repeatedly see faults like the one below:
> do you see the same errors with the RTL8211F patch *not* applied?
>
>> [ 2557.400796] Unhandled fault: synchronous external abort (0x92000010)
>> at 0x000040001e8ee4b0
>> [ 2557.952413] CPU: 0 PID: 22837 Comm: cc1 Tainted: G D
>> 4.9.0-rc6-next-20161124-00001-gbf7e142 #1
>> [ 2557.962062] Hardware name: Hardkernel ODROID-C2 (DT)
>> [ 2557.966980] task: ffff80006ddb7080 task.stack: ffff80006dd9c000
>> [ 2557.972846] PC is at 0x6a0d98
>> [ 2557.975776] LR is at 0x6a0e54
>> [ 2557.978709] pc : [<00000000006a0d98>] lr : [<00000000006a0e54>]
>> pstate: 80000000
>> [ 2557.986040] sp : 0000fffff3ee5f80
>> [ 2557.989318] x29: 0000fffff3ee5f80 x28: 000040000b3f1240
>> [ 2557.994578] x27: 00000000012a7000 x26: 000040000b3f1288
>> [ 2557.999840] x25: 0000000000f58f88 x24: 000040000b3f1240
>> [ 2558.005101] x23: 0000000000000000 x22: 0000000000000001
>> [ 2558.010362] x21: 0000000000000001 x20: 000040000b3f1250
>> [ 2558.015623] x19: 0000000000000054 x18: 0000000000000001
>> [ 2558.020885] x17: 0000400008acaa10 x16: 0000000001285050
>> [ 2558.026146] x15: 000040000ad96dc8 x14: 000000000000001f
>> [ 2558.031407] x13: 000040000b3f1270 x12: 000040000b3f1258
>> [ 2558.036668] x11: 0000000001347000 x10: 0000000000000661
>> [ 2558.041930] x9 : 0000000000000005 x8 : 0000000000000003
>> [ 2558.047191] x7 : 000040000b3f1240 x6 : 0000000020020033
>> [ 2558.052452] x5 : 000040000b402020 x4 : 000040000b3e1aa0
>> [ 2558.057713] x3 : 000000000000000c x2 : 0000000000000020
>> [ 2558.062974] x1 : 0000000000f45000 x0 : 0000000000000065
>> [ 2558.068235]
>> [ 2558.069712] Internal error: Attempting to execute userspace memory:
>> 8600000f [#7] PREEMPT SMP
>> [ 2558.078155] Modules linked in: meson_rng rng_core meson_gxbb_wdt
>> ip_tables x_tables ipv6 dwmac_generic realtek dwmac_meson8b
>> stmmac_platform stmmac
>> [ 2558.091267] CPU: 0 PID: 22837 Comm: cc1 Tainted: G D
>> 4.9.0-rc6-next-20161124-00001-gbf7e142 #1
>> [ 2558.100925] Hardware name: Hardkernel ODROID-C2 (DT)
>> [ 2558.105841] task: ffff80006ddb7080 task.stack: ffff80006dd9c000
>> [ 2558.111706] PC is at 0x6a0e54
>> [ 2558.114638] LR is at 0x6a0e54
>> [ 2558.117571] pc : [<00000000006a0e54>] lr : [<00000000006a0e54>]
>> pstate: 600003c5
>> [ 2558.124902] sp : ffff80006dd9fec0
>> [ 2558.128179] x29: 0000000000000000 x28: ffff80006ddb7080
>> [ 2558.133441] x27: 00000000012a7000 x26: 000040000b3f1288
>> [ 2558.138702] x25: 0000000000f58f88 x24: 000040000b3f1240
>> [ 2558.143963] x23: 0000000080000000 x22: 00000000006a0d98
>> [ 2558.149225] x21: ffffffffffffffff x20: 000080006e223000
>> [ 2558.154486] x19: 0000000000000000 x18: 0000000000000010
>> [ 2558.159747] x17: 0000400008acaa10 x16: 0000000001285050
>> [ 2558.165008] x15: ffff000088e91f07 x14: 0000000000000006
>> [ 2558.170270] x13: ffff000008e91f15 x12: 000000000000000f
>> [ 2558.175531] x11: 0000000000000002 x10: 00000000000002ea
>> [ 2558.180792] x9 : ffff80006dd9fb40 x8 : 0000000000010a8b
>> [ 2558.186053] x7 : 0000000000000000 x6 : 000000000000020e
>> [ 2558.191315] x5 : 00000000020f020e x4 : 0000000000000000
>> [ 2558.196576] x3 : 0000000000000000 x2 : 000000000000020f
>> [ 2558.201837] x1 : ffff80006ddb7080 x0 : 0000000000000000
>> [ 2558.207098]
>> [ 2558.208565] Process cc1 (pid: 22837, stack limit = 0xffff80006dd9c000)
>> [ 2558.215035] Stack: (0xffff80006dd9fec0 to 0xffff80006dda0000)
>> [ 2558.220728] fec0: 0000000000000065 0000000000f45000 0000000000000020
>> 000000000000000c
>> [ 2558.228490] fee0: 000040000b3e1aa0 000040000b402020 0000000020020033
>> 000040000b3f1240
>> [ 2558.236253] ff00: 0000000000000003 0000000000000005 0000000000000661
>> 0000000001347000
>> [ 2558.244015] ff20: 000040000b3f1258 000040000b3f1270 000000000000001f
>> 000040000ad96dc8
>> [ 2558.251778] ff40: 0000000001285050 0000400008acaa10 0000000000000001
>> 0000000000000054
>> [ 2558.259540] ff60: 000040000b3f1250 0000000000000001 0000000000000001
>> 0000000000000000
>> [ 2558.267303] ff80: 000040000b3f1240 0000000000f58f88 000040000b3f1288
>> 00000000012a7000
>> [ 2558.275065] ffa0: 000040000b3f1240 0000fffff3ee5f80 00000000006a0e54
>> 0000fffff3ee5f80
>> [ 2558.282828] ffc0: 00000000006a0d98 0000000080000000 0000000000000003
>> ffffffffffffffff
>> [ 2558.290590] ffe0: 0000000000000000 0000000000000000 0000000000000000
>> 0000000000000000
>> [ 2558.298351] Call trace:
>> [ 2558.300769] Exception stack(0xffff80006dd9fcf0 to 0xffff80006dd9fe20)
>> [ 2558.307149] fce0: 0000000000000000
>> 0001000000000000
>> [ 2558.314913] fd00: ffff80006dd9fec0 00000000006a0e54 ffff800073acf500
>> 0000000000000004
>> [ 2558.322675] fd20: 0000000000000000 ffff000008dbbc18 ffff80006ddb7080
>> 000000006dd9fdd0
>> [ 2558.330438] fd40: ffff80006dd9fd90 ffff0000080ca878 ffff80006dd9fe40
>> ffff80006ddb7080
>> [ 2558.338200] fd60: 0000000000000004 00000000000003c0 ffff80006dd9fe40
>> 000040000b3f1240
>> [ 2558.345963] fd80: 0000000000f58f88 000040000b3f1288 0000000000000000
>> ffff80006ddb7080
>> [ 2558.353725] fda0: 000000000000020f 0000000000000000 0000000000000000
>> 00000000020f020e
>> [ 2558.361487] fdc0: 000000000000020e 0000000000000000 0000000000010a8b
>> ffff80006dd9fb40
>> [ 2558.369250] fde0: 00000000000002ea 0000000000000002 000000000000000f
>> ffff000008e91f15
>> [ 2558.377012] fe00: 0000000000000006 ffff000088e91f07 0000000001285050
>> 0000400008acaa10
>> [ 2558.384775] [<00000000006a0e54>] 0x6a0e54
>> [ 2558.388743] Code: d503201f f9400280 2a1703e1 97ffff0a (aa0003f3)
>> [ 2558.395241] ---[ end trace 7d280955c14d4ff1 ]---
>> [ 2558.584022] Bad mode in Error handler detected on CPU0, code
>> 0xbf000000 -- SError
>> [ 2558.585871] CPU: 0 PID: 22867 Comm: cc1 Tainted: G D
>> 4.9.0-rc6-next-20161124-00001-gbf7e142 #1
>> [ 2558.595527] Hardware name: Hardkernel ODROID-C2 (DT)
>> [ 2558.600444] task: ffff80007454d780 task.stack: ffff8000660bc000
>> [ 2558.606310] PC is at 0x631928
>> [ 2558.609240] LR is at 0xb59ce0
>> [ 2558.612172] pc : [<0000000000631928>] lr : [<0000000000b59ce0>]
>> pstate: 80000000
>> [ 2558.619503] sp : 0000ffffed764d90
>> [ 2558.622782] x29: 0000ffffed764d90 x28: 0000000000000028
>> [ 2558.628042] x27: 000000001a1062f0 x26: 0000000001299198
>> [ 2558.633303] x25: 0000000000000001 x24: 0000000000000000
>> [ 2558.638564] x23: 0000000000000004 x22: 00000000013513c8
>> [ 2558.643825] x21: 0000400039d43488 x20: 0000000000000000
>> [ 2558.649086] x19: 0000400039d2d730 x18: 0000000000000000
>> [ 2558.654348] x17: 0000400039a7c378 x16: 0000000001285138
>> [ 2558.659609] x15: 0000000000000001 x14: 0000000000000000
>> [ 2558.664870] x13: ffffff0000000000 x12: 0000000000000000
>> [ 2558.670131] x11: 0000000000000028 x10: 000000000129b2b8
>> [ 2558.675393] x9 : 0000000000000041 x8 : 0000000000000003
>> [ 2558.680654] x7 : 0000000000000050 x6 : 000000000003d2c8
>> [ 2558.685915] x5 : 0000000000000002 x4 : 0000000000000004
>> [ 2558.691176] x3 : 0000000000000003 x2 : 0000000001349000
>> [ 2558.696438] x1 : 000000000003cb90 x0 : 0000400039d45050
>> [ 2558.701699]
>> [ 2558.703177] Internal error: Attempting to execute userspace memory:
>> 8600000f [#8] PREEMPT SMP
>> [ 2558.711618] Modules linked in: meson_rng rng_core meson_gxbb_wdt
>> ip_tables x_tables ipv6 dwmac_generic realtek dwmac_meson8b
>> stmmac_platform stmmac
>> [ 2558.724731] CPU: 0 PID: 22867 Comm: cc1 Tainted: G D
>> 4.9.0-rc6-next-20161124-00001-gbf7e142 #1
>> [ 2558.734388] Hardware name: Hardkernel ODROID-C2 (DT)
>> [ 2558.739304] task: ffff80007454d780 task.stack: ffff8000660bc000
>> [ 2558.745169] PC is at 0xb59ce0
>> [ 2558.748102] LR is at 0xb59ce0
>> [ 2558.751035] pc : [<0000000000b59ce0>] lr : [<0000000000b59ce0>]
>> pstate: 600003c5
>> [ 2558.758365] sp : ffff8000660bfec0
>> [ 2558.761643] x29: 0000000000000000 x28: ffff80007454d780
>> [ 2558.766904] x27: 000000001a1062f0 x26: 0000000001299198
>> [ 2558.772165] x25: 0000000000000001 x24: 0000000000000000
>> [ 2558.777426] x23: 0000000080000000 x22: 0000000000631928
>> [ 2558.782688] x21: ffffffffffffffff x20: 000080006e223000
>> [ 2558.787949] x19: 0000000000000000 x18: 0000000000000010
>> [ 2558.793210] x17: 0000400039a7c378 x16: 0000000001285138
>> [ 2558.798471] x15: ffff000088e91f07 x14: 0000000000000006
>> [ 2558.803733] x13: ffff000008e91f15 x12: 000000000000000f
>> [ 2558.808994] x11: 0000000000000002 x10: 0000000000000336
>> [ 2558.814255] x9 : ffff8000660bfb40 x8 : 00000000000ab503
>> [ 2558.819516] x7 : 0000000000000000 x6 : 00000000000000dd
>> [ 2558.824778] x5 : 0000000000de00dd x4 : 0000000000000000
>> [ 2558.830039] x3 : 0000000000000000 x2 : 00000000000000de
>> [ 2558.835300] x1 : ffff80007454d780 x0 : 0000000000000000
>> [ 2558.840561]
>> [ 2558.842029] Process cc1 (pid: 22867, stack limit = 0xffff8000660bc000)
>> [ 2558.848498] Stack: (0xffff8000660bfec0 to 0xffff8000660c0000)
>> [ 2558.854191] fec0: 0000400039d45050 000000000003cb90 0000000001349000
>> 0000000000000003
>> [ 2558.861953] fee0: 0000000000000004 0000000000000002 000000000003d2c8
>> 0000000000000050
>> [ 2558.869716] ff00: 0000000000000003 0000000000000041 000000000129b2b8
>> 0000000000000028
>> [ 2558.877478] ff20: 0000000000000000 ffffff0000000000 0000000000000000
>> 0000000000000001
>> [ 2558.885241] ff40: 0000000001285138 0000400039a7c378 0000000000000000
>> 0000400039d2d730
>> [ 2558.893003] ff60: 0000000000000000 0000400039d43488 00000000013513c8
>> 0000000000000004
>> [ 2558.900766] ff80: 0000000000000000 0000000000000001 0000000001299198
>> 000000001a1062f0
>> [ 2558.908529] ffa0: 0000000000000028 0000ffffed764d90 0000000000b59ce0
>> 0000ffffed764d90
>> [ 2558.916291] ffc0: 0000000000631928 0000000080000000 000000001a18c000
>> ffffffffffffffff
>> [ 2558.924053] ffe0: 0000000000000000 0000000000000000 0000000000000000
>> 0000000000000000
>> [ 2558.931814] Call trace:
>> [ 2558.934232] Exception stack(0xffff8000660bfcf0 to 0xffff8000660bfe20)
>> [ 2558.940613] fce0: 0000000000000000
>> 0001000000000000
>> [ 2558.948376] fd00: ffff8000660bfec0 0000000000b59ce0 ffff800073acf640
>> 0000000000000004
>> [ 2558.956138] fd20: 0000000000000000 ffff000008dbbc18 ffff80007454d780
>> 00000000660bfdd0
>> [ 2558.963901] fd40: ffff8000660bfd90 ffff0000080ca878 ffff8000660bfe40
>> ffff80007454d780
>> [ 2558.971663] fd60: 0000000000000004 00000000000003c0 ffff8000660bfe40
>> 0000000000000000
>> [ 2558.979426] fd80: 0000000000000001 0000000001299198 0000000000000000
>> ffff80007454d780
>> [ 2558.987188] fda0: 00000000000000de 0000000000000000 0000000000000000
>> 0000000000de00dd
>> [ 2558.994951] fdc0: 00000000000000dd 0000000000000000 00000000000ab503
>> ffff8000660bfb40
>> [ 2559.002713] fde0: 0000000000000336 0000000000000002 000000000000000f
>> ffff000008e91f15
>> [ 2559.010476] fe00: 0000000000000006 ffff000088e91f07 0000000001285138
>> 0000400039a7c378
>> [ 2559.018238] [<0000000000b59ce0>] 0xb59ce0
>> [ 2559.022207] Code: d2800001 d2800002 d2800500 97eb5e9d (a9007c1f)
>> [ 2559.028376] ---[ end trace 7d280955c14d4ff2 ]---
>> [ 2559.034397] Bad mode in Error handler detected on CPU2, code
>> 0xbf000000 -- SError
>> [ 2559.040235] CPU: 2 PID: 22866 Comm: gcc Tainted: G D
>> 4.9.0-rc6-next-20161124-00001-gbf7e142 #1
>> [ 2559.049892] Hardware name: Hardkernel ODROID-C2 (DT)
>> [ 2559.054808] task: ffff80007454e400 task.stack: ffff80006de9c000
>> [ 2559.060674] PC is at 0x40003c0400d8
>> [ 2559.064122] LR is at 0x46d4e0
>> [ 2559.067055] pc : [<000040003c0400d8>] lr : [<000000000046d4e0>]
>> pstate: 80000000
>> [ 2559.074385] sp : 0000ffffe6387270
>> [ 2559.077664] x29: 0000ffffe6387270 x28: 0000000016c0ff90
>> [ 2559.082924] x27: 0000000000000002 x26: 0000000000000001
>> [ 2559.088185] x25: 0000ffffe63873f4 x24: 0000ffffe63873f8
>> [ 2559.093447] x23: 0000ffffe63873f4 x22: 0000ffffe63873f8
>> [ 2559.098708] x21: 0000000016c104e0 x20: 0000000000005953
>> [ 2559.103969] x19: 0000000000000000 [ 2559.107102] Unhandled fault:
>> synchronous external abort (0x96000010) at 0xffff800000c1e000
>> [ 2559.107108] Internal error: : 96000010 [#9] PREEMPT SMP
>> [ 2559.107110] Modules linked in:
>> [ 2559.107113] meson_rng rng_core meson_gxbb_wdt ip_tables x_tables
>> ipv6 dwmac_generic realtek dwmac_meson8b stmmac_platform stmmac[
>> 2559.107131] CPU: 0 PID: 1124 Comm: mmcqd/1 Tainted: G D 1
>> [ 2559.107132] Hardware name: Hardkernel ODROID-C2 (DT)
>> [ 2559.107135] task: ffff8000704abe80 task.stack: ffff8000734d0000
>> [ 2559.107147] PC is at __memcpy+0x100/0x180
>> [ 2559.107152] LR is at sg_copy_buffer+0xb0/0x110
>> [ 2559.107155] pc : [<ffff00000837ee00>] lr : [<ffff00000838e928>]
>> pstate: 200001c5
>> [ 2559.107155] sp : ffff8000734d3bb0
>> [ 2559.107157] x29: ffff8000734d3bb0
>> [ 2559.107158] x28: ffff800073a14800 x27: ffff800073a14b68
>> [ 2559.107162] x26: 0000000000000000 x25: 0000000000000140
>> [ 2559.107165] x24: 0000000000000001 x23: 0000000000001000
>> [ 2559.107168] x22: ffff8000746a2000 x21: 0000000000001000
>> [ 2559.107170] x20: 0000000000000000 x19: 0000000000001000
>> [ 2559.107172] x18: 0000000000000000 x17: ffffffffffffffff
>> [ 2559.107175] x16: 00000000000006be x15: ffff000008c34000
>> [ 2559.107178] x14: 747962342e090a34 x13: 3278302038323162
>> [ 2559.107181] x12: 656c752e090a3864 x11: ffff800073866800
>> [ 2559.107183] x10: ffff80006bf68eb0 x9 : 0000000000000000
>> [ 2559.107186] x8 : ffff800073a94920 x7 : 0000000000000000
>> [ 2559.107188] x6 : ffff8000746a2000 x5 : 0000820000000000
>> [ 2559.107191] x4 : 0000000000000000 x3 : 0000000000000000
>> [ 2559.107193] x2 : 0000000000000f80 x1 : ffff800000c1e000
>> [ 2559.107196] x0 : ffff8000746a2000
>> [ 2559.107199] Process mmcqd/1 (pid: 1124, stack limit = 0xffff8000734d0000)
>> [ 2559.107202] Stack: (0xffff8000734d3bb0 to 0xffff8000734d4000)
>> [ 2559.107205] 3ba0: ffff8000734d3c50
>> ffff00000838e9bc
>> [ 2559.107208] 3bc0: ffff800073a14000 ffff800073a14a30 ffff80006bf68eb0
>> ffff800073a14a28
>> [ 2559.107212] 3be0: ffff800073a14818 ffff800073a14800 0000000000000000
>> ffff00000838e1c4
>> [ 2559.107215] 3c00: ffff800073a94900 ffff7e0000030780 ffff800000c1e000
>> 0000000000001000
>> [ 2559.107218] 3c20: 0000000000001000 ffff800073ad0a00 0000000100000000
>> 0000000000000001
>> [ 2559.107221] 3c40: 0000100000000000 0000000000000005 ffff8000734d3c60
>> ffff00000874c1bc
>> [ 2559.107224] 3c60: ffff8000734d3c70 ffff000008748010 ffff8000734d3cd0
>> ffff000008749908
>> [ 2559.107228] 3c80: ffff80006bf68eb0 ffff800073a14000 ffff8000734c8000
>> ffff800073a14818
>> [ 2559.107231] 3ca0: ffff800073a14800 ffff800073a14800 ffff80006bf68eb0
>> ffff800073a14a28
>> [ 2559.107234] 3cc0: ffff80006bf68eb0 ffff000008749bc8 ffff8000734d3d70
>> ffff00000874b298
>> [ 2559.107237] 3ce0: ffff800073a14000 ffff800073a14818 ffff8000734c8000
>> 0000000000000000
>> [ 2559.107240] 3d00: ffff800073a14800 ffff800073a14800 ffff800073a13800
>> 0000000000000000
>> [ 2559.107243] 3d20: ffff80006bf68eb0 0000000000000000 00000000012853f0
>> ffff000008c0fcb8
>> [ 2559.107246] 3d40: 0000000000000000 000000000835bf14 ffff000008a05f58
>> ffff800000000000
>> [ 2559.107249] 3d60: ffff8000734c8000 0000000000000001 ffff8000734d3de0
>> ffff00000874b6f4
>> [ 2559.107252] 3d80: ffff800073a14818 ffff80006bf68eb0 ffff8000734c8000
>> 0000000000000001
>> [ 2559.107255] 3da0: ffff800073a14828 0000000000000000 0000000000000000
>> 0000000000000000
>> [ 2559.107258] 3dc0: 0000000000000000 0000000000000000 ffff800073a14818
>> ffff00000874b6c4
>> [ 2559.107261] 3de0: ffff8000734d3e20 ffff0000080daa84 ffff800073a94980
>> ffff000008e8eb08
>> [ 2559.107264] 3e00: ffff000008b75b50 ffff800073a14818 ffff00000874b658
>> 0000000000000000
>> [ 2559.107267] 3e20: 0000000000000000 ffff000008082ec0 ffff0000080da9b8
>> ffff800073a94980
>> [ 2559.107270] 3e40: 0000000000000000 0000000000000000 0000000000000000
>> 000003ff01893600
>> [ 2559.107273] 3e60: ffff8000734d3ea0 0000000000000000 ffff0000080da9b8
>> ffff800073a14818
>> [ 2559.107276] 3e80: 0000000000000000 0000000000000000 ffff8000734d3e90
>> ffff8000734d3e90
>> [ 2559.107279] 3ea0: 0000000000000000 ffff000000000000 ffff8000734d3eb0
>> ffff8000734d3eb0
>> [ 2559.107281] 3ec0: 0000000000000000 0000000000000000 0000000000000000
>> 0000000000000000
>> [ 2559.107284] 3ee0: 0000000000000000 0000000000000000 0000000000000000
>> 0000000000000000
>> [ 2559.107287] 3f00: 0000000000000000 0000000000000000 0000000000000000
>> 0000000000000000
>> [ 2559.107290] 3f20: 0000000000000000 0000000000000000 0000000000000000
>> 0000000000000000
>> [ 2559.107293] 3f40: 0000000000000000 0000000000000000 0000000000000000
>> 0000000000000000
>> [ 2559.107295] 3f60: 0000000000000000 0000000000000000 0000000000000000
>> 0000000000000000
>> [ 2559.107298] 3f80: 0000000000000000 0000000000000000 0000000000000000
>> 0000000000000000
>> [ 2559.107300] 3fa0: 0000000000000000 0000000000000000 0000000000000000
>> 0000000000000000
>> [ 2559.107303] 3fc0: 0000000000000000 0000000000000005 0000000000000000
>> 0000000000000000
>> [ 2559.107306] 3fe0: 0000000000000000 0000000000000000 0000001800002cba
>> 26000000a01b3800
>> [ 2559.107308] Call trace:
>> [ 2559.107312] Exception stack(0xffff8000734d39e0 to 0xffff8000734d3b10)
>> [ 2559.107315] 39e0: 0000000000001000 0001000000000000 ffff8000734d3bb0
>> ffff00000837ee00
>> [ 2559.107318] 3a00: 0000000000000007 ffff800000000000 ffff800000c1e000
>> 0000000100100010
>> [ 2559.107321] 3a20: ffff8000734d3ac0 ffff000008748d88 ffff8000734d3b8c
>> 0000000000000001
>> [ 2559.107324] 3a40: ffff8000734d3b40 ffff0000081c9dac ffff800074401d00
>> ffff0000081745d8
>> [ 2559.107327] 3a60: ffff7e0001b72f80 ffff80006dcbe300 00000000031fda40
>> 0000000000000000
>> [ 2559.107330] 3a80: ffff8000746a2000 ffff800000c1e000 0000000000000f80
>> 0000000000000000
>> [ 2559.107333] 3aa0: 0000000000000000 0000820000000000 ffff8000746a2000
>> 0000000000000000
>> [ 2559.107336] 3ac0: ffff800073a94920 0000000000000000 ffff80006bf68eb0
>> ffff800073866800
>> [ 2559.107339] 3ae0: 656c752e090a3864 3278302038323162 747962342e090a34
>> ffff000008c34000
>> [ 2559.107341] 3b00: 00000000000006be ffffffffffffffff
>> [ 2559.107346] [<ffff00000837ee00>] __memcpy+0x100/0x180
>> [ 2559.107349] [<ffff00000838e9bc>] sg_copy_to_buffer+0x14/0x20
>> [ 2559.107357] [<ffff00000874c1bc>] mmc_queue_bounce_pre+0x34/0x40
>> [ 2559.107362] [<ffff000008748010>] mmc_blk_rw_rq_prep+0x288/0x3a0
>> [ 2559.107365] [<ffff000008749908>] mmc_blk_issue_rw_rq+0x3c0/0x998
>> [ 2559.107368] [<ffff00000874b298>] mmc_blk_issue_rq+0x150/0x510
>> [ 2559.107371] [<ffff00000874b6f4>] mmc_queue_thread+0x9c/0x140
>> [ 2559.107377] [<ffff0000080daa84>] kthread+0xcc/0xe0
>> [ 2559.107383] [<ffff000008082ec0>] ret_from_fork+0x10/0x50
>> [ 2559.107387] Code: d503201f d503201f d503201f d503201f (a8c12027)
>> [ 2559.107409] ---[ end trace 7d280955c14d4ff3 ]---
>> [ 2559.107417] note: mmcqd/1[1124] exited with preempt_count 1
>> [ 2559.688313] x18: 0000000000040900 x17: 0000000000590578 x16:
>> 000040003c0400a8
>> [ 2559.695471] x15: 000000000000065c x14: 0000000000000000
>> [ 2559.700733] x13: 002f362f756e672d x12: 78756e696c2d3436
>> [ 2559.705994] x11: 0000000000000001 x10: 0101010101010101
>> [ 2559.711255] x9 : 0000000000000001 x8 : 0000000000000104
>> [ 2559.716516] x7 : 000000000046d448 x6 : 0000ffffe63873f4
>> [ 2559.721778] x5 : 0000ffffe63873f8 x4 : 0000000000000000
>> [ 2559.727039] x3 : 0000000000000000 x2 : 0000000000000000
>> [ 2559.732300] x1 : 0000000016c104e0 x0 : 0000000000005953
>> [ 2559.737561]
>> [ 2559.739036] Internal error: Attempting to execute userspace memory:
>> 8600000f [#10] PREEMPT SMP
>> [ 2559.747566] Modules linked in: meson_rng rng_core meson_gxbb_wdt
>> ip_tables x_tables ipv6 dwmac_generic realtek dwmac_meson8b
>> stmmac_platform stmmac
>> [ 2559.760678] CPU: 2 PID: 22866 Comm: gcc Tainted: G D
>> 4.9.0-rc6-next-20161124-00001-gbf7e142 #1
>> [ 2559.770337] Hardware name: Hardkernel ODROID-C2 (DT)
>> [ 2559.775254] task: ffff80007454e400 task.stack: ffff80006de9c000
>> [ 2559.781118] PC is at 0x46d4e0
>> [ 2559.784051] LR is at 0x46d4e0
>> [ 2559.786983] pc : [<000000000046d4e0>] lr : [<000000000046d4e0>]
>> pstate: 600003c5
>> [ 2559.794314] sp : ffff80006de9fec0
>> [ 2559.797591] x29: 0000000000000000 x28: ffff80007454e400
>> [ 2559.802853] x27: 0000000000000002 x26: 0000000000000001
>> [ 2559.808114] x25: 0000ffffe63873f4 x24: 0000ffffe63873f8
>> [ 2559.813375] x23: 0000000080000000 x22: 000040003c0400d8
>> [ 2559.818636] x21: ffffffffffffffff x20: 000080006e24d000
>> [ 2559.823898] x19: 0000000000000000 x18: 0000000000000010
>> [ 2559.829159] x17: 0000000000590578 x16: 000040003c0400a8
>> [ 2559.834420] x15: ffff000088e91f07 x14: 0000000000000006
>> [ 2559.839682] x13: ffff000008e91f15 x12: 000000000000000f
>> [ 2559.844943] x11: 0000000000000002 x10: 00000000000003f4
>> [ 2559.850204] x9 : ffff80006de9fb40 x8 : 00000000000b4119
>> [ 2559.855465] x7 : 0000000000000000 x6 : 000000000000019d
>> [ 2559.860726] x5 : 00000000019e019d x4 : 0000000000000000
>> [ 2559.865988] x3 : 0000000000000002 x2 : 000000000000019e
>> [ 2559.871249] x1 : ffff80007454e400 x0 : 0000000000000000
>> [ 2559.876510]
>> [ 2559.877977] Process gcc (pid: 22866, stack limit = 0xffff80006de9c000)
>> [ 2559.884446] Stack: (0xffff80006de9fec0 to 0xffff80006dea0000)
>> [ 2559.890140] fec0: 0000000000005953 0000000016c104e0 0000000000000000
>> 0000000000000000
>> [ 2559.897902] fee0: 0000000000000000 0000ffffe63873f8 0000ffffe63873f4
>> 000000000046d448
>> [ 2559.905664] ff00: 0000000000000104 0000000000000001 0101010101010101
>> 0000000000000001
>> [ 2559.913427] ff20: 78756e696c2d3436 002f362f756e672d 0000000000000000
>> 000000000000065c
>> [ 2559.921190] ff40: 000040003c0400a8 0000000000590578 0000000000040900
>> 0000000000000000
>> [ 2559.928952] ff60: 0000000000005953 0000000016c104e0 0000ffffe63873f8
>> 0000ffffe63873f4
>> [ 2559.936714] ff80: 0000ffffe63873f8 0000ffffe63873f4 0000000000000001
>> 0000000000000002
>> [ 2559.944477] ffa0: 0000000016c0ff90 0000ffffe6387270 000000000046d4e0
>> 0000ffffe6387270
>> [ 2559.952240] ffc0: 000040003c0400d8 0000000080000000 0000000000005953
>> ffffffffffffffff
>> [ 2559.960002] ffe0: 0000000000000000 0000000000000000 0000000000000000
>> 0000000000000000
>> [ 2559.967762] Call trace:
>> [ 2559.970179] Exception stack(0xffff80006de9fcf0 to 0xffff80006de9fe20)
>> [ 2559.976561] fce0: 0000000000000000
>> 0001000000000000
>> [ 2559.984324] fd00: ffff80006de9fec0 000000000046d4e0 ffff80007366f8c0
>> 0000000000000004
>> [ 2559.992087] fd20: 0000000000000000 ffff000008dbbc18 ffff80007454e400
>> 000000006de9fdd0
>> [ 2559.999850] fd40: ffff80006de9fd90 ffff0000080ca878 ffff80006de9fe40
>> ffff80007454e400
>> [ 2560.007612] fd60: 0000000000000004 00000000000003c0 ffff80006de9fe40
>> 0000ffffe63873f8
>> [ 2560.015374] fd80: 0000ffffe63873f4 0000000000000001 0000000000000000
>> ffff80007454e400
>> [ 2560.023137] fda0: 000000000000019e 0000000000000002 0000000000000000
>> 00000000019e019d
>> [ 2560.030899] fdc0: 000000000000019d 0000000000000000 00000000000b4119
>> ffff80006de9fb40
>> [ 2560.038662] fde0: 00000000000003f4 0000000000000002 000000000000000f
>> ffff000008e91f15
>> [ 2560.046425] fe00: 0000000000000006 ffff000088e91f07 000040003c0400a8
>> 0000000000590578
>> [ 2560.054186] [<000000000046d4e0>] 0x46d4e0
>> [ 2560.058155] Code: aa1503e1 2a1403e0 52800002 97fe895d (2a0003e1)
>> [ 2560.064244] ---[ end trace 7d280955c14d4ff4 ]---
> I am asking because when you look at the affected processes you'll get
> this list: cc1, mmcqd/1, gcc
> it doesn't sound like any of these using ethernet but rather MMC instead.
>
>
> Regards,
> Martin
>
Hello Martin,
the same error occurs without patch
https://github.com/xypron/kernel-odroid-c2/blob/master/patch/0001-stmmac-RTL8211F-Meson-GXBB-TX-throughput-problems.patch
Best regards
Heinrich
^ permalink raw reply
* [RFC PATCH 13/29] arm64/sve: Basic support for KERNEL_MODE_NEON
From: Catalin Marinas @ 2016-11-26 11:30 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <CAKv+Gu-MKdNHNrvSvMeoAoENdfscbAK0==NEMu6KJn8fjxz_tw@mail.gmail.com>
On Fri, Nov 25, 2016 at 08:45:02PM +0000, Ard Biesheuvel wrote:
> On 25 November 2016 at 19:39, Dave Martin <Dave.Martin@arm.com> wrote:
> > In order to enable CONFIG_KERNEL_MODE_NEON and things that rely on
> > it to be configured together with Scalable Vector Extension support
> > in the same kernel, this patch implements basic support for
> > saving/restoring the SVE state around kernel_neon_begin()...
> > kernel_neon_end().
> >
> > This patch is not optimal and will generally save more state than
> > necessary, more often than necessary. Further optimisations can be
> > implemented in future patches.
> >
> > This patch is not intended to allow general-purpose _SVE_ code to
> > execute in the kernel safely. That functionality may also follow
> > in later patches.
> >
> > Signed-off-by: Dave Martin <Dave.Martin@arm.com>
> > ---
> > arch/arm64/Kconfig | 1 -
> > arch/arm64/kernel/fpsimd.c | 22 ++++++++++++++++++----
> > 2 files changed, 18 insertions(+), 5 deletions(-)
> >
> > diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
> > index e8d04dd..7266761 100644
> > --- a/arch/arm64/Kconfig
> > +++ b/arch/arm64/Kconfig
> > @@ -880,7 +880,6 @@ endmenu
> > config ARM64_SVE
> > bool "ARM Scalable Vector Extension support"
> > default y
> > - depends on !KERNEL_MODE_NEON # until it works with SVE
> > help
> > The Scalable Vector Extension (SVE) is an extension to the AArch64
> > execution state which complements and extends the SIMD functionality
> > diff --git a/arch/arm64/kernel/fpsimd.c b/arch/arm64/kernel/fpsimd.c
> > index 81cfdb5..cb947dd 100644
> > --- a/arch/arm64/kernel/fpsimd.c
> > +++ b/arch/arm64/kernel/fpsimd.c
> > @@ -282,11 +282,26 @@ static DEFINE_PER_CPU(struct fpsimd_partial_state, softirq_fpsimdstate);
> > */
> > void kernel_neon_begin_partial(u32 num_regs)
> > {
> > + preempt_disable();
> > +
> > + /*
> > + * For now, we have no special storage for SVE registers in
> > + * interrupt context, so always save the userland SVE state
> > + * if there is any, even for interrupts.
> > + */
> > + if (IS_ENABLED(CONFIG_ARM64_SVE) && (elf_hwcap & HWCAP_SVE) &&
> > + current->mm &&
> > + !test_and_set_thread_flag(TIF_FOREIGN_FPSTATE)) {
> > + fpsimd_save_state(¤t->thread.fpsimd_state);
> > + this_cpu_write(fpsimd_last_state, NULL);
> > + }
> > +
>
> I am having trouble understanding why we need all of this if we don't
> support SVE in the kernel. Could you elaborate?
Dave knows all the details but a reason is that touching a Neon register
zeros the upper SVE state in the same vector register. So we can't
safely save/restore just the Neon part without corrupting the SVE state.
--
Catalin
^ permalink raw reply
* [GIT PULL] ARM: mvebu: dt for v4.10 (#2)
From: Gregory CLEMENT @ 2016-11-26 9:43 UTC (permalink / raw)
To: linux-arm-kernel
Hi,
Here is the second (and late) pull request for dt for mvebu for v4.10.
It only contains the support for the Turris Omnia.
It is a little late but quoting Uwe Kleine-K?nig: "can we still get it
into 4.10? This would help me to put this in the Debian kernel for the
next release."
Gregory
The following changes since commit 2f7132852038deb8e364bee155f51cb477c8d2f4:
ARM: dts: armada-375: Fixup ethernet child DT warning (2016-11-19 09:16:52 +0100)
are available in the git repository at:
git://git.infradead.org/linux-mvebu.git tags/mvebu-dt-4.10-2
for you to fetch changes up to 26ca8b52d6e18c10109cabda0f775dd9345bbfdf:
ARM: dts: add support for Turris Omnia (2016-11-25 17:11:34 +0100)
----------------------------------------------------------------
mvebu dt for 4.10 (part 1)
Add Turris Omnia support, an open hardware router Armada 385 based
----------------------------------------------------------------
Uwe Kleine-K?nig (2):
devicetree: Add vendor prefix for CZ.NIC
ARM: dts: add support for Turris Omnia
.../devicetree/bindings/vendor-prefixes.txt | 1 +
arch/arm/boot/dts/Makefile | 1 +
arch/arm/boot/dts/armada-385-turris-omnia.dts | 340 +++++++++++++++++++++
3 files changed, 342 insertions(+)
create mode 100644 arch/arm/boot/dts/armada-385-turris-omnia.dts
^ permalink raw reply
* [PATCH 8/9] mfd: wm97xx-core: core support for wm97xx Codec
From: Robert Jarzmik @ 2016-11-26 9:18 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <20161121101219.GB32509@dell>
Lee Jones <lee.jones@linaro.org> writes:
> Mark, please see below:
You'll get better chances to have an answer if you put Mark in the To: list.
Mark, Lee has question, especially in the part where he wrote "I'd like to get
Mark Brown's opinion on this.". I added the code extract in [1] to spare you
going through the all patch.
I copy-pasted his reply below in [2], which makes it top-posting ... let's say
for this time it's acceptable.
Cheers.
--
Robert
[1] Probe function and your opinion
+static int wm97xx_ac97_probe(struct ac97_codec_device *adev)
+{
+ struct wm97xx_priv *wm97xx;
+ int ret;
+ void *pdata = snd_ac97_codec_get_platdata(adev);
+
+ wm97xx = devm_kzalloc(ac97_codec_dev2dev(adev),
+ sizeof(*wm97xx), GFP_KERNEL);
+ if (!wm97xx)
+ return -ENOMEM;
+
+ wm97xx->dev = ac97_codec_dev2dev(adev);
+ wm97xx->ac97 = snd_ac97_compat_alloc(adev);
+ if (IS_ERR(wm97xx->ac97))
+ return PTR_ERR(wm97xx->ac97);
+
+
+ ac97_set_drvdata(adev, wm97xx);
+ dev_info(wm97xx->dev, "wm97xx core found, id=0x%x\n",
+ adev->vendor_id);
[2] Lee's previous mail
> On Sat, 19 Nov 2016, Robert Jarzmik wrote:
>> Lee Jones <lee.jones@linaro.org> writes:
>>
>> >> +#define WM9705_VENDOR_ID 0x574d4c05
>> >> +#define WM9712_VENDOR_ID 0x574d4c12
>> >> +#define WM9713_VENDOR_ID 0x574d4c13
>> >> +#define WM97xx_VENDOR_ID_MASK 0xffffffff
>> >
>> > These are probably better represented as enums.
>> These are ids, just as devicetree ids, or PCI ids, I don't think an enum will
>> fit.
>
> That's fine. We can use enums to simply group items of a similar
> type. Representing these as enums would only serve to benefit code
> cleanliness. What makes you think they won't fit?
>
>> >> +struct wm97xx_priv {
>> >> + struct regmap *regmap;
>> >> + struct snd_ac97 *ac97;
>> >> + struct device *dev;
>> >> +};
>> >
>> > Replace _priv with _ddata.
>> Ok, will do, would you care to explain if this is something specific to your mfd
>> tree, or is it a kernel overall recommendation ?
>
> It's personal preference. But these aren't necessarily private, so
> priv doesn't really make a great deal of sense. These types of saved
> pointers are better described as device data (ddata).
>
>
> [...]
>
>> >> +static const struct reg_default wm97xx_reg_defaults[] = {
>> >> +};
>> >
>> > What's the point in this?
>> Ah, that's a reminder I have still more work on this patch ... Either I remove
>> support for wm9705 and wm9712 in the first version, or I complete it and add the
>> tables :
>> - wm9705_reg_defaults
>> - wm9712_reg_defaults
>
> Please don't add redundant code. I suggest you remove it for this
> submission.
>
>> >> +static int wm9705_register(struct wm97xx_priv *wm97xx)
>> >> +{
>> >> + return 0;
>> >> +}
>> >> +
>> >> +static int wm9712_register(struct wm97xx_priv *wm97xx)
>> >> +{
>> >> + return 0;
>> >> +}
>> >
>> > I don't get it?
>> >
>> > Either populate or don't provide.
>> Same story as above, either I complete wm9705 and wm9712 support or I remove it.
>
> Remove it please.
>
>> >> +static int wm9713_register(struct wm97xx_priv *wm97xx,
>> >> + struct wm97xx_pdata *pdata)
>> >> +{
>> >
>> > What are you lining this up with?
>> Emacs ... I don't see your point though, seeing it not aligned in the diff chunk
>> doesn't mean it's not properly aligned.
>
> That is true. So the two "scruct"s are line up in the source file,
> right?
>
> [...]
>
>> >> + codec_pdata.ac97 = wm97xx->ac97;
>> >> + codec_pdata.regmap = devm_regmap_init_ac97(wm97xx->ac97,
>> >> + &wm9713_regmap_config);
>> >> + codec_pdata.batt_pdata = pdata->batt_pdata;
>> >> + if (IS_ERR(codec_pdata.regmap))
>> >> + return PTR_ERR(codec_pdata.regmap);
>> >
>> > This doesn't look like pdata. You can get rid of all of this hoop
>> > jumping if you add it to ddata and set it as such.
>> You mean I should pass ddata to mfd sub-cells, right ?
>
> Correct.
>
> [...]
>
>> >> +static int wm97xx_ac97_probe(struct ac97_codec_device *adev)
>> >
>> > This looks sound specific.
>> >
>> > Why isn't this a plane platform driver?
>> That's the whole purpose of the patch serie.
>>
>> This serie transforms the wm97xx drivers from a platform driver model to an ac97
>> model, where the ac97 devices are automatically discovered. The long explanation
>> is in patch 0/9, on how it started and what is the global purpose.
>>
>> The short story is : switch to the new AC97 bus driver model.
>>
>> As for the "sound specific part", it's because AC97 bus is mainly used in sound
>> oriented drivers, but still the codec IPs provide more than just sound, as the
>> Wolfson codecs for instance.
>
> I'd like to get Mark Brown's opinion on this.
>
>> >> +{
>> >> + struct wm97xx_priv *wm97xx;
>> >> + int ret;
>> >> + void *pdata = snd_ac97_codec_get_platdata(adev);
>> >> +
>> >> + wm97xx = devm_kzalloc(ac97_codec_dev2dev(adev),
>> >> + sizeof(*wm97xx), GFP_KERNEL);
>> >> + if (!wm97xx)
>> >> + return -ENOMEM;
>> >> +
>> >> + wm97xx->dev = ac97_codec_dev2dev(adev);
>> >> + wm97xx->ac97 = snd_ac97_compat_alloc(adev);
>> >> + if (IS_ERR(wm97xx->ac97))
>> >> + return PTR_ERR(wm97xx->ac97);
>> >> +
>> >> +
>> >> + ac97_set_drvdata(adev, wm97xx);
>> >> + dev_info(wm97xx->dev, "wm97xx core found, id=0x%x\n",
>> >> + adev->vendor_id);
>> >
>> > All of this ac97/sound stuff should be done in the ac97/sound driver.
>>
>> Nope, it's not sound adherence you're seeing here, it's ac97 bus and driver
>> model adherence you're seeing. Would the bus be in drivers/ac97 instead of
>> sound/ac97, the code would remain the same, would be bus be i2c you would see
>> the same kind of calls but with i2c_xxx and not ac97_xxx.
>>
>> The wm97xx needs an ac97 bus to interact with the hardware, to provide sound,
>> gpio, adc, etc ... functions. That's what is expressed here, and the fact that
>> this ac97 access has to shared amongst the mfd sub-cells, and that these cells
>> require :
>> - wm97xx->ac97 : this one is for drivers/input/touchscreen/wm97xx-core.c
>>
>> So the requirement in this case is not for ac97/sound but input/touchscreen.
>>
>> >> diff --git a/include/linux/mfd/wm97xx.h b/include/linux/mfd/wm97xx.h
>> >> new file mode 100644
>> >> index 000000000000..627322f14d48
>> >> --- /dev/null
>> >> +++ b/include/linux/mfd/wm97xx.h
>> >> @@ -0,0 +1,31 @@
>> >> +/*
>> >> + * wm97xx client interface
>> >> + *
>> >> + * Copyright (C) 2016 Robert Jarzmik
>> >> + *
>> >> + * This program is free software; you can redistribute it and/or modify
>> >> + * it under the terms of the GNU General Public License as published by
>> >> + * the Free Software Foundation; either version 2 of the License, or
>> >> + * (at your option) any later version.
>> >> + *
>> >> + * This program is distributed in the hope that it will be useful,
>> >> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
>> >> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
>> >> + * GNU General Public License for more details.
>> >> + */
>> >> +
>> >> +#ifndef __LINUX_MFD_WM97XX_H
>> >> +#define __LINUX_MFD_WM97XX_H
>> >> +
>> >> +struct regmap;
>> >> +struct wm97xx_batt_pdata;
>> >> +struct snd_ac97;
>> >
>> > Why can't you just add the include files?
>> I could, but I don't need to, do I ?
>> Moreover, if a mfd sub-cell doesn't use regmap for example, I won't include a
>> useless define.
>>
>> Thanks for the review, Lee. This will iterate, I'll split out mfd patch(es) to
>> follow up the review with you and Mark to lessen the burden on your mailbox.
>>
>> Cheers.
>>
^ permalink raw reply
* net: stmmac: Meson GXBB: attempting to execute userspace memory
From: Martin Blumenstingl @ 2016-11-26 9:08 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <c8280798-453e-bd1d-bd4d-bf0956a169cc@gmx.de>
Hello Heinrich,
On Sat, Nov 26, 2016 at 8:53 AM, Heinrich Schuchardt
<heinrich.schuchardt@gmx.de> wrote:
> For Odroid C2 I have compiled kernel
> 4.9.0-rc6-next-20161124-00001-gbf7e142
> with one additional patch
> https://github.com/xypron/kernel-odroid-c2/blob/master/patch/0001-stmmac-RTL8211F-Meson-GXBB-TX-throughput-problems.patch
>
> I repeatedly see faults like the one below:
do you see the same errors with the RTL8211F patch *not* applied?
> [ 2557.400796] Unhandled fault: synchronous external abort (0x92000010)
> at 0x000040001e8ee4b0
> [ 2557.952413] CPU: 0 PID: 22837 Comm: cc1 Tainted: G D
> 4.9.0-rc6-next-20161124-00001-gbf7e142 #1
> [ 2557.962062] Hardware name: Hardkernel ODROID-C2 (DT)
> [ 2557.966980] task: ffff80006ddb7080 task.stack: ffff80006dd9c000
> [ 2557.972846] PC is at 0x6a0d98
> [ 2557.975776] LR is at 0x6a0e54
> [ 2557.978709] pc : [<00000000006a0d98>] lr : [<00000000006a0e54>]
> pstate: 80000000
> [ 2557.986040] sp : 0000fffff3ee5f80
> [ 2557.989318] x29: 0000fffff3ee5f80 x28: 000040000b3f1240
> [ 2557.994578] x27: 00000000012a7000 x26: 000040000b3f1288
> [ 2557.999840] x25: 0000000000f58f88 x24: 000040000b3f1240
> [ 2558.005101] x23: 0000000000000000 x22: 0000000000000001
> [ 2558.010362] x21: 0000000000000001 x20: 000040000b3f1250
> [ 2558.015623] x19: 0000000000000054 x18: 0000000000000001
> [ 2558.020885] x17: 0000400008acaa10 x16: 0000000001285050
> [ 2558.026146] x15: 000040000ad96dc8 x14: 000000000000001f
> [ 2558.031407] x13: 000040000b3f1270 x12: 000040000b3f1258
> [ 2558.036668] x11: 0000000001347000 x10: 0000000000000661
> [ 2558.041930] x9 : 0000000000000005 x8 : 0000000000000003
> [ 2558.047191] x7 : 000040000b3f1240 x6 : 0000000020020033
> [ 2558.052452] x5 : 000040000b402020 x4 : 000040000b3e1aa0
> [ 2558.057713] x3 : 000000000000000c x2 : 0000000000000020
> [ 2558.062974] x1 : 0000000000f45000 x0 : 0000000000000065
> [ 2558.068235]
> [ 2558.069712] Internal error: Attempting to execute userspace memory:
> 8600000f [#7] PREEMPT SMP
> [ 2558.078155] Modules linked in: meson_rng rng_core meson_gxbb_wdt
> ip_tables x_tables ipv6 dwmac_generic realtek dwmac_meson8b
> stmmac_platform stmmac
> [ 2558.091267] CPU: 0 PID: 22837 Comm: cc1 Tainted: G D
> 4.9.0-rc6-next-20161124-00001-gbf7e142 #1
> [ 2558.100925] Hardware name: Hardkernel ODROID-C2 (DT)
> [ 2558.105841] task: ffff80006ddb7080 task.stack: ffff80006dd9c000
> [ 2558.111706] PC is at 0x6a0e54
> [ 2558.114638] LR is at 0x6a0e54
> [ 2558.117571] pc : [<00000000006a0e54>] lr : [<00000000006a0e54>]
> pstate: 600003c5
> [ 2558.124902] sp : ffff80006dd9fec0
> [ 2558.128179] x29: 0000000000000000 x28: ffff80006ddb7080
> [ 2558.133441] x27: 00000000012a7000 x26: 000040000b3f1288
> [ 2558.138702] x25: 0000000000f58f88 x24: 000040000b3f1240
> [ 2558.143963] x23: 0000000080000000 x22: 00000000006a0d98
> [ 2558.149225] x21: ffffffffffffffff x20: 000080006e223000
> [ 2558.154486] x19: 0000000000000000 x18: 0000000000000010
> [ 2558.159747] x17: 0000400008acaa10 x16: 0000000001285050
> [ 2558.165008] x15: ffff000088e91f07 x14: 0000000000000006
> [ 2558.170270] x13: ffff000008e91f15 x12: 000000000000000f
> [ 2558.175531] x11: 0000000000000002 x10: 00000000000002ea
> [ 2558.180792] x9 : ffff80006dd9fb40 x8 : 0000000000010a8b
> [ 2558.186053] x7 : 0000000000000000 x6 : 000000000000020e
> [ 2558.191315] x5 : 00000000020f020e x4 : 0000000000000000
> [ 2558.196576] x3 : 0000000000000000 x2 : 000000000000020f
> [ 2558.201837] x1 : ffff80006ddb7080 x0 : 0000000000000000
> [ 2558.207098]
> [ 2558.208565] Process cc1 (pid: 22837, stack limit = 0xffff80006dd9c000)
> [ 2558.215035] Stack: (0xffff80006dd9fec0 to 0xffff80006dda0000)
> [ 2558.220728] fec0: 0000000000000065 0000000000f45000 0000000000000020
> 000000000000000c
> [ 2558.228490] fee0: 000040000b3e1aa0 000040000b402020 0000000020020033
> 000040000b3f1240
> [ 2558.236253] ff00: 0000000000000003 0000000000000005 0000000000000661
> 0000000001347000
> [ 2558.244015] ff20: 000040000b3f1258 000040000b3f1270 000000000000001f
> 000040000ad96dc8
> [ 2558.251778] ff40: 0000000001285050 0000400008acaa10 0000000000000001
> 0000000000000054
> [ 2558.259540] ff60: 000040000b3f1250 0000000000000001 0000000000000001
> 0000000000000000
> [ 2558.267303] ff80: 000040000b3f1240 0000000000f58f88 000040000b3f1288
> 00000000012a7000
> [ 2558.275065] ffa0: 000040000b3f1240 0000fffff3ee5f80 00000000006a0e54
> 0000fffff3ee5f80
> [ 2558.282828] ffc0: 00000000006a0d98 0000000080000000 0000000000000003
> ffffffffffffffff
> [ 2558.290590] ffe0: 0000000000000000 0000000000000000 0000000000000000
> 0000000000000000
> [ 2558.298351] Call trace:
> [ 2558.300769] Exception stack(0xffff80006dd9fcf0 to 0xffff80006dd9fe20)
> [ 2558.307149] fce0: 0000000000000000
> 0001000000000000
> [ 2558.314913] fd00: ffff80006dd9fec0 00000000006a0e54 ffff800073acf500
> 0000000000000004
> [ 2558.322675] fd20: 0000000000000000 ffff000008dbbc18 ffff80006ddb7080
> 000000006dd9fdd0
> [ 2558.330438] fd40: ffff80006dd9fd90 ffff0000080ca878 ffff80006dd9fe40
> ffff80006ddb7080
> [ 2558.338200] fd60: 0000000000000004 00000000000003c0 ffff80006dd9fe40
> 000040000b3f1240
> [ 2558.345963] fd80: 0000000000f58f88 000040000b3f1288 0000000000000000
> ffff80006ddb7080
> [ 2558.353725] fda0: 000000000000020f 0000000000000000 0000000000000000
> 00000000020f020e
> [ 2558.361487] fdc0: 000000000000020e 0000000000000000 0000000000010a8b
> ffff80006dd9fb40
> [ 2558.369250] fde0: 00000000000002ea 0000000000000002 000000000000000f
> ffff000008e91f15
> [ 2558.377012] fe00: 0000000000000006 ffff000088e91f07 0000000001285050
> 0000400008acaa10
> [ 2558.384775] [<00000000006a0e54>] 0x6a0e54
> [ 2558.388743] Code: d503201f f9400280 2a1703e1 97ffff0a (aa0003f3)
> [ 2558.395241] ---[ end trace 7d280955c14d4ff1 ]---
> [ 2558.584022] Bad mode in Error handler detected on CPU0, code
> 0xbf000000 -- SError
> [ 2558.585871] CPU: 0 PID: 22867 Comm: cc1 Tainted: G D
> 4.9.0-rc6-next-20161124-00001-gbf7e142 #1
> [ 2558.595527] Hardware name: Hardkernel ODROID-C2 (DT)
> [ 2558.600444] task: ffff80007454d780 task.stack: ffff8000660bc000
> [ 2558.606310] PC is at 0x631928
> [ 2558.609240] LR is at 0xb59ce0
> [ 2558.612172] pc : [<0000000000631928>] lr : [<0000000000b59ce0>]
> pstate: 80000000
> [ 2558.619503] sp : 0000ffffed764d90
> [ 2558.622782] x29: 0000ffffed764d90 x28: 0000000000000028
> [ 2558.628042] x27: 000000001a1062f0 x26: 0000000001299198
> [ 2558.633303] x25: 0000000000000001 x24: 0000000000000000
> [ 2558.638564] x23: 0000000000000004 x22: 00000000013513c8
> [ 2558.643825] x21: 0000400039d43488 x20: 0000000000000000
> [ 2558.649086] x19: 0000400039d2d730 x18: 0000000000000000
> [ 2558.654348] x17: 0000400039a7c378 x16: 0000000001285138
> [ 2558.659609] x15: 0000000000000001 x14: 0000000000000000
> [ 2558.664870] x13: ffffff0000000000 x12: 0000000000000000
> [ 2558.670131] x11: 0000000000000028 x10: 000000000129b2b8
> [ 2558.675393] x9 : 0000000000000041 x8 : 0000000000000003
> [ 2558.680654] x7 : 0000000000000050 x6 : 000000000003d2c8
> [ 2558.685915] x5 : 0000000000000002 x4 : 0000000000000004
> [ 2558.691176] x3 : 0000000000000003 x2 : 0000000001349000
> [ 2558.696438] x1 : 000000000003cb90 x0 : 0000400039d45050
> [ 2558.701699]
> [ 2558.703177] Internal error: Attempting to execute userspace memory:
> 8600000f [#8] PREEMPT SMP
> [ 2558.711618] Modules linked in: meson_rng rng_core meson_gxbb_wdt
> ip_tables x_tables ipv6 dwmac_generic realtek dwmac_meson8b
> stmmac_platform stmmac
> [ 2558.724731] CPU: 0 PID: 22867 Comm: cc1 Tainted: G D
> 4.9.0-rc6-next-20161124-00001-gbf7e142 #1
> [ 2558.734388] Hardware name: Hardkernel ODROID-C2 (DT)
> [ 2558.739304] task: ffff80007454d780 task.stack: ffff8000660bc000
> [ 2558.745169] PC is at 0xb59ce0
> [ 2558.748102] LR is at 0xb59ce0
> [ 2558.751035] pc : [<0000000000b59ce0>] lr : [<0000000000b59ce0>]
> pstate: 600003c5
> [ 2558.758365] sp : ffff8000660bfec0
> [ 2558.761643] x29: 0000000000000000 x28: ffff80007454d780
> [ 2558.766904] x27: 000000001a1062f0 x26: 0000000001299198
> [ 2558.772165] x25: 0000000000000001 x24: 0000000000000000
> [ 2558.777426] x23: 0000000080000000 x22: 0000000000631928
> [ 2558.782688] x21: ffffffffffffffff x20: 000080006e223000
> [ 2558.787949] x19: 0000000000000000 x18: 0000000000000010
> [ 2558.793210] x17: 0000400039a7c378 x16: 0000000001285138
> [ 2558.798471] x15: ffff000088e91f07 x14: 0000000000000006
> [ 2558.803733] x13: ffff000008e91f15 x12: 000000000000000f
> [ 2558.808994] x11: 0000000000000002 x10: 0000000000000336
> [ 2558.814255] x9 : ffff8000660bfb40 x8 : 00000000000ab503
> [ 2558.819516] x7 : 0000000000000000 x6 : 00000000000000dd
> [ 2558.824778] x5 : 0000000000de00dd x4 : 0000000000000000
> [ 2558.830039] x3 : 0000000000000000 x2 : 00000000000000de
> [ 2558.835300] x1 : ffff80007454d780 x0 : 0000000000000000
> [ 2558.840561]
> [ 2558.842029] Process cc1 (pid: 22867, stack limit = 0xffff8000660bc000)
> [ 2558.848498] Stack: (0xffff8000660bfec0 to 0xffff8000660c0000)
> [ 2558.854191] fec0: 0000400039d45050 000000000003cb90 0000000001349000
> 0000000000000003
> [ 2558.861953] fee0: 0000000000000004 0000000000000002 000000000003d2c8
> 0000000000000050
> [ 2558.869716] ff00: 0000000000000003 0000000000000041 000000000129b2b8
> 0000000000000028
> [ 2558.877478] ff20: 0000000000000000 ffffff0000000000 0000000000000000
> 0000000000000001
> [ 2558.885241] ff40: 0000000001285138 0000400039a7c378 0000000000000000
> 0000400039d2d730
> [ 2558.893003] ff60: 0000000000000000 0000400039d43488 00000000013513c8
> 0000000000000004
> [ 2558.900766] ff80: 0000000000000000 0000000000000001 0000000001299198
> 000000001a1062f0
> [ 2558.908529] ffa0: 0000000000000028 0000ffffed764d90 0000000000b59ce0
> 0000ffffed764d90
> [ 2558.916291] ffc0: 0000000000631928 0000000080000000 000000001a18c000
> ffffffffffffffff
> [ 2558.924053] ffe0: 0000000000000000 0000000000000000 0000000000000000
> 0000000000000000
> [ 2558.931814] Call trace:
> [ 2558.934232] Exception stack(0xffff8000660bfcf0 to 0xffff8000660bfe20)
> [ 2558.940613] fce0: 0000000000000000
> 0001000000000000
> [ 2558.948376] fd00: ffff8000660bfec0 0000000000b59ce0 ffff800073acf640
> 0000000000000004
> [ 2558.956138] fd20: 0000000000000000 ffff000008dbbc18 ffff80007454d780
> 00000000660bfdd0
> [ 2558.963901] fd40: ffff8000660bfd90 ffff0000080ca878 ffff8000660bfe40
> ffff80007454d780
> [ 2558.971663] fd60: 0000000000000004 00000000000003c0 ffff8000660bfe40
> 0000000000000000
> [ 2558.979426] fd80: 0000000000000001 0000000001299198 0000000000000000
> ffff80007454d780
> [ 2558.987188] fda0: 00000000000000de 0000000000000000 0000000000000000
> 0000000000de00dd
> [ 2558.994951] fdc0: 00000000000000dd 0000000000000000 00000000000ab503
> ffff8000660bfb40
> [ 2559.002713] fde0: 0000000000000336 0000000000000002 000000000000000f
> ffff000008e91f15
> [ 2559.010476] fe00: 0000000000000006 ffff000088e91f07 0000000001285138
> 0000400039a7c378
> [ 2559.018238] [<0000000000b59ce0>] 0xb59ce0
> [ 2559.022207] Code: d2800001 d2800002 d2800500 97eb5e9d (a9007c1f)
> [ 2559.028376] ---[ end trace 7d280955c14d4ff2 ]---
> [ 2559.034397] Bad mode in Error handler detected on CPU2, code
> 0xbf000000 -- SError
> [ 2559.040235] CPU: 2 PID: 22866 Comm: gcc Tainted: G D
> 4.9.0-rc6-next-20161124-00001-gbf7e142 #1
> [ 2559.049892] Hardware name: Hardkernel ODROID-C2 (DT)
> [ 2559.054808] task: ffff80007454e400 task.stack: ffff80006de9c000
> [ 2559.060674] PC is at 0x40003c0400d8
> [ 2559.064122] LR is at 0x46d4e0
> [ 2559.067055] pc : [<000040003c0400d8>] lr : [<000000000046d4e0>]
> pstate: 80000000
> [ 2559.074385] sp : 0000ffffe6387270
> [ 2559.077664] x29: 0000ffffe6387270 x28: 0000000016c0ff90
> [ 2559.082924] x27: 0000000000000002 x26: 0000000000000001
> [ 2559.088185] x25: 0000ffffe63873f4 x24: 0000ffffe63873f8
> [ 2559.093447] x23: 0000ffffe63873f4 x22: 0000ffffe63873f8
> [ 2559.098708] x21: 0000000016c104e0 x20: 0000000000005953
> [ 2559.103969] x19: 0000000000000000 [ 2559.107102] Unhandled fault:
> synchronous external abort (0x96000010) at 0xffff800000c1e000
> [ 2559.107108] Internal error: : 96000010 [#9] PREEMPT SMP
> [ 2559.107110] Modules linked in:
> [ 2559.107113] meson_rng rng_core meson_gxbb_wdt ip_tables x_tables
> ipv6 dwmac_generic realtek dwmac_meson8b stmmac_platform stmmac[
> 2559.107131] CPU: 0 PID: 1124 Comm: mmcqd/1 Tainted: G D 1
> [ 2559.107132] Hardware name: Hardkernel ODROID-C2 (DT)
> [ 2559.107135] task: ffff8000704abe80 task.stack: ffff8000734d0000
> [ 2559.107147] PC is at __memcpy+0x100/0x180
> [ 2559.107152] LR is at sg_copy_buffer+0xb0/0x110
> [ 2559.107155] pc : [<ffff00000837ee00>] lr : [<ffff00000838e928>]
> pstate: 200001c5
> [ 2559.107155] sp : ffff8000734d3bb0
> [ 2559.107157] x29: ffff8000734d3bb0
> [ 2559.107158] x28: ffff800073a14800 x27: ffff800073a14b68
> [ 2559.107162] x26: 0000000000000000 x25: 0000000000000140
> [ 2559.107165] x24: 0000000000000001 x23: 0000000000001000
> [ 2559.107168] x22: ffff8000746a2000 x21: 0000000000001000
> [ 2559.107170] x20: 0000000000000000 x19: 0000000000001000
> [ 2559.107172] x18: 0000000000000000 x17: ffffffffffffffff
> [ 2559.107175] x16: 00000000000006be x15: ffff000008c34000
> [ 2559.107178] x14: 747962342e090a34 x13: 3278302038323162
> [ 2559.107181] x12: 656c752e090a3864 x11: ffff800073866800
> [ 2559.107183] x10: ffff80006bf68eb0 x9 : 0000000000000000
> [ 2559.107186] x8 : ffff800073a94920 x7 : 0000000000000000
> [ 2559.107188] x6 : ffff8000746a2000 x5 : 0000820000000000
> [ 2559.107191] x4 : 0000000000000000 x3 : 0000000000000000
> [ 2559.107193] x2 : 0000000000000f80 x1 : ffff800000c1e000
> [ 2559.107196] x0 : ffff8000746a2000
> [ 2559.107199] Process mmcqd/1 (pid: 1124, stack limit = 0xffff8000734d0000)
> [ 2559.107202] Stack: (0xffff8000734d3bb0 to 0xffff8000734d4000)
> [ 2559.107205] 3ba0: ffff8000734d3c50
> ffff00000838e9bc
> [ 2559.107208] 3bc0: ffff800073a14000 ffff800073a14a30 ffff80006bf68eb0
> ffff800073a14a28
> [ 2559.107212] 3be0: ffff800073a14818 ffff800073a14800 0000000000000000
> ffff00000838e1c4
> [ 2559.107215] 3c00: ffff800073a94900 ffff7e0000030780 ffff800000c1e000
> 0000000000001000
> [ 2559.107218] 3c20: 0000000000001000 ffff800073ad0a00 0000000100000000
> 0000000000000001
> [ 2559.107221] 3c40: 0000100000000000 0000000000000005 ffff8000734d3c60
> ffff00000874c1bc
> [ 2559.107224] 3c60: ffff8000734d3c70 ffff000008748010 ffff8000734d3cd0
> ffff000008749908
> [ 2559.107228] 3c80: ffff80006bf68eb0 ffff800073a14000 ffff8000734c8000
> ffff800073a14818
> [ 2559.107231] 3ca0: ffff800073a14800 ffff800073a14800 ffff80006bf68eb0
> ffff800073a14a28
> [ 2559.107234] 3cc0: ffff80006bf68eb0 ffff000008749bc8 ffff8000734d3d70
> ffff00000874b298
> [ 2559.107237] 3ce0: ffff800073a14000 ffff800073a14818 ffff8000734c8000
> 0000000000000000
> [ 2559.107240] 3d00: ffff800073a14800 ffff800073a14800 ffff800073a13800
> 0000000000000000
> [ 2559.107243] 3d20: ffff80006bf68eb0 0000000000000000 00000000012853f0
> ffff000008c0fcb8
> [ 2559.107246] 3d40: 0000000000000000 000000000835bf14 ffff000008a05f58
> ffff800000000000
> [ 2559.107249] 3d60: ffff8000734c8000 0000000000000001 ffff8000734d3de0
> ffff00000874b6f4
> [ 2559.107252] 3d80: ffff800073a14818 ffff80006bf68eb0 ffff8000734c8000
> 0000000000000001
> [ 2559.107255] 3da0: ffff800073a14828 0000000000000000 0000000000000000
> 0000000000000000
> [ 2559.107258] 3dc0: 0000000000000000 0000000000000000 ffff800073a14818
> ffff00000874b6c4
> [ 2559.107261] 3de0: ffff8000734d3e20 ffff0000080daa84 ffff800073a94980
> ffff000008e8eb08
> [ 2559.107264] 3e00: ffff000008b75b50 ffff800073a14818 ffff00000874b658
> 0000000000000000
> [ 2559.107267] 3e20: 0000000000000000 ffff000008082ec0 ffff0000080da9b8
> ffff800073a94980
> [ 2559.107270] 3e40: 0000000000000000 0000000000000000 0000000000000000
> 000003ff01893600
> [ 2559.107273] 3e60: ffff8000734d3ea0 0000000000000000 ffff0000080da9b8
> ffff800073a14818
> [ 2559.107276] 3e80: 0000000000000000 0000000000000000 ffff8000734d3e90
> ffff8000734d3e90
> [ 2559.107279] 3ea0: 0000000000000000 ffff000000000000 ffff8000734d3eb0
> ffff8000734d3eb0
> [ 2559.107281] 3ec0: 0000000000000000 0000000000000000 0000000000000000
> 0000000000000000
> [ 2559.107284] 3ee0: 0000000000000000 0000000000000000 0000000000000000
> 0000000000000000
> [ 2559.107287] 3f00: 0000000000000000 0000000000000000 0000000000000000
> 0000000000000000
> [ 2559.107290] 3f20: 0000000000000000 0000000000000000 0000000000000000
> 0000000000000000
> [ 2559.107293] 3f40: 0000000000000000 0000000000000000 0000000000000000
> 0000000000000000
> [ 2559.107295] 3f60: 0000000000000000 0000000000000000 0000000000000000
> 0000000000000000
> [ 2559.107298] 3f80: 0000000000000000 0000000000000000 0000000000000000
> 0000000000000000
> [ 2559.107300] 3fa0: 0000000000000000 0000000000000000 0000000000000000
> 0000000000000000
> [ 2559.107303] 3fc0: 0000000000000000 0000000000000005 0000000000000000
> 0000000000000000
> [ 2559.107306] 3fe0: 0000000000000000 0000000000000000 0000001800002cba
> 26000000a01b3800
> [ 2559.107308] Call trace:
> [ 2559.107312] Exception stack(0xffff8000734d39e0 to 0xffff8000734d3b10)
> [ 2559.107315] 39e0: 0000000000001000 0001000000000000 ffff8000734d3bb0
> ffff00000837ee00
> [ 2559.107318] 3a00: 0000000000000007 ffff800000000000 ffff800000c1e000
> 0000000100100010
> [ 2559.107321] 3a20: ffff8000734d3ac0 ffff000008748d88 ffff8000734d3b8c
> 0000000000000001
> [ 2559.107324] 3a40: ffff8000734d3b40 ffff0000081c9dac ffff800074401d00
> ffff0000081745d8
> [ 2559.107327] 3a60: ffff7e0001b72f80 ffff80006dcbe300 00000000031fda40
> 0000000000000000
> [ 2559.107330] 3a80: ffff8000746a2000 ffff800000c1e000 0000000000000f80
> 0000000000000000
> [ 2559.107333] 3aa0: 0000000000000000 0000820000000000 ffff8000746a2000
> 0000000000000000
> [ 2559.107336] 3ac0: ffff800073a94920 0000000000000000 ffff80006bf68eb0
> ffff800073866800
> [ 2559.107339] 3ae0: 656c752e090a3864 3278302038323162 747962342e090a34
> ffff000008c34000
> [ 2559.107341] 3b00: 00000000000006be ffffffffffffffff
> [ 2559.107346] [<ffff00000837ee00>] __memcpy+0x100/0x180
> [ 2559.107349] [<ffff00000838e9bc>] sg_copy_to_buffer+0x14/0x20
> [ 2559.107357] [<ffff00000874c1bc>] mmc_queue_bounce_pre+0x34/0x40
> [ 2559.107362] [<ffff000008748010>] mmc_blk_rw_rq_prep+0x288/0x3a0
> [ 2559.107365] [<ffff000008749908>] mmc_blk_issue_rw_rq+0x3c0/0x998
> [ 2559.107368] [<ffff00000874b298>] mmc_blk_issue_rq+0x150/0x510
> [ 2559.107371] [<ffff00000874b6f4>] mmc_queue_thread+0x9c/0x140
> [ 2559.107377] [<ffff0000080daa84>] kthread+0xcc/0xe0
> [ 2559.107383] [<ffff000008082ec0>] ret_from_fork+0x10/0x50
> [ 2559.107387] Code: d503201f d503201f d503201f d503201f (a8c12027)
> [ 2559.107409] ---[ end trace 7d280955c14d4ff3 ]---
> [ 2559.107417] note: mmcqd/1[1124] exited with preempt_count 1
> [ 2559.688313] x18: 0000000000040900 x17: 0000000000590578 x16:
> 000040003c0400a8
> [ 2559.695471] x15: 000000000000065c x14: 0000000000000000
> [ 2559.700733] x13: 002f362f756e672d x12: 78756e696c2d3436
> [ 2559.705994] x11: 0000000000000001 x10: 0101010101010101
> [ 2559.711255] x9 : 0000000000000001 x8 : 0000000000000104
> [ 2559.716516] x7 : 000000000046d448 x6 : 0000ffffe63873f4
> [ 2559.721778] x5 : 0000ffffe63873f8 x4 : 0000000000000000
> [ 2559.727039] x3 : 0000000000000000 x2 : 0000000000000000
> [ 2559.732300] x1 : 0000000016c104e0 x0 : 0000000000005953
> [ 2559.737561]
> [ 2559.739036] Internal error: Attempting to execute userspace memory:
> 8600000f [#10] PREEMPT SMP
> [ 2559.747566] Modules linked in: meson_rng rng_core meson_gxbb_wdt
> ip_tables x_tables ipv6 dwmac_generic realtek dwmac_meson8b
> stmmac_platform stmmac
> [ 2559.760678] CPU: 2 PID: 22866 Comm: gcc Tainted: G D
> 4.9.0-rc6-next-20161124-00001-gbf7e142 #1
> [ 2559.770337] Hardware name: Hardkernel ODROID-C2 (DT)
> [ 2559.775254] task: ffff80007454e400 task.stack: ffff80006de9c000
> [ 2559.781118] PC is at 0x46d4e0
> [ 2559.784051] LR is at 0x46d4e0
> [ 2559.786983] pc : [<000000000046d4e0>] lr : [<000000000046d4e0>]
> pstate: 600003c5
> [ 2559.794314] sp : ffff80006de9fec0
> [ 2559.797591] x29: 0000000000000000 x28: ffff80007454e400
> [ 2559.802853] x27: 0000000000000002 x26: 0000000000000001
> [ 2559.808114] x25: 0000ffffe63873f4 x24: 0000ffffe63873f8
> [ 2559.813375] x23: 0000000080000000 x22: 000040003c0400d8
> [ 2559.818636] x21: ffffffffffffffff x20: 000080006e24d000
> [ 2559.823898] x19: 0000000000000000 x18: 0000000000000010
> [ 2559.829159] x17: 0000000000590578 x16: 000040003c0400a8
> [ 2559.834420] x15: ffff000088e91f07 x14: 0000000000000006
> [ 2559.839682] x13: ffff000008e91f15 x12: 000000000000000f
> [ 2559.844943] x11: 0000000000000002 x10: 00000000000003f4
> [ 2559.850204] x9 : ffff80006de9fb40 x8 : 00000000000b4119
> [ 2559.855465] x7 : 0000000000000000 x6 : 000000000000019d
> [ 2559.860726] x5 : 00000000019e019d x4 : 0000000000000000
> [ 2559.865988] x3 : 0000000000000002 x2 : 000000000000019e
> [ 2559.871249] x1 : ffff80007454e400 x0 : 0000000000000000
> [ 2559.876510]
> [ 2559.877977] Process gcc (pid: 22866, stack limit = 0xffff80006de9c000)
> [ 2559.884446] Stack: (0xffff80006de9fec0 to 0xffff80006dea0000)
> [ 2559.890140] fec0: 0000000000005953 0000000016c104e0 0000000000000000
> 0000000000000000
> [ 2559.897902] fee0: 0000000000000000 0000ffffe63873f8 0000ffffe63873f4
> 000000000046d448
> [ 2559.905664] ff00: 0000000000000104 0000000000000001 0101010101010101
> 0000000000000001
> [ 2559.913427] ff20: 78756e696c2d3436 002f362f756e672d 0000000000000000
> 000000000000065c
> [ 2559.921190] ff40: 000040003c0400a8 0000000000590578 0000000000040900
> 0000000000000000
> [ 2559.928952] ff60: 0000000000005953 0000000016c104e0 0000ffffe63873f8
> 0000ffffe63873f4
> [ 2559.936714] ff80: 0000ffffe63873f8 0000ffffe63873f4 0000000000000001
> 0000000000000002
> [ 2559.944477] ffa0: 0000000016c0ff90 0000ffffe6387270 000000000046d4e0
> 0000ffffe6387270
> [ 2559.952240] ffc0: 000040003c0400d8 0000000080000000 0000000000005953
> ffffffffffffffff
> [ 2559.960002] ffe0: 0000000000000000 0000000000000000 0000000000000000
> 0000000000000000
> [ 2559.967762] Call trace:
> [ 2559.970179] Exception stack(0xffff80006de9fcf0 to 0xffff80006de9fe20)
> [ 2559.976561] fce0: 0000000000000000
> 0001000000000000
> [ 2559.984324] fd00: ffff80006de9fec0 000000000046d4e0 ffff80007366f8c0
> 0000000000000004
> [ 2559.992087] fd20: 0000000000000000 ffff000008dbbc18 ffff80007454e400
> 000000006de9fdd0
> [ 2559.999850] fd40: ffff80006de9fd90 ffff0000080ca878 ffff80006de9fe40
> ffff80007454e400
> [ 2560.007612] fd60: 0000000000000004 00000000000003c0 ffff80006de9fe40
> 0000ffffe63873f8
> [ 2560.015374] fd80: 0000ffffe63873f4 0000000000000001 0000000000000000
> ffff80007454e400
> [ 2560.023137] fda0: 000000000000019e 0000000000000002 0000000000000000
> 00000000019e019d
> [ 2560.030899] fdc0: 000000000000019d 0000000000000000 00000000000b4119
> ffff80006de9fb40
> [ 2560.038662] fde0: 00000000000003f4 0000000000000002 000000000000000f
> ffff000008e91f15
> [ 2560.046425] fe00: 0000000000000006 ffff000088e91f07 000040003c0400a8
> 0000000000590578
> [ 2560.054186] [<000000000046d4e0>] 0x46d4e0
> [ 2560.058155] Code: aa1503e1 2a1403e0 52800002 97fe895d (2a0003e1)
> [ 2560.064244] ---[ end trace 7d280955c14d4ff4 ]---
I am asking because when you look at the affected processes you'll get
this list: cc1, mmcqd/1, gcc
it doesn't sound like any of these using ethernet but rather MMC instead.
Regards,
Martin
^ permalink raw reply
* [PATCH v4 6/6] arm64: arch_timer: acpi: add hisi timer errata data
From: Ding Tianhong @ 2016-11-26 8:00 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <1480147248-12828-1-git-send-email-dingtianhong@huawei.com>
From: Hanjun Guo <hanjun.guo@linaro.org>
Add hisi timer specific erratum fixes.
v3: add hisilicon erratum 161601 for ACPI mode.
v4: update some data structures.
Signed-off-by: Hanjun Guo <hanjun.guo@linaro.org>
Signed-off-by: Ding Tianhong <dingtianhong@huawei.com>
---
drivers/clocksource/arm_arch_timer.c | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/drivers/clocksource/arm_arch_timer.c b/drivers/clocksource/arm_arch_timer.c
index d4f4a0d..649f7fe 100644
--- a/drivers/clocksource/arm_arch_timer.c
+++ b/drivers/clocksource/arm_arch_timer.c
@@ -1078,10 +1078,28 @@ struct gtdt_arch_timer_fixup {
void *context;
};
+#ifdef CONFIG_HISILICON_ERRATUM_161601
+static void __init erratum_workaround_enable(void *context)
+{
+ u64 erratum = (u64) context;
+
+ if (erratum & HISILICON_161601) {
+ timer_unstable_counter_workaround = &arch_timer_hisi_161601;
+ static_branch_enable(&arch_timer_read_ool_enabled);
+ pr_info("Enabling workaround for HISILICON ERRATUM 161601\n");
+ }
+}
+#endif
+
/* note: this needs to be updated according to the doc of OEM ID
* and TABLE ID for different board.
*/
struct gtdt_arch_timer_fixup arch_timer_quirks[] __initdata = {
+#ifdef CONFIG_HISILICON_ERRATUM_161601
+ {"HISI", "hip05", 0, &erratum_workaround_enable, (void *) HISILICON_161601},
+ {"HISI", "hip06", 0, &erratum_workaround_enable, (void *) HISILICON_161601},
+ {"HISI", "hip07", 0, &erratum_workaround_enable, (void *) HISILICON_161601},
+#endif
};
void __init arch_timer_acpi_quirks_handler(char *oem_id,
--
1.9.0
^ permalink raw reply related
* [PATCH v4 5/6] arm64: arch_timer: apci: Introduce a generic aquirk framework for erratum
From: Ding Tianhong @ 2016-11-26 8:00 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <1480147248-12828-1-git-send-email-dingtianhong@huawei.com>
From: Hanjun Guo <hanjun.guo@linaro.org>
Introduce a general quirk framework for each timer erratum in ACPI,
which use the oem information in GTDT table for platform specific erratums.
The struct gtdt_arch_timer_fixup is introduced to record the oem
information to match the quirk and handle the erratum.
v3: Introduce a generic aquick framework for erratum in ACPI mode.
v4: rename the quirk handler parameter to make it more generic, and
avoid break loop when handling the quirk becasue it need to
support multi quirks handler.
Signed-off-by: Hanjun Guo <hanjun.guo@linaro.org>
Signed-off-by: Ding Tianhong <dingtianhong@huawei.com>
---
drivers/clocksource/arm_arch_timer.c | 36 ++++++++++++++++++++++++++++++++++++
1 file changed, 36 insertions(+)
diff --git a/drivers/clocksource/arm_arch_timer.c b/drivers/clocksource/arm_arch_timer.c
index 3d59af1..d4f4a0d 100644
--- a/drivers/clocksource/arm_arch_timer.c
+++ b/drivers/clocksource/arm_arch_timer.c
@@ -1068,6 +1068,39 @@ static int __init arch_timer_mem_init(struct device_node *np)
arch_timer_mem_init);
#ifdef CONFIG_ACPI
+struct gtdt_arch_timer_fixup {
+ char oem_id[ACPI_OEM_ID_SIZE];
+ char oem_table_id[ACPI_OEM_TABLE_ID_SIZE];
+ u32 oem_revision;
+
+ /* quirk handler for arch timer erratum */
+ void (*handler)(void *context);
+ void *context;
+};
+
+/* note: this needs to be updated according to the doc of OEM ID
+ * and TABLE ID for different board.
+ */
+struct gtdt_arch_timer_fixup arch_timer_quirks[] __initdata = {
+};
+
+void __init arch_timer_acpi_quirks_handler(char *oem_id,
+ char *oem_table_id,
+ u32 oem_revision)
+{
+ struct gtdt_arch_timer_fixup *quirks = arch_timer_quirks;
+ int i;
+
+ for (i = 0; i < ARRAY_SIZE(arch_timer_quirks); i++, quirks++) {
+ if (!memcmp(quirks->oem_id, oem_id, ACPI_OEM_ID_SIZE) &&
+ !memcmp(quirks->oem_table_id, oem_table_id, ACPI_OEM_TABLE_ID_SIZE) &&
+ quirks->oem_revision == oem_revision) {
+ if (quirks->handler && quirks->context)
+ quirks->handler(quirks->context);
+ }
+ }
+}
+
static int __init map_generic_timer_interrupt(u32 interrupt, u32 flags)
{
int trigger, polarity;
@@ -1094,6 +1127,9 @@ static int __init arch_timer_acpi_init(struct acpi_table_header *table)
return -EINVAL;
}
+ arch_timer_acpi_quirks_handler(table->oem_id, table->oem_table_id,
+ table->oem_revision);
+
gtdt = container_of(table, struct acpi_table_gtdt, header);
arch_timers_present |= ARCH_CP15_TIMER;
--
1.9.0
^ permalink raw reply related
* [PATCH v4 4/6] arm64: arch timer: Add timer erratum property for Hip05-d02 and Hip06-d03
From: Ding Tianhong @ 2016-11-26 8:00 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <1480147248-12828-1-git-send-email-dingtianhong@huawei.com>
Enable workaround for hisilicon erratum 161601 on Hip05-d02 and Hip06-d03 board.
Signed-off-by: Ding Tianhong <dingtianhong@huawei.com>
---
arch/arm64/boot/dts/hisilicon/hip05.dtsi | 1 +
arch/arm64/boot/dts/hisilicon/hip06.dtsi | 1 +
2 files changed, 2 insertions(+)
diff --git a/arch/arm64/boot/dts/hisilicon/hip05.dtsi b/arch/arm64/boot/dts/hisilicon/hip05.dtsi
index 4b472a3..a8e9969 100644
--- a/arch/arm64/boot/dts/hisilicon/hip05.dtsi
+++ b/arch/arm64/boot/dts/hisilicon/hip05.dtsi
@@ -281,6 +281,7 @@
<GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>,
<GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>,
<GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>;
+ hisilicon,erratum-161601;
};
pmu {
diff --git a/arch/arm64/boot/dts/hisilicon/hip06.dtsi b/arch/arm64/boot/dts/hisilicon/hip06.dtsi
index b548763..c31f9f9 100644
--- a/arch/arm64/boot/dts/hisilicon/hip06.dtsi
+++ b/arch/arm64/boot/dts/hisilicon/hip06.dtsi
@@ -260,6 +260,7 @@
<GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>,
<GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>,
<GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>;
+ hisilicon,erratum-161601;
};
pmu {
--
1.9.0
^ permalink raw reply related
* [PATCH v4 3/6] arm64: arch_timer: Work around Erratum Hisilicon-161601
From: Ding Tianhong @ 2016-11-26 8:00 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <1480147248-12828-1-git-send-email-dingtianhong@huawei.com>
Erratum Hisilicon-161601 says that the ARM generic timer counter "has the
potential to contain an erroneous value when the timer value changes".
Accesses to TVAL (both read and write) are also affected due to the implicit counter
read. Accesses to CVAL are not affected.
The workaround is to reread the system count registers until the value of the second
read is larger than the first one by less than 32, the system counter can be guaranteed
not to return wrong value twice by back-to-back read and the error value is always larger
than the correct one by 32. Writes to TVAL are replaced with an equivalent write to CVAL.
The workaround is enabled if the hisilicon,erratum-161601 property is found in
the timer node in the device tree. This can be overridden with the
clocksource.arm_arch_timer.hisilicon-161601 boot parameter, which allows KVM
users to enable the workaround until a mechanism is implemented to
automatically communicate this information.
Fix some description for fsl erratum a008585.
v2: Significant rework based on feedback, including seperate the fsl erratum a008585
to another patch, update the erratum name and remove unwanted code.
v3: Significant rework based on feedback, including fix some alignment problem, make the
#define __hisi_161601_read_reg to be private to the .c file instead of being globally
visible, add more accurate annotation and modify a bit of logical format to enable
arch_timer_read_ool_enabled, remove the kernel commandline parameter
clocksource.arm_arch_timer.hisilicon-161601.
Signed-off-by: Ding Tianhong <dingtianhong@huawei.com>
---
Documentation/arm64/silicon-errata.txt | 1 +
arch/arm64/include/asm/arch_timer.h | 2 +-
drivers/clocksource/Kconfig | 9 +++++
drivers/clocksource/arm_arch_timer.c | 67 +++++++++++++++++++++++++++++++---
4 files changed, 73 insertions(+), 6 deletions(-)
diff --git a/Documentation/arm64/silicon-errata.txt b/Documentation/arm64/silicon-errata.txt
index 405da11..1c1a95f 100644
--- a/Documentation/arm64/silicon-errata.txt
+++ b/Documentation/arm64/silicon-errata.txt
@@ -63,3 +63,4 @@ stable kernels.
| Cavium | ThunderX SMMUv2 | #27704 | N/A |
| | | | |
| Freescale/NXP | LS2080A/LS1043A | A-008585 | FSL_ERRATUM_A008585 |
+| Hisilicon | Hip0{5,6,7} | #161601 | HISILICON_ERRATUM_161601|
diff --git a/arch/arm64/include/asm/arch_timer.h b/arch/arm64/include/asm/arch_timer.h
index f882c7c..ebf4cde 100644
--- a/arch/arm64/include/asm/arch_timer.h
+++ b/arch/arm64/include/asm/arch_timer.h
@@ -29,7 +29,7 @@
#include <clocksource/arm_arch_timer.h>
-#if IS_ENABLED(CONFIG_FSL_ERRATUM_A008585)
+#if IS_ENABLED(CONFIG_FSL_ERRATUM_A008585) || IS_ENABLED(CONFIG_HISILICON_ERRATUM_161601)
extern struct static_key_false arch_timer_read_ool_enabled;
#define needs_unstable_timer_counter_workaround() \
static_branch_unlikely(&arch_timer_read_ool_enabled)
diff --git a/drivers/clocksource/Kconfig b/drivers/clocksource/Kconfig
index e2c6e43..6847ef8 100644
--- a/drivers/clocksource/Kconfig
+++ b/drivers/clocksource/Kconfig
@@ -315,6 +315,15 @@ config FSL_ERRATUM_A008585
value"). The workaround will only be active if the
fsl,erratum-a008585 property is found in the timer node.
+config HISILICON_ERRATUM_161601
+ bool "Workaround for Hisilicon Erratum 161601"
+ default y
+ depends on ARM_ARCH_TIMER && ARM64
+ help
+ This option enables a workaround for Hisilicon Erratum
+ 161601. The workaround will be active if the hisilicon,erratum-161601
+ property is found in the timer node.
+
config ARM_GLOBAL_TIMER
bool "Support for the ARM global timer" if COMPILE_TEST
select CLKSRC_OF if OF
diff --git a/drivers/clocksource/arm_arch_timer.c b/drivers/clocksource/arm_arch_timer.c
index 696386f..3d59af1 100644
--- a/drivers/clocksource/arm_arch_timer.c
+++ b/drivers/clocksource/arm_arch_timer.c
@@ -94,15 +94,18 @@ static int __init early_evtstrm_cfg(char *buf)
* Architected system timer support.
*/
-#ifdef CONFIG_FSL_ERRATUM_A008585
+#if CONFIG_FSL_ERRATUM_A008585 || IS_ENABLED(CONFIG_HISILICON_ERRATUM_161601)
struct arch_timer_erratum_workaround *timer_unstable_counter_workaround = NULL;
EXPORT_SYMBOL_GPL(timer_unstable_counter_workaround);
#define FSL_A008585 0x0001
+#define HISILICON_161601 0x0002
DEFINE_STATIC_KEY_FALSE(arch_timer_read_ool_enabled);
EXPORT_SYMBOL_GPL(arch_timer_read_ool_enabled);
+#endif
+#ifdef CONFIG_FSL_ERRATUM_A008585
/*
* The number of retries is an arbitrary value well beyond the highest number
* of iterations the loop has been observed to take.
@@ -144,6 +147,51 @@ static u64 fsl_a008585_read_cntvct_el0(void)
};
#endif /* CONFIG_FSL_ERRATUM_A008585 */
+#ifdef CONFIG_HISILICON_ERRATUM_161601
+/*
+ * Theoretically the erratum should not occur more than twice in succession,
+ * so set the retry count to 2 is sufficient here.
+ * Verify whether the value of the second read is larger than the first by
+ * less than 32 is the only way to confirm the value is correct, so clear the
+ * lower 5 bits to check whether the difference is greater than 32 or not.
+ */
+#define __hisi_161601_read_reg(reg) ({ \
+ u64 _old, _new; \
+ int _retries = 2; \
+ \
+ do { \
+ _old = read_sysreg(reg); \
+ _new = read_sysreg(reg); \
+ _retries--; \
+ } while (unlikely((_new - _old) >> 5) && _retries); \
+ \
+ WARN_ON_ONCE(!_retries); \
+ _new; \
+})
+
+static u32 hisi_161601_read_cntp_tval_el0(void)
+{
+ return __hisi_161601_read_reg(cntp_tval_el0);
+}
+
+static u32 hisi_161601_read_cntv_tval_el0(void)
+{
+ return __hisi_161601_read_reg(cntv_tval_el0);
+}
+
+static u64 hisi_161601_read_cntvct_el0(void)
+{
+ return __hisi_161601_read_reg(cntvct_el0);
+}
+
+static struct arch_timer_erratum_workaround arch_timer_hisi_161601 = {
+ .erratum = HISILICON_161601,
+ .read_cntp_tval_el0 = hisi_161601_read_cntp_tval_el0,
+ .read_cntv_tval_el0 = hisi_161601_read_cntv_tval_el0,
+ .read_cntvct_el0 = hisi_161601_read_cntvct_el0,
+};
+#endif /* CONFIG_HISILICON_ERRATUM_161601 */
+
static __always_inline
void arch_timer_reg_write(int access, enum arch_timer_reg reg, u32 val,
struct clock_event_device *clk)
@@ -293,7 +341,7 @@ static __always_inline void set_next_event(const int access, unsigned long evt,
arch_timer_reg_write(access, ARCH_TIMER_REG_CTRL, ctrl, clk);
}
-#ifdef CONFIG_FSL_ERRATUM_A008585
+#if IS_ENABLED(CONFIG_FSL_ERRATUM_A008585) || IS_ENABLED(CONFIG_HISILICON_ERRATUM_161601)
static __always_inline void erratum_set_next_event_generic(const int access,
unsigned long evt, struct clock_event_device *clk)
{
@@ -357,7 +405,7 @@ static int arch_timer_set_next_event_phys_mem(unsigned long evt,
static void erratum_workaround_set_sne(struct clock_event_device *clk)
{
-#ifdef CONFIG_FSL_ERRATUM_A008585
+#if IS_ENABLED(CONFIG_FSL_ERRATUM_A008585) || IS_ENABLED(CONFIG_HISILICON_ERRATUM_161601)
if (!static_branch_unlikely(&arch_timer_read_ool_enabled))
return;
@@ -617,7 +665,7 @@ static void __init arch_counter_register(unsigned type)
clocksource_counter.archdata.vdso_direct = true;
-#ifdef CONFIG_FSL_ERRATUM_A008585
+#if IS_ENABLED(CONFIG_FSL_ERRATUM_A008585) || IS_ENABLED(CONFIG_HISILICON_ERRATUM_161601)
/*
* Don't use the vdso fastpath if errata require using
* the out-of-line counter accessor.
@@ -906,10 +954,19 @@ static int __init arch_timer_of_init(struct device_node *np)
#ifdef CONFIG_FSL_ERRATUM_A008585
if (!timer_unstable_counter_workaround && of_property_read_bool(np, "fsl,erratum-a008585"))
timer_unstable_counter_workaround = &arch_timer_fsl_a008585;
+#endif
+
+#ifdef CONFIG_HISILICON_ERRATUM_161601
+ if (!timer_unstable_counter_workaround && of_property_read_bool(np, "hisilicon,erratum-161601"))
+ timer_unstable_counter_workaround = &arch_timer_hisi_161601;
+#endif
+#if IS_ENABLED(CONFIG_FSL_ERRATUM_A008585) || IS_ENABLED(CONFIG_HISILICON_ERRATUM_161601)
if (timer_unstable_counter_workaround) {
static_branch_enable(&arch_timer_read_ool_enabled);
- pr_info("Enabling workaround for FSL erratum A-008585\n");
+ pr_info("Enabling workaround for %s\n",
+ timer_unstable_counter_workaround->erratum == FSL_A008585 ?
+ "FSL ERRATUM A-008585" : "HISILICON ERRATUM 161601");
}
#endif
--
1.9.0
^ permalink raw reply related
* [PATCH v4 2/6] arm64: arch_timer: Introduce a generic erratum handing mechanism for fsl-a008585
From: Ding Tianhong @ 2016-11-26 8:00 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <1480147248-12828-1-git-send-email-dingtianhong@huawei.com>
The workaround for hisilicon,161601 will check the return value of the system counter
by different way, in order to distinguish with the fsl-a008585 workaround, introduce
a new generic erratum handing mechanism for fsl-a008585 and rename some functions.
v2: Introducing a new generic erratum handling mechanism for fsl erratum a008585.
v3: Introducing the erratum_workaround_set_sne generic function for fsl erratum a008585
and make the #define __fsl_a008585_read_reg to be private to the .c file instead of
being globally visible. After discussion with Marc and Will, a consensus decision was
made to remove the commandline parameter for enabling fsl,erratum-a008585 erratum,
and make some generic name more specific, export timer_unstable_counter_workaround
for module access.
Signed-off-by: Ding Tianhong <dingtianhong@huawei.com>
---
Documentation/kernel-parameters.txt | 9 -----
arch/arm64/include/asm/arch_timer.h | 36 ++++++-----------
drivers/clocksource/arm_arch_timer.c | 78 +++++++++++++++++++++---------------
3 files changed, 58 insertions(+), 65 deletions(-)
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
index 37babf9..c9db07c 100644
--- a/Documentation/kernel-parameters.txt
+++ b/Documentation/kernel-parameters.txt
@@ -738,15 +738,6 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
loops can be debugged more effectively on production
systems.
- clocksource.arm_arch_timer.fsl-a008585=
- [ARM64]
- Format: <bool>
- Enable/disable the workaround of Freescale/NXP
- erratum A-008585. This can be useful for KVM
- guests, if the guest device tree doesn't show the
- erratum. If unspecified, the workaround is
- enabled based on the device tree.
-
clearcpuid=BITNUM [X86]
Disable CPUID feature X for the kernel. See
arch/x86/include/asm/cpufeatures.h for the valid bit
diff --git a/arch/arm64/include/asm/arch_timer.h b/arch/arm64/include/asm/arch_timer.h
index eaa5bbe..f882c7c 100644
--- a/arch/arm64/include/asm/arch_timer.h
+++ b/arch/arm64/include/asm/arch_timer.h
@@ -31,39 +31,27 @@
#if IS_ENABLED(CONFIG_FSL_ERRATUM_A008585)
extern struct static_key_false arch_timer_read_ool_enabled;
-#define needs_fsl_a008585_workaround() \
+#define needs_unstable_timer_counter_workaround() \
static_branch_unlikely(&arch_timer_read_ool_enabled)
#else
-#define needs_fsl_a008585_workaround() false
+#define needs_unstable_timer_counter_workaround() false
#endif
-u32 __fsl_a008585_read_cntp_tval_el0(void);
-u32 __fsl_a008585_read_cntv_tval_el0(void);
-u64 __fsl_a008585_read_cntvct_el0(void);
-/*
- * The number of retries is an arbitrary value well beyond the highest number
- * of iterations the loop has been observed to take.
- */
-#define __fsl_a008585_read_reg(reg) ({ \
- u64 _old, _new; \
- int _retries = 200; \
- \
- do { \
- _old = read_sysreg(reg); \
- _new = read_sysreg(reg); \
- _retries--; \
- } while (unlikely(_old != _new) && _retries); \
- \
- WARN_ON_ONCE(!_retries); \
- _new; \
-})
+struct arch_timer_erratum_workaround {
+ int erratum; /* Indicate the Erratum ID */
+ u32 (*read_cntp_tval_el0)(void);
+ u32 (*read_cntv_tval_el0)(void);
+ u64 (*read_cntvct_el0)(void);
+};
+
+extern struct arch_timer_erratum_workaround *timer_unstable_counter_workaround;
#define arch_timer_reg_read_stable(reg) \
({ \
u64 _val; \
- if (needs_fsl_a008585_workaround()) \
- _val = __fsl_a008585_read_##reg(); \
+ if (needs_unstable_timer_counter_workaround()) \
+ _val = timer_unstable_counter_workaround->read_##reg();\
else \
_val = read_sysreg(reg); \
_val; \
diff --git a/drivers/clocksource/arm_arch_timer.c b/drivers/clocksource/arm_arch_timer.c
index 73c487d..696386f 100644
--- a/drivers/clocksource/arm_arch_timer.c
+++ b/drivers/clocksource/arm_arch_timer.c
@@ -95,40 +95,53 @@ static int __init early_evtstrm_cfg(char *buf)
*/
#ifdef CONFIG_FSL_ERRATUM_A008585
-DEFINE_STATIC_KEY_FALSE(arch_timer_read_ool_enabled);
-EXPORT_SYMBOL_GPL(arch_timer_read_ool_enabled);
-
-static int fsl_a008585_enable = -1;
+struct arch_timer_erratum_workaround *timer_unstable_counter_workaround = NULL;
+EXPORT_SYMBOL_GPL(timer_unstable_counter_workaround);
-static int __init early_fsl_a008585_cfg(char *buf)
-{
- int ret;
- bool val;
+#define FSL_A008585 0x0001
- ret = strtobool(buf, &val);
- if (ret)
- return ret;
-
- fsl_a008585_enable = val;
- return 0;
-}
-early_param("clocksource.arm_arch_timer.fsl-a008585", early_fsl_a008585_cfg);
+DEFINE_STATIC_KEY_FALSE(arch_timer_read_ool_enabled);
+EXPORT_SYMBOL_GPL(arch_timer_read_ool_enabled);
-u32 __fsl_a008585_read_cntp_tval_el0(void)
+/*
+ * The number of retries is an arbitrary value well beyond the highest number
+ * of iterations the loop has been observed to take.
+ */
+#define __fsl_a008585_read_reg(reg) ({ \
+ u64 _old, _new; \
+ int _retries = 200; \
+ \
+ do { \
+ _old = read_sysreg(reg); \
+ _new = read_sysreg(reg); \
+ _retries--; \
+ } while (unlikely(_old != _new) && _retries); \
+ \
+ WARN_ON_ONCE(!_retries); \
+ _new; \
+})
+
+static u32 fsl_a008585_read_cntp_tval_el0(void)
{
return __fsl_a008585_read_reg(cntp_tval_el0);
}
-u32 __fsl_a008585_read_cntv_tval_el0(void)
+static u32 fsl_a008585_read_cntv_tval_el0(void)
{
return __fsl_a008585_read_reg(cntv_tval_el0);
}
-u64 __fsl_a008585_read_cntvct_el0(void)
+static u64 fsl_a008585_read_cntvct_el0(void)
{
return __fsl_a008585_read_reg(cntvct_el0);
}
-EXPORT_SYMBOL(__fsl_a008585_read_cntvct_el0);
+
+static struct arch_timer_erratum_workaround arch_timer_fsl_a008585 = {
+ .erratum = FSL_A008585,
+ .read_cntp_tval_el0 = fsl_a008585_read_cntp_tval_el0,
+ .read_cntv_tval_el0 = fsl_a008585_read_cntv_tval_el0,
+ .read_cntvct_el0 = fsl_a008585_read_cntvct_el0,
+};
#endif /* CONFIG_FSL_ERRATUM_A008585 */
static __always_inline
@@ -281,7 +294,7 @@ static __always_inline void set_next_event(const int access, unsigned long evt,
}
#ifdef CONFIG_FSL_ERRATUM_A008585
-static __always_inline void fsl_a008585_set_next_event(const int access,
+static __always_inline void erratum_set_next_event_generic(const int access,
unsigned long evt, struct clock_event_device *clk)
{
unsigned long ctrl;
@@ -299,17 +312,17 @@ static __always_inline void fsl_a008585_set_next_event(const int access,
arch_timer_reg_write(access, ARCH_TIMER_REG_CTRL, ctrl, clk);
}
-static int fsl_a008585_set_next_event_virt(unsigned long evt,
+static int erratum_set_next_event_virt(unsigned long evt,
struct clock_event_device *clk)
{
- fsl_a008585_set_next_event(ARCH_TIMER_VIRT_ACCESS, evt, clk);
+ erratum_set_next_event_generic(ARCH_TIMER_VIRT_ACCESS, evt, clk);
return 0;
}
-static int fsl_a008585_set_next_event_phys(unsigned long evt,
+static int erratum_set_next_event_phys(unsigned long evt,
struct clock_event_device *clk)
{
- fsl_a008585_set_next_event(ARCH_TIMER_PHYS_ACCESS, evt, clk);
+ erratum_set_next_event_generic(ARCH_TIMER_PHYS_ACCESS, evt, clk);
return 0;
}
#endif /* CONFIG_FSL_ERRATUM_A008585 */
@@ -342,16 +355,16 @@ static int arch_timer_set_next_event_phys_mem(unsigned long evt,
return 0;
}
-static void fsl_a008585_set_sne(struct clock_event_device *clk)
+static void erratum_workaround_set_sne(struct clock_event_device *clk)
{
#ifdef CONFIG_FSL_ERRATUM_A008585
if (!static_branch_unlikely(&arch_timer_read_ool_enabled))
return;
if (arch_timer_uses_ppi == VIRT_PPI)
- clk->set_next_event = fsl_a008585_set_next_event_virt;
+ clk->set_next_event = erratum_set_next_event_virt;
else
- clk->set_next_event = fsl_a008585_set_next_event_phys;
+ clk->set_next_event = erratum_set_next_event_phys;
#endif
}
@@ -384,7 +397,7 @@ static void __arch_timer_setup(unsigned type,
BUG();
}
- fsl_a008585_set_sne(clk);
+ erratum_workaround_set_sne(clk);
} else {
clk->features |= CLOCK_EVT_FEAT_DYNIRQ;
clk->name = "arch_mem_timer";
@@ -891,9 +904,10 @@ static int __init arch_timer_of_init(struct device_node *np)
arch_timer_c3stop = !of_property_read_bool(np, "always-on");
#ifdef CONFIG_FSL_ERRATUM_A008585
- if (fsl_a008585_enable < 0)
- fsl_a008585_enable = of_property_read_bool(np, "fsl,erratum-a008585");
- if (fsl_a008585_enable) {
+ if (!timer_unstable_counter_workaround && of_property_read_bool(np, "fsl,erratum-a008585"))
+ timer_unstable_counter_workaround = &arch_timer_fsl_a008585;
+
+ if (timer_unstable_counter_workaround) {
static_branch_enable(&arch_timer_read_ool_enabled);
pr_info("Enabling workaround for FSL erratum A-008585\n");
}
--
1.9.0
^ permalink raw reply related
* [PATCH v4 1/6] arm64: arch_timer: Add device tree binding for hisilicon-161601 erratum
From: Ding Tianhong @ 2016-11-26 8:00 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <1480147248-12828-1-git-send-email-dingtianhong@huawei.com>
This erratum describes a bug in logic outside the core, so MIDR can't be
used to identify its presence, and reading an SoC-specific revision
register from common arch timer code would be awkward. So, describe it
in the device tree.
v2: Use the new erratum name and update the description.
Signed-off-by: Ding Tianhong <dingtianhong@huawei.com>
Acked-by: Rob Herring <robh@kernel.org>
---
Documentation/devicetree/bindings/arm/arch_timer.txt | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/Documentation/devicetree/bindings/arm/arch_timer.txt b/Documentation/devicetree/bindings/arm/arch_timer.txt
index ef5fbe9..c27b2c4 100644
--- a/Documentation/devicetree/bindings/arm/arch_timer.txt
+++ b/Documentation/devicetree/bindings/arm/arch_timer.txt
@@ -31,6 +31,14 @@ to deliver its interrupts via SPIs.
This also affects writes to the tval register, due to the implicit
counter read.
+- hisilicon,erratum-161601 : A boolean property. Indicates the presence of
+ erratum 161601, which says that reading the counter is unreliable unless
+ reading twice on the register and the value of the second read is larger
+ than the first by less than 32. If the verification is unsuccessful, then
+ discard the value of this read and repeat this procedure until the verification
+ is successful. This also affects writes to the tval register, due to the
+ implicit counter read.
+
** Optional properties:
- arm,cpu-registers-not-fw-configured : Firmware does not initialize
--
1.9.0
^ permalink raw reply related
* [PATCH v4 0/6] arm64: arch_timer: Add workaround for hisilicon-161601 erratum
From: Ding Tianhong @ 2016-11-26 8:00 UTC (permalink / raw)
To: linux-arm-kernel
Erratum Hisilicon-161601 says that the ARM generic timer counter "has the
potential to contain an erroneous value when the timer value changes".
Accesses to TVAL (both read and write) are also affected due to the implicit counter
read. Accesses to CVAL are not affected.
The workaround is to reread the system count registers until the value of the second
read is larger than the first one by less than 32, the system counter can be guaranteed
not to return wrong value twice by back-to-back read and the error value is always larger
than the correct one by 32. Writes to TVAL are replaced with an equivalent write to CVAL.
v2: Introducing a new generic erratum handling mechanism for fsl,a008585 and hisilicon,161601.
Significant rework based on feedback, including seperate the fsl erratum a008585
to another patch, update the erratum name and remove unwanted code.
v3: Introducing the erratum_workaround_set_sne generic function for fsl erratum a008585
and make the #define __fsl_a008585_read_reg to be private to the .c file instead of
being globally visible. After discussion with Marc and Will, a consensus decision was
made to remove the commandline parameter for enabling fsl,erratum-a008585 erratum,
and make some generic name more specific, export timer_unstable_counter_workaround
for module access.
Significant rework based on feedback, including fix some alignment problem, make the
#define __hisi_161601_read_reg to be private to the .c file instead of being globally
visible, add more accurate annotation and modify a bit of logical format to enable
arch_timer_read_ool_enabled, remove the kernel commandline parameter
clocksource.arm_arch_timer.hisilicon-161601.
Introduce a generic aquick framework for erratum in ACPI mode.
v4: rename the quirk handler parameter to make it more generic, and
avoid break loop when handling the quirk becasue it need to
support multi quirks handler.
update some data structures for acpi mode.
Ding Tianhong (4):
arm64: arch_timer: Add device tree binding for hisilicon-161601
erratum
arm64: arch_timer: Introduce a generic erratum handing mechanism for
fsl-a008585
arm64: arch_timer: Work around Erratum Hisilicon-161601
arm64: arch timer: Add timer erratum property for Hip05-d02 and
Hip06-d03
Hanjun Guo (2):
arm64: arch_timer: apci: Introduce a generic aquirk framework for
erratum
arm64: arch_timer: acpi: add hisi timer errata data
Documentation/arm64/silicon-errata.txt | 1 +
.../devicetree/bindings/arm/arch_timer.txt | 8 +
Documentation/kernel-parameters.txt | 9 -
arch/arm64/boot/dts/hisilicon/hip05.dtsi | 1 +
arch/arm64/boot/dts/hisilicon/hip06.dtsi | 1 +
arch/arm64/include/asm/arch_timer.h | 38 ++--
drivers/clocksource/Kconfig | 9 +
drivers/clocksource/arm_arch_timer.c | 197 +++++++++++++++++----
8 files changed, 194 insertions(+), 70 deletions(-)
--
1.9.0
^ permalink raw reply
* net: stmmac: Meson GXBB: attempting to execute userspace memory
From: Heinrich Schuchardt @ 2016-11-26 7:53 UTC (permalink / raw)
To: linux-arm-kernel
For Odroid C2 I have compiled kernel
4.9.0-rc6-next-20161124-00001-gbf7e142
with one additional patch
https://github.com/xypron/kernel-odroid-c2/blob/master/patch/0001-stmmac-RTL8211F-Meson-GXBB-TX-throughput-problems.patch
I repeatedly see faults like the one below:
[ 2557.400796] Unhandled fault: synchronous external abort (0x92000010)
at 0x000040001e8ee4b0
[ 2557.952413] CPU: 0 PID: 22837 Comm: cc1 Tainted: G D
4.9.0-rc6-next-20161124-00001-gbf7e142 #1
[ 2557.962062] Hardware name: Hardkernel ODROID-C2 (DT)
[ 2557.966980] task: ffff80006ddb7080 task.stack: ffff80006dd9c000
[ 2557.972846] PC is at 0x6a0d98
[ 2557.975776] LR is at 0x6a0e54
[ 2557.978709] pc : [<00000000006a0d98>] lr : [<00000000006a0e54>]
pstate: 80000000
[ 2557.986040] sp : 0000fffff3ee5f80
[ 2557.989318] x29: 0000fffff3ee5f80 x28: 000040000b3f1240
[ 2557.994578] x27: 00000000012a7000 x26: 000040000b3f1288
[ 2557.999840] x25: 0000000000f58f88 x24: 000040000b3f1240
[ 2558.005101] x23: 0000000000000000 x22: 0000000000000001
[ 2558.010362] x21: 0000000000000001 x20: 000040000b3f1250
[ 2558.015623] x19: 0000000000000054 x18: 0000000000000001
[ 2558.020885] x17: 0000400008acaa10 x16: 0000000001285050
[ 2558.026146] x15: 000040000ad96dc8 x14: 000000000000001f
[ 2558.031407] x13: 000040000b3f1270 x12: 000040000b3f1258
[ 2558.036668] x11: 0000000001347000 x10: 0000000000000661
[ 2558.041930] x9 : 0000000000000005 x8 : 0000000000000003
[ 2558.047191] x7 : 000040000b3f1240 x6 : 0000000020020033
[ 2558.052452] x5 : 000040000b402020 x4 : 000040000b3e1aa0
[ 2558.057713] x3 : 000000000000000c x2 : 0000000000000020
[ 2558.062974] x1 : 0000000000f45000 x0 : 0000000000000065
[ 2558.068235]
[ 2558.069712] Internal error: Attempting to execute userspace memory:
8600000f [#7] PREEMPT SMP
[ 2558.078155] Modules linked in: meson_rng rng_core meson_gxbb_wdt
ip_tables x_tables ipv6 dwmac_generic realtek dwmac_meson8b
stmmac_platform stmmac
[ 2558.091267] CPU: 0 PID: 22837 Comm: cc1 Tainted: G D
4.9.0-rc6-next-20161124-00001-gbf7e142 #1
[ 2558.100925] Hardware name: Hardkernel ODROID-C2 (DT)
[ 2558.105841] task: ffff80006ddb7080 task.stack: ffff80006dd9c000
[ 2558.111706] PC is at 0x6a0e54
[ 2558.114638] LR is at 0x6a0e54
[ 2558.117571] pc : [<00000000006a0e54>] lr : [<00000000006a0e54>]
pstate: 600003c5
[ 2558.124902] sp : ffff80006dd9fec0
[ 2558.128179] x29: 0000000000000000 x28: ffff80006ddb7080
[ 2558.133441] x27: 00000000012a7000 x26: 000040000b3f1288
[ 2558.138702] x25: 0000000000f58f88 x24: 000040000b3f1240
[ 2558.143963] x23: 0000000080000000 x22: 00000000006a0d98
[ 2558.149225] x21: ffffffffffffffff x20: 000080006e223000
[ 2558.154486] x19: 0000000000000000 x18: 0000000000000010
[ 2558.159747] x17: 0000400008acaa10 x16: 0000000001285050
[ 2558.165008] x15: ffff000088e91f07 x14: 0000000000000006
[ 2558.170270] x13: ffff000008e91f15 x12: 000000000000000f
[ 2558.175531] x11: 0000000000000002 x10: 00000000000002ea
[ 2558.180792] x9 : ffff80006dd9fb40 x8 : 0000000000010a8b
[ 2558.186053] x7 : 0000000000000000 x6 : 000000000000020e
[ 2558.191315] x5 : 00000000020f020e x4 : 0000000000000000
[ 2558.196576] x3 : 0000000000000000 x2 : 000000000000020f
[ 2558.201837] x1 : ffff80006ddb7080 x0 : 0000000000000000
[ 2558.207098]
[ 2558.208565] Process cc1 (pid: 22837, stack limit = 0xffff80006dd9c000)
[ 2558.215035] Stack: (0xffff80006dd9fec0 to 0xffff80006dda0000)
[ 2558.220728] fec0: 0000000000000065 0000000000f45000 0000000000000020
000000000000000c
[ 2558.228490] fee0: 000040000b3e1aa0 000040000b402020 0000000020020033
000040000b3f1240
[ 2558.236253] ff00: 0000000000000003 0000000000000005 0000000000000661
0000000001347000
[ 2558.244015] ff20: 000040000b3f1258 000040000b3f1270 000000000000001f
000040000ad96dc8
[ 2558.251778] ff40: 0000000001285050 0000400008acaa10 0000000000000001
0000000000000054
[ 2558.259540] ff60: 000040000b3f1250 0000000000000001 0000000000000001
0000000000000000
[ 2558.267303] ff80: 000040000b3f1240 0000000000f58f88 000040000b3f1288
00000000012a7000
[ 2558.275065] ffa0: 000040000b3f1240 0000fffff3ee5f80 00000000006a0e54
0000fffff3ee5f80
[ 2558.282828] ffc0: 00000000006a0d98 0000000080000000 0000000000000003
ffffffffffffffff
[ 2558.290590] ffe0: 0000000000000000 0000000000000000 0000000000000000
0000000000000000
[ 2558.298351] Call trace:
[ 2558.300769] Exception stack(0xffff80006dd9fcf0 to 0xffff80006dd9fe20)
[ 2558.307149] fce0: 0000000000000000
0001000000000000
[ 2558.314913] fd00: ffff80006dd9fec0 00000000006a0e54 ffff800073acf500
0000000000000004
[ 2558.322675] fd20: 0000000000000000 ffff000008dbbc18 ffff80006ddb7080
000000006dd9fdd0
[ 2558.330438] fd40: ffff80006dd9fd90 ffff0000080ca878 ffff80006dd9fe40
ffff80006ddb7080
[ 2558.338200] fd60: 0000000000000004 00000000000003c0 ffff80006dd9fe40
000040000b3f1240
[ 2558.345963] fd80: 0000000000f58f88 000040000b3f1288 0000000000000000
ffff80006ddb7080
[ 2558.353725] fda0: 000000000000020f 0000000000000000 0000000000000000
00000000020f020e
[ 2558.361487] fdc0: 000000000000020e 0000000000000000 0000000000010a8b
ffff80006dd9fb40
[ 2558.369250] fde0: 00000000000002ea 0000000000000002 000000000000000f
ffff000008e91f15
[ 2558.377012] fe00: 0000000000000006 ffff000088e91f07 0000000001285050
0000400008acaa10
[ 2558.384775] [<00000000006a0e54>] 0x6a0e54
[ 2558.388743] Code: d503201f f9400280 2a1703e1 97ffff0a (aa0003f3)
[ 2558.395241] ---[ end trace 7d280955c14d4ff1 ]---
[ 2558.584022] Bad mode in Error handler detected on CPU0, code
0xbf000000 -- SError
[ 2558.585871] CPU: 0 PID: 22867 Comm: cc1 Tainted: G D
4.9.0-rc6-next-20161124-00001-gbf7e142 #1
[ 2558.595527] Hardware name: Hardkernel ODROID-C2 (DT)
[ 2558.600444] task: ffff80007454d780 task.stack: ffff8000660bc000
[ 2558.606310] PC is at 0x631928
[ 2558.609240] LR is at 0xb59ce0
[ 2558.612172] pc : [<0000000000631928>] lr : [<0000000000b59ce0>]
pstate: 80000000
[ 2558.619503] sp : 0000ffffed764d90
[ 2558.622782] x29: 0000ffffed764d90 x28: 0000000000000028
[ 2558.628042] x27: 000000001a1062f0 x26: 0000000001299198
[ 2558.633303] x25: 0000000000000001 x24: 0000000000000000
[ 2558.638564] x23: 0000000000000004 x22: 00000000013513c8
[ 2558.643825] x21: 0000400039d43488 x20: 0000000000000000
[ 2558.649086] x19: 0000400039d2d730 x18: 0000000000000000
[ 2558.654348] x17: 0000400039a7c378 x16: 0000000001285138
[ 2558.659609] x15: 0000000000000001 x14: 0000000000000000
[ 2558.664870] x13: ffffff0000000000 x12: 0000000000000000
[ 2558.670131] x11: 0000000000000028 x10: 000000000129b2b8
[ 2558.675393] x9 : 0000000000000041 x8 : 0000000000000003
[ 2558.680654] x7 : 0000000000000050 x6 : 000000000003d2c8
[ 2558.685915] x5 : 0000000000000002 x4 : 0000000000000004
[ 2558.691176] x3 : 0000000000000003 x2 : 0000000001349000
[ 2558.696438] x1 : 000000000003cb90 x0 : 0000400039d45050
[ 2558.701699]
[ 2558.703177] Internal error: Attempting to execute userspace memory:
8600000f [#8] PREEMPT SMP
[ 2558.711618] Modules linked in: meson_rng rng_core meson_gxbb_wdt
ip_tables x_tables ipv6 dwmac_generic realtek dwmac_meson8b
stmmac_platform stmmac
[ 2558.724731] CPU: 0 PID: 22867 Comm: cc1 Tainted: G D
4.9.0-rc6-next-20161124-00001-gbf7e142 #1
[ 2558.734388] Hardware name: Hardkernel ODROID-C2 (DT)
[ 2558.739304] task: ffff80007454d780 task.stack: ffff8000660bc000
[ 2558.745169] PC is at 0xb59ce0
[ 2558.748102] LR is at 0xb59ce0
[ 2558.751035] pc : [<0000000000b59ce0>] lr : [<0000000000b59ce0>]
pstate: 600003c5
[ 2558.758365] sp : ffff8000660bfec0
[ 2558.761643] x29: 0000000000000000 x28: ffff80007454d780
[ 2558.766904] x27: 000000001a1062f0 x26: 0000000001299198
[ 2558.772165] x25: 0000000000000001 x24: 0000000000000000
[ 2558.777426] x23: 0000000080000000 x22: 0000000000631928
[ 2558.782688] x21: ffffffffffffffff x20: 000080006e223000
[ 2558.787949] x19: 0000000000000000 x18: 0000000000000010
[ 2558.793210] x17: 0000400039a7c378 x16: 0000000001285138
[ 2558.798471] x15: ffff000088e91f07 x14: 0000000000000006
[ 2558.803733] x13: ffff000008e91f15 x12: 000000000000000f
[ 2558.808994] x11: 0000000000000002 x10: 0000000000000336
[ 2558.814255] x9 : ffff8000660bfb40 x8 : 00000000000ab503
[ 2558.819516] x7 : 0000000000000000 x6 : 00000000000000dd
[ 2558.824778] x5 : 0000000000de00dd x4 : 0000000000000000
[ 2558.830039] x3 : 0000000000000000 x2 : 00000000000000de
[ 2558.835300] x1 : ffff80007454d780 x0 : 0000000000000000
[ 2558.840561]
[ 2558.842029] Process cc1 (pid: 22867, stack limit = 0xffff8000660bc000)
[ 2558.848498] Stack: (0xffff8000660bfec0 to 0xffff8000660c0000)
[ 2558.854191] fec0: 0000400039d45050 000000000003cb90 0000000001349000
0000000000000003
[ 2558.861953] fee0: 0000000000000004 0000000000000002 000000000003d2c8
0000000000000050
[ 2558.869716] ff00: 0000000000000003 0000000000000041 000000000129b2b8
0000000000000028
[ 2558.877478] ff20: 0000000000000000 ffffff0000000000 0000000000000000
0000000000000001
[ 2558.885241] ff40: 0000000001285138 0000400039a7c378 0000000000000000
0000400039d2d730
[ 2558.893003] ff60: 0000000000000000 0000400039d43488 00000000013513c8
0000000000000004
[ 2558.900766] ff80: 0000000000000000 0000000000000001 0000000001299198
000000001a1062f0
[ 2558.908529] ffa0: 0000000000000028 0000ffffed764d90 0000000000b59ce0
0000ffffed764d90
[ 2558.916291] ffc0: 0000000000631928 0000000080000000 000000001a18c000
ffffffffffffffff
[ 2558.924053] ffe0: 0000000000000000 0000000000000000 0000000000000000
0000000000000000
[ 2558.931814] Call trace:
[ 2558.934232] Exception stack(0xffff8000660bfcf0 to 0xffff8000660bfe20)
[ 2558.940613] fce0: 0000000000000000
0001000000000000
[ 2558.948376] fd00: ffff8000660bfec0 0000000000b59ce0 ffff800073acf640
0000000000000004
[ 2558.956138] fd20: 0000000000000000 ffff000008dbbc18 ffff80007454d780
00000000660bfdd0
[ 2558.963901] fd40: ffff8000660bfd90 ffff0000080ca878 ffff8000660bfe40
ffff80007454d780
[ 2558.971663] fd60: 0000000000000004 00000000000003c0 ffff8000660bfe40
0000000000000000
[ 2558.979426] fd80: 0000000000000001 0000000001299198 0000000000000000
ffff80007454d780
[ 2558.987188] fda0: 00000000000000de 0000000000000000 0000000000000000
0000000000de00dd
[ 2558.994951] fdc0: 00000000000000dd 0000000000000000 00000000000ab503
ffff8000660bfb40
[ 2559.002713] fde0: 0000000000000336 0000000000000002 000000000000000f
ffff000008e91f15
[ 2559.010476] fe00: 0000000000000006 ffff000088e91f07 0000000001285138
0000400039a7c378
[ 2559.018238] [<0000000000b59ce0>] 0xb59ce0
[ 2559.022207] Code: d2800001 d2800002 d2800500 97eb5e9d (a9007c1f)
[ 2559.028376] ---[ end trace 7d280955c14d4ff2 ]---
[ 2559.034397] Bad mode in Error handler detected on CPU2, code
0xbf000000 -- SError
[ 2559.040235] CPU: 2 PID: 22866 Comm: gcc Tainted: G D
4.9.0-rc6-next-20161124-00001-gbf7e142 #1
[ 2559.049892] Hardware name: Hardkernel ODROID-C2 (DT)
[ 2559.054808] task: ffff80007454e400 task.stack: ffff80006de9c000
[ 2559.060674] PC is at 0x40003c0400d8
[ 2559.064122] LR is at 0x46d4e0
[ 2559.067055] pc : [<000040003c0400d8>] lr : [<000000000046d4e0>]
pstate: 80000000
[ 2559.074385] sp : 0000ffffe6387270
[ 2559.077664] x29: 0000ffffe6387270 x28: 0000000016c0ff90
[ 2559.082924] x27: 0000000000000002 x26: 0000000000000001
[ 2559.088185] x25: 0000ffffe63873f4 x24: 0000ffffe63873f8
[ 2559.093447] x23: 0000ffffe63873f4 x22: 0000ffffe63873f8
[ 2559.098708] x21: 0000000016c104e0 x20: 0000000000005953
[ 2559.103969] x19: 0000000000000000 [ 2559.107102] Unhandled fault:
synchronous external abort (0x96000010) at 0xffff800000c1e000
[ 2559.107108] Internal error: : 96000010 [#9] PREEMPT SMP
[ 2559.107110] Modules linked in:
[ 2559.107113] meson_rng rng_core meson_gxbb_wdt ip_tables x_tables
ipv6 dwmac_generic realtek dwmac_meson8b stmmac_platform stmmac[
2559.107131] CPU: 0 PID: 1124 Comm: mmcqd/1 Tainted: G D 1
[ 2559.107132] Hardware name: Hardkernel ODROID-C2 (DT)
[ 2559.107135] task: ffff8000704abe80 task.stack: ffff8000734d0000
[ 2559.107147] PC is at __memcpy+0x100/0x180
[ 2559.107152] LR is at sg_copy_buffer+0xb0/0x110
[ 2559.107155] pc : [<ffff00000837ee00>] lr : [<ffff00000838e928>]
pstate: 200001c5
[ 2559.107155] sp : ffff8000734d3bb0
[ 2559.107157] x29: ffff8000734d3bb0
[ 2559.107158] x28: ffff800073a14800 x27: ffff800073a14b68
[ 2559.107162] x26: 0000000000000000 x25: 0000000000000140
[ 2559.107165] x24: 0000000000000001 x23: 0000000000001000
[ 2559.107168] x22: ffff8000746a2000 x21: 0000000000001000
[ 2559.107170] x20: 0000000000000000 x19: 0000000000001000
[ 2559.107172] x18: 0000000000000000 x17: ffffffffffffffff
[ 2559.107175] x16: 00000000000006be x15: ffff000008c34000
[ 2559.107178] x14: 747962342e090a34 x13: 3278302038323162
[ 2559.107181] x12: 656c752e090a3864 x11: ffff800073866800
[ 2559.107183] x10: ffff80006bf68eb0 x9 : 0000000000000000
[ 2559.107186] x8 : ffff800073a94920 x7 : 0000000000000000
[ 2559.107188] x6 : ffff8000746a2000 x5 : 0000820000000000
[ 2559.107191] x4 : 0000000000000000 x3 : 0000000000000000
[ 2559.107193] x2 : 0000000000000f80 x1 : ffff800000c1e000
[ 2559.107196] x0 : ffff8000746a2000
[ 2559.107199] Process mmcqd/1 (pid: 1124, stack limit = 0xffff8000734d0000)
[ 2559.107202] Stack: (0xffff8000734d3bb0 to 0xffff8000734d4000)
[ 2559.107205] 3ba0: ffff8000734d3c50
ffff00000838e9bc
[ 2559.107208] 3bc0: ffff800073a14000 ffff800073a14a30 ffff80006bf68eb0
ffff800073a14a28
[ 2559.107212] 3be0: ffff800073a14818 ffff800073a14800 0000000000000000
ffff00000838e1c4
[ 2559.107215] 3c00: ffff800073a94900 ffff7e0000030780 ffff800000c1e000
0000000000001000
[ 2559.107218] 3c20: 0000000000001000 ffff800073ad0a00 0000000100000000
0000000000000001
[ 2559.107221] 3c40: 0000100000000000 0000000000000005 ffff8000734d3c60
ffff00000874c1bc
[ 2559.107224] 3c60: ffff8000734d3c70 ffff000008748010 ffff8000734d3cd0
ffff000008749908
[ 2559.107228] 3c80: ffff80006bf68eb0 ffff800073a14000 ffff8000734c8000
ffff800073a14818
[ 2559.107231] 3ca0: ffff800073a14800 ffff800073a14800 ffff80006bf68eb0
ffff800073a14a28
[ 2559.107234] 3cc0: ffff80006bf68eb0 ffff000008749bc8 ffff8000734d3d70
ffff00000874b298
[ 2559.107237] 3ce0: ffff800073a14000 ffff800073a14818 ffff8000734c8000
0000000000000000
[ 2559.107240] 3d00: ffff800073a14800 ffff800073a14800 ffff800073a13800
0000000000000000
[ 2559.107243] 3d20: ffff80006bf68eb0 0000000000000000 00000000012853f0
ffff000008c0fcb8
[ 2559.107246] 3d40: 0000000000000000 000000000835bf14 ffff000008a05f58
ffff800000000000
[ 2559.107249] 3d60: ffff8000734c8000 0000000000000001 ffff8000734d3de0
ffff00000874b6f4
[ 2559.107252] 3d80: ffff800073a14818 ffff80006bf68eb0 ffff8000734c8000
0000000000000001
[ 2559.107255] 3da0: ffff800073a14828 0000000000000000 0000000000000000
0000000000000000
[ 2559.107258] 3dc0: 0000000000000000 0000000000000000 ffff800073a14818
ffff00000874b6c4
[ 2559.107261] 3de0: ffff8000734d3e20 ffff0000080daa84 ffff800073a94980
ffff000008e8eb08
[ 2559.107264] 3e00: ffff000008b75b50 ffff800073a14818 ffff00000874b658
0000000000000000
[ 2559.107267] 3e20: 0000000000000000 ffff000008082ec0 ffff0000080da9b8
ffff800073a94980
[ 2559.107270] 3e40: 0000000000000000 0000000000000000 0000000000000000
000003ff01893600
[ 2559.107273] 3e60: ffff8000734d3ea0 0000000000000000 ffff0000080da9b8
ffff800073a14818
[ 2559.107276] 3e80: 0000000000000000 0000000000000000 ffff8000734d3e90
ffff8000734d3e90
[ 2559.107279] 3ea0: 0000000000000000 ffff000000000000 ffff8000734d3eb0
ffff8000734d3eb0
[ 2559.107281] 3ec0: 0000000000000000 0000000000000000 0000000000000000
0000000000000000
[ 2559.107284] 3ee0: 0000000000000000 0000000000000000 0000000000000000
0000000000000000
[ 2559.107287] 3f00: 0000000000000000 0000000000000000 0000000000000000
0000000000000000
[ 2559.107290] 3f20: 0000000000000000 0000000000000000 0000000000000000
0000000000000000
[ 2559.107293] 3f40: 0000000000000000 0000000000000000 0000000000000000
0000000000000000
[ 2559.107295] 3f60: 0000000000000000 0000000000000000 0000000000000000
0000000000000000
[ 2559.107298] 3f80: 0000000000000000 0000000000000000 0000000000000000
0000000000000000
[ 2559.107300] 3fa0: 0000000000000000 0000000000000000 0000000000000000
0000000000000000
[ 2559.107303] 3fc0: 0000000000000000 0000000000000005 0000000000000000
0000000000000000
[ 2559.107306] 3fe0: 0000000000000000 0000000000000000 0000001800002cba
26000000a01b3800
[ 2559.107308] Call trace:
[ 2559.107312] Exception stack(0xffff8000734d39e0 to 0xffff8000734d3b10)
[ 2559.107315] 39e0: 0000000000001000 0001000000000000 ffff8000734d3bb0
ffff00000837ee00
[ 2559.107318] 3a00: 0000000000000007 ffff800000000000 ffff800000c1e000
0000000100100010
[ 2559.107321] 3a20: ffff8000734d3ac0 ffff000008748d88 ffff8000734d3b8c
0000000000000001
[ 2559.107324] 3a40: ffff8000734d3b40 ffff0000081c9dac ffff800074401d00
ffff0000081745d8
[ 2559.107327] 3a60: ffff7e0001b72f80 ffff80006dcbe300 00000000031fda40
0000000000000000
[ 2559.107330] 3a80: ffff8000746a2000 ffff800000c1e000 0000000000000f80
0000000000000000
[ 2559.107333] 3aa0: 0000000000000000 0000820000000000 ffff8000746a2000
0000000000000000
[ 2559.107336] 3ac0: ffff800073a94920 0000000000000000 ffff80006bf68eb0
ffff800073866800
[ 2559.107339] 3ae0: 656c752e090a3864 3278302038323162 747962342e090a34
ffff000008c34000
[ 2559.107341] 3b00: 00000000000006be ffffffffffffffff
[ 2559.107346] [<ffff00000837ee00>] __memcpy+0x100/0x180
[ 2559.107349] [<ffff00000838e9bc>] sg_copy_to_buffer+0x14/0x20
[ 2559.107357] [<ffff00000874c1bc>] mmc_queue_bounce_pre+0x34/0x40
[ 2559.107362] [<ffff000008748010>] mmc_blk_rw_rq_prep+0x288/0x3a0
[ 2559.107365] [<ffff000008749908>] mmc_blk_issue_rw_rq+0x3c0/0x998
[ 2559.107368] [<ffff00000874b298>] mmc_blk_issue_rq+0x150/0x510
[ 2559.107371] [<ffff00000874b6f4>] mmc_queue_thread+0x9c/0x140
[ 2559.107377] [<ffff0000080daa84>] kthread+0xcc/0xe0
[ 2559.107383] [<ffff000008082ec0>] ret_from_fork+0x10/0x50
[ 2559.107387] Code: d503201f d503201f d503201f d503201f (a8c12027)
[ 2559.107409] ---[ end trace 7d280955c14d4ff3 ]---
[ 2559.107417] note: mmcqd/1[1124] exited with preempt_count 1
[ 2559.688313] x18: 0000000000040900 x17: 0000000000590578 x16:
000040003c0400a8
[ 2559.695471] x15: 000000000000065c x14: 0000000000000000
[ 2559.700733] x13: 002f362f756e672d x12: 78756e696c2d3436
[ 2559.705994] x11: 0000000000000001 x10: 0101010101010101
[ 2559.711255] x9 : 0000000000000001 x8 : 0000000000000104
[ 2559.716516] x7 : 000000000046d448 x6 : 0000ffffe63873f4
[ 2559.721778] x5 : 0000ffffe63873f8 x4 : 0000000000000000
[ 2559.727039] x3 : 0000000000000000 x2 : 0000000000000000
[ 2559.732300] x1 : 0000000016c104e0 x0 : 0000000000005953
[ 2559.737561]
[ 2559.739036] Internal error: Attempting to execute userspace memory:
8600000f [#10] PREEMPT SMP
[ 2559.747566] Modules linked in: meson_rng rng_core meson_gxbb_wdt
ip_tables x_tables ipv6 dwmac_generic realtek dwmac_meson8b
stmmac_platform stmmac
[ 2559.760678] CPU: 2 PID: 22866 Comm: gcc Tainted: G D
4.9.0-rc6-next-20161124-00001-gbf7e142 #1
[ 2559.770337] Hardware name: Hardkernel ODROID-C2 (DT)
[ 2559.775254] task: ffff80007454e400 task.stack: ffff80006de9c000
[ 2559.781118] PC is at 0x46d4e0
[ 2559.784051] LR is at 0x46d4e0
[ 2559.786983] pc : [<000000000046d4e0>] lr : [<000000000046d4e0>]
pstate: 600003c5
[ 2559.794314] sp : ffff80006de9fec0
[ 2559.797591] x29: 0000000000000000 x28: ffff80007454e400
[ 2559.802853] x27: 0000000000000002 x26: 0000000000000001
[ 2559.808114] x25: 0000ffffe63873f4 x24: 0000ffffe63873f8
[ 2559.813375] x23: 0000000080000000 x22: 000040003c0400d8
[ 2559.818636] x21: ffffffffffffffff x20: 000080006e24d000
[ 2559.823898] x19: 0000000000000000 x18: 0000000000000010
[ 2559.829159] x17: 0000000000590578 x16: 000040003c0400a8
[ 2559.834420] x15: ffff000088e91f07 x14: 0000000000000006
[ 2559.839682] x13: ffff000008e91f15 x12: 000000000000000f
[ 2559.844943] x11: 0000000000000002 x10: 00000000000003f4
[ 2559.850204] x9 : ffff80006de9fb40 x8 : 00000000000b4119
[ 2559.855465] x7 : 0000000000000000 x6 : 000000000000019d
[ 2559.860726] x5 : 00000000019e019d x4 : 0000000000000000
[ 2559.865988] x3 : 0000000000000002 x2 : 000000000000019e
[ 2559.871249] x1 : ffff80007454e400 x0 : 0000000000000000
[ 2559.876510]
[ 2559.877977] Process gcc (pid: 22866, stack limit = 0xffff80006de9c000)
[ 2559.884446] Stack: (0xffff80006de9fec0 to 0xffff80006dea0000)
[ 2559.890140] fec0: 0000000000005953 0000000016c104e0 0000000000000000
0000000000000000
[ 2559.897902] fee0: 0000000000000000 0000ffffe63873f8 0000ffffe63873f4
000000000046d448
[ 2559.905664] ff00: 0000000000000104 0000000000000001 0101010101010101
0000000000000001
[ 2559.913427] ff20: 78756e696c2d3436 002f362f756e672d 0000000000000000
000000000000065c
[ 2559.921190] ff40: 000040003c0400a8 0000000000590578 0000000000040900
0000000000000000
[ 2559.928952] ff60: 0000000000005953 0000000016c104e0 0000ffffe63873f8
0000ffffe63873f4
[ 2559.936714] ff80: 0000ffffe63873f8 0000ffffe63873f4 0000000000000001
0000000000000002
[ 2559.944477] ffa0: 0000000016c0ff90 0000ffffe6387270 000000000046d4e0
0000ffffe6387270
[ 2559.952240] ffc0: 000040003c0400d8 0000000080000000 0000000000005953
ffffffffffffffff
[ 2559.960002] ffe0: 0000000000000000 0000000000000000 0000000000000000
0000000000000000
[ 2559.967762] Call trace:
[ 2559.970179] Exception stack(0xffff80006de9fcf0 to 0xffff80006de9fe20)
[ 2559.976561] fce0: 0000000000000000
0001000000000000
[ 2559.984324] fd00: ffff80006de9fec0 000000000046d4e0 ffff80007366f8c0
0000000000000004
[ 2559.992087] fd20: 0000000000000000 ffff000008dbbc18 ffff80007454e400
000000006de9fdd0
[ 2559.999850] fd40: ffff80006de9fd90 ffff0000080ca878 ffff80006de9fe40
ffff80007454e400
[ 2560.007612] fd60: 0000000000000004 00000000000003c0 ffff80006de9fe40
0000ffffe63873f8
[ 2560.015374] fd80: 0000ffffe63873f4 0000000000000001 0000000000000000
ffff80007454e400
[ 2560.023137] fda0: 000000000000019e 0000000000000002 0000000000000000
00000000019e019d
[ 2560.030899] fdc0: 000000000000019d 0000000000000000 00000000000b4119
ffff80006de9fb40
[ 2560.038662] fde0: 00000000000003f4 0000000000000002 000000000000000f
ffff000008e91f15
[ 2560.046425] fe00: 0000000000000006 ffff000088e91f07 000040003c0400a8
0000000000590578
[ 2560.054186] [<000000000046d4e0>] 0x46d4e0
[ 2560.058155] Code: aa1503e1 2a1403e0 52800002 97fe895d (2a0003e1)
[ 2560.064244] ---[ end trace 7d280955c14d4ff4 ]---
^ permalink raw reply
* [PATCH 0/4] net: thunderx: Support for 80xx, RED, PFC e.t.c
From: David Miller @ 2016-11-26 1:21 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <1479979083-15963-1-git-send-email-sunil.kovvuri@gmail.com>
From: sunil.kovvuri@gmail.com
Date: Thu, 24 Nov 2016 14:47:59 +0530
> This patch series adds support for SLM modules present on 80xx
> silicon, enables ramdom early discard, backpressure generation,
> PFC and some ethtool changes to display supported link modes e.t.c.
Series applied to net-next.
^ permalink raw reply
* [GIT PULL] ARM: mvebu: dt64 for v4.10 (#2)
From: Arnd Bergmann @ 2016-11-25 23:50 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <8737inamem.fsf@free-electrons.com>
On Saturday, November 19, 2016 9:45:05 AM CET Gregory CLEMENT wrote:
> mvebu dt64 for 4.10 (part 2)
>
> Fix DTC warning on Armada 37xx and 7K/8K
>
Pulled into next/dt64, thanks!
Arnd
^ permalink raw reply
* [GIT PULL] ARM: mvebu: soc for v4.10 (#1)
From: Arnd Bergmann @ 2016-11-25 23:49 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <874m33ampm.fsf@free-electrons.com>
On Saturday, November 19, 2016 9:38:29 AM CET Gregory CLEMENT wrote:
> mvebu soc for 4.10 (part 1)
>
> remove legacy support of orion5x ls-chl
>
Pulled into next/soc, thanks!
Arnd
^ permalink raw reply
* [GIT PULL] ARM: mvebu: dt for v4.10 (#1)
From: Arnd Bergmann @ 2016-11-25 23:47 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <8760njamyn.fsf@free-electrons.com>
On Saturday, November 19, 2016 9:33:04 AM CET Gregory CLEMENT wrote:
> Here is the first pull request for dt for mvebu for v4.10. It repalces
> the previous one sent 2 days ago as requested by Olof.
>
> I take the opportunity to add new commits:
> "ARM: dts: kirkwood: fix spelling mistake" which as applied recently but
> which is harmless and trivial.
>
> I also add all the non controversial patches removing the DTC
> warning. They wre posted two weeks ago and was in linux-next since this
> day. As there is still some discussions about MBUS_ID and ranges, I will
> prepare a new series for them which I still hope mnage to be part of
> 4.10.
>
Pulled into next/dt, thanks for the respin!
Arnd
^ permalink raw reply
* [GIT PULL v2] ARM: OXNAS SoC updates for 4.10
From: Arnd Bergmann @ 2016-11-25 23:31 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <55c31b07-ae4e-5bb3-3576-b597805c009d@baylibre.com>
On Wednesday, November 23, 2016 10:01:08 AM CET Neil Armstrong wrote:
> - Add SMP support for the Oxford Semiconductor OX820 SoC
> from http://lkml.kernel.org/r/20161021085848.1754-1-narmstrong at baylibre.com
>
> Changes since v1 Pull Request at : http://lkml.kernel.org/r/1305c61f-b1ef-7caf-7788-67e2b907e873 at baylibre.com
> - Clarify copyright dates in commit message
> - Remove linux/arch/... lines from the top of the files
>
>
Thanks for the v2 update, pulled into next/soc now.
Arnd
^ permalink raw reply
* [PATCH] ARM: pxa: ezx: fix a910 camera data
From: Stefan Schmidt @ 2016-11-25 23:30 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <87eg1zqqub.fsf@belgarion.home>
Hello.
On 25.11.2016 20:53, Robert Jarzmik wrote:
> Stefan Schmidt <stefan@datenfreihafen.org> writes:
>
>> Hello.
>>
>> On 24.11.2016 17:29, Arnd Bergmann wrote:
>>> The camera_supply_dummy_device definition is shared between a780 and a910,
>>> but only provided when the first is enabled and fails to build for a
>>> configuration with only a910:
>>>
>>> arch/arm/mach-pxa/ezx.c:1097:3: error: 'camera_supply_dummy_device' undeclared here (not in a function)
>>>
>>> This moves the definition into its own section.
>>>
>>> Fixes: 6c1b417adc8f ("ARM: pxa: ezx: use the new pxa_camera platform_data")
>>> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
>>> ---
>>> arch/arm/mach-pxa/ezx.c | 56 ++++++++++++++++++++++++++-----------------------
>>
>> I wonder what we should do with ezx.c.
>>
>> As far as I know neither Daniel nor Harald or myself are doing anything
>> with this devices anymore. Besides a basic compile test having an ack or
>> reviewed by from our side is a bit worthless. :/
>>
>> I should still have some of these phones around in a box somewhere. If
>> there is someone with a good motivation and time to take over on this
>> platform we will find a way to get the person this devices.
>>
>> Any takers? Robert? I guess you are already overloaded but you might
>> also have an interest. Worth asking :)
> Oh yes, I'm very interested in your box. Besides I really like old platforms
> :)
Great! I should have at least 3 or 4 different devices from the EZX
platform around. I will go and search for the box over the weekend :)
>> In the case nobody wants to pick up here what would you consider the
>> bets way forward? I could send a patch removing ezx platform support
>> from the kernel (basically ezx.c plus build support) or I can send a
>> patch marking it at least orphan in MAINTAINERS. Let me know what you think.
>>
>> Daniel, Harald, if one of you is still interested in these and what to
>> pick up the work again, please speak up now. :)
> Unless another maintainer steps in, you can submit a patch to transfer the
> maintainance onto me, and we'll see off mailing lists how we could arange the
> boards transfer.
I cc'ed another developer who did a lot of work regarding EZX.
Antonio, as you can see from the mail above we are pondering what who
will maintain the ezx platform in the kernel going forward. Neither
Daniel, Harald or me is going to do so. If you have time, interest and
motivation to do so please speak up. I know life moved on and you ahve
other projects and interests so do not feel pressured here. Just say no
if you have no interest. Robert already agreed to act as a fallback so
we would still be safe. :)
regards
Stefan Schmidt
^ permalink raw reply
* [GIT PULL v2] Qualcomm Device Tree Changes for v4.10
From: Arnd Bergmann @ 2016-11-25 23:29 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <1479535031-14817-1-git-send-email-andy.gross@linaro.org>
On Friday, November 18, 2016 11:57:11 PM CET Andy Gross wrote:
> Qualcomm Device Tree Changes for v4.10 - v2
>
> * Add EBI2 support to MSM8660
> * Add SMSC ethernet support to APQ8060
> * Add support for display, pstore, iommu, and hdmi to APQ8064
> * Add SDHCI node to MSM8974 Hammerhead
> * Add WP8548 MangOH board support (MDM9615)
Thanks for respinning the pull request
> ----------------------------------------------------------------
> Archit Taneja (2):
> arm: dts: qcom: apq8064: Add display DT nodes
> arm: dts: qcom: apq8064-ifc6410: Add HDMI support
>
> Bhushan Shah (1):
> ARM: dts: qcom: msm8974-hammerhead: Add sdhci1 node
>
> John Stultz (3):
> arm: dts: qcom: apq8064: Add dsi, gpu and iommu nodes
> arm: dts: qcom: apq8064-nexus7: Add DSI and panel nodes
> arm: dts: qcom: apq8064-nexus7: Add pstore support to nexus7
I see that some of the subject lines are still not what they
should be, as Archit and John both used 'arm' instead of 'ARM'
as the prefix.
It doesn't seem to justify doing a v3 for that, just watch out
for merges in the future. Pulled into next/dt, thanks!
Arnd
^ permalink raw reply
* [GIT PULL v2] pxa-dt for v4.10
From: Arnd Bergmann @ 2016-11-25 23:25 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <87mvgvsspi.fsf@belgarion.home>
On Saturday, November 19, 2016 10:51:37 AM CET Robert Jarzmik wrote:
> This device-tree pxa update brings :
> - pxa25x support
> - cpu operating points in preparation for cpufreq-dt
> - small fixes
>
Pulled into next/dt, thanks for the rework!
Arnd
^ permalink raw reply
* [PATCH] ARM: lpc32xx: drop duplicate header device.h
From: Arnd Bergmann @ 2016-11-25 23:24 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <1479761945.1477.0.camel@localhost>
On Monday, November 21, 2016 3:59:05 PM CET Sylvain Lemieux wrote:
> On Fri, 2016-11-18 at 22:21 +0800, Geliang Tang wrote:
> > Drop duplicate header device.h from phy3250.c.
> >
> > Signed-off-by: Geliang Tang <geliangtang@gmail.com>
> Reviewed-by: Sylvain Lemieux <slemieux.tyco@gmail.com>
>
Applied into arm-soc/next/fixes-non-critical, I see we already merged
your other pull requests, so it seems appropriate to take this
trivial change directly.
Arnd
^ permalink raw reply
* [PATCH] ARM: ixp4xx: drop duplicate header gpio.h
From: Arnd Bergmann @ 2016-11-25 23:22 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <319a5803aac795e175306d4978134f0247cf87bc.1479457751.git.geliangtang@gmail.com>
On Friday, November 18, 2016 10:21:10 PM CET Geliang Tang wrote:
> Drop duplicate header gpio.h from dsmg600-setup.c.
>
> Signed-off-by: Geliang Tang <geliangtang@gmail.com>
>
Applied to arm-soc/next/fixes-non-critical, thanks
Arnd
^ permalink raw reply
* [GIT PULL] ARM: at91: drivers for 4.10
From: Arnd Bergmann @ 2016-11-25 23:19 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <20161114184438.k5ysd6pgcadlo5vw@piout.net>
On Monday, November 14, 2016 7:44:38 PM CET Alexandre Belloni wrote:
> Drivers for 4.10:
>
> - few fixes for the memory drivers
> - minimal security module driver
> - support for the Secure SRAM
>
For reference, Olof pulled this into next/drivers on Nov 18.
Arnd
^ permalink raw reply
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox