gen8_ppgtt_alloc_pagetabs(9) Allocate page tables for VA range.

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