Commit 88f933a8 authored by Daniel Vetter's avatar Daniel Vetter Committed by Jani Nikula

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: default avatarChris 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: default avatarChris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: default avatarDaniel Vetter <daniel.vetter@intel.com>
Signed-off-by: default avatarJani Nikula <jani.nikula@intel.com>
parent 9da7d693
...@@ -5181,7 +5181,7 @@ void intel_edp_drrs_invalidate(struct drm_device *dev, ...@@ -5181,7 +5181,7 @@ void intel_edp_drrs_invalidate(struct drm_device *dev,
if (dev_priv->drrs.type == DRRS_NOT_SUPPORTED) if (dev_priv->drrs.type == DRRS_NOT_SUPPORTED)
return; return;
cancel_delayed_work_sync(&dev_priv->drrs.work); cancel_delayed_work(&dev_priv->drrs.work);
mutex_lock(&dev_priv->drrs.mutex); mutex_lock(&dev_priv->drrs.mutex);
if (!dev_priv->drrs.dp) { if (!dev_priv->drrs.dp) {
...@@ -5225,7 +5225,7 @@ void intel_edp_drrs_flush(struct drm_device *dev, ...@@ -5225,7 +5225,7 @@ void intel_edp_drrs_flush(struct drm_device *dev,
if (dev_priv->drrs.type == DRRS_NOT_SUPPORTED) if (dev_priv->drrs.type == DRRS_NOT_SUPPORTED)
return; return;
cancel_delayed_work_sync(&dev_priv->drrs.work); cancel_delayed_work(&dev_priv->drrs.work);
mutex_lock(&dev_priv->drrs.mutex); mutex_lock(&dev_priv->drrs.mutex);
if (!dev_priv->drrs.dp) { if (!dev_priv->drrs.dp) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment