2.5 KiB
2.5 KiB
ChromeOS 5.15 与 Ubuntu HWE 6.17:HDMI / iDisp 链路对照(Kaisa)
本仓库在 chromiumos_kernel/v5.15/ 下可对照 ChromeOS 内核(release-R144-16503.B-chromeos-5.15),与 kernel-src/linux-hwe-6.17-6.17.0/(Noble 源码包)中同一文件:
sound/soc/intel/boards/sof_board_helpers.c → set_idisp_hdmi_link()
一、共同点(两端逻辑一致的部分)
- 链接名
iDisp%d、CPUiDisp%d Pin、codecehdaudio0D2+intel-hdmi-hifi%d(当idisp_codec为真时)与sof_board_helpers里其它平台字段一致。 link->no_pcm = 1;,HDMI 为 BE 链路。
二、关键差异(API 演进,不是简单“抄一行”)
ChromeOS 5.15(旧 struct snd_soc_dai_link)
- 使用
link->dpcm_playback = 1;(当时 DPCM 字段名)。
Ubuntu HWE 6.17(上游已改名)
- 使用
link->playback_only = 1;(对应include/sound/soc.h中的 DPCM 语义)。 - 勿在 6.17 上把
playback_only改回dpcm_playback(字段已移除,无法编译)。历史说明见DIFF_SUMMARY.txt。
三、后续补丁方向(原 0001/0002 已移除)
曾尝试在 set_idisp_hdmi_link 中增加 SND_SOC_DPCM_TRIGGER_POST(旧称 0002),Kaisa 真机 HDMI 仍无声;该补丁已从仓库删除。
新补丁应在细读 ChromeOS 5.15 与 6.17 在 sound/soc/sof/ipc3.c、pcm.c、sound/soc/sof/intel/hda-dai.c 等上的差异后再设计,流程见 docs/OPERATION_ChromeOS_Kernel_Deep_Diff.md、docs/CHROMEOS_vs_UBUNTU617_SOUND_AUTODIFF.md、patches/ubuntu-hwe-6.17/README.md。
四、建议的本地 diff 命令(只读对照)
在仓库根目录:
diff -u \
chromiumos_kernel/v5.15/sound/soc/intel/boards/sof_board_helpers.c \
kernel-src/linux-hwe-6.17-6.17.0/sound/soc/intel/boards/sof_board_helpers.c \
| less
若只关心 iDisp 段,可先在两文件中分别定位 set_idisp_hdmi_link 再手动对比。
五、与项目其它文档的关系
- 三平台现象与 dmesg 要点:
audio_topology/ANALYSIS_Audio.md - Ubuntu 打包与磁盘、勿混用
make/debian/rules:docs/WORK_PROGRESS.md - HWE 6.17 构建脚本:
scripts/ubuntu-hwe-617-build.sh(应用补丁需PATCH=...) - ChromeOS 深度 diff 与导出三文件 diff:
docs/OPERATION_ChromeOS_Kernel_Deep_Diff.md