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
書き込み長いパケットのペイロードのワード数 (バイト単位)。
EccFiller
エラー修正コード (ECC) が送信バイトのシーケンスで使用する領域を占有する 8 ビット フィールド。 伝送の 4 バイト目は常に 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 |