STRUCT PDS_VDPA_VQ_INIT_CMD(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct pds_vdpa_vq_init_cmd(9) β€” the queue init command, bestie ✨

okay so this is a page from the Kernel API Manual, and it's literally all about struct pds_vdpa_vq_init_cmd β€” the queue init command πŸŽ€. Yes it's a mouthful, no you don't have to say it out loud at a party. Come sit, I'll walk you through every single field, fr fr.


✨ NAME ✨

struct pds_vdpa_vq_init_cmd β€” the queue init command πŸ‘‘ like, the little packet-shaped vibe that tells the hardware "hey bestie, set up this queue for me."


πŸ¦‹ SYNOPSIS πŸ¦‹

Here's the whole struct, exactly as it lives β€” do not touch, just admire:

struct pds_vdpa_vq_init_cmd {
    u8 opcode;
    u8 vdpa_index;
    __le16 vf_id;
    __le16 qid;
    __le16 len;
    __le64 desc_addr;
    __le64 avail_addr;
    __le64 used_addr;
    __le16 intr_index;
    __le16 avail_index;
    __le16 used_index;
 };

🌸 Members 🌸

okay, field-by-field, and yes I'm gonna be normal about it (I'm not):

  • opcode β€” the opcode, and it is PDS_VDPA_CMD_VQ_INIT. that's its whole personality πŸ’…
  • vdpa_index β€” the index for the vdpa subdevice 🫢
  • vf_id β€” the VF id, periodt.
  • qid β€” queue id, and here's the tea: bit0 clear = rx, bit0 set = tx, and qid=N is ctrlq ⭐ (iykyk)
  • len β€” log(2) of the max descriptor count πŸ”₯ that's a log, not a length, don't come for me
  • desc_addr β€” DMA address of the descriptor area πŸ’–
  • avail_addr β€” DMA address of available descriptors (aka driver area) 🌈
  • used_addr β€” DMA address of used descriptors (aka device area) πŸ¦‹
  • intr_index β€” interrupt index ✨
  • avail_index β€” the initial device position in the available ring πŸŽ€
  • used_index β€” the initial device position in the used ring πŸ’œ

πŸ’€ SEE ALSO πŸ’€

this list is long and honestly iconic β€” every one of these makes an appearance:

Kernel file ./include/linux/pds/pds_adminq.h

  • struct pds_core_notifyq_event(9)
  • struct pds_core_link_change_event(9)
  • struct pds_core_reset_event(9)
  • struct pds_core_client_event(9)
  • struct pds_core_notifyq_cmd(9)
  • struct pds_core_client_reg_cmd(9)
  • struct pds_core_client_reg_comp(9)
  • struct pds_core_client_unreg_cmd(9)
  • struct pds_core_client_request_cmd(9)
  • enum pds_core_logical_qtype(9)
  • union pds_core_lif_config(9)
  • struct pds_core_lif_status(9)
  • struct pds_core_lif_info(9)
  • struct pds_core_lif_identity(9)
  • struct pds_core_lif_identify_cmd(9)
  • struct pds_core_lif_identify_comp(9)
  • struct pds_core_lif_init_cmd(9)
  • struct pds_core_lif_init_comp(9)
  • struct pds_core_lif_reset_cmd(9)
  • enum pds_core_lif_attr(9)
  • struct pds_core_lif_setattr_cmd(9)
  • struct pds_core_lif_setattr_comp(9)
  • struct pds_core_lif_getattr_cmd(9)
  • struct pds_core_lif_getattr_comp(9)
  • struct pds_core_q_identity(9)
  • struct pds_core_q_identify_cmd(9)
  • struct pds_core_q_identify_comp(9)
  • struct pds_core_q_init_cmd(9)
  • struct pds_core_q_init_comp(9)
  • struct pds_vdpa_cmd(9)
  • struct pds_vdpa_init_cmd(9)
  • struct pds_vdpa_ident(9)
  • struct pds_vdpa_ident_cmd(9)
  • struct pds_vdpa_status_cmd(9)
  • enum pds_vdpa_attr(9)
  • struct pds_vdpa_setattr_cmd(9)
  • struct pds_vdpa_vq_init_comp(9)
  • struct pds_vdpa_vq_reset_cmd(9)
  • struct pds_vdpa_vq_reset_comp(9)
  • struct pds_vdpa_set_features_cmd(9)
  • struct pds_lm_cmd(9)
  • struct pds_lm_state_size_cmd(9)
  • struct pds_lm_state_size_comp(9)
  • struct pds_lm_suspend_cmd(9)
  • struct pds_lm_suspend_status_cmd(9)
  • struct pds_lm_resume_cmd(9)
  • struct pds_lm_sg_elem(9)
  • struct pds_lm_save_cmd(9)
  • struct pds_lm_restore_cmd(9)
  • union pds_lm_dev_state(9)
  • struct pds_lm_dirty_region_info(9)
  • struct pds_lm_dirty_status_cmd(9)
  • enum pds_lm_dirty_bmp_type(9)
  • struct pds_lm_dirty_status_comp(9)
  • struct pds_lm_dirty_enable_cmd(9)
  • struct pds_lm_dirty_disable_cmd(9)
  • struct pds_lm_dirty_seq_ack_cmd(9)
  • struct pds_lm_host_vf_status_cmd(9)
  • struct pds_fwctl_cmd(9)
  • struct pds_fwctl_comp(9)
  • struct pds_fwctl_ident_cmd(9)
  • struct pds_fwctl_ident(9)
  • struct pds_fwctl_query_cmd(9)
  • struct pds_fwctl_query_comp(9)
  • struct pds_fwctl_query_data_endpoint(9)
  • struct pds_fwctl_query_data_operation(9)
  • struct pds_fwctl_query_data(9)
  • struct pds_fwctl_rpc_cmd(9)
  • struct pds_sg_elem(9)
  • struct pds_fwctl_rpc_comp(9)

and that's the whole thing bestie, you ate that πŸ“πŸ’…

source: ./include/linux/pds Β· dated October 2026 Β· this little love letter is the struct pds_vdpa_vq_init_cmd(9) page πŸ§šπŸ’œ go set up a queue, you've got this ✨
πŸ“¦ where this page comes from