STRUCT MEI_CL(9)
struct mei_cl(9) ๐ โจ
okay bestie, welcome to the Kernel API Manual glow-up for struct mei_cl โ the me client host representation carried in file->private_data. Yes, itโs giving kernel-internals main character energy, and weโre getting into every single field. no skipping. periodt. ๐
๐ NAME ๐
struct mei_cl โ the me client host representation carried in file->private_data. Thatโs the whole vibe: itโs the client-side host representation, and it lives in file->private_data. ๐ซถ
โจ SYNOPSIS โจ
struct mei_cl {
struct list_head link;
struct mei_device *dev;
enum file_state state;
wait_queue_head_t tx_wait;
wait_queue_head_t rx_wait;
wait_queue_head_t wait;
wait_queue_head_t ev_wait;
struct fasync_struct *ev_async;
int status;
struct mei_me_client *me_cl;
const struct file *fp;
u8 host_client_id;
struct list_head vtag_map;
u8 tx_flow_ctrl_creds;
u8 rx_flow_ctrl_creds;
u8 timer_count;
u8 notify_en;
u8 notify_ev;
u8 tx_cb_queued;
enum mei_file_transaction_states writing_state;
struct list_head rd_pending;
spinlock_t rd_completed_lock;
struct list_head rd_completed;
struct mei_dma_data dma;
u8 dma_mapped;
struct mei_cl_device *cldev;
};
๐ธ Members ๐ธ
linkโ the link in the clients list. iconic little list glue. ๐devโ the mei parent device. the parent-device realness. ๐stateโ file operation state. where the file-op of it all is at. โจtx_waitโ wait queue for tx completion. yes, wait queue, for tx completion. ๐คrx_waitโ wait queue for rx completion. matching wait queue, matching completion. ๐ซถwaitโ wait queue for management operation. management-operation wait queue, fr fr. ๐งev_waitโ notification wait queue. the notification wait queue. ๐ธev_asyncโ event async notification. async event notification, no cap. โกstatusโ connection status. connection status check, bestie. ๐ฉทme_clโ fw client connected. the connected fw client. ๐ฅfpโ file associated with client. the file associated with the client. ๐host_client_idโ host id. literally the host id. ๐ชชvtag_mapโ vtag map. thatโs the vtag map. ๐บ๏ธtx_flow_ctrl_credsโ transmit flow credentials. transmit flow creds, periodt. ๐คrx_flow_ctrl_credsโ receive flow credentials. receive flow creds, matching energy. ๐ฅtimer_countโ watchdog timer for operation completion. watchdog timer for operation completion, very โthe clock is tickingโ of it all. โฐnotify_enโ notification - enabled/disabled. notification enabled/disabled, iykyk. ๐notify_evโ pending notification event. the pending notification event. ๐ฌtx_cb_queuedโ number of tx callbacks in queue. the number of tx callbacks in queue. ๐งฎwriting_stateโ state of the tx. state of the tx, keeping it real. โ๏ธrd_pendingโ pending read credits. pending read credits, bestie. ๐๏ธrd_completed_lockโ protectsrd_completedqueue. this lock is literally protecting therd_completedqueue. ๐rd_completedโ completed read. completed read, slay. โdmaโ dma settings. dma settings, the configuration of it all. ๐ ๏ธdma_mappedโ dma buffer is currently mapped. yes: the dma buffer is currently mapped. ๐บ๏ธcldevโ device on the mei client bus. device on the mei client bus, periodt. ๐
๐ SEE ALSO ๐
go peek at the kernel file ./drivers/misc/mei/mei_dev.h and these besties too โ theyโre all linked in the lore:
enum mei_dev_pxp_mode(9)enum mei_dev_reset_to_pxp(9)enum mei_cb_file_ops(9)enum mei_cl_io_mode(9)struct mei_dma_dscr(9)struct mei_me_client(9)struct mei_cl_cb(9)struct mei_cl_vtag(9)struct mei_hw_ops(9)enum mei_pg_event(9)enum mei_pg_state(9)struct mei_fw_version(9)enum mei_dev_kind(9)struct mei_device(9)mei_data2slots(9)mei_hbm2slots(9)mei_slots2data(9)mei_fw_status_str(9)kind_is_gsc(9)kind_is_gscfi(9)
mwah ๐ โ this kernel-api cutie lives in ./drivers/misc/mei, dated October 2026, and itโs literally struct mei_cl(9). take care of her! ๐๐ทโจ
๐ฆ 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