# Ubuntu HWE 6.17:内核补丁目录 **当前状态** - **`0001-ASoC-SOF-ipc3-pcm-await-DSP-reply-for-FREE-and-trigger.patch`**:对齐 ChromiumOS 5.15,对 `STREAM_PCM_FREE` 与 trigger 使用 `sof_ipc_tx_message()` + `struct sof_ipc_reply`,替代 `sof_ipc_tx_message_no_reply()`。 - **`0002-ASoC-SOF-ipc3-pcm-dump-STREAM_PCM_PARAMS-fields.patch`**:**诊断用**,在 `sof_ipc3_pcm_hw_params` 中当 `SOF_DBG_DUMP_IPC_MESSAGE_PAYLOAD` 置位时,用 `spcm_dbg` 打印 `STREAM_PCM_PARAMS` 关键字段;**不改变** IPC 载荷或发送时机。历史上曾误试的旧补丁(`dpcm_playback`、iDisp `TRIGGER_POST` 等)已删除,与当前 0002 无关。 - **`0003-ASoC-SOF-hda-dai-dev_dbg-hda_link_dma_hw_params.patch`**:**诊断用**,在 `hda_link_dma_hw_params()` 内、`snd_hdac_ext_bus_link_set_stream_id()` 前增加 **`dev_dbg(link, stream_tag)`**;**不改变**行为。需 **`dynamic_debug`**:`file sound/soc/sof/intel/hda-dai.c +p`。与 **0001/0002** 无源码重叠,可独立应用。见 [`STREAM_PCM_PARAMS_CHROME_UBUNTU_NOTES.md`](STREAM_PCM_PARAMS_CHROME_UBUNTU_NOTES.md) §6.1。 ## 如何应用新补丁 1. 在 `kernel-src/linux-hwe-6.17-6.17.0/` 对齐与运行内核一致的源码树。 2. 将补丁存于本目录;**建议顺序**:先 **0001** 再 **0002**;**0003** 可选且与 0001/0002 **独立**(仅改 `hda-dai.c`)。 3. **必须**通过环境变量指定路径,每次执行一次 `apply`: ```bash export PATCH="$PWD/patches/ubuntu-hwe-6.17/0001-ASoC-SOF-ipc3-pcm-await-DSP-reply-for-FREE-and-trigger.patch" ../scripts/ubuntu-hwe-617-build.sh apply export PATCH="$PWD/patches/ubuntu-hwe-6.17/0002-ASoC-SOF-ipc3-pcm-dump-STREAM_PCM_PARAMS-fields.patch" ../scripts/ubuntu-hwe-617-build.sh apply # 可选:0003(hda-dai dev_dbg) # export PATCH="$PWD/patches/ubuntu-hwe-6.17/0003-ASoC-SOF-hda-dai-dev_dbg-hda_link_dma_hw_params.patch" # ../scripts/ubuntu-hwe-617-build.sh apply ``` 4. 编译见 [`kernel-src/README.md`](../../kernel-src/README.md) 与 [`scripts/ubuntu-hwe-617-build.sh`](../../scripts/ubuntu-hwe-617-build.sh)。 ## 启用 0002 的可读日志 - **`snd-sof`** 模块参数 **`sof_debug`**:`SOF_DBG_DUMP_IPC_MESSAGE_PAYLOAD` 为 **bit 11**,单独开启时十进制为 **`2048`**(与其它标志按位或即可组合)。 - **`spcm_dbg` 基于 `dev_dbg`**:默认不刷屏;需打开 **dynamic debug**,例如(路径以本机为准): ```bash sudo sh -c 'echo "file ipc3-pcm.c +p" > /sys/kernel/debug/dynamic_debug/control' ``` 或使用 `debugfs` 中 `dynamic_debug` 的等价写法;再配合 `dmesg -w` 观察。 设计补丁前请先完成 ChromeOS 5.15 与 6.17 的对照流程,见 [`docs/kernel-build/OPERATION_ChromeOS_Kernel_Deep_Diff.md`](../../docs/kernel-build/OPERATION_ChromeOS_Kernel_Deep_Diff.md) 与 [`DIFF_SUMMARY.txt`](DIFF_SUMMARY.txt)。**`STREAM_PCM_PARAMS` / HDMI** 专项结论见 [`STREAM_PCM_PARAMS_CHROME_UBUNTU_NOTES.md`](STREAM_PCM_PARAMS_CHROME_UBUNTU_NOTES.md)。