• Daniel Vetter's avatar
    drm/i915: fix up gt init sequence fallout · 181d1b9e
    Daniel Vetter authored
    The regression fix for gen6+ rps fallout
    
    commit 7dcd2677
    Author: Konstantin Khlebnikov <khlebnikov@openvz.org>
    Date:   Wed Jul 17 10:22:58 2013 +0400
    
        drm/i915: fix long-standing SNB regression in power consumption after resume
    
    unintentionally also changed the init sequence ordering between
    gt_init and gt_reset - we need to reset BIOS damage like leftover
    forcewake references before we run our own code. Otherwise we can get
    nasty dmesg noise like
    
    [drm:__gen6_gt_force_wake_mt_get] *ERROR* Timed out waiting for forcewake old ack to clear.
    
    again. Since _reset suggests that we first need to have stuff
    initialized (which isn't the case here) call it sanitze instead.
    
    While at it also block out the rps disable introduced by the above
    commit on ilk: We don't have any knowledge of ilk rps being broken in
    similar ways. And the disable functions uses the default hw state
    which is only read out when we're enabling rps. So essentially we've
    been writing random grabage into that register.
    Reported-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
    Cc: Chris Wilson <chris@chris-wilson.co.uk>
    Cc: Konstantin Khlebnikov <khlebnikov@openvz.org>
    Cc: Jesse Barnes <jbarnes@virtuousgeek.org>
    Cc: stable@vger.kernel.org
    Tested-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
    Reviewed-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    181d1b9e
i915_drv.c 40.6 KB