Lines Matching refs:btcoex_hw
57 struct ath_btcoex_hw *btcoex_hw = &ah->btcoex_hw; in ath9k_hw_init_btcoex_hw() local
74 btcoex_hw->bt_coex_mode = in ath9k_hw_init_btcoex_hw()
75 (btcoex_hw->bt_coex_mode & AR_BT_QCU_THRESH) | in ath9k_hw_init_btcoex_hw()
86 btcoex_hw->bt_coex_mode2 = in ath9k_hw_init_btcoex_hw()
96 struct ath_btcoex_hw *btcoex_hw = &ah->btcoex_hw; in ath9k_hw_btcoex_init_scheme() local
102 btcoex_hw->scheme = ATH_BTCOEX_CFG_NONE; in ath9k_hw_btcoex_init_scheme()
107 btcoex_hw->scheme = ATH_BTCOEX_CFG_MCI; in ath9k_hw_btcoex_init_scheme()
109 btcoex_hw->scheme = ATH_BTCOEX_CFG_3WIRE; in ath9k_hw_btcoex_init_scheme()
110 btcoex_hw->btactive_gpio = ATH_BTACTIVE_GPIO_9300; in ath9k_hw_btcoex_init_scheme()
111 btcoex_hw->wlanactive_gpio = ATH_WLANACTIVE_GPIO_9300; in ath9k_hw_btcoex_init_scheme()
112 btcoex_hw->btpriority_gpio = ATH_BTPRIORITY_GPIO_9300; in ath9k_hw_btcoex_init_scheme()
114 btcoex_hw->btactive_gpio = ATH_BTACTIVE_GPIO_9280; in ath9k_hw_btcoex_init_scheme()
115 btcoex_hw->wlanactive_gpio = ATH_WLANACTIVE_GPIO_9280; in ath9k_hw_btcoex_init_scheme()
118 btcoex_hw->scheme = ATH_BTCOEX_CFG_3WIRE; in ath9k_hw_btcoex_init_scheme()
119 btcoex_hw->btpriority_gpio = ATH_BTPRIORITY_GPIO_9285; in ath9k_hw_btcoex_init_scheme()
121 btcoex_hw->scheme = ATH_BTCOEX_CFG_2WIRE; in ath9k_hw_btcoex_init_scheme()
129 struct ath_btcoex_hw *btcoex_hw = &ah->btcoex_hw; in ath9k_hw_btcoex_init_2wire() local
142 btcoex_hw->btactive_gpio); in ath9k_hw_btcoex_init_2wire()
145 ath9k_hw_cfg_gpio_input(ah, btcoex_hw->btactive_gpio); in ath9k_hw_btcoex_init_2wire()
151 struct ath_btcoex_hw *btcoex_hw = &ah->btcoex_hw; in ath9k_hw_btcoex_init_3wire() local
162 btcoex_hw->btactive_gpio); in ath9k_hw_btcoex_init_3wire()
166 btcoex_hw->btpriority_gpio); in ath9k_hw_btcoex_init_3wire()
170 ath9k_hw_cfg_gpio_input(ah, btcoex_hw->btactive_gpio); in ath9k_hw_btcoex_init_3wire()
171 ath9k_hw_cfg_gpio_input(ah, btcoex_hw->btpriority_gpio); in ath9k_hw_btcoex_init_3wire()
177 ah->btcoex_hw.mci.ready = false; in ath9k_hw_btcoex_init_mci()
178 ah->btcoex_hw.mci.bt_state = 0; in ath9k_hw_btcoex_init_mci()
179 ah->btcoex_hw.mci.bt_ver_major = 3; in ath9k_hw_btcoex_init_mci()
180 ah->btcoex_hw.mci.bt_ver_minor = 0; in ath9k_hw_btcoex_init_mci()
181 ah->btcoex_hw.mci.bt_version_known = false; in ath9k_hw_btcoex_init_mci()
182 ah->btcoex_hw.mci.update_2g5g = true; in ath9k_hw_btcoex_init_mci()
183 ah->btcoex_hw.mci.is_2g = true; in ath9k_hw_btcoex_init_mci()
184 ah->btcoex_hw.mci.wlan_channels_update = false; in ath9k_hw_btcoex_init_mci()
185 ah->btcoex_hw.mci.wlan_channels[0] = 0x00000000; in ath9k_hw_btcoex_init_mci()
186 ah->btcoex_hw.mci.wlan_channels[1] = 0xffffffff; in ath9k_hw_btcoex_init_mci()
187 ah->btcoex_hw.mci.wlan_channels[2] = 0xffffffff; in ath9k_hw_btcoex_init_mci()
188 ah->btcoex_hw.mci.wlan_channels[3] = 0x7fffffff; in ath9k_hw_btcoex_init_mci()
189 ah->btcoex_hw.mci.query_bt = true; in ath9k_hw_btcoex_init_mci()
190 ah->btcoex_hw.mci.unhalt_bt_gpm = true; in ath9k_hw_btcoex_init_mci()
191 ah->btcoex_hw.mci.halted_bt_gpm = false; in ath9k_hw_btcoex_init_mci()
192 ah->btcoex_hw.mci.need_flush_btinfo = false; in ath9k_hw_btcoex_init_mci()
193 ah->btcoex_hw.mci.wlan_cal_seq = 0; in ath9k_hw_btcoex_init_mci()
194 ah->btcoex_hw.mci.wlan_cal_done = 0; in ath9k_hw_btcoex_init_mci()
195 ah->btcoex_hw.mci.config = (AR_SREV_9462(ah)) ? 0x2201 : 0xa4c1; in ath9k_hw_btcoex_init_mci()
201 struct ath_btcoex_hw *btcoex_hw = &ah->btcoex_hw; in ath9k_hw_btcoex_enable_2wire() local
204 ath9k_hw_cfg_output(ah, btcoex_hw->wlanactive_gpio, in ath9k_hw_btcoex_enable_2wire()
217 struct ath_btcoex_hw *btcoex_hw = &ah->btcoex_hw; in ath9k_hw_btcoex_set_weight() local
218 struct ath9k_hw_mci *mci_hw = &ah->btcoex_hw.mci; in ath9k_hw_btcoex_set_weight()
220 bool concur_tx = (mci_hw->concur_tx && btcoex_hw->tx_prio[stomp_type]); in ath9k_hw_btcoex_set_weight()
225 btcoex_hw->bt_coex_weights = in ath9k_hw_btcoex_set_weight()
234 btcoex_hw->mci.stomp_ftp) ? in ath9k_hw_btcoex_set_weight()
240 btcoex_hw->bt_weight[i] = AR9300_BT_WGHT; in ath9k_hw_btcoex_set_weight()
241 btcoex_hw->wlan_weight[i] = weight[i]; in ath9k_hw_btcoex_set_weight()
243 btcoex_hw->wlan_weight[i] &= in ath9k_hw_btcoex_set_weight()
245 btcoex_hw->wlan_weight[i] |= in ath9k_hw_btcoex_set_weight()
246 (btcoex_hw->tx_prio[stomp_type] << in ath9k_hw_btcoex_set_weight()
252 btcoex_hw->wlan_weight[i-1] &= ~(0xff << txprio_shift[i-1]); in ath9k_hw_btcoex_set_weight()
253 btcoex_hw->wlan_weight[i-1] |= (btcoex_hw->tx_prio[stomp_type] in ath9k_hw_btcoex_set_weight()
263 struct ath_btcoex_hw *btcoex = &ah->btcoex_hw; in ath9k_hw_btcoex_enable_3wire()
301 struct ath_btcoex_hw *btcoex = &ah->btcoex_hw; in ath9k_hw_btcoex_enable_mci()
314 struct ath_btcoex_hw *btcoex_hw = &ah->btcoex_hw; in ath9k_hw_btcoex_disable_mci() local
321 btcoex_hw->wlan_weight[i]); in ath9k_hw_btcoex_disable_mci()
326 struct ath_btcoex_hw *btcoex_hw = &ah->btcoex_hw; in ath9k_hw_btcoex_enable() local
344 (0x2 << (btcoex_hw->btactive_gpio * 2)), in ath9k_hw_btcoex_enable()
345 (0x3 << (btcoex_hw->btactive_gpio * 2))); in ath9k_hw_btcoex_enable()
348 ah->btcoex_hw.enabled = true; in ath9k_hw_btcoex_enable()
354 struct ath_btcoex_hw *btcoex_hw = &ah->btcoex_hw; in ath9k_hw_btcoex_disable() local
357 btcoex_hw->enabled = false; in ath9k_hw_btcoex_disable()
365 ath9k_hw_set_gpio(ah, btcoex_hw->wlanactive_gpio, 0); in ath9k_hw_btcoex_disable()
367 ath9k_hw_cfg_output(ah, btcoex_hw->wlanactive_gpio, in ath9k_hw_btcoex_disable()
370 if (btcoex_hw->scheme == ATH_BTCOEX_CFG_3WIRE) { in ath9k_hw_btcoex_disable()
419 struct ath_btcoex_hw *btcoex = &ah->btcoex_hw; in ath9k_hw_btcoex_set_concur_txprio()