Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions
iommu.c File Reference
#include <linux/memblock.h>
#include <linux/types.h>
#include <linux/spinlock.h>
#include <linux/pci.h>
#include <asm/iommu.h>
#include <asm/machdep.h>
#include <asm/firmware.h>

Go to the source code of this file.

Macros

#define IOBMAP_PAGE_SHIFT   12
 
#define IOBMAP_PAGE_SIZE   (1 << IOBMAP_PAGE_SHIFT)
 
#define IOBMAP_PAGE_MASK   (IOBMAP_PAGE_SIZE - 1)
 
#define IOB_BASE   0xe0000000
 
#define IOB_SIZE   0x3000
 
#define IOBCAP_REG   0x40
 
#define IOBCOM_REG   0x100
 
#define IOBCOM_ATEN   0x00000100
 
#define IOB_AD_REG   0x14c
 
#define IOB_AD_VGPRT   0x00000e00
 
#define IOB_AD_VGAEN   0x00000100
 
#define IOB_AD_MPSEL_MASK   0x00000030
 
#define IOB_AD_MPSEL_B38   0x00000000
 
#define IOB_AD_MPSEL_B40   0x00000010
 
#define IOB_AD_MPSEL_B42   0x00000020
 
#define IOB_AD_TRNG_MASK   0x00000003
 
#define IOB_AD_TRNG_256M   0x00000000
 
#define IOB_AD_TRNG_2G   0x00000001
 
#define IOB_AD_TRNG_128G   0x00000003
 
#define IOB_TABLEBASE_REG   0x154
 
#define IOB_XLT_L1_REGBASE   0x2b00
 
#define IOB_AT_INVAL_TLB_REG   0x2d00
 
#define IOBMAP_L1E_V   0x40000000
 
#define IOBMAP_L1E_V_B   0x80000000
 
#define IOBMAP_L1E_BIG_CACHED   0x00000002
 
#define IOBMAP_L1E_BIG_PRIORITY   0x00000001
 
#define IOBMAP_L2E_V   0x80000000
 
#define IOBMAP_L2E_V_CACHED   0xc0000000
 

Functions

int __init iob_init (struct device_node *dn)
 
void __init iommu_init_early_pasemi (void)
 
void __init alloc_iobmap_l2 (void)
 

Macro Definition Documentation

#define IOB_AD_MPSEL_B38   0x00000000

Definition at line 49 of file iommu.c.

#define IOB_AD_MPSEL_B40   0x00000010

Definition at line 50 of file iommu.c.

#define IOB_AD_MPSEL_B42   0x00000020

Definition at line 51 of file iommu.c.

#define IOB_AD_MPSEL_MASK   0x00000030

Definition at line 48 of file iommu.c.

#define IOB_AD_REG   0x14c

Definition at line 43 of file iommu.c.

#define IOB_AD_TRNG_128G   0x00000003

Definition at line 56 of file iommu.c.

#define IOB_AD_TRNG_256M   0x00000000

Definition at line 54 of file iommu.c.

#define IOB_AD_TRNG_2G   0x00000001

Definition at line 55 of file iommu.c.

#define IOB_AD_TRNG_MASK   0x00000003

Definition at line 53 of file iommu.c.

#define IOB_AD_VGAEN   0x00000100

Definition at line 46 of file iommu.c.

#define IOB_AD_VGPRT   0x00000e00

Definition at line 45 of file iommu.c.

#define IOB_AT_INVAL_TLB_REG   0x2d00

Definition at line 64 of file iommu.c.

#define IOB_BASE   0xe0000000

Definition at line 34 of file iommu.c.

#define IOB_SIZE   0x3000

Definition at line 35 of file iommu.c.

#define IOB_TABLEBASE_REG   0x154

Definition at line 58 of file iommu.c.

#define IOB_XLT_L1_REGBASE   0x2b00

Definition at line 61 of file iommu.c.

#define IOBCAP_REG   0x40

Definition at line 37 of file iommu.c.

#define IOBCOM_ATEN   0x00000100

Definition at line 40 of file iommu.c.

#define IOBCOM_REG   0x100

Definition at line 38 of file iommu.c.

#define IOBMAP_L1E_BIG_CACHED   0x00000002

Definition at line 71 of file iommu.c.

#define IOBMAP_L1E_BIG_PRIORITY   0x00000001

Definition at line 72 of file iommu.c.

#define IOBMAP_L1E_V   0x40000000

Definition at line 67 of file iommu.c.

#define IOBMAP_L1E_V_B   0x80000000

Definition at line 68 of file iommu.c.

#define IOBMAP_L2E_V   0x80000000

Definition at line 75 of file iommu.c.

#define IOBMAP_L2E_V_CACHED   0xc0000000

Definition at line 76 of file iommu.c.

#define IOBMAP_PAGE_MASK   (IOBMAP_PAGE_SIZE - 1)

Definition at line 32 of file iommu.c.

#define IOBMAP_PAGE_SHIFT   12

Definition at line 30 of file iommu.c.

#define IOBMAP_PAGE_SIZE   (1 << IOBMAP_PAGE_SHIFT)

Definition at line 31 of file iommu.c.

Function Documentation

void __init alloc_iobmap_l2 ( void  )

Definition at line 255 of file iommu.c.

int __init iob_init ( struct device_node dn)

Definition at line 187 of file iommu.c.

void __init iommu_init_early_pasemi ( void  )

Definition at line 233 of file iommu.c.