DXGK_DSI_TRANSMISSION 구조체(dispmprt.h)

DXGK_DSI_TRANSMISSION 구조는 DSI(디스플레이 직렬 인터페이스) 패킷을 버스 드라이버(그래픽 커널)로 전송하는 데 사용됩니다.

구문

typedef struct _DXGK_DSI_TRANSMISSION {
  UINT            TotalBufferSize;
  BYTE            PacketCount;
  BYTE            FailedPacket;
  struct {
    WORD TransmissionMode : 2;
    WORD ReportMipiErrors : 1;
    WORD ClearMipiErrors : 1;
    WORD SecondaryPort : 1;
    WORD ManufacturingMode : 1;
    WORD Reserved : 10;
  };
  WORD            ReadWordCount;
  WORD            FinalCommandExtraPayload;
  WORD            MipiErrors;
  WORD            HostErrors;
  DXGK_DSI_PACKET Packets[1];
} DXGK_DSI_TRANSMISSION, *PDXGK_DSI_TRANSMISSION;

멤버

TotalBufferSize

헤더, 명령 및 페이로드를 포함하여 전체 구조의 바이트 수입니다.

PacketCount

Packets 배열의 DXGK_DSI_PACKET 요소 수입니다 .

FailedPacket

패킷 배열에서 오류가 발생한 DXGK_DSI_PACKET 인덱스(알려진 경우)입니다. 알 수 없거나 패킷 오류가 검색되지 않은 경우 DXGK_DSI_INVALID_PACKET_INDEX 값이 설정됩니다.

TransmissionMode

DXGK_MIPI_CONTROL_TRANSMISSIONMODE 값 중 하나입니다.

ReportMipiErrors

설정되면 그래픽 드라이버는 최종 명령 승인에서 누적된 MIPI 오류를 요청하고 MipiErrors 필드에 보고해야 합니다.

ClearMipiErrors

설정되고 그래픽 드라이버가 OEM이 아닌 패널 시작 명령을 보낸 경우 드라이버는 이 시퀀스 보내기를 시작하기 전에 누적된 MIPI 오류가 지워지도록 해야 합니다.

SecondaryPort

전송을 주 패널이 아닌 보조 패널로 보내야 하는지를 설정합니다.

ManufacturingMode

시스템이 제조 모드에 있을 때 DCS 명령의 OS 유효성 검사를 해제하도록 설정합니다.

Reserved

예약되어 있습니다.

ReadWordCount

FinalCommandExtraPayload

MipiErrors

주변 장치와의 통신으로 보고된 오류를 나타내는 다음과 같은 가능한 오류 값의 조합입니다.

DXGK_MIPI_DSI_XXX 오류 의미
DXGK_MIPI_DSI_SOT_ERROR High-Speed 전송 리더 시퀀스의 시작에서 가능한 오류
DXGK_MIPI_DSI_SOT_SYNC_ERROR High-Speed 전송 리더 시퀀스의 시작 오류
DXGK_MIPI_DSI_EOT_SYNC_ERROR High-Speed 전송에서 주변 장치가 불완전한 바이트를 감지했습니다.
DXGK_MIPI_DSI_ESCAPE_MODE_ENTRY_COMMAND_ERROR 오류 또는 주변 장치가 이스케이프 시퀀스를 인식하지 못합니다.
DXGK_MIPI_DSI_LOW_POWER_TRANSMIT_SYNC_ERROR Low-Speed 전송에서 주변 장치가 불완전한 바이트를 감지했습니다.
DXGK_MIPI_DSI_FALSE_CONTROL_ERROR 이스케이프 시퀀스 또는 처리 순서에서 주변 장치에서 감지된 오류
DXGK_MIPI_DSI_CONTENTION_DETECTED 경합이 감지됨
DXGK_MIPI_DSI_CHECKSUM_ERROR_CORRECTED 체크섬 오류가 검색되고 수정되었습니다.
DXGK_MIPI_DSI_CHECKSUM_ERROR_NOT_CORRECTED 체크섬 오류가 검색되었지만 수정할 수 없습니다.
DXGK_MIPI_DSI_LONG_PACKET_PAYLOAD_CHECKSUM_ERROR 긴 패킷에 대해 페이로드 체크섬이 잘못되었습니다.
DXGK_MIPI_DSI_DSI_DATA_TYPE_NOT_RECOGNIZED 주변 장치에서 전송된 데이터 형식을 인식하지 못합니다.
DXGK_MIPI_DSI_DSI_VC_ID_INVALID 주변 장치가 지원하지 않는 가상 채널에 대한 명령을 보냈습니다.
DXGK_MIPI_DSI_INVALID_TRANSMISSION_LENGTH 주변 장치에서 전송된 바이트 수가 헤더에 지정된 바이트와 일치하지 않는 것을 감지했습니다.
DXGK_MIPI_DSI_DSI_PROTOCOL_VIOLATION 주변 장치는 전송 또는 호스트에 EoTP의 부족을 감지 읽기에 대한 버스 회전을 신호하지 못했습니다

