SYNOPSIS
- int gen8_ppgtt_alloc_pagetabs(struct i915_address_space * vm, struct i915_page_directory * pd, uint64_t start, uint64_t length, unsigned long * new_pts);
ARGUMENTS
vm
-
- Master vm structure.
pd
- Page directory for this address range.
start
- Starting virtual address to begin allocations.
length
- Size of the allocations.
new_pts
- Bitmap set by function with new allocations. Likely used by the caller to free on error.
DESCRIPTION
Allocate the required number of page tables. Extremely similar to gen8_ppgtt_alloc_page_directories. The main difference is here we are limited by the page directory boundary (instead of the page directory pointer). That boundary is 1GB virtual. Therefore, unlike gen8_ppgtt_alloc_page_directories, it is possible, and likely that the caller will need to use multiple calls of this function to achieve the appropriate allocation.
RETURN
0 if success; negative error code otherwise.
AUTHORS
Jesse Barnes <[email protected]>
Intel Corporation,
- Initial version
Laurent Pinchart <[email protected]>
Ideas on board SPRL,
- Driver internals
Daniel Vetter <[email protected]>
Intel Corporation,
- Contributions all over the place
Lukas Wunner <[email protected]>
- vga_switcheroo documentation
COPYRIGHT