• Ville Syrjälä's avatar
    drm/i915: Cancel vdd off work before suspend · afa4e53a
    Ville Syrjälä authored
    Currently we just make sure vdd is off before suspending, but we don't
    cancel the vdd off work. The work wil not touch vdd if
    want_panel_vdd==false so in theory this is fine.
    
    In the past that was perfectly fine since the vdd off work didn't do
    anything when want_panel_vdd==false, so even if the work would have been
    run during system resume before i915 has resumed, nothing would happen.
    
    However since pps_lock() will now grab the power domain references before
    it can check want_panel_vdd, we may end up toggling the power wells on/off
    already before the driver has resumed. That is not really acceptable, so
    cancel the vdd off work when suspending the encoder.
    
    The problem appeared when pps_lock() was introduced in:
     commit 773538e8
     Author: Ville Syrjälä <ville.syrjala@linux.intel.com>
     Date:   Thu Sep 4 14:54:56 2014 +0300
    
        drm/i915: Reset power sequencer pipe tracking when disp2d is off
    Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
    Reviewed-by: default avatarImre Deak <imre.deak@intel.com>
    Signed-off-by: default avatarJani Nikula <jani.nikula@intel.com>
    afa4e53a
intel_dp.c 148 KB