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

Reply via email to