[PATCH] increase PCIBIOS_MIN_IO on x86
authorIvan Kokshaysky <ink@jurassic.park.msu.ru>
Tue, 2 Aug 2005 22:59:47 +0000 (02:59 +0400)
committerLinus Torvalds <torvalds@g5.osdl.org>
Wed, 3 Aug 2005 01:21:25 +0000 (18:21 -0700)
There is a number of x86 laptops that have some non-PCI IO ports
in the 0x1000-0x1fff range, and it's quite hard to control the correct
order of resource allocation between PCI and other subsystems controlling
these ports. Especially with modular kernel.

So just increase PCIBIOS_MIN_IO to 0x4000 to prevent any new PCI
resource allocations in the problematic range (this limitation must
apply _only_ to the root bus resources - see Linus' change in
pci_bus_alloc_resource).  As PCIBIOS_MIN_IO and PCIBIOS_MIN_CARDBUS_IO
are the same now on i386 and x86-64, we can remove the latter.

Signed-off-by: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
include/asm-i386/pci.h
include/asm-x86_64/pci.h

index 78c85985aee36901c8b6369372643b52f3d94b65..2cbab30734d6d3e655ebd74fc3333a1d0234beed 100644 (file)
@@ -18,11 +18,9 @@ extern unsigned int pcibios_assign_all_busses(void);
 #define pcibios_scan_all_fns(a, b)     0
 
 extern unsigned long pci_mem_start;
-#define PCIBIOS_MIN_IO         0x1000
+#define PCIBIOS_MIN_IO         0x4000
 #define PCIBIOS_MIN_MEM                (pci_mem_start)
 
-#define PCIBIOS_MIN_CARDBUS_IO 0x4000
-
 void pcibios_config_init(void);
 struct pci_bus * pcibios_scan_root(int bus);
 
index eeb3088a1c9e3d2fbbff1140b94fad85c69777f9..9c4527eb55e270ef3106ca447def0a25a1cf83e8 100644 (file)
@@ -22,11 +22,9 @@ extern unsigned int pcibios_assign_all_busses(void);
 extern int no_iommu, force_iommu;
 
 extern unsigned long pci_mem_start;
-#define PCIBIOS_MIN_IO         0x1000
+#define PCIBIOS_MIN_IO         0x4000
 #define PCIBIOS_MIN_MEM                (pci_mem_start)
 
-#define PCIBIOS_MIN_CARDBUS_IO 0x4000
-
 void pcibios_config_init(void);
 struct pci_bus * pcibios_scan_root(int bus);
 extern int (*pci_config_read)(int seg, int bus, int dev, int fn, int reg, int len, u32 *value);