]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915: Cancel vdd off work before suspend
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Tue, 25 Nov 2014 13:43:48 +0000 (15:43 +0200)
committerJani Nikula <jani.nikula@intel.com>
Wed, 26 Nov 2014 12:27:46 +0000 (14:27 +0200)
commiteaa8856d1c8d9ca8930e265787ec44ee67202f86
treef8a460c4398dda11feadb49ad73f3f8457dbc255
parent12ac7424c62b439239b66998f193e4b6807d2a6c
drm/i915: Cancel vdd off work before suspend

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 6ee60e170bc53193d6e85d89732b931dcc28b727
 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: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Imre Deak <imre.deak@intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
drivers/gpu/drm/i915/intel_dp.c