summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorMatthew Wilcox <willy@parisc-linux.org>2005-03-08 16:13:13 -0800
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-03-08 16:13:13 -0800
commit6365711de73b0e67cf2c8e496300dbfe491d2a8c (patch)
treec0057b708a25e4bcf67be98c2a6386365835d0bc /include
parent16b81eccbfaa784f801af8e67cea7e924b572f2f (diff)
[PATCH] PA-RISC irq handling improvements
- Move the bits_wide parameter from txn_alloc_data to txn_alloc_irq. It's too late by the time it hits txn_alloc_data(), we can only panic. In txn_alloc_irq, we can fail the allocation and continue. - Also fix a bug where we'd only allow up to half the interrupts to be allocated. Not a problem for iosapic machines, but might have sucked on a really big GSC-based machine. - Add missing irq_enter() / irq_exit() - Allow interrupt processing to be interrupted by the timer tick so we actually account hard interrupts. Also speed up the handling of CPU interrupts by not masking with cpu_eiem again. - Remove sufficiently obsolete DEBUG_IRQ code - Remove limit on times around the loop. If we exit the loop while interrupts are still pending, we'll only be re-interrupted as soon as we exit the function. - Remove unnecessary includes Signed-off-by: Matthew Wilcox <willy@parisc-linux.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include')
-rw-r--r--include/asm-parisc/irq.h8
1 files changed, 5 insertions, 3 deletions
diff --git a/include/asm-parisc/irq.h b/include/asm-parisc/irq.h
index 4e5fad213c39..75654ba93353 100644
--- a/include/asm-parisc/irq.h
+++ b/include/asm-parisc/irq.h
@@ -40,10 +40,12 @@ struct hw_interrupt_type;
void no_ack_irq(unsigned int irq);
void no_end_irq(unsigned int irq);
-extern int txn_alloc_irq(void);
+extern int txn_alloc_irq(unsigned int nbits);
extern int txn_claim_irq(int);
-extern unsigned int txn_alloc_data(int, unsigned int);
-extern unsigned long txn_alloc_addr(int);
+extern unsigned int txn_alloc_data(unsigned int);
+extern unsigned long txn_alloc_addr(unsigned int);
+
+extern int cpu_claim_irq(unsigned int irq, struct hw_interrupt_type *, void *);
extern int cpu_claim_irq(unsigned int irq, struct hw_interrupt_type *, void *);