[PATCH] x86: pci_assign_unassigned_resources() update
authorIvan Kokshaysky <ink@jurassic.park.msu.ru>
Tue, 30 Aug 2005 14:48:52 +0000 (18:48 +0400)
committerLinus Torvalds <torvalds@g5.osdl.org>
Tue, 30 Aug 2005 18:14:48 +0000 (11:14 -0700)
commit81d4af1340badcd2100c84fbd1bfd13156de41aa
tree67b7302a238eb930c7416d00b3a316def6396b3d
parentae11be6f37dfa140b6c2d1a53b307ef57da69a04
[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>
arch/i386/pci/common.c
arch/i386/pci/i386.c
drivers/pci/setup-bus.c