Release 4.10 arch/powerpc/kernel/dbell.c
/*
* Author: Kumar Gala <galak@kernel.crashing.org>
*
* Copyright 2009 Freescale Semiconductor Inc.
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
* Free Software Foundation; either version 2 of the License, or (at your
* option) any later version.
*/
#include <linux/stddef.h>
#include <linux/kernel.h>
#include <linux/smp.h>
#include <linux/threads.h>
#include <linux/hardirq.h>
#include <asm/dbell.h>
#include <asm/irq_regs.h>
#include <asm/kvm_ppc.h>
#ifdef CONFIG_SMP
void doorbell_setup_this_cpu(void)
{
unsigned long tag = mfspr(SPRN_DOORBELL_CPUTAG) & PPC_DBELL_TAG_MASK;
smp_muxed_ipi_set_data(smp_processor_id(), tag);
}
Contributors
| Person | Tokens | Prop | Commits | CommitProp |
benjamin herrenschmidt | benjamin herrenschmidt | 13 | 50.00% | 1 | 33.33% |
milton d. miller | milton d. miller | 11 | 42.31% | 1 | 33.33% |
ian munsie | ian munsie | 2 | 7.69% | 1 | 33.33% |
| Total | 26 | 100.00% | 3 | 100.00% |
void doorbell_cause_ipi(int cpu, unsigned long data)
{
/* Order previous accesses vs. msgsnd, which is treated as a store */
mb();
ppc_msgsnd(PPC_DBELL_MSGTYPE, 0, data);
}
Contributors
| Person | Tokens | Prop | Commits | CommitProp |
kumar gala | kumar gala | 14 | 56.00% | 1 | 20.00% |
milton d. miller | milton d. miller | 6 | 24.00% | 2 | 40.00% |
paul mackerras | paul mackerras | 4 | 16.00% | 1 | 20.00% |
ian munsie | ian munsie | 1 | 4.00% | 1 | 20.00% |
| Total | 25 | 100.00% | 5 | 100.00% |
void doorbell_exception(struct pt_regs *regs)
{
struct pt_regs *old_regs = set_irq_regs(regs);
irq_enter();
may_hard_irq_enable();
kvmppc_set_host_ipi(smp_processor_id(), 0);
__this_cpu_inc(irq_stat.doorbell_irqs);
smp_ipi_demux();
irq_exit();
set_irq_regs(old_regs);
}
Contributors
| Person | Tokens | Prop | Commits | CommitProp |
benjamin herrenschmidt | benjamin herrenschmidt | 16 | 30.77% | 3 | 37.50% |
david gibson | david gibson | 14 | 26.92% | 1 | 12.50% |
paul mackerras | paul mackerras | 8 | 15.38% | 1 | 12.50% |
milton d. miller | milton d. miller | 7 | 13.46% | 1 | 12.50% |
ian munsie | ian munsie | 5 | 9.62% | 1 | 12.50% |
christoph lameter | christoph lameter | 2 | 3.85% | 1 | 12.50% |
| Total | 52 | 100.00% | 8 | 100.00% |
#else /* CONFIG_SMP */
void doorbell_exception(struct pt_regs *regs)
{
printk(KERN_WARNING "Received doorbell on non-smp system\n");
}
Contributors
| Person | Tokens | Prop | Commits | CommitProp |
benjamin herrenschmidt | benjamin herrenschmidt | 16 | 100.00% | 1 | 100.00% |
| Total | 16 | 100.00% | 1 | 100.00% |
#endif /* CONFIG_SMP */
Overall Contributors
| Person | Tokens | Prop | Commits | CommitProp |
benjamin herrenschmidt | benjamin herrenschmidt | 51 | 33.33% | 3 | 25.00% |
kumar gala | kumar gala | 35 | 22.88% | 1 | 8.33% |
milton d. miller | milton d. miller | 25 | 16.34% | 2 | 16.67% |
david gibson | david gibson | 17 | 11.11% | 1 | 8.33% |
paul mackerras | paul mackerras | 15 | 9.80% | 2 | 16.67% |
ian munsie | ian munsie | 8 | 5.23% | 2 | 16.67% |
christoph lameter | christoph lameter | 2 | 1.31% | 1 | 8.33% |
| Total | 153 | 100.00% | 12 | 100.00% |
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.