Condividi tramite


IOCTL_MIPI_DSI_RESET IOCTL (ntdvertitaeo.h)

IOCTL_MIPI_DSI_RESET richiede la reimpostazione di un dispositivo nel driver grafico e nel controllo del sistema operativo.

Codice principale

IRP_MJ_DEVICE_CONTROL

Buffer di input

n/a

Lunghezza del buffer di input

n/a

Buffer di output

n/a

Lunghezza del buffer di output

n/a

Buffer di input/output

Struttura DXGK_DSI_RESET.

Lunghezza del buffer di input/output

Almeno sizeof(DXGK_DSI_RESET)

Blocco di stato

Irp->IoStatus.Status è impostato su STATUS_SUCCESS se la richiesta ha esito positivo. In caso contrario, stato della condizione di errore appropriata come codice NTSTATUS.

Per altre informazioni, vedere valori NTSTATUS.

Osservazioni

IOCTLs (Mobile Industry Processor Interface) (MIPI) Digital Serial Interface (DSI) devono essere gestiti dal driver monitor, oem o port/miniport.

Se un driver del pannello OEM rileva che il pannello è in uno stato non valido, deve inviare IOCTL_MIPI_DSI_RESET per richiedere una reimpostazione del dispositivo nel driver grafico e nel controllo del sistema operativo. Il sistema operativo coordina la reimpostazione con il driver grafico. Una reimpostazione è un'operazione di peso elevato che causerà la visualizzazione di spazi vuoti per più fotogrammi e pertanto deve essere usata solo come ultima risorsa.

Il normale funzionamento del pannello non può continuare durante l'elaborazione di una reimpostazione, quindi il sistema operativo verrà trattato in modo analogo a una modifica della modalità di visualizzazione, scaricando le attività GPU in sospeso, incluse eventuali capovolgimenti e bloccando il nuovo lavoro fino al completamento. Il sistema operativo converte IOCTL in una chiamata DDI DsiReset. Il driver dovrebbe rimuovere completamente l'alimentazione dal pannello e reinizializzare da zero, e dopo il ritardo appropriato, eseguire tutte le azioni necessarie per ripristinare lo stato funzionante del pannello prima di tornare. Se impostato, il flag SecondaryPort indica che la reimpostazione deve essere destinata a un pannello secondario anziché a quella primaria.

Se il driver di grafica richiede un set di modalità completa per eseguire o ripristinare da una reimpostazione del pannello, deve impostare il flag di output NeedModeSet. Se impostato al ritorno dalla chiamata, il sistema operativo risponderà con un DxgkDdiSetTimingsFromVidPn chiamata prima di sbloccare l'attività normale. Il driver può scegliere di rinviare alcune delle operazioni di reimpostazione a questa chiamata, se necessario, a condizione che sia previsto uno stato funzionante dopo la chiamata di intervallo impostata.

Il driver grafico deve segnalare eventuali errori MIPI di basso livello rilevati e non gestiti dal driver tramite il campo di output MipiErrors.

Se si verifica un errore irreversibile durante la reimpostazione, il driver di grafica deve impostare il flag di output ResetFailed. Si prevede che si tratta di un errore irreversibile. Il driver di grafica dovrebbe anche segnalare che non è disponibile alcun display nella destinazione indicando che si è verificato un scollegamento usando il DxgkCbIndicateConnectorChange callback e quindi rispondendo a DxgkDdiQueryConnectionChange segnalando un TargetStatusDisconnected per la destinazione che non è riuscita.

I campi di output verranno propagati nuovamente al buffer di output dell'IOCTL.

Fabbisogno

Requisito Valore
client minimo supportato Windows 10, versione 2004
intestazione ntdvertitaeo.h

Vedere anche

DsiReset

DXGK_DSI_RESET

IOCTL_MIPI_DSI_QUERY_CAPS

IOCTL_MIPI_DSI_TRANSMISSION