Files
chromebox_10th_audio_driver/docs/CHROMEOS_VS_UBUNTU_HDMI_NOTES.md
2026-04-04 07:45:01 +00:00

2.5 KiB
Raw Blame History

ChromeOS 5.15 与 Ubuntu HWE 6.17HDMI / 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.cset_idisp_hdmi_link()


一、共同点(两端逻辑一致的部分)

  • 链接名 iDisp%d、CPU iDisp%d Pin、codec ehdaudio0D2 + intel-hdmi-hifi%d(当 idisp_codec 为真时)与 sof_board_helpers 里其它平台字段一致。
  • link->no_pcm = 1;HDMI 为 BE 链路

二、关键差异API 演进,不是简单“抄一行”)

  • 使用 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(旧称 0002Kaisa 真机 HDMI 仍无声;该补丁已从仓库删除。

新补丁应在细读 ChromeOS 5.15 与 6.17sound/soc/sof/ipc3.cpcm.csound/soc/sof/intel/hda-dai.c 等上的差异后再设计,流程见 docs/OPERATION_ChromeOS_Kernel_Deep_Diff.mddocs/CHROMEOS_vs_UBUNTU617_SOUND_AUTODIFF.mdpatches/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/rulesdocs/WORK_PROGRESS.md
  • HWE 6.17 构建脚本:scripts/ubuntu-hwe-617-build.sh(应用补丁需 PATCH=...
  • ChromeOS 深度 diff 与导出三文件 diffdocs/OPERATION_ChromeOS_Kernel_Deep_Diff.md