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 gráfico).
Sintaxis
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;
Miembros
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 sub unitaria del periférico que se está abordando. 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 el número y el significado están determinados por dataType.
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 el número y el significado están determinados por dataType.
LongWriteWordCount
Recuento de palabras, en bytes, de la carga útil para 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 el ECC, por lo que este relleno permite construir un comando de escritura larga en memoria como un comando completo. Es responsabilidad del controlador gráfico sobrescribir el valor de 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 insertada. 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 de cualquier manera, los datos de lectura deben colocarse en el búfer de carga, con espacio adicional en el búfer para acomodar respuestas más largas.
Observaciones
El controlador del panel llama a IOCTL_MIPI_DSI_TRANSMISSION con una matriz de estructuras de DSI_PACKET en una estructura de DXGK_DSI_TRANSMISSION.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Windows 10, versión 2004 |
encabezado de | dispmprt.h |