nfp_cpp_area...oc_with_name(9)
π nfp_cpp_area_alloc_with_name(9) β from the Kernel API Manual
okay bestie, so this one is a kernel API manual page, and the function we're obsessing over is nfp_cpp_area_alloc_with_name β¨
β¨ NAME β¨
nfp_cpp_area_alloc_with_name β allocate a new CPP area π
πΈ SYNOPSIS πΈ
struct nfp_cpp_area * nfp_cpp_area_alloc_with_name (struct nfp_cpp *cpp
, u32 dest , const char *name , unsigned long long address , unsigned
long size );
π¦ ARGUMENTS π¦
cppβ the CPP device handle, your whole entry point to the device π«Άdestβ NFP CPP ID, u32 energynameβ name of region, literally just what you're calling this thingaddressβ address of region πsizeβ size of region
π DESCRIPTION π
So what this does is allocate and initialize a CPP area structure for you. Iconic. But listen β the area isn't usable right away π it must later be locked down with an 'acquire' before it can be safely accessed. No shortcuts, no cap.
β NOTE β
addressandsizemust be 32-bit aligned values. fr fr, don't skip this one π¨
π RETURN π
Returns an NFP CPP area handle, or NULL π (so, y'know, check it).
π SEE ALSO π
The kernel file lives at ./drivers/net/ethernet/netronome/nfp/nfpcore/nfp_cppcore.c π§
And the whole bestie squad: struct nfp_cpp(9), nfp_cpp_free(9), nfp_cpp_model(9), nfp_cpp_interface(9), nfp_cpp_serial(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_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) π
that's the whole page bestie, mwah π β this lil gem came out of ./drivers/net/ethernet/netronoβ¦ and it's dated October 2026, so jot that down in your notes app πβ¨
π¦ 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