• Tvrtko Ursulin's avatar
    drm/i915: Tidy workaround batch buffer emission · 097d4f1c
    Tvrtko Ursulin authored
    Use the "*batch++ = " style as in the ring emission for better
    readability and also simplify the logic a bit by consolidating
    the offset and size calculations and overflow checking. The
    latter is a programming error so it is not required to check
    for it after each write to the object, but rather do it once the
    whole state has been written and fail the driver if something
    went wrong.
    
    v2: Rebase.
    
    v3: Keep track of offsets and sizes in bytes for simplicity
        and rename function pointer variable to _fn suffix.
        (Chris Wilson)
    
    v4: Fix size calc broken in v3 and add alignment warning. (Chris Wilson)
    
    v5: Fix return code.
    
    v6: I added an exit from loop in v5 but forgot to put back
        the object teardown.
    Signed-off-by: default avatarTvrtko Ursulin <tvrtko.ursulin@intel.com>
    Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> (v5)
    Cc: Chris Wilson <chris@chris-wilson.co.uk>
    Reviewed-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
    097d4f1c
intel_lrc.c 62.5 KB