summaryrefslogtreecommitdiffstats
path: root/arch/powerpc/sysdev/grackle.c
diff options
context:
space:
mode:
authorPavel Roskin <proski@gnu.org>2007-02-04 03:16:08 -0500
committerPaul Mackerras <paulus@samba.org>2007-02-07 14:03:22 +1100
commita1fdf6940a2a3d3c7475755eba5881403473252d (patch)
treef7aeae38708c8f36d675e6498643001cd80122ab /arch/powerpc/sysdev/grackle.c
parent6e47a0f38203656125bb6b81216aa4a4f506e98c (diff)
[POWERPC] Assign all PCI busses on G3 Blue & White
G3 Blue & White is misconfigured by default so that CardBus controllers in PCI slots don't work. The PCI bridge is programmed to only allow access to bus 1 but not higher busses. The patch forces the PCI busses to be reassigned if a Grackle controller is found and the machine identifies itself as "PowerMac1,1" Signed-off-by: Pavel Roskin <proski@gnu.org> Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/powerpc/sysdev/grackle.c')
-rw-r--r--arch/powerpc/sysdev/grackle.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/powerpc/sysdev/grackle.c b/arch/powerpc/sysdev/grackle.c
index b6ec793a23b..42053625f49 100644
--- a/arch/powerpc/sysdev/grackle.c
+++ b/arch/powerpc/sysdev/grackle.c
@@ -56,6 +56,8 @@ static inline void grackle_set_loop_snoop(struct pci_controller *bp, int enable)
void __init setup_grackle(struct pci_controller *hose)
{
setup_indirect_pci(hose, 0xfec00000, 0xfee00000);
+ if (machine_is_compatible("PowerMac1,1"))
+ pci_assign_all_buses = 1;
if (machine_is_compatible("AAPL,PowerBook1998"))
grackle_set_loop_snoop(hose, 1);
#if 0 /* Disabled for now, HW problems ??? */