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

Linus Torvalds (torvalds@transmeta.com)
Sun, 5 Jan 2003 20:14:53 -0800 (PST)


On Sun, 5 Jan 2003, Ivan Kokshaysky wrote:
>
> Hopefully this patch should solve most problems with probing the BARs.
> The changes are quite minimal as everything still is done in one pass.

Can you do the same with a multi-pass thing?

I really think the single-pass approach is broken, because it means that
we _cannot_ have a fixup for device that runs _before_ the fixup for the
bridge that bridges to the device.

As such, the "PCI_FIXUP_EARLY" is not _nearly_ early enough, since it's
way too late for the actual problem that started this whole thread (ie in
order to turn off a bridge, we have to make sure that everything behind
the bridge is turned off _first_).

In other words, we really should be able to do all the bus number setup
_first_. That isn't dependent ont eh BAR's or anything else. The actual
_sizing_ of the bus is clearly somethign we cannot do early, but we can
(and should) enumerate the devices first in phase #1.

Alternatively, we could even have a very limited phase #1 that only
enumerates _reachable_ devices (ie it doesn't even try to create bus
numbers, it only enumerates devices and buses that have already been set
up by the firmware, and ignores bridges that aren't set up yet). A pure
discovery phase, without any configuration at all.

Hmm?

Linus

-
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/