b5ee900258
Let's provide an overridable default instead of having every machine class define __virt_to_bus and __bus_to_virt to the same thing. What most platforms are using is bus_addr == phys_addr so such is the default. One exception is ebsa110 which has no DMA what so ever, so the actual definition is not important except only for proper compilation. Also added a comment about the special footbridge bus translation. Let's also remove comments alluding to set_dma_addr which is not (and should not) be commonly used. Signed-off-by: Nicolas Pitre <nico@marvell.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
58 lines
1.6 KiB
C
58 lines
1.6 KiB
C
/*
|
|
* DaVinci memory space definitions
|
|
*
|
|
* Author: Kevin Hilman, MontaVista Software, Inc. <source@mvista.com>
|
|
*
|
|
* 2007 (c) MontaVista Software, Inc. This file is licensed under
|
|
* the terms of the GNU General Public License version 2. This program
|
|
* is licensed "as is" without any warranty of any kind, whether express
|
|
* or implied.
|
|
*/
|
|
#ifndef __ASM_ARCH_MEMORY_H
|
|
#define __ASM_ARCH_MEMORY_H
|
|
|
|
/**************************************************************************
|
|
* Included Files
|
|
**************************************************************************/
|
|
#include <asm/page.h>
|
|
#include <asm/sizes.h>
|
|
|
|
/**************************************************************************
|
|
* Definitions
|
|
**************************************************************************/
|
|
#define DAVINCI_DDR_BASE 0x80000000
|
|
#define DAVINCI_IRAM_BASE 0x00008000 /* ARM Internal RAM */
|
|
|
|
#define PHYS_OFFSET DAVINCI_DDR_BASE
|
|
|
|
/*
|
|
* Increase size of DMA-consistent memory region
|
|
*/
|
|
#define CONSISTENT_DMA_SIZE (14<<20)
|
|
|
|
#ifndef __ASSEMBLY__
|
|
/*
|
|
* Restrict DMA-able region to workaround silicon bug. The bug
|
|
* restricts buffers available for DMA to video hardware to be
|
|
* below 128M
|
|
*/
|
|
static inline void
|
|
__arch_adjust_zones(int node, unsigned long *size, unsigned long *holes)
|
|
{
|
|
unsigned int sz = (128<<20) >> PAGE_SHIFT;
|
|
|
|
if (node != 0)
|
|
sz = 0;
|
|
|
|
size[1] = size[0] - sz;
|
|
size[0] = sz;
|
|
}
|
|
|
|
#define arch_adjust_zones(node, zone_size, holes) \
|
|
if ((meminfo.bank[0].size >> 20) > 128) __arch_adjust_zones(node, zone_size, holes)
|
|
|
|
#define ISA_DMA_THRESHOLD (PHYS_OFFSET + (128<<20) - 1)
|
|
|
|
#endif
|
|
|
|
#endif /* __ASM_ARCH_MEMORY_H */
|