STRUCT TI_SCI_INFO(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ struct ti_sci_info(9) ✨

okay bestie, welcome to the Kernel API Manual πŸ’… this is the whole entire page about struct ti_sci_info and honestly? it's giving main character energy for the TI SCI subsystem. let's get into it 🫢


🌸 NAME 🌸

struct ti_sci_info β€” the structure that represents a TI SCI instance, like, the whole vibe of one SCI thing in one struct πŸ’–


✨ SYNOPSIS ✨

here's the literal layout, no cap, copy it exactly or the compiler will simply end you 😭

struct ti_sci_info {
    struct device *dev;
    const struct ti_sci_desc *desc;
    struct dentry *d;
    void __iomem *debug_region;
    char *debug_buffer;
    size_t debug_region_size;
    struct ti_sci_handle handle;
    struct mbox_client cl;
    struct mbox_chan *chan_tx;
    struct mbox_chan *chan_rx;
    struct ti_sci_xfers_info minfo;
    struct list_head node;
    unsigned long irqs[1 << (( 8) - 1)];
    struct mutex irq_lock;
    u8 host_id;
    u64 fw_caps;
    int users;
 };

(yes, that irqs line is real, she's iconic and she's doing math in her index expression πŸ”₯ and yes there's a lil space before that closing brace, she lives there, leave her alone πŸŽ€)


πŸ¦‹ Members πŸ¦‹

okay so every single member, and what she actually does:

  • dev β€” device pointer. the classic. the moment. 🫢
  • desc β€” SoC description for this instance. this is the SoC lore, iykyk 🌈
  • d β€” debugfs file entry. her little debugfs doorway ✨
  • debug_region β€” memory region where the debug message are available. yes, that's the wording, and yes it's where the debug messages hang out πŸ’–
  • debug_buffer β€” buffer allocated to copy debug messages. it copies. it buffers. she serves πŸ’…
  • debug_region_size β€” the debug region size. how big the debug region is. slay, we love a self-explanatory queen πŸ‘‘
  • handle β€” instance of TI SCI handle to send to clients. this is the one you actually hand out, periodt ⭐
  • cl β€” mailbox client. πŸ“¬
  • chan_tx β€” transmit mailbox channel. the sending one πŸ’Œ
  • chan_rx β€” receive mailbox channel. the getting one πŸ“₯
  • minfo β€” message info. πŸŽ€
  • node β€” list head. she's a list head, that's the whole job 🌸
  • irqs β€” list of allocated irqs. (an array, bestie, but the docs call it a list, we respect her 🧚)
  • irq_lock β€” protection for irq hash list. she's the bouncer, nobody touches the irq hash list without her πŸ”’
  • host_id β€” host ID. the ID of the host. πŸ’œ
  • fw_caps β€” FW/SoC low power capabilities. the low power flexibility of the firmware/SoC ✨
  • users β€” number of users of this instance. counting the besties 🫢

πŸ”₯ SEE ALSO πŸ”₯

okay this is the big one, a whole group chat of references, all from the kernel file:

./drivers/firmware/ti_sci.c

and she references like everyone she's ever met:

like, she knows everybody. that's range πŸ’€βœ¨


and that's the whole page, bestie πŸŽ€ no notes, ate and left no crumbs. this masterpiece of a man page lives in ./drivers/firmware and was dated October 2026 β€” mwah, iconic, bye πŸ’–πŸ¦‹πŸ‘‘

πŸ“¦ where this page comes from