OSDN Git Service

Add rtl8821ce driver version 5.5.2
[android-x86/external-kernel-drivers.git] / rtl8821ce / hal / halmac / halmac_88xx / halmac_cfg_wmac_88xx.h
1 /******************************************************************************
2  *
3  * Copyright(c) 2016 - 2018 Realtek Corporation. All rights reserved.
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  ******************************************************************************/
15
16 #ifndef _HALMAC_CFG_WMAC_88XX_H_
17 #define _HALMAC_CFG_WMAC_88XX_H_
18
19 #include "../halmac_api.h"
20
21 #if HALMAC_88XX_SUPPORT
22
23 enum halmac_ret_status
24 cfg_mac_addr_88xx(struct halmac_adapter *adapter, u8 port,
25                   union halmac_wlan_addr *addr);
26
27 enum halmac_ret_status
28 cfg_bssid_88xx(struct halmac_adapter *adapter, u8 port,
29                union halmac_wlan_addr *addr);
30
31 enum halmac_ret_status
32 cfg_transmitter_addr_88xx(struct halmac_adapter *adapter, u8 port,
33                           union halmac_wlan_addr *addr);
34
35 enum halmac_ret_status
36 cfg_net_type_88xx(struct halmac_adapter *adapter, u8 port,
37                   enum halmac_network_type_select net_type);
38
39 enum halmac_ret_status
40 cfg_tsf_rst_88xx(struct halmac_adapter *adapter, u8 port);
41
42 enum halmac_ret_status
43 cfg_bcn_space_88xx(struct halmac_adapter *adapter, u8 port, u32 bcn_space);
44
45 enum halmac_ret_status
46 rw_bcn_ctrl_88xx(struct halmac_adapter *adapter, u8 port, u8 write_en,
47                  struct halmac_bcn_ctrl *ctrl);
48
49 enum halmac_ret_status
50 cfg_multicast_addr_88xx(struct halmac_adapter *adapter,
51                         union halmac_wlan_addr *addr);
52
53 enum halmac_ret_status
54 cfg_operation_mode_88xx(struct halmac_adapter *adapter,
55                         enum halmac_wireless_mode mode);
56
57 enum halmac_ret_status
58 cfg_ch_bw_88xx(struct halmac_adapter *adapter, u8 ch,
59                enum halmac_pri_ch_idx idx, enum halmac_bw bw);
60
61 enum halmac_ret_status
62 cfg_ch_88xx(struct halmac_adapter *adapter, u8 ch);
63
64 enum halmac_ret_status
65 cfg_pri_ch_idx_88xx(struct halmac_adapter *adapter, enum halmac_pri_ch_idx idx);
66
67 enum halmac_ret_status
68 cfg_bw_88xx(struct halmac_adapter *adapter, enum halmac_bw bw);
69
70 void
71 enable_bb_rf_88xx(struct halmac_adapter *adapter, u8 enable);
72
73 enum halmac_ret_status
74 cfg_la_mode_88xx(struct halmac_adapter *adapter, enum halmac_la_mode mode);
75
76 enum halmac_ret_status
77 cfg_rxfifo_expand_mode_88xx(struct halmac_adapter *adapter,
78                             enum halmac_rx_fifo_expanding_mode mode);
79
80 enum halmac_ret_status
81 config_security_88xx(struct halmac_adapter *adapter,
82                      struct halmac_security_setting *setting);
83
84 u8
85 get_used_cam_entry_num_88xx(struct halmac_adapter *adapter,
86                             enum hal_security_type sec_type);
87
88 enum halmac_ret_status
89 write_cam_88xx(struct halmac_adapter *adapter, u32 idx,
90                struct halmac_cam_entry_info *info);
91
92 enum halmac_ret_status
93 read_cam_entry_88xx(struct halmac_adapter *adapter, u32 idx,
94                     struct halmac_cam_entry_format *content);
95
96 enum halmac_ret_status
97 clear_cam_entry_88xx(struct halmac_adapter *adapter, u32 idx);
98
99 void
100 rx_shift_88xx(struct halmac_adapter *adapter, u8 enable);
101
102 enum halmac_ret_status
103 cfg_edca_para_88xx(struct halmac_adapter *adapter, enum halmac_acq_id acq_id,
104                    struct halmac_edca_para *param);
105
106 void
107 rx_clk_gate_88xx(struct halmac_adapter *adapter, u8 enable);
108
109 enum halmac_ret_status
110 rx_cut_amsdu_cfg_88xx(struct halmac_adapter *adapter,
111                       struct halmac_cut_amsdu_cfg *cfg);
112
113 enum halmac_ret_status
114 fast_edca_cfg_88xx(struct halmac_adapter *adapter,
115                    struct halmac_fast_edca_cfg *cfg);
116
117 enum halmac_ret_status
118 get_mac_addr_88xx(struct halmac_adapter *adapter, u8 port,
119                   union halmac_wlan_addr *addr);
120
121 void
122 rts_full_bw_88xx(struct halmac_adapter *adapter, u8 enable);
123
124 #endif/* HALMAC_88XX_SUPPORT */
125
126 #endif/* _HALMAC_CFG_WMAC_88XX_H_ */