Требования к управлению питанием 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 |
Требования к графическому драйверу:
- Драйвер WDDM 3.0 или более поздней версии
- Драйвер предоставляет новую крышку адаптера для указания поддержки USB4
- Все целевые объекты сети (VidPN), предоставляемые драйвером, должны быть сообщены как компоненты питания
- Каждый динамический целевой объект 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 драйверу:
- Задайте значение
DXGK_CONNECTION_CHANGE.MonitorConnect.Flags.Usb4DisplayPortMonitor
. - Заполнение полей в
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, работает в собственном режиме.
См. также
- Универсальная последовательная шина 4
- Общие сведения о диспетчере подключений USB4 в Windows
- Сведения о проектировании USB4 и общие требования
- Требования к USB4 ACPI
- Подключения между доменами USB4
- Обязательное тестирование USB4
- Отладка и устранение неполадок USB4
Thunderbolt является товарным знаком Intel Corporation или ее дочерних компаний.
"USB4™" — это товарный знак форума разработчиков USB и предназначен только для использования с продуктами на основе спецификации USB4™.