Skip to content
  • Scott D Phillips's avatar
    anv: Add vma_heap allocators in anv_device · aaea4624
    Scott D Phillips authored and Faith Ekstrand's avatar Faith Ekstrand committed
    
    
    These will be used to assign virtual addresses to soft pinned
    buffers in a later patch.
    
    Two allocators are added for separate 'low' and 'high' virtual
    memory areas. Another alternative would have been to add a
    double-sided allocator, which wasn't done here just because it
    didn't appear to give any code complexity advantages.
    
    v2 (Scott Phillips):
     - rename has_exec_softpin to use_softpin (Jason)
     - Only remove bottom one page and top 4 GiB from virt (Jason)
     - refer to comment in anv_allocator about state address + size
       overflowing 48 bits (Jason)
     - Mention hi/lo allocators vs double-sided allocator in
       commit message (Chris)
     - assign state pool memory ranges statically (Jason)
    
    v3 (Jason Ekstrand):
     - Use (LOW|HIGH)_HEAP_(MIN|MAX)_ADDRESS rather than (1 << 31) for
       determining which heap to use in anv_vma_free
     - Only return de-canonicalized addresses to the heap
    
    Reviewed-by: default avatarJordan Justen <jordan.l.justen@intel.com>
    Reviewed-by: default avatarJason Ekstrand <jason@jlekstrand.net>
    Reviewed-by: default avatarScott D Phillips <scott.d.phillips@intel.com>
    aaea4624