This reverts commit 6f51d28bfe8e1a676de5cd877639245bed3cc818. Makes fallback handling to complicated. This is just a feature for the GEM interface and shouldn't leak into the core BO create function.
Unified · Split
| @@ -385,8 +385,7 @@ retry: · 384 unmodified lines | |||
| 385 | amdgpu_bo_in_cpu_visible_vram(bo)) | 385 | amdgpu_bo_in_cpu_visible_vram(bo)) |
| 386 | p->bytes_moved_vis += ctx.bytes_moved; | 386 | p->bytes_moved_vis += ctx.bytes_moved; |
| 387 | 387 | ||
| 388 | if (unlikely(r == -ENOMEM) && domain != bo->allowed_domains && | 388 | if (unlikely(r == -ENOMEM) && domain != bo->allowed_domains) { |
| 389 | !(bo->flags & AMDGPU_GEM_CREATE_NO_FALLBACK)) { | ||
| 390 | domain = bo->allowed_domains; | 389 | domain = bo->allowed_domains; |
| 391 | goto retry; | 390 | goto retry; |
| 392 | } | 391 | } |
| @@ -388,8 +388,6 @@ retry: · 387 unmodified lines | |||
| 388 | drm_gem_private_object_init(adev->ddev, &bo->gem_base, size); | 388 | drm_gem_private_object_init(adev->ddev, &bo->gem_base, size); |
| 389 | INIT_LIST_HEAD(&bo->shadow_list); | 389 | INIT_LIST_HEAD(&bo->shadow_list); |
| 390 | INIT_LIST_HEAD(&bo->va); | 390 | INIT_LIST_HEAD(&bo->va); |
| 391 | bo->preferred_domains = preferred_domains; | ||
| 392 | bo->allowed_domains = allowed_domains; | ||
| 393 | 391 | ||
| 394 | bo->flags = flags; | 392 | bo->flags = flags; |
| 395 | 393 | ||
| @@ -426,8 +424,7 @@ retry: · 30 unmodified lines | |||
| 426 | r = ttm_bo_init_reserved(&adev->mman.bdev, &bo->tbo, size, type, | 424 | r = ttm_bo_init_reserved(&adev->mman.bdev, &bo->tbo, size, type, |
| 427 | &bo->placement, page_align, &ctx, acc_size, | 425 | &bo->placement, page_align, &ctx, acc_size, |
| 428 | NULL, resv, &amdgpu_ttm_bo_destroy); | 426 | NULL, resv, &amdgpu_ttm_bo_destroy); |
| 429 | if (unlikely(r && r != -ERESTARTSYS) && type == ttm_bo_type_device && | 427 | if (unlikely(r && r != -ERESTARTSYS) && type == ttm_bo_type_device) { |
| 430 | !(flags & AMDGPU_GEM_CREATE_NO_FALLBACK)) { | ||
| 431 | if (flags & AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED) { | 428 | if (flags & AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED) { |
| 432 | flags &= ~AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED; | 429 | flags &= ~AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED; |
| 433 | goto retry; | 430 | goto retry; |
| @@ -95,8 +95,6 @@ extern "C" { · 94 unmodified lines | |||
| 95 | #define AMDGPU_GEM_CREATE_VM_ALWAYS_VALID (1 << 6) | 95 | #define AMDGPU_GEM_CREATE_VM_ALWAYS_VALID (1 << 6) |
| 96 | /* Flag that BO sharing will be explicitly synchronized */ | 96 | /* Flag that BO sharing will be explicitly synchronized */ |
| 97 | #define AMDGPU_GEM_CREATE_EXPLICIT_SYNC (1 << 7) | 97 | #define AMDGPU_GEM_CREATE_EXPLICIT_SYNC (1 << 7) |
| 98 | /* Flag that BO doesn't need fallback */ | ||
| 99 | #define AMDGPU_GEM_CREATE_NO_FALLBACK (1 << 8) | ||
| 100 | 98 | ||
| 101 | struct drm_amdgpu_gem_create_in { | 99 | struct drm_amdgpu_gem_create_in { |
| 102 | /** the requested memory size */ | 100 | /** the requested memory size */ |