Partager via


IOCTL_MIPI_DSI_RESET IOCTL (ntddvdeo.h)

IOCTL_MIPI_DSI_RESET demande la réinitialisation d’un appareil sous le pilote graphique et le contrôle du système d’exploitation.

Code principal

IRP_MJ_DEVICE_CONTROL

Mémoire tampon d'entrée

n/a

Longueur de la mémoire tampon d’entrée

n/a

Mémoire tampon de sortie

n/a

Longueur de la mémoire tampon de sortie

n/a

Mémoire tampon d’entrée/sortie

Structure DXGK_DSI_RESET .

Longueur de la mémoire tampon d’entrée/sortie

Au moins sizeof(DXGK_DSI_RESET)

Bloc d’état

Irp-IoStatus.Status> a la valeur STATUS_SUCCESS si la demande réussit. Sinon, indiquez la condition d’erreur appropriée en tant que code NTSTATUS.

Pour plus d’informations, consultez Valeurs NTSTATUS.

Remarques

Les ioctls DSI (Digital Serial Interface) MIPI (Mobile Industry Processor Interface) doivent être gérés par le moniteur, le panneau oem ou le pilote port/miniport.

Si un pilote de panneau OEM détecte que le panneau est dans un état incorrect, il doit envoyer IOCTL_MIPI_DSI_RESET pour demander une réinitialisation de l’appareil sous le pilote graphique et le contrôle du système d’exploitation. Le système d’exploitation coordonne la réinitialisation avec le pilote graphique. Une réinitialisation est une opération lourde qui entraîne le videment de l’affichage pour plusieurs images, et ne doit donc être utilisée qu’en dernier recours.

L’opération normale du panneau ne peut pas se poursuivre pendant le traitement d’une réinitialisation, de sorte que le système d’exploitation traitera de la même façon qu’un changement de mode d’affichage, vidant l’activité gpu en attente, y compris les basculements, et bloquera le nouveau travail jusqu’à ce qu’il soit terminé. Le système d’exploitation traduit le IOCTL en appel DDI DsiReset . Le pilote doit complètement supprimer l’alimentation du panneau et le réinitialiser à partir de zéro, et après le délai approprié, effectuer toutes les actions nécessaires afin de restaurer le panneau à un état utilisable avant de revenir. Lorsqu’il est défini, l’indicateur SecondaryPort indique que la réinitialisation doit être ciblée sur un panneau secondaire plutôt que sur le panneau principal.

Si le pilote graphique nécessite un ensemble de modes complets pour effectuer ou restaurer à partir d’une réinitialisation de panneau, il doit définir l’indicateur de sortie NeedModeSet. S’il est défini lors du retour de l’appel, le système d’exploitation répond avec un appel DxgkDdiSetTimingsFromVidPn avant de débloquer l’activité normale. Le pilote peut choisir de reporter une partie du travail de réinitialisation à cet appel si nécessaire, à condition qu’un état utilisable soit attendu après l’appel défini.

Le pilote graphique doit signaler toutes les erreurs MIPI de bas niveau détectées et non gérées par le pilote via le champ de sortie MipiErrors .

Si une erreur irrécupérable se produit pendant la réinitialisation, le pilote graphique doit définir l’indicateur de sortie ResetFailed . Il s’agit d’une défaillance catastrophique. Le pilote graphique doit également signaler qu’aucun affichage n’est disponible sur la cible en indiquant qu’un débranchement s’est produit à l’aide du rappel DxgkCbIndicateConnectorChange , puis en répondant à DxgkDdiQueryConnectionChange en signalant un TargetStatusDisconnected pour la cible qui a échoué.

Les champs de sortie sont propagés vers la mémoire tampon de sortie du IOCTL.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 10, version 2004
En-tête ntddvdeo.h

Voir aussi

DsiReset

DXGK_DSI_RESET

IOCTL_MIPI_DSI_QUERY_CAPS

IOCTL_MIPI_DSI_TRANSMISSION