| 
									
										
										
										
											2011-06-29 11:46:54 -05:00
										 |  |  | /*
 | 
					
						
							|  |  |  |  * This program is free software; you can redistribute it and/or | 
					
						
							|  |  |  |  * modify it under the terms of the GNU General Public License | 
					
						
							|  |  |  |  * as published by the Free Software Foundation; either version | 
					
						
							|  |  |  |  * 2 of the License, or (at your option) any later version. | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | #ifndef _ASM_GENERIC_PCI_BRIDGE_H
 | 
					
						
							|  |  |  | #define _ASM_GENERIC_PCI_BRIDGE_H
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #ifdef __KERNEL__
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | enum { | 
					
						
							|  |  |  | 	/* Force re-assigning all resources (ignore firmware
 | 
					
						
							|  |  |  | 	 * setup completely) | 
					
						
							|  |  |  | 	 */ | 
					
						
							|  |  |  | 	PCI_REASSIGN_ALL_RSRC	= 0x00000001, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	/* Re-assign all bus numbers */ | 
					
						
							|  |  |  | 	PCI_REASSIGN_ALL_BUS	= 0x00000002, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	/* Do not try to assign, just use existing setup */ | 
					
						
							|  |  |  | 	PCI_PROBE_ONLY		= 0x00000004, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	/* Don't bother with ISA alignment unless the bridge has
 | 
					
						
							|  |  |  | 	 * ISA forwarding enabled | 
					
						
							|  |  |  | 	 */ | 
					
						
							|  |  |  | 	PCI_CAN_SKIP_ISA_ALIGN	= 0x00000008, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	/* Enable domain numbers in /proc */ | 
					
						
							|  |  |  | 	PCI_ENABLE_PROC_DOMAINS	= 0x00000010, | 
					
						
							|  |  |  | 	/* ... except for domain 0 */ | 
					
						
							|  |  |  | 	PCI_COMPAT_DOMAIN_0	= 0x00000020, | 
					
						
							| 
									
										
										
										
											2012-04-30 15:21:02 -06:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	/* PCIe downstream ports are bridges that normally lead to only a
 | 
					
						
							|  |  |  | 	 * device 0, but if this is set, we scan all possible devices, not | 
					
						
							|  |  |  | 	 * just device 0. | 
					
						
							|  |  |  | 	 */ | 
					
						
							|  |  |  | 	PCI_SCAN_ALL_PCIE_DEVS	= 0x00000040, | 
					
						
							| 
									
										
										
										
											2011-06-29 11:46:54 -05:00
										 |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #ifdef CONFIG_PCI
 | 
					
						
							|  |  |  | extern unsigned int pci_flags; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static inline void pci_set_flags(int flags) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	pci_flags = flags; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static inline void pci_add_flags(int flags) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	pci_flags |= flags; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-02-23 20:18:56 -07:00
										 |  |  | static inline void pci_clear_flags(int flags) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	pci_flags &= ~flags; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-06-29 11:46:54 -05:00
										 |  |  | static inline int pci_has_flag(int flag) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	return pci_flags & flag; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | #else
 | 
					
						
							|  |  |  | static inline void pci_set_flags(int flags) { } | 
					
						
							|  |  |  | static inline void pci_add_flags(int flags) { } | 
					
						
							| 
									
										
										
										
											2012-02-23 20:18:56 -07:00
										 |  |  | static inline void pci_clear_flags(int flags) { } | 
					
						
							| 
									
										
										
										
											2011-06-29 11:46:54 -05:00
										 |  |  | static inline int pci_has_flag(int flag) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	return 0; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | #endif	/* CONFIG_PCI */
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #endif	/* __KERNEL__ */
 | 
					
						
							|  |  |  | #endif	/* _ASM_GENERIC_PCI_BRIDGE_H */
 |