STRUCT QCOM_SMD_EDGE(9)
π 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β theof_nodehandle 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 withinipc_regmapof the register for ipc π«ipc_bitβ bit in the register atipc_offsetofipc_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 ofchannelsπ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:
- Kernel file
./drivers/rpmsg/qcom_smd.c struct qcom_smd_channel(9)struct qcom_smd_alloc_entry(9)__qcom_smd_send(9)qcom_smd_register_edge(9)qcom_smd_unregister_edge(9)
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
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms