本文整理汇总了C++中AsicSendCommandToMcu函数的典型用法代码示例。如果您正苦于以下问题:C++ AsicSendCommandToMcu函数的具体用法?C++ AsicSendCommandToMcu怎么用?C++ AsicSendCommandToMcu使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了AsicSendCommandToMcu函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: AsicSetRxAnt
/*
Antenna divesity use GPIO3 and EESK pin for control
Antenna and EEPROM access are both using EESK pin,
Therefor we should avoid accessing EESK at the same time
Then restore antenna after EEPROM access
The original name of this function is AsicSetRxAnt(), now change to
*/
VOID RT30xxSetRxAnt(
IN PRTMP_ADAPTER pAd,
IN UCHAR Ant)
{
UINT32 Value;
if (/*(!pAd->NicConfig2.field.AntDiversity) ||*/
(RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_RESET_IN_PROGRESS)) ||
(RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_HALT_IN_PROGRESS)) ||
(RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_RADIO_OFF)) ||
(RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_NIC_NOT_EXIST)))
{
return;
}
/* the antenna selection is through firmware and MAC register(GPIO3) */
if (IS_RT2070(pAd) || (IS_RT3070(pAd) && pAd->RfIcType == RFIC_3020) ||
(IS_RT3090(pAd) && pAd->RfIcType == RFIC_3020))
{
if (Ant == 0)
{
/*
Main antenna
E2PROM_CSR only in PCI bus Reg., USB Bus need MCU commad to control the EESK pin.
*/
#ifdef RTMP_MAC_USB
AsicSendCommandToMcu(pAd, 0x73, 0xFF, 0x1, 0x0);
#endif /* RTMP_MAC_USB */
RTMP_IO_READ32(pAd, GPIO_CTRL_CFG, &Value);
Value &= ~(0x0808);
RTMP_IO_WRITE32(pAd, GPIO_CTRL_CFG, Value);
DBGPRINT(RT_DEBUG_TRACE, ("AsicSetRxAnt, switch to main antenna\n"));
}
else
{
/*
Aux antenna
E2PROM_CSR only in PCI bus Reg., USB Bus need MCU commad to control the EESK pin.
*/
#ifdef RTMP_MAC_USB
AsicSendCommandToMcu(pAd, 0x73, 0xFF, 0x0, 0x0);
#endif /* RTMP_MAC_USB */
RTMP_IO_READ32(pAd, GPIO_CTRL_CFG, &Value);
Value &= ~(0x0808);
Value |= 0x08;
RTMP_IO_WRITE32(pAd, GPIO_CTRL_CFG, Value);
DBGPRINT(RT_DEBUG_TRACE, ("AsicSetRxAnt, switch to aux antenna\n"));
}
}
}
开发者ID:Audioniek,项目名称:Fortis-4G,代码行数:58,代码来源:rt30xx.c
示例2: RTUSBWriteBBPRegister
NTSTATUS RTUSBWriteBBPRegister(
IN PRTMP_ADAPTER pAd,
IN UCHAR Id,
IN UCHAR Value)
{
BBP_CSR_CFG_STRUC BbpCsr;
int BusyCnt;
for (BusyCnt=0; BusyCnt<MAX_BUSY_COUNT; BusyCnt++)
{
RTMP_IO_READ32(pAd, H2M_BBP_AGENT, &BbpCsr.word);
if (BbpCsr.field.Busy == BUSY)
continue;
BbpCsr.word = 0;
BbpCsr.field.fRead = 0;
BbpCsr.field.BBP_RW_MODE = 1;
BbpCsr.field.Busy = 1;
BbpCsr.field.Value = Value;
BbpCsr.field.RegNum = Id;
RTMP_IO_WRITE32(pAd, H2M_BBP_AGENT, BbpCsr.word);
AsicSendCommandToMcu(pAd, 0x80, 0xff, 0x0, 0x0);
pAd->BbpWriteLatch[Id] = Value;
break;
}
if (BusyCnt == MAX_BUSY_COUNT)
{
DBGPRINT_ERR(("BBP write R%d=0x%x fail\n", Id, BbpCsr.word));
return STATUS_UNSUCCESSFUL;
}
return STATUS_SUCCESS;
}
开发者ID:AppEngine,项目名称:linux-2.6,代码行数:31,代码来源:rtusb_io.c
示例3: RT28xxUsbMlmeRadioOn
VOID RT28xxUsbMlmeRadioOn(
IN PRTMP_ADAPTER pAd)
{
DBGPRINT(RT_DEBUG_TRACE,("RT28xxUsbMlmeRadioOn()\n"));
if (!RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_RADIO_OFF))
return;
#ifdef CONFIG_STA_SUPPORT
IF_DEV_CONFIG_OPMODE_ON_STA(pAd)
{
AsicSendCommandToMcu(pAd, 0x31, 0xff, 0x00, 0x00);
RTMPusecDelay(10000);
}
#endif // CONFIG_STA_SUPPORT //
NICResetFromError(pAd);
// Enable Tx/Rx
RTMPEnableRxTx(pAd);
// Clear Radio off flag
RTMP_CLEAR_FLAG(pAd, fRTMP_ADAPTER_RADIO_OFF);
#ifdef CONFIG_STA_SUPPORT
IF_DEV_CONFIG_OPMODE_ON_STA(pAd)
RTUSBBulkReceive(pAd);
#endif // CONFIG_STA_SUPPORT //
// Set LED
RTMPSetLED(pAd, LED_RADIO_ON);
}
开发者ID:458941968,项目名称:mini2440-kernel-2.6.29,代码行数:31,代码来源:cmm_data_2870.c
示例4: RTUSBFirmwareWrite
/*
========================================================================
Routine Description: Write Firmware to NIC.
Arguments:
Return Value:
IRQL =
Note:
========================================================================
*/
NTSTATUS RTUSBFirmwareWrite(
IN PRTMP_ADAPTER pAd,
IN PUCHAR pFwImage,
IN ULONG FwLen)
{
UINT32 MacReg;
NTSTATUS Status;
// ULONG i;
USHORT writeLen;
Status = RTUSBReadMACRegister(pAd, MAC_CSR0, &MacReg);
writeLen = FwLen;
RTUSBMultiWrite(pAd, FIRMWARE_IMAGE_BASE, pFwImage, writeLen);
Status = RTUSBWriteMACRegister(pAd, 0x7014, 0xffffffff);
Status = RTUSBWriteMACRegister(pAd, 0x701c, 0xffffffff);
Status = RTUSBFirmwareRun(pAd);
#ifdef RT30xx
RTMPusecDelay(10000);
RTUSBWriteMACRegister(pAd,H2M_MAILBOX_CSR,0);
AsicSendCommandToMcu(pAd, 0x72, 0x00, 0x00, 0x00);//reset rf by MCU supported by new firmware
#endif
return Status;
}
开发者ID:AppEngine,项目名称:linux-2.6,代码行数:43,代码来源:rtusb_io.c
示例5: RT28xxUsbStaAsicForceWakeup
VOID RT28xxUsbStaAsicForceWakeup(
IN PRTMP_ADAPTER pAd,
IN BOOLEAN bFromTx)
{
BOOLEAN Canceled;
if (pAd->Mlme.AutoWakeupTimerRunning)
{
if ( !OPSTATUS_TEST_FLAG(pAd, fOP_STATUS_DOZE) )
{
return;
}
RTMPCancelTimer(&pAd->Mlme.AutoWakeupTimer, &Canceled);
pAd->Mlme.AutoWakeupTimerRunning = FALSE;
}
#ifdef MT7601
if ( IS_MT7601(pAd) )
{
ASIC_RADIO_ON(pAd, DOT11_RADIO_ON);
}
else
#endif /* MT7601 */
{
AsicSendCommandToMcu(pAd, 0x31, 0xff, 0x00, 0x02, FALSE);
}
OPSTATUS_CLEAR_FLAG(pAd, fOP_STATUS_DOZE);
}
开发者ID:adriano65,项目名称:n300-pda,代码行数:29,代码来源:cmm_data_usb.c
示例6: RTMPSetSignalLED
/*
========================================================================
Routine Description:
Set LED Signal Stregth
Arguments:
pAd Pointer to our adapter
Dbm Signal Stregth
Return Value:
None
IRQL = PASSIVE_LEVEL
Note:
Can be run on any IRQL level.
According to Microsoft Zero Config Wireless Signal Stregth definition as belows.
<= -90 No Signal
<= -81 Very Low
<= -71 Low
<= -67 Good
<= -57 Very Good
> -57 Excellent
========================================================================
*/
VOID RTMPSetSignalLED(RTMP_ADAPTER *pAd, NDIS_802_11_RSSI Dbm)
{
UCHAR nLed = 0;
if (pAd->LedCntl.MCULedCntl.field.LedMode == LED_MODE_SIGNAL_STREGTH)
{
if (Dbm <= -90)
nLed = 0;
else if (Dbm <= -81)
nLed = 1;
else if (Dbm <= -71)
nLed = 3;
else if (Dbm <= -67)
nLed = 7;
else if (Dbm <= -57)
nLed = 15;
else
nLed = 31;
/* */
/* Update Signal Stregth to firmware if changed. */
/* */
if (pAd->LedCntl.LedIndicatorStrength != nLed)
{
AsicSendCommandToMcu(pAd, MCU_SET_LED_GPIO_SIGNAL_CFG, 0xff, nLed, pAd->LedCntl.MCULedCntl.field.Polarity, FALSE);
pAd->LedCntl.LedIndicatorStrength = nLed;
}
}
}
开发者ID:23171580,项目名称:ralink,代码行数:59,代码来源:rt_led.c
示例7: RT28xxUsbStaAsicSleepThenAutoWakeup
VOID RT28xxUsbStaAsicSleepThenAutoWakeup(
IN PRTMP_ADAPTER pAd,
IN USHORT TbttNumToNextWakeUp)
{
/* Not going to sleep if in the Count Down Time*/
if (pAd->CountDowntoPsm > 0)
return;
/* we have decided to SLEEP, so at least do it for a BEACON period.*/
if (TbttNumToNextWakeUp == 0)
TbttNumToNextWakeUp = 1;
RTMPSetTimer(&pAd->Mlme.AutoWakeupTimer, AUTO_WAKEUP_TIMEOUT);
pAd->Mlme.AutoWakeupTimerRunning = TRUE;
AsicSendCommandToMcu(pAd, 0x30, 0xff, 0xff, 0x02, FALSE); /* send POWER-SAVE command to MCU. Timeout 40us.*/
/* cancel bulk-in IRPs prevent blocking CPU enter C3.*/
if((pAd->PendingRx > 0) && (!RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_NIC_NOT_EXIST)))
{
RTUSBCancelPendingBulkInIRP(pAd);
/* resend bulk-in IRPs to receive beacons after a period of (pAd->CommonCfg.BeaconPeriod - 40) ms*/
pAd->PendingRx = 0;
}
OPSTATUS_SET_FLAG(pAd, fOP_STATUS_DOZE);
}
开发者ID:557i,项目名称:mt7610u_wifi_sta_v3002_dpo_20130916,代码行数:32,代码来源:cmm_data_usb.c
示例8: RTMPInitLEDMode
void RTMPInitLEDMode(IN RTMP_ADAPTER *pAd)
{
PLED_CONTROL pLedCntl = &pAd->LedCntl;
if (pLedCntl->MCULedCntl.word == 0xFF)
{
pLedCntl->MCULedCntl.word = 0x01;
pLedCntl->LedAGCfg = 0x5555;
pLedCntl->LedACTCfg= 0x2221;
#ifdef RTMP_MAC_PCI
pLedCntl->LedPolarity = 0xA9F8;
#endif /* RTMP_MAC_PCI */
}
AsicSendCommandToMcu(pAd, MCU_SET_LED_AG_CFG, 0xff, (UCHAR)pLedCntl->LedAGCfg, (UCHAR)(pLedCntl->LedAGCfg >> 8), FALSE);
AsicSendCommandToMcu(pAd, MCU_SET_LED_ACT_CFG, 0xff, (UCHAR)pLedCntl->LedACTCfg, (UCHAR)(pLedCntl->LedACTCfg >> 8), FALSE);
AsicSendCommandToMcu(pAd, MCU_SET_LED_POLARITY, 0xff, (UCHAR)pLedCntl->LedPolarity, (UCHAR)(pLedCntl->LedPolarity >> 8), FALSE);
AsicSendCommandToMcu(pAd, MCU_SET_LED_GPIO_SIGNAL_CFG, 0xff, 0, pLedCntl->MCULedCntl.field.Polarity, FALSE);
pAd->LedCntl.LedIndicatorStrength = 0xFF;
RTMPSetSignalLED(pAd, -100); /* Force signal strength Led to be turned off, before link up */
RTMPStartLEDMode(pAd);
}
开发者ID:23171580,项目名称:ralink,代码行数:25,代码来源:rt_led.c
示例9: RTMPAdjustFrequencyOffset
/*
========================================================================
Routine Description:
Adjust frequency offset when do channel switching or frequency calabration.
Arguments:
pAd - Adapter pointer
pRefFreqOffset in: referenced Frequency offset out: adjusted frequency offset
Return Value:
None
========================================================================
*/
BOOLEAN RTMPAdjustFrequencyOffset(
IN PRTMP_ADAPTER pAd,
INOUT PUCHAR pRefFreqOffset)
{
BOOLEAN RetVal = TRUE;
UCHAR RFValue = 0;
UCHAR PreRFValue = 0;
UCHAR FreqOffset = 0;
UCHAR HighCurrentBit = 0;
RTMP_ReadRF(pAd, RF_R17, &FreqOffset, &HighCurrentBit, 0x7F);
PreRFValue = HighCurrentBit | FreqOffset;
FreqOffset = min((*pRefFreqOffset & 0x7F), 0x5F);
RFValue = HighCurrentBit | FreqOffset;
if (PreRFValue != RFValue)
{
#ifdef RTMP_MAC_USB
RetVal = AsicSendCommandToMcu(pAd, 0x74, 0xff, FreqOffset, PreRFValue, FALSE);
#else
RetVal = (RT30xxWriteRFRegister(pAd, RF_R17, RFValue) == STATUS_SUCCESS ? TRUE:FALSE);
#endif /* !RTMP_MAC_USB */
}
if (RetVal == FALSE)
DBGPRINT(RT_DEBUG_TRACE, ("%s(): Error in tuning frequency offset !!\n", __FUNCTION__));
else
*pRefFreqOffset = FreqOffset;
return RetVal;
}
开发者ID:32743069,项目名称:amlogic_common_3050,代码行数:45,代码来源:rt_rf.c
示例10: MyRTMPTurnOffLED
RTMP_BUILD_DRV_OPS_FUNCTION_BODY
#endif /* OS_ABL_FUNC_SUPPORT */
#endif /* LINUX */
#ifndef LED_CONTROL_SUPPORT
void MyRTMPTurnOffLED(IN RTMP_ADAPTER *pAd)
{
LED_CONTROL my_LED_CONTROL;
PLED_CONTROL pLedCntl = &my_LED_CONTROL;
//first time after init elways run this scope
//if (pLedCntl->MCULedCntl.word == 0xFF)
{
pLedCntl->MCULedCntl.word = 0x01;
pLedCntl->LedAGCfg = 0x5555;
pLedCntl->LedACTCfg= 0x2221;
#ifdef RTMP_MAC_USB
pLedCntl->LedPolarity = 0x5627;
#endif /* RTMP_MAC_USB */
}
AsicSendCommandToMcu(pAd, MCU_SET_LED_AG_CFG, 0xff, (UCHAR)pLedCntl->LedAGCfg, (UCHAR)(pLedCntl->LedAGCfg >> 8), FALSE);
AsicSendCommandToMcu(pAd, MCU_SET_LED_ACT_CFG, 0xff, (UCHAR)pLedCntl->LedACTCfg, (UCHAR)(pLedCntl->LedACTCfg >> 8), FALSE);
AsicSendCommandToMcu(pAd, MCU_SET_LED_POLARITY, 0xff, (UCHAR)pLedCntl->LedPolarity, (UCHAR)(pLedCntl->LedPolarity >> 8), FALSE);
AsicSendCommandToMcu(pAd, MCU_SET_LED_GPIO_SIGNAL_CFG, 0xff, 0, pLedCntl->MCULedCntl.field.Polarity, FALSE);
}
开发者ID:ohyeah521,项目名称:DPO_RT5572_LinuxSTA_2.6.1.3_20121022_mod,代码行数:28,代码来源:rtmp_init_inf.c
示例11: RT30xxSetRxAnt
/*void AsicSetRxAnt( */
void RT30xxSetRxAnt(struct rt_rtmp_adapter *pAd, u8 Ant)
{
u32 Value;
#ifdef RTMP_MAC_PCI
u32 x;
#endif
if ((pAd->EepromAccess) ||
(RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_RESET_IN_PROGRESS)) ||
(RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_HALT_IN_PROGRESS)) ||
(RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_RADIO_OFF)) ||
(RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_NIC_NOT_EXIST))) {
return;
}
/* the antenna selection is through firmware and MAC register(GPIO3) */
if (Ant == 0) {
/* Main antenna */
#ifdef RTMP_MAC_PCI
RTMP_IO_READ32(pAd, E2PROM_CSR, &x);
x |= (EESK);
RTMP_IO_WRITE32(pAd, E2PROM_CSR, x);
#else
AsicSendCommandToMcu(pAd, 0x73, 0xFF, 0x1, 0x0);
#endif /* RTMP_MAC_PCI // */
RTMP_IO_READ32(pAd, GPIO_CTRL_CFG, &Value);
Value &= ~(0x0808);
RTMP_IO_WRITE32(pAd, GPIO_CTRL_CFG, Value);
DBGPRINT_RAW(RT_DEBUG_TRACE,
("AsicSetRxAnt, switch to main antenna\n"));
} else {
/* Aux antenna */
#ifdef RTMP_MAC_PCI
RTMP_IO_READ32(pAd, E2PROM_CSR, &x);
x &= ~(EESK);
RTMP_IO_WRITE32(pAd, E2PROM_CSR, x);
#else
AsicSendCommandToMcu(pAd, 0x73, 0xFF, 0x0, 0x0);
#endif /* RTMP_MAC_PCI // */
RTMP_IO_READ32(pAd, GPIO_CTRL_CFG, &Value);
Value &= ~(0x0808);
Value |= 0x08;
RTMP_IO_WRITE32(pAd, GPIO_CTRL_CFG, Value);
DBGPRINT_RAW(RT_DEBUG_TRACE,
("AsicSetRxAnt, switch to aux antenna\n"));
}
}
开发者ID:ANFS,项目名称:ANFS-kernel,代码行数:48,代码来源:rt30xx.c
示例12: AsicSetRxAnt
/*
Antenna divesity use GPIO3 and EESK pin for control
Antenna and EEPROM access are both using EESK pin,
Therefor we should avoid accessing EESK at the same time
Then restore antenna after EEPROM access
The original name of this function is AsicSetRxAnt(), now change to
*/
VOID RT30xxSetRxAnt(
IN PRTMP_ADAPTER pAd,
IN UCHAR Ant)
{
UINT32 Value;
/* the antenna selection is through firmware and MAC register(GPIO3) */
if (IS_RT3070(pAd) && pAd->RfIcType == RFIC_3020)
// if (IS_RT2070(pAd) || (IS_RT3070(pAd) && pAd->RfIcType == RFIC_3020) ||
// (IS_RT3090(pAd) && pAd->RfIcType == RFIC_3020))
{
if (Ant == 0)
{
/*
Main antenna
E2PROM_CSR only in PCI bus Reg., USB Bus need MCU commad to control the EESK pin.
*/
#ifdef RTMP_MAC_USB
AsicSendCommandToMcu(pAd, 0x73, 0xFF, 0x1, 0x0);
#endif /* RTMP_MAC_USB */
RTMP_IO_READ32(pAd, GPIO_CTRL_CFG, &Value);
Value &= ~(0x0808);
RTMP_IO_WRITE32(pAd, GPIO_CTRL_CFG, Value);
DBGPRINT(RT_DEBUG_TRACE, "AsicSetRxAnt, switch to main antenna\n");
}
else
{
/*
Aux antenna
E2PROM_CSR only in PCI bus Reg., USB Bus need MCU commad to control the EESK pin.
*/
#ifdef RTMP_MAC_USB
AsicSendCommandToMcu(pAd, 0x73, 0xFF, 0x0, 0x0);
#endif /* RTMP_MAC_USB */
RTMP_IO_READ32(pAd, GPIO_CTRL_CFG, &Value);
Value &= ~(0x0808);
Value |= 0x08;
RTMP_IO_WRITE32(pAd, GPIO_CTRL_CFG, Value);
DBGPRINT(RT_DEBUG_TRACE, "AsicSetRxAnt, switch to aux antenna\n");
}
}
else{
DBGPRINT(RT_DEBUG_ERROR, "RfIcType(%d) is unknow!!\n", pAd->RfIcType);
}
}
开发者ID:gexueyuan,项目名称:Cygnoides,代码行数:53,代码来源:rt30xx.c
示例13: RadarDetectionStop
/*
========================================================================
Routine Description:
Radar detection routine
Arguments:
pAd Pointer to our adapter
Return Value:
TRUE Found radar signal
FALSE Not found radar signal
========================================================================
*/
VOID RadarDetectionStop(
IN PRTMP_ADAPTER pAd)
{
DBGPRINT(RT_DEBUG_TRACE,("RadarDetectionStop.\n"));
AsicSendCommandToMcu(pAd, 0x60, 0xff, 0x00, 0x00); /* send start-RD with CTS protection command to MCU*/
return;
}
开发者ID:Brainiarc7,项目名称:ralink_sdk,代码行数:23,代码来源:dfs.c
示例14: RT33xxSetRxAnt
VOID RT33xxSetRxAnt(
IN PRTMP_ADAPTER pAd,
IN UCHAR Ant)
{
UINT32 Value;
UINT32 x;
if ((!pAd->NicConfig2.field.AntDiversity) ||
(RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_RESET_IN_PROGRESS)) ||
(RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_HALT_IN_PROGRESS)) ||
(RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_RADIO_OFF)) ||
(RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_NIC_NOT_EXIST)))
{
return;
}
// the antenna selection is through firmware and MAC register(GPIO3)
if (Ant == 0)
{
// Main antenna
// E2PROM_CSR only in PCI bus Reg., USB Bus need MCU commad to control the EESK pin.
#ifdef RTMP_MAC_USB
AsicSendCommandToMcu(pAd, 0x73, 0xff, 0x1, 0x0);
#endif // RTMP_MAC_USB //
RTMP_IO_READ32(pAd, GPIO_CTRL_CFG, &Value);
Value &= ~(0x0808);
RTMP_IO_WRITE32(pAd, GPIO_CTRL_CFG, Value);
DBGPRINT_RAW(RT_DEBUG_TRACE, ("AsicSetRxAnt, switch to main antenna\n"));
}
else
{
// Aux antenna
// E2PROM_CSR only in PCI bus Reg., USB Bus need MCU commad to control the EESK pin.
#ifdef RTMP_MAC_USB
AsicSendCommandToMcu(pAd, 0x73, 0xff, 0x0, 0x0);
#endif // RTMP_MAC_USB //
RTMP_IO_READ32(pAd, GPIO_CTRL_CFG, &Value);
Value &= ~(0x0808);
Value |= 0x08;
RTMP_IO_WRITE32(pAd, GPIO_CTRL_CFG, Value);
DBGPRINT_RAW(RT_DEBUG_TRACE, ("AsicSetRxAnt, switch to aux antenna\n"));
}
}
开发者ID:Erni88,项目名称:froyo-wm8505-utils,代码行数:44,代码来源:rt33xx.c
示例15: RT28xxUsbStaAsicForceWakeup
void RT28xxUsbStaAsicForceWakeup(struct rt_rtmp_adapter *pAd, IN BOOLEAN bFromTx)
{
BOOLEAN Canceled;
if (pAd->Mlme.AutoWakeupTimerRunning)
RTMPCancelTimer(&pAd->Mlme.AutoWakeupTimer, &Canceled);
AsicSendCommandToMcu(pAd, 0x31, 0xff, 0x00, 0x02);
OPSTATUS_CLEAR_FLAG(pAd, fOP_STATUS_DOZE);
}
开发者ID:AbheekG,项目名称:XIA-for-Linux,代码行数:11,代码来源:cmm_data_usb.c
示例16: RTUSBReadBBPRegister
/*
========================================================================
Routine Description: Read 8-bit BBP register via firmware
Arguments:
Return Value:
IRQL =
Note:
========================================================================
*/
NTSTATUS RTUSBReadBBPRegister(
IN PRTMP_ADAPTER pAd,
IN UCHAR Id,
IN PUCHAR pValue)
{
BBP_CSR_CFG_STRUC BbpCsr;
int i, k, ret;
RTMP_SEM_EVENT_WAIT(&pAd->reg_atomic, ret);
if (ret != 0)
{
DBGPRINT(RT_DEBUG_ERROR, ("reg_atomic get failed(ret=%d)\n", ret));
return STATUS_UNSUCCESSFUL;
}
for (i=0; i<MAX_BUSY_COUNT; i++)
{
RTUSBReadMACRegister(pAd, H2M_BBP_AGENT, &BbpCsr.word);
if (BbpCsr.field.Busy == BUSY)
continue;
BbpCsr.word = 0;
BbpCsr.field.fRead = 1;
BbpCsr.field.BBP_RW_MODE = 1;
BbpCsr.field.Busy = 1;
BbpCsr.field.RegNum = Id;
RTUSBWriteMACRegister(pAd, H2M_BBP_AGENT, BbpCsr.word, FALSE);
AsicSendCommandToMcu(pAd, 0x80, 0xff, 0x0, 0x0, TRUE);
for (k=0; k<MAX_BUSY_COUNT; k++)
{
RTUSBReadMACRegister(pAd, H2M_BBP_AGENT, &BbpCsr.word);
if (BbpCsr.field.Busy == IDLE)
break;
}
if ((BbpCsr.field.Busy == IDLE) &&
(BbpCsr.field.RegNum == Id))
{
*pValue = (UCHAR)BbpCsr.field.Value;
break;
}
}
RTMP_SEM_EVENT_UP(&pAd->reg_atomic);
if (BbpCsr.field.Busy == BUSY)
{
DBGPRINT_ERR(("BBP read R%d=0x%x fail\n", Id, BbpCsr.word));
*pValue = pAd->BbpWriteLatch[Id];
return STATUS_UNSUCCESSFUL;
}
return STATUS_SUCCESS;
}
开发者ID:flyleaf91,项目名称:USB-Wireless-LAN-Driver-for-STM32F4xx,代码行数:68,代码来源:rtusb_io.c
示例17: RT28xxUsbStaAsicForceWakeup
VOID RT28xxUsbStaAsicForceWakeup(
IN PRTMP_ADAPTER pAd,
IN BOOLEAN bFromTx)
{
BOOLEAN Canceled;
if (pAd->Mlme.AutoWakeupTimerRunning)
RTMPCancelTimer(&pAd->Mlme.AutoWakeupTimer, &Canceled);
AsicSendCommandToMcu(pAd, 0x31, 0xff, 0x00, 0x02);
OPSTATUS_CLEAR_FLAG(pAd, fOP_STATUS_DOZE);
}
开发者ID:32743069,项目名称:amlogic_common_3050,代码行数:13,代码来源:cmm_data_usb.c
示例18: RadarDetectionStart
/*
========================================================================
Routine Description:
Radar detection routine
Arguments:
pAd Pointer to our adapter
Return Value:
========================================================================
*/
VOID RadarDetectionStart(
IN PRTMP_ADAPTER pAd,
IN BOOLEAN CTSProtect,
IN UINT8 CTSPeriod)
{
UINT8 DfsActiveTime = (pAd->CommonCfg.RadarDetect.DfsSessionTime & 0x1f);
UINT8 CtsProtect = (CTSProtect == 1) ? 0x02 : 0x01; /* CTS protect.*/
if (CTSProtect != 0)
{
switch(pAd->CommonCfg.RadarDetect.RDDurRegion)
{
case FCC:
case JAP_W56:
CtsProtect = 0x03;
break;
case JAP:
{
UCHAR RDDurRegion;
RDDurRegion = JapRadarType(pAd);
if (RDDurRegion == JAP_W56)
CtsProtect = 0x03;
else
CtsProtect = 0x02;
break;
}
case CE:
case JAP_W53:
default:
CtsProtect = 0x02;
break;
}
}
else
CtsProtect = 0x01;
/* send start-RD with CTS protection command to MCU*/
/* highbyte [7] reserve*/
/* highbyte [6:5] 0x: stop Carrier/Radar detection*/
/* highbyte [10]: Start Carrier/Radar detection without CTS protection, 11: Start Carrier/Radar detection with CTS protection*/
/* highbyte [4:0] Radar/carrier detection duration. In 1ms.*/
/* lowbyte [7:0] Radar/carrier detection period, in 1ms.*/
AsicSendCommandToMcu(pAd, 0x60, 0xff, CTSPeriod, DfsActiveTime | (CtsProtect << 5));
/*AsicSendCommandToMcu(pAd, 0x63, 0xff, 10, 0);*/
return;
}
开发者ID:Brainiarc7,项目名称:ralink_sdk,代码行数:64,代码来源:dfs.c
示例19: RtmpUsbStaAsicForceWakeupTimeout
void RtmpUsbStaAsicForceWakeupTimeout(void *SystemSpecific1,
void *FunctionContext,
void *SystemSpecific2,
void *SystemSpecific3)
{
struct rt_rtmp_adapter *pAd = (struct rt_rtmp_adapter *)FunctionContext;
if (pAd && pAd->Mlme.AutoWakeupTimerRunning) {
AsicSendCommandToMcu(pAd, 0x31, 0xff, 0x00, 0x02);
OPSTATUS_CLEAR_FLAG(pAd, fOP_STATUS_DOZE);
pAd->Mlme.AutoWakeupTimerRunning = FALSE;
}
}
开发者ID:AbheekG,项目名称:XIA-for-Linux,代码行数:14,代码来源:cmm_data_usb.c
示例20: RT28xxUsbStaAsicSleepThenAutoWakeup
void RT28xxUsbStaAsicSleepThenAutoWakeup(struct rt_rtmp_adapter *pAd,
u16 TbttNumToNextWakeUp)
{
/* we have decided to SLEEP, so at least do it for a BEACON period. */
if (TbttNumToNextWakeUp == 0)
TbttNumToNextWakeUp = 1;
RTMPSetTimer(&pAd->Mlme.AutoWakeupTimer, AUTO_WAKEUP_TIMEOUT);
pAd->Mlme.AutoWakeupTimerRunning = TRUE;
AsicSendCommandToMcu(pAd, 0x30, 0xff, 0xff, 0x02); /* send POWER-SAVE command to MCU. Timeout 40us. */
OPSTATUS_SET_FLAG(pAd, fOP_STATUS_DOZE);
}
开发者ID:AbheekG,项目名称:XIA-for-Linux,代码行数:16,代码来源:cmm_data_usb.c
注:本文中的AsicSendCommandToMcu函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论