TwiceAsNice  2019-02-18
Macros | Functions | Variables
dev_io_dma.c File Reference
#include <string.h>
#include "dev_io.h"
#include "dev_access.h"
#include "dev_irq.h"
#include "dev_reg.h"
#include "gsc_os_time.h"
Include dependency graph for dev_io_dma.c:

Macros

#define _IRQ_   HPDI32_IRQ_RX_AE
 
#define _IRQ_   HPDI32_IRQ_TX_AF
 

Functions

static U32 _dma_read_wait (gsc_io_t *gio, U32 timeout_ms)
 
static U32 _dma_rx_available (gsc_io_t *gio)
 
static U32 _dma_tx_available (gsc_io_t *gio)
 
static U32 _dma_write_wait (gsc_io_t *gio, U32 timeout_ms)
 
static U32 _dmdma_rx_xfer_scd (gsc_io_t *io)
 
static U32 _dmdma_rx_available_scd (gsc_io_t *gio)
 
static U32 _dmdma_rx_setup_scd (gsc_io_t *gio)
 
static U32 _dmdma_tx_available_scd (gsc_io_t *gio)
 
static U32 _dmdma_tx_setup_scd (gsc_io_t *gio)
 
static U32 _dmdma_tx_xfer_scd (gsc_io_t *io)
 
static U32 _rx_done_underrun (gsc_io_t *gio)
 
static U32 _rx_setup (gsc_io_t *gio)
 
static U32 _tx_done_overrun (gsc_io_t *gio)
 
static U32 _tx_setup (gsc_io_t *gio)
 
static U32 _dma_info_init (gsc_io_t *gio, gsc_dma_info_t *info)
 
static U32 _dma_setup (gsc_io_t *gio)
 
U32 io_dma_init (dev_data_t *dev)
 

Variables

const gsc_io_func_t io_dma_read_auto_funcs
 
const gsc_io_func_t io_dma_read_manual_funcs
 
const gsc_io_func_t io_dma_write_auto_asd_funcs
 
const gsc_io_func_t io_dma_write_auto_ase_funcs
 
const gsc_io_func_t io_dma_write_manual_asd_funcs
 
const gsc_io_func_t io_dma_write_manual_ase_funcs
 
const gsc_io_func_t io_dmdma_read_sca_funcs
 
const gsc_io_func_t io_dmdma_read_scd_funcs
 
const gsc_io_func_t io_dmdma_read_scp_funcs
 
const gsc_io_func_t io_dmdma_write_sca_asd_funcs
 
const gsc_io_func_t io_dmdma_write_sca_ase_funcs
 
const gsc_io_func_t io_dmdma_write_scd_asd_funcs
 
const gsc_io_func_t io_dmdma_write_scd_ase_funcs
 
const gsc_io_func_t io_dmdma_write_scp_asd_funcs
 
const gsc_io_func_t io_dmdma_write_scp_ase_funcs
 

Macro Definition Documentation

◆ _IRQ_ [1/2]

#define _IRQ_   HPDI32_IRQ_RX_AE

◆ _IRQ_ [2/2]

#define _IRQ_   HPDI32_IRQ_TX_AF

Function Documentation

◆ _dma_info_init()

static U32 _dma_info_init ( gsc_io_t gio,
gsc_dma_info_t info 
)
static

◆ _dma_read_wait()

static U32 _dma_read_wait ( gsc_io_t gio,
U32  timeout_ms 
)
static

◆ _dma_rx_available()

static U32 _dma_rx_available ( gsc_io_t gio)
static

◆ _dma_setup()

static U32 _dma_setup ( gsc_io_t gio)
static

◆ _dma_tx_available()

static U32 _dma_tx_available ( gsc_io_t gio)
static

◆ _dma_write_wait()

static U32 _dma_write_wait ( gsc_io_t gio,
U32  timeout_ms 
)
static

◆ _dmdma_rx_available_scd()

static U32 _dmdma_rx_available_scd ( gsc_io_t gio)
static

◆ _dmdma_rx_setup_scd()

static U32 _dmdma_rx_setup_scd ( gsc_io_t gio)
static

◆ _dmdma_rx_xfer_scd()

static U32 _dmdma_rx_xfer_scd ( gsc_io_t io)
static

◆ _dmdma_tx_available_scd()

