acrn-kernel/arch/arm/mach-mmp
Doug Brown 3c6dfce2c7 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:31:54 +01:00
..
Kconfig ARM: mmp: mark all board files for removal 2022-07-22 13:11:21 +02:00
Makefile ARM: pxa/mmp: remove traces of plat-pxa 2022-05-31 16:07:52 +02: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: Make some symbols static 2022-10-10 10:40:10 +02:00
devices.h ARM: mmp: rename pxa_register_device 2022-05-07 22:56:16 +02:00
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 License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
jasper.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 332 2019-06-05 17:37:06 +02:00
mfp-mmp2.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mfp-pxa168.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mfp-pxa910.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mfp.h ARM: pxa: move plat-pxa to drivers/soc/ 2022-05-07 22:56:16 +02:00
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 irqchip/mmp: Declare init functions in common header file 2022-07-25 09:42:24 +01:00
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 irqchip/mmp: Declare init functions in common header file 2022-07-25 09:42:24 +01:00
pxa910.c ARM: mmp: move cputype.h to include/linux/soc/ 2019-10-17 16:36:12 +02:00
pxa910.h irqchip/mmp: Declare init functions in common header file 2022-07-25 09:42:24 +01:00
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-02-25 16:38:34 +01: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:31:54 +01:00
ttc_dkb.c ARM: mmp: rename pxa_register_device 2022-05-07 22:56:16 +02:00