STRUCT PDS_CORE_SEND_PKG_DATA_CMD(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ NAME ✨

struct pds_core_send_pkg_data_cmd β€” the Send package data command πŸ’Œ (this is from the Kernel API Manual, btw, in case you were wondering where we are πŸŽ€)


✨ SYNOPSIS ✨

okay bestie, here's the whole struct, exactly as it lives, no edits no cap:

struct pds_core_send_pkg_data_cmd {
    u8 opcode;
    u8 ver;
    __le16 total_len;
    __le16 offset;
    __le16 data_len;
    __le64 data_pa;
 };

πŸ’… Members πŸ’…

so this is the part where I introduce you to everybody in the group chat 🌸

  • opcode β€” the opcode, and it is PDS_CORE_CMD_SEND_PKG_DATA β€” that's literally its whole personality ✨
  • ver β€” the max version of this command that the driver supports πŸ‘‘
  • total_len β€” total length of the package data πŸ“¦
  • offset β€” where you're at inside the package data; it's non-zero if you need multiple commands to send the whole package data (iykyk) πŸ”₯
  • data_len β€” the length of the data stored over at data_pa πŸ’œ
  • data_pa β€” the data's physical address, for DMA to the device πŸ¦‹

🌈 Description 🌈

okay so here's the tea πŸ“: the package data can be Too Bigβ„’ to fit in a single buffer, which means you might genuinely need multiple PDS_CORE_CMD_SEND_PKG_DATA devcmds to get it all sent. not me packing light πŸ’€ it's giving checked luggage energy.


πŸ”₯ SEE ALSO πŸ”₯

the whole extended friend group, everybody say hi 🫢 β€” kernel file ./include/linux/pds/pds_core_if.h, plus:

  • 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_comp(9)
  • struct pds_core_component_tbl(9)
  • struct pds_core_send_component_tbl_cmd(9)
  • 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)

ngl this page is a whole era. it lives in ./include/linux/pds, it's stamped October 2026, and it's part of the Kernel API Manual. slay, periodt, go read some structs bestie πŸ’–βœ¨πŸŽ€
πŸ“¦ where this page comes from