gen8_ppgtt_alloc_page_dirpointers(9) Allocate pdps for VA range.

SYNOPSIS

int gen8_ppgtt_alloc_page_dirpointers(struct i915_address_space * vm, struct i915_pml4 * pml4, uint64_t start, uint64_t length, unsigned long * new_pdps);

ARGUMENTS

vm

Master vm structure.

pml4

Page map level 4 for this address range.

start

Starting virtual address to begin allocations.

length

Size of the allocations.

new_pdps

Bitmap set by function with new allocations. Likely used by the caller to free on error.

DESCRIPTION

Allocate the required number of page directory pointers. Extremely similar to gen8_ppgtt_alloc_page_directories and gen8_ppgtt_alloc_pagetabs. The main difference is here we are limited by the pml4 boundary (instead of the page directory pointer).

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