diff options
-rw-r--r-- | amdgpu/amdgpu_device.c | 24 | ||||
-rw-r--r-- | amdgpu/amdgpu_internal.h | 7 | ||||
-rw-r--r-- | amdgpu/amdgpu_vamgr.c | 4 |
3 files changed, 8 insertions, 27 deletions
diff --git a/amdgpu/amdgpu_device.c b/amdgpu/amdgpu_device.c index 2b31c45b..344e87ed 100644 --- a/amdgpu/amdgpu_device.c +++ b/amdgpu/amdgpu_device.c | |||
@@ -270,22 +270,16 @@ int amdgpu_device_initialize(int fd, | |||
270 | goto cleanup; | 270 | goto cleanup; |
271 | } | 271 | } |
272 | 272 | ||
273 | amdgpu_vamgr_init(&dev->vamgr, dev->dev_info.virtual_address_offset, | 273 | start = dev->dev_info.virtual_address_offset; |
274 | dev->dev_info.virtual_address_max, | ||
275 | dev->dev_info.virtual_address_alignment); | ||
276 | |||
277 | max = MIN2(dev->dev_info.virtual_address_max, 0xffffffff); | 274 | max = MIN2(dev->dev_info.virtual_address_max, 0xffffffff); |
278 | start = amdgpu_vamgr_find_va(&dev->vamgr, | ||
279 | max - dev->dev_info.virtual_address_offset, | ||
280 | dev->dev_info.virtual_address_alignment, 0); | ||
281 | if (start > 0xffffffff) { | ||
282 | fprintf(stderr, "%s: amdgpu_vamgr_find_va failed\n", __func__); | ||
283 | goto free_va; /* shouldn't get here */ | ||
284 | } | ||
285 | |||
286 | amdgpu_vamgr_init(&dev->vamgr_32, start, max, | 275 | amdgpu_vamgr_init(&dev->vamgr_32, start, max, |
287 | dev->dev_info.virtual_address_alignment); | 276 | dev->dev_info.virtual_address_alignment); |
288 | 277 | ||
278 | start = MAX2(dev->dev_info.virtual_address_offset, 0x100000000ULL); | ||
279 | max = MAX2(dev->dev_info.virtual_address_max, 0x100000000ULL); | ||
280 | amdgpu_vamgr_init(&dev->vamgr, start, max, | ||
281 | dev->dev_info.virtual_address_alignment); | ||
282 | |||
289 | r = amdgpu_parse_asic_ids(&dev->asic_ids); | 283 | r = amdgpu_parse_asic_ids(&dev->asic_ids); |
290 | if (r) { | 284 | if (r) { |
291 | fprintf(stderr, "%s: Cannot parse ASIC IDs, 0x%x.", | 285 | fprintf(stderr, "%s: Cannot parse ASIC IDs, 0x%x.", |
@@ -300,12 +294,6 @@ int amdgpu_device_initialize(int fd, | |||
300 | 294 | ||
301 | return 0; | 295 | return 0; |
302 | 296 | ||
303 | free_va: | ||
304 | r = -ENOMEM; | ||
305 | amdgpu_vamgr_free_va(&dev->vamgr, start, | ||
306 | max - dev->dev_info.virtual_address_offset); | ||
307 | amdgpu_vamgr_deinit(&dev->vamgr); | ||
308 | |||
309 | cleanup: | 297 | cleanup: |
310 | if (dev->fd >= 0) | 298 | if (dev->fd >= 0) |
311 | close(dev->fd); | 299 | close(dev->fd); |
diff --git a/amdgpu/amdgpu_internal.h b/amdgpu/amdgpu_internal.h index 56d15112..e26e5190 100644 --- a/amdgpu/amdgpu_internal.h +++ b/amdgpu/amdgpu_internal.h | |||
@@ -148,13 +148,6 @@ drm_private void amdgpu_vamgr_init(struct amdgpu_bo_va_mgr *mgr, uint64_t start, | |||
148 | 148 | ||
149 | drm_private void amdgpu_vamgr_deinit(struct amdgpu_bo_va_mgr *mgr); | 149 | drm_private void amdgpu_vamgr_deinit(struct amdgpu_bo_va_mgr *mgr); |
150 | 150 | ||
151 | drm_private uint64_t | ||
152 | amdgpu_vamgr_find_va(struct amdgpu_bo_va_mgr *mgr, uint64_t size, | ||
153 | uint64_t alignment, uint64_t base_required); | ||
154 | |||
155 | drm_private void | ||
156 | amdgpu_vamgr_free_va(struct amdgpu_bo_va_mgr *mgr, uint64_t va, uint64_t size); | ||
157 | |||
158 | drm_private int amdgpu_parse_asic_ids(struct amdgpu_asic_id **asic_ids); | 151 | drm_private int amdgpu_parse_asic_ids(struct amdgpu_asic_id **asic_ids); |
159 | 152 | ||
160 | drm_private int amdgpu_query_gpu_info_init(amdgpu_device_handle dev); | 153 | drm_private int amdgpu_query_gpu_info_init(amdgpu_device_handle dev); |
diff --git a/amdgpu/amdgpu_vamgr.c b/amdgpu/amdgpu_vamgr.c index 8516b594..ab425ef7 100644 --- a/amdgpu/amdgpu_vamgr.c +++ b/amdgpu/amdgpu_vamgr.c | |||
@@ -66,7 +66,7 @@ drm_private void amdgpu_vamgr_deinit(struct amdgpu_bo_va_mgr *mgr) | |||
66 | pthread_mutex_destroy(&mgr->bo_va_mutex); | 66 | pthread_mutex_destroy(&mgr->bo_va_mutex); |
67 | } | 67 | } |
68 | 68 | ||
69 | drm_private uint64_t | 69 | static drm_private uint64_t |
70 | amdgpu_vamgr_find_va(struct amdgpu_bo_va_mgr *mgr, uint64_t size, | 70 | amdgpu_vamgr_find_va(struct amdgpu_bo_va_mgr *mgr, uint64_t size, |
71 | uint64_t alignment, uint64_t base_required) | 71 | uint64_t alignment, uint64_t base_required) |
72 | { | 72 | { |
@@ -155,7 +155,7 @@ amdgpu_vamgr_find_va(struct amdgpu_bo_va_mgr *mgr, uint64_t size, | |||
155 | return offset; | 155 | return offset; |
156 | } | 156 | } |
157 | 157 | ||
158 | drm_private void | 158 | static drm_private void |
159 | amdgpu_vamgr_free_va(struct amdgpu_bo_va_mgr *mgr, uint64_t va, uint64_t size) | 159 | amdgpu_vamgr_free_va(struct amdgpu_bo_va_mgr *mgr, uint64_t va, uint64_t size) |
160 | { | 160 | { |
161 | struct amdgpu_bo_va_hole *hole; | 161 | struct amdgpu_bo_va_hole *hole; |