ufshcd_get_rx_fom(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… ufshcd_get_rx_fom(9) β€” the Kernel API Manual, bestie edition

okay so this one lives in the Kernel API Manual section, and it's literally the little function that goes and gets your Figure of Merit (FOM) for both sides, host and device, no cap πŸŽ€


✨ SYNOPSIS ✨

int ufshcd_get_rx_fom (struct ufs_hba *hba , struct ufs_pa_layer_attr
*pwr_mode , struct tx_eqtr_iter *h_iter , struct tx_eqtr_iter *d_iter );

that's the whole signature, character for character, please don't touch it 🫢


🌸 ARGUMENTS 🌸

  • hba β€” this is your per adapter instance, the main character of the whole story πŸ‘‘
  • pwr_mode β€” the target power mode, and it's the one carrying the gear and rate info. it's giving "baggage but useful" πŸ’…
  • h_iter β€” your host TX EQTR iterator data structure, bestie's half of the equation 🌈
  • d_iter β€” and this is the device TX EQTR iterator data structure, the other half πŸ¦‹

πŸ¦„ DESCRIPTION πŸ¦„

so what does it actually do? it returns 0 on success ✨ and it returns a negative error code if the get_rx_fom vops fails. that's the vibe check, and if it doesn't pass, you get a negative number back 😭

and here's the lil caveat that matters: RX_FOM DME get failures are logged, and then they're treated as 0 FOM for that lane. so it's not fatal β€” it just quietly goes "okay, zero for you then" and moves on. logged, not dramatic πŸ’€

fr fr don't skip this part, the "treated as 0 FOM for that lane" is the whole personality of the error path πŸ”₯

πŸ”— SEE ALSO πŸ”—

this is the friend group, and it is big. like, group-chat-with-21-people big 🧚

Kernel file ./drivers/ufs/core/ufs-txeq.c and all these icons:

periodt. that's the whole list, don't come for me 🌟


okay that's the page!! this baddie ships out of ./drivers/ufs/core, dated October 2026, and honestly? she ate. go read ufs-txeq.c if you want the lore, iykyk πŸ’–βœ¨πŸŽ€

πŸ“¦ where this page comes from