Commit 7ea47240 authored by Larry Finger's avatar Larry Finger Committed by John W. Linville
Browse files

rtlwifi: Modify some rtl8192ce routines for merging rtl8192cu



Modify some rtl8192ce routines for merging with rtl8192cu. In addition,
remove some usage of Hungarian notation.

Signed-off-by: default avatarLarry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 0e80b9d1
Loading
Loading
Loading
Loading
+30 −30
Original line number Diff line number Diff line
@@ -399,21 +399,21 @@ static void _rtl_query_protection_mode(struct ieee80211_hw *hw,
	u8 rate_flag = info->control.rates[0].flags;

	/* Common Settings */
	tcb_desc->b_rts_stbc = false;
	tcb_desc->b_cts_enable = false;
	tcb_desc->rts_stbc = false;
	tcb_desc->cts_enable = false;
	tcb_desc->rts_sc = 0;
	tcb_desc->b_rts_bw = false;
	tcb_desc->b_rts_use_shortpreamble = false;
	tcb_desc->b_rts_use_shortgi = false;
	tcb_desc->rts_bw = false;
	tcb_desc->rts_use_shortpreamble = false;
	tcb_desc->rts_use_shortgi = false;

	if (rate_flag & IEEE80211_TX_RC_USE_CTS_PROTECT) {
		/* Use CTS-to-SELF in protection mode. */
		tcb_desc->b_rts_enable = true;
		tcb_desc->b_cts_enable = true;
		tcb_desc->rts_enable = true;
		tcb_desc->cts_enable = true;
		tcb_desc->rts_rate = rtlpriv->cfg->maps[RTL_RC_OFDM_RATE24M];
	} else if (rate_flag & IEEE80211_TX_RC_USE_RTS_CTS) {
		/* Use RTS-CTS in protection mode. */
		tcb_desc->b_rts_enable = true;
		tcb_desc->rts_enable = true;
		tcb_desc->rts_rate = rtlpriv->cfg->maps[RTL_RC_OFDM_RATE24M];
	}

@@ -429,7 +429,7 @@ static void _rtl_txrate_selectmode(struct ieee80211_hw *hw,
		if (mac->opmode == NL80211_IFTYPE_STATION)
			tcb_desc->ratr_index = 0;
		else if (mac->opmode == NL80211_IFTYPE_ADHOC) {
			if (tcb_desc->b_multicast || tcb_desc->b_broadcast) {
			if (tcb_desc->multicast || tcb_desc->broadcast) {
				tcb_desc->hw_rate =
				    rtlpriv->cfg->maps[RTL_RC_CCK_RATE2M];
				tcb_desc->use_driver_rate = 1;
@@ -439,7 +439,7 @@ static void _rtl_txrate_selectmode(struct ieee80211_hw *hw,
		}
	}

	if (rtlpriv->dm.b_useramask) {
	if (rtlpriv->dm.useramask) {
		/* TODO we will differentiate adhoc and station futrue  */
		tcb_desc->mac_id = 0;

@@ -461,19 +461,19 @@ static void _rtl_query_bandwidth_mode(struct ieee80211_hw *hw,
	struct rtl_priv *rtlpriv = rtl_priv(hw);
	struct rtl_mac *mac = rtl_mac(rtl_priv(hw));

	tcb_desc->b_packet_bw = false;
	tcb_desc->packet_bw = false;

	if (!mac->bw_40 || !mac->ht_enable)
		return;

	if (tcb_desc->b_multicast || tcb_desc->b_broadcast)
	if (tcb_desc->multicast || tcb_desc->broadcast)
		return;

	/*use legency rate, shall use 20MHz */
	if (tcb_desc->hw_rate <= rtlpriv->cfg->maps[RTL_RC_OFDM_RATE54M])
		return;

	tcb_desc->b_packet_bw = true;
	tcb_desc->packet_bw = true;
}

static u8 _rtl_get_highest_n_rate(struct ieee80211_hw *hw)
@@ -545,9 +545,9 @@ void rtl_get_tcb_desc(struct ieee80211_hw *hw,
		}

		if (is_multicast_ether_addr(ieee80211_get_DA(hdr)))
			tcb_desc->b_multicast = 1;
			tcb_desc->multicast = 1;
		else if (is_broadcast_ether_addr(ieee80211_get_DA(hdr)))
			tcb_desc->b_broadcast = 1;
			tcb_desc->broadcast = 1;

		_rtl_txrate_selectmode(hw, tcb_desc);
		_rtl_query_bandwidth_mode(hw, tcb_desc);
@@ -777,10 +777,10 @@ void rtl_watchdog_wq_callback(void *data)
	struct rtl_hal *rtlhal = rtl_hal(rtl_priv(hw));
	struct rtl_mac *mac = rtl_mac(rtl_priv(hw));

	bool b_busytraffic = false;
	bool b_higher_busytraffic = false;
	bool b_higher_busyrxtraffic = false;
	bool b_higher_busytxtraffic = false;
	bool busytraffic = false;
	bool higher_busytraffic = false;
	bool higher_busyrxtraffic = false;
	bool higher_busytxtraffic = false;

	u8 idx = 0;
	u32 rx_cnt_inp4eriod = 0;
@@ -788,7 +788,7 @@ void rtl_watchdog_wq_callback(void *data)
	u32 aver_rx_cnt_inperiod = 0;
	u32 aver_tx_cnt_inperiod = 0;

	bool benter_ps = false;
	bool enter_ps = false;

	if (is_hal_stop(rtlhal))
		return;
@@ -832,29 +832,29 @@ void rtl_watchdog_wq_callback(void *data)

		/* (2) check traffic busy */
		if (aver_rx_cnt_inperiod > 100 || aver_tx_cnt_inperiod > 100)
			b_busytraffic = true;
			busytraffic = true;

		/* Higher Tx/Rx data. */
		if (aver_rx_cnt_inperiod > 4000 ||
		    aver_tx_cnt_inperiod > 4000) {
			b_higher_busytraffic = true;
			higher_busytraffic = true;

			/* Extremely high Rx data. */
			if (aver_rx_cnt_inperiod > 5000)
				b_higher_busyrxtraffic = true;
				higher_busyrxtraffic = true;
			else
				b_higher_busytxtraffic = false;
				higher_busytxtraffic = false;
		}

		if (((rtlpriv->link_info.num_rx_inperiod +
		      rtlpriv->link_info.num_tx_inperiod) > 8) ||
		    (rtlpriv->link_info.num_rx_inperiod > 2))
			benter_ps = false;
			enter_ps = false;
		else
			benter_ps = true;
			enter_ps = true;

		/* LeisurePS only work in infra mode. */
		if (benter_ps)
		if (enter_ps)
			rtl_lps_enter(hw);
		else
			rtl_lps_leave(hw);
@@ -863,9 +863,9 @@ void rtl_watchdog_wq_callback(void *data)
	rtlpriv->link_info.num_rx_inperiod = 0;
	rtlpriv->link_info.num_tx_inperiod = 0;

	rtlpriv->link_info.b_busytraffic = b_busytraffic;
	rtlpriv->link_info.b_higher_busytraffic = b_higher_busytraffic;
	rtlpriv->link_info.b_higher_busyrxtraffic = b_higher_busyrxtraffic;
	rtlpriv->link_info.busytraffic = busytraffic;
	rtlpriv->link_info.higher_busytraffic = higher_busytraffic;
	rtlpriv->link_info.higher_busyrxtraffic = higher_busyrxtraffic;

}

+4 −4
Original line number Diff line number Diff line
@@ -666,7 +666,7 @@ static void rtl_op_bss_info_changed(struct ieee80211_hw *hw,
			rtlpriv->cfg->ops->set_hw_reg(hw, HW_VAR_BASIC_RATE,
					(u8 *) (&basic_rates));

			if (rtlpriv->dm.b_useramask)
			if (rtlpriv->dm.useramask)
				rtlpriv->cfg->ops->update_rate_mask(hw, 0);
			else
				rtlpriv->cfg->ops->update_rate_table(hw);
@@ -681,7 +681,7 @@ static void rtl_op_bss_info_changed(struct ieee80211_hw *hw,
	 */
	if (changed & BSS_CHANGED_ASSOC) {
		if (bss_conf->assoc) {
			if (ppsc->b_fwctrl_lps) {
			if (ppsc->fwctrl_lps) {
				u8 mstatus = RT_MEDIA_CONNECT;
				rtlpriv->cfg->ops->set_hw_reg(hw,
						      HW_VAR_H2C_FW_JOINBSSRPT,
@@ -689,7 +689,7 @@ static void rtl_op_bss_info_changed(struct ieee80211_hw *hw,
				ppsc->report_linked = true;
			}
		} else {
			if (ppsc->b_fwctrl_lps) {
			if (ppsc->fwctrl_lps) {
				u8 mstatus = RT_MEDIA_DISCONNECT;
				rtlpriv->cfg->ops->set_hw_reg(hw,
						      HW_VAR_H2C_FW_JOINBSSRPT,
@@ -818,7 +818,7 @@ static void rtl_op_sw_scan_complete(struct ieee80211_hw *hw)
		/* fix fwlps issue */
		rtlpriv->cfg->ops->set_network_type(hw, mac->opmode);

		if (rtlpriv->dm.b_useramask)
		if (rtlpriv->dm.useramask)
			rtlpriv->cfg->ops->update_rate_mask(hw, 0);
		else
			rtlpriv->cfg->ops->update_rate_table(hw);
+18 −18
Original line number Diff line number Diff line
@@ -50,7 +50,7 @@ static void _rtl_pci_update_default_setting(struct ieee80211_hw *hw)
	u8 pcibridge_vendor = pcipriv->ndis_adapter.pcibridge_vendor;

	ppsc->reg_rfps_level = 0;
	ppsc->b_support_aspm = 0;
	ppsc->support_aspm = 0;

	/*Update PCI ASPM setting */
	ppsc->const_amdpci_aspm = rtlpci->const_amdpci_aspm;
@@ -115,29 +115,29 @@ static void _rtl_pci_update_default_setting(struct ieee80211_hw *hw)
	switch (rtlpci->const_support_pciaspm) {
	case 0:{
			/*Not support ASPM. */
			bool b_support_aspm = false;
			ppsc->b_support_aspm = b_support_aspm;
			bool support_aspm = false;
			ppsc->support_aspm = support_aspm;
			break;
		}
	case 1:{
			/*Support ASPM. */
			bool b_support_aspm = true;
			bool b_support_backdoor = true;
			ppsc->b_support_aspm = b_support_aspm;
			bool support_aspm = true;
			bool support_backdoor = true;
			ppsc->support_aspm = support_aspm;

			/*if(priv->oem_id == RT_CID_TOSHIBA &&
			   !priv->ndis_adapter.amd_l1_patch)
			   b_support_backdoor = false; */
			   support_backdoor = false; */

			ppsc->b_support_backdoor = b_support_backdoor;
			ppsc->support_backdoor = support_backdoor;

			break;
		}
	case 2:
		/*ASPM value set by chipset. */
		if (pcibridge_vendor == PCI_BRIDGE_VENDOR_INTEL) {
			bool b_support_aspm = true;
			ppsc->b_support_aspm = b_support_aspm;
			bool support_aspm = true;
			ppsc->support_aspm = support_aspm;
		}
		break;
	default:
@@ -585,7 +585,7 @@ static void _rtl_pci_rx_interrupt(struct ieee80211_hw *hw)
			hdr = (struct ieee80211_hdr *)(skb->data);
			fc = le16_to_cpu(hdr->frame_control);

			if (!stats.b_crc) {
			if (!stats.crc) {
				memcpy(IEEE80211_SKB_RXCB(skb), &rx_status,
				       sizeof(rx_status));

@@ -890,17 +890,17 @@ static void _rtl_pci_init_struct(struct ieee80211_hw *hw,
	rtlhal->hw = hw;
	rtlpci->pdev = pdev;

	ppsc->b_inactiveps = false;
	ppsc->b_leisure_ps = true;
	ppsc->b_fwctrl_lps = true;
	ppsc->b_reg_fwctrl_lps = 3;
	ppsc->inactiveps = false;
	ppsc->leisure_ps = true;
	ppsc->fwctrl_lps = true;
	ppsc->reg_fwctrl_lps = 3;
	ppsc->reg_max_lps_awakeintvl = 5;

	if (ppsc->b_reg_fwctrl_lps == 1)
	if (ppsc->reg_fwctrl_lps == 1)
		ppsc->fwctrl_psmode = FW_PS_MIN_MODE;
	else if (ppsc->b_reg_fwctrl_lps == 2)
	else if (ppsc->reg_fwctrl_lps == 2)
		ppsc->fwctrl_psmode = FW_PS_MAX_MODE;
	else if (ppsc->b_reg_fwctrl_lps == 3)
	else if (ppsc->reg_fwctrl_lps == 3)
		ppsc->fwctrl_psmode = FW_PS_DTIM_MODE;

	/*Tx/Rx related var */
+29 −29
Original line number Diff line number Diff line
@@ -86,7 +86,7 @@ bool rtl_ps_set_rf_state(struct ieee80211_hw *hw,
	struct rtl_priv *rtlpriv = rtl_priv(hw);
	struct rtl_ps_ctl *ppsc = rtl_psc(rtl_priv(hw));
	enum rf_pwrstate rtstate;
	bool b_actionallowed = false;
	bool actionallowed = false;
	u16 rfwait_cnt = 0;
	unsigned long flag;

@@ -139,13 +139,13 @@ no_protect:
		ppsc->rfoff_reason &= (~changesource);

		if ((changesource == RF_CHANGE_BY_HW) &&
		    (ppsc->b_hwradiooff == true)) {
			ppsc->b_hwradiooff = false;
		    (ppsc->hwradiooff == true)) {
			ppsc->hwradiooff = false;
		}

		if (!ppsc->rfoff_reason) {
			ppsc->rfoff_reason = 0;
			b_actionallowed = true;
			actionallowed = true;
		}

		break;
@@ -153,17 +153,17 @@ no_protect:
	case ERFOFF:

		if ((changesource == RF_CHANGE_BY_HW)
		    && (ppsc->b_hwradiooff == false)) {
			ppsc->b_hwradiooff = true;
		    && (ppsc->hwradiooff == false)) {
			ppsc->hwradiooff = true;
		}

		ppsc->rfoff_reason |= changesource;
		b_actionallowed = true;
		actionallowed = true;
		break;

	case ERFSLEEP:
		ppsc->rfoff_reason |= changesource;
		b_actionallowed = true;
		actionallowed = true;
		break;

	default:
@@ -172,7 +172,7 @@ no_protect:
		break;
	}

	if (b_actionallowed)
	if (actionallowed)
		rtlpriv->cfg->ops->set_rf_power_state(hw, state_toset);

	if (!protect_or_not) {
@@ -181,7 +181,7 @@ no_protect:
		spin_unlock_irqrestore(&rtlpriv->locks.rf_ps_lock, flag);
	}

	return b_actionallowed;
	return actionallowed;
}
EXPORT_SYMBOL(rtl_ps_set_rf_state);

@@ -191,7 +191,7 @@ static void _rtl_ps_inactive_ps(struct ieee80211_hw *hw)
	struct rtl_hal *rtlhal = rtl_hal(rtl_priv(hw));
	struct rtl_ps_ctl *ppsc = rtl_psc(rtl_priv(hw));

	ppsc->b_swrf_processing = true;
	ppsc->swrf_processing = true;

	if (ppsc->inactive_pwrstate == ERFON && rtlhal->interface == INTF_PCI) {
		if ((ppsc->reg_rfps_level & RT_RF_OFF_LEVL_ASPM) &&
@@ -213,7 +213,7 @@ static void _rtl_ps_inactive_ps(struct ieee80211_hw *hw)
		}
	}

	ppsc->b_swrf_processing = false;
	ppsc->swrf_processing = false;
}

void rtl_ips_nic_off_wq_callback(void *data)
@@ -239,13 +239,13 @@ void rtl_ips_nic_off_wq_callback(void *data)
	if (rtlpriv->sec.being_setkey)
		return;

	if (ppsc->b_inactiveps) {
	if (ppsc->inactiveps) {
		rtstate = ppsc->rfpwr_state;

		/*
		 *Do not enter IPS in the following conditions:
		 *(1) RF is already OFF or Sleep
		 *(2) b_swrf_processing (indicates the IPS is still under going)
		 *(2) swrf_processing (indicates the IPS is still under going)
		 *(3) Connectted (only disconnected can trigger IPS)
		 *(4) IBSS (send Beacon)
		 *(5) AP mode (send Beacon)
@@ -253,14 +253,14 @@ void rtl_ips_nic_off_wq_callback(void *data)
		 */

		if (rtstate == ERFON &&
		    !ppsc->b_swrf_processing &&
		    !ppsc->swrf_processing &&
		    (mac->link_state == MAC80211_NOLINK) &&
		    !mac->act_scanning) {
			RT_TRACE(rtlpriv, COMP_RF, DBG_TRACE,
				 ("IPSEnter(): Turn off RF.\n"));

			ppsc->inactive_pwrstate = ERFOFF;
			ppsc->b_in_powersavemode = true;
			ppsc->in_powersavemode = true;

			/*rtl_pci_reset_trx_ring(hw); */
			_rtl_ps_inactive_ps(hw);
@@ -290,15 +290,15 @@ void rtl_ips_nic_on(struct ieee80211_hw *hw)

	spin_lock_irqsave(&rtlpriv->locks.ips_lock, flags);

	if (ppsc->b_inactiveps) {
	if (ppsc->inactiveps) {
		rtstate = ppsc->rfpwr_state;

		if (rtstate != ERFON &&
		    !ppsc->b_swrf_processing &&
		    !ppsc->swrf_processing &&
		    ppsc->rfoff_reason <= RF_CHANGE_BY_IPS) {

			ppsc->inactive_pwrstate = ERFON;
			ppsc->b_in_powersavemode = false;
			ppsc->in_powersavemode = false;

			_rtl_ps_inactive_ps(hw);
		}
@@ -370,9 +370,9 @@ static void rtl_lps_set_psmode(struct ieee80211_hw *hw, u8 rt_psmode)
	 *   mode and set RPWM to turn RF on.
	 */

	if ((ppsc->b_fwctrl_lps) && (ppsc->b_leisure_ps) &&
	if ((ppsc->fwctrl_lps) && (ppsc->leisure_ps) &&
	     ppsc->report_linked) {
		bool b_fw_current_inps;
		bool fw_current_inps;
		if (ppsc->dot11_psmode == EACTIVE) {
			RT_TRACE(rtlpriv, COMP_RF, DBG_DMESG,
				 ("FW LPS leave ps_mode:%x\n",
@@ -385,11 +385,11 @@ static void rtl_lps_set_psmode(struct ieee80211_hw *hw, u8 rt_psmode)
			rtlpriv->cfg->ops->set_hw_reg(hw,
					HW_VAR_H2C_FW_PWRMODE,
					(u8 *) (&fw_pwrmode));
			b_fw_current_inps = false;
			fw_current_inps = false;

			rtlpriv->cfg->ops->set_hw_reg(hw,
					HW_VAR_FW_PSMODE_STATUS,
					(u8 *) (&b_fw_current_inps));
					(u8 *) (&fw_current_inps));

		} else {
			if (rtl_get_fwlps_doze(hw)) {
@@ -398,10 +398,10 @@ static void rtl_lps_set_psmode(struct ieee80211_hw *hw, u8 rt_psmode)
						 ppsc->fwctrl_psmode));

				rpwm_val = 0x02;	/* RF off */
				b_fw_current_inps = true;
				fw_current_inps = true;
				rtlpriv->cfg->ops->set_hw_reg(hw,
						HW_VAR_FW_PSMODE_STATUS,
						(u8 *) (&b_fw_current_inps));
						(u8 *) (&fw_current_inps));
				rtlpriv->cfg->ops->set_hw_reg(hw,
						HW_VAR_H2C_FW_PWRMODE,
						(u8 *) (&ppsc->fwctrl_psmode));
@@ -425,13 +425,13 @@ void rtl_lps_enter(struct ieee80211_hw *hw)
	struct rtl_priv *rtlpriv = rtl_priv(hw);
	unsigned long flag;

	if (!(ppsc->b_fwctrl_lps && ppsc->b_leisure_ps))
	if (!(ppsc->fwctrl_lps && ppsc->leisure_ps))
		return;

	if (rtlpriv->sec.being_setkey)
		return;

	if (rtlpriv->link_info.b_busytraffic)
	if (rtlpriv->link_info.busytraffic)
		return;

	/*sleep after linked 10s, to let DHCP and 4-way handshake ok enough!! */
@@ -446,7 +446,7 @@ void rtl_lps_enter(struct ieee80211_hw *hw)

	spin_lock_irqsave(&rtlpriv->locks.lps_lock, flag);

	if (ppsc->b_leisure_ps) {
	if (ppsc->leisure_ps) {
		/* Idle for a while if we connect to AP a while ago. */
		if (mac->cnt_after_linked >= 2) {
			if (ppsc->dot11_psmode == EACTIVE) {
@@ -470,7 +470,7 @@ void rtl_lps_leave(struct ieee80211_hw *hw)

	spin_lock_irqsave(&rtlpriv->locks.lps_lock, flag);

	if (ppsc->b_fwctrl_lps && ppsc->b_leisure_ps) {
	if (ppsc->fwctrl_lps && ppsc->leisure_ps) {
		if (ppsc->dot11_psmode != EACTIVE) {

			/*FIX ME */
+41 −41
Original line number Diff line number Diff line
@@ -306,12 +306,12 @@ static void rtl92c_dm_initial_gain_multi_sta(struct ieee80211_hw *hw)
	struct rtl_priv *rtlpriv = rtl_priv(hw);
	struct rtl_mac *mac = rtl_mac(rtl_priv(hw));
	long rssi_strength = rtlpriv->dm.entry_min_undecoratedsmoothed_pwdb;
	bool b_multi_sta = false;
	bool multi_sta = false;

	if (mac->opmode == NL80211_IFTYPE_ADHOC)
		b_multi_sta = true;
		multi_sta = true;

	if ((b_multi_sta == false) || (dm_digtable.cursta_connectctate !=
	if ((multi_sta == false) || (dm_digtable.cursta_connectctate !=
				     DIG_STA_DISCONNECT)) {
		binitialized = false;
		dm_digtable.dig_ext_port_stage = DIG_EXT_PORT_STAGE_MAX;
@@ -479,7 +479,7 @@ static void rtl92c_dm_dig(struct ieee80211_hw *hw)
{
	struct rtl_priv *rtlpriv = rtl_priv(hw);

	if (rtlpriv->dm.b_dm_initialgain_enable == false)
	if (rtlpriv->dm.dm_initialgain_enable == false)
		return;
	if (dm_digtable.dig_enable_flag == false)
		return;
@@ -492,7 +492,7 @@ static void rtl92c_dm_init_dynamic_txpower(struct ieee80211_hw *hw)
{
	struct rtl_priv *rtlpriv = rtl_priv(hw);

	rtlpriv->dm.bdynamic_txpower_enable = false;
	rtlpriv->dm.dynamic_txpower_enable = false;

	rtlpriv->dm.last_dtp_lvl = TXHIGHPWRLEVEL_NORMAL;
	rtlpriv->dm.dynamic_txhighpower_lvl = TXHIGHPWRLEVEL_NORMAL;
@@ -550,9 +550,9 @@ static void rtl92c_dm_pwdb_monitor(struct ieee80211_hw *hw)
void rtl92c_dm_init_edca_turbo(struct ieee80211_hw *hw)
{
	struct rtl_priv *rtlpriv = rtl_priv(hw);
	rtlpriv->dm.bcurrent_turbo_edca = false;
	rtlpriv->dm.bis_any_nonbepkts = false;
	rtlpriv->dm.bis_cur_rdlstate = false;
	rtlpriv->dm.current_turbo_edca = false;
	rtlpriv->dm.is_any_nonbepkts = false;
	rtlpriv->dm.is_cur_rdlstate = false;
}

static void rtl92c_dm_check_edca_turbo(struct ieee80211_hw *hw)
@@ -570,7 +570,7 @@ static void rtl92c_dm_check_edca_turbo(struct ieee80211_hw *hw)
		goto dm_checkedcaturbo_exit;

	if (mac->link_state != MAC80211_LINKED) {
		rtlpriv->dm.bcurrent_turbo_edca = false;
		rtlpriv->dm.current_turbo_edca = false;
		return;
	}

@@ -582,40 +582,40 @@ static void rtl92c_dm_check_edca_turbo(struct ieee80211_hw *hw)
			edca_be_dl |= 0x005e0000;
	}

	if ((!rtlpriv->dm.bis_any_nonbepkts) &&
	    (!rtlpriv->dm.b_disable_framebursting)) {
	if ((!rtlpriv->dm.is_any_nonbepkts) &&
	    (!rtlpriv->dm.disable_framebursting)) {
		cur_txok_cnt = rtlpriv->stats.txbytesunicast - last_txok_cnt;
		cur_rxok_cnt = rtlpriv->stats.rxbytesunicast - last_rxok_cnt;
		if (cur_rxok_cnt > 4 * cur_txok_cnt) {
			if (!rtlpriv->dm.bis_cur_rdlstate ||
			    !rtlpriv->dm.bcurrent_turbo_edca) {
			if (!rtlpriv->dm.is_cur_rdlstate ||
			    !rtlpriv->dm.current_turbo_edca) {
				rtl_write_dword(rtlpriv,
						REG_EDCA_BE_PARAM,
						edca_be_dl);
				rtlpriv->dm.bis_cur_rdlstate = true;
				rtlpriv->dm.is_cur_rdlstate = true;
			}
		} else {
			if (rtlpriv->dm.bis_cur_rdlstate ||
			    !rtlpriv->dm.bcurrent_turbo_edca) {
			if (rtlpriv->dm.is_cur_rdlstate ||
			    !rtlpriv->dm.current_turbo_edca) {
				rtl_write_dword(rtlpriv,
						REG_EDCA_BE_PARAM,
						edca_be_ul);
				rtlpriv->dm.bis_cur_rdlstate = false;
				rtlpriv->dm.is_cur_rdlstate = false;
			}
		}
		rtlpriv->dm.bcurrent_turbo_edca = true;
		rtlpriv->dm.current_turbo_edca = true;
	} else {
		if (rtlpriv->dm.bcurrent_turbo_edca) {
		if (rtlpriv->dm.current_turbo_edca) {
			u8 tmp = AC0_BE;
			rtlpriv->cfg->ops->set_hw_reg(hw,
						      HW_VAR_AC_PARAM,
						      (u8 *) (&tmp));
			rtlpriv->dm.bcurrent_turbo_edca = false;
			rtlpriv->dm.current_turbo_edca = false;
		}
	}

dm_checkedcaturbo_exit:
	rtlpriv->dm.bis_any_nonbepkts = false;
	rtlpriv->dm.is_any_nonbepkts = false;
	last_txok_cnt = rtlpriv->stats.txbytesunicast;
	last_rxok_cnt = rtlpriv->stats.rxbytesunicast;
}
@@ -636,7 +636,7 @@ static void rtl92c_dm_txpower_tracking_callback_thermalmeter(struct ieee80211_hw
	u8 txpwr_level[2] = {0, 0};
	u8 ofdm_min_index = 6, rf;

	rtlpriv->dm.btxpower_trackingInit = true;
	rtlpriv->dm.txpower_trackingInit = true;
	RT_TRACE(rtlpriv, COMP_POWER_TRACKING, DBG_LOUD,
		 ("rtl92c_dm_txpower_tracking_callback_thermalmeter\n"));

@@ -696,7 +696,7 @@ static void rtl92c_dm_txpower_tracking_callback_thermalmeter(struct ieee80211_hw
		    rtl_get_bbreg(hw, RCCK0_TXFILTER2, MASKDWORD) & MASKCCK;

		for (i = 0; i < CCK_TABLE_LENGTH; i++) {
			if (rtlpriv->dm.b_cck_inch14) {
			if (rtlpriv->dm.cck_inch14) {
				if (memcmp((void *)&temp_cck,
					   (void *)&cckswing_table_ch14[i][2],
					   4) == 0) {
@@ -708,7 +708,7 @@ static void rtl92c_dm_txpower_tracking_callback_thermalmeter(struct ieee80211_hw
						  "cck_index=0x%x, ch 14 %d\n",
						  RCCK0_TXFILTER2, temp_cck,
						  cck_index_old,
						  rtlpriv->dm.b_cck_inch14));
						  rtlpriv->dm.cck_inch14));
					break;
				}
			} else {
@@ -724,7 +724,7 @@ static void rtl92c_dm_txpower_tracking_callback_thermalmeter(struct ieee80211_hw
						  "cck_index=0x%x, ch14 %d\n",
						  RCCK0_TXFILTER2, temp_cck,
						  cck_index_old,
						  rtlpriv->dm.b_cck_inch14));
						  rtlpriv->dm.cck_inch14));
					break;
				}
			}
@@ -937,7 +937,7 @@ static void rtl92c_dm_txpower_tracking_callback_thermalmeter(struct ieee80211_hw
					      BIT(31) | BIT(29), 0x00);
			}

			if (!rtlpriv->dm.b_cck_inch14) {
			if (!rtlpriv->dm.cck_inch14) {
				rtl_write_byte(rtlpriv, 0xa22,
					       cckswing_table_ch1ch13[cck_index]
					       [0]);
@@ -1057,12 +1057,12 @@ static void rtl92c_dm_initialize_txpower_tracking_thermalmeter(
{
	struct rtl_priv *rtlpriv = rtl_priv(hw);

	rtlpriv->dm.btxpower_tracking = true;
	rtlpriv->dm.btxpower_trackingInit = false;
	rtlpriv->dm.txpower_tracking = true;
	rtlpriv->dm.txpower_trackingInit = false;

	RT_TRACE(rtlpriv, COMP_POWER_TRACKING, DBG_LOUD,
		 ("pMgntInfo->btxpower_tracking = %d\n",
		  rtlpriv->dm.btxpower_tracking));
		 ("pMgntInfo->txpower_tracking = %d\n",
		  rtlpriv->dm.txpower_tracking));
}

static void rtl92c_dm_initialize_txpower_tracking(struct ieee80211_hw *hw)
@@ -1081,7 +1081,7 @@ static void rtl92c_dm_check_txpower_tracking_thermal_meter(
	struct rtl_priv *rtlpriv = rtl_priv(hw);
	static u8 tm_trigger;

	if (!rtlpriv->dm.btxpower_tracking)
	if (!rtlpriv->dm.txpower_tracking)
		return;

	if (!tm_trigger) {
@@ -1113,9 +1113,9 @@ void rtl92c_dm_init_rate_adaptive_mask(struct ieee80211_hw *hw)
	p_ra->pre_ratr_state = DM_RATR_STA_INIT;

	if (rtlpriv->dm.dm_type == DM_TYPE_BYDRIVER)
		rtlpriv->dm.b_useramask = true;
		rtlpriv->dm.useramask = true;
	else
		rtlpriv->dm.b_useramask = false;
		rtlpriv->dm.useramask = false;

}

@@ -1133,7 +1133,7 @@ static void rtl92c_dm_refresh_rate_adaptive_mask(struct ieee80211_hw *hw)
		return;
	}

	if (!rtlpriv->dm.b_useramask) {
	if (!rtlpriv->dm.useramask) {
		RT_TRACE(rtlpriv, COMP_RATE, DBG_LOUD,
			("<---- driver does not control rate adaptive mask\n"));
		return;
@@ -1365,16 +1365,16 @@ void rtl92c_dm_watchdog(struct ieee80211_hw *hw)
{
	struct rtl_priv *rtlpriv = rtl_priv(hw);
	struct rtl_ps_ctl *ppsc = rtl_psc(rtl_priv(hw));
	bool b_fw_current_inpsmode = false;
	bool b_fw_ps_awake = true;
	bool fw_current_inpsmode = false;
	bool fw_ps_awake = true;

	rtlpriv->cfg->ops->get_hw_reg(hw, HW_VAR_FW_PSMODE_STATUS,
				      (u8 *) (&b_fw_current_inpsmode));
				      (u8 *) (&fw_current_inpsmode));
	rtlpriv->cfg->ops->get_hw_reg(hw, HW_VAR_FWLPS_RF_ON,
				      (u8 *) (&b_fw_ps_awake));
				      (u8 *) (&fw_ps_awake));

	if ((ppsc->rfpwr_state == ERFON) && ((!b_fw_current_inpsmode) &&
					     b_fw_ps_awake)
	if ((ppsc->rfpwr_state == ERFON) && ((!fw_current_inpsmode) &&
					     fw_ps_awake)
	    && (!ppsc->rfchange_inprogress)) {
		rtl92c_dm_pwdb_monitor(hw);
		rtl92c_dm_dig(hw);
Loading