With a two-phase discovery, and a separate FIXUP_EARLY in the first phase,
we can now make fixups for devices behind bridges.
In particular, we can make the first phase disable DMA on the devices we
find, which means that we know they won't be generating PCI traffic during
the second phase - so now the second phase (which does the BAR sizing) can
do sizing and be safe in the knowledge that there should be no random PCI
activity ongoing at the same time.
That should fix at least the USB DMA problem.
> I'm under the impression some i386 specific code needs to be added
> to identify/fixup the broken configurations (memory disabled when
> a PCI Bridge is disabled).
It's fine to temporarily disable memory on the northbridge, as long as
nothign else tries to _access_ that memory at the same time. The tho-phase
discovery with the first phase doing the disables should make sure of
that.
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/