DXGK_DSI_TRANSMISSION structure (dispmprt.h)
The DXGK_DSI_TRANSMISSION structure is used to transmit Display Serial Interface (DSI) packets to the bus driver (graphics kernel).
Syntax
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;
Members
TotalBufferSize
Number of bytes in the entire structure including header, commands and payload.
PacketCount
Number of DXGK_DSI_PACKET elements in the Packets array.
FailedPacket
Index, when known, of DXGK_DSI_PACKET in the Packets array that had an error. If not known or there is no detected packet error, the value DXGK_DSI_INVALID_PACKET_INDEX is set.
TransmissionMode
One of the DXGK_MIPI_CONTROL_TRANSMISSIONMODE values.
ReportMipiErrors
If set, graphics driver should request any accumulated MIPI errors in the final command acknowledgement and report them in the MipiErrors field.
ClearMipiErrors
If set and the graphics driver has sent any non-OEM panel initiated commands, the driver should ensure that any accumulated MIPI errors are cleared before starting to send this sequence.
SecondaryPort
Set if the transmission should be sent to a secondary panel, not the primary.
ManufacturingMode
Set to turn off OS validation of DCS commands when the system is in manufacturing mode.
Reserved
Reserved.
ReadWordCount
FinalCommandExtraPayload
MipiErrors
A combination of the following possible error values, indicating the errors reported by communication with the peripheral.
DXGK_MIPI_DSI_XXX Error | Meaning |
---|---|
DXGK_MIPI_DSI_SOT_ERROR | Possible error in Start of High-Speed transmission leader sequence |
DXGK_MIPI_DSI_SOT_SYNC_ERROR | Error in Start of High-Speed transmission leader sequence |
DXGK_MIPI_DSI_EOT_SYNC_ERROR | Peripheral detected incomplete bytes in High-Speed transmission |
DXGK_MIPI_DSI_ESCAPE_MODE_ENTRY_COMMAND_ERROR | Error or peripheral does not recognize escape sequence |
DXGK_MIPI_DSI_LOW_POWER_TRANSMIT_SYNC_ERROR | Peripheral detected incomplete bytes in Low-Speed transmission |
DXGK_MIPI_DSI_FALSE_CONTROL_ERROR | Peripheral detected error in escape sequence or turnaround sequence |
DXGK_MIPI_DSI_CONTENTION_DETECTED | Contention detected |
DXGK_MIPI_DSI_CHECKSUM_ERROR_CORRECTED | A checksum error was detected and corrected |
DXGK_MIPI_DSI_CHECKSUM_ERROR_NOT_CORRECTED | A checksum error was detected but could not be corrected |
DXGK_MIPI_DSI_LONG_PACKET_PAYLOAD_CHECKSUM_ERROR | The payload checksum was incorrect for a long packet |
DXGK_MIPI_DSI_DSI_DATA_TYPE_NOT_RECOGNIZED | Peripheral does not recognize the data type sent to it |
DXGK_MIPI_DSI_DSI_VC_ID_INVALID | Peripheral was sent a command for a virtual channel which it does not support |
DXGK_MIPI_DSI_INVALID_TRANSMISSION_LENGTH | Peripheral detected that number of bytes transmitted does not match what was specified in the header |
DXGK_MIPI_DSI_DSI_PROTOCOL_VIOLATION | Peripheral detected lack of EoTP on a transmission or host failed to signal bus turn-around for a read |
HostErrors
A combination of DXGK_HOST_DSI_XXX errors indicating the errors reported by the graphics driver or OS.
DXGK_HOST_DSI_XXX Error | Meaning |
---|---|
DXGK_HOST_DSI_DEVICE_NOT_READY | Host detected that a request was made for a device which is not in the correct state to be able to receive the request. |
DXGK_HOST_DSI_INTERFACE_RESET | The graphics driver detected an error which required a reset of the DSI interface with the panel. The panel driver should verify the device state before resuming normal transmissions. |
DXGK_HOST_DSI_DEVICE_RESET | The graphics driver detected an error which required a reset of the panel and state should be assumed to have been lost. The panel driver should reapply any private device state before resuming normal transmissions. |
DXGK_HOST_DSI_TRANSMISSION_CANCELLED | Host cancelled the transmission, which was in progress, because the bus was needed for higher priority transmissions, such as pixel refresh. The panel driver needs to ensure that whatever effects a partial transmission could have had are either undone or verified before proceeding with transmissions. If this error happens frequently, it may mean that the transmission is too large to be completed reliably and the panel driver should be changed to split it into multiple transmissions. |
DXGK_HOST_DSI_TRANSMISSION_DROPPED | Host dropped the transmission before starting it because higher priority transmissions caused the transmission to be delayed beyond the allowed limit. The panel driver can try the same transmission again, if it is still relevant. This error indicates that the DSI link bandwidth is inadequate so should not occur in a retail environment. If the transmission is sufficiently large, this may indicate that the transmission needs to be split in order to succeed reliably. |
DXGK_HOST_DSI_TRANSMISSION_TIMEOUT | Host detected a hardware timeout while communicating with the peripheral. The panel driver needs to ensure that whatever effects a partial transmission could have had are either undone or verified before proceeding with transmissions. Unless the transmission is causing the panel to enter a bad state, there is no mitigation for this in the panel driver, so it should back-off and attempt to resume. |
DXGK_HOST_DSI_INVALID_TRANSMISSION | OS validation of the DXGK_DSI_TRANSMISSION buffer found errors so the transmission was cancelled without calling the graphics driver or checking for prohibited packets. This is caused by either an error in the OEM panel driver, or the OS validation. The FailedPacket field indicates the first bad packet if the error is specific to a packet. |
DXGK_HOST_DSI_OS_REJECTED_PACKET | The OS found packets which are prohibited so the transmission was cancelled without calling the graphics driver. The FailedPacket field indicates the first bad packet. |
DXGK_HOST_DSI_DRIVER_REJECTED_PACKET | The graphics driver found packets which it cannot process safely so the transmission was cancelled without any peripheral interaction. The FailedPacket field indicates the first bad packet. |
DXGK_HOST_DSI_BAD_TRANSMISSION_MODE | The graphics driver was unable to use the DXGK_DSI_CONTROL_TRANSMISSION_MODE specified. The FailedPacket field indicates the first packet incompatible with the transmission mode. |
Packets[1]
Array of DSI_PACKET structures.
Remarks
A DXGK_DSI_TRANSMISSION structure is provided to a graphics driver's DxgkDsiTransmission callback function.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 10, version 2004 |
Header | dispmprt.h |