diff options
author | Ben Widawsky <ben@bwidawsk.net> | 2013-07-05 17:41:03 -0400 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2013-07-08 16:04:33 -0400 |
commit | 338710e7aff3428dc8170a03704a8ae981b58dcd (patch) | |
tree | 5c95329df3cd1114ddd3f59181f36fc4cbd5ab96 /drivers/gpu/drm/i915/i915_gem_stolen.c | |
parent | b3a070cccb9135f8bec63d9f194ddaa422136fb0 (diff) |
drm: Change create block to reserve node
With the previous patch we no longer actually create a node, we simply
find the correct hole and occupy it. This very well could have been
squashed with the last patch, but since I already had David's review, I
figured it's easiest to keep it distinct.
Also update the users in i915. Conveniently this is the only user of the
interface.
CC: David Airlie <airlied@linux.ie>
CC: <dri-devel@lists.freedesktop.org>
Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
Acked-by: David Airlie <airlied@linux.ie>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/gpu/drm/i915/i915_gem_stolen.c')
-rw-r--r-- | drivers/gpu/drm/i915/i915_gem_stolen.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/drivers/gpu/drm/i915/i915_gem_stolen.c b/drivers/gpu/drm/i915/i915_gem_stolen.c index 2746ff2d846a..4e6dbbb47dfe 100644 --- a/drivers/gpu/drm/i915/i915_gem_stolen.c +++ b/drivers/gpu/drm/i915/i915_gem_stolen.c | |||
@@ -349,8 +349,9 @@ i915_gem_object_create_stolen_for_preallocated(struct drm_device *dev, | |||
349 | if (!stolen) | 349 | if (!stolen) |
350 | return NULL; | 350 | return NULL; |
351 | 351 | ||
352 | ret = drm_mm_create_block(&dev_priv->mm.stolen, stolen, stolen_offset, | 352 | stolen->start = stolen_offset; |
353 | size); | 353 | stolen->size = size; |
354 | ret = drm_mm_reserve_node(&dev_priv->mm.stolen, stolen); | ||
354 | if (ret) { | 355 | if (ret) { |
355 | DRM_DEBUG_KMS("failed to allocate stolen space\n"); | 356 | DRM_DEBUG_KMS("failed to allocate stolen space\n"); |
356 | kfree(stolen); | 357 | kfree(stolen); |
@@ -380,9 +381,10 @@ i915_gem_object_create_stolen_for_preallocated(struct drm_device *dev, | |||
380 | goto unref_out; | 381 | goto unref_out; |
381 | } | 382 | } |
382 | 383 | ||
383 | ret = drm_mm_create_block(&dev_priv->mm.gtt_space, | 384 | obj->gtt_space->start = gtt_offset; |
384 | obj->gtt_space, | 385 | obj->gtt_space->size = size; |
385 | gtt_offset, size); | 386 | ret = drm_mm_reserve_node(&dev_priv->mm.gtt_space, |
387 | obj->gtt_space); | ||
386 | if (ret) { | 388 | if (ret) { |
387 | DRM_DEBUG_KMS("failed to allocate stolen GTT space\n"); | 389 | DRM_DEBUG_KMS("failed to allocate stolen GTT space\n"); |
388 | goto free_out; | 390 | goto free_out; |