Port-arm archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[PATCH 9/11] OMAP2: add missing IRQ acking for level triggered IRQs



--Imre
From dfa71fa0ab4a7300694ec6560bda76eb80716736 Mon Sep 17 00:00:00 2001
From: Imre Deak <imre.deak%teleca.com@localhost>
Date: Fri, 25 Apr 2008 15:55:44 +0300
Subject: [PATCH] OMAP2: GPIO: add missing IRQ acking for level interrupts

Edge triggered interrupts are acked when marking them pending,
level triggered ones should be acked when they have been
serviced and we are unblocking them.
---
 sys/arch/arm/omap/omap2_gpio.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/sys/arch/arm/omap/omap2_gpio.c b/sys/arch/arm/omap/omap2_gpio.c
index 31cb799..169a930 100644
--- a/sys/arch/arm/omap/omap2_gpio.c
+++ b/sys/arch/arm/omap/omap2_gpio.c
@@ -119,6 +119,9 @@ gpio_pic_unblock_irqs(struct pic_softc *pic, size_t 
irq_base, uint32_t irq_mask)
         * it'll come back.
         */
        GPIO_WRITE(gpio, GPIO_SETIRQENABLE1, gpio->gpio_enable_mask);
+       if (irq_mask & gpio->gpio_level_mask)
+               GPIO_WRITE(gpio, GPIO_IRQSTATUS1,
+                   irq_mask & gpio->gpio_level_mask);
 }
 
 void
-- 
1.5.4.2



Home | Main Index | Thread Index | Old Index