bnxt_qplib_r...send_message(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… NAME πŸ’…

bnxt_qplib_rcfw_send_message β€” the qplib interface bestie that sends and completes rcfw commands, no cap ✨

Oh and btw, this whole page lives under the manual name bnxt_qplib_r...send_message(9) β€” that's the header energy, keeping it iconic πŸŽ€


🌸 SYNOPSIS 🌸

int bnxt_qplib_rcfw_send_message (struct bnxt_qplib_rcfw *rcfw , struct
       bnxt_qplib_cmdqmsg *msg );

πŸ¦‹ ARGUMENTS πŸ¦‹

  • rcfw β€” the rcfw channel instance of rdev 🫢 that's literally the whole vibe, it's the channel babe
  • msg β€” a qplib message, internal ✨ very inside-the-house, not for outside consumption

πŸ‘‘ DESCRIPTION πŸ‘‘

okay so picture this: the driver talks to the Firmware through the rcfw channel / slow path, and it does it in two ways, and both of them are valid, periodt πŸ’…

  1. Blocking rcfw command send. In this path the driver cannot hold the context for a longer period β€” because it is literally holding the cpu until the command is completed 😭 like it's stuck there, waiting, no escape
  2. Non-blocking rcfw command send. In this path the driver can hold the context for a longer period 🌈 but here's the tea: there may be many pending commands just waiting for completion, because of that whole non-blocking nature of it πŸ™ˆ

The driver is gonna use a shadow queue depth, and this is where it gets juicy. The current queue depth is 8K β€” and because of the size of the rcfw message there can be actual ~4K rcfw outstanding β€” and ngl that is not optimal for rcfw command processing in firmware πŸ’€ it's giving bottleneck

So: restrict at max #RCFW_CMD_NON_BLOCKING_SHADOW_QD Non-Blocking rcfw commands. That's the ceiling bestie, we do not go past it 🚧

And allow all blocking commands until there is no queue full ✨ blocking ones get the whole run of the place, they're the main characters here πŸ‘‘


πŸ’– RETURN πŸ’–

  • 0 β€” if the command was completed by firmware πŸŽ‰ slay, we love a completion
  • Non zero β€” if the command is not completed by firmware 😭 it's giving unfinished business

🌟 SEE ALSO 🌟

iykyk, the underscores ones are the ✨inner circle✨ fr fr


ok that's the whole page, no notes πŸ’… go forth and send those messages, blocking or non-blocking, you got this 🫢

and that's a wrap bestie πŸŽ€ this was brought to you by ./drivers/infiniband/hw/bnxt_re, dated October 2026, living under the name bnxt_qplib_r...send_message(9) β€” mwah, see you in the source πŸ’œπŸ”₯

πŸ“¦ where this page comes from