• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/drivers/staging/rtl8192su/ieee80211/

Lines Matching refs:tcb_desc

302 void ieee80211_tx_query_agg_cap(struct ieee80211_device* ieee, struct sk_buff* skb, cb_desc* tcb_desc)
357 tcb_desc->bAMPDUEnable = true;
358 tcb_desc->ampdu_factor = pHTInfo->CurrentAMPDUFactor;
359 tcb_desc->ampdu_density = pHTInfo->CurrentMPDUDensity;
369 tcb_desc->bAMPDUEnable = true;
370 tcb_desc->ampdu_density = pHTInfo->ForcedMPDUDensity;
371 tcb_desc->ampdu_factor = pHTInfo->ForcedAMPDUFactor;
375 tcb_desc->bAMPDUEnable = false;
376 tcb_desc->ampdu_density = 0;
377 tcb_desc->ampdu_factor = 0;
384 extern void ieee80211_qurey_ShortPreambleMode(struct ieee80211_device* ieee, cb_desc* tcb_desc)
386 tcb_desc->bUseShortPreamble = false;
387 if (tcb_desc->data_rate == 2)
393 tcb_desc->bUseShortPreamble = true;
398 ieee80211_query_HTCapShortGI(struct ieee80211_device *ieee, cb_desc *tcb_desc)
402 tcb_desc->bUseShortGI = false;
409 tcb_desc->bUseShortGI = true;
414 tcb_desc->bUseShortGI = true;
416 tcb_desc->bUseShortGI = true;
419 void ieee80211_query_BandwidthMode(struct ieee80211_device* ieee, cb_desc *tcb_desc)
423 tcb_desc->bPacketBW = false;
428 if(tcb_desc->bMulticast || tcb_desc->bBroadcast)
431 if((tcb_desc->data_rate & 0x80)==0) // If using legacy rate, it shall use 20MHz channel.
435 tcb_desc->bPacketBW = true;
439 void ieee80211_query_protectionmode(struct ieee80211_device* ieee, cb_desc* tcb_desc, struct sk_buff* skb)
442 tcb_desc->bRTSSTBC = false;
443 tcb_desc->bRTSUseShortGI = false; // Since protection frames are always sent by legacy rate, ShortGI will never be used.
444 tcb_desc->bCTSEnable = false; // Most of protection using RTS/CTS
445 tcb_desc->RTSSC = 0; // 20MHz: Don't care; 40MHz: Duplicate.
446 tcb_desc->bRTSBW = false; // RTS frame bandwidth is always 20MHz
448 if(tcb_desc->bBroadcast || tcb_desc->bMulticast)//only unicast frame will use rts/cts
462 tcb_desc->bRTSEnable = true;
463 tcb_desc->rts_rate = MGN_24M;
468 tcb_desc->bRTSEnable = true;
469 tcb_desc->bCTSEnable = true;
470 tcb_desc->rts_rate = MGN_24M;
483 tcb_desc->bCTSEnable = true;
484 tcb_desc->rts_rate = MGN_24M;
485 tcb_desc->bRTSEnable = false;
490 tcb_desc->bRTSEnable = true;
491 tcb_desc->rts_rate = MGN_24M;
497 tcb_desc->bRTSEnable = true;
498 tcb_desc->bCTSEnable = true;
499 tcb_desc->rts_rate = MGN_24M;
509 tcb_desc->rts_rate = MGN_24M; // Rate is 24Mbps.
510 tcb_desc->bRTSEnable = true;
517 tcb_desc->rts_rate = MGN_24M; // Rate is 24Mbps.
518 tcb_desc->bRTSEnable = true;
523 if(tcb_desc->bAMPDUEnable)
525 tcb_desc->rts_rate = MGN_24M; // Rate is 24Mbps.
528 tcb_desc->bRTSEnable = false;
538 tcb_desc->bCTSEnable = true;
539 tcb_desc->rts_rate = MGN_24M;
540 tcb_desc->bRTSEnable = true;
543 tcb_desc->bUseShortPreamble = true;
548 tcb_desc->bRTSEnable = false;
549 tcb_desc->bCTSEnable = false;
550 tcb_desc->rts_rate = 0;
551 tcb_desc->RTSSC = 0;
552 tcb_desc->bRTSBW = false;
556 void ieee80211_txrate_selectmode(struct ieee80211_device* ieee, cb_desc* tcb_desc)
575 tcb_desc->bTxDisableRateFallBack = true;
578 tcb_desc->bTxUseDriverAssingedRate = true;
579 if(!tcb_desc->bTxDisableRateFallBack || !tcb_desc->bTxUseDriverAssingedRate)
582 tcb_desc->RATRIndex = 0;
622 cb_desc *tcb_desc;
771 tcb_desc = (cb_desc *)(skb_frag->cb + MAX_DEV_ADDR_SIZE);
774 tcb_desc->queue_index = UP2AC(skb->priority);
777 tcb_desc->queue_index = WME_AC_BK;
783 tcb_desc->bHwSec = 1;
785 tcb_desc->bHwSec = 0;
790 tcb_desc->bHwSec = 0;
868 //WB add to fill data tcb_desc here. only first fragment is considered, need to change, and you may remove to other place.
871 cb_desc *tcb_desc = (cb_desc *)(txb->fragments[0]->cb + MAX_DEV_ADDR_SIZE);
872 tcb_desc->bTxEnableFwCalcDur = 1;
874 tcb_desc->bMulticast = 1;
876 tcb_desc->bBroadcast = 1;
877 ieee80211_txrate_selectmode(ieee, tcb_desc);
878 if ( tcb_desc->bMulticast || tcb_desc->bBroadcast)
879 tcb_desc->data_rate = ieee->basic_rate;
881 tcb_desc->data_rate = CURRENT_RATE(ieee->mode, ieee->rate, ieee->HTCurrentOperaRate);
882 ieee80211_qurey_ShortPreambleMode(ieee, tcb_desc);
883 ieee80211_tx_query_agg_cap(ieee, txb->fragments[0], tcb_desc);
884 ieee80211_query_HTCapShortGI(ieee, tcb_desc);
885 ieee80211_query_BandwidthMode(ieee, tcb_desc);
886 ieee80211_query_protectionmode(ieee, tcb_desc, txb->fragments[0]);