diff options
author | Daniel Vetter <[email protected]> | 2015-04-09 16:44:16 +0200 |
---|---|---|
committer | Jani Nikula <[email protected]> | 2015-04-10 14:30:09 +0300 |
commit | 88f933a8b03474ebcd16935d3620e5c10b557f6f (patch) | |
tree | 733c34e381051394e1c925695e2e09c058b95d01 | |
parent | 9da7d69357389ea63893434fe3b17b9fbc2c2d2d (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 <[email protected]>
Cc: Chris Wilson <[email protected]>
Cc: Ville Syrjälä <[email protected]>
Cc: Ramalingam C <[email protected]>
Cc: Rodrigo Vivi <[email protected]>
Cc: Vandana Kannan <[email protected]>
Reviewed-by: Chris Wilson <[email protected]>
Signed-off-by: Daniel Vetter <[email protected]>
Signed-off-by: Jani Nikula <[email protected]>
-rw-r--r-- | drivers/gpu/drm/i915/intel_dp.c | 4 |
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, 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) { @@ -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) { |