diff options
Diffstat (limited to 'package/broadcom-wl/src/driver/hnddma.h')
-rw-r--r-- | package/broadcom-wl/src/driver/hnddma.h | 159 |
1 files changed, 0 insertions, 159 deletions
diff --git a/package/broadcom-wl/src/driver/hnddma.h b/package/broadcom-wl/src/driver/hnddma.h deleted file mode 100644 index 6294063..0000000 --- a/package/broadcom-wl/src/driver/hnddma.h +++ /dev/null @@ -1,159 +0,0 @@ -/* - * Generic Broadcom Home Networking Division (HND) DMA engine SW interface - * This supports the following chips: BCM42xx, 44xx, 47xx . - * - * Copyright 2007, Broadcom Corporation - * All Rights Reserved. - * - * THIS SOFTWARE IS OFFERED "AS IS", AND BROADCOM GRANTS NO WARRANTIES OF ANY - * KIND, EXPRESS OR IMPLIED, BY STATUTE, COMMUNICATION OR OTHERWISE. BROADCOM - * SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS - * FOR A SPECIFIC PURPOSE OR NONINFRINGEMENT CONCERNING THIS SOFTWARE. - */ - -#ifndef _hnddma_h_ -#define _hnddma_h_ - -typedef const struct hnddma_pub hnddma_t; - -/* dma function type */ -typedef void (*di_detach_t)(hnddma_t *dmah); -typedef bool (*di_txreset_t)(hnddma_t *dmah); -typedef bool (*di_rxreset_t)(hnddma_t *dmah); -typedef bool (*di_rxidle_t)(hnddma_t *dmah); -typedef void (*di_txinit_t)(hnddma_t *dmah); -typedef bool (*di_txenabled_t)(hnddma_t *dmah); -typedef void (*di_rxinit_t)(hnddma_t *dmah); -typedef void (*di_txsuspend_t)(hnddma_t *dmah); -typedef void (*di_txresume_t)(hnddma_t *dmah); -typedef bool (*di_txsuspended_t)(hnddma_t *dmah); -typedef bool (*di_txsuspendedidle_t)(hnddma_t *dmah); -typedef int (*di_txfast_t)(hnddma_t *dmah, void *p, bool commit); -typedef void (*di_fifoloopbackenable_t)(hnddma_t *dmah); -typedef bool (*di_txstopped_t)(hnddma_t *dmah); -typedef bool (*di_rxstopped_t)(hnddma_t *dmah); -typedef bool (*di_rxenable_t)(hnddma_t *dmah); -typedef bool (*di_rxenabled_t)(hnddma_t *dmah); -typedef void* (*di_rx_t)(hnddma_t *dmah); -typedef void (*di_rxfill_t)(hnddma_t *dmah); -typedef void (*di_txreclaim_t)(hnddma_t *dmah, bool forceall); -typedef void (*di_rxreclaim_t)(hnddma_t *dmah); -typedef uintptr (*di_getvar_t)(hnddma_t *dmah, const char *name); -typedef void* (*di_getnexttxp_t)(hnddma_t *dmah, bool forceall); -typedef void* (*di_getnextrxp_t)(hnddma_t *dmah, bool forceall); -typedef void* (*di_peeknexttxp_t)(hnddma_t *dmah); -typedef void (*di_txblock_t)(hnddma_t *dmah); -typedef void (*di_txunblock_t)(hnddma_t *dmah); -typedef uint (*di_txactive_t)(hnddma_t *dmah); -typedef void (*di_txrotate_t)(hnddma_t *dmah); -typedef void (*di_counterreset_t)(hnddma_t *dmah); -typedef char* (*di_dump_t)(hnddma_t *dmah, struct bcmstrbuf *b, bool dumpring); -typedef char* (*di_dumptx_t)(hnddma_t *dmah, struct bcmstrbuf *b, bool dumpring); -typedef char* (*di_dumprx_t)(hnddma_t *dmah, struct bcmstrbuf *b, bool dumpring); - -/* dma opsvec */ -typedef struct di_fcn_s { - di_detach_t detach; - di_txinit_t txinit; - di_txreset_t txreset; - di_txenabled_t txenabled; - di_txsuspend_t txsuspend; - di_txresume_t txresume; - di_txsuspended_t txsuspended; - di_txsuspendedidle_t txsuspendedidle; - di_txfast_t txfast; - di_txstopped_t txstopped; - di_txreclaim_t txreclaim; - di_getnexttxp_t getnexttxp; - di_peeknexttxp_t peeknexttxp; - di_txblock_t txblock; - di_txunblock_t txunblock; - di_txactive_t txactive; - di_txrotate_t txrotate; - - di_rxinit_t rxinit; - di_rxreset_t rxreset; - di_rxidle_t rxidle; - di_rxstopped_t rxstopped; - di_rxenable_t rxenable; - di_rxenabled_t rxenabled; - di_rx_t rx; - di_rxfill_t rxfill; - di_rxreclaim_t rxreclaim; - di_getnextrxp_t getnextrxp; - - di_fifoloopbackenable_t fifoloopbackenable; - di_getvar_t d_getvar; - di_counterreset_t counterreset; - di_dump_t dump; - di_dumptx_t dumptx; - di_dumprx_t dumprx; - uint endnum; -} di_fcn_t; - -/* - * Exported data structure (read-only) - */ -/* export structure */ -struct hnddma_pub { - di_fcn_t di_fn; /* DMA function pointers */ - uint txavail; /* # free tx descriptors */ - - /* rx error counters */ - uint rxgiants; /* rx giant frames */ - uint rxnobuf; /* rx out of dma descriptors */ - /* tx error counters */ - uint txnobuf; /* tx out of dma descriptors */ -}; - - -extern hnddma_t * dma_attach(osl_t *osh, char *name, sb_t *sbh, void *dmaregstx, void *dmaregsrx, - uint ntxd, uint nrxd, uint rxbufsize, uint nrxpost, uint rxoffset, - uint *msg_level); -#define dma_detach(di) ((di)->di_fn.detach(di)) -#define dma_txreset(di) ((di)->di_fn.txreset(di)) -#define dma_rxreset(di) ((di)->di_fn.rxreset(di)) -#define dma_rxidle(di) ((di)->di_fn.rxidle(di)) -#define dma_txinit(di) ((di)->di_fn.txinit(di)) -#define dma_txenabled(di) ((di)->di_fn.txenabled(di)) -#define dma_rxinit(di) ((di)->di_fn.rxinit(di)) -#define dma_txsuspend(di) ((di)->di_fn.txsuspend(di)) -#define dma_txresume(di) ((di)->di_fn.txresume(di)) -#define dma_txsuspended(di) ((di)->di_fn.txsuspended(di)) -#define dma_txsuspendedidle(di) ((di)->di_fn.txsuspendedidle(di)) -#define dma_txfast(di, p, commit) ((di)->di_fn.txfast(di, p, commit)) -#define dma_fifoloopbackenable(di) ((di)->di_fn.fifoloopbackenable(di)) -#define dma_txstopped(di) ((di)->di_fn.txstopped(di)) -#define dma_rxstopped(di) ((di)->di_fn.rxstopped(di)) -#define dma_rxenable(di) ((di)->di_fn.rxenable(di)) -#define dma_rxenabled(di) ((di)->di_fn.rxenabled(di)) -#define dma_rx(di) ((di)->di_fn.rx(di)) -#define dma_rxfill(di) ((di)->di_fn.rxfill(di)) -#define dma_txreclaim(di, forceall) ((di)->di_fn.txreclaim(di, forceall)) -#define dma_rxreclaim(di) ((di)->di_fn.rxreclaim(di)) -#define dma_getvar(di, name) ((di)->di_fn.d_getvar(di, name)) -#define dma_getnexttxp(di, forceall) ((di)->di_fn.getnexttxp(di, forceall)) -#define dma_getnextrxp(di, forceall) ((di)->di_fn.getnextrxp(di, forceall)) -#define dma_peeknexttxp(di) ((di)->di_fn.peeknexttxp(di)) -#define dma_txblock(di) ((di)->di_fn.txblock(di)) -#define dma_txunblock(di) ((di)->di_fn.txunblock(di)) -#define dma_txactive(di) ((di)->di_fn.txactive(di)) -#define dma_txrotate(di) ((di)->di_fn.txrotate(di)) -#define dma_counterreset(di) ((di)->di_fn.counterreset(di)) -#ifdef BCMDBG -#define dma_dump(di, buf, dumpring) ((di)->di_fn.dump(di, buf, dumpring)) -#define dma_dumptx(di, buf, dumpring) ((di)->di_fn.dumptx(di, buf, dumpring)) -#define dma_dumprx(di, buf, dumpring) ((di)->di_fn.dumprx(di, buf, dumpring)) -#endif - -/* return addresswidth allowed - * This needs to be done after SB attach but before dma attach. - * SB attach provides ability to probe backplane and dma core capabilities - * This info is needed by DMA_ALLOC_CONSISTENT in dma attach - */ -extern uint dma_addrwidth(sb_t *sbh, void *dmaregs); - -/* pio helpers */ -void dma_txpioloopback(osl_t *osh, dma32regs_t *); - -#endif /* _hnddma_h_ */ |