Skip to content
  • Zbigniew Kempczyński's avatar
    lib/intel_batchbuffer: Add tracking intel_buf to intel_bb · 6fa47495
    Zbigniew Kempczyński authored
    
    
    From now on intel_bb starts tracking added/removed intel_bufs.
    We're safe now regardless order of intel_buf close/destroy
    or intel_bb destroy paths.
    
    When intel_buf is closed/destroyed first and it was previously added
    to intel_bb it calls the code which removes itself from intel_bb.
    In destroy path we go over all tracked intel_bufs and clear tracking
    information and buffer offset (it is set to INTEL_BUF_INVALID_ADDRESS).
    
    Reset path is handled as follows:
    - intel_bb_reset(ibb, false) - just clean objects array leaving
      cache / allocator state intact.
    - intel_bb_reset(ibb, true) - purge cache as well as detach intel_bufs
      from intel_bb (release offsets from allocator).
    
    Remove intel_bb_object_offset_to_buf() function as tracking intel_buf
    updates (checks for allocator) their offsets after execbuf.
    
    Alter api_intel_bb according to intel-bb changes.
    
    Signed-off-by: default avatarZbigniew Kempczyński <zbigniew.kempczynski@intel.com>
    Cc: Dominik Grzegorzek <dominik.grzegorzek@intel.com>
    Cc: Chris Wilson <chris@chris-wilson.co.uk>
    Acked-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    Acked-by: default avatarPetri Latvala <petri.latvala@intel.com>
    6fa47495