• Arun Siluvery's avatar
    drm/i915: Update WaFlushCoherentL3CacheLinesAtContextSwitch · 9e000847
    Arun Siluvery authored
    In this WA we need to set GEN8_L3SQCREG4[21:21] and reset it after PIPE_CONTROL
    instruction but there is a slight complication as this is applied in WA batch
    where the values are only initialized once.
    Dave identified an issue with the current implementation where the register value
    is read once at the beginning and it is reused; this patch corrects this by saving
    the register value to memory, update register with the bit of our interest and
    restore it back with original value.
    
    This implementation uses MI_LOAD_REGISTER_MEM which is currently only used
    by command parser and was using a default length of 0. This is now updated
    with correct length and moved to appropriate place.
    
    Cc: Chris Wilson <chris@chris-wilson.co.uk>
    Cc: Dave Gordon <david.s.gordon@intel.com>
    Signed-off-by: default avatarArun Siluvery <arun.siluvery@linux.intel.com>
    Reviewed-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    9e000847
i915_cmd_parser.c 35.7 KB