estrutura DXGK_DSI_TRANSMISSION (dispmprt.h)

A estrutura DXGK_DSI_TRANSMISSION é usada para transmitir pacotes DSI (Interface Serial de Exibição) para o driver de barramento (kernel gráfico).

Sintaxe

typedef struct _DXGK_DSI_TRANSMISSION {
  UINT            TotalBufferSize;
  BYTE            PacketCount;
  BYTE            FailedPacket;
  struct {
    WORD TransmissionMode : 2;
    WORD ReportMipiErrors : 1;
    WORD ClearMipiErrors : 1;
    WORD SecondaryPort : 1;
    WORD ManufacturingMode : 1;
    WORD Reserved : 10;
  };
  WORD            ReadWordCount;
  WORD            FinalCommandExtraPayload;
  WORD            MipiErrors;
  WORD            HostErrors;
  DXGK_DSI_PACKET Packets[1];
} DXGK_DSI_TRANSMISSION, *PDXGK_DSI_TRANSMISSION;

Membros

TotalBufferSize

Número de bytes em toda a estrutura, incluindo cabeçalho, comandos e conteúdo.

PacketCount

Número de elementos DXGK_DSI_PACKET na matriz Packets .

FailedPacket

Índice, quando conhecido, de DXGK_DSI_PACKET na matriz Packets que teve um erro. Se não for conhecido ou não houver nenhum erro de pacote detectado, o valor DXGK_DSI_INVALID_PACKET_INDEX será definido.

TransmissionMode

Um dos valores DXGK_MIPI_CONTROL_TRANSMISSIONMODE.

ReportMipiErrors

Se definido, o driver de gráficos deverá solicitar erros de MIPI acumulados na confirmação de comando final e reportá-los no campo MipiErrors.

ClearMipiErrors

Se definido e o driver de gráficos enviarem comandos não iniciados pelo painel OEM, o driver deverá garantir que todos os erros de MIPI acumulados sejam limpos antes de começar a enviar essa sequência.

SecondaryPort

Defina se a transmissão deve ser enviada para um painel secundário, não para o primário.

ManufacturingMode

Defina para desativar a validação do sistema operacional de comandos DCS quando o sistema estiver no modo de fabricação.

Reserved

Reservado.

ReadWordCount

FinalCommandExtraPayload

MipiErrors

Uma combinação dos valores de erro possíveis a seguir, indicando os erros relatados pela comunicação com o periférico.

Erro de DXGK_MIPI_DSI_XXX Significado
DXGK_MIPI_DSI_SOT_ERROR Possível erro no início da sequência de líderes de transmissão de High-Speed
DXGK_MIPI_DSI_SOT_SYNC_ERROR Erro no início de High-Speed sequência de líderes de transmissão
DXGK_MIPI_DSI_EOT_SYNC_ERROR Periférico detectado bytes incompletos na transmissão High-Speed
DXGK_MIPI_DSI_ESCAPE_MODE_ENTRY_COMMAND_ERROR Erro ou periférico não reconhece sequência de escape
DXGK_MIPI_DSI_LOW_POWER_TRANSMIT_SYNC_ERROR Periférico detectado bytes incompletos na transmissão Low-Speed
DXGK_MIPI_DSI_FALSE_CONTROL_ERROR Erro detectado periférico na sequência de escape ou na sequência de reviravoltas
DXGK_MIPI_DSI_CONTENTION_DETECTED Contenção detectada
DXGK_MIPI_DSI_CHECKSUM_ERROR_CORRECTED Um erro de soma de verificação foi detectado e corrigido
DXGK_MIPI_DSI_CHECKSUM_ERROR_NOT_CORRECTED Um erro de soma de verificação foi detectado, mas não pôde ser corrigido
DXGK_MIPI_DSI_LONG_PACKET_PAYLOAD_CHECKSUM_ERROR A soma de verificação da carga estava incorreta para um pacote longo
DXGK_MIPI_DSI_DSI_DATA_TYPE_NOT_RECOGNIZED Periférico não reconhece o tipo de dados enviado a ele
DXGK_MIPI_DSI_DSI_VC_ID_INVALID Periférico foi enviado um comando para um canal virtual que não dá suporte
DXGK_MIPI_DSI_INVALID_TRANSMISSION_LENGTH Periférico detectado que o número de bytes transmitidos não corresponde ao especificado no cabeçalho
DXGK_MIPI_DSI_DSI_PROTOCOL_VIOLATION Periférico detectou falta de EoTP em uma transmissão ou host falhou ao sinalizar a volta do barramento para uma leitura

