Files
chromebox_10th_audio_driver/patches/ubuntu-hwe-6.17/DIFF_SUMMARY.txt
2026-04-04 20:52:05 +08:00

66 lines
4.0 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
Default Ubuntu source tree (not in git): ../../kernel-src/linux-hwe-6.17-6.17.0/
当前仓库补丁:
0001-ASoC-SOF-ipc3-pcm-await-DSP-reply-for-FREE-and-trigger.patch
修改 sound/soc/sof/ipc3-pcm.cPCM FREE 与 trigger 使用 sof_ipc_tx_message() +
struct sof_ipc_reply对齐 ChromiumOS 5.15;原 Ubuntu 使用 no_reply
0002-ASoC-SOF-ipc3-pcm-dump-STREAM_PCM_PARAMS-fields.patch
修改 sound/soc/sof/ipc3-pcm.c在 STREAM_PCM_PARAMS 发送前,当 sof_debug 含
SOF_DBG_DUMP_IPC_MESSAGE_PAYLOADbit 11十进制 2048时 spcm_dbg 打印字段摘要(诊断,不改载荷)。
应用:先 0001 再 0002各执行一次
PATCH=$PWD/patches/ubuntu-hwe-6.17/0001-....patch ../scripts/ubuntu-hwe-617-build.sh apply
PATCH=$PWD/patches/ubuntu-hwe-6.17/0002-....patch ../scripts/ubuntu-hwe-617-build.sh apply
补丁应在细读 ChromeOS 5.15 与 6.17 差异后再写(本 0001 为对照 ipc3-pcm 后的最小移植)。
API 备忘(阅读 ChromeOS 树时仍有用)
====================================
- ChromeOS 5.15 的 struct snd_soc_dai_link 使用 dpcm_playback / dpcm_capture。
- Ubuntu HWE 6.17(上游)已改名为 playback_only / capture_only见 include/sound/soc.h
- ChromeOS set_idisp_hdmi_link 里用 dpcm_playback=16.17 对应语义为 playback_only=1。
不要把 0001 那类「写回 dpcm_playback」应用到 6.17。
新补丁设计策略
==============
1. 拉长 ChromeOS 内核历史chromiumos_kernel/v5.15 若曾为浅克隆,需 git fetch --unshallow见 docs/kernel-build/OPERATION_ChromeOS_Kernel_Deep_Diff.md
2. 优先对照与 STREAM_PCM_PARAMS / hw_params 相关的文件(相对 6.17 源码树):
- sound/soc/sof/ipc3.c
- sound/soc/sof/pcm.c
- sound/soc/sof/intel/hda-dai.c
3. 全目录差异规模与优先文件列表docs/meta/CHROMEOS_vs_UBUNTU617_SOUND_AUTODIFF.md一键统计scripts/diff-chromeos-ubuntu-sound.sh
4. 导出三文件 unified diffscripts/export-chromeos-ubuntu-sound-file-diffs.sh输出默认在 reference/,已 gitignore
5. 两棵树预检并一键跑 3+4scripts/preflight-chromeos-ubuntu-diff.sh
Smoke-test对象文件级
====================================================================
cd kernel-src/linux-hwe-6.17-6.17.0
# 若 make prepare 报缺少 dwarf.hsudo apt install libdw-dev已列入 scripts/ubuntu-hwe-617-deps-packages.txt
# 与 scripts/ubuntu-hwe-617-build.sh 的 deps 命令)
# 可选cp /boot/config-$(uname -r) .config && make olddefconfig
make x86_64_defconfig && make prepare SKIP_STACK_VALIDATION=1
make sound/soc/sof/ipc3-pcm.o
# 其它候选(与 HDMI/SOF IPC 链相关,按需选用):
# make sound/soc/sof/ipc3.o sound/soc/sof/pcm.o sound/soc/sof/intel/hda-dai.o
# 单独 make sound/soc/sof/snd-sof.ko 在无完整 vmlinux/modpost 链时通常会失败;要可加载 .ko 请走 make modules 或 debian/rules。
全量 Ubuntu 包fakeroot debian/rules binary-generic需 apt build-dep、大盘与时间
Kaisa 真机验证(安装 deb 并重启后)
------------------------------------
1. uname -r
2. aplay -L | head -80
3. speaker-test -D plughw:卡号,设备号 -c 2 -l 1
4. sudo dmesg | grep -iE 'sof|STREAM_PCM|ipc failed|pcm[0-9]' | tail -60
5. 输出保存到 audio_topology/collected/
补丁验收流程(简图)
--------------------
unshallow -> git log (sound paths) -> diff ipc3/pcm/hda-dai -> 最小假设 -> 新补丁 -> make *.o -> binary-generic
STREAM_PCM_PARAMS 专项Chrome 5.15 vs 6.17
---------------------------------------------
- 详细对照与可移植假设:同目录 STREAM_PCM_PARAMS_CHROME_UBUNTU_NOTES.md
- 摘要ipc3-pcm.c 的 hw_params 载荷填充与 5.15 语义一致hda-pcm.c 有 dspless/format_val 分支差异;
hda-dai.c 整文件架构差异大,不宜无依据移植。
- 0002 为诊断补丁STREAM_PCM_PARAMS 字段 spcm_dbg见同目录 0002-*.patch 与 README.md行为性修复仍见 docs/linux-hdmi/UPSTREAM_SOF_Kaisa_HDMI_REPRO.md。