void rtl8723e_dm_bt_balance(struct ieee80211_hw *hw,
							bool b_balance_on, u8 ms0, u8 ms1)
{
	struct rtl_pci_priv *rtlpcipriv = rtl_pcipriv(hw);
	struct rtl_priv *rtlpriv = rtl_priv(hw);
	u8 h2c_parameter[3] ={0};

	if (b_balance_on) {
		h2c_parameter[2] = 1;
		h2c_parameter[1] = ms1;
		h2c_parameter[0] = ms0;
		rtlpcipriv->bt_coexist.b_fw_coexist_all_off = false;
	} else {
		h2c_parameter[2] = 0;
		h2c_parameter[1] = 0;
		h2c_parameter[0] = 0;
	}
	rtlpcipriv->bt_coexist.b_balance_on = b_balance_on;

	RT_TRACE(COMP_BT_COEXIST, DBG_TRACE,
		("[DM][BT], Balance=[%s:%dms:%dms], write 0xc=0x%x\n",
		b_balance_on?"ON":"OFF", ms0, ms1,
		h2c_parameter[0]<<16 | h2c_parameter[1]<<8 | h2c_parameter[2]));

	rtl8723e_fill_h2c_cmd(hw, 0xc, 3, h2c_parameter);
}
Beispiel #2
0
static void rtl8723e_dm_pwdb_monitor(struct ieee80211_hw *hw)
{
	struct rtl_priv *rtlpriv = rtl_priv(hw);
	long tmpentry_max_pwdb = 0, tmpentry_min_pwdb = 0xff;

	u8 h2c_parameter[3] = { 0 };

	return;

	if (tmpentry_max_pwdb != 0) {
		rtlpriv->dm.entry_max_undecoratedsmoothed_pwdb =
		    tmpentry_max_pwdb;
	} else {
		rtlpriv->dm.entry_max_undecoratedsmoothed_pwdb = 0;
	}

	if (tmpentry_min_pwdb != 0xff) {
		rtlpriv->dm.entry_min_undecoratedsmoothed_pwdb =
		    tmpentry_min_pwdb;
	} else {
		rtlpriv->dm.entry_min_undecoratedsmoothed_pwdb = 0;
	}

	h2c_parameter[2] = (u8) (rtlpriv->dm.undecorated_smoothed_pwdb & 0xFF);
	h2c_parameter[0] = 0;

	rtl8723e_fill_h2c_cmd(hw, H2C_RSSI_REPORT, 3, h2c_parameter);
}