HostErrors

Uma combinação de erros de DXGK_HOST_DSI_XXX indicando os erros relatados pelo driver gráfico ou pelo sistema operacional.

Erro DXGK_HOST_DSI_XXX Significado
DXGK_HOST_DSI_DEVICE_NOT_READY O host detectou que uma solicitação foi feita para um dispositivo que não está no estado correto para poder receber a solicitação.
DXGK_HOST_DSI_INTERFACE_RESET O driver gráfico detectou um erro que exigia uma redefinição da interface DSI com o painel. O driver do painel deve verificar o estado do dispositivo antes de retomar as transmissões normais.
DXGK_HOST_DSI_DEVICE_RESET O driver gráfico detectou um erro que exigia uma redefinição do painel e o estado deveria ter sido perdido. O driver do painel deve reaplicar qualquer estado de dispositivo privado antes de retomar as transmissões normais.
DXGK_HOST_DSI_TRANSMISSION_CANCELLED O host cancelou a transmissão, que estava em andamento, porque o barramento era necessário para transmissões de prioridade mais alta, como a atualização de pixel. O driver do painel precisa garantir que quaisquer efeitos que uma transmissão parcial possa ter tido sejam desfeitos ou verificados antes de prosseguir com as transmissões. Se esse erro ocorrer com frequência, pode significar que a transmissão é muito grande para ser concluída de forma confiável e o driver do painel deve ser alterado para dividi-la em várias transmissões.
DXGK_HOST_DSI_TRANSMISSION_DROPPED O host retirou a transmissão antes de iniciá-la porque as transmissões de prioridade mais alta fizeram com que a transmissão fosse atrasada além do limite permitido. O driver do painel poderá tentar a mesma transmissão novamente, se ainda for relevante. Esse erro indica que a largura de banda do link DSI é inadequada, portanto, não deve ocorrer em um ambiente de varejo. Se a transmissão for suficientemente grande, isso poderá indicar que a transmissão precisa ser dividida para ter êxito de forma confiável.
DXGK_HOST_DSI_TRANSMISSION_TIMEOUT O host detectou um tempo limite de hardware durante a comunicação com o periférico. O driver do painel precisa garantir que quaisquer efeitos que uma transmissão parcial possa ter tido sejam desfeitos ou verificados antes de prosseguir com as transmissões. A menos que a transmissão esteja fazendo com que o painel insira um estado inválido, não há mitigação para isso no driver do painel, portanto, ele deve recuar e tentar retomar.
DXGK_HOST_DSI_INVALID_TRANSMISSION A validação do sistema operacional do buffer de DXGK_DSI_TRANSMISSION encontrou erros para que a transmissão fosse cancelada sem chamar o driver gráfico ou verificar se havia pacotes proibidos. Isso é causado por um erro no driver do painel OEM ou pela validação do sistema operacional. O FailedPacket campo indica o primeiro pacote inválido se o erro for específico a um pacote.
DXGK_HOST_DSI_OS_REJECTED_PACKET O sistema operacional encontrou pacotes que são proibidos para que a transmissão fosse cancelada sem chamar o driver gráfico. O FailedPacket campo indica o primeiro pacote inválido.
DXGK_HOST_DSI_DRIVER_REJECTED_PACKET O driver gráfico encontrou pacotes que não podem ser processados com segurança, portanto, a transmissão foi cancelada sem nenhuma interação periférica. O FailedPacket campo indica o primeiro pacote inválido.
DXGK_HOST_DSI_BAD_TRANSMISSION_MODE O driver gráfico não pôde usar o DXGK_DSI_CONTROL_TRANSMISSION_MODE especificado. O FailedPacket campo indica o primeiro pacote incompatível com o modo de transmissão.

Packets[1]

Matriz de estruturas de DSI_PACKET .

Comentários

Uma estrutura DXGK_DSI_TRANSMISSION é fornecida à função de retorno de chamada DxgkDsiTransmission de um driver gráfico.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 10, versão 2004
Cabeçalho dispmprt.h

Confira também

DXGK_DSI_PACKET

**IOCTL_MIPI_DSI_QUERY_CAPS

IOCTL_MIPI_DSI_RESET

IOCTL_MIPI_DSI_TRANSMISSION