All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christoph Hellwig <hch@lst.de>
To: x86@kernel.org, linux-arm-kernel@lists.infradead.org,
	xen-devel@lists.xenproject.org, linux-c6x-dev@linux-c6x.org,
	linux-hexagon@vger.kernel.org, linux-ia64@vger.kernel.org,
	linux-mips@linux-mips.org, openrisc@lists.librecores.org,
	linuxppc-dev@lists.ozlabs.org, linux-s390@vger.kernel.org,
	linux-sh@vger.kernel.org, sparclinux@vger.kernel.org,
	linux-xtensa@linux-xtensa.org, dmaengine@vger.kernel.org,
	linux-tegra@vger.kernel.org, dri-devel@lists.freedesktop.org,
	linux-samsung-soc@vger.kernel.org,
	iommu@lists.linux-foundation.org, netdev@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Subject: [PATCH 21/44] powerpc: implement ->mapping_error
Date: Fri, 16 Jun 2017 18:10:36 +0000	[thread overview]
Message-ID: <20170616181059.19206-22-hch@lst.de> (raw)
In-Reply-To: <20170616181059.19206-1-hch@lst.de>

DMA_ERROR_CODE is going to go away, so don't rely on it.  Instead
define a ->mapping_error method for all IOMMU based dma operation
instances.  The direct ops don't ever return an error and don't
need a ->mapping_error method.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Acked-by: Michael Ellerman <mpe@ellerman.id.au>
---
 arch/powerpc/include/asm/dma-mapping.h |  4 ----
 arch/powerpc/include/asm/iommu.h       |  4 ++++
 arch/powerpc/kernel/dma-iommu.c        |  6 ++++++
 arch/powerpc/kernel/iommu.c            | 28 ++++++++++++++--------------
 arch/powerpc/platforms/cell/iommu.c    |  1 +
 arch/powerpc/platforms/pseries/vio.c   |  3 ++-
 6 files changed, 27 insertions(+), 19 deletions(-)

diff --git a/arch/powerpc/include/asm/dma-mapping.h b/arch/powerpc/include/asm/dma-mapping.h
index 181a095468e4..73aedbe6c977 100644
--- a/arch/powerpc/include/asm/dma-mapping.h
+++ b/arch/powerpc/include/asm/dma-mapping.h
@@ -17,10 +17,6 @@
 #include <asm/io.h>
 #include <asm/swiotlb.h>
 
-#ifdef CONFIG_PPC64
-#define DMA_ERROR_CODE		(~(dma_addr_t)0x0)
-#endif
-
 /* Some dma direct funcs must be visible for use in other dma_ops */
 extern void *__dma_direct_alloc_coherent(struct device *dev, size_t size,
 					 dma_addr_t *dma_handle, gfp_t flag,
diff --git a/arch/powerpc/include/asm/iommu.h b/arch/powerpc/include/asm/iommu.h
index 8a8ce220d7d0..20febe0b7f32 100644
--- a/arch/powerpc/include/asm/iommu.h
+++ b/arch/powerpc/include/asm/iommu.h
@@ -139,6 +139,8 @@ struct scatterlist;
 
 #ifdef CONFIG_PPC64
 
+#define IOMMU_MAPPING_ERROR		(~(dma_addr_t)0x0)
+
 static inline void set_iommu_table_base(struct device *dev,
 					struct iommu_table *base)
 {
@@ -238,6 +240,8 @@ static inline int __init tce_iommu_bus_notifier_init(void)
 }
 #endif /* !CONFIG_IOMMU_API */
 
+int dma_iommu_mapping_error(struct device *dev, dma_addr_t dma_addr);
+
 #else
 
 static inline void *get_iommu_table_base(struct device *dev)
diff --git a/arch/powerpc/kernel/dma-iommu.c b/arch/powerpc/kernel/dma-iommu.c
index fb7cbaa37658..8f7abf9baa63 100644
--- a/arch/powerpc/kernel/dma-iommu.c
+++ b/arch/powerpc/kernel/dma-iommu.c
@@ -105,6 +105,11 @@ static u64 dma_iommu_get_required_mask(struct device *dev)
 	return mask;
 }
 
+int dma_iommu_mapping_error(struct device *dev, dma_addr_t dma_addr)
+{
+	return dma_addr = IOMMU_MAPPING_ERROR;
+}
+
 struct dma_map_ops dma_iommu_ops = {
 	.alloc			= dma_iommu_alloc_coherent,
 	.free			= dma_iommu_free_coherent,
@@ -115,5 +120,6 @@ struct dma_map_ops dma_iommu_ops = {
 	.map_page		= dma_iommu_map_page,
 	.unmap_page		= dma_iommu_unmap_page,
 	.get_required_mask	= dma_iommu_get_required_mask,
+	.mapping_error		= dma_iommu_mapping_error,
 };
 EXPORT_SYMBOL(dma_iommu_ops);
diff --git a/arch/powerpc/kernel/iommu.c b/arch/powerpc/kernel/iommu.c
index f2b724cd9e64..233ca3fe4754 100644
--- a/arch/powerpc/kernel/iommu.c
+++ b/arch/powerpc/kernel/iommu.c
@@ -198,11 +198,11 @@ static unsigned long iommu_range_alloc(struct device *dev,
 	if (unlikely(npages = 0)) {
 		if (printk_ratelimit())
 			WARN_ON(1);
-		return DMA_ERROR_CODE;
+		return IOMMU_MAPPING_ERROR;
 	}
 
 	if (should_fail_iommu(dev))
-		return DMA_ERROR_CODE;
+		return IOMMU_MAPPING_ERROR;
 
 	/*
 	 * We don't need to disable preemption here because any CPU can
@@ -278,7 +278,7 @@ static unsigned long iommu_range_alloc(struct device *dev,
 		} else {
 			/* Give up */
 			spin_unlock_irqrestore(&(pool->lock), flags);
-			return DMA_ERROR_CODE;
+			return IOMMU_MAPPING_ERROR;
 		}
 	}
 
