STRUCT IWL_DHC_CMD(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– NAME πŸ’–

okay so bestie, welcome to the Kernel API Manual ✨ β€” this page is all about struct iwl_dhc_cmd, which is literally the debug host command. that's the whole vibe. πŸ’…


✨ SYNOPSIS ✨

here's the shape of it, don't be scared, it's just three fields 🫢

struct iwl_dhc_cmd {
    __le32 length;
    __le32 index_and_mask;
    __le32 data[];
 };

🌸 Members 🌸

  • length β€” the length, in DWs, of the data structure that gets concatenated to the end of this struct. yes, DWs. slay. ✨
  • index_and_mask β€” ok this one is the main character, it's a whole bitfield and it's giving packed-lunch realness. every bit has a job, no cap:
    • bit 31 is 1 for a data set operation, otherwise it's 0 πŸ’€
    • bits 28-30 are the index of the table of the operation β€” that's enum iwl_dhc_table_id
    • bit 27 is 0 if the cmd is targeted to LMAC and 1 if targeted to UMAC (and fr, LMAC is 0 for backward compatibility, iconic behavior)
    • bit 26 is 0 if the cmd is targeted to LMAC0 and 1 if targeted to LMAC1 β€” but heads up bestie, this one's only relevant if bit 27 is set to 0 πŸ‘€
    • bits 0-25 are a specific entry index in the table specified in bits 28-30 🌟
  • data β€” the concatenated data. that's it. that's the field. πŸŽ€
ngl, if you're poking at raw bits here, be careful β€” each bit position does exactly one very specific thing and they all matter. no guessing. πŸ’œ

🌈 SEE ALSO 🌈

go read these next, i'm obsessed, they're all in the kernel file:

  • ./drivers/net/wireless/intel/iwlwifi/fw/api/dhc.h
  • enum iwl_dhc_table_id(9)
  • enum iwl_dhc_umac_tools_table(9)
  • enum iwl_dhc_umac_integration_table(9)
  • struct iwl_dhc_payload_hdr(9)
  • struct iwl_dhc_tas_status_per_radio(9)
  • struct iwl_dhc_tas_status_resp(9)
  • struct iwl_dhc_cmd_resp_v1(9)
  • struct iwl_dhc_cmd_resp(9)
  • enum iwl_dhc_twt_operation_type(9)
  • struct iwl_dhc_twt_operation(9)

alright bestie, that's the page πŸ¦‹ β€” this one came from ./drivers/net/wireless/intel/i... and it's stamped October 2026, so like, fresh out of the kernel group chat. go forth and debug, you've got this, periodt πŸ’…πŸ”₯πŸ‘‘

πŸ“¦ where this page comes from