* Re: non-Multiplatform APE6EVM broken in v3.18-rc1 [not found] ` <20141029001258.GE20702@verge.net.au> @ 2014-10-29 2:08 ` Simon Horman 2014-10-29 8:13 ` Geert Uytterhoeven 0 siblings, 1 reply; 6+ messages in thread From: Simon Horman @ 2014-10-29 2:08 UTC (permalink / raw) To: Geert Uytterhoeven Cc: Linux-sh list, Sudeep Holla, Daniel Lezcano, linux-kernel [ CC Sudeep Holla, Daniel Lezcano, LKML ] On Wed, Oct 29, 2014 at 09:12:58AM +0900, Simon Horman wrote: > On Tue, Oct 28, 2014 at 10:32:32AM +0100, Geert Uytterhoeven wrote: > > Hi Simon, > > > > On Tue, Oct 28, 2014 at 10:23 AM, Simon Horman <horms@verge.net.au> wrote: > > > On Tue, Oct 28, 2014 at 08:59:28AM +0100, Geert Uytterhoeven wrote: > > >> On Tue, Oct 28, 2014 at 1:41 AM, Simon Horman <horms@verge.net.au> wrote: > > >> > I have noticed that there appears to be a regression between v3.17 and > > >> > v3.18-rc1 such that non-multiplatform APE6EVM (ape6evm_defconfig) no longer > > >> > boots. This appears to be the case using both reference DT (MACH_APE6EVM) > > >> > > >> How does it manifest itself? > > >> If you don't get any console output, have you tried my early debug patch? > > > > > > IIRC, there was no console output. > > > I have not tried any out-of tree debug code :) > > > > Perhaps it should just move in-tree? > > Yes, perhaps it should :) > > Regardless, I will try to give it a spin and report back. Thanks that seems to work well on the ape6evm. It seems that the boot stops here: ... smsc911x smsc911x eth0: MAC Address: 00:08:f7:00:02:4b rcar_thermal rcar_thermal: Runtime PM disabled, clock forced on. rcar_thermal rcar_thermal: 3 sensor probed sh_mobile_sdhi sh_mobile_sdhi.0: Runtime PM disabled, clock forced on. sh_mobile_sdhi sh_mobile_sdhi.0: No vqmmc regulator found I re-ran my bisection and this time the following showed up as the culprit. I suspect that the initialisation of mmcif, which is usually the next device to be initialised, sleeps and never wakes up because the timer is disabled. commit c387f07e6205cc13f57c1def5f885bf0a20e1c2d Author: Sudeep Holla <sudeep.holla@arm.com> Date: Mon Sep 29 01:50:05 2014 +0200 clocksource: arm_arch_timer: Discard unavailable timers correctly Currently we wait until both cp15 and mem timers are probed if we have both timer device nodes present in the device tree without checking if the device is actually available. If one of the timer device node present is disabled, the system locks up on the boot as no timer gets registered. This patch adds the check for the availability of the timer device so that unavailable timers are discarded correctly. It also adds the missing of_node_put. Signed-off-by: Sudeep Holla <sudeep.holla@arm.com> Reviewed-by: Stephen Boyd <sboyd@codeaurora.org> Acked-by: Mark Rutland <mark.rutland@arm.com> Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org> diff --git a/drivers/clocksource/arm_arch_timer.c b/drivers/clocksource/arm_arch_timer.c index 5163ec1..7e267e3 100644 --- a/drivers/clocksource/arm_arch_timer.c +++ b/drivers/clocksource/arm_arch_timer.c @@ -616,17 +616,29 @@ static const struct of_device_id arch_timer_mem_of_match[] __initconst = { {}, }; +static bool __init +arch_timer_probed(int type, const struct of_device_id *matches) +{ + struct device_node *dn; + bool probed = false; + + dn = of_find_matching_node(NULL, matches); + if (dn && of_device_is_available(dn) && (arch_timers_present & type)) + probed = true; + of_node_put(dn); + + return probed; +} + static void __init arch_timer_common_init(void) { unsigned mask = ARCH_CP15_TIMER | ARCH_MEM_TIMER; /* Wait until both nodes are probed if we have two timers */ if ((arch_timers_present & mask) != mask) { - if (of_find_matching_node(NULL, arch_timer_mem_of_match) && - !(arch_timers_present & ARCH_MEM_TIMER)) + if (!arch_timer_probed(ARCH_MEM_TIMER, arch_timer_mem_of_match)) return; - if (of_find_matching_node(NULL, arch_timer_of_match) && - !(arch_timers_present & ARCH_CP15_TIMER)) + if (!arch_timer_probed(ARCH_CP15_TIMER, arch_timer_of_match)) return; } ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: non-Multiplatform APE6EVM broken in v3.18-rc1 2014-10-29 2:08 ` non-Multiplatform APE6EVM broken in v3.18-rc1 Simon Horman @ 2014-10-29 8:13 ` Geert Uytterhoeven 2014-10-29 9:05 ` Simon Horman 0 siblings, 1 reply; 6+ messages in thread From: Geert Uytterhoeven @ 2014-10-29 8:13 UTC (permalink / raw) To: Simon Horman Cc: Linux-sh list, Sudeep Holla, Daniel Lezcano, linux-kernel@vger.kernel.org On Wed, Oct 29, 2014 at 3:08 AM, Simon Horman <horms@verge.net.au> wrote: > On Wed, Oct 29, 2014 at 09:12:58AM +0900, Simon Horman wrote: >> On Tue, Oct 28, 2014 at 10:32:32AM +0100, Geert Uytterhoeven wrote: >> > On Tue, Oct 28, 2014 at 10:23 AM, Simon Horman <horms@verge.net.au> wrote: >> > > On Tue, Oct 28, 2014 at 08:59:28AM +0100, Geert Uytterhoeven wrote: >> > >> On Tue, Oct 28, 2014 at 1:41 AM, Simon Horman <horms@verge.net.au> wrote: >> > >> > I have noticed that there appears to be a regression between v3.17 and >> > >> > v3.18-rc1 such that non-multiplatform APE6EVM (ape6evm_defconfig) no longer >> > >> > boots. This appears to be the case using both reference DT (MACH_APE6EVM) > It seems that the boot stops here: > > ... > smsc911x smsc911x eth0: MAC Address: 00:08:f7:00:02:4b > rcar_thermal rcar_thermal: Runtime PM disabled, clock forced on. > rcar_thermal rcar_thermal: 3 sensor probed > sh_mobile_sdhi sh_mobile_sdhi.0: Runtime PM disabled, clock forced on. > sh_mobile_sdhi sh_mobile_sdhi.0: No vqmmc regulator found > > I re-ran my bisection and this time the following showed up as the culprit. > > I suspect that the initialisation of mmcif, which is usually the next > device to be initialised, sleeps and never wakes up because the timer is > disabled. > > commit c387f07e6205cc13f57c1def5f885bf0a20e1c2d > Author: Sudeep Holla <sudeep.holla@arm.com> > Date: Mon Sep 29 01:50:05 2014 +0200 > > clocksource: arm_arch_timer: Discard unavailable timers correctly Apparently reported and fixed by Laurent and a few others, cfr. http://www.spinics.net/lists/arm-kernel/msg371615.html Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: non-Multiplatform APE6EVM broken in v3.18-rc1 2014-10-29 8:13 ` Geert Uytterhoeven @ 2014-10-29 9:05 ` Simon Horman 2014-10-30 1:34 ` Simon Horman 0 siblings, 1 reply; 6+ messages in thread From: Simon Horman @ 2014-10-29 9:05 UTC (permalink / raw) To: Geert Uytterhoeven Cc: Linux-sh list, Sudeep Holla, Daniel Lezcano, linux-kernel@vger.kernel.org On Wed, Oct 29, 2014 at 09:13:11AM +0100, Geert Uytterhoeven wrote: > On Wed, Oct 29, 2014 at 3:08 AM, Simon Horman <horms@verge.net.au> wrote: > > On Wed, Oct 29, 2014 at 09:12:58AM +0900, Simon Horman wrote: > >> On Tue, Oct 28, 2014 at 10:32:32AM +0100, Geert Uytterhoeven wrote: > >> > On Tue, Oct 28, 2014 at 10:23 AM, Simon Horman <horms@verge.net.au> wrote: > >> > > On Tue, Oct 28, 2014 at 08:59:28AM +0100, Geert Uytterhoeven wrote: > >> > >> On Tue, Oct 28, 2014 at 1:41 AM, Simon Horman <horms@verge.net.au> wrote: > >> > >> > I have noticed that there appears to be a regression between v3.17 and > >> > >> > v3.18-rc1 such that non-multiplatform APE6EVM (ape6evm_defconfig) no longer > >> > >> > boots. This appears to be the case using both reference DT (MACH_APE6EVM) > > > It seems that the boot stops here: > > > > ... > > smsc911x smsc911x eth0: MAC Address: 00:08:f7:00:02:4b > > rcar_thermal rcar_thermal: Runtime PM disabled, clock forced on. > > rcar_thermal rcar_thermal: 3 sensor probed > > sh_mobile_sdhi sh_mobile_sdhi.0: Runtime PM disabled, clock forced on. > > sh_mobile_sdhi sh_mobile_sdhi.0: No vqmmc regulator found > > > > I re-ran my bisection and this time the following showed up as the culprit. > > > > I suspect that the initialisation of mmcif, which is usually the next > > device to be initialised, sleeps and never wakes up because the timer is > > disabled. > > > > commit c387f07e6205cc13f57c1def5f885bf0a20e1c2d > > Author: Sudeep Holla <sudeep.holla@arm.com> > > Date: Mon Sep 29 01:50:05 2014 +0200 > > > > clocksource: arm_arch_timer: Discard unavailable timers correctly > > Apparently reported and fixed by Laurent and a few others, cfr. > http://www.spinics.net/lists/arm-kernel/msg371615.html Great! ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: non-Multiplatform APE6EVM broken in v3.18-rc1 2014-10-29 9:05 ` Simon Horman @ 2014-10-30 1:34 ` Simon Horman 2014-11-03 10:33 ` Daniel Lezcano 0 siblings, 1 reply; 6+ messages in thread From: Simon Horman @ 2014-10-30 1:34 UTC (permalink / raw) To: Geert Uytterhoeven Cc: Linux-sh list, Sudeep Holla, Daniel Lezcano, linux-kernel@vger.kernel.org On Wed, Oct 29, 2014 at 06:05:03PM +0900, Simon Horman wrote: > On Wed, Oct 29, 2014 at 09:13:11AM +0100, Geert Uytterhoeven wrote: > > On Wed, Oct 29, 2014 at 3:08 AM, Simon Horman <horms@verge.net.au> wrote: > > > On Wed, Oct 29, 2014 at 09:12:58AM +0900, Simon Horman wrote: > > >> On Tue, Oct 28, 2014 at 10:32:32AM +0100, Geert Uytterhoeven wrote: > > >> > On Tue, Oct 28, 2014 at 10:23 AM, Simon Horman <horms@verge.net.au> wrote: > > >> > > On Tue, Oct 28, 2014 at 08:59:28AM +0100, Geert Uytterhoeven wrote: > > >> > >> On Tue, Oct 28, 2014 at 1:41 AM, Simon Horman <horms@verge.net.au> wrote: > > >> > >> > I have noticed that there appears to be a regression between v3.17 and > > >> > >> > v3.18-rc1 such that non-multiplatform APE6EVM (ape6evm_defconfig) no longer > > >> > >> > boots. This appears to be the case using both reference DT (MACH_APE6EVM) > > > > > It seems that the boot stops here: > > > > > > ... > > > smsc911x smsc911x eth0: MAC Address: 00:08:f7:00:02:4b > > > rcar_thermal rcar_thermal: Runtime PM disabled, clock forced on. > > > rcar_thermal rcar_thermal: 3 sensor probed > > > sh_mobile_sdhi sh_mobile_sdhi.0: Runtime PM disabled, clock forced on. > > > sh_mobile_sdhi sh_mobile_sdhi.0: No vqmmc regulator found > > > > > > I re-ran my bisection and this time the following showed up as the culprit. > > > > > > I suspect that the initialisation of mmcif, which is usually the next > > > device to be initialised, sleeps and never wakes up because the timer is > > > disabled. > > > > > > commit c387f07e6205cc13f57c1def5f885bf0a20e1c2d > > > Author: Sudeep Holla <sudeep.holla@arm.com> > > > Date: Mon Sep 29 01:50:05 2014 +0200 > > > > > > clocksource: arm_arch_timer: Discard unavailable timers correctly > > > > Apparently reported and fixed by Laurent and a few others, cfr. > > http://www.spinics.net/lists/arm-kernel/msg371615.html I have temporarily cherry-picked the following, which is no present in linux-next, into the devel branch of the renesas tree. It appears to resolve the problem I reported. b0ad5917960ca80f96bae ("ARM/ARM64: arch-timer: fix arch_timer_probed logic") ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: non-Multiplatform APE6EVM broken in v3.18-rc1 2014-10-30 1:34 ` Simon Horman @ 2014-11-03 10:33 ` Daniel Lezcano 2014-11-04 0:52 ` Simon Horman 0 siblings, 1 reply; 6+ messages in thread From: Daniel Lezcano @ 2014-11-03 10:33 UTC (permalink / raw) To: Simon Horman, Geert Uytterhoeven Cc: Linux-sh list, Sudeep Holla, linux-kernel@vger.kernel.org On 10/30/2014 02:34 AM, Simon Horman wrote: > On Wed, Oct 29, 2014 at 06:05:03PM +0900, Simon Horman wrote: >> On Wed, Oct 29, 2014 at 09:13:11AM +0100, Geert Uytterhoeven wrote: >>> On Wed, Oct 29, 2014 at 3:08 AM, Simon Horman <horms@verge.net.au> wrote: >>>> On Wed, Oct 29, 2014 at 09:12:58AM +0900, Simon Horman wrote: >>>>> On Tue, Oct 28, 2014 at 10:32:32AM +0100, Geert Uytterhoeven wrote: >>>>>> On Tue, Oct 28, 2014 at 10:23 AM, Simon Horman <horms@verge.net.au> wrote: >>>>>>> On Tue, Oct 28, 2014 at 08:59:28AM +0100, Geert Uytterhoeven wrote: >>>>>>>> On Tue, Oct 28, 2014 at 1:41 AM, Simon Horman <horms@verge.net.au> wrote: >>>>>>>>> I have noticed that there appears to be a regression between v3.17 and >>>>>>>>> v3.18-rc1 such that non-multiplatform APE6EVM (ape6evm_defconfig) no longer >>>>>>>>> boots. This appears to be the case using both reference DT (MACH_APE6EVM) >>> >>>> It seems that the boot stops here: >>>> >>>> ... >>>> smsc911x smsc911x eth0: MAC Address: 00:08:f7:00:02:4b >>>> rcar_thermal rcar_thermal: Runtime PM disabled, clock forced on. >>>> rcar_thermal rcar_thermal: 3 sensor probed >>>> sh_mobile_sdhi sh_mobile_sdhi.0: Runtime PM disabled, clock forced on. >>>> sh_mobile_sdhi sh_mobile_sdhi.0: No vqmmc regulator found >>>> >>>> I re-ran my bisection and this time the following showed up as the culprit. >>>> >>>> I suspect that the initialisation of mmcif, which is usually the next >>>> device to be initialised, sleeps and never wakes up because the timer is >>>> disabled. >>>> >>>> commit c387f07e6205cc13f57c1def5f885bf0a20e1c2d >>>> Author: Sudeep Holla <sudeep.holla@arm.com> >>>> Date: Mon Sep 29 01:50:05 2014 +0200 >>>> >>>> clocksource: arm_arch_timer: Discard unavailable timers correctly >>> >>> Apparently reported and fixed by Laurent and a few others, cfr. >>> http://www.spinics.net/lists/arm-kernel/msg371615.html > > I have temporarily cherry-picked the following, which is no present in > linux-next, into the devel branch of the renesas tree. It appears to > resolve the problem I reported. > > b0ad5917960ca80f96bae ("ARM/ARM64: arch-timer: fix arch_timer_probed logic") Yes, that is the right one. This patch is now upstream and will be in -rc3. Thanks -- Daniel -- <http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs Follow Linaro: <http://www.facebook.com/pages/Linaro> Facebook | <http://twitter.com/#!/linaroorg> Twitter | <http://www.linaro.org/linaro-blog/> Blog ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: non-Multiplatform APE6EVM broken in v3.18-rc1 2014-11-03 10:33 ` Daniel Lezcano @ 2014-11-04 0:52 ` Simon Horman 0 siblings, 0 replies; 6+ messages in thread From: Simon Horman @ 2014-11-04 0:52 UTC (permalink / raw) To: Daniel Lezcano Cc: Geert Uytterhoeven, Linux-sh list, Sudeep Holla, linux-kernel@vger.kernel.org On Mon, Nov 03, 2014 at 11:33:33AM +0100, Daniel Lezcano wrote: > On 10/30/2014 02:34 AM, Simon Horman wrote: > >On Wed, Oct 29, 2014 at 06:05:03PM +0900, Simon Horman wrote: > >>On Wed, Oct 29, 2014 at 09:13:11AM +0100, Geert Uytterhoeven wrote: > >>>On Wed, Oct 29, 2014 at 3:08 AM, Simon Horman <horms@verge.net.au> wrote: > >>>>On Wed, Oct 29, 2014 at 09:12:58AM +0900, Simon Horman wrote: > >>>>>On Tue, Oct 28, 2014 at 10:32:32AM +0100, Geert Uytterhoeven wrote: > >>>>>>On Tue, Oct 28, 2014 at 10:23 AM, Simon Horman <horms@verge.net.au> wrote: > >>>>>>>On Tue, Oct 28, 2014 at 08:59:28AM +0100, Geert Uytterhoeven wrote: > >>>>>>>>On Tue, Oct 28, 2014 at 1:41 AM, Simon Horman <horms@verge.net.au> wrote: > >>>>>>>>>I have noticed that there appears to be a regression between v3.17 and > >>>>>>>>>v3.18-rc1 such that non-multiplatform APE6EVM (ape6evm_defconfig) no longer > >>>>>>>>>boots. This appears to be the case using both reference DT (MACH_APE6EVM) > >>> > >>>>It seems that the boot stops here: > >>>> > >>>>... > >>>>smsc911x smsc911x eth0: MAC Address: 00:08:f7:00:02:4b > >>>>rcar_thermal rcar_thermal: Runtime PM disabled, clock forced on. > >>>>rcar_thermal rcar_thermal: 3 sensor probed > >>>>sh_mobile_sdhi sh_mobile_sdhi.0: Runtime PM disabled, clock forced on. > >>>>sh_mobile_sdhi sh_mobile_sdhi.0: No vqmmc regulator found > >>>> > >>>>I re-ran my bisection and this time the following showed up as the culprit. > >>>> > >>>>I suspect that the initialisation of mmcif, which is usually the next > >>>>device to be initialised, sleeps and never wakes up because the timer is > >>>>disabled. > >>>> > >>>>commit c387f07e6205cc13f57c1def5f885bf0a20e1c2d > >>>>Author: Sudeep Holla <sudeep.holla@arm.com> > >>>>Date: Mon Sep 29 01:50:05 2014 +0200 > >>>> > >>>> clocksource: arm_arch_timer: Discard unavailable timers correctly > >>> > >>>Apparently reported and fixed by Laurent and a few others, cfr. > >>>http://www.spinics.net/lists/arm-kernel/msg371615.html > > > >I have temporarily cherry-picked the following, which is no present in > >linux-next, into the devel branch of the renesas tree. It appears to > >resolve the problem I reported. > > > >b0ad5917960ca80f96bae ("ARM/ARM64: arch-timer: fix arch_timer_probed logic") > > Yes, that is the right one. > > This patch is now upstream and will be in -rc3. Thanks, I see it in -rc3 now. ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2014-11-04 0:53 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20141028004131.GA8280@verge.net.au>
[not found] ` <CAMuHMdXmOeJowF9FSQtoUzNK4zohvSYm+r3qp41-JigAOJ=+fg@mail.gmail.com>
[not found] ` <20141028092305.GA11937@verge.net.au>
[not found] ` <CAMuHMdUnwT7a1Gewz3AW-R9EaQBfYkJ2y7ZQ6uW4GaxBAHXzXg@mail.gmail.com>
[not found] ` <20141029001258.GE20702@verge.net.au>
2014-10-29 2:08 ` non-Multiplatform APE6EVM broken in v3.18-rc1 Simon Horman
2014-10-29 8:13 ` Geert Uytterhoeven
2014-10-29 9:05 ` Simon Horman
2014-10-30 1:34 ` Simon Horman
2014-11-03 10:33 ` Daniel Lezcano
2014-11-04 0:52 ` Simon Horman
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox