/* ======================================================================== Routine Description: write memory Arguments: pAd - WLAN control block pointer Offset - Memory offsets Value - Written value Unit - Unit in "Byte" Return Value: None Note: ======================================================================== */ VOID RtmpChipWriteMemory( IN RTMP_ADAPTER *pAd, IN USHORT Offset, IN UINT32 Value, IN UINT8 Unit) { switch(Unit) { case 1: RTMP_IO_WRITE8(pAd, Offset, Value); break; case 2: RTMP_IO_WRITE16(pAd, Offset, Value); break; case 4: RTMP_IO_WRITE32(pAd, Offset, Value); default: break; } }
/* ======================================================================== Routine Description: write memory Arguments: pAd - WLAN control block pointer Offset - Memory offsets Value - Written value Unit - Unit in "Byte" Return Value: None Note: ======================================================================== */ void RtmpChipWriteMemory( IN RTMP_ADAPTER *pAd, IN unsigned short Offset, IN unsigned int Value, IN unsigned char Unit) { switch(Unit) { case 1: RTMP_IO_WRITE8(pAd, Offset, Value); break; case 2: RTMP_IO_WRITE16(pAd, Offset, Value); break; case 4: RTMP_IO_WRITE32(pAd, Offset, Value); default: break; } }
/* ======================================================================== Routine Description: Bbp Radar detection routine Arguments: pAd Pointer to our adapter Return Value: ======================================================================== */ VOID BbpRadarDetectionStart( IN PRTMP_ADAPTER pAd) { UINT8 RadarPeriod; if (pAd->CommonCfg.dfs_func >= HARDWARE_DFS_V1) { return; } RTMP_BBP_IO_WRITE8_BY_REG_ID(pAd, 114, 0x02); RTMP_BBP_IO_WRITE8_BY_REG_ID(pAd, 121, 0x20); RTMP_BBP_IO_WRITE8_BY_REG_ID(pAd, 122, 0x00); RTMP_BBP_IO_WRITE8_BY_REG_ID(pAd, 123, 0x08/*0x80*/); RTMP_BBP_IO_WRITE8_BY_REG_ID(pAd, 124, 0x28); RTMP_BBP_IO_WRITE8_BY_REG_ID(pAd, 125, 0xff); #ifdef RTMP_RBUS_SUPPORT if ((pAd->CommonCfg.RadarDetect.RDDurRegion == JAP) || (pAd->CommonCfg.RadarDetect.RDDurRegion == JAP_W53) || (pAd->CommonCfg.RadarDetect.RDDurRegion == JAP_W56)) { pAd->CommonCfg.RadarDetect.RDDurRegion = JAP; pAd->CommonCfg.RadarDetect.RDDurRegion = JapRadarType(pAd); if (pAd->CommonCfg.RadarDetect.RDDurRegion == JAP_W56) { pAd->CommonCfg.RadarDetect.DfsSessionTime = 13; } else if (pAd->CommonCfg.RadarDetect.RDDurRegion == JAP_W53) { pAd->CommonCfg.RadarDetect.DfsSessionTime = 15; } } #endif /* RTMP_RBUS_SUPPORT */ RadarPeriod = ((UINT)RdIdleTimeTable[pAd->CommonCfg.RadarDetect.RDDurRegion][0] + (UINT)pAd->CommonCfg.RadarDetect.DfsSessionTime) < 250 ? (RdIdleTimeTable[pAd->CommonCfg.RadarDetect.RDDurRegion][0] + pAd->CommonCfg.RadarDetect.DfsSessionTime) : 250; #ifdef RTMP_RBUS_SUPPORT #ifdef RT2880 pAd->CommonCfg.R65 = 0x1d; pAd->CommonCfg.R66 = 0x60; #endif /* RT2880 */ #ifdef CONFIG_AP_SUPPORT #ifdef CARRIER_DETECTION_SUPPORT if (pAd->CommonCfg.CarrierDetect.Enable == TRUE) { /* make sure CarrierDetect wont send CTS*/ CARRIER_DETECT_STOP(pAd); } #endif /* CARRIER_DETECTION_SUPPORT */ #endif /* CONFIG_AP_SUPPORT */ #else /* Original RT28xx source code.*/ RTMP_IO_WRITE8(pAd, 0x7020, 0x1d); RTMP_IO_WRITE8(pAd, 0x7021, 0x40); #endif /* RTMP_RBUS_SUPPORT */ RadarDetectionStart(pAd, 0, RadarPeriod); return; }