Skip to content

Commit

Permalink
Replace the complicated and broken attempt to clean interrupt by
Browse files Browse the repository at this point in the history
something simple - doesn't need to be fast, after all.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
  • Loading branch information
Ralf Baechle committed Oct 29, 2005
1 parent ca8a597 commit 39408c6
Showing 1 changed file with 4 additions and 16 deletions.
20 changes: 4 additions & 16 deletions arch/mips/sgi-ip27/ip27-smp.c
Original file line number Diff line number Diff line change
Expand Up @@ -127,29 +127,17 @@ void cpu_node_probe(void)
printk("Discovered %d cpus on %d nodes\n", highest + 1, num_online_nodes());
}

static void intr_clear_bits(nasid_t nasid, volatile hubreg_t *pend,
int base_level)
static __init void intr_clear_all(nasid_t nasid)
{
volatile hubreg_t bits;
int i;

/* Check pending interrupts */
if ((bits = HUB_L(pend)) != 0)
for (i = 0; i < N_INTPEND_BITS; i++)
if (bits & (1 << i))
LOCAL_HUB_CLR_INTR(base_level + i);
}

static void intr_clear_all(nasid_t nasid)
{
REMOTE_HUB_S(nasid, PI_INT_MASK0_A, 0);
REMOTE_HUB_S(nasid, PI_INT_MASK0_B, 0);
REMOTE_HUB_S(nasid, PI_INT_MASK1_A, 0);
REMOTE_HUB_S(nasid, PI_INT_MASK1_B, 0);
intr_clear_bits(nasid, REMOTE_HUB_ADDR(nasid, PI_INT_PEND0),
INT_PEND0_BASELVL);
intr_clear_bits(nasid, REMOTE_HUB_ADDR(nasid, PI_INT_PEND1),
INT_PEND1_BASELVL);

for (i = 0; i < 128; i++)
REMOTE_HUB_CLR_INTR(nasid, i);
}

void __init prom_prepare_cpus(unsigned int max_cpus)
Expand Down

0 comments on commit 39408c6

Please sign in to comment.