Resource Management UDMAP TISCI Message Description

Introduction

This chapter provides information on usage of the RM UDMAP management TISCI message API parameters.

TISCI Message ID Message Name
0x1200 UDMAP Transmit Channel Allocate WARNING: This API is deprecated and will be removed in 2018.09
N/A UDMAP Transmit Channel Allocate Respone WARNING: This API is deprecated and will be removed in 2018.09
0x1205 UDMAP Transmit Channel Configure
N/A UDMAP Transmit Channel Configure Response
0x1206 UDMAP Transmit Channel Get Configuration
N/A UDMAP Transmit Channel Get Configuration Response
0x1201 UDMAP Transmit Channel Free WARNING: This API is deprecated and will be removed in 2018.09
0x1210 UDMAP Receive Channel Allocate WARNING: This API is deprecated and will be removed in 2018.09
N/A UDMAP Receive Channel Allocate Respone WARNING: This API is deprecated and will be removed in 2018.09
0x1215 UDMAP Receive Channel Configure
N/A UDMAP Receive Channel Configure Response
0x1216 UDMAP Receive Channel Get Configuration
N/A UDMAP Receive Channel Get Configuration Response
0x1211 UDMAP Receive Channel Free WARNING: This API is deprecated and will be removed in 2018.09
0x1220 UDMAP Receive Flow Configuration WARNING: This API is deprecated and will be removed in 2018.09
0x1221 UDMAP Receive Flow Optional Configuration WARNING: This API is deprecated and will be removed in 2018.09
0x1230 UDMAP Receive Flow Configure
N/A UDMAP Receive Flow Configure Response
0x1231 UDMAP Receive Flow Size Threshold Configure
N/A UDMAP Receive Flow Size Threshold Configure Response
0x1232 UDMAP Receive Flow Get Configuration
N/A UDMAP Receive Flow Get Configuration Response
0x1233 UDMAP Receive Flow Get Size Threshold Configuration
N/A UDMAP Receive Flow Get Size Threshold Configuration Response

UDMAP Valid Parameters Field Usage

Some UDMAP TISCI message APIs make use of a valid_params bit field. Bits within the valid_params field define whether or not individual TISCI message parameters are valid. When a bit corresponding to a parameter is set (to 1) the parameter is considered valid and will be programmed into its corresponding register field, assuming validation of the parameter passes. When a valid_params bit is not set, i.e. a value of 0, the corresponding register field is read and used within the validation process of the request. The register field for a parameter is not programmed if the corresponding valid_params bit is not set.

UDMAP Transmit Channel Allocate

UDMAP Transmit Channel Allocate Request

Warning

This API is deprecated and will be removed in 2018.09.

The UDMAP tx channel allocate TISCI message API is used to allocate and configure SoC Navigator Subsystem UDMAP transmit channels. The API allows requesting a specific transmit channel by passing the exact index of the channel to be allocated and configured. Transmit channels can also be requested dynamically, which allows the RM subsystem to select the next available channel, of a specific type, for allocation and configuration. Only the non-real-time transmit channel registers are programmed as part of the channel configuration. The host, or secondary_host, is granted access to the transmit channel real-time registers via the SoC firewalls. The OS can access the channel real-time registers directly after allocation and configuration is complete.

The UDMAP tx channel allocate TISCI message API only allocates transmit channels whose real-time control register, TCHANRT_TRT_CTL, tx_enable field is disabled. Real-time enabled channels that are free according to DMSC are corrupt and removed from the pool of transmit channels available for allocation.

The UDMAP global invalid receive flow event and per transmit channel output event (OES) and error output event (EOES) registers are not programmed as part of the UDMAP tx channel allocate API. They’re programmed internally via the RM IRQ Set message.

Transmit channels can be configured as shared. The UDMAP tx channel allocate TISCI message allows specification of a shared transmit channel. Transmit channels can be allocated and used by multiple processing entities when a transmit channel is successfully allocated and the share parameter is set. A processing entity can allocate a shared transmit channel by providing the index of the shared transmit channel after its initial allocation. Configuration of a shared transmit channel occurs only on the first allocation. Subsequent allocations of a shared transmit channel will result in firewall access to the channel real-time registers being granted but any transmit channel configuration parameters in the request are ignored. A shared transmit channel must be freed the same number of times it was allocated. The transmit channel is fully released when the usage count equals zero.

The UDMAP tx channel allocate API can be used to allocate transmit channels within any Navigator Subsystem UDMAP on the device.

Usage

Message Type Normal
Secure Queue Only? No

UDMAP Transmit Channel Allocate Message Parameters

Parameter Type Valid Values Description
hdr Generic TISCI message header (8 bytes) Valid Host IDs Generic TISCI message header. Contains the message ID, host ID, sequence number, and any flags
nav_id u32 Valid Navigator Subsystem UDMAP Device IDs The SoC-specific Device ID of the Navigator subsystem UDMAP in which the transmit channel is located.
index u32 Valid Navigator Subsystem Transmit Channel Indices or (0xFFFFFFFF) - NULL Specifies the requested transmit channel index for allocation and configuration. If NULL, DMSC will attempt to allocate and configure the next available transmit channel of the type specified within the “type” parameter. Failure to specify a valid type with a NULL index will result in a NACK.
tx_pause_on_err u8
    • Disabled or (1) - Enabled
Transmit channel pause on error configuration.
tx_filt_einfo u8
    • Disabled or (1) - Enabled
Transmit channel extended packet information.
tx_filt_pswords u8
    • Disabled or (1) - Enabled
Transmit channel protocol specific word passing.
tx_atype u8
    • Physical addresses, (1) - Intermediate addresses, (2) - Virtual addresses
Transmit channel non Ring Accelerator access pointer interpretation configuration
tx_chan_type u8
    • Packet transfers using pass by reference rings, (10) - 3rd party DMA transfers using pass by reference rings, (11) - 3rd party DMA transfers using pass by value rings, (12) - 3rd party block copy DMA transfers using pass by reference rings, (13) - 3rd party block copy DMA transfers using pass by value rings
Transmit channel functional channel type and work passing mechanism.
tx_supr_tdpkt u8
    • Disabled or (1) - Enabled
Transmit channel teardown packet generation suppression
tx_fetch_size u16 Cannot be greater than 127 Transmit channel number of 32-bit descriptor words to fetch. The user must make sure to set the maximum word count that can pass through the channel for any allowed descriptor type.
tx_credit_count u8 Cannot be greater than 7 Transmit channel transfer request credit count. Specifies how many credits for complete TRs are available. This field is only used when configuring a transmit channel of external type.
txcq_qnum u16 Valid, allocated ring Transmit channel completion queue. The specified completion queue must be owned by the host, or a subordinate of the host, requesting allocation and configuration of the transmit channel.
tx_priority u8 Transmit channel transmit priority or (0xFF) - NULL This parameter will only take effect if not set to NULL.
tx_qos u8 Transmit channel QoS value or (0xFF) - NULL Transmit channel transmit qos value. This parameter will only take effect if not set to NULL.
tx_orderid u8 Transmit channel bus order ID or (0xFF) - NULL Transmit channel bus order id. This parameter will only take effect if not set to NULL.
fdepth u16 Check the UDMAP section of the TRM for restrictions regarding this parameter. Reset value is 0x400. Channel FIFO depth configuration. Sets the number of Tx FIFO bytes which are allowed to be stored for the channel.
tx_sched_priority u8
    • High priority, (1) - Medium-high priority, (2) - Medium-low priority, (3) - Low priority
Tx scheduling priority configuration
share u8
    • Unshared/Exclusive, (1) - Open Shared, or (2) - Limited Shared
Specifies whether the allocated and configured transmit channel is unshared, limited shared, or open shared. Requests for an already allocated, shared transmit channel view this value as don’t care as long as a valid value is provided.
type u8 Valid Navigator Subsystem UDMAP Transmit Channel Types or (0xFF) - NULL Specifies the transmit channel type to be allocated for dynamic transmit channel requests where the index is NULL. NACK will be returned if both the transmit channel index and type parameters are valid.
secondary_host u8 Valid Host IDs or (0xFF) - Unused Specifies a host ID for which the TISCI header host ID is proxying the request for. This feature allows hosts incapable of making direct requests to be allocated resources by a supervisor host. For example firmware running on a PDMA will need to be allocated resources via a supervisor proxying a request. The secondary_host parameter should always be set as unused if request proxying is not intended.

