Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 331e0c16 authored by Bartlomiej Zolnierkiewicz's avatar Bartlomiej Zolnierkiewicz Committed by Greg Kroah-Hartman
Browse files

Staging: rtxxxx: unify AsicRxAntEvalTimeout()



Unify RT30xx and !RT30xx code in AsicRxAntEvalTimeout().

There should be no functional changes caused by this patch.

Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 5b4df5c6
Loading
Loading
Loading
Loading
+7 −72
Original line number Diff line number Diff line
@@ -8343,85 +8343,19 @@ VOID AsicRxAntEvalTimeout(
	UCHAR			BBPR3 = 0;
	CHAR			larger = -127, rssi0, rssi1, rssi2;

#ifndef RT30xx
	{
		if (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;

		if (pAd->StaCfg.Psm == PWR_SAVE)
			return;


		// if the traffic is low, use average rssi as the criteria
		if (pAd->Mlme.bLowThroughput == TRUE)
		{
			rssi0 = pAd->StaCfg.RssiSample.LastRssi0;
			rssi1 = pAd->StaCfg.RssiSample.LastRssi1;
			rssi2 = pAd->StaCfg.RssiSample.LastRssi2;
		}
		else
		{
			rssi0 = pAd->StaCfg.RssiSample.AvgRssi0;
			rssi1 = pAd->StaCfg.RssiSample.AvgRssi1;
			rssi2 = pAd->StaCfg.RssiSample.AvgRssi2;
		}

		if(pAd->Antenna.field.RxPath == 3)
		{
			larger = max(rssi0, rssi1);

			if (larger > (rssi2 + 20))
				pAd->Mlme.RealRxPath = 2;
			else
				pAd->Mlme.RealRxPath = 3;
		}
		else if(pAd->Antenna.field.RxPath == 2)
		{
			if (rssi0 > (rssi1 + 20))
				pAd->Mlme.RealRxPath = 1;
			else
				pAd->Mlme.RealRxPath = 2;
		}

		RTMP_BBP_IO_READ8_BY_REG_ID(pAd, BBP_R3, &BBPR3);
		BBPR3 &= (~0x18);
		if(pAd->Mlme.RealRxPath == 3)
		{
			BBPR3 |= (0x10);
		}
		else if(pAd->Mlme.RealRxPath == 2)
		{
			BBPR3 |= (0x8);
		}
		else if(pAd->Mlme.RealRxPath == 1)
		{
			BBPR3 |= (0x0);
		}
		RTMP_BBP_IO_WRITE8_BY_REG_ID(pAd, BBP_R3, BBPR3);
#ifdef RT2860
		pAd->StaCfg.BBPR3 = BBPR3;
#endif
	}
#endif /* RT30xx */
#ifdef RT30xx
	if (RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_RESET_IN_PROGRESS	|
							fRTMP_ADAPTER_HALT_IN_PROGRESS	|
							fRTMP_ADAPTER_RADIO_OFF			|
							fRTMP_ADAPTER_NIC_NOT_EXIST) ||
							OPSTATUS_TEST_FLAG(pAd, fOP_STATUS_DOZE)
							fRTMP_ADAPTER_NIC_NOT_EXIST)
#ifdef RT30xx
							|| OPSTATUS_TEST_FLAG(pAd, fOP_STATUS_DOZE)
							|| (pAd->EepromAccess)
#endif // RT30xx //
							)
		return;

	{
		//if (pAd->StaCfg.Psm == PWR_SAVE)
		//	return;

#ifdef RT30xx
		if (pAd->NicConfig2.field.AntDiversity)
		{
			if ((pAd->RxAnt.RcvPktNumWhenEvaluate != 0) && (pAd->RxAnt.Pair1AvgRssi[pAd->RxAnt.Pair1SecondaryRxAnt] >= pAd->RxAnt.Pair1AvgRssi[pAd->RxAnt.Pair1PrimaryRxAnt]))
@@ -8453,6 +8387,7 @@ VOID AsicRxAntEvalTimeout(
					pAd->RxAnt.Pair1PrimaryRxAnt, (pAd->RxAnt.Pair1AvgRssi[0] >> 3), (pAd->RxAnt.Pair1AvgRssi[1] >> 3), pAd->RxAnt.RcvPktNumWhenEvaluate));
		}
		else
#endif
		{
			if (pAd->StaCfg.Psm == PWR_SAVE)
				return;
@@ -8503,13 +8438,13 @@ VOID AsicRxAntEvalTimeout(
				BBPR3 |= (0x0);
			}
			RTMP_BBP_IO_WRITE8_BY_REG_ID(pAd, BBP_R3, BBPR3);
#ifdef RT2860
			pAd->StaCfg.BBPR3 = BBPR3;
#endif
		}
	}
#endif /* RT30xx */
}



VOID APSDPeriodicExec(
	IN PVOID SystemSpecific1,
	IN PVOID FunctionContext,