本文整理汇总了C++中ATE_ON函数的典型用法代码示例。如果您正苦于以下问题:C++ ATE_ON函数的具体用法?C++ ATE_ON怎么用?C++ ATE_ON使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了ATE_ON函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的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,代码来源:rtusb_bulk.c
示例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,代码来源:ap_mlme.c
示例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,代码来源:action.c
示例4: MBSS_VirtualIF_PacketSend
/*
========================================================================
Routine Description:
Send a packet to WLAN.
Arguments:
pPktSrc points to our adapter
pDev which WLAN network interface
Return Value:
0: transmit successfully
otherwise: transmit fail
Note:
========================================================================
*/
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,代码来源:ap_mbss.c
示例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,代码来源:rt_main_dev.c
示例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,代码来源:ap_mlme.c
示例7: MBSS_PacketSend
/*
========================================================================
Routine Description:
Send a packet to WLAN.
Arguments:
pPktSrc points to our adapter
pDev which WLAN network interface
Return Value:
0: transmit successfully
otherwise: transmit fail
Note:
========================================================================
*/
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,代码来源:ap_mbss.c
示例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,代码来源:ba_action.c
示例9: RTUSBBulkOutDataPacketComplete
USBHST_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,代码来源:rtusb_bulk_1th.c
示例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,代码来源:ap_mlme.c
示例11: WDS_PacketSend
int 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,代码来源:ap_wds.c
示例12: RxSensitivityTuning
static 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,代码来源:rtxx_dft.c
示例13: RxSensitivityTuning
static 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,代码来源:rtmp_chip.c
示例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,代码来源:ap_mlme.c
示例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,代码来源:ap_mlme.c
示例16: RT35xx_RxSensitivityTuning
VOID 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,代码来源:rt35xx.c
示例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,代码来源:ap_mlme.c
示例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:
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 = 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,代码来源:rt_main_dev.c
示例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,代码来源:rt_led.c
示例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,代码来源:scan.c
注:本文中的ATE_ON函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论