UDMAP Transmit Channel Allocate Response

Warning

This API is deprecated and will be removed in 2018.09.

The UDMAP tx channel allocate response TISCI message contains the status of the UDMAP transmit channel allocate request and, if the request was successful, the index of the allocated UDMAP transmit channel.

UDMAP Transmit Channel Allocate Response Message Parameters

Parameter Type Valid Values Description
hdr Generic TISCI message header (8 bytes) Valid Host IDs Generic TISCI message header. Contains the message ID, host ID, sequence number, and any flags
index u32 Valid Navigator Subsystem UDMAP Transmit Channel Indices or (0xFFFFFFFF) - NULL Allocated and configured UDMAP transmit channel index. The channel index is allocated from the Navigator Subsystem specified in the allocate request nav_id parameter. Only valid if message is ACK’d, but will be NULL if NACK’d.

UDMAP Transmit Channel Configure

UDMAP Transmit Channel Configure Request

The UDMAP tx channel cfg TISCI message API is used to configure SoC Navigator Subsystem UDMAP transmit channels. The API only allows configuration of a transmit channel by passing the tx channel index and the Navigator SoC device ID in which the channel is located. Only the non-real-time transmit channel registers are programmed as part of the channel configuration. The host is granted access to the transmit channel real-time registers via the SoC firewalls. The OS can access the channel real-time registers directly after allocation and configuration is complete.

The UDMAP global invalid receive flow event and per transmit channel output event (OES) and error output event (EOES) registers are not programmed as part of the UDMAP tx channel cfg API. They’re programmed internally via the RM IRQ Set message.

The UDMAP tx channel cfg API can be used to configure transmit channels within any Navigator Subsystem UDMAP on the device.

Usage

Message Type Normal
Secure Queue Only? No

UDMAP Transmit Channel Configure Message Parameters

Parameter Type Valid Values Description
hdr Generic TISCI message header (8 bytes) Valid Host IDs Generic TISCI message header. Contains the message ID, host ID, sequence number, and any flags
valid_params u32 UDMAP Transmit Channel Configuration Valid Parameters Bitfield defining validity of UDMAP transmit channel configuration parameters. The channel configuration fields are not valid, and will not be used, if their corresponding valid bit is zero.
nav_id u16 Valid Navigator Subsystem UDMAP Device IDs The SoC-specific Device ID of the Navigator subsystem UDMAP in which the transmit channel is located.
index u16 Valid Navigator Subsystem Transmit Channel Indices Specifies the requested transmit channel index for configuration
tx_pause_on_err u8
    • Disabled or (1) - Enabled
Transmit channel pause on error configuration. The register field is programmed if tx_pause_on_err’s valid bit is set.
tx_filt_einfo u8
    • Disabled or (1) - Enabled
Transmit channel extended packet information. The register field is programmed if tx_filt_einfo’s valid bit is set.
tx_filt_pswords u8
    • Disabled or (1) - Enabled
Transmit channel protocol specific word passing. The register field is programmed if tx_filt_pswords’s valid bit is set.
tx_atype u8
    • Physical addresses, (1) - Intermediate addresses, (2) - Virtual addresses
Transmit channel non Ring Accelerator access pointer interpretation configuration. The register field is programmed if tx_atype’s valid bit is set.
tx_chan_type u8 (2) - Packet transfers using pass by reference rings, (10) - 3rd party DMA transfers using pass by reference rings, (11) - 3rd party DMA transfers using pass by value rings, (12) - 3rd party block copy DMA transfers using pass by reference rings, (13) - 3rd party block copy DMA transfers using pass by value rings | Transmit channel functional channel type and work passing mechanism. Transmit channel functional channel type and work passing mechanism. The parameter is valid if tx_chan_type’s valid bit is set.
tx_supr_tdpkt u8
    • Disabled or (1) - Enabled
Transmit channel tear down packet generation suppression. The register field is programmed if tx_supr_tdpkt’s valid bit is set.
tx_fetch_size u16 Cannot be greater than 127 Transmit channel number of 32-bit descriptor words to fetch. The user must make sure to set the maximum word count that can pass through the channel for any allowed descriptor type. The register field is programmed if tx_fetch_size’s valid bit is set.
tx_credit_count u8 Cannot be greater than 7 Transmit channel transfer request credit count. Specifies how many credits for complete TRs are available. This field is only used when configuring a transmit channel of external type. The register field is programmed if tx_credit_count’s valid bit is set.
txcq_qnum u16 Valid, assigned ring Transmit channel completion queue. The specified completion queue must be assigned to the host, or a subordinate of the host, requesting configuration of the transmit channel. The register field is programmed if txcq_qnum’s valid bit is set.
tx_priority u8 Transmit channel transmit priority The register field is programmed if tx_priority’s valid bit is set.
tx_qos u8 Transmit channel QoS value Transmit channel transmit qos value. The register field is programmed if tx_qos’s valid bit is set.
tx_orderid u8 Transmit channel bus order ID Transmit channel bus order id. The register field is programmed if tx_orderid’s valid bit is set.
fdepth u16 Check the UDMAP section of the TRM for restrictions regarding this parameter. Reset value is 0x400. Channel FIFO depth configuration. Sets the number of Tx FIFO bytes which are allowed to be stored for the channel. The register field is programmed if fdepth’s valid bit is set.
tx_sched_priority u8
    • High priority, (1) - Medium-high priority, (2) - Medium-low priority, (3) - Low priority
Tx scheduling priority configuration. The register field is programmed if tx_sched_priority’s valid bit is set.

UDMAP Transmit Channel Configuration Valid Parameters

The following table describes the valid bit mappings for the UDMAP transmit channel configure message optional parameters:

valid_params Bit Corresponding tisci_msg_rm_udmap_tx_ch_cfg_req Optional Parameter
0 tx_pause_on_err
1 tx_atype
2 tx_chan_type
3 tx_fetch_size
4 txcq_qnum
5 tx_priority
6 tx_qos
7 tx_orderid
8 tx_sched_priority
9 tx_filt_einfo
10 tx_filt_pswords
11 tx_supr_tdpkt
12 tx_credit_count
13 fdepth

UDMAP Transmit Channel Configure Response

The udmap tx channel cfg response message returns the result status of the processed udmap tx channel cfg message.

UDMAP Transmit Channel Configure Response Message Parameters

Parameter Type Valid Values Description
hdr Generic TISCI message header (8 bytes) Valid Host IDs Generic TISCI message header. Contains the message ID, host ID, sequence number, and any return flags

UDMAP Transmit Channel Get Configuration

UDMAP Transmit Channel Get Configuration Request

The udmap_tx_ch get cfg TISCI message API is used to retrieve the non-real-time registers field settings, or the hardware reset register settings, for a UDMAP transmit channel. The host, or a supervisor of the host, who owns the transmit channel must be the requesting host. The register field values are returned in the udmap_tx_ch get cfg response message.

The udmap_tx_ch_get cfg API can be used to retrieve UDMAP transmit channel configurations within any Navigator Subsystem on the device.

Usage

Message Type Normal
Secure Queue Only? No

UDMAP Transmit Channel Get Configuration Message Parameters

struct tisci_msg_rm_udmap_tx_ch_get_cfg_req

Get Navigator Subsystem UDMAP transmit channel’s non-real-time register configuration

Parameter Type Description
hdr struct tisci_header Standard TISCI header
nav_id u16 SoC device ID of Navigator Subsystem in which the UDMAP transmit channel is located
index u16 UDMAP transmit channel index.
get_reset_cfg u8 Switch defining which UDMAP tx ch configuration is returned: @ref TISCI_MSG_VALUE_RM_UDMAP_GET_CFG_REG - Return non-real-time register configuration @ref TISCI_MSG_VALUE_RM_UDMAP_GET_CFG_RESET - Return non-real-time register hardware reset value configuration

Gets the configuration of the non-real-time register fields of a UDMAP transmit channel. The host, or a supervisor of the host, who owns the channel must be the requesting host. The values of the non-real-time registers are returned in @ref tisci_msg_rm_udmap_tx_ch_get_cfg_resp. The reset_cfg parameter is used to request either the existing non-real-time register values or the hardware reset values for the UDMAP transmit channel’s register fields.

