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

Commit 717209ec authored by Quytelda Kahja's avatar Quytelda Kahja Committed by Greg Kroah-Hartman
Browse files

staging: rtl8723bs: Fix camel-case names in phy_get_tx_pwr_lmt().



Change camel-case names to snake-case names; to avoid variable name
conflicts, rename table index variables to idx_*.

Signed-off-by: default avatarQuytelda Kahja <quytelda@tamalin.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent cc2231a3
Loading
Loading
Loading
Loading
+105 −95
Original line number Diff line number Diff line
@@ -1612,211 +1612,221 @@ static s8 phy_GetChannelIndexOfTxPowerLimit(u8 Band, u8 Channel)
	return channelIndex;
}

s8 phy_get_tx_pwr_lmt(struct adapter *Adapter, u32 RegPwrTblSel,
		      enum BAND_TYPE Band, enum CHANNEL_WIDTH Bandwidth,
		      u8 RfPath, u8 DataRate, u8 Channel)
s8 phy_get_tx_pwr_lmt(struct adapter *adapter, u32 reg_pwr_tbl_sel,
		      enum BAND_TYPE band_type, enum CHANNEL_WIDTH bandwidth,
		      u8 rf_path, u8 data_rate, u8 channel)
{
	s16 band        = -1;
	s16 regulation  = -1;
	s16 bandwidth   = -1;
	s16 rateSection = -1;
	s16 channel     = -1;
	s8 powerLimit = MAX_POWER_INDEX;
	struct hal_com_data *pHalData = GET_HAL_DATA(Adapter);

	if (((Adapter->registrypriv.RegEnableTxPowerLimit == 2) &&
	     (pHalData->EEPROMRegulatory != 1)) ||
	    (Adapter->registrypriv.RegEnableTxPowerLimit == 0))
	s16 idx_band       = -1;
	s16 idx_regulation = -1;
	s16 idx_bandwidth  = -1;
	s16 idx_rate_sctn  = -1;
	s16 idx_channel    = -1;
	s8 pwr_lmt = MAX_POWER_INDEX;
	struct hal_com_data *hal_data = GET_HAL_DATA(adapter);

	if (((adapter->registrypriv.RegEnableTxPowerLimit == 2) &&
	     (hal_data->EEPROMRegulatory != 1)) ||
	    (adapter->registrypriv.RegEnableTxPowerLimit == 0))
		return MAX_POWER_INDEX;

	switch (Adapter->registrypriv.RegPwrTblSel) {
	switch (adapter->registrypriv.RegPwrTblSel) {
	case 1:
		regulation = TXPWR_LMT_ETSI;
		idx_regulation = TXPWR_LMT_ETSI;
		break;
	case 2:
		regulation = TXPWR_LMT_MKK;
		idx_regulation = TXPWR_LMT_MKK;
		break;
	case 3:
		regulation = TXPWR_LMT_FCC;
		idx_regulation = TXPWR_LMT_FCC;
		break;
	case 4:
		regulation = TXPWR_LMT_WW;
		idx_regulation = TXPWR_LMT_WW;
		break;
	default:
		regulation = (Band == BAND_ON_2_4G) ?
			pHalData->Regulation2_4G :
			pHalData->Regulation5G;
		idx_regulation = (band_type == BAND_ON_2_4G) ?
			hal_data->Regulation2_4G :
			hal_data->Regulation5G;
		break;
	}

	/* DBG_871X("pMgntInfo->RegPwrTblSel %d, final regulation %d\n", */
	/*         Adapter->registrypriv.RegPwrTblSel, regulation); */

	if (Band == BAND_ON_2_4G)
		band = 0;
	else if (Band == BAND_ON_5G)
		band = 1;

	if (Bandwidth == CHANNEL_WIDTH_20)
		bandwidth = 0;
	else if (Bandwidth == CHANNEL_WIDTH_40)
		bandwidth = 1;
	else if (Bandwidth == CHANNEL_WIDTH_80)
		bandwidth = 2;
	else if (Bandwidth == CHANNEL_WIDTH_160)
		bandwidth = 3;

	switch (DataRate) {
	/*         adapter->registrypriv.RegPwrTblSel, idx_regulation); */

	if (band_type == BAND_ON_2_4G)
		idx_band = 0;
	else if (band_type == BAND_ON_5G)
		idx_band = 1;

	if (bandwidth == CHANNEL_WIDTH_20)
		idx_bandwidth = 0;
	else if (bandwidth == CHANNEL_WIDTH_40)
		idx_bandwidth = 1;
	else if (bandwidth == CHANNEL_WIDTH_80)
		idx_bandwidth = 2;
	else if (bandwidth == CHANNEL_WIDTH_160)
		idx_bandwidth = 3;

	switch (data_rate) {
	case MGN_1M: case MGN_2M: case MGN_5_5M: case MGN_11M:
		rateSection = 0;
		idx_rate_sctn = 0;
		break;

	case MGN_6M: case MGN_9M: case MGN_12M: case MGN_18M:
	case MGN_24M: case MGN_36M: case MGN_48M: case MGN_54M:
		rateSection = 1;
		idx_rate_sctn = 1;
		break;

	case MGN_MCS0: case MGN_MCS1: case MGN_MCS2: case MGN_MCS3:
	case MGN_MCS4: case MGN_MCS5: case MGN_MCS6: case MGN_MCS7:
		rateSection = 2;
		idx_rate_sctn = 2;
		break;

	case MGN_MCS8: case MGN_MCS9: case MGN_MCS10: case MGN_MCS11:
	case MGN_MCS12: case MGN_MCS13: case MGN_MCS14: case MGN_MCS15:
		rateSection = 3;
		idx_rate_sctn = 3;
		break;

	case MGN_MCS16: case MGN_MCS17: case MGN_MCS18: case MGN_MCS19:
	case MGN_MCS20: case MGN_MCS21: case MGN_MCS22: case MGN_MCS23:
		rateSection = 4;
		idx_rate_sctn = 4;
		break;

	case MGN_MCS24: case MGN_MCS25: case MGN_MCS26: case MGN_MCS27:
	case MGN_MCS28: case MGN_MCS29: case MGN_MCS30: case MGN_MCS31:
		rateSection = 5;
		idx_rate_sctn = 5;
		break;

	case MGN_VHT1SS_MCS0: case MGN_VHT1SS_MCS1: case MGN_VHT1SS_MCS2:
	case MGN_VHT1SS_MCS3: case MGN_VHT1SS_MCS4: case MGN_VHT1SS_MCS5:
	case MGN_VHT1SS_MCS6: case MGN_VHT1SS_MCS7: case MGN_VHT1SS_MCS8:
	case MGN_VHT1SS_MCS9:
		rateSection = 6;
		idx_rate_sctn = 6;
		break;

	case MGN_VHT2SS_MCS0: case MGN_VHT2SS_MCS1: case MGN_VHT2SS_MCS2:
	case MGN_VHT2SS_MCS3: case MGN_VHT2SS_MCS4: case MGN_VHT2SS_MCS5:
	case MGN_VHT2SS_MCS6: case MGN_VHT2SS_MCS7: case MGN_VHT2SS_MCS8:
	case MGN_VHT2SS_MCS9:
		rateSection = 7;
		idx_rate_sctn = 7;
		break;

	case MGN_VHT3SS_MCS0: case MGN_VHT3SS_MCS1: case MGN_VHT3SS_MCS2:
	case MGN_VHT3SS_MCS3: case MGN_VHT3SS_MCS4: case MGN_VHT3SS_MCS5:
	case MGN_VHT3SS_MCS6: case MGN_VHT3SS_MCS7: case MGN_VHT3SS_MCS8:
	case MGN_VHT3SS_MCS9:
		rateSection = 8;
		idx_rate_sctn = 8;
		break;

	case MGN_VHT4SS_MCS0: case MGN_VHT4SS_MCS1: case MGN_VHT4SS_MCS2:
	case MGN_VHT4SS_MCS3: case MGN_VHT4SS_MCS4: case MGN_VHT4SS_MCS5:
	case MGN_VHT4SS_MCS6: case MGN_VHT4SS_MCS7: case MGN_VHT4SS_MCS8:
	case MGN_VHT4SS_MCS9:
		rateSection = 9;
		idx_rate_sctn = 9;
		break;

	default:
		DBG_871X("Wrong rate 0x%x\n", DataRate);
		DBG_871X("Wrong rate 0x%x\n", data_rate);
		break;
	}

	if (Band == BAND_ON_5G && rateSection == 0)
	if (band_type == BAND_ON_5G && idx_rate_sctn == 0)
                DBG_871X("Wrong rate 0x%x: No CCK in 5G Band\n", DataRate);

	/*  workaround for wrong index combination to obtain tx power limit, */
	/*  OFDM only exists in BW 20M */
	if (rateSection == 1)
		bandwidth = 0;
	if (idx_rate_sctn == 1)
		idx_bandwidth = 0;

	/*  workaround for wrong index combination to obtain tx power limit, */
	/*  CCK table will only be given in BW 20M */
	if (rateSection == 0)
		bandwidth = 0;
	if (idx_rate_sctn == 0)
		idx_bandwidth = 0;

	/*  workaround for wrong indxe combination to obtain tx power limit, */
	/*  HT on 80M will reference to HT on 40M */
	if ((rateSection == 2 || rateSection == 3) &&
	    Band == BAND_ON_5G && bandwidth == 2) {
		bandwidth = 1;
	if ((idx_rate_sctn == 2 || idx_rate_sctn == 3) &&
	    band_type == BAND_ON_5G && idx_bandwidth == 2) {
		idx_bandwidth = 1;
	}

	if (Band == BAND_ON_2_4G)
	if (band_type == BAND_ON_2_4G)
		channel = phy_GetChannelIndexOfTxPowerLimit(BAND_ON_2_4G,
							    Channel);
	else if (Band == BAND_ON_5G)
							    channel);
	else if (band_type == BAND_ON_5G)
		channel = phy_GetChannelIndexOfTxPowerLimit(BAND_ON_5G,
							    Channel);
	else if (Band == BAND_ON_BOTH) {
							    channel);
	else if (band_type == BAND_ON_BOTH) {
		/*  BAND_ON_BOTH don't care temporarily */
	}

	if (band == -1 || regulation == -1 || bandwidth == -1 ||
	    rateSection == -1 || channel == -1) {
	if (idx_band == -1 || idx_regulation == -1 || idx_bandwidth == -1 ||
	    idx_rate_sctn == -1 || idx_channel == -1) {
		/* DBG_871X("Wrong index value to access power limit table [band %d][regulation %d][bandwidth %d][rf_path %d][rate_section %d][chnlGroup %d]\n", */
		/*         band, regulation, bandwidth, RfPath, */
		/*         rateSection, channelGroup); */
		/*         idx_band, idx_regulation, idx_bandwidth, rf_path, */
		/*         idx_rate_sctn, channel); */

		return MAX_POWER_INDEX;
	}

	if (Band == BAND_ON_2_4G) {
	if (band_type == BAND_ON_2_4G) {
		s8 limits[10] = {0}; u8 i = 0;
		for (i = 0; i < MAX_REGULATION_NUM; i++)
			limits[i] = pHalData->TxPwrLimit_2_4G[i][bandwidth]
							     [rateSection]
							     [channel][RfPath];
			limits[i] = hal_data->TxPwrLimit_2_4G[i]
							     [idx_bandwidth]
							     [idx_rate_sctn]
							     [idx_channel]
							     [rf_path];

		powerLimit = (regulation == TXPWR_LMT_WW) ?
		pwr_lmt = (idx_regulation == TXPWR_LMT_WW) ?
			phy_GetWorldWideLimit(limits) :
			pHalData->TxPwrLimit_2_4G[regulation][bandwidth]
						 [rateSection][channel][RfPath];
			hal_data->TxPwrLimit_2_4G[idx_regulation]
						 [idx_bandwidth]
						 [idx_rate_sctn]
						 [idx_channel]
						 [rf_path];

	} else if (Band == BAND_ON_5G) {
	} else if (band_type == BAND_ON_5G) {
		s8 limits[10] = {0}; u8 i = 0;
		for (i = 0; i < MAX_REGULATION_NUM; ++i)
			limits[i] = pHalData->TxPwrLimit_5G[i][bandwidth]
							   [rateSection]
							   [channel][RfPath];
			limits[i] = hal_data->TxPwrLimit_5G[i]
							   [idx_bandwidth]
							   [idx_rate_sctn]
							   [idx_channel]
							   [rf_path];

		powerLimit = (regulation == TXPWR_LMT_WW) ?
		pwr_lmt = (idx_regulation == TXPWR_LMT_WW) ?
			phy_GetWorldWideLimit(limits) :
			pHalData->TxPwrLimit_5G[regulation][bandwidth]
					       [rateSection][channel][RfPath];
			hal_data->TxPwrLimit_5G[idx_regulation]
					       [idx_bandwidth]
					       [idx_rate_sctn]
					       [idx_channel]
					       [rf_path];
	} else
		DBG_871X("No power limit table of the specified band\n");

	/*  combine 5G VHT & HT rate */
	/*  5G 20M and 40M HT and VHT can cross reference */
	/*
	if (Band == BAND_ON_5G && powerLimit == MAX_POWER_INDEX) {
		if (bandwidth == 0 || bandwidth == 1) {
	if (band_type == BAND_ON_5G && pwr_lmt == MAX_POWER_INDEX) {
		if (idx_bandwidth == 0 || idx_bandwidth == 1) {
			RT_TRACE(COMP_INIT, DBG_LOUD, ("No power limit table of the specified band %d, bandwidth %d, ratesection %d, rf path %d\n",
				 band, bandwidth,
				 rateSection, RfPath));
			if (rateSection == 2)
				powerLimit = pHalData->TxPwrLimit_5G[regulation][bandwidth][4][channelGroup][RfPath];
			else if (rateSection == 4)
				powerLimit = pHalData->TxPwrLimit_5G[regulation][bandwidth][2][channelGroup][RfPath];
			else if (rateSection == 3)
				powerLimit = pHalData->TxPwrLimit_5G[regulation][bandwidth][5][channelGroup][RfPath];
			else if (rateSection == 5)
				powerLimit = pHalData->TxPwrLimit_5G[regulation][bandwidth][3][channelGroup][RfPath];
				 idx_band, idx_bandwidth,
				 idx_rate_sctn, rf_path));
			if (idx_rate_sctn == 2)
				pwr_lmt = hal_data->TxPwrLimit_5G[idx_regulation][idx_bandwidth][4][idx_channel][rf_path];
			else if (idx_rate_sctn == 4)
				pwr_lmt = hal_data->TxPwrLimit_5G[idx_regulation][idx_bandwidth][2][idx_channel][rf_path];
			else if (idx_rate_sctn == 3)
				pwr_lmt = hal_data->TxPwrLimit_5G[idx_regulation][idx_bandwidth][5][idx_channel][rf_path];
			else if (idx_rate_sctn == 5)
				pwr_lmt = hal_data->TxPwrLimit_5G[idx_regulation][idx_bandwidth][3][idx_channel][rf_path];
		}
	}
	*/

	/* DBG_871X("TxPwrLmt[Regulation %d][Band %d][BW %d][RFPath %d][Rate 0x%x][Chnl %d] = %d\n", */
	/*		regulation, pHalData->CurrentBandType, Bandwidth, RfPath, DataRate, Channel, powerLimit); */
	return powerLimit;
	/*		idx_regulation, hal_data->CurrentBandType, bandwidth, rf_path, data_rate, channel, pwr_lmt); */
	return pwr_lmt;
}

static void phy_CrossReferenceHTAndVHTTxPowerLimit(struct adapter *padapter)