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
一个 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 |