diff options
author | Atsushi Nemoto <anemo@mba.ocn.ne.jp> | 2007-02-05 19:36:06 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2007-02-16 18:30:10 -0500 |
commit | 4516a618a76eae6eb1b37259ad49f39b7b7f33d8 (patch) | |
tree | 9122bdc9e596064542f14b23450ac24e18af1c4d /drivers/pci/pci.c | |
parent | 26ba05e4c66ad3fafe08412ffcf8c328cc4640b0 (diff) |
PCI: Make CARDBUS_MEM_SIZE and CARDBUS_IO_SIZE boot options
CARDBUS_MEM_SIZE was increased to 64MB on 2.6.20-rc2, but larger size might
result in allocation failure for the reserving itself on some platforms
(for example typical 32bit MIPS). Make it (and CARDBUS_IO_SIZE too)
customizable by "pci=" option for such platforms.
Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Cc: Daniel Ritz <daniel.ritz@gmx.ch>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
Cc: Dominik Brodowski <linux@dominikbrodowski.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/pci/pci.c')
-rw-r--r-- | drivers/pci/pci.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c index a7b869e24650..1e74e1ee8bd8 100644 --- a/drivers/pci/pci.c +++ b/drivers/pci/pci.c | |||
@@ -21,6 +21,12 @@ | |||
21 | 21 | ||
22 | unsigned int pci_pm_d3_delay = 10; | 22 | unsigned int pci_pm_d3_delay = 10; |
23 | 23 | ||
24 | #define DEFAULT_CARDBUS_IO_SIZE (256) | ||
25 | #define DEFAULT_CARDBUS_MEM_SIZE (64*1024*1024) | ||
26 | /* pci=cbmemsize=nnM,cbiosize=nn can override this */ | ||
27 | unsigned long pci_cardbus_io_size = DEFAULT_CARDBUS_IO_SIZE; | ||
28 | unsigned long pci_cardbus_mem_size = DEFAULT_CARDBUS_MEM_SIZE; | ||
29 | |||
24 | /** | 30 | /** |
25 | * pci_bus_max_busnr - returns maximum PCI bus number of given bus' children | 31 | * pci_bus_max_busnr - returns maximum PCI bus number of given bus' children |
26 | * @bus: pointer to PCI bus structure to search | 32 | * @bus: pointer to PCI bus structure to search |
@@ -1333,6 +1339,10 @@ static int __devinit pci_setup(char *str) | |||
1333 | if (*str && (str = pcibios_setup(str)) && *str) { | 1339 | if (*str && (str = pcibios_setup(str)) && *str) { |
1334 | if (!strcmp(str, "nomsi")) { | 1340 | if (!strcmp(str, "nomsi")) { |
1335 | pci_no_msi(); | 1341 | pci_no_msi(); |
1342 | } else if (!strncmp(str, "cbiosize=", 9)) { | ||
1343 | pci_cardbus_io_size = memparse(str + 9, &str); | ||
1344 | } else if (!strncmp(str, "cbmemsize=", 10)) { | ||
1345 | pci_cardbus_mem_size = memparse(str + 10, &str); | ||
1336 | } else { | 1346 | } else { |
1337 | printk(KERN_ERR "PCI: Unknown option `%s'\n", | 1347 | printk(KERN_ERR "PCI: Unknown option `%s'\n", |
1338 | str); | 1348 | str); |