Lines Matching refs:qi

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