diff options
author | Chunming Zhou <david1.zhou@amd.com> | 2015-04-24 05:37:30 -0400 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2015-06-03 21:03:52 -0400 |
commit | 7e5a547f64af66fd906f266f0e8c9bde213d025c (patch) | |
tree | c39a05c7ed28b6dc90b29696136d65b4d32d10d5 /drivers/gpu/drm/amd/amdgpu/amdgpu.h | |
parent | 5fc3aeeb9e553a20ce62544f7176c6c4aca52d71 (diff) |
drm/amdgpu: implement the allocation range (v3)
Pass a ttm_placement pointer to amdgpu_bo_create_restricted
add min_offset to amdgpu_bo_pin_restricted. This makes it
easier to allocate memory with address restrictions. With
this patch we can also enable 2-ended allocation again.
v2: fix rebase conflicts
v3: memset placements before using
Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com>
Signed-off-by: Chunming Zhou <david1.zhou@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu.h')
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h b/drivers/gpu/drm/amd/amdgpu/amdgpu.h index 80f0bea52e33..8eb5c5529304 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h | |||
@@ -43,6 +43,7 @@ | |||
43 | #include <ttm/ttm_execbuf_util.h> | 43 | #include <ttm/ttm_execbuf_util.h> |
44 | 44 | ||
45 | #include <drm/drm_gem.h> | 45 | #include <drm/drm_gem.h> |
46 | #include <drm/amdgpu_drm.h> | ||
46 | 47 | ||
47 | #include "amd_shared.h" | 48 | #include "amd_shared.h" |
48 | #include "amdgpu_family.h" | 49 | #include "amdgpu_family.h" |
@@ -542,12 +543,14 @@ struct amdgpu_bo_va { | |||
542 | struct amdgpu_bo *bo; | 543 | struct amdgpu_bo *bo; |
543 | }; | 544 | }; |
544 | 545 | ||
546 | #define AMDGPU_GEM_DOMAIN_MAX 0x3 | ||
547 | |||
545 | struct amdgpu_bo { | 548 | struct amdgpu_bo { |
546 | /* Protected by gem.mutex */ | 549 | /* Protected by gem.mutex */ |
547 | struct list_head list; | 550 | struct list_head list; |
548 | /* Protected by tbo.reserved */ | 551 | /* Protected by tbo.reserved */ |
549 | u32 initial_domain; | 552 | u32 initial_domain; |
550 | struct ttm_place placements[4]; | 553 | struct ttm_place placements[AMDGPU_GEM_DOMAIN_MAX + 1]; |
551 | struct ttm_placement placement; | 554 | struct ttm_placement placement; |
552 | struct ttm_buffer_object tbo; | 555 | struct ttm_buffer_object tbo; |
553 | struct ttm_bo_kmap_obj kmap; | 556 | struct ttm_bo_kmap_obj kmap; |