nfp_xpb_writelm(9)
π 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, iconicmaskβ the mask of bits you wanna alter π― like, which bits are we touching, bestievalueβ 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 β¨
0on success π-ERRNOif 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
struct nfp_cpp(9)nfp_cpp_free(9)nfp_cpp_model(9)nfp_cpp_interface(9)nfp_cpp_serial(9)nfp_cpp_area_alloc_with_name(9)nfp_cpp_area_alloc(9)nfp_cpp_area_alloc_acquire(9)nfp_cpp_area_free(9)nfp_cpp_area_acquire(9)nfp_cpp_area_acquire_nonblocking(9)nfp_cpp_area_release(9)nfp_cpp_area_release_free(9)nfp_cpp_area_read(9)nfp_cpp_area_write(9)nfp_cpp_area_size(9)nfp_cpp_area_name(9)nfp_cpp_area_priv(9)nfp_cpp_area_cpp(9)nfp_cpp_area_resource(9)nfp_cpp_area_phys(9)nfp_cpp_area_iomem(9)nfp_cpp_area_readl(9)nfp_cpp_area_writel(9)nfp_cpp_area_readq(9)nfp_cpp_area_writeq(9)nfp_cpp_area_fill(9)nfp_cpp_area_cache_add(9)nfp_cpp_read(9)nfp_cpp_write(9)nfp_xpb_readl(9)nfp_xpb_writel(9)nfp_cpp_from_operations(9)nfp_cpp_priv(9)nfp_cpp_device(9)nfp_cpp_explicit_acquire(9)nfp_cpp_explicit_set_target(9)nfp_cpp_explicit_set_data(9)nfp_cpp_explicit_set_signal(9)nfp_cpp_explicit_set_posted(9)nfp_cpp_explicit_put(9)nfp_cpp_explicit_do(9)nfp_cpp_explicit_get(9)nfp_cpp_explicit_release(9)nfp_cpp_explicit_cpp(9)nfp_cpp_explicit_priv(9)
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
- 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