]> git.karo-electronics.de Git - karo-tx-linux.git/commit
[PATCH] x86: pci_assign_unassigned_resources() update
authorIvan Kokshaysky <ink@jurassic.park.msu.ru>
Mon, 5 Sep 2005 14:12:21 +0000 (07:12 -0700)
committerChris Wright <chrisw@osdl.org>
Sat, 10 Sep 2005 02:42:51 +0000 (19:42 -0700)
commit2811d271ee67f4de6c6d7e2c731698f6f9f7746a
treecc65628c31bdd43c52722b3307aa1d9277d82596
parent5163b0a323cf51f1bb322a37fd86d3433ffc9d4a
[PATCH] x86: pci_assign_unassigned_resources() update

I had some time to think about PCI assign issues in 2.6.13-rc series.

The major problem here is that we call pci_assign_unassigned_resources()
way too early - at subsys_initcall level. Therefore we give no chances
to ACPI and PnP routines (called at fs_initcall level) to reserve their
respective resources properly, as the comments in drivers/pnp/system.c
and drivers/acpi/motherboard.c suggest:

 /**
  * Reserve motherboard resources after PCI claim BARs,
  * but before PCI assign resources for uninitialized PCI devices
  */

So I moved the pci_assign_unassigned_resources() call to
pcibios_assign_resources() (fs_initcall), which should hopefully fix a
lot of problems and make PCIBIOS_MIN_IO tweaks unnecessary.

Other changes:
- remove resource assignment code from pcibios_assign_resources(), since
  it duplicates pci_assign_unassigned_resources() functionality and
  actually does nothing in 2.6.13;
- modify ROM assignment code as per Ben's suggestion: try to use firmware
  settings by default (if PCI_ASSIGN_ROMS is not set);
- set CARDBUS_IO_SIZE back to 4K as it's a wonderful stress test for
  various setups.

Confirmed by Tero Roponen <teanropo@cc.jyu.fi> (who had problems with
the 4kB CardBus IO size previously).

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Signed-off-by: Chris Wright <chrisw@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
arch/i386/pci/common.c
arch/i386/pci/i386.c
drivers/pci/setup-bus.c