hc
2023-12-11 6778948f9de86c3cfaf36725a7c87dcff9ba247f
kernel/drivers/gpu/drm/radeon/radeon_object.h
....@@ -90,7 +90,21 @@
9090 */
9191 static inline u64 radeon_bo_gpu_offset(struct radeon_bo *bo)
9292 {
93
- return bo->tbo.offset;
93
+ struct radeon_device *rdev;
94
+ u64 start = 0;
95
+
96
+ rdev = radeon_get_rdev(bo->tbo.bdev);
97
+
98
+ switch (bo->tbo.mem.mem_type) {
99
+ case TTM_PL_TT:
100
+ start = rdev->mc.gtt_start;
101
+ break;
102
+ case TTM_PL_VRAM:
103
+ start = rdev->mc.vram_start;
104
+ break;
105
+ }
106
+
107
+ return (bo->tbo.mem.start << PAGE_SHIFT) + start;
94108 }
95109
96110 static inline unsigned long radeon_bo_size(struct radeon_bo *bo)
....@@ -116,7 +130,7 @@
116130 */
117131 static inline u64 radeon_bo_mmap_offset(struct radeon_bo *bo)
118132 {
119
- return drm_vma_node_offset_addr(&bo->tbo.vma_node);
133
+ return drm_vma_node_offset_addr(&bo->tbo.base.vma_node);
120134 }
121135
122136 extern int radeon_bo_wait(struct radeon_bo *bo, u32 *mem_type,
....@@ -126,7 +140,7 @@
126140 unsigned long size, int byte_align,
127141 bool kernel, u32 domain, u32 flags,
128142 struct sg_table *sg,
129
- struct reservation_object *resv,
143
+ struct dma_resv *resv,
130144 struct radeon_bo **bo_ptr);
131145 extern int radeon_bo_kmap(struct radeon_bo *bo, void **ptr);
132146 extern void radeon_bo_kunmap(struct radeon_bo *bo);
....@@ -151,7 +165,7 @@
151165 bool force_drop);
152166 extern void radeon_bo_move_notify(struct ttm_buffer_object *bo,
153167 bool evict,
154
- struct ttm_mem_reg *new_mem);
168
+ struct ttm_resource *new_mem);
155169 extern int radeon_bo_fault_reserve_notify(struct ttm_buffer_object *bo);
156170 extern int radeon_bo_get_surface_reg(struct radeon_bo *bo);
157171 extern void radeon_bo_fence(struct radeon_bo *bo, struct radeon_fence *fence,