STRUCT PDS_CORE_GET_COMPONENT_INFO_CMD(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct pds_core_get_component_info_cmd(9) πŸ’…

okay so bestie, we're in the Kernel API Manual today and this page is literally all about one struct: struct pds_core_get_component_info_cmd. yes it's a long name. no we're not abbreviating it. it's the GET_COMPONENT_INFO command and it's kind of a baddie ✨


πŸŽ€ NAME πŸŽ€

struct pds_core_get_component_info_cmd β€” the GET_COMPONENT_INFO command. that's the whole vibe. that's what it does. πŸ’–


✨ SYNOPSIS ✨

here's the struct in all its glory, no cap, copied exactly:

struct pds_core_get_component_info_cmd {
    u8 opcode;
    u8 ver;
    __le16 data_len;
    u8 rsvd[4];
    __le64 data_pa;
 };

look at her. so tidy. so structured. main character energy fr 🫢


🌸 Members 🌸

okay let's meet the cast, one by one, bestie:

  • opcode β€” this one's whole personality is PDS_CORE_CMD_GET_COMPONENT_INFO. that's it. that's the value. it's giving "I know who I am." πŸ‘‘
  • ver β€” the driver's max supported version of this command. so it's like, "this is the highest version I can handle," and honestly same. 😭
  • data_len β€” length of the data sitting at data_pa. the lil measurement girlie. πŸ“
  • rsvd β€” word boundary padding. it's just there for the alignment vibes. filler episode but make it iconic. πŸ’€
  • data_pa β€” the DMA address of the data. this is the actual address, bestie. the real one. πŸ”₯

πŸ¦‹ Description πŸ¦‹

so here's the tea: FW populates struct pds_core_component_list_info pointed to by data_pa. that's the whole thing. firmware goes in, fills up that struct at the address in data_pa, and everybody's happy. literally that simple, iykyk πŸ’…


🌈 SEE ALSO 🌈

bestie. buckle up. this list is LONG and every single one of these is staying because we don't skip entries in this house πŸ’– the kernel file is ./include/linux/pds/pds_core_if.h and here's the full friend group:

  • 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)
  • 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_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)

whew. that's the whole squad, nobody left behind 🫢


and that's the page, bestie! this one came from ./include/linux/pds, dated October 2026 β€” so like, mark your calendar era πŸ“…βœ¨ go forth and populate your component list structs, you've got this πŸ’œπŸ§š

πŸ“¦ where this page comes from