STRUCT MPI3MR_SAS_PORT(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct mpi3mr_sas_port β€” Internal SAS port information πŸŽ€

okay bestie, this is struct mpi3mr_sas_port, from the Kernel API Manual. it lives in ./drivers/scsi/mpi3mr/mpi3mr.h and it's literally the internal glow-up of SAS port info. no cap. it's giving "backstage pass to the HBA" energy and we are obsessed πŸ’–


✨ SYNOPSIS ✨

struct mpi3mr_sas_port {
    struct list_head port_list;
    u8 num_phys;
    u8 marked_responding;
    int lowest_phy;
    u64 phy_mask;
    struct mpi3mr_hba_port *hba_port;
    struct sas_identify remote_identify;
    struct sas_rphy *rphy;
    struct sas_port *port;
    struct list_head phy_list;
};

like, she's structured. she's typed. she's iconic. copy her exactly, okay? don't be weird about it 🫢


πŸ¦‹ MEMBERS πŸ¦‹

  • port_list β€” the list of ports belonging to a SAS node. it's the group chat of ports fr fr πŸ’¬
  • num_phys β€” how many phys are associated with this port. the phy headcount ✨
  • marked_responding β€” used while refreshing the sas ports. yes, the original says "refresing" β€” we're keeping it, it's canon πŸ’€
  • lowest_phy β€” the lowest phy ID of the current sas port. only valid for the controller port, so don't go using it elsewhere πŸ™ˆ
  • phy_mask β€” the phy_mask of the current sas port. also only valid for the controller port, same vibe check as above πŸ’…
  • hba_port β€” HBA port entry. the plug-in to the whole HBA situation πŸ”Œ
  • remote_identify β€” the attached device identification. who's that diva on the other end? πŸ‘‘
  • rphy β€” the SAS transport layer rphy object. main character of the transport layer ⭐
  • port β€” the SAS transport layer port object. adjacent main character, equally iconic 🌈
  • phy_list β€” the mpi3mr_sas_phy objects belonging to this port. all her little phy besties 🧚

🌸 SEE ALSO 🌸

bestie the crossover episode is REAL. the Kernel file ./drivers/scsi/mpi3mr/mpi3mr.h and this whole squad:

  • struct mpi3mr_nvme_pt_sge(9)
  • struct mpi3mr_buf_map(9)
  • struct mpi3mr_compimg_ver(9)
  • struct segments(9)
  • struct op_req_qinfo(9)
  • struct op_reply_qinfo(9)
  • struct mpi3mr_intr_info(9)
  • struct mpi3mr_throttle_group_info(9)
  • struct mpi3mr_hba_port(9)
  • struct mpi3mr_sas_phy(9)
  • struct mpi3mr_sas_node(9)
  • struct mpi3mr_enclosure_node(9)
  • struct tgt_dev_sas_sata(9)
  • struct tgt_dev_pcie(9)
  • struct tgt_dev_vd(9)
  • union _form_spec_inf(9)
  • struct mpi3mr_tgt_dev(9)
  • mpi3mr_tgtdev_get(9)
  • mpi3mr_free_tgtdev(9)
  • mpi3mr_tgtdev_put(9)
  • struct mpi3mr_stgt_priv_data(9)
  • struct mpi3mr_drv_cmd(9)
  • union mpi3mr_trigger_data(9)
  • struct trigger_event_data(9)
  • struct diag_buffer_desc(9)
  • struct dma_memory_desc(9)
  • struct chain_element(9)
  • struct scmd_priv(9)
  • struct mpi3mr_ioc(9)
  • struct mpi3mr_fwevt(9)
  • struct delayed_dev_rmhs_node(9)
  • struct delayed_evt_ack_node(9)
lowkey that's a whole friend group. peruse responsibly. πŸ’–

and that's the whole page bestie, slay ✨

sign-off πŸŽ€ this one's sourced from ./drivers/scsi/mpi3mr, dated October 2026, and it's the struct mpi3mr_sas_port(9) page. go forth and port responsibly, ily πŸ’œ

πŸ“¦ where this page comes from