Lines Matching full:virtual
22 * device virtual memory.
26 * virtual range which is a half of the total device virtual range.
28 * On each mapping of physical pages, a suitable virtual range chunk (with a
33 * On each Unmapping of a virtual address, the relevant virtual chunk is
39 * virtual range (which is a half of the device total virtual range).
166 * dma_map_host_va() - DMA mapping of the given host virtual address.
168 * @addr: the host virtual address of the memory area.
220 * dma_unmap_host_va() - DMA unmapping of the given host virtual address.
374 * clear_va_list_locked() - free virtual addresses list.
376 * @va_list: list of virtual addresses to free.
379 * - Iterate over the list and free each virtual addresses block.
395 * print_va_list_locked() - print virtual addresses list.
397 * @va_list: list of virtual addresses to print.
400 * - Iterate over the list and print each virtual addresses block.
420 * merge_va_blocks_locked() - merge a virtual block if possible.
422 * @va_list: pointer to the virtual addresses block list.
423 * @va_block: virtual block to merge with adjacent blocks.
426 * - Merge the given blocks with the adjacent blocks if their virtual ranges
427 * create a contiguous virtual range.
455 * add_va_block_locked() - add a virtual block to the virtual addresses list.
457 * @va_list: pointer to the virtual addresses block list.
458 * @start: start virtual address.
459 * @end: end virtual address.
462 * - Add the given block to the virtual blocks list and merge with other blocks
463 * if a contiguous virtual block can be created.
512 * @va_list: pointer to the virtual addresses block list.
513 * @start: start virtual address.
514 * @end: end virtual address.
559 * get_va_block() - get a virtual block for the given size and alignment.
562 * @va_range: pointer to the virtual addresses range.
565 * @va_block_align: required alignment of the virtual block start address.
570 * - Iterate on the virtual block list to find a suitable virtual block for the
573 * - Return the start address of the virtual block.
687 * va block, then return it to the main virtual addresses list. in get_va_block()
719 * hl_reserve_va_block() - reserve a virtual block of a given size.
722 * @type: virtual addresses range type.
724 * @alignment: required alignment in bytes of the virtual block start address,
728 * - Iterate on the virtual block list to find a suitable virtual block for the
731 * - Return the start address of the virtual block.
770 * @start: start virtual address.
771 * @end: end virtual address.
811 * - Pin the physical pages related to the given virtual block.
813 * virtual block.
911 * @vaddr: start address of the virtual area to map from.
915 * - Maps each chunk of virtual memory to matching physical chunk.
979 * @vaddr: start address of the virtual area to unmap.
1040 * @args: host parameters with handle/host virtual address.
1041 * @device_addr: pointer to result device virtual address.
1044 * - If given a physical device memory handle, map to a device virtual block
1046 * - If given a host virtual address and size, find the related physical pages,
1047 * map a device virtual block to this pages and return the start address of
1245 * unmap_device_va() - unmap the given device virtual address.
1247 * @args: host parameters with device virtual address to unmap.
1251 * - unmap the physical pages related to the given virtual address.
1252 * - return the device virtual block to the virtual block list.
1584 /* If DRAM does not support virtual memory the driver won't in hl_mem_ioctl()
1613 /* If DRAM does not support virtual memory the driver won't in hl_mem_ioctl()
1716 * @addr: the host virtual address of the memory area.
1853 * va_range_init() - initialize virtual addresses range.
1860 * - Initializes the virtual addresses list of the given range with the given
1906 * va_range_fini() - clear a virtual addresses range.
1908 * va_range: pointer to virtual addresses rang.e
1911 * - Frees the virtual addresses block list and its lock.
1924 * vm_ctx_init_with_ranges() - initialize virtual memory for context.
1926 * @host_range_start: host virtual addresses range start.
1927 * @host_range_end: host virtual addresses range end.
1928 * @host_huge_range_start: host virtual addresses range start for memory
1930 * @host_huge_range_end: host virtual addresses range end for memory allocated
1932 * @dram_range_start: dram virtual addresses range start.
1933 * @dram_range_end: dram virtual addresses range end.
1937 * - Virtual address to area descriptor hashtable.
1938 * - Virtual block list of available virtual memory.
2075 * hl_vm_ctx_fini() - virtual memory teardown of context.
2079 * - Virtual block list of available virtual memory.
2080 * - Virtual address to area descriptor hashtable.
2089 * - This function checks the virtual block list for correctness. At this point
2090 * the list should contain one element which describes the whole virtual
2164 * hl_vm_init() - initialize virtual memory module.
2218 * hl_vm_fini() - virtual memory module teardown.
2248 * This function initializes the HW block virtual mapped addresses list and
2261 * This function clears the HW block virtual mapped addresses list and destroys