ENUM MHI_STATE(9)
π¦ enum mhi_state(9) β the MHI vibe check π¦
okay bestie, so this page lives in the Kernel API Manual, and it's literally just the enum that spells out every state an MHI thing can be in. That's it. That's the whole page. But it's lowkey iconic, so let's get into it π
β¨ NAME β¨
enum mhi_state β MHI states, periodt.
πΈ SYNOPSIS πΈ
enum mhi_state {
MHI_STATE_RESET ,
MHI_STATE_READY ,
MHI_STATE_M0 ,
MHI_STATE_M1 ,
MHI_STATE_M2 ,
MHI_STATE_M3 ,
MHI_STATE_M3_FAST ,
MHI_STATE_BHI ,
MHI_STATE_SYS_ERR
};
no cap, that's the whole thing. nine constants, zero notes, all vibes π
π CONSTANTS π
okay so here's the roster β every single one of these is a state, and honestly they each get exactly one job and they ate with it:
MHI_STATE_RESETβ Reset state π like, everything's gone back to square one.MHI_STATE_READYβ Ready state β¨ it's giving "I'm here, I'm ready, put me in coach."MHI_STATE_M0β M0 state πMHI_STATE_M1β M1 state π¦MHI_STATE_M2β M2 state πΈMHI_STATE_M3β M3 state πMHI_STATE_M3_FASTβ M3 Fast state π₯ (yes, the fast one, she's different)MHI_STATE_BHIβ BHI state βMHI_STATE_SYS_ERRβ System Error state π like... not the moment you want, but it's on the list fr fr.
note: the manpage does NOT tell you what M0/M1/M2/M3 actually do β it just names them. so don't come for me, I'm only repeating what the page says π
π«Ά SEE ALSO π«Ά
the kernel file it comes from is ./include/linux/mhi.h β and hoo boy, the friend group is LARGE:
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)struct mhi_link_info(9)enum mhi_ee_type(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 page bestie, no plot twists, no bugs section, no author credits β just states and then a truly enormous SEE ALSO π
sign-off time π§ from the source dir ./include/linux, dated October 2026, this has been enum mhi_state(9) β slay, bye! π
π¦ 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