[Top] [All Lists]

Re: Linux MIPS PCI resource sanity check

To: Andrew Sharp <>
Subject: Re: Linux MIPS PCI resource sanity check
From: Michael Buesch <>
Date: Sun, 17 Feb 2008 12:19:41 +0100
Cc: Sergei Shtylyov <>,,
In-reply-to: <>
Original-recipient: rfc822;
References: <> <> <>
User-agent: KMail/1.9.6 (enterprise 0.20070907.709405)
On Sunday 17 February 2008 00:35:30 Andrew Sharp wrote:
> Actually, IIRC, resources are based on what the device requested, so a
> device behind a bridge could request a resource starting at 0.  I had
> to change this for a system as well.  I changed it to
> if (!r->start && !r->end) {
> because I couldn't see anything in the code that made r->start == 0 an
> improper thing.  Not to mention I couldn't access the device any other
> way.  Both being 0 is definitelty bogus.

I think what's happening for me is the following:
I have a PCI bridge and behind that bridge is one device.
This has a fixed location and fixed size memory window (hardwired).

register_pci_controller() requires me to pass some io_resource
and mem_resource in the controller struct. So I pass the memory window
which is assigned to the controller and the devices behind it.
Later I fixup the bases and sizes for each resource in the
pcibios_plat_dev_init() routine.

So, well. I still don't know where the mips PCI subsystem would
detect this resource conflict and what that means to me.
If I simply rip out the check everything works fine, as I fixup
the addresses and sizes later anyway. (I fixup more stuff like the
IRQ routing an so on, too).

The code is in drivers/ssb/driver_pcicore.c

Greetings Michael.

<Prev in Thread] Current Thread [Next in Thread>