STRUCT PANTHOR_IRQ(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

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

okay so this is the Kernel API Manual page for struct panthor_irq, and bestie, it is literally the IRQ data era. ✨ Used to automate IRQ handling for the 3 different IRQs in this driver β€” no cap, that's the whole vibe.

✨ NAME ✨

struct panthor_irq β€” IRQ data πŸŽ€

🌸 SYNOPSIS 🌸

       struct panthor_irq {
           struct panthor_device *ptdev;
           void __iomem *iomem;
           int irq;
           u32 mask;
           spinlock_t mask_lock;
           atomic_t state;
        };

πŸŽ€ Members πŸŽ€

  • ptdev β€” Panthor device. 🫢
  • iomem β€” CPU mapping of the IRQ base address. literally the map, iykyk.
  • irq β€” IRQ number. πŸ’…
  • mask β€” values to write to xxx_INT_MASK if active. periodt.
  • mask_lock β€” protects modifications to _INT_MASK and mask. πŸ”₯
🚨 okay bestie, this is the crucial caveat: in paths where _INT_MASK is updated based on a state transition/check, it's crucial for the state update/check to be inside the locked section. Otherwise it introduces a race window leading to potential _INT_MASK inconsistencies. not me warning you dramatically, but fr fr. πŸ’€
  • state β€” one of enum panthor_irq_state, reflecting the current state. 🌈

πŸ’– Description πŸ’–

Used to automate IRQ handling for the 3 different IRQs we have in this driver. that's it, that's the main character energy. πŸ‘‘

πŸ¦‹ SEE ALSO πŸ¦‹


xoxo, signing off from ./drivers/gpu/drm/panthor β€” October 2026, struct panthor_irq(9) out! πŸ’–πŸ«Άβœ¨

πŸ“¦ where this page comes from