UDMAP Transmit Channel Get Configuration Response

The udmap_tx_ch get cfg response TISCI message contains the UDMAP transmit channel’s non-real-time register field values.

UDMAP Transmit Channel Get Configuration Response Message Parameters

struct tisci_msg_rm_udmap_tx_ch_get_cfg_resp

UDMAP transmit channel get configuration response message

Parameter Type Description
hdr struct tisci_header Standard TISCI header
tx_pause_on_err u8 UDMAP transmit channel pause on error configuration
tx_filt_einfo u8 UDMAP transmit channel extended packet information passing configuration
tx_filt_pswords u8 UDMAP transmit channel protocol specific word passing configuration
tx_atype u8 UDMAP transmit channel non Ring Accelerator access pointer interpretation
tx_chan_type u8 UDMAP transmit channel functional channel type and work passing mechanism
tx_supr_tdpkt u8 UDMAP transmit channel teardown packet generation suppression
tx_fetch_size u16 UDMAP transmit channel number of 32-bit descriptor words to fetch
tx_credit_count u8 UDMAP transmit channel transfer request credit count
txcq_qnum u16 UDMAP transmit channel completion queue
tx_priority u8 UDMAP transmit channel transmit priority
tx_qos u8 UDMAP transmit channel transmit qos value
tx_orderid u8 UDMAP transmit channel bus order id
fdepth u16 UDMAP transmit channel FIFO depth
tx_sched_priority u8 UDMAP transmit channel tx scheduling priority

Response received by host processor after RM has handled @ref tisci_msg_rm_udmap_tx_ch_get_cfg_req. The response contains the transmit channel’s non-real-time register values.

UDMAP Transmit Channel Free

UDMAP Transmit Channel Free Request

Warning

This API is deprecated and will be removed in 2018.09.

The UDMAP tx channel free TISCI message API is used to free SoC Navigator Subsystem UDMAP transmit channels that were allocated via the allocate TISCI message. Freeing a transmit channel does not reset the channel registers but a channel teardown is issued as part of the free process. Firewall access to the transmit channel’s real-time registers for the host sending the transmit channel free request is revoked. Also, shared transmit channels are fully released after they’ve been freed the same number of times they were allocated. A transmit channel cannot be in use as an interrupt event source at the time the channel is freed completely.

The UDMAP tx channel free API can be used to free transmit channels within any Navigator Subsystem UDMAP on the device.

Usage

Message Type Normal
Secure Queue Only? No

UDMAP Transmit Channel Free Message Parameters

Parameter Type Valid Values Description
hdr Generic TISCI message header (8 bytes) Valid Host IDs Generic TISCI message header. Contains the message ID, host ID, sequence number, and any flags
nav_id u32 Valid Navigator Subsystem UDMAP Device IDs The SoC-specific Device ID of the Navigator subsystem UDMAP in which the transmit channel is located.
index u32 Valid Navigator Subsystem Transmit Channel Indices Specifies the transmit channel index to be freed. Shared transmit channels must be freed the same number of times they were allocated.
secondary_host u8 Valid Host IDs or (0xFF) Unused Specifies a host ID for which the TISCI header host ID is proxying the request for. This feature allows hosts incapable of making direct requests to be allocated resources by a supervisor host. For example firmware running on a PDMA will need to be allocated resources via a supervisor proxying a request. The secondary_host parameter should always be set as unused if request proxying is not intended.

UDMAP Receive Channel Allocate

UDMAP Receive Channel Allocate Request

Warning

This API is deprecated and will be removed in 2018.09.

The UDMAP rx channel allocate TISCI message API is used to allocate and configure SoC Navigator Subsystem UDMAP receive channels and any receive flows used by the channel. The API allows requesting a specific receive channel by passing the exact index of the channel to be allocated and configured. Receive channels can also be requested dynamically, which allows the RM subsystem to select the next available channel, of a specific type, for allocation and configuration. Only the non-real-time receive channel registers are programmed as part of the channel configuration. The host, or secondary_host, is granted access to the receive channel real-time registers via the SoC firewalls. The OS can access the channel real-time registers directly after allocation and configuration is complete.

The UDMAP rx channel allocate TISCI message API only allocates receive channels whose real-time control register, RCHANRT_RRT_CTL, rx_enable field is disabled. Real-time enabled channels that are free according to DMSC are corrupt and removed from the pool of receive channels available for allocation.

Allocation of a receive channel also results in allocation of any receive flows used by the receive channel. The receive flow statically mapped to the receive channel is always allocated. Additional receive flows can be allocated for use by the channel through the flow range input parameters. A static range can be defined by setting flowid_start + flowid_cnt to a block of receive flow indices located after the last receive flow statically mapped to a receive channel. Additional receive flows can also be allocated dynamically by setting flowid_cnt to a valid value and setting flowid_start to NULL (0xFFFF). In this case, the next available block of flowid_cnt receive flows will be allocated for use by the receive channel. All allocated receive flows have their configuration registers set to reset values.

The UDMAP global invalid receive flow event and per receive channel output event (OES) and error output event (EOES) registers are not programmed as part of the UDMAP rx channel allocate API. They’re programmed internally via the RM IRQ Set message.

Receive channels can be configured as shared. The UDMAP rx channel allocate TISCI message allows specification of a shared receive channel. Receive channels can be allocated and used by multiple processing entities when a receive channel is successfully allocated and the share parameter is set. A processing entity can allocate a shared receive channel by providing the index of the shared receive channel after its initial allocation. Configuration of a shared receive channel occurs only on the first allocation. Subsequent allocations of a shared receive channel will result in firewall access to the channel real-time registers being granted but any receive channel configuration parameters in the request are ignored. A shared receive channel must be freed the same number of times it was allocated. The receive channel is fully released when the usage count equals zero.

Receive flows allocated for use by a receive channel cannot be shared. Each receive channel allocate request must specify unique, unallocated receive flows for use by the receive channel.

The UDMAP rx channel allocate API can be used to allocate receive channels and receive flows within any Navigator Subsystem UDMAP on the device.

Usage

Message Type Normal
Secure Queue Only? No

UDMAP Receive Channel Allocate Message Parameters

Parameter Type Valid Values Description
hdr Generic TISCI message header (8 bytes) Valid Host IDs Generic TISCI message header. Contains the message ID, host ID, sequence number, and any flags
nav_id u32 Valid Navigator Subsystem UDMAP Device IDs The SoC-specific Device ID of the Navigator subsystem UDMAP in which the receive channel is located.
index u32 Valid Navigator Subsystem Receive Channel Indices or (0xFFFFFFFF) - NULL Specifies the requested receive channel index for allocation and configuration. If NULL, DMSC will attempt to allocate and configure the next available receive channel of the type specified within the “type” parameter. Failure to specify a valid type with a NULL index will result in a NACK.
rx_fetch_size u16 Cannot be greater than 127 Receive channel number of 32-bit descriptor words to fetch. The user must make sure to set the maximum word count that can pass through the channel for any allowed descriptor type.
rxcq_qnum u16 Valid, allocated ring Receive channel completion queue. The specified completion queue must be owned by the host, or a subordinate of the host, requesting allocation and configuration of the receive channel.
rx_priority u8 Receive channel receive priority or (0xFF) - NULL This parameter will only take effect if not set to NULL.
rx_qos u8 Transmit channel QoS value or (0xFF) - NULL Receive channel transmit qos value. This parameter will only take effect if not set to NULL.
rx_orderid u8 Transmit channel bus order ID or (0xFF) - NULL Receive channel bus order id. This parameter will only take effect if not set to NULL.
rx_sched_priority u8
    • High priority, (1) - Medium-high priority, (2) - Medium-low priority, (3) - Low priority
Rx scheduling priority configuration
flowid_start u16 Non-Statically Mapped Navigator Subsystem Receive Flow Indices or (0xFFFF) - NULL Specifies the starting index for flow IDs the receive channel is to make use of beyond the default, statically mapped flow. NULL (0xFFFF) can be specified in conjunction with a valid flowid_cnt value to tell the UDMAP driver to allocate the first available block of receive flows of size flowid_cnt. The index of the first flow in the dynamically allocated block is programmed into the flowid_start field of the RCHAN_RFLOW_RNG register.
flowid_cnt u16
    • None or flowid_cnt such that flowid_start + flowid_cnt cannot exceed number of receive flows in receive channel’s Navigator Subsystem
Receive channel rx flow ID count starting at flowid_start index. This field specifies how many flow IDs are in the additional contiguous range of legal flow IDs for the channel. Setting to zero indicates no flow IDs other than the default are allowed.
rx_pause_on_err u8
    • Disabled or (1) - Enabled
Receive channel pause on error configuration.
rx_atype u8
    • Physical addresses, (1) - Intermediate addresses, (2) - Virtual addresses
Receive channel non Ring Accelerator access pointer interpretation configuration
rx_chan_type u8
    • Packet transfers using pass by reference rings, (3) - Packet transfers using pass by reference rings with single buffer packet mode enabled, (10) - 3rd party DMA transfers using pass by reference rings, (11) - 3rd party DMA transfers using pass by value rings, (12) - 3rd party block copy DMA transfers using pass by reference rings, (13) - 3rd party block copy DMA transfers using pass by value rings
Receive channel functional channel type and work passing mechanism.
rx_ignore_short u8
    • Short packets treated as exceptions, (1) - Short packets ignored
Receive channel short packet treatment
rx_ignore_long u8
    • Long packets treated as exceptions, (1) - Long packets ignored
Receive channel long packet treatment
share u8
    • Unshared/Exclusive, (1) - Open Shared, or (2) - Limited Shared
Specifies whether the allocated and configured receive channel is unshared, limited shared, or open shared. Requests for an already allocated, shared receive channel view this value as don’t care as long as a valid value is provided.
type u8 Valid Navigator Subsystem UDMAP Receive Channel Types or (0xFF) - NULL Specifies the receive channel type to be allocated for dynamic receive channel requests where the index is NULL. NACK will be returned if both the receive channel index and type parameters are valid.
secondary_host u8 Valid Host IDs or (0xFF) - Unused Specifies a host ID for which the TISCI header host ID is proxying the request for. This feature allows hosts incapable of making direct requests to be allocated resources by a supervisor host. For example firmware running on a PDMA will need to be allocated resources via a supervisor proxying a request. The secondary_host parameter should always be set as unused if request proxying is not intended.

UDMAP Receive Channel Allocate Response

Warning

This API is deprecated and will be removed in 2018.09.

The UDMAP rx channel allocate response TISCI message contains the status of the UDMAP receive channel allocate request and, if the request was successful, the index of the allocated UDMAP receive channel and the indices of receive flows allocated for use by the receive channel.

UDMAP Receive Channel Allocate Response Message Parameters

Parameter Type Valid Values Description
hdr Generic TISCI message header (8 bytes) Valid Host IDs Generic TISCI message header. Contains the message ID, host ID, sequence number, and any flags
index u32 Valid Navigator Subsystem UDMAP Receive Channel Indices or (0xFFFFFFFF) - NULL Allocated and configured UDMAP receive channel index. The channel index is allocated from the Navigator Subsystem specified in the allocate request nav_id parameter. Only valid if message is ACK’d.
def_flow_index u32 Valid Navigator Subsystem Receive Flow Indices or (0xFFFFFFFF) - NULL Receive flow index allocated as the default, statically mapped flow for the allocated receive channel. Only valid if the message is ACK’d.
rng_flow_start_index u32 Valid Navigator Subsystem Receive Flow Indices or (0xFFFF) - NULL Starting receive flow index allocated as the flow range for the allocated receive channel. NULL (0xFFFF) if the receive channel does not use a flow range.
rng_flow_cnt u32 Valid Navigator Subsystem Receive Flow Indices or zero Number of contiguous receive flow indices, starting from rng_flow_start_index, allocated as the flow range for the allocated receive channel. Zero if the receive channel does not use a flow range.

UDMAP Receive Channel Configure

UDMAP Receive Channel Configure

The UDMAP rx channel cfg TISCI message API is used to configure SoC Navigator Subsystem UDMAP receive channels. The API only allows configuration of a receive channel by passing the rx channel index and the Navigator SoC device ID in which the channel is located. Only the non-real-time receive channel registers are programmed as part of the channel configuration. The host is granted access to the receive channel real-time registers via the SoC firewalls.

The UDMAP global invalid receive flow event and per receive channel output event (OES) and error output event (EOES) registers are not programmed as part of the UDMAP rx channel cfg API. They’re programmed internally via the RM IRQ Set message.

The UDMAP rx channel cfg API can be used to configure receive channels within any Navigator Subsystem UDMAP on the device.

Usage

Message Type Normal
Secure Queue Only? No

UDMAP Receive Channel Configure Message Parameters

Parameter Type Valid Values Description
hdr Generic TISCI message header (8 bytes) Valid Host IDs Generic TISCI message header. Contains the message ID, host ID, sequence number, and any flags
valid_params u32 UDMAP Receive Channel Configuration Valid Parameters Bitfield defining validity of UDMAP receive channel configuration parameters. The channel configuration fields are not valid, and will not be used, if their corresponding valid bit is zero.
nav_id u16 Valid Navigator Subsystem UDMAP Device IDs The SoC-specific Device ID of the Navigator subsystem UDMAP in which the receive channel is located.
index u16 Valid Navigator Subsystem Receive Channel Indices Specifies the requested receive channel index for configuration
rx_fetch_size u16 Cannot be greater than 127 Receive channel number of 32-bit descriptor words to fetch. The user must make sure to set the maximum word count that can pass through the channel for any allowed descriptor type. The register field is programmed if rx_fetch_size’s valid bit is set.
rxcq_qnum u16 Valid, assigned ring Receive channel completion queue. The specified completion queue must be assigned to the host, or a subordinate of the host, requesting configuration of the receive channel. The register field is programmed if rxcq_qnum’s valid bit is set.
rx_priority u8 Receive channel receive priority The register field is programmed if rx_priority’s valid bit is set.
rx_qos u8 Receive channel QoS value Receive channel receive qos value. The register field is programmed if rx_qos’s valid bit is set.
rx_orderid u8 Receive channel bus order ID Receive channel bus order id. The register field is programmed if rx_orderid’s valid bit is set.
rx_sched_priority u8
    • High priority, (1) - Medium-high priority, (2) - Medium-low priority, (3) - Low priority
Rx scheduling priority configuration. The register field is programmed if rx_sched_priority’s valid bit is set.
flowid_start u16 Common Navigator Subsystem Receive Flow Indices Specifies the starting index for flow IDs the receive channel is to make use of beyond the default, statically mapped flow. The additional flows must be assigned to the host, or a subordinate of the host, requesting configuration of the receive channel. The register field is programmed if flowid_start and flowid_cnt valid bits are set.
flowid_cnt u16 flowid_cnt such that flowid_start + flowid_cnt cannot exceed number of receive flows in receive channel’s Navigator Subsystem Receive channel rx flow ID count starting at flowid_start index. This field specifies how many flow IDs are in the additional contiguous range of legal flow IDs for the channel. The additional flows must be assigned to the host, or a subordinate of the host, requesting configuration of the receive channel. The register field is programmed if flowid_start and flowid_cnt valid bits are set.
rx_pause_on_err u8
    • Disabled or (1) - Enabled
Receive channel pause on error configuration. The register field is programmed if rx_pause_on_err’s valid bit is set.
rx_atype u8
    • Physical addresses, (1) - Intermediate addresses, (2) - Virtual addresses
Receive channel non Ring Accelerator access pointer interpretation configuration. The register field is programmed if rx_atype’s valid bit is set.
rx_chan_type u8 (2) - Packet transfers using pass by reference rings, (3) - Packet transfers using pass by reference rings with single buffer packet mode enabled, (10) - 3rd party DMA transfers using pass by reference rings, (11) - 3rd party DMA transfers using pass by value rings, (12) - 3rd party block copy DMA transfers using pass by reference rings, (13) - 3rd party block copy DMA transfers using pass by value rings. Receive channel functional channel type and work passing mechanism. The register field is programmed if rx_chan_type’s valid bit is set.
rx_ignore_short u8
    • Short packets treated as exceptions, (1) - Short packets ignored
Receive channel short packet treatment. The register field is programmed if rx_ignore_short’s valid bit is set.
rx_ignore_long u8
    • Long packets treated as exceptions, (1) - Long packets ignored
