Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1667969

[PATCH 17/44] hexagon: switch to use ->mapping_error for error reporting

From Christoph Hellwig <hch@lst.de>
Newsgroups linux.kernel
Subject [PATCH 17/44] hexagon: switch to use ->mapping_error for error reporting
Date 2017-06-16 20:20 +0200
Message-ID <tT40G-3II-39@gated-at.bofh.it> (permalink)
References <tT40F-3II-1@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


Signed-off-by: Christoph Hellwig <hch@lst.de>
Acked-by: Richard Kuo <rkuo@codeaurora.org>
---
 arch/hexagon/include/asm/dma-mapping.h |  2 --
 arch/hexagon/kernel/dma.c              | 12 +++++++++---
 arch/hexagon/kernel/hexagon_ksyms.c    |  1 -
 3 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/arch/hexagon/include/asm/dma-mapping.h b/arch/hexagon/include/asm/dma-mapping.h
index d3a87bd9b686..00e3f10113b0 100644
--- a/arch/hexagon/include/asm/dma-mapping.h
+++ b/arch/hexagon/include/asm/dma-mapping.h
@@ -29,8 +29,6 @@
 #include <asm/io.h>
 
 struct device;
-extern int bad_dma_address;
-#define DMA_ERROR_CODE bad_dma_address
 
 extern const struct dma_map_ops *dma_ops;
 
diff --git a/arch/hexagon/kernel/dma.c b/arch/hexagon/kernel/dma.c
index e74b65009587..71269dc0f225 100644
--- a/arch/hexagon/kernel/dma.c
+++ b/arch/hexagon/kernel/dma.c
@@ -25,11 +25,11 @@
 #include <linux/module.h>
 #include <asm/page.h>
 
+#define HEXAGON_MAPPING_ERROR	0
+
 const struct dma_map_ops *dma_ops;
 EXPORT_SYMBOL(dma_ops);
 
