Поделиться через


IOCTL_MIPI_DSI_RESET IOCTL (ntddvdeo.h)

IOCTL_MIPI_DSI_RESET запрашивает сброс устройства в графическом драйвере и элементе управления ОС.

Основной код

IRP_MJ_DEVICE_CONTROL

Входной буфер

n/a

Длина входного буфера

n/a

Выходной буфер

n/a

Длина выходного буфера

n/a

Буфер входных и выходных данных

Структура DXGK_DSI_RESET.

Длина буфера ввода и вывода

По крайней мере sizeof(DXGK_DSI_RESET)

Блок состояния

Irp->IoStatus.Status имеет значение STATUS_SUCCESS, если запрос выполнен успешно. В противном случае состояние соответствующего условия ошибки в виде кода NTSTATUS.

Дополнительные сведения см. в значения NTSTATUS.

Замечания

IoCTLs интерфейса цифрового последовательного интерфейса (DSI) mobile Industry Processor Interface (MIPI) должен обрабатываться монитором, панелью изготовителя или драйвером порта или мини-порта.

Если драйвер панели OEM обнаруживает, что панель находится в плохом состоянии, она должна отправить IOCTL_MIPI_DSI_RESET, чтобы запросить сброс устройства под графическим драйвером и элементом управления ОС. ОС будет координировать сброс с помощью графического драйвера. Сброс — это операция с большим весом, которая приведет к отображению пробелов для нескольких кадров и поэтому должна использоваться только в качестве последнего средства.

Обычная операция панели не может продолжаться при обработке сброса, поэтому операционная система будет обрабатываться так же, как изменение режима отображения, очистка ожидающих действий GPU, включая любые переверки и блокировка новой работы до завершения. ОС преобразует IOCTL в вызов DsiResetDsiReset. Драйвер должен полностью удалить питание с панели и повторно инициализировать его с нуля, а после соответствующей задержки выполнить все действия, необходимые для восстановления панели в работоспособном состоянии перед возвратом. При установке флаг SecondaryPort указывает, что сброс должен быть направлен на вторичную панель, а не на основную.

Если графическому драйверу требуется полный режим для выполнения или восстановления из сброса панели, он должен задать флаг вывода NeedModeSet. Если задано при возвращении из вызова, ос будет реагировать на вызов DxgkDdiSetTimingsFromVidPn вызов перед разблокировкой нормального действия. При необходимости драйвер может отложить некоторые действия сброса на этот вызов, если это необходимо, если требуется работоспособное состояние после вызова заданного времени.

Графический драйвер должен сообщать об обнаруженных ошибках MIPI низкого уровня и не обрабатываться драйвером с помощью поля вывода MipiErrors выходных данных.

Если во время сброса возникает неустранимая ошибка, графический драйвер должен задать флаг вывода ResetFailed. Ожидается, что это катастрофический сбой. Графический драйвер также должен сигнализировать о том, что на целевом объекте отсутствует экран, указывая, что произошла отмена подключения с помощью DxgkCbIndicateConnectorChange обратного вызова, а затем отвечая на запросы DxgkDdiQueryConnectionChange, сообщая TargetStatusDisconnected для целевого объекта, который завершился сбоем.

Выходные поля будут распространяться обратно в выходной буфер IOCTL.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 10 версии 2004
заголовка ntddvdeo.h

См. также

DsiReset

DXGK_DSI_RESET

IOCTL_MIPI_DSI_QUERY_CAPS

IOCTL_MIPI_DSI_TRANSMISSION