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


структура DXGK_DSI_TRANSMISSION (dispmprt.h)

Структура DXGK_DSI_TRANSMISSION используется для передачи пакетов DSI в драйвер шины (графическое ядро).

Синтаксис

typedef struct _DXGK_DSI_TRANSMISSION {
  UINT            TotalBufferSize;
  BYTE            PacketCount;
  BYTE            FailedPacket;
  struct {
    WORD TransmissionMode : 2;
    WORD ReportMipiErrors : 1;
    WORD ClearMipiErrors : 1;
    WORD SecondaryPort : 1;
    WORD ManufacturingMode : 1;
    WORD Reserved : 10;
  };
  WORD            ReadWordCount;
  WORD            FinalCommandExtraPayload;
  WORD            MipiErrors;
  WORD            HostErrors;
  DXGK_DSI_PACKET Packets[1];
} DXGK_DSI_TRANSMISSION, *PDXGK_DSI_TRANSMISSION;

Члены

TotalBufferSize

Количество байтов во всей структуре, включая заголовок, команды и полезные данные.

PacketCount

Число элементов DXGK_DSI_PACKET в массиве Packets .

FailedPacket

Индекс , если он известен, DXGK_DSI_PACKET в массиве Пакетов с ошибкой. Если ошибка пакета неизвестна или ошибка не обнаружена, устанавливается значение DXGK_DSI_INVALID_PACKET_INDEX.

TransmissionMode

Одно из значений DXGK_MIPI_CONTROL_TRANSMISSIONMODE.

ReportMipiErrors

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

ClearMipiErrors

Если задано и графический драйвер отправил все команды, инициированные не oem-панелью, драйвер должен убедиться, что все накопленные ошибки MIPI были удалены, прежде чем приступать к отправке этой последовательности.

SecondaryPort

Установите значение , если передача должна быть отправлена на вспомогательную панель, а не на основную.

ManufacturingMode

Установите значение , чтобы отключить проверку ОС для команд DCS, когда система находится в производственном режиме.

Reserved

Зарезервировано.

ReadWordCount

FinalCommandExtraPayload

MipiErrors

Сочетание следующих возможных значений ошибок, указывающих на ошибки, сообщаемые при обмене данными с периферийным устройством.

Ошибка DXGK_MIPI_DSI_XXX Значение
DXGK_MIPI_DSI_SOT_ERROR Возможная ошибка при запуске High-Speed последовательности лидера передачи
DXGK_MIPI_DSI_SOT_SYNC_ERROR Ошибка при запуске последовательности High-Speed лидера передачи
DXGK_MIPI_DSI_EOT_SYNC_ERROR Периферийное устройство обнаружило неполные байты в передаче High-Speed
DXGK_MIPI_DSI_ESCAPE_MODE_ENTRY_COMMAND_ERROR Ошибка или периферийное устройство не распознает escape-последовательность
DXGK_MIPI_DSI_LOW_POWER_TRANSMIT_SYNC_ERROR Периферийное устройство обнаружило неполные байты в передаче Low-Speed
DXGK_MIPI_DSI_FALSE_CONTROL_ERROR Обнаружена ошибка периферийного устройства в escape-последовательности или последовательности поворота
DXGK_MIPI_DSI_CONTENTION_DETECTED Обнаружено состязание
DXGK_MIPI_DSI_CHECKSUM_ERROR_CORRECTED Обнаружена и исправлена ошибка контрольной суммы
DXGK_MIPI_DSI_CHECKSUM_ERROR_NOT_CORRECTED Обнаружена ошибка контрольной суммы, но ее не удалось исправить
DXGK_MIPI_DSI_LONG_PACKET_PAYLOAD_CHECKSUM_ERROR Неправильная контрольная сумма полезных данных для длинного пакета
DXGK_MIPI_DSI_DSI_DATA_TYPE_NOT_RECOGNIZED Периферийное устройство не распознает тип данных, отправленный ему
DXGK_MIPI_DSI_DSI_VC_ID_INVALID Периферийное устройство отправило команду для виртуального канала, который он не поддерживает
DXGK_MIPI_DSI_INVALID_TRANSMISSION_LENGTH Периферийное устройство обнаружило, что количество передаваемых байтов не соответствует указанному в заголовке
DXGK_MIPI_DSI_DSI_PROTOCOL_VIOLATION Обнаруженное периферийное устройство отсутствие EoTP на передаче или узле не удалось сигнализировать об повороте шины для чтения

