mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2024-12-25 03:01:09 +02:00
[ifxmips] Danube: Fix irq ack
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@22748 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
parent
7397e827f3
commit
3c77df7013
@ -55,6 +55,26 @@ ifxmips_mask_and_ack_irq(unsigned int irq_nr)
|
||||
}
|
||||
EXPORT_SYMBOL(ifxmips_mask_and_ack_irq);
|
||||
|
||||
static void
|
||||
ifxmips_ack_irq(unsigned int irq_nr)
|
||||
{
|
||||
int i;
|
||||
u32 *isr = IFXMIPS_ICU_IM0_ISR;
|
||||
|
||||
irq_nr -= INT_NUM_IRQ0;
|
||||
for (i = 0; i <= 4; i++)
|
||||
{
|
||||
if (irq_nr < INT_NUM_IM_OFFSET)
|
||||
{
|
||||
ifxmips_w32((1 << irq_nr), isr);
|
||||
return;
|
||||
}
|
||||
isr += IFXMIPS_ICU_OFFSET;
|
||||
irq_nr -= INT_NUM_IM_OFFSET;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
ifxmips_enable_irq(unsigned int irq_nr)
|
||||
{
|
||||
@ -96,7 +116,7 @@ ifxmips_irq_type = {
|
||||
.enable = ifxmips_enable_irq,
|
||||
.disable = ifxmips_disable_irq,
|
||||
.unmask = ifxmips_enable_irq,
|
||||
.ack = ifxmips_end_irq,
|
||||
.ack = ifxmips_ack_irq,
|
||||
.mask = ifxmips_disable_irq,
|
||||
.mask_ack = ifxmips_mask_and_ack_irq,
|
||||
.end = ifxmips_end_irq,
|
||||
|
Loading…
Reference in New Issue
Block a user