HostErrors

그래픽 드라이버 또는 OS에서 보고한 오류를 나타내는 DXGK_HOST_DSI_XXX 오류의 조합입니다.

DXGK_HOST_DSI_XXX 오류 의미
DXGK_HOST_DSI_DEVICE_NOT_READY 호스트가 요청을 받을 수 있도록 올바른 상태가 아닌 디바이스에 대한 요청이 이루어진 것을 발견했습니다.
DXGK_HOST_DSI_INTERFACE_RESET 그래픽 드라이버에서 패널을 사용하여 DSI 인터페이스를 다시 설정해야 하는 오류를 감지했습니다. 패널 드라이버는 일반 전송을 다시 시작하기 전에 디바이스 상태를 확인해야 합니다.
DXGK_HOST_DSI_DEVICE_RESET 그래픽 드라이버에서 패널 및 상태를 다시 설정해야 하는 오류가 감지되었습니다. 패널 드라이버는 일반 전송을 다시 시작하기 전에 모든 개인 디바이스 상태를 다시 적용해야 합니다.
DXGK_HOST_DSI_TRANSMISSION_CANCELLED 호스트는 픽셀 새로 고침과 같은 우선 순위가 높은 전송에 버스가 필요했기 때문에 진행 중인 전송을 취소했습니다. 패널 드라이버는 부분 전송이 미칠 수 있는 모든 영향이 전송을 진행하기 전에 실행 취소되거나 확인되었는지 확인해야 합니다. 이 오류가 자주 발생하는 경우 전송이 너무 커서 안정적으로 완료할 수 없으며 패널 드라이버를 변경하여 여러 전송으로 분할해야 할 수 있습니다.
DXGK_HOST_DSI_TRANSMISSION_DROPPED 우선 순위가 높은 전송으로 인해 전송이 허용된 제한을 초과하여 지연되었기 때문에 호스트는 전송을 시작하기 전에 전송을 삭제했습니다. 패널 드라이버는 여전히 관련이 있는 경우 동일한 전송을 다시 시도할 수 있습니다. 이 오류는 DSI 링크 대역폭이 부적절하므로 소매 환경에서는 발생하지 않음을 나타냅니다. 전송이 충분히 큰 경우 안정적으로 성공하려면 전송을 분할해야 함을 나타낼 수 있습니다.
DXGK_HOST_DSI_TRANSMISSION_TIMEOUT 호스트가 주변 장치와 통신하는 동안 하드웨어 시간 제한을 감지했습니다. 패널 드라이버는 부분 전송이 미칠 수 있는 모든 영향이 전송을 진행하기 전에 실행 취소되거나 확인되었는지 확인해야 합니다. 전송으로 인해 패널이 잘못된 상태가 되지 않는 한 패널 드라이버에서 이에 대한 완화가 없으므로 백오프하고 다시 시작해야 합니다.
DXGK_HOST_DSI_INVALID_TRANSMISSION DXGK_DSI_TRANSMISSION 버퍼의 OS 유효성 검사에서 오류가 발견되었으므로 그래픽 드라이버를 호출하거나 금지된 패킷을 확인하지 않고 전송이 취소되었습니다. 이는 OEM 패널 드라이버의 오류 또는 OS 유효성 검사로 인해 발생합니다. 오류가 FailedPacket 패킷과 관련된 경우 필드는 첫 번째 잘못된 패킷을 나타냅니다.
DXGK_HOST_DSI_OS_REJECTED_PACKET OS는 그래픽 드라이버를 호출하지 않고 전송이 취소되도록 금지된 패킷을 발견했습니다. FailedPacket 필드는 첫 번째 잘못된 패킷을 나타냅니다.
DXGK_HOST_DSI_DRIVER_REJECTED_PACKET 그래픽 드라이버는 안전하게 처리할 수 없는 패킷을 발견하여 주변 장치 상호 작용 없이 전송이 취소되었습니다. FailedPacket 필드는 첫 번째 잘못된 패킷을 나타냅니다.
DXGK_HOST_DSI_BAD_TRANSMISSION_MODE 그래픽 드라이버가 지정된 DXGK_DSI_CONTROL_TRANSMISSION_MODE 사용할 수 없습니다. FailedPacket 필드는 전송 모드와 호환되지 않는 첫 번째 패킷을 나타냅니다.

Packets[1]

DSI_PACKET 구조체의 배열입니다.

설명

DXGK_DSI_TRANSMISSION 구조체는 그래픽 드라이버의 DxgkDsiTransmission 콜백 함수에 제공됩니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 10, 버전 2004
머리글 dispmprt.h

추가 정보

DXGK_DSI_PACKET

**IOCTL_MIPI_DSI_QUERY_CAPS

IOCTL_MIPI_DSI_RESET

IOCTL_MIPI_DSI_TRANSMISSION