qed_sp_pf_start(9)
π qed_sp_pf_start(9) β ok bestie, welcome to the Kernel API Manual β¨
So this is a page from the Kernel API Manual (yes, that's the whole manual name, we're not being cute about it, that's just what it is) and today's main character is qed_sp_pf_start. Buckle up, she's a ramrod and she's thriving.
πΈ NAME πΈ
qed_sp_pf_start β the PF Function Start Ramrod. That's it. That's the name. Iconic, short, slays.
π SYNOPSIS π
int qed_sp_pf_start (struct qed_hwfn *p_hwfn , struct qed_ptt *p_ptt ,
struct qed_tunnel_info *p_tunn , bool allow_npar_tx_switch );
Four arguments, one int coming back at you. Copy-paste it exactly, bestie, don't get creative with the spacing, I'm begging π«Ά
π¦ ARGUMENTS π¦
Here's your lineup, no cap:
p_hwfnβ HW device data. The hardware-y homework, if you will.p_pttβ P_ptt. Like, that's genuinely the whole description. It'sP_ptt. She contains multitudes and the manpage is not about to elaborate πp_tunnβ P_tunn. Same energy. That's the tunnel info pointer, but the page just saysP_tunnand honestly? Respect the brevity.allow_npar_tx_switchβ Allow NPAR TX Switch. It's abool, it allows the thing, you get to decide. That's the vibe.
β RETURN β
Int. That's what it gives back. An int. Nothing more to report, she said what she said π
π₯ DESCRIPTION π₯
Okay so what does this ramrod actually do β this one gets sent out to initialize a physical function (PF). Like, it's the "wake up bestie, you're a function now" moment β¨
She configures the function related parameters (all the fun little knobs that make the function, the function) and then writes her completion to the event ring specified in the parameters. Clean, simple, done.
And like β important detail, don't skip this part β ramrods complete on the common event ring for the PF. That ring? Not just floating around out there. It gets allocated by the driver on host memory, and its parameters are then written into the internal RAM of the UStorm by none other than the Function Start Ramrod herself. She's doing the writing. She's the main character. She's both the letter and the envelope, honestly ππ
π SEE ALSO π
The kernel file, verbatim, because we do not play with file paths on this account:
./drivers/net/ethernet/qlogic/qed/qed_sp.h
And the whole friend group, in order, exactly as listed β go say hi to all of them:
qed_eth_cqe_completion(9)qed_spq_post(9)qed_spq_alloc(9)qed_spq_setup(9)qed_spq_free(9)qed_spq_get_entry(9)qed_spq_return_entry(9)qed_eq_alloc(9)qed_eq_setup(9)qed_eq_free(9)qed_eq_prod_update(9)qed_eq_completion(9)qed_spq_completion(9)qed_spq_get_cid(9)qed_consq_alloc(9)qed_consq_setup(9)qed_consq_free(9)qed_sp_destroy_request(9)qed_sp_pf_update(9)qed_sp_pf_update_stag(9)qed_sp_pf_update_ufp(9)qed_sp_heartbeat_ramrod(9)
Like, the whole squad. Ate and left no crumbs π
Okay that's the whole page, you're officially educated, go forth and initialize some physical functions π β¨
Source/version note for the sign-off, babe: this beauty lives at ./drivers/net/ethernet/qlogic/qed, she's dated October 2026, and she answers to qed_sp_pf_start(9). Byeee π¦ππ
π¦ 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