imx6Q: sdma produces a large number of interrupts

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

imx6Q: sdma produces a large number of interrupts

807 Views
georgekang
Contributor I

Hi all,

Sometimes, sdma produces a large number of interrupts without a stop, and Linux kernel might freeze. This situation

happens in kernel with PREEMPT_RT in some specific configuration for islocpu. Currently, the kernel in my test in Linux 4.1.15-rt17 and its kernel command is

console=ttymxc0,115200 root=/dev/mmcblk0p2 rootwait rw nohz_full=3 isolcpus=1,2 nohz=on

After booting, the kernel will freeze and the last messages are:

imx-weim 21b8000.weim: Driver registered.

imx-sdma 20ec000.sdma: failed to get firmware from device tree

imx-sdma 20ec000.sdma: initialized

2020000.serial: ttymxc0 at MMIO 0x2020000 (irq = 24, base_baud =

5000000) is a IMX

console [ttymxc0] enabled

random: nonblocking pool is initialized

The last line give me a hint and I find add_interrupt_randomness() from irq_thread is called continuously

Then I insert a printk in irq_thread(void *data) to identify the interrupt source for this issue.

static int irq_thread(void *data)

...

#ifdef CONFIG_PREEMPT_RT_FULL

                migrate_disable();

+               printk(KERN_ERR"%d\n", action->irq);

                add_interrupt_randomness(action->irq, 0,

                                 desc->random_ip ^ (unsigned long) action);

                migrate_enable();

...

It shows 281, which is the interrupt number of sdma, and never stops.

However, the number of sdma interrupt is only two in ordinary booting. In my root fs, the firmware for sdma does not

exist, sdma should not work even its driver is built in kernel.

Is there any suggestion to investigate this issue?

Thanks a lot.

Best Regards,

George Kang

Labels (2)
Tags (2)
0 Kudos
1 Reply

531 Views
igorpadykov
NXP Employee
NXP Employee

Hi George

Linux 4.1.15-rt17 is not supported in official nxp software releases, suggest to

post on meta-fsl-arm mailing list, so that someone familiar with that could try to assist you.

https://lists.yoctoproject.org/listinfo/meta-freescale

Best regards

igor

0 Kudos