Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Typedefs | Functions | Variables
fsldma.h File Reference
#include <linux/device.h>
#include <linux/dmapool.h>
#include <linux/dmaengine.h>

Go to the source code of this file.

Data Structures

struct  fsl_dma_ld_hw
 
struct  fsl_desc_sw
 
struct  fsldma_chan_regs
 
struct  fsldma_device
 
struct  fsldma_chan
 

Macros

#define FSL_DMA_MR_CS   0x00000001
 
#define FSL_DMA_MR_CC   0x00000002
 
#define FSL_DMA_MR_CA   0x00000008
 
#define FSL_DMA_MR_EIE   0x00000040
 
#define FSL_DMA_MR_XFE   0x00000020
 
#define FSL_DMA_MR_EOLNIE   0x00000100
 
#define FSL_DMA_MR_EOLSIE   0x00000080
 
#define FSL_DMA_MR_EOSIE   0x00000200
 
#define FSL_DMA_MR_CDSM   0x00000010
 
#define FSL_DMA_MR_CTM   0x00000004
 
#define FSL_DMA_MR_EMP_EN   0x00200000
 
#define FSL_DMA_MR_EMS_EN   0x00040000
 
#define FSL_DMA_MR_DAHE   0x00002000
 
#define FSL_DMA_MR_SAHE   0x00001000
 
#define FSL_DMA_MR_BWC   0x08000000
 
#define FSL_DMA_MR_EOTIE   0x00000080
 
#define FSL_DMA_MR_PRC_RM   0x00000800
 
#define FSL_DMA_SR_CH   0x00000020
 
#define FSL_DMA_SR_PE   0x00000010
 
#define FSL_DMA_SR_CB   0x00000004
 
#define FSL_DMA_SR_TE   0x00000080
 
#define FSL_DMA_SR_EOSI   0x00000002
 
#define FSL_DMA_SR_EOLSI   0x00000001
 
#define FSL_DMA_SR_EOCDI   0x00000001
 
#define FSL_DMA_SR_EOLNI   0x00000008
 
#define FSL_DMA_SATR_SBPATMU   0x20000000
 
#define FSL_DMA_SATR_STRANSINT_RIO   0x00c00000
 
#define FSL_DMA_SATR_SREADTYPE_SNOOP_READ   0x00050000
 
#define FSL_DMA_SATR_SREADTYPE_BP_IORH   0x00020000
 
#define FSL_DMA_SATR_SREADTYPE_BP_NREAD   0x00040000
 
#define FSL_DMA_SATR_SREADTYPE_BP_MREAD   0x00070000
 
#define FSL_DMA_DATR_DBPATMU   0x20000000
 
#define FSL_DMA_DATR_DTRANSINT_RIO   0x00c00000
 
#define FSL_DMA_DATR_DWRITETYPE_SNOOP_WRITE   0x00050000
 
#define FSL_DMA_DATR_DWRITETYPE_BP_FLUSH   0x00010000
 
#define FSL_DMA_EOL   ((u64)0x1)
 
#define FSL_DMA_SNEN   ((u64)0x10)
 
#define FSL_DMA_EOSIE   0x8
 
#define FSL_DMA_NLDA_MASK   (~(u64)0x1f)
 
#define FSL_DMA_BCR_MAX_CNT   0x03ffffffu
 
#define FSL_DMA_DGSR_TE   0x80
 
#define FSL_DMA_DGSR_CH   0x20
 
#define FSL_DMA_DGSR_PE   0x10
 
#define FSL_DMA_DGSR_EOLNI   0x08
 
#define FSL_DMA_DGSR_CB   0x04
 
#define FSL_DMA_DGSR_EOSI   0x02
 
#define FSL_DMA_DGSR_EOLSI   0x01
 
#define FSL_DMA_MAX_CHANS_PER_DEVICE   4
 
#define FSL_DMA_LITTLE_ENDIAN   0x00000000
 
#define FSL_DMA_BIG_ENDIAN   0x00000001
 
#define FSL_DMA_IP_MASK   0x00000ff0
 
#define FSL_DMA_IP_85XX   0x00000010
 
#define FSL_DMA_IP_83XX   0x00000020
 
#define FSL_DMA_CHAN_PAUSE_EXT   0x00001000
 
#define FSL_DMA_CHAN_START_EXT   0x00002000
 
#define to_fsl_chan(chan)   container_of(chan, struct fsldma_chan, common)
 
#define to_fsl_desc(lh)   container_of(lh, struct fsl_desc_sw, node)
 
#define tx_to_fsl_desc(tx)   container_of(tx, struct fsl_desc_sw, async_tx)
 
#define DMA_IN(fsl_chan, addr, width)
 
#define DMA_OUT(fsl_chan, addr, val, width)
 
#define DMA_TO_CPU(fsl_chan, d, width)
 
#define CPU_TO_DMA(fsl_chan, c, width)
 

Typedefs

typedef u64 __bitwise v64
 
typedef u32 __bitwise v32
 

Functions

struct fsl_dma_ld_hw __attribute__ ((aligned(32)))
 

Variables

v64 src_addr
 
v64 dst_addr
 
v64 next_ln_addr
 
v32 count
 
v32 reserve
 
struct fsl_dma_ld_hw hw
 
struct list_head node
 
struct list_head tx_list
 
struct dma_async_tx_descriptor async_tx
 
struct fsldma_chan_regs __attribute__
 

Macro Definition Documentation

#define CPU_TO_DMA (   fsl_chan,
  c,
  width 
)
Value:
(((fsl_chan)->feature & FSL_DMA_BIG_ENDIAN) ? \
(__force v##width)cpu_to_be##width(c) : \
(__force v##width)cpu_to_le##width(c))

Definition at line 201 of file fsldma.h.

#define DMA_IN (   fsl_chan,
  addr,
  width 
)
Value:
(((fsl_chan)->feature & FSL_DMA_BIG_ENDIAN) ? \
in_be##width(addr) : in_le##width(addr))

Definition at line 190 of file fsldma.h.

#define DMA_OUT (   fsl_chan,
  addr,
  val,
  width 
)
Value:
(((fsl_chan)->feature & FSL_DMA_BIG_ENDIAN) ? \
out_be##width(addr, val) : out_le##width(addr, val))

Definition at line 193 of file fsldma.h.

#define DMA_TO_CPU (   fsl_chan,
  d,
  width 
)
Value:
(((fsl_chan)->feature & FSL_DMA_BIG_ENDIAN) ? \
be##width##_to_cpu((__force __be##width)(v##width)d) : \
le##width##_to_cpu((__force __le##width)(v##width)d))

Definition at line 197 of file fsldma.h.

#define FSL_DMA_BCR_MAX_CNT   0x03ffffffu

Definition at line 76 of file fsldma.h.

#define FSL_DMA_BIG_ENDIAN   0x00000001

Definition at line 128 of file fsldma.h.

#define FSL_DMA_CHAN_PAUSE_EXT   0x00001000

Definition at line 134 of file fsldma.h.

#define FSL_DMA_CHAN_START_EXT   0x00002000

Definition at line 135 of file fsldma.h.

#define FSL_DMA_DATR_DBPATMU   0x20000000

Definition at line 66 of file fsldma.h.

#define FSL_DMA_DATR_DTRANSINT_RIO   0x00c00000

Definition at line 67 of file fsldma.h.

#define FSL_DMA_DATR_DWRITETYPE_BP_FLUSH   0x00010000

Definition at line 69 of file fsldma.h.

#define FSL_DMA_DATR_DWRITETYPE_SNOOP_WRITE   0x00050000

Definition at line 68 of file fsldma.h.

#define FSL_DMA_DGSR_CB   0x04

Definition at line 82 of file fsldma.h.

#define FSL_DMA_DGSR_CH   0x20

Definition at line 79 of file fsldma.h.

#define FSL_DMA_DGSR_EOLNI   0x08

Definition at line 81 of file fsldma.h.

#define FSL_DMA_DGSR_EOLSI   0x01

Definition at line 84 of file fsldma.h.

#define FSL_DMA_DGSR_EOSI   0x02

Definition at line 83 of file fsldma.h.

#define FSL_DMA_DGSR_PE   0x10

Definition at line 80 of file fsldma.h.

#define FSL_DMA_DGSR_TE   0x80

Definition at line 78 of file fsldma.h.

#define FSL_DMA_EOL   ((u64)0x1)

Definition at line 71 of file fsldma.h.

#define FSL_DMA_EOSIE   0x8

Definition at line 73 of file fsldma.h.

#define FSL_DMA_IP_83XX   0x00000020

Definition at line 132 of file fsldma.h.

#define FSL_DMA_IP_85XX   0x00000010

Definition at line 131 of file fsldma.h.

#define FSL_DMA_IP_MASK   0x00000ff0

Definition at line 130 of file fsldma.h.

#define FSL_DMA_LITTLE_ENDIAN   0x00000000

Definition at line 127 of file fsldma.h.

#define FSL_DMA_MAX_CHANS_PER_DEVICE   4

Definition at line 115 of file fsldma.h.

#define FSL_DMA_MR_BWC   0x08000000

Definition at line 44 of file fsldma.h.

#define FSL_DMA_MR_CA   0x00000008

Definition at line 26 of file fsldma.h.

#define FSL_DMA_MR_CC   0x00000002

Definition at line 25 of file fsldma.h.

#define FSL_DMA_MR_CDSM   0x00000010

Definition at line 32 of file fsldma.h.

#define FSL_DMA_MR_CS   0x00000001

Definition at line 24 of file fsldma.h.

#define FSL_DMA_MR_CTM   0x00000004

Definition at line 33 of file fsldma.h.

#define FSL_DMA_MR_DAHE   0x00002000

Definition at line 36 of file fsldma.h.

#define FSL_DMA_MR_EIE   0x00000040

Definition at line 27 of file fsldma.h.

#define FSL_DMA_MR_EMP_EN   0x00200000

Definition at line 34 of file fsldma.h.

#define FSL_DMA_MR_EMS_EN   0x00040000

Definition at line 35 of file fsldma.h.

#define FSL_DMA_MR_EOLNIE   0x00000100

Definition at line 29 of file fsldma.h.

#define FSL_DMA_MR_EOLSIE   0x00000080

Definition at line 30 of file fsldma.h.

#define FSL_DMA_MR_EOSIE   0x00000200

Definition at line 31 of file fsldma.h.

#define FSL_DMA_MR_EOTIE   0x00000080

Definition at line 47 of file fsldma.h.

#define FSL_DMA_MR_PRC_RM   0x00000800

Definition at line 48 of file fsldma.h.

#define FSL_DMA_MR_SAHE   0x00001000

Definition at line 37 of file fsldma.h.

#define FSL_DMA_MR_XFE   0x00000020

Definition at line 28 of file fsldma.h.

#define FSL_DMA_NLDA_MASK   (~(u64)0x1f)

Definition at line 74 of file fsldma.h.

#define FSL_DMA_SATR_SBPATMU   0x20000000

Definition at line 59 of file fsldma.h.

#define FSL_DMA_SATR_SREADTYPE_BP_IORH   0x00020000

Definition at line 62 of file fsldma.h.

#define FSL_DMA_SATR_SREADTYPE_BP_MREAD   0x00070000

Definition at line 64 of file fsldma.h.

#define FSL_DMA_SATR_SREADTYPE_BP_NREAD   0x00040000

Definition at line 63 of file fsldma.h.

#define FSL_DMA_SATR_SREADTYPE_SNOOP_READ   0x00050000

Definition at line 61 of file fsldma.h.

#define FSL_DMA_SATR_STRANSINT_RIO   0x00c00000

Definition at line 60 of file fsldma.h.

#define FSL_DMA_SNEN   ((u64)0x10)

Definition at line 72 of file fsldma.h.

#define FSL_DMA_SR_CB   0x00000004

Definition at line 52 of file fsldma.h.

#define FSL_DMA_SR_CH   0x00000020

Definition at line 50 of file fsldma.h.

#define FSL_DMA_SR_EOCDI   0x00000001

Definition at line 56 of file fsldma.h.

#define FSL_DMA_SR_EOLNI   0x00000008

Definition at line 57 of file fsldma.h.

#define FSL_DMA_SR_EOLSI   0x00000001

Definition at line 55 of file fsldma.h.

#define FSL_DMA_SR_EOSI   0x00000002

Definition at line 54 of file fsldma.h.

#define FSL_DMA_SR_PE   0x00000010

Definition at line 51 of file fsldma.h.

#define FSL_DMA_SR_TE   0x00000080

Definition at line 53 of file fsldma.h.

#define to_fsl_chan (   chan)    container_of(chan, struct fsldma_chan, common)

Definition at line 159 of file fsldma.h.

#define to_fsl_desc (   lh)    container_of(lh, struct fsl_desc_sw, node)

Definition at line 160 of file fsldma.h.

#define tx_to_fsl_desc (   tx)    container_of(tx, struct fsl_desc_sw, async_tx)

Definition at line 161 of file fsldma.h.

Typedef Documentation

typedef u32 __bitwise v32

Definition at line 87 of file fsldma.h.

typedef u64 __bitwise v64

Definition at line 86 of file fsldma.h.

Function Documentation

Variable Documentation

Definition at line 106 of file fsldma.h.

v32 count

Definition at line 99 of file fsldma.h.

v64 dst_addr

Definition at line 97 of file fsldma.h.

Definition at line 103 of file fsldma.h.

v64 next_ln_addr

Definition at line 98 of file fsldma.h.

Definition at line 104 of file fsldma.h.

v32 reserve

Definition at line 100 of file fsldma.h.

v64 src_addr

Definition at line 96 of file fsldma.h.

struct list_head tx_list

Definition at line 105 of file fsldma.h.