forked from Minki/linux
Staging: rt28x0: remove unused code from common/dfs.c
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
ca97b83888
commit
c3126b93b5
@ -37,196 +37,6 @@
|
||||
|
||||
#include "../rt_config.h"
|
||||
|
||||
typedef struct _RADAR_DURATION_TABLE
|
||||
{
|
||||
ULONG RDDurRegion;
|
||||
ULONG RadarSignalDuration;
|
||||
ULONG Tolerance;
|
||||
} RADAR_DURATION_TABLE, *PRADAR_DURATION_TABLE;
|
||||
|
||||
|
||||
|
||||
UCHAR RdIdleTimeTable[MAX_RD_REGION][4] =
|
||||
{
|
||||
{9, 250, 250, 250}, // CE
|
||||
#ifdef DFS_FCC_BW40_FIX
|
||||
{1, 250, 250, 250}, // FCC
|
||||
#else
|
||||
{4, 250, 250, 250}, // FCC
|
||||
#endif
|
||||
{4, 250, 250, 250}, // JAP
|
||||
{15, 250, 250, 250}, // JAP_W53
|
||||
{4, 250, 250, 250} // JAP_W56
|
||||
};
|
||||
|
||||
/*
|
||||
========================================================================
|
||||
|
||||
Routine Description:
|
||||
Bbp Radar detection routine
|
||||
|
||||
Arguments:
|
||||
pAd Pointer to our adapter
|
||||
|
||||
Return Value:
|
||||
|
||||
========================================================================
|
||||
*/
|
||||
VOID BbpRadarDetectionStart(
|
||||
IN PRTMP_ADAPTER pAd)
|
||||
{
|
||||
UINT8 RadarPeriod;
|
||||
|
||||
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 MERGE_ARCH_TEAM
|
||||
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 // MERGE_ARCH_TEAM //
|
||||
|
||||
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 MERGE_ARCH_TEAM
|
||||
|
||||
|
||||
#else // Original RT28xx source code.
|
||||
RTMP_IO_WRITE8(pAd, 0x7020, 0x1d);
|
||||
RTMP_IO_WRITE8(pAd, 0x7021, 0x40);
|
||||
#endif // MERGE_ARCH_TEAM //
|
||||
|
||||
RadarDetectionStart(pAd, 0, RadarPeriod);
|
||||
return;
|
||||
}
|
||||
|
||||
/*
|
||||
========================================================================
|
||||
|
||||
Routine Description:
|
||||
Bbp Radar detection routine
|
||||
|
||||
Arguments:
|
||||
pAd Pointer to our adapter
|
||||
|
||||
Return Value:
|
||||
|
||||
========================================================================
|
||||
*/
|
||||
VOID BbpRadarDetectionStop(
|
||||
IN PRTMP_ADAPTER pAd)
|
||||
{
|
||||
RTMP_IO_WRITE8(pAd, 0x7020, 0x1d);
|
||||
RTMP_IO_WRITE8(pAd, 0x7021, 0x60);
|
||||
|
||||
RadarDetectionStop(pAd);
|
||||
return;
|
||||
}
|
||||
|
||||
/*
|
||||
========================================================================
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
/*
|
||||
========================================================================
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
/*
|
||||
========================================================================
|
||||
|
||||
@ -260,191 +70,3 @@ BOOLEAN RadarChannelCheck(
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
ULONG JapRadarType(
|
||||
IN PRTMP_ADAPTER pAd)
|
||||
{
|
||||
ULONG i;
|
||||
const UCHAR Channel[15]={52, 56, 60, 64, 100, 104, 108, 112, 116, 120, 124, 128, 132, 136, 140};
|
||||
|
||||
if (pAd->CommonCfg.RadarDetect.RDDurRegion != JAP)
|
||||
{
|
||||
return pAd->CommonCfg.RadarDetect.RDDurRegion;
|
||||
}
|
||||
|
||||
for (i=0; i<15; i++)
|
||||
{
|
||||
if (pAd->CommonCfg.Channel == Channel[i])
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (i < 4)
|
||||
return JAP_W53;
|
||||
else if (i < 15)
|
||||
return JAP_W56;
|
||||
else
|
||||
return JAP; // W52
|
||||
|
||||
}
|
||||
|
||||
ULONG RTMPBbpReadRadarDuration(
|
||||
IN PRTMP_ADAPTER pAd)
|
||||
{
|
||||
UINT8 byteValue = 0;
|
||||
ULONG result;
|
||||
|
||||
BBP_IO_READ8_BY_REG_ID(pAd, BBP_R115, &byteValue);
|
||||
|
||||
result = 0;
|
||||
switch (byteValue)
|
||||
{
|
||||
case 1: // radar signal detected by pulse mode.
|
||||
case 2: // radar signal detected by width mode.
|
||||
result = RTMPReadRadarDuration(pAd);
|
||||
break;
|
||||
|
||||
case 0: // No radar signal.
|
||||
default:
|
||||
|
||||
result = 0;
|
||||
break;
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
ULONG RTMPReadRadarDuration(
|
||||
IN PRTMP_ADAPTER pAd)
|
||||
{
|
||||
ULONG result = 0;
|
||||
|
||||
return result;
|
||||
|
||||
}
|
||||
|
||||
VOID RTMPCleanRadarDuration(
|
||||
IN PRTMP_ADAPTER pAd)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
/*
|
||||
========================================================================
|
||||
Routine Description:
|
||||
Radar wave detection. The API should be invoke each second.
|
||||
|
||||
Arguments:
|
||||
pAd - Adapter pointer
|
||||
|
||||
Return Value:
|
||||
None
|
||||
|
||||
========================================================================
|
||||
*/
|
||||
VOID ApRadarDetectPeriodic(
|
||||
IN PRTMP_ADAPTER pAd)
|
||||
{
|
||||
INT i;
|
||||
|
||||
pAd->CommonCfg.RadarDetect.InServiceMonitorCount++;
|
||||
|
||||
for (i=0; i<pAd->ChannelListNum; i++)
|
||||
{
|
||||
if (pAd->ChannelList[i].RemainingTimeForUse > 0)
|
||||
{
|
||||
pAd->ChannelList[i].RemainingTimeForUse --;
|
||||
if ((pAd->Mlme.PeriodicRound%5) == 0)
|
||||
{
|
||||
DBGPRINT(RT_DEBUG_TRACE, ("RadarDetectPeriodic - ch=%d, RemainingTimeForUse=%d\n", pAd->ChannelList[i].Channel, pAd->ChannelList[i].RemainingTimeForUse));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//radar detect
|
||||
if ((pAd->CommonCfg.Channel > 14)
|
||||
&& (pAd->CommonCfg.bIEEE80211H == 1)
|
||||
&& RadarChannelCheck(pAd, pAd->CommonCfg.Channel))
|
||||
{
|
||||
RadarDetectPeriodic(pAd);
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
// Periodic Radar detection, switch channel will occur in RTMPHandleTBTTInterrupt()
|
||||
// Before switch channel, driver needs doing channel switch announcement.
|
||||
VOID RadarDetectPeriodic(
|
||||
IN PRTMP_ADAPTER pAd)
|
||||
{
|
||||
// need to check channel availability, after switch channel
|
||||
if (pAd->CommonCfg.RadarDetect.RDMode != RD_SILENCE_MODE)
|
||||
return;
|
||||
|
||||
// channel availability check time is 60sec, use 65 for assurance
|
||||
if (pAd->CommonCfg.RadarDetect.RDCount++ > pAd->CommonCfg.RadarDetect.ChMovingTime)
|
||||
{
|
||||
DBGPRINT(RT_DEBUG_TRACE, ("Not found radar signal, start send beacon and radar detection in service monitor\n\n"));
|
||||
BbpRadarDetectionStop(pAd);
|
||||
AsicEnableBssSync(pAd);
|
||||
pAd->CommonCfg.RadarDetect.RDMode = RD_NORMAL_MODE;
|
||||
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
==========================================================================
|
||||
Description:
|
||||
change channel moving time for DFS testing.
|
||||
|
||||
Arguments:
|
||||
pAdapter Pointer to our adapter
|
||||
wrq Pointer to the ioctl argument
|
||||
|
||||
Return Value:
|
||||
None
|
||||
|
||||
Note:
|
||||
Usage:
|
||||
1.) iwpriv ra0 set ChMovTime=[value]
|
||||
==========================================================================
|
||||
*/
|
||||
INT Set_ChMovingTime_Proc(
|
||||
IN PRTMP_ADAPTER pAd,
|
||||
IN PSTRING arg)
|
||||
{
|
||||
UINT8 Value;
|
||||
|
||||
Value = (UINT8) simple_strtol(arg, 0, 10);
|
||||
|
||||
pAd->CommonCfg.RadarDetect.ChMovingTime = Value;
|
||||
|
||||
DBGPRINT(RT_DEBUG_TRACE, ("%s:: %d\n", __func__,
|
||||
pAd->CommonCfg.RadarDetect.ChMovingTime));
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
INT Set_LongPulseRadarTh_Proc(
|
||||
IN PRTMP_ADAPTER pAd,
|
||||
IN PSTRING arg)
|
||||
{
|
||||
UINT8 Value;
|
||||
|
||||
Value = (UINT8) simple_strtol(arg, 0, 10) > 10 ? 10 : simple_strtol(arg, 0, 10);
|
||||
|
||||
pAd->CommonCfg.RadarDetect.LongPulseRadarTh = Value;
|
||||
|
||||
DBGPRINT(RT_DEBUG_TRACE, ("%s:: %d\n", __func__,
|
||||
pAd->CommonCfg.RadarDetect.LongPulseRadarTh));
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
|
@ -36,81 +36,6 @@
|
||||
Fonchi 03-12-2007 created
|
||||
*/
|
||||
|
||||
#define RADAR_PULSE 1
|
||||
#define RADAR_WIDTH 2
|
||||
|
||||
#define WIDTH_RD_IDLE 0
|
||||
#define WIDTH_RD_CHECK 1
|
||||
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
*
|
||||
* DFS Radar related definitions.
|
||||
*
|
||||
************************************************************************/
|
||||
//#define CARRIER_DETECT_TASK_NUM 6
|
||||
//#define RADAR_DETECT_TASK_NUM 7
|
||||
|
||||
// McuRadarState && McuCarrierState for 2880-SW-MCU
|
||||
#define FREE_FOR_TX 0
|
||||
#define WAIT_CTS_BEING_SENT 1
|
||||
#define DO_DETECTION 2
|
||||
|
||||
// McuRadarEvent
|
||||
#define RADAR_EVENT_CTS_SENT 0x01 // Host signal MCU that CTS has been sent
|
||||
#define RADAR_EVENT_CTS_CARRIER_SENT 0x02 // Host signal MCU that CTS has been sent (Carrier)
|
||||
#define RADAR_EVENT_RADAR_DETECTING 0x04 // Radar detection is on going, carrier detection hold back
|
||||
#define RADAR_EVENT_CARRIER_DETECTING 0x08 // Carrier detection is on going, radar detection hold back
|
||||
#define RADAR_EVENT_WIDTH_RADAR 0x10 // BBP == 2 radar detected
|
||||
#define RADAR_EVENT_CTS_KICKED 0x20 // Radar detection need to sent double CTS, first CTS sent
|
||||
|
||||
// McuRadarCmd
|
||||
#define DETECTION_STOP 0
|
||||
#define RADAR_DETECTION 1
|
||||
#define CARRIER_DETECTION 2
|
||||
|
||||
VOID BbpRadarDetectionStart(
|
||||
IN PRTMP_ADAPTER pAd);
|
||||
|
||||
VOID BbpRadarDetectionStop(
|
||||
IN PRTMP_ADAPTER pAd);
|
||||
|
||||
VOID RadarDetectionStart(
|
||||
IN PRTMP_ADAPTER pAd,
|
||||
IN BOOLEAN CTS_Protect,
|
||||
IN UINT8 CTSPeriod);
|
||||
|
||||
VOID RadarDetectionStop(
|
||||
IN PRTMP_ADAPTER pAd);
|
||||
|
||||
VOID RadarDetectPeriodic(
|
||||
IN PRTMP_ADAPTER pAd);
|
||||
|
||||
|
||||
BOOLEAN RadarChannelCheck(
|
||||
IN PRTMP_ADAPTER pAd,
|
||||
IN UCHAR Ch);
|
||||
|
||||
ULONG JapRadarType(
|
||||
IN PRTMP_ADAPTER pAd);
|
||||
|
||||
ULONG RTMPBbpReadRadarDuration(
|
||||
IN PRTMP_ADAPTER pAd);
|
||||
|
||||
ULONG RTMPReadRadarDuration(
|
||||
IN PRTMP_ADAPTER pAd);
|
||||
|
||||
VOID RTMPCleanRadarDuration(
|
||||
IN PRTMP_ADAPTER pAd);
|
||||
|
||||
|
||||
INT Set_ChMovingTime_Proc(
|
||||
IN PRTMP_ADAPTER pAd,
|
||||
IN PSTRING arg);
|
||||
|
||||
INT Set_LongPulseRadarTh_Proc(
|
||||
IN PRTMP_ADAPTER pAd,
|
||||
IN PSTRING arg);
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user