STRUCT PDS_CORE_SEND_PKG_DATA_CMD(9)
β¨ 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 isPDS_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 atdata_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
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms