ENUM EFX_MCDI_STATE(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… 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 the mcdi iface_lock, then they are able to move to MCDI_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 to MCDI_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.h enum
  • 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