rtl_btc.h 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  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. #ifndef __RTL_BTC_H__
  25. #define __RTL_BTC_H__
  26. #include "halbt_precomp.h"
  27. void rtl_btc_init_variables(struct rtl_priv *rtlpriv);
  28. void rtl_btc_init_variables_wifi_only(struct rtl_priv *rtlpriv);
  29. void rtl_btc_deinit_variables(struct rtl_priv *rtlpriv);
  30. void rtl_btc_init_hal_vars(struct rtl_priv *rtlpriv);
  31. void rtl_btc_power_on_setting(struct rtl_priv *rtlpriv);
  32. void rtl_btc_init_hw_config(struct rtl_priv *rtlpriv);
  33. void rtl_btc_init_hw_config_wifi_only(struct rtl_priv *rtlpriv);
  34. void rtl_btc_ips_notify(struct rtl_priv *rtlpriv, u8 type);
  35. void rtl_btc_lps_notify(struct rtl_priv *rtlpriv, u8 type);
  36. void rtl_btc_scan_notify(struct rtl_priv *rtlpriv, u8 scantype);
  37. void rtl_btc_scan_notify_wifi_only(struct rtl_priv *rtlpriv, u8 scantype);
  38. void rtl_btc_connect_notify(struct rtl_priv *rtlpriv, u8 action);
  39. void rtl_btc_mediastatus_notify(struct rtl_priv *rtlpriv,
  40. enum rt_media_status mstatus);
  41. void rtl_btc_periodical(struct rtl_priv *rtlpriv);
  42. void rtl_btc_halt_notify(struct rtl_priv *rtlpriv);
  43. void rtl_btc_btinfo_notify(struct rtl_priv *rtlpriv, u8 *tmpbuf, u8 length);
  44. void rtl_btc_btmpinfo_notify(struct rtl_priv *rtlpriv, u8 *tmp_buf, u8 length);
  45. bool rtl_btc_is_limited_dig(struct rtl_priv *rtlpriv);
  46. bool rtl_btc_is_disable_edca_turbo(struct rtl_priv *rtlpriv);
  47. bool rtl_btc_is_bt_disabled(struct rtl_priv *rtlpriv);
  48. void rtl_btc_special_packet_notify(struct rtl_priv *rtlpriv, u8 pkt_type);
  49. void rtl_btc_switch_band_notify(struct rtl_priv *rtlpriv, u8 band_type,
  50. bool scanning);
  51. void rtl_btc_switch_band_notify_wifionly(struct rtl_priv *rtlpriv, u8 band_type,
  52. bool scanning);
  53. void rtl_btc_display_bt_coex_info(struct rtl_priv *rtlpriv, struct seq_file *m);
  54. void rtl_btc_record_pwr_mode(struct rtl_priv *rtlpriv, u8 *buf, u8 len);
  55. u8 rtl_btc_get_lps_val(struct rtl_priv *rtlpriv);
  56. u8 rtl_btc_get_rpwm_val(struct rtl_priv *rtlpriv);
  57. bool rtl_btc_is_bt_ctrl_lps(struct rtl_priv *rtlpriv);
  58. bool rtl_btc_is_bt_lps_on(struct rtl_priv *rtlpriv);
  59. void rtl_btc_get_ampdu_cfg(struct rtl_priv *rtlpriv, u8 *reject_agg,
  60. u8 *ctrl_agg_size, u8 *agg_size);
  61. struct rtl_btc_ops *rtl_btc_get_ops_pointer(void);
  62. u8 rtl_get_hwpg_bt_exist(struct rtl_priv *rtlpriv);
  63. u8 rtl_get_hwpg_bt_type(struct rtl_priv *rtlpriv);
  64. u8 rtl_get_hwpg_ant_num(struct rtl_priv *rtlpriv);
  65. u8 rtl_get_hwpg_single_ant_path(struct rtl_priv *rtlpriv);
  66. u8 rtl_get_hwpg_package_type(struct rtl_priv *rtlpriv);
  67. enum rt_media_status mgnt_link_status_query(struct ieee80211_hw *hw);
  68. #endif