linux/drivers/dma/idma64.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * Core driver for the Intel integrated DMA 64-bit
 *
 * Copyright (C) 2015 Intel Corporation
 * Author: Andy Shevchenko <[email protected]>
 */

#include <linux/bitops.h>
#include <linux/delay.h>
#include <linux/dmaengine.h>
#include <linux/dma-mapping.h>
#include <linux/dmapool.h>
#include <linux/init.h>
#include <linux/module.h>
#include <linux/platform_device.h>
#include <linux/slab.h>

#include <linux/dma/idma64.h>

#include "idma64.h"

/* For now we support only two channels */
#define IDMA64_NR_CHAN

/* ---------------------------------------------------------------------- */

static struct device *chan2dev(struct dma_chan *chan)
{}

/* ---------------------------------------------------------------------- */

static void idma64_off(struct idma64 *idma64)
{}

static void idma64_on(struct idma64 *idma64)
{}

/* ---------------------------------------------------------------------- */

static void idma64_chan_init(struct idma64 *idma64, struct idma64_chan *idma64c)
{}

static void idma64_chan_stop(struct idma64 *idma64, struct idma64_chan *idma64c)
{}

static void idma64_chan_start(struct idma64 *idma64, struct idma64_chan *idma64c)
{}

static void idma64_stop_transfer(struct idma64_chan *idma64c)
{}

static void idma64_start_transfer(struct idma64_chan *idma64c)
{}

/* ---------------------------------------------------------------------- */

static void idma64_chan_irq(struct idma64 *idma64, unsigned short c,
		u32 status_err, u32 status_xfer)
{}

static irqreturn_t idma64_irq(int irq, void *dev)
{}

/* ---------------------------------------------------------------------- */

static struct idma64_desc *idma64_alloc_desc(unsigned int ndesc)
{}

static void idma64_desc_free(struct idma64_chan *idma64c,
		struct idma64_desc *desc)
{}

static void idma64_vdesc_free(struct virt_dma_desc *vdesc)
{}

static void idma64_hw_desc_fill(struct idma64_hw_desc *hw,
		struct dma_slave_config *config,
		enum dma_transfer_direction direction, u64 llp)
{}

static void idma64_desc_fill(struct idma64_chan *idma64c,
		struct idma64_desc *desc)
{}

static struct dma_async_tx_descriptor *idma64_prep_slave_sg(
		struct dma_chan *chan, struct scatterlist *sgl,
		unsigned int sg_len, enum dma_transfer_direction direction,
		unsigned long flags, void *context)
{}

static void idma64_issue_pending(struct dma_chan *chan)
{}

static size_t idma64_active_desc_size(struct idma64_chan *idma64c)
{}

static enum dma_status idma64_tx_status(struct dma_chan *chan,
		dma_cookie_t cookie, struct dma_tx_state *state)
{}

static void convert_burst(u32 *maxburst)
{}

static int idma64_slave_config(struct dma_chan *chan,
		struct dma_slave_config *config)
{}

static void idma64_chan_deactivate(struct idma64_chan *idma64c, bool drain)
{}

static void idma64_chan_activate(struct idma64_chan *idma64c)
{}

static int idma64_pause(struct dma_chan *chan)
{}

static int idma64_resume(struct dma_chan *chan)
{}

static int idma64_terminate_all(struct dma_chan *chan)
{}

static void idma64_synchronize(struct dma_chan *chan)
{}

static int idma64_alloc_chan_resources(struct dma_chan *chan)
{}

static void idma64_free_chan_resources(struct dma_chan *chan)
{}

/* ---------------------------------------------------------------------- */

#define IDMA64_BUSWIDTHS

static int idma64_probe(struct idma64_chip *chip)
{}

static void idma64_remove(struct idma64_chip *chip)
{}

/* ---------------------------------------------------------------------- */

static int idma64_platform_probe(struct platform_device *pdev)
{}

static void idma64_platform_remove(struct platform_device *pdev)
{}

static int __maybe_unused idma64_pm_suspend(struct device *dev)
{}

static int __maybe_unused idma64_pm_resume(struct device *dev)
{}

static const struct dev_pm_ops idma64_dev_pm_ops =;

static struct platform_driver idma64_platform_driver =;

module_platform_driver();

MODULE_LICENSE();
MODULE_DESCRIPTION();
MODULE_AUTHOR();
MODULE_ALIAS();