alistair23-linux/arch/arm
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
..
boot arm: allow usage of string functions in linux/string.h 2009-03-31 13:05:36 +10:30
common [ARM] 5455/1: Fix IRQ noise from VIC code 2009-04-16 21:29:46 +01:00
configs Merge branch 'defconfig-s3c2410' of git://aeryn.fluff.org.uk/bjdooks/linux 2009-04-17 21:35:56 +01:00
include/asm omap iommu: simple virtual address space management 2009-05-19 08:23:49 +03:00
kernel Merge master.kernel.org:/home/rmk/linux-2.6-arm 2009-04-24 08:36:41 -07:00
lib
mach-aaec2000
mach-at91 clocksource: pass clocksource to read() callback 2009-04-21 13:41:47 -07:00
mach-clps711x
mach-davinci clocksource: pass clocksource to read() callback 2009-04-21 13:41:47 -07:00
mach-ebsa110
mach-ep93xx [ARM] 5451/1: ep93xx:core.c: build warning fix 2009-04-15 10:01:03 +01:00
mach-footbridge
mach-gemini
mach-h720x
mach-imx Merge master.kernel.org:/home/rmk/linux-2.6-arm 2009-04-24 08:36:41 -07:00
mach-integrator
mach-iop13xx dma-mapping: replace all DMA_64BIT_MASK macro with DMA_BIT_MASK(64) 2009-04-07 08:31:10 -07:00
mach-iop32x
mach-iop33x
mach-ixp4xx clocksource: pass clocksource to read() callback 2009-04-21 13:41:47 -07:00
mach-ixp23xx
mach-ixp2000
mach-kirkwood [ARM] 5460/1: Orion: reduce namespace pollution 2009-04-23 23:25:41 +01:00
mach-ks8695
mach-l7200
mach-lh7a40x
mach-loki [ARM] 5460/1: Orion: reduce namespace pollution 2009-04-23 23:25:41 +01:00
mach-mmp
mach-msm clocksource: pass clocksource to read() callback 2009-04-21 13:41:47 -07:00
mach-mv78xx0 [ARM] 5460/1: Orion: reduce namespace pollution 2009-04-23 23:25:41 +01:00
mach-mx1 MX1ADS: remove I2C ifdefs 2009-04-16 12:57:15 +02:00
mach-mx2 imx21: activate i2c 2009-04-16 12:57:13 +02:00
mach-mx3 mx31ads: Mark as having full regulatoion constraints with 1133-EV1 board 2009-04-16 13:03:56 +02:00
mach-netx clocksource: pass clocksource to read() callback 2009-04-21 13:41:47 -07:00
mach-ns9xxx clocksource: pass clocksource to read() callback 2009-04-21 13:41:47 -07:00
mach-omap1 clocksource: pass clocksource to read() callback 2009-04-21 13:41:47 -07:00
mach-omap2 omap iommu: omap3 iommu device registration 2009-05-19 08:23:37 +03:00
mach-orion5x [ARM] 5460/1: Orion: reduce namespace pollution 2009-04-23 23:25:41 +01:00
mach-pnx4008
mach-pxa Merge master.kernel.org:/home/rmk/linux-2.6-arm 2009-04-24 08:36:41 -07:00
mach-realview clocksource: pass clocksource to read() callback 2009-04-21 13:41:47 -07:00
mach-rpc
mach-s3c24a0/include/mach
mach-s3c2400
mach-s3c2410 i2c-s3c2410: Simplify bus frequency calculation 2009-04-07 10:18:33 +01:00
mach-s3c2412 [ARM] JIVE: Fix sparse warnings about items which should be static 2009-04-17 12:42:24 +01:00
mach-s3c2440 [ARM] Osiris: Fix double initialisation in machine block 2009-04-17 12:42:24 +01:00
mach-s3c2442
mach-s3c2443
mach-s3c6400
mach-s3c6410 [ARM] SMDK6410: Request GPIOs for LCD power control 2009-04-15 14:46:03 +01:00
mach-sa1100
mach-shark
mach-versatile clocksource: pass clocksource to read() callback 2009-04-21 13:41:47 -07:00
mach-w90x900
mm omap iommu: simple virtual address space management 2009-05-19 08:23:49 +03:00
nwfpe
oprofile
plat-iop dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
plat-mxc clocksource: pass clocksource to read() callback 2009-04-21 13:41:47 -07:00
plat-omap omap iommu: simple virtual address space management 2009-05-19 08:23:49 +03:00
plat-orion Merge master.kernel.org:/home/rmk/linux-2.6-arm 2009-04-24 08:36:41 -07:00
plat-pxa
plat-s3c [ARM] S3C: Fix sparse warning from missing 's3c_device_hwmon' 2009-04-17 12:42:24 +01:00
plat-s3c24xx [ARM] S3C24XX: ADC: Check pending queue before freeing adc client 2009-04-17 12:46:36 +01:00
plat-s3c64xx
tools
vfp [ARM] 5440/1: Fix VFP state corruption due to preemption during VFP exceptions 2009-04-01 22:17:50 +01:00
Kconfig
Kconfig-nommu
Kconfig.debug
Makefile