aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorBecky Bruce <beckyb@kernel.crashing.org>2009-04-20 12:26:48 -0400
committerKumar Gala <galak@kernel.crashing.org>2009-05-19 01:46:22 -0400
commit89d93347d1f66832c43e6b25a669fddff89929b5 (patch)
tree848b3dbba4384bd3842f42ea35e107b21c0f66bb /arch
parentda385780489db4f55dad96609511a9a6d1b041cb (diff)
powerpc: make dma_window_* in pci_controller struct avail on 32b
Also, convert them to resource_size_t (which is unsigned long on 64-bit, so it's not a change there). We will be using these on fsl 32b to indicate the start and size address of memory that the pci controller can actually reach - this is needed to determine if an address requires bounce buffering. For now, initialize them to a standard value; in the near future, the value will be calculated based on how the inbound windows are programmed. Signed-off-by: Becky Bruce <beckyb@kernel.crashing.org> Acked-by: Ben Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/powerpc/include/asm/pci-bridge.h6
-rw-r--r--arch/powerpc/sysdev/fsl_pci.c4
2 files changed, 8 insertions, 2 deletions
diff --git a/arch/powerpc/include/asm/pci-bridge.h b/arch/powerpc/include/asm/pci-bridge.h
index 84007afabdb5..9861258f6a4c 100644
--- a/arch/powerpc/include/asm/pci-bridge.h
+++ b/arch/powerpc/include/asm/pci-bridge.h
@@ -140,10 +140,12 @@ struct pci_controller {
140 struct resource io_resource; 140 struct resource io_resource;
141 struct resource mem_resources[3]; 141 struct resource mem_resources[3];
142 int global_number; /* PCI domain number */ 142 int global_number; /* PCI domain number */
143
144 resource_size_t dma_window_base_cur;
145 resource_size_t dma_window_size;
146
143#ifdef CONFIG_PPC64 147#ifdef CONFIG_PPC64
144 unsigned long buid; 148 unsigned long buid;
145 unsigned long dma_window_base_cur;
146 unsigned long dma_window_size;
147 149
148 void *private_data; 150 void *private_data;
149#endif /* CONFIG_PPC64 */ 151#endif /* CONFIG_PPC64 */
diff --git a/arch/powerpc/sysdev/fsl_pci.c b/arch/powerpc/sysdev/fsl_pci.c
index 78021d8afc53..376603df7c49 100644
--- a/arch/powerpc/sysdev/fsl_pci.c
+++ b/arch/powerpc/sysdev/fsl_pci.c
@@ -152,6 +152,10 @@ static void __init setup_pci_atmu(struct pci_controller *hose,
152 out_be32(&pci->piw[2].piwbar,0x00000000); 152 out_be32(&pci->piw[2].piwbar,0x00000000);
153 out_be32(&pci->piw[2].piwar, PIWAR_2G); 153 out_be32(&pci->piw[2].piwar, PIWAR_2G);
154 154
155 /* Save the base address and size covered by inbound window mappings */
156 hose->dma_window_base_cur = 0x00000000;
157 hose->dma_window_size = 0x80000000;
158
155 iounmap(pci); 159 iounmap(pci);
156} 160}
157 161