訊號經過哪些層,卡在哪兩層(這是剖面圖,不是接線圖)

訊號經過哪些層,卡在哪兩層(這是剖面圖,不是接線圖) An architecture diagram generated by Archify. Apple Studio Display · 內建 A13,接在 target 機器上 · Architecture component · 5K / DP Alt Mode Apple Studio Display 內建 A13,接在 target 機器上 5K / DP Alt Mode tipd · USB-PD 控制器 · target 機器內部:硬體與 Apple firmware(mini=t8103/MBP=t600x) tipd USB-PD 控制器 atcphy · Type-C PHY(t8103 / t600x) · target 機器內部:硬體與 Apple firmware(mini=t8103/MBP=t600x) · 斷點 1:fairydust 已修好 atcphy Type-C PHY(t8103 / t600x) 斷點 1:fairydust 已修好 DCP · 顯示協處理器 firmware · target 機器內部:硬體與 Apple firmware(mini=t8103/MBP=t600x) · 斷點 2:所有 SoC 都中 DCP 顯示協處理器 firmware 斷點 2:所有 SoC 都中 phy/apple/atc.c · PHY 驅動:直接讀寫暫存器 · Linux driver 原始碼(兩台共用同一份):你唯一能改的地方 phy/apple/atc.c PHY 驅動:直接讀寫暫存器 drm/apple · dcp.c / dptx:mailbox RPC · Linux driver 原始碼(兩台共用同一份):你唯一能改的地方 drm/apple dcp.c / dptx:mailbox RPC KMS / Wayland · 畫面真的出現 · Linux driver 原始碼(兩台共用同一份):你唯一能改的地方 KMS / Wayland 畫面真的出現 USB-C 線 DP Alt Mode 協商 DP 訊號 MMIO 暫存器 mailbox / AP call 回報 mode target 機器內部:硬體與 Apple firmware(mini=t8103/MBP=t600x) Linux driver 原始碼(兩台共用同一份):你唯一能改的地方 Legend 使用者看到的結果 硬體區塊 / Linux driver Apple 封閉,不可修改

斷點 1 — atcphy(#601 已 closed)

  • • 症狀:atcphy_mux_set WARN + Failed to lock pipehandler
  • • 真相:不是 bug,是 stable kernel 沒有 DP alt mode 這條路
  • • 解法:換到 fairydust 分支。同型機 MacBookPro18,3 實測可用

斷點 2 — DCP 交握(#579 仍 open)

  • • 症狀:acking unhandled call 20,link 立刻拆掉
  • • DCP 回報 INACTIVE_SINK_DETECTED:螢幕的 A13 還在睡
  • • t8112 與 t6001 都重現過,所以問題在螢幕那一側

怎麼讀這張圖

  • • 這是 target 機器的剖面圖 —— 接線方式請看圖 3
  • • 除了最左邊那條 USB-C 線,其餘都發生在同一台機器內部
  • • 上半部(硬體)跟著機器走,下半部(driver)兩台共用同一份原始碼