DXGKDDI_DSIRESET función de devolución de llamada (dispmprt.h)

Sintaxis

DXGKDDI_DSIRESET DxgkddiDsireset;

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

Parámetros

[in] Context

[in] TargetId

Identificador de destino del monitor.

[out] pArgs

Puntero a una estructura de DXGI_DSI_CAPS .

Valor devuelto

DxgkddiDsiReset devuelve STATUS_SUCCESS si se realiza correctamente; de lo contrario, devuelve uno de los códigos de error definidos en Ntstatus.h.

Comentarios

Si el controlador del panel OEM detecta que el panel está en mal estado, envía un IOCTL_MIPI_DSI_RESET para solicitar un restablecimiento del dispositivo bajo el controlador de gráficos y el control del sistema operativo. Un restablecimiento es necesariamente una operación de peso pesado que provocará que se muestre en blanco para varios fotogramas y, por lo tanto, solo se debe usar como último recurso.

No se puede continuar la operación normal del panel mientras se procesa un restablecimiento, por lo que el sistema operativo lo tratará de forma muy similar a un cambio de modo de visualización, el vaciado de la actividad de GPU pendiente, incluidos los volteos y el bloqueo del nuevo trabajo hasta que se complete. El sistema operativo traduce el IOCTL en una llamada DDI dxgkDsiReset . El controlador debe quitar completamente la energía del panel y reinicializarla desde cero y, después del retraso adecuado, realizar cualquier acción que necesite para restaurar el panel a un estado que pueda funcionar antes de volver. Cuando se establece, la SecondaryPort marca indica que el restablecimiento debe dirigirse a un panel secundario en lugar de a la principal.

Si el controlador de gráficos requiere un conjunto de modo completo para realizar o restaurar desde un restablecimiento de panel, debe establecer la marca NeedModeSetde salida . Si se establece tras la devolución de la llamada, el sistema operativo responderá con una llamada DxgkDdiSetTimingsFromVidPn antes de desbloquear la actividad normal. El controlador puede optar por aplazar parte del trabajo de restablecimiento a esta llamada si es necesario, siempre que se espere un estado de trabajo después de la llamada a intervalos establecidos.

El controlador de gráficos debe notificar los errores MIPI de bajo nivel detectados y no administrados por el controlador a través del MipiErrors campo de salida.

Si se produce un error irrecuperable durante el restablecimiento, el controlador de gráficos debe establecer la ResetFailed marca de salida. Se espera que esto sea un error catastrófico. El controlador de gráficos también debe indicar que no hay ninguna pantalla disponible en el destino indicando que se ha producido un desconecte con la devolución de llamada DxgkCbIndicateConnectorChange y, a continuación, responder a DxgkDdiQueryConnectionChange notificando un TargetStatusDisconnected para el destino que ha producido un error.

Los campos de salida se propagarán de nuevo al búfer de salida del IOCTL.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 10, versión 2004
Encabezado dispmprt.h

Consulte también

DxgkCbIndicateConnectorChange

DxgkDdiQueryConnectionChange

DxgkDdiSetTimingsFromVidPn

IOCTL_MIPI_DSI_RESET