Compartilhar via


IOCTL_MIPI_DSI_RESET IOCTL (ntddvdeo.h)

IOCTL_MIPI_DSI_RESET solicita a redefinição de um dispositivo no driver gráfico e no controle do sistema operacional.

Código principal

IRP_MJ_DEVICE_CONTROL

Buffer de entrada

n/a

Comprimento do buffer de entrada

n/a

Buffer de saída

n/a

Comprimento do buffer de saída

n/a

Buffer de entrada/saída

Uma estrutura DXGK_DSI_RESET.

Comprimento do buffer de entrada/saída

Pelo menos sizeof(DXGK_DSI_RESET)

Bloco de status

Irp->IoStatus.Status será definido como STATUS_SUCCESS se a solicitação for bem-sucedida. Caso contrário, status para a condição de erro apropriada como um código NTSTATUS.

Para obter mais informações, consulte valores NTSTATUS.

Observações

Os IOCTLs de INTERFACE do Processador do Setor Móvel (MIPI) DSI (Interface Serial Digital) devem ser manipulados pelo monitor, pelo painel de oem ou pelo driver de porta/miniporto.

Se um driver de painel OEM detectar que o painel está em um estado inválido, ele deverá enviar IOCTL_MIPI_DSI_RESET para solicitar uma redefinição do dispositivo no driver gráfico e no controle do sistema operacional. O sistema operacional coordenará a redefinição com o driver de gráficos. Uma redefinição é uma operação de peso pesado que causará a exibição de em branco para vários quadros e, portanto, deve ser usada apenas como último recurso.

A operação normal do painel não pode continuar durante o processamento de uma redefinição, portanto, o sistema operacional será tratado de forma semelhante a uma alteração no modo de exibição, liberando a atividade de GPU pendente, incluindo quaisquer inversões e bloqueando o novo trabalho até concluir. O sistema operacional converte o IOCTL em uma chamada DDI DSiReset. O driver deve remover completamente a energia do painel e reinicializá-la do zero e, após o atraso apropriado, executar todas as ações necessárias para restaurar o painel para um estado viável antes de retornar. Quando definido, o sinalizador SecondaryPort indica que a redefinição deve ser direcionada a um painel secundário em vez do primário.

Se o driver gráfico exigir um conjunto de modo completo para executar ou restaurar a partir de uma redefinição de painel, ele deverá definir o sinalizador de saída NeedModeSet. Se definido no retorno da chamada, o sistema operacional responderá com uma chamada DxgkDdiSetTimingsFromVidPn antes de desbloquear a atividade normal. O driver pode optar por adiar parte do trabalho de redefinição para essa chamada, se necessário, desde que um estado viável seja esperado após a chamada de intervalos definida.

O driver gráfico deve relatar erros de MIPI de baixo nível detectados e não tratados pelo driver por meio do MipiErrors campo de saída.

Se ocorrer um erro irrecuperável durante a redefinição, o driver de gráficos deverá definir o sinalizador de saída ResetFailed. Espera-se que seja uma falha catastrófica. O driver gráfico também deve sinalizar que nenhuma exibição está disponível no destino indicando que ocorreu um unplug usando o DxgkCbIndicateConnectorChange retorno de chamada e, em seguida, respondendo a DxgkDdiQueryConnectionChange relatando um TargetStatusDisconnected para o destino que falhou.

Os campos de saída serão propagados de volta para o buffer de saída do IOCTL.

Requisitos

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

Consulte também

DsiReset

DXGK_DSI_RESET

IOCTL_MIPI_DSI_QUERY_CAPS

IOCTL_MIPI_DSI_TRANSMISSION