Lines Matching refs:va_block

386 	struct hl_vm_va_block *va_block, *tmp;  in clear_va_list_locked()  local
388 list_for_each_entry_safe(va_block, tmp, va_list, node) { in clear_va_list_locked()
389 list_del(&va_block->node); in clear_va_list_locked()
390 kfree(va_block); in clear_va_list_locked()
408 struct hl_vm_va_block *va_block; in print_va_list_locked() local
412 list_for_each_entry(va_block, va_list, node) in print_va_list_locked()
415 va_block->start, va_block->end, va_block->size); in print_va_list_locked()
432 struct list_head *va_list, struct hl_vm_va_block *va_block) in merge_va_blocks_locked() argument
436 prev = list_prev_entry(va_block, node); in merge_va_blocks_locked()
437 if (&prev->node != va_list && prev->end + 1 == va_block->start) { in merge_va_blocks_locked()
438 prev->end = va_block->end; in merge_va_blocks_locked()
440 list_del(&va_block->node); in merge_va_blocks_locked()
441 kfree(va_block); in merge_va_blocks_locked()
442 va_block = prev; in merge_va_blocks_locked()
445 next = list_next_entry(va_block, node); in merge_va_blocks_locked()
446 if (&next->node != va_list && va_block->end + 1 == next->start) { in merge_va_blocks_locked()
447 next->start = va_block->start; in merge_va_blocks_locked()
449 list_del(&va_block->node); in merge_va_blocks_locked()
450 kfree(va_block); in merge_va_blocks_locked()
470 struct hl_vm_va_block *va_block, *res = NULL; in add_va_block_locked() local
475 list_for_each_entry(va_block, va_list, node) { in add_va_block_locked()
477 if (hl_mem_area_crosses_range(start, size, va_block->start, in add_va_block_locked()
478 va_block->end)) { in add_va_block_locked()
481 va_block->start, va_block->end); in add_va_block_locked()
485 if (va_block->end < start) in add_va_block_locked()
486 res = va_block; in add_va_block_locked()
489 va_block = kmalloc(sizeof(*va_block), GFP_KERNEL); in add_va_block_locked()
490 if (!va_block) in add_va_block_locked()
493 va_block->start = start; in add_va_block_locked()
494 va_block->end = end; in add_va_block_locked()
495 va_block->size = size; in add_va_block_locked()
498 list_add(&va_block->node, va_list); in add_va_block_locked()
500 list_add(&va_block->node, &res->node); in add_va_block_locked()
502 merge_va_blocks_locked(hdev, va_list, va_block); in add_va_block_locked()
581 struct hl_vm_va_block *va_block, *new_va_block = NULL; in get_va_block() local
627 list_for_each_entry(va_block, &va_range->list, node) { in get_va_block()
629 valid_start = va_block->start; in get_va_block()
634 if (valid_start > va_block->end) in get_va_block()
638 valid_size = va_block->end - valid_start; in get_va_block()
654 new_va_block = va_block; in get_va_block()
660 (hint_addr + size) <= va_block->end) { in get_va_block()
661 new_va_block = va_block; in get_va_block()