Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions
mpc512x_dma.c File Reference
#include <linux/module.h>
#include <linux/dmaengine.h>
#include <linux/dma-mapping.h>
#include <linux/interrupt.h>
#include <linux/io.h>
#include <linux/slab.h>
#include <linux/of_device.h>
#include <linux/of_platform.h>
#include <linux/random.h>
#include "dmaengine.h"

Go to the source code of this file.

Data Structures

struct  mpc_dma_desc
 
struct  mpc_dma_chan
 
struct  mpc_dma
 

Macros

#define MPC_DMA_DESCRIPTORS   64
 
#define MPC_DMA_CHANNELS   64
 
#define MPC_DMA_TCD_OFFSET   0x1000
 
#define MPC_DMA_DMACR_EDCG   (1 << 31)
 
#define MPC_DMA_DMACR_ERGA   (1 << 3)
 
#define MPC_DMA_DMACR_ERCA   (1 << 2)
 
#define MPC_DMA_DMAES_VLD   (1 << 31)
 
#define MPC_DMA_DMAES_GPE   (1 << 15)
 
#define MPC_DMA_DMAES_CPE   (1 << 14)
 
#define MPC_DMA_DMAES_ERRCHN(err)   (((err) >> 8) & 0x3f)
 
#define MPC_DMA_DMAES_SAE   (1 << 7)
 
#define MPC_DMA_DMAES_SOE   (1 << 6)
 
#define MPC_DMA_DMAES_DAE   (1 << 5)
 
#define MPC_DMA_DMAES_DOE   (1 << 4)
 
#define MPC_DMA_DMAES_NCE   (1 << 3)
 
#define MPC_DMA_DMAES_SGE   (1 << 2)
 
#define MPC_DMA_DMAES_SBE   (1 << 1)
 
#define MPC_DMA_DMAES_DBE   (1 << 0)
 
#define MPC_DMA_DMAGPOR_SNOOP_ENABLE   (1 << 6)
 
#define MPC_DMA_TSIZE_1   0x00
 
#define MPC_DMA_TSIZE_2   0x01
 
#define MPC_DMA_TSIZE_4   0x02
 
#define MPC_DMA_TSIZE_16   0x04
 
#define MPC_DMA_TSIZE_32   0x05
 
#define DRV_NAME   "mpc512x_dma"
 

Functions

struct __attribute__ ((__packed__))
 
 module_platform_driver (mpc_dma_driver)
 
 MODULE_LICENSE ("GPL")
 
 MODULE_AUTHOR ("Piotr Ziecik <[email protected]>")
 

Macro Definition Documentation

#define DRV_NAME   "mpc512x_dma"

Definition at line 213 of file mpc512x_dma.c.

#define MPC_DMA_CHANNELS   64

Definition at line 53 of file mpc512x_dma.c.

#define MPC_DMA_DESCRIPTORS   64

Definition at line 50 of file mpc512x_dma.c.

#define MPC_DMA_DMACR_EDCG   (1 << 31)

Definition at line 57 of file mpc512x_dma.c.

#define MPC_DMA_DMACR_ERCA   (1 << 2)

Definition at line 59 of file mpc512x_dma.c.

#define MPC_DMA_DMACR_ERGA   (1 << 3)

Definition at line 58 of file mpc512x_dma.c.

#define MPC_DMA_DMAES_CPE   (1 << 14)

Definition at line 64 of file mpc512x_dma.c.

#define MPC_DMA_DMAES_DAE   (1 << 5)

Definition at line 69 of file mpc512x_dma.c.

#define MPC_DMA_DMAES_DBE   (1 << 0)

Definition at line 74 of file mpc512x_dma.c.

#define MPC_DMA_DMAES_DOE   (1 << 4)

Definition at line 70 of file mpc512x_dma.c.

#define MPC_DMA_DMAES_ERRCHN (   err)    (((err) >> 8) & 0x3f)

Definition at line 65 of file mpc512x_dma.c.

#define MPC_DMA_DMAES_GPE   (1 << 15)

Definition at line 63 of file mpc512x_dma.c.

#define MPC_DMA_DMAES_NCE   (1 << 3)

Definition at line 71 of file mpc512x_dma.c.

#define MPC_DMA_DMAES_SAE   (1 << 7)

Definition at line 67 of file mpc512x_dma.c.

#define MPC_DMA_DMAES_SBE   (1 << 1)

Definition at line 73 of file mpc512x_dma.c.

#define MPC_DMA_DMAES_SGE   (1 << 2)

Definition at line 72 of file mpc512x_dma.c.

#define MPC_DMA_DMAES_SOE   (1 << 6)

Definition at line 68 of file mpc512x_dma.c.

#define MPC_DMA_DMAES_VLD   (1 << 31)

Definition at line 62 of file mpc512x_dma.c.

#define MPC_DMA_DMAGPOR_SNOOP_ENABLE   (1 << 6)

Definition at line 76 of file mpc512x_dma.c.

#define MPC_DMA_TCD_OFFSET   0x1000

Definition at line 54 of file mpc512x_dma.c.

#define MPC_DMA_TSIZE_1   0x00

Definition at line 78 of file mpc512x_dma.c.

#define MPC_DMA_TSIZE_16   0x04

Definition at line 81 of file mpc512x_dma.c.

#define MPC_DMA_TSIZE_2   0x01

Definition at line 79 of file mpc512x_dma.c.

#define MPC_DMA_TSIZE_32   0x05

Definition at line 82 of file mpc512x_dma.c.

#define MPC_DMA_TSIZE_4   0x02

Definition at line 80 of file mpc512x_dma.c.

Function Documentation

struct __attribute__ ( (__packed__)  )
read

Definition at line 85 of file mpc512x_dma.c.

MODULE_AUTHOR ( "Piotr Ziecik <[email protected]>"  )
MODULE_LICENSE ( "GPL"  )
module_platform_driver ( mpc_dma_driver  )