cregit-Linux how code gets into the kernel

Release 4.14 arch/mips/pmcs-msp71xx/msp_smp.c

/*
 * Copyright (C) 2000, 2001, 2004 MIPS Technologies, Inc.
 * Copyright (C) 2001 Ralf Baechle
 * Copyright (C) 2010 PMC-Sierra, Inc.
 *
 *  VSMP support for MSP platforms . Derived from malta vsmp support.
 *
 *  This program is free software; you can distribute it and/or modify it
 *  under the terms of the GNU General Public License (Version 2) as
 *  published by the Free Software Foundation.
 *
 *  This program is distributed in the hope it will be useful, but WITHOUT
 *  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 *  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 *  for more details.
 *
 *  You should have received a copy of the GNU General Public License along
 *  with this program; if not, write to the Free Software Foundation, Inc.,
 *  59 Temple Place - Suite 330, Boston MA 02111-1307, USA.
 *
 */
#include <linux/smp.h>
#include <linux/interrupt.h>

#include <asm/setup.h>

#ifdef CONFIG_MIPS_MT_SMP

#define MIPS_CPU_IPI_RESCHED_IRQ 0	
/* SW int 0 for resched */

#define MIPS_CPU_IPI_CALL_IRQ 1		
/* SW int 1 for call */



static void ipi_resched_dispatch(void) { do_IRQ(MIPS_CPU_IPI_RESCHED_IRQ); }

Contributors

PersonTokensPropCommitsCommitProp
Anoop P A13100.00%1100.00%
Total13100.00%1100.00%


static void ipi_call_dispatch(void) { do_IRQ(MIPS_CPU_IPI_CALL_IRQ); }

Contributors

PersonTokensPropCommitsCommitProp
Anoop P A13100.00%1100.00%
Total13100.00%1100.00%


static irqreturn_t ipi_resched_interrupt(int irq, void *dev_id) { return IRQ_HANDLED; }

Contributors

PersonTokensPropCommitsCommitProp
Anoop P A16100.00%1100.00%
Total16100.00%1100.00%


static irqreturn_t ipi_call_interrupt(int irq, void *dev_id) { generic_smp_call_function_interrupt(); return IRQ_HANDLED; }

Contributors

PersonTokensPropCommitsCommitProp
Anoop P A1894.74%150.00%
Alex Smith15.26%150.00%
Total19100.00%2100.00%

static struct irqaction irq_resched = { .handler = ipi_resched_interrupt, .flags = IRQF_PERCPU, .name = "IPI_resched" }; static struct irqaction irq_call = { .handler = ipi_call_interrupt, .flags = IRQF_PERCPU, .name = "IPI_call" };
void __init arch_init_ipiirq(int irq, struct irqaction *action) { setup_irq(irq, action); irq_set_handler(irq, handle_percpu_irq); }

Contributors

PersonTokensPropCommitsCommitProp
Anoop P A2796.43%150.00%
Thomas Gleixner13.57%150.00%
Total28100.00%2100.00%


void __init msp_vsmp_int_init(void) { set_vi_handler(MIPS_CPU_IPI_RESCHED_IRQ, ipi_resched_dispatch); set_vi_handler(MIPS_CPU_IPI_CALL_IRQ, ipi_call_dispatch); arch_init_ipiirq(MIPS_CPU_IPI_RESCHED_IRQ, &irq_resched); arch_init_ipiirq(MIPS_CPU_IPI_CALL_IRQ, &irq_call); }

Contributors

PersonTokensPropCommitsCommitProp
Anoop P A38100.00%1100.00%
Total38100.00%1100.00%

#endif /* CONFIG_MIPS_MT_SMP */

Overall Contributors

PersonTokensPropCommitsCommitProp
Anoop P A19297.46%125.00%
Arnd Bergmann31.52%125.00%
Thomas Gleixner10.51%125.00%
Alex Smith10.51%125.00%
Total197100.00%4100.00%
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
Created with cregit.