drm/i915: Move vm page allocation in proper place
Move to i915_vma_bind as it is part of the binding. Suggested-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Michel Thierry <michel.thierry@intel.com> Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This commit is contained in:
parent
3b7a5119b5
commit
1d335d1b62
@ -3556,17 +3556,6 @@ search_free:
|
|||||||
if (ret)
|
if (ret)
|
||||||
goto err_remove_node;
|
goto err_remove_node;
|
||||||
|
|
||||||
/* allocate before insert / bind */
|
|
||||||
if (vma->vm->allocate_va_range) {
|
|
||||||
trace_i915_va_alloc(vma->vm, vma->node.start, vma->node.size,
|
|
||||||
VM_TO_TRACE_NAME(vma->vm));
|
|
||||||
ret = vma->vm->allocate_va_range(vma->vm,
|
|
||||||
vma->node.start,
|
|
||||||
vma->node.size);
|
|
||||||
if (ret)
|
|
||||||
goto err_remove_node;
|
|
||||||
}
|
|
||||||
|
|
||||||
trace_i915_vma_bind(vma, flags);
|
trace_i915_vma_bind(vma, flags);
|
||||||
ret = i915_vma_bind(vma, obj->cache_level,
|
ret = i915_vma_bind(vma, obj->cache_level,
|
||||||
flags & PIN_GLOBAL ? GLOBAL_BIND : 0);
|
flags & PIN_GLOBAL ? GLOBAL_BIND : 0);
|
||||||
|
@ -2927,8 +2927,22 @@ i915_get_ggtt_vma_pages(struct i915_vma *vma)
|
|||||||
int i915_vma_bind(struct i915_vma *vma, enum i915_cache_level cache_level,
|
int i915_vma_bind(struct i915_vma *vma, enum i915_cache_level cache_level,
|
||||||
u32 flags)
|
u32 flags)
|
||||||
{
|
{
|
||||||
|
int ret;
|
||||||
|
|
||||||
|
if (vma->vm->allocate_va_range) {
|
||||||
|
trace_i915_va_alloc(vma->vm, vma->node.start,
|
||||||
|
vma->node.size,
|
||||||
|
VM_TO_TRACE_NAME(vma->vm));
|
||||||
|
|
||||||
|
ret = vma->vm->allocate_va_range(vma->vm,
|
||||||
|
vma->node.start,
|
||||||
|
vma->node.size);
|
||||||
|
if (ret)
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
if (i915_is_ggtt(vma->vm)) {
|
if (i915_is_ggtt(vma->vm)) {
|
||||||
int ret = i915_get_ggtt_vma_pages(vma);
|
ret = i915_get_ggtt_vma_pages(vma);
|
||||||
|
|
||||||
if (ret)
|
if (ret)
|
||||||
return ret;
|
return ret;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user