Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions
dma-mapping.h File Reference
#include <linux/string.h>
#include <linux/device.h>
#include <linux/err.h>
#include <linux/dma-attrs.h>
#include <linux/dma-direction.h>
#include <linux/scatterlist.h>
#include <asm-generic/dma-mapping-broken.h>

Go to the source code of this file.

Data Structures

struct  dma_map_ops
 

Macros

#define DMA_BIT_MASK(n)   (((n) == 64) ? ~0ULL : ((1ULL<<(n))-1))
 
#define DMA_MASK_NONE   0x0ULL
 
#define DMA_MEMORY_MAP   0x01
 
#define DMA_MEMORY_IO   0x02
 
#define DMA_MEMORY_INCLUDES_CHILDREN   0x04
 
#define DMA_MEMORY_EXCLUSIVE   0x08
 
#define dma_map_single_attrs(dev, cpu_addr, size, dir, attrs)   dma_map_single(dev, cpu_addr, size, dir)
 
#define dma_unmap_single_attrs(dev, dma_addr, size, dir, attrs)   dma_unmap_single(dev, dma_addr, size, dir)
 
#define dma_map_sg_attrs(dev, sgl, nents, dir, attrs)   dma_map_sg(dev, sgl, nents, dir)
 
#define dma_unmap_sg_attrs(dev, sgl, nents, dir, attrs)   dma_unmap_sg(dev, sgl, nents, dir)
 
#define DEFINE_DMA_UNMAP_ADDR(ADDR_NAME)
 
#define DEFINE_DMA_UNMAP_LEN(LEN_NAME)
 
#define dma_unmap_addr(PTR, ADDR_NAME)   (0)
 
#define dma_unmap_addr_set(PTR, ADDR_NAME, VAL)   do { } while (0)
 
#define dma_unmap_len(PTR, LEN_NAME)   (0)
 
#define dma_unmap_len_set(PTR, LEN_NAME, VAL)   do { } while (0)
 

Functions

u64 dma_get_required_mask (struct device *dev)
 
voiddmam_alloc_coherent (struct device *dev, size_t size, dma_addr_t *dma_handle, gfp_t gfp)
 
void dmam_free_coherent (struct device *dev, size_t size, void *vaddr, dma_addr_t dma_handle)
 
voiddmam_alloc_noncoherent (struct device *dev, size_t size, dma_addr_t *dma_handle, gfp_t gfp)
 
void dmam_free_noncoherent (struct device *dev, size_t size, void *vaddr, dma_addr_t dma_handle)
 

Macro Definition Documentation

#define DEFINE_DMA_UNMAP_ADDR (   ADDR_NAME)

Definition at line 232 of file dma-mapping.h.

#define DEFINE_DMA_UNMAP_LEN (   LEN_NAME)

Definition at line 233 of file dma-mapping.h.

#define DMA_BIT_MASK (   n)    (((n) == 64) ? ~0ULL : ((1ULL<<(n))-1))

Definition at line 59 of file dma-mapping.h.

#define dma_map_sg_attrs (   dev,
  sgl,
  nents,
  dir,
  attrs 
)    dma_map_sg(dev, sgl, nents, dir)

Definition at line 216 of file dma-mapping.h.

#define dma_map_single_attrs (   dev,
  cpu_addr,
  size,
  dir,
  attrs 
)    dma_map_single(dev, cpu_addr, size, dir)

Definition at line 210 of file dma-mapping.h.

#define DMA_MASK_NONE   0x0ULL

Definition at line 61 of file dma-mapping.h.

#define DMA_MEMORY_EXCLUSIVE   0x08

Definition at line 155 of file dma-mapping.h.

#define DMA_MEMORY_INCLUDES_CHILDREN   0x04

Definition at line 154 of file dma-mapping.h.

#define DMA_MEMORY_IO   0x02

Definition at line 153 of file dma-mapping.h.

#define DMA_MEMORY_MAP   0x01

Definition at line 152 of file dma-mapping.h.

#define dma_unmap_addr (   PTR,
  ADDR_NAME 
)    (0)

Definition at line 234 of file dma-mapping.h.

#define dma_unmap_addr_set (   PTR,
  ADDR_NAME,
  VAL 
)    do { } while (0)

Definition at line 235 of file dma-mapping.h.

#define dma_unmap_len (   PTR,
  LEN_NAME 
)    (0)

Definition at line 236 of file dma-mapping.h.

#define dma_unmap_len_set (   PTR,
  LEN_NAME,
  VAL 
)    do { } while (0)

Definition at line 237 of file dma-mapping.h.

#define dma_unmap_sg_attrs (   dev,
  sgl,
  nents,
  dir,
  attrs 
)    dma_unmap_sg(dev, sgl, nents, dir)

Definition at line 219 of file dma-mapping.h.

#define dma_unmap_single_attrs (   dev,
  dma_addr,
  size,
  dir,
  attrs 
)    dma_unmap_single(dev, dma_addr, size, dir)

Definition at line 213 of file dma-mapping.h.

Function Documentation

u64 dma_get_required_mask ( struct device dev)

Definition at line 715 of file pci.c.

void* dmam_alloc_coherent ( struct device dev,
size_t  size,
dma_addr_t dma_handle,
gfp_t  gfp 
)

dmam_alloc_coherent - Managed dma_alloc_coherent() : Device to allocate coherent memory for : Size of allocation : Out argument for allocated DMA handle : Allocation flags

Managed dma_alloc_coherent(). Memory allocated using this function will be automatically released on driver detach.

RETURNS: Pointer to allocated memory on success, NULL on failure.

Definition at line 63 of file dma-mapping.c.

void* dmam_alloc_noncoherent ( struct device dev,
size_t  size,
dma_addr_t dma_handle,
gfp_t  gfp 
)

dmam_alloc_non_coherent - Managed dma_alloc_non_coherent() : Device to allocate non_coherent memory for : Size of allocation : Out argument for allocated DMA handle : Allocation flags

Managed dma_alloc_non_coherent(). Memory allocated using this function will be automatically released on driver detach.

RETURNS: Pointer to allocated memory on success, NULL on failure.

Definition at line 122 of file dma-mapping.c.

void dmam_free_coherent ( struct device dev,
size_t  size,
void vaddr,
dma_addr_t  dma_handle 
)

dmam_free_coherent - Managed dma_free_coherent() : Device to free coherent memory for : Size of allocation : Virtual address of the memory to free : DMA handle of the memory to free

Managed dma_free_coherent().

Definition at line 98 of file dma-mapping.c.

void dmam_free_noncoherent ( struct device dev,
size_t  size,
void vaddr,
dma_addr_t  dma_handle 
)

dmam_free_coherent - Managed dma_free_noncoherent() : Device to free noncoherent memory for : Size of allocation : Virtual address of the memory to free : DMA handle of the memory to free

Managed dma_free_noncoherent().

Definition at line 157 of file dma-mapping.c.