linux/drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8821a1ant.c

// SPDX-License-Identifier: GPL-2.0
/* Copyright(c) 2012  Realtek Corporation.*/

/**************************************************************
 * Description:
 *
 * This file is for RTL8821A Co-exist mechanism
 *
 * History
 * 2012/11/15 Cosa first check in.
 *
 **************************************************************/

/**************************************************************
 * include files
 **************************************************************/
#include "halbt_precomp.h"
/**************************************************************
 * Global variables, these are static variables
 **************************************************************/
static struct coex_dm_8821a_1ant glcoex_dm_8821a_1ant;
static struct coex_dm_8821a_1ant *coex_dm =;
static struct coex_sta_8821a_1ant glcoex_sta_8821a_1ant;
static struct coex_sta_8821a_1ant *coex_sta =;
static void btc8821a1ant_act_bt_sco_hid_only_busy(struct btc_coexist *btcoexist,
						  u8 wifi_status);

static const char *const glbt_info_src_8821a_1ant[] =;

static u32 glcoex_ver_date_8821a_1ant =;
static u32 glcoex_ver_8821a_1ant =;

/**************************************************************
 * local function proto type if needed
 *
 * local function start with btc8821a1ant_
 **************************************************************/
static u8 btc8821a1ant_bt_rssi_state(struct btc_coexist *btcoexist,
				     u8 level_num, u8 rssi_thresh,
				     u8 rssi_thresh1)
{}

static u8 btc8821a1ant_wifi_rssi_state(struct btc_coexist *btcoexist,
				       u8 index, u8 level_num, u8 rssi_thresh,
				       u8 rssi_thresh1)
{}

static void btc8821a1ant_update_ra_mask(struct btc_coexist *btcoexist,
					bool force_exec, u32 dis_rate_mask)
{}

static void btc8821a1ant_auto_rate_fb_retry(struct btc_coexist *btcoexist,
					    bool force_exec, u8 type)
{}

static void btc8821a1ant_retry_limit(struct btc_coexist *btcoexist,
				     bool force_exec, u8 type)
{}

static void btc8821a1ant_ampdu_max_time(struct btc_coexist *btcoexist,
					bool force_exec, u8 type)
{}

static void btc8821a1ant_limited_tx(struct btc_coexist *btcoexist,
				    bool force_exec, u8 ra_mask_type,
				    u8 arfr_type, u8 retry_limit_type,
				    u8 ampdu_time_type)
{}

static void btc8821a1ant_limited_rx(struct btc_coexist *btcoexist,
				    bool force_exec, bool rej_ap_agg_pkt,
				    bool bt_ctrl_agg_buf_size, u8 agg_buf_size)
{}

static void btc8821a1ant_monitor_bt_ctr(struct btc_coexist *btcoexist)
{}

static void btc8821a1ant_query_bt_info(struct btc_coexist *btcoexist)
{}

static void btc8821a1ant_update_bt_link_info(struct btc_coexist *btcoexist)
{}

static u8 btc8821a1ant_action_algorithm(struct btc_coexist *btcoexist)
{}

static void btc8821a1ant_set_sw_penalty_tx_rate(struct btc_coexist *btcoexist,
						bool low_penalty_ra)
{}

static void btc8821a1ant_low_penalty_ra(struct btc_coexist *btcoexist,
					bool force_exec, bool low_penalty_ra)
{}

static void btc8821a1ant_set_coex_table(struct btc_coexist *btcoexist,
					u32 val0x6c0, u32 val0x6c4,
					u32 val0x6c8, u8 val0x6cc)
{}

static void btc8821a1ant_coex_table(struct btc_coexist *btcoexist,
				    bool force_exec, u32 val0x6c0, u32 val0x6c4,
				    u32 val0x6c8, u8 val0x6cc)
{}

static void btc8821a1ant_coex_table_with_type(struct btc_coexist *btcoexist,
					      bool force_exec, u8 type)
{}

static void btc8821a1ant_set_fw_ignore_wlan_act(struct btc_coexist *btcoexist,
						bool enable)
{}

static void btc8821a1ant_ignore_wlan_act(struct btc_coexist *btcoexist,
					 bool force_exec, bool enable)
{}

static void btc8821a1ant_set_fw_ps_tdma(struct btc_coexist *btcoexist, u8 byte1,
					u8 byte2, u8 byte3, u8 byte4, u8 byte5)
{}

static void btc8821a1ant_set_lps_rpwm(struct btc_coexist *btcoexist,
				      u8 lps_val, u8 rpwm_val)
{}

static void btc8821a1ant_lps_rpwm(struct btc_coexist *btcoexist,
				  bool force_exec, u8 lps_val, u8 rpwm_val)
{}

static void btc8821a1ant_sw_mechanism(struct btc_coexist *btcoexist,
				      bool low_penalty_ra)
{}

static void btc8821a1ant_set_ant_path(struct btc_coexist *btcoexist,
				      u8 ant_pos_type, bool init_hw_cfg,
				      bool wifi_off)
{}

static void btc8821a1ant_ps_tdma(struct btc_coexist *btcoexist,
				 bool force_exec, bool turn_on, u8 type)
{}

