Поделиться через


Требования к управлению питанием USB4™

Маршрутизаторы узлов USB4 должны надежно поддерживать спящий режим USB4 и выход. Туннелированные протоколы не должны сигнализировать электрическим сигналом к соответствующим туннелям при входе или выходе из спящего режима USB4. Кроме того, маршрутизатор узла USB4 должен воспроизвести пробуждение протокола через соответствующий туннель после возобновления работы домена USB4 из спящего режима.

Протоколы туннелированного устройства (PCIe, USB 3.x и дисплей) устанавливают связи питания с соответствующим устройством маршрутизатора узла USB4, что позволяет диспетчеру соединений инициировать запись сна при простое туннелированных устройствах. Драйверы устройств PCIe и USB 3.x, начиная с Windows 11, поддерживают идентификацию и управление соответствующим устройством маршрутизатора узла USB4 на основе сопоставления портов ACPI (_DSD), описанных в требованиях USB4 ACPI.

Графический стек в Windows 11 также был обновлен для идентификации устройства маршрутизатора узла USB4 и управления питанием устройства маршрутизатора узла USB4. Для этого требуется поддержка предоставленного графического драйвера IHV, как описано в требованиях к драйверу графики. Диспетчер подключений USB4 получает идентификатор устройства маршрутизатора узла из ACPI и записывает данные в ADP_DP_CS_2.CM_ID в пространстве конфигурации адаптера DP-IN. Как описано в требованиях ACPI, экземпляр интерфейса узла должен всегда заканчиваться 3-разрядной цифрой (0-7).

Требования к графическому драйверу

Чтобы обеспечить правильные связи управления питанием, графический стек должен иметь возможность определить, какой адаптер USB4 DP-IN, к которому подключен монитор. Это достигается путем настройки домена USB4 регистр DPCD с помощью адаптера USB4 DP-IN, который может считывать графический стек. Эти требования определены в спецификации DisplayPort™ 2.0 (Errata).

Имя поля DPCD Адрес поля DPCD Примечание.
USB4_Driver_ID E000Fh [3:0] Уникально идентифицирует маршрутизатор узла в системе. Это задается диспетчером подключений USB4, который получает идентификатор устройства маршрутизатора узла, полученный от ACPI, и записывает его в ADP_DP_CS_2.CM_ID в пространстве конфигурации АДАПТЕРа DP IN.
USB4_ROUTER_TOPOLOGY_ID E001Bh - E001Fh Уникально идентифицирует устройство USB4 в домене маршрутизатора узла
DP_IN_Adapter_Number E000Eh [5:0] Уникально идентифицирует адаптер DP-IN на устройстве USB4
Поддержка туннелирования DP E000Dh [0] Значение 1 указывает туннелирование USB4

Требования к графическому драйверу:

  1. Драйвер WDDM 3.0 или более поздней версии
  2. Драйвер предоставляет новую крышку адаптера для указания поддержки USB4
  3. Все целевые объекты сети (VidPN), предоставляемые драйвером, должны быть сообщены как компоненты питания
  4. Каждый динамический целевой объект USB4, подключенный к одному статичному целевому объекту, должен быть подключен к одному маршрутизатору узла. То есть USB4_Driver_ID должно иметь то же значение. Подключение монитора DisplayPort USB4 к драйверу WDDM дисплея или непрямым отображением не поддерживается.

Возможности драйвера USB4

Эта SupportUsb4Targets возможность добавлена в структуру DXGK_DISPLAY_DRIVERCAPS_EXTENSION, запрашиваемую от драйвера во время начала. Задание этого значения допустимо только для драйверов WDDM 3.0 и должно быть задано только в том случае, если драйвер соответствует всем требованиям, перечисленным выше.

Создание отчетов о значениях DPCD монитора USB4

В 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 драйверу:

  1. Задайте значение DXGK_CONNECTION_CHANGE.MonitorConnect.Flags.Usb4DisplayPortMonitor.
  2. Заполнение полей в DXGKARG_QUERYCONNECTIONCHANGE.pUsb4MonitorInfo

Все статические целевые объекты VidPN, сообщаемые как компоненты PoFx

Чтобы включить правильное управление питанием между графикой и USB-стеком, все статические целевые объекты VidPN должны сообщаться как компоненты платформы управления питанием (PoFx) через DxgkDdiQueryAdapterInfo(DXGKQAITYPE_NUMPOWERCOMPONENTS) и DxgkDdiQueryAdapterInfo(DXGKQAITYPE_POWERCOMPONENTINFO).

Все динамические целевые объекты, созданные из одного статического целевого объекта VidPN

Поддерживаются мониторы USB4, подключенные к динамическим целевым объектам VidPN. Но все целевые объекты USB4 dynamic VidPN, подключенные к статическому целевому объекту VidPN, должны быть USB4_Driver_ID valuesподключены к одному маршрутизатору узла USB4.

Состояния низкой мощности CLx

Чтобы сэкономить мощность и уменьшить тепловую нагрузку, диспетчер соединений позволяет первым ссылкам глубины вводить cl0s и CL1, если поддерживается аппаратными и туннелированных протоколами. Как вышестоящий порт (UFP), так и подчиненный порт (DFP) должны поддерживать cl0s и CL1 для включения состояний низкой мощности по ссылке. Впоследствии, если требования к точности TMU и туннелированные действия в канале разрешают, ссылка может ввести CL0s или CL1 для экономии энергии.

Поддержка туннелирования XHCI USB3

Чтобы сохранить питание системы, сохраняя время ожидания маршрутизаторов узла USB4, контроллер XHCI, связанный с маршрутизатором узла USB4, должен поддерживать ecN поддержки туннелирования USB3 (режим туннелирования поддерживает бит и поддержку туннелирования USB3). Эквивалентный собственный механизм должен быть доступен, если ECN поддержки туннелирования USB3 не поддерживается. EcN поддержки туннелирования USB3 позволяет маршрутизаторам узлов USB4 оставаться в состоянии простоя, когда порт USB4, сопоставленный с USB3, работает в собственном режиме.

См. также

Thunderbolt является товарным знаком Intel Corporation или ее дочерних компаний.

"USB4™" — это товарный знак форума разработчиков USB и предназначен только для использования с продуктами на основе спецификации USB4™.