STRUCT SCMI_CHAN_INFO(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct scmi_chan_info(9) β€” the kernel API manual, bestie edition ✨

Okay so picture this: it's a struct scmi_chan_info, right? It's literally the structure that represents a SCMI channel's information. That's the whole vibe. One channel, one lil info bundle, main character energy πŸŽ€


🌸 SYNOPSIS 🌸

Like, here's the shape of it, no cap, copy it exactly:

struct scmi_chan_info {
    int id;
    struct device *dev;
    bool is_p2a;
    unsigned int rx_timeout_ms;
    unsigned int max_msg_size;
    struct scmi_handle *handle;
    bool no_completion_irq;
    void *transport_info;
 };

(Yes there's an extra lil space before that closing brace in the original. We respect it. It's iconic. πŸ’…)


✨ Members ✨

Girl. Let's go through them one by one, because every single field matters:

  • id β€” an identifier for this channel πŸ’– and get this: it matches the protocol number used to initialize this channel. So it's not just some random number, it's a whole identity, iykyk.
  • dev β€” a reference to the device in the SCMI hierarchy that corresponds to this channel. Your channel's home address, basically 🏠
  • is_p2a β€” a flag that tells you whether a channel is P2A (RX). Just a bool doing bool things, slaying as always ⭐
  • rx_timeout_ms β€” the configured RX timeout, measured in milliseconds. Tick tock, bestie πŸ•°οΈ
  • max_msg_size β€” maximum size of the message payload. That's the ceiling, the limit, the "don't test me" of payload sizes πŸ”₯
  • handle β€” a pointer to the SCMI entity handle. Pointing at things, as pointers do 🫢
  • no_completion_irq β€” a flag that says this channel has no completion interrupt mechanism for synchronous commands. And listen, this one's spicy: it can be dynamically set by transports at run-time inside their provided .chan_setup. So it's not locked in at birth, it can change at runtime. Not me being flexible πŸ’€
  • transport_info β€” transport layer related information. Vibes. Transport vibes. 🚌

πŸ¦‹ SEE ALSO πŸ¦‹

Kernel file ./drivers/firmware/arm_scmi/common.h, plus the whole friend group:


Ngl bestie, that SEE ALSO list is a whole squad. Read them all. Periodt. πŸ’œ

And that's the page! 🧚 This little gem lives over at ./drivers/firmware/arm_scmi, dated October 2026, and the header/footer both rep struct scmi_chan_info(9). Go off, king πŸ‘‘ 🌈

πŸ“¦ where this page comes from