Skip to content
Snippets Groups Projects
Select Git revision
  • 00d7ddba1143623b31bc2c15d18216e2da031b14
  • vme-testing default
  • ci-test
  • master
  • remoteproc
  • am625-sk-ov5640
  • pcal6534-upstreaming
  • lps22df-upstreaming
  • msc-upstreaming
  • imx8mp
  • iio/noa1305
  • vme-next
  • vme-next-4.14-rc4
  • v4.14-rc4
  • v4.14-rc3
  • v4.14-rc2
  • v4.14-rc1
  • v4.13
  • vme-next-4.13-rc7
  • v4.13-rc7
  • v4.13-rc6
  • v4.13-rc5
  • v4.13-rc4
  • v4.13-rc3
  • v4.13-rc2
  • v4.13-rc1
  • v4.12
  • v4.12-rc7
  • v4.12-rc6
  • v4.12-rc5
  • v4.12-rc4
  • v4.12-rc3
32 results

netvsc_drv.c

Blame
  • dma-mapping.h 2.45 KiB
    #ifndef _ASM_DMA_MAPPING_H
    #define _ASM_DMA_MAPPING_H
    
    #include <asm/scatterlist.h>
    #include <asm/dma-coherence.h>
    #include <asm/cache.h>
    #include <asm-generic/dma-coherent.h>
    
    #ifndef CONFIG_SGI_IP27 /* Kludge to fix 2.6.39 build for IP27 */
    #include <dma-coherence.h>
    #endif
    
    extern struct dma_map_ops *mips_dma_map_ops;
    
    static inline struct dma_map_ops *get_dma_ops(struct device *dev)
    {
    	if (dev && dev->archdata.dma_ops)
    		return dev->archdata.dma_ops;
    	else
    		return mips_dma_map_ops;
    }
    
    static inline bool dma_capable(struct device *dev, dma_addr_t addr, size_t size)
    {
    	if (!dev->dma_mask)
    		return false;
    
    	return addr + size <= *dev->dma_mask;
    }
    
    static inline void dma_mark_clean(void *addr, size_t size) {}
    
    #include <asm-generic/dma-mapping-common.h>
    
    static inline int dma_supported(struct device *dev, u64 mask)
    {
    	struct dma_map_ops *ops = get_dma_ops(dev);
    	return ops->dma_supported(dev, mask);
    }
    
    static inline int dma_mapping_error(struct device *dev, u64 mask)
    {
    	struct dma_map_ops *ops = get_dma_ops(dev);
    
    	debug_dma_mapping_error(dev, mask);
    	return ops->mapping_error(dev, mask);
    }
    
    static inline int
    dma_set_mask(struct device *dev, u64 mask)
    {
    	struct dma_map_ops *ops = get_dma_ops(dev);
    
    	if(!dev->dma_mask || !dma_supported(dev, mask))
    		return -EIO;
    
    	if (ops->set_dma_mask)
    		return ops->set_dma_mask(dev, mask);
    
    	*dev->dma_mask = mask;
    
    	return 0;
    }
    
    extern void dma_cache_sync(struct device *dev, void *vaddr, size_t size,
    	       enum dma_data_direction direction);
    
    #define dma_alloc_coherent(d,s,h,f)	dma_alloc_attrs(d,s,h,f,NULL)
    
    static inline void *dma_alloc_attrs(struct device *dev, size_t size,