aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/dma/swiotlb.c
AgeCommit message (Expand)AuthorFilesLines
4 daysMerge tag 'dma-mapping-6.10-2024-05-20' of git://git.infradead.org/users/hch/...Linus Torvalds1-14/+48
2024-05-09dma: fix DMA sync for drivers not calling dma_set_mask*()Alexander Lobakin1-1/+1
2024-05-07dma: avoid redundant calls for sync operationsAlexander Lobakin1-0/+6
2024-05-07swiotlb: remove alloc_size argument to swiotlb_tbl_map_single()Michael Kelley1-14/+42
2024-05-02swiotlb: initialise restricted pool list_head when SWIOTLB_DYNAMIC=yWill Deacon1-0/+1
2024-04-02swiotlb: do not set total_used to 0 in swiotlb_create_debugfs_files()Dexuan Cui1-4/+0
2024-04-02swiotlb: fix swiotlb_bounce() to do partial sync's correctlyMichael Kelley1-17/+13
2024-04-02swiotlb: extend buffer pre-padding to alloc_align_mask if necessaryPetr Tesarik1-13/+46
2024-03-13swiotlb: Reinstate page-alignment for mappings >= PAGE_SIZEWill Deacon1-7/+11
2024-03-13swiotlb: Fix alignment checks when both allocation and DMA masks are presentWill Deacon1-2/+9
2024-03-13swiotlb: Honour dma_alloc_coherent() alignment in swiotlb_alloc()Will Deacon1-1/+3
2024-03-13swiotlb: Enforce page alignment in swiotlb_alloc()Will Deacon1-0/+6
2024-03-13swiotlb: Fix double-allocation of slots due to broken alignment handlingWill Deacon1-12/+14
2024-02-28swiotlb: add debugfs to track swiotlb transient pool usageZhangPeng1-0/+46
2024-01-18Merge tag 'dma-mapping-6.8-2024-01-18' of git://git.infradead.org/users/hch/d...Linus Torvalds1-0/+3
2024-01-11Merge tag 'dma-mapping-6.8-2024-01-08' of git://git.infradead.org/users/hch/d...Linus Torvalds1-35/+55
2024-01-09swiotlb: check alloc_size before the allocation of a new memory poolZhangPeng1-0/+3
2024-01-08mm, treewide: rename MAX_ORDER to MAX_PAGE_ORDERKirill A. Shutemov1-2/+2
2023-12-15swiotlb: reduce area lock contention for non-primary IO TLB poolsPetr Tesarik1-35/+55
2023-11-08swiotlb: fix out-of-bounds TLB allocations with CONFIG_SWIOTLB_DYNAMICPetr Tesarik1-1/+2
2023-11-03swiotlb: do not free decrypted pages if dynamicPetr Tesarik1-9/+16
2023-11-01Merge tag 'dma-mapping-6.7-2023-10-30' of git://git.infradead.org/users/hch/d...Linus Torvalds1-5/+7
2023-10-25swiotlb: do not try to allocate a TLB bigger than MAX_ORDER pagesPetr Tesarik1-0/+5
2023-10-23swiotlb: rewrite comment explaining why the source is preserved on DMA_FROM_D...Sean Christopherson1-5/+7
2023-09-27swiotlb: fix the check whether a device has used software IO TLBPetr Tesarik1-6/+20
2023-09-13swiotlb: use the calculated number of areasRoss Lagerwall1-3/+2
2023-08-08swiotlb: optimize get_max_slots()Petr Tesarik1-3/+1
2023-08-08swiotlb: move slot allocation explanation comment where it belongsPetr Tesarik1-5/+5
2023-08-01swiotlb: search the software IO TLB only if the device makes use of itPetr Tesarik1-8/+6
2023-08-01swiotlb: allocate a new memory pool when existing pools are fullPetr Tesarik1-25/+123
2023-08-01swiotlb: determine potential physical address limitPetr Tesarik1-0/+14
2023-08-01swiotlb: if swiotlb is full, fall back to a transient memory poolPetr Tesarik1-8/+308
2023-08-01swiotlb: add a flag whether SWIOTLB is allowed to growPetr Tesarik1-0/+13
2023-08-01swiotlb: separate memory pool data from other allocator dataPetr Tesarik1-64/+111
2023-08-01swiotlb: add documentation and rename swiotlb_do_find_slots()Petr Tesarik1-6/+55
2023-08-01swiotlb: make io_tlb_default_mem local to swiotlb.cPetr Tesarik1-1/+38
2023-08-01swiotlb: bail out of swiotlb_init_late() if swiotlb is already allocatedPetr Tesarik1-0/+3
2023-07-31swiotlb: unexport is_swiotlb_activeChristoph Hellwig1-1/+0
2023-06-29swiotlb: reduce the number of areas to match actual memory pool sizePetr Tesarik1-3/+24
2023-06-29swiotlb: always set the number of areas before allocating the poolPetr Tesarik1-8/+11
2023-06-07swiotlb: use the atomic counter of total used slabs if availablePetr Tesarik1-0/+11
2023-04-29Merge tag 'dma-mapping-6.4-2023-04-28' of git://git.infradead.org/users/hch/d...Linus Torvalds1-10/+87
2023-04-20swiotlb: Omit total_used and used_hiwater if !CONFIG_DEBUG_FSPetr Tesarik1-3/+12
2023-04-17swiotlb: Remove bounce buffer remapping for Hyper-VMichael Kelley1-44/+1
2023-04-16swiotlb: track and report io_tlb_used high water marks in debugfsMichael Kelley1-0/+66
2023-04-16swiotlb: fix debugfs reporting of reserved memory poolsMichael Kelley1-2/+4
2023-04-16swiotlb: relocate PageHighMem test away from rmem_swiotlb_setupDoug Berger1-5/+5
2023-04-06swiotlb: fix a braino in the alignment check fixPetr Tesarik1-3/+3
2023-03-22swiotlb: fix slot alignment checksPetr Tesarik1-6/+10
2023-03-22swiotlb: use wrap_area_index() instead of open-coding itPetr Tesarik1-4/+1
2023-03-15swiotlb: fix the deadlock in swiotlb_do_find_slotsGuoRui.Yu1-4/+6
2023-02-22swiotlb: mark swiotlb_memblock_alloc() as __initRandy Dunlap1-1/+2
2023-02-16swiotlb: remove swiotlb_max_segmentChristoph Hellwig1-8/+0
2022-11-01swiotlb: reduce the swiotlb buffer size on allocation failureAlexey Kardashevskiy1-24/+39
2022-09-20swiotlb: don't panic!Robin Murphy1-11/+19
2022-09-20swiotlb: replace kmap_atomic() with memcpy_{from,to}_page()Fabio M. De Francesco1-6/+4
2022-09-07swiotlb: fix a typoChao Gao1-1/+1
2022-09-07swiotlb: avoid potential left shift overflowChao Gao1-1/+4
2022-09-07Revert "swiotlb: panic if nslabs is too small"Yu Zhao1-5/+1
2022-07-28swiotlb: fix passing local variable to debugfs_create_ulong()Tianyu Lan1-3/+9
2022-07-22swiotlb: clean up some coding style and minor issuesTianyu Lan1-11/+15
2022-07-18swiotlb: move struct io_tlb_slot to swiotlb.cChristoph Hellwig1-0/+6
2022-07-18swiotlb: ensure a segment doesn't cross the area boundaryChao Gao1-1/+10
2022-07-18swiotlb: consolidate rounding up default_nslabsChao Gao1-17/+16
2022-07-18swiotlb: remove unused fields in io_tlb_memChao Gao1-2/+0
2022-07-18swiotlb: fix use after free on error handling pathDan Carpenter1-1/+1
2022-07-13swiotlb: split up the global swiotlb lockTianyu Lan1-40/+189
2022-07-12swiotlb: fail map correctly with failed io_tlb_default_memRobin Murphy1-1/+1
2022-06-22swiotlb: panic if nslabs is too smallDongli Zhang1-1/+5
2022-06-22swiotlb: remove a useless return in swiotlb_initDongli Zhang1-1/+1
2022-06-02swiotlb: fix setting ->force_bounceChristoph Hellwig1-8/+6
2022-05-17swiotlb: max mapping size takes min align mask into accountTianyu Lan1-1/+12
2022-05-13swiotlb: use the right nslabs-derived sizes in swiotlb_init_lateChristoph Hellwig1-8/+11
2022-05-13swiotlb: use the right nslabs value in swiotlb_init_remapChristoph Hellwig1-3/+4
2022-05-13swiotlb: don't panic when the swiotlb buffer can't be allocatedChristoph Hellwig1-2/+4
2022-04-18swiotlb: remove swiotlb_init_with_tbl and swiotlb_init_late_with_tblChristoph Hellwig1-57/+20
2022-04-18swiotlb: provide swiotlb_init variants that remap the bufferChristoph Hellwig1-3/+33
2022-04-18swiotlb: pass a gfp_mask argument to swiotlb_init_lateChristoph Hellwig1-5/+2
2022-04-18swiotlb: add a SWIOTLB_ANY flag to lift the low memory restrictionChristoph Hellwig1-2/+9
2022-04-18swiotlb: make the swiotlb_init interface more usefulChristoph Hellwig1-16/+19
2022-04-18swiotlb: rename swiotlb_late_init_with_default_sizeChristoph Hellwig1-4/+2
2022-04-18swiotlb: simplify swiotlb_max_segmentChristoph Hellwig1-17/+3
2022-04-18swiotlb: make swiotlb_exit a no-op if SWIOTLB_FORCE is setChristoph Hellwig1-0/+3
2022-03-29Merge tag 'dma-mapping-5.18' of git://git.infradead.org/users/hch/dma-mappingLinus Torvalds1-52/+24
2022-03-28Reinstate some of "swiotlb: rework "fix info leak with DMA_FROM_DEVICE""Linus Torvalds1-4/+8
2022-03-26Revert "swiotlb: rework "fix info leak with DMA_FROM_DEVICE""Linus Torvalds1-15/+8
2022-03-07swiotlb: rework "fix info leak with DMA_FROM_DEVICE"Halil Pasic1-8/+15
2022-02-14swiotlb: fix info leak with DMA_FROM_DEVICEHalil Pasic1-1/+2
2022-01-26swiotlb: simplify array allocationRobin Murphy1-2/+1
2022-01-26swiotlb: tidy up includesRobin Murphy1-18/+13
2022-01-26swiotlb: simplify debugfs setupRobin Murphy1-30/+10
2022-01-26swiotlb: do not zero buffer in set_memory_decrypted()Kirill A. Shutemov1-2/+0
2022-01-04swiotlb: Add CONFIG_HAS_IOMEM check around swiotlb_mem_remap()Wei Liu1-0/+7
2021-12-20swiotlb: Add swiotlb bounce buffer remap function for HV IVMTianyu Lan1-2/+41
2021-11-06Merge branch 'akpm' (patches from Andrew)Linus Torvalds1-1/+1
2021-11-06memblock: use memblock_free for freeing virtual pointersMike Rapoport1-1/+1
2021-11-06memblock: rename memblock_free to memblock_phys_freeMike Rapoport1-1/+1
2021-11-06memblock: drop memblock_free_early_nid() and memblock_free_early()Mike Rapoport1-1/+1
2021-11-04Merge tag 'iommu-updates-v5.16' of git://git.kernel.org/pub/scm/linux/kernel/...Linus Torvalds1-5/+8
2021-10-04treewide: Replace the use of mem_encrypt_active() with cc_platform_has()Tom Lendacky1-2/+2
2021-09-29swiotlb: Support aligned swiotlb buffersDavid Stevens1-5/+8
2021-07-23swiotlb: Free tbl memory in swiotlb_exit()Will Deacon1-6/+15
2021-07-23swiotlb: Emit diagnostic in swiotlb_exit()Will Deacon1-0/+1
2021-07-23swiotlb: Convert io_default_tlb_mem to static allocationWill Deacon1-30/+36
2021-07-13swiotlb: add overflow checks to swiotlb_bounceDominique Martinet1-3/+17
2021-07-13swiotlb: fix implicit debugfs declarationsClaire Chang1-5/+16
2021-07-13swiotlb: Add restricted DMA pool initializationClaire Chang1-0/+76
2021-07-13swiotlb: Add restricted DMA alloc/free supportClaire Chang1-2/+36
2021-07-13swiotlb: Refactor swiotlb_tbl_unmap_singleClaire Chang1-15/+20
2021-07-13swiotlb: Move alloc_size to swiotlb_find_slotsClaire Chang1-8/+9
2021-07-13swiotlb: Use is_swiotlb_force_bounce for swiotlb data bouncingClaire Chang1-0/+4
2021-07-13swiotlb: Update is_swiotlb_active to add a struct device argumentClaire Chang1-2/+2
2021-07-13swiotlb: Set dev->dma_io_tlb_mem to the swiotlb pool usedClaire Chang1-4/+4
2021-07-13swiotlb: Refactor swiotlb_create_debugfsClaire Chang1-7/+14
2021-07-13swiotlb: Refactor swiotlb init functionsClaire Chang1-25/+25
2021-06-21swiotlb: manipulate orig_addr when tlb_addr has offsetBumyong Lee1-8/+15
2021-04-29swiotlb: don't override user specified size in swiotlb_adjust_sizeChristoph Hellwig1-0/+2
2021-04-27swiotlb: Fix the type of indexClaire Chang1-1/+2
2021-04-01swiotlb: Make SWIOTLB_NO_FORCE perform no allocationFlorian Fainelli1-4/+14
2021-03-19swiotlb: remove swiotlb_nr_tblChristoph Hellwig1-6/+1
2021-03-19swiotlb: dynamically allocate io_tlb_default_memChristoph Hellwig1-207/+99
2021-03-19swiotlb: move global variables into a new io_tlb_mem structureClaire Chang1-190/+164
2021-03-17swiotlb: lift the double initialization protection from xen-swiotlbChristoph Hellwig1-0/+8
2021-03-17swiotlb: split swiotlb_tbl_sync_singleChristoph Hellwig1-19/+15
2021-03-17swiotlb: move orig addr and size validation into swiotlb_bounceChristoph Hellwig1-36/+23
2021-03-17swiotlb: remove the alloc_size parameter to swiotlb_tbl_unmap_singleChristoph Hellwig1-22/+23
2021-02-26swiotlb: Validate bounce size in the sync/unmap pathMartin Radev1-3/+50
2021-02-26swiotlb: respect min_align_maskChristoph Hellwig1-10/+31
2021-02-22swiotlb: don't modify orig_addr in swiotlb_tbl_sync_singleChristoph Hellwig1-1/+0
2021-02-22swiotlb: refactor swiotlb_tbl_map_singleChristoph Hellwig1-90/+89
2021-02-20swiotlb: clean up swiotlb_tbl_unmap_singleChristoph Hellwig1-20/+21
2021-02-20swiotlb: factor out a nr_slots helperChristoph Hellwig1-4/+9
2021-02-20swiotlb: factor out an io_tlb_offset helperChristoph Hellwig1-7/+13
2021-02-20swiotlb: add a IO_TLB_SIZE defineChristoph Hellwig1-7/+7
2020-12-11x86,swiotlb: Adjust SWIOTLB bounce buffer size for SEV guestsAshish Kalra1-2/+18
2020-11-02swiotlb: remove the tbl_dma_addr argument to swiotlb_tbl_map_singleChristoph Hellwig1-10/+6
2020-11-02swiotlb: fix "x86: Don't panic if can not alloc buffer for swiotlb"Stefano Stabellini1-1/+5
2020-10-15Merge tag 'dma-mapping-5.10' of git://git.infradead.org/users/hch/dma-mappingLinus Torvalds1-3/+3
2020-10-06dma-mapping: merge <linux/dma-noncoherent.h> into <linux/dma-map-ops.h>Christoph Hellwig1-1/+1
2020-09-11dma-direct: rename and cleanup __phys_to_dmaChristoph Hellwig1-2/+2
2020-09-10swiotlb: Mark max_segment with static keywordAndy Shevchenko1-1/+1
2020-09-10swiotlb: Use %pa to print phys_addr_t variablesAndy Shevchenko1-3/+1
2020-02-05dma-direct: improve swiotlb error reportingChristoph Hellwig1-19/+23
2019-11-20dma-direct: exclude dma_direct_map_resource from the min_low_pfn checkChristoph Hellwig1-1/+1
2019-09-20Merge tag 'powerpc-5.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/po...Linus Torvalds1-2/+1
2019-09-11swiotlb: Split size parameter to map/unmap APIsLu Baolu1-13/+21
2019-08-09swiotlb: Remove call to sme_active()Thiago Jung Bauermann1-2/+1
2019-07-18Merge branch 'for-linus-5.2' of git://git.kernel.org/pub/scm/linux/kernel/git...Linus Torvalds1-14/+16
2019-07-03swiotlb: no need to check return value of debugfs_create functionsGreg Kroah-Hartman1-21/+4
2019-06-19Merge branch 'stable/for-linus-5.2' into devel/for-linus-5.2Konrad Rzeszutek Wilk1-2/+2
2019-06-19swiotlb: fix phys_addr_t overflow warningArnd Bergmann1-2/+2
2019-06-11swiotlb: Return consistent SWIOTLB segments/nr_tblFlorian Fainelli1-4/+4
2019-06-11swiotlb: Group identical cleanup in swiotlb_cleanup()Florian Fainelli1-8/+10
2019-05-21treewide: Add SPDX license identifier for missed filesThomas Gleixner1-0/+1
2019-05-07Merge branch 'stable/for-linus-5.2' of git://git.kernel.org/pub/scm/linux/ker...Linus Torvalds1-1/+5
2019-04-12swiotlb: save io_tlb_used to local variable before leaving critical sectionDongli Zhang1-2/+5
2019-04-10swiotlb: dump used and total slots when swiotlb buffer is fullDongli Zhang1-1/+2
2019-03-12memblock: drop memblock_alloc_*_nopanic() variantsMike Rapoport1-1/+1
2019-03-12treewide: add checks for the return value of memblock_alloc*()Mike Rapoport1-2/+2
2019-03-12swiotlb: add checks for the return value of memblock_alloc*()Mike Rapoport1-6/+13
2019-03-10Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhostLinus Torvalds1-0/+14
2019-03-08Merge branch 'stable/for-linus-5.1' of git://git.kernel.org/pub/scm/linux/ker...Linus Torvalds1-1/+49
2019-03-07Merge tag 'powerpc-5.1-1' of git://git.kernel.org/pub/scm/linux/kernel/git/po...Linus Torvalds1-12/+0
2019-03-06swiotlb: Add is_swiotlb_active() functionJoerg Roedel1-0/+9
2019-03-06swiotlb: Introduce swiotlb_max_mapping_size()Joerg Roedel1-0/+5
2019-02-18swiotlb: remove swiotlb_dma_supportedChristoph Hellwig1-12/+0
2019-02-16swiotlb: drop pointless static qualifier in swiotlb_create_debugfs()YueHaibing1-1/+1
2019-02-12swiotlb: checking whether swiotlb buffer is full with io_tlb_usedDongli Zhang1-0/+4
2019-02-12swiotlb: add debugfs to track swiotlb buffer usageDongli Zhang1-0/+44
2019-02-12swiotlb: fix comment on swiotlb_bounce()Dongli Zhang1-1/+1
2019-01-16swiotlb: clear io_tlb_start and io_tlb_end in swiotlb_exitChristoph Hellwig1-0/+2
2018-12-13dma-direct: merge swiotlb_dma_ops into the dma_direct codeChristoph Hellwig1-219/+13
2018-12-13swiotlb: remove dma_mark_cleanChristoph Hellwig1-17/+1
2018-12-13swiotlb: remove SWIOTLB_MAP_ERRORChristoph Hellwig1-2/+2
2018-12-06dma-direct: remove the mapping_error dma_map_ops methodChristoph Hellwig1-6/+5
2018-11-21swiotlb: Skip cache maintenance on map errorRobin Murphy1-1/+2
2018-10-31mm: remove include/linux/bootmem.hMike Rapoport1-1/+1
2018-10-31memblock: remove _virt from APIs returning virtual addressMike Rapoport1-3/+3
2018-10-19swiotlb: add support for non-coherent DMAChristoph Hellwig1-10/+23
2018-10-19swiotlb: don't dip into swiotlb pool for coherent allocationsChristoph Hellwig1-103/+2
2018-10-19swiotlb: refactor swiotlb_map_pageChristoph Hellwig1-37/+30
2018-10-19swiotlb: use swiotlb_map_page in swiotlb_map_sg_attrsChristoph Hellwig1-22/+12
2018-10-19swiotlb: merge swiotlb_unmap_page and unmap_singleChristoph Hellwig1-11/+4
2018-10-19swiotlb: remove the overflow bufferChristoph Hellwig1-56/+3
2018-10-19swiotlb: do not panic on mapping failuresChristoph Hellwig1-32/+1
2018-10-19swiotlb: mark is_swiotlb_buffer staticChristoph Hellwig1-1/+1
2018-10-19swiotlb: remove a pointless commentChristoph Hellwig1-6/+0
2018-07-25swiotlb: clean up reportingKees Cook1-10/+8
2018-06-28swiotlb: export swiotlb_dma_opsChristoph Hellwig1-0/+1
2018-06-14dma-mapping: move all DMA mapping code to kernel/dmaChristoph Hellwig1-0/+1087