Linux-libre 5.3.12-gnu
[librecmc/linux-libre.git] / drivers / net / wireless / realtek / rtlwifi / rtl8192de / hw.h
1 /* SPDX-License-Identifier: GPL-2.0 */
2 /* Copyright(c) 2009-2012  Realtek Corporation.*/
3
4 #ifndef __RTL92DE_HW_H__
5 #define __RTL92DE_HW_H__
6
7 void rtl92de_get_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val);
8 void rtl92de_read_eeprom_info(struct ieee80211_hw *hw);
9 void rtl92de_interrupt_recognized(struct ieee80211_hw *hw,
10                                   struct rtl_int *int_vec);
11 int rtl92de_hw_init(struct ieee80211_hw *hw);
12 void rtl92de_card_disable(struct ieee80211_hw *hw);
13 void rtl92de_enable_interrupt(struct ieee80211_hw *hw);
14 void rtl92de_disable_interrupt(struct ieee80211_hw *hw);
15 int rtl92de_set_network_type(struct ieee80211_hw *hw, enum nl80211_iftype type);
16 void rtl92de_set_check_bssid(struct ieee80211_hw *hw, bool check_bssid);
17 void rtl92de_set_qos(struct ieee80211_hw *hw, int aci);
18 void rtl92de_set_beacon_related_registers(struct ieee80211_hw *hw);
19 void rtl92de_set_beacon_interval(struct ieee80211_hw *hw);
20 void rtl92de_update_interrupt_mask(struct ieee80211_hw *hw,
21                                    u32 add_msr, u32 rm_msr);
22 void rtl92de_set_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val);
23 void rtl92de_update_hal_rate_tbl(struct ieee80211_hw *hw,
24                                  struct ieee80211_sta *sta, u8 rssi_level,
25                                  bool update_bw);
26 void rtl92de_update_channel_access_setting(struct ieee80211_hw *hw);
27 bool rtl92de_gpio_radio_on_off_checking(struct ieee80211_hw *hw, u8 *valid);
28 void rtl92de_enable_hw_security_config(struct ieee80211_hw *hw);
29 void rtl92de_set_key(struct ieee80211_hw *hw, u32 key_index,
30                      u8 *p_macaddr, bool is_group, u8 enc_algo,
31                      bool is_wepkey, bool clear_all);
32
33 void rtl92de_write_dword_dbi(struct ieee80211_hw *hw, u16 offset, u32 value,
34                              u8 direct);
35 u32 rtl92de_read_dword_dbi(struct ieee80211_hw *hw, u16 offset, u8 direct);
36 void rtl92de_suspend(struct ieee80211_hw *hw);
37 void rtl92de_resume(struct ieee80211_hw *hw);
38 void rtl92d_linked_set_reg(struct ieee80211_hw *hw);
39
40 #endif