#include <linux/kernel.h>
#include <linux/export.h>
#include <linux/slab.h>
#include <linux/delay.h>
#include <linux/device.h>
#include <linux/dma-mapping.h>
#include <linux/errno.h>
#include <linux/iommu-helper.h>
#include <linux/bitmap.h>
#include <asm/iommu.h>
#include "iommu_common.h"
Go to the source code of this file.
|
unsigned long | iommu_range_alloc (struct device *dev, struct iommu *iommu, unsigned long npages, unsigned long *handle) |
|
void | iommu_range_free (struct iommu *iommu, dma_addr_t dma_addr, unsigned long npages) |
|
int | iommu_table_init (struct iommu *iommu, int tsbsize, u32 dma_offset, u32 dma_addr_mask, int numa_node) |
|
| EXPORT_SYMBOL (dma_ops) |
|
int | pci64_dma_supported (struct pci_dev *pdev, u64 device_mask) |
|
int | dma_supported (struct device *dev, u64 device_mask) |
|
| EXPORT_SYMBOL (dma_supported) |
|
#define iommu_read |
( |
|
__reg | ) |
|
Value:
__asm__ __volatile__("ldxa [%1] %2, %0" \
: "=r" (__ret) \
: "memory"); \
__ret; \
})
Definition at line 32 of file iommu.c.
Value:__asm__ __volatile__(
"stxa %0, [%1] %2" \
: \
Definition at line 40 of file iommu.c.
#define IOPTE_CONSISTENT |
( |
|
CTX | ) |
|
Value:
Definition at line 66 of file iommu.c.
#define STC_CTXMATCH_ADDR |
( |
|
STC, |
|
|
|
CTX |
|
) |
| ((STC)->strbuf_ctxmatch_base + ((CTX) << 3)) |
#define STC_FLUSHFLAG_INIT |
( |
|
STC | ) |
(*((STC)->strbuf_flushflag) = 0UL) |
#define STC_FLUSHFLAG_SET |
( |
|
STC | ) |
(*((STC)->strbuf_flushflag) != 0UL) |