From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from gate.crashing.org (gate.crashing.org [63.228.1.57]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTP id C4257DDE49 for ; Wed, 6 Jun 2007 17:07:01 +1000 (EST) Subject: Re: [PATCH v2 6/9] Let subordinate transparent bridges be transparent. From: Benjamin Herrenschmidt To: Jon Loeliger In-Reply-To: <1180996213.9632.74.camel@ld0161-tx32> References: <1180996213.9632.74.camel@ld0161-tx32> Content-Type: text/plain Date: Wed, 06 Jun 2007 17:06:52 +1000 Message-Id: <1181113612.31677.238.camel@localhost.localdomain> Mime-Version: 1.0 Cc: "linuxppc-dev@ozlabs.org" List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , On Mon, 2007-06-04 at 17:30 -0500, Jon Loeliger wrote: > In pcibios_fixup_bus(), bridges that are subordinate > to transparent bridges were still relocating their > IORESOURCE_IO and IO_RESOURCE_MEM start and end values. > > Fix this by preventing the transparent bridge from > relocating the start and end values, thus allowing the > subordinate non-transparent bridge full molestation rights. > > Signed-off-by: York Sun > Signed-off-by: Andy Fleming > Signed-off-by: Jon Loeliger Acked-by: Benjamin Herrenschmidt > --- > > This is the variant that was suggested by Ben H. > > arch/powerpc/kernel/pci_32.c | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) > > diff --git a/arch/powerpc/kernel/pci_32.c b/arch/powerpc/kernel/pci_32.c > index e66064b..7738a28 100644 > --- a/arch/powerpc/kernel/pci_32.c > +++ b/arch/powerpc/kernel/pci_32.c > @@ -1370,7 +1370,7 @@ void __init pcibios_fixup_bus(struct pci_bus *bus) > for (i = 0; i < 4; ++i) { > if ((res = bus->resource[i]) == NULL) > continue; > - if (!res->flags) > + if (!res->flags || bus->self->transparent) > continue; > if (io_offset && (res->flags & IORESOURCE_IO)) { > res->start += io_offset;