1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
|
From 75d041ba035eb74b4ca7f65e90d7ebedb0d475eb Mon Sep 17 00:00:00 2001
From: Harish Kasiviswanathan <Harish.Kasiviswanathan@amd.com>
Date: Thu, 25 Aug 2016 17:59:18 -0400
Subject: [PATCH 1192/4131] drm/amdgpu: Modify free_memory_of_gpu interface
Change-Id: Iff6b4876e293110ac3e573217f357b90662645f1
Signed-off-by: Harish Kasiviswanathan <Harish.Kasiviswanathan@amd.com>
---
drivers/gpu/drm/amd/amdkfd/kfd_chardev.c | 12 ++++++++----
drivers/gpu/drm/amd/amdkfd/kfd_process.c | 6 +++---
2 files changed, 11 insertions(+), 7 deletions(-)
diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c b/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c
index d42b415..134b1de 100644
--- a/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c
+++ b/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c
@@ -1189,7 +1189,8 @@ static int kfd_ioctl_alloc_memory_of_gpu(struct file *filep,
up_write(&p->lock);
if (idr_handle < 0) {
dev->kfd2kgd->free_memory_of_gpu(dev->kgd,
- (struct kgd_mem *) mem);
+ (struct kgd_mem *) mem,
+ pdd->vm);
return -EFAULT;
}
@@ -1326,7 +1327,8 @@ static int kfd_ioctl_alloc_memory_of_gpu_new(struct file *filep,
up_write(&p->lock);
if (idr_handle < 0) {
dev->kfd2kgd->free_memory_of_gpu(dev->kgd,
- (struct kgd_mem *) mem);
+ (struct kgd_mem *) mem,
+ pdd->vm);
return -EFAULT;
}
@@ -1376,7 +1378,8 @@ static int kfd_ioctl_free_memory_of_gpu(struct file *filep,
up_write(&p->lock);
- ret = dev->kfd2kgd->free_memory_of_gpu(dev->kgd, buf_obj->mem);
+ ret = dev->kfd2kgd->free_memory_of_gpu(dev->kgd, buf_obj->mem,
+ pdd->vm);
/* If freeing the buffer failed, leave the handle in place for
* clean-up during process tear-down. */
@@ -1817,7 +1820,8 @@ static int kfd_ioctl_import_dmabuf(struct file *filep,
up_write(&p->lock);
if (idr_handle < 0) {
dev->kfd2kgd->free_memory_of_gpu(dev->kgd,
- (struct kgd_mem *)mem);
+ (struct kgd_mem *)mem,
+ pdd->vm);
return -EFAULT;
}
diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_process.c b/drivers/gpu/drm/amd/amdkfd/kfd_process.c
index 87dd412..19e3af9 100644
--- a/drivers/gpu/drm/amd/amdkfd/kfd_process.c
+++ b/drivers/gpu/drm/amd/amdkfd/kfd_process.c
@@ -80,7 +80,7 @@ static void kfd_process_free_gpuvm(struct kfd_dev *kdev, struct kgd_mem *mem,
void *vm)
{
kdev->kfd2kgd->unmap_memory_to_gpu(kdev->kgd, mem, vm);
- kdev->kfd2kgd->free_memory_of_gpu(kdev->kgd, mem);
+ kdev->kfd2kgd->free_memory_of_gpu(kdev->kgd, mem, vm);
}
/* kfd_process_alloc_gpuvm - Allocate GPU VM for the KFD process
@@ -132,7 +132,7 @@ static int kfd_process_alloc_gpuvm(struct kfd_process *p,
return err;
err_map_mem:
- kdev->kfd2kgd->free_memory_of_gpu(kdev->kgd, mem);
+ kdev->kfd2kgd->free_memory_of_gpu(kdev->kgd, mem, pdd->vm);
err_alloc_mem:
*kptr = NULL;
return err;
@@ -416,7 +416,7 @@ static void kfd_process_free_outstanding_kfd_bos(struct kfd_process *p)
run_rdma_free_callback(buf_obj);
pdd->dev->kfd2kgd->free_memory_of_gpu(
- pdd->dev->kgd, buf_obj->mem);
+ pdd->dev->kgd, buf_obj->mem, pdd->vm);
kfd_process_device_remove_obj_handle(pdd, id);
}
}
--
2.7.4
|