static U32 _dmdma_tx_available_scd ( gsc_io_t gio)
static

◆ _dmdma_tx_setup_scd()

static U32 _dmdma_tx_setup_scd ( gsc_io_t gio)
static

◆ _dmdma_tx_xfer_scd()

static U32 _dmdma_tx_xfer_scd ( gsc_io_t io)
static

◆ _rx_done_underrun()

static U32 _rx_done_underrun ( gsc_io_t gio)
static

◆ _rx_setup()

static U32 _rx_setup ( gsc_io_t gio)
static

◆ _tx_done_overrun()

static U32 _tx_done_overrun ( gsc_io_t gio)
static

◆ _tx_setup()

static U32 _tx_setup ( gsc_io_t gio)
static

◆ io_dma_init()

U32 io_dma_init ( dev_data_t dev)

Variable Documentation

◆ io_dma_read_auto_funcs

const gsc_io_func_t io_dma_read_auto_funcs
Initial value:
=
{
{
},
{
},
{
}
}
#define NULL
Definition: PciTypes.h:160
U32 io_pio_rx_available(gsc_io_t *io)
Definition: dev_io_pio.c:154
static U32 _dma_read_wait(gsc_io_t *gio, U32 timeout_ms)
Definition: dev_io_dma.c:643
U32 gsc_io_dma_read(gsc_io_t *io)
Definition: gsc_io_dma.c:172
static U32 _rx_done_underrun(gsc_io_t *gio)
Definition: dev_io_dma.c:1393
static U32 _rx_setup(gsc_io_t *gio)
Definition: dev_io_dma.c:934

◆ io_dma_read_manual_funcs

const gsc_io_func_t io_dma_read_manual_funcs
Initial value:
=
{
{
},
{
},
{
}
}
#define NULL
Definition: PciTypes.h:160
static U32 _dma_rx_available(gsc_io_t *gio)
Definition: dev_io_dma.c:708
static U32 _dma_read_wait(gsc_io_t *gio, U32 timeout_ms)
Definition: dev_io_dma.c:643
U32 gsc_io_dma_read(gsc_io_t *io)
Definition: gsc_io_dma.c:172
static U32 _rx_done_underrun(gsc_io_t *gio)
Definition: dev_io_dma.c:1393
static U32 _rx_setup(gsc_io_t *gio)
Definition: dev_io_dma.c:934

◆ io_dma_write_auto_asd_funcs

const gsc_io_func_t io_dma_write_auto_asd_funcs
Initial value:
=
{
{
},
{
},
{
}
}
static U32 _dma_write_wait(gsc_io_t *gio, U32 timeout_ms)
Definition: dev_io_dma.c:1284
static U32 _tx_setup(gsc_io_t *gio)
Definition: dev_io_dma.c:965
U32 io_pio_tx_available(gsc_io_t *io)
Definition: dev_io_pio.c:243
#define NULL
Definition: PciTypes.h:160
static U32 _tx_done_overrun(gsc_io_t *gio)
Definition: dev_io_dma.c:1433
U32 gsc_io_dma_write(gsc_io_t *io)
Definition: gsc_io_dma.c:201

◆ io_dma_write_auto_ase_funcs

const gsc_io_func_t io_dma_write_auto_ase_funcs
Initial value:
=
{
{
},
{
},
{
}
}
static U32 _dma_write_wait(gsc_io_t *gio, U32 timeout_ms)
Definition: dev_io_dma.c:1284
static U32 _tx_setup(gsc_io_t *gio)
Definition: dev_io_dma.c:965
U32 io_pio_tx_available(gsc_io_t *io)
Definition: dev_io_pio.c:243
static U32 _tx_done_overrun(gsc_io_t *gio)
Definition: dev_io_dma.c:1433
U32 gsc_io_dma_write(gsc_io_t *io)
Definition: gsc_io_dma.c:201
void io_auto_start(dev_data_t *dev, dev_io_t *io)
Definition: io.c:31

◆ io_dma_write_manual_asd_funcs

