共用方式為


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

Word 寫入長封包的Payload計數,以位元組為單位。

EccFiller

8 位欄位元段,佔用錯誤更正碼 (ECC) 將採用傳輸位元組序列的空間。 傳輸的第四個字節一律是 ECC,而且對於長時間寫入,承載會直接遵循 ECC,因此此填入作業允許在記憶體中建構長寫入命令作為完整命令。 在傳輸之前,圖形驅動程序必須負責以正確的 ECC 值覆寫填滿值。

Payload[DXGK_DSI_PACKET_EMBEDDED_PAYLOAD_SIZE]

8 個字節的陣列,允許以相同傳輸中的封包陣列的形式傳送小型寫入序列,但會限制數據的大小。 傳輸中的最後一個封包可以直接在內嵌承載的最後一個字節之後,在記憶體中附加進一步的數據。 讀取封包只允許作為傳輸中的最後一個封包,但可能是長封包或短封包的形式,而讀取數據應該放在承載緩衝區中,並在緩衝區中加上額外的空間以容納較長的回應。

備註

面板 驅動程式會以 DXGK_DSI_TRANSMISSION結構中的 DSI_PACKET 結構數位呼叫 IOCTL_MIPI_DSI_TRANSMISSION

規格需求

需求
最低支援的用戶端 Windows 10 (版本 2004)
標頭 dispmprt.h

另請參閱

**IOCTL_MIPI_DSI_QUERY_CAPS

IOCTL_MIPI_DSI_RESET

IOCTL_MIPI_DSI_TRANSMISSION