STRUCT TI_SCI_MSG_UDMAP_RX_FLOW_CFG(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct ti_sci_msg_udmap_rx_flow_cfg(9) πŸŽ€

okay bestie so this is a page straight outta the Kernel API Manual, and it's all about struct ti_sci_msg_udmap_rx_flow_cfg β€” the UDMAP receive flow configuration message. yes it's a whole struct of config for a receive flow, no cap, and we're gonna walk through every single field together 🫢


✨ NAME ✨

struct ti_sci_msg_udmap_rx_flow_cfg β€” the UDMAP receive flow configuration message. that's it, that's the vibe πŸ’–


🌸 SYNOPSIS 🌸

struct ti_sci_msg_udmap_rx_flow_cfg {
    struct ti_sci_msg_hdr hdr;
    u32 nav_id;
    u32 flow_index;
    u32 rx_ch_index;
    u8 rx_einfo_present;
    u8 rx_psinfo_present;
    u8 rx_error_handling;
    u8 rx_desc_type;
    u16 rx_sop_offset;
    u16 rx_dest_qnum;
    u8 rx_ps_location;
    u8 rx_src_tag_hi;
    u8 rx_src_tag_lo;
    u8 rx_dest_tag_hi;
    u8 rx_dest_tag_lo;
    u8 rx_src_tag_hi_sel;
    u8 rx_src_tag_lo_sel;
    u8 rx_dest_tag_hi_sel;
    u8 rx_dest_tag_lo_sel;
    u8 rx_size_thresh_en;
    u16 rx_fdq0_sz0_qnum;
    u16 rx_fdq1_qnum;
    u16 rx_fdq2_qnum;
    u16 rx_fdq3_qnum;
 };

bestie look at all those fields 😭 every one of them is doing a job and we're gonna respect all of them. periodt.


πŸ¦‹ MEMBERS πŸ¦‹

okay so here's the whole roster, one by one, no skipping, main character energy only πŸ‘‘

  • hdr β€” the generic header. the little intro every message needs πŸ’…
  • nav_id β€” the SoC Navigator Subsystem device ID that this receive flow gets allocated from.
  • flow_index β€” the UDMAP receive flow index for the non-optional configuration. basically the flow's whole identity.
  • rx_ch_index β€” says which index of the receive channel is using the flow_index. they're linked, iykyk πŸ”—
  • rx_einfo_present β€” UDMAP receive flow extended packet info present.
  • rx_psinfo_present β€” UDMAP receive flow PS words present.
  • rx_error_handling β€” the UDMAP receive flow error handling configuration. the valid values are TI_SCI_RM_UDMAP_RX_FLOW_ERR_DROP / RETRY. pick one, she's gotta know 🚨
  • rx_desc_type β€” the UDMAP receive flow descriptor type. it can be one of TI_SCI_RM_UDMAP_RX_FLOW_DESC_HOST / MONO.
  • rx_sop_offset β€” the UDMAP receive flow start of packet offset. the beginning of the story bestie ✨
  • rx_dest_qnum β€” the UDMAP receive flow destination queue number. where it's all headed πŸ“¬
  • rx_ps_location β€” the UDMAP receive flow PS words location. the values are: 0 - end of packet descriptor, 1 - Beginning of the data buffer.
  • rx_src_tag_hi β€” the UDMAP receive flow source tag high byte constant.
  • rx_src_tag_lo β€” the UDMAP receive flow source tag low byte constant.
  • rx_dest_tag_hi β€” the UDMAP receive flow destination tag high byte constant.
  • rx_dest_tag_lo β€” the UDMAP receive flow destination tag low byte constant.
  • rx_src_tag_hi_sel β€” the UDMAP receive flow source tag high byte selector.
  • rx_src_tag_lo_sel β€” the UDMAP receive flow source tag low byte selector.
  • rx_dest_tag_hi_sel β€” the UDMAP receive flow destination tag high byte selector.
  • rx_dest_tag_lo_sel β€” the UDMAP receive flow destination tag low byte selector.
  • rx_size_thresh_en β€” the UDMAP receive flow packet size based free buffer queue enable. and listen: if it's enabled, the ti_sci_rm_udmap_rx_flow_opt_cfg also needs to be configured and sent. don't forget that part, bestie, it's literally required πŸ™ˆ
  • rx_fdq0_sz0_qnum β€” the UDMAP receive flow free descriptor queue 0.
  • rx_fdq1_qnum β€” the UDMAP receive flow free descriptor queue 1.
  • rx_fdq2_qnum β€” the UDMAP receive flow free descriptor queue 2.
  • rx_fdq3_qnum β€” the UDMAP receive flow free descriptor queue 3.

four free descriptor queues, all accounted for, we ate that πŸ’€βœ¨


πŸ”₯ DESCRIPTION πŸ”₯

for the detailed info on all these settings, go check out the UDMAP section of the TRM. that's where the lore lives πŸ“–


🌈 SEE ALSO 🌈

okay this list is long and I'm obsessed, here's literally all of it:

  • 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 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_rx_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)

like I said. a whole friend group πŸ«ΆπŸ’œ


and that's the whole page bestie!! this one came from ./drivers/firmware and it's dated October 2026 β€” ty for reading, ily, go configure your receive flow correctly πŸ§šβ­πŸ’–

πŸ“¦ where this page comes from