[Intel-gfx] [PATCH 5/5] drm/i915: Use safer intel_uncore_wait_for_register in ring-init

Tvrtko Ursulin tvrtko.ursulin at linux.intel.com
Tue Apr 11 11:28:54 UTC 2017


On 11/04/2017 11:13, Chris Wilson wrote:
> While we do hold the forcewake for legacy ringbuffer initialisation, we
> don't guard our access with the uncore.lock spinlock. In theory, we only
> initialise when no others should be accessing the same mmio cachelines,
> but in practice be safe as this is an infrequently used path and not
> worth risky micro-optimisations.
>
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> Cc: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
> ---
>  drivers/gpu/drm/i915/intel_ringbuffer.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
> index 331da59a1eb5..97d5fcca8805 100644
> --- a/drivers/gpu/drm/i915/intel_ringbuffer.c
> +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
> @@ -538,9 +538,9 @@ static int init_ring_common(struct intel_engine_cs *engine)
>  	I915_WRITE_CTL(engine, RING_CTL_SIZE(ring->size) | RING_VALID);
>
>  	/* If the head is still not zero, the ring is dead */
> -	if (intel_wait_for_register_fw(dev_priv, RING_CTL(engine->mmio_base),
> -				       RING_VALID, RING_VALID,
> -				       50)) {
> +	if (intel_wait_for_register(dev_priv, RING_CTL(engine->mmio_base),
> +				    RING_VALID, RING_VALID,
> +				    50)) {
>  		DRM_ERROR("%s initialization failed "
>  			  "ctl %08x (valid? %d) head %08x [%08x] tail %08x [%08x] start %08x [expected %08x]\n",
>  			  engine->name,
>

Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin at intel.com>

Regards,

Tvrtko


More information about the Intel-gfx mailing list