• Imre Deak's avatar
    drm/i915: remove unused restore_gtt_mappings optimization during suspend · f4a12ead
    Imre Deak authored
    The logic to skip restoring GTT mappings was added to speed up
    suspend/resume, but not on old GENs where not restoring them caused
    problems. The check for old GENs is based on the existence of OpRegion,
    but this doesn't work since opregion is initialized only after
    the check. So we end up always restoring the mappings.
    
    On my BYT - which has OpRegion - skipping restoring the mappings during
    suspend doesn't work, I get a GPU hang after resume. Also the logic of
    when to allow the optimization during S4 is reversed: we should allow it
    during S4 thaw but not during S4 restore, but atm we have it the other
    way around in the code.
    
    Since correctness wins over optimal code and since the optimization
    wasn't used anyway I decided not to try to fix it at this point, but
    just remove it. This allows us to unify the S3 and S4 handlers in the
    following patches.
    Signed-off-by: default avatarImre Deak <imre.deak@intel.com>
    Reviewed-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    f4a12ead
i915_drv.c 48 KB