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
已知在 Packets 陣列中發生錯誤的DXGK_DSI_PACKET索引。 如果不知道或沒有偵測到的封包錯誤,則會設定值DXGK_DSI_INVALID_PACKET_INDEX。
TransmissionMode
其中一個DXGK_MIPI_CONTROL_TRANSMISSIONMODE值。
ReportMipiErrors
如果已設定,圖形驅動程式應該在最終命令通知中要求任何累積的MIPI錯誤,並在[MipiErrors]字段中回報這些錯誤。
ClearMipiErrors
如果 set 和圖形驅動程式已傳送任何非 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
DXGK_HOST_DSI_XXX錯誤的組合,指出圖形驅動程式或 OS 所報告的錯誤。
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 |