Default source tree (not in git): ../kernel-src/linux-hwe-6.17-6.17.0/

ChromeOS v5.15 vs Ubuntu HWE 6.17 (sound/soc/intel/boards/sof_board_helpers.c)
================================================================================

Key upstream renames (not bugs by themselves):
- dpcm_playback / dpcm_capture on DAI links -> playback_only / capture_only
  (see include/sound/soc.h). ChromeOS set_idisp_hdmi used dpcm_playback=1;
  6.17 uses playback_only=1 for the same iDisp HDMI BE link.

Other 6.17 deltas in this file: HDA external codec widgets/routes, EXPORT_SYMBOL_NS
string form, enum snd_soc_acpi_intel_codec renames, DMIC capture_only, etc.

sof_rt5682.c differs heavily by DMI quirks and API; no Kaisa-specific string in
either tree (board selection is via ACPI / machine driver data).

Experiment patch 0002 (applies on 6.17):
- Adds link->trigger[0/1] = SND_SOC_DPCM_TRIGGER_POST in set_idisp_hdmi_link,
  similar to older Intel boards (e.g. bdw_rt286).

Build smoke-test (object file only, not full deb):
- make x86_64_defconfig && make prepare SKIP_STACK_VALIDATION=1
- make sound/soc/intel/boards/sof_board_helpers.o

Full Ubuntu package: fakeroot debian/rules binary-generic (needs apt build-dep
linux-hwe-6.17, large disk/time). Install linux-image-* / linux-modules-* on Kaisa.

Kaisa 真机验证（安装新 deb 并重启后）
------------------------------------
1. uname -r
2. aplay -L | head -80
3. speaker-test -D plughw:卡号,设备号 -c 2 -l 1   # 对照 HDMI 对应 PCM
4. sudo dmesg | grep -iE 'sof|STREAM_PCM|ipc failed|pcm[0-9]' | tail -60
5. 将输出保存到 audio_topology/collected/ 便于前后对比
