Requisitos do gerenciamento de energia do USB4™
Os roteadores host USB4 devem dar suporte confiável à suspensão, entrada e saída USB4. Os protocolos encapsulados não devem sinalizar eletricamente a desconexão de seus respectivos túneis na entrada ou saída do modo de suspensão do USB4. Além disso, o roteador host USB4 deve reproduzir a ativação do protocolo no túnel certo depois que o domínio do USB4 for retomado do modo de suspensão.
Os protocolos de dispositivo encapsulado (PCIe, USB 3.x e exibição) estabelecem relações de energia com o dispositivo roteador host USB4 associado, o que permite ao gerenciador de conexões iniciar a entrada de suspensão quando os dispositivos encapsulados estiverem ociosos. Os drivers de dispositivo PCIe e USB 3.x a partir do Windows 11 têm o suporte para identificar e gerenciar a energia do dispositivo roteador host USB4 associado com base no mapeamento de portas baseado em ACPI (_DSD), como descrito nos requisitos de ACPI USB4.
Além disso, a pilha gráfica no Windows 11 foi atualizada também para identificar o dispositivo roteador host USB4 e gerenciar o dispositivo roteador host USB4. Isso exige o suporte do driver gráfico fornecido pelo IHV, conforme descrito em Requisitos do driver gráfico. O gerenciador de conexões USB4 obtém a ID do dispositivo do roteador host da ACPI e a grava em ADP_DP_CS_2.CM_ID no espaço de configuração do adaptador DP-IN. Como descrito nos requisitos da ACPI, a instância da interface do host sempre deve terminar com um dígito de 3 bits (de 0 a 7).
Requisitos do driver gráfico
Para garantir as associações corretas de gerenciamento de energia, a pilha de gráficos deve poder identificar o adaptador USB4 DP-IN ao qual o monitor está conectado. Isso pode ser feito pelo domínio USB4 que define o registro DPCD por meio do adaptador USB4 DP-IN que a pilha de gráficos pode ler. Estes requisitos são definidos na especificação DisplayPort™ 2.0 (Errata).
Nome do campo DPCD | Endereço do campo de DPCD | Observação |
---|---|---|
USB4_Driver_ID | E000Fh [3:0] | Identifica exclusivamente no sistema o roteador host. Isso é definido pelo gerenciador de conexão USB4, que obtém a ID do dispositivo do roteador host no ACPI e a grava em ADP_DP_CS_2.CM_ID no espaço de configuração do adaptador DP IN. |
USB4_ROUTER_TOPOLOGY_ID | E001Bh - E001Fh | Identifica o dispositivo USB4 exclusivamente no domínio do roteador host |
DP_IN_Adapter_Number | E000Eh [5:0] | Identifica o adaptador DP-IN exclusivamente no dispositivo USB4 |
Suporte ao tunelamento de DP | E000Dh [0] | Um valor de 1 indica o tunelamento USB4 |
Os requisitos do driver gráfico são estes:
- WDDM 3.0 ou um driver superior
- O driver expõe um novo limite do adaptador para indicar o suporte a USB4
- Todos os destinos de rede de vídeo estático presente (VidPN) expostos pelo driver devem ser relatados como componentes de energia
- Cada destino dinâmico USB4 conectado ao mesmo destino estático precisa ser conectado ao mesmo roteador host. Isto é, o USB4_Driver_ID deve ter o mesmo valor. Não existe suporte para a conexão de um monitor USB4 DisplayPort a um driver WDDM somente de exibição ou indireto.
Funcionalidades do driver USB4
A funcionalidade SupportUsb4Targets
foi adicionada à estrutura DXGK_DISPLAY_DRIVERCAPS_EXTENSION, que é consultada no driver na hora de início. A configuração desse valor só vale para drivers WDDM 3.0 e só deve ser definida se o driver cumprir todos os requisitos listados acima.
Como relatar valores DPCD do monitor USB4
No WDDM 3.0, há um novo campo DXGK_CONNECTION_CHANGE.MonitorConnect.MonitorConnectFlags
que tem um sinalizador Usb4DisplayPortMonitor
que o driver usa para indicar que este é um monitor conectado por 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;
Quando um monitor DisplayPort™ é conectado ao destino especificado de VidPN (rede de vídeo presente) e é conectado a um adaptador USB4 DP-IN, o driver deve:
- Defina
DXGK_CONNECTION_CHANGE.MonitorConnect.Flags.Usb4DisplayPortMonitor
- Preencha os campos em
DXGKARG_QUERYCONNECTIONCHANGE.pUsb4MonitorInfo
Todos os alvos estáticos do VidPN relatados como componentes PoFx
Para habilitar o gerenciamento de energia correto entre os gráficos e a pilha USB, todos os destinos estáticos do VidPN precisam ser relatados como componentes da estrutura de gerenciamento de energia (PoFx) por meio de DxgkDdiQueryAdapterInfo(DXGKQAITYPE_NUMPOWERCOMPONENTS)
e DxgkDdiQueryAdapterInfo(DXGKQAITYPE_POWERCOMPONENTINFO)
.
Todos os destinos dinâmicos criados no mesmo destino VidPN estático
Monitores USB4 conectados a destinos VidPN dinâmicos são compatíveis. Mas todos os destinos VidPN dinâmicos USB4 conectados a um destino VidPN estático devem ter o mesmo USB4_Driver_ID values
; eles devem estar conectados ao mesmo roteador host USB4.
Estados de baixa energia do CLx
Para poupar energia e reduzir a carga térmica, o gerenciador de conexões permite que os links de primeira profundidade insiram CL0s e CL1, caso sejam compatíveis com o hardware e os protocolos encapsulados atualmente. Tanto a porta voltada para o upstream (UFP) quanto a porta voltada para o downstream (DFP) devem dar suporte a CL0s e CL1 para que os estados de baixa energia sejam habilitados no link. Posteriormente, caso os requisitos de precisão da TMU e a atividade em túnel no link permitam, o link poderá inserir CL0s ou CL1 para poupar energia.
Suporte ao tunelamento USB3 XHCI
Para poupar energia do sistema mantendo os roteadores de host USB4 ociosos por mais tempo, o controlador XHCI associado ao roteador de host USB4 deve ser compatível com o ECN de Suporte ao tunelamento USB3 (bit de suporte ao modo tunelado e capacidade de suporte ao tunelamento USB3). É preciso que haja um mecanismo proprietário equivalente disponível se o ECN de suporte a tunelamento USB3 não for compatível. O ECN de suporte de tunelamento USB3 permite que os roteadores de host USB4 fiquem ociosos quando uma porta USB3 mapeada por USB4 esteja operando no modo nativo.
Confira também
- Barramento Serial Universal 4
- Introdução ao Gerenciador de Conexões do USB4 no Windows
- Detalhes de design e requisitos gerais do USB4
- Requisitos de ACPI do USB4
- Conexões de interdomínio do USB4
- Teste necessário do USB4
- Depuração e solução de problemas do USB4
Thunderbolt é uma marca registrada da Intel Corporation ou de suas subsidiárias.
"USB4™" é uma marca registrada do USB Implementers Forum e deve ser usada apenas com produtos baseados na especificação USB4™ e em conformidade com ela.