## Iteration 32 — Phase 8 (close): Kernel substrate cleanup → 7.0-11 SHIPPING Closes 2026-05-14, third campaign-day milestone after iter31 α-29 fix. Mechanical cleanup — no behavior change. ### Goal Strip the diagnostic `pr_info` printks added during iter17–iter31 root-cause investigation, ship a clean kernel for ongoing fresnel-fourier work. ### Printks removed In `drivers/media/v4l2-core/v4l2-ctrls-request.c`: - iter21_setup, iter21_setup_ref - iter22_clone_* - iter23_loop - iter24_req_to_new, iter24_try_or_set, iter24_loop_break, iter24_loop_done In `drivers/media/platform/rockchip/rkvdec/rkvdec-hevc.c`: - iter17 (`rkvdec_hevc_run:` printk) - iter20 (ctrl_hdl + sps/dp byte dump) - iter27_dpb01, iter31_dpb23 (dpb dumps) - iter27_sl0, iter31_sl1 (slice_params dumps) ### Substrate state - `linux-fresnel-fourier 7.0-11` built on boltzmann, installed on fresnel. - 6 load-bearing base patches retained: - `0001-arm64-dts-rk3399-pinebook-pro-add-OC-OPP-tables-1704-2184.patch` - `0002-arm64-dts-rk3399-pinebook-pro-enable-hdmi-sound.patch` - `0003-arm64-dts-rk3399-pinebook-pro-spi1-max-freq-10MHz.patch` - `0004-media-videobuf2-add-opt-in-dma_resv-producer-fence-h.patch` (RFC v2 #1) - `0005-media-hantro-attach-dma_resv-release-fence-at-device.patch` (RFC v2 #2) - `0006-media-rockchip-rga-attach-dma_resv-release-fence-at-.patch` (RFC v2 #3) ### Verification (post-reboot on 7.0-11) 3-codec anchor regression: | Codec | Status | SHA-12 | |---|---|---| | H.264 10F | PASS | dd4f5f2d552c | | HEVC 10F | PASS | 108f925bb6cb | | VP9 10F | PASS | cf35908ae0f9 | Hashes IDENTICAL to those captured on diagnostic 7.0-10 build — confirms no kernel-side regression from removing the printks (they were pure logging, no behavior touch). dmesg `grep -E "rkvdec_iter|iter2[0-7]|iter3[01]|rkvdec_hevc_run:"` post-decode: **empty** (as expected). ### Substrate-memory updated `reference_fresnel_kernel_substrate.md` bumped to 7.0-11, with a new "RESOLVED 2026-05-14" footnote noting that Bug 4 + Bug 5 turned out to be libva-side (not kernel-side) — the libva-vaapi cached-mmap readback path actually works correctly on this kernel; α-25 + α-29 fixes are in libva backend, not kernel. ### Remaining campaign open items (post iter32) 1. **MPEG-2 / VP8 multi-device probe** — libva backend's `find_codec_device` picks ONE device for the entire session. Forcing hantro disables H264/HEVC/VP9. Architectural change required; design decision belongs to user. 2. **Backend env-gated diagnostics** (iter29 `LIBVA_HEVC_DUMP_SLICE_TAIL`, iter30 `LIBVA_TS_SCALE`) — no behavior change without env set, retained for future regression debugging. Low priority cleanup. 3. **α-26 cosmetic revert** — `decode_params->short_term_ref_pic_set_size = picture->st_rps_bits` was mis-routed (right value to wrong V4L2 field; rkvdec doesn't use that field). Could revert to 0. Cosmetic. ### Campaign final state After today's arc: Bug 4 fixed (iter25 α-25), Bug 5 fully fixed (iter25 α-25 + iter31 α-29), kernel substrate shipping (iter32 7.0-11). The 5-codec target reduced to 3/5 strict-PASS + 2/5 untestable through libva's single-device probe — pre-existing limitation orthogonal to Bug 4/5.