ENUM EFX_MCDI_STATE(9)
π enum efx_mcdi_state β MCDI request handling state
okay so bestie, this is a page from the Kernel API Manual and it's literally just one lil' enum that tracks what the MCDI request handler is doing at any given moment. it's giving state machine energy and honestly? iconic. let's get into it π
β¨ NAME β¨
enum efx_mcdi_state β MCDI request handling state
like, the whole vibe of this thing is "what is MCDI doing rn" and the answer is always exactly one of these five constants. no cap. π¦
πΈ SYNOPSIS πΈ
enum efx_mcdi_state {
MCDI_STATE_QUIESCENT ,
MCDI_STATE_RUNNING_SYNC ,
MCDI_STATE_RUNNING_ASYNC ,
MCDI_STATE_PROXY_WAIT ,
MCDI_STATE_COMPLETED
};
that's it, that's the whole enum. copy it exactly, don't be cute with it π
β Constants β
okay so these are the five states, and each one has lore. let's go one by one, bestie, no skipping π«Ά
MCDI_STATE_QUIESCENTβ literally nothing pending, we're at peace, we're hydrated, we're minding our business. BUT β and this is the important part β if the caller holds themcdi iface_lock, then they are able to move toMCDI_STATE_RUNNING. iykyk π₯MCDI_STATE_RUNNING_SYNCβ there's a synchronous MCDI request pending. and listen, this one's exclusive: only the thread that moved into this state is allowed to move out of it. no tag-teaming, no jumping in, it's main character energy only πMCDI_STATE_RUNNING_ASYNCβ there's an asynchronous MCDI request pending. same family as the sync one but make it async β¨MCDI_STATE_PROXY_WAITβ an MCDI request has completed, but the response came back saying we must wait for a proxy try again message. so like, we finished but we're not done done. it's giving "hold please" πMCDI_STATE_COMPLETEDβ an MCDI request has completed, but the owning thread hasn't yet consumed the result. so the snack is on the table but nobody's eaten it yet π. and here's the fine print: for all other threads, this is equivalent toMCDI_STATE_RUNNING. important detail, don't sleep on it π
π SEE ALSO π
go read up, bestie, this is the whole friend group:
- Kernel file
./drivers/net/ethernet/sfc/siena/mcdi.henum efx_mcdi_mode(9)struct efx_mcdi_iface(9)struct efx_mcdi_data(9)
like, efx_mcdi_mode(9) is literally right there, go say hi π
and that's the page, bestie!! π this one comes to you from ./drivers/net/ethernet/sfc/siena, dated October 2026, living in the Kernel API Manual as enum efx_mcdi_state(9). slay, stay quiescent, and remember: only you can move yourself out of MCDI_STATE_RUNNING_SYNC π§β¨
π¦ 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