const gsc_io_func_t io_dma_write_manual_asd_funcs
Initial value:
=
{
{
},
{
},
{
}
}
static U32 _dma_write_wait(gsc_io_t *gio, U32 timeout_ms)
Definition: dev_io_dma.c:1284
static U32 _tx_setup(gsc_io_t *gio)
Definition: dev_io_dma.c:965
static U32 _tx_done_overrun(gsc_io_t *gio)
Definition: dev_io_dma.c:1433
static U32 _dma_tx_available(gsc_io_t *gio)
Definition: dev_io_dma.c:822
U32 gsc_io_dma_write(gsc_io_t *io)
Definition: gsc_io_dma.c:201
void io_auto_start(dev_data_t *dev, dev_io_t *io)
Definition: io.c:31

◆ io_dma_write_manual_ase_funcs

const gsc_io_func_t io_dma_write_manual_ase_funcs
Initial value:
=
{
{
},
{
},
{
}
}
static U32 _dma_write_wait(gsc_io_t *gio, U32 timeout_ms)
Definition: dev_io_dma.c:1284
static U32 _tx_setup(gsc_io_t *gio)
Definition: dev_io_dma.c:965
static U32 _tx_done_overrun(gsc_io_t *gio)
Definition: dev_io_dma.c:1433
static U32 _dma_tx_available(gsc_io_t *gio)
Definition: dev_io_dma.c:822
U32 gsc_io_dma_write(gsc_io_t *io)
Definition: gsc_io_dma.c:201
void io_auto_start(dev_data_t *dev, dev_io_t *io)
Definition: io.c:31

◆ io_dmdma_read_sca_funcs

const gsc_io_func_t io_dmdma_read_sca_funcs
Initial value:
=
{
{
},
{
},
{
}
}
static U32 _dmdma_rx_available_scd(gsc_io_t *gio)
Definition: dev_io_dma.c:749
#define NULL
Definition: PciTypes.h:160
static U32 _dma_read_wait(gsc_io_t *gio, U32 timeout_ms)
Definition: dev_io_dma.c:643
static U32 _dmdma_rx_xfer_scd(gsc_io_t *io)
Definition: dev_io_dma.c:1032
static U32 _rx_done_underrun(gsc_io_t *gio)
Definition: dev_io_dma.c:1393
static U32 _rx_setup(gsc_io_t *gio)
Definition: dev_io_dma.c:934

◆ io_dmdma_read_scd_funcs

const gsc_io_func_t io_dmdma_read_scd_funcs
Initial value:
=
{
{
},
{
},
{
}
}
static U32 _dmdma_rx_available_scd(gsc_io_t *gio)
Definition: dev_io_dma.c:749
static U32 _dmdma_rx_setup_scd(gsc_io_t *gio)
Definition: dev_io_dma.c:997
#define NULL
Definition: PciTypes.h:160
static U32 _dma_read_wait(gsc_io_t *gio, U32 timeout_ms)
Definition: dev_io_dma.c:643
static U32 _dmdma_rx_xfer_scd(gsc_io_t *io)
Definition: dev_io_dma.c:1032
static U32 _rx_done_underrun(gsc_io_t *gio)
Definition: dev_io_dma.c:1393

◆ io_dmdma_read_scp_funcs

const gsc_io_func_t io_dmdma_read_scp_funcs
Initial value:
=
{
{
},
{
},
{
}
}
#define NULL
Definition: PciTypes.h:160
U32 io_pio_rx_available(gsc_io_t *io)
Definition: dev_io_pio.c:154
static U32 _dma_read_wait(gsc_io_t *gio, U32 timeout_ms)
Definition: dev_io_dma.c:643
U32 gsc_io_dma_read(gsc_io_t *io)
Definition: gsc_io_dma.c:172
static U32 _rx_done_underrun(gsc_io_t *gio)
Definition: dev_io_dma.c:1393
static U32 _rx_setup(gsc_io_t *gio)
Definition: dev_io_dma.c:934

◆ io_dmdma_write_sca_asd_funcs

const gsc_io_func_t io_dmdma_write_sca_asd_funcs
Initial value:
=
{
{
},
{
},
{
}
}
static U32 _dma_write_wait(gsc_io_t *gio, U32 timeout_ms)
Definition: dev_io_dma.c:1284
static U32 _tx_setup(gsc_io_t *gio)
Definition: dev_io_dma.c:965
#define NULL
Definition: PciTypes.h:160
static U32 _tx_done_overrun(gsc_io_t *gio)
Definition: dev_io_dma.c:1433
static U32 _dmdma_tx_available_scd(gsc_io_t *gio)
Definition: dev_io_dma.c:1089
static U32 _dmdma_tx_xfer_scd(gsc_io_t *io)
Definition: dev_io_dma.c:1198

