irq_gc_mask_set_bit(9)
π
irq_gc_mask_set_bit β a Kernel API Manual moment β¨
Okay bestie, welcome to the Kernel API Manual page for irq_gc_mask_set_bit(9) β like a <9> section page, yes the fun kind of nine. Sit down, grab a boba, we're masking interrupt chips today and it's lowkey iconic π§
πΈ NAME πΈ
irq_gc_mask_set_bit β mask a chip by setting a bit in the mask register. That's it. That's the whole vibe check π
β¨ SYNOPSIS β¨
void irq_gc_mask_set_bit (struct irq_data *d );
Look at that signature. Returning nothing (void, she's humble, she's giving main character energy but doesn't need to prove it), taking exactly one thing: struct irq_data *d. Periodt π
π«Ά ARGUMENTS π«Ά
dβ bestie, it's irq_data. Yes that's the description. The literal, entire description. It'sirq_data, the thing, the struct, that one. No more notes were given and we respect that π
π¦ DESCRIPTION π¦
Okay so picture this: the chip has a single mask register. One. Uno. Not a whole pile of them, just the one register doing its one job π₯
And here's the part where you go "oh that's why": the values of this register are cached</cached> β wait no, cached β and they're protected by gc->lock. So when you call this and it goes and sets a bit in that mask register, the cached copy is staying in sync and the lock is holding the door so nobody's out here stomping on it at the same time. Respect the lock, love the lock, don't fight the lock ππ
π SEE ALSO π
This is the part where the page is like "and here's everyone she rolls with" β genuinely a whole friend group, no cap. All of these live in the kernel file ./kernel/irq/generic-chip.c π:
irq_gc_noop(9)irq_gc_mask_disable_reg(9)irq_gc_mask_clr_bit(9)irq_gc_unmask_enable_reg(9)irq_gc_ack_set_bit(9)irq_gc_ack_clr_bit(9)irq_gc_mask_disable_and_ack_set(9)irq_gc_eoi(9)irq_gc_set_wake(9)irq_alloc_generic_chip(9)irq_domain_alloc_generic_chips(9)irq_domain_remove_generic_chips(9)__irq_alloc_domain_generic_chips(9)irq_get_domain_generic_chip(9)irq_setup_generic_chip(9)irq_setup_alt_chip(9)irq_remove_generic_chip(9)
Seventeen of them. Counted them. Go read them. They're all slaying in their own lane β
Lowkey a note-to-self: noticeirq_gc_mask_set_bitsets a bit to mask, andirq_gc_mask_clr_bitclears a bit to mask β bestie they are NOT the same function, do not swap them, I'm begging π
Alright, that's the page! This whole thing came from the ./kernel/irq source, dated October 2026, and you can cite it as irq_gc_mask_set_bit(9) forever and ever. Byeee, go mask those chips, you've got this ππ
π¦ 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