• Matthew Auld's avatar
    drm/xe/bo: support tiered vram allocation for small-bar · 6a024f1b
    Matthew Auld authored
    Add the new flag XE_BO_NEEDS_CPU_ACCESS, to force allocating in the
    mappable part of vram. If no flag is specified we do a topdown
    allocation, to limit the chances of stealing the precious mappable part,
    if we don't need it. If this is a full-bar system, then this all gets
    nooped.
    
    For kernel users, it looks like xe_bo_create_pin_map() is the central
    place which users should call if they want CPU access to the object, so
    add the flag there.
    
    We still need to plumb this through for userspace allocations. Also it
    looks like page-tables are using pin_map(), which is less than ideal. If
    we can already use the GPU to do page-table management, then maybe we
    should just force that for small-bar.
    Signed-off-by: default avatarMatthew Auld <matthew.auld@intel.com>
    Cc: Gwan-gyeong Mun <gwan-gyeong.mun@intel.com>
    Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
    Cc: Lucas De Marchi <lucas.demarchi@intel.com>
    Reviewed-by: default avatarMaarten Lankhorst <maarten.lankhorst@linux.intel.com>
    Reviewed-by: default avatarGwan-gyeong Mun <gwan-gyeong.mun@intel.com>
    Signed-off-by: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
    6a024f1b
xe_ttm_vram_mgr.c 11.5 KB