Commit-ID:  66bdb1478fd1a66d5b8b81e4e28e0ed3df63ed37
Gitweb:     https://git.kernel.org/tip/66bdb1478fd1a66d5b8b81e4e28e0ed3df63ed37
Author:     Christoph Hellwig <h...@lst.de>
AuthorDate: Mon, 9 Apr 2018 11:15:17 +0200
Committer:  Ingo Molnar <mi...@kernel.org>
CommitDate: Mon, 9 Apr 2018 18:20:09 +0200

swiotlb: Use dma_direct_supported() for swiotlb_ops

swiotlb_alloc() calls dma_direct_alloc(), which can satisfy lower than 32-bit
DMA mask requests using GFP_DMA if the architecture supports it.  Various
x86 drivers rely on that, so we need to support that.  At the same time
the whole kernel expects a 32-bit DMA mask to just work, so the other magic
in swiotlb_dma_supported() isn't actually needed either.

Reported-by: Dominik Brodowski <li...@dominikbrodowski.net>
Signed-off-by: Christoph Hellwig <h...@lst.de>
Cc: Konrad Rzeszutek Wilk <konrad.w...@oracle.com>
Cc: Linus Torvalds <torva...@linux-foundation.org>
Cc: Peter Zijlstra <pet...@infradead.org>
Cc: Thomas Gleixner <t...@linutronix.de>
Cc: io...@lists.linux-foundation.org
Fixes: 6e4bf5867783 ("x86/dma: Use generic swiotlb_ops")
Link: http://lkml.kernel.org/r/20180409091517.6619-2-...@lst.de
Signed-off-by: Ingo Molnar <mi...@kernel.org>
---
 lib/swiotlb.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/swiotlb.c b/lib/swiotlb.c
index c43ec2271469..c67b06261160 100644
--- a/lib/swiotlb.c
+++ b/lib/swiotlb.c
@@ -1130,6 +1130,6 @@ const struct dma_map_ops swiotlb_dma_ops = {
        .unmap_sg               = swiotlb_unmap_sg_attrs,
        .map_page               = swiotlb_map_page,
        .unmap_page             = swiotlb_unmap_page,
-       .dma_supported          = swiotlb_dma_supported,
+       .dma_supported          = dma_direct_supported,
 };
 #endif /* CONFIG_DMA_DIRECT_OPS */

Reply via email to