Message ID | 20220301104349.3040422-1-daniel@0x0f.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | ARM: mstar: Select HAVE_ARM_ARCH_TIMER | expand |
Hi all, Interesting, when I wrote the patch for msc313e-timer, I always had ARCH_ARM_TIMER implicitly built, so I thought that it was implicitly selected by MULTI_V7... I agree that we should at least have ARM_ARCH_TIMER enabled, otherwise we won't being able to boot correctly (no clockevents) I have also noticed that we missed this commit https://github.com/linux-chenxing/linux/commit/4cf42fcb4618cd77d80f767d5524c32fb40a91c6 (that selects MSC313E_TIMER), which might explain your initial issue (not being to boot). MSC313E_TIMER being optional on ARM (because of ARM_ARCH_TIMER), we should be sure that arm_timer is enabled and we can keep the mstar timer optional, imho. What do you think ? Romain Le mar. 1 mars 2022 à 11:44, Daniel Palmer <daniel@0x0f.com> a écrit : > > The mstar SoCs have an arch timer but HAVE_ARM_ARCH_TIMER wasn't > selected. If MSC313E_TIMER isn't selected then the kernel gets > stuck at boot because there are no timers available. > > Signed-off-by: Daniel Palmer <daniel@0x0f.com> > --- > > I moved one of my CI builds from a 5.16 based tree to a 5.17 > based one and it stopped booting. At some point I had broken my DTB > so the MStar timer wasn't getting probed anymore and at > the same time the arch timer driver wasn't getting built in. > I'm not entirely sure why the arch timer driver was built > before but isn't now. Anyhow, all of the other ARMv7 machines > seem to do this so I guess it's right. > > Arnd/Olof, please apply directly if acceptable. Maybe this should > be in 5.17 as a fix? > > arch/arm/mach-mstar/Kconfig | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/arch/arm/mach-mstar/Kconfig b/arch/arm/mach-mstar/Kconfig > index cd300eeedc20..0bf4d312bcfd 100644 > --- a/arch/arm/mach-mstar/Kconfig > +++ b/arch/arm/mach-mstar/Kconfig > @@ -3,6 +3,7 @@ menuconfig ARCH_MSTARV7 > depends on ARCH_MULTI_V7 > select ARM_GIC > select ARM_HEAVY_MB > + select HAVE_ARM_ARCH_TIMER > select MST_IRQ > select MSTAR_MSC313_MPLL > help > -- > 2.35.1 >
diff --git a/arch/arm/mach-mstar/Kconfig b/arch/arm/mach-mstar/Kconfig index cd300eeedc20..0bf4d312bcfd 100644 --- a/arch/arm/mach-mstar/Kconfig +++ b/arch/arm/mach-mstar/Kconfig @@ -3,6 +3,7 @@ menuconfig ARCH_MSTARV7 depends on ARCH_MULTI_V7 select ARM_GIC select ARM_HEAVY_MB + select HAVE_ARM_ARCH_TIMER select MST_IRQ select MSTAR_MSC313_MPLL help
The mstar SoCs have an arch timer but HAVE_ARM_ARCH_TIMER wasn't selected. If MSC313E_TIMER isn't selected then the kernel gets stuck at boot because there are no timers available. Signed-off-by: Daniel Palmer <daniel@0x0f.com> --- I moved one of my CI builds from a 5.16 based tree to a 5.17 based one and it stopped booting. At some point I had broken my DTB so the MStar timer wasn't getting probed anymore and at the same time the arch timer driver wasn't getting built in. I'm not entirely sure why the arch timer driver was built before but isn't now. Anyhow, all of the other ARMv7 machines seem to do this so I guess it's right. Arnd/Olof, please apply directly if acceptable. Maybe this should be in 5.17 as a fix? arch/arm/mach-mstar/Kconfig | 1 + 1 file changed, 1 insertion(+)