mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs.git
synced 2026-10-28 12:53:14 +01:00
Merge tag 'dma-mapping-7.3-2026-10-09' of git://git.kernel.org/pub/scm/linux/kernel/git/mszyprowski/linux
Pull dma-mapping fixes from Marek Szyprowski: "Two more fixes for the corner cases in the DMA-mapping SWIOTLB code (Peng Fan and Marek Szyprowski)" * tag 'dma-mapping-7.3-2026-10-09' of git://git.kernel.org/pub/scm/linux/kernel/git/mszyprowski/linux: swiotlb: fix default_swiotlb_limit() for non-growable default pool iommu/dma: skip swiotlb bounce for DMA_ATTR_MMIO in iommu_dma_map_phys
This commit is contained in:
commit
c8d4256f10
2 files changed
+5
-5
No files matched your search
@@ -1228,9 +1228,9 @@ dma_addr_t iommu_dma_map_phys(struct device *dev, phys_addr_t phys, size_t size,
|
||||
* If both the physical buffer start address and size are page aligned,
|
||||
* we don't need to use a bounce page.
|
||||
*/
|
||||
if (dev_use_swiotlb(dev, size, dir) &&
|
||||
if (!(attrs & DMA_ATTR_MMIO) && dev_use_swiotlb(dev, size, dir) &&
|
||||
iova_unaligned(iovad, phys, size)) {
|
||||
if (attrs & (DMA_ATTR_MMIO | DMA_ATTR_REQUIRE_COHERENT))
|
||||
if (attrs & DMA_ATTR_REQUIRE_COHERENT)
|
||||
return DMA_MAPPING_ERROR;
|
||||
|
||||
phys = iommu_dma_map_swiotlb(dev, phys, size, dir, attrs);
|
||||
|
||||
@@ -1844,10 +1844,10 @@ phys_addr_t default_swiotlb_base(void)
|
||||
phys_addr_t default_swiotlb_limit(void)
|
||||
{
|
||||
#ifdef CONFIG_SWIOTLB_DYNAMIC
|
||||
return io_tlb_default_mem.phys_limit;
|
||||
#else
|
||||
return io_tlb_default_mem.defpool.end - 1;
|
||||
if (io_tlb_default_mem.can_grow)
|
||||
return io_tlb_default_mem.phys_limit;
|
||||
#endif
|
||||
return io_tlb_default_mem.defpool.end - 1;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_DEBUG_FS
|
||||
|
||||
Reference in new issue
Block a user