linux/arch/xtensa/include/asm/dma-mapping.h
<<
>>
Prefs
   1/*
   2 * This file is subject to the terms and conditions of the GNU General Public
   3 * License.  See the file "COPYING" in the main directory of this archive
   4 * for more details.
   5 *
   6 * Copyright (C) 2003 - 2005 Tensilica Inc.
   7 * Copyright (C) 2015 Cadence Design Systems Inc.
   8 */
   9
  10#ifndef _XTENSA_DMA_MAPPING_H
  11#define _XTENSA_DMA_MAPPING_H
  12
  13#include <asm/cache.h>
  14#include <asm/io.h>
  15
  16#include <linux/mm.h>
  17#include <linux/scatterlist.h>
  18
  19#define DMA_ERROR_CODE          (~(dma_addr_t)0x0)
  20
  21extern struct dma_map_ops xtensa_dma_map_ops;
  22
  23static inline struct dma_map_ops *get_dma_ops(struct device *dev)
  24{
  25        if (dev && dev->archdata.dma_ops)
  26                return dev->archdata.dma_ops;
  27        else
  28                return &xtensa_dma_map_ops;
  29}
  30
  31void dma_cache_sync(struct device *dev, void *vaddr, size_t size,
  32                    enum dma_data_direction direction);
  33
  34static inline dma_addr_t phys_to_dma(struct device *dev, phys_addr_t paddr)
  35{
  36        return (dma_addr_t)paddr;
  37}
  38
  39static inline phys_addr_t dma_to_phys(struct device *dev, dma_addr_t daddr)
  40{
  41        return (phys_addr_t)daddr;
  42}
  43
  44#endif  /* _XTENSA_DMA_MAPPING_H */
  45