ice_cpi_exec(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… ice_cpi_exec(9) πŸ’…

okay so bestie, we're in the Kernel API Manual today and the star of the show is ice_cpi_exec(9) β€” yes that's the manual name, welcome to the function page of the day πŸŽ€


✨ NAME ✨

ice_cpi_exec β€” literally just executes a CPI command. that's the whole vibe. no cap. πŸ’«


🌸 SYNOPSIS 🌸

int ice_cpi_exec (struct ice_hw *hw , u8 phy , const struct ice_cpi_cmd
*cmd , struct ice_cpi_resp *resp );

like, look at her. four params, one int return, main character energy πŸ‘‘


πŸ¦‹ ARGUMENTS πŸ¦‹

  • hw β€” pointer to the HW struct. your hardware bestie. the whole struct ice_hw situation 🫢
  • phy β€” u8 phy index of the port that this CPI action is being taken on. it's giving "which port, bestie" πŸ“
  • cmd β€” pointer to the command struct you want to execute. const struct ice_cpi_cmd * β€” read-only, hands off πŸ™ˆ
  • resp β€” pointer to a user allocated CPI response struct (struct ice_cpi_resp *). note the user allocated part β€” you're responsible for that memory, not her πŸ’…

πŸ’– DESCRIPTION πŸ’–

so what does it actually do? this function executes a CPI request, and it does it with respect to the CPI handshake mechanism. like, the handshake is the whole point β€” she's not just yeeting a command into the void, she's doing the proper handshake ritual 🀝✨


⭐ RETURN ⭐

  • 0 on success 🌈
  • otherwise negative on error πŸ’€

that's it, that's the whole contract. zero means slay, negative means something went sideways.

ngl bestie, the manpage doesn't tell you which negative values β€” it just says negative. so don't go inventing specifics, iykyk πŸ“

πŸ‘‘ SEE ALSO πŸ‘‘

the kernel file in question lives right here, fr fr:

./drivers/net/ethernet/intel/ice/ice_cpi.c

and the whole CPI friend group 🧚:


and that's the page!! πŸŽ€ brought to you from ./drivers/net/ethernet/intel/ice, dated October 2026, and filed under ice_cpi_exec(9) β€” mwah, go read the other ones too, ily bye πŸ’œπŸ¦‹βœ¨

πŸ“¦ where this page comes from