All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christoph Hellwig <hch@lst.de>
To: iommu@lists.linux-foundation.org
Cc: Linus Torvalds <torvalds@linux-foundation.org>,
	Jon Mason <jdmason@kudzu.us>, Joerg Roedel <joro@8bytes.org>,
	David Woodhouse <dwmw2@infradead.org>,
	Marek Szyprowski <m.szyprowski@samsung.com>,
	Robin Murphy <robin.murphy@arm.com>,
	x86@kernel.org, linux-alpha@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org, linux-ia64@vger.kernel.org,
	linux-parisc@vger.kernel.org, xen-devel@lists.xenproject.org,
	linux-arch@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [PATCH 20/23] iommu/dma-iommu: remove the mapping_error dma_map_ops method
Date: Fri, 30 Nov 2018 14:22:28 +0100	[thread overview]
Message-ID: <20181130132231.16512-21-hch@lst.de> (raw)
In-Reply-To: <20181130132231.16512-1-hch@lst.de>

Return DMA_MAPPING_ERROR instead of 0 on a dma mapping failure and let
the core dma-mapping code handle the rest.

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 arch/arm64/mm/dma-mapping.c |  7 +++----
 drivers/iommu/dma-iommu.c   | 23 ++++++++---------------
 include/linux/dma-iommu.h   |  1 -
 3 files changed, 11 insertions(+), 20 deletions(-)

