Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
arch
c6x
include
asm
irq.h
Go to the documentation of this file.
1
/*
2
* Port on Texas Instruments TMS320C6x architecture
3
*
4
* Copyright (C) 2004, 2006, 2009, 2010, 2011 Texas Instruments Incorporated
5
* Author: Aurelien Jacquiot (
[email protected]
)
6
*
7
* Large parts taken directly from powerpc.
8
*
9
* This program is free software; you can redistribute it and/or modify
10
* it under the terms of the GNU General Public License version 2 as
11
* published by the Free Software Foundation.
12
*/
13
#ifndef _ASM_C6X_IRQ_H
14
#define _ASM_C6X_IRQ_H
15
16
#include <
linux/irqdomain.h
>
17
#include <
linux/threads.h
>
18
#include <linux/list.h>
19
#include <
linux/radix-tree.h
>
20
#include <asm/percpu.h>
21
22
#define irq_canonicalize(irq) (irq)
23
24
/*
25
* The C64X+ core has 16 IRQ vectors. One each is used by Reset and NMI. Two
26
* are reserved. The remaining 12 vectors are used to route SoC interrupts.
27
* These interrupt vectors are prioritized with IRQ 4 having the highest
28
* priority and IRQ 15 having the lowest.
29
*
30
* The C64x+ megamodule provides a PIC which combines SoC IRQ sources into a
31
* single core IRQ vector. There are four combined sources, each of which
32
* feed into one of the 12 general interrupt vectors. The remaining 8 vectors
33
* can each route a single SoC interrupt directly.
34
*/
35
#define NR_PRIORITY_IRQS 16
36
37
/* Total number of virq in the platform */
38
#define NR_IRQS 256
39
40
/* This number is used when no interrupt has been assigned */
41
#define NO_IRQ 0
42
43
extern
void
__init
init_pic_c64xplus
(
void
);
44
45
extern
void
init_IRQ
(
void
);
46
47
struct
pt_regs
;
48
49
extern
asmlinkage
void
c6x_do_IRQ
(
unsigned
int
prio
,
struct
pt_regs
*
regs
);
50
51
extern
unsigned
long
irq_err_count
;
52
53
#endif
/* _ASM_C6X_IRQ_H */
Generated on Thu Jan 10 2013 12:49:52 for Linux Kernel by
1.8.2