Linux Kernel
3.7.1
|
#include <linux/interrupt.h>
#include <mach/dma.h>
#include <linux/atomic.h>
#include <asm/blackfin.h>
#include <asm/page.h>
#include <asm-generic/dma.h>
#include <asm/bfin_dma.h>
Go to the source code of this file.
Data Structures | |
struct | dma_desc_array |
struct | dmasg |
struct | dma_register |
struct | dma_channel |
Macros | |
#define | DATA_SIZE_8 0 |
#define | DATA_SIZE_16 1 |
#define | DATA_SIZE_32 2 |
#define | DMA_FLOW_STOP 0 |
#define | DMA_FLOW_AUTO 1 |
#define | DMA_FLOW_ARRAY 4 |
#define | DMA_FLOW_SMALL 6 |
#define | DMA_FLOW_LARGE 7 |
#define | DIMENSION_LINEAR 0 |
#define | DIMENSION_2D 1 |
#define | DIR_READ 0 |
#define | DIR_WRITE 1 |
#define | INTR_DISABLE 0 |
#define | INTR_ON_BUF 2 |
#define | INTR_ON_ROW 3 |
#define | DMA_NOSYNC_KEEP_DMA_BUF 0 |
#define | DMA_SYNC_RESTART 1 |
#define | DMA_MMR_SIZE_TYPE short |
#define | DMA_MMR_READ bfin_read16 |
#define | DMA_MMR_WRITE bfin_write16 |
Functions | |
struct dma_desc_array | __attribute__ ((packed)) |
int | channel2irq (unsigned int channel) |
int | set_dma_callback (unsigned int channel, irq_handler_t callback, void *data) |
void * | dma_memcpy (void *dest, const void *src, size_t count) |
void * | dma_memcpy_nocache (void *dest, const void *src, size_t count) |
void * | safe_dma_memcpy (void *dest, const void *src, size_t count) |
void | blackfin_dma_early_init (void) |
void | early_dma_memcpy (void *dest, const void *src, size_t count) |
void | early_dma_memcpy_done (void) |
Variables | |
unsigned long | start_addr |
unsigned DMA_MMR_SIZE_TYPE | cfg |
unsigned DMA_MMR_SIZE_TYPE | x_count |
DMA_MMR_SIZE_TYPE | x_modify |
void * | next_desc_addr |
unsigned DMA_MMR_SIZE_TYPE | y_count |
DMA_MMR_SIZE_TYPE | y_modify |
struct dma_register | __attribute__ |
struct dma_channel | dma_ch [MAX_DMA_CHANNELS] |
struct dma_register *const | dma_io_base_addr [MAX_DMA_CHANNELS] |
#define DMA_MMR_READ bfin_read16 |
#define DMA_MMR_WRITE bfin_write16 |
|
read |
Definition at line 171 of file esd_usb2.c.
blackfin_dma_early_init - minimal DMA init
Setup a few DMA registers so we can safely do DMA transfers early on in the kernel booting process. Really this just means using dma_memcpy().
Definition at line 265 of file bfin_dma.c.
dma_memcpy_nocache - DMA memcpy under mutex lock
Do not check arguments before starting the DMA memcpy. Break the transfer up into two pieces. The first transfer is in multiples of 64k and the second transfer is the piece smaller than 64k.
Definition at line 555 of file bfin_dma.c.
Definition at line 272 of file bfin_dma.c.
Definition at line 341 of file bfin_dma.c.
safe_dma_memcpy - DMA memcpy w/argument checking
Verify arguments are safe before heading to dma_memcpy().
Definition at line 577 of file bfin_dma.c.
int set_dma_callback | ( | unsigned int | channel, |
irq_handler_t | callback, | ||
void * | data | ||
) |
Definition at line 157 of file bfin_dma.c.
unsigned DMA_MMR_SIZE_TYPE cfg |
Definition at line 30 of file bfin_dma.c.
struct dma_register* const dma_io_base_addr[MAX_DMA_CHANNELS] |
unsigned DMA_MMR_SIZE_TYPE x_count |
DMA_MMR_SIZE_TYPE x_modify |
unsigned DMA_MMR_SIZE_TYPE y_count |
DMA_MMR_SIZE_TYPE y_modify |