ENUM MHI_CH_TYPE(9)
π enum mhi_ch_type(9) β straight from the Kernel API Manual, bestie
okay so picture this: you're in the kernel API manual (yes, that one), and you've stumbled onto enum mhi_ch_type. It's literally just the vibe check for MHI channels β like, what kind of channel even are you? Let's get into it π«Ά
β¨ NAME β¨
enum mhi_ch_type β channel types, periodt π
π¦ SYNOPSIS π¦
enum mhi_ch_type {
MHI_CH_TYPE_INVALID ,
MHI_CH_TYPE_OUTBOUND ,
MHI_CH_TYPE_INBOUND ,
MHI_CH_TYPE_INBOUND_COALESCED
};
π Constants π
girl, there are exactly four of them and they each have main character energy in their own way:
MHI_CH_TYPE_INVALIDβ the "no thoughts, head empty" option π it's the invalid channel type, i.e. not a real one.MHI_CH_TYPE_OUTBOUNDβ outbound channel to the device π your stuff, heading to the device.MHI_CH_TYPE_INBOUNDβ inbound channel from the device πΈ the device's stuff, coming back to you.MHI_CH_TYPE_INBOUND_COALESCEDβ the icon, the moment π this is a coalesced channel β it lets the device combine multiple packets and send them as a single large packet to reduce CPU consumption. highkey efficient, ngl.
π SEE ALSO π
So the kernel file lives at ./include/linux/mhi.h β that's the home base. And then there's a whole friend group of related things, iykyk:
enum mhi_callback(9)enum mhi_flags(9)enum mhi_device_type(9)struct mhi_buf(9)struct image_info(9)struct mhi_link_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)
likeβ¦ that's the whole group chat, fr fr π₯
ngl bestie, there's no gotchas, no danger zones, no sneaky bugs in this one β it's just four constants doing their lil thing. Read them, love them, move on π
and that's the page!! π sourced from ./include/linux, dated October 2026 β mwah, go read the real thing if you want the β¨officialβ¨ lore π§π
π¦ 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