Loading drivers/base/dma-coherent.c +9 −2 Original line number Diff line number Diff line Loading @@ -29,7 +29,7 @@ static inline struct dma_coherent_mem *dev_get_coherent_memory(struct device *de return NULL; } static inline dma_addr_t dma_get_device_base(struct device *dev, dma_addr_t dma_get_device_base(struct device *dev, struct dma_coherent_mem *mem) { if (mem->use_dev_dma_pfn_offset) Loading @@ -37,6 +37,13 @@ static inline dma_addr_t dma_get_device_base(struct device *dev, else return mem->device_base; } EXPORT_SYMBOL(dma_get_device_base); unsigned long dma_get_size(struct dma_coherent_mem *mem) { return mem->size << PAGE_SHIFT; } EXPORT_SYMBOL(dma_get_size); static int dma_init_coherent_memory( phys_addr_t phys_addr, dma_addr_t device_addr, size_t size, int flags, Loading drivers/staging/android/ion/msm/msm_ion_of.c +4 −0 Original line number Diff line number Diff line Loading @@ -169,6 +169,10 @@ static int msm_ion_get_heap_dt_data(struct device_node *node, base = cma_get_base(dev->cma_area); size = cma_get_size(dev->cma_area); ret = 0; } else if (dev->dma_mem) { base = dma_get_device_base(dev, dev->dma_mem); size = dma_get_size(dev->dma_mem); ret = 0; } } else { base = of_translate_address(pnode, basep); Loading include/linux/dma-mapping.h +15 −0 Original line number Diff line number Diff line Loading @@ -799,6 +799,10 @@ int dma_declare_coherent_memory(struct device *dev, phys_addr_t phys_addr, void dma_release_declared_memory(struct device *dev); void *dma_mark_declared_memory_occupied(struct device *dev, dma_addr_t device_addr, size_t size); dma_addr_t dma_get_device_base(struct device *dev, struct dma_coherent_mem *mem); unsigned long dma_get_size(struct dma_coherent_mem *mem); #else static inline int dma_declare_coherent_memory(struct device *dev, phys_addr_t phys_addr, Loading @@ -818,6 +822,17 @@ dma_mark_declared_memory_occupied(struct device *dev, { return ERR_PTR(-EBUSY); } static inline dma_addr_t dma_get_device_base(struct device *dev, struct dma_coherent_mem *mem) { return 0; } static inline unsigned long dma_get_size(struct dma_coherent_mem *mem) { return 0; } #endif /* CONFIG_HAVE_GENERIC_DMA_COHERENT */ #ifdef CONFIG_HAS_DMA Loading Loading
drivers/base/dma-coherent.c +9 −2 Original line number Diff line number Diff line Loading @@ -29,7 +29,7 @@ static inline struct dma_coherent_mem *dev_get_coherent_memory(struct device *de return NULL; } static inline dma_addr_t dma_get_device_base(struct device *dev, dma_addr_t dma_get_device_base(struct device *dev, struct dma_coherent_mem *mem) { if (mem->use_dev_dma_pfn_offset) Loading @@ -37,6 +37,13 @@ static inline dma_addr_t dma_get_device_base(struct device *dev, else return mem->device_base; } EXPORT_SYMBOL(dma_get_device_base); unsigned long dma_get_size(struct dma_coherent_mem *mem) { return mem->size << PAGE_SHIFT; } EXPORT_SYMBOL(dma_get_size); static int dma_init_coherent_memory( phys_addr_t phys_addr, dma_addr_t device_addr, size_t size, int flags, Loading
drivers/staging/android/ion/msm/msm_ion_of.c +4 −0 Original line number Diff line number Diff line Loading @@ -169,6 +169,10 @@ static int msm_ion_get_heap_dt_data(struct device_node *node, base = cma_get_base(dev->cma_area); size = cma_get_size(dev->cma_area); ret = 0; } else if (dev->dma_mem) { base = dma_get_device_base(dev, dev->dma_mem); size = dma_get_size(dev->dma_mem); ret = 0; } } else { base = of_translate_address(pnode, basep); Loading
include/linux/dma-mapping.h +15 −0 Original line number Diff line number Diff line Loading @@ -799,6 +799,10 @@ int dma_declare_coherent_memory(struct device *dev, phys_addr_t phys_addr, void dma_release_declared_memory(struct device *dev); void *dma_mark_declared_memory_occupied(struct device *dev, dma_addr_t device_addr, size_t size); dma_addr_t dma_get_device_base(struct device *dev, struct dma_coherent_mem *mem); unsigned long dma_get_size(struct dma_coherent_mem *mem); #else static inline int dma_declare_coherent_memory(struct device *dev, phys_addr_t phys_addr, Loading @@ -818,6 +822,17 @@ dma_mark_declared_memory_occupied(struct device *dev, { return ERR_PTR(-EBUSY); } static inline dma_addr_t dma_get_device_base(struct device *dev, struct dma_coherent_mem *mem) { return 0; } static inline unsigned long dma_get_size(struct dma_coherent_mem *mem) { return 0; } #endif /* CONFIG_HAVE_GENERIC_DMA_COHERENT */ #ifdef CONFIG_HAS_DMA Loading