• Michel Thierry's avatar
    drm/i915/gen8: Initialize PDPs and PML4 · 69ab76fd
    Michel Thierry authored
    Similar to PDs, while setting up a page directory pointer, make all entries
    of the pdp point to the scratch pd before mapping (and make all its entries
    point to the scratch page); this is to be safe in case of out of bound
    access or  proactive prefetch.
    
    Also add a scratch pdp, which the PML4 entries point to.
    
    v2: Handle scratch_pdp allocation failure correctly, and keep
    initialize_px functions together (Akash)
    v3: Rebase after Mika's ppgtt cleanup / scratch merge patch series. Rely on
    the added macros to initialize the pdps.
    v4: Rebase after final merged version of Mika's ppgtt/scratch patches
    (and removed commit message part related to v3).
    v5: Update commit message to also mention PML4 table initialization and
    the new scratch pdp (Akash).
    Suggested-by: default avatarAkash Goel <akash.goel@intel.com>
    Signed-off-by: default avatarMichel Thierry <michel.thierry@intel.com>
    Reviewed-by: default avatarAkash Goel <akash.goel@intel.com>
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    69ab76fd
i915_gem_gtt.c 86.4 KB