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: gsp: make `Cmdq` a pinned type Date: Wed, 11 Mar 2026 13:32:10 +1000 Message-ID: In-Reply-To: <20260310-cmdq-locking-v4-4-4e5c4753c408@nvidia.com> References: <20260310-cmdq-locking-v4-0-4e5c4753c408@nvidia.com> <20260310-cmdq-locking-v4-4-4e5c4753c408@nvidia.com> X-Mailer: Claude Code Patch Reviewer Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit MIME-Version: 1.0 Patch Review Mechanical conversion of `Cmdq` from a regular type to a pinned type using `#[pin_data]` and `try_pin_init!`: ```rust + pub(crate) fn new(dev: &device::Device) -> impl PinInit + '_ { + try_pin_init!(Self { + gsp_mem: DmaGspMem::new(dev)?, dev: dev.into(), seq: 0, - gsp_mem, }) ``` The `Gsp` struct update correctly uses the `<-` pin-init operator: ```rust - cmdq: Cmdq::new(dev)?, + cmdq <- Cmdq::new(dev), ``` And the `GspArgumentsCached::new` call changes from passing `cmdq` (which was previously `Cmdq` by value-ish) to `&cmdq`: ```rust - dma_write!(rmargs[0].inner = fw::GspArgumentsCached::new(cmdq))?; + dma_write!(rmargs[0].inner = fw::GspArgumentsCached::new(&cmdq))?; ``` This is clean and correct preparation for the mutex in the next patch. No issues. --- Generated by Claude Code Patch Reviewer