drm/i915/eDP: When enabling panel VDD cancel pending disable worker
authorEgbert Eich <eich@suse.de>
Tue, 25 Nov 2014 11:54:57 +0000 (12:54 +0100)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Wed, 3 Dec 2014 08:29:40 +0000 (09:29 +0100)
commit2c623c11c7d87ada0121c5502358b30c9a849d2d
tree10e4ae98ad87c2ac9e0a9b8cac3fe6b943c3e5f2
parent9d8b0588cb949177597596562134f39f58f01434
drm/i915/eDP: When enabling panel VDD cancel pending disable worker

Before testing if the panel VDD is enabled on eDP cancel any pending
disable worker. This makes sure the worker will be triggered with a
delay from the last time edp_panel_vdd_schedule_off() is called, not
the first time. This avoids unnecessary overhead.

https://bugs.freedesktop.org/show_bug.cgi?id=86201

v2: use cancel_delayed_work() instead of cancel_delayed_work_sync()
as the pps_mutexes will provide the required serialization with
edp_panel_vdd_work() while the sync variant may deadlock. Suggested
by Ville Syrjälä <ville.syrjala@linux.intel.com>.
Made commit message a bit clearer.

Signed-off-by: Egbert Eich <eich@suse.de>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/intel_dp.c