Lines Matching refs:txdesc

178 						 struct txentry_desc *txdesc)  in rt2x00queue_create_tx_descriptor_seq()  argument
188 __set_bit(ENTRY_TXD_GENERATE_SEQ, &txdesc->flags); in rt2x00queue_create_tx_descriptor_seq()
199 __set_bit(ENTRY_TXD_GENERATE_SEQ, &txdesc->flags); in rt2x00queue_create_tx_descriptor_seq()
204 __clear_bit(ENTRY_TXD_GENERATE_SEQ, &txdesc->flags); in rt2x00queue_create_tx_descriptor_seq()
218 if (test_bit(ENTRY_TXD_FIRST_FRAGMENT, &txdesc->flags)) in rt2x00queue_create_tx_descriptor_seq()
229 struct txentry_desc *txdesc, in rt2x00queue_create_tx_descriptor_plcp() argument
243 if (test_bit(ENTRY_TXD_FIRST_FRAGMENT, &txdesc->flags)) in rt2x00queue_create_tx_descriptor_plcp()
244 txdesc->u.plcp.ifs = IFS_BACKOFF; in rt2x00queue_create_tx_descriptor_plcp()
246 txdesc->u.plcp.ifs = IFS_SIFS; in rt2x00queue_create_tx_descriptor_plcp()
256 txdesc->u.plcp.signal = hwrate->plcp; in rt2x00queue_create_tx_descriptor_plcp()
257 txdesc->u.plcp.service = 0x04; in rt2x00queue_create_tx_descriptor_plcp()
260 txdesc->u.plcp.length_high = (data_length >> 6) & 0x3f; in rt2x00queue_create_tx_descriptor_plcp()
261 txdesc->u.plcp.length_low = data_length & 0x3f; in rt2x00queue_create_tx_descriptor_plcp()
276 txdesc->u.plcp.service |= 0x80; in rt2x00queue_create_tx_descriptor_plcp()
279 txdesc->u.plcp.length_high = (duration >> 8) & 0xff; in rt2x00queue_create_tx_descriptor_plcp()
280 txdesc->u.plcp.length_low = duration & 0xff; in rt2x00queue_create_tx_descriptor_plcp()
287 txdesc->u.plcp.signal |= 0x08; in rt2x00queue_create_tx_descriptor_plcp()
293 struct txentry_desc *txdesc, in rt2x00queue_create_tx_descriptor_ht() argument
305 txdesc->u.ht.wcid = sta_priv->wcid; in rt2x00queue_create_tx_descriptor_ht()
314 txdesc->u.ht.mcs = txrate->idx; in rt2x00queue_create_tx_descriptor_ht()
320 if (sta && txdesc->u.ht.mcs > 7 && in rt2x00queue_create_tx_descriptor_ht()
322 __set_bit(ENTRY_TXD_HT_MIMO_PS, &txdesc->flags); in rt2x00queue_create_tx_descriptor_ht()
324 txdesc->u.ht.mcs = rt2x00_get_rate_mcs(hwrate->mcs); in rt2x00queue_create_tx_descriptor_ht()
326 txdesc->u.ht.mcs |= 0x08; in rt2x00queue_create_tx_descriptor_ht()
331 txdesc->u.ht.txop = TXOP_SIFS; in rt2x00queue_create_tx_descriptor_ht()
333 txdesc->u.ht.txop = TXOP_BACKOFF; in rt2x00queue_create_tx_descriptor_ht()
343 txdesc->u.ht.stbc = 1; in rt2x00queue_create_tx_descriptor_ht()
351 __set_bit(ENTRY_TXD_HT_AMPDU, &txdesc->flags); in rt2x00queue_create_tx_descriptor_ht()
352 txdesc->u.ht.mpdu_density = density; in rt2x00queue_create_tx_descriptor_ht()
353 txdesc->u.ht.ba_size = 7; /* FIXME: What value is needed? */ in rt2x00queue_create_tx_descriptor_ht()
362 __set_bit(ENTRY_TXD_HT_BW_40, &txdesc->flags); in rt2x00queue_create_tx_descriptor_ht()
364 __set_bit(ENTRY_TXD_HT_SHORT_GI, &txdesc->flags); in rt2x00queue_create_tx_descriptor_ht()
377 txdesc->u.ht.txop = TXOP_BACKOFF; in rt2x00queue_create_tx_descriptor_ht()
379 txdesc->u.ht.txop = TXOP_SIFS; in rt2x00queue_create_tx_descriptor_ht()
381 txdesc->u.ht.txop = TXOP_HTTXOP; in rt2x00queue_create_tx_descriptor_ht()
386 struct txentry_desc *txdesc, in rt2x00queue_create_tx_descriptor() argument
395 memset(txdesc, 0, sizeof(*txdesc)); in rt2x00queue_create_tx_descriptor()
400 txdesc->length = skb->len; in rt2x00queue_create_tx_descriptor()
401 txdesc->header_length = ieee80211_get_hdrlen_from_skb(skb); in rt2x00queue_create_tx_descriptor()
407 __set_bit(ENTRY_TXD_ACK, &txdesc->flags); in rt2x00queue_create_tx_descriptor()
414 __set_bit(ENTRY_TXD_BURST, &txdesc->flags); in rt2x00queue_create_tx_descriptor()
416 __set_bit(ENTRY_TXD_RTS_FRAME, &txdesc->flags); in rt2x00queue_create_tx_descriptor()
418 __set_bit(ENTRY_TXD_CTS_FRAME, &txdesc->flags); in rt2x00queue_create_tx_descriptor()
427 txdesc->retry_limit = tx_info->control.rates[0].count - 1; in rt2x00queue_create_tx_descriptor()
428 if (txdesc->retry_limit >= rt2x00dev->long_retry) in rt2x00queue_create_tx_descriptor()
429 __set_bit(ENTRY_TXD_RETRY_MODE, &txdesc->flags); in rt2x00queue_create_tx_descriptor()
435 __set_bit(ENTRY_TXD_BURST, &txdesc->flags); in rt2x00queue_create_tx_descriptor()
436 __set_bit(ENTRY_TXD_MORE_FRAG, &txdesc->flags); in rt2x00queue_create_tx_descriptor()
443 __set_bit(ENTRY_TXD_BURST, &txdesc->flags); in rt2x00queue_create_tx_descriptor()
452 __set_bit(ENTRY_TXD_REQ_TIMESTAMP, &txdesc->flags); in rt2x00queue_create_tx_descriptor()
455 !test_bit(ENTRY_TXD_RTS_FRAME, &txdesc->flags)) in rt2x00queue_create_tx_descriptor()
456 __set_bit(ENTRY_TXD_FIRST_FRAGMENT, &txdesc->flags); in rt2x00queue_create_tx_descriptor()
462 txdesc->rate_mode = RATE_MODE_HT_GREENFIELD; in rt2x00queue_create_tx_descriptor()
464 txdesc->rate_mode = RATE_MODE_HT_MIX; in rt2x00queue_create_tx_descriptor()
469 txdesc->rate_mode = RATE_MODE_OFDM; in rt2x00queue_create_tx_descriptor()
471 txdesc->rate_mode = RATE_MODE_CCK; in rt2x00queue_create_tx_descriptor()
477 rt2x00crypto_create_tx_descriptor(rt2x00dev, skb, txdesc); in rt2x00queue_create_tx_descriptor()
478 rt2x00queue_create_tx_descriptor_seq(rt2x00dev, skb, txdesc); in rt2x00queue_create_tx_descriptor()
481 rt2x00queue_create_tx_descriptor_ht(rt2x00dev, skb, txdesc, in rt2x00queue_create_tx_descriptor()
484 rt2x00queue_create_tx_descriptor_plcp(rt2x00dev, skb, txdesc, in rt2x00queue_create_tx_descriptor()
489 struct txentry_desc *txdesc) in rt2x00queue_write_tx_data() argument
517 rt2x00dev->ops->lib->write_tx_data(entry, txdesc); in rt2x00queue_write_tx_data()
530 struct txentry_desc *txdesc) in rt2x00queue_write_tx_descriptor() argument
534 queue->rt2x00dev->ops->lib->write_tx_desc(entry, txdesc); in rt2x00queue_write_tx_descriptor()
544 struct txentry_desc *txdesc) in rt2x00queue_kick_tx_queue() argument
556 !test_bit(ENTRY_TXD_BURST, &txdesc->flags)) in rt2x00queue_kick_tx_queue()
607 struct txentry_desc txdesc; in rt2x00queue_write_tx_frame() local
617 rt2x00queue_create_tx_descriptor(queue->rt2x00dev, skb, &txdesc, sta); in rt2x00queue_write_tx_frame()
640 if (test_bit(ENTRY_TXD_ENCRYPT, &txdesc.flags) && in rt2x00queue_write_tx_frame()
641 !test_bit(ENTRY_TXD_ENCRYPT_IV, &txdesc.flags)) { in rt2x00queue_write_tx_frame()
643 rt2x00crypto_tx_copy_iv(skb, &txdesc); in rt2x00queue_write_tx_frame()
645 rt2x00crypto_tx_remove_iv(skb, &txdesc); in rt2x00queue_write_tx_frame()
657 rt2x00queue_insert_l2pad(skb, txdesc.header_length); in rt2x00queue_write_tx_frame()
692 if (unlikely(rt2x00queue_write_tx_data(entry, &txdesc))) { in rt2x00queue_write_tx_frame()
707 rt2x00queue_write_tx_descriptor(entry, &txdesc); in rt2x00queue_write_tx_frame()
708 rt2x00queue_kick_tx_queue(queue, &txdesc); in rt2x00queue_write_tx_frame()
751 struct txentry_desc txdesc; in rt2x00queue_update_beacon() local
770 rt2x00queue_create_tx_descriptor(rt2x00dev, intf->beacon->skb, &txdesc, NULL); in rt2x00queue_update_beacon()
781 rt2x00dev->ops->lib->write_beacon(intf->beacon, &txdesc); in rt2x00queue_update_beacon()