cregit-Linux how code gets into the kernel

Release 4.14 arch/mips/loongson64/fuloong-2e/irq.c

/*
 * Copyright (C) 2007 Lemote Inc. & Institute of Computing Technology
 * Author: Fuxin Zhang, zhangfx@lemote.com
 *
 *  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/interrupt.h>

#include <asm/irq_cpu.h>
#include <asm/i8259.h>

#include <loongson.h>


static void i8259_irqdispatch(void) { int irq; irq = i8259_irq(); if (irq >= 0) do_IRQ(irq); else spurious_interrupt(); }

Contributors

PersonTokensPropCommitsCommitProp
Songmao Tian31100.00%1100.00%
Total31100.00%1100.00%


asmlinkage void mach_irq_dispatch(unsigned int pending) { if (pending & CAUSEF_IP7) do_IRQ(MIPS_CPU_IRQ_BASE + 7); else if (pending & CAUSEF_IP6) /* perf counter loverflow */ do_perfcnt_IRQ(); else if (pending & CAUSEF_IP5) i8259_irqdispatch(); else if (pending & CAUSEF_IP2) bonito_irqdispatch(); else spurious_interrupt(); }

Contributors

PersonTokensPropCommitsCommitProp
Songmao Tian4475.86%125.00%
Wu Zhangjin1424.14%375.00%
Total58100.00%4100.00%

static struct irqaction cascade_irqaction = { .handler = no_action, .name = "cascade", .flags = IRQF_NO_THREAD, };
void __init mach_init_irq(void) { /* init all controller * 0-15 ------> i8259 interrupt * 16-23 ------> mips cpu interrupt * 32-63 ------> bonito irq */ /* most bonito irq should be level triggered */ LOONGSON_INTEDGE = LOONGSON_ICU_SYSTEMERR | LOONGSON_ICU_MASTERERR | LOONGSON_ICU_RETRYERR | LOONGSON_ICU_MBOXES; /* Sets the first-level interrupt dispatcher. */ mips_cpu_irq_init(); init_i8259_irqs(); bonito_irq_init(); /* bonito irq at IP2 */ setup_irq(MIPS_CPU_IRQ_BASE + 2, &cascade_irqaction); /* 8259 irq at IP5 */ setup_irq(MIPS_CPU_IRQ_BASE + 5, &cascade_irqaction); }

Contributors

PersonTokensPropCommitsCommitProp
Songmao Tian4586.54%125.00%
Wu Zhangjin611.54%250.00%
Ralf Bächle11.92%125.00%
Total52100.00%4100.00%


Overall Contributors

PersonTokensPropCommitsCommitProp
Songmao Tian14884.09%110.00%
Wu Zhangjin2614.77%770.00%
Ralf Bächle21.14%220.00%
Total176100.00%10100.00%
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
Created with cregit.