nfp_cpp_explicit_put(9)
π nfp_cpp_explicit_put β the kernel API manual, bestie edition β¨
okay so this is nfp_cpp_explicit_put(9) from the Kernel API Manual, and honestly? she's a little function with one job and she does it. sit down, grab a strawberry π, let's get into it.
πΈ NAME πΈ
nfp_cpp_explicit_put β setting up the write (pull) data for an explicit access, that's the whole vibe π«
π SYNOPSIS π
int nfp_cpp_explicit_put (struct nfp_cpp_explicit *expl , const void
*buff , size_t len );
like, that's her signature. iconic. no notes. π
π¦ ARGUMENTS π¦
explβ the NFP CPP Explicit handle π this is your girl, she's the one you're operating onbuffβ the data you want the target to pull in during the transaction π«Ά it's literally the payloadlenβ length of data, in bytes. just bytes. that's it. that's the number π
β¨ DESCRIPTION β¨
okay so here's the tea β β the len parameter must be less than or equal to 128 bytes. not 129. not "roughly 128". <= 128. periodt. π
and listen, there's a little gotcha π β if you call this function before the configuration registers are set, it will return -EINVAL. so likeβ¦ set your config registers first, bestie. do the steps in order. main character energy means reading the docs first π
π₯ RETURN π₯
0, or -ERRNO β that's it, that's the whole return section. slay. π
π SEE ALSO π
buckle up buttercup, this list is LONG and we are NOT skipping a single one, because every single one of these deserves her moment π
- Kernel file
./drivers/net/ethernet/netronome/nfp/nfpcore/nfp_cppcore.cβ yes, go read the source, iykyk π 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_xpb_writelm(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_do(9)nfp_cpp_explicit_get(9)nfp_cpp_explicit_release(9)nfp_cpp_explicit_cpp(9)nfp_cpp_explicit_priv(9)
likeβ¦ forty-seven references. she said "link everything or nothing at all" and honestly? respect. ππ
quick reminder bestie:len <= 128bytes, and config registers go FIRST or you get-EINVAL. no cap. π§
and that's the page!! this absolute baddie of a manpage comes from the kernel source at ./drivers/net/ethernet/netrono... and it's dated October 2026 β so yeah, she's from the future, she's serving, and she's the Kernel API Manual's finest. bye bestie, go write some pull data π
β¨ππ¦πΈπ
π¦ 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