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

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