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/i915/reset: Solve display vs. GPU reset deadlock, again Date: Sun, 12 Apr 2026 12:04:47 +1000 Message-ID: In-Reply-To: <20260408233458.22666-1-ville.syrjala@linux.intel.com> References: <20260408233458.22666-1-ville.syrjala@linux.intel.com> 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/i915/reset: Solve display vs. GPU reset deadlock, again Author: Ville Syrjala Patches: 17 Reviewed: 2026-04-12T12:04:47.160621 --- This is a well-structured 6-patch series from Ville Syrj=C3=A4l=C3=A4 that = re-solves the display vs. GPU reset deadlock in i915. The original fix was = lost when `i915_sw_fence` was replaced with `dma_fence` interfaces. The app= roach is sound: introduce a custom `dma_fence` ("reset fence") that gets si= gnaled just before GPU reset, so that `intel_atomic_commit_fence_wait()` ca= n use `dma_fence_wait_any_timeout()` to wait on whichever signals first =E2= =80=94 the real plane fence or the reset fence. This avoids the deadlock wh= ere the commit blocks on a fence that will never signal because the GPU is = hung, while the reset code is trying to acquire modeset locks held by the c= ommit path. The series is logically decomposed into good preparatory steps: doc fix, re= factoring the return value and `HAS_DISPLAY` checks, moving `pending_fb_pin= ` to i915-specific code, adding xe compat stubs, implementing the actual fe= nce mechanism, and finally switching to an infinite timeout. **Key concerns:** 1. Patch 3 has a subtle regression in the overlay pin/unpin tracking. 2. Patch 5 has a race window where the reset fence could be discarded befor= e waiters observe signaling. 3. Patch 6 is explicitly experimental per its own commit message, which is = fine for CI testing but should not be merged as-is. Overall the series is a good direction. A few issues need addressing before= merge. --- Generated by Claude Code Patch Reviewer