TwiceAsNice  2019-02-18
Functions
gsc_io.c File Reference
#include <string.h>
#include "gsc_io.h"
#include "dev_reg.h"
#include "gsc_os_time.h"
Include dependency graph for gsc_io.c:

Functions

static U32 _io_begin_status (gsc_io_t *io, U32(*function)(dev_data_t *dev, void *buffer, U32 bytes, U32 *count), void *buffer, U32 bytes)
 
static U32 _io_end_status (gsc_io_t *io, U32 overlap, U32 count, U32 status)
 
static void _overlap_io_service (void *arg1, UL arg2, UL arg3)
 
static U32 _io_setup (gsc_io_t *io)
 
U32 gsc_io_abort (gsc_io_t *io)
 
U32 gsc_io_callback_config (gsc_io_t *io, void *id, void(*callback)(void *arg1, UL arg2, UL arg3), void *arg1, UL arg2, UL arg3, gsc_event_t *dest)
 
U32 gsc_io_start_transfer (gsc_sem_t *sem, gsc_io_t *io, U32(*function)(dev_data_t *dev, void *buffer, U32 bytes, U32 *count), void *buffer, U32 bytes, U32 *count)
 
U32 gsc_io_overlap_enable (gsc_io_overlap_t *overlap, UL set, UL *get)
 
static U32 _io_overlap_create (gsc_io_overlap_t *overlap, const char *name, gsc_device_t *device, dev_data_t *dev)
 
U32 gsc_io_create (gsc_io_t *io, const char *name, gsc_device_t *device, dev_data_t *dev, dev_io_t *dio, gsc_bar_t *bar, gsc_dma_t *dma, U32 is_tx)
 
void gsc_io_destroy (gsc_io_t *io)
 
U32 gsc_io_init (gsc_io_t *io)
 
U32 gsc_io_status (gsc_io_t *io, UL *status)
 
U32 gsc_io_transfer_work (gsc_io_t *io)
 
U32 gsc_io_wait (gsc_sem_t *sem, gsc_io_t *tx, gsc_io_t *rx, U32 timeout_ms)
 

Function Documentation

◆ _io_begin_status()

static U32 _io_begin_status ( gsc_io_t io,
U32(*)(dev_data_t *dev, void *buffer, U32 bytes, U32 *count function,
void *  buffer,
U32  bytes 
)
static

◆ _io_end_status()

static U32 _io_end_status ( gsc_io_t io,
U32  overlap,
U32  count,
U32  status 
)
static

◆ _io_overlap_create()

static U32 _io_overlap_create ( gsc_io_overlap_t overlap,
const char *  name,
gsc_device_t device,
dev_data_t dev 
)
static

◆ _io_setup()

static U32 _io_setup ( gsc_io_t io)
static

◆ _overlap_io_service()

static void _overlap_io_service ( void *  arg1,
UL  arg2,
UL  arg3 
)
static

◆ gsc_io_abort()

U32 gsc_io_abort ( gsc_io_t io)

◆ gsc_io_callback_config()

U32 gsc_io_callback_config ( gsc_io_t io,
void *  id,
void(*)(void *arg1, UL arg2, UL arg3)  callback,
void *  arg1,
UL  arg2,
UL  arg3,
gsc_event_t dest 
)

◆ gsc_io_create()

U32 gsc_io_create ( gsc_io_t io,
const char *  name,
gsc_device_t device,
dev_data_t dev,
dev_io_t dio,
gsc_bar_t bar,
gsc_dma_t dma,
U32  is_tx 
)

◆ gsc_io_destroy()

void gsc_io_destroy ( gsc_io_t io)

◆ gsc_io_init()

U32 gsc_io_init ( gsc_io_t io)

◆ gsc_io_overlap_enable()

U32 gsc_io_overlap_enable ( gsc_io_overlap_t overlap,
UL  set,
UL get 
)

◆ gsc_io_start_transfer()

U32 gsc_io_start_transfer ( gsc_sem_t sem,
gsc_io_t io,
U32(*)(dev_data_t *dev, void *buffer, U32 bytes, U32 *count function,
void *  buffer,
U32  bytes,
U32 *  count 
)

◆ gsc_io_status()

U32 gsc_io_status ( gsc_io_t io,
UL status 
)

◆ gsc_io_transfer_work()

U32 gsc_io_transfer_work ( gsc_io_t io)

◆ gsc_io_wait()

U32 gsc_io_wait ( gsc_sem_t sem,
gsc_io_t tx,
gsc_io_t rx,
U32  timeout_ms 
)