STRUCT OMAP_L3(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… NAME πŸ’…

struct omap_l3 β€” the whole rundown of data relevant for the L3 bus, bestie. It's the little struct that holds everything you need to know about this bus. ✨


πŸŽ€ SYNOPSIS πŸŽ€

struct omap_l3 {
    struct device *dev;
    void __iomem *l3_base[MAX_L3_MODULES];
    struct l3_flagmux_data **l3_flagmux;
    int num_modules;
    struct l3_masters_data *l3_masters;
    int num_masters;
    u32 mst_addr_mask;
    int debug_irq;
    int app_irq;
 };

That's the whole lineup, no cap. πŸ’–


🌸 Members 🌸

  • dev β€” the device that represents the bus. It gets populated at runtime, so it's giving "I'll be there when I'm there" energy. πŸ¦‹
  • l3_base β€” base addresses of the modules (populated at runtime if it's 0). And here's the twist: if it's set to L3_BASE_IS_SUBMODULE, then it uses the previous module index as the base address. Not me being obsessed with that little trick, but like… iconic. πŸ‘‘
  • l3_flagmux β€” literally just sitting here in the struct, living its best life. πŸ’…
  • num_modules β€” the number of clock domains / modules. Counting queen. πŸ”’
  • l3_masters β€” an array pointing to master data, and that master data is holding the name and the register offset for the master. 🫢
  • num_masters β€” also here, also valid, also part of the roster. ✨
  • mst_addr_mask β€” the mask that represents the MSTADDR information of the NTTP packet. Get you a mask that can do both. 😭
  • debug_irq β€” the irq number of the debug interrupt (and yep, it's populated at runtime). πŸ”₯
  • app_irq β€” the irq number of the application interrupt (populated at runtime too, matching energy fr fr). 🌈

πŸ¦‹ SEE ALSO πŸ¦‹

Kernel file ./drivers/bus/omap_l3_noc.h plus struct l3_masters_data(9), struct l3_target_data(9), and struct l3_flagmux_data(9) β€” go read them, iykyk. πŸ’œ


ok that's the whole page bestie, go forth and slay πŸ’…βœ¨

Cute little sign-off: this one lives in ./drivers/bus, and it's dated October 2026 β€” mark your calendars, periodt. πŸŽ€πŸŒΈ

πŸ“¦ where this page comes from