Поделиться через


структура 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 байта параметров, где число и значение определяются типом данных.

Data1

8-разрядное значение, используемое в коротких пакетах для передачи параметров. Короткие пакеты имеют 0, 1 или 2 байта параметров, где число и значение определяются типом данных.

LongWriteWordCount

Число слов (в байтах) полезных данных для записи длинного пакета.

EccFiller

8-разрядное поле, которое занимает пространство, которое будет принимать код исправления ошибок (ECC) в последовательности передаваемых байтов. Четвертый байт передачи всегда является ECC и для длительных операций записи полезные данные непосредственно следуют ECC, поэтому эта заливка позволяет создавать длинную команду записи в памяти как полную команду. Перед передачей драйвер графики несет ответственность за перезапись значения заливки правильным значением 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