STRUCT STM_DRVDATA(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct stm_drvdata(9) πŸ’…

okay so welcome to the Kernel API Manual, bestie β€” this page is literally all about struct stm_drvdata and we are gonna get into it πŸ’–


πŸ’– NAME πŸ’–

struct stm_drvdata β€” specifics associated to an STM component. That's the whole vibe: it's the struct that holds the specifics for an STM component, periodt πŸ‘‘


✨ SYNOPSIS ✨

okay so the shape is literally this, no cap:

struct stm_drvdata {
    void __iomem            *base;
    struct clk              *atclk;
    struct clk              *pclk;
    struct coresight_device *csdev;
    spinlock_t spinlock;
    struct channel_space    chs;
    struct stm_data         stm;
    u8 traceid;
    u32 write_bytes;
    u32 stmsper;
    u32 stmspscr;
    u32 numsp;
    u32 stmheer;
    u32 stmheter;
    u32 stmhebsr;
 };

πŸ‘‘ Members πŸ‘‘

  • base β€” the memory mapped base address for this component, bestie. It's giving "where the registers live" 🏠
  • atclk β€” an optional clock for the core parts of the STM. optional, so no pressure, but if it's there it's iconic ⏰
  • pclk β€” the APB clock if present, otherwise NULL. if it's missing, it's literally NULL, no cap πŸ«₯
  • csdev β€” the component vitals needed by the framework. essential little details, main character energy πŸ’…
  • spinlock β€” only one at a time pls. we are not doing chaos in here 😀
  • chs β€” the channels accociated to this STM (spelling is part of the lore now 🫢)
  • stm β€” the structure associated to the generic STM interface. the generic-interface bestie 🀝
  • traceid β€” the value of the current ID for this component. current ID, current vibes ✨
  • write_bytes β€” the Maximus bytes this STM can write at a time. yes, Maximus, capital M, iconic 😭
  • stmsper β€” settings for register STMSPER πŸŽ€
  • stmspscr β€” settings for register STMSPSCR 🌸
  • numsp β€” the total number of stimulus port support by this STM. that's the count, fr fr πŸ”’
  • stmheer β€” settings for register STMHEER πŸ’œ
  • stmheter β€” settings for register STMHETER πŸ¦‹
  • stmhebsr β€” settings for register STMHEBSR ⭐

πŸ¦‹ SEE ALSO πŸ¦‹

  • Kernel file ./drivers/hwtracing/coresight/coresight-stm.c β€” go read it when you want the full behind-the-scenes, bestie πŸ”₯

source/version: ./drivers/hwtracing/coresight Β· date: October 2026 Β· struct stm_drvdata(9) out, mwah πŸ’‹πŸ«Ά

πŸ“¦ where this page comes from