linux/drivers/dma/dw/internal.h
<<
>>
Prefs
   1/*
   2 * Driver for the Synopsys DesignWare DMA Controller
   3 *
   4 * Copyright (C) 2013 Intel Corporation
   5 *
   6 * This program is free software; you can redistribute it and/or modify
   7 * it under the terms of the GNU General Public License version 2 as
   8 * published by the Free Software Foundation.
   9 */
  10
  11#ifndef _DW_DMAC_INTERNAL_H
  12#define _DW_DMAC_INTERNAL_H
  13
  14#include <linux/device.h>
  15#include <linux/dw_dmac.h>
  16
  17#include "regs.h"
  18
  19/**
  20 * struct dw_dma_chip - representation of DesignWare DMA controller hardware
  21 * @dev:                struct device of the DMA controller
  22 * @irq:                irq line
  23 * @regs:               memory mapped I/O space
  24 * @dw:                 struct dw_dma that is filed by dw_dma_probe()
  25 */
  26struct dw_dma_chip {
  27        struct device   *dev;
  28        int             irq;
  29        void __iomem    *regs;
  30        struct dw_dma   *dw;
  31};
  32
  33/* Export to the platform drivers */
  34int dw_dma_probe(struct dw_dma_chip *chip, struct dw_dma_platform_data *pdata);
  35int dw_dma_remove(struct dw_dma_chip *chip);
  36
  37void dw_dma_shutdown(struct dw_dma_chip *chip);
  38
  39#ifdef CONFIG_PM_SLEEP
  40
  41int dw_dma_suspend(struct dw_dma_chip *chip);
  42int dw_dma_resume(struct dw_dma_chip *chip);
  43
  44#endif /* CONFIG_PM_SLEEP */
  45
  46/**
  47 * dwc_get_dms - get destination master
  48 * @slave:      pointer to the custom slave configuration
  49 *
  50 * Returns destination master in the custom slave configuration if defined, or
  51 * default value otherwise.
  52 */
  53static inline unsigned int dwc_get_dms(struct dw_dma_slave *slave)
  54{
  55        return slave ? slave->dst_master : 0;
  56}
  57
  58/**
  59 * dwc_get_sms - get source master
  60 * @slave:      pointer to the custom slave configuration
  61 *
  62 * Returns source master in the custom slave configuration if defined, or
  63 * default value otherwise.
  64 */
  65static inline unsigned int dwc_get_sms(struct dw_dma_slave *slave)
  66{
  67        return slave ? slave->src_master : 1;
  68}
  69
  70#endif /* _DW_DMAC_INTERNAL_H */
  71