drm/i915: Avoid ce->gem_context->i915
authorChris Wilson <chris@chris-wilson.co.uk>
Tue, 30 Jul 2019 16:34:41 +0000 (17:34 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Wed, 31 Jul 2019 06:43:42 +0000 (07:43 +0100)
My plan for the future is to have kernel contexts not to have a GEM
context backpointer (as they will not belong to any GEM context). In a
few places, we use ce->gem_context to simply obtain the i915 backpointer,
for which we can use ce->engine->i915 instead.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190730163441.16477-1-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/gem/i915_gem_client_blt.c
drivers/gpu/drm/i915/gem/i915_gem_context.c
drivers/gpu/drm/i915/i915_perf.c

index 2312a0c6af89c6137580b93035d34b10bc3b1cac..997e122545bc3cf4f6e23ad5b73c81a636434bec 100644 (file)
@@ -152,7 +152,7 @@ static void clear_pages_dma_fence_cb(struct dma_fence *fence,
 static void clear_pages_worker(struct work_struct *work)
 {
        struct clear_pages_work *w = container_of(work, typeof(*w), work);
-       struct drm_i915_private *i915 = w->ce->gem_context->i915;
+       struct drm_i915_private *i915 = w->ce->engine->i915;
        struct drm_i915_gem_object *obj = w->sleeve->vma->obj;
        struct i915_vma *vma = w->sleeve->vma;
        struct i915_request *rq;
index b28c7ca681a80450f61f4ee88ed779fa75aa7c76..eb2d28a37b58baf493e76497ef96bf50b8623bb9 100644 (file)
@@ -1194,7 +1194,7 @@ __intel_context_reconfigure_sseu(struct intel_context *ce,
 {
        int ret;
 
-       GEM_BUG_ON(INTEL_GEN(ce->gem_context->i915) < 8);
+       GEM_BUG_ON(INTEL_GEN(ce->engine->i915) < 8);
 
        ret = intel_context_lock_pinned(ce);
        if (ret)
@@ -1216,7 +1216,7 @@ unlock:
 static int
 intel_context_reconfigure_sseu(struct intel_context *ce, struct intel_sseu sseu)
 {
-       struct drm_i915_private *i915 = ce->gem_context->i915;
+       struct drm_i915_private *i915 = ce->engine->i915;
        int ret;
 
        ret = mutex_lock_interruptible(&i915->drm.struct_mutex);
index 988a4092164e0137dd39393b03f0cc57e6f06d76..f2cc69ccb635ce4c3a6ef92e4dc7148cc711b8e5 100644 (file)
@@ -1667,7 +1667,7 @@ gen8_update_reg_state_unlocked(struct intel_context *ce,
                               u32 *reg_state,
                               const struct i915_oa_config *oa_config)
 {
-       struct drm_i915_private *i915 = ce->gem_context->i915;
+       struct drm_i915_private *i915 = ce->engine->i915;
        u32 ctx_oactxctrl = i915->perf.oa.ctx_oactxctrl_offset;
        u32 ctx_flexeu0 = i915->perf.oa.ctx_flexeu0_offset;
        /* The MMIO offsets for Flex EU registers aren't contiguous */