Our product uses linux kernel that you released in 2012, when the AM3354 chip was just launched on the market. The Silicon version we use is Revisions 2.1.
Since no major problems have been encountered, the linux kernel we use has not been updated along with your official website. After all, the update requires a lot of manpower and material resources. We downloaded the kernel source code from this website,arago-project,The picture is as follows.The code we apply for the DMTimer_1ms is as follows
g_prt_dev->print_timer = omap_dm_timer_request_specific(7);
if (!g_prt_dev->print_timer) {
//dev_err(priv->dev, "Error getting Rx Timer resource\n");
result = -ENODEV;
printk("err_timer\n");
goto err_timer;
}
omap_dm_timer_enable(g_prt_dev->print_timer);
// set the clock source to system clock
omap_dm_timer_set_source(g_prt_dev->print_timer, OMAP_TIMER_SRC_SYS_CLK);
//set prescalar to 1:1
omap_dm_timer_set_prescaler(g_prt_dev->print_timer, 0);
// figure out what IRQ our timer triggers
timer_irq = omap_dm_timer_get_irq(g_prt_dev->print_timer);
/* Install the interrupt handler */
if (request_irq(timer_irq,
my_timer_irq,
IRQF_DISABLED | IRQF_TIMER,
"my_timer",
g_prt_dev)) {
result = -EBUSY;
printk("err_irq\n");
goto err_irq;
}
Now, we have encountered a serious problem. Our program needs to rely on the DMTimer_1ms module provided by TI. However, when I am using this DMTimer_1ms, inserting a USB flash drive will cause the interval at which the DMTimer_1ms triggers the interrupt to become It is very long. Normally, it is triggered once every 1ms. After a problem occurs, the DMTimer_1ms takes about 13ms to trigger an interrupt. This phenomenon does not necessarily occur, but when I insert the U disk, the probability of this phenomenon is very high.
We now suspect that there is a problem with the old linux kernel,the linux version is v3.2. We have also checked the errata provided by you, but have not found any relevant clues.
What we want to know now is whether it is necessary to upgrade the kernel to solve this problem, or whether there are related patches that can solve this problem.