[Intel-gfx] [PATCH] drm/i915: Disable idle messaging before ring disable

Chris Wilson chris at chris-wilson.co.uk
Fri May 22 13:41:25 PDT 2015


On Fri, May 22, 2015 at 08:18:46PM +0300, Mika Kuoppala wrote:
> diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
> index d934f85..c06dc76 100644
> --- a/drivers/gpu/drm/i915/intel_ringbuffer.c
> +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
> @@ -531,6 +531,31 @@ static void intel_ring_setup_status_page(struct intel_engine_cs *ring)
>  	}
>  }
>  
> +static void disable_ring(struct intel_engine_cs *ring)
> +{
> +	struct drm_i915_private *dev_priv = to_i915(ring->dev);
> +	const bool need_idle_disable = ring->id == RCS &&
> +		INTEL_INFO(ring->dev)->gen > 7;
> +
> +	assert_forcewakes_active(dev_priv);
> +
> +	if (need_idle_disable) {
> +		I915_WRITE(RING_PSMI_CTL(ring->mmio_base),
> +			   _MASKED_BIT_ENABLE(GEN6_PSMI_SLEEP_MSG_DISABLE));
[snip]
> +	if (need_idle_disable)
> +		I915_WRITE(GEN6_RC_SLEEP_PSMI_CONTROL,
> +			   _MASKED_BIT_DISABLE(GEN6_PSMI_SLEEP_MSG_DISABLE));

Snap!

Oh wait.
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre


More information about the Intel-gfx mailing list