projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
3d5f4d4
)
drm/amdgpu: free userptrs even if GTT isn't bound
author
Christian König
<
[email protected]
>
Thu, 22 Sep 2016 12:19:50 +0000
(14:19 +0200)
committer
Alex Deucher
<
[email protected]
>
Wed, 28 Sep 2016 20:16:25 +0000
(16:16 -0400)
This fixes a memory leak since binding GTT only on demand.
Signed-off-by: Christian König <
[email protected]
>
Reviewed-by: Alex Deucher <
[email protected]
>
Signed-off-by: Alex Deucher <
[email protected]
>
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
patch
|
blob
|
history
diff --git
a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
index 61a885b5a6a12f46011e53d3a501dd511755861d..c80bdc7194e5102f8c54e030a883aaaecba161e1 100644
(file)
--- a/
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
+++ b/
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
@@
-757,6
+757,9
@@
static int amdgpu_ttm_backend_unbind(struct ttm_tt *ttm)
{
struct amdgpu_ttm_tt *gtt = (void *)ttm;
+ if (gtt->userptr)
+ amdgpu_ttm_tt_unpin_userptr(ttm);
+
if (!amdgpu_ttm_is_bound(ttm))
return 0;
@@
-764,9
+767,6
@@
static int amdgpu_ttm_backend_unbind(struct ttm_tt *ttm)
if (gtt->adev->gart.ready)
amdgpu_gart_unbind(gtt->adev, gtt->offset, ttm->num_pages);
- if (gtt->userptr)
- amdgpu_ttm_tt_unpin_userptr(ttm);
-
spin_lock(>t->adev->gtt_list_lock);
list_del_init(>t->list);
spin_unlock(>t->adev->gtt_list_lock);