Linux Kernel
3.7.1
|
#include <linux/module.h>
#include <linux/platform_device.h>
#include <linux/spinlock.h>
#include <linux/slab.h>
#include <linux/vmalloc.h>
#include <linux/mm.h>
#include <linux/list.h>
#include <linux/device.h>
#include <linux/io.h>
#include <linux/iommu.h>
#include <linux/of.h>
#include <asm/cacheflush.h>
Go to the source code of this file.
Data Structures | |
struct | gart_client |
struct | gart_device |
Macros | |
#define | pr_fmt(fmt) "%s(): " fmt, __func__ |
#define | GART_IOMMU_PGSIZES (SZ_4K) |
#define | GART_REG_BASE 0x24 |
#define | GART_CONFIG (0x24 - GART_REG_BASE) |
#define | GART_ENTRY_ADDR (0x28 - GART_REG_BASE) |
#define | GART_ENTRY_DATA (0x2c - GART_REG_BASE) |
#define | GART_ENTRY_PHYS_ADDR_VALID (1 << 31) |
#define | GART_PAGE_SHIFT 12 |
#define | GART_PAGE_SIZE (1 << GART_PAGE_SHIFT) |
#define | GART_PAGE_MASK (~(GART_PAGE_SIZE - 1) & ~GART_ENTRY_PHYS_ADDR_VALID) |
#define | GART_PTE(_pfn) (GART_ENTRY_PHYS_ADDR_VALID | ((_pfn) << PAGE_SHIFT)) |
#define | FLUSH_GART_REGS(gart) ((void)readl((gart)->regs + GART_CONFIG)) |
#define | for_each_gart_pte(gart, iova) |
Functions | |
subsys_initcall (tegra_gart_init) | |
module_exit (tegra_gart_exit) | |
MODULE_DESCRIPTION ("IOMMU API for GART in Tegra20") | |
MODULE_AUTHOR ("Hiroshi DOYU <[email protected]>") | |
MODULE_ALIAS ("platform:tegra-gart") | |
MODULE_LICENSE ("GPL v2") | |
Variables | |
struct dev_pm_ops | tegra_gart_pm_ops |
#define FLUSH_GART_REGS | ( | gart | ) | ((void)readl((gart)->regs + GART_CONFIG)) |
Definition at line 76 of file tegra-gart.c.
#define for_each_gart_pte | ( | gart, | |
iova | |||
) |
Definition at line 78 of file tegra-gart.c.
#define GART_CONFIG (0x24 - GART_REG_BASE) |
Definition at line 40 of file tegra-gart.c.
#define GART_ENTRY_ADDR (0x28 - GART_REG_BASE) |
Definition at line 41 of file tegra-gart.c.
#define GART_ENTRY_DATA (0x2c - GART_REG_BASE) |
Definition at line 42 of file tegra-gart.c.
#define GART_ENTRY_PHYS_ADDR_VALID (1 << 31) |
Definition at line 43 of file tegra-gart.c.
#define GART_IOMMU_PGSIZES (SZ_4K) |
Definition at line 37 of file tegra-gart.c.
#define GART_PAGE_MASK (~(GART_PAGE_SIZE - 1) & ~GART_ENTRY_PHYS_ADDR_VALID) |
Definition at line 47 of file tegra-gart.c.
#define GART_PAGE_SHIFT 12 |
Definition at line 45 of file tegra-gart.c.
#define GART_PAGE_SIZE (1 << GART_PAGE_SHIFT) |
Definition at line 46 of file tegra-gart.c.
#define GART_PTE | ( | _pfn | ) | (GART_ENTRY_PHYS_ADDR_VALID | ((_pfn) << PAGE_SHIFT)) |
Definition at line 68 of file tegra-gart.c.
#define GART_REG_BASE 0x24 |
Definition at line 39 of file tegra-gart.c.
#define pr_fmt | ( | fmt | ) | "%s(): " fmt, __func__ |
Definition at line 20 of file tegra-gart.c.
MODULE_ALIAS | ( | "platform:tegra-gart" | ) |
MODULE_AUTHOR | ( | "Hiroshi DOYU <[email protected]>" | ) |
module_exit | ( | tegra_gart_exit | ) |
MODULE_LICENSE | ( | "GPL v2" | ) |
subsys_initcall | ( | tegra_gart_init | ) |
struct dev_pm_ops tegra_gart_pm_ops |
Definition at line 427 of file tegra-gart.c.