ret = request_irq(up->port.irq, serial8250_interrupt,
irq_flags, "serial", i);
>>>>>ret = request_irq(96, serial8250_interrupt,
SA_SHIRQ, "serial", i);
(96 is irq number)
I am finding in /proc/interrupts the entry as
33: 557 - serial
96: 0 - serial, serial, serial, serial, serial,
serial, serial, serial, serial, serial
Wondering why multiple entries are coming. Any guidance will be
helpful. How should I get this registered? I am changing the ISR, so I
also want this pin interrupt to have the same ISR. But as this serial
goes via different sublayers, wondering if this is the right way.
Regards,
zix
Hi,
in continuation to the above post, just to check if interrupts are
coming properly and handled properly, I have written a simple module,
with isr as below:
ret = request_irq(96, dummy_interrupt, 0, "serialDeb",NULL);
Here is the ISR:
static void dummy_interrupt()
{
unsigned int addr;
unsigned int mppCtrl = 0;
/*interrupt cause register */
mppCtrl=*((unsigned int *)(0xf1010484));
mppCtrl = mppCtrl&(~(BIT(16)));
*((unsigned int *)(0xf1010484)) = mppCtrl;
}
I am finding in /proc/kmsg whenever the interrupt is supposed to come
only 1ce this message a number of times....
<4>Exception stack(0xc079bf50 to 0xc079bf98)
<4>bf40: 00000000 0005397f
0005297f 60000013
<4>bf60: c046b88c c079a000 c079dfbc c046b88c c07c0264 56251311
0001e4b8 c079bfbc
<4>bf80: c079bf98 c079bf98 c046b8d0 c03a98a8 60000013
ffffffff
<4> r6:00000003 r5:0000001f r4:ffffffff
<4>[<c03a9858>] (cpu_idle+0x0/0x7c) from [<c03af374>] (rest_init
+0x48/0x58)
<4> r8:f1020128 r7:c07ddacc r6:c079de4c r5:c07bfe10 r4:c07c952c
<4>[<c03af32c>] (rest_init+0x0/0x58) from [<c0008bc8>] (start_kernel
+0x270/0x2cc)
<4>[<c0008958>] (start_kernel+0x0/0x2cc) from [<00008030>] (0x8030)
<3>handlers:
<3>[<bf030000>] (dummy_interrupt+0x0/0x24 [serialMod])
<3>irq event 96: bogus return value 4e
irq
I am finding in /proc/interrupts the count as 100000, can anybody
suggest what's the issue?
29: 38 - mv64xxx_i2c
33: 588 - serial
78: 100000 - serialDeb
Why is the count 100000, when its supposed to be 1? :-((I think if
theres an issue, then it wil try for 100000 times, but not
sure).another pointer is that I am getting "bogus return value 4e",
whats that?
Thanks a lot,
zix