On Thu, Jul 11, 2013 at 06:45:04PM -0300, Rodrigo Vivi wrote:
> +static void intel_edp_psr_delayed_normal_work(struct work_struct *__work)
> +{
> +     struct intel_dp *intel_dp = container_of(to_delayed_work(__work),
> +                                              struct intel_dp,
> +                                              edp_psr_delayed_normal_work);
> +     struct drm_device *dev = intel_dp_to_dev(intel_dp);
> +     struct drm_i915_private *dev_priv = dev->dev_private;
> +
> +     mutex_lock(&intel_dp->psr_exit_mutex);
> +     I915_WRITE(EDP_PSR_DEBUG_CTL, I915_READ(EDP_PSR_DEBUG_CTL) &
> +                ~EDP_PSR_DEBUG_FORCE_EXIT);
> +     mutex_unlock(&intel_dp->psr_exit_mutex);

Note that mutex_unlock is not necessarily a write-barrier. We may
presume that it uses a locked instruction somewhere in its
implementation, but if you use a POSTING_READ all doubt is removed and
the intent made clear.
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to