Lines Matching refs:va_range
495 struct hl_va_range *va_range, u64 start, u64 end) in add_va_block() argument
499 mutex_lock(&va_range->lock); in add_va_block()
500 rc = add_va_block_locked(hdev, &va_range->list, start, end); in add_va_block()
501 mutex_unlock(&va_range->lock); in add_va_block()
522 struct hl_va_range *va_range, u64 size, u64 hint_addr, in get_va_block() argument
544 mutex_lock(&va_range->lock); in get_va_block()
546 print_va_list_locked(hdev, &va_range->list); in get_va_block()
548 list_for_each_entry(va_block, &va_range->list, node) { in get_va_block()
604 add_va_block_locked(hdev, &va_range->list, prev_start, in get_va_block()
607 print_va_list_locked(hdev, &va_range->list); in get_va_block()
609 mutex_unlock(&va_range->lock); in get_va_block()
1408 struct hl_va_range *va_range, u64 start, u64 end) in hl_va_range_init() argument
1412 INIT_LIST_HEAD(&va_range->list); in hl_va_range_init()
1429 rc = add_va_block(hdev, va_range, start, end); in hl_va_range_init()
1436 va_range->start_addr = start; in hl_va_range_init()
1437 va_range->end_addr = end; in hl_va_range_init()
1550 struct hl_va_range *va_range) in hl_va_range_fini() argument
1554 if (list_empty(&va_range->list)) { in hl_va_range_fini()
1560 if (!list_is_singular(&va_range->list)) { in hl_va_range_fini()
1566 va_block = list_first_entry(&va_range->list, typeof(*va_block), node); in hl_va_range_fini()
1568 if (va_block->start != va_range->start_addr || in hl_va_range_fini()
1569 va_block->end != va_range->end_addr) { in hl_va_range_fini()
1577 mutex_lock(&va_range->lock); in hl_va_range_fini()
1578 clear_va_list_locked(hdev, &va_range->list); in hl_va_range_fini()
1579 mutex_unlock(&va_range->lock); in hl_va_range_fini()
1582 mutex_destroy(&va_range->lock); in hl_va_range_fini()