xref: /openbmc/linux/arch/x86/include/asm/uv/uv_irq.h (revision 9338ad6f)
1bb898558SAl Viro /*
2bb898558SAl Viro  * This file is subject to the terms and conditions of the GNU General Public
3bb898558SAl Viro  * License.  See the file "COPYING" in the main directory of this archive
4bb898558SAl Viro  * for more details.
5bb898558SAl Viro  *
6bb898558SAl Viro  * SGI UV IRQ definitions
7bb898558SAl Viro  *
8bb898558SAl Viro  * Copyright (C) 2008 Silicon Graphics, Inc. All rights reserved.
9bb898558SAl Viro  */
10bb898558SAl Viro 
1105e4d316SH. Peter Anvin #ifndef _ASM_X86_UV_UV_IRQ_H
1205e4d316SH. Peter Anvin #define _ASM_X86_UV_UV_IRQ_H
13bb898558SAl Viro 
14bb898558SAl Viro /* If a generic version of this structure gets defined, eliminate this one. */
15bb898558SAl Viro struct uv_IO_APIC_route_entry {
16bb898558SAl Viro 	__u64	vector		:  8,
17bb898558SAl Viro 		delivery_mode	:  3,
18bb898558SAl Viro 		dest_mode	:  1,
19bb898558SAl Viro 		delivery_status	:  1,
20bb898558SAl Viro 		polarity	:  1,
21bb898558SAl Viro 		__reserved_1	:  1,
22bb898558SAl Viro 		trigger		:  1,
23bb898558SAl Viro 		mask		:  1,
24bb898558SAl Viro 		__reserved_2	: 15,
25bb898558SAl Viro 		dest		: 32;
26bb898558SAl Viro };
27bb898558SAl Viro 
286c2c5029SDimitri Sivanich enum {
296c2c5029SDimitri Sivanich 	UV_AFFINITY_ALL,
306c2c5029SDimitri Sivanich 	UV_AFFINITY_NODE,
316c2c5029SDimitri Sivanich 	UV_AFFINITY_CPU
326c2c5029SDimitri Sivanich };
336c2c5029SDimitri Sivanich 
346c2c5029SDimitri Sivanich extern int uv_irq_2_mmr_info(int, unsigned long *, int *);
356c2c5029SDimitri Sivanich extern int uv_setup_irq(char *, int, int, unsigned long, int);
366c2c5029SDimitri Sivanich extern void uv_teardown_irq(unsigned int);
37bb898558SAl Viro 
3805e4d316SH. Peter Anvin #endif /* _ASM_X86_UV_UV_IRQ_H */
39