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数 (バイト単位)。
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 |
Header | dispmprt.h |