aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian König <christian.koenig@amd.com>2014-02-20 15:48:00 -0500
committerChristian König <christian.koenig@amd.com>2014-03-03 05:26:39 -0500
commit4d1526466296360f56f93c195848c1202b0cc10b (patch)
tree8a029767671c5a64effa9643bc62c0ef9d1e3529
parent529364e05bc093dc41b0c9e67e94ac82442c1b35 (diff)
drm/radeon: drop non blocking allocations from sub allocator
Not needed any more. Signed-off-by: Christian König <christian.koenig@amd.com>
-rw-r--r--drivers/gpu/drm/radeon/radeon_object.h2
-rw-r--r--drivers/gpu/drm/radeon/radeon_ring.c2
-rw-r--r--drivers/gpu/drm/radeon/radeon_sa.c7
-rw-r--r--drivers/gpu/drm/radeon/radeon_semaphore.c2
4 files changed, 5 insertions, 8 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_object.h b/drivers/gpu/drm/radeon/radeon_object.h
index 7dff64d1f592..9e7b25a0629d 100644
--- a/drivers/gpu/drm/radeon/radeon_object.h
+++ b/drivers/gpu/drm/radeon/radeon_object.h
@@ -180,7 +180,7 @@ extern int radeon_sa_bo_manager_suspend(struct radeon_device *rdev,
180extern int radeon_sa_bo_new(struct radeon_device *rdev, 180extern int radeon_sa_bo_new(struct radeon_device *rdev,
181 struct radeon_sa_manager *sa_manager, 181 struct radeon_sa_manager *sa_manager,
182 struct radeon_sa_bo **sa_bo, 182 struct radeon_sa_bo **sa_bo,
183 unsigned size, unsigned align, bool block); 183 unsigned size, unsigned align);
184extern void radeon_sa_bo_free(struct radeon_device *rdev, 184extern void radeon_sa_bo_free(struct radeon_device *rdev,
185 struct radeon_sa_bo **sa_bo, 185 struct radeon_sa_bo **sa_bo,
186 struct radeon_fence *fence); 186 struct radeon_fence *fence);
diff --git a/drivers/gpu/drm/radeon/radeon_ring.c b/drivers/gpu/drm/radeon/radeon_ring.c
index 5321e249021f..8b0dfdd23793 100644
--- a/drivers/gpu/drm/radeon/radeon_ring.c
+++ b/drivers/gpu/drm/radeon/radeon_ring.c
@@ -63,7 +63,7 @@ int radeon_ib_get(struct radeon_device *rdev, int ring,
63{ 63{
64 int r; 64 int r;
65 65
66 r = radeon_sa_bo_new(rdev, &rdev->ring_tmp_bo, &ib->sa_bo, size, 256, true); 66 r = radeon_sa_bo_new(rdev, &rdev->ring_tmp_bo, &ib->sa_bo, size, 256);
67 if (r) { 67 if (r) {
68 dev_err(rdev->dev, "failed to get a new IB (%d)\n", r); 68 dev_err(rdev->dev, "failed to get a new IB (%d)\n", r);
69 return r; 69 return r;
diff --git a/drivers/gpu/drm/radeon/radeon_sa.c b/drivers/gpu/drm/radeon/radeon_sa.c
index c0625805cdd7..adcf3e2f07da 100644
--- a/drivers/gpu/drm/radeon/radeon_sa.c
+++ b/drivers/gpu/drm/radeon/radeon_sa.c
@@ -312,7 +312,7 @@ static bool radeon_sa_bo_next_hole(struct radeon_sa_manager *sa_manager,
312int radeon_sa_bo_new(struct radeon_device *rdev, 312int radeon_sa_bo_new(struct radeon_device *rdev,
313 struct radeon_sa_manager *sa_manager, 313 struct radeon_sa_manager *sa_manager,
314 struct radeon_sa_bo **sa_bo, 314 struct radeon_sa_bo **sa_bo,
315 unsigned size, unsigned align, bool block) 315 unsigned size, unsigned align)
316{ 316{
317 struct radeon_fence *fences[RADEON_NUM_RINGS]; 317 struct radeon_fence *fences[RADEON_NUM_RINGS];
318 unsigned tries[RADEON_NUM_RINGS]; 318 unsigned tries[RADEON_NUM_RINGS];
@@ -353,14 +353,11 @@ int radeon_sa_bo_new(struct radeon_device *rdev,
353 r = radeon_fence_wait_any(rdev, fences, false); 353 r = radeon_fence_wait_any(rdev, fences, false);
354 spin_lock(&sa_manager->wq.lock); 354 spin_lock(&sa_manager->wq.lock);
355 /* if we have nothing to wait for block */ 355 /* if we have nothing to wait for block */
356 if (r == -ENOENT && block) { 356 if (r == -ENOENT) {
357 r = wait_event_interruptible_locked( 357 r = wait_event_interruptible_locked(
358 sa_manager->wq, 358 sa_manager->wq,
359 radeon_sa_event(sa_manager, size, align) 359 radeon_sa_event(sa_manager, size, align)
360 ); 360 );
361
362 } else if (r == -ENOENT) {
363 r = -ENOMEM;
364 } 361 }
365 362
366 } while (!r); 363 } while (!r);
diff --git a/drivers/gpu/drm/radeon/radeon_semaphore.c b/drivers/gpu/drm/radeon/radeon_semaphore.c
index 6140af6772c7..dbd6bcde92de 100644
--- a/drivers/gpu/drm/radeon/radeon_semaphore.c
+++ b/drivers/gpu/drm/radeon/radeon_semaphore.c
@@ -42,7 +42,7 @@ int radeon_semaphore_create(struct radeon_device *rdev,
42 return -ENOMEM; 42 return -ENOMEM;
43 } 43 }
44 r = radeon_sa_bo_new(rdev, &rdev->ring_tmp_bo, &(*semaphore)->sa_bo, 44 r = radeon_sa_bo_new(rdev, &rdev->ring_tmp_bo, &(*semaphore)->sa_bo,
45 8 * RADEON_NUM_SYNCS, 8, true); 45 8 * RADEON_NUM_SYNCS, 8);
46 if (r) { 46 if (r) {
47 kfree(*semaphore); 47 kfree(*semaphore);
48 *semaphore = NULL; 48 *semaphore = NULL;