Partilhar via


DXGK_DSI_PACKET estrutura (dispmprt.h)

Um driver de painel OEM usa estruturas DXGK_DSI_PACKET para transmitir pacotes DSI (Interface Serial Digital) para o driver de ônibus (kernel gráfico).

Sintaxe

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;

Membros

DataId

Valor de 8 bits, em que os 6 bits inferiores formam o DataType e os 2 bits mais altos são VirtualChannel.

DataType

Tipo de dados sendo transmitidos, que define implicitamente a transação como uma leitura ou uma gravação, bem como o número de parâmetros e se a transação é formada como um pacote curto ou longo.

VirtualChannel

Indica a sub-unidade do periférico que está sendo endereçado. Pode ser um de 0, 1, 2 ou 3.

Data0

Valor de 8 bits usado em pacotes curtos para transferir parâmetros. Os pacotes curtos têm 0, 1 ou 2 bytes de parâmetros, em que o número e o significado são determinados pelo DataType.

Data1

Valor de 8 bits usado em pacotes curtos para transferir parâmetros. Os pacotes curtos têm 0, 1 ou 2 bytes de parâmetros, em que o número e o significado são determinados pelo DataType.

LongWriteWordCount

Contagem de palavras, em bytes, do conteúdo de um pacote longo de gravação.

EccFiller

Um campo de 8 bits que ocupa o espaço que o Código de Correção de Erro (ECC) levará na sequência de bytes transmitidos. O quarto byte da transmissão é sempre um ECC e, para gravações longas, o conteúdo segue diretamente o ECC para que esse preenchimento permita que um comando de gravação longa seja construído na memória como um comando completo. É responsabilidade do driver gráfico substituir o valor do preenchimento com o valor ECC correto antes da transmissão.

Payload[DXGK_DSI_PACKET_EMBEDDED_PAYLOAD_SIZE]

Matriz de 8 bytes que permite que sequências de gravações pequenas sejam enviadas como uma matriz de pacotes na mesma transmissão, mas limita o tamanho dos dados. O pacote final em uma transmissão pode acrescentar mais dados na memória diretamente após o último byte do Payload inserido. Os pacotes de leitura só são permitidos como o último em uma transmissão, mas podem estar na forma de um pacote longo ou curto e, de qualquer forma, os dados de leitura devem ser colocados no buffer de carga, com espaço extra no buffer para acomodar respostas mais longas.

Observações

O driver do painel chama IOCTL_MIPI_DSI_TRANSMISSION com uma matriz de estruturas DSI_PACKET em uma estrutura DXGK_DSI_TRANSMISSION.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows 10, versão 2004
cabeçalho dispmprt.h

Consulte também

**IOCTL_MIPI_DSI_QUERY_CAPS

IOCTL_MIPI_DSI_RESET

IOCTL_MIPI_DSI_TRANSMISSION