Freigeben über


DXGKDDI_DSIRESET Rückruffunktion (dispmprt.h)

Syntax

DXGKDDI_DSIRESET DxgkddiDsireset;

NTSTATUS DxgkddiDsireset(
  [in]  HANDLE Context,
  [in]  D3DDDI_VIDEO_PRESENT_TARGET_ID TargetId,
  [out] PDXGK_DSI_RESET pArgs
)
{...}

Parameter

[in] Context

[in] TargetId

Zielbezeichner des Monitors.

[out] pArgs

Zeiger auf eine DXGI_DSI_CAPS Struktur.

Rückgabewert

DxgkddiDsiReset- gibt STATUS_SUCCESS zurück, wenn dies erfolgreich ist; andernfalls wird eine der in Ntstatus.hdefinierten Fehlercodes zurückgegeben.

Bemerkungen

Wenn der OEM-Paneltreiber erkennt, dass sich das Panel in einem fehlerhaften Zustand befindet, sendet er eine IOCTL_MIPI_DSI_RESET, um eine Zurücksetzung des Geräts unter Grafiktreiber und Betriebssystemsteuerung anzufordern. Eine Zurücksetzung ist notwendigerweise ein vorgang mit hoher Gewichtung, der dazu führt, dass für mehrere Frames Leerzeichen angezeigt werden und daher nur als letztes Mittel verwendet werden sollte.

Normaler Panel-Vorgang kann nicht fortgesetzt werden, während eine Zurücksetzung verarbeitet wird, sodass das Betriebssystem es sehr ähnlich behandelt wie eine Änderung des Anzeigemodus, das Leeren ausstehender GPU-Aktivitäten, einschließlich aller Flips und das Blockieren neuer Arbeit bis zum Abschluss. Das Betriebssystem übersetzt die IOCTL in einen DxgkDsiReset 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 Vollmodus festgelegt ist, um eine Panelzurücksetzung durchzuführen oder wiederherzustellen, sollte die Ausgabekennzeichnung NeedModeSetfestgelegt werden. Wenn vom Anruf zurückgegeben wird, antwortet das Betriebssystem mit einem DxgkDdiSetTimingsFromVidPn Anruf, bevor die Blockierung normaler Aktivitäten aufgehoben wird. Der Treiber kann festlegen, dass einige der Zurücksetzungsarbeiten an diesen Aufruf zurückgestellt werden sollen, 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 ein Absteckvorgang mit dem DxgkCbIndicateConnectorChange Rückruf erfolgt ist und dann auf DxgkDdiQueryConnectionChange reagiert, indem ein TargetStatusDisconnected für das Ziel gemeldet wird, das fehlgeschlagen ist.

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

Anforderungen

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

Siehe auch

DxgkCbIndicateConnectorChange

DxgkDdiQueryConnectionChange-

DxgkDdiSetTimingsFromVidPn-

IOCTL_MIPI_DSI_RESET