IOCTL_MIPI_DSI_RESET IOCTL (ntddvdeo.h)
IOCTL_MIPI_DSI_RESET fordert das Zurücksetzen eines Geräts unter Grafiktreiber und Betriebssystemsteuerung an.
Hauptcode
Eingabepuffer
–
Länge des Eingabepuffers
–
Ausgabepuffer
–
Länge des Ausgabepuffers
–
Eingabe-/Ausgabepuffer
Eine DXGK_DSI_RESET-Struktur .
Länge des Eingabe-/Ausgabepuffers
Mindestens sizeof(DXGK_DSI_RESET)
Statusblock
Irp-IoStatus.Status> wird auf STATUS_SUCCESS festgelegt, wenn die Anforderung erfolgreich ist. Andernfalls wird Status zur entsprechenden Fehlerbedingung als NTSTATUS-Code verwendet.
Weitere Informationen finden Sie unter NTSTATUS-Werte.
Hinweise
Mobile Industry Processor Interface (MIPI) Digital Serial Interface (DSI) IOCTLs müssen vom Monitor, oem-Panel oder Port/Miniporttreiber verarbeitet werden.
Wenn ein OEM-Paneltreiber erkennt, dass sich der Bereich in einem fehlerhaften Zustand befindet, sollte er IOCTL_MIPI_DSI_RESET senden, um eine Zurücksetzung des Geräts unter Grafiktreiber und Betriebssystemsteuerung anzufordern. Das Betriebssystem koordiniert das Zurücksetzen mit dem Grafiktreiber. Ein Zurücksetzen ist ein schwerer Vorgang, der zu einer Leerung der Anzeige für mehrere Frames führt und daher nur als letzter Ausweg verwendet werden sollte.
Der normale Panel-Vorgang kann während der Verarbeitung einer Zurücksetzung nicht fortgesetzt werden, sodass das Betriebssystem eine Änderung des Anzeigemodus behandelt, ausstehende GPU-Aktivitäten einschließlich aller Flips leert und neue Arbeit bis zum Abschluss blockiert. Das Betriebssystem übersetzt die IOCTL in einen DsiReset DDI-Aufruf. Der Treiber sollte den Strom aus dem Panel vollständig entfernen und es von Grund auf neu initialisieren und nach der entsprechenden Verzögerung alle Erforderlichen Aktionen ausführen, um den Bereich in einen funktionsfähigen Zustand wiederherzustellen, bevor er zurückkehrt. Wenn festgelegt, gibt das SecondaryPort-Flag an, dass die Zurücksetzung auf einen sekundären Bereich und nicht auf den primären Bereich ausgerichtet werden soll.
Wenn der Grafiktreiber einen Vollmodus erfordert, um ein Zurücksetzen des Bereichs auszuführen oder wiederherzustellen, sollte das Ausgabeflag NeedModeSet festgelegt werden. Wenn diese Einstellung beim Zurückgeben des Aufrufs festgelegt wird, antwortet das Betriebssystem mit einem DxgkDdiSetTimingsFromVidPn-Aufruf , bevor die Blockierung der normalen Aktivität aufgehoben wird. Der Treiber kann bei Bedarf einen Teil der Zurücksetzungsarbeiten auf diesen Aufruf zurückstellen, vorausgesetzt, dass nach dem Aufruf der festgelegten Zeitsteuerungen ein funktionsfähiger Zustand erwartet wird.
Der Grafiktreiber sollte alle MIPI-Fehler auf niedriger Ebene melden, die erkannt und nicht vom Treiber über das MipiErrors-Ausgabefeld behandelt werden.
Wenn während des Zurücksetzens ein nicht behebbarer Fehler auftritt, sollte der Grafiktreiber das Ausgabeflag ResetFailed festlegen. Es wird erwartet, dass dies ein katastrophaler Fehler sein wird. Der Grafiktreiber sollte auch signalisieren, dass auf dem Ziel keine Anzeige verfügbar ist, indem er angibt, dass ein Trennvorgang erfolgt ist, indem er den DxgkCbIndicateConnectorChange-Rückruf verwendet und dann auf DxgkDdiQueryConnectionChange reagiert, indem er einen TargetStatusDisconnected für das Ziel meldet, bei dem ein Fehler aufgetreten ist.
Die Ausgabefelder werden zurück an den Ausgabepuffer der IOCTL weitergegeben.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 10, Version 2004 |
Kopfzeile | ntddvdeo.h |