8ae85d9e5d
[ Upstream commit e348b4014c31041e13ff370669ba3348c4d385e3 ]
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:
|
||
---|---|---|
.. | ||
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 | ||
ttc_dkb.c |