drm/i915: Make GuC GGTT reservation work on ggtt
These functions operate on ggtt so make them take that directly as parameter. At the same time move the USES_GUC conditional down to intel_guc_reserve_ggtt_top for symmetry with intel_guc_reserved_gtt_size. v2: * Rename and move functions to be static in i915_gem_gtt.c (Michal) v3: * Add comment explaining reason for reservation, add assert and fix error message. (Michal) v4: * Fix checkpatch error. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Cc: Michal Wajdeczko <michal.wajdeczko@intel.com> Reviewed-by: Michal Wajdeczko <michal.wajdeczko@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20190611122350.15060-1-tvrtko.ursulin@linux.intel.com
This commit is contained in:
@@ -685,30 +685,3 @@ err:
|
||||
i915_gem_object_put(obj);
|
||||
return vma;
|
||||
}
|
||||
|
||||
int intel_guc_reserve_ggtt_top(struct intel_guc *guc)
|
||||
{
|
||||
struct drm_i915_private *i915 = guc_to_i915(guc);
|
||||
struct i915_ggtt *ggtt = &i915->ggtt;
|
||||
u64 size;
|
||||
int ret;
|
||||
|
||||
size = ggtt->vm.total - GUC_GGTT_TOP;
|
||||
|
||||
ret = i915_gem_gtt_reserve(&ggtt->vm, &ggtt->uc_fw, size,
|
||||
GUC_GGTT_TOP, I915_COLOR_UNEVICTABLE,
|
||||
PIN_NOEVICT);
|
||||
if (ret)
|
||||
DRM_DEBUG_DRIVER("GuC: failed to reserve top of ggtt\n");
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
void intel_guc_release_ggtt_top(struct intel_guc *guc)
|
||||
{
|
||||
struct drm_i915_private *i915 = guc_to_i915(guc);
|
||||
struct i915_ggtt *ggtt = &i915->ggtt;
|
||||
|
||||
if (drm_mm_node_allocated(&ggtt->uc_fw))
|
||||
drm_mm_remove_node(&ggtt->uc_fw);
|
||||
}
|
||||
|
Reference in New Issue
Block a user