STRUCT TI_SCI_MSG_RM_UDMAP_RX_CH_CFG_REQ(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

🌸 NAME 🌸

struct ti_sci_msg_rm_udmap_rx_ch_cfg_req(9) β€” from the Kernel API Manual, bestie β€” is the struct that configures a Navigator Subsystem UDMAP receive channel. πŸ’–

✨ SYNOPSIS ✨

Okay so here's the whole struct, literally every field, no cap:

struct ti_sci_msg_rm_udmap_rx_ch_cfg_req {
    struct ti_sci_msg_hdr hdr;
    u32 valid_params;
    u16 nav_id;
    u16 index;
    u16 rx_fetch_size;
    u16 rxcq_qnum;
    u8 rx_priority;
    u8 rx_qos;
    u8 rx_orderid;
    u8 rx_sched_priority;
    u16 flowid_start;
    u16 flowid_cnt;
    u8 rx_pause_on_err;
    u8 rx_atype;
    u8 rx_chan_type;
    u8 rx_ignore_short;
    u8 rx_ignore_long;
    u8 rx_burst_size;
};

πŸ’… Members πŸ’…

  • hdr β€” Generic Header. That's it, that's the header vibe. πŸŽ€
  • valid_params β€” this bitfield defines the validity of the rx channel configuration parameters. If the matching valid bit is zero, that field is not valid and will not be used for ch configuration. Valid bit usage, periodt:
    • 0 β€” Valid bit for ti_sci_msg_rm_udmap_rx_ch_cfg_req::rx_pause_on_err
    • 1 β€” Valid bit for ti_sci_msg_rm_udmap_rx_ch_cfg_req::rx_atype
    • 2 β€” Valid bit for ti_sci_msg_rm_udmap_rx_ch_cfg_req::rx_chan_type
    • 3 β€” Valid bit for ti_sci_msg_rm_udmap_rx_ch_cfg_req::rx_fetch_size
    • 4 β€” Valid bit for ti_sci_msg_rm_udmap_rx_ch_cfg_req::rxcq_qnum
    • 5 β€” Valid bit for ti_sci_msg_rm_udmap_rx_ch_cfg_req::rx_priority
    • 6 β€” Valid bit for ti_sci_msg_rm_udmap_rx_ch_cfg_req::rx_qos
    • 7 β€” Valid bit for ti_sci_msg_rm_udmap_rx_ch_cfg_req::rx_orderid
    • 8 β€” Valid bit for ti_sci_msg_rm_udmap_rx_ch_cfg_req::rx_sched_priority
    • 9 β€” Valid bit for ti_sci_msg_rm_udmap_rx_ch_cfg_req::flowid_start
    • 10 β€” Valid bit for ti_sci_msg_rm_udmap_rx_ch_cfg_req::flowid_cnt
    • 11 β€” Valid bit for ti_sci_msg_rm_udmap_rx_ch_cfg_req::rx_ignore_short
    • 12 β€” Valid bit for ti_sci_msg_rm_udmap_rx_ch_cfg_req::rx_ignore_long
    • 14 β€” Valid bit for ti_sci_msg_rm_udmap_rx_ch_cfg_req::rx_burst_size
  • nav_id β€” the SoC device ID of the Navigator Subsystem where the rx channel is located. πŸ›°οΈ
  • index β€” the UDMAP receive channel index. Like, which receive channel we're talking about, bestie. πŸ‘‘
  • rx_fetch_size β€” the UDMAP receive channel's number of 32-bit descriptor words to fetch configuration, and it gets programmed into the rx_fetch_size field of the channel's RCHAN_RCFG register. ✨
  • rxcq_qnum β€” the UDMAP receive channel completion queue configuration to be programmed into the rxcq_qnum field of the RCHAN_RCQ register. Heads up: the specified completion queue must be assigned to the host β€” or a subordinate of the host β€” that's requesting configuration of the receive channel. No rando queues, iykyk. πŸ’…
  • rx_priority β€” the UDMAP receive channel receive priority value to be programmed into the priority field of the channel's RCHAN_RPRI_CTRL register. 🌸
  • rx_qos β€” the UDMAP receive channel receive qos value to be programmed into the qos field of the channel's RCHAN_RPRI_CTRL register. πŸ¦‹
  • rx_orderid β€” the UDMAP receive channel bus order id value to be programmed into the orderid field of the channel's RCHAN_RPRI_CTRL register. πŸŽ€
  • rx_sched_priority β€” the UDMAP receive channel rx scheduling priority configuration to be programmed into the priority field of the channel's RCHAN_RST_SCHED register. ⭐
  • flowid_start β€” this is the UDMAP receive channel additional flows starting index configuration, and it gets programmed into the flow_start field of the RCHAN_RFLOW_RNG register. It specifies the starting index for flow IDs the receive channel is to make use of beyond the default flow. flowid_start and ref flowid_cnt must be set as valid and configured together. The starting flow ID set by ref flowid_cnt must be a flow index within the Navigator Subsystem's subset of flows beyond the default flows statically mapped to receive channels. The additional flows must be assigned to the host β€” or a subordinate of the host β€” requesting configuration of the receive channel. πŸ”₯
  • flowid_cnt β€” this is the UDMAP receive channel additional flows count configuration to program into the flowid_cnt field of the RCHAN_RFLOW_RNG register. This field specifies how many flow IDs are in the additional contiguous range of legal flow IDs for the channel. ref flowid_start and flowid_cnt must be set as valid and configured together. Disabling the valid_params field bit for flowid_cnt indicates no flow IDs other than the default are to be allocated and used by the receive channel. ref flowid_start plus flowid_cnt cannot be greater than the number of receive flows in the receive channel's Navigator Subsystem. The additional flows must be assigned to the host β€” or a subordinate of the host β€” requesting configuration of the receive channel. πŸ’€
  • rx_pause_on_err β€” the UDMAP receive channel pause on error configuration to be programmed into the rx_pause_on_err field of the channel's RCHAN_RCFG register. πŸ™ˆ
  • rx_atype β€” the UDMAP receive channel non Ring Accelerator access pointer interpretation configuration to be programmed into the rx_atype field of the channel's RCHAN_RCFG register. πŸ“
  • rx_chan_type β€” the UDMAP receive channel functional channel type and work passing mechanism configuration to be programmed into the rx_chan_type field of the channel's RCHAN_RCFG register. 🧚
  • rx_ignore_short β€” the UDMAP receive channel short packet treatment configuration to be programmed into the rx_ignore_short field of the RCHAN_RCFG register. 🌈
  • rx_ignore_long β€” the UDMAP receive channel long packet treatment configuration to be programmed into the rx_ignore_long field of the RCHAN_RCFG register. πŸ’œ
  • rx_burst_size β€” the UDMAP receive channel burst size configuration to be programmed into the rx_burst_size field of the RCHAN_RCFG register. 🫢

πŸ¦‹ Description πŸ¦‹

This struct configures the non-real-time registers of a Navigator Subsystem UDMAP receive channel. The channel index must be assigned to the host defined in the TISCI header via the RM board configuration resource assignment range list. That's the rule, bestie β€” no skipping it. πŸ’–

πŸ”₯ SEE ALSO πŸ”₯

Kernel file: ./drivers/firmware/ti_sci.h

  • struct ti_sci_msg_hdr(9)
  • struct ti_sci_msg_resp_version(9)
  • struct ti_sci_msg_req_reboot(9)
  • struct ti_sci_msg_resp_query_fw_caps(9)
  • struct ti_sci_msg_req_set_device_state(9)
  • struct ti_sci_msg_req_get_device_state(9)
  • struct ti_sci_msg_resp_get_device_state(9)
  • struct ti_sci_msg_req_set_device_resets(9)
  • struct ti_sci_msg_req_set_clock_state(9)
  • struct ti_sci_msg_req_get_clock_state(9)
  • struct ti_sci_msg_resp_get_clock_state(9)
  • struct ti_sci_msg_req_set_clock_parent(9)
  • struct ti_sci_msg_req_get_clock_parent(9)
  • struct ti_sci_msg_resp_get_clock_parent(9)
  • struct ti_sci_msg_req_get_clock_num_parents(9)
  • struct ti_sci_msg_resp_get_clock_num_parents(9)
  • struct ti_sci_msg_req_query_clock_freq(9)
  • struct ti_sci_msg_resp_query_clock_freq(9)
  • struct ti_sci_msg_req_set_clock_freq(9)
  • struct ti_sci_msg_req_get_clock_freq(9)
  • struct ti_sci_msg_resp_get_clock_freq(9)
  • struct ti_sci_msg_req_prepare_sleep(9)
  • struct ti_sci_msg_req_set_io_isolation(9)
  • struct ti_sci_msg_resp_lpm_wake_reason(9)
  • struct ti_sci_msg_req_lpm_set_device_constraint(9)
  • struct ti_sci_msg_req_lpm_set_latency_constraint(9)
  • struct ti_sci_msg_req_get_resource_range(9)
  • struct ti_sci_msg_resp_get_resource_range(9)
  • struct ti_sci_msg_req_manage_irq(9)
  • struct ti_sci_msg_rm_ring_cfg_req(9)
  • struct ti_sci_msg_psil_pair(9)
  • struct ti_sci_msg_psil_unpair(9)
  • struct ti_sci_msg_udmap_rx_flow_cfg(9)
  • struct rm_ti_sci_msg_udmap_rx_flow_opt_cfg(9)
  • struct ti_sci_msg_rm_udmap_tx_ch_cfg_req(9)
  • struct ti_sci_msg_rm_udmap_flow_cfg_req(9)
  • struct ti_sci_msg_req_proc_request(9)
  • struct ti_sci_msg_req_proc_release(9)
  • struct ti_sci_msg_req_proc_handover(9)
  • struct ti_sci_msg_req_set_config(9)
  • struct ti_sci_msg_req_set_ctrl(9)
  • struct ti_sci_msg_req_get_status(9)
  • struct ti_sci_msg_resp_get_status(9)

That's the whole page, bestie πŸ’œ β€” source path ./drivers/firmware, date October 2026, and the footer label is struct ti_sc...x_ch_cfg_req(9). Mwah! πŸ’…βœ¨

πŸ“¦ where this page comes from