aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c31
1 files changed, 15 insertions, 16 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c
index a54d5655a191..11fea28f8ad3 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c
@@ -112,7 +112,7 @@ int amdgpu_gart_table_vram_alloc(struct amdgpu_device *adev)
112{ 112{
113 int r; 113 int r;
114 114
115 if (adev->gart.robj == NULL) { 115 if (adev->gart.bo == NULL) {
116 struct amdgpu_bo_param bp; 116 struct amdgpu_bo_param bp;
117 117
118 memset(&bp, 0, sizeof(bp)); 118 memset(&bp, 0, sizeof(bp));
@@ -123,7 +123,7 @@ int amdgpu_gart_table_vram_alloc(struct amdgpu_device *adev)
123 AMDGPU_GEM_CREATE_VRAM_CONTIGUOUS; 123 AMDGPU_GEM_CREATE_VRAM_CONTIGUOUS;
124 bp.type = ttm_bo_type_kernel; 124 bp.type = ttm_bo_type_kernel;
125 bp.resv = NULL; 125 bp.resv = NULL;
126 r = amdgpu_bo_create(adev, &bp, &adev->gart.robj); 126 r = amdgpu_bo_create(adev, &bp, &adev->gart.bo);
127 if (r) { 127 if (r) {
128 return r; 128 return r;
129 } 129 }
@@ -145,19 +145,18 @@ int amdgpu_gart_table_vram_pin(struct amdgpu_device *adev)
145{ 145{
146 int r; 146 int r;
147 147
148 r = amdgpu_bo_reserve(adev->gart.robj, false); 148 r = amdgpu_bo_reserve(adev->gart.bo, false);
149 if (unlikely(r != 0)) 149 if (unlikely(r != 0))
150 return r; 150 return r;
151 r = amdgpu_bo_pin(adev->gart.robj, AMDGPU_GEM_DOMAIN_VRAM); 151 r = amdgpu_bo_pin(adev->gart.bo, AMDGPU_GEM_DOMAIN_VRAM);
152 if (r) { 152 if (r) {
153 amdgpu_bo_unreserve(adev->gart.robj); 153 amdgpu_bo_unreserve(adev->gart.bo);
154 return r; 154 return r;
155 } 155 }
156 r = amdgpu_bo_kmap(adev->gart.robj, &adev->gart.ptr); 156 r = amdgpu_bo_kmap(adev->gart.bo, &adev->gart.ptr);
157 if (r) 157 if (r)
158 amdgpu_bo_unpin(adev->gart.robj); 158 amdgpu_bo_unpin(adev->gart.bo);
159 amdgpu_bo_unreserve(adev->gart.robj); 159 amdgpu_bo_unreserve(adev->gart.bo);
160 adev->gart.table_addr = amdgpu_bo_gpu_offset(adev->gart.robj);
161 return r; 160 return r;
162} 161}
163 162
@@ -173,14 +172,14 @@ void amdgpu_gart_table_vram_unpin(struct amdgpu_device *adev)
173{ 172{
174 int r; 173 int r;
175 174
176 if (adev->gart.robj == NULL) { 175 if (adev->gart.bo == NULL) {
177 return; 176 return;
178 } 177 }
179 r = amdgpu_bo_reserve(adev->gart.robj, true); 178 r = amdgpu_bo_reserve(adev->gart.bo, true);
180 if (likely(r == 0)) { 179 if (likely(r == 0)) {
181 amdgpu_bo_kunmap(adev->gart.robj); 180 amdgpu_bo_kunmap(adev->gart.bo);
182 amdgpu_bo_unpin(adev->gart.robj); 181 amdgpu_bo_unpin(adev->gart.bo);
183 amdgpu_bo_unreserve(adev->gart.robj); 182 amdgpu_bo_unreserve(adev->gart.bo);
184 adev->gart.ptr = NULL; 183 adev->gart.ptr = NULL;
185 } 184 }
186} 185}
@@ -196,10 +195,10 @@ void amdgpu_gart_table_vram_unpin(struct amdgpu_device *adev)
196 */ 195 */
197void amdgpu_gart_table_vram_free(struct amdgpu_device *adev) 196void amdgpu_gart_table_vram_free(struct amdgpu_device *adev)
198{ 197{
199 if (adev->gart.robj == NULL) { 198 if (adev->gart.bo == NULL) {
200 return; 199 return;
201 } 200 }
202 amdgpu_bo_unref(&adev->gart.robj); 201 amdgpu_bo_unref(&adev->gart.bo);
203} 202}
204 203
205/* 204/*