aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_ringbuffer.c
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2017-04-11 06:13:40 -0400
committerChris Wilson <chris@chris-wilson.co.uk>2017-04-11 07:50:44 -0400
commitf42bb651d1e796ad6d86fc66d578abdee445696b (patch)
treefca3ff1680b1ec50acdabc79f49fee305f8d30a1 /drivers/gpu/drm/i915/intel_ringbuffer.c
parente09a3036412a959689bacf017bf2cbc226c9fea4 (diff)
drm/i915: Use safer intel_uncore_wait_for_register in ring-init
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@chris-wilson.co.uk> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Link: http://patchwork.freedesktop.org/patch/msgid/20170411101340.31994-5-chris@chris-wilson.co.uk Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Diffstat (limited to 'drivers/gpu/drm/i915/intel_ringbuffer.c')
-rw-r--r--drivers/gpu/drm/i915/intel_ringbuffer.c6
1 files 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)
538 I915_WRITE_CTL(engine, RING_CTL_SIZE(ring->size) | RING_VALID); 538 I915_WRITE_CTL(engine, RING_CTL_SIZE(ring->size) | RING_VALID);
539 539
540 /* If the head is still not zero, the ring is dead */ 540 /* If the head is still not zero, the ring is dead */
541 if (intel_wait_for_register_fw(dev_priv, RING_CTL(engine->mmio_base), 541 if (intel_wait_for_register(dev_priv, RING_CTL(engine->mmio_base),
542 RING_VALID, RING_VALID, 542 RING_VALID, RING_VALID,
543 50)) { 543 50)) {
544 DRM_ERROR("%s initialization failed " 544 DRM_ERROR("%s initialization failed "
545 "ctl %08x (valid? %d) head %08x [%08x] tail %08x [%08x] start %08x [expected %08x]\n", 545 "ctl %08x (valid? %d) head %08x [%08x] tail %08x [%08x] start %08x [expected %08x]\n",
546 engine->name, 546 engine->name,