IEEE80211_NUM_ACS
for (int ac = 0; ac < IEEE80211_NUM_ACS; ac++)
spinlock_t queue_lock[IEEE80211_NUM_ACS];
for (ac = 0; ac < IEEE80211_NUM_ACS; ac++) {
struct ath_txq *txq_map[IEEE80211_NUM_ACS];
u16 max_aggr_framelen[IEEE80211_NUM_ACS][4][32];
struct ath_acq acq[IEEE80211_NUM_ACS];
for (i = 0; i < IEEE80211_NUM_ACS; i++)
for (i = 0; i < IEEE80211_NUM_ACS; i++)
for (i = 0; i < IEEE80211_NUM_ACS; i++) {
u32 queue_stats[IEEE80211_NUM_ACS];
int hwq_map[IEEE80211_NUM_ACS];
if (queue >= IEEE80211_NUM_ACS)
for (i = 0; i < IEEE80211_NUM_ACS; i++) {
for (i = 0; i < IEEE80211_NUM_ACS; i++) {
for (i = 0; i < IEEE80211_NUM_ACS; i++)
if (queue >= IEEE80211_NUM_ACS)
ctx->hw_queue_base = pos * IEEE80211_NUM_ACS;
for (i = 0; i < IEEE80211_NUM_ACS; i++)
for (ac = 0; ac < IEEE80211_NUM_ACS; ac++)
for (i = 0; i < IEEE80211_NUM_ACS; i++) {
static const u8 ac_to_fifo_mapping[IEEE80211_NUM_ACS] = {
static const u8 fifo_to_ac_mapping[IEEE80211_NUM_ACS] = {
for (i_ac = 0; i_ac < IEEE80211_NUM_ACS; i_ac++, edcf_acp++) {
for (ac = 0; ac < IEEE80211_NUM_ACS; ac++)
for (ac = 0; ac < IEEE80211_NUM_ACS; ac++) {
for (ac = 0; ac < IEEE80211_NUM_ACS; ac++)
if (queue < IEEE80211_NUM_ACS) {
u16 edcf_txop[IEEE80211_NUM_ACS];
u16 wme_retries[IEEE80211_NUM_ACS];
u8 ac_to_queue[IEEE80211_NUM_ACS];
u8 ac_to_fifo[IEEE80211_NUM_ACS];
for (ac = 0; ac < IEEE80211_NUM_ACS; ac++)
for (int mac_ac = 0; mac_ac < IEEE80211_NUM_ACS; mac_ac++) {
for (int mac_ac = 0; mac_ac < IEEE80211_NUM_ACS; mac_ac++) {
struct ieee80211_tx_queue_params queue_params[IEEE80211_NUM_ACS];
hw->queues = IEEE80211_NUM_ACS;
for (i = 0; i < IEEE80211_NUM_ACS; i++) {
for (i = 0; i < IEEE80211_NUM_ACS; i++) {
hw->queues = IEEE80211_NUM_ACS;
struct ieee80211_tx_queue_params queue_params[IEEE80211_NUM_ACS];
u32 pkts[IEEE80211_NUM_ACS];
u32 pkts[IEEE80211_NUM_ACS];
u8 ac_to_queue[IEEE80211_NUM_ACS];
IEEE80211_NUM_ACS, 1);
struct ieee_types_wmm_ac_parameters ac_params[IEEE80211_NUM_ACS];
struct ieee_types_wmm_ac_parameters ac_params[IEEE80211_NUM_ACS];
IEEE80211_NUM_ACS];
struct mwifiex_wmm_ac_status ac_status[IEEE80211_NUM_ACS];
enum mwifiex_wmm_ac_e ac_down_graded_vals[IEEE80211_NUM_ACS];
u8 queue_priority[IEEE80211_NUM_ACS];
atomic_t wmm_tx_pending[IEEE80211_NUM_ACS];
for (i = 0; i < IEEE80211_NUM_ACS; i++)
} tx_q[IEEE80211_NUM_ACS];
for (i = 0; i < IEEE80211_NUM_ACS; i++) {
for (i = 0; i < IEEE80211_NUM_ACS; i++) {
for (i = 0; i < IEEE80211_NUM_ACS; i++) {
u32 tx_time[IEEE80211_NUM_ACS], rx_time[IEEE80211_NUM_ACS];
for (i = 0; i < IEEE80211_NUM_ACS; i++) {
for (i = 0; i < IEEE80211_NUM_ACS; i++) {
(IEEE80211_NUM_ACS - num) * sizeof(struct edca);
.total = IEEE80211_NUM_ACS,
for (ac = 0; ac < IEEE80211_NUM_ACS; ac++) {
struct edca edca[IEEE80211_NUM_ACS];
struct ieee80211_tx_queue_params queue_params[IEEE80211_NUM_ACS];
for (i = 0; i < IEEE80211_NUM_ACS; i++) {
u32 tx_time[IEEE80211_NUM_ACS], rx_time[IEEE80211_NUM_ACS];
for (i = 0; i < IEEE80211_NUM_ACS; i++) {
struct edca edca[IEEE80211_NUM_ACS];
struct mu_edca edca[IEEE80211_NUM_ACS];
for (ac = 0; ac < IEEE80211_NUM_ACS; ac++) {
for (ac = 0; ac < IEEE80211_NUM_ACS; ac++) {
u32 tx_time[IEEE80211_NUM_ACS], rx_time[IEEE80211_NUM_ACS];
for (i = 0; i < IEEE80211_NUM_ACS; i++) {
for (i = 0; i < IEEE80211_NUM_ACS; i++) {
int len = sizeof(hdr) + IEEE80211_NUM_ACS * sizeof(struct edca);
for (ac = 0; ac < IEEE80211_NUM_ACS; ac++) {
struct ieee80211_tx_queue_params queue_params[IEEE80211_NUM_ACS];
u32 tx_time[IEEE80211_NUM_ACS], rx_time[IEEE80211_NUM_ACS];
for (i = 0; i < IEEE80211_NUM_ACS; i++) {
for (i = 0; i < IEEE80211_NUM_ACS; i++) {
int len = sizeof(hdr) + IEEE80211_NUM_ACS * sizeof(struct edca);
for (ac = 0; ac < IEEE80211_NUM_ACS; ac++) {
for (ac = 0; ac < IEEE80211_NUM_ACS; ac++) {
__le32 tx_bytes[IEEE80211_NUM_ACS];
__le32 rx_bytes[IEEE80211_NUM_ACS];
struct ieee80211_tx_queue_params queue_params[IEEE80211_NUM_ACS];
if (WARN_ON(ac >= IEEE80211_NUM_ACS))
u8 ac = qid < IEEE80211_NUM_ACS ? qid : IEEE80211_AC_BE;
if (queue >= rt2x00dev->ops->tx_queues && queue < IEEE80211_NUM_ACS)
u32 reg_edca_param[IEEE80211_NUM_ACS] = {
for (i = 0; i < IEEE80211_NUM_ACS; i++) {
static const u32 ac_to_edca_param[IEEE80211_NUM_ACS] = {
for (ac = 0; ac < IEEE80211_NUM_ACS; ac++)
hw->queues = IEEE80211_NUM_ACS;
struct ieee80211_tx_queue_params tx_params[IEEE80211_NUM_ACS];
static_assert(ARRAY_SIZE(ac_to_hwq) == IEEE80211_NUM_ACS);
if (WARN_ON(unlikely(ac >= IEEE80211_NUM_ACS)))
for (ac = 0; ac < IEEE80211_NUM_ACS; ac++)
hw->queues = IEEE80211_NUM_ACS;
struct ieee80211_tx_queue_params tx_params[IEEE80211_NUM_ACS];
static const u8 ac_to_fw_idx[IEEE80211_NUM_ACS] = {
static const u32 ac_to_mu_edca_param[IEEE80211_NUM_ACS][RTW89_CHIP_GEN_NUM] = {
for (ac = 0; ac < IEEE80211_NUM_ACS; ac++)
if (queue >= IEEE80211_NUM_ACS)
WARN(queue_id >= IEEE80211_NUM_ACS, "unsupported queue_id");
for (i = 0; i < IEEE80211_NUM_ACS; i++) {
for (i = 0; i < IEEE80211_NUM_ACS; i++) {
for (i = 0; i < IEEE80211_NUM_ACS; ++i)
struct wfx_queue *queues[IEEE80211_NUM_ACS * ARRAY_SIZE(wdev->vif)];
for (i = 0; i < IEEE80211_NUM_ACS; i++) {
const int priorities[IEEE80211_NUM_ACS] = { 1, 2, 64, 128 };
for (i = 0; i < IEEE80211_NUM_ACS; ++i) {
for (i = 0; i < IEEE80211_NUM_ACS; ++i) {
for (i = 0; i < IEEE80211_NUM_ACS; i++) {
__array(int, hw, IEEE80211_NUM_ACS * 2)
__array(int, drv, IEEE80211_NUM_ACS * 2)
__array(int, cab, IEEE80211_NUM_ACS * 2)
for (j = 0; j < IEEE80211_NUM_ACS * 2; j++) {
for (i = 0; i < IEEE80211_NUM_ACS; i++) {
j = wvif->id * IEEE80211_NUM_ACS + i;
WARN_ON(j >= IEEE80211_NUM_ACS * 2);
u8 hw_queue[IEEE80211_NUM_ACS];
struct ieee80211_wmm_ac client[IEEE80211_NUM_ACS];
struct ieee80211_wmm_ac ap[IEEE80211_NUM_ACS];
local->hw.queues >= IEEE80211_NUM_ACS)
if (local->hw.queues < IEEE80211_NUM_ACS)
for (ac = 0; ac < IEEE80211_NUM_ACS; ac++) {
if (ac >= IEEE80211_NUM_ACS)
char buf[17*IEEE80211_NUM_ACS], *p = buf;
for (ac = 0; ac < IEEE80211_NUM_ACS; ac++)
s32 deficit[IEEE80211_NUM_ACS];
for (ac = 0; ac < IEEE80211_NUM_ACS; ac++) {
for (ac = 0; ac < IEEE80211_NUM_ACS; ac++) {
u32 q_depth[IEEE80211_NUM_ACS];
u32 q_limit_l[IEEE80211_NUM_ACS], q_limit_h[IEEE80211_NUM_ACS];
for (ac = 0; ac < IEEE80211_NUM_ACS; ac++) {
if (ac >= IEEE80211_NUM_ACS)
local->hw.queues >= IEEE80211_NUM_ACS) {
if (local->hw.queues >= IEEE80211_NUM_ACS)
struct ieee80211_tx_queue_params tx_conf[IEEE80211_NUM_ACS];
spinlock_t active_txq_lock[IEEE80211_NUM_ACS];
struct list_head active_txqs[IEEE80211_NUM_ACS];
u16 schedule_round[IEEE80211_NUM_ACS];
u32 aql_txq_limit_low[IEEE80211_NUM_ACS];
u32 aql_txq_limit_high[IEEE80211_NUM_ACS];
atomic_t aql_ac_pending_airtime[IEEE80211_NUM_ACS];
struct ieee80211_sta_tx_tspec tx_tspec[IEEE80211_NUM_ACS];
extern const u8 ieee80211_ac_to_qos_mask[IEEE80211_NUM_ACS];
for (i = 0; i < IEEE80211_NUM_ACS; i++) {
else if (local->hw.queues >= IEEE80211_NUM_ACS)
for (i = 0; i < IEEE80211_NUM_ACS; i++) {
if (local->hw.queues < IEEE80211_NUM_ACS)
if (WARN_ON(local->hw.queues < IEEE80211_NUM_ACS &&
for (i = 0; i < IEEE80211_NUM_ACS; i++) {
for (ac = 0; ac < IEEE80211_NUM_ACS; ac++) {
for (ac = 0; ac < IEEE80211_NUM_ACS; ac++)
if (local->hw.queues < IEEE80211_NUM_ACS)
for (ac = 0; ac < IEEE80211_NUM_ACS; ac++) {
non_acm_ac < IEEE80211_NUM_ACS;
if (non_acm_ac >= IEEE80211_NUM_ACS)
for (ac = 0; ac < IEEE80211_NUM_ACS; ac++) {
struct ieee80211_tx_queue_params params[IEEE80211_NUM_ACS];
if (local->hw.queues < IEEE80211_NUM_ACS)
for (ac = 0; ac < IEEE80211_NUM_ACS; ac++) {
for (ac = 0; ac < IEEE80211_NUM_ACS; ac++)
local->hw.queues >= IEEE80211_NUM_ACS;
for (ac = 0; ac < IEEE80211_NUM_ACS; ac++)
wmm_used = bss->wmm_used && (local->hw.queues >= IEEE80211_NUM_ACS);
(local->hw.queues >= IEEE80211_NUM_ACS);
if (ignore_for_tim == BIT(IEEE80211_NUM_ACS) - 1)
ignore_for_tim = BIT(IEEE80211_NUM_ACS) - 1;
for (ac = 0; ac < IEEE80211_NUM_ACS; ac++) {
for (ac = 0; ac < IEEE80211_NUM_ACS; ac++)
for (ac = 0; ac < IEEE80211_NUM_ACS; ac++) {
for (ac = 0; ac < IEEE80211_NUM_ACS; ac++) {
for (ac = 0; ac < IEEE80211_NUM_ACS; ac++) {
for (ac = 0; ac < IEEE80211_NUM_ACS; ac++) {
for (ac = IEEE80211_AC_VO; ac < IEEE80211_NUM_ACS; ac++)
if (ignore_for_response == BIT(IEEE80211_NUM_ACS) - 1)
for (ac = 0; ac < IEEE80211_NUM_ACS; ac++)
for (ac = 0; ac < IEEE80211_NUM_ACS; ac++)
for (ac = 0; ac < IEEE80211_NUM_ACS; ac++)
for (ac = 0; ac < IEEE80211_NUM_ACS; ac++)
for (ac = 0; ac < IEEE80211_NUM_ACS; ac++)
for (ac = 0; ac < IEEE80211_NUM_ACS; ac++)
for (ac = 0; ac < IEEE80211_NUM_ACS; ac++)
for (ac = 0; ac < IEEE80211_NUM_ACS; ac++)
for (ac = 0; ac < IEEE80211_NUM_ACS; ac++) {
for (i = 0; i < IEEE80211_NUM_ACS; i++) {
u64 packets[IEEE80211_NUM_ACS];
u64 bytes[IEEE80211_NUM_ACS];
struct sk_buff_head ps_tx_buf[IEEE80211_NUM_ACS];
struct sk_buff_head tx_filtered[IEEE80211_NUM_ACS];
struct airtime_info airtime[IEEE80211_NUM_ACS];
for (i = 0; i < IEEE80211_NUM_ACS; i++) {
if (local->hw.queues >= IEEE80211_NUM_ACS &&
if (local->hw.queues >= IEEE80211_NUM_ACS && sta->sta.wme)
if (local->hw.queues < IEEE80211_NUM_ACS)
if (local->hw.queues < IEEE80211_NUM_ACS)
for (ac = 0; ac < IEEE80211_NUM_ACS; ac++) {
for (i = 0; i < IEEE80211_NUM_ACS; i++)
int n_acs = IEEE80211_NUM_ACS;
if (local->hw.queues < IEEE80211_NUM_ACS)
const u8 ieee80211_ac_to_qos_mask[IEEE80211_NUM_ACS] = {
for (ac = 0; ac < IEEE80211_NUM_ACS; ac++)
local->hw.queues < IEEE80211_NUM_ACS)
for (j = 0; j < IEEE80211_NUM_ACS; j++) {
for (ac = 0; ac < IEEE80211_NUM_ACS; ac++) {
struct fwdb_wmm_ac client[IEEE80211_NUM_ACS];
struct fwdb_wmm_ac ap[IEEE80211_NUM_ACS];
for (i = 0; i < IEEE80211_NUM_ACS * 2; i++) {
for (i = 0; i < IEEE80211_NUM_ACS; i++) {