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/nouveau: nv04 FIFO cleanup + recovery for Tesla Date: Sat, 16 May 2026 11:34:49 +1000 Message-ID: In-Reply-To: <20260513175014.96599-1-marek@czernohous.de> References: <20260513175014.96599-1-marek@czernohous.de> 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/nouveau: nv04 FIFO cleanup + recovery for Tesla Author: Marek Czernohous Patches: 3 Reviewed: 2026-05-16T11:34:49.332858 --- This is a well-structured two-patch series adding observability and recover= y to the legacy nv04 FIFO path on Tesla GPUs. The cover letter is thorough,= the design (Tier-1 channel-kill + Tier-2 sliding-window wedge) is sound, a= nd the code follows existing nouveau patterns (e.g., the `nvkm_chan_get_chi= d` / `nvkm_chan_error` / `nvkm_chan_put` sequence mirrors Fermi+ paths in g= f100.c, ga100.c, gv100.c). The series is relatively clean. The main issues are: 1. **German comments in the public header** =E2=80=94 the `struct nvkm_fifo= _wedge` field comments are in German. Kernel code should use English. 2. **No unwedge/reset mechanism** =E2=80=94 once `atomic_xchg(&w->wedged, 1= )` fires, Tier-2 is permanently disabled for the lifetime of the driver. Th= is is a design point worth an explicit note or a deliberate decision to doc= ument. 3. **Wedge init/fini runs for all GPU generations** =E2=80=94 `nv04_fifo_we= dge_init`/`fini` is called unconditionally from `nvkm_fifo_new_`/`nvkm_fifo= _dtor`, even though `nv04_fifo_recover` is only called from the nv04 FIFO i= nterrupt handler. Harmless but slightly untidy. No blocking issues found. The locking is correct, `schedule_work` from IRQ = context is fine, and the workqueue indirection for `drm_dev_wedged_event` (= which may sleep via `kobject_uevent_env`) is the right approach. --- --- Generated by Claude Code Patch Reviewer