mpi3mr_get_port_id_by_rphy(9)
β¨ mpi3mr_get_port_id_by_rphy π
okay so this is a page from the Kernel API Manual (manual section 9, bestie β kernel internals, not your average man 1 situation), and it's all about mpi3mr_get_port_id_by_rphy. iconic function name, mildly terrifying length, we move.
πΈ NAME πΈ
mpi3mr_get_port_id_by_rphy β get the port number from a SAS rphy. literally that's the whole gig π«Ά
π SYNOPSIS π
u8 mpi3mr_get_port_id_by_rphy (struct mpi3mr_ioc *mrioc , struct
sas_rphy *rphy );
so it returns a u8, takes two pointers, and it is right there waiting for you to call it. slay.
π¦ ARGUMENTS π¦
mriocβ your adapter instance reference. like, the controller's whole vibe and identity in one struct β¨rphyβ the SAS transport layer's remote phy object. the little guy in the transport layer who knows where a device physically sits π§
π DESCRIPTION π
so what it does: it retrieves the HBA port number that the device pointed at by the rphy object is attached with. that's it. one job, does it well, no notes π
no cap, that's the entire description. some functions really are just "find the port number, go home."
π₯ RETURN π₯
Returns a valid port number on success. otherwise you get OxFFFF β and yes, it's written exactly like that in the source doc, O and all, so I'm not touching it. copy-paste responsibly, bestie π
ngl, when you see OxFFFF come back, that's your signal that the lookup did not succeed. vibe check: failed. π
π SEE ALSO π
buckle up, this list is long β it's giving "the whole friend group showed up to the function." every single one of these, in order, no skips:
the file itself:
- Kernel file
./drivers/scsi/mpi3mr/mpi3mr_transport.c
the crew:
mpi3mr_post_transport_req(9)mpi3mr_report_manufacture(9)__mpi3mr_expander_find_by_handle(9)mpi3mr_is_expander_device(9)mpi3mr_get_sas_address(9)__mpi3mr_get_tgtdev_by_addr(9)mpi3mr_get_tgtdev_by_addr(9)mpi3mr_remove_device_by_sas_address(9)__mpi3mr_get_tgtdev_by_addr_and_rphy(9)mpi3mr_expander_find_by_sas_address(9)__mpi3mr_sas_node_find_by_sas_address(9)mpi3mr_parent_present(9)mpi3mr_convert_phy_link_rate(9)mpi3mr_delete_sas_phy(9)mpi3mr_add_sas_phy(9)mpi3mr_add_phy_to_an_existing_port(9)mpi3mr_delete_sas_port(9)mpi3mr_del_phy_from_an_existing_port(9)mpi3mr_sas_port_sanity_check(9)mpi3mr_set_identify(9)mpi3mr_add_host_phy(9)mpi3mr_add_expander_phy(9)mpi3mr_alloc_hba_port(9)mpi3mr_get_hba_port_by_id(9)mpi3mr_update_links(9)mpi3mr_sas_host_refresh(9)mpi3mr_sas_host_add(9)mpi3mr_sas_port_add(9)mpi3mr_sas_port_remove(9)struct host_port(9)mpi3mr_update_mr_sas_port(9)mpi3mr_refresh_sas_ports(9)mpi3mr_refresh_expanders(9)mpi3mr_expander_node_add(9)mpi3mr_expander_add(9)mpi3mr_expander_node_remove(9)mpi3mr_expander_remove(9)mpi3mr_get_sas_negotiated_logical_linkrate(9)mpi3mr_report_tgtdev_to_sas_transport(9)mpi3mr_remove_tgtdev_from_sas_transport(9)mpi3mr_get_port_id_by_sas_phy(9)mpi3mr_get_expander_phy_error_log(9)mpi3mr_transport_get_linkerrors(9)mpi3mr_transport_get_enclosure_identifier(9)mpi3mr_transport_get_bay_identifier(9)mpi3mr_expander_phy_control(9)mpi3mr_transport_phy_reset(9)mpi3mr_transport_phy_enable(9)mpi3mr_transport_phy_speed(9)mpi3mr_map_smp_buffer(9)mpi3mr_unmap_smp_buffer(9)mpi3mr_transport_smp_handler(9)
and that's the whole page, bestie β no crumbs left behind π
cute lil sign-off: this masterpiece lives in./drivers/scsi/mpi3mr, it's dated October 2026, and it's filed undermpi3mr_get_port_id_by_rphy(9). go read the source, it's giving main character energy πβ¨
π¦ 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