]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - arch/openrisc/kernel/irq.c
Merge commit '33b458d276bb' into kvm-master
[karo-tx-linux.git] / arch / openrisc / kernel / irq.c
index 094c394eee5b20ffdd986a4e2e09a6114e5b54ea..8ec77bc9f1e7d7b62694d1105ef5581374d0ebf6 100644 (file)
@@ -58,7 +58,7 @@ static void or1k_pic_ack(struct irq_data *data)
 {
        /* EDGE-triggered interrupts need to be ack'ed in order to clear
         * the latch.
-        * LEVER-triggered interrupts do not need to be ack'ed; however,
+        * LEVEL-triggered interrupts do not need to be ack'ed; however,
         * ack'ing the interrupt has no ill-effect and is quicker than
         * trying to figure out what type it is...
         */
@@ -77,7 +77,7 @@ static void or1k_pic_ack(struct irq_data *data)
 
        mtspr(SPR_PICSR, mfspr(SPR_PICSR) & ~(1UL << data->hwirq));
 #else
-       WARN(1, "Interrupt handling possibily broken\n");
+       WARN(1, "Interrupt handling possibly broken\n");
        mtspr(SPR_PICSR, (1UL << data->hwirq));
 #endif
 }
@@ -87,9 +87,11 @@ static void or1k_pic_mask_ack(struct irq_data *data)
        /* Comments for pic_ack apply here, too */
 
 #ifdef CONFIG_OR1K_1200
+       mtspr(SPR_PICMR, mfspr(SPR_PICMR) & ~(1UL << data->hwirq));
        mtspr(SPR_PICSR, mfspr(SPR_PICSR) & ~(1UL << data->hwirq));
 #else
-       WARN(1, "Interrupt handling possibily broken\n");
+       WARN(1, "Interrupt handling possibly broken\n");
+       mtspr(SPR_PICMR, (1UL << data->hwirq));
        mtspr(SPR_PICSR, (1UL << data->hwirq));
 #endif
 }