mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-24 21:54:34 -04:00
[POWERPC] pci32: Add flags modifying the PCI code behaviour
This adds to the 32 bits PCI code some flags, replacing the old pci_assign_all_busses global, that allow us to control various aspects of the PCI probing, such as whether to re-assign all resources or not, or to not try to assign anything at all. This also adds the flag x86 already has to avoid ISA alignment on bridges that don't have ISA forwarding enabled (no legacy devices on the top level bus) and sets it for PowerMacs. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
This commit is contained in:
parent
b9baa20b0a
commit
fc3fb71c3e
12 changed files with 75 additions and 22 deletions
|
|
@ -13,6 +13,26 @@
|
|||
|
||||
struct device_node;
|
||||
|
||||
extern unsigned int ppc_pci_flags;
|
||||
enum {
|
||||
/* Force re-assigning all resources (ignore firmware
|
||||
* setup completely)
|
||||
*/
|
||||
PPC_PCI_REASSIGN_ALL_RSRC = 0x00000001,
|
||||
|
||||
/* Re-assign all bus numbers */
|
||||
PPC_PCI_REASSIGN_ALL_BUS = 0x00000002,
|
||||
|
||||
/* Do not try to assign, just use existing setup */
|
||||
PPC_PCI_PROBE_ONLY = 0x00000004,
|
||||
|
||||
/* Don't bother with ISA alignment unless the bridge has
|
||||
* ISA forwarding enabled
|
||||
*/
|
||||
PPC_PCI_CAN_SKIP_ISA_ALIGN = 0x00000008,
|
||||
};
|
||||
|
||||
|
||||
/*
|
||||
* Structure of a PCI controller (host bridge)
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -38,9 +38,12 @@ struct pci_dev;
|
|||
* Set this to 1 if you want the kernel to re-assign all PCI
|
||||
* bus numbers
|
||||
*/
|
||||
extern int pci_assign_all_buses;
|
||||
#define pcibios_assign_all_busses() (pci_assign_all_buses)
|
||||
|
||||
#ifdef CONFIG_PPC64
|
||||
#define pcibios_assign_all_busses() 0
|
||||
#else
|
||||
#define pcibios_assign_all_busses() (ppc_pci_flags & \
|
||||
PPC_PCI_REASSIGN_ALL_BUS)
|
||||
#endif
|
||||
#define pcibios_scan_all_fns(a, b) 0
|
||||
|
||||
static inline void pcibios_set_master(struct pci_dev *dev)
|
||||
|
|
|
|||
Loading…
Reference in a new issue