• Michel Thierry's avatar
    drm/i915/gen8: Split out mappings · e5815a2e
    Michel Thierry authored
    When we do dynamic page table allocations for gen8, we'll need to have
    more control over how and when we map page tables, similar to gen6.
    In particular, DMA mappings for page directories/tables occur at allocation
    time.
    
    This patch adds the functionality and calls it at init, which should
    have no functional change.
    
    The PDPEs are still a special case for now. We'll need a function for
    that in the future as well.
    
    v2: Handle renamed unmap_and_free_page functions.
    v3: Updated after teardown_va logic was removed.
    v4: Rebase after s/page_tables/page_table/.
    v5: No longer allocate all PDPs in GEN8+ systems with less than 4GB of
    memory, and update populate_lr_context to handle this new case (proper
    tracking will be added later in the patch series).
    v6: Assign lrc page directory pointer addresses using a macro. (Mika)
    
    Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
    Signed-off-by: default avatarBen Widawsky <ben@bwidawsk.net>
    Signed-off-by: Michel Thierry <michel.thierry@intel.com> (v2+)
    Reviewed-by: default avatarMika Kuoppala <mika.kuoppala@intel.com>
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    e5815a2e
intel_lrc.c 58.3 KB