• N
    drm/i915: Split alloc from init for lrc · e84fe803
    Nick Hoath 提交于
    Extend init/init_hw split to context init.
       - Move context initialisation in to i915_gem_init_hw
       - Move one off initialisation for render ring to
            i915_gem_validate_context
       - Move default context initialisation to logical_ring_init
    
    Rename intel_lr_context_deferred_create to
    intel_lr_context_deferred_alloc, to reflect reduced functionality &
    alloc/init split.
    
    This patch is intended to split out the allocation of resources &
    initialisation to allow easier reuse of code for resume/gpu reset.
    
    v2: Removed function ptr wrapping of do_switch_context (Daniel Vetter)
        Left ->init_context int intel_lr_context_deferred_alloc
        (Daniel Vetter)
        Remove unnecessary init flag & ring type test. (Daniel Vetter)
        Improve commit message (Daniel Vetter)
    v3: On init/reinit, set the hw next sequence number to the sw next
        sequence number. This is set to 1 at driver load time. This prevents
        the seqno being reset on reinit (Chris Wilson)
    v4: Set seqno back to ~0 - 0x1000 at start-of-day, and increment by 0x100
        on reset.
        This makes it obvious which bbs are which after a reset. (David Gordon
        & John Harrison)
        Rebase.
    v5: Rebase. Fixed rebase breakage. Put context pinning in separate
        function. Removed code churn. (Thomas Daniel)
    v6: Cleanup up issues introduced in v2 & v5 (Thomas Daniel)
    
    Issue: VIZ-4798
    Signed-off-by: NNick Hoath <nicholas.hoath@intel.com>
    Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
    Cc: Chris Wilson <chris@chris-wilson.co.uk>
    Cc: John Harrison <john.c.harrison@intel.com>
    Cc: David Gordon <david.s.gordon@intel.com>
    Cc: Thomas Daniel <thomas.daniel@intel.com>
    Reviewed-by: NThomas Daniel <thomas.daniel@intel.com>
    Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
    e84fe803
i915_gem.c 130.5 KB