smp.c (42249094f79422fbf5ed4b54eeb48ff096809b8f) | smp.c (310ff2c87e72208e4f04f33687abe9d208ffefe3) |
---|---|
1/* 2 * Copyright (C) 2001, 2002, 2003 Broadcom Corporation 3 * 4 * This program is free software; you can redistribute it and/or 5 * modify it under the terms of the GNU General Public License 6 * as published by the Free Software Foundation; either version 2 7 * of the License, or (at your option) any later version. 8 * --- 156 unchanged lines hidden (view full) --- 165}; 166 167void sb1250_mailbox_interrupt(void) 168{ 169 int cpu = smp_processor_id(); 170 int irq = K_INT_MBOX_0; 171 unsigned int action; 172 | 1/* 2 * Copyright (C) 2001, 2002, 2003 Broadcom Corporation 3 * 4 * This program is free software; you can redistribute it and/or 5 * modify it under the terms of the GNU General Public License 6 * as published by the Free Software Foundation; either version 2 7 * of the License, or (at your option) any later version. 8 * --- 156 unchanged lines hidden (view full) --- 165}; 166 167void sb1250_mailbox_interrupt(void) 168{ 169 int cpu = smp_processor_id(); 170 int irq = K_INT_MBOX_0; 171 unsigned int action; 172 |
173 kstat_incr_irqs_this_cpu(irq, irq_to_desc(irq)); | 173 kstat_incr_irq_this_cpu(irq); |
174 /* Load the mailbox register to figure out what we're supposed to do */ 175 action = (____raw_readq(mailbox_regs[cpu]) >> 48) & 0xffff; 176 177 /* Clear the mailbox to clear the interrupt */ 178 ____raw_writeq(((u64)action) << 48, mailbox_clear_regs[cpu]); 179 180 if (action & SMP_RESCHEDULE_YOURSELF) 181 scheduler_ipi(); 182 183 if (action & SMP_CALL_FUNCTION) 184 smp_call_function_interrupt(); 185} | 174 /* Load the mailbox register to figure out what we're supposed to do */ 175 action = (____raw_readq(mailbox_regs[cpu]) >> 48) & 0xffff; 176 177 /* Clear the mailbox to clear the interrupt */ 178 ____raw_writeq(((u64)action) << 48, mailbox_clear_regs[cpu]); 179 180 if (action & SMP_RESCHEDULE_YOURSELF) 181 scheduler_ipi(); 182 183 if (action & SMP_CALL_FUNCTION) 184 smp_call_function_interrupt(); 185} |