STRUCT OMAP_L3(9)
π 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's0). And here's the twist: if it's set toL3_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 theMSTADDRinformation of theNTTPpacket. 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
- 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