Table of Contents

fourier — vb2-dma-resv kernel RFC

3-patch kernel RFC. Sent to linux-media + dri-devel + linaro-mm-sig + linux-rockchip + linux-arm-kernel + linux-kernel on 2026-04-29 19:53 UTC. Index: fourier.

Status (2026-04-30)

Why this exists

vb2 currently does not propagate V4L2 producer state into the dmabuf dma_resv exclusive fence. A downstream consumer (e.g. the KWin compositor polling a dmabuf for completion) cannot rely on the fence to indicate “decode finished, frame ready”. The compositor instead either spins on stub fences (the bug kwin-fourier 0001 works around) or has to do the wait the hard way at compositor level.

Patches (v1)

  1. vb2 helper API vb2_buffer_attach_release_fence()
  2. hantro opt-in (called from buf_queue — see review notes for why this is wrong)
  3. rockchip-rga opt-in (same shape, same problem)

v1 reviewer replies

Nicolas Dufresne (V4L2 maintainer side)

3d8deeb15581b754e4c061d4c4a13657aa08bc3c.camel@ndufresne.ca, 2026-04-29 21:22 UTC.

Christian König (dma-buf / dma-resv maintainer, AMD)

4c63c81b-14f7-4e6b-a733-2f98e6055ca8@amd.com, 2026-04-30 06:51 UTC, in reply to Nicolas.

v2 plan (sketch backlogged)

Net of the two reviews: not a NACK. A directed redirect with a permission slip (“behind a flag”) for the fourier use case. v2 sketch + prior-art reference saved in the gitea repo at:

v2 decisions taken

Open for v3 / future

Relation to the rest of the fourier campaign

How to fetch reply traffic on this thread

lore-watch.sh only matches messages where mfritsche@reauktion.de appears in headers. Mid-thread replies that drop the address (the common case for review threads) are NOT caught. Both 2026-04-30 replies were missed. Manual walk:

ssh noether
git clone --bare --depth 500 \
  https://lore.kernel.org/linux-media/1 \
  ~/.local/state/lore-watch/linux-media-pi-1.git
cd ~/.local/state/lore-watch/linux-media-pi-1.git
git fetch --depth 1000 origin
git log --all --format='%H %ci %s' | \
  grep -i 'videobuf2.*dma_resv\|dma_resv.*videobuf2'
git show <sha>:m

linux-media's live public-inbox epoch is 1 as of 2026-04-30; probe higher numbers if no hits. Anubis blocks lore HTTP; git pack-protocol bypasses it cleanly.

Source paths