STRUCT QMP(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

struct qmp(9) πŸ’…

okay so this is from the Kernel API Manual, and we're about to get into the driver-state of it all. no cap, this struct is lowkey the main character. πŸŽ€


🌸 NAME 🌸

struct qmp β€” driver state for QMP implementation. it's giving "everything the driver needs to keep its little life together," and honestly? obsessed. ✨


✨ SYNOPSIS ✨

struct qmp {
    void __iomem *msgram;
    struct device *dev;
    struct mbox_client mbox_client;
    struct mbox_chan *mbox_chan;
    size_t offset;
    size_t size;
    wait_queue_head_t event;
    struct mutex tx_lock;
    struct clk_hw qdss_clk;
    struct qmp_cooling_device *cooling_devs;
    struct dentry *debugfs_root;
    struct dentry *debugfs_files[QMP_DEBUGFS_FILES];
};

🫢 Members 🫢

  • msgram β€” iomem referencing the message RAM used for communication. the message RAM is literally right there, bestie. 🫢
  • dev β€” reference to QMP device. it's the device link-up, periodt. πŸ’–
  • mbox_client β€” mailbox client used to ring the doorbell on transmit. yes, we're ringing the doorbell, slay. πŸ””
  • mbox_chan β€” mailbox channel used to ring the doorbell on transmit. same doorbell energy, different field. πŸ’…
  • offset β€” offset within msgram where messages should be written. so this is where the writing goes down. ✍️
  • size β€” maximum size of the messages to be transmitted. the literal size limit, no cap. πŸ“
  • event β€” wait_queue for synchronization with the IRQ. IRQ sync moment, iconic. ⏳
  • tx_lock β€” provides synchronization between multiple callers of qmp_send. multiple callers? not on this lock's watch. πŸ”’
  • qdss_clk β€” QDSS clock hw struct. clock hardware representation, we love to see it. ⏰
  • cooling_devs β€” thermal cooling devices. thermal cooling besties, assembled. 🧊
  • debugfs_root β€” directory for the developer/tester interface. the developer/tester girlies have a home. 🏠
  • debugfs_files β€” array of individual debugfs entries under debugfs_root. every entry is a little debugfs star. ⭐

πŸ‘‘ SEE ALSO πŸ‘‘

Kernel file ./drivers/soc/qcom/qcom_aoss.c β€” meet qmp_send(9), qmp_get(9), and qmp_put(9). go read the friends, bestie, iykyk. πŸ¦‹πŸŒˆ


source/version + date sign-off: this page comes from ./drivers/soc/qcom, dated October 2026, under the title struct qmp(9). that's the footer situation, and it ate. πŸ’–πŸŽ€

πŸ“¦ where this page comes from