All pastes #748254 Raw Edit

Stuff

public text v1 · immutable
#748254 ·published 2007-10-24 18:15 UTC
rendered paste body
asmlinkage void plat_irq_dispatch(void)
{   
    unsigned int pending = read_c0_status() & read_c0_cause() & ST0_IM;
    if (pending & CAUSEF_IP7){
        do_IRQ(MIPS_CPU_TIMER_IRQ);
        goto out;
    } else {
        if(pending & (CAUSEF_IP2 << 0)){
            danube_hw4_irqdispatch();
            goto out;
        }

        if(pending & (CAUSEF_IP2 << 1)){
            danube_hw4_irqdispatch();
            goto out;
        }

        if(pending & (CAUSEF_IP2 << 2)){
            danube_hw4_irqdispatch();
            goto out;
        }

        if(pending & (CAUSEF_IP2 << 3)){
            danube_hw4_irqdispatch();
            goto out;
        }

        if(pending & (CAUSEF_IP2 << 4)){
            danube_hw4_irqdispatch();
            goto out;
        }
    }
    printk("Spurious IRQ: CAUSE=0x%08x\n", read_c0_status());

out:
    return;