tx_eqtr_iter_update(9)
π tx_eqtr_iter_update β from the Kernel API Manual, bestie
okay so picture this: you're deep in the kernel, you're poking at UFS TX equalization training (yes, that's a whole thing), and you've got two iterators that need to know about your PreShoot and DeEmphasis values. That's literally this function. It's called tx_eqtr_iter_update(9) and it's the one that updates the host iterator and the device iterator in one go. Iconic behavior, honestly. π
β¨ NAME β¨
tx_eqtr_iter_update β the function that updates the host and the device TX EQTR iterators π«Ά
πΈ SYNOPSIS πΈ
bool tx_eqtr_iter_update (u8 preshoot , u8 deemphasis , struct
tx_eqtr_iter *h_iter , struct tx_eqtr_iter *d_iter );
yeah she takes four arguments and gives you back a bool. no cap, that's the whole signature, copy it exactly if you're writing it down π
π¦ ARGUMENTS π¦
preshootβ the PreShoot value, passed in as au8. that's it, that's the vibe β¨deemphasisβ the DeEmphasis value, also au8. matching energy πh_iterβ a pointer to the host TX EQTR iterator data structure. the host's little bookkeeping buddy πd_iterβ a pointer to the device TX EQTR iterator data structure. same deal, but for the device π¦
π DESCRIPTION π
So what does it do? It updates the host and device TX Equalization training iterators with the PreShoot and DeEmphasis you handed it. Both of them. The host one and the device one. With the provided PreShoot and DeEmphasis. That's the whole thing, and she does it flawlessly π₯
like, no hidden side quests, no extra behavior we're making up β that's genuinely the description, so don't go reading more into it π
β RETURN β
trueβ if the host and/or device TX Equalization training iterator has been updated to the provided PreShoot and DeEmphasis πfalseβ otherwise π
note the and/or, bestie β it's not demanding both, it's saying either one or both counts as a win π«Ά
π SEE ALSO π
okay this list is long and we are respecting every single entry, no skipping, no summarizing, periodt. also the kernel file lives at ./drivers/ufs/core/ufs-txeq.c π§
ufshcd_configure_precoding(9)ufshcd_apply_tx_eq_settings(9)ufshcd_evaluate_tx_eqtr_fom(9)ufshcd_get_rx_fom(9)tx_eqtr_iter_try_update(9)ufshcd_tx_eqtr_iter_init(9)adapt_cap_to_t_adapt(9)adapt_cap_to_t_adapt_l0l3(9)adapt_cap_to_t_adapt_l0l1l2l3(9)ufshcd_setup_tx_eqtr_adapt_length(9)ufshcd_compose_tx_eqtr_setting(9)ufshcd_apply_tx_eqtr_settings(9)ufshcd_update_tx_eq_params(9)__ufshcd_tx_eqtr(9)ufshcd_tx_eqtr_prepare(9)ufshcd_tx_eqtr(9)ufshcd_config_tx_eq_settings(9)ufshcd_apply_valid_tx_eq_settings(9)ufshcd_retrain_tx_eq(9)ufshcd_extract_tx_eq_settings_attrs(9)ufshcd_update_tx_eq_settings_attrs(9)
like. look at that roster. main character energy from every single one of them π
pspsps β tx_eqtr_iter_try_update(9) is right there in the list and she's adjacent to this one, so if you were curious, that's your next read. iykyk π
that's the whole page, bestie! source page lives in ./drivers/ufs/core, dated October 2026, and it's all about tx_eqtr_iter_update(9) β go forth and update those iterators πβ¨πΈ
π¦ 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