Re: Linux and IBM : "unauthorized" mini-PCI : Cisco mpi350 _way_ sub-optimal

Russell King (rmk@arm.linux.org.uk)
Tue, 8 Jul 2003 18:44:21 +0100


On Tue, Jul 08, 2003 at 01:24:17PM -0400, Gerald Britton wrote:
> On Tue, Jul 08, 2003 at 04:42:30PM +0100, Alan Cox wrote:
> > Interesting. I wonder why our fixup would have failed - its not something
> > I've seen but we should fixup cardbus resource blocks (2.4 isnt smart
> > enough to handle multidevice cardbus but Rmk has 2.5 code that is), but
> > for the normal case it ought to have worked.

The x86 pci setup stuff is something I'm not completely certain about
since it is handled in a different way from the "normal" (from my point
of view at least) PCI code.

However, I do have some outstanding patches which clean up the init and
resource stuff but unfortunately break it on x86. For everything to
work as expected, I'd like x86 and whatever other architectures either
handle this in the core pci code, or the architecture specific code.
I see this as a quirk of x86 platforms.

(Architectures which do a full setup of the bus in the kernel set the
cardbus bridge up as part of their normal setup.)

> Is it smart enough to handle a case like this:
>
> [device resource 00-01]
> [bridge resource 01-04]
> [device resource 01-02]
> [cardbus bridge no resources]
> [cardbus bridge no resources]
> [device resource 02-04]
> [bridge resoruce 04-06]
> [device resource 04-06]
> [device resource 06-07]

Definitely not yet, since x86 has a policy of not reallocating anything
at all. I suspect getting it to handle it will open a huge live mine
field, full of SMI ports. 8(

Any x86 PCI gurus got any ideas?

-- 
Russell King (rmk@arm.linux.org.uk)                The developer of ARM Linux
             http://www.arm.linux.org.uk/personal/aboutme.html

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