diff options
author | Christian König <christian.koenig@amd.com> | 2016-09-15 08:58:48 -0400 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2016-10-25 14:38:26 -0400 |
commit | a7d64de659946e852cd8f2a9691a21ddbb4ebc86 (patch) | |
tree | 23d8072cb76d150d6ab08961f233cbffde97ce1a /drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | |
parent | f3fd451263f0dbfb99adaa40d7ac7cc458f9c533 (diff) |
drm/amdgpu: remove adev pointer from struct amdgpu_bo v2
It's completely pointless to have two pointers to the
device in the same structure.
v2: rename function to amdgpu_ttm_adev, fix typos
Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c')
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 43 |
1 files changed, 17 insertions, 26 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c index f757f68418b7..414fa8fa8488 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | |||
@@ -51,16 +51,6 @@ | |||
51 | static int amdgpu_ttm_debugfs_init(struct amdgpu_device *adev); | 51 | static int amdgpu_ttm_debugfs_init(struct amdgpu_device *adev); |
52 | static void amdgpu_ttm_debugfs_fini(struct amdgpu_device *adev); | 52 | static void amdgpu_ttm_debugfs_fini(struct amdgpu_device *adev); |
53 | 53 | ||
54 | static struct amdgpu_device *amdgpu_get_adev(struct ttm_bo_device *bdev) | ||
55 | { | ||
56 | struct amdgpu_mman *mman; | ||
57 | struct amdgpu_device *adev; | ||
58 | |||
59 | mman = container_of(bdev, struct amdgpu_mman, bdev); | ||
60 | adev = container_of(mman, struct amdgpu_device, mman); | ||
61 | return adev; | ||
62 | } | ||
63 | |||
64 | 54 | ||
65 | /* | 55 | /* |
66 | * Global memory. | 56 | * Global memory. |
@@ -150,7 +140,7 @@ static int amdgpu_init_mem_type(struct ttm_bo_device *bdev, uint32_t type, | |||
150 | { | 140 | { |
151 | struct amdgpu_device *adev; | 141 | struct amdgpu_device *adev; |
152 | 142 | ||
153 | adev = amdgpu_get_adev(bdev); | 143 | adev = amdgpu_ttm_adev(bdev); |
154 | 144 | ||
155 | switch (type) { | 145 | switch (type) { |
156 | case TTM_PL_SYSTEM: | 146 | case TTM_PL_SYSTEM: |
@@ -195,6 +185,7 @@ static int amdgpu_init_mem_type(struct ttm_bo_device *bdev, uint32_t type, | |||
195 | static void amdgpu_evict_flags(struct ttm_buffer_object *bo, | 185 | static void amdgpu_evict_flags(struct ttm_buffer_object *bo, |
196 | struct ttm_placement *placement) | 186 | struct ttm_placement *placement) |
197 | { | 187 | { |
188 | struct amdgpu_device *adev = amdgpu_ttm_adev(bo->bdev); | ||
198 | struct amdgpu_bo *abo; | 189 | struct amdgpu_bo *abo; |
199 | static struct ttm_place placements = { | 190 | static struct ttm_place placements = { |
200 | .fpfn = 0, | 191 | .fpfn = 0, |
@@ -213,7 +204,7 @@ static void amdgpu_evict_flags(struct ttm_buffer_object *bo, | |||
213 | abo = container_of(bo, struct amdgpu_bo, tbo); | 204 | abo = container_of(bo, struct amdgpu_bo, tbo); |
214 | switch (bo->mem.mem_type) { | 205 | switch (bo->mem.mem_type) { |
215 | case TTM_PL_VRAM: | 206 | case TTM_PL_VRAM: |
216 | if (abo->adev->mman.buffer_funcs_ring->ready == false) { | 207 | if (adev->mman.buffer_funcs_ring->ready == false) { |
217 | amdgpu_ttm_placement_from_domain(abo, AMDGPU_GEM_DOMAIN_CPU); | 208 | amdgpu_ttm_placement_from_domain(abo, AMDGPU_GEM_DOMAIN_CPU); |
218 | } else { | 209 | } else { |
219 | amdgpu_ttm_placement_from_domain(abo, AMDGPU_GEM_DOMAIN_GTT); | 210 | amdgpu_ttm_placement_from_domain(abo, AMDGPU_GEM_DOMAIN_GTT); |
@@ -229,7 +220,7 @@ static void amdgpu_evict_flags(struct ttm_buffer_object *bo, | |||
229 | * allocating address space for the BO. | 220 | * allocating address space for the BO. |
230 | */ | 221 | */ |
231 | abo->placements[i].lpfn = | 222 | abo->placements[i].lpfn = |
232 | abo->adev->mc.gtt_size >> PAGE_SHIFT; | 223 | adev->mc.gtt_size >> PAGE_SHIFT; |
233 | } | 224 | } |
234 | } | 225 | } |
235 | break; | 226 | break; |
@@ -290,7 +281,7 @@ static int amdgpu_move_blit(struct ttm_buffer_object *bo, | |||
290 | struct ttm_mem_reg *new_mem, | 281 | struct ttm_mem_reg *new_mem, |
291 | struct ttm_mem_reg *old_mem) | 282 | struct ttm_mem_reg *old_mem) |
292 | { | 283 | { |
293 | struct amdgpu_device *adev = amdgpu_get_adev(bo->bdev); | 284 | struct amdgpu_device *adev = amdgpu_ttm_adev(bo->bdev); |
294 | struct amdgpu_ring *ring = adev->mman.buffer_funcs_ring; | 285 | struct amdgpu_ring *ring = adev->mman.buffer_funcs_ring; |
295 | 286 | ||
296 | struct drm_mm_node *old_mm, *new_mm; | 287 | struct drm_mm_node *old_mm, *new_mm; |
@@ -384,7 +375,7 @@ static int amdgpu_move_vram_ram(struct ttm_buffer_object *bo, | |||
384 | struct ttm_placement placement; | 375 | struct ttm_placement placement; |
385 | int r; | 376 | int r; |
386 | 377 | ||
387 | adev = amdgpu_get_adev(bo->bdev); | 378 | adev = amdgpu_ttm_adev(bo->bdev); |
388 | tmp_mem = *new_mem; | 379 | tmp_mem = *new_mem; |
389 | tmp_mem.mm_node = NULL; | 380 | tmp_mem.mm_node = NULL; |
390 | placement.num_placement = 1; | 381 | placement.num_placement = 1; |
@@ -431,7 +422,7 @@ static int amdgpu_move_ram_vram(struct ttm_buffer_object *bo, | |||
431 | struct ttm_place placements; | 422 | struct ttm_place placements; |
432 | int r; | 423 | int r; |
433 | 424 | ||
434 | adev = amdgpu_get_adev(bo->bdev); | 425 | adev = amdgpu_ttm_adev(bo->bdev); |
435 | tmp_mem = *new_mem; | 426 | tmp_mem = *new_mem; |
436 | tmp_mem.mm_node = NULL; | 427 | tmp_mem.mm_node = NULL; |
437 | placement.num_placement = 1; | 428 | placement.num_placement = 1; |
@@ -474,7 +465,7 @@ static int amdgpu_bo_move(struct ttm_buffer_object *bo, | |||
474 | if (WARN_ON_ONCE(abo->pin_count > 0)) | 465 | if (WARN_ON_ONCE(abo->pin_count > 0)) |
475 | return -EINVAL; | 466 | return -EINVAL; |
476 | 467 | ||
477 | adev = amdgpu_get_adev(bo->bdev); | 468 | adev = amdgpu_ttm_adev(bo->bdev); |
478 | 469 | ||
479 | /* remember the eviction */ | 470 | /* remember the eviction */ |
480 | if (evict) | 471 | if (evict) |
@@ -527,7 +518,7 @@ memcpy: | |||
527 | static int amdgpu_ttm_io_mem_reserve(struct ttm_bo_device *bdev, struct ttm_mem_reg *mem) | 518 | static int amdgpu_ttm_io_mem_reserve(struct ttm_bo_device *bdev, struct ttm_mem_reg *mem) |
528 | { | 519 | { |
529 | struct ttm_mem_type_manager *man = &bdev->man[mem->mem_type]; | 520 | struct ttm_mem_type_manager *man = &bdev->man[mem->mem_type]; |
530 | struct amdgpu_device *adev = amdgpu_get_adev(bdev); | 521 | struct amdgpu_device *adev = amdgpu_ttm_adev(bdev); |
531 | 522 | ||
532 | mem->bus.addr = NULL; | 523 | mem->bus.addr = NULL; |
533 | mem->bus.offset = 0; | 524 | mem->bus.offset = 0; |
@@ -659,7 +650,7 @@ release_pages: | |||
659 | /* prepare the sg table with the user pages */ | 650 | /* prepare the sg table with the user pages */ |
660 | static int amdgpu_ttm_tt_pin_userptr(struct ttm_tt *ttm) | 651 | static int amdgpu_ttm_tt_pin_userptr(struct ttm_tt *ttm) |
661 | { | 652 | { |
662 | struct amdgpu_device *adev = amdgpu_get_adev(ttm->bdev); | 653 | struct amdgpu_device *adev = amdgpu_ttm_adev(ttm->bdev); |
663 | struct amdgpu_ttm_tt *gtt = (void *)ttm; | 654 | struct amdgpu_ttm_tt *gtt = (void *)ttm; |
664 | unsigned nents; | 655 | unsigned nents; |
665 | int r; | 656 | int r; |
@@ -691,7 +682,7 @@ release_sg: | |||
691 | 682 | ||
692 | static void amdgpu_ttm_tt_unpin_userptr(struct ttm_tt *ttm) | 683 | static void amdgpu_ttm_tt_unpin_userptr(struct ttm_tt *ttm) |
693 | { | 684 | { |
694 | struct amdgpu_device *adev = amdgpu_get_adev(ttm->bdev); | 685 | struct amdgpu_device *adev = amdgpu_ttm_adev(ttm->bdev); |
695 | struct amdgpu_ttm_tt *gtt = (void *)ttm; | 686 | struct amdgpu_ttm_tt *gtt = (void *)ttm; |
696 | struct sg_page_iter sg_iter; | 687 | struct sg_page_iter sg_iter; |
697 | 688 | ||
@@ -851,7 +842,7 @@ static struct ttm_tt *amdgpu_ttm_tt_create(struct ttm_bo_device *bdev, | |||
851 | struct amdgpu_device *adev; | 842 | struct amdgpu_device *adev; |
852 | struct amdgpu_ttm_tt *gtt; | 843 | struct amdgpu_ttm_tt *gtt; |
853 | 844 | ||
854 | adev = amdgpu_get_adev(bdev); | 845 | adev = amdgpu_ttm_adev(bdev); |
855 | 846 | ||
856 | gtt = kzalloc(sizeof(struct amdgpu_ttm_tt), GFP_KERNEL); | 847 | gtt = kzalloc(sizeof(struct amdgpu_ttm_tt), GFP_KERNEL); |
857 | if (gtt == NULL) { | 848 | if (gtt == NULL) { |
@@ -895,7 +886,7 @@ static int amdgpu_ttm_tt_populate(struct ttm_tt *ttm) | |||
895 | return 0; | 886 | return 0; |
896 | } | 887 | } |
897 | 888 | ||
898 | adev = amdgpu_get_adev(ttm->bdev); | 889 | adev = amdgpu_ttm_adev(ttm->bdev); |
899 | 890 | ||
900 | #ifdef CONFIG_SWIOTLB | 891 | #ifdef CONFIG_SWIOTLB |
901 | if (swiotlb_nr_tbl()) { | 892 | if (swiotlb_nr_tbl()) { |
@@ -941,7 +932,7 @@ static void amdgpu_ttm_tt_unpopulate(struct ttm_tt *ttm) | |||
941 | if (slave) | 932 | if (slave) |
942 | return; | 933 | return; |
943 | 934 | ||
944 | adev = amdgpu_get_adev(ttm->bdev); | 935 | adev = amdgpu_ttm_adev(ttm->bdev); |
945 | 936 | ||
946 | #ifdef CONFIG_SWIOTLB | 937 | #ifdef CONFIG_SWIOTLB |
947 | if (swiotlb_nr_tbl()) { | 938 | if (swiotlb_nr_tbl()) { |
@@ -1064,7 +1055,7 @@ uint32_t amdgpu_ttm_tt_pte_flags(struct amdgpu_device *adev, struct ttm_tt *ttm, | |||
1064 | 1055 | ||
1065 | static void amdgpu_ttm_lru_removal(struct ttm_buffer_object *tbo) | 1056 | static void amdgpu_ttm_lru_removal(struct ttm_buffer_object *tbo) |
1066 | { | 1057 | { |
1067 | struct amdgpu_device *adev = amdgpu_get_adev(tbo->bdev); | 1058 | struct amdgpu_device *adev = amdgpu_ttm_adev(tbo->bdev); |
1068 | unsigned i, j; | 1059 | unsigned i, j; |
1069 | 1060 | ||
1070 | for (i = 0; i < AMDGPU_TTM_LRU_SIZE; ++i) { | 1061 | for (i = 0; i < AMDGPU_TTM_LRU_SIZE; ++i) { |
@@ -1081,7 +1072,7 @@ static void amdgpu_ttm_lru_removal(struct ttm_buffer_object *tbo) | |||
1081 | 1072 | ||
1082 | static struct amdgpu_mman_lru *amdgpu_ttm_lru(struct ttm_buffer_object *tbo) | 1073 | static struct amdgpu_mman_lru *amdgpu_ttm_lru(struct ttm_buffer_object *tbo) |
1083 | { | 1074 | { |
1084 | struct amdgpu_device *adev = amdgpu_get_adev(tbo->bdev); | 1075 | struct amdgpu_device *adev = amdgpu_ttm_adev(tbo->bdev); |
1085 | unsigned log2_size = min(ilog2(tbo->num_pages), | 1076 | unsigned log2_size = min(ilog2(tbo->num_pages), |
1086 | AMDGPU_TTM_LRU_SIZE - 1); | 1077 | AMDGPU_TTM_LRU_SIZE - 1); |
1087 | 1078 | ||
@@ -1370,7 +1361,7 @@ int amdgpu_fill_buffer(struct amdgpu_bo *bo, | |||
1370 | struct reservation_object *resv, | 1361 | struct reservation_object *resv, |
1371 | struct fence **fence) | 1362 | struct fence **fence) |
1372 | { | 1363 | { |
1373 | struct amdgpu_device *adev = bo->adev; | 1364 | struct amdgpu_device *adev = amdgpu_ttm_adev(bo->tbo.bdev); |
1374 | struct amdgpu_job *job; | 1365 | struct amdgpu_job *job; |
1375 | struct amdgpu_ring *ring = adev->mman.buffer_funcs_ring; | 1366 | struct amdgpu_ring *ring = adev->mman.buffer_funcs_ring; |
1376 | 1367 | ||