STRUCT RZG3S_PCIE_SOC_DATA(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… NAME πŸ’…

okay so bestie, this page is struct rzg3s_pcie_soc_data(9) from the Kernel API Manual, and the whole personality of this struct is literally right there in the name: it's the SoC specific data. that's the vibe. that's the assignment. 🫢


✨ SYNOPSIS ✨

no cap, here's the whole shape of it, character for character:

struct rzg3s_pcie_soc_data {
    int (*init_phy)(struct rzg3s_pcie_host *host);
    void (*config_pre_init)(struct rzg3s_pcie_host *host);
    int (*config_post_init)(struct rzg3s_pcie_host *host);
    int (*config_deinit)(struct rzg3s_pcie_host *host);
    int (*setup_lanes)(struct rzg3s_pcie_host *host);
    const char * const *power_resets;
    const char * const *cfg_resets;
    struct rzg3s_sysc_info sysc_info[RZG3S_PCIE_CONTROLLER_ID_MAX];
    u8 num_power_resets;
    u8 num_cfg_resets;
    u8 num_pcie_controllers;
};

πŸŽ€ MEMBERS πŸŽ€

like. there are a LOT of them. but every single one is iconic in its own way, so let's go πŸ’–

  • init_phy β€” the PHY initialization function. it does the PHY init thing.
  • config_pre_init β€” optional callback for SoC-specific pre-configuration. yes bestie, optional β€” it's giving "i'll be there if you need me" 🌸
  • config_post_init β€” callback for SoC-specific post-configuration. it comes after. main character timing.
  • config_deinit β€” callback for SoC-specific de-initialization. the goodbye arc 😭
  • setup_lanes β€” callback for setting up the number of lanes. lane count glow-up.
  • power_resets β€” array with the resets that need to be de-asserted after power-on. de-assert, don't come for me.
  • cfg_resets β€” array with the resets that need to be de-asserted after configuration. same energy, different moment ⭐
  • sysc_info β€” System Controller info for each controller. one per controller, RZG3S_PCIE_CONTROLLER_ID_MAX of them, and yes it's an array okay.
  • num_power_resets β€” number of power resets. it's a u8. tiny but mighty.
  • num_cfg_resets β€” number of configuration resets. also a u8. also thriving.
  • num_pcie_controllers β€” number of PCIe controllers. the final u8. the trinity is complete πŸ’…
ngl, every field here is const-coded into the struct's whole aesthetic β€” the pointer arrays are const char * const *, so nobody's out here sneaking edits. respect.

🌈 SEE ALSO 🌈

go read these next, bestie, they're the friend group:

  • Kernel file ./drivers/pci/controller/pcie-rzg3s-host.c enum rzg3s_sysc_link_mode(9)
  • struct rzg3s_sysc_function(9)
  • enum rzg3s_sysc_func_id(9)
  • struct rzg3s_sysc_info(9)
  • struct rzg3s_sysc(9)
  • struct rzg3s_pcie_msi(9)
  • enum rzg3s_pcie_controller_id(9)
  • struct rzg3s_pcie_port(9)
  • struct rzg3s_pcie_host(9)

and that's the whole page, periodt. πŸ¦‹ this little drop came from source ./drivers/pci/controller, dated October 2026, and the footer was tagging it struct rzg3s_pcie_soc_data(9) the entire time β€” so now you know where it lives and when it said hi. mwah πŸ’‹βœ¨

πŸ“¦ where this page comes from