nfp_xpb_writelm(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… nfp_xpb_writelm β€” the kernel API manual, bestie edition ✨

okay so you're here about nfp_xpb_writelm(9)?? that's the kernel API manual page for it, and honestly? it's a little cutie. let me walk you through it 🫢


✨ NAME ✨

nfp_xpb_writelm β€” modify bits of a 32-bit value from the XPB bus 🌸

like, it's a partial write. a masked write. it's giving "surgical little bit-flip era" πŸ’…


✨ SYNOPSIS ✨

int nfp_xpb_writelm (struct nfp_cpp *cpp , u32 xpb_tgt , u32 mask , u32
value );

takes four things, returns an int. that's the whole vibe. πŸŽ€


✨ ARGUMENTS ✨

  • cpp β€” your NFP CPP device handle πŸ’– (the whole device, basically)
  • xpb_tgt β€” the XPB target and address, bundled together, iconic
  • mask β€” the mask of bits you wanna alter 🎯 like, which bits are we touching, bestie
  • value β€” the value to modify. the actual payload. the main character 🌟

✨ DESCRIPTION ✨

so the description here is literally just:

KERNEL: this operation is safe to call in interrupt or softirq context πŸ”₯

no cap, that's the entire description. and it's kind of a big deal?? because being interrupt-safe means you can just call it from a context where you absolutely cannot sleep β€” so no blocking, no napping, no "brb gotta schedule", periodt. ⭐

πŸ’€ reminder: it being safe in interrupt/softirq context is the only thing the page claims, so don't go reading extra promises into it, okay? iykyk.

✨ RETURN ✨

  • 0 on success πŸŽ‰
  • -ERRNO if it's not πŸ’”

that's it. that's the return section. clean, minimal, slay.


✨ SEE ALSO ✨

okay this section is LONG and it ate, so buckle up πŸ¦‹ β€” everything below is literally listed on the page:

Kernel file

./drivers/net/ethernet/netronome/nfp/nfpcore/nfp_cppcore.c

Related functions

also peep nfp_xpb_writel(9) up there β€” yes, that's the other one, the full-write sibling. this page is the masked one. don't mix 'em up πŸ™ˆ


πŸŽ€ sign-off πŸŽ€

this whole thing lives in the kernel source tree, file ./drivers/net/ethernet/netrono... (that's the trailing bit of the path as shown in the footer, bestie β€” the full kernel file path is the one listed in SEE ALSO above πŸ’œ), and the page is dated October 2026. that's the version/date energy at the bottom. mwah. go flip some bits responsibly βœ¨πŸ’…πŸ¦‹

πŸ“¦ where this page comes from