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
封包陣列中的DXGK_DSI_PACKET元素數目。
FailedPacket
在封包陣列中已知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 |