Date:2010-08-21 17:58:44 (13 years 7 months ago)
Author:lars
Commit:3c77df70138b11db40f5fb77793447bb556d77f5
Message:[ifxmips] Danube: Fix irq ack

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@22748 3c298f89-4303-0410-b956-a3cf2f4a3e73
Files: target/linux/ifxmips/files-2.6.33/arch/mips/ifxmips/danube/irq.c (2 diffs)

Change Details

target/linux/ifxmips/files-2.6.33/arch/mips/ifxmips/danube/irq.c
5555}
5656EXPORT_SYMBOL(ifxmips_mask_and_ack_irq);
5757
58static void
59ifxmips_ack_irq(unsigned int irq_nr)
60{
61    int i;
62    u32 *isr = IFXMIPS_ICU_IM0_ISR;
63
64    irq_nr -= INT_NUM_IRQ0;
65    for (i = 0; i <= 4; i++)
66    {
67        if (irq_nr < INT_NUM_IM_OFFSET)
68        {
69            ifxmips_w32((1 << irq_nr), isr);
70            return;
71        }
72        isr += IFXMIPS_ICU_OFFSET;
73        irq_nr -= INT_NUM_IM_OFFSET;
74    }
75}
76
77
5878void
5979ifxmips_enable_irq(unsigned int irq_nr)
6080{
...... 
96116    .enable = ifxmips_enable_irq,
97117    .disable = ifxmips_disable_irq,
98118    .unmask = ifxmips_enable_irq,
99    .ack = ifxmips_end_irq,
119    .ack = ifxmips_ack_irq,
100120    .mask = ifxmips_disable_irq,
101121    .mask_ack = ifxmips_mask_and_ack_irq,
102122    .end = ifxmips_end_irq,

Archive Download the corresponding diff file



interactive