[PATCH 8/8] oops
Matthew Auld
matthew.auld at intel.com
Fri Jan 27 17:19:29 UTC 2023
---
drivers/gpu/drm/i915/gem/i915_gem_region.c | 5 ++++-
drivers/gpu/drm/i915/gem/i915_gem_ttm_pm.c | 8 ++++----
2 files changed, 8 insertions(+), 5 deletions(-)
diff --git a/drivers/gpu/drm/i915/gem/i915_gem_region.c b/drivers/gpu/drm/i915/gem/i915_gem_region.c
index a4fb577eceb4..a9ba3d89956d 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_region.c
+++ b/drivers/gpu/drm/i915/gem/i915_gem_region.c
@@ -191,8 +191,11 @@ int i915_gem_process_region(struct intel_memory_region *mr,
if (ret)
continue;
- if (obj->mm.region == mr)
+ if (obj->mm.region == mr) {
ret = ops->process_obj(apply, obj);
+ if (ret)
+ pr_err("process_obj failed with %d\n", ret);
+ }
/* Implicit object unlock */
}
diff --git a/drivers/gpu/drm/i915/gem/i915_gem_ttm_pm.c b/drivers/gpu/drm/i915/gem/i915_gem_ttm_pm.c
index 9356d5b36d2f..be44e7eed892 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_ttm_pm.c
+++ b/drivers/gpu/drm/i915/gem/i915_gem_ttm_pm.c
@@ -66,9 +66,6 @@ static int i915_ttm_backup(struct i915_gem_apply_to_region *apply,
if (obj->flags & I915_BO_ALLOC_PM_VOLATILE)
return 0;
- if (obj->mm.madv != I915_MADV_WILLNEED)
- return i915_ttm_purge(obj);
-
/*
* It seems that we might have some framebuffers still pinned at this
* stage, but for such objects we might also need to deal with the CCS
@@ -190,7 +187,10 @@ static int i915_ttm_restore(struct i915_gem_apply_to_region *apply,
return err;
/* Content may have been swapped. */
- err = ttm_tt_populate(backup_bo->bdev, backup_bo->ttm, &ctx);
+ if (!backup_bo->resource)
+ err = ttm_bo_validate(backup_bo, i915_ttm_sys_placement(), &ctx);
+ if (!err)
+ err = ttm_tt_populate(backup_bo->bdev, backup_bo->ttm, &ctx);
if (!err) {
err = i915_gem_obj_copy_ttm(obj, backup, pm_apply->allow_gpu,
false);
--
2.39.1
More information about the Intel-gfx-trybot
mailing list