gen8_ppgtt_alloc_pagetabs — Allocate page tables for VA range.
int gen8_ppgtt_alloc_pagetabs ( | struct i915_hw_ppgtt * ppgtt, |
| struct i915_page_directory * pd, | |
| uint64_t start, | |
| uint64_t length, | |
unsigned long * new_pts); |
ppgttMaster ppgtt structure.
pdPage directory for this address range.
start
Starting virtual address to begin allocations.
length Size of the allocations.
length-- undescribed --
new_ptsBitmap set by function with new allocations. Likely used by the caller to free on error.
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.