• Oscar Mateo's avatar
    drm/i915: Emphasize that ctx->obj & ctx->is_initialized refer to the legacy rcs ctx · ea0c76f8
    Oscar Mateo authored
    We have already advanced that Logical Ring Contexts have their own kind
    of backing objects, but everything will be better explained in the Execlists
    series. For now, suffice it to say that the current backing object is only
    ever used with the render ring, so we're making this fact more explicit
    (which is a good reason on its own).
    
    As for the is_initialized flag, we only use to signify that the render state
    has been initialized (a.k.a. golden context, a.k.a. null context). It doesn't
    mean anything for the other engines, so make that distinction obvious.
    
    Done with the following Coccinelle patch (plus manual frobbing of the struct):
    
        @@
        struct intel_context c;
        @@
        - (c).obj
        + c.legacy_hw_ctx.rcs_state
    
        @@
        struct intel_context *c;
        @@
        - (c)->obj
        + c->legacy_hw_ctx.rcs_state
    
        @@
        struct intel_context c;
        @@
        - (c).is_initialized
        + c.legacy_hw_ctx.initialized
    
        @@
        struct intel_context *c;
        @@
        - (c)->is_initialized
        + c->legacy_hw_ctx.initialized
    
    This Execlists prep-work patch has been suggested by Chris Wilson and Daniel
    Vetter separately.
    
    Initially, it was two separate patches:
    drm/i915: Rename ctx->obj to ctx->rcs_state
    drm/i915: Make it obvious that ctx->id is merely a user handle
    Signed-off-by: default avatarOscar Mateo <oscar.mateo@intel.com>
    Reviewed-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
    [danvet: s/id/is_initialized/ to fix the subject and resolve a
    conflict in i915_gem_context_reset. Also introduce a new lctx local
    variable to avoid overtly long lines.]
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    ea0c76f8
i915_gem_context.c 24.4 KB