diff options
Diffstat (limited to 'cpu/ppc4xx')
-rw-r--r-- | cpu/ppc4xx/interrupts.c | 2 | ||||
-rw-r--r-- | cpu/ppc4xx/uic.c | 41 |
2 files changed, 7 insertions, 36 deletions
diff --git a/cpu/ppc4xx/interrupts.c b/cpu/ppc4xx/interrupts.c index 58d1d81..494bd8c 100644 --- a/cpu/ppc4xx/interrupts.c +++ b/cpu/ppc4xx/interrupts.c @@ -136,7 +136,7 @@ int interrupt_init_cpu (unsigned *decrementer_count) set_evpr(0x00000000); /* - *Call uic or xilinx_irq pic_enable + * Call uic or xilinx_irq pic_enable */ pic_enable(); diff --git a/cpu/ppc4xx/uic.c b/cpu/ppc4xx/uic.c index fbf0c2b..7944c6c 100644 --- a/cpu/ppc4xx/uic.c +++ b/cpu/ppc4xx/uic.c @@ -59,27 +59,19 @@ DECLARE_GLOBAL_DATA_PTR; void pic_enable(void) { - #if (UIC_MAX > 1) /* Install the UIC1 handlers */ - irq_install_handler(VECNUM_UIC1NCI, (void *)(void *)external_interrupt, - 0); - irq_install_handler(VECNUM_UIC1CI, (void *)(void *)external_interrupt, - 0); + irq_install_handler(VECNUM_UIC1NCI, (void *)(void *)external_interrupt, 0); + irq_install_handler(VECNUM_UIC1CI, (void *)(void *)external_interrupt, 0); #endif #if (UIC_MAX > 2) - irq_install_handler(VECNUM_UIC2NCI, (void *)(void *)external_interrupt, - 0); - irq_install_handler(VECNUM_UIC2CI, (void *)(void *)external_interrupt, - 0); + irq_install_handler(VECNUM_UIC2NCI, (void *)(void *)external_interrupt, 0); + irq_install_handler(VECNUM_UIC2CI, (void *)(void *)external_interrupt, 0); #endif #if (UIC_MAX > 3) - irq_install_handler(VECNUM_UIC3NCI, (void *)(void *)external_interrupt, - 0); - irq_install_handler(VECNUM_UIC3CI, (void *)(void *)external_interrupt, - 0); + irq_install_handler(VECNUM_UIC3NCI, (void *)(void *)external_interrupt, 0); + irq_install_handler(VECNUM_UIC3CI, (void *)(void *)external_interrupt, 0); #endif - } /* Handler for UIC interrupt */ @@ -147,21 +139,14 @@ void external_interrupt(struct pt_regs *regs) void pic_irq_ack(unsigned int vec) { - if ((vec >= 0) && (vec < 32)) mtdcr(uicsr, UIC_MASK(vec)); -#if (UIC_MAX > 1) else if ((vec >= 32) && (vec < 64)) mtdcr(uic1sr, UIC_MASK(vec)); -#endif -#if (UIC_MAX > 2) else if ((vec >= 64) && (vec < 96)) mtdcr(uic2sr, UIC_MASK(vec)); -#endif -#if (UIC_MAX > 3) else if (vec >= 96) mtdcr(uic3sr, UIC_MASK(vec)); -#endif } /* @@ -172,38 +157,24 @@ void pic_irq_enable(unsigned int vec) if ((vec >= 0) && (vec < 32)) mtdcr(uicer, mfdcr(uicer) | UIC_MASK(vec)); -#if (UIC_MAX > 1) else if ((vec >= 32) && (vec < 64)) mtdcr(uic1er, mfdcr(uic1er) | UIC_MASK(vec)); -#endif -#if (UIC_MAX > 2) else if ((vec >= 64) && (vec < 96)) mtdcr(uic2er, mfdcr(uic2er) | UIC_MASK(vec)); -#endif -#if (UIC_MAX > 3) else if (vec >= 96) mtdcr(uic3er, mfdcr(uic3er) | UIC_MASK(vec)); -#endif debug("Install interrupt for vector %d ==> %p\n", vec, handler); } void pic_irq_disable(unsigned int vec) { - if ((vec >= 0) && (vec < 32)) mtdcr(uicer, mfdcr(uicer) & ~UIC_MASK(vec)); -#if (UIC_MAX > 1) else if ((vec >= 32) && (vec < 64)) mtdcr(uic1er, mfdcr(uic1er) & ~UIC_MASK(vec)); -#endif -#if (UIC_MAX > 2) else if ((vec >= 64) && (vec < 96)) mtdcr(uic2er, mfdcr(uic2er) & ~UIC_MASK(vec)); -#endif -#if (UIC_MAX > 3) else if (vec >= 96) mtdcr(uic3er, mfdcr(uic3er) & ~UIC_MASK(vec)); -#endif - } |