[PATCH v2 6/9] Let subordinate transparent bridges be transparent.

Benjamin Herrenschmidt benh at kernel.crashing.org
Wed Jun 6 17:06:52 EST 2007


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 <yorksun at freescale.com>
> Signed-off-by: Andy Fleming <afleming at freescale.com>
> Signed-off-by: Jon Loeliger <jdl at freescale.com>

Acked-by: Benjamin Herrenschmidt <benh at kernel.crashing.org>

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




More information about the Linuxppc-dev mailing list