From: xinhui pan Date: Sat, 30 Jan 2021 00:41:04 +0000 (+0800) Subject: drm/amdgpu: Fix a false positive when pin non-VRAM memory X-Git-Tag: microblaze-v5.13~37^2~9^2~34 X-Git-Url: http://git.monstr.eu/?p=linux-2.6-microblaze.git;a=commitdiff_plain;h=e1a4b67aac9ee870b4d95a008d47910c47db3092 drm/amdgpu: Fix a false positive when pin non-VRAM memory Flag TTM_PL_FLAG_CONTIGUOUS is only valid for VRAM domain. So fix the false positive by checking memory type too. Suggested-by: Felix Kuehling Acked-by: Christian König Signed-off-by: xinhui pan Signed-off-by: Alex Deucher --- diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c index 52f98e370a87..996147111c3e 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c @@ -916,7 +916,8 @@ int amdgpu_bo_pin_restricted(struct amdgpu_bo *bo, u32 domain, if (!(domain & amdgpu_mem_type_to_domain(mem_type))) return -EINVAL; - if ((bo->flags & AMDGPU_GEM_CREATE_VRAM_CONTIGUOUS) && + if ((mem_type == TTM_PL_VRAM) && + (bo->flags & AMDGPU_GEM_CREATE_VRAM_CONTIGUOUS) && !(mem_flags & TTM_PL_FLAG_CONTIGUOUS)) return -EINVAL;