From: Ping-Ke Shih <[email protected]>

If LPS is controlled by btcoex, this function tell driver LPS is on or off.

Signed-off-by: Ping-Ke Shih <[email protected]>
Signed-off-by: Larry Finger <[email protected]>
Cc: Yan-Hsuan Chuang <[email protected]>
Cc: Birming Chiu <[email protected]>
Cc: Shaofu <[email protected]>
Cc: Steven Ting <[email protected]>
---
 drivers/net/wireless/realtek/rtlwifi/btcoexist/rtl_btc.c | 6 ++++++
 drivers/net/wireless/realtek/rtlwifi/btcoexist/rtl_btc.h | 1 +
 drivers/net/wireless/realtek/rtlwifi/wifi.h              | 1 +
 3 files changed, 8 insertions(+)

diff --git a/drivers/net/wireless/realtek/rtlwifi/btcoexist/rtl_btc.c 
b/drivers/net/wireless/realtek/rtlwifi/btcoexist/rtl_btc.c
index 96c1ccbf70ac..7ee2aa94fd2a 100644
--- a/drivers/net/wireless/realtek/rtlwifi/btcoexist/rtl_btc.c
+++ b/drivers/net/wireless/realtek/rtlwifi/btcoexist/rtl_btc.c
@@ -46,6 +46,7 @@ static struct rtl_btc_ops rtl_btc_operation = {
        .btc_is_bt_disabled = rtl_btc_is_bt_disabled,
        .btc_special_packet_notify = rtl_btc_special_packet_notify,
        .btc_record_pwr_mode = rtl_btc_record_pwr_mode,
+       .btc_is_bt_lps_on = rtl_btc_is_bt_lps_on,
        .btc_get_ampdu_cfg = rtl_btc_get_ampdu_cfg,
 };
 
@@ -61,6 +62,11 @@ void rtl_btc_record_pwr_mode(struct rtl_priv *rtlpriv, u8 
*buf, u8 len)
        memcpy(gl_bt_coexist.pwr_mode_val, buf, safe_len);
 }
 
+bool rtl_btc_is_bt_lps_on(struct rtl_priv *rtlpriv)
+{
+       return gl_bt_coexist.bt_info.bt_lps_on;
+}
+
 void rtl_btc_get_ampdu_cfg(struct rtl_priv *rtlpriv, u8 *reject_agg,
                           u8 *ctrl_agg_size, u8 *agg_size)
 {
diff --git a/drivers/net/wireless/realtek/rtlwifi/btcoexist/rtl_btc.h 
b/drivers/net/wireless/realtek/rtlwifi/btcoexist/rtl_btc.h
index c1c32d685c5d..ed46f418eb91 100644
--- a/drivers/net/wireless/realtek/rtlwifi/btcoexist/rtl_btc.h
+++ b/drivers/net/wireless/realtek/rtlwifi/btcoexist/rtl_btc.h
@@ -44,6 +44,7 @@ bool rtl_btc_is_disable_edca_turbo(struct rtl_priv *rtlpriv);
 bool rtl_btc_is_bt_disabled(struct rtl_priv *rtlpriv);
 void rtl_btc_special_packet_notify(struct rtl_priv *rtlpriv, u8 pkt_type);
 void rtl_btc_record_pwr_mode(struct rtl_priv *rtlpriv, u8 *buf, u8 len);
+bool rtl_btc_is_bt_lps_on(struct rtl_priv *rtlpriv);
 void rtl_btc_get_ampdu_cfg(struct rtl_priv *rtlpriv, u8 *reject_agg,
                           u8 *ctrl_agg_size, u8 *agg_size);
 
diff --git a/drivers/net/wireless/realtek/rtlwifi/wifi.h 
b/drivers/net/wireless/realtek/rtlwifi/wifi.h
index 0591adedce76..23d869bcb90d 100644
--- a/drivers/net/wireless/realtek/rtlwifi/wifi.h
+++ b/drivers/net/wireless/realtek/rtlwifi/wifi.h
@@ -2563,6 +2563,7 @@ struct rtl_btc_ops {
        void (*btc_record_pwr_mode)(struct rtl_priv *rtlpriv, u8 *buf, u8 len);
        void (*btc_get_ampdu_cfg)(struct rtl_priv *rtlpriv, u8 *reject_agg,
                                  u8 *ctrl_agg_size, u8 *agg_size);
+       bool (*btc_is_bt_lps_on)(struct rtl_priv *rtlpriv);
 };
 
 struct proxim {
-- 
2.12.3

Reply via email to