diff options
author | Paul Mundt <lethal@linux-sh.org> | 2010-02-01 06:01:50 -0500 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2010-02-01 06:01:50 -0500 |
commit | b6c58b1d987a5795086c5c2babd8c7367d2fdb8c (patch) | |
tree | 3ec992af50f44dd09ff125165ea1c4ef41b2aecc /arch/sh/drivers/pci/pci-dreamcast.c | |
parent | ef407beefbd9928792ccc93857e408e0057bc17b (diff) |
sh: Improved multi-resource handling for SH7780 PCI.
The SH7780 PCI controller supports 3 different ranges of PCI memory in
addition to its PCI I/O window. In the case of 29-bit mode, only 2 memory
windows are supported, while in 32-bit mode all 3 are visible. This
attempts to make the resource handling completely dynamic and to permit
platforms to map in as many apertures as they can handle.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/drivers/pci/pci-dreamcast.c')
-rw-r--r-- | arch/sh/drivers/pci/pci-dreamcast.c | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/arch/sh/drivers/pci/pci-dreamcast.c b/arch/sh/drivers/pci/pci-dreamcast.c index bd5a1e50ebf6..633694193af8 100644 --- a/arch/sh/drivers/pci/pci-dreamcast.c +++ b/arch/sh/drivers/pci/pci-dreamcast.c | |||
@@ -25,25 +25,25 @@ | |||
25 | #include <asm/irq.h> | 25 | #include <asm/irq.h> |
26 | #include <mach/pci.h> | 26 | #include <mach/pci.h> |
27 | 27 | ||
28 | static struct resource gapspci_io_resource = { | 28 | static struct resource gapspci_resources[] = { |
29 | .name = "GAPSPCI IO", | 29 | { |
30 | .start = GAPSPCI_BBA_CONFIG, | 30 | .name = "GAPSPCI IO", |
31 | .end = GAPSPCI_BBA_CONFIG + GAPSPCI_BBA_CONFIG_SIZE - 1, | 31 | .start = GAPSPCI_BBA_CONFIG, |
32 | .flags = IORESOURCE_IO, | 32 | .end = GAPSPCI_BBA_CONFIG + GAPSPCI_BBA_CONFIG_SIZE - 1, |
33 | }; | 33 | .flags = IORESOURCE_IO, |
34 | 34 | }, { | |
35 | static struct resource gapspci_mem_resource = { | 35 | .name = "GAPSPCI mem", |
36 | .name = "GAPSPCI mem", | 36 | .start = GAPSPCI_DMA_BASE, |
37 | .start = GAPSPCI_DMA_BASE, | 37 | .end = GAPSPCI_DMA_BASE + GAPSPCI_DMA_SIZE - 1, |
38 | .end = GAPSPCI_DMA_BASE + GAPSPCI_DMA_SIZE - 1, | 38 | .flags = IORESOURCE_MEM, |
39 | .flags = IORESOURCE_MEM, | 39 | }, |
40 | }; | 40 | }; |
41 | 41 | ||
42 | static struct pci_channel dreamcast_pci_controller = { | 42 | static struct pci_channel dreamcast_pci_controller = { |
43 | .pci_ops = &gapspci_pci_ops, | 43 | .pci_ops = &gapspci_pci_ops, |
44 | .io_resource = &gapspci_io_resource, | 44 | .resources = gapspci_resources, |
45 | .nr_resources = ARRAY_SIZE(gapspci_resources), | ||
45 | .io_offset = 0x00000000, | 46 | .io_offset = 0x00000000, |
46 | .mem_resource = &gapspci_mem_resource, | ||
47 | .mem_offset = 0x00000000, | 47 | .mem_offset = 0x00000000, |
48 | }; | 48 | }; |
49 | 49 | ||