@@ -310,13 +310,13 @@ static dma_addr_t iommu_alloc(struct device *dev, struct iommu_table *tbl,
 			      unsigned long attrs)
 {
 	unsigned long entry;
-	dma_addr_t ret = DMA_ERROR_CODE;
+	dma_addr_t ret = IOMMU_MAPPING_ERROR;
 	int build_fail;
 
 	entry = iommu_range_alloc(dev, tbl, npages, NULL, mask, align_order);
 
-	if (unlikely(entry = DMA_ERROR_CODE))
-		return DMA_ERROR_CODE;
+	if (unlikely(entry = IOMMU_MAPPING_ERROR))
+		return IOMMU_MAPPING_ERROR;
 
 	entry += tbl->it_offset;	/* Offset into real TCE table */
 	ret = entry << tbl->it_page_shift;	/* Set the return dma address */
@@ -328,12 +328,12 @@ static dma_addr_t iommu_alloc(struct device *dev, struct iommu_table *tbl,
 
 	/* tbl->it_ops->set() only returns non-zero for transient errors.
 	 * Clean up the table bitmap in this case and return
-	 * DMA_ERROR_CODE. For all other errors the functionality is
+	 * IOMMU_MAPPING_ERROR. For all other errors the functionality is
 	 * not altered.
 	 */
 	if (unlikely(build_fail)) {
 		__iommu_free(tbl, ret, npages);
-		return DMA_ERROR_CODE;
+		return IOMMU_MAPPING_ERROR;
 	}
 
 	/* Flush/invalidate TLB caches if necessary */
@@ -478,7 +478,7 @@ int ppc_iommu_map_sg(struct device *dev, struct iommu_table *tbl,
 		DBG("  - vaddr: %lx, size: %lx\n", vaddr, slen);
 
 		/* Handle failure */
-		if (unlikely(entry = DMA_ERROR_CODE)) {
+		if (unlikely(entry = IOMMU_MAPPING_ERROR)) {
 			if (!(attrs & DMA_ATTR_NO_WARN) &&
 			    printk_ratelimit())
 				dev_info(dev, "iommu_alloc failed, tbl %p "
@@ -545,7 +545,7 @@ int ppc_iommu_map_sg(struct device *dev, struct iommu_table *tbl,
 	 */
 	if (outcount < incount) {
 		outs = sg_next(outs);
-		outs->dma_address = DMA_ERROR_CODE;
+		outs->dma_address = IOMMU_MAPPING_ERROR;
 		outs->dma_length = 0;
 	}
 
@@ -563,7 +563,7 @@ int ppc_iommu_map_sg(struct device *dev, struct iommu_table *tbl,
 			npages = iommu_num_pages(s->dma_address, s->dma_length,
 						 IOMMU_PAGE_SIZE(tbl));
 			__iommu_free(tbl, vaddr, npages);
-			s->dma_address = DMA_ERROR_CODE;
+			s->dma_address = IOMMU_MAPPING_ERROR;
 			s->dma_length = 0;
 		}
 		if (s = outs)
@@ -777,7 +777,7 @@ dma_addr_t iommu_map_page(struct device *dev, struct iommu_table *tbl,
 			  unsigned long mask, enum dma_data_direction direction,
 			  unsigned long attrs)
 {
-	dma_addr_t dma_handle = DMA_ERROR_CODE;
+	dma_addr_t dma_handle = IOMMU_MAPPING_ERROR;
 	void *vaddr;
 	unsigned long uaddr;
 	unsigned int npages, align;
@@ -797,7 +797,7 @@ dma_addr_t iommu_map_page(struct device *dev, struct iommu_table *tbl,
 		dma_handle = iommu_alloc(dev, tbl, vaddr, npages, direction,
 					 mask >> tbl->it_page_shift, align,
 					 attrs);
-		if (dma_handle = DMA_ERROR_CODE) {
+		if (dma_handle = IOMMU_MAPPING_ERROR) {
 			if (!(attrs & DMA_ATTR_NO_WARN) &&
 			    printk_ratelimit())  {
 				dev_info(dev, "iommu_alloc failed, tbl %p "
@@ -869,7 +869,7 @@ void *iommu_alloc_coherent(struct device *dev, struct iommu_table *tbl,
 	io_order = get_iommu_order(size, tbl);
 	mapping = iommu_alloc(dev, tbl, ret, nio_pages, DMA_BIDIRECTIONAL,
 			      mask >> tbl->it_page_shift, io_order, 0);
-	if (mapping = DMA_ERROR_CODE) {
+	if (mapping = IOMMU_MAPPING_ERROR) {
 		free_pages((unsigned long)ret, order);
 		return NULL;
 	}
diff --git a/arch/powerpc/platforms/cell/iommu.c b/arch/powerpc/platforms/cell/iommu.c
index 71b995bbcae0..948086e33a0c 100644
--- a/arch/powerpc/platforms/cell/iommu.c
+++ b/arch/powerpc/platforms/cell/iommu.c
@@ -660,6 +660,7 @@ static const struct dma_map_ops dma_iommu_fixed_ops = {
 	.set_dma_mask   = dma_set_mask_and_switch,
 	.map_page       = dma_fixed_map_page,
 	.unmap_page     = dma_fixed_unmap_page,
+	.mapping_error	= dma_iommu_mapping_error,
 };
 
 static void cell_dma_dev_setup_fixed(struct device *dev);
diff --git a/arch/powerpc/platforms/pseries/vio.c b/arch/powerpc/platforms/pseries/vio.c
index 28b09fd797ec..e6f43d546827 100644
--- a/arch/powerpc/platforms/pseries/vio.c
+++ b/arch/powerpc/platforms/pseries/vio.c
@@ -519,7 +519,7 @@ static dma_addr_t vio_dma_iommu_map_page(struct device *dev, struct page *page,
 {
 	struct vio_dev *viodev = to_vio_dev(dev);
 	struct iommu_table *tbl;
-	dma_addr_t ret = DMA_ERROR_CODE;
+	dma_addr_t ret = IOMMU_MAPPING_ERROR;
 
 	tbl = get_iommu_table_base(dev);
 	if (vio_cmo_alloc(viodev, roundup(size, IOMMU_PAGE_SIZE(tbl)))) {
@@ -625,6 +625,7 @@ static const struct dma_map_ops vio_dma_mapping_ops = {
 	.unmap_page        = vio_dma_iommu_unmap_page,
 	.dma_supported     = vio_dma_iommu_dma_supported,
 	.get_required_mask = vio_dma_get_required_mask,
+	.mapping_error	   = dma_iommu_mapping_error,
 };
 
 /**
-- 
2.11.0


WARNING: multiple messages have this Message-ID (diff)
From: Christoph Hellwig <hch@lst.de>
To: x86@kernel.org, linux-arm-kernel@lists.infradead.org,
	xen-devel@lists.xenproject.org, linux-c6x-dev@linux-c6x.org,
	linux-hexagon@vger.kernel.org, linux-ia64@vger.kernel.org,
	linux-mips@linux-mips.org, openrisc@lists.librecores.org,
	linuxppc-dev@lists.ozlabs.org, linux-s390@vger.kernel.org,
	linux-sh@vger.kernel.org, sparclinux@vger.kernel.org,
	linux-xtensa@linux-xtensa.org, dmaengine@vger.kernel.org,
	linux-tegra@vger.kernel.org, dri-devel@lists.freedesktop.org,
	linux-samsung-soc@vger.kernel.org,
	iommu@lists.linux-foundation.org, netdev@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Subject: [PATCH 21/44] powerpc: implement ->mapping_error
Date: Fri, 16 Jun 2017 20:10:36 +0200	[thread overview]
Message-ID: <20170616181059.19206-22-hch@lst.de> (raw)
In-Reply-To: <20170616181059.19206-1-hch@lst.de>

DMA_ERROR_CODE is going to go away, so don't rely on it.  Instead
define a ->mapping_error method for all IOMMU based dma operation
instances.  The direct ops don't ever return an error and don't
need a ->mapping_error method.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Acked-by: Michael Ellerman <mpe@ellerman.id.au>
---
 arch/powerpc/include/asm/dma-mapping.h |  4 ----
 arch/powerpc/include/asm/iommu.h       |  4 ++++
 arch/powerpc/kernel/dma-iommu.c        |  6 ++++++
 arch/powerpc/kernel/iommu.c            | 28 ++++++++++++++--------------
 arch/powerpc/platforms/cell/iommu.c    |  1 +
 arch/powerpc/platforms/pseries/vio.c   |  3 ++-
 6 files changed, 27 insertions(+), 19 deletions(-)

diff --git a/arch/powerpc/include/asm/dma-mapping.h b/arch/powerpc/include/asm/dma-mapping.h
index 181a095468e4..73aedbe6c977 100644
--- a/arch/powerpc/include/asm/dma-mapping.h
+++ b/arch/powerpc/include/asm/dma-mapping.h
@@ -17,10 +17,6 @@
 #include <asm/io.h>
 #include <asm/swiotlb.h>
 
-#ifdef CONFIG_PPC64
-#define DMA_ERROR_CODE		(~(dma_addr_t)0x0)
-#endif
-
 /* Some dma direct funcs must be visible for use in other dma_ops */
 extern void *__dma_direct_alloc_coherent(struct device *dev, size_t size,
 					 dma_addr_t *dma_handle, gfp_t flag,
diff --git a/arch/powerpc/include/asm/iommu.h b/arch/powerpc/include/asm/iommu.h
index 8a8ce220d7d0..20febe0b7f32 100644
--- a/arch/powerpc/include/asm/iommu.h
+++ b/arch/powerpc/include/asm/iommu.h
@@ -139,6 +139,8 @@ struct scatterlist;
 
 #ifdef CONFIG_PPC64
 
+#define IOMMU_MAPPING_ERROR		(~(dma_addr_t)0x0)
+
 static inline void set_iommu_table_base(struct device *dev,
 					struct iommu_table *base)
 {
@@ -238,6 +240,8 @@ static inline int __init tce_iommu_bus_notifier_init(void)
 }
 #endif /* !CONFIG_IOMMU_API */
 
+int dma_iommu_mapping_error(struct device *dev, dma_addr_t dma_addr);
+
 #else
 
 static inline void *get_iommu_table_base(struct device *dev)
diff --git a/arch/powerpc/kernel/dma-iommu.c b/arch/powerpc/kernel/dma-iommu.c
index fb7cbaa37658..8f7abf9baa63 100644
--- a/arch/powerpc/kernel/dma-iommu.c
+++ b/arch/powerpc/kernel/dma-iommu.c
@@ -105,6 +105,11 @@ static u64 dma_iommu_get_required_mask(struct device *dev)
 	return mask;
 }
 
+int dma_iommu_mapping_error(struct device *dev, dma_addr_t dma_addr)
+{
+	return dma_addr == IOMMU_MAPPING_ERROR;
+}
+
 struct dma_map_ops dma_iommu_ops = {
 	.alloc			= dma_iommu_alloc_coherent,
 	.free			= dma_iommu_free_coherent,
@@ -115,5 +120,6 @@ struct dma_map_ops dma_iommu_ops = {
 	.map_page		= dma_iommu_map_page,
 	.unmap_page		= dma_iommu_unmap_page,
 	.get_required_mask	= dma_iommu_get_required_mask,
+	.mapping_error		= dma_iommu_mapping_error,
 };
 EXPORT_SYMBOL(dma_iommu_ops);
diff --git a/arch/powerpc/kernel/iommu.c b/arch/powerpc/kernel/iommu.c
index f2b724cd9e64..233ca3fe4754 100644
--- a/arch/powerpc/kernel/iommu.c
+++ b/arch/powerpc/kernel/iommu.c
@@ -198,11 +198,11 @@ static unsigned long iommu_range_alloc(struct device *dev,
 	if (unlikely(npages == 0)) {
 		if (printk_ratelimit())
 			WARN_ON(1);
-		return DMA_ERROR_CODE;
+		return IOMMU_MAPPING_ERROR;
 	}
 
 	if (should_fail_iommu(dev))
-		return DMA_ERROR_CODE;
+		return IOMMU_MAPPING_ERROR;
 
 	/*
 	 * We don't need to disable preemption here because any CPU can
@@ -278,7 +278,7 @@ static unsigned long iommu_range_alloc(struct device *dev,
 		} else {
 			/* Give up */
 			spin_unlock_irqrestore(&(pool->lock), flags);
-			return DMA_ERROR_CODE;
+			return IOMMU_MAPPING_ERROR;
 		}
 	}
 
@@ -310,13 +310,13 @@ static dma_addr_t iommu_alloc(struct device *dev, struct iommu_table *tbl,
 			      unsigned long attrs)
 {
 	unsigned long entry;
-	dma_addr_t ret = DMA_ERROR_CODE;
+	dma_addr_t ret = IOMMU_MAPPING_ERROR;
 	int build_fail;
 
 	entry = iommu_range_alloc(dev, tbl, npages, NULL, mask, align_order);
 
-	if (unlikely(entry == DMA_ERROR_CODE))
-		return DMA_ERROR_CODE;
+	if (unlikely(entry == IOMMU_MAPPING_ERROR))
+		return IOMMU_MAPPING_ERROR;
 
 	entry += tbl->it_offset;	/* Offset into real TCE table */
 	ret = entry << tbl->it_page_shift;	/* Set the return dma address */
@@ -328,12 +328,12 @@ static dma_addr_t iommu_alloc(struct device *dev, struct iommu_table *tbl,
 
 	/* tbl->it_ops->set() only returns non-zero for transient errors.
 	 * Clean up the table bitmap in this case and return
-	 * DMA_ERROR_CODE. For all other errors the functionality is
+	 * IOMMU_MAPPING_ERROR. For all other errors the functionality is
 	 * not altered.
 	 */
 	if (unlikely(build_fail)) {
 		__iommu_free(tbl, ret, npages);
-		return DMA_ERROR_CODE;
+		return IOMMU_MAPPING_ERROR;
 	}
 
 	/* Flush/invalidate TLB caches if necessary */
@@ -478,7 +478,7 @@ int ppc_iommu_map_sg(struct device *dev, struct iommu_table *tbl,
 		DBG("  - vaddr: %lx, size: %lx\n", vaddr, slen);
 
 		/* Handle failure */
-		if (unlikely(entry == DMA_ERROR_CODE)) {
+		if (unlikely(entry == IOMMU_MAPPING_ERROR)) {
 			if (!(attrs & DMA_ATTR_NO_WARN) &&
 			    printk_ratelimit())
 				dev_info(dev, "iommu_alloc failed, tbl %p "
@@ -545,7 +545,7 @@ int ppc_iommu_map_sg(struct device *dev, struct iommu_table *tbl,
 	 */
 	if (outcount < incount) {
 		outs = sg_next(outs);
-		outs->dma_address = DMA_ERROR_CODE;
+		outs->dma_address = IOMMU_MAPPING_ERROR;
 		outs->dma_length = 0;
 	}
 
@@ -563,7 +563,7 @@ int ppc_iommu_map_sg(struct device *dev, struct iommu_table *tbl,
 			npages = iommu_num_pages(s->dma_address, s->dma_length,
 						 IOMMU_PAGE_SIZE(tbl));
 			__iommu_free(tbl, vaddr, npages);
-			s->dma_address = DMA_ERROR_CODE;
+			s->dma_address = IOMMU_MAPPING_ERROR;
 			s->dma_length = 0;
 		}
 		if (s == outs)
@@ -777,7 +777,7 @@ dma_addr_t iommu_map_page(struct device *dev, struct iommu_table *tbl,
 			  unsigned long mask, enum dma_data_direction direction,
 			  unsigned long attrs)
 {
-	dma_addr_t dma_handle = DMA_ERROR_CODE;
+	dma_addr_t dma_handle = IOMMU_MAPPING_ERROR;
 	void *vaddr;
 	unsigned long uaddr;
 	unsigned int npages, align;
@@ -797,7 +797,7 @@ dma_addr_t iommu_map_page(struct device *dev, struct iommu_table *tbl,
 		dma_handle = iommu_alloc(dev, tbl, vaddr, npages, direction,
 					 mask >> tbl->it_page_shift, align,
 					 attrs);
-		if (dma_handle == DMA_ERROR_CODE) {
+		if (dma_handle == IOMMU_MAPPING_ERROR) {
 			if (!(attrs & DMA_ATTR_NO_WARN) &&
 			    printk_ratelimit())  {
 				dev_info(dev, "iommu_alloc failed, tbl %p "
@@ -869,7 +869,7 @@ void *iommu_alloc_coherent(struct device *dev, struct iommu_table *tbl,
 	io_order = get_iommu_order(size, tbl);
 	mapping = iommu_alloc(dev, tbl, ret, nio_pages, DMA_BIDIRECTIONAL,
 			      mask >> tbl->it_page_shift, io_order, 0);
-	if (mapping == DMA_ERROR_CODE) {
+	if (mapping == IOMMU_MAPPING_ERROR) {
 		free_pages((unsigned long)ret, order);
 		return NULL;
 	}
diff --git a/arch/powerpc/platforms/cell/iommu.c b/arch/powerpc/platforms/cell/iommu.c
index 71b995bbcae0..948086e33a0c 100644
--- a/arch/powerpc/platforms/cell/iommu.c
+++ b/arch/powerpc/platforms/cell/iommu.c
@@ -660,6 +660,7 @@ static const struct dma_map_ops dma_iommu_fixed_ops = {
 	.set_dma_mask   = dma_set_mask_and_switch,
 	.map_page       = dma_fixed_map_page,
 	.unmap_page     = dma_fixed_unmap_page,
+	.mapping_error	= dma_iommu_mapping_error,
 };
 
 static void cell_dma_dev_setup_fixed(struct device *dev);
diff --git a/arch/powerpc/platforms/pseries/vio.c b/arch/powerpc/platforms/pseries/vio.c
index 28b09fd797ec..e6f43d546827 100644
--- a/arch/powerpc/platforms/pseries/vio.c
+++ b/arch/powerpc/platforms/pseries/vio.c
@@ -519,7 +519,7 @@ static dma_addr_t vio_dma_iommu_map_page(struct device *dev, struct page *page,
 {
 	struct vio_dev *viodev = to_vio_dev(dev);
 	struct iommu_table *tbl;
-	dma_addr_t ret = DMA_ERROR_CODE;
+	dma_addr_t ret = IOMMU_MAPPING_ERROR;
 
 	tbl = get_iommu_table_base(dev);
 	if (vio_cmo_alloc(viodev, roundup(size, IOMMU_PAGE_SIZE(tbl)))) {
@@ -625,6 +625,7 @@ static const struct dma_map_ops vio_dma_mapping_ops = {
 	.unmap_page        = vio_dma_iommu_unmap_page,
 	.dma_supported     = vio_dma_iommu_dma_supported,
 	.get_required_mask = vio_dma_get_required_mask,
+	.mapping_error	   = dma_iommu_mapping_error,
 };
 
 /**
-- 
2.11.0


WARNING: multiple messages have this Message-ID (diff)
From: hch@lst.de (Christoph Hellwig)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 21/44] powerpc: implement ->mapping_error
Date: Fri, 16 Jun 2017 20:10:36 +0200	[thread overview]
Message-ID: <20170616181059.19206-22-hch@lst.de> (raw)
In-Reply-To: <20170616181059.19206-1-hch@lst.de>

DMA_ERROR_CODE is going to go away, so don't rely on it.  Instead
define a ->mapping_error method for all IOMMU based dma operation
instances.  The direct ops don't ever return an error and don't
need a ->mapping_error method.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Acked-by: Michael Ellerman <mpe@ellerman.id.au>
---
 arch/powerpc/include/asm/dma-mapping.h |  4 ----
 arch/powerpc/include/asm/iommu.h       |  4 ++++
 arch/powerpc/kernel/dma-iommu.c        |  6 ++++++
 arch/powerpc/kernel/iommu.c            | 28 ++++++++++++++--------------
 arch/powerpc/platforms/cell/iommu.c    |  1 +
 arch/powerpc/platforms/pseries/vio.c   |  3 ++-
 6 files changed, 27 insertions(+), 19 deletions(-)

diff --git a/arch/powerpc/include/asm/dma-mapping.h b/arch/powerpc/include/asm/dma-mapping.h
index 181a095468e4..73aedbe6c977 100644
--- a/arch/powerpc/include/asm/dma-mapping.h
+++ b/arch/powerpc/include/asm/dma-mapping.h
@@ -17,10 +17,6 @@
 #include <asm/io.h>
 #include <asm/swiotlb.h>
 
-#ifdef CONFIG_PPC64
-#define DMA_ERROR_CODE		(~(dma_addr_t)0x0)
-#endif
-
 /* Some dma direct funcs must be visible for use in other dma_ops */
 extern void *__dma_direct_alloc_coherent(struct device *dev, size_t size,
 					 dma_addr_t *dma_handle, gfp_t flag,
diff --git a/arch/powerpc/include/asm/iommu.h b/arch/powerpc/include/asm/iommu.h
index 8a8ce220d7d0..20febe0b7f32 100644
--- a/arch/powerpc/include/asm/iommu.h
+++ b/arch/powerpc/include/asm/iommu.h
@@ -139,6 +139,8 @@ struct scatterlist;
 
 #ifdef CONFIG_PPC64
 
+#define IOMMU_MAPPING_ERROR		(~(dma_addr_t)0x0)
+
 static inline void set_iommu_table_base(struct device *dev,
 					struct iommu_table *base)
 {
@@ -238,6 +240,8 @@ static inline int __init tce_iommu_bus_notifier_init(void)
 }
 #endif /* !CONFIG_IOMMU_API */
 
+int dma_iommu_mapping_error(struct device *dev, dma_addr_t dma_addr);
+
 #else
 
 static inline void *get_iommu_table_base(struct device *dev)
diff --git a/arch/powerpc/kernel/dma-iommu.c b/arch/powerpc/kernel/dma-iommu.c
index fb7cbaa37658..8f7abf9baa63 100644
--- a/arch/powerpc/kernel/dma-iommu.c
+++ b/arch/powerpc/kernel/dma-iommu.c
@@ -105,6 +105,11 @@ static u64 dma_iommu_get_required_mask(struct device *dev)
 	return mask;
 }
 
+int dma_iommu_mapping_error(struct device *dev, dma_addr_t dma_addr)
+{
+	return dma_addr == IOMMU_MAPPING_ERROR;
+}
+
 struct dma_map_ops dma_iommu_ops = {
 	.alloc			= dma_iommu_alloc_coherent,
 	.free			= dma_iommu_free_coherent,
@@ -115,5 +120,6 @@ struct dma_map_ops dma_iommu_ops = {
 	.map_page		= dma_iommu_map_page,
 	.unmap_page		= dma_iommu_unmap_page,
 	.get_required_mask	= dma_iommu_get_required_mask,
+	.mapping_error		= dma_iommu_mapping_error,
 };
 EXPORT_SYMBOL(dma_iommu_ops);
diff --git a/arch/powerpc/kernel/iommu.c b/arch/powerpc/kernel/iommu.c
index f2b724cd9e64..233ca3fe4754 100644
--- a/arch/powerpc/kernel/iommu.c
+++ b/arch/powerpc/kernel/iommu.c
@@ -198,11 +198,11 @@ static unsigned long iommu_range_alloc(struct device *dev,
 	if (unlikely(npages == 0)) {
 		if (printk_ratelimit())
 			WARN_ON(1);
-		return DMA_ERROR_CODE;
+		return IOMMU_MAPPING_ERROR;
 	}
 
 	if (should_fail_iommu(dev))
-		return DMA_ERROR_CODE;
+		return IOMMU_MAPPING_ERROR;
 
 	/*
 	 * We don't need to disable preemption here because any CPU can
@@ -278,7 +278,7 @@ static unsigned long iommu_range_alloc(struct device *dev,
 		} else {
 			/* Give up */
 			spin_unlock_irqrestore(&(pool->lock), flags);
-			return DMA_ERROR_CODE;
+			return IOMMU_MAPPING_ERROR;
 		}
 	}
 
@@ -310,13 +310,13 @@ static dma_addr_t iommu_alloc(struct device *dev, struct iommu_table *tbl,
 			      unsigned long attrs)
 {
 	unsigned long entry;
-	dma_addr_t ret = DMA_ERROR_CODE;
+	dma_addr_t ret = IOMMU_MAPPING_ERROR;
 	int build_fail;
 
 	entry = iommu_range_alloc(dev, tbl, npages, NULL, mask, align_order);
 
-	if (unlikely(entry == DMA_ERROR_CODE))
-		return DMA_ERROR_CODE;
+	if (unlikely(entry == IOMMU_MAPPING_ERROR))
+		return IOMMU_MAPPING_ERROR;
 
 	entry += tbl->it_offset;	/* Offset into real TCE table */
 	ret = entry << tbl->it_page_shift;	/* Set the return dma address */
@@ -328,12 +328,12 @@ static dma_addr_t iommu_alloc(struct device *dev, struct iommu_table *tbl,
 
 	/* tbl->it_ops->set() only returns non-zero for transient errors.
 	 * Clean up the table bitmap in this case and return
-	 * DMA_ERROR_CODE. For all other errors the functionality is
+	 * IOMMU_MAPPING_ERROR. For all other errors the functionality is
 	 * not altered.
 	 */
 	if (unlikely(build_fail)) {
 		__iommu_free(tbl, ret, npages);
-		return DMA_ERROR_CODE;
+		return IOMMU_MAPPING_ERROR;
 	}
 
 	/* Flush/invalidate TLB caches if necessary */
@@ -478,7 +478,7 @@ int ppc_iommu_map_sg(struct device *dev, struct iommu_table *tbl,
 		DBG("  - vaddr: %lx, size: %lx\n", vaddr, slen);
 
 		/* Handle failure */
-		if (unlikely(entry == DMA_ERROR_CODE)) {
+		if (unlikely(entry == IOMMU_MAPPING_ERROR)) {
 			if (!(attrs & DMA_ATTR_NO_WARN) &&
 			    printk_ratelimit())
 				dev_info(dev, "iommu_alloc failed, tbl %p "
@@ -545,7 +545,7 @@ int ppc_iommu_map_sg(struct device *dev, struct iommu_table *tbl,
 	 */
 	if (outcount < incount) {
 		outs = sg_next(outs);
-		outs->dma_address = DMA_ERROR_CODE;
+		outs->dma_address = IOMMU_MAPPING_ERROR;
 		outs->dma_length = 0;
 	}
 
@@ -563,7 +563,7 @@ int ppc_iommu_map_sg(struct device *dev, struct iommu_table *tbl,
 			npages = iommu_num_pages(s->dma_address, s->dma_length,
 						 IOMMU_PAGE_SIZE(tbl));
 			__iommu_free(tbl, vaddr, npages);
-			s->dma_address = DMA_ERROR_CODE;
+			s->dma_address = IOMMU_MAPPING_ERROR;
 			s->dma_length = 0;
 		}
 		if (s == outs)
@@ -777,7 +777,7 @@ dma_addr_t iommu_map_page(struct device *dev, struct iommu_table *tbl,
 			  unsigned long mask, enum dma_data_direction direction,
 			  unsigned long attrs)
 {
-	dma_addr_t dma_handle = DMA_ERROR_CODE;
+	dma_addr_t dma_handle = IOMMU_MAPPING_ERROR;
 	void *vaddr;
 	unsigned long uaddr;
 	unsigned int npages, align;
@@ -797,7 +797,7 @@ dma_addr_t iommu_map_page(struct device *dev, struct iommu_table *tbl,
 		dma_handle = iommu_alloc(dev, tbl, vaddr, npages, direction,
 					 mask >> tbl->it_page_shift, align,
 					 attrs);
-		if (dma_handle == DMA_ERROR_CODE) {
+		if (dma_handle == IOMMU_MAPPING_ERROR) {
 			if (!(attrs & DMA_ATTR_NO_WARN) &&
 			    printk_ratelimit())  {
 				dev_info(dev, "iommu_alloc failed, tbl %p "
@@ -869,7 +869,7 @@ void *iommu_alloc_coherent(struct device *dev, struct iommu_table *tbl,
 	io_order = get_iommu_order(size, tbl);
 	mapping = iommu_alloc(dev, tbl, ret, nio_pages, DMA_BIDIRECTIONAL,
 			      mask >> tbl->it_page_shift, io_order, 0);
-	if (mapping == DMA_ERROR_CODE) {
+	if (mapping == IOMMU_MAPPING_ERROR) {
 		free_pages((unsigned long)ret, order);
 		return NULL;
 	}
diff --git a/arch/powerpc/platforms/cell/iommu.c b/arch/powerpc/platforms/cell/iommu.c
index 71b995bbcae0..948086e33a0c 100644
--- a/arch/powerpc/platforms/cell/iommu.c
+++ b/arch/powerpc/platforms/cell/iommu.c
@@ -660,6 +660,7 @@ static const struct dma_map_ops dma_iommu_fixed_ops = {
 	.set_dma_mask   = dma_set_mask_and_switch,
 	.map_page       = dma_fixed_map_page,
 	.unmap_page     = dma_fixed_unmap_page,
+	.mapping_error	= dma_iommu_mapping_error,
 };
 
 static void cell_dma_dev_setup_fixed(struct device *dev);
diff --git a/arch/powerpc/platforms/pseries/vio.c b/arch/powerpc/platforms/pseries/vio.c
index 28b09fd797ec..e6f43d546827 100644
--- a/arch/powerpc/platforms/pseries/vio.c
+++ b/arch/powerpc/platforms/pseries/vio.c
@@ -519,7 +519,7 @@ static dma_addr_t vio_dma_iommu_map_page(struct device *dev, struct page *page,
 {
 	struct vio_dev *viodev = to_vio_dev(dev);
 	struct iommu_table *tbl;
-	dma_addr_t ret = DMA_ERROR_CODE;
+	dma_addr_t ret = IOMMU_MAPPING_ERROR;
 
 	tbl = get_iommu_table_base(dev);
 	if (vio_cmo_alloc(viodev, roundup(size, IOMMU_PAGE_SIZE(tbl)))) {
@@ -625,6 +625,7 @@ static const struct dma_map_ops vio_dma_mapping_ops = {
 	.unmap_page        = vio_dma_iommu_unmap_page,
 	.dma_supported     = vio_dma_iommu_dma_supported,
 	.get_required_mask = vio_dma_get_required_mask,
+	.mapping_error	   = dma_iommu_mapping_error,
 };
 
 /**
-- 
2.11.0

  parent reply	other threads:[~2017-06-16 18:10 UTC|newest]

Thread overview: 616+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-08 13:25 clean up and modularize arch dma_mapping interface Christoph Hellwig
2017-06-08 13:25 ` Christoph Hellwig
2017-06-08 13:25 ` Christoph Hellwig
2017-06-08 13:25 ` [PATCH 01/44] firmware/ivc: use dma_mapping_error Christoph Hellwig
2017-06-08 13:25 ` [PATCH 02/44] ibmveth: properly unwind on init errors Christoph Hellwig
2017-06-08 13:25 ` Christoph Hellwig
2017-06-08 13:25   ` Christoph Hellwig
2017-06-08 13:25   ` Christoph Hellwig
     [not found]   ` <20170608132609.32662-3-hch-jcswGhMUV9g@public.gmane.org>
2017-06-08 14:21     ` David Miller
2017-06-08 14:21       ` David Miller
2017-06-08 14:21       ` David Miller
2017-06-08 14:21       ` David Miller
2017-06-08 14:21   ` David Miller
2017-06-08 13:25 ` [PATCH 03/44] dmaengine: ioat: don't use DMA_ERROR_CODE Christoph Hellwig
2017-06-08 13:25 ` [PATCH 04/44] drm/exynos: " Christoph Hellwig
2017-06-08 13:25 ` Christoph Hellwig
2017-06-08 13:25   ` Christoph Hellwig
2017-06-08 13:25   ` Christoph Hellwig
2017-06-08 13:25 ` [PATCH 05/44] drm/armada: don't abuse DMA_ERROR_CODE Christoph Hellwig
2017-06-08 13:25 ` [PATCH 06/44] iommu/dma: don't rely on DMA_ERROR_CODE Christoph Hellwig
2017-06-08 13:25 ` [PATCH 07/44] xen-swiotlb: consolidate xen_swiotlb_dma_ops Christoph Hellwig
     [not found] ` <20170608132609.32662-1-hch-jcswGhMUV9g@public.gmane.org>
2017-06-08 13:25   ` [PATCH 01/44] firmware/ivc: use dma_mapping_error Christoph Hellwig
2017-06-08 13:25     ` Christoph Hellwig
2017-06-08 13:25     ` Christoph Hellwig
2017-06-08 13:25     ` Christoph Hellwig
2017-06-13 12:35     ` Thierry Reding
     [not found]     ` <20170608132609.32662-2-hch-jcswGhMUV9g@public.gmane.org>
2017-06-13 12:35       ` Thierry Reding
2017-06-13 12:35         ` Thierry Reding
2017-06-13 12:35         ` Thierry Reding
2017-06-13 12:35         ` Thierry Reding
2017-06-08 13:25   ` [PATCH 03/44] dmaengine: ioat: don't use DMA_ERROR_CODE Christoph Hellwig
2017-06-08 13:25     ` Christoph Hellwig
2017-06-08 13:25     ` Christoph Hellwig
2017-06-08 13:25     ` Christoph Hellwig
2017-06-08 16:32     ` Dave Jiang
2017-06-08 16:32     ` Dave Jiang
2017-06-08 16:32       ` Dave Jiang
2017-06-08 16:32       ` Dave Jiang
2017-06-08 16:32       ` Dave Jiang
2017-06-08 16:32       ` Dave Jiang
2017-06-08 16:32       ` Dave Jiang
2017-06-08 16:32     ` Dave Jiang
2017-06-08 16:32     ` Dave Jiang
     [not found]     ` <20170608132609.32662-4-hch-jcswGhMUV9g@public.gmane.org>
2017-06-08 16:32       ` Dave Jiang
2017-06-08 16:32       ` Dave Jiang
2017-06-08 16:32     ` Dave Jiang
2017-06-14  8:31     ` Vinod Koul
2017-06-14  8:31     ` Vinod Koul
2017-06-14  8:43       ` Vinod Koul
2017-06-14  8:31       ` Vinod Koul
2017-06-14  8:31       ` Vinod Koul
2017-06-08 13:25   ` [PATCH 05/44] drm/armada: don't abuse DMA_ERROR_CODE Christoph Hellwig
2017-06-08 13:25     ` Christoph Hellwig
2017-06-08 13:25     ` Christoph Hellwig
2017-06-08 13:25     ` Christoph Hellwig
2017-06-08 13:25   ` [PATCH 06/44] iommu/dma: don't rely on DMA_ERROR_CODE Christoph Hellwig
2017-06-08 13:25     ` Christoph Hellwig
2017-06-08 13:25     ` Christoph Hellwig
2017-06-08 13:25     ` Christoph Hellwig
     [not found]     ` <20170608132609.32662-7-hch-jcswGhMUV9g@public.gmane.org>
2017-06-08 13:59       ` Robin Murphy
2017-06-08 13:59         ` Robin Murphy
2017-06-08 13:59         ` Robin Murphy
2017-06-08 13:59         ` Robin Murphy
2017-06-16  8:37         ` Christoph Hellwig
     [not found]         ` <0bfb0841-f054-78de-628d-a0955336bcb4-5wv7dgnIgG8@public.gmane.org>
2017-06-16  8:37           ` Christoph Hellwig
2017-06-16  8:37             ` Christoph Hellwig
2017-06-16  8:37             ` Christoph Hellwig
2017-06-16  8:37             ` Christoph Hellwig
2017-06-08 13:59     ` Robin Murphy
2017-06-08 13:25   ` [PATCH 07/44] xen-swiotlb: consolidate xen_swiotlb_dma_ops Christoph Hellwig
2017-06-08 13:25     ` Christoph Hellwig
2017-06-08 13:25     ` Christoph Hellwig
2017-06-08 13:25     ` Christoph Hellwig
2017-06-11  2:36     ` Konrad Rzeszutek Wilk
2017-06-11  2:36     ` Konrad Rzeszutek Wilk
2017-06-11  2:36       ` Konrad Rzeszutek Wilk
2017-06-11  2:36       ` Konrad Rzeszutek Wilk
2017-06-11  2:36       ` Konrad Rzeszutek Wilk
2017-06-08 13:25   ` [PATCH 08/44] xen-swiotlb: implement ->mapping_error Christoph Hellwig
2017-06-08 13:25     ` Christoph Hellwig
2017-06-08 13:25     ` Christoph Hellwig
2017-06-08 13:25     ` Christoph Hellwig
2017-06-11  2:37     ` Konrad Rzeszutek Wilk
2017-06-11  2:37       ` Konrad Rzeszutek Wilk
2017-06-11  2:37       ` Konrad Rzeszutek Wilk
2017-06-11  2:37       ` Konrad Rzeszutek Wilk
2017-06-11  2:37     ` Konrad Rzeszutek Wilk
2017-06-08 13:25   ` [PATCH 09/44] c6x: remove DMA_ERROR_CODE Christoph Hellwig
2017-06-08 13:25     ` Christoph Hellwig
2017-06-08 13:25     ` Christoph Hellwig
2017-06-08 13:25     ` Christoph Hellwig
2017-06-08 13:25   ` [PATCH 10/44] ia64: " Christoph Hellwig
2017-06-08 13:25     ` Christoph Hellwig
2017-06-08 13:25     ` Christoph Hellwig
2017-06-08 13:25     ` Christoph Hellwig
2017-06-08 13:25   ` [PATCH 11/44] m32r: " Christoph Hellwig
2017-06-08 13:25     ` Christoph Hellwig
2017-06-08 13:25     ` Christoph Hellwig
2017-06-08 13:25     ` Christoph Hellwig
2017-06-08 13:25   ` [PATCH 13/44] openrisc: " Christoph Hellwig
2017-06-08 13:25     ` Christoph Hellwig
2017-06-08 13:25     ` Christoph Hellwig
2017-06-08 13:25     ` Christoph Hellwig
2017-06-08 13:25   ` [PATCH 14/44] sh: " Christoph Hellwig
2017-06-08 13:25     ` Christoph Hellwig
2017-06-08 13:25     ` Christoph Hellwig
2017-06-08 13:25     ` Christoph Hellwig
2017-06-08 13:25   ` [PATCH 17/44] hexagon: switch to use ->mapping_error for error reporting Christoph Hellwig
2017-06-08 13:25     ` Christoph Hellwig
2017-06-08 13:25     ` Christoph Hellwig
2017-06-08 13:25     ` Christoph Hellwig
2017-06-16  0:19     ` Richard Kuo
2017-06-16  0:19       ` Richard Kuo
2017-06-16  0:19       ` Richard Kuo
2017-06-16  0:19     ` Richard Kuo
2017-06-08 13:25   ` [PATCH 19/44] s390: implement ->mapping_error Christoph Hellwig
2017-06-08 13:25     ` Christoph Hellwig
2017-06-08 13:25     ` Christoph Hellwig
2017-06-08 13:25     ` Christoph Hellwig
2017-06-08 16:23     ` Gerald Schaefer
2017-06-08 16:23     ` Gerald Schaefer
2017-06-08 16:23       ` Gerald Schaefer
2017-06-08 16:23       ` Gerald Schaefer
2017-06-08 14:21   ` clean up and modularize arch dma_mapping interface David Miller
2017-06-08 14:21     ` David Miller
2017-06-08 14:21     ` David Miller
2017-06-08 14:21     ` David Miller
2017-06-08 13:25 ` [PATCH 08/44] xen-swiotlb: implement ->mapping_error Christoph Hellwig
2017-06-08 13:25 ` [PATCH 09/44] c6x: remove DMA_ERROR_CODE Christoph Hellwig
2017-06-08 13:25 ` [PATCH 10/44] ia64: " Christoph Hellwig
2017-06-08 13:25 ` [PATCH 11/44] m32r: " Christoph Hellwig
2017-06-08 13:25 ` [PATCH 12/44] microblaze: " Christoph Hellwig
2017-06-08 13:25   ` Christoph Hellwig
2017-06-08 13:25   ` Christoph Hellwig
2017-06-08 13:25 ` Christoph Hellwig
2017-06-08 13:25 ` [PATCH 13/44] openrisc: " Christoph Hellwig
2017-06-08 13:25 ` [PATCH 14/44] sh: " Christoph Hellwig
2017-06-08 13:25 ` [PATCH 15/44] xtensa: " Christoph Hellwig
2017-06-08 13:25   ` Christoph Hellwig
2017-06-08 13:25   ` Christoph Hellwig
2017-06-08 13:25 ` Christoph Hellwig
2017-06-08 13:25 ` [PATCH 16/44] arm64: " Christoph Hellwig
2017-06-08 13:25   ` Christoph Hellwig
2017-06-08 13:25   ` Christoph Hellwig
2017-06-08 13:25   ` Christoph Hellwig
2017-06-08 14:02   ` Robin Murphy
2017-06-08 14:02   ` Robin Murphy
2017-06-08 14:02     ` Robin Murphy
2017-06-08 14:02     ` Robin Murphy
2017-06-08 14:02     ` Robin Murphy
2017-06-08 13:25 ` [PATCH 17/44] hexagon: switch to use ->mapping_error for error reporting Christoph Hellwig
2017-06-08 13:25 ` [PATCH 18/44] iommu/amd: implement ->mapping_error Christoph Hellwig
2017-06-08 13:25 ` Christoph Hellwig
2017-06-08 13:25   ` Christoph Hellwig
2017-06-08 13:25   ` Christoph Hellwig
2017-06-08 13:25 ` [PATCH 19/44] s390: " Christoph Hellwig
2017-06-08 13:25 ` [PATCH 20/44] sparc: " Christoph Hellwig
2017-06-08 13:25   ` Christoph Hellwig
2017-06-08 13:25   ` Christoph Hellwig
2017-06-08 13:25   ` Christoph Hellwig
2017-06-08 14:24   ` David Miller
2017-06-08 14:24   ` David Miller
2017-06-08 14:24     ` David Miller
2017-06-08 14:24     ` David Miller
2017-06-08 14:24     ` David Miller
2017-06-08 13:25 ` [PATCH 21/44] powerpc: " Christoph Hellwig
2017-06-08 13:25   ` Christoph Hellwig
2017-06-08 13:25   ` Christoph Hellwig
2017-06-08 13:25   ` Christoph Hellwig
2017-06-14  9:17   ` Michael Ellerman
     [not found]   ` <20170608132609.32662-22-hch-jcswGhMUV9g@public.gmane.org>
2017-06-14  9:17     ` Michael Ellerman
2017-06-14  9:17       ` Michael Ellerman
2017-06-14  9:17       ` Michael Ellerman
2017-06-14  9:17       ` Michael Ellerman
2017-06-14  9:17       ` Michael Ellerman
2017-06-14  9:17       ` Michael Ellerman
2017-06-08 13:25 ` [PATCH 22/44] x86/pci-nommu: " Christoph Hellwig
2017-06-08 13:25   ` Christoph Hellwig
2017-06-08 13:25   ` Christoph Hellwig
2017-06-08 13:25   ` Christoph Hellwig
2017-06-08 13:25 ` [PATCH 23/44] x86/calgary: " Christoph Hellwig
2017-06-08 13:25   ` Christoph Hellwig
2017-06-08 13:25   ` Christoph Hellwig
2017-06-08 13:25 ` Christoph Hellwig
2017-06-08 13:25 ` [PATCH 24/44] x86: remove DMA_ERROR_CODE Christoph Hellwig
2017-06-08 13:25 ` Christoph Hellwig
2017-06-08 13:25   ` Christoph Hellwig
2017-06-08 13:25   ` Christoph Hellwig
2017-06-08 13:25 ` [PATCH 25/44] arm: implement ->mapping_error Christoph Hellwig
2017-06-08 13:25   ` Christoph Hellwig
2017-06-08 13:25   ` Christoph Hellwig
2017-06-08 13:25   ` Christoph Hellwig
2017-06-08 14:43   ` Russell King - ARM Linux
2017-06-08 14:43   ` Russell King - ARM Linux
2017-06-08 14:43     ` Russell King - ARM Linux
2017-06-08 14:43     ` Russell King - ARM Linux
2017-06-16  8:43     ` Christoph Hellwig
2017-06-16  8:43     ` Christoph Hellwig
2017-06-16  8:43       ` Christoph Hellwig
2017-06-16  8:43       ` Christoph Hellwig
2017-06-08 13:25 ` [PATCH 26/44] dma-mapping: remove DMA_ERROR_CODE Christoph Hellwig
2017-06-08 13:25   ` Christoph Hellwig
2017-06-08 13:25   ` Christoph Hellwig
2017-06-08 13:25 ` Christoph Hellwig
2017-06-08 13:25 ` [PATCH 27/44] sparc: remove leon_dma_ops Christoph Hellwig
2017-06-08 13:25   ` Christoph Hellwig
2017-06-08 13:25   ` Christoph Hellwig
2017-06-08 14:22   ` David Miller
2017-06-08 14:22   ` David Miller
2017-06-08 14:22     ` David Miller
2017-06-08 14:22     ` David Miller
2017-06-12  8:06   ` Andreas Larsson
2017-06-12  8:06   ` Andreas Larsson
2017-06-12  8:06     ` Andreas Larsson
2017-06-12  8:06     ` Andreas Larsson
2017-06-16  8:45     ` Christoph Hellwig
2017-06-16  8:45       ` Christoph Hellwig
2017-06-16  8:45       ` Christoph Hellwig
2017-06-16  8:45     ` Christoph Hellwig
2017-06-08 13:25 ` Christoph Hellwig
2017-06-08 13:25 ` [PATCH 28/44] sparc: remove arch specific dma_supported implementations Christoph Hellwig
2017-06-08 13:25 ` Christoph Hellwig
2017-06-08 13:25   ` Christoph Hellwig
2017-06-08 13:25   ` Christoph Hellwig
2017-06-08 14:22   ` Julian Calaby
2017-06-08 14:22     ` Julian Calaby
2017-06-08 14:22     ` Julian Calaby
2017-06-16  8:47     ` Christoph Hellwig
2017-06-16  8:47       ` Christoph Hellwig
2017-06-16  8:47       ` Christoph Hellwig
2017-06-16  8:47     ` Christoph Hellwig
2017-06-08 14:22   ` Julian Calaby
2017-06-08 14:24   ` David Miller
2017-06-08 14:24     ` David Miller
2017-06-08 14:24     ` David Miller
2017-06-08 14:24     ` David Miller
2017-06-08 14:24   ` David Miller
2017-06-08 13:25 ` [PATCH 29/44] dma-noop: remove dma_supported and mapping_error methods Christoph Hellwig
2017-06-08 13:25   ` Christoph Hellwig
2017-06-08 13:25   ` Christoph Hellwig
2017-06-08 13:25   ` Christoph Hellwig
2017-06-08 13:25 ` [PATCH 30/44] dma-virt: " Christoph Hellwig
2017-06-08 13:25 ` Christoph Hellwig
2017-06-08 13:25   ` Christoph Hellwig
2017-06-08 13:25   ` Christoph Hellwig
2017-06-08 13:25 ` [PATCH 31/44] hexagon: remove arch-specific dma_supported implementation Christoph Hellwig
2017-06-08 13:25   ` Christoph Hellwig
2017-06-08 13:25   ` Christoph Hellwig
2017-06-16  0:20   ` Richard Kuo
2017-06-16  0:20   ` Richard Kuo
2017-06-16  0:20     ` Richard Kuo
2017-06-16  0:20     ` Richard Kuo
2017-06-08 13:25 ` Christoph Hellwig
2017-06-08 13:25 ` [PATCH 32/44] hexagon: remove the unused dma_is_consistent prototype Christoph Hellwig
2017-06-08 13:25   ` Christoph Hellwig
2017-06-08 13:25   ` Christoph Hellwig
2017-06-08 13:25   ` Christoph Hellwig
2017-06-08 13:25 ` [PATCH 33/44] openrisc: remove arch-specific dma_supported implementation Christoph Hellwig
2017-06-08 13:25   ` Christoph Hellwig
2017-06-08 13:25   ` Christoph Hellwig
2017-06-08 13:25   ` Christoph Hellwig
2017-06-09 12:20   ` Geert Uytterhoeven
2017-06-09 12:20     ` Geert Uytterhoeven
2017-06-09 12:20     ` Geert Uytterhoeven
2017-06-09 12:20     ` Geert Uytterhoeven
2017-06-09 12:20     ` Geert Uytterhoeven
2017-06-16  8:39     ` Christoph Hellwig
     [not found]     ` <CAMuHMdUPeFJJtz8eJkQEAR-2w9oHt-fXeGHvvKFLfU2A4YyviQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-06-16  8:39       ` Christoph Hellwig
2017-06-16  8:39         ` Christoph Hellwig
2017-06-16  8:39         ` Christoph Hellwig
2017-06-16  8:39         ` Christoph Hellwig
2017-06-16  8:39         ` Christoph Hellwig
2017-06-16  8:39         ` Christoph Hellwig
2017-06-09 12:20   ` Geert Uytterhoeven
2017-06-08 13:25 ` [PATCH 34/44] arm: remove arch specific " Christoph Hellwig
2017-06-08 13:25   ` Christoph Hellwig
2017-06-08 13:25   ` Christoph Hellwig
2017-06-08 13:25   ` Christoph Hellwig
2017-06-08 13:26 ` [PATCH 35/44] x86: " Christoph Hellwig
2017-06-08 13:26   ` Christoph Hellwig
2017-06-08 13:26   ` Christoph Hellwig
2017-06-08 13:26   ` Christoph Hellwig
2017-06-08 13:26 ` [PATCH 36/44] dma-mapping: remove HAVE_ARCH_DMA_SUPPORTED Christoph Hellwig
2017-06-08 13:26 ` Christoph Hellwig
2017-06-08 13:26   ` Christoph Hellwig
2017-06-08 13:26   ` Christoph Hellwig
2017-06-08 13:26 ` [PATCH 37/44] mips/loongson64: implement ->dma_supported instead of ->set_dma_mask Christoph Hellwig
2017-06-08 13:26 ` Christoph Hellwig
2017-06-08 13:26   ` Christoph Hellwig
2017-06-08 13:26   ` Christoph Hellwig
2017-06-08 13:26 ` [PATCH 38/44] arm: " Christoph Hellwig
2017-06-08 13:26 ` Christoph Hellwig
2017-06-08 13:26   ` Christoph Hellwig
2017-06-08 13:26   ` Christoph Hellwig
2017-06-08 13:26 ` [PATCH 39/44] xen-swiotlb: remove xen_swiotlb_set_dma_mask Christoph Hellwig
2017-06-08 13:26   ` Christoph Hellwig
2017-06-08 13:26   ` Christoph Hellwig
2017-06-08 13:26   ` Christoph Hellwig
2017-06-08 13:26 ` [PATCH 40/44] tile: remove dma_supported and mapping_error methods Christoph Hellwig
2017-06-08 13:26   ` Christoph Hellwig
2017-06-08 13:26   ` Christoph Hellwig
2017-06-08 13:26   ` Christoph Hellwig
2017-06-08 13:26 ` [PATCH 41/44] powerpc/cell: clean up fixed mapping dma_ops initialization Christoph Hellwig
2017-06-08 13:26   ` Christoph Hellwig
2017-06-08 13:26   ` Christoph Hellwig
2017-06-08 13:26 ` Christoph Hellwig
2017-06-08 13:26 ` [PATCH 42/44] powerpc/cell: use the dma_supported method for ops switching Christoph Hellwig
2017-06-08 13:26   ` Christoph Hellwig
2017-06-08 13:26   ` Christoph Hellwig
2017-06-08 13:26   ` Christoph Hellwig
2017-06-08 13:26 ` [PATCH 43/44] dma-mapping: remove the set_dma_mask method Christoph Hellwig
2017-06-08 13:26   ` Christoph Hellwig
2017-06-08 13:26   ` Christoph Hellwig
2017-06-08 13:26   ` Christoph Hellwig
2017-06-08 13:26 ` [PATCH 44/44] powerpc: merge __dma_set_mask into dma_set_mask Christoph Hellwig
2017-06-08 13:26   ` Christoph Hellwig
2017-06-08 13:26   ` Christoph Hellwig
2017-06-08 13:26 ` Christoph Hellwig
2017-06-08 14:21 ` clean up and modularize arch dma_mapping interface David Miller
2017-06-16 18:10 ` clean up and modularize arch dma_mapping interface V2 Christoph Hellwig
2017-06-16 18:10   ` Christoph Hellwig
2017-06-16 18:10   ` Christoph Hellwig
2017-06-16 18:10   ` [PATCH 01/44] firmware/ivc: use dma_mapping_error Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10   ` Christoph Hellwig
2017-06-16 18:10   ` [PATCH 02/44] ibmveth: properly unwind on init errors Christoph Hellwig
2017-06-16 18:10   ` Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10   ` [PATCH 03/44] dmaengine: ioat: don't use DMA_ERROR_CODE Christoph Hellwig
2017-06-16 18:10   ` Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 20:40     ` Alexander Duyck
2017-06-16 20:40     ` Alexander Duyck
2017-06-16 20:40       ` Alexander Duyck
2017-06-16 20:40       ` Alexander Duyck
2017-06-18  7:09       ` Christoph Hellwig
2017-06-18  7:09       ` Christoph Hellwig
2017-06-18  7:09         ` Christoph Hellwig
2017-06-18  7:09         ` Christoph Hellwig
2017-06-16 18:10   ` [PATCH 04/44] drm/exynos: " Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10   ` Christoph Hellwig
2017-06-16 18:10   ` [PATCH 05/44] drm/armada: don't abuse DMA_ERROR_CODE Christoph Hellwig
2017-06-16 18:10   ` Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10   ` [PATCH 06/44] iommu/dma: don't rely on DMA_ERROR_CODE Christoph Hellwig
2017-06-16 18:10   ` Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-19 15:12     ` Robin Murphy
     [not found]     ` <20170616181059.19206-7-hch-jcswGhMUV9g@public.gmane.org>
2017-06-19 15:12       ` Robin Murphy
2017-06-19 15:12         ` Robin Murphy
2017-06-19 15:12         ` Robin Murphy
2017-06-19 15:12         ` Robin Murphy
2017-06-16 18:10   ` [PATCH 07/44] xen-swiotlb: consolidate xen_swiotlb_dma_ops Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10   ` Christoph Hellwig
2017-06-16 18:10   ` [PATCH 08/44] xen-swiotlb: implement ->mapping_error Christoph Hellwig
2017-06-16 18:10   ` Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10   ` [PATCH 09/44] c6x: remove DMA_ERROR_CODE Christoph Hellwig
2017-06-16 18:10   ` Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10   ` [PATCH 10/44] ia64: " Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10   ` Christoph Hellwig
2017-06-16 18:10   ` [PATCH 11/44] m32r: " Christoph Hellwig
2017-06-16 18:10   ` Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10   ` [PATCH 12/44] microblaze: " Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10   ` Christoph Hellwig
2017-06-16 18:10   ` [PATCH 13/44] openrisc: " Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10   ` Christoph Hellwig
     [not found]   ` <20170616181059.19206-1-hch-jcswGhMUV9g@public.gmane.org>
2017-06-16 18:10     ` [PATCH 14/44] sh: " Christoph Hellwig
2017-06-16 18:10       ` Christoph Hellwig
2017-06-16 18:10       ` Christoph Hellwig
2017-06-16 18:10       ` Christoph Hellwig
2017-06-16 18:10     ` [PATCH 42/44] powerpc/cell: use the dma_supported method for ops switching Christoph Hellwig
2017-06-16 18:10       ` Christoph Hellwig
2017-06-16 18:10       ` Christoph Hellwig
2017-06-16 18:10       ` Christoph Hellwig
2017-06-17 20:50       ` Benjamin Herrenschmidt
2017-06-17 20:50       ` Benjamin Herrenschmidt
2017-06-17 20:50         ` Benjamin Herrenschmidt
2017-06-17 20:50         ` Benjamin Herrenschmidt
2017-06-17 20:50         ` Benjamin Herrenschmidt
2017-06-17 20:50         ` Benjamin Herrenschmidt
2017-06-18  7:13         ` Christoph Hellwig
2017-06-18  7:13           ` Christoph Hellwig
2017-06-18  7:13           ` Christoph Hellwig
2017-06-18  9:54           ` Benjamin Herrenschmidt
2017-06-18  9:54             ` Benjamin Herrenschmidt
2017-06-18  9:54             ` Benjamin Herrenschmidt
2017-06-18  9:54             ` Benjamin Herrenschmidt
2017-06-18  9:54           ` Benjamin Herrenschmidt
2017-06-18  7:13         ` Christoph Hellwig
2017-06-16 18:10   ` [PATCH 14/44] sh: remove DMA_ERROR_CODE Christoph Hellwig
2017-06-16 18:10   ` [PATCH 15/44] xtensa: " Christoph Hellwig
2017-06-16 18:10   ` Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10   ` [PATCH 16/44] arm64: " Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10   ` Christoph Hellwig
2017-06-16 18:10   ` [PATCH 17/44] hexagon: switch to use ->mapping_error for error reporting Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10   ` Christoph Hellwig
2017-06-16 18:10   ` [PATCH 18/44] iommu/amd: implement ->mapping_error Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10   ` [PATCH 19/44] s390: " Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10   ` Christoph Hellwig
2017-06-16 18:10   ` [PATCH 20/44] sparc: " Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10   ` [PATCH 21/44] powerpc: " Christoph Hellwig
2017-06-16 18:10   ` Christoph Hellwig [this message]
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10   ` [PATCH 22/44] x86/pci-nommu: " Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10   ` [PATCH 23/44] x86/calgary: " Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10   ` [PATCH 24/44] x86: remove DMA_ERROR_CODE Christoph Hellwig
2017-06-16 18:10   ` Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10   ` [PATCH 25/44] arm: implement ->mapping_error Christoph Hellwig
2017-06-16 18:10   ` Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10   ` [PATCH 26/44] dma-mapping: remove DMA_ERROR_CODE Christoph Hellwig
2017-06-16 18:10   ` Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10   ` [PATCH 27/44] sparc: remove leon_dma_ops Christoph Hellwig
2017-06-16 18:10   ` Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10   ` [PATCH 28/44] sparc: remove arch specific dma_supported implementations Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10   ` Christoph Hellwig
2017-06-16 18:10   ` [PATCH 29/44] dma-noop: remove dma_supported and mapping_error methods Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10   ` [PATCH 30/44] dma-virt: " Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10   ` [PATCH 31/44] hexagon: remove arch-specific dma_supported implementation Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10   ` Christoph Hellwig
2017-06-16 18:10   ` [PATCH 32/44] hexagon: remove the unused dma_is_consistent prototype Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10   ` Christoph Hellwig
2017-06-16 18:10   ` [PATCH 33/44] openrisc: remove arch-specific dma_supported implementation Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10   ` Christoph Hellwig
2017-06-16 18:10   ` [PATCH 34/44] arm: remove arch specific " Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10   ` [PATCH 35/44] x86: " Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10   ` [PATCH 36/44] dma-mapping: remove HAVE_ARCH_DMA_SUPPORTED Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10   ` [PATCH 37/44] mips/loongson64: implement ->dma_supported instead of ->set_dma_mask Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10   ` [PATCH 38/44] arm: " Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10   ` [PATCH 39/44] xen-swiotlb: remove xen_swiotlb_set_dma_mask Christoph Hellwig
2017-06-16 18:10   ` Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10   ` [PATCH 40/44] tile: remove dma_supported and mapping_error methods Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10   ` [PATCH 41/44] powerpc/cell: clean up fixed mapping dma_ops initialization Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10   ` Christoph Hellwig
2017-06-16 18:10   ` [PATCH 42/44] powerpc/cell: use the dma_supported method for ops switching Christoph Hellwig
2017-06-16 18:10   ` [PATCH 43/44] dma-mapping: remove the set_dma_mask method Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10   ` [PATCH 44/44] powerpc: merge __dma_set_mask into dma_set_mask Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10     ` Christoph Hellwig
2017-06-16 18:10   ` Christoph Hellwig
2017-06-20 12:41   ` new dma-mapping tree, was Re: clean up and modularize arch dma_mapping interface V2 Christoph Hellwig
2017-06-20 12:41     ` Christoph Hellwig
2017-06-20 12:41     ` Christoph Hellwig
2017-06-20 12:41     ` Christoph Hellwig
2017-06-20 12:41     ` Christoph Hellwig
2017-06-20 12:41     ` Christoph Hellwig
2017-06-20 13:04     ` Stephen Rothwell
2017-06-20 13:04       ` Stephen Rothwell
2017-06-20 13:04       ` Stephen Rothwell
2017-06-20 13:16       ` Christoph Hellwig
2017-06-20 13:16         ` Christoph Hellwig
2017-06-20 13:16         ` Christoph Hellwig
2017-06-21 13:32         ` Marek Szyprowski
2017-06-21 13:32         ` Marek Szyprowski
2017-06-21 13:32           ` Marek Szyprowski
2017-06-21 13:32           ` Marek Szyprowski
2017-06-21 13:32           ` Marek Szyprowski
     [not found]           ` <5425587c-73e8-e24a-86a3-8a65a7791dcb-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2017-06-22 21:53             ` Stephen Rothwell
2017-06-22 21:53               ` Stephen Rothwell
2017-06-22 21:53               ` Stephen Rothwell
2017-06-22 21:53               ` Stephen Rothwell
2017-06-22 21:53           ` Stephen Rothwell
2017-06-26  7:03           ` Christoph Hellwig
2017-06-26  7:03           ` Christoph Hellwig
2017-06-26  7:03             ` Christoph Hellwig
2017-06-26  7:03             ` Christoph Hellwig
2017-06-26  7:03             ` Christoph Hellwig
2017-06-20 13:16       ` Christoph Hellwig
2017-06-20 13:04     ` Stephen Rothwell
2017-06-20 13:14     ` Robin Murphy
2017-06-20 13:14     ` Robin Murphy
2017-06-20 13:14       ` Robin Murphy
2017-06-20 13:14       ` Robin Murphy
2017-06-20 13:14       ` Robin Murphy
2017-06-20 13:15       ` Christoph Hellwig
2017-06-20 13:15       ` Christoph Hellwig
2017-06-20 13:15         ` Christoph Hellwig
2017-06-20 13:15         ` Christoph Hellwig
2017-06-20 13:15         ` Christoph Hellwig
2017-06-20 12:41   ` Christoph Hellwig
2017-06-21 19:24   ` tndave
2017-06-21 19:24     ` tndave
2017-06-21 19:24     ` tndave
2017-06-24  7:18     ` Christoph Hellwig
     [not found]     ` <162d7932-5766-4c29-5471-07d1b699190a-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
2017-06-24  7:18       ` Christoph Hellwig
2017-06-24  7:18         ` Christoph Hellwig
2017-06-24  7:18         ` Christoph Hellwig
2017-06-24  7:18         ` Christoph Hellwig
2017-06-24 15:36         ` Benjamin Herrenschmidt
2017-06-24 15:36         ` Benjamin Herrenschmidt
2017-06-24 15:36           ` Benjamin Herrenschmidt
2017-06-24 15:36           ` Benjamin Herrenschmidt
2017-06-24 15:36           ` Benjamin Herrenschmidt
     [not found]           ` <1498318616.31581.87.camel-XVmvHMARGAS8U2dJNN8I7kB+6BGkLq7r@public.gmane.org>
2017-06-26  9:47             ` Christoph Hellwig
2017-06-26  9:47               ` Christoph Hellwig
2017-06-26  9:47               ` Christoph Hellwig
2017-06-26  9:47               ` Christoph Hellwig
     [not found]               ` <20170626094739.GB13981-jcswGhMUV9g@public.gmane.org>
2017-06-26 22:06                 ` tndave
2017-06-26 22:06                   ` tndave
2017-06-26 22:06                   ` tndave
2017-06-26 22:06                   ` tndave
2017-06-26 22:06               ` tndave
2017-06-26  9:47           ` Christoph Hellwig
2017-06-21 19:24   ` tndave
2017-06-20  9:19 ` clean up and modularize arch dma_mapping interface Daniel Vetter
2017-06-20  9:19   ` Daniel Vetter
2017-06-20  9:19   ` Daniel Vetter
2017-06-20  9:19   ` Daniel Vetter
     [not found]   ` <20170620091902.2dldmf43vhazq6yh-dv86pmgwkMBes7Z6vYuT8azUEOm+Xw19@public.gmane.org>
2017-06-20 13:17     ` Christoph Hellwig
2017-06-20 13:17       ` Christoph Hellwig
2017-06-20 13:17       ` Christoph Hellwig
2017-06-20 13:17       ` Christoph Hellwig
2017-06-20 13:17   ` Christoph Hellwig
2017-06-20  9:19 ` Daniel Vetter

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170616181059.19206-22-hch@lst.de \
    --to=hch@lst.de \
    --cc=dmaengine@vger.kernel.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=iommu@lists.linux-foundation.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-c6x-dev@linux-c6x.org \
    --cc=linux-hexagon@vger.kernel.org \
    --cc=linux-ia64@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mips@linux-mips.org \
    --cc=linux-s390@vger.kernel.org \
    --cc=linux-samsung-soc@vger.kernel.org \
    --cc=linux-sh@vger.kernel.org \
    --cc=linux-tegra@vger.kernel.org \
    --cc=linux-xtensa@linux-xtensa.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=netdev@vger.kernel.org \
    --cc=openrisc@lists.librecores.org \
    --cc=sparclinux@vger.kernel.org \
    --cc=x86@kernel.org \
    --cc=xen-devel@lists.xenproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.