STRUCT IWL_SCD_QUEUE_CFG_CMD(9)
π struct iwl_scd_queue_cfg_cmd(9) β like, the scheduler queue allocation command bestie β¨
okay so this is a page from the Kernel API Manual, section 9, and it's all about struct iwl_scd_queue_cfg_cmd. it's giving "firmware tells the scheduler to allocate a queue" energy and honestly? iconic. let's get into it π
πΈ NAME πΈ
struct iwl_scd_queue_cfg_cmd β the scheduler queue allocation command. that's it, that's the whole vibe. she allocates queues, she's booked and busy π
β¨ SYNOPSIS β¨
bestie, look at her. look at the whole struct. every field, exactly as written, no notes:
struct iwl_scd_queue_cfg_cmd {
__le32 operation;
union {
struct {
__le32 sta_mask;
u8 tid;
u8 reserved[3];
__le32 flags;
__le32 cb_size;
__le64 bc_dram_addr;
__le64 tfdq_dram_addr;
} add;
struct {
__le32 sta_mask;
__le32 tid;
} remove;
struct {
__le32 old_sta_mask;
__le32 tid;
__le32 new_sta_mask;
} modify;
} u;
};
a union with three whole personalities inside β add, remove, modify β and she switches between them depending on what you're doing. main character energy fr fr π
π¦ Members π¦
operationβ the actual operation you're doing, and for the full menu you gotta look atenum iwl_scd_queue_cfg_operation. lowkey the most important field here ngl.uβ the union, and which part of it matters depends on the command usage. choose your fighter π
π the add era π
u.add.sta_maskβ station mask. bestie's name tag.u.add.tidβ the TID. yes queen, traffic identifier.u.add.reservedβ reserved. she's just there. don't touch. we respect her space πu.add.flagsβ flags fromenum iwl_tx_queue_cfg_actionsβ¦
β οΈ okay so this is the one exception: TX_QUEUE_CFG_ENABLE_QUEUE is not valid here. not allowed. not today. do not pass go. put it out of your mind entirely π
u.add.cb_sizeβ size code. short and sweet.u.add.bc_dram_addrβ byte-count table IOVA. literally the address, keep it exact π«Άu.add.tfdq_dram_addrβ TFD queue IOVA. also exact.
π§ the remove era π§
u.remove.sta_maskβ station mask of the queue you're removing. bye bestie πu.remove.tidβ TID of the queue you're removing.
π the modify era π
u.modify.old_sta_maskβ old station mask, for modify. the before pic.u.modify.tidβ TID of the queue you're modifying.u.modify.new_sta_maskβ new station mask, for modify. the after pic β¨
π SEE ALSO π
the whole friend group, and you WILL be introduced to every single one of them, no cap. kernel file ./drivers/net/wireless/intel/iwlwifi/fw/api/datapath.h, plus:
enum iwl_data_path_subcmd_ids(9)struct iwl_mu_group_mgmt_cmd(9)struct iwl_mu_group_mgmt_notif(9)struct iwl_time_sync_cfg_cmd(9)enum iwl_synced_time_operation(9)struct iwl_synced_time_cmd(9)struct iwl_synced_time_rsp(9)struct iwl_time_msmt_ptp_ctx(9)struct iwl_time_msmt_notify(9)struct iwl_time_msmt_cfm_notify(9)struct iwl_channel_estimation_cfg(9)enum iwl_thermal_dual_chain_req_events(9)struct iwl_thermal_dual_chain_request(9)struct iwl_rlc_properties(9)struct iwl_sad_properties(9)struct iwl_rlc_config_cmd(9)enum iwl_rx_baid_action(9)struct iwl_rx_baid_cfg_cmd_alloc(9)struct iwl_rx_baid_cfg_cmd_modify(9)struct iwl_rx_baid_cfg_cmd_remove_v1(9)struct iwl_rx_baid_cfg_cmd_remove(9)struct iwl_rx_baid_cfg_cmd(9)struct iwl_rx_baid_cfg_resp(9)enum iwl_scd_queue_cfg_operation(9)enum iwl_sec_key_flags(9)struct iwl_sec_key_cmd(9)
like, that's a lot of mutuals. go say hi π
and that's the page!! mwah π this one came from ./drivers/net/wireless/intel/i..., dated October 2026, and it lives at struct iwl_s...ueue_cfg_cmd(9) β go forth and allocate queues responsibly bestie, ily, bye π«Άπ
π¦ 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