# ChromiumOS 5.15 与 Ubuntu HWE 6.17:音频子树自动对照结果 本文档由仓库内脚本/命令**自动生成摘要**(非手工逐行审查结论)。用于回答:**ChromeOS 树与 6.17 在 SOF/Intel 音频上差多大、该先看哪些文件**。 **操作清单**(`git fetch --unshallow`、`git log`、导出 `ipc3`/`pcm`/`hda-dai` 全文 diff):[`OPERATION_ChromeOS_Kernel_Deep_Diff.md`](OPERATION_ChromeOS_Kernel_Deep_Diff.md)。 **路径约定**(本仓库): - ChromeOS:`chromiumos_kernel/v5.15/`(分支示例 `release-R144-16503.B-chromeos-5.15`) - Ubuntu:`kernel-src/linux-hwe-6.17-6.17.0/` --- ## 1. Git 历史:当前克隆多为「浅克隆」 若使用 `git clone --depth 1`,本地 **`git rev-list --count HEAD` 为 1**,则 **`git log -- sound/...` 几乎看不到 Chrome 的逐条提交**,无法按「补丁列表」浏览。 **要拉完整历史**(在 `chromiumos_kernel/v5.15` 内,耗时与磁盘较大): ```bash git fetch --unshallow origin # 或重新克隆时不加 --depth 1 ``` 若提示 **`--unshallow on a complete repository does not make sense`**,表示已是完整仓库,跳过本步即可(详见 [`OPERATION_ChromeOS_Kernel_Deep_Diff.md`](OPERATION_ChromeOS_Kernel_Deep_Diff.md))。 然后再执行: ```bash git log --oneline -50 -- sound/soc/sof sound/soc/intel include/sound ``` --- ## 2. `diff -rq` 规模(整目录「文件级」差异条数) 在 **2026-04-03** 于本仓库路径上统计(两树均存在时): | 目录 | 差异条目数(约) | 说明 | |------|------------------|------| | `sound/soc/sof/intel/` | **50** | Intel SOF:HDA、IPC、CNL 等 | | `sound/soc/intel/boards/` | **67** | 板级 machine:`sof_rt5682`、`sof_board_helpers` 等 | > 注:`sound/soc/sof/` 下还有 AMD、IMX 等,与 Kaisa 无关;排查 HDMI/SOF 可**先聚焦 `sof/intel` + `intel/boards`**。 两树 `sound/` 下 **均无字面字符串 `Kaisa`**,机型选择依赖 **ACPI 表 + `soc-acpi-intel-*-match.c`** 等,需结合 `dmesg` 里的 machine 驱动名排查。 --- ## 3. Kaisa / HDMI / IPC 相关:优先 `diff -u` 的文件(按 diff 体量排序) 下列为 **`diff -u chrome ubuntu | wc -l`** 的**行数**(越大表示两版本文本差异越多,含 API 重命名与逻辑变更);**不等于**「业务上最重要」,但可指导阅读顺序。 | 文件 | diff 行数(约) | 备注 | |------|-----------------|------| | `sound/soc/sof/intel/hda-dai.c` | **1365** | HDMI/HDaudio DAI 相关,6.x 演进通常很大 | | `sound/soc/sof/intel/hda-dsp.c` | **1124** | DSP 初始化、电源等 | | `sound/soc/intel/boards/sof_rt5682.c` | **717** | Kaisa 常用 machine | | `sound/soc/sof/pcm.c` | **693** | PCM / DPCM 与 FE-BE | | `sound/soc/sof/intel/hda-ipc.c` | **307** | HDA 侧 IPC | | `sound/soc/sof/ipc3.c` | **292** | **含 `SOF_IPC_STREAM_PCM_PARAMS`**,与 dmesg 报错直接相关 | | `sound/soc/sof/intel/cnl.c` | **232** | CNL/ICL 一代 SOF 入口 | | `sound/soc/intel/boards/sof_board_helpers.c` | **366** | **iDisp / `set_idisp_hdmi_link`**(曾试 `TRIGGER_POST`,真机无效,补丁已移除) | **建议阅读顺序**(结合当前现象 `STREAM_PCM_PARAMS`): 1. `ipc3.c`(IPC 发送/解析路径) 2. `pcm.c`(与 DPCM、`hw_params` 调用链) 3. `hda-dai.c`、`hda-ipc.c`(HDMI BE / HDA 绑定) 4. `sof_rt5682.c`、`sof_board_helpers.c`(板级拓扑与 link 配置) --- ## 4. 一键重现本摘要 ```bash ./scripts/diff-chromeos-ubuntu-sound.sh ``` 可设置环境变量覆盖路径: ```bash CH=/path/to/chromiumos_kernel/v5.15 \ UB=/path/to/linux-hwe-6.17-6.17.0 \ ./scripts/diff-chromeos-ubuntu-sound.sh ``` --- ## 5. 与 `docs/REANALYSIS_Linux_HDMI_Audio_Kaisa.md` 的关系 - 本文档给出 **「从哪里下刀 diff」** 的**量化清单**。 - **ChromeOS 定制补丁的语义**(哪些提交该 port)仍需 **`git log`(非浅克隆)** 或 **人工读 diff** 后结论。 - **用户态 CRAS** 不在内核树内,本文不覆盖。