linux/drivers/dma/dw-edma/dw-edma-core.h

/* SPDX-License-Identifier: GPL-2.0 */
/*
 * Copyright (c) 2018-2019 Synopsys, Inc. and/or its affiliates.
 * Synopsys DesignWare eDMA core driver
 *
 * Author: Gustavo Pimentel <[email protected]>
 */

#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 /* _DW_EDMA_CORE_H */