다음을 통해 공유


USB4™ 전원 관리 요구 사항

USB4 호스트 라우터는 USB4 절전 모드 및 진입과 종료를 안정적으로 지원해야 합니다. 터널링된 프로토콜은 USB4 절전 모드에 진입하거나 종료할 때 해당 터널에 전기적으로 연결 해제 신호를 보내지 않아야 합니다. 또한 USB4 호스트 라우터는 USB4 도메인이 절전 모드에서 다시 시작된 후 적절한 터널을 통해 프로토콜 절전 모드 해제를 재생해야 합니다.

터널링된 디바이스 프로토콜(PCIe, USB 3.x 및 디스플레이)은 연결된 USB4 호스트 라우터 디바이스와의 전원 관계를 설정하여 터널링된 디바이스가 유휴 상태일 때 연결 관리자가 절전 모드 입력을 시작할 수 있도록 합니다. Windows 11에서 시작되는 PCIe 및 USB 3.x 장치 드라이버는 USB4 ACPI 요구 사항에 설명된 ACPI 기반(_DSD) 포트 매핑에 따라 연결된 USB4 호스트 라우터 디바이스를 식별하고 전원을 관리할 수 있습니다.

Windows 11의 그래픽 스택도 USB4 호스트 라우터 디바이스를 식별하고 USB4 호스트 라우터 디바이스의 전원을 관리하도록 업데이트되었습니다. 이를 위해서는 그래픽 드라이버 요구 사항에 설명된 대로 IHV 제공 그래픽 드라이버의 지원이 필요합니다. USB4 연결 관리자는 ACPI에서 호스트 라우터 디바이스 ID를 가져오고 DP-IN 어댑터 구성 공간의 ADP_DP_CS_2.CM_ID에 씁니다. ACPI 요구 사항에 설명된 대로 호스트 인터페이스 인스턴스는 항상 3비트 숫자(0-7)로 끝나야 합니다.

그래픽 드라이버 요구 사항

올바른 전원 관리 연결을 보장하려면 그래픽 스택이 모니터가 연결된 USB4 DP-IN 어댑터를 식별할 수 있어야 합니다. 이는 그래픽 스택에서 읽을 수 있는 USB4 DP-IN 어댑터를 통해 DPCD 레지스터를 설정하는 USB4 도메인을 통해 수행됩니다. 이러한 요구 사항은 DisplayPort™ 2.0 사양(Errata)에 정의되어 있습니다.

DPCD 필드 이름 DPCD 필드 주소 참고 항목
USB4_Driver_ID E000Fh [3:0] 시스템에서 호스트 라우터를 고유하게 식별합니다. 이는 USB4 연결 관리자가 ACPI에서 가져온 호스트 라우터 디바이스 ID를 가져와 DP IN 어댑터 구성 공간의 ADP_DP_CS_2.CM_ID에 쓰는 방식으로 설정됩니다.
USB4_ROUTER_TOPOLOGY_ID E001Bh - E001Fh 호스트 라우터 도메인에서 USB4 디바이스를 고유하게 식별합니다.
DP_IN_Adapter_Number E000Eh [5:0] USB4 디바이스에서 DP-IN 어댑터를 고유하게 식별합니다.
DP 터널링 지원 E000Dh [0] 값 1은 USB4 터널링을 나타냅니다.

그래픽 드라이버 요구 사항은 다음과 같습니다.

  1. WDDM 3.0 이상 드라이버
  2. 드라이버는 USB4 지원을 나타내는 새 어댑터 캡을 노출합니다.
  3. 드라이버에서 노출하는 모든 VidPN(정적 비디오 제공 네트워크) 대상을 전원 구성 요소로 보고해야 합니다.
  4. 동일한 정적 대상에 연결된 각 USB4 동적 대상은 동일한 호스트 라우터에 연결되어야 합니다. 즉, USB4_Driver_ID는 동일한 값을 가져야 합니다. USB4 DisplayPort 모니터를 디스플레이 전용 또는 간접 디스플레이 WDDM 드라이버에 연결하는 것은 지원되지 않습니다.

USB4 드라이버 기능

SupportUsb4Targets 기능은 시작 시 드라이버에서 쿼리되는 DXGK_DISPLAY_DRIVERCAPS_EXTENSION 구조에 추가되었습니다. 이 값을 설정하는 것은 WDDM 3.0 드라이버에만 유효하며 드라이버가 위에 나열된 모든 요구 사항을 충족하는 경우에만 설정해야 합니다.

USB4 모니터 DPCD 값 보고

WDDM 3.0에는 드라이버에서 이 모니터가 USB4 연결 모니터임을 나타내는 데 사용하는 Usb4DisplayPortMonitor 플래그가 있는 새 DXGK_CONNECTION_CHANGE.MonitorConnect.MonitorConnectFlags 필드가 있습니다.

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에서 필드 완료

PoFx 구성 요소로 보고되는 모든 정적 VidPN 대상

그래픽과 USB 스택 간의 올바른 전원 관리를 사용하도록 설정하려면 모든 정적 VidPN 대상을 DxgkDdiQueryAdapterInfo(DXGKQAITYPE_NUMPOWERCOMPONENTS)DxgkDdiQueryAdapterInfo(DXGKQAITYPE_POWERCOMPONENTINFO)를 통해 PoFx(전원 관리 프레임워크) 구성 요소로 보고해야 합니다.

동일한 정적 VidPN 대상에서 만든 모든 동적 대상

동적 VidPN 대상에 연결된 USB4 모니터가 지원됩니다. 그러나 정적 VidPN 대상에 연결된 모든 USB4 동적 VidPN 대상은 동일한 USB4_Driver_ID values를 가져야 하며 동일한 USB4 호스트 라우터에 연결되어야 합니다.

CLx 저전력 상태

전원을 절약하고 열 부하를 줄이기 위해 연결 관리자는 하드웨어 및 현재 터널링된 프로토콜에서 지원하는 경우 첫 번째 깊이 링크가 CL0 및 CL1에 들어갈 수 있도록 합니다. 링크에서 낮은 전원 상태를 사용하도록 설정하려면 업스트림 UFP(연결 포트)와 DFP(다운스트림 연결 포트)가 모두 CL0 및 CL1을 지원해야 합니다. 이후 링크에서 TMU 정확도 요구 사항 및 터널링된 작업이 허용되는 경우 링크를 CL0 또는 CL1에 입력하여 전원을 절약할 수 있습니다.

XHCI USB3 터널링 지원

USB4 호스트 라우터를 더 오래 유휴 상태로 유지하여 시스템 전원을 절약하려면 USB4 호스트 라우터와 연결된 XHCI 컨트롤러가 USB3 터널링 지원 ECN(터널링 모드 지원 비트 및 USB3 터널링 지원 기능)을 지원해야 합니다. USB3 터널링 지원 ECN이 지원되지 않는 경우 동등한 독점 메커니즘을 사용할 수 있어야 합니다. USB3 터널링 지원 ECN을 사용하면 USB4 매핑된 USB3 포트가 기본 모드에서 작동할 때 USB4 호스트 라우터가 유휴 상태를 유지할 수 있습니다.

참고 항목

Thunderbolt는 Intel Corporation 또는 그 자회사의 상표입니다.

"USB4™"는 USB Implementers Forum의 상표이며 USB4™ 사양을 기반으로 하고 이를 준수하는 제품에만 사용하기 위한 것입니다.