From e08fa965849592095ce72a18e8679b9ccc0461f2 Mon Sep 17 00:00:00 2001 From: Paul Mackerras Date: Sun, 28 Dec 2008 14:12:57 +0000 Subject: [PATCH] --- yaml --- r: 127674 b: refs/heads/master c: 16124f10df43e6e08783f1fede6888bf36ac705c h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/arch/powerpc/kernel/pci_64.c | 9 +++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 808fe911ee28..542e58e83fee 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 1d5bc03a8183d12c7daf4e7c69cce8d9c4b9a86b +refs/heads/master: 16124f10df43e6e08783f1fede6888bf36ac705c diff --git a/trunk/arch/powerpc/kernel/pci_64.c b/trunk/arch/powerpc/kernel/pci_64.c index 39fadc6e1492..586962f65c2a 100644 --- a/trunk/arch/powerpc/kernel/pci_64.c +++ b/trunk/arch/powerpc/kernel/pci_64.c @@ -560,9 +560,14 @@ long sys_pciconfig_iobase(long which, unsigned long in_bus, * G5 machines... So when something asks for bus 0 io base * (bus 0 is HT root), we return the AGP one instead. */ - if (machine_is_compatible("MacRISC4")) - if (in_bus == 0) + if (in_bus == 0 && machine_is_compatible("MacRISC4")) { + struct device_node *agp; + + agp = of_find_compatible_node(NULL, NULL, "u3-agp"); + if (agp) in_bus = 0xf0; + of_node_put(agp); + } /* That syscall isn't quite compatible with PCI domains, but it's * used on pre-domains setup. We return the first match