#ifndef _DW_EDMA_CORE_H
#define _DW_EDMA_CORE_H
#include <linux/msi.h>
#include <linux/dma/edma.h>
#include "../virt-dma.h"
#define EDMA_LL_SZ …
enum dw_edma_dir { … };
enum dw_edma_request { … };
enum dw_edma_status { … };
enum dw_edma_xfer_type { … };
struct dw_edma_chan;
struct dw_edma_chunk;
struct dw_edma_burst { … };
struct dw_edma_chunk { … };
struct dw_edma_desc { … };
struct dw_edma_chan { … };
struct dw_edma_irq { … };
struct dw_edma { … };
dw_edma_handler_t;
struct dw_edma_core_ops { … };
struct dw_edma_sg { … };
struct dw_edma_cyclic { … };
struct dw_edma_transfer { … };
static inline
struct dw_edma_chan *vc2dw_edma_chan(struct virt_dma_chan *vc)
{ … }
static inline
struct dw_edma_chan *dchan2dw_edma_chan(struct dma_chan *dchan)
{ … }
static inline
void dw_edma_core_off(struct dw_edma *dw)
{ … }
static inline
u16 dw_edma_core_ch_count(struct dw_edma *dw, enum dw_edma_dir dir)
{ … }
static inline
enum dma_status dw_edma_core_ch_status(struct dw_edma_chan *chan)
{ … }
static inline irqreturn_t
dw_edma_core_handle_int(struct dw_edma_irq *dw_irq, enum dw_edma_dir dir,
dw_edma_handler_t done, dw_edma_handler_t abort)
{ … }
static inline
void dw_edma_core_start(struct dw_edma *dw, struct dw_edma_chunk *chunk, bool first)
{ … }
static inline
void dw_edma_core_ch_config(struct dw_edma_chan *chan)
{ … }
static inline
void dw_edma_core_debugfs_on(struct dw_edma *dw)
{ … }
#endif