2006-11-11 13:18:39 +07:00
|
|
|
/*
|
|
|
|
* Arch specific extensions to struct device
|
|
|
|
*
|
|
|
|
* This file is released under the GPLv2
|
|
|
|
*/
|
2007-02-12 17:28:24 +07:00
|
|
|
#ifndef ASMARM_DEVICE_H
|
|
|
|
#define ASMARM_DEVICE_H
|
2006-11-11 13:18:39 +07:00
|
|
|
|
2007-02-12 17:28:24 +07:00
|
|
|
struct dev_archdata {
|
|
|
|
#ifdef CONFIG_DMABOUNCE
|
|
|
|
struct dmabounce_device_info *dmabounce;
|
|
|
|
#endif
|
2011-10-13 18:53:18 +07:00
|
|
|
#ifdef CONFIG_IOMMU_API
|
|
|
|
void *iommu; /* private IOMMU data */
|
|
|
|
#endif
|
2012-05-16 20:48:21 +07:00
|
|
|
#ifdef CONFIG_ARM_DMA_USE_IOMMU
|
|
|
|
struct dma_iommu_mapping *mapping;
|
2017-04-14 04:04:21 +07:00
|
|
|
#endif
|
|
|
|
#ifdef CONFIG_XEN
|
|
|
|
const struct dma_map_ops *dev_dma_ops;
|
2012-05-16 20:48:21 +07:00
|
|
|
#endif
|
2014-11-20 17:41:40 +07:00
|
|
|
bool dma_coherent;
|
2007-02-12 17:28:24 +07:00
|
|
|
};
|
|
|
|
|
2011-09-07 03:04:10 +07:00
|
|
|
struct omap_device;
|
|
|
|
|
2009-07-08 18:21:31 +07:00
|
|
|
struct pdev_archdata {
|
2011-09-07 03:04:10 +07:00
|
|
|
#ifdef CONFIG_ARCH_OMAP
|
|
|
|
struct omap_device *od;
|
|
|
|
#endif
|
2009-07-08 18:21:31 +07:00
|
|
|
};
|
|
|
|
|
2013-01-24 20:16:56 +07:00
|
|
|
#ifdef CONFIG_ARM_DMA_USE_IOMMU
|
|
|
|
#define to_dma_iommu_mapping(dev) ((dev)->archdata.mapping)
|
|
|
|
#else
|
|
|
|
#define to_dma_iommu_mapping(dev) NULL
|
|
|
|
#endif
|
|
|
|
|
2007-02-12 17:28:24 +07:00
|
|
|
#endif
|