OSDN Git Service

amdgpu: remove invalid check in amdgpu_bo_alloc
authorChristian König <christian.koenig@amd.com>
Fri, 14 Sep 2018 12:58:24 +0000 (14:58 +0200)
committerChristian König <christian.koenig@amd.com>
Tue, 18 Sep 2018 12:53:30 +0000 (14:53 +0200)
The heap is checked by the kernel and not libdrm, to make it even worse
it prevented allocating resources other than VRAM and GTT.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Junwei Zhang <Jerry.Zhang@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
amdgpu/amdgpu_bo.c

index 6a95929..34904e3 100644 (file)
@@ -74,19 +74,14 @@ int amdgpu_bo_alloc(amdgpu_device_handle dev,
                    amdgpu_bo_handle *buf_handle)
 {
        union drm_amdgpu_gem_create args;
-       unsigned heap = alloc_buffer->preferred_heap;
-       int r = 0;
-
-       /* It's an error if the heap is not specified */
-       if (!(heap & (AMDGPU_GEM_DOMAIN_GTT | AMDGPU_GEM_DOMAIN_VRAM)))
-               return -EINVAL;
+       int r;
 
        memset(&args, 0, sizeof(args));
        args.in.bo_size = alloc_buffer->alloc_size;
        args.in.alignment = alloc_buffer->phys_alignment;
 
        /* Set the placement. */
-       args.in.domains = heap;
+       args.in.domains = alloc_buffer->preferred_heap;
        args.in.domain_flags = alloc_buffer->flags;
 
        /* Allocate the buffer with the preferred heap. */