◆ io_dmdma_write_sca_ase_funcs

const gsc_io_func_t io_dmdma_write_sca_ase_funcs
Initial value:
=
{
{
},
{
},
{
}
}
static U32 _dma_write_wait(gsc_io_t *gio, U32 timeout_ms)
Definition: dev_io_dma.c:1284
static U32 _tx_setup(gsc_io_t *gio)
Definition: dev_io_dma.c:965
static U32 _tx_done_overrun(gsc_io_t *gio)
Definition: dev_io_dma.c:1433
static U32 _dmdma_tx_available_scd(gsc_io_t *gio)
Definition: dev_io_dma.c:1089
static U32 _dmdma_tx_xfer_scd(gsc_io_t *io)
Definition: dev_io_dma.c:1198
void io_auto_start(dev_data_t *dev, dev_io_t *io)
Definition: io.c:31

◆ io_dmdma_write_scd_asd_funcs

const gsc_io_func_t io_dmdma_write_scd_asd_funcs
Initial value:
=
{
{
},
{
},
{
}
}
static U32 _dma_write_wait(gsc_io_t *gio, U32 timeout_ms)
Definition: dev_io_dma.c:1284
#define NULL
Definition: PciTypes.h:160
static U32 _tx_done_overrun(gsc_io_t *gio)
Definition: dev_io_dma.c:1433
static U32 _dmdma_tx_available_scd(gsc_io_t *gio)
Definition: dev_io_dma.c:1089
static U32 _dmdma_tx_setup_scd(gsc_io_t *gio)
Definition: dev_io_dma.c:1163
static U32 _dmdma_tx_xfer_scd(gsc_io_t *io)
Definition: dev_io_dma.c:1198

◆ io_dmdma_write_scd_ase_funcs

const gsc_io_func_t io_dmdma_write_scd_ase_funcs
Initial value:
=
{
{
},
{
},
{
}
}
static U32 _dma_write_wait(gsc_io_t *gio, U32 timeout_ms)
Definition: dev_io_dma.c:1284
static U32 _tx_done_overrun(gsc_io_t *gio)
Definition: dev_io_dma.c:1433
static U32 _dmdma_tx_available_scd(gsc_io_t *gio)
Definition: dev_io_dma.c:1089
static U32 _dmdma_tx_setup_scd(gsc_io_t *gio)
Definition: dev_io_dma.c:1163
static U32 _dmdma_tx_xfer_scd(gsc_io_t *io)
Definition: dev_io_dma.c:1198
void io_auto_start(dev_data_t *dev, dev_io_t *io)
Definition: io.c:31

◆ io_dmdma_write_scp_asd_funcs

const gsc_io_func_t io_dmdma_write_scp_asd_funcs
Initial value:
=
{
{
},
{
},
{
}
}
static U32 _dma_write_wait(gsc_io_t *gio, U32 timeout_ms)
Definition: dev_io_dma.c:1284
static U32 _tx_setup(gsc_io_t *gio)
Definition: dev_io_dma.c:965
U32 io_pio_tx_available(gsc_io_t *io)
Definition: dev_io_pio.c:243
#define NULL
Definition: PciTypes.h:160
static U32 _tx_done_overrun(gsc_io_t *gio)
Definition: dev_io_dma.c:1433
U32 gsc_io_dma_write(gsc_io_t *io)
Definition: gsc_io_dma.c:201

◆ io_dmdma_write_scp_ase_funcs

const gsc_io_func_t io_dmdma_write_scp_ase_funcs
Initial value:
=
{
{
},
{
},
{
}
}
static U32 _dma_write_wait(gsc_io_t *gio, U32 timeout_ms)
Definition: dev_io_dma.c:1284
static U32 _tx_setup(gsc_io_t *gio)
Definition: dev_io_dma.c:965
U32 io_pio_tx_available(gsc_io_t *io)
Definition: dev_io_pio.c:243
static U32 _tx_done_overrun(gsc_io_t *gio)
Definition: dev_io_dma.c:1433
U32 gsc_io_dma_write(gsc_io_t *io)
Definition: gsc_io_dma.c:201
void io_auto_start(dev_data_t *dev, dev_io_t *io)
Definition: io.c:31