mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-04-05 00:04:34 -04:00
drm/xe: Allow the pm notifier to continue on failure
Its actions are opportunistic anyway and will be completed on device suspend. Marking as a fix to simplify backporting of the fix that follows in the series. v2: - Keep the runtime pm reference over suspend / hibernate and document why. (Matt Auld, Rodrigo Vivi): Fixes:c6a4d46ec1("drm/xe: evict user memory in PM notifier") Cc: Matthew Auld <matthew.auld@intel.com> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com> Cc: <stable@vger.kernel.org> # v6.16+ Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com> Reviewed-by: Matthew Auld <matthew.auld@intel.com> Link: https://lore.kernel.org/r/20250904160715.2613-3-thomas.hellstrom@linux.intel.com (cherry picked from commitebd546fdff) Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
This commit is contained in:
committed by
Rodrigo Vivi
parent
5c87fee3c9
commit
d84820309e
@@ -301,17 +301,17 @@ static int xe_pm_notifier_callback(struct notifier_block *nb,
|
||||
case PM_SUSPEND_PREPARE:
|
||||
xe_pm_runtime_get(xe);
|
||||
err = xe_bo_evict_all_user(xe);
|
||||
if (err) {
|
||||
if (err)
|
||||
drm_dbg(&xe->drm, "Notifier evict user failed (%d)\n", err);
|
||||
xe_pm_runtime_put(xe);
|
||||
break;
|
||||
}
|
||||
|
||||
err = xe_bo_notifier_prepare_all_pinned(xe);
|
||||
if (err) {
|
||||
if (err)
|
||||
drm_dbg(&xe->drm, "Notifier prepare pin failed (%d)\n", err);
|
||||
xe_pm_runtime_put(xe);
|
||||
}
|
||||
/*
|
||||
* Keep the runtime pm reference until post hibernation / post suspend to
|
||||
* avoid a runtime suspend interfering with evicted objects or backup
|
||||
* allocations.
|
||||
*/
|
||||
break;
|
||||
case PM_POST_HIBERNATION:
|
||||
case PM_POST_SUSPEND:
|
||||
@@ -320,9 +320,6 @@ static int xe_pm_notifier_callback(struct notifier_block *nb,
|
||||
break;
|
||||
}
|
||||
|
||||
if (err)
|
||||
return NOTIFY_BAD;
|
||||
|
||||
return NOTIFY_DONE;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user