diff options
author | Kumar Gala | 2009-08-05 09:03:54 -0500 |
---|---|---|
committer | Wolfgang Denk | 2009-08-09 23:13:56 +0200 |
commit | cfd700be9f5ed289fd57a9bd61e266319badcb0d (patch) | |
tree | e34dc8ba30df70bd9357f5d64d6e1fbb050c3bd3 /common/fdt_support.c | |
parent | 59b4d7471c42e955bd9846892a0cc7478171778d (diff) |
fdt: Fix fdt_pci_dma_ranges handling of 64-bit ranges
If the size of a region equal to 4G it can't be represnted in a 32-bit
BAR so we should have marked that case as MEM64.
Additionally bump the number of inbound windows up to 4 to handle the
fact that Freescale PPCs that have an implicit window for CCSRBAR.
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Diffstat (limited to 'common/fdt_support.c')
-rw-r--r-- | common/fdt_support.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/common/fdt_support.c b/common/fdt_support.c index fc077e82927..89164a12d73 100644 --- a/common/fdt_support.c +++ b/common/fdt_support.c @@ -625,7 +625,7 @@ int fdt_resize(void *blob) } #ifdef CONFIG_PCI -#define CONFIG_SYS_PCI_NR_INBOUND_WIN 3 +#define CONFIG_SYS_PCI_NR_INBOUND_WIN 4 #define FDT_PCI_PREFETCH (0x40000000) #define FDT_PCI_MEM32 (0x02000000) @@ -655,7 +655,7 @@ int fdt_pci_dma_ranges(void *blob, int phb_off, struct pci_controller *hose) { size = (u64)hose->regions[r].size; dma_range[0] = 0; - if (size > 0x100000000ull) + if (size >= 0x100000000ull) dma_range[0] |= FDT_PCI_MEM64; else dma_range[0] |= FDT_PCI_MEM32; |