From 433f5bfff88d0db9a1f86c622510e491e0daf045 Mon Sep 17 00:00:00 2001
From: Vineet Gupta <vgupta@synopsys.com>
Date: Wed, 2 Dec 2015 12:00:41 +0530
Subject: [PATCH] [donot merge]: minimal dma_attr_t support for ARC
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
---
arch/arc/Kconfig | 1 +
arch/arc/include/asm/dma-mapping.h | 21 +++++++++++++++++++++
2 files changed, 22 insertions(+)
@@ -38,6 +38,7 @@ config ARC
select OF_EARLY_FLATTREE
select PERF_USE_VMALLOC
select HAVE_DEBUG_STACKOVERFLOW
+ select HAVE_DMA_ATTRS
config TRACE_IRQFLAGS_SUPPORT
def_bool y
@@ -36,6 +36,27 @@ extern int dma_common_get_sgtable(struct device *dev, struct sg_table *sgt,
#define dma_mmap_coherent(d, v, c, h, s) dma_common_mmap(d, v, c, h, s)
#define dma_get_sgtable(d, t, v, h, s) dma_common_get_sgtable(d, t, v, h, s)
+static inline void *dma_alloc_attrs(struct device *dev, size_t size,
+ dma_addr_t *dma_handle, gfp_t flag,
+ struct dma_attrs *attrs)
+{
+ return dma_alloc_coherent(dev, size, dma_handle, flag);
+}
+
+static inline void dma_free_attrs(struct device *dev, size_t size,
+ void *cpu_addr, dma_addr_t dma_handle,
+ struct dma_attrs *attrs)
+{
+ dma_free_coherent(dev, size, cpu_addr, dma_handle);
+}
+
+static inline int
+dma_mmap_attrs(struct device *dev, struct vm_area_struct *vma, void *cpu_addr,
+ dma_addr_t dma_addr, size_t size, struct dma_attrs *attrs)
+{
+ return dma_mmap_coherent(dev, vma, cpu_addr, dma_addr, size);
+}
+
/*
* streaming DMA Mapping API...
* CPU accesses page via normal paddr, thus needs to explicitly made
--
1.9.1