diff --git a/arch/arm64/mm/dma-mapping.c b/arch/arm64/mm/dma-mapping.c
index fdc26ea5036c..4cc70029cf8d 100644
--- a/arch/arm64/mm/dma-mapping.c
+++ b/arch/arm64/mm/dma-mapping.c
@@ -397,7 +397,7 @@ static void *__iommu_alloc_attrs(struct device *dev, size_t size,
 			return NULL;
 
 		*handle = iommu_dma_map_page(dev, page, 0, iosize, ioprot);
-		if (iommu_dma_mapping_error(dev, *handle)) {
+		if (*handle == DMA_MAPPING_ERROR) {
 			if (coherent)
 				__free_pages(page, get_order(size));
 			else
@@ -414,7 +414,7 @@ static void *__iommu_alloc_attrs(struct device *dev, size_t size,
 			return NULL;
 
 		*handle = iommu_dma_map_page(dev, page, 0, iosize, ioprot);
-		if (iommu_dma_mapping_error(dev, *handle)) {
+		if (*handle == DMA_MAPPING_ERROR) {
 			dma_release_from_contiguous(dev, page,
 						    size >> PAGE_SHIFT);
 			return NULL;
@@ -574,7 +574,7 @@ static dma_addr_t __iommu_map_page(struct device *dev, struct page *page,
 	dma_addr_t dev_addr = iommu_dma_map_page(dev, page, offset, size, prot);
 
 	if (!coherent && !(attrs & DMA_ATTR_SKIP_CPU_SYNC) &&
-	    !iommu_dma_mapping_error(dev, dev_addr))
+	    dev_addr != DMA_MAPPING_ERROR)
 		__dma_map_area(page_address(page) + offset, size, dir);
 
 	return dev_addr;
@@ -657,7 +657,6 @@ static const struct dma_map_ops iommu_dma_ops = {
 	.sync_sg_for_device = __iommu_sync_sg_for_device,
 	.map_resource = iommu_dma_map_resource,
 	.unmap_resource = iommu_dma_unmap_resource,
-	.mapping_error = iommu_dma_mapping_error,
 };
 
 static int __init __iommu_dma_init(void)
diff --git a/drivers/iommu/dma-iommu.c b/drivers/iommu/dma-iommu.c
index d1b04753b204..60c7e9e9901e 100644
--- a/drivers/iommu/dma-iommu.c
+++ b/drivers/iommu/dma-iommu.c
@@ -32,8 +32,6 @@
 #include <linux/scatterlist.h>
 #include <linux/vmalloc.h>
 
-#define IOMMU_MAPPING_ERROR	0
-
 struct iommu_dma_msi_page {
 	struct list_head	list;
 	dma_addr_t		iova;
@@ -523,7 +521,7 @@ void iommu_dma_free(struct device *dev, struct page **pages, size_t size,
 {
 	__iommu_dma_unmap(iommu_get_dma_domain(dev), *handle, size);
 	__iommu_dma_free_pages(pages, PAGE_ALIGN(size) >> PAGE_SHIFT);
-	*handle = IOMMU_MAPPING_ERROR;
+	*handle = DMA_MAPPING_ERROR;
 }
 
 /**
@@ -556,7 +554,7 @@ struct page **iommu_dma_alloc(struct device *dev, size_t size, gfp_t gfp,
 	dma_addr_t iova;
 	unsigned int count, min_size, alloc_sizes = domain->pgsize_bitmap;
 
-	*handle = IOMMU_MAPPING_ERROR;
+	*handle = DMA_MAPPING_ERROR;
 
 	min_size = alloc_sizes & -alloc_sizes;
 	if (min_size < PAGE_SIZE) {
@@ -649,11 +647,11 @@ static dma_addr_t __iommu_dma_map(struct device *dev, phys_addr_t phys,
 
 	iova = iommu_dma_alloc_iova(domain, size, dma_get_mask(dev), dev);
 	if (!iova)
-		return IOMMU_MAPPING_ERROR;
+		return DMA_MAPPING_ERROR;
 
 	if (iommu_map(domain, iova, phys - iova_off, size, prot)) {
 		iommu_dma_free_iova(cookie, iova, size);
-		return IOMMU_MAPPING_ERROR;
+		return DMA_MAPPING_ERROR;
 	}
 	return iova + iova_off;
 }
@@ -694,7 +692,7 @@ static int __finalise_sg(struct device *dev, struct scatterlist *sg, int nents,
 
 		s->offset += s_iova_off;
 		s->length = s_length;
-		sg_dma_address(s) = IOMMU_MAPPING_ERROR;
+		sg_dma_address(s) = DMA_MAPPING_ERROR;
 		sg_dma_len(s) = 0;
 
 		/*
@@ -737,11 +735,11 @@ static void __invalidate_sg(struct scatterlist *sg, int nents)
 	int i;
 
 	for_each_sg(sg, s, nents, i) {
-		if (sg_dma_address(s) != IOMMU_MAPPING_ERROR)
+		if (sg_dma_address(s) != DMA_MAPPING_ERROR)
 			s->offset += sg_dma_address(s);
 		if (sg_dma_len(s))
 			s->length = sg_dma_len(s);
-		sg_dma_address(s) = IOMMU_MAPPING_ERROR;
+		sg_dma_address(s) = DMA_MAPPING_ERROR;
 		sg_dma_len(s) = 0;
 	}
 }
@@ -858,11 +856,6 @@ void iommu_dma_unmap_resource(struct device *dev, dma_addr_t handle,
 	__iommu_dma_unmap(iommu_get_dma_domain(dev), handle, size);
 }
 
-int iommu_dma_mapping_error(struct device *dev, dma_addr_t dma_addr)
-{
-	return dma_addr == IOMMU_MAPPING_ERROR;
-}
-
 static struct iommu_dma_msi_page *iommu_dma_get_msi_page(struct device *dev,
 		phys_addr_t msi_addr, struct iommu_domain *domain)
 {
@@ -882,7 +875,7 @@ static struct iommu_dma_msi_page *iommu_dma_get_msi_page(struct device *dev,
 		return NULL;
 
 	iova = __iommu_dma_map(dev, msi_addr, size, prot, domain);
-	if (iommu_dma_mapping_error(dev, iova))
+	if (iova == DMA_MAPPING_ERROR)
 		goto out_free_page;
 
 	INIT_LIST_HEAD(&msi_page->list);
diff --git a/include/linux/dma-iommu.h b/include/linux/dma-iommu.h
index e8ca5e654277..e760dc5d1fa8 100644
--- a/include/linux/dma-iommu.h
+++ b/include/linux/dma-iommu.h
@@ -69,7 +69,6 @@ dma_addr_t iommu_dma_map_resource(struct device *dev, phys_addr_t phys,
 		size_t size, enum dma_data_direction dir, unsigned long attrs);
 void iommu_dma_unmap_resource(struct device *dev, dma_addr_t handle,
 		size_t size, enum dma_data_direction dir, unsigned long attrs);
-int iommu_dma_mapping_error(struct device *dev, dma_addr_t dma_addr);
 
 /* The DMA API isn't _quite_ the whole story, though... */
 void iommu_dma_map_msi_msg(int irq, struct msi_msg *msg);
-- 
2.19.1


WARNING: multiple messages have this Message-ID (diff)
From: Christoph Hellwig <hch@lst.de>
To: iommu@lists.linux-foundation.org
Cc: linux-arch@vger.kernel.org, linux-alpha@vger.kernel.org,
	linux-ia64@vger.kernel.org, linux-parisc@vger.kernel.org,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Joerg Roedel <joro@8bytes.org>,
	x86@kernel.org, Robin Murphy <robin.murphy@arm.com>,
	linux-kernel@vger.kernel.org, Jon Mason <jdmason@kudzu.us>,
	xen-devel@lists.xenproject.org,
	David Woodhouse <dwmw2@infradead.org>,
	linux-arm-kernel@lists.infradead.org,
	Marek Szyprowski <m.szyprowski@samsung.com>
Subject: [PATCH 20/23] iommu/dma-iommu: remove the mapping_error dma_map_ops method
Date: Fri, 30 Nov 2018 14:22:28 +0100	[thread overview]
Message-ID: <20181130132231.16512-21-hch@lst.de> (raw)
In-Reply-To: <20181130132231.16512-1-hch@lst.de>

Return DMA_MAPPING_ERROR instead of 0 on a dma mapping failure and let
the core dma-mapping code handle the rest.

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 arch/arm64/mm/dma-mapping.c |  7 +++----
 drivers/iommu/dma-iommu.c   | 23 ++++++++---------------
 include/linux/dma-iommu.h   |  1 -
 3 files changed, 11 insertions(+), 20 deletions(-)

diff --git a/arch/arm64/mm/dma-mapping.c b/arch/arm64/mm/dma-mapping.c
index fdc26ea5036c..4cc70029cf8d 100644
--- a/arch/arm64/mm/dma-mapping.c
+++ b/arch/arm64/mm/dma-mapping.c
@@ -397,7 +397,7 @@ static void *__iommu_alloc_attrs(struct device *dev, size_t size,
 			return NULL;
 
 		*handle = iommu_dma_map_page(dev, page, 0, iosize, ioprot);
-		if (iommu_dma_mapping_error(dev, *handle)) {
+		if (*handle == DMA_MAPPING_ERROR) {
 			if (coherent)
 				__free_pages(page, get_order(size));
 			else
@@ -414,7 +414,7 @@ static void *__iommu_alloc_attrs(struct device *dev, size_t size,
 			return NULL;
 
 		*handle = iommu_dma_map_page(dev, page, 0, iosize, ioprot);
-		if (iommu_dma_mapping_error(dev, *handle)) {
+		if (*handle == DMA_MAPPING_ERROR) {
 			dma_release_from_contiguous(dev, page,
 						    size >> PAGE_SHIFT);
 			return NULL;
@@ -574,7 +574,7 @@ static dma_addr_t __iommu_map_page(struct device *dev, struct page *page,
 	dma_addr_t dev_addr = iommu_dma_map_page(dev, page, offset, size, prot);
 
 	if (!coherent && !(attrs & DMA_ATTR_SKIP_CPU_SYNC) &&
-	    !iommu_dma_mapping_error(dev, dev_addr))
+	    dev_addr != DMA_MAPPING_ERROR)
 		__dma_map_area(page_address(page) + offset, size, dir);
 
 	return dev_addr;
@@ -657,7 +657,6 @@ static const struct dma_map_ops iommu_dma_ops = {
 	.sync_sg_for_device = __iommu_sync_sg_for_device,
 	.map_resource = iommu_dma_map_resource,
 	.unmap_resource = iommu_dma_unmap_resource,
-	.mapping_error = iommu_dma_mapping_error,
 };
 
 static int __init __iommu_dma_init(void)
diff --git a/drivers/iommu/dma-iommu.c b/drivers/iommu/dma-iommu.c
index d1b04753b204..60c7e9e9901e 100644
--- a/drivers/iommu/dma-iommu.c
+++ b/drivers/iommu/dma-iommu.c
@@ -32,8 +32,6 @@
 #include <linux/scatterlist.h>
 #include <linux/vmalloc.h>
 
-#define IOMMU_MAPPING_ERROR	0
-
 struct iommu_dma_msi_page {
 	struct list_head	list;
 	dma_addr_t		iova;
@@ -523,7 +521,7 @@ void iommu_dma_free(struct device *dev, struct page **pages, size_t size,
 {
 	__iommu_dma_unmap(iommu_get_dma_domain(dev), *handle, size);
 	__iommu_dma_free_pages(pages, PAGE_ALIGN(size) >> PAGE_SHIFT);
-	*handle = IOMMU_MAPPING_ERROR;
+	*handle = DMA_MAPPING_ERROR;
 }
 
 /**
@@ -556,7 +554,7 @@ struct page **iommu_dma_alloc(struct device *dev, size_t size, gfp_t gfp,
 	dma_addr_t iova;
 	unsigned int count, min_size, alloc_sizes = domain->pgsize_bitmap;
 
-	*handle = IOMMU_MAPPING_ERROR;
+	*handle = DMA_MAPPING_ERROR;
 
 	min_size = alloc_sizes & -alloc_sizes;
 	if (min_size < PAGE_SIZE) {
@@ -649,11 +647,11 @@ static dma_addr_t __iommu_dma_map(struct device *dev, phys_addr_t phys,
 
 	iova = iommu_dma_alloc_iova(domain, size, dma_get_mask(dev), dev);
 	if (!iova)
-		return IOMMU_MAPPING_ERROR;
+		return DMA_MAPPING_ERROR;
 
 	if (iommu_map(domain, iova, phys - iova_off, size, prot)) {
 		iommu_dma_free_iova(cookie, iova, size);
-		return IOMMU_MAPPING_ERROR;
+		return DMA_MAPPING_ERROR;
 	}
 	return iova + iova_off;
 }
@@ -694,7 +692,7 @@ static int __finalise_sg(struct device *dev, struct scatterlist *sg, int nents,
 
 		s->offset += s_iova_off;
 		s->length = s_length;
-		sg_dma_address(s) = IOMMU_MAPPING_ERROR;
+		sg_dma_address(s) = DMA_MAPPING_ERROR;
 		sg_dma_len(s) = 0;
 
 		/*
@@ -737,11 +735,11 @@ static void __invalidate_sg(struct scatterlist *sg, int nents)
 	int i;
 
 	for_each_sg(sg, s, nents, i) {
-		if (sg_dma_address(s) != IOMMU_MAPPING_ERROR)
+		if (sg_dma_address(s) != DMA_MAPPING_ERROR)
 			s->offset += sg_dma_address(s);
 		if (sg_dma_len(s))
 			s->length = sg_dma_len(s);
-		sg_dma_address(s) = IOMMU_MAPPING_ERROR;
+		sg_dma_address(s) = DMA_MAPPING_ERROR;
 		sg_dma_len(s) = 0;
 	}
 }
@@ -858,11 +856,6 @@ void iommu_dma_unmap_resource(struct device *dev, dma_addr_t handle,
 	__iommu_dma_unmap(iommu_get_dma_domain(dev), handle, size);
 }
 
-int iommu_dma_mapping_error(struct device *dev, dma_addr_t dma_addr)
-{
-	return dma_addr == IOMMU_MAPPING_ERROR;
-}
-
 static struct iommu_dma_msi_page *iommu_dma_get_msi_page(struct device *dev,
 		phys_addr_t msi_addr, struct iommu_domain *domain)
 {
@@ -882,7 +875,7 @@ static struct iommu_dma_msi_page *iommu_dma_get_msi_page(struct device *dev,
 		return NULL;
 
 	iova = __iommu_dma_map(dev, msi_addr, size, prot, domain);
-	if (iommu_dma_mapping_error(dev, iova))
+	if (iova == DMA_MAPPING_ERROR)
 		goto out_free_page;
 
 	INIT_LIST_HEAD(&msi_page->list);
diff --git a/include/linux/dma-iommu.h b/include/linux/dma-iommu.h
index e8ca5e654277..e760dc5d1fa8 100644
--- a/include/linux/dma-iommu.h
+++ b/include/linux/dma-iommu.h
@@ -69,7 +69,6 @@ dma_addr_t iommu_dma_map_resource(struct device *dev, phys_addr_t phys,
 		size_t size, enum dma_data_direction dir, unsigned long attrs);
 void iommu_dma_unmap_resource(struct device *dev, dma_addr_t handle,
 		size_t size, enum dma_data_direction dir, unsigned long attrs);
-int iommu_dma_mapping_error(struct device *dev, dma_addr_t dma_addr);
 
 /* The DMA API isn't _quite_ the whole story, though... */
 void iommu_dma_map_msi_msg(int irq, struct msi_msg *msg);
-- 
2.19.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

WARNING: multiple messages have this Message-ID (diff)
From: Christoph Hellwig <hch@lst.de>
To: iommu@lists.linux-foundation.org
Cc: Linus Torvalds <torvalds@linux-foundation.org>,
	Jon Mason <jdmason@kudzu.us>, Joerg Roedel <joro@8bytes.org>,
	David Woodhouse <dwmw2@infradead.org>,
	Marek Szyprowski <m.szyprowski@samsung.com>,
	Robin Murphy <robin.murphy@arm.com>,
	x86@kernel.org, linux-alpha@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org, linux-ia64@vger.kernel.org,
	linux-parisc@vger.kernel.org, xen-devel@lists.xenproject.org,
	linux-arch@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [PATCH 20/23] iommu/dma-iommu: remove the mapping_error dma_map_ops method
Date: Fri, 30 Nov 2018 13:22:28 +0000	[thread overview]
Message-ID: <20181130132231.16512-21-hch@lst.de> (raw)
In-Reply-To: <20181130132231.16512-1-hch@lst.de>

Return DMA_MAPPING_ERROR instead of 0 on a dma mapping failure and let
the core dma-mapping code handle the rest.

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 arch/arm64/mm/dma-mapping.c |  7 +++----
 drivers/iommu/dma-iommu.c   | 23 ++++++++---------------
 include/linux/dma-iommu.h   |  1 -
 3 files changed, 11 insertions(+), 20 deletions(-)

diff --git a/arch/arm64/mm/dma-mapping.c b/arch/arm64/mm/dma-mapping.c
index fdc26ea5036c..4cc70029cf8d 100644
--- a/arch/arm64/mm/dma-mapping.c
+++ b/arch/arm64/mm/dma-mapping.c
@@ -397,7 +397,7 @@ static void *__iommu_alloc_attrs(struct device *dev, size_t size,
 			return NULL;
 
 		*handle = iommu_dma_map_page(dev, page, 0, iosize, ioprot);
-		if (iommu_dma_mapping_error(dev, *handle)) {
+		if (*handle = DMA_MAPPING_ERROR) {
 			if (coherent)
 				__free_pages(page, get_order(size));
 			else
@@ -414,7 +414,7 @@ static void *__iommu_alloc_attrs(struct device *dev, size_t size,
 			return NULL;
 
 		*handle = iommu_dma_map_page(dev, page, 0, iosize, ioprot);
-		if (iommu_dma_mapping_error(dev, *handle)) {
+		if (*handle = DMA_MAPPING_ERROR) {
 			dma_release_from_contiguous(dev, page,
 						    size >> PAGE_SHIFT);
 			return NULL;
@@ -574,7 +574,7 @@ static dma_addr_t __iommu_map_page(struct device *dev, struct page *page,
 	dma_addr_t dev_addr = iommu_dma_map_page(dev, page, offset, size, prot);
 
 	if (!coherent && !(attrs & DMA_ATTR_SKIP_CPU_SYNC) &&
-	    !iommu_dma_mapping_error(dev, dev_addr))
+	    dev_addr != DMA_MAPPING_ERROR)
 		__dma_map_area(page_address(page) + offset, size, dir);
 
 	return dev_addr;
@@ -657,7 +657,6 @@ static const struct dma_map_ops iommu_dma_ops = {
 	.sync_sg_for_device = __iommu_sync_sg_for_device,
 	.map_resource = iommu_dma_map_resource,
 	.unmap_resource = iommu_dma_unmap_resource,
-	.mapping_error = iommu_dma_mapping_error,
 };
 
 static int __init __iommu_dma_init(void)
diff --git a/drivers/iommu/dma-iommu.c b/drivers/iommu/dma-iommu.c
index d1b04753b204..60c7e9e9901e 100644
--- a/drivers/iommu/dma-iommu.c
+++ b/drivers/iommu/dma-iommu.c
@@ -32,8 +32,6 @@
 #include <linux/scatterlist.h>
 #include <linux/vmalloc.h>
 
-#define IOMMU_MAPPING_ERROR	0
-
 struct iommu_dma_msi_page {
 	struct list_head	list;
 	dma_addr_t		iova;
@@ -523,7 +521,7 @@ void iommu_dma_free(struct device *dev, struct page **pages, size_t size,
 {
 	__iommu_dma_unmap(iommu_get_dma_domain(dev), *handle, size);
 	__iommu_dma_free_pages(pages, PAGE_ALIGN(size) >> PAGE_SHIFT);
-	*handle = IOMMU_MAPPING_ERROR;
+	*handle = DMA_MAPPING_ERROR;
 }
 
 /**
@@ -556,7 +554,7 @@ struct page **iommu_dma_alloc(struct device *dev, size_t size, gfp_t gfp,
 	dma_addr_t iova;
 	unsigned int count, min_size, alloc_sizes = domain->pgsize_bitmap;
 
-	*handle = IOMMU_MAPPING_ERROR;
+	*handle = DMA_MAPPING_ERROR;
 
 	min_size = alloc_sizes & -alloc_sizes;
 	if (min_size < PAGE_SIZE) {
@@ -649,11 +647,11 @@ static dma_addr_t __iommu_dma_map(struct device *dev, phys_addr_t phys,
 
 	iova = iommu_dma_alloc_iova(domain, size, dma_get_mask(dev), dev);
 	if (!iova)
-		return IOMMU_MAPPING_ERROR;
+		return DMA_MAPPING_ERROR;
 
 	if (iommu_map(domain, iova, phys - iova_off, size, prot)) {
 		iommu_dma_free_iova(cookie, iova, size);
-		return IOMMU_MAPPING_ERROR;
+		return DMA_MAPPING_ERROR;
 	}
 	return iova + iova_off;
 }
@@ -694,7 +692,7 @@ static int __finalise_sg(struct device *dev, struct scatterlist *sg, int nents,
 
 		s->offset += s_iova_off;
 		s->length = s_length;
-		sg_dma_address(s) = IOMMU_MAPPING_ERROR;
+		sg_dma_address(s) = DMA_MAPPING_ERROR;
 		sg_dma_len(s) = 0;
 
 		/*
@@ -737,11 +735,11 @@ static void __invalidate_sg(struct scatterlist *sg, int nents)
 	int i;
 
 	for_each_sg(sg, s, nents, i) {
-		if (sg_dma_address(s) != IOMMU_MAPPING_ERROR)
+		if (sg_dma_address(s) != DMA_MAPPING_ERROR)
 			s->offset += sg_dma_address(s);
 		if (sg_dma_len(s))
 			s->length = sg_dma_len(s);
-		sg_dma_address(s) = IOMMU_MAPPING_ERROR;
+		sg_dma_address(s) = DMA_MAPPING_ERROR;
 		sg_dma_len(s) = 0;
 	}
 }
@@ -858,11 +856,6 @@ void iommu_dma_unmap_resource(struct device *dev, dma_addr_t handle,
 	__iommu_dma_unmap(iommu_get_dma_domain(dev), handle, size);
 }
 
-int iommu_dma_mapping_error(struct device *dev, dma_addr_t dma_addr)
-{
-	return dma_addr = IOMMU_MAPPING_ERROR;
-}
-
 static struct iommu_dma_msi_page *iommu_dma_get_msi_page(struct device *dev,
 		phys_addr_t msi_addr, struct iommu_domain *domain)
 {
@@ -882,7 +875,7 @@ static struct iommu_dma_msi_page *iommu_dma_get_msi_page(struct device *dev,
 		return NULL;
 
 	iova = __iommu_dma_map(dev, msi_addr, size, prot, domain);
-	if (iommu_dma_mapping_error(dev, iova))
+	if (iova = DMA_MAPPING_ERROR)
 		goto out_free_page;
 
 	INIT_LIST_HEAD(&msi_page->list);
diff --git a/include/linux/dma-iommu.h b/include/linux/dma-iommu.h
index e8ca5e654277..e760dc5d1fa8 100644
--- a/include/linux/dma-iommu.h
+++ b/include/linux/dma-iommu.h
@@ -69,7 +69,6 @@ dma_addr_t iommu_dma_map_resource(struct device *dev, phys_addr_t phys,
 		size_t size, enum dma_data_direction dir, unsigned long attrs);
 void iommu_dma_unmap_resource(struct device *dev, dma_addr_t handle,
 		size_t size, enum dma_data_direction dir, unsigned long attrs);
-int iommu_dma_mapping_error(struct device *dev, dma_addr_t dma_addr);
 
 /* The DMA API isn't _quite_ the whole story, though... */
 void iommu_dma_map_msi_msg(int irq, struct msi_msg *msg);
-- 
2.19.1

  parent reply	other threads:[~2018-11-30 13:24 UTC|newest]

Thread overview: 342+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-30 13:22 remove the ->mapping_error method from dma_map_ops V3 Christoph Hellwig
2018-11-30 13:22 ` Christoph Hellwig
2018-11-30 13:22 ` Christoph Hellwig
2018-11-30 13:22 ` Christoph Hellwig
2018-11-30 13:22 ` [PATCH 01/23] dma-mapping: provide a generic DMA_MAPPING_ERROR Christoph Hellwig
2018-11-30 13:22   ` Christoph Hellwig
2018-11-30 13:22   ` Christoph Hellwig
2018-11-30 13:22   ` Christoph Hellwig
2018-12-04 16:41   ` Robin Murphy
2018-12-04 16:41     ` Robin Murphy
2018-12-04 16:41     ` Robin Murphy
2018-12-04 22:33     ` Christoph Hellwig
2018-12-04 22:33       ` Christoph Hellwig
2018-12-04 22:33       ` Christoph Hellwig
2018-12-04 22:33     ` Christoph Hellwig
2018-12-04 16:41   ` Robin Murphy
2018-11-30 13:22 ` Christoph Hellwig
2018-11-30 13:22 ` [PATCH 02/23] dma-direct: remove the mapping_error dma_map_ops method Christoph Hellwig
2018-11-30 13:22   ` Christoph Hellwig
2018-11-30 13:22   ` Christoph Hellwig
2018-11-30 13:22   ` Christoph Hellwig
2018-11-30 13:22 ` Christoph Hellwig
2018-11-30 13:22 ` [PATCH 03/23] arm: " Christoph Hellwig
2018-11-30 13:22 ` Christoph Hellwig
2018-11-30 13:22   ` Christoph Hellwig
2018-11-30 13:22   ` Christoph Hellwig
2018-11-30 13:22   ` Christoph Hellwig
2018-11-30 13:22 ` [PATCH 04/23] powerpc/iommu: " Christoph Hellwig
2018-11-30 13:22 ` Christoph Hellwig
2018-11-30 13:22   ` Christoph Hellwig
2018-11-30 13:22   ` Christoph Hellwig
2018-11-30 13:22 ` [PATCH 05/23] mips/jazz: " Christoph Hellwig
2018-11-30 13:22 ` Christoph Hellwig
2018-11-30 13:22   ` Christoph Hellwig
2018-11-30 13:22   ` Christoph Hellwig
2018-11-30 13:22   ` Christoph Hellwig
2018-11-30 13:22 ` [PATCH 06/23] s390: " Christoph Hellwig
2018-11-30 13:22   ` Christoph Hellwig
2018-11-30 13:22   ` Christoph Hellwig
2018-11-30 13:22 ` Christoph Hellwig
2018-11-30 13:22 ` [PATCH 07/23] sparc: " Christoph Hellwig
2018-11-30 13:22 ` Christoph Hellwig
2018-11-30 13:22   ` Christoph Hellwig
2018-11-30 13:22   ` Christoph Hellwig
2018-11-30 13:22 ` [PATCH 08/23] parisc/ccio: " Christoph Hellwig
2018-11-30 13:22 ` Christoph Hellwig
2018-11-30 13:22   ` Christoph Hellwig
2018-11-30 13:22   ` Christoph Hellwig
2018-11-30 13:22 ` [PATCH 09/23] parisc/sba_iommu: " Christoph Hellwig
2018-11-30 13:22   ` Christoph Hellwig
2018-11-30 13:22   ` Christoph Hellwig
2018-11-30 13:22 ` Christoph Hellwig
2018-11-30 13:22 ` [PATCH 10/23] arm64: remove the dummy_dma_ops mapping_error method Christoph Hellwig
2018-11-30 13:22 ` Christoph Hellwig
2018-11-30 13:22   ` Christoph Hellwig
2018-11-30 13:22   ` Christoph Hellwig
2018-11-30 13:22   ` Christoph Hellwig
2018-11-30 13:22 ` [PATCH 11/23] alpha: remove the mapping_error dma_map_ops method Christoph Hellwig
2018-11-30 13:22 ` Christoph Hellwig
2018-11-30 13:22   ` Christoph Hellwig
2018-11-30 13:22   ` Christoph Hellwig
2018-11-30 13:22 ` [PATCH 12/23] ia64/sba_iommu: improve internal map_page users Christoph Hellwig
2018-11-30 13:22   ` Christoph Hellwig
2018-11-30 13:22   ` Christoph Hellwig
2018-11-30 13:22 ` Christoph Hellwig
2018-11-30 13:22 ` [PATCH 13/23] ia64/sba_iommu: remove the mapping_error dma_map_ops method Christoph Hellwig
2018-11-30 13:22 ` Christoph Hellwig
2018-11-30 13:22   ` Christoph Hellwig
2018-11-30 13:22   ` Christoph Hellwig
2018-11-30 13:22   ` Christoph Hellwig
2018-11-30 13:22 ` [PATCH 14/23] ia64/sn: " Christoph Hellwig
2018-11-30 13:22 ` Christoph Hellwig
2018-11-30 13:22   ` Christoph Hellwig
2018-11-30 13:22   ` Christoph Hellwig
2018-11-30 13:22 ` [PATCH 15/23] x86/amd_gart: " Christoph Hellwig
2018-11-30 13:22   ` Christoph Hellwig
2018-11-30 13:22   ` Christoph Hellwig
2018-11-30 13:22 ` Christoph Hellwig
2018-11-30 13:22 ` [PATCH 16/23] x86/calgary: " Christoph Hellwig
2018-11-30 13:22   ` Christoph Hellwig
2018-11-30 13:22   ` Christoph Hellwig
2018-11-30 13:22 ` Christoph Hellwig
2018-11-30 13:22 ` [PATCH 17/23] iommu: " Christoph Hellwig
2018-11-30 13:22 ` Christoph Hellwig
2018-11-30 13:22   ` Christoph Hellwig
2018-11-30 13:22   ` Christoph Hellwig
2018-11-30 13:22 ` [PATCH 18/23] iommu/intel: small map_page cleanup Christoph Hellwig
2018-11-30 13:22   ` Christoph Hellwig
2018-11-30 13:22   ` Christoph Hellwig
2018-11-30 13:22 ` Christoph Hellwig
2018-11-30 13:22 ` [PATCH 19/23] iommu/vt-d: remove the mapping_error dma_map_ops method Christoph Hellwig
2018-11-30 13:22   ` Christoph Hellwig
2018-11-30 13:22   ` Christoph Hellwig
2018-11-30 13:22 ` Christoph Hellwig
2018-11-30 13:22 ` [PATCH 20/23] iommu/dma-iommu: " Christoph Hellwig
2018-11-30 13:22 ` Christoph Hellwig [this message]
2018-11-30 13:22   ` Christoph Hellwig
2018-11-30 13:22   ` Christoph Hellwig
2018-11-30 13:22 ` [PATCH 21/23] xen-swiotlb: " Christoph Hellwig
2018-11-30 13:22   ` Christoph Hellwig
2018-11-30 13:22   ` Christoph Hellwig
2018-12-02 12:42   ` Konrad Rzeszutek Wilk
2018-12-02 12:42   ` Konrad Rzeszutek Wilk
2018-12-02 12:42     ` Konrad Rzeszutek Wilk
2018-12-02 12:42     ` Konrad Rzeszutek Wilk
2018-12-02 12:42     ` Konrad Rzeszutek Wilk
2018-11-30 13:22 ` Christoph Hellwig
2018-11-30 13:22 ` [PATCH 22/23] dma-mapping: " Christoph Hellwig
2018-11-30 13:22 ` Christoph Hellwig
2018-11-30 13:22   ` Christoph Hellwig
2018-11-30 13:22   ` Christoph Hellwig
2018-11-30 13:22 ` [PATCH 23/23] dma-mapping: return an error code from dma_mapping_error Christoph Hellwig
2018-11-30 13:22 ` Christoph Hellwig
2018-11-30 13:22   ` Christoph Hellwig
2018-11-30 13:22   ` Christoph Hellwig
2018-11-30 18:59 ` remove the ->mapping_error method from dma_map_ops V3 Russell King - ARM Linux
2018-11-30 18:59   ` Russell King - ARM Linux
2018-11-30 18:59 ` Russell King - ARM Linux
2018-11-30 19:43 ` Linus Torvalds
2018-11-30 19:43 ` Linus Torvalds
2018-11-30 19:43   ` Linus Torvalds
2018-11-30 19:43   ` Linus Torvalds
2018-12-03 17:27 ` Christoph Hellwig
2018-12-03 17:27   ` Christoph Hellwig
2018-12-03 17:27   ` Christoph Hellwig
2018-12-03 17:27 ` Christoph Hellwig
2018-12-06 14:57 ` Christoph Hellwig
2018-12-06 14:57 ` Christoph Hellwig
2018-12-06 14:57   ` Christoph Hellwig
2018-12-06 14:57   ` Christoph Hellwig
  -- strict thread matches above, loose matches on Subject: below --
2018-11-22 14:02 remove the ->mapping_error method from dma_map_ops V2 Christoph Hellwig
2018-11-22 14:02 ` Christoph Hellwig
2018-11-22 14:02 ` Christoph Hellwig
2018-11-22 14:02 ` Christoph Hellwig
2018-11-22 14:02 ` [PATCH 01/24] dma-direct: Make DIRECT_MAPPING_ERROR viable for SWIOTLB Christoph Hellwig
2018-11-22 14:02 ` Christoph Hellwig
2018-11-22 14:02   ` Christoph Hellwig
2018-11-22 14:02   ` Christoph Hellwig
2018-11-22 14:02   ` Christoph Hellwig
2018-11-22 14:02 ` [PATCH 02/24] swiotlb: Skip cache maintenance on map error Christoph Hellwig
2018-11-22 14:02 ` Christoph Hellwig
2018-11-22 14:02   ` Christoph Hellwig
2018-11-22 14:02   ` Christoph Hellwig
2018-11-22 14:02   ` Christoph Hellwig
2018-11-22 14:02 ` [PATCH 03/24] dma-mapping: provide a generic DMA_MAPPING_ERROR Christoph Hellwig
2018-11-22 14:02   ` Christoph Hellwig
2018-11-22 14:02   ` Christoph Hellwig
2018-11-22 14:02 ` Christoph Hellwig
2018-11-22 14:03 ` [PATCH 04/24] dma-direct: remove the mapping_error dma_map_ops method Christoph Hellwig
2018-11-22 14:03 ` Christoph Hellwig
2018-11-22 14:03   ` Christoph Hellwig
2018-11-22 14:03   ` Christoph Hellwig
2018-11-22 14:03 ` [PATCH 05/24] arm: " Christoph Hellwig
2018-11-22 14:03 ` Christoph Hellwig
2018-11-22 14:03   ` Christoph Hellwig
2018-11-22 14:03   ` Christoph Hellwig
2018-11-22 14:03 ` [PATCH 06/24] powerpc/iommu: " Christoph Hellwig
2018-11-22 14:03   ` Christoph Hellwig
2018-11-22 14:03   ` Christoph Hellwig
2018-11-22 14:03 ` Christoph Hellwig
2018-11-22 14:03 ` [PATCH 07/24] mips/jazz: " Christoph Hellwig
2018-11-22 14:03 ` Christoph Hellwig
2018-11-22 14:03   ` Christoph Hellwig
2018-11-22 14:03   ` Christoph Hellwig
2018-11-22 14:03 ` [PATCH 08/24] s390: " Christoph Hellwig
2018-11-22 14:03 ` Christoph Hellwig
2018-11-22 14:03   ` Christoph Hellwig
2018-11-22 14:03   ` Christoph Hellwig
2018-11-22 14:03 ` [PATCH 09/24] sparc: " Christoph Hellwig
2018-11-22 14:03 ` Christoph Hellwig
2018-11-22 14:03   ` Christoph Hellwig
2018-11-22 14:03   ` Christoph Hellwig
2018-11-22 14:03 ` [PATCH 10/24] parisc/ccio: " Christoph Hellwig
2018-11-22 14:03 ` Christoph Hellwig
2018-11-22 14:03   ` Christoph Hellwig
2018-11-22 14:03   ` Christoph Hellwig
2018-11-22 14:03 ` [PATCH 11/24] parisc/sba_iommu: " Christoph Hellwig
2018-11-22 14:03   ` Christoph Hellwig
2018-11-22 14:03   ` Christoph Hellwig
2018-11-22 14:03 ` Christoph Hellwig
2018-11-22 14:03 ` [PATCH 12/24] arm64: remove the dummy_dma_ops mapping_error method Christoph Hellwig
2018-11-22 14:03 ` Christoph Hellwig
2018-11-22 14:03   ` Christoph Hellwig
2018-11-22 14:03   ` Christoph Hellwig
2018-11-22 14:03 ` [PATCH 13/24] alpha: remove the mapping_error dma_map_ops method Christoph Hellwig
2018-11-22 14:03   ` Christoph Hellwig
2018-11-22 14:03   ` Christoph Hellwig
2018-11-22 14:03   ` Christoph Hellwig
2018-11-22 14:03 ` [PATCH 14/24] ia64/sba_iommu: improve internal map_page users Christoph Hellwig
2018-11-22 14:03 ` Christoph Hellwig
2018-11-22 14:03   ` Christoph Hellwig
2018-11-22 14:03   ` Christoph Hellwig
2018-11-22 14:03 ` [PATCH 15/24] ia64/sba_iommu: remove the mapping_error dma_map_ops method Christoph Hellwig
2018-11-22 14:03   ` Christoph Hellwig
2018-11-22 14:03   ` Christoph Hellwig
2018-11-22 14:03 ` Christoph Hellwig
2018-11-22 14:03 ` [PATCH 16/24] ia64/sn: " Christoph Hellwig
2018-11-22 14:03 ` Christoph Hellwig
2018-11-22 14:03   ` Christoph Hellwig
2018-11-22 14:03   ` Christoph Hellwig
2018-11-22 14:03 ` [PATCH 17/24] x86/amd_gart: " Christoph Hellwig
2018-11-22 14:03   ` Christoph Hellwig
2018-11-22 14:03   ` Christoph Hellwig
2018-11-22 14:03   ` Christoph Hellwig
2018-11-22 14:03 ` [PATCH 18/24] x86/calgary: " Christoph Hellwig
2018-11-22 14:03 ` Christoph Hellwig
2018-11-22 14:03   ` Christoph Hellwig
2018-11-22 14:03   ` Christoph Hellwig
2018-11-22 14:03 ` [PATCH 19/24] iommu: " Christoph Hellwig
2018-11-22 14:03 ` Christoph Hellwig
2018-11-22 14:03   ` Christoph Hellwig
2018-11-22 14:03   ` Christoph Hellwig
2018-11-22 14:03 ` [PATCH 20/24] iommu/intel: small map_page cleanup Christoph Hellwig
2018-11-22 14:03 ` Christoph Hellwig
2018-11-22 14:03   ` Christoph Hellwig
2018-11-22 14:03   ` Christoph Hellwig
2018-11-22 14:03 ` [PATCH 21/24] iommu/vt-d: remove the mapping_error dma_map_ops method Christoph Hellwig
2018-11-22 14:03   ` Christoph Hellwig
2018-11-22 14:03   ` Christoph Hellwig
2018-11-22 14:03 ` Christoph Hellwig
2018-11-22 14:03 ` [PATCH 22/24] iommu/dma-iommu: " Christoph Hellwig
2018-11-22 14:03 ` Christoph Hellwig
2018-11-22 14:03   ` Christoph Hellwig
2018-11-22 14:03   ` Christoph Hellwig
2018-11-22 14:03 ` [PATCH 23/24] xen-swiotlb: " Christoph Hellwig
2018-11-22 14:03   ` Christoph Hellwig
2018-11-22 14:03   ` Christoph Hellwig
2018-11-22 14:03 ` Christoph Hellwig
2018-11-22 14:03 ` [PATCH 24/24] dma-mapping: " Christoph Hellwig
2018-11-22 14:03   ` Christoph Hellwig
2018-11-22 14:03   ` Christoph Hellwig
2018-11-22 14:03 ` Christoph Hellwig
2018-11-22 16:50 ` remove the ->mapping_error method from dma_map_ops V2 Linus Torvalds
2018-11-22 16:50 ` Linus Torvalds
2018-11-22 16:50   ` Linus Torvalds
2018-11-22 16:50   ` Linus Torvalds
2018-11-22 17:07   ` Russell King - ARM Linux
2018-11-22 17:07   ` Russell King - ARM Linux
2018-11-22 17:07     ` Russell King - ARM Linux
2018-11-22 17:09     ` Linus Torvalds
2018-11-22 17:09     ` Linus Torvalds
2018-11-22 17:09       ` Linus Torvalds
2018-11-22 17:09       ` Linus Torvalds
2018-11-22 17:09       ` Linus Torvalds
2018-11-22 17:14       ` Russell King - ARM Linux
2018-11-22 17:14         ` Russell King - ARM Linux
2018-11-22 17:14       ` Russell King - ARM Linux
2018-11-22 17:52       ` Robin Murphy
2018-11-22 17:52       ` Robin Murphy
2018-11-22 17:52         ` Robin Murphy
2018-11-22 17:55         ` Linus Torvalds
2018-11-22 17:55         ` Linus Torvalds
2018-11-22 17:55           ` Linus Torvalds
2018-11-22 17:55           ` Linus Torvalds
2018-11-22 17:55           ` Linus Torvalds
2018-11-22 18:05           ` Russell King - ARM Linux
2018-11-22 18:05           ` Russell King - ARM Linux
2018-11-22 18:05             ` Russell King - ARM Linux
2018-11-23  6:57             ` Christoph Hellwig
2018-11-23  6:57               ` Christoph Hellwig
2018-11-23  6:57               ` Christoph Hellwig
2018-11-23  6:57               ` Christoph Hellwig
2018-11-23  6:57             ` Christoph Hellwig
2018-11-23  6:55           ` Christoph Hellwig
2018-11-23  6:55             ` Christoph Hellwig
2018-11-23  6:55             ` Christoph Hellwig
2018-11-23  6:55             ` Christoph Hellwig
2018-11-28  7:41             ` Christoph Hellwig
2018-11-28  7:41             ` Christoph Hellwig
2018-11-28  7:41               ` Christoph Hellwig
2018-11-28  7:41               ` Christoph Hellwig
2018-11-28 16:47               ` Linus Torvalds
2018-11-28 16:47               ` Linus Torvalds
2018-11-28 16:47                 ` Linus Torvalds
2018-11-28 16:47                 ` Linus Torvalds
2018-11-28 16:47                 ` Linus Torvalds
2018-11-28 17:45                 ` Russell King - ARM Linux
2018-11-28 17:45                   ` Russell King - ARM Linux
2018-11-28 18:00                   ` Linus Torvalds
2018-11-28 18:00                   ` Linus Torvalds
2018-11-28 18:00                     ` Linus Torvalds
2018-11-28 18:00                     ` Linus Torvalds
2018-11-28 18:08                     ` Russell King - ARM Linux
2018-11-28 18:08                       ` Russell King - ARM Linux
     [not found]                       ` <20181128180841.GM30658-l+eeeJia6m9URfEZ8mYm6t73F7V6hmMc@public.gmane.org>
2018-11-28 19:19                         ` Linus Torvalds
2018-11-28 19:31                           ` Russell King - ARM Linux
2018-11-28 19:31                           ` Russell King - ARM Linux
2018-11-28 19:31                             ` Russell King - ARM Linux
2018-11-29 16:23                           ` Christoph Hellwig
2018-11-29 16:23                           ` Christoph Hellwig
2018-11-29 16:23                             ` Christoph Hellwig
2018-11-29 16:23                             ` Christoph Hellwig
2018-11-29 17:44                             ` Linus Torvalds
2018-11-29 17:44                             ` Linus Torvalds
2018-11-29 17:44                               ` Linus Torvalds
2018-11-29 17:44                               ` Linus Torvalds
2018-11-29 18:31                               ` Christoph Hellwig
2018-11-29 18:31                               ` Christoph Hellwig
2018-11-29 18:31                                 ` Christoph Hellwig
2018-11-29 18:31                                 ` Christoph Hellwig
2018-11-29 18:53                                 ` Linus Torvalds
2018-11-29 18:53                                   ` Linus Torvalds
2018-11-29 18:53                                   ` Linus Torvalds
2018-11-29 18:55                                   ` Christoph Hellwig
2018-11-29 18:55                                     ` Christoph Hellwig
2018-11-29 18:55                                     ` Christoph Hellwig
2018-11-29 18:55                                   ` Christoph Hellwig
2018-11-29 18:53                                 ` Linus Torvalds
2018-11-28 19:19                       ` Linus Torvalds
2018-11-28 19:23                       ` Russell King - ARM Linux
2018-11-28 19:23                         ` Russell King - ARM Linux
2018-11-28 19:23                       ` Russell King - ARM Linux
2018-11-28 18:08                     ` Russell King - ARM Linux
2018-11-28 19:27                     ` David Miller
2018-11-28 19:27                       ` David Miller
2018-11-28 19:27                       ` David Miller
2018-11-28 19:47                       ` Russell King - ARM Linux
2018-11-28 19:47                         ` Russell King - ARM Linux
2018-11-28 23:01                         ` Shuah Khan
2018-11-28 23:01                           ` Shuah Khan
2018-11-28 23:01                           ` Shuah Khan
2018-11-28 23:01                           ` Shuah Khan
2018-11-28 23:01                         ` Shuah Khan
2018-11-28 19:47                       ` Russell King - ARM Linux
2018-11-28 19:27                     ` David Miller
2018-11-28 17:45                 ` Russell King - ARM Linux
2018-11-23  6:55           ` Christoph Hellwig
2018-11-23 10:49         ` Joerg Roedel
2018-11-23 10:49           ` Joerg Roedel
2018-11-23 10:49           ` Joerg Roedel
2018-11-23 11:01           ` Russell King - ARM Linux
2018-11-23 11:01             ` Russell King - ARM Linux
2018-11-23 13:03             ` Joerg Roedel
2018-11-23 13:03               ` Joerg Roedel
2018-11-23 13:03               ` Joerg Roedel
2018-11-23 13:20               ` Russell King - ARM Linux
2018-11-23 13:20                 ` Russell King - ARM Linux
2018-11-23 13:20                 ` Russell King - ARM Linux
2018-11-23 13:20               ` Russell King - ARM Linux
2018-11-23 13:03             ` Joerg Roedel
2018-11-23 11:01           ` Russell King - ARM Linux
2018-11-23 10:49         ` Joerg Roedel

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=20181130132231.16512-21-hch@lst.de \
    --to=hch@lst.de \
    --cc=dwmw2@infradead.org \
    --cc=iommu@lists.linux-foundation.org \
    --cc=jdmason@kudzu.us \
    --cc=joro@8bytes.org \
    --cc=linux-alpha@vger.kernel.org \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-ia64@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-parisc@vger.kernel.org \
    --cc=m.szyprowski@samsung.com \
    --cc=robin.murphy@arm.com \
    --cc=torvalds@linux-foundation.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.