Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions
omap-iommu.c File Reference
#include <linux/err.h>
#include <linux/module.h>
#include <linux/slab.h>
#include <linux/interrupt.h>
#include <linux/ioport.h>
#include <linux/clk.h>
#include <linux/platform_device.h>
#include <linux/iommu.h>
#include <linux/mutex.h>
#include <linux/spinlock.h>
#include <asm/cacheflush.h>
#include <plat/iommu.h>
#include <plat/iopgtable.h>

Go to the source code of this file.

Data Structures

struct  omap_iommu_domain
 

Macros

#define for_each_iotlb_cr(obj, n, __i, cr)
 
#define OMAP_IOMMU_PGSIZES   (SZ_4K | SZ_64K | SZ_1M | SZ_16M)
 

Functions

int omap_install_iommu_arch (const struct iommu_functions *ops)
 
 EXPORT_SYMBOL_GPL (omap_install_iommu_arch)
 
void omap_uninstall_iommu_arch (const struct iommu_functions *ops)
 
 EXPORT_SYMBOL_GPL (omap_uninstall_iommu_arch)
 
void omap_iommu_save_ctx (struct device *dev)
 
 EXPORT_SYMBOL_GPL (omap_iommu_save_ctx)
 
void omap_iommu_restore_ctx (struct device *dev)
 
 EXPORT_SYMBOL_GPL (omap_iommu_restore_ctx)
 
u32 omap_iommu_arch_version (void)
 
 EXPORT_SYMBOL_GPL (omap_iommu_arch_version)
 
void omap_iotlb_cr_to_e (struct cr_regs *cr, struct iotlb_entry *e)
 
 EXPORT_SYMBOL_GPL (omap_iotlb_cr_to_e)
 
int omap_iopgtable_store_entry (struct omap_iommu *obj, struct iotlb_entry *e)
 
 EXPORT_SYMBOL_GPL (omap_iopgtable_store_entry)
 

: name of target omap iommu device

omap_iommu_attach() - attach iommu device to an iommu domain

: page table

 subsys_initcall (omap_iommu_init)
 
 module_exit (omap_iommu_exit)
 
 MODULE_DESCRIPTION ("omap iommu: tlb and pagetable primitives")
 
 MODULE_ALIAS ("platform:omap-iommu")
 
 MODULE_AUTHOR ("Hiroshi DOYU, Paul Mundt and Toshihiro Kobayashi")
 
 MODULE_LICENSE ("GPL v2")
 

Macro Definition Documentation

#define for_each_iotlb_cr (   obj,
  n,
  __i,
  cr 
)
Value:
for (__i = 0; \
(__i < (n)) && (cr = __iotlb_read_cr((obj), __i), true); \
__i++)

Definition at line 31 of file omap-iommu.c.

#define OMAP_IOMMU_PGSIZES   (SZ_4K | SZ_64K | SZ_1M | SZ_16M)

Definition at line 37 of file omap-iommu.c.

Function Documentation

EXPORT_SYMBOL_GPL ( omap_install_iommu_arch  )
EXPORT_SYMBOL_GPL ( omap_uninstall_iommu_arch  )
EXPORT_SYMBOL_GPL ( omap_iommu_save_ctx  )
EXPORT_SYMBOL_GPL ( omap_iommu_restore_ctx  )
EXPORT_SYMBOL_GPL ( omap_iommu_arch_version  )
EXPORT_SYMBOL_GPL ( omap_iotlb_cr_to_e  )
EXPORT_SYMBOL_GPL ( omap_iopgtable_store_entry  )
MODULE_ALIAS ( "platform:omap-iommu )
MODULE_AUTHOR ( "Hiroshi  DOYU,
Paul Mundt and Toshihiro Kobayashi"   
)
MODULE_DESCRIPTION ( "omap iommu: tlb and pagetable primitives"  )
module_exit ( omap_iommu_exit  )
MODULE_LICENSE ( "GPL v2 )
int omap_install_iommu_arch ( const struct iommu_functions ops)

omap_install_iommu_arch - Install archtecure specific iommu functions : a pointer to architecture specific iommu functions

There are several kind of iommu algorithm(tlb, pagetable) among omap series. This interface installs such an iommu algorighm.

Definition at line 67 of file omap-iommu.c.

u32 omap_iommu_arch_version ( void  )

omap_iommu_arch_version - Return running iommu arch version

Definition at line 119 of file omap-iommu.c.

void omap_iommu_restore_ctx ( struct device dev)

omap_iommu_restore_ctx - Restore registers for pm off-mode support : client device

Definition at line 108 of file omap-iommu.c.

void omap_iommu_save_ctx ( struct device dev)

omap_iommu_save_ctx - Save registers for pm off-mode support : client device

Definition at line 96 of file omap-iommu.c.

int omap_iopgtable_store_entry ( struct omap_iommu obj,
struct iotlb_entry e 
)

omap_iopgtable_store_entry - Make an iommu pte entry : target iommu : an iommu tlb entry info

Definition at line 649 of file omap-iommu.c.

void omap_iotlb_cr_to_e ( struct cr_regs cr,
struct iotlb_entry e 
)

Definition at line 158 of file omap-iommu.c.

void omap_uninstall_iommu_arch ( const struct iommu_functions ops)

omap_uninstall_iommu_arch - Uninstall archtecure specific iommu functions : a pointer to architecture specific iommu functions

This interface uninstalls the iommu algorighm installed previously.

Definition at line 83 of file omap-iommu.c.

subsys_initcall ( omap_iommu_init  )