structure DXGK_DSI_PACKET (dispmprt.h)
Un pilote de panneau OEM utilise des structures DXGK_DSI_PACKET pour transmettre des paquets DSI (Digital Serial Interface) au pilote de bus (noyau graphique).
Syntaxe
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;
Membres
DataId
Valeur 8 bits, où les 6 bits inférieurs forment le DataType et les 2 bits les plus élevés sont VirtualChannel.
DataType
Type de données transmises, qui définit implicitement la transaction en tant que lecture ou écriture, ainsi que le nombre de paramètres et si la transaction est formée sous forme de paquet court ou long.
VirtualChannel
Indique la sous-unité du périphérique en cours d’adressage. Peut être l’un des 0, 1, 2 ou 3.
Data0
Valeur 8 bits utilisée dans des paquets courts pour transférer des paramètres. Les paquets courts ont 0, 1 ou 2 octets de paramètres, où le nombre et la signification sont déterminés par dataType.
Data1
Valeur 8 bits utilisée dans des paquets courts pour transférer des paramètres. Les paquets courts ont 0, 1 ou 2 octets de paramètres, où le nombre et la signification sont déterminés par dataType.
LongWriteWordCount
Nombre de mots, en octets, de la charge utile pour un paquet long d’écriture.
EccFiller
Champ 8 bits qui occupe l’espace que le code de correction d’erreur (ECC) prend dans la séquence d’octets transmis. Le quatrième octet de la transmission est toujours un ECC et pour les écritures longues, la charge utile suit directement l’ECC afin que ce remplissage permet de construire une longue commande d’écriture en mémoire en tant que commande complète. Il incombe au pilote graphique de remplacer la valeur de remplissage avec la valeur ECC correcte avant la transmission.
Payload[DXGK_DSI_PACKET_EMBEDDED_PAYLOAD_SIZE]
Tableau de 8 octets qui permet d’envoyer des séquences de petites écritures en tant que tableau de paquets dans la même transmission, mais limite la taille des données. Le dernier paquet d’une transmission peut ajouter d’autres données en mémoire directement après le dernier octet de la charge utile incorporée. Les paquets de lecture ne sont autorisés qu’en tant que dernier dans une transmission, mais peuvent être sous la forme d’un paquet long ou court et de manière ou d’une autre, les données de lecture doivent être placées dans la mémoire tampon de charge utile, avec un espace supplémentaire dans la mémoire tampon pour prendre en charge des réponses plus longues.
Remarques
Le pilote du panneau appelle IOCTL_MIPI_DSI_TRANSMISSION avec un tableau de structures DSI_PACKET dans une structure DXGK_DSI_TRANSMISSION.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Windows 10, version 2004 |
d’en-tête | dispmprt.h |