Skip to content
  • Scott D Phillips's avatar
    anv: Use a separate pool for binding tables when soft pinning · c7db0ed4
    Scott D Phillips authored and Faith Ekstrand's avatar Faith Ekstrand committed
    
    
    Soft pinning lets us satisfy the binding table address
    requirements without using both sides of a growing state_pool.
    
    If you do use both sides of a state pool, then you need to read
    the state pool's center_bo_offset (with the device mutex held) to
    know the final offset of relocations that target the state pool
    bo.
    
    By having a separate pool for binding tables that only grows in
    the forward direction, the center_bo_offset is always 0 and
    relocations don't need an update pass to adjust relocations with
    the mutex held.
    
    v2: - don't introduce a separate state flag for separate binding tables (Jason)
        - replace bo and map accessors with a single binding_table_pool accessor (Jason)
    v3: - assert bt_block->offset >= 0 for the separate binding table (Jason)
    
    Reviewed-by: default avatarJason Ekstrand <jason@jlekstrand.net>
    Reviewed-by: default avatarJordan Justen <jordan.l.justen@intel.com>
    c7db0ed4