cregit-Linux how code gets into the kernel

Release 4.14 arch/mips/loongson64/common/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/delay.h>
#include <linux/interrupt.h>

#include <loongson.h>
/*
 * the first level int-handler will jump here if it is a bonito irq
 */

void bonito_irqdispatch(void) { u32 int_status; int i; /* workaround the IO dma problem: let cpu looping to allow DMA finish */ int_status = LOONGSON_INTISR; while (int_status & (1 << 10)) { udelay(1); int_status = LOONGSON_INTISR; } /* Get pending sources, masked by current enables */ int_status = LOONGSON_INTISR & LOONGSON_INTEN; if (int_status) { i = __ffs(int_status); do_IRQ(LOONGSON_IRQ_BASE + i); } }

Contributors

PersonTokensPropCommitsCommitProp
Wu Zhangjin66100.00%2100.00%
Total66100.00%2100.00%


asmlinkage void plat_irq_dispatch(void) { unsigned int pending; pending = read_c0_cause() & read_c0_status() & ST0_IM; /* machine-specific plat_irq_dispatch */ mach_irq_dispatch(pending); }

Contributors

PersonTokensPropCommitsCommitProp
Wu Zhangjin28100.00%1100.00%
Total28100.00%1100.00%


void __init arch_init_irq(void) { /* * Clear all of the interrupts while we change the able around a bit. * int-handler is not on bootstrap */ clear_c0_status(ST0_IM | ST0_BEV); /* no steer */ LOONGSON_INTSTEER = 0; /* * Mask out all interrupt by writing "1" to all bit position in * the interrupt reset reg. */ LOONGSON_INTENCLR = ~0; /* machine specific irq init */ mach_init_irq(); }

Contributors

PersonTokensPropCommitsCommitProp
Wu Zhangjin31100.00%2100.00%
Total31100.00%2100.00%


Overall Contributors

PersonTokensPropCommitsCommitProp
Wu Zhangjin13599.26%266.67%
Ralf Bächle10.74%133.33%
Total136100.00%3100.00%
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
Created with cregit.