Skip to content

Commit

Permalink
drm/i915/eDP: When enabling panel VDD cancel pending disable worker
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Egbert Eich authored and Daniel Vetter committed Dec 3, 2014
1 parent 9d8b058 commit 2c623c1
Showing 1 changed file with 1 addition and 0 deletions.
1 change: 1 addition & 0 deletions drivers/gpu/drm/i915/intel_dp.c
Original file line number Diff line number Diff line change
Expand Up @@ -1503,6 +1503,7 @@ static bool edp_panel_vdd_on(struct intel_dp *intel_dp)
if (!is_edp(intel_dp))
return false;

cancel_delayed_work(&intel_dp->panel_vdd_work);
intel_dp->want_panel_vdd = true;

if (edp_have_panel_vdd(intel_dp))
Expand Down

0 comments on commit 2c623c1

Please sign in to comment.