Thread (14 messages) 14 messages, 5 authors, 2012-06-16

Continuous Interrupt Problem

From: anish kumar <hidden>
Date: 2012-06-16 16:25:04

On Fri, 2012-06-15 at 03:22 -0700, Shaji Yusuf wrote:
Is the issue resolved?


This seems to be more of either a device that's buggy or some
misunderstanding in understanding the device specs.
I checked with siddharth and understanding in device specs
was the problem.

I had a similar issue with one of our devices. When I get an interrupt
I would do some thing in the device (reading buffers writing some
registers and stuff) that should reset the Interrupt pin to high state
again. But the hardware had a bug that would not let the Interrupt pin
reset, and once I return from the Interrupt it would strike again
causing the system to freeze. 


Thanks 

Shaji Yusuf





______________________________________________________________________
From: siddharth saxena <redacted>
To: anish singh <redacted> 
Cc: Arun KS <redacted>; Sarbojit Ganguly
[off-list ref]; kernelnewbies at kernelnewbies.org 
Sent: Thursday, June 14, 2012 2:35 PM
Subject: Re: Continuous Interrupt Problem


Initialized in Probe :

if (device->irq) {
        ret = request_irq(device->irq, ts_int_handler,
        IRQF_TRIGGER_LOW, DRIVER_NAME, device);
        if (ret) {
            pr_err("unable to register touch irq.(%s)\r\n",
            device->input_dev->name);
            goto err_request_irq;
        }
    }



The pin by default has to be initialized to Active Low.




On Thu, Jun 14, 2012 at 2:24 PM, anish singh
[off-list ref] wrote:
        On Thu, Jun 14, 2012 at 2:11 PM, siddharth saxena
        [off-list ref] wrote:
        > Hi Arun
        >
        > I tried changing the flag to IRQF_TRIGGER_HIGH but then
        device is behaving
        > abnormally(Hangs and is dead after some time).
        > Flooding interrupts still observed. Problem not solved.
        >
        > I want to know, are we supposed to change interrupt pin
        status or it is done
        > automatically when we return IRQ_HANDLED.
        
        why don't you paste the code for your probe routine where you
        are
        calling request_irq.
        Are you using threaded irq?It would be difficult to diagnose
        the
        problem without looking
        at your TSP manual and your code to find out the problem.
        >
        >
        >
        >
        > On Thu, Jun 14, 2012 at 12:21 PM, Sarbojit Ganguly
        > [off-list ref] wrote:
        >>
        >> Hi Arun,
        >>
        >> While I agree to your pointers but he is facing the problem
        of
        >> "interrupt floods" even before he touches.
        >> IMHO the culprit could be the flag.
        >>
        >> On 14 June 2012 12:01, Arun KS [off-list ref] wrote:
        >> > Hello Siddharth,
        >> >
        >> > On Thu, Jun 14, 2012 at 10:34 AM, siddharth saxena
        >> > [off-list ref] wrote:
        >> >> Hi all
        >> >>
        >> >> I need help with an issue.
        >> >> I have written a touch driver for a device and used the
        flag
        >> >> IRQF_TRIGGER_LOW to request irq.
        >> >> Now, when I boot the device, the touch interrupts are
        coming already
        >> >> without
        >> >> touching the screen.
        >> >> Continuous interrupts are occurring without any touch.
        >> >
        >> > Probably the default state of the gpio pin(which you
        configured as
        >> > irq) is low. Check your HW schematic.
        >> >
        >> > TSC should have interrupt polarity(Active High/Low),
        which you have to
        >> > choose depending on your schematic while initiallizing
        the TSC.
        >> > Also different modes like assert interrupt when finger
        moving, when
        >> > finger touch, or assert periodically.
        >> >
        >> > Hope these pointer will help you.
        >> >
        >> > Thanks,
        >> > Arun
        >> >
        >> >>
        >> >>
        >> >>
        >> >> --
        >> >> Regards
        >> >> Siddharth Saxena
        >> >>
        >> >>
        >> >> _______________________________________________
        >> >> Kernelnewbies mailing list
        >> >> Kernelnewbies at kernelnewbies.org
        >> >>
        http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
        >> >>
        >> >
        >> > _______________________________________________
        >> > Kernelnewbies mailing list
        >> > Kernelnewbies at kernelnewbies.org
        >> >
        http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
        >>
        >>
        >>
        >> --
        >> Regards,
        >> Sarbojit
        >
        >
        >
        >
        > --
        > Regards
        > Siddharth Saxena
        >
        >
        > _______________________________________________
        > Kernelnewbies mailing list
        > Kernelnewbies at kernelnewbies.org
        >
        http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
        >
        



-- 
Regards
Siddharth Saxena



_______________________________________________
Kernelnewbies mailing list
Kernelnewbies at kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help