Skip to content

Commit

Permalink
drm/i915: Don't cancel DRRS worker synchronously for flush/invalidate
Browse files Browse the repository at this point in the history
It's not needed since the worker rechecks that it didn't race. We only
need to cancel synchronously after disabling drrs to make sure the
worker really is gone (e.g. for driver unload). But for normal
operation the stall is just wasted time.

Reported-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: Ramalingam C <ramalingam.c@intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Vandana Kannan <vandana.kannan@intel.com>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
  • Loading branch information
Daniel Vetter authored and Jani Nikula committed Apr 10, 2015
1 parent 9da7d69 commit 88f933a
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions drivers/gpu/drm/i915/intel_dp.c
Original file line number Diff line number Diff line change
Expand Up @@ -5181,7 +5181,7 @@ void intel_edp_drrs_invalidate(struct drm_device *dev,
if (dev_priv->drrs.type == DRRS_NOT_SUPPORTED)
return;

cancel_delayed_work_sync(&dev_priv->drrs.work);
cancel_delayed_work(&dev_priv->drrs.work);

mutex_lock(&dev_priv->drrs.mutex);
if (!dev_priv->drrs.dp) {
Expand Down Expand Up @@ -5225,7 +5225,7 @@ void intel_edp_drrs_flush(struct drm_device *dev,
if (dev_priv->drrs.type == DRRS_NOT_SUPPORTED)
return;

cancel_delayed_work_sync(&dev_priv->drrs.work);
cancel_delayed_work(&dev_priv->drrs.work);

mutex_lock(&dev_priv->drrs.mutex);
if (!dev_priv->drrs.dp) {
Expand Down

0 comments on commit 88f933a

Please sign in to comment.