HostErrors

Сочетание DXGK_HOST_DSI_XXX ошибок, указывающих на ошибки, о которые сообщил графический драйвер или ОС.

Ошибка DXGK_HOST_DSI_XXX Значение
DXGK_HOST_DSI_DEVICE_NOT_READY Узел обнаружил, что был сделан запрос на устройство, которое находится в неправильном состоянии, чтобы получить запрос.
DXGK_HOST_DSI_INTERFACE_RESET Графический драйвер обнаружил ошибку, которая требует сброса интерфейса DSI с панелью. Драйвер панели должен проверить состояние устройства перед возобновлением нормальной передачи данных.
DXGK_HOST_DSI_DEVICE_RESET Графический драйвер обнаружил ошибку, которая требовала сброса панели, и состояние должно быть потеряно. Драйвер панели должен повторно применить любое состояние частного устройства перед возобновлением нормальной передачи данных.
DXGK_HOST_DSI_TRANSMISSION_CANCELLED Узел отменил передачу, которая выполняется, так как шина была необходима для передачи с более высоким приоритетом, например для обновления пикселей. Драйвер панели должен убедиться, что любые эффекты частичной передачи могут быть отменены или проверены перед продолжением передачи. Если эта ошибка возникает часто, это может означать, что передача слишком велика для надежного завершения и необходимо изменить драйвер панели, чтобы разделить ее на несколько передач.
DXGK_HOST_DSI_TRANSMISSION_DROPPED Узел отбросил передачу перед ее запуском, так как передача с более высоким приоритетом приводила к задержке передачи сверх допустимого предела. Драйвер панели может повторить попытку передачи, если она по-прежнему актуальна. Эта ошибка указывает на то, что пропускная способность канала DSI недостаточна, поэтому не должна возникать в розничной среде. Если передача достаточно велика, это может означать, что для надежного успеха передачу необходимо разделить.
DXGK_HOST_DSI_TRANSMISSION_TIMEOUT Узел обнаружил время ожидания оборудования при взаимодействии с периферийным устройством. Драйвер панели должен убедиться, что любые эффекты частичной передачи могут быть отменены или проверены перед продолжением передачи. Если передача не приводит к тому, что панель переходит в плохое состояние, в драйвере панели нет никаких мер по устранению рисков, поэтому она должна отступить и попытаться возобновить работу.
DXGK_HOST_DSI_INVALID_TRANSMISSION При проверке DXGK_DSI_TRANSMISSION буфера операционной системы обнаружены ошибки, поэтому передача была отменена без вызова графического драйвера или проверки на наличие запрещенных пакетов. Это вызвано ошибкой в драйвере панели OEM или проверкой ОС. Поле FailedPacket указывает первый недопустимый пакет, если ошибка связана с пакетом.
DXGK_HOST_DSI_OS_REJECTED_PACKET ОС обнаружила пакеты, которые запрещены, поэтому передача была отменена без вызова графического драйвера. Поле FailedPacket указывает на первый недопустимый пакет.
DXGK_HOST_DSI_DRIVER_REJECTED_PACKET Графический драйвер обнаружил пакеты, которые он не может безопасно обработать, поэтому передача была отменена без какого-либо периферийного взаимодействия. Поле FailedPacket указывает на первый недопустимый пакет.
DXGK_HOST_DSI_BAD_TRANSMISSION_MODE Графическому драйверу не удалось использовать указанный DXGK_DSI_CONTROL_TRANSMISSION_MODE. Поле FailedPacket указывает, что первый пакет несовместим с режимом передачи.

Packets[1]

Массив структур DSI_PACKET .

Комментарии

Структура DXGK_DSI_TRANSMISSION предоставляется функции обратного вызова DxgkDsiTransmission графического драйвера.

Требования

Требование Значение
Минимальная версия клиента Windows 10 версии 2004
Верхняя часть dispmprt.h

См. также раздел

DXGK_DSI_PACKET

**IOCTL_MIPI_DSI_QUERY_CAPS

IOCTL_MIPI_DSI_RESET

IOCTL_MIPI_DSI_TRANSMISSION