diff options
Diffstat (limited to 'arch/arm/mach-ixp23xx/include/mach/memory.h')
| -rw-r--r-- | arch/arm/mach-ixp23xx/include/mach/memory.h | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/arch/arm/mach-ixp23xx/include/mach/memory.h b/arch/arm/mach-ixp23xx/include/mach/memory.h index fdd138706c7..94a3a86cfeb 100644 --- a/arch/arm/mach-ixp23xx/include/mach/memory.h +++ b/arch/arm/mach-ixp23xx/include/mach/memory.h | |||
| @@ -19,16 +19,15 @@ | |||
| 19 | */ | 19 | */ |
| 20 | #define PHYS_OFFSET (0x00000000) | 20 | #define PHYS_OFFSET (0x00000000) |
| 21 | 21 | ||
| 22 | #define __virt_to_bus(v) \ | 22 | #define IXP23XX_PCI_SDRAM_OFFSET (*((volatile int *)IXP23XX_PCI_SDRAM_BAR) & 0xfffffff0)) |
| 23 | ({ unsigned int ret; \ | 23 | |
| 24 | ret = ((__virt_to_phys(v) - 0x00000000) + \ | 24 | #define __phys_to_bus(x) ((x) + (IXP23XX_PCI_SDRAM_OFFSET - PHYS_OFFSET)) |
| 25 | (*((volatile int *)IXP23XX_PCI_SDRAM_BAR) & 0xfffffff0)); \ | 25 | #define __bus_to_phys(x) ((x) - (IXP23XX_PCI_SDRAM_OFFSET - PHYS_OFFSET)) |
| 26 | ret; }) | 26 | |
| 27 | 27 | #define __virt_to_bus(v) __phys_to_bus(__virt_to_phys(v)) | |
| 28 | #define __bus_to_virt(b) \ | 28 | #define __bus_to_virt(b) __phys_to_virt(__bus_to_phys(b)) |
| 29 | ({ unsigned int data; \ | 29 | #define __pfn_to_bus(p) __phys_to_bus(__pfn_to_phys(p)) |
| 30 | data = *((volatile int *)IXP23XX_PCI_SDRAM_BAR); \ | 30 | #define __bus_to_pfn(b) __phys_to_pfn(__bus_to_phys(b)) |
| 31 | __phys_to_virt((((b - (data & 0xfffffff0)) + 0x00000000))); }) | ||
| 32 | 31 | ||
| 33 | #define arch_is_coherent() 1 | 32 | #define arch_is_coherent() 1 |
| 34 | 33 | ||