Receive channel long packet treatment. The register field is programmed if rx_ignore_long’s valid bit is set.

UDMAP Receive Channel Configuration Valid Parameters

The following table describes the valid bit mappings for the UDMAP receive channel configure message optional parameters:

valid_params Bit Corresponding tisci_msg_rm_udmap_rx_ch_cfg_req Optional Parameter
0 rx_pause_on_err
1 rx_atype
2 rx_chan_type
3 rx_fetch_size
4 rxcq_qnum
5 rx_priority
6 rx_qos
7 rx_orderid
8 rx_sched_priority
9 flowid_start
10 flowid_cnt
11 rx_ignore_short
12 rx_ignore_long

UDMAP Receive Channel Configure Response

The udmap rx channel cfg response message returns the result status of the processed udmap rx channel cfg message.

UDMAP Receive Channel Configure Response Message Parameters

Parameter Type Valid Values Description
hdr Generic TISCI message header (8 bytes) Valid Host IDs Generic TISCI message header. Contains the message ID, host ID, sequence number, and any return flags

UDMAP Receive Channel Get Configuration

UDMAP Receive Channel Get Configuration Request

The udmap_rx_ch get cfg TISCI message API is used to retrieve the non-real-time registers field settings, or the hardware reset register settings, for a UDMAP receive channel. The host, or a supervisor of the host, who owns the receive channel must be the requesting host. The register field values are returned in the udmap_rx_ch get cfg response message.

The udmap_rx_ch_get cfg API can be used to retrieve UDMAP receive channel configurations within any Navigator Subsystem on the device.

Usage

Message Type Normal
Secure Queue Only? No

UDMAP Receive Channel Get Configuration Message Parameters

struct tisci_msg_rm_udmap_rx_ch_get_cfg_req

Get Navigator Subsystem UDMAP receive channel’s non-real-time register configuration

Parameter Type Description
hdr struct tisci_header Standard TISCI header
nav_id u16 SoC device ID of Navigator Subsystem in which the UDMAP receive channel is located
index u16 UDMAP receive channel index.
get_reset_cfg u8 Switch defining which UDMAP rx ch configuration is returned: @ref TISCI_MSG_VALUE_RM_UDMAP_GET_CFG_REG - Return non-real-time register configuration @ref TISCI_MSG_VALUE_RM_UDMAP_GET_CFG_RESET - Return non-real-time register hardware reset value configuration

Gets the configuration of the non-real-time register fields of a UDMAP receive channel. The host, or a supervisor of the host, who owns the channel must be the requesting host. The values of the non-real-time registers are returned in @ref tisci_msg_rm_udmap_rx_ch_get_cfg_resp. The reset_cfg parameter is used to request either the existing non-real-time register values or the hardware reset values for the UDMAP receive channel’s register fields.

UDMAP Receive Channel Get Configuration Response

The udmap_rx_ch get cfg response TISCI message contains the UDMAP receive channel’s non-real-time register field values.

UDMAP Receive Channel Get Configuration Response Message Parameters

struct tisci_msg_rm_udmap_rx_ch_get_cfg_resp

UDMAP receive channel get configuration response message

Parameter Type Description
hdr struct tisci_header Standard TISCI header
rx_fetch_size u16 UDMAP receive channel number of 32-bit descriptor words to fetch
rxcq_qnum u16 UDMAP receive channel completion queue
rx_priority u8 UDMAP receive channel receive priority
rx_qos u8 UDMAP receive channel receive qos value
rx_orderid u8 UDMAP receive channel bus order id
rx_sched_priority u8 UDMAP receive channel rx scheduling priority
flowid_start u16 UDMAP receive channel additional flows starting index
flowid_cnt u16 UDMAP receive channel additional flows count
rx_pause_on_err u8 UDMAP receive channel pause on error
rx_atype u8 UDMAP receive channel non Ring Accelerator access pointer interpretation
rx_chan_type u8 UDMAP receive channel functional channel type and work passing mechanism
rx_ignore_short u8 UDMAP receive channel short packet treatment
rx_ignore_long u8 UDMAP receive channel long packet treatment

Response received by host processor after RM has handled @ref tisci_msg_rm_udmap_rx_ch_get_cfg_req. The response contains the receive channel’s non-real-time register values.

UDMAP Receive Channel Free

UDMAP Receive Channel Free Request

Warning

This API is deprecated and will be removed in 2018.09.

The UDMAP rx channel free TISCI message API is used to free SoC Navigator Subsystem UDMAP receive channels that were allocated via the allocate TISCI message. Freeing a receive channel does not reset the channel registers but a channel teardown is issued as part of the free process. All receive flows used by the receive channel are freed as well. Firewall access to the receive channel’s real-time registers for the host sending the receive channel free request are revoked. Also, shared receive channels are fully released after they’ve been freed the same number of times they were allocated. A receive channel cannot be in use as an interrupt event source at the time the channel is freed completely.

The UDMAP rx channel free API can be used to free receive channels within any Navigator Subsystem UDMAP on the device.

Usage

Message Type Normal
Secure Queue Only? No

UDMAP Receive Channel Free Message Parameters

Parameter Type Valid Values Description
hdr Generic TISCI message header (8 bytes) Valid Host IDs Generic TISCI message header. Contains the message ID, host ID, sequence number, and any flags
nav_id u32 Valid Navigator Subsystem UDMAP Device IDs The SoC-specific Device ID of the Navigator subsystem UDMAP in which the receive channel is located.
index u32 Valid Navigator Subsystem Receive Channel Indices Specifies the receive channel index to be freed. Shared receive channels must be freed the same number of times they were allocated.
secondary_host u8 Valid Host IDs or (0xFF) Unused Specifies a host ID for which the TISCI header host ID is proxying the request for. This feature allows hosts incapable of making direct requests to be allocated resources by a supervisor host. For example firmware running on a PDMA will need to be allocated resources via a supervisor proxying a request. The secondary_host parameter should always be set as unused if request proxying is not intended.

UDMAP Receive Flow Configuration

UDMAP Receive Flow Configuration Request

Warning

This API is deprecated and will be removed in 2018.09.

The UDMAP rx flow cfg TISCI message API is used to configure an allocated SoC Navigator Subsystem UDMAP receive flow’s non-optional registers. The receive flow must be used by the specified receive channel and the host requesting the receive flow configuration must be the host, or the supervisor of the host, that owns the receive channel in order for the flow to be configured. It’s the user’s responsbility to make sure the receive channel is disabled when changing the receive flow configuration. Otherwise, unknown operation may occur.

The UDMAP global invalid receive flow event register is not programmed as part of the UDMAP rx flow cfg API. It is programmed internally via the RM IRQ Set message.

The UDMAP rx flow cfg API can be used to configure receive flows within any Navigator Subsystem UDMAP on the device.

Usage

Message Type Normal
Secure Queue Only? No

UDMAP Receive Flow Configuration Message Parameters

Parameter Type Valid Values Description
hdr Generic TISCI message header (8 bytes) Valid Host IDs Generic TISCI message header. Contains the message ID, host ID, sequence number, and any flags
nav_id u32 Valid Navigator Subsystem UDMAP Device IDs The SoC-specific Device ID of the Navigator subsystem UDMAP in which the receie flow is located.
flow_index u32 Valid Navigator Subsystem Receive Flow Indices Specifies the receive flow index for non-optional configuration.
rx_ch_index u32 Valid Navigator Subsystem Receive Channel Indices Specifies the receive channel index using the receive flow to be configured. The receive channel must be using the receive flow either through the static mapping of receive channels to receive flows or through the receive channel’s flow range specification.
rx_einfo_present u8
    • Do not handle extended packet info in received packet descriptor, (1) - Handle extended packet info in received packet descriptor
Receive flow extended packet info present
rx_psinfo_present u8
    • Do not handle PS info words in received descriptor, (1) - Handle present PS info words in received descriptor
Receive flow PS words present
rx_error_handling u8
    • Drop received packet on starvation error, (1) - Retry received packet on starvation error
Receive flow error handling
rx_desc_type u8
    • Host descriptor, (1) - Monolithic descriptor
