структура 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, поэтому этот заполнитель позволяет создать в памяти команду long write в качестве полной команды. Графический драйвер обязан перезаписать значение заполнителя правильным значением ECC перед передачей.

Payload[DXGK_DSI_PACKET_EMBEDDED_PAYLOAD_SIZE]

Массив 8 байт, который позволяет отправлять последовательности небольших операций записи в виде массива пакетов в той же передаче, но ограничивает размер данных. Последний пакет в передаче может добавлять дополнительные данные в память сразу после последнего байта внедренных полезных данных. Чтение пакетов разрешено только в качестве последнего пакета в передаче, но может быть в виде длинного или короткого пакета, и в любом случае считываемые данные должны быть помещены в буфер полезных данных с дополнительным пространством в буфере для размещения более длительных ответов.

Комментарии

Драйвер панели вызывает IOCTL_MIPI_DSI_TRANSMISSION с массивом DSI_PACKET структур в DXGK_DSI_TRANSMISSION структуре.

Требования

Требование Значение
Минимальная версия клиента Windows 10 версии 2004
Верхняя часть dispmprt.h

См. также раздел

**IOCTL_MIPI_DSI_QUERY_CAPS

IOCTL_MIPI_DSI_RESET

IOCTL_MIPI_DSI_TRANSMISSION