STRUCT MSM_IOMMU_CTX_DEV(9)

📦 version 7.3.1, in nixpkgs unstable

💅 struct msm_iommu_ctx_dev(9) — the Kernel API Manual glow-up

okay bestie, so this is a page from the Kernel API Manual, and it's all about struct msm_iommu_ctx_dev — like, the actual C struct that models one IOMMU context bank instance for the msm iommu driver. it's short, it's sweet, and it's lowkey doing a lot of work behind the scenes. let's get into it ✨


🌸 NAME 🌸

struct msm_iommu_ctx_dev — a whole little struct for an IOMMU context bank instance, and here's every single thing living inside it, no gatekeeping:

  • of_node — the of_node node ptr of the client device for this here IOMMU context bank instance. it's giving "who do you belong to" energy 🎀
  • num — the Index of this context bank within the hardware. just a number, but it's her number 💅
  • mids — a List of Machine IDs that are to be mapped into this context bank, and yes it's terminated by -1. and because we don't leave you confused: the MID is a set of signals on the AXI bus that identifies the function associated with a specific memory request. (See ARM spec). iykyk 🦋
  • num_mids — Total number of mids. the headcount, basically 🫶
  • list — node list head in ctx_list. she's linked, she's social, she's on the list 🌈

✨ SYNOPSIS ✨

here's the whole shape of her, verbatim, don't touch:

struct msm_iommu_ctx_dev {
    struct device_node *of_node;
    int num;
    int mids[MAX_NUM_MIDS];
    int num_mids;
    struct list_head list;
 };

like, that's the whole thing. MAX_NUM_MIDS is right there in the code, so that's the cap on mids, and no we're not guessing at what it's set to — the page doesn't say, and I refuse to make things up 💀


🧚 Members 🧚

the original page has this section right here, sitting between SYNOPSIS and SEE ALSO, and it's literally blank — not a single line under it. iconic of her honestly 🙈

so bestie, if you want the deets on each member, scroll right back up to NAME, because that's exactly where this page puts them: of_node, num, mids (remember: terminated by -1, MIDs are AXI bus signal sets identifying the function tied to a specific memory request, See ARM spec), num_mids, and list as the node list head in ctx_list. periodt 👑


🔥 SEE ALSO 🔥

  • Kernel file ./drivers/iommu/msm_iommu.h — go read the header, that's where the real tea lives 🍓
  • struct msm_iommu_dev(9) — her sibling, her other half, the main character next door 👑

heads up bestie: mids is terminated by -1, so if you're walking that array, that's your stop signal. don't walk past it, fr fr 💀

and that's the page!! this one came from ./drivers/iommu, dated October 2026, and it's struct msm_iommu_ctx_dev(9) all day. mwah, go read the header file, ily 🫶💖🎀

📦 where this page comes from