From mboxrd@z Thu Jan 1 00:00:00 1970 From: Claude Code Review Bot To: dri-devel-reviews@example.com Subject: Claude review: drm/xe/ggtt: hold FORCEWAKE while updating GGTT PTEs on LNL Date: Mon, 25 May 2026 20:52:12 +1000 Message-ID: In-Reply-To: <20260520194426.1334262-1-sonny@milton.pro> References: <20260520194426.1334262-1-sonny@milton.pro> X-Mailer: Claude Code Patch Reviewer Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Overall Series Review Subject: drm/xe/ggtt: hold FORCEWAKE while updating GGTT PTEs on LNL Author: Nikolay Mikhaylov Patches: 1 Reviewed: 2026-05-25T20:52:12.654181 --- This is a single-patch series that adds FORCEWAKE protection around GGTT PT= E writes in the xe driver to prevent hangs on Lunar Lake (LNL) systems. The= problem is well-understood: `xe_pm_runtime_get_noresume()` prevents D3 ent= ry but doesn't prevent RC6, and on LNL the GuC autonomously enters RC6 via = `GUCRC_FIRMWARE_CONTROL`. When the GT is in RC6, `writeq()` to GSM hangs. The patch is well-motivated with real user testing backing it. The approach= of wrapping PTE write batches in `xe_with_force_wake()` is reasonable and = narrowly targeted. **Concern:** There are additional GGTT PTE write paths in the same file tha= t are **not** wrapped with FORCEWAKE: 1. **`xe_ggtt_map_bo_unlocked()`** (line 735=E2=80=93744) =E2=80=94 called = from `xe_bo_evict.c` to restore GGTT mappings after suspend. This calls `xe= _ggtt_map_bo()` which writes PTEs via `ggtt_set_pte`. This path is not prot= ected. 2. **`xe_ggtt_assign_locked()`** (line 971=E2=80=93987) =E2=80=94 SR-IOV PF= path that writes PTEs in a loop. Not protected. 3. **`xe_ggtt_node_load()`** (line 1053=E2=80=931080) =E2=80=94 SR-IOV node= load path that writes PTEs in a loop. Not protected. The commit message acknowledges the change is limited to "paths where the h= ang has been observed," which is a defensible position for a targeted fix. = However, `xe_ggtt_map_bo_unlocked()` is called during resume from suspend a= nd seems like it could plausibly hit the same issue on LNL if the GT re-ent= ers RC6 quickly after resume. --- --- Generated by Claude Code Patch Reviewer