STRUCT MHI_LINK_INFO(9)
πΈ struct mhi_link_info(9) πΈ
okay so bestie, welcome to the Kernel API Manual page for struct mhi_link_info β she's a tiny little struct with main character energy and one (1) job: telling everyone what the bandwidth requirement is. no cap. π
β¨ NAME β¨
struct mhi_link_info β BW requirement π
Like, literally just the bandwidth requirement. that's the whole vibe.
π¦ SYNOPSIS π¦
struct mhi_link_info {
unsigned int target_link_speed;
unsigned int target_link_width;
};
two unsigned ints, that's it, she's lowkey minimal and we respect it π«Ά
π Members π
target_link_speedβ the link speed, and it's defined by the TLS bits in theLinkControlreg, iykyk. it's giving "read the register bestie". π₯target_link_widthβ the link width, defined by the NLW bits in theLinkStatusreg. yes the Status reg, not the Control one β don't mix them up, that's a vibe check you do NOT want to fail π
π§ SEE ALSO π§
so there's a whole squad and honestly? iconic. the kernel file is ./include/linux/mhi.h and she rolls with:
enum mhi_callback(9), enum mhi_flags(9), enum mhi_device_type(9), enum mhi_ch_type(9), struct mhi_buf(9), struct image_info(9), enum mhi_ee_type(9), enum mhi_state(9), enum mhi_ch_ee_mask(9), enum mhi_er_data_type(9), enum mhi_db_brst_mode(9), struct mhi_channel_config(9), struct mhi_event_config(9), struct mhi_controller_config(9), struct mhi_controller(9), struct mhi_device(9), struct mhi_result(9), struct mhi_driver(9), mhi_alloc_controller(9), mhi_free_controller(9), mhi_register_controller(9), mhi_unregister_controller(9), __mhi_driver_register(9), mhi_driver_unregister(9), mhi_set_mhi_state(9), mhi_notify(9), mhi_get_free_desc_count(9), mhi_prepare_for_power_up(9), mhi_async_power_up(9), mhi_sync_power_up(9), mhi_power_down(9), mhi_power_down_keep_dev(9), mhi_unprepare_after_power_down(9), mhi_pm_suspend(9), mhi_pm_resume(9), mhi_pm_resume_force(9), mhi_download_rddm_image(9), mhi_force_rddm_mode(9), mhi_get_exec_env(9), mhi_get_mhi_state(9), mhi_soc_reset(9), mhi_device_get_sync(9), mhi_device_put(9), mhi_prepare_for_transfer(9), mhi_unprepare_from_transfer(9), mhi_queue_buf(9), mhi_queue_skb(9), mhi_queue_is_full(9), mhi_get_channel_doorbell_offset(9)
that's the whole group chat, bestie. say hi to all 49 of them or whatever π
ngl this one's a short read β no scary warnings, no deprecated nonsense, no undefined behaviour lurking in the shadows. just two fields and a dream. π
and that's the page!! β¨ shoutout to ./include/linux, dated October 2026, and the manual itself is struct mhi_link_info(9) β mwah, periodt. ππ
π¦ 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