linux-input.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] input: touchscreen: ti_am335x_tsc: Fix HWPEN interrupt handling
@ 2015-09-15 16:28 Dave Gerlach
  2016-01-07 19:14 ` Dmitry Torokhov
  0 siblings, 1 reply; 2+ messages in thread
From: Dave Gerlach @ 2015-09-15 16:28 UTC (permalink / raw)
  To: linux-input, linux-omap
  Cc: Dmitry Torokhov, Vignesh R, Sekhar Nori, Dave Gerlach

Remove write to REG_IRQCLR and REG_IRQWAKEUP in interrupt handler for
IRQENB_HW_PEN as the resume handler should and does clear REG_IRQWAKEUP.
IRQENB_HW_PEN bit is set in irqclr so that all interrupts get cleared
later so let IRQENB_HW_PEN be cleared by that.

Without this patch wakeup events from TSC_ADC do not work because pending
interrupts in TSC_ADC were causing HW_PEN interrupt, needed for wake from
suspend modes, to get disabled immediately by IRQ handler after being
enabled and preventing wake from happening.

Signed-off-by: Dave Gerlach <d-gerlach@ti.com>
---
 drivers/input/touchscreen/ti_am335x_tsc.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/input/touchscreen/ti_am335x_tsc.c b/drivers/input/touchscreen/ti_am335x_tsc.c
index 191a1b8..a21a07c 100644
--- a/drivers/input/touchscreen/ti_am335x_tsc.c
+++ b/drivers/input/touchscreen/ti_am335x_tsc.c
@@ -273,8 +273,6 @@ static irqreturn_t titsc_irq(int irq, void *dev)
 	status = titsc_readl(ts_dev, REG_RAWIRQSTATUS);
 	if (status & IRQENB_HW_PEN) {
 		ts_dev->pen_down = true;
-		titsc_writel(ts_dev, REG_IRQWAKEUP, 0x00);
-		titsc_writel(ts_dev, REG_IRQCLR, IRQENB_HW_PEN);
 		irqclr |= IRQENB_HW_PEN;
 	}
 
-- 
2.4.6


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] input: touchscreen: ti_am335x_tsc: Fix HWPEN interrupt handling
  2015-09-15 16:28 [PATCH] input: touchscreen: ti_am335x_tsc: Fix HWPEN interrupt handling Dave Gerlach
@ 2016-01-07 19:14 ` Dmitry Torokhov
  0 siblings, 0 replies; 2+ messages in thread
From: Dmitry Torokhov @ 2016-01-07 19:14 UTC (permalink / raw)
  To: Dave Gerlach; +Cc: linux-input, linux-omap, Vignesh R, Sekhar Nori

On Tue, Sep 15, 2015 at 11:28:09AM -0500, Dave Gerlach wrote:
> Remove write to REG_IRQCLR and REG_IRQWAKEUP in interrupt handler for
> IRQENB_HW_PEN as the resume handler should and does clear REG_IRQWAKEUP.
> IRQENB_HW_PEN bit is set in irqclr so that all interrupts get cleared
> later so let IRQENB_HW_PEN be cleared by that.
> 
> Without this patch wakeup events from TSC_ADC do not work because pending
> interrupts in TSC_ADC were causing HW_PEN interrupt, needed for wake from
> suspend modes, to get disabled immediately by IRQ handler after being
> enabled and preventing wake from happening.
> 
> Signed-off-by: Dave Gerlach <d-gerlach@ti.com>

Applied, thank you.

> ---
>  drivers/input/touchscreen/ti_am335x_tsc.c | 2 --
>  1 file changed, 2 deletions(-)
> 
> diff --git a/drivers/input/touchscreen/ti_am335x_tsc.c b/drivers/input/touchscreen/ti_am335x_tsc.c
> index 191a1b8..a21a07c 100644
> --- a/drivers/input/touchscreen/ti_am335x_tsc.c
> +++ b/drivers/input/touchscreen/ti_am335x_tsc.c
> @@ -273,8 +273,6 @@ static irqreturn_t titsc_irq(int irq, void *dev)
>  	status = titsc_readl(ts_dev, REG_RAWIRQSTATUS);
>  	if (status & IRQENB_HW_PEN) {
>  		ts_dev->pen_down = true;
> -		titsc_writel(ts_dev, REG_IRQWAKEUP, 0x00);
> -		titsc_writel(ts_dev, REG_IRQCLR, IRQENB_HW_PEN);
>  		irqclr |= IRQENB_HW_PEN;
>  	}
>  
> -- 
> 2.4.6
> 

-- 
Dmitry

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2016-01-07 19:14 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-09-15 16:28 [PATCH] input: touchscreen: ti_am335x_tsc: Fix HWPEN interrupt handling Dave Gerlach
2016-01-07 19:14 ` Dmitry Torokhov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).