emac_irq(9)
π emac_irq(9) β like, the EMAC interrupt handler bestie π
okay so this is a page from the Kernel API Manual, and honestly? it's a short one but it's iconic. it's all about emac_irq, which is the EMAC interrupt handler. she's the first one to know something happened, and she immediately delegates. main character energy, but make it teamwork. π«Ά
β¨ SYNOPSIS β¨
irqreturn_t emac_irq (int irq , void *dev_id );
that's the whole signature, no cap. she takes two things and hands you back an irqreturn_t. π
πΈ ARGUMENTS πΈ
irqβ the interrupt number. literally just which interrupt we're talking about, that's it, that's the whole vibe. π₯dev_idβ a pointer to the EMAC network adapter data structure. yes queen, it's avoid *, you know the drill. π
π¦ DESCRIPTION π¦
okay so here's the tea β β this is the EMAC Interrupt handler, and the way she works is genuinely so smart. she does not process any packets here. nope. not her job. what she does is schedule NAPI and then dips. periodt. β¨
and like, even the interrupt status check (TX/RX/Err) doesn't happen here β that all gets checked in the NAPI poll function instead. so she's really just the hype girl at the door going "someone's here!!" and then emac_poll does the actual work. π
ngl the original says "EVen" with a capital V in the middle and honestly? relatable typo energy. anyway. facts preserved. π
she returns interrupt handled condition β that's the return value, bestie. π§
π SEE ALSO π
the kernel file that lives and breathes all of this:
./drivers/net/ethernet/ti/davinci_emac.c
and the whole friend group, in order, because I would never leave anyone out of the group chat π:
emac_get_drvinfo(9)emac_get_coalesce(9)emac_set_coalesce(9)emac_update_phystatus(9)hash_get(9)emac_hash_add(9)emac_hash_del(9)emac_add_mcast(9)emac_dev_mcast_set(9)emac_int_disable(9)emac_int_enable(9)emac_dev_xmit(9)emac_dev_tx_timeout(9)emac_set_type0addr(9)emac_set_type1addr(9)emac_set_type2addr(9)emac_setmac(9)emac_dev_setmac_addr(9)emac_hw_enable(9)emac_poll(9)emac_poll_controller(9)emac_devioctl(9)emac_dev_open(9)emac_dev_stop(9)emac_dev_getnetstats(9)davinci_emac_probe(9)davinci_emac_remove(9)davinci_emac_init(9)davinci_emac_exit(9)
and that's the whole page, bestie!! π this one came from the source path ./drivers/net/ethernet/ti and it's dated October 2026 β yeah, the future. she's ahead of her time fr fr. β go read emac_poll(9) next if you wanna see who actually does the work πππ¦
π¦ 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