• S
    drm/i915: Sharing platform specific sequence between runtime and system suspend/ resume paths · 016970be
    Sagar Kamble 提交于
    On VLV, post S0i3 during i915_drm_thaw following issue is observed during ring
    initialization.
    
    [ 335.604039] [drm:stop_ring] ERROR render ring :timed out trying to stop ring
    [ 336.607340] [drm:stop_ring] ERROR render ring :timed out trying to stop ring
    [ 336.607345] [drm:init_ring_common] ERROR failed to set render ring head to zero ctl 00000000 head 00000000 tail 00000000 start 00000000
    [ 337.610645] [drm:stop_ring] ERROR bsd ring :timed out trying to stop ring
    [ 338.613952] [drm:stop_ring] ERROR bsd ring :timed out trying to stop ring
    [ 338.613956] [drm:init_ring_common] ERROR failed to set bsd ring head to zero ctl 00000000 head 00000000 tail 00000000 start 00000000
    [ 339.617256] [drm:stop_ring] ERROR render ring :timed out trying to stop ring
    [ 339.617258] -----------[ cut here ]-----------
    [ 339.617267] WARNING: CPU: 0 PID: 6 at drivers/gpu/drm/i915/intel_ringbuffer.c:1666 intel_cleanup_ring+0xe6/0xf0()
    [ 339.617396] --[ end trace 5ef5ed1a3c92e2a6 ]--
    [ 339.617428] [drm:__i915_drm_thaw] ERROR failed to re-initialize GPU, declaring wedged!
    
    This is happening since wake is not enabled and Gunit registers are not restored.
    For this system suspend/resume paths need to follow save/restore and additional
    platform specific setup in suspend_complete and resume_prepare.
    
    suspend_complete is shared unconditionaly for VLV, HSW, BDW. resume_prepare for
    HSW and BDW has pc8 disabling which is needed during thaw_early so sharing
    uncondtionally. For VLV and SNB runtime resume specific sequence exists.
    
    Cc: Imre Deak <imre.deak@intel.com>
    Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
    Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
    Cc: Jani Nikula <jani.nikula@linux.intel.com>
    Cc: Goel, Akash <akash.goel@intel.com>
    Signed-off-by: NSagar Kamble <sagar.a.kamble@intel.com>
    Reviewed-by: NImre Deak <imre.deak@intel.com>
    Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
    016970be
i915_drv.c 44.9 KB