Linux Kernel
3.7.1
|
#include <linux/module.h>
#include <linux/err.h>
#include <linux/slab.h>
#include <linux/vmalloc.h>
#include <linux/device.h>
#include <linux/scatterlist.h>
#include <linux/iommu.h>
#include <asm/cacheflush.h>
#include <asm/mach/map.h>
#include <plat/iommu.h>
#include <plat/iovmm.h>
#include <plat/iopgtable.h>
Go to the source code of this file.
Macros | |
#define | sgtable_ok(x) (!!sgtable_len(x)) |
Functions | |
struct iovm_struct * | omap_find_iovm_area (struct device *dev, u32 da) |
EXPORT_SYMBOL_GPL (omap_find_iovm_area) | |
void * | omap_da_to_va (struct device *dev, u32 da) |
EXPORT_SYMBOL_GPL (omap_da_to_va) | |
u32 | omap_iommu_vmap (struct iommu_domain *domain, struct device *dev, u32 da, const struct sg_table *sgt, u32 flags) |
EXPORT_SYMBOL_GPL (omap_iommu_vmap) | |
struct sg_table * | omap_iommu_vunmap (struct iommu_domain *domain, struct device *dev, u32 da) |
EXPORT_SYMBOL_GPL (omap_iommu_vunmap) | |
u32 | omap_iommu_vmalloc (struct iommu_domain *domain, struct device *dev, u32 da, size_t bytes, u32 flags) |
EXPORT_SYMBOL_GPL (omap_iommu_vmalloc) | |
void | omap_iommu_vfree (struct iommu_domain *domain, struct device *dev, const u32 da) |
EXPORT_SYMBOL_GPL (omap_iommu_vfree) | |
module_init (iovmm_init) | |
module_exit (iovmm_exit) | |
MODULE_DESCRIPTION ("omap iommu: simple virtual address space management") | |
MODULE_AUTHOR ("Hiroshi DOYU <[email protected]>") | |
MODULE_LICENSE ("GPL v2") | |
Definition at line 71 of file omap-iovmm.c.
EXPORT_SYMBOL_GPL | ( | omap_find_iovm_area | ) |
EXPORT_SYMBOL_GPL | ( | omap_da_to_va | ) |
EXPORT_SYMBOL_GPL | ( | omap_iommu_vmap | ) |
EXPORT_SYMBOL_GPL | ( | omap_iommu_vunmap | ) |
EXPORT_SYMBOL_GPL | ( | omap_iommu_vmalloc | ) |
EXPORT_SYMBOL_GPL | ( | omap_iommu_vfree | ) |
MODULE_AUTHOR | ( | "Hiroshi DOYU <[email protected]>" | ) |
MODULE_DESCRIPTION | ( | "omap iommu: simple virtual address space management" | ) |
module_exit | ( | iovmm_exit | ) |
module_init | ( | iovmm_init | ) |
MODULE_LICENSE | ( | "GPL v2" | ) |
omap_da_to_va - convert (d) to (v) : client device : iommu device virtual address : mpu virtual address
Returns mpu virtual addr which corresponds to a given device virtual addr
Definition at line 354 of file omap-iovmm.c.
|
read |
omap_find_iovm_area - find iovma which includes : client device : iommu device virtual address
Find the existing iovma starting at
Definition at line 239 of file omap-iovmm.c.
omap_iommu_vfree - release memory allocated by 'omap_iommu_vmalloc()' : client device : iommu device virtual address
Frees the iommu virtually continuous memory area starting at , as obtained from 'omap_iommu_vmalloc()'.
Definition at line 710 of file omap-iovmm.c.
u32 omap_iommu_vmalloc | ( | struct iommu_domain * | domain, |
struct device * | dev, | ||
u32 | da, | ||
size_t | bytes, | ||
u32 | flags | ||
) |
omap_iommu_vmalloc - (d)-(p)-(v) address allocator and mapper : client device : contiguous iommu virtual memory : allocation size : iovma and page property
Allocate linearly and creates 1-n-1 mapping and returns again, which might be adjusted if 'IOVMF_DA_FIXED' is not set.
Definition at line 661 of file omap-iovmm.c.
u32 omap_iommu_vmap | ( | struct iommu_domain * | domain, |
struct device * | dev, | ||
u32 | da, | ||
const struct sg_table * | sgt, | ||
u32 | flags | ||
) |
omap_iommu_vmap - (d)-(p)-(v) address mapper : iommu domain : client device : address of scatter gather table : iovma and page property
Creates 1-n-1 mapping with given and returns . All element must be io page size aligned.
Definition at line 591 of file omap-iovmm.c.
|
read |
omap_iommu_vunmap - release virtual mapping obtained by 'omap_iommu_vmap()' : iommu domain : client device : iommu device virtual address
Free the iommu virtually contiguous memory area starting at , which was returned by 'omap_iommu_vmap()'.
Definition at line 633 of file omap-iovmm.c.