Condividi tramite


struttura DXGK_DSI_PACKET (dispmprt.h)

Un driver del pannello OEM usa DXGK_DSI_PACKET strutture per trasmettere pacchetti DSI (Digital Serial Interface) al driver del bus (kernel grafico).

Sintassi

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;

Membri

DataId

Valore a 8 bit, in cui i 6 bit inferiori formano DataType e i 2 bit più alti sono VirtualChannel.

DataType

Tipo di dati trasmessi, che definisce in modo implicito la transazione come lettura o scrittura, nonché il numero di parametri e se la transazione viene formata come pacchetto breve o lungo.

VirtualChannel

Indica l'unità secondaria della periferica da indirizzare. Può essere uno di 0, 1, 2 o 3.

Data0

Valore a 8 bit usato in pacchetti brevi per trasferire i parametri. I pacchetti brevi hanno 0, 1 o 2 byte di parametri, dove il numero e il significato sono determinati da DataType.

Data1

Valore a 8 bit usato in pacchetti brevi per trasferire i parametri. I pacchetti brevi hanno 0, 1 o 2 byte di parametri, dove il numero e il significato sono determinati da DataType.

LongWriteWordCount

Conteggio parole, in byte, del payload per un pacchetto long di scrittura.

EccFiller

Un campo a 8 bit che occupa lo spazio richiesto dal codice di correzione degli errori (ECC) nella sequenza di byte trasmessi. Il quarto byte della trasmissione è sempre un ECC e per lunghe scritture, il payload segue direttamente l'ECC, quindi questo filler consente di costruire un lungo comando di scrittura in memoria come comando completo. È responsabilità del driver grafico sovrascrivere il valore di riempimento con il valore ECC corretto prima della trasmissione.

Payload[DXGK_DSI_PACKET_EMBEDDED_PAYLOAD_SIZE]

Matrice di 8 byte che consente l'invio di sequenze di scritture di piccole dimensioni come matrice di pacchetti nella stessa trasmissione, ma limita le dimensioni dei dati. Il pacchetto finale in una trasmissione può aggiungere ulteriori dati in memoria direttamente dopo l'ultimo byte del payload incorporato. I pacchetti di lettura sono consentiti solo come ultimo in una trasmissione, ma possono essere sotto forma di pacchetto lungo o breve e, in entrambi i casi, i dati di lettura devono essere inseriti nel buffer payload, con spazio aggiuntivo nel buffer per contenere risposte più lunghe.

Osservazioni

Il driver del pannello chiama IOCTL_MIPI_DSI_TRANSMISSION con una matrice di strutture DSI_PACKET in una struttura DXGK_DSI_TRANSMISSION.

Fabbisogno

Requisito Valore
client minimo supportato Windows 10, versione 2004
intestazione dispmprt.h

Vedere anche

**IOCTL_MIPI_DSI_QUERY_CAPS

IOCTL_MIPI_DSI_RESET

IOCTL_MIPI_DSI_TRANSMISSION