dbell.c (94bd217e2d683719ab21a4ac117d8a1b91cbedc9) dbell.c (7230c5644188cd9e3fb380cc97dde00c464a3ba7)
1/*
2 * Author: Kumar Gala <galak@kernel.crashing.org>
3 *
4 * Copyright 2009 Freescale Semiconductor Inc.
5 *
6 * This program is free software; you can redistribute it and/or modify it
7 * under the terms of the GNU General Public License as published by the
8 * Free Software Foundation; either version 2 of the License, or (at your

--- 23 unchanged lines hidden (view full) ---

32}
33
34void doorbell_exception(struct pt_regs *regs)
35{
36 struct pt_regs *old_regs = set_irq_regs(regs);
37
38 irq_enter();
39
1/*
2 * Author: Kumar Gala <galak@kernel.crashing.org>
3 *
4 * Copyright 2009 Freescale Semiconductor Inc.
5 *
6 * This program is free software; you can redistribute it and/or modify it
7 * under the terms of the GNU General Public License as published by the
8 * Free Software Foundation; either version 2 of the License, or (at your

--- 23 unchanged lines hidden (view full) ---

32}
33
34void doorbell_exception(struct pt_regs *regs)
35{
36 struct pt_regs *old_regs = set_irq_regs(regs);
37
38 irq_enter();
39
40 may_hard_irq_enable();
41
40 smp_ipi_demux();
41
42 irq_exit();
43 set_irq_regs(old_regs);
44}
45#else /* CONFIG_SMP */
46void doorbell_exception(struct pt_regs *regs)
47{
48 printk(KERN_WARNING "Received doorbell on non-smp system\n");
49}
50#endif /* CONFIG_SMP */
51
42 smp_ipi_demux();
43
44 irq_exit();
45 set_irq_regs(old_regs);
46}
47#else /* CONFIG_SMP */
48void doorbell_exception(struct pt_regs *regs)
49{
50 printk(KERN_WARNING "Received doorbell on non-smp system\n");
51}
52#endif /* CONFIG_SMP */
53