diff options
author | Thomas Bogendoerfer <tsbogend@alpha.franken.de> | 2007-05-17 08:51:47 -0400 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2007-06-06 14:34:31 -0400 |
commit | 0c2bf745f9bdef7243ef5f04e6b05f592abead06 (patch) | |
tree | c896ae0f72ecf64da6b2147b00a343eaca2b79c4 /arch/mips/sni | |
parent | d73d420708f456a63d7db2c504c62cd713381d7d (diff) |
[MIPS] RM300: Fix MMIO problems by marking the PCI INT ACK region busy
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/sni')
-rw-r--r-- | arch/mips/sni/pcimt.c | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/arch/mips/sni/pcimt.c b/arch/mips/sni/pcimt.c index 9ee208daa8b1..97b234361b4d 100644 --- a/arch/mips/sni/pcimt.c +++ b/arch/mips/sni/pcimt.c | |||
@@ -6,7 +6,7 @@ | |||
6 | * for more details. | 6 | * for more details. |
7 | * | 7 | * |
8 | * Copyright (C) 1996, 97, 98, 2000, 03, 04, 06 Ralf Baechle (ralf@linux-mips.org) | 8 | * Copyright (C) 1996, 97, 98, 2000, 03, 04, 06 Ralf Baechle (ralf@linux-mips.org) |
9 | * Copyright (C) 2006 Thomas Bogendoerfer (tsbogend@alpha.franken.de) | 9 | * Copyright (C) 2006,2007 Thomas Bogendoerfer (tsbogend@alpha.franken.de) |
10 | */ | 10 | */ |
11 | 11 | ||
12 | #include <linux/init.h> | 12 | #include <linux/init.h> |
@@ -131,6 +131,19 @@ static struct resource pcimt_io_resources[] = { | |||
131 | } | 131 | } |
132 | }; | 132 | }; |
133 | 133 | ||
134 | static struct resource pcimt_mem_resources[] = { | ||
135 | { | ||
136 | /* | ||
137 | * this region should only be 4 bytes long, | ||
138 | * but it's 16MB on all RM300C I've checked | ||
139 | */ | ||
140 | .start = 0x1a000000, | ||
141 | .end = 0x1affffff, | ||
142 | .name = "PCI INT ACK", | ||
143 | .flags = IORESOURCE_BUSY | ||
144 | } | ||
145 | }; | ||
146 | |||
134 | static struct resource sni_mem_resource = { | 147 | static struct resource sni_mem_resource = { |
135 | .start = 0x18000000UL, | 148 | .start = 0x18000000UL, |
136 | .end = 0x1fbfffffUL, | 149 | .end = 0x1fbfffffUL, |
@@ -145,6 +158,9 @@ static void __init sni_pcimt_resource_init(void) | |||
145 | /* request I/O space for devices used on all i[345]86 PCs */ | 158 | /* request I/O space for devices used on all i[345]86 PCs */ |
146 | for (i = 0; i < ARRAY_SIZE(pcimt_io_resources); i++) | 159 | for (i = 0; i < ARRAY_SIZE(pcimt_io_resources); i++) |
147 | request_resource(&sni_io_resource, pcimt_io_resources + i); | 160 | request_resource(&sni_io_resource, pcimt_io_resources + i); |
161 | /* request MEM space for devices used on all i[345]86 PCs */ | ||
162 | for (i = 0; i < ARRAY_SIZE(pcimt_mem_resources); i++) | ||
163 | request_resource(&sni_mem_resource, pcimt_mem_resources + i); | ||
148 | } | 164 | } |
149 | 165 | ||
150 | extern struct pci_ops sni_pcimt_ops; | 166 | extern struct pci_ops sni_pcimt_ops; |