linux-stable/arch/arm/mach-mmp
Doug Brown d4dcde11bf 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>
2022-12-31 13:14:00 +01:00
..
addr-map.h ARM: mmp: map the PGU as well 2019-10-17 16:36:10 +02:00
aspenite.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 332 2019-06-05 17:37:06 +02:00
avengers_lite.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 332 2019-06-05 17:37:06 +02:00
brownstone.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 332 2019-06-05 17:37:06 +02:00
common.c ARM: mmp: move cputype.h to include/linux/soc/ 2019-10-17 16:36:12 +02:00
common.h ARM: mmp: map the PGU as well 2019-10-17 16:36:10 +02:00
devices.c ARM: mmp: move cputype.h to include/linux/soc/ 2019-10-17 16:36:12 +02:00
devices.h
flint.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 332 2019-06-05 17:37:06 +02:00
gplugd.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 332 2019-06-05 17:37:06 +02:00
irqs.h
jasper.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 332 2019-06-05 17:37:06 +02:00
Kconfig Merge branches 'clk-mmp', 'clk-intel', 'clk-ingenic', 'clk-qcom' and 'clk-silabs' into clk-next 2020-06-01 13:00:28 -07:00
Makefile ARM: mmp: Remove legacy clk code 2020-05-12 20:28:03 -07:00
mfp-mmp2.h
mfp-pxa168.h
mfp-pxa910.h
mfp.h
mmp-dt.c ARM: mmp: Replace <linux/clk-provider.h> by <linux/of_clk.h> 2020-05-15 22:55:16 +02:00
mmp2-dt.c ARM: mmp: Replace <linux/clk-provider.h> by <linux/of_clk.h> 2020-05-15 22:55:16 +02:00
mmp2.c ARM: mmp: move cputype.h to include/linux/soc/ 2019-10-17 16:36:12 +02:00
mmp2.h
mmp3.c ARM: mmp: add support for MMP3 SoC 2019-10-17 16:36:11 +02:00
platsmp.c ARM: mmp: add SMP support 2019-10-17 16:36:11 +02:00
pm-mmp2.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
pm-mmp2.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 506 2019-06-19 17:11:22 +02:00
pm-pxa910.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
pm-pxa910.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 506 2019-06-19 17:11:22 +02:00
pxa168.c ARM: mmp: Remove legacy clk code 2020-05-12 20:28:03 -07:00
pxa168.h ARM: mmp: include the correct cputype.h 2019-12-11 08:51:54 -08:00
pxa910.c ARM: mmp: move cputype.h to include/linux/soc/ 2019-10-17 16:36:12 +02:00
pxa910.h
regs-apbc.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
regs-apmu.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
regs-icu.h irqchip/mmp: Mask off interrupts from other cores 2019-08-30 15:23:30 +01:00
regs-timers.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
regs-usb.h ARM: mmp: remove MMP3 USB PHY registers from regs-usb.h 2019-10-17 16:36:12 +02:00
sram.c ARM: mmp: Fix failure to remove sram device 2022-04-08 14:24:02 +02:00
tavorevb.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 332 2019-06-05 17:37:06 +02:00
teton_bga.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 332 2019-06-05 17:37:06 +02:00
teton_bga.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 332 2019-06-05 17:37:06 +02:00
time.c ARM: mmp: fix timer_read delay 2022-12-31 13:14:00 +01:00
ttc_dkb.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 332 2019-06-05 17:37:06 +02:00