Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

authored by

Becky Bruce and committed by
Kumar Gala
89d93347 da385780

+8 -2
+4 -2
arch/powerpc/include/asm/pci-bridge.h
··· 140 140 struct resource io_resource; 141 141 struct resource mem_resources[3]; 142 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 147 #ifdef CONFIG_PPC64 144 148 unsigned long buid; 145 - unsigned long dma_window_base_cur; 146 - unsigned long dma_window_size; 147 149 148 150 void *private_data; 149 151 #endif /* CONFIG_PPC64 */
+4
arch/powerpc/sysdev/fsl_pci.c
··· 152 152 out_be32(&pci->piw[2].piwbar,0x00000000); 153 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 159 iounmap(pci); 156 160 } 157 161