18c086312SLarry Finger /* SPDX-License-Identifier: GPL-2.0 */ 28c086312SLarry Finger /* Copyright(c) 2009-2010 Realtek Corporation.*/ 3f1d2b4d3SLarry Finger 4f1d2b4d3SLarry Finger #ifndef __RTL_BTC_H__ 5f1d2b4d3SLarry Finger #define __RTL_BTC_H__ 6f1d2b4d3SLarry Finger 7f1d2b4d3SLarry Finger #include "halbt_precomp.h" 8f1d2b4d3SLarry Finger 9f1d2b4d3SLarry Finger void rtl_btc_init_variables(struct rtl_priv *rtlpriv); 109177c336SPing-Ke Shih void rtl_btc_init_variables_wifi_only(struct rtl_priv *rtlpriv); 1140d9dd4fSPing-Ke Shih void rtl_btc_deinit_variables(struct rtl_priv *rtlpriv); 12f1d2b4d3SLarry Finger void rtl_btc_init_hal_vars(struct rtl_priv *rtlpriv); 13a44709bbSPing-Ke Shih void rtl_btc_power_on_setting(struct rtl_priv *rtlpriv); 14f1d2b4d3SLarry Finger void rtl_btc_init_hw_config(struct rtl_priv *rtlpriv); 159177c336SPing-Ke Shih void rtl_btc_init_hw_config_wifi_only(struct rtl_priv *rtlpriv); 16f1d2b4d3SLarry Finger void rtl_btc_ips_notify(struct rtl_priv *rtlpriv, u8 type); 17f1d2b4d3SLarry Finger void rtl_btc_lps_notify(struct rtl_priv *rtlpriv, u8 type); 18f1d2b4d3SLarry Finger void rtl_btc_scan_notify(struct rtl_priv *rtlpriv, u8 scantype); 199177c336SPing-Ke Shih void rtl_btc_scan_notify_wifi_only(struct rtl_priv *rtlpriv, u8 scantype); 20f1d2b4d3SLarry Finger void rtl_btc_connect_notify(struct rtl_priv *rtlpriv, u8 action); 21f1d2b4d3SLarry Finger void rtl_btc_mediastatus_notify(struct rtl_priv *rtlpriv, 22f1d2b4d3SLarry Finger enum rt_media_status mstatus); 23f1d2b4d3SLarry Finger void rtl_btc_periodical(struct rtl_priv *rtlpriv); 2440d9dd4fSPing-Ke Shih void rtl_btc_halt_notify(struct rtl_priv *rtlpriv); 25f1d2b4d3SLarry Finger void rtl_btc_btinfo_notify(struct rtl_priv *rtlpriv, u8 *tmpbuf, u8 length); 266aad6075SPing-Ke Shih void rtl_btc_btmpinfo_notify(struct rtl_priv *rtlpriv, u8 *tmp_buf, u8 length); 27f1d2b4d3SLarry Finger bool rtl_btc_is_limited_dig(struct rtl_priv *rtlpriv); 28f1d2b4d3SLarry Finger bool rtl_btc_is_disable_edca_turbo(struct rtl_priv *rtlpriv); 29f1d2b4d3SLarry Finger bool rtl_btc_is_bt_disabled(struct rtl_priv *rtlpriv); 30f1d2b4d3SLarry Finger void rtl_btc_special_packet_notify(struct rtl_priv *rtlpriv, u8 pkt_type); 3117bf8510SPing-Ke Shih void rtl_btc_switch_band_notify(struct rtl_priv *rtlpriv, u8 band_type, 3217bf8510SPing-Ke Shih bool scanning); 339177c336SPing-Ke Shih void rtl_btc_switch_band_notify_wifionly(struct rtl_priv *rtlpriv, u8 band_type, 349177c336SPing-Ke Shih bool scanning); 35610247f4SPing-Ke Shih void rtl_btc_display_bt_coex_info(struct rtl_priv *rtlpriv, struct seq_file *m); 3654685f9cSPing-Ke Shih void rtl_btc_record_pwr_mode(struct rtl_priv *rtlpriv, u8 *buf, u8 len); 3742213f2fSPing-Ke Shih u8 rtl_btc_get_lps_val(struct rtl_priv *rtlpriv); 3842213f2fSPing-Ke Shih u8 rtl_btc_get_rpwm_val(struct rtl_priv *rtlpriv); 3942213f2fSPing-Ke Shih bool rtl_btc_is_bt_ctrl_lps(struct rtl_priv *rtlpriv); 40c692205dSPing-Ke Shih bool rtl_btc_is_bt_lps_on(struct rtl_priv *rtlpriv); 412635664eSPing-Ke Shih void rtl_btc_get_ampdu_cfg(struct rtl_priv *rtlpriv, u8 *reject_agg, 422635664eSPing-Ke Shih u8 *ctrl_agg_size, u8 *agg_size); 43f1d2b4d3SLarry Finger 44f1d2b4d3SLarry Finger struct rtl_btc_ops *rtl_btc_get_ops_pointer(void); 45f1d2b4d3SLarry Finger 46f1d2b4d3SLarry Finger u8 rtl_get_hwpg_bt_exist(struct rtl_priv *rtlpriv); 47f1d2b4d3SLarry Finger u8 rtl_get_hwpg_bt_type(struct rtl_priv *rtlpriv); 480de9b5dbSPing-Ke Shih u8 rtl_get_hwpg_ant_num(struct rtl_priv *rtlpriv); 49db8cb009SPing-Ke Shih u8 rtl_get_hwpg_single_ant_path(struct rtl_priv *rtlpriv); 507fe1fe75SPing-Ke Shih u8 rtl_get_hwpg_package_type(struct rtl_priv *rtlpriv); 517fe1fe75SPing-Ke Shih 52f1d2b4d3SLarry Finger enum rt_media_status mgnt_link_status_query(struct ieee80211_hw *hw); 53f1d2b4d3SLarry Finger 54f1d2b4d3SLarry Finger #endif 55