aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu
diff options
context:
space:
mode:
authorDaniel Vetter <daniel.vetter@ffwll.ch>2015-04-09 10:44:16 -0400
committerJani Nikula <jani.nikula@intel.com>2015-04-10 07:30:09 -0400
commit88f933a8b03474ebcd16935d3620e5c10b557f6f (patch)
tree733c34e381051394e1c925695e2e09c058b95d01 /drivers/gpu
parent9da7d69357389ea63893434fe3b17b9fbc2c2d2d (diff)
drm/i915: Don't cancel DRRS worker synchronously for flush/invalidate
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>
Diffstat (limited to 'drivers/gpu')
-rw-r--r--drivers/gpu/drm/i915/intel_dp.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
index 5e60473d08fe..8e0d1015fb36 100644
--- a/drivers/gpu/drm/i915/intel_dp.c
+++ b/drivers/gpu/drm/i915/intel_dp.c
@@ -5181,7 +5181,7 @@ void intel_edp_drrs_invalidate(struct drm_device *dev,
5181 if (dev_priv->drrs.type == DRRS_NOT_SUPPORTED) 5181 if (dev_priv->drrs.type == DRRS_NOT_SUPPORTED)
5182 return; 5182 return;
5183 5183
5184 cancel_delayed_work_sync(&dev_priv->drrs.work); 5184 cancel_delayed_work(&dev_priv->drrs.work);
5185 5185
5186 mutex_lock(&dev_priv->drrs.mutex); 5186 mutex_lock(&dev_priv->drrs.mutex);
5187 if (!dev_priv->drrs.dp) { 5187 if (!dev_priv->drrs.dp) {
@@ -5225,7 +5225,7 @@ void intel_edp_drrs_flush(struct drm_device *dev,
5225 if (dev_priv->drrs.type == DRRS_NOT_SUPPORTED) 5225 if (dev_priv->drrs.type == DRRS_NOT_SUPPORTED)
5226 return; 5226 return;
5227 5227
5228 cancel_delayed_work_sync(&dev_priv->drrs.work); 5228 cancel_delayed_work(&dev_priv->drrs.work);
5229 5229
5230 mutex_lock(&dev_priv->drrs.mutex); 5230 mutex_lock(&dev_priv->drrs.mutex);
5231 if (!dev_priv->drrs.dp) { 5231 if (!dev_priv->drrs.dp) {