beagleboard / beagleboard/linux
BeagleBone DMTimer2 unexpected stop after one or more days
- Dominant language
- C
- Stars
- 810
- Forks
- 582
- PR merge metrics
- No merged PRs in 30d
Description
we encounter DMTimer2 unexpected stop in am335x after run 1 or more days, we indeed seen gp_timer in /proc/interrupts never increase any more;
we have try beagleBoard github kernel version 4.4.113/4.4.155 with our own rootfs in Beagebone Black board and our custom board, the situation is the same, Eventhought i don't make any change in kernel source.
This timer is initialized for clockevent in omap2_gp_clockevent_init(clkev_nr, clkev_src, clkev_prop); //arch/arm/mach-omap2/timer.c
below is the related call stack:
omap3_gptimer_timer_init(void) =>
__omap_sync32k_timer_init(2, "timer_sys_ck", NULL, \
1, "timer_sys_ck", "ti,timer-alwon", true); =>
omap2_gp_clockevent_init(clkev_nr, clkev_src, clkev_prop);
after DMTimer2 unexpected stop, those things happen:
1、gp_timer in /proc/interrupts NEVER increases
2、get time form date cmd may goback some minues or seconds
3、user apps no longer output debug log in console, it seems the scheduler of kernel do not work correctly.
but shell in console work fine, network ping is also work fine.
4、cpu load of threads in top cmd are all 0%
By the way, i checked after situation come out, ST bit of the DMTimer2's TCLR is 1 (that is Start timer)
But If i stop DMTimer2 manually in console shell by cmd: devmem 0x48040038 32 0x0
then i can reproduced the 1/2/3 situation mentioned above, but hung while i type cmd top in console shell.
So i think DMTimer2 of my AM335x is not work correctly after run one or more days.
We also try to comment out __omap_dm_timer_override_errata() in omap2_gp_clockevent_init(), this force to enable OMAP_TIMER_ERRATA_I103_I767, but the kernel can't bootup at all.
we also posted this problem in TI community at https://e2e.ti.com/support/processors/f/791/t/796508
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.