这篇教程C++ ATE_ON函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中ATE_ON函数的典型用法代码示例。如果您正苦于以下问题:C++ ATE_ON函数的具体用法?C++ ATE_ON怎么用?C++ ATE_ON使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了ATE_ON函数的29个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: RTUSBKickBulkOut/* ======================================================================== Routine Description: Arguments: Return Value: Note: ========================================================================*/VOID RTUSBKickBulkOut( IN PRTMP_ADAPTER pAd){ /* BulkIn Reset will reset whole USB PHY. So we need to make sure fRTMP_ADAPTER_BULKIN_RESET not flaged.*/ if (!RTMP_TEST_FLAG(pAd ,fRTMP_ADAPTER_NEED_STOP_TX)#ifdef RALINK_ATE && !(ATE_ON(pAd))#endif /* RALINK_ATE */ ) { /* 2. PS-Poll frame is next*/ if (RTUSB_TEST_BULK_FLAG(pAd, fRTUSB_BULK_OUT_PSPOLL)) { RTUSBBulkOutPsPoll(pAd); } /* 5. Mlme frame is next*/ else if ((RTUSB_TEST_BULK_FLAG(pAd, fRTUSB_BULK_OUT_MLME)) || (pAd->MgmtRing.TxSwFreeIdx < MGMT_RING_SIZE)) { RTUSBBulkOutMLMEPacket(pAd, pAd->MgmtRing.TxDmaIdx); } /* 6. Data frame normal is next [BE, BK, VI, VO]*/ RTUSBDataBulkOut(pAd, fRTUSB_BULK_OUT_DATA_NORMAL, EDCA_AC0_PIPE); RTUSBDataBulkOut(pAd, fRTUSB_BULK_OUT_DATA_NORMAL_2, EDCA_AC1_PIPE); RTUSBDataBulkOut(pAd, fRTUSB_BULK_OUT_DATA_NORMAL_3, EDCA_AC2_PIPE); RTUSBDataBulkOut(pAd, fRTUSB_BULK_OUT_DATA_NORMAL_4, EDCA_AC3_PIPE); /* 7. Null frame is the last*/ if (RTUSB_TEST_BULK_FLAG(pAd, fRTUSB_BULK_OUT_DATA_NULL)) { { RTUSBBulkOutNullFrame(pAd); } } /* 8. No data avaliable*/ else { } }#ifdef RALINK_ATE else if((ATE_ON(pAd)) && !RTMP_TEST_FLAG(pAd , fRTMP_ADAPTER_NEED_STOP_TX)) { if (RTUSB_TEST_BULK_FLAG(pAd, fRTUSB_BULK_OUT_DATA_ATE)) { ATE_RTUSBBulkOutDataPacket(pAd, EDCA_AC0_PIPE); } }#endif /* RALINK_ATE */}
开发者ID:mickeyreg,项目名称:driver,代码行数:70,
示例2: APAsicEvaluateRxAnt/* ======================================================================== Routine Description: Periodic evaluate antenna link status Arguments: pAd - Adapter pointer Return Value: None ========================================================================*/VOID APAsicEvaluateRxAnt( IN PRTMP_ADAPTER pAd){ UCHAR BBPR3 = 0; ULONG TxTotalCnt;#ifdef RALINK_ATE if (ATE_ON(pAd)) return;#endif /* RALINK_ATE */#ifdef CARRIER_DETECTION_SUPPORT if(pAd->CommonCfg.CarrierDetect.CD_State == CD_SILENCE) return;#endif /* CARRIER_DETECTION_SUPPORT */ RTMP_BBP_IO_READ8_BY_REG_ID(pAd, BBP_R3, &BBPR3); BBPR3 &= (~0x18); if((pAd->Antenna.field.RxPath == 3) #ifdef DOT11_N_SUPPORT#ifdef GREENAP_SUPPORT && (pAd->ApCfg.bGreenAPActive == FALSE)#endif /* GREENAP_SUPPORT */#endif /* DOT11_N_SUPPORT */ ) { BBPR3 |= (0x10); } else if((pAd->Antenna.field.RxPath == 2) #ifdef DOT11_N_SUPPORT#ifdef GREENAP_SUPPORT && (pAd->ApCfg.bGreenAPActive == FALSE)#endif /* GREENAP_SUPPORT */#endif /* DOT11_N_SUPPORT */ ) { BBPR3 |= (0x8); } else if(pAd->Antenna.field.RxPath == 1) { BBPR3 |= (0x0); } RTMP_BBP_IO_WRITE8_BY_REG_ID(pAd, BBP_R3, BBPR3); TxTotalCnt = pAd->RalinkCounters.OneSecTxNoRetryOkCount + pAd->RalinkCounters.OneSecTxRetryOkCount + pAd->RalinkCounters.OneSecTxFailCount; if (TxTotalCnt > 50) { RTMPSetTimer(&pAd->Mlme.RxAntEvalTimer, 20); pAd->Mlme.bLowThroughput = FALSE; } else { RTMPSetTimer(&pAd->Mlme.RxAntEvalTimer, 300); pAd->Mlme.bLowThroughput = TRUE; }}
开发者ID:houzhenggang,项目名称:MT,代码行数:73,
示例3: ORIBATimerTimeout/* ========================================================================== Description: Retry sending ADDBA Reqest. IRQL = DISPATCH_LEVEL Parametrs: p8023Header: if this is already 802.3 format, p8023Header is NULL Return : TRUE if put into rx reordering buffer, shouldn't indicaterxhere. FALSE , then continue indicaterx at this moment. ========================================================================== */VOID ORIBATimerTimeout(RTMP_ADAPTER *pAd) { //MAC_TABLE_ENTRY *pEntry; INT i, total; //UCHAR TID;#ifdef CONFIG_ATE if (ATE_ON(pAd)) return;#endif /* CONFIG_ATE */ total = pAd->MacTab.Size * NUM_OF_TID; for (i = 1; ((i <MAX_LEN_OF_BA_ORI_TABLE) && (total > 0)) ; i++) { if (pAd->BATable.BAOriEntry[i].ORI_BA_Status == Originator_Done) { //pEntry = &pAd->MacTab.Content[pAd->BATable.BAOriEntry[i].Wcid]; //TID = pAd->BATable.BAOriEntry[i].TID; ASSERT(pAd->BATable.BAOriEntry[i].Wcid < MAX_LEN_OF_MAC_TABLE); } total --; }}
开发者ID:jing-git,项目名称:rt-n56u-1,代码行数:39,
示例4: MBSS_VirtualIF_PacketSend/*========================================================================Routine Description: Send a packet to WLAN.Arguments: pPktSrc points to our adapter pDev which WLAN network interfaceReturn Value: 0: transmit successfully otherwise: transmit failNote:========================================================================*/INT MBSS_VirtualIF_PacketSend( IN PNDIS_PACKET pPktSrc, IN PNET_DEV pDev){ RTMP_ADAPTER *pAd; MULTISSID_STRUCT *pMbss; PNDIS_PACKET pPkt = (PNDIS_PACKET)pPktSrc; INT IdBss; pAd = RTMP_OS_NETDEV_GET_PRIV(pDev); ASSERT(pAd);#ifdef RALINK_ATE if (ATE_ON(pAd)) { RELEASE_NDIS_PACKET(pAd, pPkt, NDIS_STATUS_FAILURE); return 0; }#endif // RALINK_ATE // if ((RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_BSS_SCAN_IN_PROGRESS)) || (RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_RADIO_OFF)) || (RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_RESET_IN_PROGRESS))) { /* wlan is scanning/disabled/reset */ RELEASE_NDIS_PACKET(pAd, pPkt, NDIS_STATUS_FAILURE); return 0; } if(!(RTMP_OS_NETDEV_STATE_RUNNING(pDev))) { /* the interface is down */ RELEASE_NDIS_PACKET(pAd, pPkt, NDIS_STATUS_FAILURE); return 0; } /* 0 is main BSS, dont handle it here */ /* FIRST_MBSSID = 1 */ pMbss = pAd->ApCfg.MBSSID; for(IdBss=FIRST_MBSSID; IdBss<pAd->ApCfg.BssidNum; IdBss++) { /* find the device in our MBSS list */ if (pMbss[IdBss].MSSIDDev == pDev) { NdisZeroMemory((PUCHAR)&(RTPKT_TO_OSPKT(pPktSrc))->cb[CB_OFF], 15); RTMP_SET_PACKET_NET_DEVICE_MBSSID(pPktSrc, IdBss);// SET_OS_PKT_NETDEV(pPktSrc, pDev); /* MBSS used original interface for TX */ /* transmit the packet */ return rt28xx_packet_xmit(pPktSrc); } } /* can not find the BSS so discard the packet */ RELEASE_NDIS_PACKET(pAd, pPkt, NDIS_STATUS_FAILURE); return 0;} /* End of MBSS_VirtualIF_PacketSend */
开发者ID:schidler,项目名称:flyzjhz-rt-n56u,代码行数:75,
示例5: rt28xx_packet_xmit/*========================================================================Routine Description: The entry point for Linux kernel sent packet to our driver.Arguments: sk_buff *skb the pointer refer to a sk_buffer.Return Value: 0 Note: This function is the entry point of Tx Path for Os delivery packet to our driver. You only can put OS-depened & STA/AP common handle procedures in here.========================================================================*/int rt28xx_packet_xmit(struct sk_buff *skb){ struct net_device *net_dev = skb->dev; PRTMP_ADAPTER pAd = NULL; int status = 0; PNDIS_PACKET pPacket = (PNDIS_PACKET) skb; GET_PAD_FROM_NET_DEV(pAd, net_dev); /* RT2870STA does this in RTMPSendPackets() */#ifdef RALINK_ATE if (ATE_ON(pAd)) { RELEASE_NDIS_PACKET(pAd, pPacket, NDIS_STATUS_RESOURCES); return 0; }#endif // RALINK_ATE // // EapolStart size is 18 if (skb->len < 14) { //printk("bad packet size: %d/n", pkt->len); hex_dump("bad packet", skb->data, skb->len); RELEASE_NDIS_PACKET(pAd, pPacket, NDIS_STATUS_FAILURE); goto done; }#if !defined(CONFIG_RA_NAT_NONE) // ASUS EXT /* add tx hook point*/ if(ra_sw_nat_hook_tx!= NULL) { unsigned long flags; ra_sw_nat_hook_tx(pPacket); }#endif RTMP_SET_PACKET_5VT(pPacket, 0);// MiniportMMRequest(pAd, pkt->data, pkt->len);#ifdef CONFIG_5VT_ENHANCE if (*(int*)(skb->cb) == BRIDGE_TAG) { RTMP_SET_PACKET_5VT(pPacket, 1); }#endif#ifdef CONFIG_AP_SUPPORT IF_DEV_CONFIG_OPMODE_ON_AP(pAd) APSendPackets((NDIS_HANDLE)pAd, (PPNDIS_PACKET) &pPacket, 1);#endif // CONFIG_AP_SUPPORT // status = 0;done: return status;}
开发者ID:zyubin,项目名称:asus-rt-n56u-firmware,代码行数:75,
示例6: APAsicEvaluateRxAnt/* ======================================================================== Routine Description: Periodic evaluate antenna link status Arguments: pAd - Adapter pointer Return Value: None ========================================================================*/VOID APAsicEvaluateRxAnt( IN PRTMP_ADAPTER pAd){ ULONG TxTotalCnt;#ifdef RALINK_ATE if (ATE_ON(pAd)) return;#endif /* RALINK_ATE */#ifdef CARRIER_DETECTION_SUPPORT if(pAd->CommonCfg.CarrierDetect.CD_State == CD_SILENCE) return;#endif /* CARRIER_DETECTION_SUPPORT */#ifdef RT8592 // TODO: shiang-6590, for 8592, this EvaaluateRxAnt still need?? if (IS_RT8592(pAd)) return;#endif /* RT8592 */#ifdef RT65xx if (IS_RT65XX(pAd)) return;#endif /* RT76x0 */#ifdef TXBF_SUPPORT /* TODO: we didn't do RxAnt evaluate for 3x3 chips */ if (IS_RT3883(pAd) || IS_RT2883(pAd)) return;#endif /* TXBF_SUPPORT */ #ifdef DOT11_N_SUPPORT#ifdef GREENAP_SUPPORT if (pAd->ApCfg.bGreenAPActive == TRUE) bbp_set_rxpath(pAd, 1); else#endif /* GREENAP_SUPPORT */#endif /* DOT11_N_SUPPORT */ bbp_set_rxpath(pAd, pAd->Antenna.field.RxPath); TxTotalCnt = pAd->RalinkCounters.OneSecTxNoRetryOkCount + pAd->RalinkCounters.OneSecTxRetryOkCount + pAd->RalinkCounters.OneSecTxFailCount; if (TxTotalCnt > 50) { RTMPSetTimer(&pAd->Mlme.RxAntEvalTimer, 20); pAd->Mlme.bLowThroughput = FALSE; } else { RTMPSetTimer(&pAd->Mlme.RxAntEvalTimer, 300); pAd->Mlme.bLowThroughput = TRUE; }}
开发者ID:jing-git,项目名称:rt-n56u-1,代码行数:70,
示例7: MBSS_PacketSend/*========================================================================Routine Description: Send a packet to WLAN.Arguments: pPktSrc points to our adapter pDev which WLAN network interfaceReturn Value: 0: transmit successfully otherwise: transmit failNote:========================================================================*/int MBSS_PacketSend( IN PNDIS_PACKET pPktSrc, IN PNET_DEV pDev, IN RTMP_NET_PACKET_TRANSMIT Func){ RTMP_ADAPTER *pAd; MULTISSID_STRUCT *pMbss; PNDIS_PACKET pPkt = (PNDIS_PACKET)pPktSrc; int IdBss; pAd = RTMP_OS_NETDEV_GET_PRIV(pDev); ASSERT(pAd);#ifdef RALINK_ATE if (ATE_ON(pAd)) { RELEASE_NDIS_PACKET(pAd, pPkt, NDIS_STATUS_FAILURE); return 0; }#endif /* RALINK_ATE */ if ((RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_BSS_SCAN_IN_PROGRESS)) || (RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_RADIO_OFF)) || (RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_RESET_IN_PROGRESS))) { /* wlan is scanning/disabled/reset */ RELEASE_NDIS_PACKET(pAd, pPkt, NDIS_STATUS_FAILURE); return 0; } /* 0 is main BSS, dont handle it here */ /* FIRST_MBSSID = 1 */ pMbss = pAd->ApCfg.MBSSID; for(IdBss=FIRST_MBSSID; IdBss<pAd->ApCfg.BssidNum; IdBss++) { /* find the device in our MBSS list */ if (pMbss[IdBss].MSSIDDev == pDev) {/* NdisZeroMemory((PUCHAR)&(RTPKT_TO_OSPKT(pPktSrc))->cb[CB_OFF], 15); */ NdisZeroMemory((PUCHAR)(GET_OS_PKT_CB(pPktSrc) + CB_OFF), 15); RTMP_SET_PACKET_NET_DEVICE_MBSSID(pPktSrc, IdBss);/* SET_OS_PKT_NETDEV(pPktSrc, pDev); */ /* transmit the packet */ return Func(pPktSrc); } } /* can not find the BSS so discard the packet */ RELEASE_NDIS_PACKET(pAd, pPkt, NDIS_STATUS_FAILURE); return 0;}
开发者ID:derekcentrico,项目名称:m6.kernel.3.x,代码行数:73,
示例8: BAOriSessionSetupTimeout/* ========================================================================== Description: Retry sending ADDBA Reqest. IRQL = DISPATCH_LEVEL Parametrs: p8023Header: if this is already 802.3 format, p8023Header is NULL Return : TRUE if put into rx reordering buffer, shouldn't indicaterxhere. FALSE , then continue indicaterx at this moment. ========================================================================== */VOID BAOriSessionSetupTimeout( IN PVOID SystemSpecific1, IN PVOID FunctionContext, IN PVOID SystemSpecific2, IN PVOID SystemSpecific3) { BA_ORI_ENTRY *pBAEntry = (BA_ORI_ENTRY *)FunctionContext; MAC_TABLE_ENTRY *pEntry; PRTMP_ADAPTER pAd; if (pBAEntry == NULL) return; pAd = pBAEntry->pAdapter;#ifdef CONFIG_STA_SUPPORT IF_DEV_CONFIG_OPMODE_ON_STA(pAd) { // Do nothing if monitor mode is on if (MONITOR_ON(pAd)) return; }#endif // CONFIG_STA_SUPPORT // #ifdef RALINK_ATE // Nothing to do in ATE mode. if (ATE_ON(pAd)) return;#endif // RALINK_ATE // pEntry = &pAd->MacTab.Content[pBAEntry->Wcid]; if ((pBAEntry->ORI_BA_Status == Originator_WaitRes) && (pBAEntry->Token < ORI_SESSION_MAX_RETRY)) { MLME_ADDBA_REQ_STRUCT AddbaReq; NdisZeroMemory(&AddbaReq, sizeof(AddbaReq)); COPY_MAC_ADDR(AddbaReq.pAddr, pEntry->Addr); AddbaReq.Wcid = (UCHAR)(pEntry->Aid); AddbaReq.TID = pBAEntry->TID; AddbaReq.BaBufSize = pAd->CommonCfg.BACapability.field.RxBAWinLimit; AddbaReq.TimeOutValue = 0; AddbaReq.Token = pBAEntry->Token; MlmeEnqueue(pAd, ACTION_STATE_MACHINE, MT2_MLME_ADD_BA_CATE, sizeof(MLME_ADDBA_REQ_STRUCT), (PVOID)&AddbaReq); RTMP_MLME_HANDLER(pAd); DBGPRINT(RT_DEBUG_TRACE,("BA Ori Session Timeout(%d) : Send ADD BA again/n", pBAEntry->Token)); pBAEntry->Token++; RTMPSetTimer(&pBAEntry->ORIBATimer, ORI_BA_SESSION_TIMEOUT); } else { BATableFreeOriEntry(pAd, pEntry->BAOriWcidArray[pBAEntry->TID]); }}
开发者ID:acassis,项目名称:emlinux-ssd1935,代码行数:69,
示例9: RTUSBBulkOutDataPacketCompleteUSBHST_STATUS RTUSBBulkOutDataPacketComplete(URBCompleteStatus Status, purbb_t pURB, pregs *pt_regs){ PHT_TX_CONTEXT pHTTXContext; PRTMP_ADAPTER pAd; POS_COOKIE pObj; UCHAR BulkOutPipeId; pHTTXContext = (PHT_TX_CONTEXT)RTMP_OS_USB_CONTEXT_GET(pURB); pAd = pHTTXContext->pAd; pObj = (POS_COOKIE) pAd->OS_Cookie; /* Store BulkOut PipeId*/ BulkOutPipeId = pHTTXContext->BulkOutPipeId; pAd->BulkOutDataOneSecCount++; switch (BulkOutPipeId) { case EDCA_AC0_PIPE:#ifdef RALINK_ATE if (!ATE_ON(pAd)) {#endif /* RALINK_ATE */ RTMP_NET_TASK_DATA_ASSIGN(&pObj->ac0_dma_done_task, (unsigned long)pURB); RTMP_OS_TASKLET_SCHE(&pObj->ac0_dma_done_task);#ifdef RALINK_ATE } else { RTMP_NET_TASK_DATA_ASSIGN(&pObj->ate_ac0_dma_done_task, (unsigned long)pURB); RTMP_OS_TASKLET_SCHE(&pObj->ate_ac0_dma_done_task); }#endif /* RALINK_ATE */ break; case EDCA_AC1_PIPE: RTMP_NET_TASK_DATA_ASSIGN(&pObj->ac1_dma_done_task, (unsigned long)pURB); RTMP_OS_TASKLET_SCHE(&pObj->ac1_dma_done_task); break; case EDCA_AC2_PIPE: RTMP_NET_TASK_DATA_ASSIGN(&pObj->ac2_dma_done_task, (unsigned long)pURB); RTMP_OS_TASKLET_SCHE(&pObj->ac2_dma_done_task); break; case EDCA_AC3_PIPE: RTMP_NET_TASK_DATA_ASSIGN(&pObj->ac3_dma_done_task, (unsigned long)pURB); RTMP_OS_TASKLET_SCHE(&pObj->ac3_dma_done_task); break; case HCCA_PIPE: RTMP_NET_TASK_DATA_ASSIGN(&pObj->hcca_dma_done_task, (unsigned long)pURB); RTMP_OS_TASKLET_SCHE(&pObj->hcca_dma_done_task); break; } }
开发者ID:avila-devlogic,项目名称:D33_KK_Kernel,代码行数:55,
示例10: APAsicRxAntEvalTimeout/* ======================================================================== Routine Description: After evaluation, check antenna link status Arguments: pAd - Adapter pointer Return Value: None ========================================================================*/VOID APAsicRxAntEvalTimeout(RTMP_ADAPTER *pAd){ CHAR rssi0, rssi1, rssi2;#ifdef RALINK_ATE if (ATE_ON(pAd)) return;#endif /* RALINK_ATE */ /* if the traffic is low, use average rssi as the criteria */ if (pAd->Mlme.bLowThroughput == TRUE) { rssi0 = pAd->ApCfg.RssiSample.LastRssi0; rssi1 = pAd->ApCfg.RssiSample.LastRssi1; rssi2 = pAd->ApCfg.RssiSample.LastRssi2; } else { rssi0 = pAd->ApCfg.RssiSample.AvgRssi0; rssi1 = pAd->ApCfg.RssiSample.AvgRssi1; rssi2 = pAd->ApCfg.RssiSample.AvgRssi2; }#ifdef DOT11N_SS3_SUPPORT if(pAd->Antenna.field.RxPath == 3) { CHAR larger = -127; larger = max(rssi0, rssi1); if (pAd->CommonCfg.RxStream >= 3) pAd->Mlme.RealRxPath = 3; else { if (larger > (rssi2 + 20)) pAd->Mlme.RealRxPath = 2; else pAd->Mlme.RealRxPath = 3; } }#endif /* DOT11N_SS3_SUPPORT */ /* Disable the below to fix 1T/2R issue. It's suggested by Rory at 2007/7/11. */#ifdef DOT11_N_SUPPORT#ifdef GREENAP_SUPPORT if (pAd->ApCfg.bGreenAPActive == TRUE) bbp_set_rxpath(pAd, 1); else#endif /* GREENAP_SUPPORT */#endif /* DOT11_N_SUPPORT */ bbp_set_rxpath(pAd, pAd->Mlme.RealRxPath); }
开发者ID:jing-git,项目名称:rt-n56u-1,代码行数:67,
示例11: WDS_PacketSendint WDS_PacketSend( IN PNDIS_PACKET pSkb, IN PNET_DEV dev, IN RTMP_NET_PACKET_TRANSMIT Func){ UCHAR i; RTMP_ADAPTER *pAd; PNDIS_PACKET pPacket = (PNDIS_PACKET) pSkb; pAd = (PRTMP_ADAPTER) RTMP_OS_NETDEV_GET_PRIV(dev);#ifdef RALINK_ATE if (ATE_ON(pAd)) { RELEASE_NDIS_PACKET(pAd, pPacket, NDIS_STATUS_FAILURE); return 0; }#endif /* RALINK_ATE */ if ((RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_BSS_SCAN_IN_PROGRESS)) || (RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_RADIO_OFF)) || (RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_RESET_IN_PROGRESS))) { RELEASE_NDIS_PACKET(pAd, pPacket, NDIS_STATUS_FAILURE); return 0; } if (!(RTMP_OS_NETDEV_STATE_RUNNING(dev))) { RELEASE_NDIS_PACKET(pAd, pPacket, NDIS_STATUS_FAILURE); return 0; } for (i = 0; i < MAX_WDS_ENTRY; i++) { if (ValidWdsEntry(pAd, i) && (pAd->WdsTab.WdsEntry[i].dev == dev)) { RTMP_SET_PACKET_NET_DEVICE_WDS(pSkb, i); SET_OS_PKT_NETDEV(pSkb, pAd->net_dev); return Func(pSkb); } } RELEASE_NDIS_PACKET(pAd, pPacket, NDIS_STATUS_FAILURE); return 0;}
开发者ID:23171580,项目名称:ralink,代码行数:50,
示例12: RxSensitivityTuningstatic VOID RxSensitivityTuning(RTMP_ADAPTER *pAd){ UCHAR R66 = 0x26 + pAd->hw_cfg.lan_gain;#ifdef CONFIG_ATE if (ATE_ON(pAd)) { ATE_BBP_IO_WRITE8_BY_REG_ID(pAd, BBP_R66, R66); } else#endif /* CONFIG_ATE */ { bbp_set_agc(pAd, R66, RX_CHAIN_ALL); } MTWF_LOG(DBG_CAT_ALL, DBG_SUBCAT_ALL, DBG_LVL_TRACE,("turn off R17 tuning, restore to 0x%02x/n", R66));}
开发者ID:AnyoeDove,项目名称:mtk-sources,代码行数:16,
示例13: RxSensitivityTuningstatic VOID RxSensitivityTuning(RTMP_ADAPTER *pAd){ UCHAR R66 = 0x26 + GET_LNA_GAIN(pAd);#ifdef RALINK_ATE if (ATE_ON(pAd)) { ATE_BBP_IO_WRITE8_BY_REG_ID(pAd, BBP_R66, R66); } else#endif /* RALINK_ATE */ { rtmp_bbp_set_agc(pAd, R66, RX_CHAIN_ALL); } DBGPRINT(RT_DEBUG_TRACE,("turn off R17 tuning, restore to 0x%02x/n", R66));}
开发者ID:Audioniek,项目名称:Fortis-4G,代码行数:16,
示例14: APAsicRxAntEvalTimeout/* ======================================================================== Routine Description: After evaluation, check antenna link status Arguments: pAd - Adapter pointer Return Value: None ========================================================================*/VOID APAsicRxAntEvalTimeout(RTMP_ADAPTER *pAd){ CHAR rssi[3], *target_rssi;#ifdef CONFIG_ATE if (ATE_ON(pAd)) return;#endif /* CONFIG_ATE */ /* if the traffic is low, use average rssi as the criteria */ if (pAd->Mlme.bLowThroughput == TRUE) target_rssi = &pAd->ApCfg.RssiSample.LastRssi[0]; else target_rssi = &pAd->ApCfg.RssiSample.AvgRssi[0]; NdisMoveMemory(&rssi[0], target_rssi, 3);#ifdef DOT11N_SS3_SUPPORT if(pAd->Antenna.field.RxPath == 3) { CHAR larger = -127; larger = max(rssi[0], rssi[1]); if (pAd->CommonCfg.RxStream >= 3) pAd->Mlme.RealRxPath = 3; else { if (larger > (rssi[2] + 20)) pAd->Mlme.RealRxPath = 2; else pAd->Mlme.RealRxPath = 3; } }#endif /* DOT11N_SS3_SUPPORT */ /* Disable the below to fix 1T/2R issue. It's suggested by Rory at 2007/7/11. */#ifdef DOT11_N_SUPPORT#ifdef GREENAP_SUPPORT if (pAd->ApCfg.bGreenAPActive == TRUE) bbp_set_rxpath(pAd, 1); else#endif /* GREENAP_SUPPORT */#endif /* DOT11_N_SUPPORT */ bbp_set_rxpath(pAd, pAd->Mlme.RealRxPath);}
开发者ID:jing-git,项目名称:rt-n56u,代码行数:59,
示例15: APAsicEvaluateRxAnt/* ======================================================================== Routine Description: Periodic evaluate antenna link status Arguments: pAd - Adapter pointer Return Value: None ========================================================================*/VOID APAsicEvaluateRxAnt( IN PRTMP_ADAPTER pAd){ ULONG TxTotalCnt;#ifdef CONFIG_ATE if (ATE_ON(pAd)) return;#endif /* CONFIG_ATE */#ifdef CARRIER_DETECTION_SUPPORT if(pAd->CommonCfg.CarrierDetect.CD_State == CD_SILENCE) return;#endif /* CARRIER_DETECTION_SUPPORT */ #ifdef DOT11_N_SUPPORT#ifdef GREENAP_SUPPORT if (pAd->ApCfg.bGreenAPActive == TRUE) bbp_set_rxpath(pAd, 1); else#endif /* GREENAP_SUPPORT */#endif /* DOT11_N_SUPPORT */ bbp_set_rxpath(pAd, pAd->Antenna.field.RxPath); TxTotalCnt = pAd->RalinkCounters.OneSecTxNoRetryOkCount + pAd->RalinkCounters.OneSecTxRetryOkCount + pAd->RalinkCounters.OneSecTxFailCount; if (TxTotalCnt > 50) { RTMPSetTimer(&pAd->Mlme.RxAntEvalTimer, 20); pAd->Mlme.bLowThroughput = FALSE; } else { RTMPSetTimer(&pAd->Mlme.RxAntEvalTimer, 300); pAd->Mlme.bLowThroughput = TRUE; }}
开发者ID:jing-git,项目名称:rt-n56u,代码行数:56,
示例16: RT35xx_RxSensitivityTuningVOID RT35xx_RxSensitivityTuning( IN PRTMP_ADAPTER pAd){ UCHAR R66; R66 = 0x26 + GET_LNA_GAIN(pAd);#ifdef RALINK_ATE if (ATE_ON(pAd)) { ATE_BBP_IO_WRITE8_BY_REG_ID(pAd, BBP_R66, (0x26 + GET_LNA_GAIN(pAd))); } else#endif /* RALINK_ATE */#ifdef RT35xx if (IS_RT3572(pAd)) AsicBBPWriteWithRxChain(pAd, BBP_R66, R66, RX_CHAIN_ALL);#endif /* RT35xx */ DBGPRINT(RT_DEBUG_TRACE,("turn off R17 tuning, restore to 0x%02x/n", R66));}
开发者ID:schidler,项目名称:flyzjhz-rt-n56u,代码行数:21,
示例17: APAsicRxAntEvalTimeout/* ======================================================================== Routine Description: After evaluation, check antenna link status Arguments: pAd - Adapter pointer Return Value: None ========================================================================*/VOID APAsicRxAntEvalTimeout( PRTMP_ADAPTER pAd) { UCHAR BBPR3 = 0; CHAR larger = -127, rssi0, rssi1, rssi2;#ifdef RALINK_ATE if (ATE_ON(pAd)) return;#endif /* RALINK_ATE */ /* if the traffic is low, use average rssi as the criteria */ if (pAd->Mlme.bLowThroughput == TRUE) { rssi0 = pAd->ApCfg.RssiSample.LastRssi0; rssi1 = pAd->ApCfg.RssiSample.LastRssi1; rssi2 = pAd->ApCfg.RssiSample.LastRssi2; } else { rssi0 = pAd->ApCfg.RssiSample.AvgRssi0; rssi1 = pAd->ApCfg.RssiSample.AvgRssi1; rssi2 = pAd->ApCfg.RssiSample.AvgRssi2; } if(pAd->Antenna.field.RxPath == 3) { larger = max(rssi0, rssi1);#ifdef DOT11N_SS3_SUPPORT if (pAd->CommonCfg.RxStream >= 3) pAd->Mlme.RealRxPath = 3; else#endif /* DOT11N_SS3_SUPPORT */ { if (larger > (rssi2 + 20)) pAd->Mlme.RealRxPath = 2; else pAd->Mlme.RealRxPath = 3; } } /* Disable the below to fix 1T/2R issue. It's suggested by Rory at 2007/7/11. */ RTMP_BBP_IO_READ8_BY_REG_ID(pAd, BBP_R3, &BBPR3); BBPR3 &= (~0x18); if(pAd->Mlme.RealRxPath == 3 #ifdef DOT11_N_SUPPORT#ifdef GREENAP_SUPPORT && pAd->ApCfg.bGreenAPActive == FALSE#endif /* GREENAP_SUPPORT */#endif /* DOT11_N_SUPPORT */ ) { BBPR3 |= (0x10); } else if(pAd->Mlme.RealRxPath == 2#ifdef DOT11_N_SUPPORT#ifdef GREENAP_SUPPORT && pAd->ApCfg.bGreenAPActive == FALSE#endif /* GREENAP_SUPPORT */#endif /* DOT11_N_SUPPORT */ ) { BBPR3 |= (0x8); } else if(pAd->Mlme.RealRxPath == 1) { BBPR3 |= (0x0); } RTMP_BBP_IO_WRITE8_BY_REG_ID(pAd, BBP_R3, BBPR3); }
开发者ID:eckyecky,项目名称:rt-n56u,代码行数:84,
示例18: rt28xx_packet_xmit/*========================================================================Routine Description: The entry point for Linux kernel sent packet to our driver.Arguments: sk_buff *skb the pointer refer to a sk_buffer.Return Value: 0Note: This function is the entry point of Tx Path for Os delivery packet to our driver. You only can put OS-depened & STA/AP common handle procedures in here.========================================================================*/int rt28xx_packet_xmit(struct sk_buff *skb){ struct net_device *net_dev = skb->dev; PRTMP_ADAPTER pAd = RTMP_OS_NETDEV_GET_PRIV(net_dev); int status = 0; PNDIS_PACKET pPacket = (PNDIS_PACKET) skb; /* RT2870STA does this in RTMPSendPackets() */#ifdef RALINK_ATE if (ATE_ON(pAd)) { RELEASE_NDIS_PACKET(pAd, pPacket, NDIS_STATUS_RESOURCES); return 0; }#endif // RALINK_ATE //#ifdef CONFIG_STA_SUPPORT IF_DEV_CONFIG_OPMODE_ON_STA(pAd) { // Drop send request since we are in monitor mode if (MONITOR_ON(pAd)) { RELEASE_NDIS_PACKET(pAd, pPacket, NDIS_STATUS_FAILURE); goto done; } }#endif // CONFIG_STA_SUPPORT // // EapolStart size is 18 if (skb->len < 14) { //printk("bad packet size: %d/n", pkt->len); hex_dump("bad packet", skb->data, skb->len); RELEASE_NDIS_PACKET(pAd, pPacket, NDIS_STATUS_FAILURE); goto done; } RTMP_SET_PACKET_5VT(pPacket, 0);// MiniportMMRequest(pAd, pkt->data, pkt->len);#ifdef CONFIG_5VT_ENHANCE if (*(int*)(skb->cb) == BRIDGE_TAG) { RTMP_SET_PACKET_5VT(pPacket, 1); }#endif#ifdef CONFIG_STA_SUPPORT IF_DEV_CONFIG_OPMODE_ON_STA(pAd) { STASendPackets((NDIS_HANDLE)pAd, (PPNDIS_PACKET) &pPacket, 1); }#endif // CONFIG_STA_SUPPORT // status = 0;done: return status;}
开发者ID:mikuhatsune001,项目名称:linux2.6.32,代码行数:80,
示例19: RTMPSetLEDStatus/* ======================================================================== Routine Description: Set LED Status Arguments: pAd Pointer to our adapter Status LED Status Return Value: None IRQL = PASSIVE_LEVEL IRQL = DISPATCH_LEVEL Note: ========================================================================*/VOID RTMPSetLEDStatus( IN PRTMP_ADAPTER pAd, IN UCHAR Status){ /*ULONG data; */ UCHAR LinkStatus = 0; UCHAR LedMode; UCHAR MCUCmd = 0; BOOLEAN bIgnored = FALSE;#ifdef WSC_INCLUDED#ifdef WSC_LED_SUPPORT PWSC_CTRL pWscControl = NULL;#ifdef CONFIG_AP_SUPPORT pWscControl = &pAd->ApCfg.MBSSID[MAIN_MBSSID].WscControl;#endif /* CONFIG_AP_SUPPORT */#ifdef CONFIG_STA_SUPPORT pWscControl = &pAd->StaCfg.WscControl;#endif /* CONFIG_STA_SUPPORT */#endif /* WSC_LED_SUPPORT */#endif /* WSC_INCLUDED */#ifdef RALINK_ATE /* In ATE mode of RT2860 AP/STA, we have erased 8051 firmware. So LED mode is not supported when ATE is running. */ if (!IS_RT3572(pAd)) { if (ATE_ON(pAd)) return; }#endif /* RALINK_ATE */ LedMode = LED_MODE(pAd); switch (Status) { case LED_LINK_DOWN: LinkStatus = LINK_STATUS_LINK_DOWN; pAd->LedCntl.LedIndicatorStrength = 0; MCUCmd = MCU_SET_LED_MODE; break; case LED_LINK_UP: if (pAd->CommonCfg.Channel > 14) LinkStatus = LINK_STATUS_ABAND_LINK_UP; else LinkStatus = LINK_STATUS_GBAND_LINK_UP; MCUCmd = MCU_SET_LED_MODE; break; case LED_RADIO_ON: LinkStatus = LINK_STATUS_RADIO_ON; MCUCmd = MCU_SET_LED_MODE; break; case LED_HALT: LedMode = 0; /* Driver sets MAC register and MAC controls LED */ case LED_RADIO_OFF: LinkStatus = LINK_STATUS_RADIO_OFF; MCUCmd = MCU_SET_LED_MODE; break; case LED_WPS: LinkStatus = LINK_STATUS_WPS; MCUCmd = MCU_SET_LED_MODE; break; case LED_ON_SITE_SURVEY: LinkStatus = LINK_STATUS_ON_SITE_SURVEY; MCUCmd = MCU_SET_LED_MODE; break; case LED_POWER_UP: LinkStatus = LINK_STATUS_POWER_UP; MCUCmd = MCU_SET_LED_MODE; break;#ifdef RALINK_ATE#endif /* RALINK_ATE */#ifdef WSC_INCLUDED#ifdef WSC_LED_SUPPORT#ifdef CONFIG_WIFI_LED_SHARE case LED_WPS_PRE_STAGE://.........这里部分代码省略.........
开发者ID:2812015651,项目名称:cuckoo,代码行数:101,
示例20: ScanNextChannel/* ========================================================================== Description: Scan next channel ========================================================================== */VOID ScanNextChannel(RTMP_ADAPTER *pAd, UCHAR OpMode){ UCHAR ScanType = SCAN_TYPE_MAX; UINT ScanTimeIn5gChannel = SHORT_CHANNEL_TIME; BOOLEAN ScanPending = FALSE; RALINK_TIMER_STRUCT *sc_timer = NULL; UINT stay_time = 0;#ifdef CONFIG_ATE /* Nothing to do in ATE mode. */ if (ATE_ON(pAd)) return;#endif /* CONFIG_ATE */#ifdef CONFIG_AP_SUPPORT if (OpMode == OPMODE_AP) ScanType = pAd->ScanCtrl.ScanType;#endif /* CONFIG_AP_SUPPORT */ if (ScanType == SCAN_TYPE_MAX) { DBGPRINT(RT_DEBUG_ERROR, ("%s():Incorrect ScanType!/n", __FUNCTION__)); return; }#ifdef RT_CFG80211_SUPPORT /* Since the Channel List is from Upper layer */ if (CFG80211DRV_OpsScanRunning(pAd)) pAd->ScanCtrl.Channel = CFG80211DRV_OpsScanGetNextChannel(pAd);#endif /* RT_CFG80211_SUPPORT */ if ((pAd->ScanCtrl.Channel == 0) || ScanPending) { scan_ch_restore(pAd, OpMode); } else { AsicSwitchChannel(pAd, pAd->ScanCtrl.Channel, TRUE); AsicLockChannel(pAd, pAd->ScanCtrl.Channel); /* Check if channel if passive scan under current regulatory domain */ if (CHAN_PropertyCheck(pAd, pAd->ScanCtrl.Channel, CHANNEL_PASSIVE_SCAN) == TRUE) ScanType = SCAN_PASSIVE;#if defined(DPA_T) || defined(WIFI_REGION32_HIDDEN_SSID_SUPPORT) /* Ch 12~14 is passive scan, No matter DFS and 80211H setting is y or n */ if ((pAd->ScanCtrl.Channel >= 12) && (pAd->ScanCtrl.Channel <= 14)) ScanType = SCAN_PASSIVE;#endif /* DPA_T */#ifdef CONFIG_AP_SUPPORT if (OpMode == OPMODE_AP) sc_timer = &pAd->ScanCtrl.APScanTimer;#endif /* CONFIG_AP_SUPPORT */ if (!sc_timer) { DBGPRINT(RT_DEBUG_ERROR, ("%s():ScanTimer not assigned!/n", __FUNCTION__)); return; } /* We need to shorten active scan time in order for WZC connect issue */ /* Chnage the channel scan time for CISCO stuff based on its IAPP announcement */ if (ScanType == FAST_SCAN_ACTIVE) stay_time = FAST_ACTIVE_SCAN_TIME; else /* must be SCAN_PASSIVE or SCAN_ACTIVE*/ {#ifdef CONFIG_AP_SUPPORT if ((OpMode == OPMODE_AP) && (pAd->ApCfg.bAutoChannelAtBootup)) stay_time = AUTO_CHANNEL_SEL_TIMEOUT; else#endif /* CONFIG_AP_SUPPORT */ if (WMODE_CAP_2G(pAd->CommonCfg.PhyMode) && WMODE_CAP_5G(pAd->CommonCfg.PhyMode)) { if (pAd->ScanCtrl.Channel > 14) stay_time = ScanTimeIn5gChannel; else stay_time = MIN_CHANNEL_TIME; } else stay_time = MAX_CHANNEL_TIME; }#ifdef RT_CFG80211_SUPPORT //CFG_TODO: for testing. /* Since the Channel List is from Upper layer */ if (CFG80211DRV_OpsScanRunning(pAd) && (pAd->cfg80211_ctrl.Cfg80211ChanListLen == 1)) stay_time = 500;#endif /* RT_CFG80211_SUPPORT */ //.........这里部分代码省略.........
开发者ID:23171580,项目名称:ralink,代码行数:101,
示例21: RTMPSendPacketsint RTMPSendPackets( IN NDIS_HANDLE MiniportAdapterContext, IN PPNDIS_PACKET ppPacketArray, IN UINT NumberOfPackets, IN UINT32 PktTotalLen, IN RTMP_NET_ETH_CONVERT_DEV_SEARCH Func){ PRTMP_ADAPTER pAd = (PRTMP_ADAPTER)MiniportAdapterContext; PNDIS_PACKET pPacket = ppPacketArray[0]; if (pPacket == NULL) goto done; /* RT2870STA does this in RTMPSendPackets() */#ifdef RALINK_ATE if (ATE_ON(pAd)) { RELEASE_NDIS_PACKET(pAd, pPacket, NDIS_STATUS_RESOURCES); return 0; }#endif /* RALINK_ATE */#ifdef CONFIG_STA_SUPPORT IF_DEV_CONFIG_OPMODE_ON_STA(pAd) { /* Drop send request since we are in monitor mode */ if (MONITOR_ON(pAd)) { RELEASE_NDIS_PACKET(pAd, pPacket, NDIS_STATUS_FAILURE); return 0; } }#endif /* CONFIG_STA_SUPPORT */ /* EapolStart size is 18 */ if (PktTotalLen < 14) { /*printk("bad packet size: %d/n", pkt->len); */ hex_dump("bad packet", GET_OS_PKT_DATAPTR(pPacket), PktTotalLen); RELEASE_NDIS_PACKET(pAd, pPacket, NDIS_STATUS_FAILURE); return 0; } RTMP_SET_PACKET_5VT(pPacket, 0);/* MiniportMMRequest(pAd, pkt->data, pkt->len); */#ifdef CONFIG_5VT_ENHANCE if (*(int*)(GET_OS_PKT_CB(pPacket)) == BRIDGE_TAG) { RTMP_SET_PACKET_5VT(pPacket, 1); }#endif#ifdef CONFIG_STA_SUPPORT IF_DEV_CONFIG_OPMODE_ON_STA(pAd) { STASendPackets((NDIS_HANDLE)pAd, (PPNDIS_PACKET) &pPacket, 1); }#endif /* CONFIG_STA_SUPPORT */done: return 0;}
开发者ID:Sleuthhound,项目名称:RT28XX-RT539X-Linux-driver,代码行数:66,
示例22: ScanNextChannel/* ========================================================================== Description: Scan next channel ========================================================================== */VOID ScanNextChannel( IN PRTMP_ADAPTER pAd) { HEADER_802_11 Hdr80211; PUCHAR pOutBuffer = NULL; NDIS_STATUS NStatus; ULONG FrameLen = 0; UCHAR SsidLen = 0, ScanType = pAd->MlmeAux.ScanType, BBPValue = 0; UINT ScanTimeIn5gChannel = SHORT_CHANNEL_TIME; BOOLEAN ScanPending = FALSE;#ifdef RALINK_ATE // Nothing to do in ATE mode. if (ATE_ON(pAd)) return;#endif // RALINK_ATE // if ((pAd->MlmeAux.Channel == 0) || ScanPending) { if ((pAd->CommonCfg.BBPCurrentBW == BW_40) ) { AsicSwitchChannel(pAd, pAd->CommonCfg.CentralChannel, FALSE); AsicLockChannel(pAd, pAd->CommonCfg.CentralChannel); RTMP_BBP_IO_READ8_BY_REG_ID(pAd, BBP_R4, &BBPValue); BBPValue &= (~0x18); BBPValue |= 0x10; RTMP_BBP_IO_WRITE8_BY_REG_ID(pAd, BBP_R4, BBPValue); DBGPRINT(RT_DEBUG_TRACE, ("SYNC - End of SCAN, restore to 40MHz channel %d, Total BSS[%02d]/n",pAd->CommonCfg.CentralChannel, pAd->ScanTab.BssNr)); } else { AsicSwitchChannel(pAd, pAd->CommonCfg.Channel, FALSE); AsicLockChannel(pAd, pAd->CommonCfg.Channel); DBGPRINT(RT_DEBUG_TRACE, ("SYNC - End of SCAN, restore to channel %d, Total BSS[%02d]/n",pAd->CommonCfg.Channel, pAd->ScanTab.BssNr)); } #ifdef CONFIG_AP_SUPPORT IF_DEV_CONFIG_OPMODE_ON_AP(pAd) { pAd->Mlme.ApSyncMachine.CurrState = AP_SYNC_IDLE; RTMPResumeMsduTransmission(pAd); // iwpriv set auto channel selection // scanned all channels if (pAd->ApCfg.bAutoChannelAtBootup==TRUE) { pAd->CommonCfg.Channel = SelectBestChannel(pAd, pAd->ApCfg.AutoChannelAlg); pAd->ApCfg.bAutoChannelAtBootup = FALSE;#ifdef DOT11_N_SUPPORT N_ChannelCheck(pAd);#endif // DOT11_N_SUPPORT // APStop(pAd); APStartUp(pAd); } if (!((pAd->CommonCfg.Channel > 14) && (pAd->CommonCfg.bIEEE80211H == TRUE))) { AsicEnableBssSync(pAd); } }#endif // CONFIG_AP_SUPPORT // } else {
开发者ID:schidler,项目名称:flyzjhz-rt-n56u,代码行数:75,
示例23: RTMPFreeTXDUponTxDmaDoneBOOLEAN RTMPFreeTXDUponTxDmaDone( IN PRTMP_ADAPTER pAd, IN UCHAR QueIdx){ PRTMP_TX_RING pTxRing; PTXD_STRUC pTxD;#ifdef RT_BIG_ENDIAN PTXD_STRUC pDestTxD;#endif PNDIS_PACKET pPacket; UCHAR FREE = 0; TXD_STRUC TxD, *pOriTxD; //ULONG IrqFlags; BOOLEAN bReschedule = FALSE; ASSERT(QueIdx < NUM_OF_TX_RING); pTxRing = &pAd->TxRing[QueIdx]; RTMP_IO_READ32(pAd, TX_DTX_IDX0 + QueIdx * RINGREG_DIFF, &pTxRing->TxDmaIdx); while (pTxRing->TxSwFreeIdx != pTxRing->TxDmaIdx) {// RTMP_IRQ_LOCK(&pAd->irq_lock, IrqFlags);#ifdef RALINK_ATE#ifdef RALINK_QA PHEADER_802_11 pHeader80211; if ((ATE_ON(pAd)) && (pAd->ate.bQATxStart == TRUE)) { if (pAd->ate.QID == QueIdx) { pAd->ate.TxDoneCount++; pAd->RalinkCounters.KickTxCount++; /* always use QID_AC_BE and FIFO_EDCA */ ASSERT(pAd->ate.QID == 0); pAd->ate.TxAc0++; FREE++;#ifndef RT_BIG_ENDIAN pTxD = (PTXD_STRUC) (pTxRing->Cell[pTxRing->TxSwFreeIdx].AllocVa); pOriTxD = pTxD; NdisMoveMemory(&TxD, pTxD, sizeof(TXD_STRUC)); pTxD = &TxD;#else pDestTxD = (PTXD_STRUC) (pTxRing->Cell[pTxRing->TxSwFreeIdx].AllocVa); pOriTxD = pDestTxD ; TxD = *pDestTxD; pTxD = &TxD; RTMPDescriptorEndianChange((PUCHAR)pTxD, TYPE_TXD);#endif pTxD->DMADONE = 0; pHeader80211 = pTxRing->Cell[pTxRing->TxSwFreeIdx].DmaBuf.AllocVa + sizeof(TXWI_STRUC);#ifdef RT_BIG_ENDIAN RTMPFrameEndianChange(pAd, (PUCHAR)pHeader80211, DIR_READ, FALSE);#endif pHeader80211->Sequence = ++pAd->ate.seq;#ifdef RT_BIG_ENDIAN RTMPFrameEndianChange(pAd, (PUCHAR)pHeader80211, DIR_WRITE, FALSE);#endif if ((pAd->ate.bQATxStart == TRUE) && (pAd->ate.Mode & ATE_TXFRAME) && (pAd->ate.TxDoneCount < pAd->ate.TxCount)) { pAd->RalinkCounters.TransmittedByteCount.QuadPart += (pTxD->SDLen1 + pTxD->SDLen0); pAd->RalinkCounters.OneSecTransmittedByteCount += (pTxD->SDLen1 + pTxD->SDLen0); pAd->RalinkCounters.OneSecDmaDoneCount[QueIdx] ++; INC_RING_INDEX(pTxRing->TxSwFreeIdx, TX_RING_SIZE); /* get TX_DTX_IDX again */ RTMP_IO_READ32(pAd, TX_DTX_IDX0 + QueIdx * RINGREG_DIFF , &pTxRing->TxDmaIdx); goto kick_out; } else if ((pAd->ate.TxStatus == 1)/* or (pAd->ate.bQATxStart == TRUE) ??? */ && (pAd->ate.TxDoneCount == pAd->ate.TxCount)) { DBGPRINT(RT_DEBUG_TRACE,("all Tx is done/n")); // Tx status enters idle mode. pAd->ate.TxStatus = 0; } else if (!(pAd->ate.Mode & ATE_TXFRAME)) { /* not complete sending yet, but someone press the Stop TX botton */ DBGPRINT(RT_DEBUG_INFO,("not complete sending yet, but someone pressed the Stop TX bottom/n")); DBGPRINT(RT_DEBUG_INFO,("pAd->ate.Mode = 0x%02x/n", pAd->ate.Mode)); } else { DBGPRINT(RT_DEBUG_OFF,("pTxRing->TxSwFreeIdx = %d/n", pTxRing->TxSwFreeIdx)); }#ifndef RT_BIG_ENDIAN NdisMoveMemory(pOriTxD, pTxD, sizeof(TXD_STRUC));#else RTMPDescriptorEndianChange((PUCHAR)pTxD, TYPE_TXD); *pDestTxD = TxD;#endif // RT_BIG_ENDIAN // INC_RING_INDEX(pTxRing->TxSwFreeIdx, TX_RING_SIZE); continue;//.........这里部分代码省略.........
开发者ID:qwerty1023,项目名称:wive-rtnl-firmware,代码行数:101,
示例24: RTMPSetLEDStatus/* ======================================================================== Routine Description: Set LED Status Arguments: pAd Pointer to our adapter Status LED Status Return Value: None IRQL = PASSIVE_LEVEL IRQL = DISPATCH_LEVEL Note: ========================================================================*/VOID RTMPSetLEDStatus(RTMP_ADAPTER *pAd, UCHAR Status){ /*ULONG data; */ UCHAR LinkStatus = 0; UCHAR LedMode; UCHAR MCUCmd = 0; BOOLEAN bIgnored = FALSE;#ifdef MT7628 INT LED_CMD = -1;#endif /*MT7628*/#ifdef WSC_INCLUDED#ifdef WSC_LED_SUPPORT PWSC_CTRL pWscControl = NULL;#ifdef CONFIG_AP_SUPPORT pWscControl = &pAd->ApCfg.MBSSID[MAIN_MBSSID].WscControl;#endif /* CONFIG_AP_SUPPORT */#ifdef CONFIG_STA_SUPPORT pWscControl = &pAd->StaCfg.WscControl;#endif /* CONFIG_STA_SUPPORT */#endif /* WSC_LED_SUPPORT */#endif /* WSC_INCLUDED */#ifdef CONFIG_ATE /* In ATE mode of RT2860 AP/STA, we have erased 8051 firmware. So LED mode is not supported when ATE is running. */ if (!IS_RT3572(pAd)) { if (ATE_ON(pAd)) return; }#endif /* CONFIG_ATE */ LedMode = 1;//LED_MODE(pAd);#ifdef MT7628 if (IS_MT7603(pAd) || IS_MT7628(pAd)) { if (LedMode < 0 || Status <0 || LedMode > 15 || Status > 11) return; else LED_CMD = LED_Array[LedMode][Status]; }#endif /*MT7628*/ switch (Status) { case LED_LINK_DOWN: LinkStatus = LINK_STATUS_LINK_DOWN; pAd->LedCntl.LedIndicatorStrength = 0; MCUCmd = MCU_SET_LED_MODE; break; case LED_LINK_UP: if (pAd->CommonCfg.Channel > 14) LinkStatus = LINK_STATUS_ABAND_LINK_UP; else LinkStatus = LINK_STATUS_GBAND_LINK_UP; MCUCmd = MCU_SET_LED_MODE; break; case LED_RADIO_ON: LinkStatus = LINK_STATUS_RADIO_ON; MCUCmd = MCU_SET_LED_MODE; break; case LED_HALT: LedMode = 0; /* Driver sets MAC register and MAC controls LED */ case LED_RADIO_OFF: LinkStatus = LINK_STATUS_RADIO_OFF; MCUCmd = MCU_SET_LED_MODE; break; case LED_WPS: LinkStatus = LINK_STATUS_WPS; MCUCmd = MCU_SET_LED_MODE; break; case LED_ON_SITE_SURVEY: LinkStatus = LINK_STATUS_ON_SITE_SURVEY; MCUCmd = MCU_SET_LED_MODE; break;//.........这里部分代码省略.........
开发者ID:23171580,项目名称:ralink,代码行数:101,
示例25: APMlmePeriodicExec/* ========================================================================== Description: This routine is executed every second - 1. Decide the overall channel quality 2. Check if need to upgrade the TX rate to any client 3. perform MAC table maintenance, including ageout no-traffic clients, and release packet buffer in PSQ is fail to TX in time. ========================================================================== */VOID APMlmePeriodicExec( PRTMP_ADAPTER pAd){ /* Reqeust by David 2005/05/12 It make sense to disable Adjust Tx Power on AP mode, since we can't take care all of the client's situation ToDo: need to verify compatibility issue with WiFi product. */ /* We return here in ATE mode, because the statistics that ATE need are not collected via this routine. */#ifdef RALINK_ATE if (ATE_ON(pAd)) return;#endif /* RALINK_ATE */#ifdef CARRIER_DETECTION_SUPPORT if (isCarrierDetectExist(pAd) == TRUE) { if (pAd->CommonCfg.CarrierDetect.OneSecIntCount < pAd->CommonCfg.CarrierDetect.CarrierGoneThreshold) { pAd->CommonCfg.CarrierDetect.CD_State = CD_NORMAL; pAd->CommonCfg.CarrierDetect.recheck = pAd->CommonCfg.CarrierDetect.recheck1; if (pAd->CommonCfg.CarrierDetect.Debug != RT_DEBUG_TRACE) { DBGPRINT(RT_DEBUG_TRACE, ("Carrier gone/n")); /* start all TX actions. */ APMakeAllBssBeacon(pAd); APUpdateAllBeaconFrame(pAd); AsicEnableBssSync(pAd); } else { printk("Carrier gone/n"); } } } pAd->CommonCfg.CarrierDetect.OneSecIntCount = 0;#endif /* CARRIER_DETECTION_SUPPORT */ RTMP_CHIP_HIGH_POWER_TUNING(pAd, &pAd->ApCfg.RssiSample); /* Disable Adjust Tx Power for WPA WiFi-test. */ /* Because high TX power results in the abnormal disconnection of Intel BG-STA. *//*#ifndef WIFI_TEST *//* if (pAd->CommonCfg.bWiFiTest == FALSE) */ /* for SmartBit 64-byte stream test */ /* removed based on the decision of Ralink congress at 2011/7/06 *//* if (pAd->MacTab.Size > 0) */ AsicAdjustTxPower(pAd);/*#endif // WIFI_TEST */ /* BBP TUNING: dynamic tune BBP R66 to find a balance between sensibility and noise isolation *//* AsicBbpTuning2(pAd); */ /* walk through MAC table, see if switching TX rate is required */ /* MAC table maintenance */ if (pAd->Mlme.PeriodicRound % MLME_TASK_EXEC_MULTIPLE == 0) { /* one second timer */ MacTableMaintenance(pAd); RTMPMaintainPMKIDCache(pAd);#ifdef WDS_SUPPORT WdsTableMaintenance(pAd);#endif /* WDS_SUPPORT */#ifdef CLIENT_WDS CliWds_ProxyTabMaintain(pAd);#endif /* CLIENT_WDS */ } APUpdateCapabilityAndErpIe(pAd);#ifdef APCLI_SUPPORT if (pAd->Mlme.OneSecPeriodicRound % 2 == 0) ApCliIfMonitor(pAd); if (pAd->Mlme.OneSecPeriodicRound % 2 == 1) ApCliIfUp(pAd); { INT loop; ULONG Now32;//.........这里部分代码省略.........
开发者ID:eckyecky,项目名称:rt-n56u,代码行数:101,
示例26: ScanNextChannel/* ========================================================================== Description: Scan next channel ========================================================================== */VOID ScanNextChannel( IN PRTMP_ADAPTER pAd, IN UCHAR OpMode) { UCHAR ScanType = pAd->MlmeAux.ScanType; UINT ScanTimeIn5gChannel = SHORT_CHANNEL_TIME; BOOLEAN ScanPending = FALSE; RALINK_TIMER_STRUCT *sc_timer = NULL; UINT stay_time = 0; #ifdef RALINK_ATE /* Nothing to do in ATE mode. */ if (ATE_ON(pAd)) return;#endif /* RALINK_ATE */#ifdef CONFIG_AP_SUPPORT ScanPending = ((pAd->ApCfg.bImprovedScan) && (pAd->ApCfg.ScanChannelCnt>=3));//7#endif if ((pAd->MlmeAux.Channel == 0) || ScanPending) { scan_ch_restore(pAd, OpMode); } else { AsicSwitchChannel(pAd, pAd->MlmeAux.Channel, TRUE); AsicLockChannel(pAd, pAd->MlmeAux.Channel); { BOOLEAN bScanPassive = FALSE; if (pAd->MlmeAux.Channel > 14) { if ((pAd->CommonCfg.bIEEE80211H == 1) && RadarChannelCheck(pAd, pAd->MlmeAux.Channel)) bScanPassive = TRUE; }#ifdef CARRIER_DETECTION_SUPPORT if (pAd->CommonCfg.CarrierDetect.Enable == TRUE) bScanPassive = TRUE;#endif /* CARRIER_DETECTION_SUPPORT */ if (bScanPassive) { ScanType = SCAN_PASSIVE; ScanTimeIn5gChannel = MIN_CHANNEL_TIME; } } /* Check if channel if passive scan under current regulatory domain */ if (CHAN_PropertyCheck(pAd, pAd->MlmeAux.Channel, CHANNEL_PASSIVE_SCAN) == TRUE) ScanType = SCAN_PASSIVE; if (OpMode == OPMODE_AP) sc_timer = &pAd->MlmeAux.APScanTimer; else sc_timer = &pAd->MlmeAux.ScanTimer; /* We need to shorten active scan time in order for WZC connect issue */ /* Chnage the channel scan time for CISCO stuff based on its IAPP announcement */#ifdef CONFIG_AP_SUPPORT if (ScanType == FAST_SCAN_ACTIVE) { RTMPSetTimer(&pAd->MlmeAux.APScanTimer, MIN_CHANNEL_TIME);//Carter test MIN_CHANNEL_TIME instead of Fast_Scan_Time pAd->ApCfg.ScanChannelCnt++; } else /* must be SCAN_PASSIVE or SCAN_ACTIVE*/#endif {#ifdef CONFIG_AP_SUPPORT pAd->ApCfg.ScanChannelCnt++; if ((OpMode == OPMODE_AP) && (pAd->ApCfg.bAutoChannelAtBootup)) stay_time = AUTO_CHANNEL_SEL_TIMEOUT; else#endif /* CONFIG_AP_SUPPORT */ if (WMODE_CAP_2G(pAd->CommonCfg.PhyMode) && WMODE_CAP_5G(pAd->CommonCfg.PhyMode)) { if (pAd->MlmeAux.Channel > 14) stay_time = ScanTimeIn5gChannel; else stay_time = MIN_CHANNEL_TIME; } else stay_time = MAX_CHANNEL_TIME; } RTMPSetTimer(sc_timer, stay_time); //.........这里部分代码省略.........
开发者ID:jing-git,项目名称:rt-n56u-1,代码行数:101,
示例27: RTUSBKickBulkOut/* ======================================================================== Routine Description: Arguments: Return Value: Note: ========================================================================*/VOID RTUSBKickBulkOut( IN PRTMP_ADAPTER pAd){ /* BulkIn Reset will reset whole USB PHY. So we need to make sure fRTMP_ADAPTER_BULKIN_RESET not flaged.*/ if (!RTMP_TEST_FLAG(pAd ,fRTMP_ADAPTER_NEED_STOP_TX)#ifdef RALINK_ATE && !(ATE_ON(pAd))#endif /* RALINK_ATE */ ) { /* 2. PS-Poll frame is next*/ if (RTUSB_TEST_BULK_FLAG(pAd, fRTUSB_BULK_OUT_PSPOLL)) { RTUSBBulkOutPsPoll(pAd); } /* 5. Mlme frame is next*/ else if ((RTUSB_TEST_BULK_FLAG(pAd, fRTUSB_BULK_OUT_MLME)) || (pAd->MgmtRing.TxSwFreeIdx < MGMT_RING_SIZE)) { RTUSBBulkOutMLMEPacket(pAd, pAd->MgmtRing.TxDmaIdx); } /* 6. Data frame normal is next*/ if (RTUSB_TEST_BULK_FLAG(pAd, fRTUSB_BULK_OUT_DATA_NORMAL)) { if (((!RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_BSS_SCAN_IN_PROGRESS)) || (!OPSTATUS_TEST_FLAG(pAd, fOP_STATUS_MEDIA_STATE_CONNECTED))#ifdef P2P_SUPPORT || P2P_GO_ON(pAd) || P2P_CLI_ON(pAd)#endif /* P2P_SUPPORT */#ifdef RT_CFG80211_SUPPORT || RTMP_CFG80211_VIF_P2P_GO_ON(pAd) || RTMP_CFG80211_VIF_P2P_CLI_ON(pAd)#endif )) { RTUSBBulkOutDataPacket(pAd, EDCA_AC0_PIPE, pAd->NextBulkOutIndex[EDCA_AC0_PIPE]); } } if (RTUSB_TEST_BULK_FLAG(pAd, fRTUSB_BULK_OUT_DATA_NORMAL_2)) { if (((!RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_BSS_SCAN_IN_PROGRESS)) || (!OPSTATUS_TEST_FLAG(pAd, fOP_STATUS_MEDIA_STATE_CONNECTED))#ifdef P2P_SUPPORT || P2P_GO_ON(pAd) || P2P_CLI_ON(pAd)#endif /* P2P_SUPPORT */#ifdef RT_CFG80211_SUPPORT || RTMP_CFG80211_VIF_P2P_GO_ON(pAd) || RTMP_CFG80211_VIF_P2P_CLI_ON(pAd)#endif )) { RTUSBBulkOutDataPacket(pAd, EDCA_AC1_PIPE, pAd->NextBulkOutIndex[EDCA_AC1_PIPE]); } } if (RTUSB_TEST_BULK_FLAG(pAd, fRTUSB_BULK_OUT_DATA_NORMAL_3)) { if (((!RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_BSS_SCAN_IN_PROGRESS)) || (!OPSTATUS_TEST_FLAG(pAd, fOP_STATUS_MEDIA_STATE_CONNECTED))#ifdef P2P_SUPPORT || P2P_GO_ON(pAd) || P2P_CLI_ON(pAd)#endif /* P2P_SUPPORT */#ifdef RT_CFG80211_SUPPORT || RTMP_CFG80211_VIF_P2P_GO_ON(pAd) || RTMP_CFG80211_VIF_P2P_CLI_ON(pAd)#endif )) { RTUSBBulkOutDataPacket(pAd, EDCA_AC2_PIPE, pAd->NextBulkOutIndex[EDCA_AC2_PIPE]); } } if (RTUSB_TEST_BULK_FLAG(pAd, fRTUSB_BULK_OUT_DATA_NORMAL_4)) { if (((!RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_BSS_SCAN_IN_PROGRESS)) || (!OPSTATUS_TEST_FLAG(pAd, fOP_STATUS_MEDIA_STATE_CONNECTED)) )) { RTUSBBulkOutDataPacket(pAd, EDCA_AC3_PIPE, pAd->NextBulkOutIndex[EDCA_AC3_PIPE]); } } /* 7. Null frame is the last*/ else if (RTUSB_TEST_BULK_FLAG(pAd, fRTUSB_BULK_OUT_DATA_NULL)) { if (!RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_BSS_SCAN_IN_PROGRESS)) { RTUSBBulkOutNullFrame(pAd); }//.........这里部分代码省略.........
开发者ID:avila-devlogic,项目名称:D33_KK_Kernel,代码行数:101,
示例28: ScanNextChannel/* ========================================================================== Description: Scan next channel ========================================================================== */VOID ScanNextChannel( IN PRTMP_ADAPTER pAd, IN UCHAR OpMode) { UCHAR ScanType = pAd->MlmeAux.ScanType; UINT ScanTimeIn5gChannel = SHORT_CHANNEL_TIME; BOOLEAN ScanPending = FALSE; RALINK_TIMER_STRUCT *sc_timer; UINT stay_time = 0; #ifdef RALINK_ATE /* Nothing to do in ATE mode. */ if (ATE_ON(pAd)) return;#endif /* RALINK_ATE */#ifdef CONFIG_STA_SUPPORT IF_DEV_CONFIG_OPMODE_ON_STA(pAd) { if (MONITOR_ON(pAd)) return; } ScanPending = ((pAd->StaCfg.bImprovedScan) && (pAd->StaCfg.ScanChannelCnt>=7));#endif /* CONFIG_STA_SUPPORT */#ifdef RT_CFG80211_SUPPORT#ifdef CONFIG_STA_SUPPORT if ( (pAd->pCfg80211ChanList != NULL) && (pAd->MlmeAux.Channel != 0)) { UINT32 ChanId; for ( ChanId = 0 ; ChanId <pAd->Cfg80211ChanListLan ; ChanId++ ) { if ( pAd->pCfg80211ChanList[ChanId] >= pAd->MlmeAux.Channel ) { pAd->MlmeAux.Channel = pAd->pCfg80211ChanList[ChanId]; break; } } }#endif /* CONFIG_STA_SUPPORT */#endif /* RT_CFG80211_SUPPORT */ if ((pAd->MlmeAux.Channel == 0) || ScanPending) { scan_ch_restore(pAd, OpMode); } #ifdef RTMP_MAC_USB#ifdef CONFIG_STA_SUPPORT else if (RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_NIC_NOT_EXIST) && (OpMode == OPMODE_STA)) { pAd->Mlme.SyncMachine.CurrState = SYNC_IDLE; MlmeCntlConfirm(pAd, MT2_SCAN_CONF, MLME_FAIL_NO_RESOURCE); } #endif /* CONFIG_STA_SUPPORT */#endif /* RTMP_MAC_USB */ else {#ifdef CONFIG_STA_SUPPORT if (OpMode == OPMODE_STA) { /* BBP and RF are not accessible in PS mode, we has to wake them up first*/ if (OPSTATUS_TEST_FLAG(pAd, fOP_STATUS_DOZE)) AsicForceWakeup(pAd, TRUE); /* leave PSM during scanning. otherwise we may lost ProbeRsp & BEACON*/ if (pAd->StaCfg.Psm == PWR_SAVE) RTMP_SET_PSM_BIT(pAd, PWR_ACTIVE); }#endif /* CONFIG_STA_SUPPORT */ AsicSwitchChannel(pAd, pAd->MlmeAux.Channel, TRUE); AsicLockChannel(pAd, pAd->MlmeAux.Channel);#ifdef CONFIG_STA_SUPPORT if (OpMode == OPMODE_STA) { BOOLEAN bScanPassive = FALSE; if (pAd->MlmeAux.Channel > 14) { if ((pAd->CommonCfg.bIEEE80211H == 1) && RadarChannelCheck(pAd, pAd->MlmeAux.Channel)) bScanPassive = TRUE; }#ifdef CARRIER_DETECTION_SUPPORT if (pAd->CommonCfg.CarrierDetect.Enable == TRUE) bScanPassive = TRUE;#endif /* CARRIER_DETECTION_SUPPORT */ if (bScanPassive)//.........这里部分代码省略.........
开发者ID:avila-devlogic,项目名称:D33_KK_Kernel,代码行数:101,
示例29: ApCli_VirtualIF_PacketSend/*========================================================================Routine Description: Send a packet to WLAN.Arguments: skb_p points to our adapter dev_p which WLAN network interfaceReturn Value: 0: transmit successfully otherwise: transmit failNote:========================================================================*/INT ApCli_VirtualIF_PacketSend( IN PNDIS_PACKET skb_p, IN PNET_DEV dev_p){ RTMP_ADAPTER *ad_p; PAPCLI_STRUCT pApCli; INT apcliIndex; ad_p = RTMP_OS_NETDEV_GET_PRIV(dev_p); ASSERT(ad_p);#ifdef RALINK_ATE if (ATE_ON(ad_p)) { RELEASE_NDIS_PACKET(ad_p, skb_p, NDIS_STATUS_FAILURE); return 0; }#endif // RALINK_ATE // if ((RTMP_TEST_FLAG(ad_p, fRTMP_ADAPTER_BSS_SCAN_IN_PROGRESS)) || (RTMP_TEST_FLAG(ad_p, fRTMP_ADAPTER_RADIO_OFF)) || (RTMP_TEST_FLAG(ad_p, fRTMP_ADAPTER_RESET_IN_PROGRESS))) { /* wlan is scanning/disabled/reset */ RELEASE_NDIS_PACKET(ad_p, skb_p, NDIS_STATUS_FAILURE); return 0; } if (!(RTMP_OS_NETDEV_STATE_RUNNING(dev_p))) { /* the interface is down */ RELEASE_NDIS_PACKET(ad_p, skb_p, NDIS_STATUS_FAILURE); return 0; } pApCli = (PAPCLI_STRUCT)&ad_p->ApCfg.ApCliTab; for(apcliIndex = 0; apcliIndex < MAX_APCLI_NUM; apcliIndex++) { if (pApCli[apcliIndex].Valid != TRUE) continue; /* find the device in our ApCli list */ if (pApCli[apcliIndex].dev == dev_p) { /* ya! find it */ ad_p->RalinkCounters.PendingNdisPacketCount ++; RTMP_SET_PACKET_MOREDATA(skb_p, FALSE); RTMP_SET_PACKET_NET_DEVICE_APCLI(skb_p, apcliIndex); SET_OS_PKT_NETDEV(skb_p, ad_p->net_dev); /* transmit the packet */ return rt28xx_packet_xmit(RTPKT_TO_OSPKT(skb_p)); } } RELEASE_NDIS_PACKET(ad_p, skb_p, NDIS_STATUS_FAILURE); return 0;} /* End of ApCli_VirtualIF_PacketSend */
开发者ID:qwerty1023,项目名称:wive-rtnl-firmware,代码行数:80,
注:本文中的ATE_ON函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 C++ ATF_CHECK函数代码示例 C++ ATB_GET_KIND函数代码示例 |