diff options
author | Hiroshi DOYU <Hiroshi.DOYU@nokia.com> | 2009-01-28 20:32:08 +0100 |
---|---|---|
committer | Hiroshi DOYU <Hiroshi.DOYU@nokia.com> | 2009-05-19 07:23:49 +0200 |
commit | 69d3a84a646d6ad6cd693a7a3d5b9af414113d2c (patch) | |
tree | 3fe2ec29cc83ff07ae0d07df6b51c52a59a3944e /arch/arm/plat-orion | |
parent | omap iommu: omap3 iommu device registration (diff) | |
download | linux-69d3a84a646d6ad6cd693a7a3d5b9af414113d2c.tar.xz linux-69d3a84a646d6ad6cd693a7a3d5b9af414113d2c.zip |
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>
Diffstat (limited to '')
0 files changed, 0 insertions, 0 deletions