From mboxrd@z Thu Jan 1 00:00:00 1970 From: Claude Code Review Bot To: dri-devel-reviews@example.com Subject: Claude review: gpu: nova-core: run unload sequence upon unbinding Date: Tue, 28 Apr 2026 15:01:46 +1000 Message-ID: In-Reply-To: <20260427-nova-unload-v4-0-e145ccddae66@nvidia.com> References: <20260427-nova-unload-v4-0-e145ccddae66@nvidia.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: gpu: nova-core: run unload sequence upon unbinding Author: Alexandre Courbot Patches: 10 Reviewed: 2026-04-28T15:01:46.459272 --- This is a well-structured 8-patch series that implements GSP unload for nov= a-core, allowing the driver to properly clean up the GPU when unbinding rat= her than leaving WPR2 in place and requiring a PCI reset before rebinding. = The series is logically decomposed: patches 1-3 are preparatory cleanup, pa= tch 4 adds the GSP shutdown command, patch 5 refactors booter code, patches= 6-7 introduce a HAL for chipset-specific boot/unload paths, and patch 8 wi= res up the full unload sequence (Booter Unloader + FWSEC-SB). The approach of preparing the unload firmware bundle at probe time (since t= he filesystem may not be available at unbind) is sound and well-motivated. = The HAL introduction is a reasonable forward-looking design for Hopper/Blac= kwell support. A few concerns worth raising: 1. **Patch 6 reorders `SetSystemInfo`/`SetRegistry` commands to after RISC-= V becomes active** =E2=80=94 this is a behavioral change that deserves expl= icit justification beyond "shuffle code," since previously these were enque= ued before the GSP falcon boot and now they're sent after. 2. **Patch 8 makes unload bundle preparation non-fatal** =E2=80=94 if it fa= ils, the driver still loads but won't be able to cleanly unload. This is pr= agmatic but means the driver can silently enter a degraded state. 3. **Pin projection in patch 8** =E2=80=94 `self.as_mut().project().unload`= assumes `#[pin_data]` generates a `project()` method. This should work wit= h kernel pin-init infrastructure, but is worth verifying. --- --- Generated by Claude Code Patch Reviewer