STRUCT TX_EQTR_ITER(9)
π struct tx_eqtr_iter(9) β like, the TX Equalization Training iterator, bestie
okay so this is a page from the Kernel API Manual, section 9 (kernel routines, iykyk), and it's all about struct tx_eqtr_iter β the TX Equalization Training iterator β¨ no cap, that's literally what it is.
β¨ NAME β¨
struct tx_eqtr_iter β the TX Equalization Training iterator π
She's a struct. She iterates. She trains your TX equalization. Main character energy fr.
πΈ SYNOPSIS πΈ
struct tx_eqtr_iter {
unsigned long preshoot_bitmap;
unsigned long deemphasis_bitmap;
u8 preshoot;
u8 deemphasis;
u8 fom[UFS_MAX_LANES];
bool is_updated;
};
yes bestie, that's the whole shape of her β copy it exactly, don't be weird about it π«Ά
π¦ MEMBERS π¦
okay so let's go member by member, because each one is doing her own little job and we respect her for it π
preshoot_bitmapβ the PreShoot bitmap β¨ it's anunsigned long, it's a bitmap, it's about preshoot. That's the vibe.deemphasis_bitmapβ the DeEmphasis bitmap π again anunsigned long, again a bitmap, this time for deemphasis. Twin energy with the one above ngl.preshootβ the PreShoot value itself π au8, the actual number, not the bitmap. Don't confuse her withpreshoot_bitmap, they're different girls.deemphasisβ the DeEmphasis value, same deal π₯ au8holding the real value whiledeemphasis_bitmapholds the bitmap. Periodt.fomβ Figure-of-Merit read out fromRX_FOMπ it's au8array sizedUFS_MAX_LANES, so one FOM per lane, slay.is_updatedβ aboolflag that tells you if it's been updated since the previous iteration β literally just "did something change since last time", iconic.
π tiny reminder bestie:preshoot_bitmap/deemphasis_bitmapare the bitmaps, andpreshoot/deemphasisare the values. Keep them straight and you'll be fine.
π SEE ALSO π
so if you wanna go deeper (and you know you do π), check out the kernel file ./include/ufs/ufshcd.h β that's where all her friends live π§
struct uic_command(9)struct ufshcd_lrb(9)struct ufs_query_req(9)struct ufs_query_res(9)struct ufs_query(9)struct ufs_dev_cmd(9)struct ufs_clk_info(9)struct ufshcd_tx_eq_settings(9)struct ufshcd_tx_eqtr_data(9)struct ufshcd_tx_eqtr_record(9)struct ufshcd_tx_eq_params(9)struct ufs_hba_variant_ops(9)struct ufs_clk_gating(9)struct ufs_clk_scaling(9)struct ufs_event_hist(9)struct ufs_stats(9)enum ufshcd_state(9)enum ufshcd_pmc_policy(9)struct ufshcd_mcq_opr_info_t(9)struct ufs_hba(9)struct ufs_hw_queue(9)ufshcd_rmwl(9)ufshcd_set_variant(9)ufshcd_get_variant(9)
like, the whole ufs friend group showed up to the party π and honestly? obsessed.
and that's the page!! π sourced from ./include/ufs, dated October 2026, in true struct tx_eqtr_iter(9) fashion β love her, read her, iterate responsibly β¨π¦π
π¦ 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