hisi_qp_send(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

hisi_qp_send πŸ’…βœ¨

okay so bestie, this is the Kernel API Manual page for the hisi queue-pair send situation. it’s giving β€œhardware queue, but make it a function call.” let’s get into it 🫢

🌸 NAME 🌸

hisi_qp_send β€” Queue up a task in the hardware queue. that’s the whole plot.

✨ SYNOPSIS ✨

int hisi_qp_send (struct hisi_qp *qp , const void *msg );

πŸŽ€ ARGUMENTS πŸŽ€

  • qp β€” The qp in which to put the message. like, the queue pair that’s getting the message.
  • msg β€” The message. the thing being sent, periodt.

πŸ’– DESCRIPTION πŸ’–

so hisi_qp_send is gonna hand you <red>**-EBUSY**</red> if qp is currently full, and <yellow>**-EAGAIN**</yellow> if the qm related to that qp is resetting. that’s the return-value tea 🍡

🫢 NOTE 🫢

real talk, this is the part where the concurrency girlies need to pay attention πŸ‘‘
  • This function may run with qm_irq_thread and ACC reset happening at same time.
  • It has no race with qm_irq_thread.
  • However, during hisi_qp_send, ACC reset may happen, and we have no lock here considering performance.
  • This causes the current qm_db sending fail or can not receive sended sqe.
  • QM sync/async receive function should handle the error sqe.
  • ACC reset done function should clear used sqe to 0.

🌈 SEE ALSO 🌈


made with πŸ’– from source ./drivers/crypto/hisilicon, page version hisi_qp_send(9), dated October 2026. she’s iconic, she’s kernel-coded, and this is the sign-off πŸ¦‹βœ¨

πŸ“¦ where this page comes from