From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
Cc: Linus Torvalds <torvalds@transmeta.com>,
Manfred Spraul <manfred@colorfullife.com>,
<linux-kernel@vger.kernel.org>
Subject: Re: [patch 2.5.31] transparent PCI-to-PCI bridges
Date: Fri, 30 Aug 2002 22:19:58 +0200 [thread overview]
Message-ID: <20020830201958.24112@192.168.4.1> (raw)
In-Reply-To: <20020831015716.B926@jurassic.park.msu.ru>
>Obviously, this window + 128M range of the PCI card won't fit in the
>256M region of the host bridge. So, the only way to get all this working
>is to set AGP bridge window such that it overlaps both regions
>of the host bridge. Like this:
>0x80000000-0x87ffffff - PCI card, fb
>0x88000000-0xf00fffff - AGP bridge, memory window
> 0x88000000-0x8fffffff - AGP card, fb
> 0x90000000-0xefffffff - empty
> 0xf0000000-0xf0000fff - AGP card, MMIO
>0xf0100000-0xf0100fff - PCI card, MMIO
>
>I don't see how you can cope with it using 2 separate bus resources -
>the memory resource of the AGP bridge wouldn't have a valid parent.
>OTOH, if you expose a _single_ memory resource of the host bridge
>(0x80000000-0xf0ffffff) and write your pcibios_align_resource()
>such that it won't allow allocation of non-bridge resources in the
>0x90000000-0xefffffff range, everything is fine.
>
>Please prove me that I'm wrong. :-)
First, a simple problem: You are showing a possible problem caused
by a given PCI host & bridge setup. That's not my point. My point
is that I _do_ have setups with N MMIO regions and want the kernel
to be able to deal with that. I'm not introducing any limitation to
the code, I want the code to be generic enough to cope with a setup
that exist (as the host is configured by my firmware).
Also, in your example, if I expose a single memory resource, then I
lie since the host bridge in this example would not forward addresses
"between" the 2 ranges, thus the kernel would potentially allocate
space for unassigned devices in that non-decoded range.
I want my host pci_bus structure to expose what it is really forwarding.
That's as simple as that. If your host is configured in a more "sane",
way, then good. I'm not forcing anybody to have 2 MMIO regions ;)
I just want that dawn code to deal with cases where I do have them
(or more). Again, that code isn't about setting up the bus, it's
about coping with an existing setup when building the resource tree.
Regarding your above example, it just don't happen in real life.
First, we have AGP as a separate PCI host domain on pmac ;) Then,
the firmware can configures host bridges with large enough regions
to deal with what is needed by the card.
Ben.
next prev parent reply other threads:[~2002-08-31 8:03 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-08-25 16:55 [patch 2.5.31] transparent PCI-to-PCI bridges Manfred Spraul
2002-08-26 13:57 ` Ivan Kokshaysky
2002-08-26 17:42 ` Linus Torvalds
2002-08-28 0:58 ` Ivan Kokshaysky
2002-08-28 1:29 ` Linus Torvalds
2002-08-30 21:38 ` [patch 2.5.32] " Ivan Kokshaysky
2002-08-26 20:12 ` [patch 2.5.31] " Benjamin Herrenschmidt
2002-08-28 1:40 ` Ivan Kokshaysky
2002-08-28 10:03 ` Benjamin Herrenschmidt
2002-08-28 17:35 ` Linus Torvalds
2002-08-28 18:35 ` Benjamin Herrenschmidt
2002-08-29 23:53 ` Ivan Kokshaysky
2002-08-30 9:28 ` Benjamin Herrenschmidt
2002-08-30 21:57 ` Ivan Kokshaysky
2002-08-30 20:19 ` Benjamin Herrenschmidt [this message]
2002-08-31 10:42 ` Ivan Kokshaysky
2002-08-31 15:06 ` Alan Cox
2002-08-31 16:49 ` Linus Torvalds
2002-08-31 22:40 ` Ivan Kokshaysky
2002-08-31 8:09 ` Benjamin Herrenschmidt
2002-08-30 17:12 ` Linus Torvalds
2002-08-30 22:23 ` Ivan Kokshaysky
2002-08-31 8:09 ` Benjamin Herrenschmidt
2002-08-31 13:12 ` Ivan Kokshaysky
2002-08-31 16:29 ` Linus Torvalds
-- strict thread matches above, loose matches on Subject: below --
2002-08-24 20:17 Ivan Kokshaysky
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=20020830201958.24112@192.168.4.1 \
--to=benh@kernel.crashing.org \
--cc=ink@jurassic.park.msu.ru \
--cc=linux-kernel@vger.kernel.org \
--cc=manfred@colorfullife.com \
--cc=torvalds@transmeta.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox