STRUCT QCOM_SMD_EDGE(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

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

okay so bestie, welcome to the Kernel API Manual, this one's all about struct qcom_smd_edge β€” the little struct that's literally representing a remote processor 🫢. it lives in ./drivers/rpmsg and it's giving main character energy for the whole SMD subsystem, ngl.


✨ NAME ✨

struct qcom_smd_edge β€” representing a remote processor πŸ’…


🌸 SYNOPSIS 🌸

struct qcom_smd_edge {
    struct device dev;
    const char *name;
    struct device_node *of_node;
    unsigned edge_id;
    unsigned remote_pid;
    int irq;
    struct regmap *ipc_regmap;
    int ipc_offset;
    int ipc_bit;
    struct mbox_client mbox_client;
    struct mbox_chan *mbox_chan;
    struct list_head channels;
    spinlock_t channels_lock;
    unsigned long allocated[SMD_ALLOC_TBL_COUNT][BITS_TO_LONGS(
SMD_ALLOC_TBL_SIZE)];
    unsigned smem_available;
    wait_queue_head_t new_channel_event;
    struct work_struct scan_work;
    struct work_struct state_work;
 };

πŸŽ€ Members πŸŽ€

don't skip a single one of these, they ALL matter, periodt:

  • dev β€” the device associated with this edge πŸ¦‹
  • name β€” name of this edge ✨
  • of_node β€” the of_node handle for info related to this edge 🌸
  • edge_id β€” identifier of this edge πŸ”₯
  • remote_pid β€” identifier of remote processor πŸ‘‘
  • irq β€” the interrupt for signals on this edge ⭐
  • ipc_regmap β€” regmap handle holding the outgoing ipc register πŸ’œ
  • ipc_offset β€” offset within ipc_regmap of the register for ipc πŸ’«
  • ipc_bit β€” bit in the register at ipc_offset of ipc_regmap πŸŽ€
  • mbox_client β€” mailbox client handle 🧚
  • mbox_chan β€” apcs ipc mailbox channel handle πŸ“¬
  • channels β€” list of all channels detected on this edge 🌈
  • channels_lock β€” guard for modifications of channels πŸ”’
  • allocated β€” array of bitmaps representing already allocated channels πŸ’…
  • smem_available β€” last available amount of smem triggering a channel scan 😭
  • new_channel_event β€” wait queue for new channel events 🫢
  • scan_work β€” work item for discovering new channels πŸ”
  • state_work β€” work item for edge state changes πŸ’€

πŸ¦‹ SEE ALSO πŸ¦‹

go check these out too, iykyk:


ngl if you made it this far you're lowkey a kernel girlie now. slay. πŸ’…βœ¨

mwah, that's the whole page babes β€” this beauty came from ./drivers/rpmsg, dated October 2026, and it's titled struct qcom_smd_edge(9). see u in the next manpage bestie πŸŽ€πŸ’–

πŸ“¦ where this page comes from