Janet structural review + 4 more diagnostic iters (7-10) revealed:
- HW reads reg197_cabactbl_base, reg161/163, and prob bases
unconditionally for VP9 (BSP works because its kernel skips fd=0;
mainline writes raw IOVAs so 0 = IOMMU fault)
- Prob content does NOT matter for stall (zero-byte scratch and
legacy-format priv_tbl.probs hang identically)
- Struct size gaps (60-byte unwritten tail in vp9_param) match HEVC's
layout and aren't the cause
Final hypothesis space:
1. BSP-specific kernel init we're missing (cache config / AXI QoS)
2. vdpu381 mode-2 reserved but never validated by Casanova
3. Prob buffer needs VP9-specific INITIALIZATION (not just any pointer)
All 3 require structural rework, not register tuning. Per Janet
PIVOT verdict, recommend Option A: pivot to AV1 on vdpu383 (Casanova
ships it complete in v7.0; 1-2 days port).
Branch boltzmann:~/src/linux-rockchip:vp9-enablement-iter1 head
3d7ffae30626 — 7 commits, 1620 LoC, compiles clean, VP9F enumerates
on /dev/video1, HW does not decode.
Ampere recovery to sibling-campaign close:
sudo cp ~/vp9-iter1-backup/rockchip-vdec.ko.sibling-campaign-close \
/lib/modules/$(uname -r)/kernel/drivers/media/platform/rockchip/rkvdec/
sudo depmod -a && sudo modprobe -r rockchip-vdec && sudo modprobe rockchip-vdec
Campaign closes at "structural impossibility identified", with
substantial substrate preserved for future Collabora coordination or
RE work.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>