структура 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 |