DXGK_DSI_PACKET結構(dispmprt.h)
OEM 面板驅動程式會使用 DXGK_DSI_PACKET 結構,將數位序列介面 (DSI) 封包傳輸至總線驅動程式(圖形核心)。
語法
typedef struct _DXGK_DSI_PACKET {
union {
BYTE DataId;
struct {
BYTE DataType : 6;
BYTE VirtualChannel : 2;
};
};
union {
struct {
BYTE Data0;
BYTE Data1;
};
WORD LongWriteWordCount;
};
BYTE EccFiller;
BYTE Payload[DXGK_DSI_PACKET_EMBEDDED_PAYLOAD_SIZE];
} DXGK_DSI_PACKET, *PDXGK_DSI_PACKET;
成員
DataId
8 位值,其中較低的 6 位會形成 DataType,而較高的 2 位是 VirtualChannel。
DataType
要傳輸的數據類型,以隱含方式將交易定義為讀取或寫入,以及參數數目,以及交易是否形成為短或長封包。
VirtualChannel
表示所尋址周邊的子單位。 可以是 0、1、2 或 3 之一。
Data0
短封包中用來傳輸參數的8位值。 簡短封包有 0、1 或 2 個字節的參數,其中數位和意義是由 DataType 所決定。
Data1
短封包中用來傳輸參數的8位值。 簡短封包有 0、1 或 2 個字節的參數,其中數位和意義是由 DataType 所決定。
LongWriteWordCount
寫入長封包之 Payload 的字數,以位元組為單位。
EccFiller
8 位欄位元段,佔用錯誤更正碼 (ECC) 將採用傳輸位元組序列的空間。 傳輸的第四個字節一律是 ECC,而且對於長時間寫入,承載會直接遵循 ECC,讓此填充程式允許在記憶體中建構長寫入命令做為完整命令。 圖形驅動程式有責任在傳輸之前使用正確的 ECC 值覆寫填充值。
Payload[DXGK_DSI_PACKET_EMBEDDED_PAYLOAD_SIZE]
8 個字節的陣列,可讓小型寫入序列以相同傳輸中的封包陣列傳送,但會限制數據的大小。 傳輸中最後一個封包可以直接在內嵌承載的最後一個字節之後,在記憶體中附加進一步的數據。 讀取封包只允許作為傳輸中的最後一個封包,但可能採用長或短封包的形式,無論哪種方式,讀取數據都應該放在Payload緩衝區中,緩衝區中額外的空間以容納較長的回應。
言論
面板驅動程式會使用 DXGK_DSI_TRANSMISSION 結構中的 DSI_PACKET 結構數位來呼叫 IOCTL_MIPI_DSI_TRANSMISSION。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows 10 版本 2004 |
標頭 | dispmprt.h |