Re: [patch 2.5] PCI: allow alternative methods for probing the BARs

Ivan Kokshaysky (ink@jurassic.park.msu.ru)
Wed, 8 Jan 2003 19:55:32 +0300


On Tue, Jan 07, 2003 at 09:44:53AM -0800, Linus Torvalds wrote:
> Because of legacy USB handling by the SMM BIOS, USB really ends up being a
> special case. There may be other special cases, of course, but the whole
> point of the fixups is exactly to handle special cases.

Ok, the 2-pass thing is almost done, seems to work on my
alpha and i386 boxes.

Now I have in pci_read_bases():

if (dev->skip_probe)
return;

/* Disable I/O & memory decoding while we size the BARs. */
pci_read_config_word(dev, PCI_COMMAND, &cmd);
pci_write_config_word(dev, PCI_COMMAND,
cmd & ~(PCI_COMMAND_IO | PCI_COMMAND_MEMORY));

for(pos=0; pos<howmany; pos = next) {
...

The "skip_probe" (single-bit field) can be set in the phase #1.
It's intended for stuff like pmac combo I/O ASIC, which probably
shouldn't be disabled even for a short time.

If it looks ok, I'll have a complete patch tomorrow, including
updates for all architectures and hotplug drivers.

Ivan.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/