All of lore.kernel.org
 help / color / mirror / Atom feed
From: Connor Behan <connor.behan@gmail.com>
To: Grant Grundler <grundler@parisc-linux.org>
Cc: Bjorn Helgaas <bjorn.helgaas@hp.com>,
	Jesse Barnes <jbarnes@virtuousgeek.org>,
	"Rafael J. Wysocki" <rjw@sisk.pl>,
	linux-kernel@vger.kernel.org,
	Linux PCI <linux-pci@vger.kernel.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Gary Hade <garyhade@us.ibm.com>
Subject: Re: Can't allocate resources for PCI video card behind bridge
Date: Mon, 12 Jan 2009 21:42:50 -0500	[thread overview]
Message-ID: <496BFFAA.3000707@gmail.com> (raw)
In-Reply-To: <20090110200902.GA14664@colo.lackof.org>

Sorry for being away over the weekend.
>> Here's how I interpret your lspci at http://pastebin.com/f126dc794;
>> see if it makes sense to you:
>>
>> Bus 00 has a bunch of devices that are built into the laptop.
>> Bus 01 has your built-in VGA below the AGP bridge at 00:01.0.
>> Buses 02-05 are for a laptop CardBus slot below the bridge at 00:02.0.
>> Buses 06-09 are for a laptop CardBus slot below the bridge at 00:02.1.
>> Buses 0a-12 are for things below the docking bridge at 00:04.0.
>>    Buses 0b-0e are for a Dock II CardBus slot below the bridge at 
>> 0a:02.0.
>>    Buses 0f-12 are for a Dock II CardBus slot below the bridge at 
>> 0a:02.1.
>>
>> I don't see your plug-in X1550 card.  If it were there, I suppose the
>> PCI to PCI-E bridge would be on bus 0a, with the actual video device
>> on some secondary bus like 13?
Most of that makes sense, I think the PCI to PCI-E bridge was somewhere 
on bus 0a but the VGA Compatible Controller was definitely bus 02. The 
busses only go up to 0a because I'm using pci=assign-busses. If I don't 
use that, they stop at 12.
>>> It may be that we want the "don't allocate resources for transparent 
>>> bridges"
>>> patch after all:
>>>
>>> diff --git a/drivers/pci/setup-bus.c b/drivers/pci/setup-bus.c
>>> index ea979f2..586451c 100644
>>> --- a/drivers/pci/setup-bus.c
>>> +++ b/drivers/pci/setup-bus.c
>>> @@ -467,8 +467,12 @@ void __ref pci_bus_size_bridges(struct pci_bus 
>>> *bus)
>>>                  }
>>>          }
>>>
>>> -       /* The root bus? */
>>> -       if (!bus->self)
>>> +       /*
>>> +        * We don't need to allocate PCI bridging windows
>>> +        * for a root bus (everything bridged) or for a
>>> +        * transparent one.
>>> +        */
>>> +       if (!bus->self || bus->self->transparent)
>>>                  return;
>> I don't understand this transparent bridge stuff very well, but it's
>> common for a bridge to support both positive and subtractive decode.
>> In that case, don't we still want to allocate resources for the
>> positive decode windows?
>>
I tried this patch but the kernel I'm using with that applied gives me 
the following dmesg: http://pastebin.com/f7a01c86 and the following 
lspci -vvv: http://pastebin.com/f3e473a13. Are there any other patches 
that claim to solve this? I know it can be solved without patches 
because of that one fluke attempt where it worked - I just had no way of 
knowing which options actually contributed to that success while it 
lasted. The only thing I remember about my dmesg output when I had this 
working was that it did NOT give the "can't allocate resource" errors 
for BARs 7, 8 and 9.

  reply	other threads:[~2009-01-13  2:43 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-01-08 19:31 Can't allocate resources for PCI video card behind bridge Connor Behan
2009-01-08 19:56 ` Rafael J. Wysocki
2009-01-08 20:26   ` Jesse Barnes
2009-01-09  0:08     ` Gary Hade
2009-01-09  0:39       ` Connor Behan
2009-01-09 22:30     ` Bjorn Helgaas
2009-01-10 20:09       ` Grant Grundler
2009-01-13  2:42         ` Connor Behan [this message]
2009-01-13  3:05           ` Linus Torvalds
2009-01-13 21:23             ` Connor Behan
2009-01-13 21:35               ` Linus Torvalds
2009-01-14  0:14                 ` Connor Behan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=496BFFAA.3000707@gmail.com \
    --to=connor.behan@gmail.com \
    --cc=bjorn.helgaas@hp.com \
    --cc=garyhade@us.ibm.com \
    --cc=grundler@parisc-linux.org \
    --cc=jbarnes@virtuousgeek.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=rjw@sisk.pl \
    --cc=torvalds@linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.