mpi3mr_get_s...cal_linkrate(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… mpi3mr_get_sas_negotiated_logical_linkrate(9) πŸ’…

okay so this is a page straight out of the Kernel API Manual and bestie, it's a little one but she's important. it's mpi3mr_get_sas_negotiated_logical_linkrate(9) β€” say that five times fast, i dare you 😭


✨ NAME ✨

mpi3mr_get_sas_negotiated_logical_linkrate β€” get linkrate. that's it. that's the whole vibe. she gets the linkrate πŸŽ€


🌸 SYNOPSIS 🌸

u8 mpi3mr_get_sas_negotiated_logical_linkrate (struct mpi3mr_ioc *mrioc
, struct mpi3mr_tgt_dev *tgtdev );

like, two args, one u8 coming back at you. slay ✨


πŸ¦‹ ARGUMENTS πŸ¦‹

  • mrioc β€” the Adapter instance reference. your whole controller, your main character πŸ‘‘
  • tgtdev β€” the Target device. the one we're asking about 🎯

πŸ’– DESCRIPTION πŸ’–

okay so here's the tea, and i need you to follow along because the way this function works is genuinely so smart 🫢

first, it tries to use the link rate from DevicePage0 β€” and btw that page is populated by firmware during device discovery, so it's the pre-cached, already-sitting-there version. convenient, right? ✨

but if the cached value is not available, or it's invalid (rude πŸ’€), it falls back to reading from sas phy page0 or expander phy page1. so there's a whole backup plan. she does not give up. she pivots. periodt πŸ’…


πŸ”₯ RETURN πŸ”₯

the logical link rate. that's the u8. go off πŸ‘‘


🌈 SEE ALSO 🌈

  • Kernel file ./drivers/scsi/mpi3mr/mpi3mr_transport.c β€” the literal source, iykyk

and then the whole friend group, fr fr:

like, that is a friend group 🫢 πŸ’œ


ngl the whole thing lives in ./drivers/scsi/mpi3mr β€” go say hi to the source sometime, she's nice 😌

and that's the page!! mwah πŸ’‹ this baby shipped in October 2026, source ./drivers/scsi/mpi3mr, and honestly? iconic from start to finish. bye bestie πŸ¦‹βœ¨πŸŽ€

πŸ“¦ where this page comes from