Skip to content

Commit e799de3

Browse files
Christoph Hellwigpaulburton
authored andcommitted
MIPS: loongson: remove loongson_dma_supported
swiotlb_dma_supported will always return true for a mask large enough to cover the DMA addresses for all physical memory, which is the right thing to do for swiotlb based dma ops. This function returned false if the mask was bigger than a firmware set dma_mask_bits that apparently can be either 32 or 64, and which seems completely buggys if it actually is not 64, as the false return negates the whole point of swiotlb. Signed-off-by: Christoph Hellwig <hch@lst.de> Patchwork: https://patchwork.linux-mips.org/patch/19533/ Signed-off-by: Paul Burton <paul.burton@mips.com> Cc: Florian Fainelli <f.fainelli@gmail.com> Cc: David Daney <david.daney@cavium.com> Cc: Kevin Cernekee <cernekee@gmail.com> Cc: Jiaxun Yang <jiaxun.yang@flygoat.com> Cc: Tom Bogendoerfer <tsbogend@alpha.franken.de> Cc: Huacai Chen <chenhc@lemote.com> Cc: iommu@lists.linux-foundation.org Cc: linux-mips@linux-mips.org
1 parent 97f9f97 commit e799de3

File tree

1 file changed

+1
-8
lines changed

1 file changed

+1
-8
lines changed

arch/mips/loongson64/common/dma-swiotlb.c

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -56,13 +56,6 @@ static void loongson_dma_sync_sg_for_device(struct device *dev,
5656
mb();
5757
}
5858

59-
static int loongson_dma_supported(struct device *dev, u64 mask)
60-
{
61-
if (mask > DMA_BIT_MASK(loongson_sysconf.dma_mask_bits))
62-
return 0;
63-
return swiotlb_dma_supported(dev, mask);
64-
}
65-
6659
dma_addr_t __phys_to_dma(struct device *dev, phys_addr_t paddr)
6760
{
6861
long nid;
@@ -99,7 +92,7 @@ static const struct dma_map_ops loongson_dma_map_ops = {
9992
.sync_sg_for_cpu = swiotlb_sync_sg_for_cpu,
10093
.sync_sg_for_device = loongson_dma_sync_sg_for_device,
10194
.mapping_error = swiotlb_dma_mapping_error,
102-
.dma_supported = loongson_dma_supported,
95+
.dma_supported = swiotlb_dma_supported,
10396
};
10497

10598
void __init plat_swiotlb_setup(void)

0 commit comments

Comments
 (0)