estructura DXGK_DSI_PACKET (dispmprt.h)
Un controlador de panel OEM usa estructuras de DXGK_DSI_PACKET para transmitir paquetes de interfaz serie digital (DSI) al controlador de bus (kernel de gráficos).
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
Valor de 8 bits, donde los 6 bits inferiores forman dataType y los 2 bits superiores son VirtualChannel.
DataType
Tipo de datos que se transmiten, que define implícitamente la transacción como lectura o escritura, así como el número de parámetros y si la transacción se forma como un paquete corto o largo.
VirtualChannel
Indica la subconsulta del periférico que se está solucionando. Puede ser uno de 0, 1, 2 o 3.
Data0
Valor de 8 bits usado en paquetes cortos para transferir parámetros. Los paquetes cortos tienen 0, 1 o 2 bytes de parámetros, donde dataType determina el número y el significado.
Data1
Valor de 8 bits usado en paquetes cortos para transferir parámetros. Los paquetes cortos tienen 0, 1 o 2 bytes de parámetros, donde dataType determina el número y el significado.
LongWriteWordCount
Word recuento, en bytes, de la carga de un paquete largo de escritura.
EccFiller
Un campo de 8 bits que ocupa el espacio que tomará el código de corrección de errores (ECC) en la secuencia de bytes transmitidos. El cuarto byte de la transmisión siempre es un ECC y, para escrituras largas, la carga sigue directamente al ECC, por lo que este relleno permite construir un comando de escritura largo en memoria como un comando completo. Es responsabilidad del controlador de gráficos sobrescribir el valor del relleno con el valor ECC correcto antes de la transmisión.
Payload[DXGK_DSI_PACKET_EMBEDDED_PAYLOAD_SIZE]
Matriz de 8 bytes que permite enviar secuencias de escrituras pequeñas como una matriz de paquetes en la misma transmisión, pero limita el tamaño de los datos. El paquete final de una transmisión puede anexar más datos en la memoria directamente después del último byte de la carga incrustada. Los paquetes de lectura solo se permiten como el último de una transmisión, pero pueden estar en forma de un paquete largo o corto y, en cualquier caso, los datos de lectura deben colocarse en el búfer de carga, con espacio adicional en el búfer para dar cabida a respuestas más largas.
El controlador del panel llama a IOCTL_MIPI_DSI_TRANSMISSION con una matriz de estructuras de DSI_PACKET en una estructura DXGK_DSI_TRANSMISSION .
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 10, versión 2004 |
Encabezado | dispmprt.h |