Skip to content
Snippets Groups Projects
Select Git revision
1 result Searching

intel_dp.c

  • Ville Syrjälä's avatar
    afa4e53a
    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
    History
    drm/i915: Cancel vdd off work before suspend
    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>