4.0 KiB
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。
路径约定(本仓库):
- 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 内,耗时与磁盘较大):
git fetch --unshallow origin
# 或重新克隆时不加 --depth 1
若提示 --unshallow on a complete repository does not make sense,表示已是完整仓库,跳过本步即可(详见 OPERATION_ChromeOS_Kernel_Deep_Diff.md)。
然后再执行:
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):
ipc3.c(IPC 发送/解析路径)pcm.c(与 DPCM、hw_params调用链)hda-dai.c、hda-ipc.c(HDMI BE / HDA 绑定)sof_rt5682.c、sof_board_helpers.c(板级拓扑与 link 配置)
4. 一键重现本摘要
./scripts/diff-chromeos-ubuntu-sound.sh
可设置环境变量覆盖路径:
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 不在内核树内,本文不覆盖。