From: sashiko-bot@kernel.org
To: "Matthew Auld" <matthew.auld@intel.com>, intel-xe@lists.freedesktop.org
Subject: Re: [PATCH 2/2] drm/xe/pm: skip BO eviction on iGPU for non-hibernation sleep
Date: Fri, 06 Nov 2026 10:31:27 +0000 [thread overview]
Message-ID: <sashiko-outbox-201221@kernel.org> (raw)
In-Reply-To: <20261106-s4-opti-v1-2-5edaea2c6d31@intel.com>
Thank you for your contribution! Sashiko AI review found no new issues
in this patch, but noticed 1 related pre-existing issue it does not
introduce:
- [High] drm/xe: missing GT resume on xe_pm_runtime_suspend() error path
[1]
--
commit 6e0e7a2f201b73b5b02bb232ce3a960f5bc33388
Author: Matthew Auld <matthew.auld@intel.com>
drm/xe/pm: skip BO eviction on iGPU for non-hibernation sleep
This commit distinguishes S4 hibernation from S2idle/S3 suspend and skips BO
eviction and pinned BO preparation on iGPU platforms when not hibernating.
> diff --git a/drivers/gpu/drm/xe/xe_pm.c b/drivers/gpu/drm/xe/xe_pm.c
> index f483b565d323f..63bcb4aef461b 100644
> --- a/drivers/gpu/drm/xe/xe_pm.c
> +++ b/drivers/gpu/drm/xe/xe_pm.c
[ ... ]
> @@ -193,10 +199,12 @@ int xe_pm_suspend(struct xe_device *xe)
>
> xe_display_pm_suspend(xe);
>
> - /* FIXME: Super racey... */
> - err = xe_bo_evict_all(xe);
> - if (err)
> - goto err_display;
> + if (xe_pm_needs_bo_evict(xe, hibernate)) {
> + /* FIXME: Super racey... */
> + err = xe_bo_evict_all(xe);
> + if (err)
> + goto err_display;
> + }
>
> for_each_gt(gt, xe, id) {
> err = xe_gt_suspend(gt);
[Severity: High]
This problem wasn't introduced by this patch, but if a subsequent GT fails to
suspend in the for_each_gt() loop in xe_pm_suspend() or
xe_pm_runtime_suspend() [1], does the error path leave earlier GTs
suspended?
drivers/gpu/drm/xe/xe_pm.c:xe_pm_suspend() {
...
for_each_gt(gt, xe, id) {
err = xe_gt_suspend(gt);
if (err)
goto err_display;
}
...
err_display:
xe_display_pm_resume(xe);
xe_pxp_pm_resume(xe->pxp);
err:
drm_dbg(&xe->drm, "Device suspend failed %d\n", err);
xe_pm_block_end_signalling();
return err;
}
Neither err_display in xe_pm_suspend() nor out_resume in
xe_pm_runtime_suspend() resumes the GTs that already succeeded before the
failure. When suspend is aborted, the PM core keeps the device active while
those GTs remain physically suspended, leading to timeouts and hardware hangs
on subsequent access.
[1] https://sashiko.dev/#/bug/linux-5b6a3fb9-c8f9-45a4-a04c-2bc0919df0d7
--
Sashiko AI review · https://sashiko.dev/#/patchset/20261106-s4-opti-v1-0-5edaea2c6d31@intel.com?part=2
next prev parent reply other threads:[~2026-11-06 10:31 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-11-06 10:16 [PATCH 0/2] Optimise suspend handling for CCS igpu platforms Matthew Auld
2026-11-06 10:16 ` [PATCH 1/2] drm/xe: only evict CCS buffers from TT on iGPU Matthew Auld
2026-11-06 10:50 ` sashiko-bot
2026-11-06 11:34 ` Matthew Auld
2026-11-06 15:07 ` Thomas Hellström
2026-11-06 10:16 ` [PATCH 2/2] drm/xe/pm: skip BO eviction on iGPU for non-hibernation sleep Matthew Auld
2026-11-06 10:31 ` sashiko-bot [this message]
2026-11-06 10:32 ` Thomas Hellström
2026-11-06 11:02 ` Matthew Auld
2026-11-06 13:16 ` Matthew Auld
2026-11-06 15:11 ` Thomas Hellström
2026-11-06 17:07 ` Ville Syrjälä
2026-11-09 9:31 ` Matthew Auld
2026-11-06 11:06 ` ✓ CI.KUnit: success for Optimise suspend handling for CCS igpu platforms Patchwork
2026-11-06 11:40 ` ✓ Xe.CI.BAT: " Patchwork
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=sashiko-outbox-201221@kernel.org \
--to=sashiko-bot@kernel.org \
--cc=intel-xe@lists.freedesktop.org \
--cc=matthew.auld@intel.com \
--cc=sashiko-reviews@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox