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