• Zack Rusin's avatar
    drm/vmwgfx: Introduce a new placement for MOB page tables · f6be2326
    Zack Rusin authored
    For larger (bigger than a page) and noncontiguous mobs we have
    to create page tables that allow the host to find the memory.
    Those page tables just used regular system memory. Unfortunately
    in TTM those BO's are not allowed to be busy thus can't be
    fenced and we have to fence those bo's  because we don't want
    to destroy the page tables while the host is still executing
    the command buffers which might be accessing them.
    
    To solve it we introduce a new placement VMW_PL_SYSTEM which
    is very similar to TTM_PL_SYSTEM except that it allows
    fencing. This fixes kernel oops'es during unloading of the driver
    (and pci hot remove/add) which were caused by busy BO's in
    TTM_PL_SYSTEM being present in the delayed deletion list in
    TTM (TTM_PL_SYSTEM manager is destroyed before the delayed
    deletions are executed)
    Signed-off-by: default avatarZack Rusin <zackr@vmware.com>
    Reviewed-by: default avatarMartin Krastev <krastevm@vmware.com>
    Cc: Christian König <christian.koenig@amd.com>
    Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20211105193845.258816-5-zackr@vmware.com
    f6be2326
vmwgfx_drv.h 51.9 KB