static bool btc8821a1ant_is_common_action(struct btc_coexist *btcoexist)
{}

static void btc8821a1ant_ps_tdma_check_for_pwr_save(struct btc_coexist *btcoex,
						    bool new_ps_state)
{}

static void btc8821a1ant_power_save_state(struct btc_coexist *btcoexist,
					  u8 ps_type, u8 lps_val, u8 rpwm_val)
{}

static void btc8821a1ant_coex_under_5g(struct btc_coexist *btcoexist)
{}

/***********************************************
 *
 *	Software Coex Mechanism start
 *
 ***********************************************/

/* SCO only or SCO+PAN(HS) */
static void btc8821a1ant_action_sco(struct btc_coexist *btcoexist)
{}

static void btc8821a1ant_action_hid(struct btc_coexist *btcoexist)
{}

/* A2DP only / PAN(EDR) only/ A2DP+PAN(HS) */
static void btc8821a1ant_action_a2dp(struct btc_coexist *btcoexist)
{}

static void btc8821a1ant_action_a2dp_pan_hs(struct btc_coexist *btcoexist)
{}

static void btc8821a1ant_action_pan_edr(struct btc_coexist *btcoexist)
{}

/* PAN(HS) only */
static void btc8821a1ant_action_pan_hs(struct btc_coexist *btcoexist)
{}

/* PAN(EDR)+A2DP */
static void btc8821a1ant_action_pan_edr_a2dp(struct btc_coexist *btcoexist)
{}

static void btc8821a1ant_action_pan_edr_hid(struct btc_coexist *btcoexist)
{}

/* HID+A2DP+PAN(EDR) */
static void btc8821a1ant_action_hid_a2dp_pan_edr(struct btc_coexist *btcoexist)
{}

static void btc8821a1ant_action_hid_a2dp(struct btc_coexist *btcoexist)
{}

/***********************************************
 *
 *	Non-Software Coex Mechanism start
 *
 ***********************************************/
static
void btc8821a1ant_action_wifi_multi_port(struct btc_coexist *btcoexist)
{}

static
void btc8821a1ant_action_wifi_not_connected_asso_auth(
					struct btc_coexist *btcoexist)
{}


static void btc8821a1ant_action_hs(struct btc_coexist *btcoexist)
{}

static void btc8821a1ant_action_bt_inquiry(struct btc_coexist *btcoexist)
{}

static void btc8821a1ant_act_bt_sco_hid_only_busy(struct btc_coexist *btcoexist,
						  u8 wifi_status)
{}

static void btc8821a1ant_act_wifi_con_bt_acl_busy(struct btc_coexist *btcoexist,
						  u8 wifi_status)
{}

static
void btc8821a1ant_action_wifi_not_connected(struct btc_coexist *btcoexist)
{}

static void btc8821a1ant_act_wifi_not_conn_scan(struct btc_coexist *btcoexist)
{}

static
void btc8821a1ant_action_wifi_connected_scan(struct btc_coexist *btcoexist)
{}

static void btc8821a1ant_act_wifi_conn_sp_pkt(struct btc_coexist *btcoexist)
{}

static void btc8821a1ant_action_wifi_connected(struct btc_coexist *btcoexist)
{}

static void btc8821a1ant_run_sw_coex_mech(struct btc_coexist *btcoexist)
{}

static void btc8821a1ant_run_coexist_mechanism(struct btc_coexist *btcoexist)
{}

static void btc8821a1ant_init_coex_dm(struct btc_coexist *btcoexist)
{}

static void btc8821a1ant_init_hw_config(struct btc_coexist *btcoexist,
					bool back_up, bool wifi_only)
{}

/**************************************************************
 * extern function start with ex_btc8821a1ant_
 **************************************************************/
void ex_btc8821a1ant_init_hwconfig(struct btc_coexist *btcoexist, bool wifionly)
{}

void ex_btc8821a1ant_init_coex_dm(struct btc_coexist *btcoexist)
{}

void ex_btc8821a1ant_display_coex_info(struct btc_coexist *btcoexist,
				       struct seq_file *m)
{}

void ex_btc8821a1ant_ips_notify(struct btc_coexist *btcoexist, u8 type)
{}

void ex_btc8821a1ant_lps_notify(struct btc_coexist *btcoexist, u8 type)
{}

void ex_btc8821a1ant_scan_notify(struct btc_coexist *btcoexist, u8 type)
{}

void ex_btc8821a1ant_connect_notify(struct btc_coexist *btcoexist, u8 type)
{}

void ex_btc8821a1ant_media_status_notify(struct btc_coexist *btcoexist,
					 u8 type)
{}

void ex_btc8821a1ant_special_packet_notify(struct btc_coexist *btcoexist,
					   u8 type)
{}

void ex_btc8821a1ant_bt_info_notify(struct btc_coexist *btcoexist,
				    u8 *tmp_buf, u8 length)
{}

void ex_btc8821a1ant_halt_notify(struct btc_coexist *btcoexist)
{}

void ex_btc8821a1ant_pnp_notify(struct btc_coexist *btcoexist, u8 pnp_state)
{}

void ex_btc8821a1ant_periodical(struct btc_coexist *btcoexist)
{}