lkml.org 
[lkml]   [2021]   [Dec]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH] ARM: dts: Fix timer regression for beagleboard revision c
From
Hi Tony

On 11/25/21 16:48, Tony Lindgren wrote:
> Commit e428e250fde6 ("ARM: dts: Configure system timers for omap3")
> caused a timer regression for beagleboard revision c where the system
> clockevent stops working if omap3isp module is unloaded.
>
> Turns out we still have beagleboard revisions a-b4 capacitor c70 quirks
> applied that limit the usable timers for no good reason. This also affects
> the power management as we use the system clock instead of the 32k clock
> source.
>
> Let's fix the issue by adding a new omap3-beagle-ab4.dts for the old timer
> quirks. This allows us to remove the timer quirks for later beagleboard
> revisions. We also need to update the related timer quirk check for the
> correct compatible property.
>
> Fixes: e428e250fde6 ("ARM: dts: Configure system timers for omap3")
> Cc: linux-kernel@vger.kernel.org
> Cc: Daniel Lezcano <daniel.lezcano@linaro.org>
> Cc: Thomas Gleixner <tglx@linutronix.de>
> Cc: Rob Herring <robh+dt@kernel.org>
> Reported-by: Jarkko Nikula <jarkko.nikula@bitmer.com>
> Signed-off-by: Tony Lindgren <tony@atomide.com>
> ---

> .../devicetree/bindings/arm/omap/omap.txt | 3 ++
> arch/arm/boot/dts/Makefile | 1 +
> arch/arm/boot/dts/omap3-beagle-ab4.dts | 47 +++++++++++++++++++
> arch/arm/boot/dts/omap3-beagle.dts | 33 -------------
> drivers/clocksource/timer-ti-dm-systimer.c | 2 +-
> 5 files changed, 52 insertions(+), 34 deletions(-)
> create mode 100644 arch/arm/boot/dts/omap3-beagle-ab4.dts
>
I must have some error in my methodology since I cannot see the issue
being fixed with your patch :-(

Testing at commit 6f513529296f ("Merge tag 'for-5.16-rc4-tag' of
git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux")

alias ma='nice make -j `getconf _NPROCESSORS_ONLN` ARCH=arm
CROSS_COMPILE="ccache arm-linux-gnueabihf-"'

make ARCH=arm omap2plus_defconfig
ma
cat arch/arm/boot/dts/omap3-beagle.dtb >>arch/arm/boot/zImage
ma LOADADDR=0x80008000 uImage

-> copy uImage & modules, boot
# rmmod omap3_isp
# sleep 1
-> This is the regression. Sleep is blocked until I hit keys over serial
console

rm vmlinux arch/arm/boot/zImage
patch -p1 </tmp/your-mail.eml

ma
cat arch/arm/boot/dts/omap3-beagle-ab4.dtb >>arch/arm/boot/zImage
ma LOADADDR=0x80008000 uImage

-> copy uImage & modules to µSD, boot
# rmmod omap3_isp
# sleep 1
-> is still blocked until I hit keys over serial console

When I compare the dmesg this is the only difference (along with "linux
version" line) before user space starts. I.e. timer configuration is the
same in both.

[ 0.000000] OF: fdt: Machine model: TI OMAP3 BeagleBoard
->
[ 0.000000] OF: fdt: Machine model: TI OMAP3 BeagleBoard A to B4

Jarkko

\
 
 \ /
  Last update: 2021-12-11 16:32    [W:0.065 / U:0.720 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site