• D
    drm/i915: kill mappable/fenceable disdinction · 75e9e915
    Daniel Vetter 提交于
    a00b10c3 "Only enforce fence limits inside the GTT" also
    added a fenceable/mappable disdinction when binding/pinning buffers.
    This only complicates the code with no pratical gain:
    
    - In execbuffer this matters on for g33/pineview, as this is the only
      chip that needs fences and has an unmappable gtt area. But fences
      are only possible in the mappable part of the gtt, so need_fence
      implies need_mappable. And need_mappable is only set independantly
      with relocations which implies (for sane userspace) that the buffer
      is untiled.
    
    - The overlay code is only really used on i8xx, which doesn't have
      unmappable gtt. And it doesn't support tiled buffers, currently.
    
    - For all other buffers it's a bug to pass in a tiled bo.
    
    In short, this disdinction doesn't have any practical gain.
    
    I've also reverted mapping the overlay and context pages as possibly
    unmappable. It's not worth being overtly clever here, all the big
    gains from unmappable are for execbuf bos.
    
    Also add a comment for a clever optimization that confused me
    while reading the original patch by Chris Wilson.
    Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
    Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
    75e9e915
i915_gem.c 132.1 KB