Receive flow descriptor type
rx_sop_offset u16 0 - 255 bytes Receive flow start of packet offset. See the UDMAP section of the TRM for more information on this setting.
rx_dest_qnum u16 Receive flow destination queue configuration The specified destination queue must be valid within the Navigator Subsystem and must be owned by the host, or a subordinate of the host, requesting allocation and configuration of the receive flow.
rx_ps_location u8
    • Place PS words at end of packet descriptor, (1) - Place PS words at beginning of the data buffer
Receive flow PS words location
rx_src_tag_hi u8 See the UDMAP section of the TRM for more information on this setting Receive flow source tag high byte constant
rx_src_tag_lo u8 See the UDMAP section of the TRM for more information on this setting Receive flow source tag low byte constant
rx_dest_tag_hi u8 See the UDMAP section of the TRM for more information on this setting Receive flow destination tag high byte constant
rx_dest_tag_lo u8 See the UDMAP section of the TRM for more information on this setting Receive flow destination tag low byte constant
rx_src_tag_hi_sel u8
    • Do not overwite, (1) - Overwrite with value in rx_src_tag_hi, (2) - Overwrite with flow_id[7:0], (4) - Overwrite with src_tag[7:0]
Receive flow source tag high byte selector
rx_src_tag_lo_sel u8
    • Do not overwite, (1) - Overwrite with value in rx_src_tag_lo, (2) - Overwrite with flow_id[7:0], (4) - Overwrite with src_tag[7:0]
Receive flow source tag low byte selector
rx_dest_tag_hi_sel u8
    • Do not overwite, (1) - Overwrite with value in rx_dest_tag_hi, (2) - Overwrite with flow_id[7:0], (4) - Overwrite with src_tag[7:0], (5) - Overwrite with src_tag[15:8]
Receive flow destination tag high byte selector
rx_dest_tag_lo_sel u8
    • Do not overwite, (1) - Overwrite with value in rx_dest_tag_lo, (2) - Overwrite with flow_id[7:0], (4) - Overwrite with src_tag[7:0], (5) - Overwrite with src_tag[15:8]
Receive flow destination tag low byte selector
rx_size_thresh_en u8 Receive flow packet size based free buffer queue enable, cannot be greater than 7 See the UDMAP section of the TRM for more information on this setting. Configuration of the optional size thresholds when this configuration is enabled is done by sending the Receive Flow Optional Config Message to System Firmware for the receive flow allocated by this request.
rx_fdq0_sz0_qnum u16 Receive flow free descriptor queue 0 See the UDMAP section of the TRM for more information on this setting. The specified free queue must be valid within the Navigator Subsystem and must be owned by the host, or a subordinate of the host, requesting allocation and configuration of the receive flow.
rx_fdq1_qnum u16 Receive flow free descriptor queue 1 See the UDMAP section of the TRM for more information on this setting. The specified free queue must be valid within the Navigator Subsystem and must be owned by the host, or a subordinate of the host, requesting allocation and configuration of the receive flow.
rx_fdq2_qnum u16 Receive flow free descriptor queue 2 See the UDMAP section of the TRM for more information on this setting. The specified free queue must be valid within the Navigator Subsystem and must be owned by the host, or a subordinate of the host, requesting allocation and configuration of the receive flow.
rx_fdq3_qnum u16 Receive flow free descriptor queue 3 See the UDMAP section of the TRM for more information on this setting. The specified free queue must be valid within the Navigator Subsystem and must be owned by the host, or a subordinate of the host, requesting allocation and configuration of the receive flow.

UDMAP Receive Flow Optional Config

UDMAP Receive Flow Optional Config Request

Warning

This API is deprecated and will be removed in 2018.09.

The UDMAP rx flow optional cfg TISCI message API is used to configure the optional registers for an allocated flow. The API allows programming of an allocated receive flow’s optional size threshold register fields if the flow’s rx_size_thresh_en field was set when the receive flow non-optional registers were configured using the UDMAP rx flow cfg TISCI message. The receive flow must be used by the specified receive channel and the host requesting the receive flow configuration must be the host, or the supervisor of the host, that owns the receive channel in order for the flows optional registers to be configured. It’s the user’s responsbility to make sure the receive channel is disabled when changing the receive flow optionawl configuration. Otherwise, unknown operation may occur.

The UDMAP rx flow optional cfg API can be used to configure optional fields of receive flow within any Navigator Subsystem UDMAP on the device.

Usage

Message Type Normal
Secure Queue Only? No

UDMAP Receive Flow Optional Config Message Parameters

Parameter Type Valid Values Description
hdr Generic TISCI message header (8 bytes) Valid Host IDs Generic TISCI message header. Contains the message ID, host ID, sequence number, and any flags
nav_id u32 Valid Navigator Subsystem UDMAP Device IDs The SoC-specific Device ID of the Navigator subsystem UDMAP in which the receie flow is located.
flow_index u32 Valid Navigator Subsystem Receive Flow Indices Specifies the receive flow index for optional configuration.
rx_ch_index u32 Valid Navigator Subsystem Receive Channel Indices Specifies the receive channel index using the receive flow to be configured. The receive channel must be using the receive flow either through the static mapping of receive channels to receive flows or through the receive channel’s flow range specification.
rx_size_thresh0 u16 Receive flow packet size threshold 0 See the UDMAP section of the TRM for more information on this setting
rx_size_thresh1 u16 Receive flow packet size threshold 1 See the UDMAP section of the TRM for more information on this setting.
rx_size_thresh2 u16 Receive flow packet size threshold 2 See the UDMAP section of the TRM for more information on this setting.
rx_fdq0_sz1_qnum u16 Receive flow free descriptor queue for size threshold 1 See the UDMAP section of the TRM for more information on this setting. The specified free queue must be valid within the Navigator Subsystem and must be owned by the host, or a subordinate of the host, who owns the receive flow index and who is making the optional configuration request.
rx_fdq0_sz2_qnum u16 Receive flow free descriptor queue for size threshold 2 See the UDMAP section of the TRM for more information on this setting. The specified free queue must be valid within the Navigator Subsystem and must be owned by the host, or a subordinate of the host, who owns the receive flow index and who is making the optional configuration request.
rx_fdq0_sz3_qnum u16 Receive flow free descriptor queue for size threshold 3 See the UDMAP section of the TRM for more information on this setting. The specified free queue must be valid within the Navigator Subsystem and must be owned by the host, or a subordinate of the host, who owns the receive flow index and who is making the optional configuration request.

UDMAP Receive Flow Configure

UDMAP Receive Flow Configure Request

The UDMAP flow cfg TISCI message API is used to configure a SoC Navigator Subsystem UDMAP receive flow’s standard, non-size threshold registers. The flow index must be assigned to the host defined in the TISCI header via the RM board configuration resource assignment range list.

It’s the user’s responsibility to make sure any receive channels using the flow are disabled when changing the receive flow configuration. Otherwise, unknown operation may occur.

The UDMAP global invalid receive flow event register is not programmed as part of the UDMAP flow cfg API. It is programmed internally via the RM IRQ Set message.

The UDMAP flow cfg API can be used to configure receive flows within any Navigator Subsystem UDMAP on the device.

Usage

Message Type Normal
Secure Queue Only? No

UDMAP Receive Flow Configure Message Parameters

Parameter Type Valid Values Description
hdr Generic TISCI message header Valid Host IDs Generic TISCI message header. Contains the message ID, host ID, sequence number, and any flags
valid_params u32 UDMAP Receive Flow Configure Valid Parameters Bitfield defining validity of UDMAP receive channel configuration parameters. The channel configuration fields are not valid, and will not used, if their corresponding valid bit is zero.
nav_id u16 Valid Navigator Subsystem UDMAP Device IDs The SoC-specific Device ID of the Navigator subsystem UDMAP in which the receive flow is located.
flow_index u16 Valid Receive Flow Indices Specifies the receive flow index
rx_einfo_present u8
    • Do not handle extended packet info in received packet descriptor,
    • Handle extended packet info in received packet descriptor
Receive flow extended packet info present. The register field is programmed if rx_einfo_present’s valid bit is set.
rx_psinfo_present u8
    • Do not handle PS info words in received descriptor,
    • Handle present PS info words in received descriptor
Receive flow PS words present. The register field is programmed if rx_psinfo_present’s valid bit is set.
rx_error_handling u8
    • Drop received packet on starvation error,
    • Retry received packet on starvation error
