v10.50 v10.55 Alpha v10.54 Alpha v10.53 Alpha v10.52 Alpha v10.51 Alpha
v10.50 v10.55 Alpha v10.54 Alpha v10.53 Alpha v10.52 Alpha v10.51 Alpha

USB4 Tunneled Protocols Assignment

This group of functions covers VSE capability to work with USB4 Tunneled Protocols for USB4 HS Tunneled Packets.

SetUsb4TunneledProtocol()

Depricated; use SetUsb4TunProtocol() instead.

SetUsb4TunProtocol()

By default, the assignments in the Decoding Settings are used in VSE. Use this function to override it with a new Tunneled Protocol, Generation, and Link Width to a HopID/Channel.

This function does not change the assignments in Decoding Settings.

SetUsb4TunProtocol ( hop_id, channel, tunneled_protocol, gen_type, link_width )

Parameters

hop_id

HopID value of tunneled packet from TLP Header

channel

Channel number of current packet. May be one of the values from the list of constants for in.Channel

tunneled_protocol

May be one of the values shown below:

Tunneled Protocol

Description

_USB4_TUN_NONE

Remove assignment for specified parameters

_USB4_TUN_USB

Tunneled USB

_USB4_TUN_DP_X1

Tunneled DP Main Link with link width x1

_USB4_TUN_DP_X2

Tunneled DP Main Link with link width x2

_USB4_TUN_DP_X4

Tunneled DP Main Link with link width x4

_USB4_TUN_DPAUX

Tunneled DP Aux

_USB4_TUN_PCIE

Tunneled PCIe

_USB4_TUN_HI

Tunneled Host Interface

gen_type

May be one of the values shown below. Currently, this field is only applied to Tunneled USB.

Generation Type

Description

_USB4_TUN_USB3_GEN_X

Tunneled USB3 GenX

_USB4_TUN_USB3_GEN_T

Tunneled USB3 GenT

0

Unknown

link_width

May be one of the values in table below. Currently, this field is only applied to Tunneled USB.

Link Width

Description

_LINK_WIDTH_X1

x1

_LINK_WIDTH_X2

x2

_LINK_WIDTH_UNKNOWN

Unknown

Return Values

If channel number is not valid and hence protocol assignment can not be set, the function returns 0. In all other cases it returns 1.

Example

SetUsb4TunProtocol(8, _USB4_HS_ANALYZER_LEFT, _USB4_TUN_USB, _USB4_TUN_USB3_GEN_T, _LINK_WIDTH_X2);

SetUsb4TunProtocol(9, _USB4_HS_ANALYZER_LEFT, _USB4_TUN_PCIE, 0, _LINK_WIDTH_UNKNOWN);

GetUsb4TunneledProtocol()

Get the assigned USB4 Tunneled Protocol to a specified HopID and channel.

GetUsb4TunneledProtocol( hop_id, channel, tunneled_protocol )

Parameters

hop_id

HopID value of tunneled packet from TLP Header

channel

Channel number of current packet. May be one of the values from the list of constants for in.Channel

Return Values

May return one of the values from the list of constants for USB4 Tunneled Protocols (see SetUsb4TunProtocol()).

Example

if(in.TraceEvent == _USB4_HS_TUNNELED_PKT)
{
  protocol = GetUsb4TunneledProtocol(in.Header_HopID, in.Channel);
}