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

Continuous Interrupt Problem

From: Shaji Yusuf <hidden>
Date: 2012-06-15 10:22:49

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 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 [off-list ref]
To: anish singh <redacted> 
Cc: Arun KS <redacted>; Sarbojit Ganguly <redacted>; 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:
quoted
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.
quoted



On Thu, Jun 14, 2012 at 12:21 PM, Sarbojit Ganguly
[off-list ref] wrote:
quoted
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:
quoted
Hello Siddharth,

On Thu, Jun 14, 2012 at 10:34 AM, siddharth saxena
[off-list ref] wrote:
quoted
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
quoted


--
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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20120615/b463dbf6/attachment.html 
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help