swiotlb: remove swiotlb_init_with_tbl and swiotlb_init_late_with_tbl
No users left.
Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> Tested-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
···3434/* default to 64MB */3535#define IO_TLB_DEFAULT_SIZE (64UL<<20)36363737-int swiotlb_init_with_tbl(char *tlb, unsigned long nslabs, unsigned int flags);3837unsigned long swiotlb_size_or_default(void);3938void __init swiotlb_init_remap(bool addressing_limit, unsigned int flags,4039 int (*remap)(void *tlb, unsigned long nslabs));4140int swiotlb_init_late(size_t size, gfp_t gfp_mask,4241 int (*remap)(void *tlb, unsigned long nslabs));4343-extern int swiotlb_late_init_with_tbl(char *tlb, unsigned long nslabs);4442extern void __init swiotlb_update_mem_attributes(void);45434644phys_addr_t swiotlb_tbl_map_single(struct device *hwdev, phys_addr_t phys,
+20-57
kernel/dma/swiotlb.c
···225225 return;226226}227227228228-int __init swiotlb_init_with_tbl(char *tlb, unsigned long nslabs,229229- unsigned int flags)230230-{231231- struct io_tlb_mem *mem = &io_tlb_default_mem;232232- size_t alloc_size;233233-234234- if (swiotlb_force_disable)235235- return 0;236236-237237- /* protect against double initialization */238238- if (WARN_ON_ONCE(mem->nslabs))239239- return -ENOMEM;240240-241241- alloc_size = PAGE_ALIGN(array_size(sizeof(*mem->slots), nslabs));242242- mem->slots = memblock_alloc(alloc_size, PAGE_SIZE);243243- if (!mem->slots)244244- panic("%s: Failed to allocate %zu bytes align=0x%lx\n",245245- __func__, alloc_size, PAGE_SIZE);246246-247247- swiotlb_init_io_tlb_mem(mem, __pa(tlb), nslabs, false);248248- mem->force_bounce = flags & SWIOTLB_FORCE;249249-250250- if (flags & SWIOTLB_VERBOSE)251251- swiotlb_print_info();252252- return 0;253253-}254254-255228/*256229 * Statically reserve bounce buffer space and initialize bounce buffer data257230 * structures for the software IO TLB used to implement the DMA API.···232259void __init swiotlb_init_remap(bool addressing_limit, unsigned int flags,233260 int (*remap)(void *tlb, unsigned long nslabs))234261{262262+ struct io_tlb_mem *mem = &io_tlb_default_mem;235263 unsigned long nslabs = default_nslabs;264264+ size_t alloc_size = PAGE_ALIGN(array_size(sizeof(*mem->slots), nslabs));236265 size_t bytes;237266 void *tlb;238267···255280 else256281 tlb = memblock_alloc_low(bytes, PAGE_SIZE);257282 if (!tlb)258258- goto fail;283283+ panic("%s: failed to allocate tlb structure\n", __func__);284284+259285 if (remap && remap(tlb, nslabs) < 0) {260286 memblock_free(tlb, PAGE_ALIGN(bytes));261287···266290 __func__, bytes);267291 goto retry;268292 }269269- if (swiotlb_init_with_tbl(tlb, default_nslabs, flags))270270- goto fail_free_mem;271271- return;272293273273-fail_free_mem:274274- memblock_free(tlb, bytes);275275-fail:276276- pr_warn("Cannot allocate buffer");294294+ mem->slots = memblock_alloc(alloc_size, PAGE_SIZE);295295+ if (!mem->slots)296296+ panic("%s: Failed to allocate %zu bytes align=0x%lx\n",297297+ __func__, alloc_size, PAGE_SIZE);298298+299299+ swiotlb_init_io_tlb_mem(mem, __pa(tlb), default_nslabs, false);300300+ mem->force_bounce = flags & SWIOTLB_FORCE;301301+302302+ if (flags & SWIOTLB_VERBOSE)303303+ swiotlb_print_info();277304}278305279306void __init swiotlb_init(bool addressing_limit, unsigned int flags)···292313int swiotlb_init_late(size_t size, gfp_t gfp_mask,293314 int (*remap)(void *tlb, unsigned long nslabs))294315{316316+ struct io_tlb_mem *mem = &io_tlb_default_mem;295317 unsigned long nslabs = ALIGN(size >> IO_TLB_SHIFT, IO_TLB_SEGSIZE);296318 unsigned long bytes;297319 unsigned char *vstart = NULL;···333353 return rc;334354 goto retry;335355 }336336- rc = swiotlb_late_init_with_tbl(vstart, nslabs);337337- if (rc)338338- free_pages((unsigned long)vstart, order);339339-340340- return rc;341341-}342342-343343-int344344-swiotlb_late_init_with_tbl(char *tlb, unsigned long nslabs)345345-{346346- struct io_tlb_mem *mem = &io_tlb_default_mem;347347- unsigned long bytes = nslabs << IO_TLB_SHIFT;348348-349349- if (swiotlb_force_disable)350350- return 0;351351-352352- /* protect against double initialization */353353- if (WARN_ON_ONCE(mem->nslabs))354354- return -ENOMEM;355356356357 mem->slots = (void *)__get_free_pages(GFP_KERNEL | __GFP_ZERO,357358 get_order(array_size(sizeof(*mem->slots), nslabs)));358358- if (!mem->slots)359359+ if (!mem->slots) {360360+ free_pages((unsigned long)vstart, order);359361 return -ENOMEM;362362+ }360363361361- set_memory_decrypted((unsigned long)tlb, bytes >> PAGE_SHIFT);362362- swiotlb_init_io_tlb_mem(mem, virt_to_phys(tlb), nslabs, true);364364+ set_memory_decrypted((unsigned long)vstart, bytes >> PAGE_SHIFT);365365+ swiotlb_init_io_tlb_mem(mem, virt_to_phys(vstart), nslabs, true);363366364367 swiotlb_print_info();365368 return 0;