|  | /* | 
|  | * include/asm-arm/arch-ixp23xx/memory.h | 
|  | * | 
|  | * Copyright (c) 2003-2004 Intel Corp. | 
|  | * | 
|  | * This program is free software; you can redistribute it and/or modify it | 
|  | * under the terms of the GNU General Public License as published by the | 
|  | * Free Software Foundation; either version 2 of the License, or (at your | 
|  | * option) any later version. | 
|  | */ | 
|  |  | 
|  | #ifndef __ASM_ARCH_MEMORY_H | 
|  | #define __ASM_ARCH_MEMORY_H | 
|  |  | 
|  | #include <asm/hardware.h> | 
|  |  | 
|  | /* | 
|  | * Physical DRAM offset. | 
|  | */ | 
|  | #define PHYS_OFFSET		(0x00000000) | 
|  |  | 
|  |  | 
|  | /* | 
|  | * Virtual view <-> DMA view memory address translations | 
|  | * virt_to_bus: Used to translate the virtual address to an | 
|  | *		address suitable to be passed to set_dma_addr | 
|  | * bus_to_virt: Used to convert an address for DMA operations | 
|  | *		to an address that the kernel can use. | 
|  | */ | 
|  | #ifndef __ASSEMBLY__ | 
|  | #include <asm/mach-types.h> | 
|  |  | 
|  | #define __virt_to_bus(v)						\ | 
|  | ({ unsigned int ret;						\ | 
|  | ret = ((__virt_to_phys(v) - 0x00000000) +			\ | 
|  | (*((volatile int *)IXP23XX_PCI_SDRAM_BAR) & 0xfffffff0)); 	\ | 
|  | ret; }) | 
|  |  | 
|  | #define __bus_to_virt(b)						\ | 
|  | ({ unsigned int data;						\ | 
|  | data = *((volatile int *)IXP23XX_PCI_SDRAM_BAR);		\ | 
|  | __phys_to_virt((((b - (data & 0xfffffff0)) + 0x00000000))); }) | 
|  |  | 
|  | #define arch_is_coherent()	1 | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif |