xref: /openbmc/linux/arch/x86/include/asm/uv/uv_irq.h (revision 2c684d89)
1 /*
2  * This file is subject to the terms and conditions of the GNU General Public
3  * License.  See the file "COPYING" in the main directory of this archive
4  * for more details.
5  *
6  * SGI UV IRQ definitions
7  *
8  * Copyright (C) 2008 Silicon Graphics, Inc. All rights reserved.
9  */
10 
11 #ifndef _ASM_X86_UV_UV_IRQ_H
12 #define _ASM_X86_UV_UV_IRQ_H
13 
14 /* If a generic version of this structure gets defined, eliminate this one. */
15 struct uv_IO_APIC_route_entry {
16 	__u64	vector		:  8,
17 		delivery_mode	:  3,
18 		dest_mode	:  1,
19 		delivery_status	:  1,
20 		polarity	:  1,
21 		__reserved_1	:  1,
22 		trigger		:  1,
23 		mask		:  1,
24 		__reserved_2	: 15,
25 		dest		: 32;
26 };
27 
28 enum {
29 	UV_AFFINITY_ALL,
30 	UV_AFFINITY_NODE,
31 	UV_AFFINITY_CPU
32 };
33 
34 extern int uv_irq_2_mmr_info(int, unsigned long *, int *);
35 extern int uv_setup_irq(char *, int, int, unsigned long, int);
36 extern void uv_teardown_irq(unsigned int);
37 
38 #endif /* _ASM_X86_UV_UV_IRQ_H */
39