mirror of https://gitee.com/openkylin/linux.git
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>
This commit is contained in:
parent
9da7d69357
commit
88f933a8b0
|
@ -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) {
|
||||
|
|
Loading…
Reference in New Issue