* [PATCH RFT 1/2] drivers: bus: check cci device tree node status @ 2014-11-28 14:50 Abhilash Kesavan 2014-11-28 14:50 ` [PATCH RFT 2/2] arm: dts: disable CCI on exynos420 based arndale-octa Abhilash Kesavan 2014-12-10 4:01 ` [PATCH RFT 1/2] drivers: bus: check cci device tree node status Abhilash Kesavan 0 siblings, 2 replies; 20+ messages in thread From: Abhilash Kesavan @ 2014-11-28 14:50 UTC (permalink / raw) To: linux-arm-kernel The arm-cci driver completes the probe sequence even if the cci node is marked as disabled. Add a check in the driver to honour the cci status in the device tree. Signed-off-by: Abhilash Kesavan <a.kesavan@samsung.com> --- drivers/bus/arm-cci.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/bus/arm-cci.c b/drivers/bus/arm-cci.c index 860da40..0ce5e2d 100644 --- a/drivers/bus/arm-cci.c +++ b/drivers/bus/arm-cci.c @@ -1312,6 +1312,9 @@ static int cci_probe(void) if (!np) return -ENODEV; + if (!of_device_is_available(np)) + return -ENODEV; + cci_config = of_match_node(arm_cci_matches, np)->data; if (!cci_config) return -ENODEV; -- 1.7.9.5 ^ permalink raw reply related [flat|nested] 20+ messages in thread
* [PATCH RFT 2/2] arm: dts: disable CCI on exynos420 based arndale-octa 2014-11-28 14:50 [PATCH RFT 1/2] drivers: bus: check cci device tree node status Abhilash Kesavan @ 2014-11-28 14:50 ` Abhilash Kesavan 2014-11-28 15:19 ` Krzysztof Kozlowski 2014-12-01 18:50 ` Kevin Hilman 2014-12-10 4:01 ` [PATCH RFT 1/2] drivers: bus: check cci device tree node status Abhilash Kesavan 1 sibling, 2 replies; 20+ messages in thread From: Abhilash Kesavan @ 2014-11-28 14:50 UTC (permalink / raw) To: linux-arm-kernel The arndale-octa board was giving "imprecise external aborts" during boot-up with MCPM enabled. CCI enablement of the boot cluster was found to be the cause of these aborts (possibly because the secure f/w was not allowing it). Hence, disable CCI for the arndale-octa board. Signed-off-by: Abhilash Kesavan <a.kesavan@samsung.com> --- arch/arm/boot/dts/exynos5420-arndale-octa.dts | 4 ++++ arch/arm/boot/dts/exynos5420.dtsi | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/arch/arm/boot/dts/exynos5420-arndale-octa.dts b/arch/arm/boot/dts/exynos5420-arndale-octa.dts index aa7a7d7..db2c1c4 100644 --- a/arch/arm/boot/dts/exynos5420-arndale-octa.dts +++ b/arch/arm/boot/dts/exynos5420-arndale-octa.dts @@ -372,3 +372,7 @@ &usbdrd_dwc3_1 { dr_mode = "host"; }; + +&cci { + status = "disabled"; +}; diff --git a/arch/arm/boot/dts/exynos5420.dtsi b/arch/arm/boot/dts/exynos5420.dtsi index 517e50f..0a82ae7 100644 --- a/arch/arm/boot/dts/exynos5420.dtsi +++ b/arch/arm/boot/dts/exynos5420.dtsi @@ -120,7 +120,7 @@ }; }; - cci at 10d20000 { + cci: cci at 10d20000 { compatible = "arm,cci-400"; #address-cells = <1>; #size-cells = <1>; -- 1.7.9.5 ^ permalink raw reply related [flat|nested] 20+ messages in thread
* [PATCH RFT 2/2] arm: dts: disable CCI on exynos420 based arndale-octa 2014-11-28 14:50 ` [PATCH RFT 2/2] arm: dts: disable CCI on exynos420 based arndale-octa Abhilash Kesavan @ 2014-11-28 15:19 ` Krzysztof Kozlowski 2014-11-28 15:39 ` Abhilash Kesavan 2014-12-01 18:50 ` Kevin Hilman 1 sibling, 1 reply; 20+ messages in thread From: Krzysztof Kozlowski @ 2014-11-28 15:19 UTC (permalink / raw) To: linux-arm-kernel On pi?, 2014-11-28 at 20:20 +0530, Abhilash Kesavan wrote: > The arndale-octa board was giving "imprecise external aborts" during > boot-up with MCPM enabled. CCI enablement of the boot cluster was found > to be the cause of these aborts (possibly because the secure f/w was not > allowing it). Hence, disable CCI for the arndale-octa board. > > Signed-off-by: Abhilash Kesavan <a.kesavan@samsung.com> > --- > arch/arm/boot/dts/exynos5420-arndale-octa.dts | 4 ++++ > arch/arm/boot/dts/exynos5420.dtsi | 2 +- > 2 files changed, 5 insertions(+), 1 deletion(-) I tested these 2 patches on Arndale Octa but there are no improvements. I still got imprecise aborts (some not fatal and sometimes killing init with full backtrace). Tested on next-20141128. System booted from microSD (bootloader from Linaro Ubuntu Saucy server image): ================================== U-Boot 2012.07 (Feb 15 2014 - 17:29:55) for ARNDALE OCTA CPU: Exynos5420 Rev2.0 [Samsung SOC on SMP Platform Base on ARM CortexA15] APLL = 800MHz, KPLL = 600MHz MPLL = 532MHz, BPLL = 800MHz Board: ARNDALE OCTA DRAM: 2 GiB WARNING: Caches not enabled TrustZone Enabled BSP BL1 version: Checking Boot Mode ... SDMMC MMC: S5P_MSHC2: 0, S5P_MSHC0: 1 MMC Device 0: 29.3 GiB MMC Device 1: 7.3 GiB MMC Device 2: MMC Device 2 not found there are pending interrupts 0x00000001 In: serial Out: serial Err: serial Net: No ethernet found. (Re)start USB... USB: Register 1313 NbrPorts 3 USB EHCI 1.00 scanning bus for devices... The request port(2) is not configured The request port(2) is not configured 3 USB Device(s) found scanning bus for storage devices... 0 Storage Device(s) found scanning usb for ethernet devices... 1 Ethernet Device(s) found Hit any key to stop autoboot: 0 ARNDALE # uTTY Unknown command 'uTTY' - try 'help' ARNDALE # run nn reading uImage 3674704 bytes read reading uInitrd 2330480 bytes read reading board.dtb 33680 bytes read ## Booting kernel from Legacy Image at 20007000 ... Image Name: Linux-exynos5420-arndale-octa Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 3674640 Bytes = 3.5 MiB Load Address: 41008000 Entry Point: 41008000 Verifying Checksum ... OK ## Loading init Ramdisk from Legacy Image at 22000000 ... Image Name: initramfs Image Type: ARM Linux RAMDisk Image (uncompressed) Data Size: 2330416 Bytes = 2.2 MiB Load Address: 00000000 Entry Point: 00000000 Verifying Checksum ... OK ## Flattened Device Tree blob at 21f00000 Booting using the fdt blob at 0x21f00000 Loading Kernel Image ... OK OK Using Device Tree in place at 21f00000, end 21f0b38f Starting kernel ... [ 0.000000] Booting Linux on physical CPU 0x0 [ 0.000000] Linux version 3.18.0-rc6-next-20141128-00007-g33b7bf7da133 (k.kozlowski at AMDC1943) (gcc version 4.7.3 (Ubuntu/Linaro 4.7.3-12ubuntu1) ) #24 SMP PREEMPT Fri Nov 28 16:13:43 CET 2014 [ 0.000000] CPU: ARMv7 Processor [412fc0f3] revision 3 (ARMv7), cr=10c5387d ... [ 12.874514] VFS: Mounted root (ext4 filesystem) readonly on device 179:67. [ 12.887392] devtmpfs: mounted [ 12.889321] Freeing unused kernel memory: 324K (c0669000 - c06ba000) [ 12.951241] Unhandled fault: imprecise external abort (0x406) at 0x00000000 [ 12.966312] Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000007 [ 12.966312] [ 12.973980] CPU: 0 PID: 1 Comm: bash Tainted: G W 3.18.0-rc6-next-20141128-00007-g33b7bf7da133 #24 [ 12.983938] Hardware name: SAMSUNG EXYNOS (Flattened Device Tree) [ 12.990014] [<c0014d44>] (unwind_backtrace) from [<c0011c88>] (show_stack+0x10/0x14) [ 12.997723] [<c0011c88>] (show_stack) from [<c048e82c>] (dump_stack+0x70/0xbc) [ 13.004911] [<c048e82c>] (dump_stack) from [<c048a8c0>] (panic+0x94/0x20c) [ 13.011753] [<c048a8c0>] (panic) from [<c0026500>] (do_exit+0x944/0x988) [ 13.018424] [<c0026500>] (do_exit) from [<c00265f4>] (do_group_exit+0x3c/0xbc) [ 13.025621] [<c00265f4>] (do_group_exit) from [<c0030d60>] (get_signal+0x218/0x8c4) [ 13.033247] [<c0030d60>] (get_signal) from [<c048a39c>] (do_signal+0x84/0x350) [ 13.040438] [<c048a39c>] (do_signal) from [<c00115ec>] (do_work_pending+0xbc/0xcc) [ 13.047979] [<c00115ec>] (do_work_pending) from [<c000f1f8>] (work_pending+0xc/0x20) [ 13.055693] CPU1: stopping [ 13.058385] CPU: 1 PID: 0 Comm: swapper/1 Tainted: G W 3.18.0-rc6-next-20141128-00007-g33b7bf7da133 #24 [ 13.068790] Hardware name: SAMSUNG EXYNOS (Flattened Device Tree) [ 13.074858] [<c0014d44>] (unwind_backtrace) from [<c0011c88>] (show_stack+0x10/0x14) [ 13.082573] [<c0011c88>] (show_stack) from [<c048e82c>] (dump_stack+0x70/0xbc) [ 13.089762] [<c048e82c>] (dump_stack) from [<c0013e14>] (handle_IPI+0x158/0x18c) [ 13.097128] [<c0013e14>] (handle_IPI) from [<c00086f4>] (gic_handle_irq+0x60/0x68) [ 13.104669] [<c00086f4>] (gic_handle_irq) from [<c00127c4>] (__irq_svc+0x44/0x7c) [ 13.112112] Exception stack(0xee4c3fa0 to 0xee4c3fe8) [ 13.117135] 3fa0: c000fd7c ee4c3fe8 ee4c3ff0 00000000 c06c24e8 c04997e0 c06fa60a c06fa60a [ 13.125287] 3fc0: 00000001 412fc0f3 00000000 00000000 00000001 ee4c3fe8 c000fd7c c000fd80 [ 13.133429] 3fe0: 60000013 ffffffff [ 13.136895] [<c00127c4>] (__irq_svc) from [<c000fd80>] (arch_cpu_idle+0x20/0x3c) [ 13.144272] [<c000fd80>] (arch_cpu_idle) from [<c0059d0c>] (cpu_startup_entry+0x11c/0x1a0) [ 13.152499] [<c0059d0c>] (cpu_startup_entry) from [<40008784>] (0x40008784) [ 13.159424] CPU2: stopping [ 13.162102] CPU: 2 PID: 0 Comm: swapper/2 Tainted: G W 3.18.0-rc6-next-20141128-00007-g33b7bf7da133 #24 [ 13.172508] Hardware name: SAMSUNG EXYNOS (Flattened Device Tree) [ 13.178577] [<c0014d44>] (unwind_backtrace) from [<c0011c88>] (show_stack+0x10/0x14) [ 13.186291] [<c0011c88>] (show_stack) from [<c048e82c>] (dump_stack+0x70/0xbc) [ 13.193479] [<c048e82c>] (dump_stack) from [<c0013e14>] (handle_IPI+0x158/0x18c) [ 13.200845] [<c0013e14>] (handle_IPI) from [<c00086f4>] (gic_handle_irq+0x60/0x68) [ 13.208386] [<c00086f4>] (gic_handle_irq) from [<c00127c4>] (__irq_svc+0x44/0x7c) [ 13.215833] Exception stack(0xee4c5fa0 to 0xee4c5fe8) [ 13.220854] 5fa0: c000fd7c ee4c5fe8 ee4c5ff0 00000000 c06c24e8 c04997e0 c06fa60a c06fa60a [ 13.229006] 5fc0: 00000001 412fc0f3 00000000 00000000 00000001 ee4c5fe8 c000fd7c c000fd80 [ 13.237149] 5fe0: 60000113 ffffffff [ 13.240612] [<c00127c4>] (__irq_svc) from [<c000fd80>] (arch_cpu_idle+0x20/0x3c) [ 13.247986] [<c000fd80>] (arch_cpu_idle) from [<c0059d0c>] (cpu_startup_entry+0x11c/0x1a0) [ 13.256218] [<c0059d0c>] (cpu_startup_entry) from [<40008784>] (0x40008784) [ 13.263144] CPU3: stopping [ 13.265823] CPU: 3 PID: 0 Comm: swapper/3 Tainted: G W 3.18.0-rc6-next-20141128-00007-g33b7bf7da133 #24 [ 13.276230] Hardware name: SAMSUNG EXYNOS (Flattened Device Tree) [ 13.282300] [<c0014d44>] (unwind_backtrace) from [<c0011c88>] (show_stack+0x10/0x14) [ 13.290012] [<c0011c88>] (show_stack) from [<c048e82c>] (dump_stack+0x70/0xbc) [ 13.297200] [<c048e82c>] (dump_stack) from [<c0013e14>] (handle_IPI+0x158/0x18c) [ 13.304565] [<c0013e14>] (handle_IPI) from [<c00086f4>] (gic_handle_irq+0x60/0x68) [ 13.312108] [<c00086f4>] (gic_handle_irq) from [<c00127c4>] (__irq_svc+0x44/0x7c) [ 13.319553] Exception stack(0xee4c7fa0 to 0xee4c7fe8) [ 13.324576] 7fa0: c000fd7c ee4c7fe8 ee4c7ff0 00000000 c06c24e8 c04997e0 c06fa60a c06fa60a [ 13.332727] 7fc0: 00000001 412fc0f3 00000000 00000000 00000001 ee4c7fe8 c000fd7c c000fd80 [ 13.340870] 7fe0: 60000113 ffffffff [ 13.344335] [<c00127c4>] (__irq_svc) from [<c000fd80>] (arch_cpu_idle+0x20/0x3c) [ 13.351710] [<c000fd80>] (arch_cpu_idle) from [<c0059d0c>] (cpu_startup_entry+0x11c/0x1a0) [ 13.359939] [<c0059d0c>] (cpu_startup_entry) from [<40008784>] (0x40008784) [ 13.366878] ---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000007 [ 13.366878] ================================== Best regards, Krzysztof > diff --git a/arch/arm/boot/dts/exynos5420-arndale-octa.dts b/arch/arm/boot/dts/exynos5420-arndale-octa.dts > index aa7a7d7..db2c1c4 100644 > --- a/arch/arm/boot/dts/exynos5420-arndale-octa.dts > +++ b/arch/arm/boot/dts/exynos5420-arndale-octa.dts > @@ -372,3 +372,7 @@ > &usbdrd_dwc3_1 { > dr_mode = "host"; > }; > + > +&cci { > + status = "disabled"; > +}; > diff --git a/arch/arm/boot/dts/exynos5420.dtsi b/arch/arm/boot/dts/exynos5420.dtsi > index 517e50f..0a82ae7 100644 > --- a/arch/arm/boot/dts/exynos5420.dtsi > +++ b/arch/arm/boot/dts/exynos5420.dtsi > @@ -120,7 +120,7 @@ > }; > }; > > - cci at 10d20000 { > + cci: cci at 10d20000 { > compatible = "arm,cci-400"; > #address-cells = <1>; > #size-cells = <1>; ^ permalink raw reply [flat|nested] 20+ messages in thread
* [PATCH RFT 2/2] arm: dts: disable CCI on exynos420 based arndale-octa 2014-11-28 15:19 ` Krzysztof Kozlowski @ 2014-11-28 15:39 ` Abhilash Kesavan 2014-12-01 9:03 ` Krzysztof Kozlowski 0 siblings, 1 reply; 20+ messages in thread From: Abhilash Kesavan @ 2014-11-28 15:39 UTC (permalink / raw) To: linux-arm-kernel Hello Krzysztof, On Fri, Nov 28, 2014 at 8:49 PM, Krzysztof Kozlowski <k.kozlowski@samsung.com> wrote: > On pi?, 2014-11-28 at 20:20 +0530, Abhilash Kesavan wrote: >> The arndale-octa board was giving "imprecise external aborts" during >> boot-up with MCPM enabled. CCI enablement of the boot cluster was found >> to be the cause of these aborts (possibly because the secure f/w was not >> allowing it). Hence, disable CCI for the arndale-octa board. >> >> Signed-off-by: Abhilash Kesavan <a.kesavan@samsung.com> >> --- >> arch/arm/boot/dts/exynos5420-arndale-octa.dts | 4 ++++ >> arch/arm/boot/dts/exynos5420.dtsi | 2 +- >> 2 files changed, 5 insertions(+), 1 deletion(-) > > I tested these 2 patches on Arndale Octa but there are no improvements. > I still got imprecise aborts (some not fatal and sometimes killing init > with full backtrace). Thanks for testing. Are you testing this with exynos_defconfig with no other changes ? Can you please confirm from the bootlog that MCPM and CCI are not being initialized. Can you remove these 2 patches and on linux-next check if you are getting aborts even with 5420_MCPM disabled. Regards, Abhilash > > Tested on next-20141128. System booted from microSD (bootloader from > Linaro Ubuntu Saucy server image): > > ================================== > U-Boot 2012.07 (Feb 15 2014 - 17:29:55) for ARNDALE OCTA > > CPU: Exynos5420 Rev2.0 [Samsung SOC on SMP Platform Base on ARM CortexA15] > APLL = 800MHz, KPLL = 600MHz > MPLL = 532MHz, BPLL = 800MHz > > Board: ARNDALE OCTA > DRAM: 2 GiB > WARNING: Caches not enabled > > TrustZone Enabled BSP > BL1 version: > > Checking Boot Mode ... SDMMC > MMC: S5P_MSHC2: 0, S5P_MSHC0: 1 > MMC Device 0: 29.3 GiB > MMC Device 1: 7.3 GiB > MMC Device 2: MMC Device 2 not found > there are pending interrupts 0x00000001 > In: serial > Out: serial > Err: serial > Net: No ethernet found. > (Re)start USB... > USB: Register 1313 NbrPorts 3 > USB EHCI 1.00 > scanning bus for devices... The request port(2) is not configured > The request port(2) is not configured > 3 USB Device(s) found > scanning bus for storage devices... 0 Storage Device(s) found > scanning usb for ethernet devices... 1 Ethernet Device(s) found > Hit any key to stop autoboot: 0 > ARNDALE # uTTY > Unknown command 'uTTY' - try 'help' > ARNDALE # run nn > reading uImage > > 3674704 bytes read > reading uInitrd > > 2330480 bytes read > reading board.dtb > > 33680 bytes read > ## Booting kernel from Legacy Image at 20007000 ... > Image Name: Linux-exynos5420-arndale-octa > Image Type: ARM Linux Kernel Image (uncompressed) > Data Size: 3674640 Bytes = 3.5 MiB > Load Address: 41008000 > Entry Point: 41008000 > Verifying Checksum ... OK > ## Loading init Ramdisk from Legacy Image at 22000000 ... > Image Name: initramfs > Image Type: ARM Linux RAMDisk Image (uncompressed) > Data Size: 2330416 Bytes = 2.2 MiB > Load Address: 00000000 > Entry Point: 00000000 > Verifying Checksum ... OK > ## Flattened Device Tree blob at 21f00000 > Booting using the fdt blob at 0x21f00000 > Loading Kernel Image ... OK > OK > Using Device Tree in place at 21f00000, end 21f0b38f > > Starting kernel ... > > [ 0.000000] Booting Linux on physical CPU 0x0 > [ 0.000000] Linux version 3.18.0-rc6-next-20141128-00007-g33b7bf7da133 (k.kozlowski at AMDC1943) (gcc version 4.7.3 (Ubuntu/Linaro 4.7.3-12ubuntu1) ) #24 SMP PREEMPT Fri Nov 28 16:13:43 CET 2014 > [ 0.000000] CPU: ARMv7 Processor [412fc0f3] revision 3 (ARMv7), cr=10c5387d > > ... > [ 12.874514] VFS: Mounted root (ext4 filesystem) readonly on device 179:67. > [ 12.887392] devtmpfs: mounted > [ 12.889321] Freeing unused kernel memory: 324K (c0669000 - c06ba000) > [ 12.951241] Unhandled fault: imprecise external abort (0x406) at 0x00000000 > [ 12.966312] Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000007 > [ 12.966312] > [ 12.973980] CPU: 0 PID: 1 Comm: bash Tainted: G W 3.18.0-rc6-next-20141128-00007-g33b7bf7da133 #24 > [ 12.983938] Hardware name: SAMSUNG EXYNOS (Flattened Device Tree) > [ 12.990014] [<c0014d44>] (unwind_backtrace) from [<c0011c88>] (show_stack+0x10/0x14) > [ 12.997723] [<c0011c88>] (show_stack) from [<c048e82c>] (dump_stack+0x70/0xbc) > [ 13.004911] [<c048e82c>] (dump_stack) from [<c048a8c0>] (panic+0x94/0x20c) > [ 13.011753] [<c048a8c0>] (panic) from [<c0026500>] (do_exit+0x944/0x988) > [ 13.018424] [<c0026500>] (do_exit) from [<c00265f4>] (do_group_exit+0x3c/0xbc) > [ 13.025621] [<c00265f4>] (do_group_exit) from [<c0030d60>] (get_signal+0x218/0x8c4) > [ 13.033247] [<c0030d60>] (get_signal) from [<c048a39c>] (do_signal+0x84/0x350) > [ 13.040438] [<c048a39c>] (do_signal) from [<c00115ec>] (do_work_pending+0xbc/0xcc) > [ 13.047979] [<c00115ec>] (do_work_pending) from [<c000f1f8>] (work_pending+0xc/0x20) > [ 13.055693] CPU1: stopping > [ 13.058385] CPU: 1 PID: 0 Comm: swapper/1 Tainted: G W 3.18.0-rc6-next-20141128-00007-g33b7bf7da133 #24 > [ 13.068790] Hardware name: SAMSUNG EXYNOS (Flattened Device Tree) > [ 13.074858] [<c0014d44>] (unwind_backtrace) from [<c0011c88>] (show_stack+0x10/0x14) > [ 13.082573] [<c0011c88>] (show_stack) from [<c048e82c>] (dump_stack+0x70/0xbc) > [ 13.089762] [<c048e82c>] (dump_stack) from [<c0013e14>] (handle_IPI+0x158/0x18c) > [ 13.097128] [<c0013e14>] (handle_IPI) from [<c00086f4>] (gic_handle_irq+0x60/0x68) > [ 13.104669] [<c00086f4>] (gic_handle_irq) from [<c00127c4>] (__irq_svc+0x44/0x7c) > [ 13.112112] Exception stack(0xee4c3fa0 to 0xee4c3fe8) > [ 13.117135] 3fa0: c000fd7c ee4c3fe8 ee4c3ff0 00000000 c06c24e8 c04997e0 c06fa60a c06fa60a > [ 13.125287] 3fc0: 00000001 412fc0f3 00000000 00000000 00000001 ee4c3fe8 c000fd7c c000fd80 > [ 13.133429] 3fe0: 60000013 ffffffff > [ 13.136895] [<c00127c4>] (__irq_svc) from [<c000fd80>] (arch_cpu_idle+0x20/0x3c) > [ 13.144272] [<c000fd80>] (arch_cpu_idle) from [<c0059d0c>] (cpu_startup_entry+0x11c/0x1a0) > [ 13.152499] [<c0059d0c>] (cpu_startup_entry) from [<40008784>] (0x40008784) > [ 13.159424] CPU2: stopping > [ 13.162102] CPU: 2 PID: 0 Comm: swapper/2 Tainted: G W 3.18.0-rc6-next-20141128-00007-g33b7bf7da133 #24 > [ 13.172508] Hardware name: SAMSUNG EXYNOS (Flattened Device Tree) > [ 13.178577] [<c0014d44>] (unwind_backtrace) from [<c0011c88>] (show_stack+0x10/0x14) > [ 13.186291] [<c0011c88>] (show_stack) from [<c048e82c>] (dump_stack+0x70/0xbc) > [ 13.193479] [<c048e82c>] (dump_stack) from [<c0013e14>] (handle_IPI+0x158/0x18c) > [ 13.200845] [<c0013e14>] (handle_IPI) from [<c00086f4>] (gic_handle_irq+0x60/0x68) > [ 13.208386] [<c00086f4>] (gic_handle_irq) from [<c00127c4>] (__irq_svc+0x44/0x7c) > [ 13.215833] Exception stack(0xee4c5fa0 to 0xee4c5fe8) > [ 13.220854] 5fa0: c000fd7c ee4c5fe8 ee4c5ff0 00000000 c06c24e8 c04997e0 c06fa60a c06fa60a > [ 13.229006] 5fc0: 00000001 412fc0f3 00000000 00000000 00000001 ee4c5fe8 c000fd7c c000fd80 > [ 13.237149] 5fe0: 60000113 ffffffff > [ 13.240612] [<c00127c4>] (__irq_svc) from [<c000fd80>] (arch_cpu_idle+0x20/0x3c) > [ 13.247986] [<c000fd80>] (arch_cpu_idle) from [<c0059d0c>] (cpu_startup_entry+0x11c/0x1a0) > [ 13.256218] [<c0059d0c>] (cpu_startup_entry) from [<40008784>] (0x40008784) > [ 13.263144] CPU3: stopping > [ 13.265823] CPU: 3 PID: 0 Comm: swapper/3 Tainted: G W 3.18.0-rc6-next-20141128-00007-g33b7bf7da133 #24 > [ 13.276230] Hardware name: SAMSUNG EXYNOS (Flattened Device Tree) > [ 13.282300] [<c0014d44>] (unwind_backtrace) from [<c0011c88>] (show_stack+0x10/0x14) > [ 13.290012] [<c0011c88>] (show_stack) from [<c048e82c>] (dump_stack+0x70/0xbc) > [ 13.297200] [<c048e82c>] (dump_stack) from [<c0013e14>] (handle_IPI+0x158/0x18c) > [ 13.304565] [<c0013e14>] (handle_IPI) from [<c00086f4>] (gic_handle_irq+0x60/0x68) > [ 13.312108] [<c00086f4>] (gic_handle_irq) from [<c00127c4>] (__irq_svc+0x44/0x7c) > [ 13.319553] Exception stack(0xee4c7fa0 to 0xee4c7fe8) > [ 13.324576] 7fa0: c000fd7c ee4c7fe8 ee4c7ff0 00000000 c06c24e8 c04997e0 c06fa60a c06fa60a > [ 13.332727] 7fc0: 00000001 412fc0f3 00000000 00000000 00000001 ee4c7fe8 c000fd7c c000fd80 > [ 13.340870] 7fe0: 60000113 ffffffff > [ 13.344335] [<c00127c4>] (__irq_svc) from [<c000fd80>] (arch_cpu_idle+0x20/0x3c) > [ 13.351710] [<c000fd80>] (arch_cpu_idle) from [<c0059d0c>] (cpu_startup_entry+0x11c/0x1a0) > [ 13.359939] [<c0059d0c>] (cpu_startup_entry) from [<40008784>] (0x40008784) > [ 13.366878] ---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000007 > [ 13.366878] > > ================================== > > Best regards, > Krzysztof > > >> diff --git a/arch/arm/boot/dts/exynos5420-arndale-octa.dts b/arch/arm/boot/dts/exynos5420-arndale-octa.dts >> index aa7a7d7..db2c1c4 100644 >> --- a/arch/arm/boot/dts/exynos5420-arndale-octa.dts >> +++ b/arch/arm/boot/dts/exynos5420-arndale-octa.dts >> @@ -372,3 +372,7 @@ >> &usbdrd_dwc3_1 { >> dr_mode = "host"; >> }; >> + >> +&cci { >> + status = "disabled"; >> +}; >> diff --git a/arch/arm/boot/dts/exynos5420.dtsi b/arch/arm/boot/dts/exynos5420.dtsi >> index 517e50f..0a82ae7 100644 >> --- a/arch/arm/boot/dts/exynos5420.dtsi >> +++ b/arch/arm/boot/dts/exynos5420.dtsi >> @@ -120,7 +120,7 @@ >> }; >> }; >> >> - cci at 10d20000 { >> + cci: cci at 10d20000 { >> compatible = "arm,cci-400"; >> #address-cells = <1>; >> #size-cells = <1>; > ^ permalink raw reply [flat|nested] 20+ messages in thread
* [PATCH RFT 2/2] arm: dts: disable CCI on exynos420 based arndale-octa 2014-11-28 15:39 ` Abhilash Kesavan @ 2014-12-01 9:03 ` Krzysztof Kozlowski 2014-12-01 11:09 ` Russell King - ARM Linux 0 siblings, 1 reply; 20+ messages in thread From: Krzysztof Kozlowski @ 2014-12-01 9:03 UTC (permalink / raw) To: linux-arm-kernel On pi?, 2014-11-28 at 21:09 +0530, Abhilash Kesavan wrote: > Hello Krzysztof, > > On Fri, Nov 28, 2014 at 8:49 PM, Krzysztof Kozlowski > <k.kozlowski@samsung.com> wrote: > > On pi?, 2014-11-28 at 20:20 +0530, Abhilash Kesavan wrote: > >> The arndale-octa board was giving "imprecise external aborts" during > >> boot-up with MCPM enabled. CCI enablement of the boot cluster was found > >> to be the cause of these aborts (possibly because the secure f/w was not > >> allowing it). Hence, disable CCI for the arndale-octa board. > >> > >> Signed-off-by: Abhilash Kesavan <a.kesavan@samsung.com> > >> --- > >> arch/arm/boot/dts/exynos5420-arndale-octa.dts | 4 ++++ > >> arch/arm/boot/dts/exynos5420.dtsi | 2 +- > >> 2 files changed, 5 insertions(+), 1 deletion(-) > > > > I tested these 2 patches on Arndale Octa but there are no improvements. > > I still got imprecise aborts (some not fatal and sometimes killing init > > with full backtrace). > > Thanks for testing. Are you testing this with exynos_defconfig with no > other changes ? Can you please confirm from the bootlog that MCPM and > CCI are not being initialized. > That was exynos_defconfig with disabled DRM and enabled some debug, next-20141128. When I tried only exynos_defconfig (with disabled DRM) it worked fine... So the imprecise aborts were caused by one of following debug options: DEBUG_SECTION_MISMATCH DYNAMIC_DEBUG DEBUG_ATOMIC_SLEEP DEBUG_PREEMPT PROVE_LOCKING LOCKUP_DETECTOR DEBUG_LOCK_ALLOC PROVE_RCU DEBUG_RT_MUTEXES DEBUG_MUTEXES DEBUG_SPINLOCK DEBUG_LIST DEBUG_PAGEALLOC SPARSE_RCU_POINTER DEBUG_FS PM_DEBUG PM_ADVANCED_DEBUG GPIO_SYSFS > Can you remove these 2 patches and on linux-next check if you are > getting aborts even with 5420_MCPM disabled. I tried this already and imprecise aborts shown, however with my debugging options above. Overall the patches seems to work properly (although the debugging issue needs to be resolved still), so: On Arndale Octa (Exynos 5420): Tested-by: Krzysztof Kozlowski <k.kozlowski@samsung.com> Best regards, Krzysztof ^ permalink raw reply [flat|nested] 20+ messages in thread
* [PATCH RFT 2/2] arm: dts: disable CCI on exynos420 based arndale-octa 2014-12-01 9:03 ` Krzysztof Kozlowski @ 2014-12-01 11:09 ` Russell King - ARM Linux 2014-12-01 11:19 ` Krzysztof Kozlowski 0 siblings, 1 reply; 20+ messages in thread From: Russell King - ARM Linux @ 2014-12-01 11:09 UTC (permalink / raw) To: linux-arm-kernel On Mon, Dec 01, 2014 at 10:03:28AM +0100, Krzysztof Kozlowski wrote: > On pi?, 2014-11-28 at 21:09 +0530, Abhilash Kesavan wrote: > > Hello Krzysztof, > > > > On Fri, Nov 28, 2014 at 8:49 PM, Krzysztof Kozlowski > > <k.kozlowski@samsung.com> wrote: > > > On pi?, 2014-11-28 at 20:20 +0530, Abhilash Kesavan wrote: > > >> The arndale-octa board was giving "imprecise external aborts" during > > >> boot-up with MCPM enabled. CCI enablement of the boot cluster was found > > >> to be the cause of these aborts (possibly because the secure f/w was not > > >> allowing it). Hence, disable CCI for the arndale-octa board. > > >> > > >> Signed-off-by: Abhilash Kesavan <a.kesavan@samsung.com> > > >> --- > > >> arch/arm/boot/dts/exynos5420-arndale-octa.dts | 4 ++++ > > >> arch/arm/boot/dts/exynos5420.dtsi | 2 +- > > >> 2 files changed, 5 insertions(+), 1 deletion(-) > > > > > > I tested these 2 patches on Arndale Octa but there are no improvements. > > > I still got imprecise aborts (some not fatal and sometimes killing init > > > with full backtrace). > > > > Thanks for testing. Are you testing this with exynos_defconfig with no > > other changes ? Can you please confirm from the bootlog that MCPM and > > CCI are not being initialized. > > > That was exynos_defconfig with disabled DRM and enabled some debug, > next-20141128. > > When I tried only exynos_defconfig (with disabled DRM) it worked fine... > So the imprecise aborts were caused by one of following debug options: > > DEBUG_SECTION_MISMATCH > DYNAMIC_DEBUG > DEBUG_ATOMIC_SLEEP > DEBUG_PREEMPT > PROVE_LOCKING > LOCKUP_DETECTOR > DEBUG_LOCK_ALLOC > PROVE_RCU > DEBUG_RT_MUTEXES > DEBUG_MUTEXES > DEBUG_SPINLOCK > DEBUG_LIST > DEBUG_PAGEALLOC > SPARSE_RCU_POINTER > DEBUG_FS > PM_DEBUG > PM_ADVANCED_DEBUG > GPIO_SYSFS > > > Can you remove these 2 patches and on linux-next check if you are > > getting aborts even with 5420_MCPM disabled. > > I tried this already and imprecise aborts shown, however with my > debugging options above. > > Overall the patches seems to work properly (although the debugging issue > needs to be resolved still), so: > > On Arndale Octa (Exynos 5420): > Tested-by: Krzysztof Kozlowski <k.kozlowski@samsung.com> Reading this message, it seems that this should *not* be given a tested-by, because it seems from what you've reported above, they don't work correctly. If you have to turn debugging options off in order to get the kernel to apparently run correctly after applying some patches, it means those patches themselves are probably buggy, rather than the debug itself being buggy. I'd suggest that you have some further work to do (a manual bisect of the config options you've disabled) to discover which is the cause of the problem. It could be that the code introduces something like a use-after-free bug. -- FTTC broadband for 0.8mile line: currently at 9.5Mbps down 400kbps up according to speedtest.net. ^ permalink raw reply [flat|nested] 20+ messages in thread
* [PATCH RFT 2/2] arm: dts: disable CCI on exynos420 based arndale-octa 2014-12-01 11:09 ` Russell King - ARM Linux @ 2014-12-01 11:19 ` Krzysztof Kozlowski 0 siblings, 0 replies; 20+ messages in thread From: Krzysztof Kozlowski @ 2014-12-01 11:19 UTC (permalink / raw) To: linux-arm-kernel On pon, 2014-12-01 at 11:09 +0000, Russell King - ARM Linux wrote: > On Mon, Dec 01, 2014 at 10:03:28AM +0100, Krzysztof Kozlowski wrote: > > On pi?, 2014-11-28 at 21:09 +0530, Abhilash Kesavan wrote: > > > Hello Krzysztof, > > > > > > On Fri, Nov 28, 2014 at 8:49 PM, Krzysztof Kozlowski > > > <k.kozlowski@samsung.com> wrote: > > > > On pi?, 2014-11-28 at 20:20 +0530, Abhilash Kesavan wrote: > > > >> The arndale-octa board was giving "imprecise external aborts" during > > > >> boot-up with MCPM enabled. CCI enablement of the boot cluster was found > > > >> to be the cause of these aborts (possibly because the secure f/w was not > > > >> allowing it). Hence, disable CCI for the arndale-octa board. > > > >> > > > >> Signed-off-by: Abhilash Kesavan <a.kesavan@samsung.com> > > > >> --- > > > >> arch/arm/boot/dts/exynos5420-arndale-octa.dts | 4 ++++ > > > >> arch/arm/boot/dts/exynos5420.dtsi | 2 +- > > > >> 2 files changed, 5 insertions(+), 1 deletion(-) > > > > > > > > I tested these 2 patches on Arndale Octa but there are no improvements. > > > > I still got imprecise aborts (some not fatal and sometimes killing init > > > > with full backtrace). > > > > > > Thanks for testing. Are you testing this with exynos_defconfig with no > > > other changes ? Can you please confirm from the bootlog that MCPM and > > > CCI are not being initialized. > > > > > That was exynos_defconfig with disabled DRM and enabled some debug, > > next-20141128. > > > > When I tried only exynos_defconfig (with disabled DRM) it worked fine... > > So the imprecise aborts were caused by one of following debug options: > > > > DEBUG_SECTION_MISMATCH > > DYNAMIC_DEBUG > > DEBUG_ATOMIC_SLEEP > > DEBUG_PREEMPT > > PROVE_LOCKING > > LOCKUP_DETECTOR > > DEBUG_LOCK_ALLOC > > PROVE_RCU > > DEBUG_RT_MUTEXES > > DEBUG_MUTEXES > > DEBUG_SPINLOCK > > DEBUG_LIST > > DEBUG_PAGEALLOC > > SPARSE_RCU_POINTER > > DEBUG_FS > > PM_DEBUG > > PM_ADVANCED_DEBUG > > GPIO_SYSFS > > > > > Can you remove these 2 patches and on linux-next check if you are > > > getting aborts even with 5420_MCPM disabled. > > > > I tried this already and imprecise aborts shown, however with my > > debugging options above. > > > > Overall the patches seems to work properly (although the debugging issue > > needs to be resolved still), so: > > > > On Arndale Octa (Exynos 5420): > > Tested-by: Krzysztof Kozlowski <k.kozlowski@samsung.com> > > Reading this message, it seems that this should *not* be given a tested-by, > because it seems from what you've reported above, they don't work correctly. > > If you have to turn debugging options off in order to get the kernel to > apparently run correctly after applying some patches, it means those > patches themselves are probably buggy, rather than the debug itself > being buggy. > > I'd suggest that you have some further work to do (a manual bisect of the > config options you've disabled) to discover which is the cause of the > problem. > > It could be that the code introduces something like a use-after-free bug. Maybe I was to eager to add Tested-by but (without debugging options) one imprecise-abort disappears with the patchset. Other issues seem not to be fixed. Best regards, Krzysztof ^ permalink raw reply [flat|nested] 20+ messages in thread
* [PATCH RFT 2/2] arm: dts: disable CCI on exynos420 based arndale-octa 2014-11-28 14:50 ` [PATCH RFT 2/2] arm: dts: disable CCI on exynos420 based arndale-octa Abhilash Kesavan 2014-11-28 15:19 ` Krzysztof Kozlowski @ 2014-12-01 18:50 ` Kevin Hilman 2014-12-01 19:52 ` Tyler Baker 1 sibling, 1 reply; 20+ messages in thread From: Kevin Hilman @ 2014-12-01 18:50 UTC (permalink / raw) To: linux-arm-kernel Abhilash Kesavan <a.kesavan@samsung.com> writes: > The arndale-octa board was giving "imprecise external aborts" during > boot-up with MCPM enabled. CCI enablement of the boot cluster was found > to be the cause of these aborts (possibly because the secure f/w was not > allowing it). Hence, disable CCI for the arndale-octa board. > > Signed-off-by: Abhilash Kesavan <a.kesavan@samsung.com> Tested-by: Kevin Hilman <khilman@linaro.org> Tested on top of next-20141128 with exynos_defconfig on my Octa board and I'm not seeing the imprecise aborts anymore. Thanks, Kevin ^ permalink raw reply [flat|nested] 20+ messages in thread
* [PATCH RFT 2/2] arm: dts: disable CCI on exynos420 based arndale-octa 2014-12-01 18:50 ` Kevin Hilman @ 2014-12-01 19:52 ` Tyler Baker 0 siblings, 0 replies; 20+ messages in thread From: Tyler Baker @ 2014-12-01 19:52 UTC (permalink / raw) To: linux-arm-kernel On 1 December 2014 at 10:50, Kevin Hilman <khilman@kernel.org> wrote: > Abhilash Kesavan <a.kesavan@samsung.com> writes: > >> The arndale-octa board was giving "imprecise external aborts" during >> boot-up with MCPM enabled. CCI enablement of the boot cluster was found >> to be the cause of these aborts (possibly because the secure f/w was not >> allowing it). Hence, disable CCI for the arndale-octa board. >> >> Signed-off-by: Abhilash Kesavan <a.kesavan@samsung.com> > > Tested-by: Kevin Hilman <khilman@linaro.org> > > Tested on top of next-20141128 with exynos_defconfig on my Octa board > and I'm not seeing the imprecise aborts anymore. > > Thanks, > > Kevin > -- > To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in > the body of a message to majordomo at vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html Tested-by: Tyler Baker <tyler.baker@linaro.org> Tested on top of mainline/master with exynos_defconfig on my arndale-octa board. One hundred boots attempted with no imprecise aborts. Cheers, -- Tyler Baker Tech Lead, LAVA Linaro.org | Open source software for ARM SoCs Follow Linaro: http://www.facebook.com/pages/Linaro http://twitter.com/#!/linaroorg - http://www.linaro.org/linaro-blog ^ permalink raw reply [flat|nested] 20+ messages in thread
* [PATCH RFT 1/2] drivers: bus: check cci device tree node status 2014-11-28 14:50 [PATCH RFT 1/2] drivers: bus: check cci device tree node status Abhilash Kesavan 2014-11-28 14:50 ` [PATCH RFT 2/2] arm: dts: disable CCI on exynos420 based arndale-octa Abhilash Kesavan @ 2014-12-10 4:01 ` Abhilash Kesavan 2014-12-10 4:14 ` Sudeep Holla 2014-12-10 18:29 ` Nicolas Pitre 1 sibling, 2 replies; 20+ messages in thread From: Abhilash Kesavan @ 2014-12-10 4:01 UTC (permalink / raw) To: linux-arm-kernel Hi, On Fri, Nov 28, 2014 at 8:20 PM, Abhilash Kesavan <a.kesavan@samsung.com> wrote: > The arm-cci driver completes the probe sequence even if the cci node is > marked as disabled. Add a check in the driver to honour the cci status > in the device tree. > > Signed-off-by: Abhilash Kesavan <a.kesavan@samsung.com> This patch helps disable CCI on the Arndale Octa board thus resolving some imprecise aborts seen on that board. Kindly review. Regards, Abhilash > --- > drivers/bus/arm-cci.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/bus/arm-cci.c b/drivers/bus/arm-cci.c > index 860da40..0ce5e2d 100644 > --- a/drivers/bus/arm-cci.c > +++ b/drivers/bus/arm-cci.c > @@ -1312,6 +1312,9 @@ static int cci_probe(void) > if (!np) > return -ENODEV; > > + if (!of_device_is_available(np)) > + return -ENODEV; > + > cci_config = of_match_node(arm_cci_matches, np)->data; > if (!cci_config) > return -ENODEV; > -- > 1.7.9.5 > ^ permalink raw reply [flat|nested] 20+ messages in thread
* [PATCH RFT 1/2] drivers: bus: check cci device tree node status 2014-12-10 4:01 ` [PATCH RFT 1/2] drivers: bus: check cci device tree node status Abhilash Kesavan @ 2014-12-10 4:14 ` Sudeep Holla 2014-12-10 4:25 ` Abhilash Kesavan 2014-12-10 18:29 ` Nicolas Pitre 1 sibling, 1 reply; 20+ messages in thread From: Sudeep Holla @ 2014-12-10 4:14 UTC (permalink / raw) To: linux-arm-kernel Hi Abhilash, On Wednesday 10 December 2014 09:31 AM, Abhilash Kesavan wrote: > Hi, > > On Fri, Nov 28, 2014 at 8:20 PM, Abhilash Kesavan <a.kesavan@samsung.com> wrote: >> The arm-cci driver completes the probe sequence even if the cci node is >> marked as disabled. Add a check in the driver to honour the cci status >> in the device tree. >> >> Signed-off-by: Abhilash Kesavan <a.kesavan@samsung.com> > > This patch helps disable CCI on the Arndale Octa board thus resolving > some imprecise aborts seen on that board. Kindly review. > > Regards, > Abhilash >> --- >> drivers/bus/arm-cci.c | 3 +++ >> 1 file changed, 3 insertions(+) >> >> diff --git a/drivers/bus/arm-cci.c b/drivers/bus/arm-cci.c >> index 860da40..0ce5e2d 100644 >> --- a/drivers/bus/arm-cci.c >> +++ b/drivers/bus/arm-cci.c >> @@ -1312,6 +1312,9 @@ static int cci_probe(void) >> if (!np) >> return -ENODEV; >> >> + if (!of_device_is_available(np)) >> + return -ENODEV; >> + IIUC, by this change you are disabling the MCPM boot protocol here. Is there any alternative boot protocol that works on this platform to boot all 8 cores ? Sorry by quick grep couldn't find one, hence so I am asking. Regards, Sudeep ^ permalink raw reply [flat|nested] 20+ messages in thread
* [PATCH RFT 1/2] drivers: bus: check cci device tree node status 2014-12-10 4:14 ` Sudeep Holla @ 2014-12-10 4:25 ` Abhilash Kesavan 2014-12-10 5:16 ` Sudeep Holla 0 siblings, 1 reply; 20+ messages in thread From: Abhilash Kesavan @ 2014-12-10 4:25 UTC (permalink / raw) To: linux-arm-kernel Hi Sudeep, On Wed, Dec 10, 2014 at 9:44 AM, Sudeep Holla <sudeep.holla@arm.com> wrote: > Hi Abhilash, > > On Wednesday 10 December 2014 09:31 AM, Abhilash Kesavan wrote: >> >> Hi, >> >> On Fri, Nov 28, 2014 at 8:20 PM, Abhilash Kesavan <a.kesavan@samsung.com> >> wrote: >>> >>> The arm-cci driver completes the probe sequence even if the cci node is >>> marked as disabled. Add a check in the driver to honour the cci status >>> in the device tree. >>> >>> Signed-off-by: Abhilash Kesavan <a.kesavan@samsung.com> >> >> >> This patch helps disable CCI on the Arndale Octa board thus resolving >> some imprecise aborts seen on that board. Kindly review. >> >> Regards, >> Abhilash >>> >>> --- >>> drivers/bus/arm-cci.c | 3 +++ >>> 1 file changed, 3 insertions(+) >>> >>> diff --git a/drivers/bus/arm-cci.c b/drivers/bus/arm-cci.c >>> index 860da40..0ce5e2d 100644 >>> --- a/drivers/bus/arm-cci.c >>> +++ b/drivers/bus/arm-cci.c >>> @@ -1312,6 +1312,9 @@ static int cci_probe(void) >>> if (!np) >>> return -ENODEV; >>> >>> + if (!of_device_is_available(np)) >>> + return -ENODEV; >>> + > > > IIUC, by this change you are disabling the MCPM boot protocol here. > Is there any alternative boot protocol that works on this platform > to boot all 8 cores ? Sorry by quick grep couldn't find one, hence > so I am asking. Thanks for the reply. On disabling MCPM, we will default to platsmp.c/firmware.c which boots 4 cores as per Kevin's comment here[1]. This was the original behavior before MCPM was enabled for all 5420 based SoCs. Regards, Abhilash [1] http://www.spinics.net/lists/arm-kernel/msg381191.html > > Regards, > Sudeep > ^ permalink raw reply [flat|nested] 20+ messages in thread
* [PATCH RFT 1/2] drivers: bus: check cci device tree node status 2014-12-10 4:25 ` Abhilash Kesavan @ 2014-12-10 5:16 ` Sudeep Holla 2015-01-08 6:45 ` Sudeep Holla 0 siblings, 1 reply; 20+ messages in thread From: Sudeep Holla @ 2014-12-10 5:16 UTC (permalink / raw) To: linux-arm-kernel On Wednesday 10 December 2014 09:55 AM, Abhilash Kesavan wrote: > Hi Sudeep, > > On Wed, Dec 10, 2014 at 9:44 AM, Sudeep Holla <sudeep.holla@arm.com> wrote: >> Hi Abhilash, >> >> On Wednesday 10 December 2014 09:31 AM, Abhilash Kesavan wrote: >>> >>> Hi, >>> >>> On Fri, Nov 28, 2014 at 8:20 PM, Abhilash Kesavan <a.kesavan@samsung.com> >>> wrote: >>>> >>>> The arm-cci driver completes the probe sequence even if the cci node is >>>> marked as disabled. Add a check in the driver to honour the cci status >>>> in the device tree. >>>> >>>> Signed-off-by: Abhilash Kesavan <a.kesavan@samsung.com> >>> >>> >>> This patch helps disable CCI on the Arndale Octa board thus resolving >>> some imprecise aborts seen on that board. Kindly review. >>> >>> Regards, >>> Abhilash >>>> >>>> --- >>>> drivers/bus/arm-cci.c | 3 +++ >>>> 1 file changed, 3 insertions(+) >>>> >>>> diff --git a/drivers/bus/arm-cci.c b/drivers/bus/arm-cci.c >>>> index 860da40..0ce5e2d 100644 >>>> --- a/drivers/bus/arm-cci.c >>>> +++ b/drivers/bus/arm-cci.c >>>> @@ -1312,6 +1312,9 @@ static int cci_probe(void) >>>> if (!np) >>>> return -ENODEV; >>>> >>>> + if (!of_device_is_available(np)) >>>> + return -ENODEV; >>>> + >> >> >> IIUC, by this change you are disabling the MCPM boot protocol here. >> Is there any alternative boot protocol that works on this platform >> to boot all 8 cores ? Sorry by quick grep couldn't find one, hence >> so I am asking. > > Thanks for the reply. > On disabling MCPM, we will default to platsmp.c/firmware.c which boots > 4 cores as per Kevin's comment here[1]. This was the original behavior > before MCPM was enabled for all 5420 based SoCs. > Thanks for pointing that out. I assume the firmware can handle the alternate boot protocol and no more workarounds are needed especially when getting CPUIdle working in this mode. Anyways the patch makes sense irrespective how it works on exynos, so you can add, Acked-by: Sudeep Holla <sudeep.holla@arm.com> Regards, Sudeep ^ permalink raw reply [flat|nested] 20+ messages in thread
* [PATCH RFT 1/2] drivers: bus: check cci device tree node status 2014-12-10 5:16 ` Sudeep Holla @ 2015-01-08 6:45 ` Sudeep Holla 2015-01-08 15:27 ` Abhilash Kesavan 0 siblings, 1 reply; 20+ messages in thread From: Sudeep Holla @ 2015-01-08 6:45 UTC (permalink / raw) To: linux-arm-kernel Hi Abhilash, On Wednesday 10 December 2014 10:46 AM, Sudeep Holla wrote: > > > On Wednesday 10 December 2014 09:55 AM, Abhilash Kesavan wrote: >> Hi Sudeep, >> >> On Wed, Dec 10, 2014 at 9:44 AM, Sudeep Holla <sudeep.holla@arm.com> wrote: >>> Hi Abhilash, >>> >>> On Wednesday 10 December 2014 09:31 AM, Abhilash Kesavan wrote: >>>> >>>> Hi, >>>> >>>> On Fri, Nov 28, 2014 at 8:20 PM, Abhilash Kesavan <a.kesavan@samsung.com> >>>> wrote: >>>>> >>>>> The arm-cci driver completes the probe sequence even if the cci node is >>>>> marked as disabled. Add a check in the driver to honour the cci status >>>>> in the device tree. >>>>> >>>>> Signed-off-by: Abhilash Kesavan <a.kesavan@samsung.com> >>>> >>>> >>>> This patch helps disable CCI on the Arndale Octa board thus resolving >>>> some imprecise aborts seen on that board. Kindly review. >>>> >>>> Regards, >>>> Abhilash >>>>> >>>>> --- >>>>> drivers/bus/arm-cci.c | 3 +++ >>>>> 1 file changed, 3 insertions(+) >>>>> >>>>> diff --git a/drivers/bus/arm-cci.c b/drivers/bus/arm-cci.c >>>>> index 860da40..0ce5e2d 100644 >>>>> --- a/drivers/bus/arm-cci.c >>>>> +++ b/drivers/bus/arm-cci.c >>>>> @@ -1312,6 +1312,9 @@ static int cci_probe(void) >>>>> if (!np) >>>>> return -ENODEV; >>>>> >>>>> + if (!of_device_is_available(np)) >>>>> + return -ENODEV; >>>>> + >>> >>> >>> IIUC, by this change you are disabling the MCPM boot protocol here. >>> Is there any alternative boot protocol that works on this platform >>> to boot all 8 cores ? Sorry by quick grep couldn't find one, hence >>> so I am asking. >> >> Thanks for the reply. >> On disabling MCPM, we will default to platsmp.c/firmware.c which boots >> 4 cores as per Kevin's comment here[1]. This was the original behavior >> before MCPM was enabled for all 5420 based SoCs. >> > > Thanks for pointing that out. I assume the firmware can handle the > alternate boot protocol and no more workarounds are needed especially > when getting CPUIdle working in this mode. > > Anyways the patch makes sense irrespective how it works on exynos, so > you can add, > > Acked-by: Sudeep Holla <sudeep.holla@arm.com> > What's the status of this patch. It was useful for me on vexpress for some testing. Please feel free to add Tested-by: Sudeep Holla <sudeep.holla@arm.com> if this is not yet queued. Regards, Sudeep ^ permalink raw reply [flat|nested] 20+ messages in thread
* [PATCH RFT 1/2] drivers: bus: check cci device tree node status 2015-01-08 6:45 ` Sudeep Holla @ 2015-01-08 15:27 ` Abhilash Kesavan 2015-01-09 5:10 ` Sudeep Holla 0 siblings, 1 reply; 20+ messages in thread From: Abhilash Kesavan @ 2015-01-08 15:27 UTC (permalink / raw) To: linux-arm-kernel Hi Sudeep, On Thu, Jan 8, 2015 at 12:15 PM, Sudeep Holla <sudeep.holla@arm.com> wrote: > Hi Abhilash, > > On Wednesday 10 December 2014 10:46 AM, Sudeep Holla wrote: >> >> >> >> On Wednesday 10 December 2014 09:55 AM, Abhilash Kesavan wrote: >>> >>> Hi Sudeep, >>> >>> On Wed, Dec 10, 2014 at 9:44 AM, Sudeep Holla <sudeep.holla@arm.com> >>> wrote: >>>> >>>> Hi Abhilash, >>>> >>>> On Wednesday 10 December 2014 09:31 AM, Abhilash Kesavan wrote: >>>>> >>>>> >>>>> Hi, >>>>> >>>>> On Fri, Nov 28, 2014 at 8:20 PM, Abhilash Kesavan >>>>> <a.kesavan@samsung.com> >>>>> wrote: >>>>>> >>>>>> >>>>>> The arm-cci driver completes the probe sequence even if the cci node >>>>>> is >>>>>> marked as disabled. Add a check in the driver to honour the cci status >>>>>> in the device tree. >>>>>> >>>>>> Signed-off-by: Abhilash Kesavan <a.kesavan@samsung.com> >>>>> >>>>> >>>>> >>>>> This patch helps disable CCI on the Arndale Octa board thus resolving >>>>> some imprecise aborts seen on that board. Kindly review. >>>>> >>>>> Regards, >>>>> Abhilash >>>>>> >>>>>> >>>>>> --- >>>>>> drivers/bus/arm-cci.c | 3 +++ >>>>>> 1 file changed, 3 insertions(+) >>>>>> >>>>>> diff --git a/drivers/bus/arm-cci.c b/drivers/bus/arm-cci.c >>>>>> index 860da40..0ce5e2d 100644 >>>>>> --- a/drivers/bus/arm-cci.c >>>>>> +++ b/drivers/bus/arm-cci.c >>>>>> @@ -1312,6 +1312,9 @@ static int cci_probe(void) >>>>>> if (!np) >>>>>> return -ENODEV; >>>>>> >>>>>> + if (!of_device_is_available(np)) >>>>>> + return -ENODEV; >>>>>> + >>>> >>>> >>>> >>>> IIUC, by this change you are disabling the MCPM boot protocol here. >>>> Is there any alternative boot protocol that works on this platform >>>> to boot all 8 cores ? Sorry by quick grep couldn't find one, hence >>>> so I am asking. >>> >>> >>> Thanks for the reply. >>> On disabling MCPM, we will default to platsmp.c/firmware.c which boots >>> 4 cores as per Kevin's comment here[1]. This was the original behavior >>> before MCPM was enabled for all 5420 based SoCs. >>> >> >> Thanks for pointing that out. I assume the firmware can handle the >> alternate boot protocol and no more workarounds are needed especially >> when getting CPUIdle working in this mode. >> >> Anyways the patch makes sense irrespective how it works on exynos, so >> you can add, >> >> Acked-by: Sudeep Holla <sudeep.holla@arm.com> >> > > What's the status of this patch. It was useful for me on vexpress for some > testing. Please feel free to add > > Tested-by: Sudeep Holla <sudeep.holla@arm.com> > > if this is not yet queued. Thanks for the tested-by. This patch has not been merged yet; I am not quite sure who is supposed to pick this up. Regards, Abhilash > > Regards, > Sudeep > ^ permalink raw reply [flat|nested] 20+ messages in thread
* [PATCH RFT 1/2] drivers: bus: check cci device tree node status 2015-01-08 15:27 ` Abhilash Kesavan @ 2015-01-09 5:10 ` Sudeep Holla 2015-01-09 16:28 ` Abhilash Kesavan 0 siblings, 1 reply; 20+ messages in thread From: Sudeep Holla @ 2015-01-09 5:10 UTC (permalink / raw) To: linux-arm-kernel On Thursday 08 January 2015 08:57 PM, Abhilash Kesavan wrote: > Hi Sudeep, > > On Thu, Jan 8, 2015 at 12:15 PM, Sudeep Holla <sudeep.holla@arm.com> wrote: >> Hi Abhilash, [...] >> >> What's the status of this patch. It was useful for me on vexpress for some >> testing. Please feel free to add >> >> Tested-by: Sudeep Holla <sudeep.holla@arm.com> >> >> if this is not yet queued. > > Thanks for the tested-by. This patch has not been merged yet; I am not > quite sure who is supposed to pick this up. > So far, most of the CCI patches are merged through arm-soc. Regards, Sudeep ^ permalink raw reply [flat|nested] 20+ messages in thread
* [PATCH RFT 1/2] drivers: bus: check cci device tree node status 2015-01-09 5:10 ` Sudeep Holla @ 2015-01-09 16:28 ` Abhilash Kesavan 2015-01-09 21:09 ` Kevin Hilman 0 siblings, 1 reply; 20+ messages in thread From: Abhilash Kesavan @ 2015-01-09 16:28 UTC (permalink / raw) To: linux-arm-kernel Hi Arnd/Olof, On Fri, Jan 9, 2015 at 10:40 AM, Sudeep Holla <sudeep.holla@arm.com> wrote: > > > On Thursday 08 January 2015 08:57 PM, Abhilash Kesavan wrote: >> >> Hi Sudeep, >> >> On Thu, Jan 8, 2015 at 12:15 PM, Sudeep Holla <sudeep.holla@arm.com> >> wrote: >>> >>> Hi Abhilash, > > > [...] > >>> >>> What's the status of this patch. It was useful for me on vexpress for >>> some >>> testing. Please feel free to add >>> >>> Tested-by: Sudeep Holla <sudeep.holla@arm.com> >>> >>> if this is not yet queued. >> >> >> Thanks for the tested-by. This patch has not been merged yet; I am not >> quite sure who is supposed to pick this up. >> > > So far, most of the CCI patches are merged through arm-soc. Would you be OK picking this up as is or do you want me to re-send this with the RFT tag dropped ? Regards, Abhilash > > Regards, > Sudeep > ^ permalink raw reply [flat|nested] 20+ messages in thread
* [PATCH RFT 1/2] drivers: bus: check cci device tree node status 2015-01-09 16:28 ` Abhilash Kesavan @ 2015-01-09 21:09 ` Kevin Hilman 2015-01-10 3:21 ` Abhilash Kesavan 0 siblings, 1 reply; 20+ messages in thread From: Kevin Hilman @ 2015-01-09 21:09 UTC (permalink / raw) To: linux-arm-kernel Abhilash Kesavan <kesavan.abhilash@gmail.com> writes: > Hi Arnd/Olof, > > On Fri, Jan 9, 2015 at 10:40 AM, Sudeep Holla <sudeep.holla@arm.com> wrote: >> >> >> On Thursday 08 January 2015 08:57 PM, Abhilash Kesavan wrote: >>> >>> Hi Sudeep, >>> >>> On Thu, Jan 8, 2015 at 12:15 PM, Sudeep Holla <sudeep.holla@arm.com> >>> wrote: >>>> >>>> Hi Abhilash, >> >> >> [...] >> >>>> >>>> What's the status of this patch. It was useful for me on vexpress for >>>> some >>>> testing. Please feel free to add >>>> >>>> Tested-by: Sudeep Holla <sudeep.holla@arm.com> >>>> >>>> if this is not yet queued. >>> >>> >>> Thanks for the tested-by. This patch has not been merged yet; I am not >>> quite sure who is supposed to pick this up. >>> >> >> So far, most of the CCI patches are merged through arm-soc. > > Would you be OK picking this up as is or do you want me to re-send > this with the RFT tag dropped ? Please resend without the RFT, and collect the Tested-by tags you can add mine: Tested-by: Kevin Hilman <khilman@linaro.org> Please send to arm at kernel.org where patches targeted for the arm-soc tree are collected. Thanks, Kevin ^ permalink raw reply [flat|nested] 20+ messages in thread
* [PATCH RFT 1/2] drivers: bus: check cci device tree node status 2015-01-09 21:09 ` Kevin Hilman @ 2015-01-10 3:21 ` Abhilash Kesavan 0 siblings, 0 replies; 20+ messages in thread From: Abhilash Kesavan @ 2015-01-10 3:21 UTC (permalink / raw) To: linux-arm-kernel Hi Kevin, On Sat, Jan 10, 2015 at 2:39 AM, Kevin Hilman <khilman@kernel.org> wrote: > Abhilash Kesavan <kesavan.abhilash@gmail.com> writes: > >> Hi Arnd/Olof, >> >> On Fri, Jan 9, 2015 at 10:40 AM, Sudeep Holla <sudeep.holla@arm.com> wrote: >>> >>> >>> On Thursday 08 January 2015 08:57 PM, Abhilash Kesavan wrote: >>>> >>>> Hi Sudeep, >>>> >>>> On Thu, Jan 8, 2015 at 12:15 PM, Sudeep Holla <sudeep.holla@arm.com> >>>> wrote: >>>>> >>>>> Hi Abhilash, >>> >>> >>> [...] >>> >>>>> >>>>> What's the status of this patch. It was useful for me on vexpress for >>>>> some >>>>> testing. Please feel free to add >>>>> >>>>> Tested-by: Sudeep Holla <sudeep.holla@arm.com> >>>>> >>>>> if this is not yet queued. >>>> >>>> >>>> Thanks for the tested-by. This patch has not been merged yet; I am not >>>> quite sure who is supposed to pick this up. >>>> >>> >>> So far, most of the CCI patches are merged through arm-soc. >> >> Would you be OK picking this up as is or do you want me to re-send >> this with the RFT tag dropped ? > > Please resend without the RFT, and collect the Tested-by tags > you can add mine: > > Tested-by: Kevin Hilman <khilman@linaro.org> > > Please send to arm at kernel.org where patches targeted for the arm-soc > tree are collected. I have done as suggested. Kindly check. Regards, Abhilash > > Thanks, > > Kevin > ^ permalink raw reply [flat|nested] 20+ messages in thread
* [PATCH RFT 1/2] drivers: bus: check cci device tree node status 2014-12-10 4:01 ` [PATCH RFT 1/2] drivers: bus: check cci device tree node status Abhilash Kesavan 2014-12-10 4:14 ` Sudeep Holla @ 2014-12-10 18:29 ` Nicolas Pitre 1 sibling, 0 replies; 20+ messages in thread From: Nicolas Pitre @ 2014-12-10 18:29 UTC (permalink / raw) To: linux-arm-kernel On Wed, 10 Dec 2014, Abhilash Kesavan wrote: > Hi, > > On Fri, Nov 28, 2014 at 8:20 PM, Abhilash Kesavan <a.kesavan@samsung.com> wrote: > > The arm-cci driver completes the probe sequence even if the cci node is > > marked as disabled. Add a check in the driver to honour the cci status > > in the device tree. > > > > Signed-off-by: Abhilash Kesavan <a.kesavan@samsung.com> > > This patch helps disable CCI on the Arndale Octa board thus resolving > some imprecise aborts seen on that board. Kindly review. Acked-by: Nicolas Pitre <nico@linaro.org> > > Regards, > Abhilash > > --- > > drivers/bus/arm-cci.c | 3 +++ > > 1 file changed, 3 insertions(+) > > > > diff --git a/drivers/bus/arm-cci.c b/drivers/bus/arm-cci.c > > index 860da40..0ce5e2d 100644 > > --- a/drivers/bus/arm-cci.c > > +++ b/drivers/bus/arm-cci.c > > @@ -1312,6 +1312,9 @@ static int cci_probe(void) > > if (!np) > > return -ENODEV; > > > > + if (!of_device_is_available(np)) > > + return -ENODEV; > > + > > cci_config = of_match_node(arm_cci_matches, np)->data; > > if (!cci_config) > > return -ENODEV; > > -- > > 1.7.9.5 > > > > ^ permalink raw reply [flat|nested] 20+ messages in thread
end of thread, other threads:[~2015-01-10 3:21 UTC | newest] Thread overview: 20+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2014-11-28 14:50 [PATCH RFT 1/2] drivers: bus: check cci device tree node status Abhilash Kesavan 2014-11-28 14:50 ` [PATCH RFT 2/2] arm: dts: disable CCI on exynos420 based arndale-octa Abhilash Kesavan 2014-11-28 15:19 ` Krzysztof Kozlowski 2014-11-28 15:39 ` Abhilash Kesavan 2014-12-01 9:03 ` Krzysztof Kozlowski 2014-12-01 11:09 ` Russell King - ARM Linux 2014-12-01 11:19 ` Krzysztof Kozlowski 2014-12-01 18:50 ` Kevin Hilman 2014-12-01 19:52 ` Tyler Baker 2014-12-10 4:01 ` [PATCH RFT 1/2] drivers: bus: check cci device tree node status Abhilash Kesavan 2014-12-10 4:14 ` Sudeep Holla 2014-12-10 4:25 ` Abhilash Kesavan 2014-12-10 5:16 ` Sudeep Holla 2015-01-08 6:45 ` Sudeep Holla 2015-01-08 15:27 ` Abhilash Kesavan 2015-01-09 5:10 ` Sudeep Holla 2015-01-09 16:28 ` Abhilash Kesavan 2015-01-09 21:09 ` Kevin Hilman 2015-01-10 3:21 ` Abhilash Kesavan 2014-12-10 18:29 ` Nicolas Pitre
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).