On 8/28/25 1:44 PM, Konstantin Ryabitsev wrote: > On Wed, Aug 27, 2025 at 02:56:26PM -0700, John Hubbard wrote: >>> Right, b4 is supposed to be able to help with this as well, but indeed a >> >> It really doesn't quite, though. >> >> It is true that "base" (git format-patch --base) helps "b4 am" set things >> up, but then a subsequent "git am" fails due to missing prerequisites. >> >> b4 isn't set up to go retrieve those, on its own anyway. > > Sure it is. :) > > Try `b4 shazam -H` on this series.
That is nice, I've updated my mental model of what b4 can do now. It still fails for this particular series, but it at least tries quite thoroughly to get the dependencies. I think this demonstrates a case of pushing even a very capable tool such as b4, a little too hard, though. <blueforge> linux-people (nova-next)$ b4 shazam -H "<20250826-nova_firmware-v2-0-93566252f...@nvidia.com>" Grabbing thread from lore.kernel.org/all/20250826-nova_firmware-v2-0-93566252f...@nvidia.com/t.mbox.gz Checking for newer revisions Grabbing search results from lore.kernel.org Analyzing 35 messages in the thread Analyzing 10 code-review messages Checking attestation on all messages, may take a moment... --- ✗ [PATCH v2 1/8] rust: transmute: add `from_bytes_copy` method to `FromBytes` trait + Acked-by: Miguel Ojeda <oj...@kernel.org> (✓ DKIM/gmail.com) + Reviewed-by: John Hubbard <jhubb...@nvidia.com> (✗ DKIM/nvidia.com) + Reviewed-by: Benno Lossin <los...@kernel.org> (✓ DKIM/kernel.org) ✗ [PATCH v2 2/8] gpu: nova-core: firmware: add support for common firmware header ✗ [PATCH v2 3/8] gpu: nova-core: firmware: process Booter and patch its signature ✗ [PATCH v2 4/8] gpu: nova-core: firmware: process the GSP bootloader + Reviewed-by: John Hubbard <jhubb...@nvidia.com> (✗ DKIM/nvidia.com) ✗ [PATCH v2 5/8] gpu: nova-core: firmware: process and prepare the GSP firmware ✗ [PATCH v2 6/8] gpu: nova-core: firmware: use 570.144 firmware + Reviewed-by: John Hubbard <jhubb...@nvidia.com> (✗ DKIM/nvidia.com) ✗ [PATCH v2 7/8] gpu: nova-core: Add base files for r570.144 firmware bindings + Reviewed-by: John Hubbard <jhubb...@nvidia.com> (✗ DKIM/nvidia.com) ✗ [PATCH v2 8/8] gpu: nova-core: compute layout of more framebuffer regions required for GSP --- ✗ BADSIG: DKIM/nvidia.com --- Total patches: 8 --- Base: using specified base-commit 331c24e6ce814af2af74bac648d1ac1708873e9c Deps: looking for dependencies matching 39 patch-ids Deps: Applying prerequisite patch: [PATCH v5 1/7] rust: page: implement BorrowedPage Deps: Applying prerequisite patch: [PATCH v5 2/7] rust: alloc: vmalloc: implement Vmalloc::to_page() Deps: Applying prerequisite patch: [PATCH v5 3/7] rust: alloc: implement VmallocPageIter Deps: Applying prerequisite patch: [PATCH v5 4/7] rust: page: define trait AsPageIter Deps: Applying prerequisite patch: [PATCH v5 5/7] rust: alloc: kbox: implement AsPageIter for VBox Deps: Applying prerequisite patch: [PATCH v2 4/6] rust: alloc: layout: implement ArrayLayout::size() Deps: Applying prerequisite patch: [PATCH v4 7/7] rust: alloc: kvec: implement AsPageIter for VVec Deps: Applying prerequisite patch: [PATCH v3 1/5] rust: dma: implement DataDirection Deps: Applying prerequisite patch: [PATCH v3 2/5] rust: dma: add type alias for bindings::dma_addr_t Deps: Applying prerequisite patch: [PATCH v3 3/5] rust: scatterlist: Add abstraction for sg_table Deps: Applying prerequisite patch: [PATCH v3 4/5] samples: rust: dma: add sample code for SGTable Deps: Applying prerequisite patch: [PATCH 4/4] MAINTAINERS: rust: dma: add scatterlist files Deps: Applying prerequisite patch: [PATCH v10] rust: transmute: Add methods for FromBytes trait Deps: Applying prerequisite patch: [PATCH] MAINTAINERS: Add website of Nova GPU driver Deps: Applying prerequisite patch: [PATCH 2/7] rust: gpu: update ARef and AlwaysRefCounted imports from sync::aref Deps: Applying prerequisite patch: [PATCH 01/18] gpu: nova-core: register: minor grammar and spelling fixes Deps: Applying prerequisite patch: [PATCH v2 02/19] gpu: nova-core: register: fix typo Deps: Applying prerequisite patch: [PATCH v2 04/19] gpu: nova-core: register: improve documentation for basic registers Deps: Applying prerequisite patch: [PATCH v2 05/19] gpu: nova-core: register: simplify @leaf_accessor rule Deps: Applying prerequisite patch: [PATCH v2 06/19] gpu: nova-core: register: remove `try_` accessors for relative registers Deps: Applying prerequisite patch: [PATCH 06/18] gpu: nova-core: register: move OFFSET declaration to I/O impl block Deps: Applying prerequisite patch: [PATCH 07/18] gpu: nova-core: register: fix documentation and indentation Deps: Applying prerequisite patch: [PATCH v2 09/19] gpu: nova-core: register: add missing doccomments for fixed registers I/O accessors Deps: Applying prerequisite patch: [PATCH 09/18] gpu: nova-core: register: add fields dispatcher internal rule Deps: Applying prerequisite patch: [PATCH v2 11/19] gpu: nova-core: register: improve `Debug` implementation Deps: Applying prerequisite patch: [PATCH 11/18] gpu: nova-core: register: generate correct `Default` implementation Deps: Applying prerequisite patch: [PATCH 12/18] gpu: nova-core: register: split @io rule into fixed and relative versions Deps: Applying prerequisite patch: [PATCH 13/18] gpu: nova-core: register: use #[inline(always)] for all methods Deps: Applying prerequisite patch: [PATCH v2 15/19] gpu: nova-core: register: redesign relative registers Deps: Applying prerequisite patch: [PATCH v2 16/19] gpu: nova-core: falcon: add distinct base address for PFALCON2 Deps: Applying prerequisite patch: [PATCH v2 17/19] gpu: nova-core: register: add support for register arrays Deps: Applying prerequisite patch: [PATCH v2 18/19] gpu: nova-core: falcon: use register arrays for FUSE registers Deps: Applying prerequisite patch: [PATCH v2 19/19] gpu: nova-core: register: add support for relative array registers Deps: Applying prerequisite patch: [PATCH v2] gpu: nova-core: falcon: align DMA transfers to 256 bytes Deps: Applying prerequisite patch: [PATCH v4 1/2] rust: add `Alignment` type Deps: Applying prerequisite patch: [PATCH v3 2/2] gpu: nova-core: use Alignment for alignment-related operations Magic: Preparing a sparse worktree Unable to cleanly apply series, see failure log below --- Applying: rust: page: implement BorrowedPage Applying: rust: alloc: vmalloc: implement Vmalloc::to_page() Applying: rust: alloc: implement VmallocPageIter Applying: rust: page: define trait AsPageIter Applying: rust: alloc: kbox: implement AsPageIter for VBox Applying: rust: alloc: layout: implement ArrayLayout::size() Applying: rust: alloc: kvec: implement AsPageIter for VVec Applying: rust: dma: implement DataDirection Applying: rust: dma: add type alias for bindings::dma_addr_t Patch failed at 0009 rust: dma: add type alias for bindings::dma_addr_t error: patch failed: drivers/gpu/nova-core/falcon.rs:4 error: drivers/gpu/nova-core/falcon.rs: patch does not apply hint: Use 'git am --show-current-patch=diff' to see the failed patch hint: When you have resolved this problem, run "git am --continue". hint: If you prefer to skip this patch, run "git am --skip" instead. hint: To restore the original branch and stop patching, run "git am --abort". hint: Disable this message with "git config set advice.mergeConflict false" --- Not fetching into FETCH_HEAD <blueforge> linux-people (nova-next)$ git am --show-current-patch=diff fatal: Resolve operation not in progress, we are not resuming. <blueforge> linux-people (nova-next)$ thanks, -- John Hubbard