linux-kernel-test/arch/arm/plat-omap
Hiroshi DOYU 69d3a84a64 omap iommu: simple virtual address space management
This patch provides a device drivers, which has a omap iommu, with
address mapping APIs between device virtual address(iommu), physical
address and MPU virtual address.

There are 4 possible patterns for iommu virtual address(iova/da) mapping.

    |iova/			  mapping		iommu_		page
    | da	pa	va	(d)-(p)-(v)		function	type
  ---------------------------------------------------------------------------
  1 | c		c	c	 1 - 1 - 1	  _kmap() / _kunmap()	s
  2 | c		c,a	c	 1 - 1 - 1	_kmalloc()/ _kfree()	s
  3 | c		d	c	 1 - n - 1	  _vmap() / _vunmap()	s
  4 | c		d,a	c	 1 - n - 1	_vmalloc()/ _vfree()	n*

    'iova':	device iommu virtual address
    'da':	alias of 'iova'
    'pa':	physical address
    'va':	mpu virtual address

    'c':	contiguous memory area
    'd':	dicontiguous memory area
    'a':	anonymous memory allocation
    '()':	optional feature

    'n':	a normal page(4KB) size is used.
    's':	multiple iommu superpage(16MB, 1MB, 64KB, 4KB) size is used.

    '*':	not yet, but feasible.

Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
2009-05-19 08:23:49 +03:00
..
include/mach omap iommu: simple virtual address space management 2009-05-19 08:23:49 +03:00
clock.c [ARM] omap: clk_set_parent: deny changing parent if clock is enabled 2009-03-03 13:08:18 +00:00
common.c clocksource: pass clocksource to read() callback 2009-04-21 13:41:47 -07:00
cpu-omap.c [ARM] OMAP2: Implement CPUfreq frequency table based on PRCM table 2009-02-08 17:50:28 +00:00
debug-devices.c ARM: OMAP: Switch to gpio_request/free calls 2008-12-10 17:35:30 -08:00
debug-leds.c ARM: OMAP: switch to standard gpio get/set calls 2008-12-10 17:35:25 -08:00
devices.c ARM: OMAP3: mmc-twl4030 init passes device nodes back, v2 2009-03-23 18:51:22 -07:00
dma.c ARM: OMAP: Dispatch only relevant DMA interrupts 2009-03-23 18:51:20 -07:00
dmtimer.c ARM: OMAP: Export dmtimer functions 2009-03-23 18:51:19 -07:00
fb.c [ARM] Convert asm/io.h to linux/io.h 2008-09-06 12:10:45 +01:00
gpio.c [OMAP850] Changes to base IO subsystem, v2 2009-03-23 18:07:40 -07:00
i2c.c ARM: OMAP: Add method to register additional I2C busses on the command line, v2 2009-03-23 18:51:20 -07:00
io.c ARM: OMAP3: Add minimal omap3430 support 2008-10-09 17:51:41 +03:00
iommu.c omap iommu: tlb and pagetable primitives 2009-05-05 14:52:39 +03:00
iopgtable.h omap iommu: tlb and pagetable primitives 2009-05-05 14:52:39 +03:00
iovmm.c omap iommu: simple virtual address space management 2009-05-19 08:23:49 +03:00
Kconfig Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6 into devel 2009-03-25 18:31:35 +00:00
mailbox.c omap mailbox: remove unnecessary header file inclusion 2009-03-23 18:07:32 -07:00
Makefile ARM: OMAP: Allow I2C bus driver to be compiled as a module 2009-03-04 10:07:41 -08:00
mcbsp.c [ARM] omap: mcbsp: convert to use fck/ick clocks directly 2009-02-08 17:50:19 +00:00
mux.c [ARM] Convert asm/io.h to linux/io.h 2008-09-06 12:10:45 +01:00
ocpi.c [ARM] Convert asm/io.h to linux/io.h 2008-09-06 12:10:45 +01:00
sram.c [OMAP850] Changes to memory subsystem 2009-03-23 18:51:19 -07:00
usb.c ARM: OMAP: get rid of OMAP_TAG_USB, v2 2009-03-23 18:51:20 -07:00