linux-stable/arch/arm/mach-mmp
Doug Brown 8ae85d9e5d ARM: mmp: fix timer_read delay
[ Upstream commit e348b4014c ]

timer_read() was using an empty 100-iteration loop to wait for the
TMR_CVWR register to capture the latest timer counter value. The delay
wasn't long enough. This resulted in CPU idle time being extremely
underreported on PXA168 with CONFIG_NO_HZ_IDLE=y.

Switch to the approach used in the vendor kernel, which implements the
capture delay by reading TMR_CVWR a few times instead.

Fixes: 49cbe78637 ("[ARM] pxa: add base support for Marvell's PXA168 processor line")
Signed-off-by: Doug Brown <doug@schmorgal.com>
Link: https://lore.kernel.org/r/20221204005117.53452-3-doug@schmorgal.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-01-18 11:30:04 +01:00
..
addr-map.h
aspenite.c
avengers_lite.c
brownstone.c
clock-mmp2.c
clock-pxa168.c
clock-pxa910.c
clock.c
clock.h
common.c
common.h
cputype.h
devices.c
devices.h
flint.c
gplugd.c
irqs.h
jasper.c
Kconfig
Makefile
mfp-mmp2.h
mfp-pxa168.h
mfp-pxa910.h
mfp.h
mmp-dt.c
mmp2-dt.c
mmp2.c
mmp2.h
pm-mmp2.c
pm-mmp2.h
pm-pxa910.c
pm-pxa910.h
pxa168.c
pxa168.h
pxa910.c
pxa910.h
regs-apbc.h
regs-apmu.h
regs-icu.h
regs-timers.h
regs-usb.h
sram.c
tavorevb.c
teton_bga.c
teton_bga.h
time.c ARM: mmp: fix timer_read delay 2023-01-18 11:30:04 +01:00
ttc_dkb.c