USB4™ Power Management-Anforderungen
USB4-Hostrouter müssen USB4-Standby sowie -Eingang und -Ausgang zuverlässig unterstützen. Die getunnelten Protokolle dürfen das Trennen der Verbindung mit den jeweiligen Tunneln am Ein- oder Ausgang vom USB4-Standby nicht elektrisch signalisieren. Darüber hinaus muss der USB4-Hostrouter das Protokoll über den entsprechenden Tunnel wiedergeben, nachdem die USB4-Domäne aus dem Standby fortgesetzt wurde.
Die getunnelten Geräteprotokolle (PCIe, USB 3.x und Display) richten Power Relations mit dem zugehörigen USB4-Hostroutergerät ein, mit dem der Verbindungs-Manager den Wechsel in Standby initiieren kann, wenn sich die getunnelten Geräte im Leerlauf befinden. Die PCIe- und USB 3.x-Gerätetreiber unterstützen ab Windows 11 das Identifizieren sowie das Power Management des zugehörigen USB4-Hostroutergeräts basierend auf der ACPI-basierten (_DSD) Portzuordnung, die in den USB4 ACPI-Anforderungen beschrieben ist.
Der Grafikstapel in Windows 11 wurde ebenfalls aktualisiert, um das Identifizieren und Power Management des USB4-Hostroutergeräts zu ermöglichen. Dies erfordert Unterstützung vom bereitgestellten IHV-Grafiktreiber, wie in den Anforderungen für Grafiktreiber beschrieben. Der USB4-Verbindungs-Manager ruft die Hostroutergeräte-ID von ACPI ab und schreibt in ADP_DP_CS_2.CM_ID in den DP-IN-Adapterkonfigurationsbereich. Wie in den ACPI-Anforderungen beschrieben, muss die Hostschnittstelleninstanz immer mit einer 3-Bit-Ziffer (0-7) enden.
Anforderungen für Grafiktreiber
Um die richtigen Power Management-Zuordnungen sicherzustellen, muss der Grafikstapel in der Lage sein, zu identifizieren, welcher USB4 DP-IN-Adapter mit dem Monitor verbunden ist. Dies wird durch die USB4-Domäneneinstellung des DPCD-Registers über den USB4 DP-IN-Adapter erreicht, den der Grafikstapel lesen kann. Diese Anforderungen werden in der Spezifikation für DisplayPort™ 2.0 (Errata) definiert.
DPCD-Feldname | DPCD-Feldadresse | Hinweis |
---|---|---|
USB4_Driver_ID | E000Fh [3:0] | Identifiziert den Hostrouter im System eindeutig. Dies wird durch den USB4-Verbindungs-Manager festgelegt, der die von ACPI abgerufene Hostroutergeräte-ID abruft und in ADP_DP_CS_2.CM_ID im DP IN-Adapter-Konfigurationsbereich schreibt. |
USB4_ROUTER_TOPOLOGY_ID | E001Bh - E001Fh | Identifiziert das USB4-Gerät in der Hostrouterdomäne eindeutig |
DP_IN_Adapter_Number | E000Eh [5:0] | Identifiziert den DP-IN-Adapter auf dem USB4-Gerät eindeutig |
DP-Tunneling-Support | E000Dh [0] | Der Wert 1 gibt USB4-Tunneling an |
Die Grafiktreibertreiberanforderungen lauten wie folgt:
- WDDM 3.0 oder höherer Treiber
- Der Treiber stellt ein neues Adapterlimit zur Angabe der USB4-Unterstützung bereit.
- Alle statischen Videodatennetzwerke (VidPN)-Ziele, die vom Treiber zur Verfügung gestellt werden, müssen als Power-Komponenten gemeldet werden.
- Jedes dynamische USB4-Ziel, das mit demselben statischen Ziel verbunden ist, muss mit demselben Hostrouter verbunden sein. Das heißt, die USB4_Driver_ID muss den gleichen Wert haben. Das Verbinden eines USB4 DisplayPort-Monitors nur mit einem Display oder mit einem indirekten Display-WDDM-Treiber wird nicht unterstützt.
USB4-Treiberfunktionen
Die SupportUsb4Targets
-Funktion wurde der Struktur DXGK_DISPLAY_DRIVERCAPS_EXTENSION hinzugefügt, die zur Startzeit vom Treiber abgefragt wird. Das Festlegen dieses Werts ist nur für WDDM 3.0-Treiber gültig und sollte nur festgelegt werden, wenn der Treiber alle oben aufgeführten Anforderungen erfüllt.
Melden von USB4-Monitor-DPCD-Werten
In WDDM 3.0 gibt es ein neues DXGK_CONNECTION_CHANGE.MonitorConnect.MonitorConnectFlags
-Feld mit einem Usb4DisplayPortMonitor
-Flag, das vom Treiber verwendet wird, um anzugeben, dass dieser Monitor ein per USB4 verbundener Monitor ist.
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;
Wenn ein DisplayPort-Monitor™ mit dem angegebenen VidPN-Ziel verbunden wurde und mit einem USB4 DP-IN-Adapter verbunden ist, sollte der Treiber folgende Aufgaben ausführen:
- Legen Sie
DXGK_CONNECTION_CHANGE.MonitorConnect.Flags.Usb4DisplayPortMonitor
fest. - Die Felder in
DXGKARG_QUERYCONNECTIONCHANGE.pUsb4MonitorInfo
ausfüllen
Alle statischen VidPN-Ziele, die als PoFx-Komponenten gemeldet werden
Um das richtige Power Management zwischen Grafik- und USB-Stapel zu ermöglichen, müssen alle statischen VidPN-Ziele als PoFx (Power Management Framework)-Komponenten über DxgkDdiQueryAdapterInfo(DXGKQAITYPE_NUMPOWERCOMPONENTS)
und DxgkDdiQueryAdapterInfo(DXGKQAITYPE_POWERCOMPONENTINFO)
gemeldet werden.
Alle dynamischen Ziele, die aus demselben statischen VidPN-Ziel erstellt wurden
USB4-Monitore, die mit dynamischen VidPN-Zielen verbunden sind, werden unterstützt. Alle dynamischen USB4-VidPN-Ziele, die mit einem statischen VidPN-Ziel verbunden sind, müssen jedoch denselben USB4_Driver_ID values
haben. Sie müssen mit demselben USB4-Hostrouter verbunden sein.
CLx-Zustände mit geringer Leistung
Um Energie zu sparen und die thermische Belastung zu reduzieren, können First-Depth-Links mithilfe des Verbindungs-Managers CL0s und CL1 eingeben, sofern diese von der Hardware und von den aktuell getunnelten Protokollen unterstützt werden. Sowohl der vorgeschaltete Port (UFP) als auch der nachgelagerte Port (DFP) muss CL0s und CL1 unterstützen, damit die Zustände mit niedriger Leistung über den Link aktiviert werden können. Wenn es die Anforderungen hinsichtlich der TMU-Genauigkeit und die getunnelte Aktivität auf der Verbindung zulassen, kann der Link daraufhin CL0s oder CL1 eingeben, um Strom zu sparen.
Unterstützung für XHCI USB3-Tunneling
Indem USB4-Hostrouter länger im Leerlauf gehalten werden, kann Systemenergie gespart werden. Hierzu muss der dem USB4-Hostrouter zugeordnete XHCI-Controller die USB3 Tunneling Support ECN unterstützen (Funktion zur Unterstützung des Tunnel-Modus (Bit) und des USB3-Tunneling). Ein entsprechender proprietärer Mechanismus muss verfügbar sein, wenn USB3 Tunneling Support ECN nicht unterstützt wird. Die USB3 Tunneling Support ECN ermöglicht USB4-Hostroutern, im Leerlauf zu bleiben, wenn ein USB3-Anschluss, der USB4 zugeordnet ist, im nativen Modus ausgeführt wird.
Siehe auch
- Universal Serial Bus 4
- Einführung in den USB4-Verbindungsmanager in Windows
- USB4-Designdetails und allgemeine Anforderungen
- USB4 ACPI-Anforderungen
- USB4 Interdomain-Verbindungen
- USB4 erforderliche Tests
- USB4-Debugging und Fehlerbehebung
Thunderbolt ist eine Marke der Intel Corporation oder ihrer Tochtergesellschaften.
"USB4™" ist eine Marke des USB Implementers Forum und ist nur für die Verwendung mit Produkten vorgesehen, die auf der USB4-Spezifikation™ basieren und konform sind.