1 /****************************************************************************** 2 * 3 * Copyright(c) 2009-2010 Realtek Corporation. 4 * 5 * This program is free software; you can redistribute it and/or modify it 6 * under the terms of version 2 of the GNU General Public License as 7 * published by the Free Software Foundation. 8 * 9 * This program is distributed in the hope that it will be useful, but WITHOUT 10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 * more details. 13 * 14 * The full GNU General Public License is included in this distribution in the 15 * file called LICENSE. 16 * 17 * Contact Information: 18 * wlanfae <wlanfae@realtek.com> 19 * Realtek Corporation, No. 2, Innovation Road II, Hsinchu Science Park, 20 * Hsinchu 300, Taiwan. 21 * Larry Finger <Larry.Finger@lwfinger.net> 22 * 23 *****************************************************************************/ 24 25 #ifndef __RTL_BTC_H__ 26 #define __RTL_BTC_H__ 27 28 #include "halbt_precomp.h" 29 30 void rtl_btc_init_variables(struct rtl_priv *rtlpriv); 31 void rtl_btc_init_variables_wifi_only(struct rtl_priv *rtlpriv); 32 void rtl_btc_deinit_variables(struct rtl_priv *rtlpriv); 33 void rtl_btc_init_hal_vars(struct rtl_priv *rtlpriv); 34 void rtl_btc_power_on_setting(struct rtl_priv *rtlpriv); 35 void rtl_btc_init_hw_config(struct rtl_priv *rtlpriv); 36 void rtl_btc_init_hw_config_wifi_only(struct rtl_priv *rtlpriv); 37 void rtl_btc_ips_notify(struct rtl_priv *rtlpriv, u8 type); 38 void rtl_btc_lps_notify(struct rtl_priv *rtlpriv, u8 type); 39 void rtl_btc_scan_notify(struct rtl_priv *rtlpriv, u8 scantype); 40 void rtl_btc_scan_notify_wifi_only(struct rtl_priv *rtlpriv, u8 scantype); 41 void rtl_btc_connect_notify(struct rtl_priv *rtlpriv, u8 action); 42 void rtl_btc_mediastatus_notify(struct rtl_priv *rtlpriv, 43 enum rt_media_status mstatus); 44 void rtl_btc_periodical(struct rtl_priv *rtlpriv); 45 void rtl_btc_halt_notify(struct rtl_priv *rtlpriv); 46 void rtl_btc_btinfo_notify(struct rtl_priv *rtlpriv, u8 *tmpbuf, u8 length); 47 void rtl_btc_btmpinfo_notify(struct rtl_priv *rtlpriv, u8 *tmp_buf, u8 length); 48 bool rtl_btc_is_limited_dig(struct rtl_priv *rtlpriv); 49 bool rtl_btc_is_disable_edca_turbo(struct rtl_priv *rtlpriv); 50 bool rtl_btc_is_bt_disabled(struct rtl_priv *rtlpriv); 51 void rtl_btc_special_packet_notify(struct rtl_priv *rtlpriv, u8 pkt_type); 52 void rtl_btc_switch_band_notify(struct rtl_priv *rtlpriv, u8 band_type, 53 bool scanning); 54 void rtl_btc_switch_band_notify_wifionly(struct rtl_priv *rtlpriv, u8 band_type, 55 bool scanning); 56 void rtl_btc_display_bt_coex_info(struct rtl_priv *rtlpriv, struct seq_file *m); 57 void rtl_btc_record_pwr_mode(struct rtl_priv *rtlpriv, u8 *buf, u8 len); 58 u8 rtl_btc_get_lps_val(struct rtl_priv *rtlpriv); 59 u8 rtl_btc_get_rpwm_val(struct rtl_priv *rtlpriv); 60 bool rtl_btc_is_bt_ctrl_lps(struct rtl_priv *rtlpriv); 61 bool rtl_btc_is_bt_lps_on(struct rtl_priv *rtlpriv); 62 void rtl_btc_get_ampdu_cfg(struct rtl_priv *rtlpriv, u8 *reject_agg, 63 u8 *ctrl_agg_size, u8 *agg_size); 64 65 struct rtl_btc_ops *rtl_btc_get_ops_pointer(void); 66 67 u8 rtl_get_hwpg_bt_exist(struct rtl_priv *rtlpriv); 68 u8 rtl_get_hwpg_bt_type(struct rtl_priv *rtlpriv); 69 u8 rtl_get_hwpg_ant_num(struct rtl_priv *rtlpriv); 70 u8 rtl_get_hwpg_single_ant_path(struct rtl_priv *rtlpriv); 71 u8 rtl_get_hwpg_package_type(struct rtl_priv *rtlpriv); 72 73 enum rt_media_status mgnt_link_status_query(struct ieee80211_hw *hw); 74 75 #endif 76