-int bad_dma_address;  /*  globals are automatically initialized to zero  */
-
 static inline void *dma_addr_to_virt(dma_addr_t dma_addr)
 {
 	return phys_to_virt((unsigned long) dma_addr);
@@ -181,7 +181,7 @@ static dma_addr_t hexagon_map_page(struct device *dev, struct page *page,
 	WARN_ON(size == 0);
 
 	if (!check_addr("map_single", dev, bus, size))
-		return bad_dma_address;
+		return HEXAGON_MAPPING_ERROR;
 
 	if (!(attrs & DMA_ATTR_SKIP_CPU_SYNC))
 		dma_sync(dma_addr_to_virt(bus), size, dir);
@@ -203,6 +203,11 @@ static void hexagon_sync_single_for_device(struct device *dev,
 	dma_sync(dma_addr_to_virt(dma_handle), size, dir);
 }
 
+static int hexagon_mapping_error(struct device *dev, dma_addr_t dma_addr)
+{
+	return dma_addr == HEXAGON_MAPPING_ERROR;
+}
+
 const struct dma_map_ops hexagon_dma_ops = {
 	.alloc		= hexagon_dma_alloc_coherent,
 	.free		= hexagon_free_coherent,
@@ -210,6 +215,7 @@ const struct dma_map_ops hexagon_dma_ops = {
 	.map_page	= hexagon_map_page,
 	.sync_single_for_cpu = hexagon_sync_single_for_cpu,
 	.sync_single_for_device = hexagon_sync_single_for_device,
+	.mapping_error	= hexagon_mapping_error;
 	.is_phys	= 1,
 };
 
diff --git a/arch/hexagon/kernel/hexagon_ksyms.c b/arch/hexagon/kernel/hexagon_ksyms.c
index 00bcad9cbd8f..aa248f595431 100644
--- a/arch/hexagon/kernel/hexagon_ksyms.c
+++ b/arch/hexagon/kernel/hexagon_ksyms.c
@@ -40,7 +40,6 @@ EXPORT_SYMBOL(memset);
 /* Additional variables */
 EXPORT_SYMBOL(__phys_offset);
 EXPORT_SYMBOL(_dflt_cache_att);
-EXPORT_SYMBOL(bad_dma_address);
 
 #define DECLARE_EXPORT(name)     \
 	extern void name(void); EXPORT_SYMBOL(name)
-- 
2.11.0

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

clean up and modularize arch dma_mapping interface V2 Christoph Hellwig <hch@lst.de> - 2017-06-16 20:20 +0200
  [PATCH 44/44] powerpc: merge __dma_set_mask into dma_set_mask Christoph Hellwig <hch@lst.de> - 2017-06-16 20:20 +0200
  [PATCH 38/44] arm: implement ->dma_supported instead of ->set_dma_mask Christoph Hellwig <hch@lst.de> - 2017-06-16 20:20 +0200
  [PATCH 36/44] dma-mapping: remove HAVE_ARCH_DMA_SUPPORTED Christoph Hellwig <hch@lst.de> - 2017-06-16 20:20 +0200
  [PATCH 42/44] powerpc/cell: use the dma_supported method for ops switching Christoph Hellwig <hch@lst.de> - 2017-06-16 20:20 +0200
    Re: [PATCH 42/44] powerpc/cell: use the dma_supported method for  ops switching Benjamin Herrenschmidt <benh@kernel.crashing.org> - 2017-06-17 23:00 +0200
      Re: [PATCH 42/44] powerpc/cell: use the dma_supported method for ops  switching Christoph Hellwig <hch@infradead.org> - 2017-06-18 09:20 +0200
        Re: [PATCH 42/44] powerpc/cell: use the dma_supported method for  ops switching Benjamin Herrenschmidt <benh@kernel.crashing.org> - 2017-06-18 12:00 +0200
  [PATCH 27/44] sparc: remove leon_dma_ops Christoph Hellwig <hch@lst.de> - 2017-06-16 20:20 +0200
  [PATCH 31/44] hexagon: remove arch-specific dma_supported implementation Christoph Hellwig <hch@lst.de> - 2017-06-16 20:20 +0200
  [PATCH 34/44] arm: remove arch specific dma_supported implementation Christoph Hellwig <hch@lst.de> - 2017-06-16 20:20 +0200
  [PATCH 29/44] dma-noop: remove dma_supported and mapping_error methods Christoph Hellwig <hch@lst.de> - 2017-06-16 20:20 +0200
  [PATCH 40/44] tile: remove dma_supported and mapping_error methods Christoph Hellwig <hch@lst.de> - 2017-06-16 20:20 +0200
  [PATCH 41/44] powerpc/cell: clean up fixed mapping dma_ops initialization Christoph Hellwig <hch@lst.de> - 2017-06-16 20:20 +0200
  [PATCH 33/44] openrisc: remove arch-specific dma_supported implementation Christoph Hellwig <hch@lst.de> - 2017-06-16 20:20 +0200
  [PATCH 39/44] xen-swiotlb: remove xen_swiotlb_set_dma_mask Christoph Hellwig <hch@lst.de> - 2017-06-16 20:20 +0200
  [PATCH 17/44] hexagon: switch to use ->mapping_error for error reporting Christoph Hellwig <hch@lst.de> - 2017-06-16 20:20 +0200
  [PATCH 35/44] x86: remove arch specific dma_supported implementation Christoph Hellwig <hch@lst.de> - 2017-06-16 20:20 +0200
  [PATCH 32/44] hexagon: remove the unused dma_is_consistent prototype Christoph Hellwig <hch@lst.de> - 2017-06-16 20:20 +0200
  [PATCH 13/44] openrisc: remove DMA_ERROR_CODE Christoph Hellwig <hch@lst.de> - 2017-06-16 20:20 +0200
  [PATCH 37/44] mips/loongson64: implement ->dma_supported instead of ->set_dma_mask Christoph Hellwig <hch@lst.de> - 2017-06-16 20:20 +0200
  [PATCH 15/44] xtensa: remove DMA_ERROR_CODE Christoph Hellwig <hch@lst.de> - 2017-06-16 20:20 +0200
  [PATCH 24/44] x86: remove DMA_ERROR_CODE Christoph Hellwig <hch@lst.de> - 2017-06-16 20:20 +0200
  [PATCH 28/44] sparc: remove arch specific dma_supported implementations Christoph Hellwig <hch@lst.de> - 2017-06-16 20:20 +0200
  [PATCH 02/44] ibmveth: properly unwind on init errors Christoph Hellwig <hch@lst.de> - 2017-06-16 20:20 +0200
  [PATCH 01/44] firmware/ivc: use dma_mapping_error Christoph Hellwig <hch@lst.de> - 2017-06-16 20:20 +0200
  [PATCH 43/44] dma-mapping: remove the set_dma_mask method Christoph Hellwig <hch@lst.de> - 2017-06-16 20:20 +0200
  [PATCH 30/44] dma-virt: remove dma_supported and mapping_error methods Christoph Hellwig <hch@lst.de> - 2017-06-16 20:20 +0200
  [PATCH 26/44] dma-mapping: remove DMA_ERROR_CODE Christoph Hellwig <hch@lst.de> - 2017-06-16 20:30 +0200
  [PATCH 16/44] arm64: remove DMA_ERROR_CODE Christoph Hellwig <hch@lst.de> - 2017-06-16 20:30 +0200
  [PATCH 21/44] powerpc: implement ->mapping_error Christoph Hellwig <hch@lst.de> - 2017-06-16 20:30 +0200
  [PATCH 14/44] sh: remove DMA_ERROR_CODE Christoph Hellwig <hch@lst.de> - 2017-06-16 20:30 +0200
  [PATCH 19/44] s390: implement ->mapping_error Christoph Hellwig <hch@lst.de> - 2017-06-16 20:30 +0200
  [PATCH 25/44] arm: implement ->mapping_error Christoph Hellwig <hch@lst.de> - 2017-06-16 20:30 +0200
  [PATCH 23/44] x86/calgary: implement ->mapping_error Christoph Hellwig <hch@lst.de> - 2017-06-16 20:30 +0200
  [PATCH 06/44] iommu/dma: don't rely on DMA_ERROR_CODE Christoph Hellwig <hch@lst.de> - 2017-06-16 20:30 +0200
    Re: [PATCH 06/44] iommu/dma: don't rely on DMA_ERROR_CODE Robin Murphy <robin.murphy@arm.com> - 2017-06-19 17:20 +0200
  [PATCH 18/44] iommu/amd: implement ->mapping_error Christoph Hellwig <hch@lst.de> - 2017-06-16 20:30 +0200
  [PATCH 20/44] sparc: implement ->mapping_error Christoph Hellwig <hch@lst.de> - 2017-06-16 20:30 +0200
  [PATCH 10/44] ia64: remove DMA_ERROR_CODE Christoph Hellwig <hch@lst.de> - 2017-06-16 20:30 +0200
  [PATCH 08/44] xen-swiotlb: implement ->mapping_error Christoph Hellwig <hch@lst.de> - 2017-06-16 20:30 +0200
  [PATCH 03/44] dmaengine: ioat: don't use DMA_ERROR_CODE Christoph Hellwig <hch@lst.de> - 2017-06-16 20:30 +0200
    Re: [PATCH 03/44] dmaengine: ioat: don't use DMA_ERROR_CODE Alexander Duyck <alexander.duyck@gmail.com> - 2017-06-16 22:50 +0200
      Re: [PATCH 03/44] dmaengine: ioat: don't use DMA_ERROR_CODE Christoph Hellwig <hch@infradead.org> - 2017-06-18 09:10 +0200
  [PATCH 04/44] drm/exynos: don't use DMA_ERROR_CODE Christoph Hellwig <hch@lst.de> - 2017-06-16 20:30 +0200
  [PATCH 09/44] c6x: remove DMA_ERROR_CODE Christoph Hellwig <hch@lst.de> - 2017-06-16 20:30 +0200
  [PATCH 07/44] xen-swiotlb: consolidate xen_swiotlb_dma_ops Christoph Hellwig <hch@lst.de> - 2017-06-16 20:30 +0200
  [PATCH 11/44] m32r: remove DMA_ERROR_CODE Christoph Hellwig <hch@lst.de> - 2017-06-16 20:30 +0200
  [PATCH 22/44] x86/pci-nommu: implement ->mapping_error Christoph Hellwig <hch@lst.de> - 2017-06-16 20:30 +0200
  [PATCH 12/44] microblaze: remove DMA_ERROR_CODE Christoph Hellwig <hch@lst.de> - 2017-06-16 20:30 +0200
  [PATCH 05/44] drm/armada: don't abuse DMA_ERROR_CODE Christoph Hellwig <hch@lst.de> - 2017-06-16 20:30 +0200

csiph-web