From: Chris Wilson Date: Tue, 2 Jan 2018 15:12:33 +0000 (+0000) Subject: drm/i915/execlists: Record elsp offset during engine setup X-Git-Tag: v4.19~298^2~46^2~846 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=693cfbf0589040536c673d6ed3d262ea3ecf9aea;p=platform%2Fkernel%2Flinux-rpi.git drm/i915/execlists: Record elsp offset during engine setup Currently, we record the elsp register offset inside init-hw but we only need to do it once during engine setup (after we know the mmio iomapping). Signed-off-by: Chris Wilson Reviewed-by: MichaƂ Winiarski Link: https://patchwork.freedesktop.org/patch/msgid/20180102151235.3949-17-chris@chris-wilson.co.uk --- diff --git a/drivers/gpu/drm/i915/intel_lrc.c b/drivers/gpu/drm/i915/intel_lrc.c index 8f699a1..c23ffde 100644 --- a/drivers/gpu/drm/i915/intel_lrc.c +++ b/drivers/gpu/drm/i915/intel_lrc.c @@ -1496,9 +1496,6 @@ static int gen8_init_common_ring(struct intel_engine_cs *engine) execlists->csb_head = -1; execlists->active = 0; - execlists->elsp = - dev_priv->regs + i915_mmio_reg_offset(RING_ELSP(engine)); - /* After a GPU reset, we may have requests to replay */ if (execlists->first) tasklet_schedule(&execlists->tasklet); @@ -2007,6 +2004,9 @@ static int logical_ring_init(struct intel_engine_cs *engine) if (ret) goto error; + engine->execlists.elsp = + engine->i915->regs + i915_mmio_reg_offset(RING_ELSP(engine)); + return 0; error: