[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH 12/14] swiotlb: move global variables into a new io_tlb_mem structure
..snip.. > int __init swiotlb_init_with_tbl(char *tlb, unsigned long nslabs, int > verbose) > { ..snip.. > /* > * Allocate and initialize the free list array. This array is used > * to find contiguous free memory regions of size up to IO_TLB_SEGSIZE > - * between io_tlb_start and io_tlb_end. > + * between mem->start and mem->end. > */ > - alloc_size = PAGE_ALIGN(io_tlb_nslabs * sizeof(int)); > - io_tlb_list = memblock_alloc(alloc_size, PAGE_SIZE); > - if (!io_tlb_list) > + alloc_size = PAGE_ALIGN(mem->nslabs * sizeof(int)); > + mem->list = memblock_alloc(alloc_size, PAGE_SIZE); > + if (!mem->list) > panic("%s: Failed to allocate %zu bytes align=0x%lx\n", > __func__, alloc_size, PAGE_SIZE); > > - alloc_size = PAGE_ALIGN(io_tlb_nslabs * sizeof(phys_addr_t)); > - io_tlb_orig_addr = memblock_alloc(alloc_size, PAGE_SIZE); > - if (!io_tlb_orig_addr) > + alloc_size = PAGE_ALIGN(mem->nslabs * sizeof(phys_addr_t)); > + mem->orig_addr = memblock_alloc(alloc_size, PAGE_SIZE); > + if (!mem->orig_addr) > panic("%s: Failed to allocate %zu bytes align=0x%lx\n", > __func__, alloc_size, PAGE_SIZE); > > - alloc_size = PAGE_ALIGN(io_tlb_nslabs * sizeof(size_t)); > - io_tlb_alloc_size = memblock_alloc(alloc_size, PAGE_SIZE); > - if (!io_tlb_alloc_size) > - panic("%s: Failed to allocate %zu bytes align=0x%lx\n", > - __func__, alloc_size, PAGE_SIZE); Shouldn't this be converted to: mem->alloc_size = memblock_alloc(alloc_size, PAGE_SIZE); if (...) Seems that it got lost in the search and replace? > - > - for (i = 0; i < io_tlb_nslabs; i++) { > - io_tlb_list[i] = IO_TLB_SEGSIZE - io_tlb_offset(i); > - io_tlb_orig_addr[i] = INVALID_PHYS_ADDR; > - io_tlb_alloc_size[i] = 0; > + for (i = 0; i < mem->nslabs; i++) { > + mem->list[i] = IO_TLB_SEGSIZE - io_tlb_offset(i); > + mem->orig_addr[i] = INVALID_PHYS_ADDR; > + mem->alloc_size[i] = 0; > } > - io_tlb_index = 0; > no_iotlb_memory = false; > > if (verbose) > swiotlb_print_info(); > > - swiotlb_set_max_segment(io_tlb_nslabs << IO_TLB_SHIFT); > + swiotlb_set_max_segment(mem->nslabs << IO_TLB_SHIFT); > return 0; > } > ..snip..
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |