Lines Matching full:virtual

54  * device virtual memory.
58 * virtual range which is a half of the total device virtual range.
60 * On each mapping of physical pages, a suitable virtual range chunk (with a
65 * On each Unmapping of a virtual address, the relevant virtual chunk is
71 * virtual range (which is a half of the device total virtual range).
212 * dma_map_host_va() - DMA mapping of the given host virtual address.
214 * @addr: the host virtual address of the memory area.
265 * dma_unmap_host_va() - DMA unmapping of the given host virtual address.
395 * clear_va_list_locked() - free virtual addresses list.
397 * @va_list: list of virtual addresses to free.
400 * - Iterate over the list and free each virtual addresses block.
416 * print_va_list_locked() - print virtual addresses list.
418 * @va_list: list of virtual addresses to print.
421 * - Iterate over the list and print each virtual addresses block.
441 * merge_va_blocks_locked() - merge a virtual block if possible.
443 * @va_list: pointer to the virtual addresses block list.
444 * @va_block: virtual block to merge with adjacent blocks.
447 * - Merge the given blocks with the adjacent blocks if their virtual ranges
448 * create a contiguous virtual range.
476 * add_va_block_locked() - add a virtual block to the virtual addresses list.
478 * @va_list: pointer to the virtual addresses block list.
479 * @start: start virtual address.
480 * @end: end virtual address.
483 * - Add the given block to the virtual blocks list and merge with other blocks
484 * if a contiguous virtual block can be created.
533 * @va_range: pointer to the virtual addresses range object.
534 * @start: start virtual address.
535 * @end: end virtual address.
554 * @range_type: virtual space range type.
555 * @start_addr: start virtual address.
583 * get_va_block() - get a virtual block for the given size and alignment.
586 * @va_range: pointer to the virtual addresses range.
589 * @va_block_align: required alignment of the virtual block start address.
594 * - Iterate on the virtual block list to find a suitable virtual block for the
597 * - Return the start address of the virtual block.
711 * va block, then return it to the main virtual addresses list. in get_va_block()
743 * hl_reserve_va_block() - reserve a virtual block of a given size.
746 * @type: virtual addresses range type.
748 * @alignment: required alignment in bytes of the virtual block start address,
752 * - Iterate on the virtual block list to find a suitable virtual block for the
755 * - Return the start address of the virtual block.
795 * @start_addr: start virtual address.
836 * - Pin the physical pages related to the given virtual block.
838 * virtual block.
936 * @vaddr: start address of the virtual area to map from.
940 * - Maps each chunk of virtual memory to matching physical chunk.
1004 * @vaddr: start address of the virtual area to unmap.
1065 * @args: host parameters with handle/host virtual address.
1066 * @device_addr: pointer to result device virtual address.
1069 * - If given a physical device memory handle, map to a device virtual block
1071 * - If given a host virtual address and size, find the related physical pages,
1072 * map a device virtual block to this pages and return the start address of
1277 * unmap_device_va() - unmap the given device virtual address.
1279 * @args: host parameters with device virtual address to unmap.
1283 * - unmap the physical pages related to the given virtual address.
1284 * - return the device virtual block to the virtual block list.
2201 /* If DRAM does not support virtual memory the driver won't in hl_mem_ioctl()
2230 /* If DRAM does not support virtual memory the driver won't in hl_mem_ioctl()
2351 * @addr: the host virtual address of the memory area.
2488 * va_range_init() - initialize virtual addresses range.
2491 * @range_type: virtual address range type.
2497 * - Initializes the virtual addresses list of the given range with the given
2551 * va_range_fini() - clear a virtual addresses range.
2553 * @va_range: pointer to virtual addresses range.
2556 * - Frees the virtual addresses block list and its lock.
2569 * vm_ctx_init_with_ranges() - initialize virtual memory for context.
2571 * @host_range_start: host virtual addresses range start.
2572 * @host_range_end: host virtual addresses range end.
2574 * @host_huge_range_start: host virtual addresses range start for memory
2576 * @host_huge_range_end: host virtual addresses range end for memory allocated
2579 * @dram_range_start: dram virtual addresses range start.
2580 * @dram_range_end: dram virtual addresses range end.
2585 * - Virtual address to area descriptor hashtable.
2586 * - Virtual block list of available virtual memory.
2723 * hl_vm_ctx_fini() - virtual memory teardown of context.
2727 * - Virtual block list of available virtual memory.
2728 * - Virtual address to area descriptor hashtable.
2737 * - This function checks the virtual block list for correctness. At this point
2738 * the list should contain one element which describes the whole virtual
2818 * hl_vm_init() - initialize virtual memory module.
2872 * hl_vm_fini() - virtual memory module teardown.
2902 * This function initializes the HW block virtual mapped addresses list and
2915 * This function clears the HW block virtual mapped addresses list and destroys