• Ben Widawsky's avatar
    drm/i915: Extract context switch skip and add pd load logic · 317b4e90
    Ben Widawsky authored
    In Gen8, PDPs are saved and restored with legacy contexts (legacy contexts
    only exist on the render ring). So change the ordering of LRI vs MI_SET_CONTEXT
    for the initialization of the context. Also the only cases in which we
    need to manually update the PDPs are when MI_RESTORE_INHIBIT has been
    set in MI_SET_CONTEXT (i.e. when the context is not yet initialized or
    it is the default context).
    
    Legacy submission is not available post GEN8, so it isn't necessary to
    add extra checks for newer generations.
    
    v2: Use new functions to replace the logic right away (Daniel)
    v3: Add missing pd load logic.
    v4: Add warning in case pd_load_pre & pd_load_post are true, and add
    missing trace_switch_mm. Cleaned up pd_load conditions. Add more
    information about when is pd_load_post needed. (Mika)
    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>
    317b4e90
i915_gem_context.c 26.6 KB