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 773538e86081d146e0020435d614f4b96996c1f9
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>

authored by Ville Syrjälä and committed by Jani Nikula afa4e53a bdfa7542

Changed files
+1
drivers
gpu
drm
i915
+1
drivers/gpu/drm/i915/intel_dp.c
··· 4450 4450 * vdd might still be enabled do to the delayed vdd off. 4451 4451 * Make sure vdd is actually turned off here. 4452 4452 */ 4453 + cancel_delayed_work_sync(&intel_dp->panel_vdd_work); 4453 4454 pps_lock(intel_dp); 4454 4455 edp_panel_vdd_off_sync(intel_dp); 4455 4456 pps_unlock(intel_dp);