STRUCT PDS_CORE_SEND_COMPONENT_TBL_CMD(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– struct pds_core_send_component_tbl_cmd β€” Send component table command πŸ’–

okay so bestie, we're in the Kernel API Manual today and this page is literally all about one tiny struct that tells the firmware "hey, here's the component table." it's giving very much "small but crucial" energy, and we're gonna go through it field by field, no cap. ✨


🌸 NAME 🌸

struct pds_core_send_component_tbl_cmd β€” Send component table command πŸŽ€


πŸ¦‹ SYNOPSIS πŸ¦‹

struct pds_core_send_component_tbl_cmd {
    u8 opcode;
    u8 ver;
    u8 slot_id;
    u8 rsvd;
 };

like, that's it. four little u8s. tiny. iconic. the whole personality. πŸ’…


✨ Members ✨

  • opcode β€” the opcode, and it is literally PDS_CORE_CMD_SEND_COMPONENT_TBL. that's the whole job. that's what it's here for fr fr. πŸ‘‘
  • ver β€” the driver's max support version of this command. so like, the highest version your driver can handle. know your limits bestie πŸ’–
  • slot_id β€” this one's an enum pds_core_fw_slot. yes, a whole enum for a u8 field, we love a type glow-up. 🌈
  • rsvd β€” word boundary padding 🫢. it's not doing vibes, it's doing alignment. respect it.

πŸ’œ Description πŸ’œ

so the whole situation here is: this command expects to find component table info (that's a struct pds_core_component_tbl, iykyk) sitting in cmd_regs->data. like, that's where the info lives, that's where you're gonna find it, don't go looking anywhere else. ✨

and here's the part where you need to pay attention, bestie: the driver should keep the devcmd interface locked while it's preparing the component table info. πŸ”’ like, locked locked. don't let anybody else in while you're setting up. it's giving "bathroom door energy" β€” you lock it, you do your thing, then you unlock. no cap. 🚨


πŸ”₯ SEE ALSO πŸ”₯

so this struct is literally part of a whole friend group and we're listing every single one of them, bestie, because we don't do half-finished over here πŸ’…:

  • The kernel file ./include/linux/pds/pds_core_if.h β€” that's the home base 🏠
  • struct pds_core_drv_identity(9)
  • enum pds_core_dev_capability(9)
  • struct pds_core_dev_identity(9)
  • struct pds_core_dev_identify_cmd(9)
  • struct pds_core_dev_identify_comp(9)
  • struct pds_core_dev_reset_cmd(9)
  • struct pds_core_dev_reset_comp(9)
  • struct pds_core_dev_init_cmd(9)
  • struct pds_core_dev_init_comp(9)
  • struct pds_core_fw_download_cmd(9)
  • struct pds_core_fw_download_comp(9)
  • enum pds_core_fw_control_oper(9)
  • enum pds_core_fw_slot(9)
  • struct pds_core_fw_control_cmd(9)
  • struct pds_core_fw_control_comp(9)
  • enum pds_core_vf_link_status(9)
  • struct pds_core_vf_setattr_cmd(9)
  • struct pds_core_vf_getattr_cmd(9)
  • struct pds_core_vf_ctrl_cmd(9)
  • struct pds_core_vf_ctrl_comp(9)
  • struct pds_core_send_pkg_data_cmd(9)
  • struct pds_core_send_pkg_data_comp(9)
  • struct pds_core_component_tbl(9) β€” yes, this is THE table, the one from the Description πŸ‘€
  • struct pds_core_send_component_tbl_comp(9)
  • enum pds_core_send_component_op(9)
  • struct pds_core_flash_component(9)
  • struct pds_core_send_component_cmd(9)
  • struct pds_core_send_component_comp(9)
  • enum pds_core_fw_component_type(9)
  • enum pds_core_component_info_flags(9)
  • struct pds_core_fw_component_info(9)
  • struct pds_core_component_list_info(9)
  • struct pds_core_get_component_info_cmd(9)
  • struct pds_core_get_component_info_comp(9)
  • struct pds_core_finalize_update_cmd(9)
  • struct pds_core_finalize_update_comp(9)
  • struct pds_core_match_record_desc_cmd(9)
  • struct pds_core_match_record_desc_comp(9)
  • enum pds_core_host_mem_oper(9)
  • struct pds_core_host_mem_cmd(9)
  • struct pds_core_host_mem_comp(9)
  • struct pds_core_dev_hwstamp_regs(9)
  • struct pds_core_dev_info_regs(9)
  • struct pds_core_dev_cmd_regs(9)
  • struct pds_core_dev_regs(9)

like, that's the whole roster. ate and left no crumbs. 🌟


🫢 quick reminder bestie: all of this lives in ./include/linux/pds, and this page is dated October 2026. so if you're reading this way in the future, it's still slaying, don't worry. πŸ‘‘

okay that's the page!! mwah πŸ’‹ β€” the Kernel API Manual, ./include/linux/pds, October 2026, struct pds_c...nent_tbl_cmd(9). periodt. πŸŽ€βœ¨

πŸ“¦ where this page comes from