Compartilhar via


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:

  1. WDDM 3.0 ou um driver superior
  2. O driver expõe um novo limite do adaptador para indicar o suporte a USB4
  3. Todos os destinos de rede de vídeo estático presente (VidPN) expostos pelo driver devem ser relatados como componentes de energia
  4. 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:

  1. Defina DXGK_CONNECTION_CHANGE.MonitorConnect.Flags.Usb4DisplayPortMonitor
  2. 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

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.