aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
diff options
context:
space:
mode:
authorChristian König <christian.koenig@amd.com>2017-05-08 09:14:54 -0400
committerAlex Deucher <alexander.deucher@amd.com>2017-05-24 17:40:34 -0400
commita022c54e60222fa192004ed951a658cba7262784 (patch)
tree7a0b268fa58f4f0d704a7ee5bc208b9865ab42d4 /drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
parent6643be65d9e3e76960119957e5ad1acecb0b8dc0 (diff)
drm/amdgpu: remove unsed amdgpu_gem_handle_lockup (v2)
This kind of reset handling was removed a long time ago. v2: fix warning (Alex) Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c46
1 files changed, 11 insertions, 35 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
index 94cb91cf93eb..92e9248ea8b1 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
@@ -219,16 +219,6 @@ void amdgpu_gem_object_close(struct drm_gem_object *obj,
219 ttm_eu_backoff_reservation(&ticket, &list); 219 ttm_eu_backoff_reservation(&ticket, &list);
220} 220}
221 221
222static int amdgpu_gem_handle_lockup(struct amdgpu_device *adev, int r)
223{
224 if (r == -EDEADLK) {
225 r = amdgpu_gpu_reset(adev);
226 if (!r)
227 r = -EAGAIN;
228 }
229 return r;
230}
231
232/* 222/*
233 * GEM ioctls. 223 * GEM ioctls.
234 */ 224 */
@@ -249,20 +239,17 @@ int amdgpu_gem_create_ioctl(struct drm_device *dev, void *data,
249 AMDGPU_GEM_CREATE_CPU_GTT_USWC | 239 AMDGPU_GEM_CREATE_CPU_GTT_USWC |
250 AMDGPU_GEM_CREATE_VRAM_CLEARED| 240 AMDGPU_GEM_CREATE_VRAM_CLEARED|
251 AMDGPU_GEM_CREATE_SHADOW | 241 AMDGPU_GEM_CREATE_SHADOW |
252 AMDGPU_GEM_CREATE_VRAM_CONTIGUOUS)) { 242 AMDGPU_GEM_CREATE_VRAM_CONTIGUOUS))
253 r = -EINVAL; 243 return -EINVAL;
254 goto error_unlock; 244
255 }
256 /* reject invalid gem domains */ 245 /* reject invalid gem domains */
257 if (args->in.domains & ~(AMDGPU_GEM_DOMAIN_CPU | 246 if (args->in.domains & ~(AMDGPU_GEM_DOMAIN_CPU |
258 AMDGPU_GEM_DOMAIN_GTT | 247 AMDGPU_GEM_DOMAIN_GTT |
259 AMDGPU_GEM_DOMAIN_VRAM | 248 AMDGPU_GEM_DOMAIN_VRAM |
260 AMDGPU_GEM_DOMAIN_GDS | 249 AMDGPU_GEM_DOMAIN_GDS |
261 AMDGPU_GEM_DOMAIN_GWS | 250 AMDGPU_GEM_DOMAIN_GWS |
262 AMDGPU_GEM_DOMAIN_OA)) { 251 AMDGPU_GEM_DOMAIN_OA))
263 r = -EINVAL; 252 return -EINVAL;
264 goto error_unlock;
265 }
266 253
267 /* create a gem object to contain this object in */ 254 /* create a gem object to contain this object in */
268 if (args->in.domains & (AMDGPU_GEM_DOMAIN_GDS | 255 if (args->in.domains & (AMDGPU_GEM_DOMAIN_GDS |
@@ -274,10 +261,8 @@ int amdgpu_gem_create_ioctl(struct drm_device *dev, void *data,
274 size = size << AMDGPU_GWS_SHIFT; 261 size = size << AMDGPU_GWS_SHIFT;
275 else if (args->in.domains == AMDGPU_GEM_DOMAIN_OA) 262 else if (args->in.domains == AMDGPU_GEM_DOMAIN_OA)
276 size = size << AMDGPU_OA_SHIFT; 263 size = size << AMDGPU_OA_SHIFT;
277 else { 264 else
278 r = -EINVAL; 265 return -EINVAL;
279 goto error_unlock;
280 }
281 } 266 }
282 size = roundup(size, PAGE_SIZE); 267 size = roundup(size, PAGE_SIZE);
283 268
@@ -286,21 +271,17 @@ int amdgpu_gem_create_ioctl(struct drm_device *dev, void *data,
286 args->in.domain_flags, 271 args->in.domain_flags,
287 kernel, &gobj); 272 kernel, &gobj);
288 if (r) 273 if (r)
289 goto error_unlock; 274 return r;
290 275
291 r = drm_gem_handle_create(filp, gobj, &handle); 276 r = drm_gem_handle_create(filp, gobj, &handle);
292 /* drop reference from allocate - handle holds it now */ 277 /* drop reference from allocate - handle holds it now */
293 drm_gem_object_unreference_unlocked(gobj); 278 drm_gem_object_unreference_unlocked(gobj);
294 if (r) 279 if (r)
295 goto error_unlock; 280 return r;
296 281
297 memset(args, 0, sizeof(*args)); 282 memset(args, 0, sizeof(*args));
298 args->out.handle = handle; 283 args->out.handle = handle;
299 return 0; 284 return 0;
300
301error_unlock:
302 r = amdgpu_gem_handle_lockup(adev, r);
303 return r;
304} 285}
305 286
306int amdgpu_gem_userptr_ioctl(struct drm_device *dev, void *data, 287int amdgpu_gem_userptr_ioctl(struct drm_device *dev, void *data,
@@ -334,7 +315,7 @@ int amdgpu_gem_userptr_ioctl(struct drm_device *dev, void *data,
334 AMDGPU_GEM_DOMAIN_CPU, 0, 315 AMDGPU_GEM_DOMAIN_CPU, 0,
335 0, &gobj); 316 0, &gobj);
336 if (r) 317 if (r)
337 goto handle_lockup; 318 return r;
338 319
339 bo = gem_to_amdgpu_bo(gobj); 320 bo = gem_to_amdgpu_bo(gobj);
340 bo->prefered_domains = AMDGPU_GEM_DOMAIN_GTT; 321 bo->prefered_domains = AMDGPU_GEM_DOMAIN_GTT;
@@ -374,7 +355,7 @@ int amdgpu_gem_userptr_ioctl(struct drm_device *dev, void *data,
374 /* drop reference from allocate - handle holds it now */ 355 /* drop reference from allocate - handle holds it now */
375 drm_gem_object_unreference_unlocked(gobj); 356 drm_gem_object_unreference_unlocked(gobj);
376 if (r) 357 if (r)
377 goto handle_lockup; 358 return r;
378 359
379 args->handle = handle; 360 args->handle = handle;
380 return 0; 361 return 0;
@@ -388,9 +369,6 @@ unlock_mmap_sem:
388release_object: 369release_object:
389 drm_gem_object_unreference_unlocked(gobj); 370 drm_gem_object_unreference_unlocked(gobj);
390 371
391handle_lockup:
392 r = amdgpu_gem_handle_lockup(adev, r);
393
394 return r; 372 return r;
395} 373}
396 374
@@ -456,7 +434,6 @@ unsigned long amdgpu_gem_timeout(uint64_t timeout_ns)
456int amdgpu_gem_wait_idle_ioctl(struct drm_device *dev, void *data, 434int amdgpu_gem_wait_idle_ioctl(struct drm_device *dev, void *data,
457 struct drm_file *filp) 435 struct drm_file *filp)
458{ 436{
459 struct amdgpu_device *adev = dev->dev_private;
460 union drm_amdgpu_gem_wait_idle *args = data; 437 union drm_amdgpu_gem_wait_idle *args = data;
461 struct drm_gem_object *gobj; 438 struct drm_gem_object *gobj;
462 struct amdgpu_bo *robj; 439 struct amdgpu_bo *robj;
@@ -484,7 +461,6 @@ int amdgpu_gem_wait_idle_ioctl(struct drm_device *dev, void *data,
484 r = ret; 461 r = ret;
485 462
486 drm_gem_object_unreference_unlocked(gobj); 463 drm_gem_object_unreference_unlocked(gobj);
487 r = amdgpu_gem_handle_lockup(adev, r);
488 return r; 464 return r;
489} 465}
490 466