• Philip Yang's avatar
    drm/amdkfd: fix dma mapping leaking warning · e7eb2137
    Philip Yang authored
    For xnack off, restore work dma unmap previous system memory page, and
    dma map the updated system memory page to update GPU mapping, this is
    not dma mapping leaking, remove the WARN_ONCE for dma mapping leaking.
    
    prange->dma_addr store the VRAM page pfn after the range migrated to
    VRAM, should not dma unmap VRAM page when updating GPU mapping or
    remove prange. Add helper svm_is_valid_dma_mapping_addr to check VRAM
    page and error cases.
    
    Mask out SVM_RANGE_VRAM_DOMAIN flag in dma_addr before calling amdgpu vm
    update to avoid BUG_ON(*addr & 0xFFFF00000000003FULL), and set it again
    immediately after. This flag is used to know the type of page later to
    dma unmapping system memory page.
    
    Fixes: 1d5dbfe6 ("drm/amdkfd: classify and map mixed svm range pages in GPU")
    Signed-off-by: default avatarPhilip Yang <Philip.Yang@amd.com>
    Reviewed-by: default avatarFelix Kuehling <Felix.Kuehling@amd.com>
    Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
    e7eb2137
kfd_svm.c 89.3 KB