Freigeben über


IOCTL_MIPI_DSI_RESET IOCTL (ntddvdeo.h)

IOCTL_MIPI_DSI_RESET fordert die Zurücksetzung eines Geräts unter Grafiktreiber und Betriebssystemsteuerung an.

Hauptcode

IRP_MJ_DEVICE_CONTROL

Eingabepuffer

n/a

Eingabepufferlänge

n/a

Ausgabepuffer

n/a

Länge des Ausgabepuffers

n/a

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 ist status to the appropriate error condition as a NTSTATUS code.

Weitere Informationen finden Sie unter NTSTATUS Values.

Bemerkungen

IoCTLs (Digital Industry Processor Interface, MIPI) Digital Serial Interface (DSI) müssen vom Monitor-, OEM-Panel- oder Port/Miniporttreiber verarbeitet werden.

Wenn ein OEM-Paneltreiber erkennt, dass sich das Panel in einem fehlerhaften Zustand befindet, sollte es 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. Eine Zurücksetzung ist ein schwerer Vorgang, der dazu führt, dass für mehrere Frames Leerzeichen angezeigt werden, und daher nur als letzte Möglichkeit 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, das Leeren ausstehender GPU-Aktivitäten, einschließlich flips, und das Blockieren neuer Arbeit bis zum Abschluss ähnelt. Das Betriebssystem übersetzt die IOCTL in einen DsiReset DDI-Aufruf. Der Treiber sollte die Leistung vollständig aus dem Panel entfernen und es von Grund auf neu initialisieren, und nach der entsprechenden Verzögerung alle erforderlichen Aktionen ausführen, um das Panel vor dem Zurückgeben in einen funktionsfähigen Zustand wiederherzustellen. Bei Festlegung gibt das Flag SecondaryPort an, dass die Zurücksetzung auf ein sekundäres Panel anstatt auf den primären Bereich ausgerichtet werden soll.

Wenn für den Grafiktreiber ein Vollständiger Modus festgelegt ist, um eine Panelzurücksetzung durchzuführen oder wiederherzustellen, sollte die Ausgabekennzeichnung NeedModeSet-festgelegt werden. Wenn vom Anruf zurückgegeben wird, antwortet das Betriebssystem mit einem DxgkDdiSetTimingsFromVidPn Anruf, bevor die Blockierung normaler Aktivitäten aufgehoben wird. Der Treiber hat sich möglicherweise entschieden, einige der Zurücksetzungsarbeiten auf diesen Aufruf zurückzustellen, vorausgesetzt, dass nach dem festgelegten Anzeigedauernaufruf ein arbeitsfähiger Zustand erwartet wird.

Der Grafiktreiber sollte alle MIPI-Fehler auf niedriger Ebene melden, die vom Treiber über das MipiErrors- Ausgabefeld erkannt und nicht behandelt werden.

Wenn während des Zurücksetzens ein nicht behebbarer Fehler auftritt, sollte der Grafiktreiber das ResetFailed Ausgabeflagge festlegen. Dies wird erwartet, dass es sich um einen katastrophalen Fehler handelt. Der Grafiktreiber sollte auch signalisieren, dass keine Anzeige für das Ziel verfügbar ist, indem angegeben wird, dass mit dem DxgkCbIndicateConnectorChange Rückruf und dann auf DxgkDdiQueryConnectionChange reagiert, indem ein TargetStatusDisconnected- für das fehlgeschlagene Ziel gemeldet wird.

Die Ausgabefelder werden an den Ausgabepuffer des IOCTL zurückgegeben.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows 10, Version 2004
Header- ntddvdeo.h

Siehe auch

DsiReset-

DXGK_DSI_RESET

IOCTL_MIPI_DSI_QUERY_CAPS

IOCTL_MIPI_DSI_TRANSMISSION