Main Page | Alphabetical List | Data Structures | Directories | File List | Data Fields | Globals

mips/dec/irq.c File Reference

#include <linux/errno.h>
#include <linux/init.h>
#include <linux/kernel_stat.h>
#include <linux/signal.h>
#include <linux/sched.h>
#include <linux/types.h>
#include <linux/interrupt.h>
#include <linux/ioport.h>
#include <linux/timex.h>
#include <linux/malloc.h>
#include <linux/random.h>
#include <asm/bitops.h>
#include <asm/bootinfo.h>
#include <asm/io.h>
#include <asm/irq.h>
#include <asm/mipsregs.h>
#include <asm/system.h>
#include <asm/dec/interrupts.h>

Include dependency graph for mips/dec/irq.c:

Go to the source code of this file.

Functions

static void mask_irq (unsigned int irq_nr)
static void unmask_irq (unsigned int irq_nr)
void disable_irq (unsigned int irq_nr)
void enable_irq (unsigned int irq_nr)
void interrupt (void)
int get_irq_list (char *buf)
asmlinkage void do_IRQ (int irq, struct pt_regs *regs)
int setup_dec_irq (int irq, struct irqaction *new)
int request_irq (unsigned int irq, void(*handler)(int, void *, struct pt_regs *), unsigned long irqflags, const char *devname, void *dev_id)
void free_irq (unsigned int irq, void *dev_id)
unsigned long probe_irq_on (void)
int probe_irq_off (unsigned long irqs)
 __initfunc (void init_IRQ(void))

Variables

volatile unsigned int * isr
volatile unsigned int * imr
decint_t dec_interrupt [NR_INTS]
unsigned int local_bh_count [NR_CPUS]
unsigned int local_irq_count [NR_CPUS]
unsigned long spurious_count = 0
static struct irqactionirq_action [32]
atomic_t __mips_bh_counter


Function Documentation

__initfunc void   init_IRQ(void)  ) 
 

Definition at line 266 of file mips/dec/irq.c.

References irq_setup.

void disable_irq unsigned int  irq_nr  ) 
 

Definition at line 62 of file mips/dec/irq.c.

References mask_irq, restore_flags, and save_and_cli.

asmlinkage void do_IRQ int  irq,
struct pt_regs regs
 

Definition at line 126 of file mips/dec/irq.c.

References __cli, __sti, add_interrupt_randomness(), cpu, irqaction::dev_id, irqaction::flags, irqaction::handler, hardirq_enter, hardirq_exit, kernel_stat::irqs, kstat, mask_irq, irqaction::next, SA_INTERRUPT, smp_processor_id, and unmask_irq.

Here is the call graph for this function:

void enable_irq unsigned int  irq_nr  ) 
 

Definition at line 71 of file mips/dec/irq.c.

References restore_flags, save_and_cli, and unmask_irq.

void free_irq unsigned int  irq,
void *  dev_id
 

Definition at line 229 of file mips/dec/irq.c.

References irqaction::dev_id, kfree(), mask_irq, irqaction::next, NULL, p, printk, restore_flags, and save_and_cli.

Here is the call graph for this function:

int get_irq_list char *  buf  ) 
 

Definition at line 94 of file mips/dec/irq.c.

References irqaction::flags, i, kernel_stat::irqs, kstat, len, irqaction::name, irqaction::next, SA_INTERRUPT, and sprintf().

Here is the call graph for this function:

void interrupt void   ) 
 

static void mask_irq unsigned int  irq_nr  )  [inline, static]
 

Definition at line 38 of file mips/dec/irq.c.

References CP0_STATUS, dummy, decint_t::iemask, imr, read_32bit_cp0_register, and ST0_IM.

int probe_irq_off unsigned long  irqs  ) 
 

Definition at line 260 of file mips/dec/irq.c.

unsigned long probe_irq_on void   ) 
 

Definition at line 254 of file mips/dec/irq.c.

int request_irq unsigned int  irq,
void(*)(int, void *, struct pt_regs *)  handler,
unsigned long  irqflags,
const char *  devname,
void *  dev_id
 

Definition at line 197 of file mips/dec/irq.c.

References irqaction::dev_id, EINVAL, ENOMEM, irqaction::flags, irqaction::handler, kfree(), kmalloc(), irqaction::mask, irqaction::name, irqaction::next, NULL, and setup_dec_irq().

Here is the call graph for this function:

int setup_dec_irq int  irq,
struct irqaction new
 

Definition at line 161 of file mips/dec/irq.c.

References EBUSY, irqaction::flags, irqaction::next, NULL, p, rand_initialize_irq(), restore_flags, SA_INTERRUPT, SA_SHIRQ, save_and_cli, and unmask_irq.

Referenced by __initfunc(), and request_irq().

Here is the call graph for this function:

static void unmask_irq unsigned int  irq_nr  )  [inline, static]
 

Definition at line 50 of file mips/dec/irq.c.

References CP0_STATUS, dummy, decint_t::iemask, imr, read_32bit_cp0_register, and ST0_IM.


Variable Documentation

atomic_t __mips_bh_counter
 

Definition at line 117 of file mips/dec/irq.c.

decint_t dec_interrupt[NR_INTS]
 

Definition at line 38 of file mips/dec/setup.c.

volatile unsigned int* imr
 

Definition at line 47 of file mips/dec/setup.c.

Referenced by dc21040_autoconf(), dc21041_autoconf(), dc21140m_autoconf(), dc2114x_autoconf(), de4x5_close(), de4x5_interrupt(), de4x5_setup_intr(), mask_irq(), print_info(), sis900_close(), sis900_open(), sis900_reset(), sis900_tx_timeout(), stl_sc26198startrxtx(), and unmask_irq().

struct irqaction* irq_action[32] [static]
 

Initial value:

{
    NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
    NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
    NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
    NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL
}

Definition at line 86 of file mips/dec/irq.c.

volatile unsigned int* isr
 

Definition at line 46 of file mips/dec/setup.c.

Referenced by dma_init_read(), dma_init_write(), ei_start_xmit(), fas216_intr(), ips_isinit_copperhead(), ips_isinit_copperhead_memio(), mac_ack_intr(), pri_ISR(), print_debug_list(), print_info(), scsi_dma_int(), ser_interrupt(), sis900_interrupt(), sis900_reset(), sis900_tx_timeout(), w83977af_interrupt(), and zoran_irq().

unsigned int local_bh_count[NR_CPUS]
 

Definition at line 34 of file mips/dec/irq.c.

unsigned int local_irq_count[NR_CPUS]
 

Definition at line 35 of file mips/dec/irq.c.

unsigned long spurious_count = 0
 

Definition at line 36 of file mips/dec/irq.c.