36#ifndef PCIeDataLinkDecoder_h
37#define PCIeDataLinkDecoder_h
39#include "../scopehal/PacketDecoder.h"
55 TYPE_DLLP_HEADER_CREDITS,
56 TYPE_DLLP_DATA_CREDITS,
71 DLLP_TYPE_PM_ENTER_L1 = 0x20,
72 DLLP_TYPE_PM_ENTER_L23 = 0x21,
73 DLLP_TYPE_PM_ACTIVE_STATE_REQUEST_L1 = 0x23,
74 DLLP_TYPE_PM_REQUEST_ACK = 0x24,
75 DLLP_TYPE_VENDOR_SPECIFIC = 0x30,
77 DLLP_TYPE_INITFC1_P = 0x40,
78 DLLP_TYPE_INITFC1_NP = 0x50,
79 DLLP_TYPE_INITFC1_CPL = 0x60,
80 DLLP_TYPE_INITFC2_P = 0xc0,
81 DLLP_TYPE_INITFC2_NP = 0xd0,
82 DLLP_TYPE_INITFC2_CPL = 0xe0,
83 DLLP_TYPE_UPDATEFC_P = 0x80,
84 DLLP_TYPE_UPDATEFC_NP = 0x90,
85 DLLP_TYPE_UPDATEFC_CPL = 0xa0
101 return (m_type == s.m_type) && (m_data == s.m_data);
109 virtual std::string
GetText(
size_t)
override;
110 virtual std::string
GetColor(
size_t)
override;
122 virtual void Refresh()
override;
124 static std::string GetProtocolName();
128 virtual std::vector<std::string> GetHeaders()
override;
142 std::string m_framingMode;
Decoder for PCIe data link layer.
Definition: PCIeDataLinkDecoder.h:117
uint32_t CalculateTlpCRC(Packet *pack)
PCIe TLP CRC32.
Definition: PCIeDataLinkDecoder.cpp:665
virtual void Refresh() override
Evaluates a filter graph node.
Definition: PCIeDataLinkDecoder.cpp:84
uint16_t CalculateDllpCRC(uint8_t type, uint8_t *data)
PCIe DLLP CRC.
Definition: PCIeDataLinkDecoder.cpp:638
Definition: PCIeDataLinkDecoder.h:42
Definition: PacketDecoder.h:85
Definition: PacketDecoder.h:40
Descriptor for a single stream coming off a channel.
Definition: StreamDescriptor.h:46