Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions
irq.c File Reference
#include <linux/interrupt.h>
#include <linux/ioport.h>
#include <linux/sched.h>
#include <linux/irqdomain.h>
#include <linux/of_platform.h>
#include <linux/of_address.h>
#include <linux/of_irq.h>
#include <asm/bootinfo.h>
#include <asm/irq_cpu.h>
#include <lantiq_soc.h>
#include <irq.h>

Go to the source code of this file.

Macros

#define LTQ_ICU_IM0_ISR   0x0000
 
#define LTQ_ICU_IM0_IER   0x0008
 
#define LTQ_ICU_IM0_IOSR   0x0010
 
#define LTQ_ICU_IM0_IRSR   0x0018
 
#define LTQ_ICU_IM0_IMR   0x0020
 
#define LTQ_ICU_IM1_ISR   0x0028
 
#define LTQ_ICU_OFFSET   (LTQ_ICU_IM1_ISR - LTQ_ICU_IM0_ISR)
 
#define LTQ_EIU_EXIN_C   0x0000
 
#define LTQ_EIU_EXIN_INIC   0x0004
 
#define LTQ_EIU_EXIN_INEN   0x000C
 
#define LTQ_EIU_IR0   (INT_NUM_IM4_IRL0 + 30)
 
#define LTQ_EIU_IR1   (INT_NUM_IM3_IRL0 + 31)
 
#define LTQ_EIU_IR2   (INT_NUM_IM1_IRL0 + 26)
 
#define LTQ_EIU_IR3   INT_NUM_IM1_IRL0
 
#define LTQ_EIU_IR4   (INT_NUM_IM1_IRL0 + 1)
 
#define LTQ_EIU_IR5   (INT_NUM_IM1_IRL0 + 2)
 
#define LTQ_EIU_IR6   (INT_NUM_IM2_IRL0 + 30)
 
#define XWAY_EXIN_COUNT   3
 
#define MAX_EIU   6
 
#define LTQ_PERF_IRQ   (INT_NUM_IM4_IRL0 + 31)
 
#define LTQ_ICU_EBU_IRQ   22
 
#define ltq_icu_w32(m, x, y)   ltq_w32((x), ltq_icu_membase[m] + (y))
 
#define ltq_icu_r32(m, x)   ltq_r32(ltq_icu_membase[m] + (x))
 
#define ltq_eiu_w32(x, y)   ltq_w32((x), ltq_eiu_membase + (y))
 
#define ltq_eiu_r32(x)   ltq_r32(ltq_eiu_membase + (x))
 
#define MIPS_CPU_IPI_RESCHED_IRQ   0
 
#define MIPS_CPU_IPI_CALL_IRQ   1
 
#define MIPS_CPU_IRQ_CASCADE   8
 
#define DEFINE_HWx_IRQDISPATCH(x)
 

Functions

void ltq_disable_irq (struct irq_data *d)
 
void ltq_mask_and_ack_irq (struct irq_data *d)
 
void ltq_enable_irq (struct irq_data *d)
 
 DEFINE_HWx_IRQDISPATCH (0)
 
int __init icu_of_init (struct device_node *node, struct device_node *parent)
 
unsigned int __cpuinit get_c0_compare_int (void)
 
void __init arch_init_irq (void)
 

Macro Definition Documentation

#define DEFINE_HWx_IRQDISPATCH (   x)
Value:
static void ltq_hw ## x ## _irqdispatch(void) \
{ \
ltq_hw_irqdispatch(x); \
}

Definition at line 212 of file irq.c.

#define LTQ_EIU_EXIN_C   0x0000

Definition at line 34 of file irq.c.

#define LTQ_EIU_EXIN_INEN   0x000C

Definition at line 36 of file irq.c.

#define LTQ_EIU_EXIN_INIC   0x0004

Definition at line 35 of file irq.c.

#define LTQ_EIU_IR0   (INT_NUM_IM4_IRL0 + 30)

Definition at line 39 of file irq.c.

#define LTQ_EIU_IR1   (INT_NUM_IM3_IRL0 + 31)

Definition at line 40 of file irq.c.

#define LTQ_EIU_IR2   (INT_NUM_IM1_IRL0 + 26)

Definition at line 41 of file irq.c.

#define LTQ_EIU_IR3   INT_NUM_IM1_IRL0

Definition at line 42 of file irq.c.

#define LTQ_EIU_IR4   (INT_NUM_IM1_IRL0 + 1)

Definition at line 43 of file irq.c.

#define LTQ_EIU_IR5   (INT_NUM_IM1_IRL0 + 2)

Definition at line 44 of file irq.c.

#define LTQ_EIU_IR6   (INT_NUM_IM2_IRL0 + 30)

Definition at line 45 of file irq.c.

#define ltq_eiu_r32 (   x)    ltq_r32(ltq_eiu_membase + (x))

Definition at line 62 of file irq.c.

#define ltq_eiu_w32 (   x,
  y 
)    ltq_w32((x), ltq_eiu_membase + (y))

Definition at line 61 of file irq.c.

#define LTQ_ICU_EBU_IRQ   22

Definition at line 56 of file irq.c.

#define LTQ_ICU_IM0_IER   0x0008

Definition at line 26 of file irq.c.

#define LTQ_ICU_IM0_IMR   0x0020

Definition at line 29 of file irq.c.

#define LTQ_ICU_IM0_IOSR   0x0010

Definition at line 27 of file irq.c.

#define LTQ_ICU_IM0_IRSR   0x0018

Definition at line 28 of file irq.c.

#define LTQ_ICU_IM0_ISR   0x0000

Definition at line 25 of file irq.c.

#define LTQ_ICU_IM1_ISR   0x0028

Definition at line 30 of file irq.c.

#define LTQ_ICU_OFFSET   (LTQ_ICU_IM1_ISR - LTQ_ICU_IM0_ISR)

Definition at line 31 of file irq.c.

#define ltq_icu_r32 (   m,
  x 
)    ltq_r32(ltq_icu_membase[m] + (x))

Definition at line 59 of file irq.c.

#define ltq_icu_w32 (   m,
  x,
  y 
)    ltq_w32((x), ltq_icu_membase[m] + (y))

Definition at line 58 of file irq.c.

#define LTQ_PERF_IRQ   (INT_NUM_IM4_IRL0 + 31)

Definition at line 50 of file irq.c.

#define MAX_EIU   6

Definition at line 47 of file irq.c.

#define MIPS_CPU_IPI_CALL_IRQ   1

Definition at line 66 of file irq.c.

#define MIPS_CPU_IPI_RESCHED_IRQ   0

Definition at line 65 of file irq.c.

#define MIPS_CPU_IRQ_CASCADE   8

Definition at line 69 of file irq.c.

#define XWAY_EXIN_COUNT   3

Definition at line 46 of file irq.c.

Function Documentation

void __init arch_init_irq ( void  )

Definition at line 433 of file irq.c.

DEFINE_HWx_IRQDISPATCH ( )

Definition at line 217 of file irq.c.

unsigned int __cpuinit get_c0_compare_int ( void  )

Definition at line 423 of file irq.c.

int __init icu_of_init ( struct device_node node,
struct device_node parent 
)

Definition at line 322 of file irq.c.

void ltq_disable_irq ( struct irq_data d)

Definition at line 89 of file irq.c.

void ltq_enable_irq ( struct irq_data d)

Definition at line 121 of file irq.c.

void ltq_mask_and_ack_irq ( struct irq_data d)

Definition at line 99 of file irq.c.