|
@@ -363,6 +363,22 @@ static void halbtc_normal_lps(struct btc_coexist *btcoexist)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+static void halbtc_pre_normal_lps(struct btc_coexist *btcoexist)
|
|
|
+{
|
|
|
+ struct rtl_priv *rtlpriv = btcoexist->adapter;
|
|
|
+
|
|
|
+ if (btcoexist->bt_info.bt_ctrl_lps) {
|
|
|
+ btcoexist->bt_info.bt_lps_on = false;
|
|
|
+ rtl_lps_leave(rtlpriv->mac80211.hw);
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+static void halbtc_post_normal_lps(struct btc_coexist *btcoexist)
|
|
|
+{
|
|
|
+ if (btcoexist->bt_info.bt_ctrl_lps)
|
|
|
+ btcoexist->bt_info.bt_ctrl_lps = false;
|
|
|
+}
|
|
|
+
|
|
|
static void halbtc_leave_low_power(struct btc_coexist *btcoexist)
|
|
|
{
|
|
|
}
|
|
@@ -806,6 +822,12 @@ static bool halbtc_set(void *void_btcoexist, u8 set_type, void *in_buf)
|
|
|
case BTC_SET_ACT_NORMAL_LPS:
|
|
|
halbtc_normal_lps(btcoexist);
|
|
|
break;
|
|
|
+ case BTC_SET_ACT_PRE_NORMAL_LPS:
|
|
|
+ halbtc_pre_normal_lps(btcoexist);
|
|
|
+ break;
|
|
|
+ case BTC_SET_ACT_POST_NORMAL_LPS:
|
|
|
+ halbtc_post_normal_lps(btcoexist);
|
|
|
+ break;
|
|
|
case BTC_SET_ACT_DISABLE_LOW_POWER:
|
|
|
halbtc_disable_low_power(btcoexist, *bool_tmp);
|
|
|
break;
|