kernel/vb2-dma-resv-rfc: regenerate via git format-patch + verify

Replace the hand-rolled draft patches with the proper
git-format-patch output. The new files apply cleanly via git am
against unmodified Linux 6.12 mainline, verified by reset-and-apply
roundtrip on /tmp/hantro-src (the local sparse checkout used during
the chromium-fourier campaign).

All kernel API calls also sanity-checked against the real
include/linux/dma-fence.h and include/linux/dma-resv.h signatures:

- dma_fence_init(fence, ops, lock, context, seqno) — argument list
  matches our call exactly
- dma_resv_add_fence(obj, fence, usage) — DMA_RESV_USAGE_WRITE
  enum value confirmed present
- dma_fence_signal, dma_fence_set_error, dma_fence_get,
  dma_fence_put, dma_fence_context_alloc — all present and
  correctly used
- dma_resv_lock(obj, NULL), dma_resv_unlock — present, correctly
  paired

README updated to reflect the post-verification status. Remaining
gates before sending to linux-media are now: full-tree compile
test (needs complete kernel checkout, hours of work), boot test on
ohm (needs patched kernel build), and the runtime A/B (install
patched kernel + uninstall kwin-fourier — chrome should still play
1080p30 because the fence is now real).

Cover letter blurb filled in with the full motivation, test setup,
and review-question list.
This commit is contained in:
2026-04-28 19:29:05 +00:00
parent a7892bfabc
commit 5e68aec2e9
7 changed files with 261 additions and 275 deletions
+14 -4
View File
@@ -34,10 +34,20 @@ their respective `buf_queue` callbacks).
## Status
Patches drafted but **not yet applied / compile-tested / runtime-
tested.** They're written against linux-next master as of
2026-04-28 (sparse-checked-out at `/tmp/hantro-src` during the
chromium-fourier campaign on ohm). Pre-flight before sending:
**Patches apply cleanly to Linux 6.12 mainline via `git am`**
verified against `/tmp/hantro-src` (sparse-checked-out v6.12 plus
linux-next master). All kernel API calls verified to match real
signatures in `include/linux/dma-fence.h` and
`include/linux/dma-resv.h`:
- `dma_fence_init(fence, ops, lock, context, seqno)`
- `dma_resv_add_fence(obj, fence, usage)`
- `DMA_RESV_USAGE_WRITE` enum present ✓
- `dma_fence_signal`, `dma_fence_set_error`, `dma_fence_get`,
`dma_fence_put`, `dma_fence_context_alloc`
- `dma_resv_lock(obj, NULL)`, `dma_resv_unlock`
Remaining gates before sending to linux-media:
1. **Compile** — `make drivers/media/common/videobuf2/videobuf2-core.o
drivers/media/platform/verisilicon/hantro_v4l2.o