Receive flow error handling. The register field is programmed if rx_error_handling’s valid bit is set.
rx_desc_type u8
    • Host descriptor, (1) - Monolithic descriptor
Receive flow descriptor type. The register field is programmed if rx_desc_types’s valid bit is set.
rx_sop_offset u16 0 - 255 bytes Receive flow start of packet offset. See the UDMAP section of the TRM for more information on this setting. The register field is programmed rx_sop_offset’s valid bit is set.
rx_dest_qnum u16 Receive flow destination queue configuration The specified destination queue must be valid within the Navigator Subsystem and must be owned by the host, or a subordinate of the host, requesting allocation and configuration of the receive flow. The register field is programmed rx_dest_qnum’s valid bit is set.
rx_src_tag_hi u8 See the UDMAP section of the TRM for more information on this setting Receive flow source tag high byte constant. The register field is programmed rx_src_tag_hi’s valid bit is set.
rx_src_tag_lo u8 See the UDMAP section of the TRM for more information on this setting Receive flow source tag low byte constant. The register field is programmed rx_src_tag_lo’s valid bit is set.
rx_dest_tag_hi u8 See the UDMAP section of the TRM for more information on this setting Receive flow destination tag high byte constant. The register field is programmed rx_dest_tag_hi’s valid bit is set.
rx_dest_tag_lo u8 See the UDMAP section of the TRM for more information on this setting Receive flow destination tag low byte constant. The register field is programmed rx_dest_tag_lo’s valid bit is set.
rx_src_tag_hi_sel u8 (0) - Do not overwrite, (1) - Overwrite with value in rx_src_tag_hi, (2) - Overwrite with flow_id[7:0], (4) - Overwrite with src_tag[7:0], (5) - Overwrite with src_tag[15:8] Receive flow source tag high byte selector. The register field is programmed if rx_src_tag_hi_sel’s valid bit is set.
rx_src_tag_lo_sel u8 (0) - Do not overwrite, (1) - Overwrite with value in rx_src_tag_lo, (2) - Overwrite with flow_id[7:0], (4) - Overwrite with src_tag[7:0], (5) - Overwrite with src_tag[15:8] Receive flow source tag low byte selector. The register field is programmed if rx_src_tag_lo_sel’s valid bit is set.
rx_dest_tag_hi_sel u8 (0) - Do not overwrite, (1) - Overwrite with value in rx_dest_tag_hi, (2) - Overwrite with flow_id[7:0], (4) - Overwrite with src_tag[7:0], (5) - Overwrite with src_tag[15:8] Receive flow destination tag high byte selector. The register field is programmed if rx_dest_tag_hi_sel’s valid bit is set.
rx_dest_tag_lo_sel u8 (0) - Do not overwrite, (1) - Overwrite with value in rx_dest_tag_lo, (2) - Overwrite with flow_id[7:0], (4) - Overwrite with src_tag[7:0], (5) - Overwrite with src_tag[15:8] Receive flow destination tag low byte selector. The register field is programmed if rx_dest_tag_lo_sel’s valid bit is set.
rx_fdq0_sz0_qnum u16 Receive flow free descriptor queue 0 See the UDMAP section of the TRM for more information on this setting. The specified free queue must be valid within the Navigator Subsystem and must be owned by the host, or a subordinate of the host, requesting allocation and configuration of the receive flow.
rx_fdq1_qnum u16 Receive flow free descriptor queue 1 See the UDMAP section of the TRM for more information on this setting. The specified free queue must be valid within the Navigator Subsystem and must be owned by the host, or a subordinate of the host, requesting allocation and configuration of the receive flow.
rx_fdq2_qnum u16 Receive flow free descriptor queue 2 See the UDMAP section of the TRM for more information on this setting. The specified free queue must be valid within the Navigator Subsystem and must be owned by the host, or a subordinate of the host, requesting allocation and configuration of the receive flow.
rx_fdq3_qnum u16 Receive flow free descriptor queue 3 See the UDMAP section of the TRM for more information on this setting. The specified free queue must be valid within the Navigator Subsystem and must be owned by the host, or a subordinate of the host, requesting allocation and configuration of the receive flow.
rx_ps_location u8
    • Place PS words at end of packet descriptor,
    • Place PS words at beginning of the data buffer
Receive flow PS words location. The register field is programmed if rx_ps_location’s valid bit is set.

UDMAP Receive Flow Configure Valid Parameters

The following table describes the valid bit mappings for the UDMAP receive flow configure message parameters:

valid_params Bit Corresponding tisci_msg_rm_udmap_flow_cfg_req Parameter
0 rx_einfo_present
1 rx_psinfo_present
2 rx_error_handling
3 rx_desc_type
4 rx_sop_offset
5 rx_dest_qnum
6 rx_src_tag_hi
7 rx_src_tag_lo
8 rx_dest_tag_hi
9 rx_dest_tag_lo
10 rx_src_tag_hi_sel
11 rx_src_tag_lo_sel
12 rx_dest_tag_hi_sel
13 rx_dest_tag_lo_sel
14 rx_fdq0_sz0_qnum
15 rx_fdq1_sz0_qnum
16 rx_fdq2_sz0_qnum
17 rx_fdq3_sz0_qnum
18 rx_ps_location

UDMAP Receive Flow Configure Response

The udmap flow cfg response message returns the result status of the processed udmap flow cfg message.

UDMAP Receive Flow Configure Response Message Parameters

Parameter Type Valid Values Description
hdr Generic TISCI message header (8 bytes) Valid Host IDs Generic TISCI message header. Contains the message ID, host ID, sequence number, and any return flags

UDMAP Receive Flow Get Configuration

UDMAP Receive Flow Get Configuration Request

The udmap_flow_get_cfg TISCI message API is used to retrieve the non-real-time registers field settings, or the hardware reset register settings, for a UDMAP receive flow. The host, or a supervisor of the host, who owns the receive flow must be the requesting host. The register field values are returned in the udmap_flow_get_cfg_response message.

The udmap_flow_get_cfg API can be used to retrieve UDMAP receive flow configurations within any Navigator Subsystem on the device.

Usage

Message Type Normal
Secure Queue Only? No

UDMAP Receive Flow Get Configuration Message Parameters

struct tisci_msg_rm_udmap_flow_get_cfg_req

Get Navigator Subsystem UDMAP receive flow’s non-real-time register configuration

Parameter Type Description
hdr struct tisci_header Standard TISCI header
nav_id u16 SoC device ID of Navigator Subsystem in which the UDMAP receive flow is located
index u16 UDMAP receive flow index.
get_reset_cfg u8 Switch defining which UDMAP flow configuration is returned: @ref TISCI_MSG_VALUE_RM_UDMAP_GET_CFG_REG - Return non-real-time register configuration @ref TISCI_MSG_VALUE_RM_UDMAP_GET_CFG_RESET - Return non-real-time register hardware reset value configuration

Gets the configuration of the non-real-time register fields of a UDMAP receive flow. The host, or a supervisor of the host, who owns the flow must be the requesting host. The values of the non-real-time registers are returned in @ref tisci_msg_rm_udmap_flow_get_cfg_resp. The reset_cfg parameter is used to request either the existing non-real-time register values or the hardware reset values for the UDMAP flow’s register fields.

UDMAP Receive Flow Get Configuration Response

The udmap_flow_get_cfg response TISCI message contains the UDMAP receive flow’s non-real-time register field values.

UDMAP Receive Flow Get Configuration Response Message Parameters

struct tisci_msg_rm_udmap_flow_get_cfg_resp

UDMAP receive flow get configuration response message

Parameter Type Description
hdr struct tisci_header Standard TISCI header
rx_einfo_present u8 UDMAP receive flow extended packet info present configuration
rx_psinfo_present u8 UDMAP receive flow PS words present configuration
rx_error_handling u8 UDMAP receive flow error handling configuration
rx_desc_type u8 UDMAP receive flow descriptor type
rx_sop_offset u16 UDMAP receive flow start of packet offset
rx_dest_qnum u16 UDMAP receive flow destination queue
rx_src_tag_hi u8 UDMAP receive flow source tag high byte constant
rx_src_tag_lo u8 UDMAP receive flow source tag low byte constant
rx_dest_tag_hi u8 UDMAP receive flow destination tag high byte constant
rx_dest_tag_lo u8 UDMAP receive flow destination tag low byte constant
rx_src_tag_hi_sel u8 UDMAP receive flow source tag high byte selector
rx_src_tag_lo_sel u8 UDMAP receive flow source tag low byte selector
rx_dest_tag_hi_sel u8 UDMAP receive flow destination tag high byte selector
rx_dest_tag_lo_sel u8 UDMAP receive flow destination tag low byte selector
rx_fdq0_sz0_qnum u16 UDMAP receive flow free descriptor queue 0
rx_fdq1_qnum u16 UDMAP receive flow free descriptor queue 1
rx_fdq2_qnum u16 UDMAP receive flow free descriptor queue 2
rx_fdq3_qnum u16 UDMAP receive flow free descriptor queue 3
rx_ps_location u8 UDMAP receive flow PS words location

