USB4™ 電源管理需求
USB4 主機路由器必須可靠地支援 USB4 睡眠和進入和結束。 通道通訊協定不得在進入或離開USB4睡眠時,以電信號中斷其各自的通道。 此外,USB4 主機路由器必須在USB4網域從睡眠恢復之後,透過適當的通道重新執行通訊協定喚醒。
通道裝置通訊協定(PCIe、USB 3.x 和顯示器)會與相關聯的 USB4 主機路由器裝置建立電源關係,讓連接管理員在通道裝置閒置時起始睡眠輸入。 從 Windows 11 開始的 PCIe 和 USB 3.x 設備驅動器支援,根據 USB4 ACPI 需求中所述的 ACPI 型(_DSD)埠對應,識別及電源管理相關聯的 USB4 主機路由器裝置。
Windows 11 中的圖形堆疊也已更新,以識別 USB4 主機路由器裝置,以及電源管理 USB4 主機路由器裝置。 這需要 IHV 提供的圖形驅動程式的支援,如圖形驅動程式需求中所述。 USB4 連接管理員會從 ACPI 取得主機路由器裝置識別碼,並寫入 DP-IN 配接器組態空間中的 ADP_DP_CS_2.CM_ID。 如 ACPI 需求中所述,主機介面實例必須一律以 3 位數位 (0-7) 結尾。
圖形驅動程式需求
為了確保正確的電源管理關聯,圖形堆疊必須能夠識別監視器所連接的USB4 DP-IN適配卡。 這是透過圖形堆疊可讀取的USB4 DP-IN適配卡,透過 DPCD 快取器設定 DPCD 登錄來達成此目的。 這些需求定義於 DisplayPort™ 2.0 規格(Errata)。
DPCD 功能變數名稱 | DPCD 欄位位址 | 注意 |
---|---|---|
USB4_Driver_ID | E000Fh [3:0] | 唯一識別系統中的主路由器。 這是由 USB4 連接管理員所設定,寫入取得從 ACPI 取得的主機路由器裝置識別碼,並將它寫入 DP IN 配接器組態空間中的 ADP_DP_CS_2.CM_ID。 |
USB4_ROUTER_TOPOLOGY_ID | E001Bh - E001Fh | 唯一識別主機路由器網域中的USB4裝置 |
DP_IN_Adapter_Number | E000Eh [5:0] | 唯一識別 USB4 裝置上的 DP-IN 適配卡 |
DP 通道支援 | E000Dh [0] | 值為 1 表示 USB4 通道 |
圖形驅動程式需求如下:
- WDDM 3.0 或更新版本驅動程式
- 驅動程式會公開新的適配卡上限,以指出USB4支援
- 驅動程式公開的所有靜態視訊呈現網路 (VidPN) 目標都必須回報為電源元件
- 連接到相同靜態目標的每個USB4動態目標都必須連線到相同的主機路由器。 也就是說,USB4_Driver_ID必須有相同的值。 不支援將 USB4 DisplayPort 監視器連線到僅顯示器或間接顯示 WDDM 驅動程式。
USB4 驅動程式功能
此功能 SupportUsb4Targets
已新增至從驅動程序開始查詢的 DXGK_DISPLAY_DRIVERCAPS_EXTENSION 結構。 設定此值僅適用於 WDDM 3.0 驅動程式,而且只有在驅動程式符合上述所有需求時才應設定。
報告 USB4 監視器 DPCD 值
在WDDM 3.0 中,有新的DXGK_CONNECTION_CHANGE.MonitorConnect.MonitorConnectFlags
Usb4DisplayPortMonitor
欄位具有驅動程序用來指出此監視器是USB4連接的監視器旗標。
typedef struct _DXGK_CONNECTION_MONITOR_CONNECT_FLAGS
{
union
{
struct
{
UINT Usb4DisplayPortMonitor : 1;
UINT Reserved :31;
};
UINT Value;
};
} DXGK_CONNECTION_MONITOR_CONNECT_FLAGS;
typedef struct _DXGK_CONNECTION_CHANGE {
ULONGLONG ConnectionChangeId;
D3DDDI_VIDEO_PRESENT_TARGET_ID TargetId :24;
DXGK_CONNECTION_STATUS ConnectionStatus : 4;
UINT Reserved : 4;
union {
struct {
D3DKMDT_VIDEO_OUTPUT_TECHNOLOGY LinkTargetType;
DXGK_CONNECTION_MONITOR_CONNECT_FLAGS MonitorConnectFlags;
} MonitorConnect;
struct {
D3DKMDT_VIDEO_OUTPUT_TECHNOLOGY BaseTargetType;
D3DDDI_VIDEO_PRESENT_TARGET_ID NewTargetId;
} TargetConnect;
struct {
D3DKMDT_VIDEO_OUTPUT_TECHNOLOGY BaseTargetType;
D3DDDI_VIDEO_PRESENT_TARGET_ID NewTargetId;
} TargetJoin;
};
} DXGK_CONNECTION_CHANGE, *PDXGK_CONNECTION_CHANGE;
typedef struct _DXGK_CONNECTION_USB4_INFO
{
UINT Dpcd_DP_IN_Adapter_Number;
UINT Dpcd_USB4_Driver_ID;
BYTE Dpcd_USB4_ROUTER_TOPOLOGY_ID[5];
} DXGK_CONNECTION_USB4_INFO, *PDXGK_CONNECTION_USB4_INFO;
typedef struct _DXGKARG_QUERYCONNECTIONCHANGE
{
DXGK_CONNECTION_CHANGE ConnectionChange; // out: Buffer into which the oldest available change is copied by driver
PDXGK_CONNECTION_USB4_INFO pUsb4MonitorInfo; // inout: Pointer to an operating system allocated structure driver should
// complete if MonitorConnect.Flags.Usb4DisplayPortMonitor was set
} DXGKARG_QUERYCONNECTIONCHANGE;
當 DisplayPort™ 監視器已連線到指定的視訊簡訊簡訊 (VidPN) 目標,並連線到 USB4 DP-IN 適配卡時,驅動程式應:
- 設定
DXGK_CONNECTION_CHANGE.MonitorConnect.Flags.Usb4DisplayPortMonitor
- 完成中的欄位
DXGKARG_QUERYCONNECTIONCHANGE.pUsb4MonitorInfo
報告為PoFx元件的所有靜態 VidPN 目標
若要在圖形和 USB 堆疊之間啟用正確的電源管理,所有靜態 VidPN 目標都必須透過 DxgkDdiQueryAdapterInfo(DXGKQAITYPE_NUMPOWERCOMPONENTS)
和 DxgkDdiQueryAdapterInfo(DXGKQAITYPE_POWERCOMPONENTINFO)
回報為電源管理架構 (PoFx) 元件。
從相同靜態 VidPN 目標建立的所有動態目標
支援連線到動態 VidPN 目標的 USB4 監視器。 但所有連接到靜態 VidPN 目標的 USB4 動態 VidPN 目標都必須具有相同的 USB4_Driver_ID values
,它們必須連接到相同的 USB4 主機路由器。
CLx 低功率狀態
為了節省電源並減少熱負載,連接管理器可讓第一個深度鏈接輸入CL0s和CL1,如果硬體和目前通道通訊協定支持的話。 上游對向埠 (UFP) 和下游面向埠 (DFP) 都必須支援 CL0s 和 CL1,才能在連結上啟用低功率狀態。 接著,如果連結上的TMU精確度需求和通道活動允許,連結可能會輸入CL0或CL1以節省電源。
XHCI USB3 通道支援
若要藉由讓USB4主機路由器閑置較長來節省系統電源,與USB4主機路由器相關聯的 XHCI 控制器必須支援 USB3通道支援ECN (通道模式支援位和USB3通道支援功能)。 如果不支援 USB3 通道支援 ECN,則必須提供對等的專屬機制。 當USB4對應的USB3埠以原生模式運作時,USB3 通道支援ECN可讓USB4主機路由器保持閑置狀態。
另請參閱
雷電是英特爾公司或其子公司的商標。
“USB4™” 是 USB 實作者論壇的商標,僅適用於以 USB4™ 規格為基礎且符合規範的產品。