STRUCT TI_MSGMGR_DESC(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– struct ti_msgmgr_desc(9) πŸ’–

okay so this is a page from the Kernel API Manual, section 9 β€” yes bestie, we're in the kernel docs now, grab a snack πŸ“

✨ NAME ✨

struct ti_msgmgr_desc β€” literally just the description of the message manager integration. that's the whole vibe. πŸ¦‹

🌸 SYNOPSIS 🌸

struct ti_msgmgr_desc {
    u8 queue_count;
    u8 max_message_size;
    u8 max_messages;
    u8 data_first_reg;
    u8 data_last_reg;
    u32 status_cnt_mask;
    u32 status_err_mask;
    bool tx_polled;
    int tx_poll_timeout_ms;
    const struct ti_msgmgr_valid_queue_desc *valid_queues;
    const char *data_region_name;
    const char *status_region_name;
    const char *ctrl_region_name;
    int num_valid_queues;
    bool is_sproxy;
};

like, that's the struct. that's her. main character energy fr πŸ’…

πŸŽ€ Members πŸŽ€

the fields, one by one, no skips πŸ‘‘

  • queue_count β€” Number of Queues. that's it, that's the count 🧚
  • max_message_size β€” Message size in bytes. bytes!! not vibes, bytes.
  • max_messages β€” Number of messages. how many messages we're dealing with πŸ’Œ
  • data_first_reg β€” First data register for proxy data region. the first one, bestie.
  • data_last_reg β€” Last data register for proxy data region. and obviously this is the last one 🫢
  • status_cnt_mask β€” Mask for getting the status value. mask on, status out ✨
  • status_err_mask β€” Mask for getting the error value, if applicable. note the "if applicable" β€” sometimes she's just not relevant, and that's fine 😭
  • tx_polled β€” Do I need to use polled mechanism for tx. the struct is literally asking itself. relatable.
  • tx_poll_timeout_ms β€” Timeout in ms if polled. ms = milliseconds, keep up πŸ’€
  • valid_queues β€” List of Valid queues that the processor can access. valid ones only, we don't do invalid queues here πŸ‘‘
  • data_region_name β€” Name of the proxy data region.
  • status_region_name β€” Name of the proxy status region.
  • ctrl_region_name β€” Name of the proxy control region. that's all three regions accounted for, slay 🌈
  • num_valid_queues β€” Number of valid queues. yes it's a different field from queue_count, don't come for me, that's just how it is πŸ™ˆ
  • is_sproxy β€” Is this an Secure Proxy instance? (the double-article is canon, we're keeping it, love that for the original author πŸ’–)

πŸ¦‹ Description πŸ¦‹

so this structure is used in of match data to describe how integration for a specific compatible SoC is done. that's the entire job. it's giving "I'm the blueprint for how this SoC wires up its message manager" and honestly? iconic ✨

⭐ SEE ALSO ⭐

kernel file ./drivers/mailbox/ti-msgmgr.c, plus the whole friend group:

go read them too, iykyk πŸ’œ


okay that's the page πŸ’« it lives in ./drivers/mailbox and it's dated October 2026 β€” so yeah, she's from the future, we stan a forward-thinking manpage 🌸🫢 go forth and describe your message manager integration, bestie πŸ’…

πŸ“¦ where this page comes from