Lines Matching refs:qi

22 					struct ath9k_tx_queue_info *qi)
201 struct ath9k_tx_queue_info *qi;
203 qi = &ah->txq[q];
204 if (qi->tqi_type == ATH9K_TX_QUEUE_INACTIVE) {
212 qi->tqi_ver = qinfo->tqi_ver;
213 qi->tqi_subtype = qinfo->tqi_subtype;
214 qi->tqi_qflags = qinfo->tqi_qflags;
215 qi->tqi_priority = qinfo->tqi_priority;
217 qi->tqi_aifs = min(qinfo->tqi_aifs, 255U);
219 qi->tqi_aifs = INIT_AIFS;
222 qi->tqi_cwmin = 1;
223 while (qi->tqi_cwmin < cw)
224 qi->tqi_cwmin = (qi->tqi_cwmin << 1) | 1;
226 qi->tqi_cwmin = qinfo->tqi_cwmin;
229 qi->tqi_cwmax = 1;
230 while (qi->tqi_cwmax < cw)
231 qi->tqi_cwmax = (qi->tqi_cwmax << 1) | 1;
233 qi->tqi_cwmax = INIT_CWMAX;
236 qi->tqi_shretry = min((u32) qinfo->tqi_shretry, 15U);
238 qi->tqi_shretry = INIT_SH_RETRY;
240 qi->tqi_lgretry = min((u32) qinfo->tqi_lgretry, 15U);
242 qi->tqi_lgretry = INIT_LG_RETRY;
243 qi->tqi_cbrPeriod = qinfo->tqi_cbrPeriod;
244 qi->tqi_cbrOverflowLimit = qinfo->tqi_cbrOverflowLimit;
245 qi->tqi_burstTime = qinfo->tqi_burstTime;
246 qi->tqi_readyTime = qinfo->tqi_readyTime;
250 if (qi->tqi_type == ATH9K_TX_QUEUE_DATA)
251 qi->tqi_intFlags = ATH9K_TXQ_USE_LOCKOUT_BKOFF_DIS;
265 struct ath9k_tx_queue_info *qi;
267 qi = &ah->txq[q];
268 if (qi->tqi_type == ATH9K_TX_QUEUE_INACTIVE) {
274 qinfo->tqi_qflags = qi->tqi_qflags;
275 qinfo->tqi_ver = qi->tqi_ver;
276 qinfo->tqi_subtype = qi->tqi_subtype;
277 qinfo->tqi_qflags = qi->tqi_qflags;
278 qinfo->tqi_priority = qi->tqi_priority;
279 qinfo->tqi_aifs = qi->tqi_aifs;
280 qinfo->tqi_cwmin = qi->tqi_cwmin;
281 qinfo->tqi_cwmax = qi->tqi_cwmax;
282 qinfo->tqi_shretry = qi->tqi_shretry;
283 qinfo->tqi_lgretry = qi->tqi_lgretry;
284 qinfo->tqi_cbrPeriod = qi->tqi_cbrPeriod;
285 qinfo->tqi_cbrOverflowLimit = qi->tqi_cbrOverflowLimit;
286 qinfo->tqi_burstTime = qi->tqi_burstTime;
287 qinfo->tqi_readyTime = qi->tqi_readyTime;
297 struct ath9k_tx_queue_info *qi;
323 qi = &ah->txq[q];
324 if (qi->tqi_type != ATH9K_TX_QUEUE_INACTIVE) {
328 memset(qi, 0, sizeof(struct ath9k_tx_queue_info));
329 qi->tqi_type = type;
330 qi->tqi_physCompBuf = qinfo->tqi_physCompBuf;
349 struct ath9k_tx_queue_info *qi;
351 qi = &ah->txq[q];
352 if (qi->tqi_type == ATH9K_TX_QUEUE_INACTIVE) {
359 qi->tqi_type = ATH9K_TX_QUEUE_INACTIVE;
361 ath9k_hw_set_txq_interrupts(ah, qi);
370 struct ath9k_tx_queue_info *qi;
373 qi = &ah->txq[q];
374 if (qi->tqi_type == ATH9K_TX_QUEUE_INACTIVE) {
381 if (qi->tqi_cwmin == ATH9K_TXQ_USEDEFAULT) {
386 cwMin = qi->tqi_cwmin;
392 SM(qi->tqi_cwmax, AR_D_LCL_IFS_CWMAX) |
393 SM(qi->tqi_aifs, AR_D_LCL_IFS_AIFS));
398 SM(qi->tqi_shretry, AR_D_RETRY_LIMIT_FR_SH));
409 if (qi->tqi_cbrPeriod) {
411 SM(qi->tqi_cbrPeriod, AR_Q_CBRCFG_INTERVAL) |
412 SM(qi->tqi_cbrOverflowLimit, AR_Q_CBRCFG_OVF_THRESH));
414 (qi->tqi_cbrOverflowLimit ?
417 if (qi->tqi_readyTime && (qi->tqi_type != ATH9K_TX_QUEUE_CAB)) {
419 SM(qi->tqi_readyTime, AR_Q_RDYTIMECFG_DURATION) |
424 SM(qi->tqi_burstTime, AR_D_CHNTIME_DUR) |
425 (qi->tqi_burstTime ? AR_D_CHNTIME_EN : 0));
427 if (qi->tqi_burstTime
428 && (qi->tqi_qflags & TXQ_FLAG_RDYTIME_EXP_POLICY_ENABLE))
431 if (qi->tqi_qflags & TXQ_FLAG_BACKOFF_DISABLE)
436 if (qi->tqi_qflags & TXQ_FLAG_FRAG_BURST_BACKOFF_ENABLE)
439 switch (qi->tqi_type) {
465 | SM(qi->tqi_aifs, AR_D_LCL_IFS_AIFS));
475 value = (qi->tqi_readyTime -
497 if (qi->tqi_intFlags & ATH9K_TXQ_USE_LOCKOUT_BKOFF_DIS) {
508 if (qi->tqi_qflags & TXQ_FLAG_TXINT_ENABLE) {
512 if (qi->tqi_qflags & TXQ_FLAG_TXDESCINT_ENABLE)
514 if (qi->tqi_qflags & TXQ_FLAG_TXEOLINT_ENABLE)
516 if (qi->tqi_qflags & TXQ_FLAG_TXURNINT_ENABLE)
518 ath9k_hw_set_txq_interrupts(ah, qi);
744 struct ath9k_tx_queue_info qi;
746 memset(&qi, 0, sizeof(qi));
747 qi.tqi_aifs = 1;
748 qi.tqi_cwmin = 0;
749 qi.tqi_cwmax = 0;
752 qi.tqi_qflags = TXQ_FLAG_TXINT_ENABLE;
754 return ath9k_hw_setuptxqueue(ah, ATH9K_TX_QUEUE_BEACON, &qi);