• Dave Gordon's avatar
    drm/i915: Expose one LRC function for GuC submission mode · 919f1f55
    Dave Gordon authored
    GuC submission is basically execlist submission, but with the GuC
    handling the actual writes to the ELSP and the resulting context
    switch interrupts.  So to describe a context for submission via
    the GuC, we need one of the same functions used in execlist mode.
    This commit exposes one such function, changing its name to better
    describe what it does (it's related to logical ring contexts rather
    than to execlists per se).
    
    v2:
        Replaces previous "drm/i915: Move execlists defines from .c to .h"
    
    v3:
        Incorporates a change to one of the functions exposed here that was
            previously part of an internal patch, but which was omitted from
            the version recently committed to drm-intel-nightly:
    	    7a01a0a2 drm/i915/lrc: Update PDPx registers with lri commands
            So we reinstate this change here.
    
    v4:
        Drop v3 change, update function parameters due to collision with
            8ee36152 drm/i915: Convert execlists_ctx_descriptor() for requests
    
    v5:
        Don't expose execlists_update_context() after all. The current
            version is no longer compatible with GuC submission; trying to
            share the execlist version of this function results in both GuC
            and CPU updating TAIL in the context image, with bad results when
            they get out of step. The GuC submission path now has its own
            private version that just updates the ringbuffer start address,
            and not TAIL or PDPx.
    
    v6:
        Rebased
    
    Issue: VIZ-4884
    Signed-off-by: default avatarDave Gordon <david.s.gordon@intel.com>
    Reviewed-by: default avatarTom O'Rourke <Tom.O'Rourke@intel.com>
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    919f1f55
intel_lrc.h 3.69 KB