TwiceAsNice  2019-02-18
Classes | Macros | Enumerations | Functions
gsc_dma.h File Reference
#include "gsc_event.h"
#include "gsc_sem.h"
#include "gsc_io.h"
Include dependency graph for gsc_dma.h:
This graph shows which files directly or indirectly include this file:

Classes

struct  gsc_dma_info_t
 
struct  gsc_dma_xfer_t
 
struct  gsc_dma_channel_t
 
struct  gsc_dma_t
 

Macros

#define GSC_DMA_FLAG_BLDMA   0x01
 
#define GSC_DMA_FLAG_DMDMA   0x02
 
#define GSC_DMA_FLAG_RX   0x04
 
#define GSC_DMA_FLAG_TX   0x08
 
#define GSC_DMA_FLAG_BLDMA_RX   (GSC_DMA_FLAG_BLDMA | GSC_DMA_FLAG_RX)
 
#define GSC_DMA_FLAG_BLDMA_TX   (GSC_DMA_FLAG_BLDMA | GSC_DMA_FLAG_TX)
 
#define GSC_DMA_FLAG_DMDMA_RX   (GSC_DMA_FLAG_DMDMA | GSC_DMA_FLAG_RX)
 
#define GSC_DMA_FLAG_DMDMA_TX   (GSC_DMA_FLAG_DMDMA | GSC_DMA_FLAG_TX)
 
#define GSC_DMA_TYPE_NONE   0
 
#define GSC_DMA_TYPE_BLOCK   1
 
#define GSC_DMA_TYPE_CHAINED   2
 

Enumerations

enum  gsc_dma_pri_t {
  GSC_DMA_PRI_CH_0, GSC_DMA_PRI_CH_1, GSC_DMA_PRI_SHARE, GSC_DMA_PRI_CH_0,
  GSC_DMA_PRI_CH_1, GSC_DMA_PRI_SHARE
}
 

Functions

U32 gsc_dma_abort (gsc_io_t *io)
 
U32 gsc_dma_channel_close (gsc_dma_t *dma, gsc_dma_channel_t **channel)
 
U32 gsc_dma_create (gsc_dma_t *dma, gsc_device_t *device)
 
void gsc_dma_destroy (gsc_dma_t *dma)
 
U32 gsc_dma_done (gsc_io_t *gio)
 
U32 gsc_dma_init (gsc_dma_t *dma, U32 ch0, U32 ch1)
 
U32 gsc_dma_transfer (gsc_io_t *io, U32 LocToPci)
 
U32 gsc_dma_channel_open (gsc_dma_t *dma, gsc_dma_channel_t **channel, U32 type, U32 need, U32(*fn_desc)(gsc_io_t *io, gsc_dma_info_t *info), gsc_io_t *io)
 

Macro Definition Documentation

◆ GSC_DMA_FLAG_BLDMA

#define GSC_DMA_FLAG_BLDMA   0x01

◆ GSC_DMA_FLAG_BLDMA_RX

#define GSC_DMA_FLAG_BLDMA_RX   (GSC_DMA_FLAG_BLDMA | GSC_DMA_FLAG_RX)

◆ GSC_DMA_FLAG_BLDMA_TX

#define GSC_DMA_FLAG_BLDMA_TX   (GSC_DMA_FLAG_BLDMA | GSC_DMA_FLAG_TX)

◆ GSC_DMA_FLAG_DMDMA

#define GSC_DMA_FLAG_DMDMA   0x02

◆ GSC_DMA_FLAG_DMDMA_RX

#define GSC_DMA_FLAG_DMDMA_RX   (GSC_DMA_FLAG_DMDMA | GSC_DMA_FLAG_RX)

◆ GSC_DMA_FLAG_DMDMA_TX

#define GSC_DMA_FLAG_DMDMA_TX   (GSC_DMA_FLAG_DMDMA | GSC_DMA_FLAG_TX)

◆ GSC_DMA_FLAG_RX

#define GSC_DMA_FLAG_RX   0x04

◆ GSC_DMA_FLAG_TX

#define GSC_DMA_FLAG_TX   0x08

◆ GSC_DMA_TYPE_BLOCK

#define GSC_DMA_TYPE_BLOCK   1

◆ GSC_DMA_TYPE_CHAINED

#define GSC_DMA_TYPE_CHAINED   2

◆ GSC_DMA_TYPE_NONE

#define GSC_DMA_TYPE_NONE   0

Enumeration Type Documentation

◆ gsc_dma_pri_t

Enumerator
GSC_DMA_PRI_CH_0 
GSC_DMA_PRI_CH_1 
GSC_DMA_PRI_SHARE 
GSC_DMA_PRI_CH_0 
GSC_DMA_PRI_CH_1 
GSC_DMA_PRI_SHARE 

Function Documentation

◆ gsc_dma_abort()

U32 gsc_dma_abort ( gsc_io_t io)

◆ gsc_dma_channel_close()

U32 gsc_dma_channel_close ( gsc_dma_t dma,
gsc_dma_channel_t **  channel 
)

◆ gsc_dma_channel_open()

U32 gsc_dma_channel_open ( gsc_dma_t dma,
gsc_dma_channel_t **  channel,
U32  type,
U32  need,
U32(*)(gsc_io_t *io, gsc_dma_info_t *info fn_desc,
gsc_io_t io 
)

◆ gsc_dma_create()

U32 gsc_dma_create ( gsc_dma_t dma,
gsc_device_t device 
)

◆ gsc_dma_destroy()

void gsc_dma_destroy ( gsc_dma_t dma)

◆ gsc_dma_done()

U32 gsc_dma_done ( gsc_io_t gio)

◆ gsc_dma_init()

U32 gsc_dma_init ( gsc_dma_t dma,
U32  ch0,
U32  ch1 
)

◆ gsc_dma_transfer()

U32 gsc_dma_transfer ( gsc_io_t io,
U32  LocToPci 
)