USB4™ 電源管理要件
USB4 ホスト ルーターは、USB4 スリープ、そしてスリープ状態への移行と終了を確実にサポートする必要があります。 トンネリングされたプロトコルは、USB4 スリープ状態への移行時またはその終了時に、それぞれのトンネルに電気的信号によって切断を通知してはいけません。 また、USB4 ドメインがスリープから復帰した後は、USB4 ホスト ルーターが適切なトンネル上でプロトコル ウェイクを再生する必要があります。
トンネリングされたデバイス プロトコル (PCIe、USB 3.x、Display) は、関連付けられた USB4 ホスト ルーター デバイスとの電源関係を確立します。USB4 ホスト ルーター デバイスがあることで、接続マネージャーは、トンネリングされたデバイスがアイドル状態のときにスリープ状態への移行を開始できます。 Windows 11 以降の PCIe と USB 3.x のデバイス ドライバーは、USB4 ACPI 要件で規定された ACPI ベース (_DSD) のポート マッピングを利用して、関連付けられている USB4 ホスト ルーター デバイスを識別し、電源管理を行うことができます。
また、Windows 11 のグラフィックス スタックは、USB4 ホスト ルーター デバイスを識別し、その電源管理を行うように更新されています。 そのためには、「グラフィックス ドライバーの要件」で説明されているように、IHV から提供されるグラフィックス ドライバーのサポートが必要です。 USB4 接続マネージャーは、ホスト ルーターのデバイス ID を ACPI から取得して、DP-IN アダプター構成領域の ADP_DP_CS_2.CM_ID に書き込みます。 ACPI の要件に記載されているように、ホスト インターフェイス インスタンスは必ず、末尾が 3 ビットの数字 (0-7) になっている必要があります。
グラフィックス ドライバーの要件
正しい電源管理の関連付けを確保するには、モニターが接続されている USB4 DP-IN アダプターをグラフィックス スタックが識別できなければなりません。 これは USB4 ドメインが、グラフィックス スタックから読み取ることのできる USB4 DP-IN アダプターを介して DPCD レジスタを設定することによって実現されます。 これらの要件は DisplayPort™ 2.0 仕様 (正誤表) で規定されています。
DPCD フィールド名 | DPCD フィールド アドレス | Note |
---|---|---|
USB4_Driver_ID | E000Fh [3:0] | システム内のホスト ルーターを一意に識別します。 これは、USB4 接続マネージャーが、ホスト ルーターのデバイス ID を 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 Tunneling Support | E000Dh [0] | 値 1 は USB4 トンネリングを示します。 |
グラフィックス ドライバーの要件は次のとおりです。
- WDDM 3.0 以上のドライバー
- ドライバーは、USB4 のサポートを示す新しいアダプター キャップを公開します
- ドライバーが公開するすべての静的 Video Present Network (VidPN) ターゲットは、電源コンポーネントとしてレポートされる必要があります
- 同じ静的ターゲットに接続された各 USB4 動的ターゲットは、同じホスト ルーターに接続されている必要があります。 つまり、USB4_Driver_ID の値が同じであることが必要です。 USB4 DisplayPort モニターをディスプレイ専用 WDDM ドライバーや間接ディスプレイ WDDM ドライバーに接続することはサポートされません。
USB4 ドライバーの機能
起動時にドライバーから照会される DXGK_DISPLAY_DRIVERCAPS_EXTENSION 構造体には、SupportUsb4Targets
機能が追加されています。 この値を設定するのは、WDDM 3.0 ドライバーでのみ有効であり、上に挙げたすべての要件をドライバーが満たしている場合のみとしてください。
USB4 モニターの DPCD 値をレポートする
WDDM 3.0 には、Usb4DisplayPortMonitor
というフラグを保持する新しい DXGK_CONNECTION_CHANGE.MonitorConnect.MonitorConnectFlags
フィールドがあります。ドライバーは、このフラグを使用して、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™ モニターが特定の Video Present Network (VidPN) ターゲットに接続され、USB4 DP-IN アダプターに接続されたとき、ドライバーは次のことを行う必要があります。
DXGK_CONNECTION_CHANGE.MonitorConnect.Flags.Usb4DisplayPortMonitor
を設定しますDXGKARG_QUERYCONNECTIONCHANGE.pUsb4MonitorInfo
の各フィールドを設定します
すべての静的 VidPN ターゲットが PoFx コンポーネントとしてレポートされる
グラフィックスと USB スタックとの間で適切な電源管理を有効にするには、DxgkDdiQueryAdapterInfo(DXGKQAITYPE_NUMPOWERCOMPONENTS)
と DxgkDdiQueryAdapterInfo(DXGKQAITYPE_POWERCOMPONENTINFO)
を通じて、すべての静的 VidPN ターゲットが電源管理フレームワーク (PoFx) コンポーネントとしてレポートされることが必要です。
すべての動的ターゲットが同じ静的 VidPN ターゲットから作成されている
動的 VidPN ターゲットに接続された USB4 モニターがサポートされます。 ただし、静的 VidPN ターゲットに接続されるすべての USB4 動的 VidPN ターゲットは、USB4_Driver_ID values
が同じでなければなりません。つまり、それらのターゲットは、同じ USB4 ホスト ルーターに接続されている必要があります。
CLx の低電力状態
電力を節約し、熱負荷を軽減するために、接続マネージャーは、ハードウェアおよび現在トンネリングされているプロトコルでサポートされている場合、最初の深さリンクがCL0とCL1に入るようにします。 そのリンクで低電力状態を有効にするためには、UFP (Upstream Facing Port) と DFP (Downstream Facing Port) が CL0s と CL1 をサポートする必要があります。 その後、TMUの精度要件とリンク上のトンネリングされたアクティビティが許す場合、リンクは電力を節約するためにCL0またはCL1に入る可能性があります。
XHCI USB3 トンネリングのサポート
USB4 ホスト ルーターのアイドル時間を長くしてシステムの電力を節約するには、USB4 ホスト ルーターに関連付けられている XHCI コントローラーで USB3 トンネリング サポート ECN (トンネリング モード サポート ビットと USB3 トンネリング サポート機能) をサポートする必要があります。 USB3 トンネリング サポート ECN がサポートされていない場合は、同等の独自メカニズムを使用できる必要があります。 USB3 トンネリング サポート ECN を使用すると、USB4 がマップされた USB3 ポートがネイティブ モードで動作しているときに、USB4 ホスト ルーターをアイドル状態に保つことができます。
関連項目
- ユニバーサル シリアル バス 4
- Windows の USB4 接続マネージャーの概要
- USB4 の設計の詳細と一般的な要件
- USB4 ACPI 要件
- USB4 ドメイン間接続
- USB4 の必要なテスト
- USB4 のデバッグとトラブルシューティング
"Thunderbolt は Intel Corporation またはその子会社の商標です。"
"「USB4™」は USB Implementers Forum の商標であり、USB4™ 仕様に基づいた製品またはこれに準拠した製品での使用のみが認められています。"