Response received by host processor after RM has handled @ref tisci_msg_rm_udmap_flow_get_cfg_req. The response contains the receive flow’s register values.

UDMAP Receive Flow Size Threshold Configure

UDMAP Receive Flow Size Threshold Configure Request

The UDMAP flow size threshold cfg TISCI message API is used to configure the size-based free descriptor queue routing registers for flow. The flow index must be assigned to the host defined in the TISCI header via the RM board configuration resource assignment range list.

It’s the user’s responsibility to make sure any receive channels using the flow are disabled when changing the receive flow configuration. Otherwise, unknown operation may occur.

The UDMAP flow size threshold cfg API can be used to configure receive flows within any Navigator Subsystem UDMAP on the device.

Usage

Message Type Normal
Secure Queue Only? No

UDMAP Receive Flow Size Threshold Configure Message Parameters

Parameter Type Valid Values Description
hdr Generic TISCI message header Valid Host IDs Generic TISCI message header. Contains the message ID, host ID, sequence number, and any flags
valid_params u32
UDMAP Receive Flow Size Threshold Configure Valid Parameters | Bitfield defining validity of
UDMAP receive channel
configuration parameters. The
channel configuration fields are
not valid, and will not be used,
if their corresponding valid bit
is zero.
nav_id u16
Valid Navigator Subsystem UDMAP Device IDs | The SoC-specific Device ID of
the Navigator subsystem UDMAP in
which the receive flow is
located.
flow_index u16 Valid Receive Flow Indices Specifies the receive flow index.
rx_size_thresh0 u16 Receive flow packet size threshold 0 See the UDMAP section of the TRM for more information on this setting. The register field is programmed if rx_size_thresh0’s valid bit is set.
rx_size_thresh1 u16 Receive flow packet size threshold 1 See the UDMAP section of the TRM for more information on this setting. The register field is programmed if rx_size_thresh1’s valid bit is set.
rx_size_thresh2 u16 Receive flow packet size threshold 2 See the UDMAP section of the TRM for more information on this setting. The register field is programmed if rx_size_thresh2’s valid bit is set.
rx_fdq0_sz1_qnum u16 Receive flow free descriptor queue for size threshold 1 See the UDMAP section of the TRM for more information on this setting. The specified free queue must be valid within the Navigator Subsystem and must be owned by the host, or a subordinate of the host, who owns the receive flow index and who is making the optional configuration request. The register field is programmed if rx_fdq0_sz1_qnum’s valid bit is set.
rx_fdq0_sz2_qnum u16 Receive flow free descriptor queue for size threshold 2 See the UDMAP section of the TRM for more information on this setting. The specified free queue must be valid within the Navigator Subsystem and must be owned by the host, or a subordinate of the host, who owns the receive flow index and who is making the optional configuration request. The register field is programmed if rx_fdq0_sz2_qnum’s valid bit is set.
rx_fdq0_sz3_qnum u16 Receive flow free descriptor queue for size threshold 3 See the UDMAP section of the TRM for more information on this setting. The specified free queue must be valid within the Navigator Subsystem and must be owned by the host, or a subordinate of the host, who owns the receive flow index and who is making the optional configuration request. The register field is programmed if rx_fdq0_sz3_qnum’s valid bit is set.
rx_size_thresh_en u8 Flow packet size based free queue routing enable, cannot be greater than 7 See the UDMAP section of the TRM for more information on this setting. The register field is programmed if rx_size_thresh’s valid bit is set.

UDMAP Receive Flow Size Threshold Configure Valid Parameters

The following table describes the valid bit mappings for the UDMAP receive flow size threshold configure message parameters:

valid_params Bit Corresponding tisci_msg_rm_udmap_flow_size_thresh_cfg_req Parameter
0 rx_size_thresh0
1 rx_size_thresh1
2 rx_size_thresh2
3 rx_fdq0_sz1_qnum
4 rx_fdq0_sz2_qnum
5 rx_fdq0_sz3_qnum
6 rx_size_thresh_en

UDMAP Receive Flow Size Threshold Configure Response

The udmap flow size threshold cfg response message returns the result status of the processed udmap flow size threshold cfg message.

UDMAP Receive Flow Size Threshold Configure Response Message Parameters

Parameter Type Valid Values Description
hdr Generic TISCI message header (8 bytes) Valid Host IDs Generic TISCI message header. Contains the message ID, host ID, sequence number, and any return flags

UDMAP Receive Flow Size Threshold Get Configuration

UDMAP Receive Flow Size Threshold Routing Get Configuration Request

The udmap_flow_size_thresh_get_cfg TISCI message API is used to retrieve the non-real-time registers field settings for a UDMAP receive flow’s size threshold routing registers, or the hardware reset settings. The host, or a supervisor of the host, who owns the receive flow must be the requesting host. The register field values are returned in the udmap_flow_size_thresh_get_cfg_response message.

The udmap_flow_size_thresh_get_cfg API can be used to retrieve UDMAP receive flow configurations within any Navigator Subsystem on the device.

Usage

Message Type Normal
Secure Queue Only? No

UDMAP Receive Flow Size Threshold Routing Get Configuration Message Parameters

struct tisci_msg_rm_udmap_flow_size_thresh_get_cfg_req

Get Navigator Subsystem UDMAP receive flow’s non-real-time size threshold based queue routing register configuration

Parameter Type Description
hdr struct tisci_header Standard TISCI header
nav_id u16 SoC device ID of Navigator Subsystem in which the UDMAP receive flow is located
index u16 UDMAP receive flow index.
get_reset_cfg u8 Switch defining which UDMAP flow configuration is returned: @ref TISCI_MSG_VALUE_RM_UDMAP_GET_CFG_REG - Return non-real-time register configuration @ref TISCI_MSG_VALUE_RM_UDMAP_GET_CFG_RESET - Return non-real-time register hardware reset value configuration

Gets the configuration of the non-real-time register fields of a UDMAP receive flow’s size threshold routing registers. The host, or a supervisor of the host, who owns the flow must be the requesting host. The values of the non-real-time registers are returned in @ref tisci_msg_rm_udmap_flow_size_thresh_get_cfg_resp. The reset_cfg parameter is used to request either the existing non-real-time register values or the hardware reset values for the UDMAP flow’s register fields.

UDMAP Receive Flow Size Threshold Routing Get Configuration Response

The udmap_flow_size_thresh_get_cfg response TISCI message contains the UDMAP receive flow’s non-real-time size threshold routing register field values.

UDMAP Receive Flow Size Threshold Routing Get Configuration Response Message Parameters

struct tisci_msg_rm_udmap_flow_size_thresh_get_cfg_resp

UDMAP receive flow get size threshold configuration response message

Parameter Type Description
hdr struct tisci_header Standard TISCI header
rx_size_thresh0 u16 UDMAP receive flow packet size threshold 0
rx_size_thresh1 u16 UDMAP receive flow packet size threshold 1
rx_size_thresh2 u16 UDMAP receive flow packet size threshold 2
rx_fdq0_sz1_qnum u16 UDMAP receive flow free descriptor queue for size threshold 1
rx_fdq0_sz2_qnum u16 UDMAP receive flow free descriptor queue for size threshold 2
rx_fdq0_sz3_qnum u16 UDMAP receive flow free descriptor queue for size threshold 3
rx_size_thresh_en u8 UDMAP receive flow packet size based free buffer queue enable

Response received by host processor after RM has handled @ref tisci_msg_rm_udmap_flow_size_thresh_get_cfg_req. The response contains the receive flow’s non-real-time size threshold routing register values.