diff options
author | Bjorn Helgaas <bjorn.helgaas@hp.com> | 2006-03-21 10:44:07 -0700 |
---|---|---|
committer | Tony Luck <tony.luck@intel.com> | 2006-03-22 14:36:55 -0800 |
commit | 9a4e5549b7cb5d0ef187184641d8defe8be875f5 (patch) | |
tree | b9ccd2893c9af479aaacdfe637eb0ffaae15f99b /arch/ia64 | |
parent | 2332c9ae7911618575241e0c843cd686968db8e3 (diff) | |
download | op-kernel-dev-9a4e5549b7cb5d0ef187184641d8defe8be875f5.zip op-kernel-dev-9a4e5549b7cb5d0ef187184641d8defe8be875f5.tar.gz |
[IA64] sn_check_intr: use ia64_get_irr()
Use the recently-added ia64_get_irr() rather than duplicating the code.
Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Acked-by: Jes Sorensen <jes@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
Diffstat (limited to 'arch/ia64')
-rw-r--r-- | arch/ia64/sn/kernel/irq.c | 21 |
1 files changed, 1 insertions, 20 deletions
diff --git a/arch/ia64/sn/kernel/irq.c b/arch/ia64/sn/kernel/irq.c index c373113..c265e02 100644 --- a/arch/ia64/sn/kernel/irq.c +++ b/arch/ia64/sn/kernel/irq.c @@ -350,9 +350,6 @@ static void force_interrupt(int irq) static void sn_check_intr(int irq, struct sn_irq_info *sn_irq_info) { u64 regval; - int irr_reg_num; - int irr_bit; - u64 irr_reg; struct pcidev_info *pcidev_info; struct pcibus_info *pcibus_info; @@ -373,23 +370,7 @@ static void sn_check_intr(int irq, struct sn_irq_info *sn_irq_info) pdi_pcibus_info; regval = pcireg_intr_status_get(pcibus_info); - irr_reg_num = irq_to_vector(irq) / 64; - irr_bit = irq_to_vector(irq) % 64; - switch (irr_reg_num) { - case 0: - irr_reg = ia64_getreg(_IA64_REG_CR_IRR0); - break; - case 1: - irr_reg = ia64_getreg(_IA64_REG_CR_IRR1); - break; - case 2: - irr_reg = ia64_getreg(_IA64_REG_CR_IRR2); - break; - case 3: - irr_reg = ia64_getreg(_IA64_REG_CR_IRR3); - break; - } - if (!test_bit(irr_bit, &irr_reg)) { + if (!ia64_get_irr(irq_to_vector(irq))) { if (!test_bit(irq, pda->sn_in_service_ivecs)) { regval &= 0xff; if (sn_irq_info->irq_int_bit & regval & |