• Ben Widawsky's avatar
    drm/i915: Flush TLBs after !RCS PP_DIR_BASE · 90252e5c
    Ben Widawsky authored
    I've found this by accident. The docs don't really come out and say you
    need to do this. What the docs do tell you is you need to flush the TLBs
    before you set the PP_DIR_BASE, and that the RCS will invalidate its
    TLBs upon setting the new PP_DIR_BASE. It makes no such comment about
    any of the other rings.
    
    Empirically, this indeed fixes a really obvious bug whereby the batches
    being sent to the blitter were not executing (we were executing the
    HSWP somehow instead).
    
    NOTE: This should make no difference with the current code. It only
    applies when we start using multiple VMs.
    
    NOTE2: HSW appears to be immune to this.
    Signed-off-by: default avatarBen Widawsky <ben@bwidawsk.net>
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    90252e5c
i915_gem_gtt.c 49.5 KB